From ffb762c147b9aaf515d877500fa3e31acb901b59 Mon Sep 17 00:00:00 2001 From: Silvio Date: Mon, 15 Feb 2021 12:32:31 +0100 Subject: [PATCH] Cleaning of some Analysis packages --- ...ractiveForwardAnalysis_EventContent_cff.py | 6 - ...activeForwardAnalysis_OutputModules_cff.py | 5 - ...iffractiveForwardAnalysis_SkimPaths_cff.py | 6 - .../Skimming/python/diffWToENuHLTPaths_cfi.py | 8 - .../python/diffWToENuOutputModule_cfi.py | 16 - .../python/diffWToENu_SkimPaths_cff.py | 5 - .../python/diffWToMuNuHLTPaths_cfi.py | 8 - .../python/diffWToMuNuOutputModule_cfi.py | 16 - .../python/diffWToMuNu_SkimPaths_cff.py | 5 - .../python/gammagammaEEHLTPaths_cfi.py | 8 - .../python/gammagammaEEOutputModule_cfi.py | 16 - .../python/gammagammaEE_SkimPaths_cff.py | 5 - .../python/gammagammaMuMuHLTPaths_cfi.py | 8 - .../python/gammagammaMuMuOutputModule_cfi.py | 16 - .../python/gammagammaMuMu_SkimPaths_cff.py | 5 - .../ElectroWeakAnalysis_EventContent_cff.py | 9 - .../ElectroWeakAnalysis_OutputModules_cff.py | 1 - .../ElectroWeakAnalysis_SkimPaths_cff.py | 5 - .../python/ElectroWeakAnalysis_cff.py | 6 - .../Skimming/plugins/BuildFile.xml | 9 - .../Skimming/plugins/ZMuMuMuonUserData.cc | 241 - .../Skimming/plugins/ZMuMuOneTrackUserData.cc | 121 - .../Skimming/plugins/ZMuMuTrackUserData.cc | 189 - .../Skimming/plugins/ZMuMuUserData.cc | 169 - .../Skimming/python/dimuonsFilter_cfi.py | 8 - .../Skimming/python/dimuonsGlobal_cfi.py | 8 - .../Skimming/python/dimuonsHLTFilter_cfi.py | 11 - .../Skimming/python/dimuonsMCMatch_cfi.py | 13 - .../python/dimuonsOneStandAloneMuon_cfi.py | 8 - .../python/dimuonsOneTrackFilter_cfi.py | 8 - .../python/dimuonsOneTrackMCMatch_cfi.py | 13 - .../Skimming/python/dimuonsOneTrack_cfi.py | 11 - .../python/dimuonsOneTrackerMuon_cfi.py | 8 - .../python/dimuonsOutputModule_cfi.py | 41 - .../Skimming/python/dimuons_SkimPaths_cff.py | 33 - .../Skimming/python/dimuons_cfi.py | 11 - .../Skimming/python/mcTruthForDimuons_cff.py | 15 - .../python/patAODTrackCandSequence_cff.py | 43 - .../patCandidatesForDimuonsSequences_cff.py | 167 - .../patCandidatesForZMuMuSubskim_cff.py | 173 - .../Skimming/python/trackMuMatch_cfi.py | 18 - .../Skimming/python/zMuMuMuonUserData.py | 67 - .../python/zMuMuSubskimOutputModule_cfi.py | 39 - .../Skimming/python/zMuMu_MCTruth_cfi.py | 52 - .../zMuMu_SubskimPathsWithMCTruth_cff.py | 50 - .../Skimming/python/zMuMu_SubskimPaths_cff.py | 41 - .../Skimming/test/EWK_DiElectronSkim_Drop.py | 136 - .../test/EWK_DiElectronSkim_NoDrop.py | 116 - .../Skimming/test/EWK_DimuonSkim.py | 163 - .../Skimming/test/EWK_ElectronSkim.py | 71 - .../Skimming/test/EWK_ElectronSkim_Drop.py | 94 - .../Skimming/test/EWK_ElectronSkim_NoDrop.py | 75 - .../Skimming/test/EWK_HighPtMuSkim.py | 69 - .../Skimming/test/EWK_MuSkim.py | 63 - .../test/EWK_MuSkimFirstCollisions.py | 189 - .../Skimming/test/EWK_WMuNu_SubSkim.py | 100 - .../test/EWK_WMuNu_SubSkim_PrunedTracks.py | 126 - .../Skimming/test/EWK_WZSkim.py | 120 - .../Skimming/test/EWK_ZMuMuSubskim.py | 38 - .../Skimming/test/dimuonsSkim.py | 29 - ElectroWeakAnalysis/Utilities/BuildFile.xml | 11 - ElectroWeakAnalysis/Utilities/README | 229 - .../Utilities/python/Averages_36Invpb.py | 347 - .../Utilities/python/Averages_3Invpb.py | 346 - .../python/MetdistMuonCorrections_cff.py | 11 - .../python/distMuonMETValueMapProducer_cff.py | 27 - .../distMuonTCMETValueMapProducer_cff.py | 26 - .../Utilities/python/distPFMET_cfi.py | 18 - .../Utilities/python/distTCMET_cfi.py | 49 - ElectroWeakAnalysis/Utilities/python/fitWZ.py | 57 - .../python/goldenWmnSelectionVBTF_cfi.py | 45 - .../python/goldenZmmSelectionLOOSE_cfi.py | 42 - .../python/goldenZmmSelectionVBTF_cfi.py | 35 - .../Utilities/src/DistortedMETProducer.cc | 81 - .../Utilities/src/DistortedMuonProducer.cc | 228 - .../src/DistortedMuonProducerFromDB.cc | 132 - .../Utilities/src/DistortedPFCandProducer.cc | 289 - .../Utilities/src/FSRWeightProducer.cc | 185 - .../Utilities/src/ISRGammaWeightProducer.cc | 140 - .../Utilities/src/ISRWeightProducer.cc | 107 - .../Utilities/src/MuonWithPFIsoProducer.cc | 185 - .../Utilities/src/PdfSystematicsAnalyzer.cc | 327 - .../Utilities/src/PdfWeightProducer.cc | 166 - .../src/SimpleSystematicsAnalyzer.cc | 147 - .../src/WeakEffectsWeightProducer.cc | 130 - .../Utilities/test/PdfSystematicsAnalyzer.py | 71 - .../test/SimpleSystematicsAnalyzer.py | 101 - .../Utilities/test/distCaloTCMuMET.py | 115 - .../Utilities/test/distPFMuMET.py | 166 - .../Utilities/test/distortedMET.py | 56 - .../Utilities/test/distortedMuons.py | 79 - .../Utilities/test/distortedMuonsFromDB.py | 112 - .../Utilities/test/muonsWithPFIso.py | 60 - ElectroWeakAnalysis/WENu/BuildFile.xml | 8 - ElectroWeakAnalysis/WENu/README | 189 - .../WENu/doc/logForChangesInTheWenuCode.txt | 120 - .../WENu/interface/GenPurposeSkimmer.h | 199 - .../interface/GenPurposeSkimmerAcceptance.h | 221 - .../WENu/interface/GenPurposeSkimmerData.h | 225 - .../WENu/interface/WenuPlots.h | 258 - .../WENu/macros/PlotCombiner.cc | 1161 - ElectroWeakAnalysis/WENu/macros/inputFiles | 21 - ElectroWeakAnalysis/WENu/macros/tdrstyle.C | 157 - .../simpleCutBasedElectronIDSpring10_cfi.py | 164 - ...mpleCutBasedSpring10SelectionBlocks_cfi.py | 294 - .../WENu/python/simpleEleIdSequence_cff.py | 58 - .../WENu/src/GenPurposeSkimmerData.cc | 1032 - ElectroWeakAnalysis/WENu/src/WenuPlots.cc | 1223 - .../WENu/test/aod_WenuPlots.py | 180 - .../WENu/test/crab/crab_dataMay27thSkimSD.cfg | 32 - .../WENu/test/genPurposeSkimmer.py | 161 - .../WENu/test/genPurposeSkimmerData.py | 184 - .../WENu/test/genPurposeSkimmer_acceptance.py | 160 - .../WENu/test/pat_WenuFilterSkimming.py | 154 - .../WENu/test/pat_WenuFilterSkimming_data.py | 156 - .../WENu/test/pat_WenuPlots.py | 180 - .../WENu/test/pat_WenuPlotsFromSkimmed.py | 64 - .../test/pat_WenuPlotsFromSkimmed_data.py | 88 - .../WENu/test/pat_WenuPlots_data.py | 207 - .../WENu/test/pat_WenuPlots_hcalDepths.py | 280 - .../WENu/test/pat_WenuPlots_isodeposits.py | 231 - .../WENu/test/pat_WenuVBTF_ntuple.py | 274 - .../pat_WenuVBTF_ntuple_forCTEQ66Powheg.py | 254 - .../WENu/test/pat_WenuVBTF_ntuple_forData.py | 250 - .../test/pat_WenuVBTF_ntuple_forSpring10MC.py | 248 - ElectroWeakAnalysis/WMuNu/BuildFile.xml | 9 - ElectroWeakAnalysis/WMuNu/bin/BuildFile.xml | 3 - .../WMuNu/bin/WMuNuValidatorMacro.cpp | 229 - .../WMuNu/python/WMuNuSelection_cff.py | 141 - .../WMuNu/python/wmunusProducer_cfi.py | 27 - .../WMuNu/src/WMuNuProducer.cc | 146 - .../WMuNu/src/WMuNuSelector.cc | 491 - .../WMuNu/src/WMuNuValidator.cc | 695 - ElectroWeakAnalysis/WMuNu/test/PAT_create.py | 50 - .../WMuNu/test/WMuNuAODSelector.py | 88 - .../WMuNu/test/WMuNuAODValidator.py | 88 - .../WMuNu/test/WMuNuCandidateHistogrammer.py | 178 - .../WMuNu/test/WMuNuCandidateProducer.py | 63 - .../WMuNu/test/WMuNuCandidateSelector.py | 55 - .../WMuNu/test/crabWMuNuValidation.cfg | 21 - ElectroWeakAnalysis/ZEE/BuildFile.xml | 16 - ElectroWeakAnalysis/ZEE/README | 174 - ElectroWeakAnalysis/ZEE/READMEersatz | 203 - .../ZEE/interface/AnalysisErsatz.h | 139 - .../ZEE/interface/CaloVectors.h | 40 - .../ZEE/interface/ElectronSelector.h | 92 - ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h | 213 - .../ZEE/interface/SCEnergyCorrections.h | 111 - .../ZEE/interface/UniqueElectrons.h | 31 - ElectroWeakAnalysis/ZEE/interface/ZeePlots.h | 358 - .../ZEE/macros/ApplySelectionCuts.cpp | 1353 - ElectroWeakAnalysis/ZEE/macros/CutValues.txt | 20 - ElectroWeakAnalysis/ZEE/macros/EtaWeights.txt | 345 - .../ZEE/macros/PerformAnalysis.cpp | 628 - .../ZEE/macros/PlotCombiner.cc | 262 - .../ZEE/macros/PlotHistograms.cpp | 467 - ElectroWeakAnalysis/ZEE/macros/inputFiles | 21 - ElectroWeakAnalysis/ZEE/macros/tdrstyle.C | 157 - .../simpleCutBasedElectronIDSpring10_cfi.py | 164 - ...mpleCutBasedSpring10SelectionBlocks_cfi.py | 294 - .../ZEE/python/simpleEleIdSequence_cff.py | 58 - ElectroWeakAnalysis/ZEE/src/AnalysisErsatz.cc | 534 - ElectroWeakAnalysis/ZEE/src/ErsatzMEt.cc | 943 - .../ZEE/src/ZeeCandidateFilter.cc | 1267 - ElectroWeakAnalysis/ZEE/src/ZeePlots.cc | 1555 - .../ZEE/src/aod2patFilterZee.cc | 166 - .../ZEE/test/PerformAnalysis.cpp | 1769 - .../ZEE/test/StabilityPlots.cpp | 478 - .../ZEE/test/Zersatzmet_cfg.py | 64 - .../ZEE/test/analysisersatz_cfg.py | 73 - ElectroWeakAnalysis/ZEE/test/aod_ZeePlots.py | 179 - ElectroWeakAnalysis/ZEE/test/ersatzmet_cfg.py | 51 - ElectroWeakAnalysis/ZEE/test/ersatzmet_cfi.py | 70 - .../ZEE/test/pat_ZeeFilterSkimming.py | 164 - .../ZEE/test/pat_ZeeFilterSkimming_data.py | 166 - ElectroWeakAnalysis/ZEE/test/pat_ZeePlots.py | 187 - .../ZEE/test/pat_ZeePlotsFromSkimmed.py | 66 - .../ZEE/test/pat_ZeePlots_data.py | 189 - .../ZEE/test/pat_ZeePlots_isodeposits.py | 158 - .../ZEE/test/pat_ZeeVBTF_ntuple_forData.py | 407 - .../pat_ZeeVBTF_ntuple_wiCertJSON_forData.py | 469 - .../pat_ZeeVBTF_ntuple_woCertJSON_forData.py | 469 - .../pat_ZeeVBTF_ntuple_woCertJSON_for__MC.py | 465 - ElectroWeakAnalysis/ZMuMu/bin/BuildFile.xml | 33 - ElectroWeakAnalysis/ZMuMu/bin/csa08HLTFit.cpp | 443 - ElectroWeakAnalysis/ZMuMu/bin/csa08IsoBkg.cpp | 288 - .../ZMuMu/bin/csa08NewZFit.cpp | 326 - .../ZMuMu/bin/csa08NewZFit_EtaPtbinned.cpp | 379 - ElectroWeakAnalysis/ZMuMu/bin/csa08ZFit.cpp | 384 - ElectroWeakAnalysis/ZMuMu/bin/testBias.cpp | 128 - ElectroWeakAnalysis/ZMuMu/bin/testToy.sh | 68 - .../ZMuMu/bin/toyMonteCarlo.cpp | 366 - ElectroWeakAnalysis/ZMuMu/bin/zChi2Fit.cpp | 672 - ElectroWeakAnalysis/ZMuMu/bin/zFitToyMc.cpp | 451 - ElectroWeakAnalysis/ZMuMu/bin/zMassFit.cpp | 1040 - ElectroWeakAnalysis/ZMuMu/bin/zMassHSFit.cpp | 353 - ElectroWeakAnalysis/ZMuMu/bin/zMassMCFit.cpp | 355 - ElectroWeakAnalysis/ZMuMu/bin/zMassResFit.cpp | 280 - ElectroWeakAnalysis/ZMuMu/bin/zMuMuExpFit.cpp | 259 - ElectroWeakAnalysis/ZMuMu/bin/zMuMuFit.cpp | 283 - ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.cpp | 565 - ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.txt | 22 - .../ZMuMu/bin/zToMuMuMassMCFit.cpp | 438 - ElectroWeakAnalysis/ZMuMu/bin/zUMLChi2Fit.cpp | 464 - .../ZMuMu/plugins/BjetAnalyzer.cc | 94 - .../ZMuMu/plugins/BuildFile.xml | 14 - .../ZMuMu/plugins/DebugZMCTruth.cc | 51 - .../ZMuMu/plugins/DimuonMCMatcher.cc | 93 - .../ZMuMu/plugins/DimuonStatistics.cc | 141 - .../ZMuMu/plugins/EWKSystUnc.cc | 210 - .../ZMuMu/plugins/EventVtxInfoNtupleDumper.cc | 79 - .../ZMuMu/plugins/GlbMuQualityCutsAnalysis.cc | 161 - .../ZMuMu/plugins/MCAcceptanceAnalyzer.cc | 218 - .../ZMuMu/plugins/MC_Efficiency_Analyzer.cc | 188 - .../ZMuMu/plugins/MuTriggerAnalyzer.cc | 219 - .../plugins/ZGlobalVsSAIsolationAnalyzer.cc | 138 - .../ZMuMu/plugins/ZGoldenFilter.cc | 196 - .../ZMuMu/plugins/ZHLTMatchFilter.cc | 103 - .../ZMuMu/plugins/ZHistogrammer.cc | 216 - .../ZMuMu/plugins/ZLONLOHistogrammer.cc | 220 - .../ZMuMu/plugins/ZMCHistogrammer.cc | 243 - .../ZMuMu/plugins/ZMassHistogrammer.cc | 74 - .../ZMuMu/plugins/ZMuMuAnalyzer.cc | 306 - .../ZMuMu/plugins/ZMuMuAnalyzer_cynematics.cc | 873 - .../ZMuMu/plugins/ZMuMuEfficiency.cc | 758 - .../ZMuMu/plugins/ZMuMuIsolationAnalyzer.cc | 382 - .../ZMuMu/plugins/ZMuMuOverlapExclusion.cc | 113 - .../ZMuMu/plugins/ZMuMuPerformances.cc | 1405 - .../ZMuMu/plugins/ZMuMuSaMassHistogram.cc | 104 - .../ZMuMu/plugins/ZMuMu_MCanalyzer.cc | 725 - .../ZMuMu/plugins/ZMuMu_efficiencyAnalyzer.cc | 779 - .../ZMuMu/plugins/ZMuMu_radiative_analysis.cc | 557 - .../ZMuMu/plugins/ZMuMu_vtxAnalyzer.cc | 638 - .../ZMuMu/plugins/ZMuPtScaleAnalyzer.cc | 276 - .../ZMuMu/plugins/ZToLLEdmNtupleDumper.cc | 724 - .../ZMuMu/plugins/ZToMuMuFilter.cc | 82 - .../plugins/ZToMuMuIsoDepositSelector.cc | 162 - .../ZMuMu/plugins/ZToMuMuIsolationSelector.cc | 157 - .../ZMuMu/plugins/ZToMuMuSelector.cc | 189 - .../ZMuMu/plugins/dimuonHLTFilterCheck.cc | 308 - .../ZMuMu/plugins/gamma_radiative_analysis.cc | 319 - .../ZMuMu/plugins/triggerEfficiency.cc | 168 - ElectroWeakAnalysis/ZMuMu/plugins/zPdfUnc.cc | 218 - .../ZMuMu/python/ZMuMuAnalysisNtupler_cff.py | 748 - .../python/ZMuMuAnalysisSchedules_cff.py | 318 - .../python/ZMuMuCategoriesNtuples_cff.py | 281 - .../ZMuMu/python/ZMuMuCategoriesPlots_cff.py | 212 - .../python/ZMuMuCategoriesSequences_cff.py | 321 - .../ZMuMu/python/ZMuMuCategoriesVtxed_cff.py | 390 - .../ZMuMu/python/ZMuMuGolden_cfi.py | 86 - .../goodZToMuMuOneStandAloneMuon_cfi.py | 63 - .../python/goodZToMuMuOneTrackUserData_cfi.py | 69 - .../ZMuMu/python/goodZToMuMuOneTrack_cfi.py | 71 - .../python/goodZToMuMuOneTrackerMuon_cfi.py | 63 - .../ZMuMu/python/goodZToMuMuSameCharge_cfi.py | 69 - .../ZMuMu/python/goodZToMuMu_cfi.py | 163 - .../ZMuMu/python/nonIsolatedZToMuMu_cfi.py | 68 - .../ZMuMu/python/zSelection_cfi.py | 144 - .../ZMuMu/test/BTagAnalysis.py | 71 - ElectroWeakAnalysis/ZMuMu/test/BuildFile.xml | 3 - ElectroWeakAnalysis/ZMuMu/test/EWKSystUnc.py | 107 - .../ZMuMu/test/EWKSystematicsAnalyzer.py | 133 - .../ZMuMu/test/EWK_ZMuMuAnalysis.py | 102 - .../ZMuMu/test/EWK_ZMuMuSubskimUserData.py | 33 - ElectroWeakAnalysis/ZMuMu/test/EvalPdfUnc.py | 211 - ElectroWeakAnalysis/ZMuMu/test/MuAnalysis.py | 245 - .../ZMuMu/test/MuTriggerAnalysis.py | 160 - .../ZMuMu/test/PdfSystematicsAnalyzer.py | 128 - .../ZMuMu/test/ZMuMuAnalysis_Ntuples_cfg.py | 63 - .../ZMuMu/test/ZMuMuCategories_cfg.py | 57 - .../ZMuMu/test/ZMuMuGolden_cfg.py | 94 - .../ZMuMu/test/ZMuMu_MCanalysis.py | 157 - .../ZMuMu/test/ZMuMu_efficiencyAnalyzer.py | 69 - .../ZMuMu/test/ZMuMu_radiative_analysis.py | 117 - .../ZMuMu/test/crabZmmAnalysis.cfg | 42 - ElectroWeakAnalysis/ZMuMu/test/crab_toymc.cfg | 47 - .../ZMuMu/test/dimuonStatistics.py | 360 - .../ZMuMu/test/distortedMuonsFromDB.py | 138 - .../ZMuMu/test/errorMatrix.cpp | 62 - .../ZMuMu/test/gamma_analysis.py | 101 - ElectroWeakAnalysis/ZMuMu/test/isoSAEff.py | 47 - .../ZMuMu/test/macros/AddFlatBkgToZGolden.C | 65 - .../ZMuMu/test/macros/MCvsData.C | 317 - .../ZMuMu/test/macros/Start_ToyMC.csh | 11 - .../ZMuMu/test/macros/compareLONLO.C | 173 - .../ZMuMu/test/macros/create_tree_for_toyMC.C | 93 - .../ZMuMu/test/macros/isoStudy.C | 110 - .../ZMuMu/test/macros/plotMuon.C | 874 - ElectroWeakAnalysis/ZMuMu/test/macros/plots.C | 496 - .../ZMuMu/test/macros/plots31vs35.C | 461 - .../ZMuMu/test/macros/plotsAfterCuts.C | 529 - .../test/macros/plotsAfterCuts_BothLegs.C | 255 - .../ZMuMu/test/macros/plotsAfterCuts_NoLegs.C | 553 - .../macros/plotsAfterCuts_NoLegs_oldIso.C | 553 - .../ZMuMu/test/macros/plotsAfterCuts_OneLeg.C | 543 - ElectroWeakAnalysis/ZMuMu/test/macros/pulls.C | 93 - .../ZMuMu/test/macros/qualityStudies.C | 1118 - .../ZMuMu/test/macros/runToyMC.csh | 47 - .../ZMuMu/test/macros/start_toy.csh | 28 - .../ZMuMu/test/macros/testToyMC_crab.sh | 58 - .../ZMuMu/test/macros/toyRooFitAnalyze.C | 99 - .../ZMuMu/test/mcAcceptance.py | 223 - .../ZMuMu/test/mcAcceptanceForDistMuons.py | 219 - ElectroWeakAnalysis/ZMuMu/test/merge.py | 48 - .../test/old/zToMuMuAnalysis_IsoDeposit.py | 368 - .../ZMuMu/test/old/zToMuMuAnalysis_zmm.py | 311 - .../test/old/zToMuMuBackgroundAnalysis.py | 205 - .../ZMuMu/test/old/zToMuMuHistos.py | 163 - .../test/old/zToMuMuHistosFromSubSkim.py | 160 - .../ZMuMu/test/old/zToMuMuMicroSkim.py | 204 - .../ZMuMu/test/old/zUMLChi2Fit.txt | 26 - ElectroWeakAnalysis/ZMuMu/test/rootlogon.C | 14 - .../stackPlot10pb/Analysis_qcd_2_4_all.root | Bin 153048 -> 0 bytes .../stackPlot10pb/Analysis_ttbar_2_4.root | Bin 115188 -> 0 bytes .../test/stackPlot10pb/Analysis_wmn_2_4.root | Bin 107843 -> 0 bytes .../test/stackPlot10pb/Analysis_zmm_2_4.root | Bin 130700 -> 0 bytes .../ZMuMu/test/stackPlot10pb/data13XXXX.root | Bin 26483 -> 0 bytes .../ZMuMu/test/stackPlot10pb/rootlogon.C | 14 - .../ZMuMu/test/stackPlot10pb/stack_all.C | 19 - .../ZMuMu/test/stackPlot10pb/stack_common.h | 257 - .../ZMuMu/test/stackPlot10pb/stack_zGolden.C | 16 - .../test/stackPlot10pb/stack_zGoldenPt.C | 17 - .../ZMuMu/test/stackPlot10pb/stack_zGoldenY.C | 18 - .../ZMuMu/test/stackPlot10pb/stack_zmSta.C | 12 - .../ZMuMu/test/stackPlot10pb/stack_zmTrk.C | 10 - .../ZMuMu/test/stackPlot10pb/stack_zmTrkMu.C | 10 - .../test/stackPlot10pb/stack_zmm0neLess2p4.C | 9 - .../ZMuMu/test/stackPlot10pb/stack_zmm1hlt.C | 15 - .../ZMuMu/test/stackPlot10pb/stack_zmm2hlt.C | 15 - .../test/stackPlot10pb/stack_zmmNotIso.C | 10 - .../test/stackPlots/compareMCandDataShape.C | 212 - .../test/stackPlots/makeListOfCandidates.C | 95 - .../ZMuMu/test/stackPlots/plotMuHLTBit.C | 58 - .../ZMuMu/test/stackPlots/qualityCutCheck.C | 81 - .../ZMuMu/test/stackPlots/rootlogon.C | 14 - .../ZMuMu/test/stackPlots/stackAll.sh | 17 - .../ZMuMu/test/stackPlots/stack_all.C | 19 - .../ZMuMu/test/stackPlots/stack_common.h | 527 - .../ZMuMu/test/stackPlots/stack_zGolden.C | 70 - .../test/stackPlots/stack_zGoldenDauChi2.C | 23 - .../test/stackPlots/stack_zGoldenDauDxy.C | 23 - .../test/stackPlots/stack_zGoldenDauEcalIso.C | 24 - .../test/stackPlots/stack_zGoldenDauEta.C | 23 - .../stack_zGoldenDauEtaNotTriggered.C | 23 - .../test/stackPlots/stack_zGoldenDauHcalIso.C | 24 - .../test/stackPlots/stack_zGoldenDauMaxPt.C | 18 - .../test/stackPlots/stack_zGoldenDauMinPt.C | 19 - .../stackPlots/stack_zGoldenDauNofMuMatches.C | 29 - .../stackPlots/stack_zGoldenDauNofMuonHits.C | 35 - .../stackPlots/stack_zGoldenDauNofPixelHits.C | 23 - .../stackPlots/stack_zGoldenDauNofStripHits.C | 25 - .../test/stackPlots/stack_zGoldenDauPhi.C | 23 - .../test/stackPlots/stack_zGoldenDauPt.C | 23 - .../test/stackPlots/stack_zGoldenDauTrkIso.C | 23 - .../stackPlots/stack_zGoldenIsTrackerMuon.C | 27 - .../ZMuMu/test/stackPlots/stack_zGoldenPt.C | 18 - .../ZMuMu/test/stackPlots/stack_zGoldenY.C | 19 - .../ZMuMu/test/stackPlots/stack_zMuSta.C | 38 - .../ZMuMu/test/stackPlots/stack_zMuTrk.C | 37 - .../ZMuMu/test/stackPlots/stack_zMuTrkMu.C | 38 - .../ZMuMu/test/stackPlots/stack_zNotIso.C | 21 - .../ZMuMu/test/stackPlots/stack_zmSta.C | 12 - .../ZMuMu/test/stackPlots/stack_zmTrk.C | 10 - .../ZMuMu/test/stackPlots/stack_zmTrkMu.C | 10 - .../test/stackPlots/stack_zmm0neLess2p4.C | 9 - .../ZMuMu/test/stackPlots/stack_zmm1hlt.C | 15 - .../ZMuMu/test/stackPlots/stack_zmm1hltAB.C | 15 - .../ZMuMu/test/stackPlots/stack_zmm2hlt.C | 18 - .../ZMuMu/test/stackPlots/stack_zmmNotIso.C | 10 - .../ZMuMu/test/triggerEfficiency.py | 81 - ElectroWeakAnalysis/ZMuMu/test/zChi2Fit.txt | 27 - ElectroWeakAnalysis/ZMuMu/test/zFitToyMc.txt | 27 - ElectroWeakAnalysis/ZMuMu/test/zLONLO.py | 67 - .../ZMuMu/test/zMuMuIsolationAnalysis.py | 142 - .../ZMuMu/test/zMuMuRooFit.txt | 22 - ElectroWeakAnalysis/ZMuMu/test/zPdfUnc.py | 127 - ElectroWeakAnalysis/ZMuMu/test/zPtScale.py | 99 - .../ZMuMu/test/zToMuMuAnalysis.py | 892 - .../ZMuMu/test/zToMuMuAnalysis_EtaRegions.py | 638 - .../ZMuMu/test/zToMuMuAnalysis_ntuple.py | 889 - .../ZMuMu/test/zToMuMuAnalysis_vtx.py | 1005 - .../zToMuMuAnalysis_withGlbMuQualityCuts.py | 610 - .../ZMuMu/test/zToMuMuSubSkim.py | 146 - .../HeavyFlavorAnalysis_EventContent_cff.py | 18 - .../HeavyFlavorAnalysis_OutputModules_cff.py | 11 - .../HeavyFlavorAnalysis_SkimPaths_cff.py | 8 - .../python/HeavyFlavorAnalysis_cff.py | 9 - HeavyFlavorAnalysis/Skimming/BuildFile.xml | 8 - .../Skimming/interface/Combinatorics.h | 57 - .../Skimming/interface/Tau3MuReco.h | 48 - .../Skimming/plugins/BuildFile.xml | 5 - .../Skimming/plugins/Tau3MuSkim.cc | 60 - .../Skimming/plugins/Tau3MuSkim.h | 35 - .../python/AODSIMTauTo3Mu_EventContent_cff.py | 10 - .../Skimming/python/CompactSkim_cff.py | 117 - .../python/bToMuMuOutputModuleAODSIM_cfi.py | 15 - .../python/bToMuMu_EventContent_cff.py | 12 - .../Skimming/python/bToMuMu_HLTPath_cfi.py | 7 - .../Skimming/python/bToMuMu_SkimPath_cff.py | 5 - .../jpsiToMuMuOutputModuleAODSIM_cfi.py | 15 - .../python/jpsiToMuMu_EventContent_cff.py | 12 - .../Skimming/python/jpsiToMuMu_HLTPath_cfi.py | 7 - .../python/jpsiToMuMu_SkimPath_cff.py | 5 - .../Skimming/python/onia_EventContent_cff.py | 20 - .../Skimming/python/onia_OutputModules_cff.py | 6 - .../Skimming/python/onia_Sequences_cff.py | 6 - .../Skimming/python/onia_SkimPaths_cff.py | 6 - .../Skimming/python/tauTo3MuFilter_cfi.py | 13 - .../Skimming/python/tauTo3MuHLTPath_cfi.py | 7 - .../python/tauTo3MuOutputModule_cfi.py | 15 - .../Skimming/python/tauTo3MuSequences_cff.py | 6 - .../python/tauTo3Mu_EventContent_cff.py | 16 - .../Skimming/python/tauTo3Mu_SkimPaths_cff.py | 5 - .../upsilonToMuMuOutputModuleAODSIM_cfi.py | 15 - .../python/upsilonToMuMu_EventContent_cff.py | 12 - .../python/upsilonToMuMu_HLTPath_cfi.py | 7 - .../python/upsilonToMuMu_SkimPath_cff.py | 5 - .../Skimming/src/Combinatorics.cc | 426 - .../Skimming/src/Tau3MuReco.cc | 292 - .../Skimming/test/runCompactSkim.py | 15 - .../python/HiggsAnalysis_EventContent_cff.py | 23 - .../python/HiggsAnalysis_OutputModules_cff.py | 15 - .../python/HiggsAnalysis_SkimPaths_cff.py | 13 - .../Configuration/python/HiggsAnalysis_cff.py | 15 - HiggsAnalysis/HiggsToGammaGamma/BuildFile.xml | 10 - .../HiggsToGammaGamma/interface/PhotonFix.h | 172 - .../interface/PhotonFixCMS.h | 65 - .../HiggsToGammaGamma/src/PhotonFix.cc | 2158 - .../HiggsToGammaGamma/src/PhotonFixCMS.cc | 172 - .../HiggsToGammaGamma/test/PhotonFix.dat | 173192 --------------- HiggsAnalysis/Skimming/BuildFile.xml | 13 - .../interface/HeavyChHiggsToTauNuSkim.h | 75 - .../Skimming/interface/HiggsTo2GammaSkim.h | 50 - .../interface/HiggsToWW2LeptonsSkim.h | 49 - .../interface/HiggsToZZ4LeptonsPreFilter.h | 48 - .../interface/HiggsToZZ4LeptonsSkim.h | 56 - .../interface/HiggsToZZ4LeptonsSkimEff.h | 56 - ...avyChHiggsToTauNuOutputModuleAODSIM_cfi.py | 15 - ...vyChHiggsToTauNuOutputModuleRECOSIM_cfi.py | 15 - .../python/heavyChHiggsToTauNu_AODSIM_cff.py | 10 - .../heavyChHiggsToTauNu_EventContent_cff.py | 12 - .../python/heavyChHiggsToTauNu_Filter_cfi.py | 15 - .../heavyChHiggsToTauNu_HLTPaths_cfi.py | 7 - .../heavyChHiggsToTauNu_OutputModule_cff.py | 5 - .../python/heavyChHiggsToTauNu_RECOSIM_cff.py | 10 - .../heavyChHiggsToTauNu_Sequences_cff.py | 10 - .../heavyChHiggsToTauNu_SkimPaths_cff.py | 5 - .../higgsTo2GammaOutputModuleAODSIM_cfi.py | 15 - .../higgsTo2GammaOutputModuleRECOSIM_cfi.py | 15 - .../python/higgsTo2Gamma_AODSIM_cff.py | 10 - .../python/higgsTo2Gamma_EventContent_cff.py | 12 - .../python/higgsTo2Gamma_Filter_cfi.py | 17 - .../python/higgsTo2Gamma_HLTPaths_cfi.py | 7 - .../python/higgsTo2Gamma_OutputModule_cff.py | 5 - .../python/higgsTo2Gamma_RECOSIM_cff.py | 10 - .../python/higgsTo2Gamma_Sequences_cff.py | 10 - .../python/higgsTo2Gamma_SkimPaths_cff.py | 5 - .../higgsToInvisibleOutputModuleAODSIM_cfi.py | 15 - ...higgsToInvisibleOutputModuleRECOSIM_cfi.py | 15 - .../python/higgsToInvisible_AODSIM_cff.py | 10 - .../higgsToInvisible_EventContent_cff.py | 12 - .../python/higgsToInvisible_HLTPaths_cfi.py | 7 - .../higgsToInvisible_OutputModule_cff.py | 5 - .../python/higgsToInvisible_RECOSIM_cff.py | 10 - .../python/higgsToInvisible_Sequences_cff.py | 9 - .../python/higgsToInvisible_SkimPaths_cff.py | 5 - ...ToTauTauLeptonTauOutputModuleAODSIM_cfi.py | 15 - ...oTauTauLeptonTauOutputModuleRECOSIM_cfi.py | 16 - ...auTau_LeptonTau_EventContent_AODSIM_cff.py | 10 - ...uTau_LeptonTau_EventContent_RECOSIM_cff.py | 10 - ...iggsToTauTau_LeptonTau_EventContent_cff.py | 11 - .../higgsToTauTau_LeptonTau_HLTPaths_cfi.py | 7 - ...iggsToTauTau_LeptonTau_OutputModule_cff.py | 5 - .../higgsToTauTau_LeptonTau_Sequences_cff.py | 5 - .../higgsToTauTau_LeptonTau_SkimPaths_cff.py | 5 - ...higgsToWW2LeptonsOutputModuleAODSIM_cfi.py | 15 - ...iggsToWW2LeptonsOutputModuleRECOSIM_cfi.py | 15 - .../python/higgsToWW2Leptons_AODSIM_cff.py | 10 - .../higgsToWW2Leptons_EventContent_cff.py | 12 - .../python/higgsToWW2Leptons_Filter_cfi.py | 13 - .../python/higgsToWW2Leptons_HLTPaths_cfi.py | 8 - .../higgsToWW2Leptons_OutputModule_cff.py | 5 - .../python/higgsToWW2Leptons_RECOSIM_cff.py | 10 - .../python/higgsToWW2Leptons_Sequences_cff.py | 10 - .../python/higgsToWW2Leptons_SkimPaths_cff.py | 5 - ...higgsToZZ4LeptonsOutputModuleAODSIM_cfi.py | 15 - ...iggsToZZ4LeptonsOutputModuleRECOSIM_cfi.py | 15 - .../python/higgsToZZ4Leptons_AODSIM_cff.py | 10 - .../higgsToZZ4Leptons_EventContent_cff.py | 12 - .../python/higgsToZZ4Leptons_Filter_cfi.py | 20 - .../python/higgsToZZ4Leptons_HLTPaths_cfi.py | 8 - .../higgsToZZ4Leptons_OutputModule_cff.py | 5 - .../python/higgsToZZ4Leptons_RECOSIM_cff.py | 10 - .../python/higgsToZZ4Leptons_Sequences_cff.py | 10 - .../python/higgsToZZ4Leptons_SkimPaths_cff.py | 5 - .../rsTo2GammaOutputModuleAODSIM_cfi.py | 15 - .../rsTo2GammaOutputModuleRECOSIM_cfi.py | 15 - .../Skimming/python/rsTo2Gamma_AODSIM_cff.py | 10 - .../python/rsTo2Gamma_EventContent_cff.py | 12 - .../Skimming/python/rsTo2Gamma_Filter_cfi.py | 14 - .../python/rsTo2Gamma_HLTPaths_cfi.py | 7 - .../python/rsTo2Gamma_OutputModule_cff.py | 5 - .../Skimming/python/rsTo2Gamma_RECOSIM_cff.py | 10 - .../python/rsTo2Gamma_Sequences_cff.py | 10 - .../python/rsTo2Gamma_SkimPaths_cff.py | 5 - .../Skimming/src/HeavyChHiggsToTauNuSkim.cc | 102 - .../Skimming/src/HiggsTo2GammaSkim.cc | 94 - .../Skimming/src/HiggsToWW2LeptonsSkim.cc | 110 - .../src/HiggsToZZ4LeptonsPreFilter.cc | 118 - .../Skimming/src/HiggsToZZ4LeptonsSkim.cc | 115 - .../Skimming/src/HiggsToZZ4LeptonsSkimEff.cc | 223 - HiggsAnalysis/Skimming/src/SealModule.cc | 15 - .../python/MuonAnalysis_OutputModules_cff.py | 5 - .../python/MuonAnalysis_SkimPaths_cff.py | 5 - .../python/muonL1OutputModuleAODSIM_cfi.py | 14 - .../python/muonL1OutputModuleRECOSIM_cfi.py | 14 - .../python/muonL1OutputModule_cfi.py | 5 - .../python/muonL1_EventContent_cff.py | 22 - .../python/muonL1_SkimPath_cff.py | 6 - .../Configuration/python/muonL1_cfi.py | 9 - .../python/QCDAnalysis_EventContent_cff.py | 23 - .../python/QCDAnalysis_OutputModules_cff.py | 23 - .../python/QCDAnalysis_SkimPaths_cff.py | 23 - QCDAnalysis/Skimming/BuildFile.xml | 11 - .../Skimming/interface/QCDSingleJetFilter.h | 48 - QCDAnalysis/Skimming/plugins/BuildFile.xml | 5 - QCDAnalysis/Skimming/plugins/module.cc | 7 - .../python/QCDHLT1jetEventContent_cff.py | 12 - .../python/QCDHLT1jetOutputModule_cfi.py | 16 - .../python/QCDHLT1jetPE1EventContent_cff.py | 12 - .../python/QCDHLT1jetPE1OutputModule_cfi.py | 16 - .../Skimming/python/QCDHLT1jetPE1Path_cff.py | 5 - .../Skimming/python/QCDHLT1jetPE1Skim_cfi.py | 13 - .../python/QCDHLT1jetPE3EventContent_cff.py | 12 - .../python/QCDHLT1jetPE3OutputModule_cfi.py | 16 - .../Skimming/python/QCDHLT1jetPE3Path_cff.py | 5 - .../Skimming/python/QCDHLT1jetPE3Skim_cfi.py | 13 - .../python/QCDHLT1jetPE5EventContent_cff.py | 12 - .../python/QCDHLT1jetPE5OutputModule_cfi.py | 16 - .../Skimming/python/QCDHLT1jetPE5Path_cff.py | 5 - .../Skimming/python/QCDHLT1jetPE5Skim_cfi.py | 13 - .../python/QCDHLT1jetPE7EventContent_cff.py | 12 - .../python/QCDHLT1jetPE7OutputModule_cfi.py | 16 - .../Skimming/python/QCDHLT1jetPE7Path_cff.py | 5 - .../Skimming/python/QCDHLT1jetPE7Skim_cfi.py | 13 - .../Skimming/python/QCDHLT1jetPath_cff.py | 5 - .../Skimming/python/QCDHLT1jetSkim_cfi.py | 13 - .../Skimming/python/diMuonEventContent_cfi.py | 22 - .../Skimming/python/diMuonOutputModule_cfi.py | 14 - QCDAnalysis/Skimming/python/diMuonPath_cff.py | 5 - QCDAnalysis/Skimming/python/diMuonSkim_cfi.py | 14 - .../qcdJetFilterStreamHiOutputModule_cfi.py | 15 - .../python/qcdJetFilterStreamHiPath_cff.py | 5 - .../python/qcdJetFilterStreamHiSkim_cff.py | 9 - .../qcdJetFilterStreamHi_EventContent_cff.py | 8 - .../python/qcdJetFilterStreamHi_cff.py | 4 - .../qcdJetFilterStreamLoOutputModule_cfi.py | 16 - .../python/qcdJetFilterStreamLoPath_cff.py | 5 - .../python/qcdJetFilterStreamLoSkim_cff.py | 9 - .../qcdJetFilterStreamLo_EventContent_cff.py | 9 - .../python/qcdJetFilterStreamLo_cff.py | 4 - .../qcdJetFilterStreamMedOutputModule_cfi.py | 16 - .../python/qcdJetFilterStreamMedPath_cff.py | 5 - .../python/qcdJetFilterStreamMedSkim_cff.py | 9 - .../qcdJetFilterStreamMed_EventContent_cff.py | 8 - .../python/qcdJetFilterStreamMed_cff.py | 4 - .../qcdJetFilterStream_EventContent_cff.py | 18 - .../python/qcdSingleJetFilterRandBlock_cff.py | 8 - .../Skimming/python/qcdSingleJetFilter_cfi.py | 9 - .../python/qcdSingleJetFilters_cff.py | 15 - .../python/softJetsEventContent_cfi.py | 24 - .../python/softJetsOutputModule_cfi.py | 14 - .../Skimming/python/softJetsPath_cff.py | 5 - .../Skimming/python/softJetsSkim_cff.py | 38 - .../Skimming/src/QCDSingleJetFilter.cc | 108 - QCDAnalysis/UEAnalysis/BuildFile.xml | 13 - .../interface/AnalysisRootpleProducer.h | 113 - .../interface/AnalysisRootpleProducerOnlyMC.h | 84 - .../UEAnalysis/python/UEAnalysisJets_cfi.py | 70 - .../python/UEAnalysisParticles_cfi.py | 24 - .../python/UEAnalysisRootpleOnlyMC_cfi.py | 14 - .../python/UEAnalysisRootple_cfi.py | 23 - .../UEAnalysis/python/UEAnalysisTracks_cfi.py | 34 - QCDAnalysis/UEAnalysis/root/Makefile | 26 - QCDAnalysis/UEAnalysis/root/RunUE.sh | 18 - QCDAnalysis/UEAnalysis/root/UEAnalysis.cpp | 104 - .../UEAnalysis/root/UEAnalysisCorrCali.C | 90 - .../UEAnalysis/root/UEAnalysisCorrCali.h | 25 - QCDAnalysis/UEAnalysis/root/UEAnalysisJets.C | 269 - QCDAnalysis/UEAnalysis/root/UEAnalysisJets.h | 70 - QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.C | 157 - QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.h | 49 - .../UEAnalysis/root/UEAnalysisOnRootple.C | 1052 - .../UEAnalysis/root/UEAnalysisOnRootple.h | 389 - .../root/UEAnalysisSelectorRootple.C | 93 - .../root/UEAnalysisSelectorRootple.h | 127 - QCDAnalysis/UEAnalysis/root/UEAnalysisUE.C | 542 - QCDAnalysis/UEAnalysis/root/UEAnalysisUE.h | 106 - .../UEAnalysis/root/UEAnalysisWeight.C | 23 - .../UEAnalysis/root/UEAnalysisWeight.h | 26 - .../UEAnalysis/src/AnalysisRootpleProducer.cc | 365 - .../src/AnalysisRootpleProducerOnlyMC.cc | 179 - QCDAnalysis/UEAnalysis/src/SealModule.cc | 8 - SUSYBSMAnalysis/HSCP/BuildFile.xml | 20 - .../Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db | Bin 1074176 -> 0 bytes .../Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.root | Bin 31537 -> 0 bytes SUSYBSMAnalysis/HSCP/data/MC7TeVGains.root | Bin 2631340 -> 0 bytes .../data/MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db | Bin 1075200 -> 0 bytes .../MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.root | Bin 36058 -> 0 bytes .../HSCP/data/MuonTimeShift_2011.txt | 3106 - .../HSCP/data/MuonTimeShift_2012.txt | 3106 - .../HSCP/interface/BetaCalculatorECAL.h | 69 - .../HSCP/interface/BetaCalculatorMUON.h | 30 - .../HSCP/interface/BetaCalculatorRPC.h | 47 - .../HSCP/interface/BetaCalculatorTK.h | 38 - .../HSCP/interface/CandidateSelector.h | 51 - SUSYBSMAnalysis/HSCP/plugins/BuildFile.xml | 10 - .../HSCP/plugins/HSCPDeDxInfoProducer.cc | 217 - .../HSCP/plugins/HSCPDeDxInfoProducer.h | 80 - SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc | 435 - .../HSCP/plugins/HSCPTreeBuilder.cc | 623 - SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.cc | 893 - SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h | 150 - .../HSCP/plugins/HSCParticleProducer.cc | 363 - .../HSCP/plugins/HSCParticleProducer.h | 95 - .../HSCP/plugins/HSCParticleSelector.cc | 92 - .../HSCP/plugins/MuonSegmentProducer.cc | 136 - SUSYBSMAnalysis/HSCP/plugins/SimHitShifter.cc | 308 - .../HSCP/plugins/Skim_HSCPFilter.cc | 163 - .../Skim_HighPtTrackEcalDetIdProducer.cc | 141 - .../HSCP/plugins/Skim_MonoPhotonSkimmer.cc | 190 - .../HSCP/plugins/Skim_ProduceIsolationMap.cc | 175 - ...Skim_ReduceHcalRecHitCollectionProducer.cc | 162 - .../plugins/Skim_UpdatedMuonInnerTrackRef.cc | 126 - .../HSCP/python/HSCPSelections_cff.py | 59 - .../HSCP/python/HSCPVersion_cff.py | 3 - .../python/HSCParticleProducerFromSkim_cff.py | 17 - .../HSCP/python/HSCParticleProducer_cff.py | 116 - SUSYBSMAnalysis/HSCP/python/LaunchOnCondor.py | 379 - .../HSCP/src/BetaCalculatorECAL.cc | 336 - .../HSCP/src/BetaCalculatorMUON.cc | 36 - SUSYBSMAnalysis/HSCP/src/BetaCalculatorRPC.cc | 200 - SUSYBSMAnalysis/HSCP/src/BetaCalculatorTK.cc | 92 - SUSYBSMAnalysis/HSCP/src/CandidateSelector.cc | 120 - .../Data/HSCParticleProducer_cfg.py | 199 - .../HSCP/test/BuildHSCParticles/Data/Merge.py | 53 - .../test/BuildHSCParticles/Data/Merge_cfg.py | 140 - .../BuildHSCParticles/Data/OfficialLumi.json | 1 - .../HSCP/test/BuildHSCParticles/Data/crab.cfg | 57 - .../test/BuildHSCParticles/Data/multicrab.cfg | 733 - .../HSCParticleProducer_Bckg_cfg.py | 27 - .../HSCParticleProducer_Data_cfg.py | 39 - .../HSCParticleProducer_Signal_cfg.py | 17 - .../HSCParticleProducer_cfg.py | 159 - .../MC/HSCParticleProducer_cfg.py | 183 - .../HSCP/test/BuildHSCParticles/MC/Merge.py | 24 - .../test/BuildHSCParticles/MC/Merge_cfg.py | 144 - .../HSCP/test/BuildHSCParticles/MC/crab.cfg | 41 - .../test/BuildHSCParticles/MC/multicrab.cfg | 99 - .../test/BuildHSCParticles/Signals/Merge.py | 18 - .../BuildHSCParticles/Signals/Merge_cfg.py | 144 - .../test/BuildHSCParticles/Signals/crab.cfg | 47 - .../BuildHSCParticles/Signals/multicrab.cfg | 15 - .../ICHEP_Analysis/Analysis_CommonFunction.h | 206 - .../test/ICHEP_Analysis/Analysis_Global.h | 65 - .../ICHEP_Analysis/Analysis_PlotFunction.h | 270 - .../ICHEP_Analysis/Analysis_PlotStructure.h | 965 - .../test/ICHEP_Analysis/Analysis_Samples.h | 303 - .../test/ICHEP_Analysis/Analysis_Step234.C | 1643 - .../test/ICHEP_Analysis/Analysis_Step234.sh | 18 - .../HSCP/test/ICHEP_Analysis/Analysis_Step5.C | 1762 - .../HSCP/test/ICHEP_Analysis/Analysis_Step6.C | 2002 - .../test/ICHEP_Analysis/Analysis_Step6.sh | 8 - .../HSCP/test/ICHEP_Analysis/CL95.h | 437 - .../HSCP/test/ICHEP_Analysis/DumpInfo.C | 551 - .../HSCP/test/ICHEP_Analysis/DumpInfo.sh | 16 - .../HSCP/test/ICHEP_Analysis/Launch.py | 232 - .../test/ICHEP_Analysis/LaunchOnCondor.py | 299 - .../HSCP/test/ICHEP_Analysis/gluino_XSec.txt | 41 - .../HSCP/test/ICHEP_Analysis/nSigma.C | 99 - .../HSCP/test/ICHEP_Analysis/roostats_cl95.C | 2065 - .../test/ICHEP_Analysis/setstandaloneroot.csh | 11 - .../test/ICHEP_Analysis/setstandaloneroot.sh | 11 - .../HSCP/test/ICHEP_Analysis/stop_XSec.txt | 45 - .../HSCP/test/ICHEP_Analysis/tdrstyle.C | 169 - .../GetLuminosity/GetLuminosity.C | 131 - .../GetLuminosity/GetLuminosity.sh | 13 - .../UsefulScripts/StabilityCheck/Launch.py | 17 - .../StabilityCheck/LaunchOnCondor.py | 300 - .../UsefulScripts/StabilityCheck/MakePlot.C | 659 - .../UsefulScripts/StabilityCheck/MakePlot.sh | 15 - .../StabilityCheck/StabilityCheck.C | 1005 - .../StabilityCheck/StabilityCheck.sh | 16 - .../test/UsefulScripts/StabilityCheck/out.txt | 276 - .../UsefulScripts/StabilityCheck/tdrstyle.C | 169 - .../TriggerStudy/Analysis_Samples.h | 214 - .../UsefulScripts/TriggerStudy/TriggerStudy.C | 576 - .../TriggerStudy/TriggerStudy.sh | 16 - .../UsefulScripts/TriggerStudy/tdrstyle.C | 169 - TopQuarkAnalysis/Examples/bin/BuildFile.xml | 23 - TopQuarkAnalysis/Examples/bin/NiceStyle.cc | 39 - .../Examples/bin/TopElecFWLiteAnalyzer.cc | 116 - .../bin/TopHypothesisFWLiteAnalyzer.cc | 159 - .../Examples/bin/TopJetFWLiteAnalyzer.cc | 116 - .../Examples/bin/TopMuonFWLiteAnalyzer.cc | 128 - .../Examples/interface/RootHistograms.h | 20 - .../Examples/interface/RootPostScript.h | 6 - .../Examples/interface/RootSystem.h | 9 - .../Examples/plugins/BuildFile.xml | 11 - .../Examples/plugins/HypothesisAnalyzer.cc | 194 - .../Examples/plugins/HypothesisAnalyzer.h | 69 - .../Examples/plugins/SealModule.cc | 14 - .../Examples/plugins/TopElecAnalyzer.cc | 54 - .../Examples/plugins/TopElecAnalyzer.h | 35 - .../Examples/plugins/TopGenEventAnalyzer.cc | 57 - .../Examples/plugins/TopGenEventAnalyzer.h | 40 - .../Examples/plugins/TopJetAnalyzer.cc | 80 - .../Examples/plugins/TopJetAnalyzer.h | 35 - .../Examples/plugins/TopMuonAnalyzer.cc | 55 - .../Examples/plugins/TopMuonAnalyzer.h | 35 - .../Examples/plugins/TopTauAnalyzer.cc | 33 - .../Examples/plugins/TopTauAnalyzer.h | 34 - .../Examples/python/HypothesisAnalyzer_cff.py | 17 - .../Examples/python/HypothesisAnalyzer_cfi.py | 11 - .../Examples/python/TopElecAnalyzer_cfi.py | 11 - .../python/TopGenEventAnalyzer_cfi.py | 10 - .../Examples/python/TopJetAnalyzer_cfi.py | 11 - .../Examples/python/TopMuonAnalyzer_cfi.py | 11 - .../Examples/python/TopTauAnalyzer_cfi.py | 11 - TopQuarkAnalysis/Examples/test/BuildFile.xml | 7 - .../Examples/test/analyzeTopElectron_cfg.py | 51 - .../Examples/test/analyzeTopGenEvent_cfg.py | 42 - .../Examples/test/analyzeTopHypotheses.C | 112 - .../Examples/test/analyzeTopHypotheses_cfg.py | 90 - .../Examples/test/analyzeTopJet_cfg.py | 51 - .../Examples/test/analyzeTopMuon_cfg.py | 51 - .../Examples/test/analyzeTopTau_cfg.py | 51 - .../Examples/test/runtestTqafExamples.cpp | 3 - TopQuarkAnalysis/Examples/test/runtests.sh | 15 - TopQuarkAnalysis/TopPairBSM/BuildFile.xml | 10 - .../python/BoostedTopProducer_cfi.py | 11 - .../TopPairBSM/python/CATopJetTagger_cfi.py | 18 - .../python/RecoInput_QCD_1000_cfi.py | 33 - .../RecoInput_QCD_3000_3500_RelVal_cfi.py | 155 - .../python/RecoInput_QCD_470_cfi.py | 34 - .../python/RecoInput_QCD_500_1000_cfi.py | 247 - .../python/RecoInput_QCD_600_cfi.py | 33 - .../python/RecoInput_QCD_800_cfi.py | 29 - .../python/RecoInput_ZPrime2000_cfi.py | 247 - .../RecoInput_ZPrime5000JJ_RelVal_cfi.py | 94 - .../TopPairBSM/python/RecoInput_ttbar_cfi.py | 74 - .../TopPairBSM/python/TopAnalysis_Defaults.py | 46 - .../python/TopAnalysis_sequences.py | 58 - .../TopPairBSM/python/caTopJets_cff.py | 36 - .../TopPairBSM/python/filters_cff.py | 74 - .../TopPairBSM/src/BoostedTopProducer.cc | 381 - .../TopPairBSM/src/BoostedTopProducer.h | 105 - .../TopPairBSM/src/JetCombinatorics.cc | 347 - .../TopPairBSM/src/JetCombinatorics.h | 358 - .../TopPairBSM/src/METzCalculator.cc | 94 - .../TopPairBSM/src/METzCalculator.h | 66 - .../TopPairBSM/test/anaTrain_cfg.py | 488 - ...sToLL_TuneD6T_madgraph_tauola_ttbsm_v2.cfg | 23 - ...sToLL_TuneD6T_madgraph_tauola_ttbsm_v4.cfg | 23 - ...rab_HT-Run2011A-PromptReco-v1_ttbsm_v1.cfg | 24 - ...rab_HT-Run2011A-PromptReco-v1_ttbsm_v2.cfg | 24 - ...rab_HT-Run2011A-PromptReco-v2_ttbsm_v2.cfg | 24 - ...b_Jet-Run2011A-May10ReReco-v1_ttbsm_v4.cfg | 27 - ...b_Jet-Run2011A-May10ReReco-v1_ttbsm_v5.cfg | 27 - ...b_Jet-Run2011A-May10ReReco-v1_ttbsm_v6.cfg | 27 - ...b_Jet-Run2011A-May10ReReco-v1_ttbsm_v8.cfg | 27 - ...ab_Jet-Run2011A-PromptReco-v1_ttbsm_v1.cfg | 24 - ...ab_Jet-Run2011A-PromptReco-v1_ttbsm_v2.cfg | 24 - ...ab_Jet-Run2011A-PromptReco-v1_ttbsm_v3.cfg | 28 - ...ab_Jet-Run2011A-PromptReco-v2_ttbsm_v2.cfg | 24 - ...-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg | 24 - ...Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg~ | 24 - ...ab_Jet-Run2011A-PromptReco-v2_ttbsm_v3.cfg | 28 - ...1A-PromptReco-v5_ttbsm_v8_2fbinv_later.cfg | 27 - ...1A-PromptReco-v6_ttbsm_v8_2fbinv_later.cfg | 27 - .../crab_Jet-Run2011A-PromptReco_ttbsm_v6.cfg | 27 - ...Jet-Run2011A-PromptReco_ttbsm_v8-again.cfg | 27 - .../crab_Jet-Run2011A-PromptReco_ttbsm_v8.cfg | 27 - ...b_Jet-Run2011A-PromptReco_ttbsm_v8_EPS.cfg | 27 - ...2011A-PromptReco_ttbsm_v8_missinglumis.cfg | 27 - ...et-Run2011A-PromptReco_ttbsm_v8_range2.cfg | 27 - ...mptReco_ttbsm_v8_range2_brokenjobs_1_3.cfg | 27 - ...et-Run2011A-PromptReco_ttbsm_v8_range3.cfg | 27 - ...et-Run2011A-PromptReco_ttbsm_v8_range4.cfg | 27 - ...D_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6.cfg | 23 - ...5to3000_Flat_7TeV-PU_S3_ttbsm_v6_zvtx2.cfg | 23 - ...D_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v8.cfg | 25 - ...t_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg | 23 - ...Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg.~1.1.2.1.~ | 23 - ..._QCD_Pt_15to3000_Flat_7TeV-v1_ttbsm_v1.cfg | 23 - ...gleEle-Run2011A-PromptReco-v1_ttbsm_v1.cfg | 24 - ...ctron-Run2011A-May10ReReco-v1_ttbsm_v4.cfg | 27 - ...ctron-Run2011A-May10ReReco-v1_ttbsm_v5.cfg | 27 - ...ctron-Run2011A-May10ReReco-v1_ttbsm_v6.cfg | 27 - ...ctron-Run2011A-May10ReReco-v1_ttbsm_v8.cfg | 27 - ...ectron-Run2011A-PromptReco-v1_ttbsm_v1.cfg | 24 - ...ectron-Run2011A-PromptReco-v1_ttbsm_v2.cfg | 24 - ...ectron-Run2011A-PromptReco-v4_ttbsm_v8.cfg | 27 - ...gleMu-Run2011A-May10ReReco-v1_ttbsm_v4.cfg | 27 - ...gleMu-Run2011A-May10ReReco-v1_ttbsm_v5.cfg | 27 - ...gleMu-Run2011A-May10ReReco-v1_ttbsm_v6.cfg | 27 - ...gleMu-Run2011A-May10ReReco-v1_ttbsm_v8.cfg | 27 - ...ngleMu-Run2011A-PromptReco-v1_ttbsm_v1.cfg | 24 - ...ngleMu-Run2011A-PromptReco-v1_ttbsm_v2.cfg | 24 - ...ngleMu-Run2011A-PromptReco-v4_ttbsm_v8.cfg | 27 - ...Run2011A-PromptReco-v4_ttbsm_v8_range2.cfg | 27 - ...ngleMu-Run2011A-PromptReco-v5_ttbsm_v8.cfg | 27 - ..._TuneD6T_7TeV_madgraph_tauola_ttbsm_v4.cfg | 23 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v1.cfg | 23 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v2.cfg | 23 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v3.cfg | 26 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v6.cfg | 26 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v8.cfg | 25 - ...s_TuneZ2_7TeV-madgraph-tauola_ttbsm_v9.cfg | 25 - ...JetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg | 23 - ...uneD6T_Spring11-PU_ttbsm_v1.cfg.~1.1.2.1.~ | 23 - ...JetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg | 25 - ...uneD6T_Spring11-PU_ttbsm_v2.cfg.~1.1.2.1.~ | 23 - ...Summer11-PU_S4_START42_V11-v1_ttbsm_v8.cfg | 25 - .../test/datasets/crab_higgs_dummy.cfg | 23 - .../datasets/json_DCSONLY.txt_160404-163387 | 1 - ...son_DCSONLY.txt_160404-163387_range2_jetPD | 129 - ...SONLY.txt_160404-163387_range2_jetPD_job18 | 1 - .../datasets/json_DCSONLY.txt_160404-163817 | 1 - .../datasets/json_DCSONLY.txt_160404-165620 | 1 - .../datasets/json_DCSONLY.txt_160404-166701 | 1 - .../datasets/json_DCSONLY.txt_160404-167284 | 1 - ...NLY.txt_160404-167284_promptreco-v4-range2 | 281 - ...167284_promptreco-v4-range2-brokenjobs_1_3 | 4 - .../datasets/json_DCSONLY.txt_160404-167746 | 1 - .../json_DCSONLY.txt_160404-167746-range3 | 65 - .../datasets/json_DCSONLY.txt_160404-167913 | 1 - .../json_DCSONLY.txt_160404-167913_range4 | 266 - .../datasets/json_DCSONLY.txt_160404-172478 | 1 - .../json_DCSONLY.txt_160404-172478_range2only | 136 - .../datasets/json_DCSONLY.txt_160404-173692 | 1 - .../json_DCSONLY.txt_160404-173692_2fbinv | 125 - .../datasets/json_DCSONLY.txt_160405-161312 | 1 - .../test/datasets/json_dummy_wjets.txt | 2 - .../test/prunedGenParticle_unittest.py | 48 - TopQuarkAnalysis/TopPairBSM/test/ttbsm_cfg.py | 1961 - .../TopPairBSM/test/ttbsm_ljets_def.py | 26 - .../TopPairBSM/test/ttbsm_unittest_fwlite.py | 174 - 848 files changed, 296305 deletions(-) delete mode 100644 DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_EventContent_cff.py delete mode 100644 DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_OutputModules_cff.py delete mode 100644 DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_SkimPaths_cff.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToENuHLTPaths_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToENuOutputModule_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToENu_SkimPaths_cff.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuHLTPaths_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuOutputModule_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/diffWToMuNu_SkimPaths_cff.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaEEHLTPaths_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaEEOutputModule_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaEE_SkimPaths_cff.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuHLTPaths_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuOutputModule_cfi.py delete mode 100644 DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMu_SkimPaths_cff.py delete mode 100644 ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_EventContent_cff.py delete mode 100644 ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_OutputModules_cff.py delete mode 100644 ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_SkimPaths_cff.py delete mode 100644 ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/plugins/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/Skimming/plugins/ZMuMuMuonUserData.cc delete mode 100644 ElectroWeakAnalysis/Skimming/plugins/ZMuMuOneTrackUserData.cc delete mode 100644 ElectroWeakAnalysis/Skimming/plugins/ZMuMuTrackUserData.cc delete mode 100644 ElectroWeakAnalysis/Skimming/plugins/ZMuMuUserData.cc delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsFilter_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsGlobal_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsHLTFilter_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsMCMatch_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOneStandAloneMuon_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackFilter_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackMCMatch_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOneTrack_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackerMuon_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuonsOutputModule_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuons_SkimPaths_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/dimuons_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/mcTruthForDimuons_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/patAODTrackCandSequence_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/patCandidatesForDimuonsSequences_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/patCandidatesForZMuMuSubskim_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/trackMuMatch_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/zMuMuMuonUserData.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/zMuMuSubskimOutputModule_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/zMuMu_MCTruth_cfi.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPathsWithMCTruth_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPaths_cff.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_Drop.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_NoDrop.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_DimuonSkim.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_Drop.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_NoDrop.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_HighPtMuSkim.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_MuSkim.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_MuSkimFirstCollisions.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim.py delete mode 100644 ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim_PrunedTracks.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_WZSkim.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/EWK_ZMuMuSubskim.py delete mode 100755 ElectroWeakAnalysis/Skimming/test/dimuonsSkim.py delete mode 100644 ElectroWeakAnalysis/Utilities/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/Utilities/README delete mode 100644 ElectroWeakAnalysis/Utilities/python/Averages_36Invpb.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/Averages_3Invpb.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/MetdistMuonCorrections_cff.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/distMuonMETValueMapProducer_cff.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/distMuonTCMETValueMapProducer_cff.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/distPFMET_cfi.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/distTCMET_cfi.py delete mode 100755 ElectroWeakAnalysis/Utilities/python/fitWZ.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/goldenWmnSelectionVBTF_cfi.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionLOOSE_cfi.py delete mode 100644 ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionVBTF_cfi.py delete mode 100644 ElectroWeakAnalysis/Utilities/src/DistortedMETProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/DistortedMuonProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/DistortedMuonProducerFromDB.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/DistortedPFCandProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/FSRWeightProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/ISRGammaWeightProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/ISRWeightProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/MuonWithPFIsoProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/PdfSystematicsAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/PdfWeightProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/SimpleSystematicsAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/src/WeakEffectsWeightProducer.cc delete mode 100644 ElectroWeakAnalysis/Utilities/test/PdfSystematicsAnalyzer.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/SimpleSystematicsAnalyzer.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/distCaloTCMuMET.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/distPFMuMET.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/distortedMET.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/distortedMuons.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/distortedMuonsFromDB.py delete mode 100644 ElectroWeakAnalysis/Utilities/test/muonsWithPFIso.py delete mode 100644 ElectroWeakAnalysis/WENu/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/WENu/README delete mode 100644 ElectroWeakAnalysis/WENu/doc/logForChangesInTheWenuCode.txt delete mode 100644 ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmer.h delete mode 100644 ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerAcceptance.h delete mode 100644 ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerData.h delete mode 100644 ElectroWeakAnalysis/WENu/interface/WenuPlots.h delete mode 100644 ElectroWeakAnalysis/WENu/macros/PlotCombiner.cc delete mode 100644 ElectroWeakAnalysis/WENu/macros/inputFiles delete mode 100644 ElectroWeakAnalysis/WENu/macros/tdrstyle.C delete mode 100644 ElectroWeakAnalysis/WENu/python/simpleCutBasedElectronIDSpring10_cfi.py delete mode 100644 ElectroWeakAnalysis/WENu/python/simpleCutBasedSpring10SelectionBlocks_cfi.py delete mode 100644 ElectroWeakAnalysis/WENu/python/simpleEleIdSequence_cff.py delete mode 100644 ElectroWeakAnalysis/WENu/src/GenPurposeSkimmerData.cc delete mode 100644 ElectroWeakAnalysis/WENu/src/WenuPlots.cc delete mode 100644 ElectroWeakAnalysis/WENu/test/aod_WenuPlots.py delete mode 100644 ElectroWeakAnalysis/WENu/test/crab/crab_dataMay27thSkimSD.cfg delete mode 100644 ElectroWeakAnalysis/WENu/test/genPurposeSkimmer.py delete mode 100644 ElectroWeakAnalysis/WENu/test/genPurposeSkimmerData.py delete mode 100644 ElectroWeakAnalysis/WENu/test/genPurposeSkimmer_acceptance.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming_data.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlots.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed_data.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlots_data.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlots_hcalDepths.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuPlots_isodeposits.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forCTEQ66Powheg.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forData.py delete mode 100644 ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forSpring10MC.py delete mode 100644 ElectroWeakAnalysis/WMuNu/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/WMuNu/bin/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/WMuNu/bin/WMuNuValidatorMacro.cpp delete mode 100644 ElectroWeakAnalysis/WMuNu/python/WMuNuSelection_cff.py delete mode 100644 ElectroWeakAnalysis/WMuNu/python/wmunusProducer_cfi.py delete mode 100644 ElectroWeakAnalysis/WMuNu/src/WMuNuProducer.cc delete mode 100644 ElectroWeakAnalysis/WMuNu/src/WMuNuSelector.cc delete mode 100644 ElectroWeakAnalysis/WMuNu/src/WMuNuValidator.cc delete mode 100755 ElectroWeakAnalysis/WMuNu/test/PAT_create.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/WMuNuAODSelector.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/WMuNuAODValidator.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateHistogrammer.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateProducer.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateSelector.py delete mode 100644 ElectroWeakAnalysis/WMuNu/test/crabWMuNuValidation.cfg delete mode 100644 ElectroWeakAnalysis/ZEE/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/ZEE/README delete mode 100644 ElectroWeakAnalysis/ZEE/READMEersatz delete mode 100644 ElectroWeakAnalysis/ZEE/interface/AnalysisErsatz.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/CaloVectors.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/SCEnergyCorrections.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h delete mode 100644 ElectroWeakAnalysis/ZEE/interface/ZeePlots.h delete mode 100644 ElectroWeakAnalysis/ZEE/macros/ApplySelectionCuts.cpp delete mode 100644 ElectroWeakAnalysis/ZEE/macros/CutValues.txt delete mode 100644 ElectroWeakAnalysis/ZEE/macros/EtaWeights.txt delete mode 100644 ElectroWeakAnalysis/ZEE/macros/PerformAnalysis.cpp delete mode 100644 ElectroWeakAnalysis/ZEE/macros/PlotCombiner.cc delete mode 100644 ElectroWeakAnalysis/ZEE/macros/PlotHistograms.cpp delete mode 100644 ElectroWeakAnalysis/ZEE/macros/inputFiles delete mode 100644 ElectroWeakAnalysis/ZEE/macros/tdrstyle.C delete mode 100644 ElectroWeakAnalysis/ZEE/python/simpleCutBasedElectronIDSpring10_cfi.py delete mode 100644 ElectroWeakAnalysis/ZEE/python/simpleCutBasedSpring10SelectionBlocks_cfi.py delete mode 100644 ElectroWeakAnalysis/ZEE/python/simpleEleIdSequence_cff.py delete mode 100644 ElectroWeakAnalysis/ZEE/src/AnalysisErsatz.cc delete mode 100644 ElectroWeakAnalysis/ZEE/src/ErsatzMEt.cc delete mode 100644 ElectroWeakAnalysis/ZEE/src/ZeeCandidateFilter.cc delete mode 100644 ElectroWeakAnalysis/ZEE/src/ZeePlots.cc delete mode 100644 ElectroWeakAnalysis/ZEE/src/aod2patFilterZee.cc delete mode 100644 ElectroWeakAnalysis/ZEE/test/PerformAnalysis.cpp delete mode 100644 ElectroWeakAnalysis/ZEE/test/StabilityPlots.cpp delete mode 100644 ElectroWeakAnalysis/ZEE/test/Zersatzmet_cfg.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/analysisersatz_cfg.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/aod_ZeePlots.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/ersatzmet_cfg.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/ersatzmet_cfi.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming_data.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeePlots.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeePlotsFromSkimmed.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_data.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_isodeposits.py delete mode 100644 ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_forData.py delete mode 100755 ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_wiCertJSON_forData.py delete mode 100755 ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_forData.py delete mode 100755 ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_for__MC.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/csa08HLTFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/csa08IsoBkg.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit_EtaPtbinned.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/csa08ZFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/testBias.cpp delete mode 100755 ElectroWeakAnalysis/ZMuMu/bin/testToy.sh delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/toyMonteCarlo.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zChi2Fit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zFitToyMc.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMassFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMassHSFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMassMCFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMassResFit.cpp delete mode 100755 ElectroWeakAnalysis/ZMuMu/bin/zMuMuExpFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMuMuFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.txt delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zToMuMuMassMCFit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/bin/zUMLChi2Fit.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/BjetAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/DebugZMCTruth.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/DimuonMCMatcher.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/DimuonStatistics.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/EWKSystUnc.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/EventVtxInfoNtupleDumper.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/GlbMuQualityCutsAnalysis.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/MCAcceptanceAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/MC_Efficiency_Analyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/MuTriggerAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZGlobalVsSAIsolationAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZGoldenFilter.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZHLTMatchFilter.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZHistogrammer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZLONLOHistogrammer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMCHistogrammer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMassHistogrammer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer_cynematics.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuEfficiency.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuIsolationAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuOverlapExclusion.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuPerformances.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuSaMassHistogram.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_MCanalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_efficiencyAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_radiative_analysis.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_vtxAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZMuPtScaleAnalyzer.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZToLLEdmNtupleDumper.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuFilter.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsoDepositSelector.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsolationSelector.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuSelector.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/dimuonHLTFilterCheck.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/gamma_radiative_analysis.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/triggerEfficiency.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/plugins/zPdfUnc.cc delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisNtupler_cff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisSchedules_cff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesNtuples_cff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesPlots_cff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesSequences_cff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesVtxed_cff.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/python/ZMuMuGolden_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneStandAloneMuon_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackUserData_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrack_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackerMuon_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuSameCharge_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/goodZToMuMu_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/nonIsolatedZToMuMu_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/python/zSelection_cfi.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/BTagAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/BuildFile.xml delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/EWKSystUnc.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/EWKSystematicsAnalyzer.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuAnalysis.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuSubskimUserData.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/EvalPdfUnc.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/MuAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/MuTriggerAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/PdfSystematicsAnalyzer.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/ZMuMuAnalysis_Ntuples_cfg.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/ZMuMuCategories_cfg.py delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/ZMuMuGolden_cfg.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/ZMuMu_MCanalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/ZMuMu_efficiencyAnalyzer.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/ZMuMu_radiative_analysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/crabZmmAnalysis.cfg delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/crab_toymc.cfg delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/dimuonStatistics.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/distortedMuonsFromDB.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/errorMatrix.cpp delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/gamma_analysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/isoSAEff.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/AddFlatBkgToZGolden.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/MCvsData.C delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/macros/Start_ToyMC.csh delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/compareLONLO.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/create_tree_for_toyMC.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/isoStudy.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotMuon.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plots.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plots31vs35.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_BothLegs.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs_oldIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_OneLeg.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/pulls.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/qualityStudies.C delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/macros/runToyMC.csh delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/start_toy.csh delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/macros/testToyMC_crab.sh delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/macros/toyRooFitAnalyze.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/mcAcceptance.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/mcAcceptanceForDistMuons.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/merge.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_IsoDeposit.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_zmm.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuBackgroundAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistos.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistosFromSubSkim.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuMicroSkim.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/old/zUMLChi2Fit.txt delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/rootlogon.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_qcd_2_4_all.root delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_ttbar_2_4.root delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_wmn_2_4.root delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_zmm_2_4.root delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/data13XXXX.root delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/rootlogon.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_all.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_common.h delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGolden.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenPt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenY.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmSta.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrk.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrkMu.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm0neLess2p4.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm1hlt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm2hlt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmmNotIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/compareMCandDataShape.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/makeListOfCandidates.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/plotMuHLTBit.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/qualityCutCheck.C delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/stackPlots/rootlogon.C delete mode 100755 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stackAll.sh delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_all.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_common.h delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGolden.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauChi2.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauDxy.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEcalIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEta.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEtaNotTriggered.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauHcalIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMaxPt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMinPt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuMatches.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuonHits.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofPixelHits.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofStripHits.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPhi.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauTrkIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenIsTrackerMuon.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenPt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenY.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuSta.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrk.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrkMu.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zNotIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmSta.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrk.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrkMu.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm0neLess2p4.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hlt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hltAB.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm2hlt.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmmNotIso.C delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/triggerEfficiency.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zChi2Fit.txt delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zFitToyMc.txt delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zLONLO.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zMuMuIsolationAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zMuMuRooFit.txt delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zPdfUnc.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zPtScale.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_EtaRegions.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_ntuple.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_vtx.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_withGlbMuQualityCuts.py delete mode 100644 ElectroWeakAnalysis/ZMuMu/test/zToMuMuSubSkim.py delete mode 100644 HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_OutputModules_cff.py delete mode 100644 HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_SkimPaths_cff.py delete mode 100644 HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/BuildFile.xml delete mode 100644 HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h delete mode 100644 HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h delete mode 100644 HeavyFlavorAnalysis/Skimming/plugins/BuildFile.xml delete mode 100644 HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.cc delete mode 100644 HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.h delete mode 100644 HeavyFlavorAnalysis/Skimming/python/AODSIMTauTo3Mu_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/CompactSkim_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/bToMuMuOutputModuleAODSIM_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/bToMuMu_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/bToMuMu_HLTPath_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/bToMuMu_SkimPath_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/jpsiToMuMuOutputModuleAODSIM_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_HLTPath_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_SkimPath_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/onia_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/onia_OutputModules_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/onia_Sequences_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/onia_SkimPaths_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3MuFilter_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3MuHLTPath_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3MuOutputModule_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3MuSequences_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_SkimPaths_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/upsilonToMuMuOutputModuleAODSIM_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_EventContent_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_HLTPath_cfi.py delete mode 100644 HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_SkimPath_cff.py delete mode 100644 HeavyFlavorAnalysis/Skimming/src/Combinatorics.cc delete mode 100644 HeavyFlavorAnalysis/Skimming/src/Tau3MuReco.cc delete mode 100644 HeavyFlavorAnalysis/Skimming/test/runCompactSkim.py delete mode 100644 HiggsAnalysis/Configuration/python/HiggsAnalysis_EventContent_cff.py delete mode 100644 HiggsAnalysis/Configuration/python/HiggsAnalysis_OutputModules_cff.py delete mode 100644 HiggsAnalysis/Configuration/python/HiggsAnalysis_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Configuration/python/HiggsAnalysis_cff.py delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/BuildFile.xml delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFixCMS.h delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/src/PhotonFix.cc delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/src/PhotonFixCMS.cc delete mode 100644 HiggsAnalysis/HiggsToGammaGamma/test/PhotonFix.dat delete mode 100644 HiggsAnalysis/Skimming/BuildFile.xml delete mode 100644 HiggsAnalysis/Skimming/interface/HeavyChHiggsToTauNuSkim.h delete mode 100644 HiggsAnalysis/Skimming/interface/HiggsTo2GammaSkim.h delete mode 100644 HiggsAnalysis/Skimming/interface/HiggsToWW2LeptonsSkim.h delete mode 100644 HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsPreFilter.h delete mode 100644 HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkim.h delete mode 100644 HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkimEff.h delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Filter_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_Filter_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsTo2Gamma_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToInvisible_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Filter_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToWW2Leptons_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Filter_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleAODSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleRECOSIM_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_AODSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_EventContent_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_Filter_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_HLTPaths_cfi.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_OutputModule_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_RECOSIM_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_Sequences_cff.py delete mode 100644 HiggsAnalysis/Skimming/python/rsTo2Gamma_SkimPaths_cff.py delete mode 100644 HiggsAnalysis/Skimming/src/HeavyChHiggsToTauNuSkim.cc delete mode 100644 HiggsAnalysis/Skimming/src/HiggsTo2GammaSkim.cc delete mode 100644 HiggsAnalysis/Skimming/src/HiggsToWW2LeptonsSkim.cc delete mode 100644 HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsPreFilter.cc delete mode 100644 HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkim.cc delete mode 100644 HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkimEff.cc delete mode 100644 HiggsAnalysis/Skimming/src/SealModule.cc delete mode 100644 MuonAnalysis/Configuration/python/MuonAnalysis_OutputModules_cff.py delete mode 100644 MuonAnalysis/Configuration/python/MuonAnalysis_SkimPaths_cff.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1OutputModuleAODSIM_cfi.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1OutputModuleRECOSIM_cfi.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1OutputModule_cfi.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1_EventContent_cff.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1_SkimPath_cff.py delete mode 100644 MuonAnalysis/Configuration/python/muonL1_cfi.py delete mode 100644 QCDAnalysis/Configuration/python/QCDAnalysis_EventContent_cff.py delete mode 100644 QCDAnalysis/Configuration/python/QCDAnalysis_OutputModules_cff.py delete mode 100644 QCDAnalysis/Configuration/python/QCDAnalysis_SkimPaths_cff.py delete mode 100644 QCDAnalysis/Skimming/BuildFile.xml delete mode 100644 QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h delete mode 100644 QCDAnalysis/Skimming/plugins/BuildFile.xml delete mode 100644 QCDAnalysis/Skimming/plugins/module.cc delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetEventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE1EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE1OutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE1Path_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE1Skim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE3EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE3OutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE3Path_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE3Skim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE5EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE5OutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE5Path_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE5Skim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE7EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE7OutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE7Path_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPE7Skim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/QCDHLT1jetSkim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/diMuonEventContent_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/diMuonOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/diMuonPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/diMuonSkim_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamHiOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamHiPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamHiSkim_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamLoOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamLoPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamLoSkim_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamMedOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamMedPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamMedSkim_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdJetFilterStream_EventContent_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdSingleJetFilterRandBlock_cff.py delete mode 100644 QCDAnalysis/Skimming/python/qcdSingleJetFilter_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/qcdSingleJetFilters_cff.py delete mode 100644 QCDAnalysis/Skimming/python/softJetsEventContent_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/softJetsOutputModule_cfi.py delete mode 100644 QCDAnalysis/Skimming/python/softJetsPath_cff.py delete mode 100644 QCDAnalysis/Skimming/python/softJetsSkim_cff.py delete mode 100644 QCDAnalysis/Skimming/src/QCDSingleJetFilter.cc delete mode 100644 QCDAnalysis/UEAnalysis/BuildFile.xml delete mode 100644 QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h delete mode 100644 QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h delete mode 100644 QCDAnalysis/UEAnalysis/python/UEAnalysisJets_cfi.py delete mode 100644 QCDAnalysis/UEAnalysis/python/UEAnalysisParticles_cfi.py delete mode 100644 QCDAnalysis/UEAnalysis/python/UEAnalysisRootpleOnlyMC_cfi.py delete mode 100644 QCDAnalysis/UEAnalysis/python/UEAnalysisRootple_cfi.py delete mode 100644 QCDAnalysis/UEAnalysis/python/UEAnalysisTracks_cfi.py delete mode 100644 QCDAnalysis/UEAnalysis/root/Makefile delete mode 100755 QCDAnalysis/UEAnalysis/root/RunUE.sh delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysis.cpp delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisCorrCali.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisCorrCali.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisJets.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisJets.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisSelectorRootple.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisSelectorRootple.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisUE.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisUE.h delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.C delete mode 100644 QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.h delete mode 100644 QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducer.cc delete mode 100644 QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducerOnlyMC.cc delete mode 100644 QCDAnalysis/UEAnalysis/src/SealModule.cc delete mode 100644 SUSYBSMAnalysis/HSCP/BuildFile.xml delete mode 100644 SUSYBSMAnalysis/HSCP/data/Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db delete mode 100644 SUSYBSMAnalysis/HSCP/data/Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.root delete mode 100644 SUSYBSMAnalysis/HSCP/data/MC7TeVGains.root delete mode 100644 SUSYBSMAnalysis/HSCP/data/MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db delete mode 100644 SUSYBSMAnalysis/HSCP/data/MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.root delete mode 100644 SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2011.txt delete mode 100644 SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2012.txt delete mode 100644 SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h delete mode 100644 SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h delete mode 100644 SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h delete mode 100644 SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h delete mode 100644 SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/BuildFile.xml delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.h delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPTreeBuilder.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.h delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/HSCParticleSelector.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/MuonSegmentProducer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/SimHitShifter.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_HSCPFilter.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_HighPtTrackEcalDetIdProducer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_MonoPhotonSkimmer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_ProduceIsolationMap.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_ReduceHcalRecHitCollectionProducer.cc delete mode 100644 SUSYBSMAnalysis/HSCP/plugins/Skim_UpdatedMuonInnerTrackRef.cc delete mode 100644 SUSYBSMAnalysis/HSCP/python/HSCPSelections_cff.py delete mode 100644 SUSYBSMAnalysis/HSCP/python/HSCPVersion_cff.py delete mode 100644 SUSYBSMAnalysis/HSCP/python/HSCParticleProducerFromSkim_cff.py delete mode 100644 SUSYBSMAnalysis/HSCP/python/HSCParticleProducer_cff.py delete mode 100644 SUSYBSMAnalysis/HSCP/python/LaunchOnCondor.py delete mode 100644 SUSYBSMAnalysis/HSCP/src/BetaCalculatorECAL.cc delete mode 100644 SUSYBSMAnalysis/HSCP/src/BetaCalculatorMUON.cc delete mode 100644 SUSYBSMAnalysis/HSCP/src/BetaCalculatorRPC.cc delete mode 100644 SUSYBSMAnalysis/HSCP/src/BetaCalculatorTK.cc delete mode 100644 SUSYBSMAnalysis/HSCP/src/CandidateSelector.cc delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/HSCParticleProducer_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/OfficialLumi.json delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/crab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/multicrab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Bckg_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Data_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Signal_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/HSCParticleProducer_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/crab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/multicrab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge_cfg.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/crab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/multicrab.cfg delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_CommonFunction.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Global.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_PlotFunction.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_PlotStructure.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Samples.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step234.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step234.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step5.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/CL95.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Launch.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/LaunchOnCondor.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/gluino_XSec.txt delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/nSigma.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/roostats_cl95.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.csh delete mode 100755 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/stop_XSec.txt delete mode 100644 SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/tdrstyle.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/GetLuminosity/GetLuminosity.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/GetLuminosity/GetLuminosity.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/Launch.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/LaunchOnCondor.py delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.C delete mode 100755 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/StabilityCheck.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/StabilityCheck.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/out.txt delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/tdrstyle.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/Analysis_Samples.h delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/TriggerStudy.C delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/TriggerStudy.sh delete mode 100644 SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/tdrstyle.C delete mode 100644 TopQuarkAnalysis/Examples/bin/BuildFile.xml delete mode 100644 TopQuarkAnalysis/Examples/bin/NiceStyle.cc delete mode 100644 TopQuarkAnalysis/Examples/bin/TopElecFWLiteAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/bin/TopHypothesisFWLiteAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/bin/TopJetFWLiteAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/bin/TopMuonFWLiteAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/interface/RootHistograms.h delete mode 100644 TopQuarkAnalysis/Examples/interface/RootPostScript.h delete mode 100644 TopQuarkAnalysis/Examples/interface/RootSystem.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/BuildFile.xml delete mode 100644 TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/SealModule.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.cc delete mode 100644 TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h delete mode 100644 TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cff.py delete mode 100644 TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/python/TopElecAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/python/TopGenEventAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/python/TopJetAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/python/TopMuonAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/python/TopTauAnalyzer_cfi.py delete mode 100644 TopQuarkAnalysis/Examples/test/BuildFile.xml delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopElectron_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopGenEvent_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopHypotheses.C delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopHypotheses_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopJet_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopMuon_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/analyzeTopTau_cfg.py delete mode 100644 TopQuarkAnalysis/Examples/test/runtestTqafExamples.cpp delete mode 100755 TopQuarkAnalysis/Examples/test/runtests.sh delete mode 100644 TopQuarkAnalysis/TopPairBSM/BuildFile.xml delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/BoostedTopProducer_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/CATopJetTagger_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_1000_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_3000_3500_RelVal_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_470_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_500_1000_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_600_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_800_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime2000_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime5000JJ_RelVal_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/RecoInput_ttbar_cfi.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_Defaults.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_sequences.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/caTopJets_cff.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/python/filters_cff.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.cc delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.h delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.cc delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.h delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/METzCalculator.cc delete mode 100644 TopQuarkAnalysis/TopPairBSM/src/METzCalculator.h delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/anaTrain_cfg.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v2_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v5.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v3.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg~ delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v3.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v5_ttbsm_v8_2fbinv_later.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v6_ttbsm_v8_2fbinv_later.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8-again.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_EPS.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_missinglumis.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2_brokenjobs_1_3.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range3.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6_zvtx2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg.~1.1.2.1.~ delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleEle-Run2011A-PromptReco-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v5.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v4_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v5.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8_range2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v5_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneD6T_7TeV_madgraph_tauola_ttbsm_v4.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v3.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v6.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v9.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg.~1.1.2.1.~ delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg.~1.1.2.1.~ delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/crab_higgs_dummy.cfg delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD_job18 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163817 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-165620 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-166701 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2-brokenjobs_1_3 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746-range3 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913_range4 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478_range2only delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692_2fbinv delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160405-161312 delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/datasets/json_dummy_wjets.txt delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/prunedGenParticle_unittest.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/ttbsm_cfg.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/ttbsm_ljets_def.py delete mode 100644 TopQuarkAnalysis/TopPairBSM/test/ttbsm_unittest_fwlite.py diff --git a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_EventContent_cff.py b/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_EventContent_cff.py deleted file mode 100644 index 25703dd45a2ac..0000000000000 --- a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_EventContent_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -DiffractiveForwardAnalysisEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) - diff --git a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_OutputModules_cff.py b/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_OutputModules_cff.py deleted file mode 100644 index 6abae9abed912..0000000000000 --- a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_OutputModules_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DiffractiveForwardAnalysis.Skimming.gammagammaEEOutputModule_cfi import * -from DiffractiveForwardAnalysis.Skimming.gammagammaMuMuOutputModule_cfi import * - diff --git a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_SkimPaths_cff.py b/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_SkimPaths_cff.py deleted file mode 100644 index 1d63641a97a0d..0000000000000 --- a/DiffractiveForwardAnalysis/Configuration/python/DiffractiveForwardAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Diffraction and Forward Physics group Skim sequences -from DiffractiveForwardAnalysis.Skimming.gammagammaEE_SkimPaths_cff import * -from DiffractiveForwardAnalysis.Skimming.gammagammaMuMu_SkimPaths_cff import * - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToENuHLTPaths_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToENuHLTPaths_cfi.py deleted file mode 100644 index 97db81a2ad0d0..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToENuHLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -diffWToENuHLTFilter = copy.deepcopy(hltHighLevel) -diffWToENuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -diffWToENuHLTFilter.HLTPaths = ['HLT1Electron'] - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToENuOutputModule_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToENuOutputModule_cfi.py deleted file mode 100644 index 4bcbc1f712c34..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToENuOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -diffWToENuOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('diffWToENu'), - dataTier = cms.untracked.string('USER') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('diffWToENuHLTPath') - ), - fileName = cms.untracked.string('diffWToENuFiltered.root') -) - - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToENu_SkimPaths_cff.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToENu_SkimPaths_cff.py deleted file mode 100644 index ae145a6755b2f..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToENu_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DiffractiveForwardAnalysis.Skimming.diffWToENuHLTPaths_cfi import * -diffWToENuHLTPath = cms.Path(diffWToENuHLTFilter) - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuHLTPaths_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuHLTPaths_cfi.py deleted file mode 100644 index 0ee0c06d66291..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuHLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -diffWToMuNuHLTFilter = copy.deepcopy(hltHighLevel) -diffWToMuNuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -diffWToMuNuHLTFilter.HLTPaths = ['HLT1MuonIso', 'HLT1MuonNonIso'] - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuOutputModule_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuOutputModule_cfi.py deleted file mode 100644 index 5950e79e31ec9..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNuOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -diffWToMuNuOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('diffWToMuNu'), - dataTier = cms.untracked.string('USER') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('diffWToMuNuHLTPath') - ), - fileName = cms.untracked.string('diffWToMuNuFiltered.root') -) - - diff --git a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNu_SkimPaths_cff.py b/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNu_SkimPaths_cff.py deleted file mode 100644 index 0c3b9e359a768..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/diffWToMuNu_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DiffractiveForwardAnalysis.Skimming.diffWToMuNuHLTPaths_cfi import * -diffWToMuNuHLTPath = cms.Path(diffWToMuNuHLTFilter) - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEHLTPaths_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEHLTPaths_cfi.py deleted file mode 100644 index 29eddf76b74c1..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEHLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -gammagammaEEHLTFilter = copy.deepcopy(hltHighLevel) -gammagammaEEHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -gammagammaEEHLTFilter.HLTPaths = ['CandHLT2ElectronExclusive'] - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEOutputModule_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEOutputModule_cfi.py deleted file mode 100644 index b6fb3915935f6..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEEOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -gammagammaEEOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('gammagammaEE'), - dataTier = cms.untracked.string('USER') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('gammagammaEEHLTPath') - ), - fileName = cms.untracked.string('gammagammaEEFiltered.root') -) - - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEE_SkimPaths_cff.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaEE_SkimPaths_cff.py deleted file mode 100644 index 39e925ca29db7..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaEE_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DiffractiveForwardAnalysis.Skimming.gammagammaEEHLTPaths_cfi import * -gammagammaEEHLTPath = cms.Path(gammagammaEEHLTFilter) - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuHLTPaths_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuHLTPaths_cfi.py deleted file mode 100644 index 2f852c3533090..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuHLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -gammagammaMuMuHLTFilter = copy.deepcopy(hltHighLevel) -gammagammaMuMuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -gammagammaMuMuHLTFilter.HLTPaths = ['HLT2MuonNonIso'] - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuOutputModule_cfi.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuOutputModule_cfi.py deleted file mode 100644 index 5a765c9bfbcf0..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMuOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -gammagammaMuMuOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('gammagammaMuMu'), - dataTier = cms.untracked.string('USER') - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('gammagammaMuMuHLTPath') - ), - fileName = cms.untracked.string('gammagammaMuMuFiltered.root') -) - - diff --git a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMu_SkimPaths_cff.py b/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMu_SkimPaths_cff.py deleted file mode 100644 index 74992651ece17..0000000000000 --- a/DiffractiveForwardAnalysis/Skimming/python/gammagammaMuMu_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from DiffractiveForwardAnalysis.Skimming.gammagammaMuMuHLTPaths_cfi import * -gammagammaMuMuHLTPath = cms.Path(gammagammaMuMuHLTFilter) - diff --git a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_EventContent_cff.py b/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_EventContent_cff.py deleted file mode 100644 index 806b7dc72dfb1..0000000000000 --- a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_EventContent_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# ElectroWeakAnalysis event content -# -ElectroWeakAnalysisEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() - ) - diff --git a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_OutputModules_cff.py b/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_OutputModules_cff.py deleted file mode 100644 index 77543b97c22ce..0000000000000 --- a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_OutputModules_cff.py +++ /dev/null @@ -1 +0,0 @@ -import FWCore.ParameterSet.Config as cms diff --git a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_SkimPaths_cff.py b/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_SkimPaths_cff.py deleted file mode 100644 index d4207170c073e..0000000000000 --- a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# ElectroWeakAnalysis standard sequences -# diff --git a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_cff.py b/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_cff.py deleted file mode 100644 index f1e3209eb3f7a..0000000000000 --- a/ElectroWeakAnalysis/Configuration/python/ElectroWeakAnalysis_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# ElectroWeakAnalysis standard sequences -# - diff --git a/ElectroWeakAnalysis/Skimming/plugins/BuildFile.xml b/ElectroWeakAnalysis/Skimming/plugins/BuildFile.xml deleted file mode 100644 index 3b994e4f4ee0d..0000000000000 --- a/ElectroWeakAnalysis/Skimming/plugins/BuildFile.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuMuonUserData.cc b/ElectroWeakAnalysis/Skimming/plugins/ZMuMuMuonUserData.cc deleted file mode 100644 index 9c09c1427f8e1..0000000000000 --- a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuMuonUserData.cc +++ /dev/null @@ -1,241 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; -//using namespace pat; - -class ZMuMuMuonUserData : public edm::EDProducer { -public: - ZMuMuMuonUserData(const edm::ParameterSet &); - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - - EDGetTokenT > srcToken_; - EDGetTokenT beamSpotToken_; - EDGetTokenT primaryVerticesToken_; - double alpha_, beta_; - double ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_; - string hltPath_; - template - vector isolation(const T &t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta); -}; - -template -vector ZMuMuMuonUserData::isolation(const T &t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta) { - vector iso; - const pat::IsoDeposit *trkIso = t.isoDeposit(pat::TrackIso); - const pat::IsoDeposit *ecalIso = t.isoDeposit(pat::EcalIso); - const pat::IsoDeposit *hcalIso = t.isoDeposit(pat::HcalIso); - - Direction dir = Direction(t.eta(), t.phi()); - - pat::IsoDeposit::AbsVetos vetosTrk; - vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk)); - vetosTrk.push_back(new ThresholdVeto(ptThreshold)); - - pat::IsoDeposit::AbsVetos vetosEcal; - vetosEcal.push_back(new ConeVeto(dir, 0.)); - vetosEcal.push_back(new ThresholdVeto(etEcalThreshold)); - - pat::IsoDeposit::AbsVetos vetosHcal; - vetosHcal.push_back(new ConeVeto(dir, 0.)); - vetosHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk)); - double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal)); - double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal)); - - iso.push_back(isovalueTrk); - //cout<<"isoTrk"< >(cfg.getParameter("src"))), - beamSpotToken_(consumes(cfg.getParameter("beamSpot"))), - primaryVerticesToken_(consumes(cfg.getParameter("primaryVertices"))), - alpha_(cfg.getParameter("alpha")), - beta_(cfg.getParameter("beta")), - ptThreshold_(cfg.getParameter("ptThreshold")), - etEcalThreshold_(cfg.getParameter("etEcalThreshold")), - etHcalThreshold_(cfg.getParameter("etHcalThreshold")), - dRVetoTrk_(cfg.getParameter("dRVetoTrk")), - dRTrk_(cfg.getParameter("dRTrk")), - dREcal_(cfg.getParameter("dREcal")), - dRHcal_(cfg.getParameter("dRHcal")), - hltPath_(cfg.getParameter("hltPath")) { - produces >(); -} - -void ZMuMuMuonUserData::produce(Event &evt, const EventSetup &) { - Handle > muons; - evt.getByToken(srcToken_, muons); - - Handle beamSpotHandle; - evt.getByToken(beamSpotToken_, beamSpotHandle); - - Handle primaryVertices; // Collection of primary Vertices - evt.getByToken(primaryVerticesToken_, primaryVertices); - - unique_ptr > muonColl(new vector(*muons)); - for (unsigned int i = 0; i < muonColl->size(); ++i) { - pat::Muon &m = (*muonColl)[i]; - //pat::Muon *mu = new pat::Muon(m); - vector iso = isolation( - m, ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_, alpha_, beta_); - m.setIsolation(pat::User1Iso, iso[0]); - //cout<<"muon User1Iso "<dxy(beamSpotHandle->position()); - zDaudzFromBS = muGlbRef->dz(beamSpotHandle->position()); - zDaudxyFromPV = muGlbRef->dxy(primaryVertices->begin()->position()); - zDaudzFromPV = muGlbRef->dz(primaryVertices->begin()->position()); - zDauChi2 = muGlbRef->normalizedChi2(); - zDauTrkChi2 = muTrkRef->normalizedChi2(); - zDauSaChi2 = muSaRef->normalizedChi2(); - zDauNofMuonHits = muGlbRef->hitPattern().numberOfValidMuonHits(); - zDauSaNofMuonHits = muSaRef->hitPattern().numberOfValidMuonHits(); - zDauNofStripHits = muGlbRef->hitPattern().numberOfValidStripHits(); - zDauTrkNofStripHits = muTrkRef->hitPattern().numberOfValidStripHits(); - zDauNofPixelHits = muGlbRef->hitPattern().numberOfValidPixelHits(); - zDauTrkNofPixelHits = muTrkRef->hitPattern().numberOfValidPixelHits(); - } else if (muSaRef.isNonnull() && m.isStandAloneMuon() == true) { - zDaudxyFromBS = muSaRef->dxy(beamSpotHandle->position()); - zDaudzFromBS = muSaRef->dz(beamSpotHandle->position()); - zDaudxyFromPV = muSaRef->dxy(primaryVertices->begin()->position()); - zDaudzFromPV = muSaRef->dz(primaryVertices->begin()->position()); - zDauSaChi2 = muSaRef->normalizedChi2(); - zDauSaNofMuonHits = muSaRef->hitPattern().numberOfValidMuonHits(); - - } else if (muTrkRef.isNonnull() && m.isTrackerMuon() == true) { - zDaudxyFromBS = muTrkRef->dxy(beamSpotHandle->position()); - zDaudzFromBS = muTrkRef->dz(beamSpotHandle->position()); - zDaudxyFromPV = muTrkRef->dxy(primaryVertices->begin()->position()); - zDaudzFromPV = muTrkRef->dz(primaryVertices->begin()->position()); - zDauTrkChi2 = muTrkRef->normalizedChi2(); - zDauTrkNofStripHits = muTrkRef->hitPattern().numberOfValidStripHits(); - zDauTrkNofPixelHits = muTrkRef->hitPattern().numberOfValidPixelHits(); - } - - const pat::TriggerObjectStandAloneCollection muHLTMatches = m.triggerObjectMatchesByPath(hltPath_); - float muHLTBit; - int dimTrig = muHLTMatches.size(); - if (dimTrig != 0) { - muHLTBit = 1; - } else { - muHLTBit = 0; - } - m.addUserFloat("zDau_dxyFromBS", zDaudxyFromBS); - m.addUserFloat("zDau_dzFromBS", zDaudzFromBS); - m.addUserFloat("zDau_dxyFromPV", zDaudxyFromPV); - m.addUserFloat("zDau_dzFromPV", zDaudzFromPV); - m.addUserFloat("zDau_HLTBit", muHLTBit); - m.addUserFloat("zDau_dzFromPV", zDaudzFromPV); - m.addUserFloat("zDau_Chi2", zDauChi2); - m.addUserFloat("zDau_TrkChi2", zDauTrkChi2); - m.addUserFloat("zDau_SaChi2", zDauSaChi2); - m.addUserFloat("zDau_NofMuonHits", zDauNofMuonHits); - m.addUserFloat("zDau_SaNofMuonHits", zDauSaNofMuonHits); - m.addUserFloat("zDau_NofStripHits", zDauNofStripHits); - m.addUserFloat("zDau_TrkNofStripHits", zDauTrkNofStripHits); - m.addUserFloat("zDau_NofPixelHits", zDauNofPixelHits); - m.addUserFloat("zDau_TrkNofPixelHits", zDauTrkNofPixelHits); - m.addUserFloat("zDau_NofMuChambers", zDauNofMuChambers); - m.addUserFloat("zDau_NofMuMatches", zDauNofMuMatches); - m.addUserFloat("zDau_MuEnergyEm", zDauMuEnergyEm); - m.addUserFloat("zDau_MuEnergyHad", zDauMuEnergyHad); - } - - evt.put(std::move(muonColl)); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuMuonUserData); diff --git a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuOneTrackUserData.cc b/ElectroWeakAnalysis/Skimming/plugins/ZMuMuOneTrackUserData.cc deleted file mode 100644 index b91e2261345b5..0000000000000 --- a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuOneTrackUserData.cc +++ /dev/null @@ -1,121 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; -//using namespace pat; - -class ZMuMuUserDataOneTrack : public edm::EDProducer { -public: - ZMuMuUserDataOneTrack(const edm::ParameterSet &); - typedef math::XYZVector Vector; - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - - EDGetTokenT > srcToken_; - EDGetTokenT beamSpotToken_; - EDGetTokenT primaryVerticesToken_; - EDGetTokenT zGenParticlesMatchToken_; - double alpha_, beta_; - string hltPath_; - int counter; -}; - -ZMuMuUserDataOneTrack::ZMuMuUserDataOneTrack(const ParameterSet &cfg) - : srcToken_(consumes >(cfg.getParameter("src"))), - beamSpotToken_(consumes(cfg.getParameter("beamSpot"))), - primaryVerticesToken_(consumes(cfg.getParameter("primaryVertices"))), - zGenParticlesMatchToken_(consumes(cfg.getParameter("zGenParticlesMatch"))), - alpha_(cfg.getParameter("alpha")), - beta_(cfg.getParameter("beta")), - hltPath_(cfg.getParameter("hltPath")) { - produces >(); -} - -void ZMuMuUserDataOneTrack::produce(Event &evt, const EventSetup &) { - Handle > dimuons; - evt.getByToken(srcToken_, dimuons); - - Handle beamSpotHandle; - if (!evt.getByToken(beamSpotToken_, beamSpotHandle)) { - std::cout << ">>> No beam spot found !!!" << std::endl; - } - - Handle primaryVertices; // Collection of primary Vertices - if (!evt.getByToken(primaryVerticesToken_, primaryVertices)) { - std::cout << ">>> No primary vertices found !!!" << std::endl; - } - - bool isMCMatchTrue = false; - - Handle zGenParticlesMatch; - if (evt.getByToken(zGenParticlesMatchToken_, zGenParticlesMatch)) { - isMCMatchTrue = true; - } - - //cout<<"isMCMatchTrue"< > dimuonColl(new vector()); - - for (unsigned int i = 0; i < dimuons->size(); ++i) { - const CompositeCandidate &z = (*dimuons)[i]; - //CandidateBaseRef zRef = dimuons ->refAt(i); - edm::Ref > zRef(dimuons, i); - pat::CompositeCandidate dimuon(z); - - float trueMass, truePt, trueEta, truePhi, trueY; - if (isMCMatchTrue) { - GenParticleRef trueZRef = (*zGenParticlesMatch)[zRef]; - //CandidateRef trueZRef = trueZIter->val; - if (trueZRef.isNonnull()) { - const Candidate &z = *trueZRef; - trueMass = z.mass(); - truePt = z.pt(); - trueEta = z.eta(); - truePhi = z.phi(); - trueY = z.rapidity(); - } else { - trueMass = -100; - truePt = -100; - trueEta = -100; - truePhi = -100; - trueY = -100; - } - - dimuon.addUserFloat("TrueMass", trueMass); - dimuon.addUserFloat("TruePt", truePt); - dimuon.addUserFloat("TrueEta", trueEta); - dimuon.addUserFloat("TruePhi", truePhi); - dimuon.addUserFloat("TrueY", trueY); - } - - dimuonColl->push_back(dimuon); - } - - evt.put(std::move(dimuonColl)); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuUserDataOneTrack); diff --git a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuTrackUserData.cc b/ElectroWeakAnalysis/Skimming/plugins/ZMuMuTrackUserData.cc deleted file mode 100644 index 92ea4d597d6dd..0000000000000 --- a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuTrackUserData.cc +++ /dev/null @@ -1,189 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "FWCore/Utilities/interface/EDMException.h" - -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; -//using namespace pat; - -class ZMuMuTrackUserData : public edm::EDProducer { -public: - ZMuMuTrackUserData(const edm::ParameterSet &); - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - - EDGetTokenT > srcToken_; - EDGetTokenT beamSpotToken_; - EDGetTokenT primaryVerticesToken_; - double ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_; - double alpha_, beta_; - template - vector isolation(const T &t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta); -}; - -template -vector ZMuMuTrackUserData::isolation(const T &t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta) { - vector iso; - const pat::IsoDeposit *trkIso = t.isoDeposit(pat::TrackIso); - const pat::IsoDeposit *ecalIso = t.isoDeposit(pat::EcalIso); - const pat::IsoDeposit *hcalIso = t.isoDeposit(pat::HcalIso); - - Direction dir = Direction(t.eta(), t.phi()); - - pat::IsoDeposit::AbsVetos vetosTrk; - vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk)); - vetosTrk.push_back(new ThresholdVeto(ptThreshold)); - - pat::IsoDeposit::AbsVetos vetosEcal; - vetosEcal.push_back(new ConeVeto(dir, 0.)); - vetosEcal.push_back(new ThresholdVeto(etEcalThreshold)); - - pat::IsoDeposit::AbsVetos vetosHcal; - vetosHcal.push_back(new ConeVeto(dir, 0.)); - vetosHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk)); - double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal)); - double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal)); - - iso.push_back(isovalueTrk); - iso.push_back(isovalueEcal); - iso.push_back(isovalueHcal); - - //double iso = isovalueTrk + isovalueEcal + isovalueHcal; - double combIso = - alpha * (((1 + beta) / 2 * isovalueEcal) + ((1 - beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk); - - iso.push_back(combIso); - double relIso = combIso /= t.pt(); - iso.push_back(relIso); - return iso; -} - -ZMuMuTrackUserData::ZMuMuTrackUserData(const ParameterSet &cfg) - : srcToken_(consumes >(cfg.getParameter("src"))), - beamSpotToken_(consumes(cfg.getParameter("beamSpot"))), - primaryVerticesToken_(consumes(cfg.getParameter("primaryVertices"))), - ptThreshold_(cfg.getParameter("ptThreshold")), - etEcalThreshold_(cfg.getParameter("etEcalThreshold")), - etHcalThreshold_(cfg.getParameter("etHcalThreshold")), - dRVetoTrk_(cfg.getParameter("dRVetoTrk")), - dRTrk_(cfg.getParameter("dRTrk")), - dREcal_(cfg.getParameter("dREcal")), - dRHcal_(cfg.getParameter("dRHcal")), - alpha_(cfg.getParameter("alpha")), - beta_(cfg.getParameter("beta")) { - produces >(); -} - -void ZMuMuTrackUserData::produce(Event &evt, const EventSetup &) { - Handle > tracks; - evt.getByToken(srcToken_, tracks); - - Handle beamSpotHandle; - evt.getByToken(beamSpotToken_, beamSpotHandle); - - Handle primaryVertices; // Collection of primary Vertices - evt.getByToken(primaryVerticesToken_, primaryVertices); - - unique_ptr > tkColl(new vector(*tracks)); - for (unsigned int i = 0; i < tkColl->size(); ++i) { - pat::GenericParticle &tk = (*tkColl)[i]; - vector iso = isolation( - tk, ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_, alpha_, beta_); - tk.setIsolation(pat::User1Iso, iso[0]); - // cout << "track User1Iso " << iso[0] << endl; - tk.setIsolation(pat::User2Iso, iso[1]); - //cout << "track User2Iso " << iso[1] << endl; - tk.setIsolation(pat::User3Iso, iso[2]); - //cout << "track User3Iso " << iso[2] << endl; - tk.setIsolation(pat::User4Iso, iso[3]); - //cout << "track User4Iso " << iso[3] << endl; - tk.setIsolation(pat::User5Iso, iso[4]); - //cout << "track User5Iso " << iso[4] << endl; - - float zDaudxyFromBS = -1; - float zDaudzFromBS = -1; - float zDaudxyFromPV = -1; - float zDaudzFromPV = -1; - float zDauNofMuChambers = -1; - float zDauNofMuMatches = -1; - float zDauChi2 = -1; - float zDauTrkChi2 = -1; - float zDauSaChi2 = -1; - float zDauNofMuonHits = -1; - float zDauNofStripHits = -1; - float zDauNofPixelHits = -1; - float zDauMuEnergyEm = -1; - float zDauMuEnergyHad = -1; - - TrackRef muTrkRef = tk.track(); - if (muTrkRef.isNonnull()) { - zDaudxyFromBS = muTrkRef->dxy(beamSpotHandle->position()); - zDaudzFromBS = muTrkRef->dz(beamSpotHandle->position()); - zDaudxyFromPV = muTrkRef->dxy(primaryVertices->begin()->position()); - zDaudzFromPV = muTrkRef->dz(primaryVertices->begin()->position()); - zDauChi2 = muTrkRef->normalizedChi2(); - zDauTrkChi2 = muTrkRef->normalizedChi2(); - zDauNofStripHits = muTrkRef->hitPattern().numberOfValidStripHits(); - zDauNofPixelHits = muTrkRef->hitPattern().numberOfValidPixelHits(); - } - tk.addUserFloat("zDau_dxyFromBS", zDaudxyFromBS); - tk.addUserFloat("zDau_dzFromBS", zDaudzFromBS); - tk.addUserFloat("zDau_dxyFromPV", zDaudxyFromPV); - tk.addUserFloat("zDau_dzFromPV", zDaudzFromPV); - tk.addUserFloat("zDau_NofMuonHits", zDauNofMuonHits); - tk.addUserFloat("zDau_TrkNofStripHits", zDauNofStripHits); - tk.addUserFloat("zDau_TrkNofPixelHits", zDauNofPixelHits); - tk.addUserFloat("zDau_NofMuChambers", zDauNofMuChambers); - tk.addUserFloat("zDau_NofMuMatches", zDauNofMuMatches); - tk.addUserFloat("zDau_Chi2", zDauChi2); - tk.addUserFloat("zDau_TrkChi2", zDauTrkChi2); - tk.addUserFloat("zDau_SaChi2", zDauSaChi2); - tk.addUserFloat("zDau_MuEnergyEm", zDauMuEnergyEm); - tk.addUserFloat("zDau_MuEnergyHad", zDauMuEnergyHad); - } - - evt.put(std::move(tkColl)); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuTrackUserData); diff --git a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuUserData.cc b/ElectroWeakAnalysis/Skimming/plugins/ZMuMuUserData.cc deleted file mode 100644 index b48cd92719a76..0000000000000 --- a/ElectroWeakAnalysis/Skimming/plugins/ZMuMuUserData.cc +++ /dev/null @@ -1,169 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; -//using namespace pat; - -class ZMuMuUserData : public edm::EDProducer { -public: - ZMuMuUserData(const edm::ParameterSet &); - typedef math::XYZVector Vector; - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - - EDGetTokenT > srcToken_; - EDGetTokenT beamSpotToken_; - EDGetTokenT primaryVerticesToken_; - EDGetTokenT zGenParticlesMatchToken_; - double alpha_, beta_; - string hltPath_; - int counter; -}; - -ZMuMuUserData::ZMuMuUserData(const ParameterSet &cfg) - : srcToken_(consumes >(cfg.getParameter("src"))), - beamSpotToken_(consumes(cfg.getParameter("beamSpot"))), - primaryVerticesToken_(consumes(cfg.getParameter("primaryVertices"))), - zGenParticlesMatchToken_(consumes(cfg.getParameter("zGenParticlesMatch"))), - alpha_(cfg.getParameter("alpha")), - beta_(cfg.getParameter("beta")), - hltPath_(cfg.getParameter("hltPath")) { - produces >(); -} - -void ZMuMuUserData::produce(Event &evt, const EventSetup &) { - Handle > dimuons; - evt.getByToken(srcToken_, dimuons); - - Handle beamSpotHandle; - evt.getByToken(beamSpotToken_, beamSpotHandle); - - Handle primaryVertices; // Collection of primary Vertices - evt.getByToken(primaryVerticesToken_, primaryVertices); - - bool isMCMatchTrue = false; - - Handle zGenParticlesMatch; - if (evt.getByToken(zGenParticlesMatchToken_, zGenParticlesMatch)) { - isMCMatchTrue = true; - } - - //cout<<"isMCMatchTrue"< > dimuonColl(new vector()); - - for (unsigned int i = 0; i < dimuons->size(); ++i) { - const CompositeCandidate &z = (*dimuons)[i]; - //CandidateBaseRef zRef = dimuons ->refAt(i); - edm::Ref > zRef(dimuons, i); - pat::CompositeCandidate dimuon(z); - - float trueMass, truePt, trueEta, truePhi, trueY; - if (isMCMatchTrue) { - GenParticleRef trueZRef = (*zGenParticlesMatch)[zRef]; - //CandidateRef trueZRef = trueZIter->val; - if (trueZRef.isNonnull()) { - const Candidate &z = *trueZRef; - trueMass = z.mass(); - truePt = z.pt(); - trueEta = z.eta(); - truePhi = z.phi(); - trueY = z.rapidity(); - } else { - trueMass = -100; - truePt = -100; - trueEta = -100; - truePhi = -100; - trueY = -100; - } - - dimuon.addUserFloat("TrueMass", trueMass); - dimuon.addUserFloat("TruePt", truePt); - dimuon.addUserFloat("TrueEta", trueEta); - dimuon.addUserFloat("TruePhi", truePhi); - dimuon.addUserFloat("TrueY", trueY); - } - const Candidate *dau1 = z.daughter(0); - const Candidate *dau2 = z.daughter(1); - const pat::Muon &mu1 = dynamic_cast(*dau1->masterClone()); - const pat::Muon &mu2 = dynamic_cast(*dau2->masterClone()); - - /*cout<<"mu1 is null? "<get(); - stAloneTrack2 = dau2->get(); - float zDau1SaEta = stAloneTrack1->eta(); - float zDau2SaEta = stAloneTrack2->eta(); - float zDau1SaPhi = stAloneTrack1->phi(); - float zDau2SaPhi = stAloneTrack2->phi(); - float zDau1SaPt, zDau2SaPt; - if (counter % 2 == 0) { - momentum = stAloneTrack1->momentum(); - p4_1 = dau2->polarP4(); - mu_mass = dau1->mass(); - /// I fill the dau1 with positive and dau2 with negatove values for the pt, in order to flag the muons used for building zMassSa - zDau1SaPt = stAloneTrack1->pt(); - zDau2SaPt = -stAloneTrack2->pt(); - } else { - momentum = stAloneTrack2->momentum(); - p4_1 = dau1->polarP4(); - mu_mass = dau2->mass(); - /// I fill the dau1 with negatove and dau2 with positive values for the pt - zDau1SaPt = -stAloneTrack1->pt(); - zDau2SaPt = stAloneTrack2->pt(); - } - - Candidate::PolarLorentzVector p4_2(momentum.rho(), momentum.eta(), momentum.phi(), mu_mass); - double mass = (p4_1 + p4_2).mass(); - float zMassSa = mass; - //cout<<"zMassSa "<push_back(dimuon); - } - - evt.put(std::move(dimuonColl)); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuUserData); diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsFilter_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsFilter_cfi.py deleted file mode 100644 index 13198858cab16..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsFilter_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuons"), - minNumber = cms.uint32(1) -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsGlobal_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsGlobal_cfi.py deleted file mode 100644 index 393cd4bbb04f7..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsGlobal_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsGlobal = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('charge = 0 & mass > 20 & daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1') -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsHLTFilter_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsHLTFilter_cfi.py deleted file mode 100644 index 0ba862e5137f2..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsHLTFilter_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import HLTrigger.HLTfilters.hltHighLevel_cfi -dimuonsHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Add this to access 8E29 menu -#dimuonsHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -# for 8E29 menu -#dimuonsHLTFilter.HLTPaths = ["HLT_Mu3", "HLT_DoubleMu3"] -# for 1E31 menu -#dimuonsHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_DoubleMu3"] -dimuonsHLTFilter.HLTPaths = ["HLT_Mu9"] diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsMCMatch_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsMCMatch_cfi.py deleted file mode 100644 index a2cb5e8ca19c9..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsMCMatch_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsMCMatch = cms.EDFilter("MCTruthCompositeMatcherNew", - src = cms.InputTag("dimuons"), - # - # comment PAT match because works only for layer-0 muons - # - # VInputTag matchMaps = { muonMatch } - matchPDGId = cms.vint32(), - matchMaps = cms.VInputTag(cms.InputTag("goodMuonMCMatch")) -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOneStandAloneMuon_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOneStandAloneMuon_cfi.py deleted file mode 100644 index c0700dad22583..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOneStandAloneMuon_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsOneStandAloneMuon = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('charge = 0 & mass > 20 & ( (daughter(0).isStandAloneMuon = 1 & daughter(0).isGlobalMuon = 0 & daughter(1).isGlobalMuon = 1) | (daughter(1).isStandAloneMuon = 1 & daughter(1).isGlobalMuon = 0 & daughter(0).isGlobalMuon = 1) )') -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackFilter_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackFilter_cfi.py deleted file mode 100644 index 4323f4f1d90c4..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackFilter_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsOneTrackFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuonsOneTrack"), - minNumber = cms.uint32(1) -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackMCMatch_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackMCMatch_cfi.py deleted file mode 100644 index 819ec5c94f4e9..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackMCMatch_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsOneTrackMCMatch = cms.EDFilter("MCTruthCompositeMatcherNew", - src = cms.InputTag("dimuonsOneTrack"), - # - # comment PAT match because works only for layer-0 muons - # - # VInputTag matchMaps = { muonMatch, goodTrackMCMatch } - matchPDGId = cms.vint32(), - matchMaps = cms.VInputTag(cms.InputTag("goodMuonMCMatch"), cms.InputTag("goodTrackMCMatch")) -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrack_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrack_cfi.py deleted file mode 100644 index 66365864c6344..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrack_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsOneTrack = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(True), - cut = cms.string('mass > 20'), -# decay = cms.string('selectedLayer1Muons@+ goodTracks@-') -# decay = cms.string('selectedLayer1Muons@+ selectedLayer1TrackCands@-') - decay = cms.string('selectedPatMuonsTriggerMatch@+ selectedPatTracks@-') -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackerMuon_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackerMuon_cfi.py deleted file mode 100644 index d1a4c6a52f328..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOneTrackerMuon_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuonsOneTrackerMuon = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('charge = 0 & mass > 20 & ( (daughter(0).isTrackerMuon = 1 & daughter(0).isGlobalMuon = 0 & daughter(1).isGlobalMuon = 1) | (daughter(1).isTrackerMuon = 1 & daughter(1).isGlobalMuon = 0 & daughter(0).isGlobalMuon = 1) )') -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuonsOutputModule_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuonsOutputModule_cfi.py deleted file mode 100644 index cb54310ea4c99..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuonsOutputModule_cfi.py +++ /dev/null @@ -1,41 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * - -dimuonsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_selectedPatMuonsTriggerMatch_*_*', - 'keep *_selectedPatTracks_*_*', - 'keep *_dimuons_*_*', - 'keep *_dimuonsOneTrack_*_*', - 'keep *_dimuonsGlobal_*_*', - 'keep *_dimuonsOneStandAloneMuon_*_*', - 'keep *_muonMatch_*_*', - 'keep *_trackMuMatch_*_*', - 'keep *_allDimuonsMCMatch_*_*', - ) -) -dimuonsEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'dimuonsPath', - 'dimuonsOneTrackPath') - ) -) - -AODSIMDimuonEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -AODSIMDimuonEventContent.outputCommands.extend(AODSIMEventContent.outputCommands) -AODSIMDimuonEventContent.outputCommands.extend(dimuonsEventContent.outputCommands) - -dimuonsOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMDimuonEventContent, - dimuonsEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('dimuon'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('dimuons.root') -) - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuons_SkimPaths_cff.py b/ElectroWeakAnalysis/Skimming/python/dimuons_SkimPaths_cff.py deleted file mode 100644 index 2604f50ab5b91..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuons_SkimPaths_cff.py +++ /dev/null @@ -1,33 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# migration to PAT v2 and reorganization of dimuon sequences - -from ElectroWeakAnalysis.Skimming.dimuonsHLTFilter_cfi import * -from ElectroWeakAnalysis.Skimming.patCandidatesForDimuonsSequences_cff import * -from ElectroWeakAnalysis.Skimming.dimuons_cfi import * -from ElectroWeakAnalysis.Skimming.dimuonsOneTrack_cfi import * -from ElectroWeakAnalysis.Skimming.dimuonsGlobal_cfi import * -from ElectroWeakAnalysis.Skimming.dimuonsOneStandAloneMuon_cfi import * -from ElectroWeakAnalysis.Skimming.mcTruthForDimuons_cff import * -from ElectroWeakAnalysis.Skimming.dimuonsFilter_cfi import * -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackFilter_cfi import * - -dimuonsPath = cms.Path( - dimuonsHLTFilter * - goodMuonRecoForDimuon * - dimuons * - dimuonsGlobal * - dimuonsOneStandAloneMuon * - dimuonsFilter -) - -dimuonsOneTrackPath = cms.Path(dimuonsHLTFilter+ - goodMuonRecoForDimuon+ - dimuonsOneTrack+ - dimuonsOneTrackFilter -) - -dimuonsMCTruth = cms.Path(dimuonsHLTFilter+ - mcTruthForDimuons -) - diff --git a/ElectroWeakAnalysis/Skimming/python/dimuons_cfi.py b/ElectroWeakAnalysis/Skimming/python/dimuons_cfi.py deleted file mode 100644 index be8160591331f..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/dimuons_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dimuons = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass > 0'), - # string decay = "goodMuons@+ goodMuons@-" -# decay = cms.string('selectedLayer1Muons@+ selectedLayer1Muons@-') - decay = cms.string('selectedPatMuonsTriggerMatch@+ selectedPatMuonsTriggerMatch@-') -) - - diff --git a/ElectroWeakAnalysis/Skimming/python/mcTruthForDimuons_cff.py b/ElectroWeakAnalysis/Skimming/python/mcTruthForDimuons_cff.py deleted file mode 100644 index 48c8758c6f101..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/mcTruthForDimuons_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.HepMCCandAlgos.goodMuonMCMatch_cfi import * -goodMuonMCMatch.src = 'selectedPatMuonsTriggerMatch' -from PhysicsTools.HepMCCandAlgos.goodTrackMCMatch_cfi import * -goodTrackMCMatch.src = 'selectedPatTracks' - -from ElectroWeakAnalysis.Skimming.dimuonsMCMatch_cfi import * -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackMCMatch_cfi import * -allDimuonsMCMatch = cms.EDFilter("GenParticleMatchMerger", - src = cms.VInputTag(cms.InputTag("goodMuonMCMatch"), cms.InputTag("goodTrackMCMatch"), cms.InputTag("dimuonsMCMatch"), cms.InputTag("dimuonsOneTrackMCMatch")) -) - -mcTruthForDimuons = cms.Sequence(goodMuonMCMatch+goodTrackMCMatch+dimuonsMCMatch+dimuonsOneTrackMCMatch+allDimuonsMCMatch) - diff --git a/ElectroWeakAnalysis/Skimming/python/patAODTrackCandSequence_cff.py b/ElectroWeakAnalysis/Skimming/python/patAODTrackCandSequence_cff.py deleted file mode 100644 index 482a1a99224f6..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/patAODTrackCandSequence_cff.py +++ /dev/null @@ -1,43 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#from SimGeneral.HepPDTESSource.pythiapdt_cfi import * -from Configuration.StandardSequences.MagneticField_cff import * - -patAODTrackCandsUnfiltered = cms.EDProducer("ConcreteChargedCandidateProducer", - src = cms.InputTag("generalTracks"), - particleType = cms.string('mu+') # to fix mass hypothesis -) - -patAODTrackCands = cms.EDFilter("CandViewSelector", - src = cms.InputTag("patAODTrackCandsUnfiltered"), - cut = cms.string('pt > 10') -) - - -from RecoMuon.MuonIsolationProducers.muIsolation_cff import * -## Configure tracker isolation -from RecoMuon.MuonIsolationProducers.trackExtractorBlocks_cff import MIsoTrackExtractorCtfBlock -patAODTrackIsoDepositCtfTk = cms.EDProducer("CandIsoDepositProducer", - src = cms.InputTag("patAODTrackCands"), - trackType = cms.string('best'), - MultipleDepositsFlag = cms.bool(False), - ExtractorPSet = cms.PSet( MIsoTrackExtractorCtfBlock ) -) - -## Configure calorimetric isolation -from RecoMuon.MuonIsolationProducers.caloExtractorByAssociatorBlocks_cff import MIsoCaloExtractorByAssociatorTowersBlock -patAODTrackIsoDepositCalByAssociatorTowers = cms.EDProducer("CandIsoDepositProducer", - src = cms.InputTag("patAODTrackCands"), - trackType = cms.string('best'), - MultipleDepositsFlag = cms.bool(True), - ExtractorPSet = cms.PSet( MIsoCaloExtractorByAssociatorTowersBlock ) -) - -# sequence to run on AOD before PAT cleaners -patAODTrackCandSequence = cms.Sequence( - patAODTrackCandsUnfiltered * - patAODTrackCands * - patAODTrackIsoDepositCtfTk * - patAODTrackIsoDepositCalByAssociatorTowers -) - diff --git a/ElectroWeakAnalysis/Skimming/python/patCandidatesForDimuonsSequences_cff.py b/ElectroWeakAnalysis/Skimming/python/patCandidatesForDimuonsSequences_cff.py deleted file mode 100644 index a660c967bea31..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/patCandidatesForDimuonsSequences_cff.py +++ /dev/null @@ -1,167 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from SimGeneral.HepPDTESSource.pythiapdt_cfi import * - -# PAT TRACKS - -# before pat: conversion to track candidates for pat; isolation -#from PhysicsTools.PatAlgos.recoLayer0.genericTrackCandidates_cff import * -from ElectroWeakAnalysis.Skimming.patAODTrackCandSequence_cff import * -patAODTrackCands.cut = 'pt > 10.' - -# before pat: MC match -#from PhysicsTools.PatAlgos.mcMatchLayer0.trackMuMatch_cfi import * -from ElectroWeakAnalysis.Skimming.trackMuMatch_cfi import * -trackMuMatch.maxDeltaR = 0.15 -trackMuMatch.maxDPtRel = 1.0 -trackMuMatch.resolveAmbiguities = True -trackMuMatch.resolveByMatchQuality = True - -# pat tracks -from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi import patGenericParticles - -allPatTracks = patGenericParticles.clone( - src = cms.InputTag("patAODTrackCands"), - # isolation configurables - userIsolation = cms.PSet( - tracker = cms.PSet( - veto = cms.double(0.015), - src = cms.InputTag("patAODTrackIsoDepositCtfTk"), - deltaR = cms.double(0.3), - threshold = cms.double(1.5) - ), - ecal = cms.PSet( - src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"), - deltaR = cms.double(0.3) - ), - hcal = cms.PSet( - src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal"), - deltaR = cms.double(0.3) - ), - ), - isoDeposits = cms.PSet( - tracker = cms.InputTag("patAODTrackIsoDepositCtfTk"), - ecal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"), - hcal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal") - ), - addGenMatch = cms.bool(True), - genParticleMatch = cms.InputTag("trackMuMatch") -) - -from PhysicsTools.PatAlgos.selectionLayer1.trackSelector_cfi import * -selectedPatTracks.cut = 'pt > 10.' - -# PAT MUONS - -# before pat: MC match -from PhysicsTools.PatAlgos.mcMatchLayer0.muonMatch_cfi import * -muonMatch.maxDeltaR = 0.15 -muonMatch.maxDPtRel = 1.0 -muonMatch.resolveAmbiguities = True -muonMatch.resolveByMatchQuality = True - -# pat muons -# needed starting from 3_6_1 -from TrackingTools.TransientTrack.TransientTrackBuilder_cfi import * -# -from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import * -patMuons.isoDeposits = cms.PSet( - tracker = cms.InputTag("muIsoDepositTk"), - ecal = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"), - hcal = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"), -) -patMuons.userIsolation = cms.PSet( - hcal = cms.PSet( - src = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"), - deltaR = cms.double(0.3) - ), - tracker = cms.PSet( - veto = cms.double(0.015), - src = cms.InputTag("muIsoDepositTk"), - deltaR = cms.double(0.3), - threshold = cms.double(1.5) - ), - ecal = cms.PSet( - src = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"), - deltaR = cms.double(0.3) - ) - ) - -from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import * -selectedPatMuons.cut = 'pt > 0. & abs(eta) < 100.0' - -# trigger info -from PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi import * -# to access 8E29 menus -#patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT8E29" ) -#patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT8E29" ) -# to access 1E31 menus -patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT" ) -patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT" ) - -muonTriggerMatchHLTMuons = cms.EDFilter( "PATTriggerMatcherDRDPtLessByR", - src = cms.InputTag( "selectedPatMuons" ), - matched = cms.InputTag( "patTrigger" ), - andOr = cms.bool( False ), - filterIdsEnum = cms.vstring( 'TriggerMuon' ), # 'TriggerMuon' is the enum from trigger::TriggerObjectType for HLT muons - filterIds = cms.vint32( 0 ), - filterLabels = cms.vstring( '*' ), - pathNames = cms.vstring( 'HLT_Mu9' ), - collectionTags = cms.vstring( '*' ), - maxDPtRel = cms.double( 1.0 ), - maxDeltaR = cms.double( 0.2 ), - resolveAmbiguities = cms.bool( True ), - resolveByMatchQuality = cms.bool( True ) -) - -from PhysicsTools.PatAlgos.triggerLayer1.triggerEventProducer_cfi import * -#patTriggerEvent.patTriggerMatches = [ "muonTriggerMatchHLTMu9" ] -patTriggerEvent.patTriggerMatches = cms.VInputTag( "muonTriggerMatchHLTMuons" ) -#patTriggerEvent.patTriggerMatches = cms.VInputTag( "muonTriggerMatchHLTMu9" ) - -patTriggerSequence = cms.Sequence( - patTrigger * - muonTriggerMatchHLTMuons * -# muonTriggerMatchHLTMu9 * - patTriggerEvent -) - -selectedPatMuonsTriggerMatch = cms.EDProducer( "PATTriggerMatchMuonEmbedder", - src = cms.InputTag( "selectedPatMuons" ), - matches = cms.VInputTag( "muonTriggerMatchHLTMuons" ) -) - -muonTriggerMatchEmbedder = cms.Sequence( - selectedPatMuonsTriggerMatch -) - -# pat sequences - -beforePatTracks = cms.Sequence( - patAODTrackCandSequence * - trackMuMatch -) - -beforePatMuons = cms.Sequence( - muonMatch -) - -beforePat = cms.Sequence( - beforePatTracks + - beforePatMuons -) - -patCandsSequence = cms.Sequence( - patMuons * - selectedPatMuons * - allPatTracks * - selectedPatTracks -) - -goodMuonRecoForDimuon = cms.Sequence( - beforePat * - patCandsSequence * - patTriggerSequence * - muonTriggerMatchEmbedder -) - diff --git a/ElectroWeakAnalysis/Skimming/python/patCandidatesForZMuMuSubskim_cff.py b/ElectroWeakAnalysis/Skimming/python/patCandidatesForZMuMuSubskim_cff.py deleted file mode 100644 index 9f07d8523fb57..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/patCandidatesForZMuMuSubskim_cff.py +++ /dev/null @@ -1,173 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from SimGeneral.HepPDTESSource.pythiapdt_cfi import * -##################################################### -# PAT muons and tracks for ZMuMu subskim: no MC match -##################################################### - -# PAT TRACKS - -# before pat: conversion to track candidates for pat; isolation -from ElectroWeakAnalysis.Skimming.patAODTrackCandSequence_cff import * -patAODTrackCands.cut = 'pt > 15.' - -# pat tracks -from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi import patGenericParticles - -allPatTracks = patGenericParticles.clone( - src = cms.InputTag("patAODTrackCands"), - embedTrack = cms.bool(True), - # isolation configurables - userIsolation = cms.PSet( - tracker = cms.PSet( - veto = cms.double(0.015), - src = cms.InputTag("patAODTrackIsoDepositCtfTk"), - deltaR = cms.double(0.3), - threshold = cms.double(1.5) - ), - ecal = cms.PSet( - src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"), - deltaR = cms.double(0.3) - ), - hcal = cms.PSet( - src = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal"), - deltaR = cms.double(0.3) - ), - ), - isoDeposits = cms.PSet( - tracker = cms.InputTag("patAODTrackIsoDepositCtfTk"), - ecal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","ecal"), - hcal = cms.InputTag("patAODTrackIsoDepositCalByAssociatorTowers","hcal") - ), - addGenMatch = cms.bool(False) -) - -from PhysicsTools.PatAlgos.selectionLayer1.trackSelector_cfi import * -selectedPatTracks.cut = 'pt > 15. & track.dxy()<1.0' - -# PAT MUONS - -# before pat: Merge CaloMuons into the collection of reco::Muons -# Starting from 3_4_X a special recipe is needed for CaloMuons merging -# Uncomment the following lines and follow the recipe in: -# https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideMuonIsolation#To_remake_IsoDeposits_in_CMSSW_3 - -#from RecoMuon.MuonIdentification.calomuons_cfi import calomuons; -#muons = cms.EDProducer("CaloMuonMerger", -# muons = cms.InputTag("muons"), # half-dirty thing. it works aslong as we're the first module using muons in the path -# caloMuons = cms.InputTag("calomuons"), -# minCaloCompatibility = calomuons.minCaloCompatibility) - -## And re-make isolation, as we can't use the one in AOD because our collection is different -#import RecoMuon.MuonIsolationProducers.muIsolation_cff - -# pat muons -# needed starting from 3_6_1 -from TrackingTools.TransientTrack.TransientTrackBuilder_cfi import * -# -from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import * -patMuons.isoDeposits = cms.PSet( - tracker = cms.InputTag("muIsoDepositTk"), - ecal = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"), - hcal = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"), -) -patMuons.userIsolation = cms.PSet( - hcal = cms.PSet( - src = cms.InputTag("muIsoDepositCalByAssociatorTowers","hcal"), - deltaR = cms.double(0.3) - ), - tracker = cms.PSet( - veto = cms.double(0.015), - src = cms.InputTag("muIsoDepositTk"), - deltaR = cms.double(0.3), - threshold = cms.double(1.5) - ), - ecal = cms.PSet( - src = cms.InputTag("muIsoDepositCalByAssociatorTowers","ecal"), - deltaR = cms.double(0.3) - ) - ) - -patMuons.addGenMatch = cms.bool(False) -patMuons.embedTrack = cms.bool(True) -patMuons.embedCombinedMuon = cms.bool(True) -patMuons.embedStandAloneMuon = cms.bool(True) -patMuons.embedPickyMuon = cms.bool(False) -patMuons.embedTpfmsMuon = cms.bool(False) -patMuons.embedPFCandidate = cms.bool(False) - -from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import * -selectedPatMuons.cut = 'pt > 15. & abs(eta) < 100.0 & ( (isGlobalMuon==1 & innerTrack.dxy()<1.0) | ((isTrackerMuon==1 & innerTrack.dxy()<1.0) | (isStandAloneMuon==1 & outerTrack.dxy()<1.0) ))' - -# trigger info -from PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cfi import * -# to access 8E29 menus -#patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT8E29" ) -#patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT8E29" ) -# to access 1E31 menus -patTrigger.triggerResults = cms.InputTag( "TriggerResults::HLT" ) -patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT" ) - -muonTriggerMatchHLTMuons = cms.EDProducer( "PATTriggerMatcherDRDPtLessByR", - src = cms.InputTag( "selectedPatMuons" ), - matched = cms.InputTag( "patTrigger" ), - andOr = cms.bool( False ), - filterIdsEnum = cms.vstring( 'TriggerMuon' ), # 'TriggerMuon' is the enum from trigger::TriggerObjectType for HLT muons - filterIds = cms.vint32( 0 ), - filterLabels = cms.vstring( '*' ), - pathNames = cms.vstring( 'HLT_Mu9' ), - collectionTags = cms.vstring( '*' ), - maxDPtRel = cms.double( 1.0 ), - maxDeltaR = cms.double( 0.2 ), - resolveAmbiguities = cms.bool( True ), - resolveByMatchQuality = cms.bool( False ) -) - -from PhysicsTools.PatAlgos.triggerLayer1.triggerEventProducer_cfi import * -patTriggerEvent.patTriggerMatches = cms.VInputTag( "muonTriggerMatchHLTMuons" ) - -patTriggerSequence = cms.Sequence( - patTrigger * - muonTriggerMatchHLTMuons * - patTriggerEvent -) - -selectedPatMuonsTriggerMatch = cms.EDProducer( "PATTriggerMatchMuonEmbedder", - src = cms.InputTag( "selectedPatMuons" ), - matches = cms.VInputTag( "muonTriggerMatchHLTMuons" ) -) - -muonTriggerMatchEmbedder = cms.Sequence( - selectedPatMuonsTriggerMatch -) - -# uncomment in case of CaloMuons merging -#beforePatMuons = cms.Sequence( -# muons * -# muIsolation -#) - -beforePatTracks = cms.Sequence( - patAODTrackCandSequence -) - -beforePat = cms.Sequence( -# uncomment in case of CaloMuons merging -# beforePatMuons * - beforePatTracks -) - -patCandsSequence = cms.Sequence( - patMuons * - selectedPatMuons * - allPatTracks * - selectedPatTracks -) - -goodMuonRecoForDimuon = cms.Sequence( - beforePat * - patCandsSequence * - patTriggerSequence * - muonTriggerMatchEmbedder -) - diff --git a/ElectroWeakAnalysis/Skimming/python/trackMuMatch_cfi.py b/ElectroWeakAnalysis/Skimming/python/trackMuMatch_cfi.py deleted file mode 100644 index 02ddabbb5dcca..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/trackMuMatch_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Configuration of the MC match for generic tracks candidates -# (following the configuration for muons) - -trackMuMatch = cms.EDProducer("MCMatcher", # cut on deltaR, deltaPt/Pt; pick best by deltaR - src = cms.InputTag("patAODTrackCands"), # RECO objects to match - matched = cms.InputTag("genParticles"), # mc-truth particle collection - mcPdgId = cms.vint32(13), # one or more PDG ID (13 = muon); absolute values (see below) - checkCharge = cms.bool(True), # True = require RECO and MC objects to have the same charge - mcStatus = cms.vint32(1), # PYTHIA status code (1 = stable, 2 = shower, 3 = hard scattering) - maxDeltaR = cms.double(0.5), # Minimum deltaR for the match - maxDPtRel = cms.double(0.5), # Minimum deltaPt/Pt for the match - resolveAmbiguities = cms.bool(True), # Forbid two RECO objects to match to the same GEN object - resolveByMatchQuality = cms.bool(False), # False = just match input in order; True = pick lowest deltaR pair first -) - diff --git a/ElectroWeakAnalysis/Skimming/python/zMuMuMuonUserData.py b/ElectroWeakAnalysis/Skimming/python/zMuMuMuonUserData.py deleted file mode 100644 index dd4eedbd5b9de..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/zMuMuMuonUserData.py +++ /dev/null @@ -1,67 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -userDataMuons = cms.EDProducer( - "ZMuMuMuonUserData", - src = cms.InputTag("selectedPatMuonsTriggerMatch"), - zGenParticlesMatch = cms.InputTag(""), -## zGenParticlesMatch = cms.InputTag(""), - alpha = cms.double(0.75), - beta = cms.double(-0.75), - beamSpot = cms.InputTag("offlineBeamSpot"), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - ptThreshold = cms.double(1.5), - etEcalThreshold = cms.double(0.2), - etHcalThreshold = cms.double(0.5), - dRVetoTrk = cms.double(0.015), - dRTrk = cms.double(0.3), - dREcal = cms.double(0.25), - dRHcal = cms.double(0.25), - hltPath = cms.string("HLT_Mu9") - ) - -userDataTracks = cms.EDProducer( - "ZMuMuTrackUserData", - src = cms.InputTag("selectedPatTracks"), - zGenParticlesMatch = cms.InputTag(""), - alpha = cms.double(0.75), - beta = cms.double(-0.75), - beamSpot = cms.InputTag("offlineBeamSpot"), - ptThreshold = cms.double(1.5), - etEcalThreshold = cms.double(0.2), - etHcalThreshold = cms.double(0.5), - dRVetoTrk = cms.double(0.015), - dRTrk = cms.double(0.3), - dREcal = cms.double(0.25), - dRHcal = cms.double(0.25), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - ) - -userDataDimuons= cms.EDProducer( - "ZMuMuUserData", - src = cms.InputTag("dimuons"), - zGenParticlesMatch = cms.InputTag(""), -## zGenParticlesMatch = cms.InputTag("allDimuonsMCMatch"), - alpha = cms.double(0.75), - beta = cms.double(-0.75), - beamSpot = cms.InputTag("offlineBeamSpot"), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - hltPath = cms.string("HLT_Mu9") - ) - -userDataDimuonsOneTrack= cms.EDProducer( - "ZMuMuUserDataOneTrack", - src = cms.InputTag("dimuonsOneTrack"), - zGenParticlesMatch = cms.InputTag(""), -# zGenParticlesMatch = cms.InputTag("allDimuonsMCMatch"), - alpha = cms.double(0.75), - beta = cms.double(-0.75), - beamSpot = cms.InputTag("offlineBeamSpot"), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - hltPath = cms.string("HLT_Mu9") - ) - - - - - diff --git a/ElectroWeakAnalysis/Skimming/python/zMuMuSubskimOutputModule_cfi.py b/ElectroWeakAnalysis/Skimming/python/zMuMuSubskimOutputModule_cfi.py deleted file mode 100644 index 165402ca26723..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/zMuMuSubskimOutputModule_cfi.py +++ /dev/null @@ -1,39 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -zMuMuSubskimOutputModule = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - 'drop *', -#### to access the position at the momentum system for global and standalone muons - 'keep recoTrackExtras_standAloneMuons_*_*', - 'keep recoTracks_standAloneMuons_UpdatedAtVtx_*', - #'keep recoCaloMuons_calomuons_*_*', - #'keep *_selectedPatMuonsTriggerMatch_*_*', - #'keep *_selectedPatTracks_*_*', - 'keep *_userDataMuons_*_*', - 'keep *_userDataTracks_*_*', - 'keep *_userDataDimuons_*_*', - 'keep *_userDataDimuonsOneTrack_*_*', - #'keep *_dimuons_*_*', - #'keep *_dimuonsOneTrack_*_*', - 'keep *_dimuonsGlobal_*_*', - 'keep *_dimuonsOneStandAloneMuon_*_*', - 'keep *_dimuonsOneTrackerMuon_*_*', - ### to access vertex information - 'keep *_offlineBeamSpot_*_*', - 'keep *_offlinePrimaryVerticesWithBS_*_*', - ### to save jet information - #'keep *_sisCone5CaloJets_*_*', - #'keep *_ak4CaloJets_*_*', - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'dimuonsPath', - 'dimuonsOneTrackPath') - ), - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('zmumu'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('zMuMuSubskim.root') -) - diff --git a/ElectroWeakAnalysis/Skimming/python/zMuMu_MCTruth_cfi.py b/ElectroWeakAnalysis/Skimming/python/zMuMu_MCTruth_cfi.py deleted file mode 100644 index a34ee22e723ee..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/zMuMu_MCTruth_cfi.py +++ /dev/null @@ -1,52 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.Skimming.dimuonsHLTFilter_cfi import * - -from PhysicsTools.HepMCCandAlgos.goodMuonMCMatch_cfi import * -goodMuonMCMatch.src = 'userDataMuons' - -from PhysicsTools.HepMCCandAlgos.goodTrackMCMatch_cfi import * -goodTrackMCMatch.src = 'userDataTracks' - -from ElectroWeakAnalysis.Skimming.dimuonsMCMatch_cfi import * -#dimuonsMCMatch.src=cms.InputTag("userDataDimuons") - -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackMCMatch_cfi import * -#dimuonsOneTrackMCMatch.src=cms.InputTag("userDataDimuonsOneTrack") - -#allDimuonsMCMatch = cms.EDFilter("GenParticleMatchMerger", -# src = cms.VInputTag(cms.InputTag("goodMuonMCMatch"), cms.InputTag("goodTrackMCMatch"), cms.InputTag("dimuonsMCMatch")), -# filter = cms.bool(False) -#) - -allDimuonsMCMatch = cms.EDFilter("GenParticleMatchMerger", - src = cms.VInputTag(cms.InputTag("goodMuonMCMatch"), cms.InputTag("dimuonsMCMatch")), - filter = cms.bool(False) -) - -allDimuonsOneTrackMCMatch = cms.EDFilter("GenParticleMatchMerger", - src = cms.VInputTag(cms.InputTag("goodMuonMCMatch"), cms.InputTag("goodTrackMCMatch"), cms.InputTag("dimuonsOneTrackMCMatch")), - filter = cms.bool(False) -) - -# Different MCtruth sequences for different ZMuMu paths -mcTruthForDimuons = cms.Sequence(goodMuonMCMatch+dimuonsMCMatch+allDimuonsMCMatch) -mcTruthForDimuonsOneTrack = cms.Sequence(goodMuonMCMatch+goodTrackMCMatch+dimuonsOneTrackMCMatch+allDimuonsOneTrackMCMatch) - -#mcTruthForDimuons = cms.Sequence(goodMuonMCMatch+goodTrackMCMatch+dimuonsMCMatch+allDimuonsMCMatch) - -#mcTruthForDimuonsOneTrack = cms.Sequence(goodMuonMCMatch+goodTrackMCMatch+dimuonsOneTrackMCMatch) - - -#dimuonsMCTruth = cms.Path(dimuonsHLTFilter+ -# mcTruthForDimuons -#) - -mcEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - ### MC matching infos - 'keep *_genParticles_*_*', - 'keep *_allDimuonsMCMatch_*_*', - 'keep *_allDimuonsOneTrackMCMatch_*_*' - ) -) diff --git a/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPathsWithMCTruth_cff.py b/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPathsWithMCTruth_cff.py deleted file mode 100644 index 3b4347f9f8d62..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPathsWithMCTruth_cff.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.Skimming.dimuonsHLTFilter_cfi import * -from ElectroWeakAnalysis.Skimming.patCandidatesForZMuMuSubskim_cff import * -from ElectroWeakAnalysis.Skimming.zMuMuMuonUserData import * -from ElectroWeakAnalysis.Skimming.dimuons_cfi import * -dimuons.decay = cms.string('userDataMuons@+ userDataMuons@-') -from ElectroWeakAnalysis.Skimming.dimuonsOneTrack_cfi import * -dimuonsOneTrack.decay = cms.string('userDataMuons@+ userDataTracks@-') -from ElectroWeakAnalysis.Skimming.dimuonsGlobal_cfi import * -dimuonsGlobal.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneStandAloneMuon_cfi import * -dimuonsOneStandAloneMuon.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackerMuon_cfi import * -dimuonsOneTrackerMuon.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsFilter_cfi import * -dimuonsFilter.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackFilter_cfi import * -dimuonsOneTrackFilter.src = cms.InputTag("userDataDimuonsOneTrack") - -# MC matching sequence -from ElectroWeakAnalysis.Skimming.zMuMu_MCTruth_cfi import * -userDataDimuons.zGenParticlesMatch = cms.InputTag("allDimuonsMCMatch") -userDataDimuonsOneTrack.zGenParticlesMatch = cms.InputTag("allDimuonsOneTrackMCMatch") - - - -dimuonsPath = cms.Path(dimuonsHLTFilter * - goodMuonRecoForDimuon * - userDataMuons* - dimuons * - mcTruthForDimuons * - userDataDimuons* - dimuonsGlobal * - dimuonsOneStandAloneMuon * - dimuonsOneTrackerMuon * - dimuonsFilter - ) - -dimuonsOneTrackPath = cms.Path(dimuonsHLTFilter * - goodMuonRecoForDimuon* - userDataMuons* - userDataTracks* - dimuonsOneTrack* - mcTruthForDimuonsOneTrack * - userDataDimuonsOneTrack* - dimuonsOneTrackFilter - ) - - diff --git a/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPaths_cff.py b/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPaths_cff.py deleted file mode 100644 index 94bb52eff4f82..0000000000000 --- a/ElectroWeakAnalysis/Skimming/python/zMuMu_SubskimPaths_cff.py +++ /dev/null @@ -1,41 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.Skimming.dimuonsHLTFilter_cfi import * -from ElectroWeakAnalysis.Skimming.patCandidatesForZMuMuSubskim_cff import * -from ElectroWeakAnalysis.Skimming.zMuMuMuonUserData import * -from ElectroWeakAnalysis.Skimming.dimuons_cfi import * -dimuons.decay = cms.string('userDataMuons@+ userDataMuons@-') -from ElectroWeakAnalysis.Skimming.dimuonsOneTrack_cfi import * -dimuonsOneTrack.decay = cms.string('userDataMuons@+ userDataTracks@-') -from ElectroWeakAnalysis.Skimming.dimuonsGlobal_cfi import * -dimuonsGlobal.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneStandAloneMuon_cfi import * -dimuonsOneStandAloneMuon.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackerMuon_cfi import * -dimuonsOneTrackerMuon.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsFilter_cfi import * -dimuonsFilter.src = cms.InputTag("userDataDimuons") -from ElectroWeakAnalysis.Skimming.dimuonsOneTrackFilter_cfi import * -dimuonsOneTrackFilter.src = cms.InputTag("userDataDimuonsOneTrack") - -dimuonsPath = cms.Path(dimuonsHLTFilter * - goodMuonRecoForDimuon * - userDataMuons* - dimuons * - userDataDimuons* - dimuonsGlobal * - dimuonsOneStandAloneMuon * - dimuonsOneTrackerMuon * - dimuonsFilter - ) - -dimuonsOneTrackPath = cms.Path(dimuonsHLTFilter * - goodMuonRecoForDimuon* - userDataMuons* - userDataTracks* - dimuonsOneTrack* - userDataDimuonsOneTrack* - dimuonsOneTrackFilter - ) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_Drop.py b/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_Drop.py deleted file mode 100644 index 4a11b961e1009..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_Drop.py +++ /dev/null @@ -1,136 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKDiElectronSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/tmp/ikesisog/10A96AFC-E17C-DE11-A90E-001D0967D9CC.root' - ) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') - - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_DiElectronHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() - -# Uncomment this to access 8E29 menu and filter on it -process.EWK_DiElectronHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -process.EWK_DiElectronHLTFilter.HLTPaths = ["HLT_Ele15_LW_L1R"] - - -# Make a collection of good SuperClusters. -# -# Before selection is made, merge the Barrel and EndCap SC's. -process.superClusterMerger = cms.EDProducer("EgammaSuperClusterMerger", - src = cms.VInputTag(cms.InputTag('correctedHybridSuperClusters'), cms.InputTag('correctedMulti5x5SuperClustersWithPreshower')) - ) - -# Get the above merged SC's and select the particle (gamma) to greate SC's Candidates. -process.superClusterCands = cms.EDProducer("ConcreteEcalCandidateProducer", - src = cms.InputTag("superClusterMerger"), particleType = cms.string('gamma') - ) - -# Get the above SC's Candidates and place a cut on their Et. -process.goodSuperClusters = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("superClusterCands"), - cut = cms.string('et > 20.0'), - filter = cms.bool(True) - ) - -process.superClusterFilter = cms.Sequence(process.superClusterMerger + process.superClusterCands + process.goodSuperClusters) - - -# Make a collections on good Electrons. -# -process.goodElectrons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 20.0'), - filter = cms.bool(True) -) - -# Filter the above two collections (good SuperClusters and good Electrons) -# -process.electronSuperClusterCombiner = cms.EDFilter("CandViewShallowCloneCombiner", - filter = cms.bool(True), - checkCharge = cms.bool(False), - cut = cms.string('mass > 3.0'), - decay = cms.string('goodElectrons goodSuperClusters') - ) - -process.electronSuperClusterCounter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("electronSuperClusterCombiner"), - minNumber = cms.uint32(1) - ) - -process.electronSuperClusterFilter = cms.Sequence(process.electronSuperClusterCombiner + process.electronSuperClusterCounter) - - -# Skim path -process.EWK_DiElectronSkimPath = cms.Path(process.EWK_DiElectronHLTFilter + - process.goodElectrons + - process.superClusterFilter + - process.electronSuperClusterFilter - ) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * - -EWK_DiElectronSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_DiElectronSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_DiElectronSkimEventContent.outputCommands.extend( - cms.untracked.vstring('drop *', - "keep recoSuperClusters_*_*_*", - "keep *_gsfElectrons_*_*", - "keep recoGsfTracks_electronGsfTracks_*_*", - "keep *_gsfElectronCores_*_*", - "keep *_correctedHybridSuperClusters_*_*", - "keep *_correctedMulti5x5SuperClustersWithPreshower_*_*", - "keep edmTriggerResults_*_*_*", - "keep recoCaloMETs_*_*_*", - "keep recoMETs_*_*_*", - "keep *_particleFlow_electrons_*", - "keep *_pfMet_*_*", - "keep *_multi5x5SuperClusterWithPreshower_*_*", - "keep recoVertexs_*_*_*", - "keep *_hltTriggerSummaryAOD_*_*", - "keep floatedmValueMap_*_*_*", - "keep recoBeamSpot_*_*_*" ) -) - -EWK_DiElectronSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_DiElectronSkimPath') - ) -) - -process.EWK_DiElectronSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_DiElectronSkimEventContent, - EWK_DiElectronSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKSKIMEMET'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWKDiElectronSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_DiElectronSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_NoDrop.py b/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_NoDrop.py deleted file mode 100644 index 3ee4beb98e8e4..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_DiElectronSkim_NoDrop.py +++ /dev/null @@ -1,116 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKDiElectronSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/tmp/ikesisog/10A96AFC-E17C-DE11-A90E-001D0967D9CC.root' - ) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') - - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_DiElectronHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() - -# Uncomment this to access 8E29 menu and filter on it -process.EWK_DiElectronHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -process.EWK_DiElectronHLTFilter.HLTPaths = ["HLT_Ele15_LW_L1R"] - - -# Make a collection of good SuperClusters. -# -# Before selection is made, merge the Barrel and EndCap SC's. -process.superClusterMerger = cms.EDProducer("EgammaSuperClusterMerger", - src = cms.VInputTag(cms.InputTag('correctedHybridSuperClusters'), cms.InputTag('correctedMulti5x5SuperClustersWithPreshower')) - ) - -# Get the above merged SC's and select the particle (gamma) to greate SC's Candidates. -process.superClusterCands = cms.EDProducer("ConcreteEcalCandidateProducer", - src = cms.InputTag("superClusterMerger"), particleType = cms.string('gamma') - ) - -# Get the above SC's Candidates and place a cut on their Et. -process.goodSuperClusters = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("superClusterCands"), - cut = cms.string('et > 20.0'), - filter = cms.bool(True) - ) - -process.superClusterFilter = cms.Sequence(process.superClusterMerger + process.superClusterCands + process.goodSuperClusters) - - -# Make a collections on good Electrons. -# -process.goodElectrons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 20.0'), - filter = cms.bool(True) -) - -# Filter the above two collections (good SuperClusters and good Electrons) -# -process.electronSuperClusterCombiner = cms.EDFilter("CandViewShallowCloneCombiner", - filter = cms.bool(True), - checkCharge = cms.bool(False), - cut = cms.string('mass > 3.0'), - decay = cms.string('goodElectrons goodSuperClusters') - ) - -process.electronSuperClusterCounter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("electronSuperClusterCombiner"), - minNumber = cms.uint32(1) - ) - -process.electronSuperClusterFilter = cms.Sequence(process.electronSuperClusterCombiner + process.electronSuperClusterCounter) - - -# Skim path -process.EWK_DiElectronSkimPath = cms.Path(process.EWK_DiElectronHLTFilter + - process.goodElectrons + - process.superClusterFilter + - process.electronSuperClusterFilter - ) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * - -EWK_DiElectronSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_DiElectronSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_DiElectronSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_DiElectronSkimPath') - ) -) - -process.EWK_DiElectronSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_DiElectronSkimEventContent, - EWK_DiElectronSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKSKIMEMET'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWKDiElectronSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_DiElectronSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_DimuonSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_DimuonSkim.py deleted file mode 100755 index 36aab91433b15..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_DimuonSkim.py +++ /dev/null @@ -1,163 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKDimuonSkim") - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch1/cms/data/summer09/aodsim/zmumu/0016/A68B6BD1-FF83-DE11-B579-001E68A99420.root' -# 'file:/scratch1/cms/data/summer09/aodsim/ppMuX/0010/9C519151-5883-DE11-8BC8-001AA0095119.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(500) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_MuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Uncomment this to access 8E29 menu and filter on it -#process.EWK_MuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -#process.EWK_MuHLTFilter.HLTPaths = ["HLT_Mu3", "HLT_DoubleMu3"] -# Uncomment this to filter on 1E31 HLT menu -process.EWK_MuHLTFilter.HLTPaths = ["HLT_Mu9"] - -# Muon candidates filters -process.goodAODMuons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("muons"), - cut = cms.string('pt > 0'), - filter = cms.bool(True) -) - -process.goodAODGlobalMuons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("goodAODMuons"), - cut = cms.string('isGlobalMuon=1'), - filter = cms.bool(True) -) - -# Track candidates -process.trackCandsUnfiltered = cms.EDProducer("ConcreteChargedCandidateProducer", - src = cms.InputTag("generalTracks"), - particleType = cms.string('mu+') # to fix mass hypothesis -) - -# Track candidates filter -process.goodAODTrackCands = cms.EDFilter("CandViewSelector", - src = cms.InputTag("trackCandsUnfiltered"), - cut = cms.string('pt > 10') -) - -# Dimuon candidates - -process.dimuonsAOD = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass > 0'), - decay = cms.string("goodAODMuons@+ goodAODMuons@-") -) - -process.dimuonsGlobalAOD = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuonsAOD"), - cut = cms.string('charge = 0 & daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1') -) - -process.dimuonsOneStandAloneMuonAOD = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuonsAOD"), - cut = cms.string('charge = 0 & mass > 20 & ( (daughter(0).isStandAloneMuon = 1 & daughter(0).isGlobalMuon = 0 & daughter(1).isGlobalMuon = 1) | (daughter(1).isStandAloneMuon = 1 & daughter(1).isGlobalMuon = 0 & daughter(0).isGlobalMuon = 1) )') -) - -process.dimuonsOneTrackAOD = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass > 20'), - decay = cms.string('goodAODMuons@+ goodAODTrackCands@-') -) - -process.dimuonsOneGlobalMuonOneTrackAOD = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuonsOneTrackAOD"), - cut = cms.string('charge = 0 & daughter(0).isGlobalMuon = 1') -) - -# dimuon filters -process.dimuonsFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuonsAOD"), - minNumber = cms.uint32(1) -) - -process.dimuonsOneTrackFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuonsOneTrackAOD"), - minNumber = cms.uint32(1) -) - -# Skim paths -process.EWK_dimuonsPath = cms.Path( - process.EWK_MuHLTFilter * - process.goodAODMuons * - process.goodAODGlobalMuons * - process.dimuonsAOD * - process.dimuonsGlobalAOD * - process.dimuonsOneStandAloneMuonAOD * - process.dimuonsFilter - ) - -process.EWK_dimuonsOneTrackPath = cms.Path( - process.EWK_MuHLTFilter * - process.goodAODMuons * - process.goodAODGlobalMuons * - process.trackCandsUnfiltered * - process.goodAODTrackCands * - process.dimuonsOneTrackAOD * - process.dimuonsOneGlobalMuonOneTrackAOD * - process.dimuonsOneTrackFilter -) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * - -EWK_dimuonsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_trackCandsUnfiltered_*_*', - 'keep *_goodAODTrackCands_*_*', - 'keep *_goodAODMuons_*_*', - 'keep *_dimuonsAOD_*_*', - 'keep *_dimuonsGlobalAOD_*_*', - 'keep *_dimuonsOneStandAloneMuonAOD_*_*', - 'keep *_dimuonsOneTrackAOD_*_*', - 'keep *_dimuonsOneGlobalMuonOneTrackAOD_*_*', - ) -) - -EWK_DimuonSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_DimuonSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) -EWK_DimuonSkimEventContent.outputCommands.extend(EWK_dimuonsEventContent.outputCommands) - -EWK_DimuonSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_dimuonsPath', - 'EWK_dimuonsOneTrackPath') - ) -) - -process.EWK_DimuonSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_DimuonSkimEventContent, - EWK_DimuonSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKDimuonSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('file:testEWKDimuonSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_DimuonSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim.py deleted file mode 100755 index 093538cdbcdec..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim.py +++ /dev/null @@ -1,71 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKElectronSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch1/cms/data/summer09/aodsim/zee/0022/E0869C04-088D-DE11-BFCA-001CC4A6CCE6.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(100) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_ElectronHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Uncomment this to access 8E29 menu and filter on it -#process.EWK_ElectronHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -#process.EWK_ElectronHLTFilter.HLTPaths = ["HLT_Ele10_LW_L1R", "HLT_DoubleEle5_SW_L1R"] -# Uncomment this to filter on 1E31 HLT menu -process.EWK_ElectronHLTFilter.HLTPaths = ["HLT_Ele20_SW_L1R", "HLT_DoubleEle10_SW_L1R"] - -# Electron filter -process.goodElectrons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 20'), - filter = cms.bool(True) -) - -# Skim path -process.EWK_ElectronSkimPath = cms.Path( - process.EWK_ElectronHLTFilter + - process.goodElectrons -) - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_ElectronSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_ElectronSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_ElectronSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_ElectronSkimPath') - ) -) - -process.EWK_ElectronSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_ElectronSkimEventContent, - EWK_ElectronSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKElectronSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('file:testEWKElectronSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_ElectronSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_Drop.py b/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_Drop.py deleted file mode 100644 index eff59150da300..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_Drop.py +++ /dev/null @@ -1,94 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKElectronSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/tmp/ikesisog/3E541A7B-EE86-DE11-BA46-001E682F273A.root' - ) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') - - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_ElectronHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() - -# Uncomment this to access 8E29 menu and filter on it -process.EWK_ElectronHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -process.EWK_ElectronHLTFilter.HLTPaths = ["HLT_Ele15_LW_L1R"] - - -# Electron filter -process.goodElectrons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 30.0'), - filter = cms.bool(True) -) - -# Skim path -process.EWK_ElectronSkimPath = cms.Path( - process.EWK_ElectronHLTFilter + - process.goodElectrons -) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_ElectronSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_ElectronSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_ElectronSkimEventContent.outputCommands.extend( - cms.untracked.vstring('drop *', - "keep recoSuperClusters_*_*_*", - "keep *_gsfElectrons_*_*", - "keep recoGsfTracks_electronGsfTracks_*_*", - "keep *_gsfElectronCores_*_*", - "keep *_correctedHybridSuperClusters_*_*", - "keep *_correctedMulti5x5SuperClustersWithPreshower_*_*", - "keep edmTriggerResults_*_*_*", - "keep recoCaloMETs_*_*_*", - "keep recoMETs_*_*_*", - "keep *_particleFlow_electrons_*", - "keep *_pfMet_*_*", - "keep *_multi5x5SuperClusterWithPreshower_*_*", - "keep recoVertexs_*_*_*", - "keep *_hltTriggerSummaryAOD_*_*", - "keep floatedmValueMap_*_*_*", - "keep recoBeamSpot_*_*_*" ) -) - -EWK_ElectronSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_ElectronSkimPath') - ) -) - -process.EWK_ElectronSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_ElectronSkimEventContent, - EWK_ElectronSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKSKIMESEL'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWKElectronSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_ElectronSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_NoDrop.py b/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_NoDrop.py deleted file mode 100644 index 58f7ba4be3c8d..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_ElectronSkim_NoDrop.py +++ /dev/null @@ -1,75 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKElectronSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/tmp/ikesisog/3E541A7B-EE86-DE11-BA46-001E682F273A.root' - ) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') - - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_ElectronHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() - -# Uncomment this to access 8E29 menu and filter on it -process.EWK_ElectronHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -process.EWK_ElectronHLTFilter.HLTPaths = ["HLT_Ele15_LW_L1R"] - - -# Electron filter -process.goodElectrons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 30.0'), - filter = cms.bool(True) -) - -# Skim path -process.EWK_ElectronSkimPath = cms.Path( - process.EWK_ElectronHLTFilter + - process.goodElectrons -) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * - -EWK_ElectronSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_ElectronSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_ElectronSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_ElectronSkimPath') - ) -) - -process.EWK_ElectronSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_ElectronSkimEventContent, - EWK_ElectronSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKSKIMESEL'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWKElectronSkim.root') -) - -process.outpath = cms.EndPath(process.EWK_ElectronSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_HighPtMuSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_HighPtMuSkim.py deleted file mode 100755 index f1041c72d6027..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_HighPtMuSkim.py +++ /dev/null @@ -1,69 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKHighPtMuSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch2/users/fabozzi/spring10/zmm/38262142-DF46-DF11-8238-0030487C6A90.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('GR_R_35X_V6::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# Muon filter -process.goodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('pt > 15.0 && ( isGlobalMuon=1 || isTrackerMuon=1)'), - filter = cms.bool(True) -) - -# dxy filter on good muons -process.dxyFilteredMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("goodMuons"), - cut = cms.string('abs(innerTrack().dxy)<1.0'), - filter = cms.bool(True) -) - -# Skim path -process.EWK_HighPtMuSkimPath = cms.Path( - process.goodMuons * - process.dxyFilteredMuons -) - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_MuSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_MuSkimEventContent.outputCommands.extend(RECOEventContent.outputCommands) - -EWK_MuSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_HighPtMuSkimPath') - ) -) - -process.EWK_MuSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_MuSkimEventContent, - EWK_MuSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKHighPtMuSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWK_HighPtMuSkim_SD_Mu.root') -) - -process.outpath = cms.EndPath(process.EWK_MuSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_MuSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_MuSkim.py deleted file mode 100755 index 7690cec51b2cf..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_MuSkim.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKMuSkim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch2/users/fabozzi/8039A1DC-9A5B-DF11-A15E-001A6478706C.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('GR_R_35X_V6::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_MuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Uncomment this to access 8E29 menu and filter on it -#process.EWK_MuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -#process.EWK_MuHLTFilter.HLTPaths = ["HLT_Mu3", "HLT_DoubleMu3"] -# Uncomment this to filter on 1E31 HLT menu -process.EWK_MuHLTFilter.HLTPaths = ["HLT_L1Mu20", "HLT_L2Mu9", "HLT_Mu9", "HLT_DoubleMu3"] - -# Skim path -process.EWK_MuSkimPath = cms.Path( - process.EWK_MuHLTFilter -) - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_MuSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_MuSkimEventContent.outputCommands.extend(AODEventContent.outputCommands) - -EWK_MuSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_MuSkimPath') - ) -) - -process.EWK_MuSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_MuSkimEventContent, - EWK_MuSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKMuSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWK_MuSkim_SD_Mu.root') -) - -process.outpath = cms.EndPath(process.EWK_MuSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_MuSkimFirstCollisions.py b/ElectroWeakAnalysis/Skimming/test/EWK_MuSkimFirstCollisions.py deleted file mode 100755 index 72def53162cf5..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_MuSkimFirstCollisions.py +++ /dev/null @@ -1,189 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKMuSkimFirstCollisions") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - -### files at - -## - -"rfio:/castor/cern.ch/cms/store/data/Commissioning10/MinimumBias/RECO/v8/000/133/446/FE7241BD-EC49-DF11-8E75-001D09F29146.root", - - - ) -) -# to handle some format problem with some of the first CMS collsion runs - -process.source.inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*", "drop L1GlobalTriggerObjectMapRecord_hltL1GtObjectMap__HLT") - - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 10000 - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('GR_R_35X_V6::All') -#process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_MuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Uncomment this to access 8E29 menu and filter on it -process.EWK_MuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -process.EWK_MuHLTFilter.HLTPaths = [ - "HLT_MinBiasBSC", - "HLT_L1Mu", "HLT_L1MuOpen", "HLT_L1Mu20", - "HLT_L2Mu9", "HLT_L2Mu11", - "HLT_Mu5", "HLT_Mu9" - ] - -# Uncomment this to filter on 1E31 HLT menu -#process.EWK_MuHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_DoubleMu3"] - -process.load ('L1TriggerConfig.L1GtConfigProducers.L1GtTriggerMaskTechTrigConfig_cff') -process.load('HLTrigger/HLTfilters/hltLevel1GTSeed_cfi') -process.hltLevel1GTSeed.L1TechTriggerSeeding = cms.bool(True) -process.hltLevel1GTSeed.L1SeedsLogicalExpression = cms.string('0 AND (40 OR 41) AND NOT (36 OR 37 OR 38 OR 39)') - -process.options = cms.untracked.PSet( - SkipEvent = cms.untracked.vstring('ProductNotFound'), - wantSummary = cms.untracked.bool(True) - ) - -# Merge CaloMuons into the collection of reco::Muons -#from RecoMuon.MuonIdentification.calomuons_cfi import calomuons; -#process.muons = cms.EDProducer("CaloMuonMerger", -# muons = cms.InputTag("muons"), # half-dirty thing. it works aslong as we're the first module using muons in the path -# caloMuons = cms.InputTag("calomuons"), -# minCaloCompatibility = calomuons.minCaloCompatibility) - -## And re-make isolation, as we can't use the one in AOD because our collection is different -#process.load('RecoMuon.MuonIsolationProducers.muIsolation_cff') - - - -# Muon filter -process.goodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('pt > 10.0 && ( isGlobalMuon=1 || (isTrackerMuon =1 && numberOfMatches>=1 ))'), # also || (isCaloMuon=1) ?? - filter = cms.bool(True) -) - -process.rmCosmicFromGoodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("goodMuons"), - cut = cms.string('abs(innerTrack().dxy)<1.0'), - filter = cms.bool(True) -) - - -process.goodMuonsPt15 = cms.EDFilter("MuonSelector", - src = cms.InputTag("goodMuons"), - cut = cms.string('(isGlobalMuon=1 || isTrackerMuon =1) && pt > 15.0'), - filter = cms.bool(False) -) - -# Dump of interesting events, with mu pt>15 -process.eventDump = cms.EDAnalyzer( - "EventDumper", - # srcMuons = cms.InputTag("goodMuonsPt15") - ) - - -# require at least two tracks with pt>.5, to hopefully remove further cosmic contaminations -process.tracks = cms.EDFilter("TrackSelector", - src=cms.InputTag("generalTracks"), - cut = cms.string('abs(dxy)<0.5 && pt > 0.5 && hitPattern().numberOfValidPixelHits>0'), - filter = cms.bool(True) -) - -process.tracksFilter = cms.EDFilter("TrackCountFilter", - src = cms.InputTag("tracks"), - minNumber = cms.uint32(1) - ) - - -process.dimuonsAOD = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass > 0'), - decay = cms.string('goodMuons@+ goodMuons@-') -) - - -# For creation of WMuNu Candidates -process.load("ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi") - - - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_MuSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) - -EWK_MuSkimEventContent.outputCommands.extend(FEVTEventContent.outputCommands) - - -EWK_MuSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_MuSkimPath') - ) -) - - -dimuonsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *_dimuonsAOD_*_*', - 'keep *_CosmicFromGoodMuons_*_*', - 'keep recoWMuNuCandidates_*_*_*' - ) - ) - - -EWK_MuSkimEventContent.outputCommands.extend(dimuonsEventContent.outputCommands) - - - -process.EWK_MuSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_MuSkimEventContent, - EWK_MuSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKMuSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133446_1.root') - -) - - - -# Skim path -process.EWK_MuSkimPath = cms.Path( - process.EWK_MuHLTFilter + - process.hltLevel1GTSeed+ - process.goodMuons + - process.rmCosmicFromGoodMuons + -# process.tracks + -# process.tracksFilter + - process.dimuonsAOD + - process.allWMuNus + -# process.goodMuonsPt15 + - process.eventDump - - -) - - -process.outpath = cms.EndPath(process.EWK_MuSkimOutputModule) - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim.py deleted file mode 100644 index 2193fbfa506e5..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim.py +++ /dev/null @@ -1,100 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process name -process = cms.Process("WMuNuAODSkim") - -# Source, events to process -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring ( -# "file:/data4/InclusiveMu15_Summer09-MC_31X_V3_AODSIM-v1/0024/C2F408ED-E181-DE11-8949-0030483344E2.root" - "file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -#process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -# Log information -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(-1) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('ERROR') - ), - debugModules = cms.untracked.vstring('corMetWMuNus') -) - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# Trigger filter (apply if for safety even if it may be redundant on a SD input) -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_WMuNuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -process.EWK_WMuNuHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_DoubleMu3"] -#-> Use the following line for the 8E29 menu: -process.EWK_WMuNuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -#-> Use the following line for the 1E31 menu: -#process.EWK_WMuNuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") - -# Make sure that we have any muon there and optionally apply quality, eta, pt cuts -process.goodMuons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("muons") - , filter = cms.bool(True) - , cut = cms.string('pt>0') - #, cut = cms.string('isGlobalMuon = 1 & abs(eta) < 2.5 & pt > 15') -) - -# For creaton of WMuNu Candidates -process.load("ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi") - -# Main path -process.EWK_WMuNuSkimPath = cms.Path( - process.EWK_WMuNuHLTFilter - * process.goodMuons - * process.allWMuNus -) - -# Choose collections for output -process.load("Configuration.EventContent.EventContent_cff") - -# Write either a full AOD ... -#process.EWK_WMuNuEventContent = cms.PSet(outputCommands=process.AODEventContent.outputCommands) -# ... OR a reduced one with ~ 1/3 of original AOD size -process.EWK_WMuNuEventContent = cms.PSet(outputCommands=cms.untracked.vstring('drop *')) -process.EWK_WMuNuEventContent.outputCommands.extend( - cms.untracked.vstring( - 'keep *_offlineBeamSpot_*_*' - , 'keep *_TriggerResults_*_HLT8E29' - , 'keep *_hltTriggerSummaryAOD_*_HLT8E29' - , 'keep *_muons_*_*' - , 'keep recoTracks_globalMuons_*_*' - , 'keep recoTracks_standAloneMuons_*_*' - , 'keep *_met_*_*' - , 'keep *_corMetGlobalMuons_*_*' - , 'keep *_tcMet_*_*' - , 'keep *_pfMet_*_*' - , 'keep *_antikt5CaloJets_*_*' - , 'keep *_antikt5PFJets_*_*' - , 'keep recoWMuNuCandidates_*_*_*' - ) -) - -# Output -process.EWK_WMuNuSkimOutputModule = cms.OutputModule("PoolOutputModule" - , process.EWK_WMuNuEventContent - , dropMetaDataForDroppedData = cms.untracked.bool(True) - , SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('EWK_WMuNuSkimPath') - ) - , dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKWMunuSkim') - , dataTier = cms.untracked.string('USER') - ) - , fileName = cms.untracked.string('EWK_WMuNu_SubSkim.root') -) - -# End path -process.outpath = cms.EndPath(process.EWK_WMuNuSkimOutputModule) diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim_PrunedTracks.py b/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim_PrunedTracks.py deleted file mode 100644 index b4679dc00315a..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_WMuNu_SubSkim_PrunedTracks.py +++ /dev/null @@ -1,126 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process name -process = cms.Process("WMuNuAODSkim") - -# Source, events to process -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring ( - #"file:/data4/InclusiveMu15_Summer09-MC_31X_V3_AODSIM-v1/0024/C2F408ED-E181-DE11-8949-0030483344E2.root" - "file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -#process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -# Log information -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(-1) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('ERROR') - ), - debugModules = cms.untracked.vstring('corMetWMuNus') -) - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# Trigger filter (apply if for safety even if it may be redundant on a SD input) -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_WMuNuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -process.EWK_WMuNuHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_DoubleMu3"] -#-> Use the following line for the 8E29 menu: -process.EWK_WMuNuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT8E29") -#-> Use the following line for the 1E31 menu: -#process.EWK_WMuNuHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") - -# Make sure that we have any muon there and optionally apply quality, eta, pt cuts -process.goodMuons = cms.EDFilter("CandViewSelector", - src = cms.InputTag("muons") - , filter = cms.bool(True) - , cut = cms.string('pt>0') - #, cut = cms.string('isGlobalMuon = 1 & abs(eta) < 2.5 & pt > 15') -) - -# Tracks filtered -process.goodAODTracks = cms.EDFilter("TrackSelector", - src = cms.InputTag("generalTracks"), - #cut = cms.string('pt > 5.0 & numberOfValidHits>7') - cut = cms.string('pt > 5.0') -) - -# Electrons filtered -process.goodAODElectrons = cms.EDFilter("GsfElectronSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string('pt > 5.0') -) - -# Photons filtered -process.goodAODPhotons = cms.EDFilter("PhotonSelector", - src = cms.InputTag("photons"), - cut = cms.string('et > 5.0') -) - -# For creaton of WMuNu Candidates -#process.load("ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi") - -# Main path -process.EWK_WMuNuSkimPath = cms.Path( - process.EWK_WMuNuHLTFilter - + process.goodMuons - + process.goodAODTracks - + process.goodAODElectrons - + process.goodAODPhotons - #+ process.allWMuNus -) - -# Choose collections for output -process.load("Configuration.EventContent.EventContent_cff") - -# Write either a full AOD ... -#process.EWK_WMuNuEventContent = cms.PSet(outputCommands=process.AODEventContent.outputCommands) -# ... OR a reduced one with ~ 1/10 of original AOD size -process.EWK_WMuNuEventContent = cms.PSet(outputCommands=cms.untracked.vstring('drop *')) -process.EWK_WMuNuEventContent.outputCommands.extend( - cms.untracked.vstring( - 'keep *_offlineBeamSpot_*_*' - , 'keep *_TriggerResults_*_HLT8E29' - , 'keep *_hltTriggerSummaryAOD_*_HLT8E29' - , 'keep *_muons_*_*' - , 'keep recoTracks_globalMuons_*_*' - , 'keep recoTracks_standAloneMuons_*_*' - , 'keep *_met_*_*' - , 'keep *_corMetGlobalMuons_*_*' - , 'keep *_tcMet_*_*' - , 'keep *_pfMet_*_*' - , 'keep *_antikt5CaloJets_*_*' - , 'keep *_antikt5PFJets_*_*' - #### - , 'keep *_goodAODTracks_*_*' - , 'keep *_goodAODElectrons_*_*' - , 'keep *_goodAODPhotons_*_*' - #, 'keep recoWMuNuCandidates_*_*_*' - ) -) - -# Output -process.EWK_WMuNuSkimOutputModule = cms.OutputModule("PoolOutputModule" - , process.EWK_WMuNuEventContent - , dropMetaDataForDroppedData = cms.untracked.bool(True) - , SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('EWK_WMuNuSkimPath') - ) - , dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKWMunuSkim') - , dataTier = cms.untracked.string('USER') - ) - , fileName = cms.untracked.string('EWK_WMuNu_SubSkim.root') -) - -# End path -process.outpath = cms.EndPath(process.EWK_WMuNuSkimOutputModule) diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_WZSkim.py b/ElectroWeakAnalysis/Skimming/test/EWK_WZSkim.py deleted file mode 100755 index 92c16afb57a21..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_WZSkim.py +++ /dev/null @@ -1,120 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EWKWZSkim") - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) -process.options.FailPath = cms.untracked.vstring('ProductNotFound') - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch2/users/fabozzi/spring10/wmn/24BF0D12-DF46-DF11-BA71-001D0968F2F6.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('START36_V8::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# HLT filter -import HLTrigger.HLTfilters.hltHighLevel_cfi -process.EWK_MuHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -process.EWK_MuHLTFilter.HLTPaths = ["HLT_Mu9"] - -# Muon candidates filters -process.goodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('pt > 20 && abs(eta)<2.4 && isGlobalMuon = 1 && isTrackerMuon = 1 && isolationR03().sumPt<3.0'), - filter = cms.bool(True) -) - -# dxy filter on good muons -process.dxyFilteredMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("goodMuons"), - cut = cms.string('abs(innerTrack().dxy)<1.0'), - filter = cms.bool(True) -) - -# Z->mumu candidates -process.dimuons = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(True), - cut = cms.string('mass > 60'), - decay = cms.string("dxyFilteredMuons@+ dxyFilteredMuons@-") -) - -# Z filters -process.dimuonsFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("dimuons"), - minNumber = cms.uint32(1) -) - -# WMuNu candidates -process.load("ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi") -# WMuNu candidates selectors -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") - -process.seltcMet.JetTag = cms.untracked.InputTag("ak5CaloJets") -process.seltcMet.TrigTag = cms.untracked.InputTag("TriggerResults::HLT") -process.seltcMet.IsCombinedIso = cms.untracked.bool(True) -process.seltcMet.IsoCut03 = cms.untracked.double(0.15) - -process.selpfMet.JetTag = cms.untracked.InputTag("ak5CaloJets") -process.selpfMet.TrigTag = cms.untracked.InputTag("TriggerResults::HLT") -process.selpfMet.IsCombinedIso = cms.untracked.bool(True) -process.selpfMet.IsoCut03 = cms.untracked.double(0.15) - -# Skim paths -process.EWK_dimuonsPath = cms.Path( - process.EWK_MuHLTFilter * - process.goodMuons * - process.dxyFilteredMuons * - process.dimuons * - process.dimuonsFilter - ) - -process.EWK_tcMetWMuNusPath = cms.Path( - process.EWK_MuHLTFilter * - process.tcMetWMuNus * - process.seltcMet -) - -process.EWK_pfMetWMuNusPath = cms.Path( - process.EWK_MuHLTFilter * - process.pfMetWMuNus * - process.selpfMet -) - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EWK_WZSkimEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -EWK_WZSkimEventContent.outputCommands.extend(FEVTEventContent.outputCommands) - -EWK_WZSkimEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'EWK_dimuonsPath', - 'EWK_tcMetWMuNusPath', - 'EWK_pfMetWMuNusPath') - ) -) - -process.EWK_WZSkimOutputModule = cms.OutputModule("PoolOutputModule", - EWK_WZSkimEventContent, - EWK_WZSkimEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('EWKWZSkim'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('EWK_WZSkim_SD_Mu.root') -) - -process.outpath = cms.EndPath(process.EWK_WZSkimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/EWK_ZMuMuSubskim.py b/ElectroWeakAnalysis/Skimming/test/EWK_ZMuMuSubskim.py deleted file mode 100755 index 609b1de566de8..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/EWK_ZMuMuSubskim.py +++ /dev/null @@ -1,38 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TestZMuMuSubskim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch2/users/fabozzi/spring10/zmm/38262142-DF46-DF11-8238-0030487C6A90.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('START37_V1A::All') -process.GlobalTag.globaltag = cms.string('MC_3XY_V26::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -############ -## no MC truth and on data -process.load("ElectroWeakAnalysis.Skimming.zMuMu_SubskimPaths_cff") - -# Output module configuration -process.load("ElectroWeakAnalysis.Skimming.zMuMuSubskimOutputModule_cfi") -process.zMuMuSubskimOutputModule.fileName = 'testZMuMuSubskim.root' - -############ -# MC truth matching sequence -#process.load("ElectroWeakAnalysis.Skimming.zMuMu_SubskimPathsWithMCTruth_cff") -#process.zMuMuSubskimOutputModule.outputCommands.extend(process.mcEventContent.outputCommands) -############ - -process.outpath = cms.EndPath(process.zMuMuSubskimOutputModule) - - diff --git a/ElectroWeakAnalysis/Skimming/test/dimuonsSkim.py b/ElectroWeakAnalysis/Skimming/test/dimuonsSkim.py deleted file mode 100755 index 4b0d8a46ec0ed..0000000000000 --- a/ElectroWeakAnalysis/Skimming/test/dimuonsSkim.py +++ /dev/null @@ -1,29 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TestDimuonReco") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/scratch2/users/fabozzi/spring10/zmm/38262142-DF46-DF11-8238-0030487C6A90.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(100) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('START3X_V26::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.load("ElectroWeakAnalysis.Skimming.dimuons_SkimPaths_cff") - -# Output module configuration -process.load("ElectroWeakAnalysis.Skimming.dimuonsOutputModule_cfi") -process.dimuonsOutputModule.fileName = 'file:testDimuonSkim.root' - -process.outpath = cms.EndPath(process.dimuonsOutputModule) - - diff --git a/ElectroWeakAnalysis/Utilities/BuildFile.xml b/ElectroWeakAnalysis/Utilities/BuildFile.xml deleted file mode 100644 index bb6b2517605c7..0000000000000 --- a/ElectroWeakAnalysis/Utilities/BuildFile.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/ElectroWeakAnalysis/Utilities/README b/ElectroWeakAnalysis/Utilities/README deleted file mode 100644 index 83b3231b463bc..0000000000000 --- a/ElectroWeakAnalysis/Utilities/README +++ /dev/null @@ -1,229 +0,0 @@ ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -UTILITIES in ElectroWeakAnalysis/Utilities: ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -IMPORTANT BEFORE COMPILATION/LINK: From the 330 series on, full LHAPDF libraries are -shipped with CMSSW. However, the default libraries used in the release are always -the "light" ones, which are very slow for PDF reweighting. In order to run fast, -you should execute: - 1) scram setup lhapdffull - 2) touch $CMSSW_BASE/src/ElectroWeakAnalysis/Utilities/BuildFile.xml - 3) cmsenv - 4) scram b - -If you prefer to use your own LHAPDF library and files, assumed to be installed -under /usr/local, then do: - 1) Edit the file $CMSSW_BASE/config/toolbox/$SCRAM_ARCH/tools/selected/lhapdf.xml - 2.a) In that file, change the default for LHAPDF_BASE to "/usr/local" - 2.b) Change also the field "version" in order to match your insalled version - 3) scram setup lhapdf (and check that environment variables point to /usr/local/...) - 4) touch $CMSSW_BASE/src/ElectroWeakAnalysis/Utilities/BuildFile.xml - 5) cmsenv - 6) scram b - -src/PdfWeightProducer.cc -=========================== -- Writes into the data structure a std::vector containing the LHAPDF weights - PDF_user(i)/PDF__in_generated_sample for each event, where - PDF_user(i) corresponds to the PDF set chosen by the user in the configuration file - and i runs over the total number of members in the set. These weights can be - easily used later to assign systematics. Example of usage: - - # Produce PDF weights (maximum is 3) - process.pdfWeights = cms.EDProducer("PdfWeightProducer", - # Fix POWHEG if buggy (this PDF set will also appear on output, - # so only two more PDF sets can be added in PdfSetNames if not "") - #FixPOWHEG = cms.untracked.string("cteq66.LHgrid"), - GenTag = cms.untracked.InputTag("genParticles"), - PdfInfoTag = cms.untracked.InputTag("generator"), - PdfSetNames = cms.untracked.vstring( - "cteq66.LHgrid" - , "MRST2006nnlo.LHgrid" - , "NNPDF10_100.LHgrid" - ) - ) - -- A typical application is the determination of the PDF systematics. This is - implemented in "src/PdfSystematicsAnalyzer.cc". This analyzer counts the - processed events using PDF re-weighting, and assigns systematic - uncertainties on the rate and on the acceptance according to the recipe - described in hep-ph/0605240. Usage: - - # Collect uncertainties for rate and acceptance - process.pdfSystematics = cms.EDFilter("PdfSystematicsAnalyzer", - SelectorPath = cms.untracked.string('pdfana'), # put here the selection path - PdfWeightTags = cms.untracked.VInputTag( - "pdfWeights:cteq66" - , "pdfWeights:MRST2006nnlo" - , "pdfWeights:NNPDF10" - ) - ) - NOTE: no underscores can be written in a CMSSW product, so NNPDF products will - not keep the last suffix from the original name ("_100" missing in this case). - -- A test example for these utilities is "test/PdfSystematicsAnalyzer.py". There, - one counts re-weighted events before and after selection, which gives immediate - access to the determination of PDF uncertainties on rate and acceptance for the - given process under study. - - -src/ISRWeightProducer.cc (IN PROGRESS) -============================ -- Writes into the data structure a product containing the event weight ("double") - to be applied to obtain an estimate of variations due to a modification of the - Z (or W) pt spectrum at the generator level. The input weights as a function - of the boson Pt are proovided via vectors in the configuration file. - Example of usage: - - # Produce event weights according to generated boson Pt - # Example corresponds to approximate weights to study - # systematic effects due to ISR uncertainties (Z boson) - process.isrWeight = cms.EDProducer("ISRWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), - ISRBinEdges = cms.untracked.vdouble( - 0., 1., 2., 3., 4., 5., 6., 7., 8., 9. - , 10., 11., 12., 13., 14., 15., 16., 17., 18., 19. - , 20., 21., 22., 23., 24., 25., 26., 27., 28., 29. - , 30., 31., 32., 33., 34., 35., 36., 37., 38., 39. - , 40., 41., 42., 43., 44., 45., 46., 47., 48., 49. - , 999999. - ), - PtWeights = cms.untracked.vdouble( - 0.800665, 0.822121, 0.851249, 0.868285, 0.878733 - , 0.953853, 0.928108, 0.982021, 1.00659 , 1.00648 - , 1.03218 , 1.04924 , 1.03621 , 1.08743 , 1.01951 - , 1.10519 , 0.984263, 1.04853 , 1.06724 , 1.10183 - , 1.0503 , 1.13162 , 1.03837 , 1.12936 , 0.999173 - , 1.01453 , 1.11435 , 1.10545 , 1.07199 , 1.04542 - , 1.00828 , 1.0822 , 1.09667 , 1.16144 , 1.13906 - , 1.27974 , 1.14936 , 1.23235 , 1.06667 , 1.06363 - , 1.14225 , 1.22955 , 1.12674 , 1.03944 , 1.04639 - , 1.13667 , 1.20493 , 1.09349 , 1.2107 , 1.21073 - ) - ) - -- This weight information can be processed via the Analyzer - "src/SimpleSystematicsAnalyzer.cc". A test example is - "test/SimpleSystematicsAnalyzer.py". - -src/WeakEffectsWeightProducer.cc -==================================== -- Writes into the data structure a product containing the event weight ("double") -to take into account Weak effects in Drell-Yan production when using PYTHIA. It -corrects two weak effects: a) effects included in rhof_effective, b) Sudakov-terms -relevant at very high invariant mass. - Example of usage: - process.weakWeight = cms.EDProducer("WeakEffectsWeightProducer", - GenParticlesTag = cms.untracked.InputTag("genParticles"), - RhoParameter = cms.untracked.double(1.004) - ) - -src/FSRWeightProducer.cc (IN PROGRESS) -====================================== -- Writes into the data structure a product containing the event weight ("double") - for estimating uncertainties due to missing final state QED radiation terms in - PYTHIA for W->l nu and Z->ll. It produces the procuct of two factor: - a) Factor to go from soft-collinear approach to exact O(alpha) - (from hep-ph/0303260, only sizable for W, and small in general) - b) Factor to recover missing NLO QED terms - (using alpha(pt**2) instead of alpha(0)) - Example of usage: - - process.fsrWeight = cms.EDProducer("FSRWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), - ) - -- This weight information can be processed via the Analyzer - "src/SimpleSystematicsAnalyzer.cc". A test example is - "test/SimpleSystematicsAnalyzer.py". - - -src/ISRGammaWeightProducer.cc (IN PROGRESS) -=========================================== -- Writes into the data structure a product containing the event weight ("double") - for estimating uncertainties due to missing initial state QED radiation terms in - PYTHIA for W->l nu and Z->ll. It assumes PYTHIA6 as input. The logic is taken - from hep-ph/9812455, which is the one used for QCD matrix-element reweighting - in W/Z inclusive production. PYTHIA8 should already include this QED ISR - reweighting. - Example of usage: - - process.isrGammaWeight = cms.EDProducer("ISRGammaWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), - ) - -- This weight information can be processed via the Analyzer - "src/SimpleSystematicsAnalyzer.cc". A test example is - "test/SimpleSystematicsAnalyzer.py". - -src/DistortedMuonProducer.cc -============================ - -- Writes into the data structure a new reco::Muon collection distorted by - smearing and efficiency effects. This new collection can be easily used as - a realistic Monte Carlo prediction for the latest steps of the analysis. - The input distortions are provided as a function of pseudorapidity via - vectors in the configuration file. To include momentum distortions properly, - we perform a previous matching between reconstructed and generated muons - using standard CMSSW matching utilities. - -- An example showing how to use this code is given in "test/distortedMuons.py". The - relevant lines in the configuration file are: - - process.genMatchMap = cms.EDFilter("MCTruthDeltaRMatcherNew", - src = cms.InputTag("muons"), - matched = cms.InputTag("genParticles"), - distMin = cms.double(0.15), - matchPDGId = cms.vint32(13) - ) - - process.distortedMuons = cms.EDFilter("DistortedMuonProducer", - MuonTag = cms.untracked.InputTag("muons"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - EtaBinEdges = cms.untracked.vdouble(-2.1,2.1), # one more entry than next vectors - ShiftOnOneOverPt = cms.untracked.vdouble(1.e-4), #in [1/GeV] - RelativeShiftOnPt = cms.untracked.vdouble(0.), - UncertaintyOnOneOverPt = cms.untracked.vdouble(2.e-4), #in [1/GeV] - RelativeUncertaintyOnPt = cms.untracked.vdouble(1.e-3), - EfficiencyRatioOverMC = cms.untracked.vdouble(0.99) - ) - -src/DistortedMuonProducerFromDB.cc (under development) -================================== - -- Writes into the data structure a new reco::Muon collection distorted by - scale and smearing effects. This new collection can be easily used as a - realistic Monte Carlo prediction for the latest steps of the analysis. - We perform a previous matching between reconstructed and generated muons - using standard CMSSW matching utilities. The input distortions are taken - from the database. Efficiency effects may be added in the future. - -- An example showing how to use this code is given in "test/distortedMuonsFromDB.py". - The relevant lines in the configuration file, in addition to the specific - PoolDBESSources, are: - - process.distortedMuons = cms.EDFilter("DistortedMuonProducerFromDB", - MuonTag = cms.untracked.InputTag("muons"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - DBScaleLabel = cms.untracked.string(''), - DBDataResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - DBMCResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), - ) - -src/DistortedMETProducer.cc -=========================== - -- Writes into the data structure a new reco::MET collection after distortion. - This new collection can be easily used as a realistic Monte Carlo - prediction for (muon-uncorrected) MET at the latest steps of the analysis. - At present, only the simplest possibility of scaling MET and sum(ET) by - a global scale factor is implemented, and no matching with GenMET has been - tried yet. Example of usage: - - process.distortedMET = cms.EDFilter("DistortedMETProducer", - MetTag = cms.untracked.InputTag("met"), - MetScaleShift = cms.untracked.double(0.1) - ) - -- A simple example showing how to use this code is given in "test/distortedMET.py". - diff --git a/ElectroWeakAnalysis/Utilities/python/Averages_36Invpb.py b/ElectroWeakAnalysis/Utilities/python/Averages_36Invpb.py deleted file mode 100644 index 2b5cfccfc4f56..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/Averages_36Invpb.py +++ /dev/null @@ -1,347 +0,0 @@ -#!/usr/bin/env python -###################################################################################### -## Program to average CMS W and Z cross sections for muons and electrons. -## Run it as: "python Averages_3Invpb.py" -## -## Notes: -## -## a) For 3 inverse pb statistics, all likelihood profiles are already -## Gaussian to a good approximation. Therefore naive combination procedures -## work. -## b) OPTION allows to average electron and muon measurements in two ways: -## -## OPTION = "StatisticalAverage" does the average according to statistical -## uncertainties. Pros: This average is more rigurous from a statistical point -## of view, since some likelihood ansatz is necessary to interpret systematics. -## Cons: This procedure leads to larger "overall" uncertainties at the level of the -## final combination since, for similar statistical uncertainties, measurements -## with larger systematics weight the same as measurements with lower systematics. -## -## OPTION = ""StatisticalPlusSystematicAverage" does the average according -## to the overall uncertainties. It assumes that systematic ucnertainties -## can be treated in a naive Gaussian way and so added quadratically to -## statistical uncertainties in the usual way. Correlations are taken into -## account. A covariancia matrix "V" is built, and the solution X corresponds -## to the minimization of the expression " sum_{ij}(X-x_i V_{ij}^{-1} (X-x_j)", -## where x_i are the electron and muon measurements. Pros: this leads to minimal -## uncertainties for the overall uncertainty (if stat. and syst. are added in -## quadrature, as people usually do). Cons: most of the systematic soruces are -## not statistical in origin, so giving them a 68% CL Gaussian meaning is -## an ad-hoc assumption. -## -###################################################################################### - -from __future__ import division -from __future__ import print_function -from math import * - -OPTION = "StatisticalPlusSystematicAverage" -#OPTION= "StatisticalAverage" - -print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") -print(">>>>> METHOD TO AVERAGE MUONS AND ELECTRONS is: '%s'" % (OPTION)) -print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n") - -###################################################################################### -### INPUTS FOLLOW (they are not the final version) -###################################################################################### - -# Relative luminosity error -relSysLumi = 11e-2 - -# Electron inputs -Wenu = 10.221 -absStatWenu = 0.034 -absCorrWenu = 0.144 # theory uncertainty -absUncWenu = 0.309 -print("\nWenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wenu, absStatWenu, absUncWenu, absCorrWenu, Wenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wenu*absUncWenu)) -print("\tTheory: %.2f %%" % (100./Wenu*absCorrWenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wenu*sqrt(absUncWenu**2+absCorrWenu**2))) - -Wplusenu = 6.045 -absStatWplusenu = 0.026 -absCorrWplusenu = 0.097 -absUncWplusenu = 0.187 -print("\nWplusenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wplusenu, absStatWplusenu, absUncWplusenu, absCorrWplusenu, Wplusenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wplusenu*absUncWplusenu)) -print("\tTheory: %.2f %%" % (100./Wplusenu*absCorrWplusenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wplusenu*sqrt(absUncWplusenu**2+absCorrWplusenu**2))) - -Wminusenu = 4.196 -absStatWminusenu = 0.022 -absCorrWminusenu = 0.073 # theory uncertainty -absUncWminusenu = 0.130 -print("\nWminusenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wminusenu, absStatWminusenu, absUncWminusenu, absCorrWminusenu, Wminusenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wminusenu*absUncWminusenu)) -print("\tTheory: %.2f %%" % (100./Wminusenu*absCorrWminusenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wminusenu*sqrt(absUncWminusenu**2+absCorrWminusenu**2))) - -Zee = 0.9892 -absStatZee = 0.0109 -absCorrZee = 0.01715 # theory uncertainty -absUncZee = 0.0446 -print("\nZee cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Zee, absStatZee, absUncZee, absCorrZee, Zee*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Zee*absUncZee)) -print("\tTheory: %.2f %%" % (100./Zee*absCorrZee)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Zee*sqrt(absUncZee**2+absCorrZee**2))) - -Ratioenu = Wplusenu/Wminusenu -absStatRatioenu = 0.0097 -absCorrRatioenu = 0.0306 # theory uncertainty -absUncRatioenu = 0.0453 -print("\nRatioenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (Ratioenu, absStatRatioenu, absUncRatioenu, absCorrRatioenu)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Ratioenu*absUncRatioenu)) -print("\tTheory: %.2f %%" % (100./Ratioenu*absCorrRatioenu)) -print("\tTOTAL: %.2f %%\n" % (100./Ratioenu*sqrt(absUncRatioenu**2+absCorrRatioenu**2))) - -WZe = Wenu/Zee -absStatWZe = 0.1190 -absCorrWZe = 0.1413 # theory uncertainty -absUncWZe = 0.2329 -print("\nWZe cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (WZe, absStatWZe, absUncWZe, absCorrWZe)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./WZe*absUncWZe)) -print("\tTheory: %.2f %%" % (100./WZe*absCorrWZe)) -print("\tTOTAL: %.2f %%\n" % (100./WZe*sqrt(absUncWZe**2+absCorrWZe**2))) - -# Muon inputs -Wmunu = 10.03115 -absStatWmunu = 0.02690 -absCorrWmunu = Wmunu*sqrt(0.018**2+0.015**2) # theory uncertainty -relUncFit = 0.4e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.4e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.1e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3/sqrt(2) # ?? -relUncBkg = 1.5e-2 #sqrt(2.0e-2**2+0.2e-2**2) -absUncWmunu=Wmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -absUncWmunu=Wmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncBkg**2) -print("\nWmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wmunu, absStatWmunu, absUncWmunu, absCorrWmunu, Wmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wmunu*absCorrWmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wmunu*sqrt(absUncWmunu**2+absCorrWmunu**2))) - -Wplusmunu = 5.93821 -absStatWplusmunu = 0.02033 -absCorrWplusmunu = Wplusmunu*sqrt(0.013**2+0.014**2) # theory uncertainty -relUncFit = 1.3e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.4e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.1e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3 -relUncBkg = 1.7e-2 #sqrt(1.7e-2**2+0.2e-2**2) -absUncWplusmunu=Wplusmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -print("\nWplusmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wplusmunu, absStatWplusmunu, absUncWplusmunu, absCorrWplusmunu, Wplusmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wplusmunu*absCorrWplusmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wplusmunu*sqrt(absUncWplusmunu**2+absCorrWplusmunu**2))) - -Wminusmunu = 4.09297 -absStatWminusmunu = 0.01662 -absCorrWminusmunu = Wminusmunu*sqrt(0.019**2+0.013**2) # theory uncertainty -relUncFit = 1.3e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.4e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.1e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3 -relUncBkg = 2.3e-2 #sqrt(2.3e-2**2+0.2e-2**2) -absUncWminusmunu=Wminusmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -print("\nWminusmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wminusmunu, absStatWminusmunu, absUncWminusmunu, absCorrWminusmunu, Wminusmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wminusmunu*absCorrWminusmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wminusmunu*sqrt(absUncWminusmunu**2+absCorrWminusmunu**2))) - -Zmumu = 0.961 # 0.893*1.025*1.01 -absStatZmumu = 0.008 # 0.030*1.025*1.01 -absCorrZmumu = Zmumu*sqrt(0.012**2+0.016**2) # theory uncertainty -relUncEff = 0.5e-2 # pre-triggering -#relUncFit= 0.28e-2 -relUncMomRes = 0.35e-2 -relUncTrigChanges = 0.1e-2 -relUncBkg = 0.28e-2 #sqrt(relUncFit**2+0.2e-2**2) -absUncZmumu=Zmumu*sqrt(relUncEff**2+relUncMomRes**2+relUncBkg**2+relUncTrigChanges**2) -print("\nZmumu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Zmumu, absStatZmumu, absUncZmumu, absCorrZmumu, Zmumu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Pretriggering): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction/fit: %.2f %%" % (100*relUncBkg)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Zmumu*absCorrZmumu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Zmumu*sqrt(absUncZmumu**2+absCorrZmumu**2))) - -Ratiomunu = Wplusmunu/Wminusmunu -absStatRatiomunu = 0.0078 -absCorrRatiomunu = Ratiomunu*sqrt(0.021**2+0.0129**2) # theory uncertainty -relUncEff = 2.8e-2 -relUncMomRes = 0.3e-2 -relUncMCStat = sqrt(2)*1.4e-3 -relUncBkg = 0.7e-2 -absUncRatiomunu = Ratiomunu*sqrt(relUncEff**2+relUncMomRes**2+relUncMCStat**2+relUncBkg**2) -print("\nRatiomunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (Ratiomunu, absStatRatiomunu, absUncRatiomunu, absCorrRatiomunu)) -print(" Systematics >>>>>>>") -print("\tEfficiency(W+ versus W- tests): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Ratiomunu*absCorrRatiomunu)) -print("\tTOTAL: %.2f %%\n" % (100./Ratiomunu*sqrt(absUncRatiomunu**2+absCorrRatiomunu**2))) - -WZmu = Wmunu/Zmumu -absStatWZmu = WZmu*sqrt((absStatWmunu/Wmunu)**2+(absStatZmumu/Zmumu)**2) -absCorrWZmu = WZmu*sqrt(0.011**2+0.0135**2) # theory uncertainty -relUncEffW = 1.3e-2 -relUncMomResW = 0.3e-2 -relUncMomResZ = 0.2e-2 -relSysSubtract = sqrt(relUncEffW**2+relUncMomResW**2+relUncMomResZ**2) -relSysAdd = abs(relUncMomResW-relUncMomResZ) -absUncWZmu = WZmu*sqrt((absUncWmunu/Wmunu)**2 + (absUncZmumu/Zmumu)**2 - relSysSubtract**2 + relSysAdd**2) -print("\nWZmu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (WZmu, absStatWZmu, absUncWZmu, absCorrWZmu)) -print(" STATISTICAL UNCERTAINTY INCLUDES EFFICIENCY (via Zmumu fit)") -print(" Systematics >>>>>>>") -print("\tUncorrelated with electrons: %.2f %%" % (100./WZmu*absUncWZmu)) -print("\tTheory: %.2f %%" % (100./WZmu*absCorrWZmu)) -print("\tTOTAL: %.2f %%\n" % (100./WZmu*sqrt(absUncWZmu**2+absCorrWZmu**2))) - -###################################################################################### -### Utility functions -###################################################################################### - -### -def vbtfXSectionCheck(title, xsection, exsection, sysUnc, sysCor, relSysLumi): - absSysLumi = xsection*relSysLumi - print("VBTF inputs: %s = %.4f +- %.4f (stat.) +- %.4f (exp.) +- %.4f (the.) +- %.4f (lumi) [nb]" % (title, xsection, exsection, sysUnc, sysCor, absSysLumi)) - -### -def vbtfXSectionAverage(title, xsection1, xsection2, exsection1, exsection2, sysUnc1, sysUnc2, sysCor1, sysCor2, relSysLumi): - if OPTION== "StatisticalAverage": - V11 = exsection1**2 - V22 = exsection2**2 - V12 = 0 - else: - V11 = exsection1**2+sysUnc1**2+sysCor1**2 - V22 = exsection2**2+sysUnc2**2+sysCor2**2 - V12 = sysCor1*sysCor2 - - a1 = (V22-V12)/(V11+V22-2*V12) - a2 = (V11-V12)/(V11+V22-2*V12) - average = a1*xsection1 + a2*xsection2 - errstat = sqrt(a1**2*exsection1**2+a2**2*exsection2**2) - errunco = sqrt(a1**2*sysUnc1**2 + a2**2*sysUnc2**2) - errtheo = sqrt(a1**2*sysCor1**2 + a2**2*sysCor2**2 + 2*a1*a2*sysCor1*sysCor2) - errsyst = sqrt(errunco**2+errtheo**2) - - print("VBTF average: %s = %.4f +- %.4f (stat.) [nb]" % (title, average, errstat)) - - absSysLumi = average*relSysLumi - print("\tVBTF systematics (1): +- %.4f (exp) +- %.4f (the) +- %.4f (lumi) [nb]" % (errunco, errtheo, absSysLumi)) - print("\tVBTF systematics (2): +- %.4f (exp+the) +- %.4f (lumi) [nb]" % (errsyst, absSysLumi)) - -### -def vbtfRatioCheck(title, ratio, absStat, sysUnc, sysCor): - print("VBTF inputs: %s = %.4f +- %.4f (stat.) +- %.4f (exp.) +- %.4f (the.)" % (title, ratio, absStat, sysUnc, sysCor)) - -### -def vbtfRatioAverage(title, ratio1, ratio2, eratio1, eratio2, sysUnc1, sysUnc2, sysCor1, sysCor2): - if OPTION== "StatisticalAverage": - V11 = eratio1**2 - V22 = eratio2**2 - V12 = 0 - else: - V11 = eratio1**2+(sysUnc1**2+sysCor1**2) - V22 = eratio2**2+(sysUnc2**2+sysCor2**2) - V12 = sysCor1*sysCor2 - - a1 = (V22-V12)/(V11+V22-2*V12) - a2 = (V11-V12)/(V11+V22-2*V12) - average = a1*ratio1 + a2*ratio2 - errstat = sqrt(a1**2*eratio1**2+a2**2*eratio2**2) - errunco = sqrt(a1**2*sysUnc1**2 + a2**2*sysUnc2**2) - errtheo = sqrt(a1**2*sysCor1**2 + a2**2*sysCor2**2 + 2*a1*a2*sysCor1*sysCor2) - errsyst = sqrt(errunco**2+errtheo**2) - - print("VBTF average: %s = %.4f +- %.4f (stat.)" % (title, average, errstat)) - - print("\tVBTF systematics (1): +- %.4f (exp) +- %.4f (the)" % (errunco, errtheo)) - print("\tVBTF systematics (2): +- %.4f (exp+the)" % (errsyst)) - -###################################################################################### -### MAIN CALLS ... -###################################################################################### - -############################################################# -########## Wlnu total cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W -> munu cross section",Wmunu,absStatWmunu,absUncWmunu,absCorrWmunu,relSysLumi) -vbtfXSectionCheck("W -> enu cross section",Wenu,absStatWenu,absUncWenu,absCorrWenu,relSysLumi) -vbtfXSectionAverage("W -> lnu cross section",Wmunu,Wenu,absStatWmunu,absStatWenu,absUncWmunu,absUncWenu,absCorrWmunu,absCorrWenu,relSysLumi) - -############################################################# -########## Wplus -> lnu cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W+ -> munu cross section",Wplusmunu,absStatWplusmunu,absUncWplusmunu,absCorrWplusmunu,relSysLumi) -vbtfXSectionCheck("W+ -> enu cross section",Wplusenu,absStatWplusenu,absUncWplusenu,absCorrWplusenu,relSysLumi) -vbtfXSectionAverage("W+ -> lnu cross section",Wplusmunu,Wplusenu,absStatWplusmunu,absStatWplusenu,absUncWplusmunu,absUncWplusenu,absCorrWplusmunu,absCorrWplusenu,relSysLumi) - -############################################################# -########## Wminus -> lnu cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W- -> munu cross section",Wminusmunu,absStatWminusmunu,absUncWminusmunu,absCorrWminusmunu,relSysLumi) -vbtfXSectionCheck("W- -> enu cross section",Wminusenu,absStatWminusenu,absUncWminusenu,absCorrWminusenu,relSysLumi) -vbtfXSectionAverage("W- -> lnu cross section",Wminusmunu,Wminusenu,absStatWminusmunu,absStatWminusenu,absUncWminusmunu,absUncWminusenu,absCorrWminusmunu,absCorrWminusenu,relSysLumi) - -############################################################# -########## W+/W- ratio -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfRatioCheck("W+ / W- cross section ratio, muon channel",Ratiomunu,absStatRatiomunu,absUncRatiomunu,absCorrRatiomunu) -vbtfRatioCheck("W+ / W- cross section ratio, electron channel",Ratioenu,absStatRatioenu,absUncRatioenu,absCorrRatioenu) -vbtfRatioAverage("W+ / W- cross section ratio",Ratiomunu,Ratioenu,absStatRatiomunu,absStatRatioenu,absUncRatiomunu,absUncRatioenu,absCorrRatiomunu,absCorrRatioenu) - -############################################################# -########## Z > ll cross section (in 60 < Mll < 120 GeV) -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("Z -> mumu cross section",Zmumu,absStatZmumu,absUncZmumu,absCorrZmumu,relSysLumi) -vbtfXSectionCheck("Z -> ee cross section",Zee,absStatZee,absUncZee,absCorrZee,relSysLumi) -vbtfXSectionAverage("Z -> ll cross section",Zmumu,Zee,absStatZmumu,absStatZee,absUncZmumu,absUncZee,absCorrZmumu,absCorrZee,relSysLumi) - -############################################################# -########## W/Z ratio -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfRatioCheck("W/Z ratio muons",WZmu,absStatWZmu,absUncWZmu,absCorrWZmu) -vbtfRatioCheck("W/Z ratio electrons",WZe,absStatWZe,absUncWZe,absCorrWZe) -vbtfRatioAverage("W/Z ratio",WZmu,WZe,absStatWZmu,absStatWZe,absUncWZmu,absUncWZe,absCorrWZmu,absCorrWZe) diff --git a/ElectroWeakAnalysis/Utilities/python/Averages_3Invpb.py b/ElectroWeakAnalysis/Utilities/python/Averages_3Invpb.py deleted file mode 100644 index d2e1b4973fe52..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/Averages_3Invpb.py +++ /dev/null @@ -1,346 +0,0 @@ -#!/usr/bin/env python -###################################################################################### -## Program to average CMS W and Z cross sections for muons and electrons. -## Run it as: "python Averages_3Invpb.py" -## -## Notes: -## -## a) For 3 inverse pb statistics, all likelihood profiles are already -## Gaussian to a good approximation. Therefore naive combination procedures -## work. -## b) OPTION allows to average electron and muon measurements in two ways: -## -## OPTION = "StatisticalAverage" does the average according to statistical -## uncertainties. Pros: This average is more rigurous from a statistical point -## of view, since some likelihood ansatz is necessary to interpret systematics. -## Cons: This procedure leads to larger "overall" uncertainties at the level of the -## final combination since, for similar statistical uncertainties, measurements -## with larger systematics weight the same as measurements with lower systematics. -## -## OPTION = ""StatisticalPlusSystematicAverage" does the average according -## to the overall uncertainties. It assumes that systematic ucnertainties -## can be treated in a naive Gaussian way and so added quadratically to -## statistical uncertainties in the usual way. Correlations are taken into -## account. A covariancia matrix "V" is built, and the solution X corresponds -## to the minimization of the expression " sum_{ij}(X-x_i V_{ij}^{-1} (X-x_j)", -## where x_i are the electron and muon measurements. Pros: this leads to minimal -## uncertainties for the overall uncertainty (if stat. and syst. are added in -## quadrature, as people usually do). Cons: most of the systematic soruces are -## not statistical in origin, so giving them a 68% CL Gaussian meaning is -## an ad-hoc assumption. -## -###################################################################################### - -from __future__ import division -from __future__ import print_function -from math import * - -OPTION = "StatisticalPlusSystematicAverage" -#OPTION= "StatisticalAverage" - -print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") -print(">>>>> METHOD TO AVERAGE MUONS AND ELECTRONS is: '%s'" % (OPTION)) -print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n") - -###################################################################################### -### INPUTS FOLLOW (they are not the final version) -###################################################################################### - -# Relative luminosity error -relSysLumi = 11e-2 - -# Electron inputs -Wenu = 10.1447 -absStatWenu = 0.1123 -absCorrWenu = Wenu*sqrt(0.008**2+0.0116**2) # theory uncertainty -absUncWenu = 0.5031 -print("\nWenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wenu, absStatWenu, absUncWenu, absCorrWenu, Wenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wenu*absUncWenu)) -print("\tTheory: %.2f %%" % (100./Wenu*absCorrWenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wenu*sqrt(absUncWenu**2+absCorrWenu**2))) - -Wplusenu = 5.9349 -absStatWplusenu = 0.0793 -absCorrWplusenu = Wplusenu*sqrt(0.009**2+0.0133**2) # theory uncertainty -absUncWplusenu = 0.3446 -print("\nWplusenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wplusenu, absStatWplusenu, absUncWplusenu, absCorrWplusenu, Wplusenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wplusenu*absUncWplusenu)) -print("\tTheory: %.2f %%" % (100./Wplusenu*absCorrWplusenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wplusenu*sqrt(absUncWplusenu**2+absCorrWplusenu**2))) - -Wminusenu = 4.1401 -absStatWminusenu = 0.0690 -absCorrWminusenu = Wminusenu*sqrt(0.015**2+0.0090**2) # theory uncertainty -absUncWminusenu = 0.2432 -print("\nWminusenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wminusenu, absStatWminusenu, absUncWminusenu, absCorrWminusenu, Wminusenu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Wminusenu*absUncWminusenu)) -print("\tTheory: %.2f %%" % (100./Wminusenu*absCorrWminusenu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wminusenu*sqrt(absUncWminusenu**2+absCorrWminusenu**2))) - -Zee = 0.9595 -absStatZee = 0.0370 -absCorrZee = Zee*sqrt(0.011**2+0.0134**2) # theory uncertainty -absUncZee = 0.0565 -print("\nZee cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Zee, absStatZee, absUncZee, absCorrZee, Zee*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Zee*absUncZee)) -print("\tTheory: %.2f %%" % (100./Zee*absCorrZee)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Zee*sqrt(absUncZee**2+absCorrZee**2))) - -Ratioenu = Wplusenu/Wminusenu -absStatRatioenu = 0.02883 -absCorrRatioenu = Ratioenu*sqrt(0.017**2+0.0127**2) # theory uncertainty -absUncRatioenu = 0.076 -print("\nRatioenu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (Ratioenu, absStatRatioenu, absUncRatioenu, absCorrRatioenu)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./Ratioenu*absUncRatioenu)) -print("\tTheory: %.2f %%" % (100./Ratioenu*absCorrRatioenu)) -print("\tTOTAL: %.2f %%\n" % (100./Ratioenu*sqrt(absUncRatioenu**2+absCorrRatioenu**2))) - -WZe = Wenu/Zee -absStatWZe = 0.425 -absCorrWZe = WZe*sqrt(0.009**2+0.0103**2) # theory uncertainty -absUncWZe = 0.524 -print("\nWZe cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (WZe, absStatWZe, absUncWZe, absCorrWZe)) -print(" Systematics >>>>>>>") -print("\tUncorrelated with muons: %.2f %%" % (100./WZe*absUncWZe)) -print("\tTheory: %.2f %%" % (100./WZe*absCorrWZe)) -print("\tTOTAL: %.2f %%\n" % (100./WZe*sqrt(absUncWZe**2+absCorrWZe**2))) - -# Muon inputs -Wmunu = 9.922 -absStatWmunu = 0.090 -absCorrWmunu = Wmunu*sqrt(0.011**2+0.0136**2) # theory uncertainty -relUncFit = 1.3e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.5e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.3e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3/sqrt(2) -relUncBkg = sqrt(2.0e-2**2+0.2e-2**2) -absUncWmunu=Wmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -print("\nWmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wmunu, absStatWmunu, absUncWmunu, absCorrWmunu, Wmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wmunu*absCorrWmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wmunu*sqrt(absUncWmunu**2+absCorrWmunu**2))) - -Wplusmunu = 5.844 -absStatWplusmunu = 0.069 -absCorrWplusmunu = Wplusmunu*sqrt(0.013**2+0.0142**2) # theory uncertainty -relUncFit = 1.3e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.5e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.3e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3 -relUncBkg = sqrt(1.7e-2**2+0.2e-2**2) -absUncWplusmunu=Wplusmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -print("\nWplusmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wplusmunu, absStatWplusmunu, absUncWplusmunu, absCorrWplusmunu, Wplusmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wplusmunu*absCorrWplusmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wplusmunu*sqrt(absUncWplusmunu**2+absCorrWplusmunu**2))) - -Wminusmunu = 4.078 -absStatWminusmunu = 0.057 -absCorrWminusmunu = Wminusmunu*sqrt(0.019**2+0.0126**2) # theory uncertainty -relUncFit = 1.3e-2 -relUncPreTrig = 0.5e-2 -relUncSysEff = 0.5e-2 -relUncEff = sqrt(relUncFit**2+relUncPreTrig**2+relUncSysEff**2) -relUncMomRes = 0.3e-2 -relUncRecoil = 0.4e-2 -relUncMCStat = 1.4e-3 -relUncBkg = sqrt(2.3e-2**2+0.2e-2**2) -absUncWminusmunu=Wminusmunu*sqrt(relUncEff**2+relUncMomRes**2+relUncRecoil**2+relUncMCStat**2+relUncBkg**2) -print("\nWminusmunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Wminusmunu, absStatWminusmunu, absUncWminusmunu, absCorrWminusmunu, Wminusmunu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Zfit,Pretrig,Z->W): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tSignal Recoil modeling: %.2f %%" % (100*relUncRecoil)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Wminusmunu*absCorrWminusmunu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Wminusmunu*sqrt(absUncWminusmunu**2+absCorrWminusmunu**2))) - -Zmumu = 0.924 # 0.893*1.025*1.01 -absStatZmumu = 0.031 # 0.030*1.025*1.01 -absCorrZmumu = Zmumu*sqrt(0.012**2+0.0158**2) # theory uncertainty -relUncEff = 0.5e-2 # pre-triggering -relUncFit= 1.0e-2 -relUncMomRes = 0.2e-2 -relUncMCStat = 0.4e-2 -relUncBkg = sqrt(relUncFit**2+0.2e-2**2) -absUncZmumu=Zmumu*sqrt(relUncEff**2+relUncMomRes**2+relUncBkg**2+relUncMCStat**2) -print("\nZmumu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.) +- %.4f (lumi.) [nb]" % (Zmumu, absStatZmumu, absUncZmumu, absCorrZmumu, Zmumu*relSysLumi)) -print(" Systematics >>>>>>>") -print("\tEfficiency(Pretriggering): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction/fit: %.2f %%" % (100*relUncBkg)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Zmumu*absCorrZmumu)) -print("\tTOTAL (LUMI excluded): %.2f %%\n" % (100./Zmumu*sqrt(absUncZmumu**2+absCorrZmumu**2))) - -Ratiomunu = Wplusmunu/Wminusmunu -absStatRatiomunu = 0.026 -absCorrRatiomunu = Ratiomunu*sqrt(0.021**2+0.0119**2) # theory uncertainty -relUncEff = 2.8e-2 -relUncMomRes = 0.3e-2 -relUncMCStat = sqrt(2)*1.4e-3 -relUncBkg = 0.7e-2 -absUncRatiomunu = Ratiomunu*sqrt(relUncEff**2+relUncMomRes**2+relUncMCStat**2+relUncBkg**2) -print("\nRatiomunu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (Ratiomunu, absStatRatiomunu, absUncRatiomunu, absCorrRatiomunu)) -print(" Systematics >>>>>>>") -print("\tEfficiency(W+ versus W- tests): %.2f %%" % (100*relUncEff)) -print("\tMomentum scale/resolution: %.2f %%" % (100*relUncMomRes)) -print("\tBackground subtraction: %.2f %%" % (100*relUncBkg)) -print("\tMC statistics (acceptance): %.2f %%" % (100*relUncMCStat)) -print("\tTheory: %.2f %%" % (100./Ratiomunu*absCorrRatiomunu)) -print("\tTOTAL: %.2f %%\n" % (100./Ratiomunu*sqrt(absUncRatiomunu**2+absCorrRatiomunu**2))) - -WZmu = Wmunu/Zmumu -absStatWZmu = 0.3675 -absCorrWZmu = WZmu*sqrt(0.011**2+0.0135**2) # theory uncertainty -relUncEffW = 1.3e-2 -relUncMomResW = 0.3e-2 -relUncMomResZ = 0.2e-2 -relSysSubtract = sqrt(relUncEffW**2+relUncMomResW**2+relUncMomResZ**2) -relSysAdd = abs(relUncMomResW-relUncMomResZ) -absUncWZmu = WZmu*sqrt((absUncWmunu/Wmunu)**2 + (absUncZmumu/Zmumu)**2 - relSysSubtract**2 + relSysAdd**2) -print("\nWZmu cross section = %.4f +- %.4f (stat.) +- %.4f (syst.) +- %.4f (theo.)" % (WZmu, absStatWZmu, absUncWZmu, absCorrWZmu)) -print(" STATISTICAL UNCERTAINTY INCLUDES EFFICIENCY (via Zmumu fit)") -print(" Systematics >>>>>>>") -print("\tUncorrelated with electrons: %.2f %%" % (100./WZmu*absUncWZmu)) -print("\tTheory: %.2f %%" % (100./WZmu*absCorrWZmu)) -print("\tTOTAL: %.2f %%\n" % (100./WZmu*sqrt(absUncWZmu**2+absCorrWZmu**2))) - -###################################################################################### -### Utility functions -###################################################################################### - -### -def vbtfXSectionCheck(title, xsection, exsection, sysUnc, sysCor, relSysLumi): - absSysLumi = xsection*relSysLumi - print("VBTF inputs: %s = %.4f +- %.4f (stat.) +- %.4f (exp.) +- %.4f (the.) +- %.4f (lumi) [nb]" % (title, xsection, exsection, sysUnc, sysCor, absSysLumi)) - -### -def vbtfXSectionAverage(title, xsection1, xsection2, exsection1, exsection2, sysUnc1, sysUnc2, sysCor1, sysCor2, relSysLumi): - if OPTION== "StatisticalAverage": - V11 = exsection1**2 - V22 = exsection2**2 - V12 = 0 - else: - V11 = exsection1**2+sysUnc1**2+sysCor1**2 - V22 = exsection2**2+sysUnc2**2+sysCor2**2 - V12 = sysCor1*sysCor2 - - a1 = (V22-V12)/(V11+V22-2*V12) - a2 = (V11-V12)/(V11+V22-2*V12) - average = a1*xsection1 + a2*xsection2 - errstat = sqrt(a1**2*exsection1**2+a2**2*exsection2**2) - errunco = sqrt(a1**2*sysUnc1**2 + a2**2*sysUnc2**2) - errtheo = sqrt(a1**2*sysCor1**2 + a2**2*sysCor2**2 + 2*a1*a2*sysCor1*sysCor2) - errsyst = sqrt(errunco**2+errtheo**2) - - print("VBTF average: %s = %.4f +- %.4f (stat.) [nb]" % (title, average, errstat)) - - absSysLumi = average*relSysLumi - print("\tVBTF systematics (1): +- %.4f (exp) +- %.4f (the) +- %.4f (lumi) [nb]" % (errunco, errtheo, absSysLumi)) - print("\tVBTF systematics (2): +- %.4f (exp+the) +- %.4f (lumi) [nb]" % (errsyst, absSysLumi)) - -### -def vbtfRatioCheck(title, ratio, absStat, sysUnc, sysCor): - print("VBTF inputs: %s = %.4f +- %.4f (stat.) +- %.4f (exp.) +- %.4f (the.)" % (title, ratio, absStat, sysUnc, sysCor)) - -### -def vbtfRatioAverage(title, ratio1, ratio2, eratio1, eratio2, sysUnc1, sysUnc2, sysCor1, sysCor2): - if OPTION== "StatisticalAverage": - V11 = eratio1**2 - V22 = eratio2**2 - V12 = 0 - else: - V11 = eratio1**2+(sysUnc1**2+sysCor1**2) - V22 = eratio2**2+(sysUnc2**2+sysCor2**2) - V12 = sysCor1*sysCor2 - - a1 = (V22-V12)/(V11+V22-2*V12) - a2 = (V11-V12)/(V11+V22-2*V12) - average = a1*ratio1 + a2*ratio2 - errstat = sqrt(a1**2*eratio1**2+a2**2*eratio2**2) - errunco = sqrt(a1**2*sysUnc1**2 + a2**2*sysUnc2**2) - errtheo = sqrt(a1**2*sysCor1**2 + a2**2*sysCor2**2 + 2*a1*a2*sysCor1*sysCor2) - errsyst = sqrt(errunco**2+errtheo**2) - - print("VBTF average: %s = %.4f +- %.4f (stat.)" % (title, average, errstat)) - - print("\tVBTF systematics (1): +- %.4f (exp) +- %.4f (the)" % (errunco, errtheo)) - print("\tVBTF systematics (2): +- %.4f (exp+the)" % (errsyst)) - -###################################################################################### -### MAIN CALLS ... -###################################################################################### - -############################################################# -########## Wlnu total cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W -> munu cross section",Wmunu,absStatWmunu,absUncWmunu,absCorrWmunu,relSysLumi) -vbtfXSectionCheck("W -> enu cross section",Wenu,absStatWenu,absUncWenu,absCorrWenu,relSysLumi) -vbtfXSectionAverage("W -> lnu cross section",Wmunu,Wenu,absStatWmunu,absStatWenu,absUncWmunu,absUncWenu,absCorrWmunu,absCorrWenu,relSysLumi) - -############################################################# -########## Wplus -> lnu cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W+ -> munu cross section",Wplusmunu,absStatWplusmunu,absUncWplusmunu,absCorrWplusmunu,relSysLumi) -vbtfXSectionCheck("W+ -> enu cross section",Wplusenu,absStatWplusenu,absUncWplusenu,absCorrWplusenu,relSysLumi) -vbtfXSectionAverage("W+ -> lnu cross section",Wplusmunu,Wplusenu,absStatWplusmunu,absStatWplusenu,absUncWplusmunu,absUncWplusenu,absCorrWplusmunu,absCorrWplusenu,relSysLumi) - -############################################################# -########## Wminus -> lnu cross section -############################################################# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("W- -> munu cross section",Wminusmunu,absStatWminusmunu,absUncWminusmunu,absCorrWminusmunu,relSysLumi) -vbtfXSectionCheck("W- -> enu cross section",Wminusenu,absStatWminusenu,absUncWminusenu,absCorrWminusenu,relSysLumi) -vbtfXSectionAverage("W- -> lnu cross section",Wminusmunu,Wminusenu,absStatWminusmunu,absStatWminusenu,absUncWminusmunu,absUncWminusenu,absCorrWminusmunu,absCorrWminusenu,relSysLumi) - -############################################################# -########## W+/W- ratio -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfRatioCheck("W+ / W- cross section ratio, muon channel",Ratiomunu,absStatRatiomunu,absUncRatiomunu,absCorrRatiomunu) -vbtfRatioCheck("W+ / W- cross section ratio, electron channel",Ratioenu,absStatRatioenu,absUncRatioenu,absCorrRatioenu) -vbtfRatioAverage("W+ / W- cross section ratio",Ratiomunu,Ratioenu,absStatRatiomunu,absStatRatioenu,absUncRatiomunu,absUncRatioenu,absCorrRatiomunu,absCorrRatioenu) - -############################################################# -########## Z > ll cross section (in 60 < Mll < 120 GeV) -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfXSectionCheck("Z -> mumu cross section",Zmumu,absStatZmumu,absUncZmumu,absCorrZmumu,relSysLumi) -vbtfXSectionCheck("Z -> ee cross section",Zee,absStatZee,absUncZee,absCorrZee,relSysLumi) -vbtfXSectionAverage("Z -> ll cross section",Zmumu,Zee,absStatZmumu,absStatZee,absUncZmumu,absUncZee,absCorrZmumu,absCorrZee,relSysLumi) - -############################################################# -########## W/Z ratio -############################################################# -# -print("\n>>>>>>>>>>>>>>>") -vbtfRatioCheck("W/Z ratio muons",WZmu,absStatWZmu,absUncWZmu,absCorrWZmu) -vbtfRatioCheck("W/Z ratio electrons",WZe,absStatWZe,absUncWZe,absCorrWZe) -vbtfRatioAverage("W/Z ratio",WZmu,WZe,absStatWZmu,absStatWZe,absUncWZmu,absUncWZe,absCorrWZmu,absCorrWZe) diff --git a/ElectroWeakAnalysis/Utilities/python/MetdistMuonCorrections_cff.py b/ElectroWeakAnalysis/Utilities/python/MetdistMuonCorrections_cff.py deleted file mode 100644 index 5725c70f868a5..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/MetdistMuonCorrections_cff.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from TrackingTools.TrackAssociator.default_cfi import * -from TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff import * - -distMetGlobalMuons = cms.EDProducer("MuonMET", - metTypeInputTag = cms.InputTag("CaloMET"), - uncorMETInputTag = cms.InputTag("met"), - muonsInputTag = cms.InputTag("distortedMuons"), - muonMETDepositValueMapInputTag = cms.InputTag("distmuonMETValueMapProducer","muCorrData","") -) diff --git a/ElectroWeakAnalysis/Utilities/python/distMuonMETValueMapProducer_cff.py b/ElectroWeakAnalysis/Utilities/python/distMuonMETValueMapProducer_cff.py deleted file mode 100644 index 8d1c4efc1358f..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/distMuonMETValueMapProducer_cff.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from TrackingTools.TrackAssociator.default_cfi import * -from TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff import * - -distmuonMETValueMapProducer = cms.EDProducer("MuonMETValueMapProducer", - TrackAssociatorParameterBlock, - muonInputTag = cms.InputTag("distortedMuons"), - beamSpotInputTag = cms.InputTag("offlineBeamSpot"), - useTrackAssociatorPositions = cms.bool(True), - useRecHits = cms.bool(False), #if True, will use deposits in 3x3 recHits - useHO = cms.bool(False), #if True, will correct for deposits in HO - isAlsoTkMu = cms.bool(True), #does the mu have to be a tracker mu? - towerEtThreshold = cms.double(0.3), #default MET calculated using towers with Et > 0.5 GeV only - minPt = cms.double(10.0),#min global Mu Pt is 10 GeV - maxEta = cms.double(2.4), #max global |Eta| is 2.4 - maxNormChi2 = cms.double(10.0),#max global chi2/ndof - maxd0 = cms.double(0.2), #max global d0 - minnHits = cms.int32(11), #minimum # of si hits - minnValidStaHits = cms.int32(1) #minimum # of valid hits in the muon system used in the global muon fit -) -distmuonMETValueMapProducer.TrackAssociatorParameters.useEcal = False -distmuonMETValueMapProducer.TrackAssociatorParameters.useHcal = False -distmuonMETValueMapProducer.TrackAssociatorParameters.useHO = False -distmuonMETValueMapProducer.TrackAssociatorParameters.useCalo = True -distmuonMETValueMapProducer.TrackAssociatorParameters.useMuon = False -distmuonMETValueMapProducer.TrackAssociatorParameters.truthMatch = False diff --git a/ElectroWeakAnalysis/Utilities/python/distMuonTCMETValueMapProducer_cff.py b/ElectroWeakAnalysis/Utilities/python/distMuonTCMETValueMapProducer_cff.py deleted file mode 100644 index a3ecb0461e22e..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/distMuonTCMETValueMapProducer_cff.py +++ /dev/null @@ -1,26 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -distmuonTCMETValueMapProducer = cms.EDProducer("MuonTCMETValueMapProducer", - muonInputTag = cms.InputTag("distortedMuons"), - beamSpotInputTag = cms.InputTag("offlineBeamSpot"), - rf_type = cms.int32(1), - pt_min = cms.double(1.), - pt_max = cms.double(100.), - eta_max = cms.double(2.65), - chi2_max = cms.double(5), - nhits_min = cms.double(6), - d0_max = cms.double(0.1), - ptErr_max = cms.double(0.2), - track_quality = cms.vint32(2), - track_algos = cms.vstring(), - d0_muon = cms.double(0.2), - pt_muon = cms.double(10), - eta_muon = cms.double(2.4), - chi2_muon = cms.double(10), - nhits_muon = cms.double(11), - global_muon = cms.bool(True), - tracker_muon = cms.bool(True), - deltaR_muon = cms.double(0.05), - useCaloMuons = cms.bool(False), - muonMinValidStaHits = cms.int32(1) -) diff --git a/ElectroWeakAnalysis/Utilities/python/distPFMET_cfi.py b/ElectroWeakAnalysis/Utilities/python/distPFMET_cfi.py deleted file mode 100644 index 314c19a193a6d..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/distPFMET_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# File: PFMET.cff -# Author: R. Cavanaugh -# Date: 28.10.2008 -# -# Form uncorrected Missing ET from Particle Flow and store into event as a MET -# product - -from RecoMET.METProducers.METSigParams_cfi import * - -distpfMet = cms.EDProducer("PFMETProducer", - parameters = METSignificance_params, - src = cms.InputTag("distortedPFCand"), - alias = cms.string('PFMET'), - globalThreshold = cms.double(0.0), - calculateSignificance = cms.bool(True) - ) diff --git a/ElectroWeakAnalysis/Utilities/python/distTCMET_cfi.py b/ElectroWeakAnalysis/Utilities/python/distTCMET_cfi.py deleted file mode 100644 index d940e1494ded0..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/distTCMET_cfi.py +++ /dev/null @@ -1,49 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# File: TCMET.cff -# Author: R. Remington & F. Golf -# Date: 11.14.2008 -# -# Form Track Corrected MET - -disttcMet = cms.EDProducer("TCMETProducer", - alias = cms.string('TCMET'), - electronInputTag = cms.InputTag("gsfElectrons"), - muonInputTag = cms.InputTag("distortedMuons"), - trackInputTag = cms.InputTag("generalTracks"), - metInputTag = cms.InputTag("met"), - beamSpotInputTag = cms.InputTag("offlineBeamSpot"), - vertexInputTag = cms.InputTag("offlinePrimaryVertices"), - muonDepValueMap = cms.InputTag("distmuonMETValueMapProducer" , "muCorrData"), - tcmetDepValueMap = cms.InputTag("distmuonTCMETValueMapProducer", "muCorrData"), - pt_min = cms.double(1.0), - pt_max = cms.double(100.), - eta_max = cms.double(2.65), - chi2_max = cms.double(5), - nhits_min = cms.double(6), - d0_max = cms.double(0.1), - ptErr_max = cms.double(0.2), - track_quality = cms.vint32(2), - track_algos = cms.vstring(), - isCosmics = cms.bool(False), - rf_type = cms.int32(1), - correctShowerTracks = cms.bool(False), - usePvtxd0 = cms.bool(False), - nMinOuterHits = cms.int32(2), - usedeltaRRejection = cms.bool(False), - deltaRShower = cms.double(0.01), - checkTrackPropagation = cms.bool(False), - radius = cms.double(130.), - zdist = cms.double(314.), - corner = cms.double(1.479), - d0cuta = cms.double(0.015), - d0cutb = cms.double(0.5), - maxd0cut = cms.double(0.3), - chi2_tight_max = cms.double(3.0), - nhits_tight_min = cms.double(11), - ptErr_tight_max = cms.double(0.1), - trackAlgos = cms.vstring("undefAlgorithm", "ctf", "rs", "cosmics", "initialStep", "lowPtTripletStep", "pixelPairStep", "detachedTripletStep"), -) - - - diff --git a/ElectroWeakAnalysis/Utilities/python/fitWZ.py b/ElectroWeakAnalysis/Utilities/python/fitWZ.py deleted file mode 100755 index 66a17468c5fb4..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/fitWZ.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env python - -from __future__ import division -from __future__ import print_function -from math import * -from ROOT import * -from array import array - -gROOT.SetBatch(True) - -# Wmunu inputs -wxsection = 9.922 -ewxsection = 0.090 -zxsection = 0.924 -ezxsection = 0.031 -sysEff = 0.013 -corrZEff = -0.236 - -# FCN definition -def MyChi2 (npar, g, chi2, x, iflag): - # Inverse of (Zyield,sysEff) covariance matrix - s11 = 1./ezxsection**2/(1.-corrZEff**2) - s22 = 1./sysEff**2/(1.-corrZEff**2) - s12 = -corrZEff/(1.-corrZEff**2)/ezxsection/sysEff - - # Build chi2 - wxsFit = x[0]*x[1] - zxsFit = x[1] - effFit = x[2] - chi2[0] = (wxsFit*(1.+effFit)-wxsection)*(wxsFit*(1.+effFit)-wxsection)/ewxsection/ewxsection - chi2[0] += (zxsFit-zxsection)*(zxsFit-zxsection) *s11 - chi2[0] += effFit*effFit * s22 - chi2[0] += 2*(zxsFit-zxsection)*effFit * s12 - -# Minimation, main program -gMinuit = TMinuit() -gMinuit.SetPrintLevel(-1) -gMinuit.SetFCN(MyChi2) -arglist = array('d', 10*[0.]) -ier = Long(0) - -gMinuit.mnparm(0, "W/Z ratio Mu", 10.0, 1.e-3, 0, 0, ier) -gMinuit.mnparm(1, "Zsigma [nb] Mu", 1.0, 1.e-3, 0, 0, ier) -gMinuit.mnparm(2, "DeltaEffRel Mu", 0.0, 1.e-4, 0, 0, ier) - -arglist[0] = 1000.; arglist[1] = 0.1 -gMinuit.mnexcm("MINIMIZE", arglist, 2, ier) - -finalChi2 = 0.0 -gMinuit.mnprin(3,finalChi2) - -par0 = Double(0.0) -errpar0 = Double(0.0) -gMinuit.GetParameter(0,par0,errpar0) - -# Extract statistical uncertainty on W/Z including efficiency uncertainties -print("\n*** Statistical uncertainty on W/Z (including eff. unc.): %.4f" % (errpar0)) diff --git a/ElectroWeakAnalysis/Utilities/python/goldenWmnSelectionVBTF_cfi.py b/ElectroWeakAnalysis/Utilities/python/goldenWmnSelectionVBTF_cfi.py deleted file mode 100644 index 3e6fd92e82ec2..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/goldenWmnSelectionVBTF_cfi.py +++ /dev/null @@ -1,45 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Trigger requirements -import HLTrigger.HLTfilters.hltHighLevel_cfi -wmnHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -wmnHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -wmnHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_Mu11", "HLT_Mu15"] -wmnHLTFilter.throw = cms.bool(False) - -# Cuts for each muon -goodMuonsForW = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon=1 && isTrackerMuon=1 && abs(eta)<2.1 && abs(globalTrack().dxy)<0.2 && pt>20. && globalTrack().normalizedChi2<10 && globalTrack().hitPattern().numberOfValidTrackerHits>10 && globalTrack().hitPattern().numberOfValidMuonHits>0 && globalTrack().hitPattern().numberOfValidPixelHits>0 && numberOfMatches>1 && (isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)<0.15*pt'), - filter = cms.bool(True) -) - -# Cuts on wmn system -wmnCands = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('sqrt((daughter(0).pt+daughter(1).pt)*(daughter(0).pt+daughter(1).pt)-pt*pt)>50'), - decay = cms.string("goodMuonsForW pfMet") -) -wmnFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("wmnCands"), - minNumber = cms.uint32(1) -) - -# Dimuons to be vetoed -goodMuonsForZ = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon=1 && pt>10.'), - filter = cms.bool(True) -) -dyFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("goodMuonsForZ"), - minNumber = cms.uint32(2) -) - -# Path -goldenWmnSequence = cms.Sequence( - wmnHLTFilter * - goodMuonsForW * - wmnCands*wmnFilter * - goodMuonsForZ*~dyFilter -) diff --git a/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionLOOSE_cfi.py b/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionLOOSE_cfi.py deleted file mode 100644 index 64eb29f07f190..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionLOOSE_cfi.py +++ /dev/null @@ -1,42 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy - -# Uncomment to use trigger requirements -#import HLTrigger.HLTfilters.hltHighLevel_cfi -#zmmHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -#zmmHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -#zmmHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_Mu11", "HLT_Mu15", "HLT_DoubleMu3"] -#zmmHLTFilter.throw = cms.bool(False) - -# Cuts for each muon -goodMuons1 = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon=1 && isTrackerMuon=1 && abs(eta)<2.1 && abs(globalTrack().dxy)<0.2 && pt>20. && globalTrack().normalizedChi2<10 && globalTrack().hitPattern().numberOfValidTrackerHits>10 && globalTrack().hitPattern().numberOfValidMuonHits>0 && globalTrack().hitPattern().numberOfValidPixelHits>0 && numberOfMatches>1 && (isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)<0.15*pt'), - filter = cms.bool(True) -) - -# Cuts for each muon -goodMuons2 = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon=1 && pt>20. && abs(eta)<2.4 && abs(globalTrack().dxy)<1.0 && globalTrack().hitPattern().numberOfValidTrackerHits>6'), - filter = cms.bool(True) -) - -# Cuts on dimuon system -zmmCands = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass>60'), - decay = cms.string("goodMuons1 goodMuons2") -) -zmmFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("zmmCands"), - minNumber = cms.uint32(1) -) - -# Selection sequence -goldenZmmSelectionSequence = cms.Sequence( - #zmmHLTFilter * - goodMuons1*goodMuons2 * - zmmCands*zmmFilter -) diff --git a/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionVBTF_cfi.py b/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionVBTF_cfi.py deleted file mode 100644 index cb5342062d9f1..0000000000000 --- a/ElectroWeakAnalysis/Utilities/python/goldenZmmSelectionVBTF_cfi.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy - -# Trigger requirements -import HLTrigger.HLTfilters.hltHighLevel_cfi -zmmHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -zmmHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -zmmHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_Mu11", "HLT_Mu15"] -zmmHLTFilter.throw = cms.bool(False) - -# Cuts for both muons -goodMuons = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('pt>20. && abs(eta)<2.1 && isGlobalMuon=1 && isTrackerMuon=1 && abs(globalTrack().dxy)<0.2 && globalTrack().normalizedChi2<10 && globalTrack().hitPattern().numberOfValidTrackerHits>10 && globalTrack().hitPattern().numberOfValidMuonHits>0 && globalTrack().hitPattern().numberOfValidPixelHits>0 && numberOfMatches>1 && (isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)<0.15*pt'), - filter = cms.bool(True) -) - -# Cuts on dimuon system -zmmCands = cms.EDProducer("CandViewShallowCloneCombiner", - checkCharge = cms.bool(True), - cut = cms.string('mass>60 && mass<120 && charge=0'), - decay = cms.string("goodMuons@+ goodMuons@-") -) -zmmFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("zmmCands"), - minNumber = cms.uint32(1) -) - -# Selection sequence -goldenZmmSelectionSequence = cms.Sequence( - zmmHLTFilter * - goodMuons * - zmmCands*zmmFilter -) diff --git a/ElectroWeakAnalysis/Utilities/src/DistortedMETProducer.cc b/ElectroWeakAnalysis/Utilities/src/DistortedMETProducer.cc deleted file mode 100644 index f0a30a9349487..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/DistortedMETProducer.cc +++ /dev/null @@ -1,81 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/METReco/interface/MET.h" - -// -// class declaration -// -class DistortedMETProducer : public edm::EDProducer { -public: - explicit DistortedMETProducer(const edm::ParameterSet&); - ~DistortedMETProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT > metToken_; - double metScaleShift_; // relative shift (0. => no shift) -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/METReco/interface/METFwd.h" - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMETProducer::DistortedMETProducer(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Input products - metToken_ = - consumes >(pset.getUntrackedParameter("MetTag", edm::InputTag("met"))); - // Distortions in MET in Gev**{-1/2} - metScaleShift_ = pset.getUntrackedParameter("MetScaleShift", 1.e-3); -} - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMETProducer::~DistortedMETProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMETProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMETProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMETProducer::produce(edm::Event& ev, const edm::EventSetup&) { - if (ev.isRealData()) - return; - - // MET collection - edm::Handle > metCollection; - if (!ev.getByToken(metToken_, metCollection)) { - edm::LogError("") << ">>> MET collection does not exist !!!"; - return; - } - edm::RefToBase met = metCollection->refAt(0); - - std::unique_ptr newmetCollection(new reco::METCollection); - - double met_et = met->et() * (1. + metScaleShift_); - double sum_et = met->sumEt() * (1. + metScaleShift_); - double met_phi = met->phi(); - double met_ex = met_et * cos(met_phi); - double met_ey = met_et * sin(met_phi); - reco::Particle::LorentzVector met_p4(met_ex, met_ey, 0., met_et); - reco::Particle::Point met_vtx(0., 0., 0.); - reco::MET* newmet = new reco::MET(sum_et, met_p4, met_vtx); - - newmetCollection->push_back(*newmet); - - ev.put(std::move(newmetCollection)); -} - -DEFINE_FWK_MODULE(DistortedMETProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducer.cc b/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducer.cc deleted file mode 100644 index 17d550474ef0c..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducer.cc +++ /dev/null @@ -1,228 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -#include "MuonAnalysis/MomentumScaleCalibration/interface/MomentumScaleCorrector.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/ResolutionFunction.h" - -// -// class declaration -// -class DistortedMuonProducer : public edm::EDProducer { -public: - explicit DistortedMuonProducer(const edm::ParameterSet&); - ~DistortedMuonProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT genMatchMapToken_; - std::vector etaBinEdges_; - - std::vector shiftOnOneOverPt_; // in [1/GeV] - std::vector relativeShiftOnPt_; - std::vector uncertaintyOnOneOverPt_; // in [1/GeV] - std::vector relativeUncertaintyOnPt_; - - std::vector efficiencyRatioOverMC_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" - -#include -#include - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMuonProducer::DistortedMuonProducer(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Input products - muonToken_ = - consumes >(pset.getUntrackedParameter("MuonTag", edm::InputTag("muons"))); - genMatchMapToken_ = consumes( - pset.getUntrackedParameter("GenMatchMapTag", edm::InputTag("genMatchMap"))); - - // Eta edges - std::vector defEtaEdges; - defEtaEdges.push_back(-999999.); - defEtaEdges.push_back(999999.); - etaBinEdges_ = pset.getUntrackedParameter >("EtaBinEdges", defEtaEdges); - unsigned int ninputs_expected = etaBinEdges_.size() - 1; - - // Distortions in muon momentum - std::vector defDistortion; - defDistortion.push_back(0.); - - shiftOnOneOverPt_ = - pset.getUntrackedParameter >("ShiftOnOneOverPt", defDistortion); // in [1/GeV] - if (shiftOnOneOverPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - shiftOnOneOverPt_.push_back(shiftOnOneOverPt_[0]); - } - } - - relativeShiftOnPt_ = pset.getUntrackedParameter >("RelativeShiftOnPt", defDistortion); - if (relativeShiftOnPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - relativeShiftOnPt_.push_back(relativeShiftOnPt_[0]); - } - } - - uncertaintyOnOneOverPt_ = - pset.getUntrackedParameter >("UncertaintyOnOneOverPt", defDistortion); // in [1/GeV] - if (uncertaintyOnOneOverPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - uncertaintyOnOneOverPt_.push_back(uncertaintyOnOneOverPt_[0]); - } - } - - relativeUncertaintyOnPt_ = pset.getUntrackedParameter >("RelativeUncertaintyOnPt", defDistortion); - if (relativeUncertaintyOnPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - relativeUncertaintyOnPt_.push_back(relativeUncertaintyOnPt_[0]); - } - } - - // Data/MC efficiency ratios - std::vector defEfficiencyRatio; - defEfficiencyRatio.push_back(1.); - efficiencyRatioOverMC_ = - pset.getUntrackedParameter >("EfficiencyRatioOverMC", defEfficiencyRatio); - if (efficiencyRatioOverMC_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - efficiencyRatioOverMC_.push_back(efficiencyRatioOverMC_[0]); - } - } - - // Send a warning if there are inconsistencies in vector sizes !! - bool effWrong = efficiencyRatioOverMC_.size() != ninputs_expected; - bool momWrong = shiftOnOneOverPt_.size() != ninputs_expected || relativeShiftOnPt_.size() != ninputs_expected || - uncertaintyOnOneOverPt_.size() != ninputs_expected || - relativeUncertaintyOnPt_.size() != ninputs_expected; - if (effWrong and momWrong) { - edm::LogError("") - << "WARNING: DistortedMuonProducer : Size of some parameters do not match the EtaBinEdges vector!!"; - } -} - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMuonProducer::~DistortedMuonProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducer::produce(edm::Event& ev, const edm::EventSetup& iSetup) { - if (ev.isRealData()) - return; - - // Muon collection - edm::Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - edm::LogError("") << ">>> Muon collection does not exist !!!"; - return; - } - - edm::Handle genMatchMap; - if (!ev.getByToken(genMatchMapToken_, genMatchMap)) { - edm::LogError("") << ">>> Muon-GenParticle match map does not exist !!!"; - return; - } - - unsigned int muonCollectionSize = muonCollection->size(); - - std::unique_ptr newmuons(new reco::MuonCollection); - - for (unsigned int i = 0; i < muonCollectionSize; i++) { - edm::RefToBase mu = muonCollection->refAt(i); - - double ptgen = mu->pt(); - double etagen = mu->eta(); - reco::GenParticleRef gen = (*genMatchMap)[mu]; - if (!gen.isNull()) { - ptgen = gen->pt(); - etagen = gen->eta(); - LogTrace("") << ">>> Muon-GenParticle match found; ptmu= " << mu->pt() << ", ptgen= " << ptgen; - } else { - LogTrace("") << ">>> MUON-GENPARTICLE MATCH NOT FOUND!!!"; - } - - // Initialize parameters - double effRatio = 0.; - double shift1 = 0.; - double shift2 = 0.; - double sigma1 = 0.; - double sigma2 = 0.; - - // Find out which eta bin should be used - unsigned int nbins = etaBinEdges_.size() - 1; - unsigned int etaBin = nbins; - if (etagen > etaBinEdges_[0] && etagen < etaBinEdges_[nbins]) { - for (unsigned int j = 1; j <= nbins; ++j) { - if (etagen > etaBinEdges_[j]) - continue; - etaBin = j - 1; - break; - } - } - if (etaBin < nbins) { - LogTrace("") << ">>> etaBin: " << etaBin << ", for etagen =" << etagen; - } else { - // Muon is rejected if outside the considered eta range - LogTrace("") << ">>> Muon outside eta range: reject it; etagen = " << etagen; - continue; - } - - // Set shifts - shift1 = shiftOnOneOverPt_[etaBin]; - shift2 = relativeShiftOnPt_[etaBin]; - LogTrace("") << "\tshiftOnOneOverPt= " << shift1 * 100 << " [%]"; - LogTrace("") << "\trelativeShiftOnPt= " << shift2 * 100 << " [%]"; - - // Set resolutions - sigma1 = uncertaintyOnOneOverPt_[etaBin]; - sigma2 = relativeUncertaintyOnPt_[etaBin]; - LogTrace("") << "\tuncertaintyOnOneOverPt= " << sigma1 << " [1/GeV]"; - LogTrace("") << "\trelativeUncertaintyOnPt= " << sigma2 * 100 << " [%]"; - - // Set efficiency ratio - effRatio = efficiencyRatioOverMC_[etaBin]; - LogTrace("") << "\tefficiencyRatioOverMC= " << effRatio; - - // Reject muons according to efficiency ratio - double rndf = CLHEP::RandFlat::shoot(); - if (rndf > effRatio) - continue; - - // Gaussian Random numbers for smearing - double rndg1 = CLHEP::RandGauss::shoot(); - double rndg2 = CLHEP::RandGauss::shoot(); - - // New muon - double ptmu = mu->pt(); - ptmu += ptgen * (shift1 * ptgen + shift2 + sigma1 * rndg1 * ptgen + sigma2 * rndg2); - reco::Muon* newmu = mu->clone(); - newmu->setP4(reco::Particle::PolarLorentzVector(ptmu, mu->eta(), mu->phi(), mu->mass())); - newmuons->push_back(*newmu); - } - - ev.put(std::move(newmuons)); -} - -DEFINE_FWK_MODULE(DistortedMuonProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducerFromDB.cc b/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducerFromDB.cc deleted file mode 100644 index 6709f7928d129..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/DistortedMuonProducerFromDB.cc +++ /dev/null @@ -1,132 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" - -#include "MuonAnalysis/MomentumScaleCalibration/interface/MomentumScaleCorrector.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/ResolutionFunction.h" - -// -// class declaration -// -class DistortedMuonProducerFromDB : public edm::EDProducer { -public: - explicit DistortedMuonProducerFromDB(const edm::ParameterSet&); - ~DistortedMuonProducerFromDB() override; - -private: - void beginRun(const edm::Run&, const edm::EventSetup&) override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT > muonToken_; - - std::string dbScaleLabel_; - std::string dbDataResolutionLabel_; - std::string dbMCResolutionLabel_; - - std::unique_ptr momCorrector_; - std::unique_ptr momResolutionData_; - std::unique_ptr momResolutionMC_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" - -#include - -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "CondFormats/RecoMuonObjects/interface/MuScleFitDBobject.h" -#include "CondFormats/DataRecord/interface/MuScleFitDBobjectRcd.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/BaseFunction.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/Functions.h" - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMuonProducerFromDB::DistortedMuonProducerFromDB(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Input products - muonToken_ = - consumes >(pset.getUntrackedParameter("MuonTag", edm::InputTag("muons"))); - dbScaleLabel_ = pset.getUntrackedParameter("DBScaleLabel", "scale"); - dbDataResolutionLabel_ = pset.getUntrackedParameter("DBDataResolutionLabel", "datareso"); - dbMCResolutionLabel_ = pset.getUntrackedParameter("DBMCResolutionLabel", "mcreso"); -} - -///////////////////////////////////////////////////////////////////////////////////// -DistortedMuonProducerFromDB::~DistortedMuonProducerFromDB() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducerFromDB::beginRun(const edm::Run&, const edm::EventSetup& iSetup) { - edm::ESHandle dbObject1; - iSetup.get().get(dbScaleLabel_, dbObject1); - momCorrector_ = std::make_unique(dbObject1.product()); - - LogTrace("") << ">>> Using database for momentum scale corrections !!"; - - edm::ESHandle dbObject2; - iSetup.get().get(dbDataResolutionLabel_, dbObject2); - momResolutionData_ = std::make_unique(dbObject2.product()); - - edm::ESHandle dbObject3; - iSetup.get().get(dbMCResolutionLabel_, dbObject3); - momResolutionMC_ = std::make_unique(dbObject3.product()); - - LogTrace("") << ">>> Using database for momentum resolution corrections !!"; -} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducerFromDB::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedMuonProducerFromDB::produce(edm::Event& ev, const edm::EventSetup& iSetup) { - if (ev.isRealData()) - return; - - // Muon collection - edm::Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - edm::LogError("") << ">>> Muon collection does not exist !!!"; - return; - } - unsigned int muonCollectionSize = muonCollection->size(); - - std::unique_ptr newmuons(new reco::MuonCollection); - - for (unsigned int i = 0; i < muonCollectionSize; i++) { - edm::RefToBase mu = muonCollection->refAt(i); - - // Set shift - double shift = (*momCorrector_)(*mu) - mu->pt(); - LogTrace("") << "\tmomentumScaleShift= " << shift << " [GeV]"; - - // Set resolutions - double sigma = pow(momResolutionData_->sigmaPt(*mu), 2) - pow(momResolutionMC_->sigmaPt(*mu), 2); - if (sigma > 0.) - sigma = sqrt(sigma); - else - sigma = 0.; - LogTrace("") << "\tPt additional smearing= " << sigma << " [GeV]"; - - // Gaussian Random number for smearing - double rndg = CLHEP::RandGauss::shoot(); - - // New muon - double ptmu = mu->pt(); - ptmu += shift + sigma * rndg; - reco::Muon* newmu = mu->clone(); - newmu->setP4(reco::Particle::PolarLorentzVector(ptmu, mu->eta(), mu->phi(), mu->mass())); - newmuons->push_back(*newmu); - } - - ev.put(std::move(newmuons)); -} - -DEFINE_FWK_MODULE(DistortedMuonProducerFromDB); diff --git a/ElectroWeakAnalysis/Utilities/src/DistortedPFCandProducer.cc b/ElectroWeakAnalysis/Utilities/src/DistortedPFCandProducer.cc deleted file mode 100644 index 242d10a31ab63..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/DistortedPFCandProducer.cc +++ /dev/null @@ -1,289 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" - -#include "MuonAnalysis/MomentumScaleCalibration/interface/MomentumScaleCorrector.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/ResolutionFunction.h" - -// -// class declaration -// -class DistortedPFCandProducer : public edm::EDProducer { -public: - explicit DistortedPFCandProducer(const edm::ParameterSet&); - ~DistortedPFCandProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT genMatchMapToken_; - edm::EDGetTokenT > pfToken_; - std::vector etaBinEdges_; - - std::vector shiftOnOneOverPt_; // in [1/GeV] - std::vector relativeShiftOnPt_; - std::vector uncertaintyOnOneOverPt_; // in [1/GeV] - std::vector relativeUncertaintyOnPt_; - - std::vector efficiencyRatioOverMC_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" - -#include -#include - -///////////////////////////////////////////////////////////////////////////////////// -DistortedPFCandProducer::DistortedPFCandProducer(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Input products - muonToken_ = - consumes >(pset.getUntrackedParameter("MuonTag", edm::InputTag("muons"))); - genMatchMapToken_ = consumes( - pset.getUntrackedParameter("GenMatchMapTag", edm::InputTag("genMatchMap"))); - pfToken_ = consumes >( - pset.getUntrackedParameter("PFTag", edm::InputTag("particleFlow"))); - - // Eta edges - std::vector defEtaEdges; - defEtaEdges.push_back(-999999.); - defEtaEdges.push_back(999999.); - etaBinEdges_ = pset.getUntrackedParameter >("EtaBinEdges", defEtaEdges); - unsigned int ninputs_expected = etaBinEdges_.size() - 1; - - // Distortions in muon momentum - std::vector defDistortion; - defDistortion.push_back(0.); - - shiftOnOneOverPt_ = - pset.getUntrackedParameter >("ShiftOnOneOverPt", defDistortion); // in [1/GeV] - if (shiftOnOneOverPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - shiftOnOneOverPt_.push_back(shiftOnOneOverPt_[0]); - } - } - - relativeShiftOnPt_ = pset.getUntrackedParameter >("RelativeShiftOnPt", defDistortion); - if (relativeShiftOnPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - relativeShiftOnPt_.push_back(relativeShiftOnPt_[0]); - } - } - - uncertaintyOnOneOverPt_ = - pset.getUntrackedParameter >("UncertaintyOnOneOverPt", defDistortion); // in [1/GeV] - if (uncertaintyOnOneOverPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - uncertaintyOnOneOverPt_.push_back(uncertaintyOnOneOverPt_[0]); - } - } - - relativeUncertaintyOnPt_ = pset.getUntrackedParameter >("RelativeUncertaintyOnPt", defDistortion); - if (relativeUncertaintyOnPt_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - relativeUncertaintyOnPt_.push_back(relativeUncertaintyOnPt_[0]); - } - } - - // Data/MC efficiency ratios - std::vector defEfficiencyRatio; - defEfficiencyRatio.push_back(1.); - efficiencyRatioOverMC_ = - pset.getUntrackedParameter >("EfficiencyRatioOverMC", defEfficiencyRatio); - if (efficiencyRatioOverMC_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - efficiencyRatioOverMC_.push_back(efficiencyRatioOverMC_[0]); - } - } - - // Send a warning if there are inconsistencies in vector sizes !! - bool effWrong = efficiencyRatioOverMC_.size() != ninputs_expected; - bool momWrong = shiftOnOneOverPt_.size() != ninputs_expected || relativeShiftOnPt_.size() != ninputs_expected || - uncertaintyOnOneOverPt_.size() != ninputs_expected || - relativeUncertaintyOnPt_.size() != ninputs_expected; - if (effWrong and momWrong) { - edm::LogError("") - << "WARNING: DistortedPFCandProducer : Size of some parameters do not match the EtaBinEdges vector!!"; - } -} - -///////////////////////////////////////////////////////////////////////////////////// -DistortedPFCandProducer::~DistortedPFCandProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedPFCandProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedPFCandProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void DistortedPFCandProducer::produce(edm::Event& ev, const edm::EventSetup& iSetup) { - if (ev.isRealData()) - return; - - // Muon collection - edm::Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - edm::LogError("") << ">>> Muon collection does not exist !!!"; - return; - } - - edm::Handle genMatchMap; - if (!ev.getByToken(genMatchMapToken_, genMatchMap)) { - edm::LogError("") << ">>> Muon-GenParticle match map does not exist !!!"; - return; - } - - // Get PFCandidate collection - edm::Handle > pfCollection; - if (!ev.getByToken(pfToken_, pfCollection)) { - edm::LogError("") << ">>> PFCandidate collection does not exist !!!"; - return; - } - - unsigned int muonCollectionSize = muonCollection->size(); - unsigned int pfCollectionSize = pfCollection->size(); - - if (pfCollectionSize < 1) - return; - - // Ask for PfMuon consistency - bool pfMuonFound = false; - - std::unique_ptr newmuons(new reco::PFCandidateCollection); - - // Loop on all PF candidates - for (unsigned int j = 0; j < pfCollectionSize; j++) { - edm::RefToBase pf = pfCollection->refAt(j); - - // New PF muon - double ptmu = pf->pt(); - - for (unsigned int i = 0; i < muonCollectionSize; i++) { - edm::RefToBase mu = muonCollection->refAt(i); - - // Check the muon is in the PF collection - if (pf->particleId() == reco::PFCandidate::mu) { - reco::MuonRef muref = pf->muonRef(); - if (muref.isNonnull()) { - if (muref.key() == mu.key()) { - if (mu->isStandAloneMuon() && ptmu == muref->standAloneMuon()->pt() && - ((!mu->isGlobalMuon() || (mu->isGlobalMuon() && ptmu != muref->combinedMuon()->pt())) && - (!mu->isTrackerMuon() || (mu->isTrackerMuon() && ptmu != mu->track()->pt())))) { - pfMuonFound = false; - } else if (!mu->isTrackerMuon()) { - pfMuonFound = false; - } else { - pfMuonFound = true; - } - } else { - pfMuonFound = false; - } - } - } - - // do nothing if StandAlone muon - //const reco::Track& track = *trackRef; - - if (!pfMuonFound) - continue; - - double ptgen = pf->pt(); - double etagen = pf->eta(); - - reco::GenParticleRef gen = (*genMatchMap)[mu]; - if (!gen.isNull()) { - ptgen = gen->pt(); - etagen = gen->eta(); - LogTrace("") << ">>> Muon-GenParticle match found; ptmu= " << pf->pt() << ", ptgen= " << ptgen; - } else { - LogTrace("") << ">>> MUON-GENPARTICLE MATCH NOT FOUND!!!"; - } - - // Initialize parameters - double effRatio = 0.; - double shift1 = 0.; - double shift2 = 0.; - double sigma1 = 0.; - double sigma2 = 0.; - - // Find out which eta bin should be used - unsigned int nbins = etaBinEdges_.size() - 1; - unsigned int etaBin = nbins; - if (etagen > etaBinEdges_[0] && etagen < etaBinEdges_[nbins]) { - for (unsigned int j = 1; j <= nbins; ++j) { - if (etagen > etaBinEdges_[j]) - continue; - etaBin = j - 1; - break; - } - } - if (etaBin < nbins) { - LogTrace("") << ">>> etaBin: " << etaBin << ", for etagen =" << etagen; - } else { - // Muon is rejected if outside the considered eta range - LogTrace("") << ">>> Muon outside eta range: reject it; etagen = " << etagen; - pfMuonFound = false; - continue; - } - - if (!pfMuonFound) - continue; - - // Set shifts - shift1 = shiftOnOneOverPt_[etaBin]; - shift2 = relativeShiftOnPt_[etaBin]; - LogTrace("") << "\tshiftOnOneOverPt= " << shift1 * 100 << " [%]"; - LogTrace("") << "\trelativeShiftOnPt= " << shift2 * 100 << " [%]"; - - // Set resolutions - sigma1 = uncertaintyOnOneOverPt_[etaBin]; - sigma2 = relativeUncertaintyOnPt_[etaBin]; - LogTrace("") << "\tuncertaintyOnOneOverPt= " << sigma1 << " [1/GeV]"; - LogTrace("") << "\trelativeUncertaintyOnPt= " << sigma2 * 100 << " [%]"; - - // Set efficiency ratio - effRatio = efficiencyRatioOverMC_[etaBin]; - LogTrace("") << "\tefficiencyRatioOverMC= " << effRatio; - - // Reject muons according to efficiency ratio - double rndf = CLHEP::RandFlat::shoot(); - if (rndf > effRatio) - continue; - - // Gaussian Random numbers for smearing - double rndg1 = CLHEP::RandGauss::shoot(); - double rndg2 = CLHEP::RandGauss::shoot(); - - // change here the pt of the candidate, if it is a muon - - ptmu += ptgen * (shift1 * ptgen + shift2 + sigma1 * rndg1 * ptgen + sigma2 * rndg2); - pfMuonFound = false; - } - - reco::PFCandidate* newmu = pf->clone(); - newmu->setP4(reco::Particle::PolarLorentzVector(ptmu, pf->eta(), pf->phi(), pf->mass())); - - newmuons->push_back(*newmu); - } - - ev.put(std::move(newmuons)); -} - -DEFINE_FWK_MODULE(DistortedPFCandProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/FSRWeightProducer.cc b/ElectroWeakAnalysis/Utilities/src/FSRWeightProducer.cc deleted file mode 100644 index 0ae0edf42abea..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/FSRWeightProducer.cc +++ /dev/null @@ -1,185 +0,0 @@ -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" -#include "CommonTools/CandUtils/interface/Booster.h" -#include - -// -// class declaration -// -class FSRWeightProducer : public edm::EDProducer { -public: - explicit FSRWeightProducer(const edm::ParameterSet&); - ~FSRWeightProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - double alphaRatio(double); - - edm::EDGetTokenT genToken_; -}; - -///////////////////////////////////////////////////////////////////////////////////// -FSRWeightProducer::FSRWeightProducer(const edm::ParameterSet& pset) { - genToken_ = consumes( - pset.getUntrackedParameter("GenTag", edm::InputTag("genParticles"))); - - produces(); -} - -///////////////////////////////////////////////////////////////////////////////////// -FSRWeightProducer::~FSRWeightProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void FSRWeightProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void FSRWeightProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void FSRWeightProducer::produce(edm::Event& iEvent, const edm::EventSetup&) { - if (iEvent.isRealData()) - return; - - edm::Handle genParticles; - iEvent.getByToken(genToken_, genParticles); - - std::unique_ptr weight(new double); - - // Set a default weight to start with - (*weight) = 1.; - - unsigned int gensize = genParticles->size(); - for (unsigned int i = 0; i < gensize; ++i) { - const reco::GenParticle& lepton = (*genParticles)[i]; - if (lepton.status() != 3) - continue; - int leptonId = lepton.pdgId(); - if (abs(leptonId) != 11 && abs(leptonId) != 13 && abs(leptonId) != 15) - continue; - if (lepton.numberOfMothers() != 1) - continue; - const reco::Candidate* boson = lepton.mother(); - int bosonId = abs(boson->pdgId()); - if (bosonId != 23 && bosonId != 24) - continue; - double bosonMass = boson->mass(); - double leptonMass = lepton.mass(); - double leptonEnergy = lepton.energy(); - double cosLeptonTheta = cos(lepton.theta()); - double sinLeptonTheta = sin(lepton.theta()); - double leptonPhi = lepton.phi(); - - int trueKey = i; - if (lepton.numberOfDaughters() == 0) { - continue; - } else if (lepton.numberOfDaughters() == 1) { - int otherleptonKey = lepton.daughterRef(0).key(); - const reco::GenParticle& otherlepton = (*genParticles)[otherleptonKey]; - if (otherlepton.pdgId() != leptonId) - continue; - if (otherlepton.numberOfDaughters() <= 1) - continue; - trueKey = otherleptonKey; - } - - const reco::GenParticle& trueLepton = (*genParticles)[trueKey]; - unsigned int nDaughters = trueLepton.numberOfDaughters(); - - for (unsigned int j = 0; j < nDaughters; ++j) { - const reco::Candidate* photon = trueLepton.daughter(j); - if (photon->pdgId() != 22) - continue; - double photonEnergy = photon->energy(); - double cosPhotonTheta = cos(photon->theta()); - double sinPhotonTheta = sin(photon->theta()); - double photonPhi = photon->phi(); - double costheta = sinLeptonTheta * sinPhotonTheta * cos(leptonPhi - photonPhi) + cosLeptonTheta * cosPhotonTheta; - // Missing O(alpha) terms in soft-collinear approach - // Only for W, from hep-ph/0303260 - if (bosonId == 24) { - double betaLepton = sqrt(1 - pow(leptonMass / leptonEnergy, 2)); - double delta = -8 * photonEnergy * (1 - betaLepton * costheta) / pow(bosonMass, 3) / - (1 - pow(leptonMass / bosonMass, 2)) / (4 - pow(leptonMass / bosonMass, 2)) * leptonEnergy * - (pow(leptonMass, 2) / bosonMass + 2 * photonEnergy); - (*weight) *= (1 + delta); - } - // Missing NLO QED orders in QED parton shower approach - // Change coupling scale from 0 to kT to estimate this effect - (*weight) *= alphaRatio(photonEnergy * sqrt(1 - pow(costheta, 2))); - } - } - - iEvent.put(std::move(weight)); -} - -double FSRWeightProducer::alphaRatio(double pt) { - double pigaga = 0.; - - // Leptonic contribution (just one loop, precise at < 0.3% level) - const double alphapi = 1 / 137.036 / M_PI; - const double mass_e = 0.0005; - const double mass_mu = 0.106; - const double mass_tau = 1.777; - const double mass_Z = 91.2; - if (pt > mass_e) - pigaga += alphapi * (2 * log(pt / mass_e) / 3. - 5. / 9.); - if (pt > mass_mu) - pigaga += alphapi * (2 * log(pt / mass_mu) / 3. - 5. / 9.); - if (pt > mass_tau) - pigaga += alphapi * (2 * log(pt / mass_tau) / 3. - 5. / 9.); - - // Hadronic vaccum contribution - // Using simple effective parametrization from Physics Letters B 513 (2001) 46. - // Top contribution neglected - double A = 0.; - double B = 0.; - double C = 0.; - if (pt < 0.7) { - A = 0.0; - B = 0.0023092; - C = 3.9925370; - } else if (pt < 2.0) { - A = 0.0; - B = 0.0022333; - C = 4.2191779; - } else if (pt < 4.0) { - A = 0.0; - B = 0.0024402; - C = 3.2496684; - } else if (pt < 10.0) { - A = 0.0; - B = 0.0027340; - C = 2.0995092; - } else if (pt < mass_Z) { - A = 0.0010485; - B = 0.0029431; - C = 1.0; - } else if (pt < 10000.) { - A = 0.0012234; - B = 0.0029237; - C = 1.0; - } else { - A = 0.0016894; - B = 0.0028984; - C = 1.0; - } - pigaga += A + B * log(1. + C * pt * pt); - - // Done - return 1. / (1. - pigaga); -} - -DEFINE_FWK_MODULE(FSRWeightProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/ISRGammaWeightProducer.cc b/ElectroWeakAnalysis/Utilities/src/ISRGammaWeightProducer.cc deleted file mode 100644 index 7af06f9b02536..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/ISRGammaWeightProducer.cc +++ /dev/null @@ -1,140 +0,0 @@ -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" -#include "CommonTools/CandUtils/interface/Booster.h" -#include - -// -// class declaration -// -class ISRGammaWeightProducer : public edm::EDProducer { -public: - explicit ISRGammaWeightProducer(const edm::ParameterSet&); - ~ISRGammaWeightProducer() override; - - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - -private: - edm::EDGetTokenT genToken_; - std::vector isrBinEdges_; - std::vector ptWeights_; -}; - -///////////////////////////////////////////////////////////////////////////////////// -ISRGammaWeightProducer::ISRGammaWeightProducer(const edm::ParameterSet& pset) { - genToken_ = consumes( - pset.getUntrackedParameter("GenTag", edm::InputTag("genParticles"))); - - produces(); -} - -///////////////////////////////////////////////////////////////////////////////////// -ISRGammaWeightProducer::~ISRGammaWeightProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRGammaWeightProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRGammaWeightProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRGammaWeightProducer::produce(edm::Event& iEvent, const edm::EventSetup&) { - if (iEvent.isRealData()) - return; - - edm::Handle genParticles; - iEvent.getByToken(genToken_, genParticles); - unsigned int gensize = genParticles->size(); - - std::unique_ptr weight(new double); - - // Set a default weight to start with - (*weight) = 1.; - - // Find the boson at the hard scattering level - const reco::GenParticle* boson = nullptr; - int parton1Key = -1; - int parton2Key = -1; - for (unsigned int i = 0; i < gensize; ++i) { - const reco::GenParticle& part = (*genParticles)[i]; - int status = abs(part.status()); - if (status != 3) - continue; - if (part.numberOfMothers() != 2) - continue; - int partId = abs(part.pdgId()); - if (status == 3 && (partId == 23 || abs(partId) == 24)) { - boson = &(*genParticles)[i]; - parton1Key = part.motherRef(0).key(); - parton2Key = part.motherRef(1).key(); - break; - } - } - - // Consider only photons near the hard-scattering process - const reco::GenParticle* photon = nullptr; - if (boson) { - for (unsigned int i = 0; i < gensize; ++i) { - photon = nullptr; - const reco::GenParticle& part = (*genParticles)[i]; - int status = abs(part.status()); - if (status != 1) - continue; - int partId = abs(part.pdgId()); - if (partId != 22) - continue; - if (part.numberOfMothers() != 1) - continue; - int keyM = part.motherRef(0).key(); - const reco::GenParticle* mother = &(*genParticles)[keyM]; - if (mother->status() != 3) - continue; - int mId = mother->pdgId(); - if (abs(mId) > 6 && mId != 2212) - continue; - for (unsigned int j = 0; j < mother->numberOfDaughters(); ++j) { - int keyD = mother->daughterRef(j).key(); - if (keyD == parton1Key || keyD == parton2Key) { - photon = ∂ - break; - } - } - if (photon) - break; - } - } - - if (boson && photon) { - math::XYZTLorentzVector smom = boson->p4() + photon->p4(); - double s = smom.M2(); - double sqrts = smom.M(); - - // Go to CM using the boost direction of the boson+photon system - ROOT::Math::Boost cmboost(smom.BoostToCM()); - math::XYZTLorentzVector photonCM(cmboost(photon->p4())); - double pcostheta = (smom.x() * photonCM.x() + smom.y() * photonCM.y() + smom.z() * photonCM.z()) / smom.P(); - - // Determine kinematic invariants - double t = -sqrts * (photonCM.t() - pcostheta); - double MV = boson->mass(); - double u = MV * MV - s - t; - (*weight) = 1. - 2 * t * u / (s * s + MV * MV * MV * MV); - //printf(">>>>>>>>> s %f t %f u %f, MV %f, weight = %f\n", s, t, u, MV, (*weight)); - } - - iEvent.put(std::move(weight)); -} - -DEFINE_FWK_MODULE(ISRGammaWeightProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/ISRWeightProducer.cc b/ElectroWeakAnalysis/Utilities/src/ISRWeightProducer.cc deleted file mode 100644 index c02896da46847..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/ISRWeightProducer.cc +++ /dev/null @@ -1,107 +0,0 @@ -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" -#include "CommonTools/CandUtils/interface/Booster.h" -#include - -// -// class declaration -// -class ISRWeightProducer : public edm::EDProducer { -public: - explicit ISRWeightProducer(const edm::ParameterSet&); - ~ISRWeightProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT genToken_; - std::vector isrBinEdges_; - std::vector ptWeights_; -}; - -///////////////////////////////////////////////////////////////////////////////////// -ISRWeightProducer::ISRWeightProducer(const edm::ParameterSet& pset) { - genToken_ = consumes( - pset.getUntrackedParameter("GenTag", edm::InputTag("genParticles"))); - - // Pt bin edges - std::vector defPtEdges; - defPtEdges.push_back(0.); - defPtEdges.push_back(999999.); - isrBinEdges_ = pset.getUntrackedParameter >("ISRBinEdges", defPtEdges); - unsigned int ninputs_expected = isrBinEdges_.size() - 1; - - // Distortions in muon momentum - std::vector defWeights; - defWeights.push_back(1.); - ptWeights_ = pset.getUntrackedParameter >("PtWeights", defWeights); - if (ptWeights_.size() == 1 && ninputs_expected > 1) { - for (unsigned int i = 1; i < ninputs_expected; i++) { - ptWeights_.push_back(ptWeights_[0]); - } - } - - produces(); -} - -///////////////////////////////////////////////////////////////////////////////////// -ISRWeightProducer::~ISRWeightProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRWeightProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRWeightProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void ISRWeightProducer::produce(edm::Event& iEvent, const edm::EventSetup&) { - if (iEvent.isRealData()) - return; - - edm::Handle genParticles; - iEvent.getByToken(genToken_, genParticles); - unsigned int gensize = genParticles->size(); - - std::unique_ptr weight(new double); - - // Set as default weight the asymptotic value at high pt (i.e. value of last bin) - (*weight) = ptWeights_[ptWeights_.size() - 1]; - - unsigned int nbins = isrBinEdges_.size() - 1; - for (unsigned int i = 0; i < gensize; ++i) { - const reco::GenParticle& part = (*genParticles)[i]; - int id = part.pdgId(); - if (id != 23 && abs(id) != 24) - continue; - int status = part.status(); - if (status != 3) - continue; - double pt = part.pt(); - if (pt > isrBinEdges_[0] && pt < isrBinEdges_[nbins]) { - for (unsigned int j = 1; j <= nbins; ++j) { - if (pt > isrBinEdges_[j]) - continue; - (*weight) = ptWeights_[j - 1]; - break; - } - } - break; - } - - iEvent.put(std::move(weight)); -} - -DEFINE_FWK_MODULE(ISRWeightProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/MuonWithPFIsoProducer.cc b/ElectroWeakAnalysis/Utilities/src/MuonWithPFIsoProducer.cc deleted file mode 100644 index 2e5c04bd88233..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/MuonWithPFIsoProducer.cc +++ /dev/null @@ -1,185 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" - -#include "MuonAnalysis/MomentumScaleCalibration/interface/MomentumScaleCorrector.h" -#include "MuonAnalysis/MomentumScaleCalibration/interface/ResolutionFunction.h" - -// -// class declaration -// -class MuonWithPFIsoProducer : public edm::EDProducer { -public: - explicit MuonWithPFIsoProducer(const edm::ParameterSet&); - ~MuonWithPFIsoProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT > pfToken_; - - bool usePfMuonsOnly_; - - double trackIsoVeto_; - double gammaIsoVeto_; - double neutralHadronIsoVeto_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" - -#include "DataFormats/GeometryVector/interface/VectorUtil.h" - -///////////////////////////////////////////////////////////////////////////////////// -MuonWithPFIsoProducer::MuonWithPFIsoProducer(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Muon collection - muonToken_ = - consumes >(pset.getUntrackedParameter("MuonTag", edm::InputTag("muons"))); - - // PF candidate collection - pfToken_ = consumes >( - pset.getUntrackedParameter("PFTag", edm::InputTag("particleFlow"))); - - // Use only PF muons to get exact consistency with PfMET - usePfMuonsOnly_ = pset.getUntrackedParameter("UsePfMuonsOnly", false); - - // Veto cone - trackIsoVeto_ = pset.getUntrackedParameter("TrackIsoVeto", 0.01); - gammaIsoVeto_ = pset.getUntrackedParameter("GammaIsoVeto", 0.07); - neutralHadronIsoVeto_ = pset.getUntrackedParameter("NeutralHadronIsoVeto", 0.1); -} - -///////////////////////////////////////////////////////////////////////////////////// -MuonWithPFIsoProducer::~MuonWithPFIsoProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void MuonWithPFIsoProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void MuonWithPFIsoProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void MuonWithPFIsoProducer::produce(edm::Event& ev, const edm::EventSetup& iSetup) { - // Initialize pointer to new output muon collection - std::unique_ptr newmuons(new reco::MuonCollection); - - // Get Muon collection - edm::Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - edm::LogError("") << ">>> Muon collection does not exist !!!"; - ev.put(std::move(newmuons)); - return; - } - - // Get PFCandidate collection - edm::Handle > pfCollection; - if (!ev.getByToken(pfToken_, pfCollection)) { - edm::LogError("") << ">>> PFCandidate collection does not exist !!!"; - ev.put(std::move(newmuons)); - return; - } - - // Loop over Pf candidates to find muons and collect deposits in veto, - // dR<0.3 and dR<0.5 cones. Interpret "track" as charged particles (e,mu, - // chraged hadrons). Interpret "em" as photons and also as electromagnetic - // energy in HF. Interpret "had" as neutral hadrons and also as hadronic - // energy in HF. Apply weights if requested at input level. - // HO energies are not filled. Ditto for jet energies around the muon. - unsigned int muonCollectionSize = muonCollection->size(); - unsigned int pfCollectionSize = pfCollection->size(); - for (unsigned int i = 0; i < muonCollectionSize; i++) { - edm::RefToBase mu = muonCollection->refAt(i); - - // Ask for PfMuon consistency if requested - bool muonFound = false; - - // Starting bycloning this muon - reco::Muon* newmu = mu->clone(); - reco::TrackRef tk = mu->innerTrack(); - - // Set isolations - reco::MuonIsolation iso03; - reco::MuonIsolation iso05; - // Loop on all candidates - for (unsigned int j = 0; j < pfCollectionSize; j++) { - edm::RefToBase pf = pfCollection->refAt(j); - - // Check the muon is in the PF collection when required - bool thisIsTheMuon = false; - if (tk.isNonnull() && pf->trackRef() == tk) { - thisIsTheMuon = true; - muonFound = true; - } - - // Get dR. Nothing to add if dR>0.5 - double deltaR = Geom::deltaR(mu->momentum(), pf->momentum()); - if (deltaR > 0.5) - continue; - - // Fill "tracker" components - if (pf->particleId() == reco::PFCandidate::h || pf->particleId() == reco::PFCandidate::e || - pf->particleId() == reco::PFCandidate::mu) { - if (deltaR < trackIsoVeto_ || thisIsTheMuon) { - iso05.trackerVetoPt += pf->pt(); - iso03.trackerVetoPt += pf->pt(); - } else { - iso05.sumPt += pf->pt(); - iso05.nTracks++; - if (deltaR < 0.3) { - iso03.sumPt += pf->pt(); - iso03.nTracks++; - } - } - // Fill "em" components - } else if (pf->particleId() == reco::PFCandidate::gamma || pf->particleId() == reco::PFCandidate::egamma_HF) { - if (deltaR < gammaIsoVeto_) { - iso05.emVetoEt += pf->pt(); - iso03.emVetoEt += pf->pt(); - } else { - iso05.emEt += pf->pt(); - if (deltaR < 0.3) - iso03.emEt += pf->pt(); - } - // Fill "had" components - } else if (pf->particleId() == reco::PFCandidate::h0 || pf->particleId() == reco::PFCandidate::h_HF) { - if (deltaR < neutralHadronIsoVeto_) { - iso05.hadVetoEt += pf->pt(); - iso03.hadVetoEt += pf->pt(); - } else { - iso05.hadEt += pf->pt(); - if (deltaR < 0.3) - iso03.hadEt += pf->pt(); - } - } - } - - // Do not take this muon (under explicit request) if it is not a PfMuon - if (usePfMuonsOnly_ && (!muonFound)) - continue; - - // Set this isolation information in the new muon - newmu->setIsolation(iso03, iso05); - - // Add new muon to output collection - newmuons->push_back(*newmu); - } - - // Add output collection to event - ev.put(std::move(newmuons)); -} - -DEFINE_FWK_MODULE(MuonWithPFIsoProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/PdfSystematicsAnalyzer.cc b/ElectroWeakAnalysis/Utilities/src/PdfSystematicsAnalyzer.cc deleted file mode 100644 index 88da2f8f352c0..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/PdfSystematicsAnalyzer.cc +++ /dev/null @@ -1,327 +0,0 @@ -////////// Header section ///////////////////////////////////////////// -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/TriggerResults.h" - -class PdfSystematicsAnalyzer : public edm::EDFilter { -public: - PdfSystematicsAnalyzer(const edm::ParameterSet& pset); - ~PdfSystematicsAnalyzer() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - -private: - std::string selectorPath_; - std::vector pdfWeightTags_; - std::vector > > pdfWeightTokens_; - edm::EDGetTokenT triggerResultsToken_; - unsigned int originalEvents_; - unsigned int selectedEvents_; - std::vector pdfStart_; - std::vector weightedSelectedEvents_; - std::vector weighted2SelectedEvents_; - std::vector weightedEvents_; -}; - -////////// Source code //////////////////////////////////////////////// -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "DataFormats/Common/interface/Handle.h" - -#include "FWCore/Common/interface/TriggerNames.h" - -#include "FWCore/Utilities/interface/transform.h" - -///////////////////////////////////////////////////////////////////////////////////// -PdfSystematicsAnalyzer::PdfSystematicsAnalyzer(const edm::ParameterSet& pset) - : selectorPath_(pset.getUntrackedParameter("SelectorPath", "")), - pdfWeightTags_(pset.getUntrackedParameter >("PdfWeightTags")), - pdfWeightTokens_(edm::vector_transform( - pdfWeightTags_, [this](edm::InputTag const& tag) { return consumes >(tag); })), - triggerResultsToken_(consumes(edm::InputTag("TriggerResults"))) {} - -///////////////////////////////////////////////////////////////////////////////////// -PdfSystematicsAnalyzer::~PdfSystematicsAnalyzer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void PdfSystematicsAnalyzer::beginJob() { - originalEvents_ = 0; - selectedEvents_ = 0; - edm::LogVerbatim("PDFAnalysis") << "PDF uncertainties will be determined for the following sets: "; - for (unsigned int i = 0; i < pdfWeightTags_.size(); ++i) { - edm::LogVerbatim("PDFAnalysis") << "\t" << pdfWeightTags_[i].instance(); - pdfStart_.push_back(-1); - } -} - -///////////////////////////////////////////////////////////////////////////////////// -void PdfSystematicsAnalyzer::endJob() { - if (originalEvents_ == 0) { - edm::LogVerbatim("PDFAnalysis") << "NO EVENTS => NO RESULTS"; - return; - } - if (selectedEvents_ == 0) { - edm::LogVerbatim("PDFAnalysis") << "NO SELECTED EVENTS => NO RESULTS"; - return; - } - - edm::LogVerbatim("PDFAnalysis") << "\n>>>> Begin of PDF weight systematics summary >>>>"; - edm::LogVerbatim("PDFAnalysis") << "Total number of analyzed data: " << originalEvents_ << " [events]"; - double originalAcceptance = double(selectedEvents_) / originalEvents_; - edm::LogVerbatim("PDFAnalysis") << "Total number of selected data: " << selectedEvents_ - << " [events], corresponding to acceptance: [" << originalAcceptance * 100 << " +- " - << 100 * sqrt(originalAcceptance * (1. - originalAcceptance) / originalEvents_) - << "] %"; - - edm::LogVerbatim("PDFAnalysis") << "\n>>>>> PDF UNCERTAINTIES ON RATE >>>>>>"; - for (unsigned int i = 0; i < pdfWeightTags_.size(); ++i) { - bool nnpdfFlag = (pdfWeightTags_[i].instance().substr(0, 5) == "NNPDF"); - unsigned int nmembers = weightedSelectedEvents_.size() - pdfStart_[i]; - if (i < pdfWeightTags_.size() - 1) - nmembers = pdfStart_[i + 1] - pdfStart_[i]; - unsigned int npairs = (nmembers - 1) / 2; - edm::LogVerbatim("PDFAnalysis") << "RATE Results for PDF set " << pdfWeightTags_[i].instance() << " ---->"; - - double events_central = weightedSelectedEvents_[pdfStart_[i]]; - edm::LogVerbatim("PDFAnalysis") << "\tEstimate for central PDF member: " << int(events_central) << " [events]"; - double events2_central = weighted2SelectedEvents_[pdfStart_[i]]; - edm::LogVerbatim("PDFAnalysis") - << "\ti.e. [" << std::setprecision(4) << 100 * (events_central - selectedEvents_) / selectedEvents_ << " +- " - << 100 * sqrt(events2_central - events_central + selectedEvents_ * (1 - originalAcceptance)) / selectedEvents_ - << "] % relative variation with respect to original PDF"; - - if (npairs > 0) { - edm::LogVerbatim("PDFAnalysis") << "\tNumber of eigenvectors for uncertainty estimation: " << npairs; - double wplus = 0.; - double wminus = 0.; - unsigned int nplus = 0; - unsigned int nminus = 0; - for (unsigned int j = 0; j < npairs; ++j) { - double wa = weightedSelectedEvents_[pdfStart_[i] + 2 * j + 1] / events_central - 1.; - double wb = weightedSelectedEvents_[pdfStart_[i] + 2 * j + 2] / events_central - 1.; - if (nnpdfFlag) { - if (wa > 0.) { - wplus += wa * wa; - nplus++; - } else { - wminus += wa * wa; - nminus++; - } - if (wb > 0.) { - wplus += wb * wb; - nplus++; - } else { - wminus += wb * wb; - nminus++; - } - } else { - if (wa > wb) { - if (wa < 0.) - wa = 0.; - if (wb > 0.) - wb = 0.; - wplus += wa * wa; - wminus += wb * wb; - } else { - if (wb < 0.) - wb = 0.; - if (wa > 0.) - wa = 0.; - wplus += wb * wb; - wminus += wa * wa; - } - } - } - if (wplus > 0) - wplus = sqrt(wplus); - if (wminus > 0) - wminus = sqrt(wminus); - if (nnpdfFlag) { - if (nplus > 0) - wplus /= sqrt(nplus); - if (nminus > 0) - wminus /= sqrt(nminus); - } - edm::LogVerbatim("PDFAnalysis") << "\tRelative uncertainty with respect to central member: +" - << std::setprecision(4) << 100. * wplus << " / -" << std::setprecision(4) - << 100. * wminus << " [%]"; - } else { - edm::LogVerbatim("PDFAnalysis") << "\tNO eigenvectors for uncertainty estimation"; - } - } - - edm::LogVerbatim("PDFAnalysis") << "\n>>>>> PDF UNCERTAINTIES ON ACCEPTANCE >>>>>>"; - for (unsigned int i = 0; i < pdfWeightTags_.size(); ++i) { - bool nnpdfFlag = (pdfWeightTags_[i].instance().substr(0, 5) == "NNPDF"); - unsigned int nmembers = weightedEvents_.size() - pdfStart_[i]; - if (i < pdfWeightTags_.size() - 1) - nmembers = pdfStart_[i + 1] - pdfStart_[i]; - unsigned int npairs = (nmembers - 1) / 2; - edm::LogVerbatim("PDFAnalysis") << "ACCEPTANCE Results for PDF set " << pdfWeightTags_[i].instance() << " ---->"; - - double acc_central = 0.; - double acc2_central = 0.; - if (weightedEvents_[pdfStart_[i]] > 0) { - acc_central = weightedSelectedEvents_[pdfStart_[i]] / weightedEvents_[pdfStart_[i]]; - acc2_central = weighted2SelectedEvents_[pdfStart_[i]] / weightedEvents_[pdfStart_[i]]; - } - double waverage = weightedEvents_[pdfStart_[i]] / originalEvents_; - edm::LogVerbatim("PDFAnalysis") << "\tEstimate for central PDF member acceptance: [" << acc_central * 100 << " +- " - << 100 * - sqrt((acc2_central / waverage - acc_central * acc_central) / originalEvents_) - << "] %"; - double xi = acc_central - originalAcceptance; - double deltaxi = (acc2_central - (originalAcceptance + 2 * xi + xi * xi)) / originalEvents_; - if (deltaxi > 0) - deltaxi = sqrt(deltaxi); //else deltaxi = 0.; - edm::LogVerbatim("PDFAnalysis") << "\ti.e. [" << std::setprecision(4) << 100 * xi / originalAcceptance << " +- " - << std::setprecision(4) << 100 * deltaxi / originalAcceptance - << "] % relative variation with respect to the original PDF"; - - if (npairs > 0) { - edm::LogVerbatim("PDFAnalysis") << "\tNumber of eigenvectors for uncertainty estimation: " << npairs; - double wplus = 0.; - double wminus = 0.; - unsigned int nplus = 0; - unsigned int nminus = 0; - for (unsigned int j = 0; j < npairs; ++j) { - double wa = 0.; - if (weightedEvents_[pdfStart_[i] + 2 * j + 1] > 0) - wa = (weightedSelectedEvents_[pdfStart_[i] + 2 * j + 1] / weightedEvents_[pdfStart_[i] + 2 * j + 1]) / - acc_central - - 1.; - double wb = 0.; - if (weightedEvents_[pdfStart_[i] + 2 * j + 2] > 0) - wb = (weightedSelectedEvents_[pdfStart_[i] + 2 * j + 2] / weightedEvents_[pdfStart_[i] + 2 * j + 2]) / - acc_central - - 1.; - if (nnpdfFlag) { - if (wa > 0.) { - wplus += wa * wa; - nplus++; - } else { - wminus += wa * wa; - nminus++; - } - if (wb > 0.) { - wplus += wb * wb; - nplus++; - } else { - wminus += wb * wb; - nminus++; - } - } else { - if (wa > wb) { - if (wa < 0.) - wa = 0.; - if (wb > 0.) - wb = 0.; - wplus += wa * wa; - wminus += wb * wb; - } else { - if (wb < 0.) - wb = 0.; - if (wa > 0.) - wa = 0.; - wplus += wb * wb; - wminus += wa * wa; - } - } - } - if (wplus > 0) - wplus = sqrt(wplus); - if (wminus > 0) - wminus = sqrt(wminus); - if (nnpdfFlag) { - if (nplus > 0) - wplus /= sqrt(nplus); - if (nminus > 0) - wminus /= sqrt(nminus); - } - edm::LogVerbatim("PDFAnalysis") << "\tRelative uncertainty with respect to central member: +" - << std::setprecision(4) << 100. * wplus << " / -" << std::setprecision(4) - << 100. * wminus << " [%]"; - } else { - edm::LogVerbatim("PDFAnalysis") << "\tNO eigenvectors for uncertainty estimation"; - } - } - edm::LogVerbatim("PDFAnalysis") << ">>>> End of PDF weight systematics summary >>>>"; -} - -///////////////////////////////////////////////////////////////////////////////////// -bool PdfSystematicsAnalyzer::filter(edm::Event& ev, const edm::EventSetup&) { - edm::Handle > weightHandle; - for (unsigned int i = 0; i < pdfWeightTags_.size(); ++i) { - if (!ev.getByToken(pdfWeightTokens_[i], weightHandle)) { - if (originalEvents_ == 0) { - edm::LogError("PDFAnalysis") << ">>> WARNING: some weights not found!"; - edm::LogError("PDFAnalysis") << ">>> But maybe OK, if you are prefiltering!"; - edm::LogError("PDFAnalysis") << ">>> If things are OK, this warning should disappear after a while!"; - } - return false; - } - } - - originalEvents_++; - - bool selectedEvent = false; - edm::Handle triggerResults; - if (!ev.getByToken(triggerResultsToken_, triggerResults)) { - edm::LogError("PDFAnalysis") << ">>> TRIGGER collection does not exist !!!"; - return false; - } - - const edm::TriggerNames& trigNames = ev.triggerNames(*triggerResults); - unsigned int pathIndex = trigNames.triggerIndex(selectorPath_); - bool pathFound = (pathIndex < trigNames.size()); // pathIndex >= 0, since pathIndex is unsigned - if (pathFound) { - if (triggerResults->accept(pathIndex)) - selectedEvent = true; - } - //edm::LogVerbatim("PDFAnalysis") << ">>>> Path Name: " << selectorPath_ << ", selected? " << selectedEvent; - - if (selectedEvent) - selectedEvents_++; - - for (unsigned int i = 0; i < pdfWeightTags_.size(); ++i) { - if (!ev.getByToken(pdfWeightTokens_[i], weightHandle)) - return false; - std::vector weights = (*weightHandle); - unsigned int nmembers = weights.size(); - // Set up arrays the first time wieghts are read - if (pdfStart_[i] < 0) { - pdfStart_[i] = weightedEvents_.size(); - for (unsigned int j = 0; j < nmembers; ++j) { - weightedEvents_.push_back(0.); - weightedSelectedEvents_.push_back(0.); - weighted2SelectedEvents_.push_back(0.); - } - } - - for (unsigned int j = 0; j < nmembers; ++j) { - weightedEvents_[pdfStart_[i] + j] += weights[j]; - if (selectedEvent) { - weightedSelectedEvents_[pdfStart_[i] + j] += weights[j]; - weighted2SelectedEvents_[pdfStart_[i] + j] += weights[j] * weights[j]; - } - } - - /* - printf("\n>>>>>>>>> Run %8d Event %d, members %3d PDF set %s : Weights >>>> \n", ev.id().run(), ev.id().event(), nmembers, pdfWeightTags_[i].instance().data()); - for (unsigned int i=0; i - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" -#include "CommonTools/CandUtils/interface/Booster.h" -#include - -// -// class declaration -// -class PdfWeightProducer : public edm::EDProducer { -public: - explicit PdfWeightProducer(const edm::ParameterSet&); - ~PdfWeightProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - std::string fixPOWHEG_; - bool useFirstAsDefault_; - edm::InputTag genTag_; - edm::EDGetTokenT genToken_; - edm::InputTag pdfInfoTag_; - edm::EDGetTokenT pdfInfoToken_; - std::vector pdfSetNames_; - std::vector pdfShortNames_; -}; - -namespace LHAPDF { - void initPDFSet(int nset, const std::string& filename, int member = 0); - int numberPDF(int nset); - void usePDFMember(int nset, int member); - double xfx(int nset, double x, double Q, int fl); - double getXmin(int nset, int member); - double getXmax(int nset, int member); - double getQ2min(int nset, int member); - double getQ2max(int nset, int member); - void extrapolate(bool extrapolate = true); -} // namespace LHAPDF - -///////////////////////////////////////////////////////////////////////////////////// -PdfWeightProducer::PdfWeightProducer(const edm::ParameterSet& pset) - : fixPOWHEG_(pset.getUntrackedParameter("FixPOWHEG", "")), - useFirstAsDefault_(pset.getUntrackedParameter("useFirstAsDefault", false)), - genTag_(pset.getUntrackedParameter("GenTag", edm::InputTag("genParticles"))), - genToken_(mayConsume(genTag_)), - pdfInfoTag_(pset.getUntrackedParameter("PdfInfoTag", edm::InputTag("generator"))), - pdfInfoToken_(consumes(pdfInfoTag_)), - pdfSetNames_(pset.getUntrackedParameter >("PdfSetNames")) { - if (!fixPOWHEG_.empty()) - pdfSetNames_.insert(pdfSetNames_.begin(), fixPOWHEG_); - - if (pdfSetNames_.size() > 3) { - edm::LogWarning("") << pdfSetNames_.size() - << " PDF sets requested on input. Using only the first 3 sets and ignoring the rest!!"; - pdfSetNames_.erase(pdfSetNames_.begin() + 3, pdfSetNames_.end()); - } - - for (unsigned int k = 0; k < pdfSetNames_.size(); k++) { - size_t dot = pdfSetNames_[k].find_first_of('.'); - size_t underscore = pdfSetNames_[k].find_first_of('_'); - if (underscore < dot) { - pdfShortNames_.push_back(pdfSetNames_[k].substr(0, underscore)); - } else { - pdfShortNames_.push_back(pdfSetNames_[k].substr(0, dot)); - } - produces >(pdfShortNames_[k]); - } -} - -///////////////////////////////////////////////////////////////////////////////////// -PdfWeightProducer::~PdfWeightProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void PdfWeightProducer::beginJob() { - for (unsigned int k = 1; k <= pdfSetNames_.size(); k++) { - LHAPDF::initPDFSet(k, pdfSetNames_[k - 1]); - } -} - -///////////////////////////////////////////////////////////////////////////////////// -void PdfWeightProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void PdfWeightProducer::produce(edm::Event& iEvent, const edm::EventSetup&) { - if (iEvent.isRealData()) - return; - - edm::Handle pdfstuff; - if (!iEvent.getByToken(pdfInfoToken_, pdfstuff)) { - edm::LogError("PDFWeightProducer") << ">>> PdfInfo not found: " << pdfInfoTag_.encode() << " !!!"; - return; - } - - float Q = pdfstuff->pdf()->scalePDF; - - int id1 = pdfstuff->pdf()->id.first; - double x1 = pdfstuff->pdf()->x.first; - double pdf1 = pdfstuff->pdf()->xPDF.first; - - int id2 = pdfstuff->pdf()->id.second; - double x2 = pdfstuff->pdf()->x.second; - double pdf2 = pdfstuff->pdf()->xPDF.second; - if (useFirstAsDefault_ && pdf1 == -1. && pdf2 == -1.) { - LHAPDF::usePDFMember(1, 0); - pdf1 = LHAPDF::xfx(1, x1, Q, id1) / x1; - pdf2 = LHAPDF::xfx(1, x2, Q, id2) / x2; - } - - // Ad-hoc fix for POWHEG - if (!fixPOWHEG_.empty()) { - edm::Handle genParticles; - if (!iEvent.getByToken(genToken_, genParticles)) { - edm::LogError("PDFWeightProducer") << ">>> genParticles not found: " << genTag_.encode() << " !!!"; - return; - } - unsigned int gensize = genParticles->size(); - double mboson = 0.; - for (unsigned int i = 0; i < gensize; ++i) { - const reco::GenParticle& part = (*genParticles)[i]; - int status = part.status(); - if (status != 3) - continue; - int id = part.pdgId(); - if (id != 23 && abs(id) != 24) - continue; - mboson = part.mass(); - break; - } - Q = sqrt(mboson * mboson + Q * Q); - LHAPDF::usePDFMember(1, 0); - pdf1 = LHAPDF::xfx(1, x1, Q, id1) / x1; - pdf2 = LHAPDF::xfx(1, x2, Q, id2) / x2; - } - - // Put PDF weights in the event - for (unsigned int k = 1; k <= pdfSetNames_.size(); ++k) { - std::unique_ptr > weights(new std::vector); - unsigned int nweights = 1; - if (LHAPDF::numberPDF(k) > 1) - nweights += LHAPDF::numberPDF(k); - weights->reserve(nweights); - - for (unsigned int i = 0; i < nweights; ++i) { - LHAPDF::usePDFMember(k, i); - double newpdf1 = LHAPDF::xfx(k, x1, Q, id1) / x1; - double newpdf2 = LHAPDF::xfx(k, x2, Q, id2) / x2; - weights->push_back(newpdf1 / pdf1 * newpdf2 / pdf2); - } - iEvent.put(std::move(weights), pdfShortNames_[k - 1]); - } -} - -DEFINE_FWK_MODULE(PdfWeightProducer); diff --git a/ElectroWeakAnalysis/Utilities/src/SimpleSystematicsAnalyzer.cc b/ElectroWeakAnalysis/Utilities/src/SimpleSystematicsAnalyzer.cc deleted file mode 100644 index 78f8813c86cfe..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/SimpleSystematicsAnalyzer.cc +++ /dev/null @@ -1,147 +0,0 @@ -////////// Header section ///////////////////////////////////////////// -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/TriggerResults.h" - -class SimpleSystematicsAnalyzer : public edm::EDFilter { -public: - SimpleSystematicsAnalyzer(const edm::ParameterSet& pset); - ~SimpleSystematicsAnalyzer() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - -private: - std::string selectorPath_; - std::vector weightTags_; - std::vector > weightTokens_; - edm::EDGetTokenT triggerResultsToken_; - unsigned int originalEvents_; - std::vector weightedEvents_; - unsigned int selectedEvents_; - std::vector weightedSelectedEvents_; - std::vector weighted2SelectedEvents_; -}; - -////////// Source code //////////////////////////////////////////////// -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "DataFormats/Common/interface/Handle.h" - -#include "FWCore/Common/interface/TriggerNames.h" - -#include "FWCore/Utilities/interface/transform.h" - -///////////////////////////////////////////////////////////////////////////////////// -SimpleSystematicsAnalyzer::SimpleSystematicsAnalyzer(const edm::ParameterSet& pset) - : selectorPath_(pset.getUntrackedParameter("SelectorPath", "")), - weightTags_(pset.getUntrackedParameter >("WeightTags")), - weightTokens_( - edm::vector_transform(weightTags_, [this](edm::InputTag const& tag) { return consumes(tag); })), - triggerResultsToken_(consumes(edm::InputTag("TriggerResults"))) {} - -///////////////////////////////////////////////////////////////////////////////////// -SimpleSystematicsAnalyzer::~SimpleSystematicsAnalyzer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void SimpleSystematicsAnalyzer::beginJob() { - originalEvents_ = 0; - selectedEvents_ = 0; - edm::LogVerbatim("SimpleSystematicsAnalysis") << "Uncertainties will be determined for the following tags: "; - for (unsigned int i = 0; i < weightTags_.size(); ++i) { - edm::LogVerbatim("SimpleSystematicsAnalysis") << "\t" << weightTags_[i].encode(); - weightedEvents_.push_back(0.); - weightedSelectedEvents_.push_back(0.); - weighted2SelectedEvents_.push_back(0.); - } -} - -///////////////////////////////////////////////////////////////////////////////////// -void SimpleSystematicsAnalyzer::endJob() { - if (originalEvents_ == 0) { - edm::LogVerbatim("SimpleSystematicsAnalysis") << "NO EVENTS => NO RESULTS"; - return; - } - if (selectedEvents_ == 0) { - edm::LogVerbatim("SimpleSystematicsAnalysis") << "NO SELECTED EVENTS => NO RESULTS"; - return; - } - - edm::LogVerbatim("SimpleSystematicsAnalysis") << "\n>>>> Begin of Weight systematics summary >>>>"; - edm::LogVerbatim("SimpleSystematicsAnalysis") << "Total number of analyzed data: " << originalEvents_ << " [events]"; - double originalAcceptance = double(selectedEvents_) / originalEvents_; - edm::LogVerbatim("SimpleSystematicsAnalysis") - << "Total number of selected data: " << selectedEvents_ << " [events], corresponding to acceptance: [" - << originalAcceptance * 100 << " +- " - << 100 * sqrt(originalAcceptance * (1. - originalAcceptance) / originalEvents_) << "] %"; - - for (unsigned int i = 0; i < weightTags_.size(); ++i) { - edm::LogVerbatim("SimpleSystematicsAnalysis") << "Results for Weight Tag: " << weightTags_[i].encode() << " ---->"; - - double acc_central = 0.; - double acc2_central = 0.; - if (weightedEvents_[i] > 0) { - acc_central = weightedSelectedEvents_[i] / weightedEvents_[i]; - acc2_central = weighted2SelectedEvents_[i] / weightedEvents_[i]; - } - double waverage = weightedEvents_[i] / originalEvents_; - edm::LogVerbatim("SimpleSystematicsAnalysis") - << "\tTotal Events after reweighting: " << weightedEvents_[i] << " [events]"; - edm::LogVerbatim("SimpleSystematicsAnalysis") - << "\tEvents selected after reweighting: " << weightedSelectedEvents_[i] << " [events]"; - edm::LogVerbatim("SimpleSystematicsAnalysis") - << "\tAcceptance after reweighting: [" << acc_central * 100 << " +- " - << 100 * sqrt((acc2_central / waverage - acc_central * acc_central) / originalEvents_) << "] %"; - double xi = acc_central - originalAcceptance; - double deltaxi = (acc2_central - (originalAcceptance + 2 * xi + xi * xi)) / originalEvents_; - if (deltaxi > 0) - deltaxi = sqrt(deltaxi); - else - deltaxi = 0.; - edm::LogVerbatim("SimpleSystematicsAnalysis") - << "\ti.e. [" << std::setprecision(4) << 100 * xi / originalAcceptance << " +- " << std::setprecision(4) - << 100 * deltaxi / originalAcceptance << "] % relative variation with respect to the original acceptance"; - } - edm::LogVerbatim("SimpleSystematicsAnalysis") << ">>>> End of Weight systematics summary >>>>"; -} - -///////////////////////////////////////////////////////////////////////////////////// -bool SimpleSystematicsAnalyzer::filter(edm::Event& ev, const edm::EventSetup&) { - originalEvents_++; - - bool selectedEvent = false; - edm::Handle triggerResults; - if (!ev.getByToken(triggerResultsToken_, triggerResults)) { - edm::LogError("SimpleSystematicsAnalysis") << ">>> TRIGGER collection does not exist !!!"; - return false; - } - - const edm::TriggerNames& trigNames = ev.triggerNames(*triggerResults); - unsigned int pathIndex = trigNames.triggerIndex(selectorPath_); - bool pathFound = (pathIndex < trigNames.size()); // pathIndex >= 0, since pathIndex is unsigned - if (pathFound) { - if (triggerResults->accept(pathIndex)) - selectedEvent = true; - } - //edm::LogVerbatim("SimpleSystematicsAnalysis") << ">>>> Path Name: " << selectorPath_ << ", selected? " << selectedEvent; - - if (selectedEvent) - selectedEvents_++; - - for (unsigned int i = 0; i < weightTags_.size(); ++i) { - edm::Handle weightHandle; - ev.getByToken(weightTokens_[i], weightHandle); - weightedEvents_[i] += (*weightHandle); - if (selectedEvent) { - weightedSelectedEvents_[i] += (*weightHandle); - weighted2SelectedEvents_[i] += pow((*weightHandle), 2); - } - } - - return true; -} - -DEFINE_FWK_MODULE(SimpleSystematicsAnalyzer); diff --git a/ElectroWeakAnalysis/Utilities/src/WeakEffectsWeightProducer.cc b/ElectroWeakAnalysis/Utilities/src/WeakEffectsWeightProducer.cc deleted file mode 100644 index e2be2eecd29a4..0000000000000 --- a/ElectroWeakAnalysis/Utilities/src/WeakEffectsWeightProducer.cc +++ /dev/null @@ -1,130 +0,0 @@ -////////// Header section ///////////////////////////////////////////// -#include "FWCore/Framework/interface/EDProducer.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -class WeakEffectsWeightProducer : public edm::EDProducer { -public: - WeakEffectsWeightProducer(const edm::ParameterSet& pset); - ~WeakEffectsWeightProducer() override; - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - -private: - edm::EDGetTokenT genParticlesToken_; - double rhoParameter_; - - double alphaQED(double q2); - double sigma0_qqbarll(unsigned int quark_type, double Q, double rho); -}; - -////////// Source code //////////////////////////////////////////////// -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "DataFormats/Common/interface/Handle.h" - -///////////////////////////////////////////////////////////////////////////////////// -WeakEffectsWeightProducer::WeakEffectsWeightProducer(const edm::ParameterSet& pset) - : // genParticlesToken_(consumes(pset.getUntrackedParameter ("GenParticlesTag", edm::InputTag("genParticles")))), - genParticlesToken_(consumes(edm::InputTag("genParticles"))), - rhoParameter_(pset.getUntrackedParameter("RhoParameter", 1.004)) { - produces(); -} - -///////////////////////////////////////////////////////////////////////////////////// -WeakEffectsWeightProducer::~WeakEffectsWeightProducer() {} - -///////////////////////////////////////////////////////////////////////////////////// -void WeakEffectsWeightProducer::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void WeakEffectsWeightProducer::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void WeakEffectsWeightProducer::produce(edm::Event& iEvent, const edm::EventSetup&) { - if (iEvent.isRealData()) - return; - - edm::Handle genParticles; - iEvent.getByToken(genParticlesToken_, genParticles); - unsigned int gensize = genParticles->size(); - - std::unique_ptr weight(new double); - - // Set default weight - (*weight) = 1.; - - // Only DY implemented for the time being - for (unsigned int i = 0; i < gensize; ++i) { - const reco::GenParticle& part = (*genParticles)[i]; - int status = part.status(); - if (status != 3) - break; - int id = part.pdgId(); - if (id != 23) - continue; - double Q = part.mass(); - unsigned int nmothers = part.numberOfMothers(); - if (nmothers <= 0) - continue; - size_t key = part.motherRef(0).key(); - unsigned int quark_id = abs((*genParticles)[key].pdgId()); - if (quark_id > 0 && quark_id < 6) { - (*weight) *= sigma0_qqbarll(quark_id, Q, rhoParameter_) / sigma0_qqbarll(quark_id, Q, 1.0); - } - break; - } - - //printf(" \t >>>>> WeakEffectsWeightProducer: Final weight = %f\n", (*weight)); - iEvent.put(std::move(weight)); -} - -double WeakEffectsWeightProducer::alphaQED(double q2) { - double pigaga = -0.010449239475366825 - 0.0023228196282246765 * log(q2) - 0.0288 - - 0.002980 * (log(q2 / 8464.) + 0.006307 * (q2 / 8464. - 1.)); - return (1. / 137.0359895) / (1. + pigaga); -} - -double WeakEffectsWeightProducer::sigma0_qqbarll(unsigned int quark_id, double Q, double rho) { - double MZ = 91.188; - double GZ = 2.495; - double sin2eff = 0.232; - - double vl = -0.5 + 2. * sin2eff; - double al = -0.5; - - double qq = 0.; - double vq = 0.; - double aq = 0.; - double alphaW = 2.7e-3 * pow(log(Q * Q / 80.4 / 80.4), 2); - double alphaZ = 2.7e-3 * pow(log(Q * Q / MZ / MZ), 2); - double sudakov_factor = 1.; - if (quark_id % 2 == 1) { - qq = -1. / 3.; - vq = -0.5 - 2. * qq * sin2eff; - aq = -0.5; - sudakov_factor = 1 + (-2.139 + 0.864) * alphaW - 0.385 * alphaZ; - } else { - qq = 2. / 3.; - vq = 0.5 - 2. * qq * sin2eff; - aq = 0.5; - sudakov_factor = 1 + (-3.423 + 1.807) * alphaW - 0.557 * alphaZ; - } - - double alfarn = alphaQED(Q * Q); - double zcoupl = sqrt(2.) * 1.166389e-5 * MZ * MZ / 4. / M_PI; - double gll = zcoupl * MZ / 3. * (vl * vl + al * al); - double gdd = zcoupl * MZ / 3. * (vq * vq + aq * aq); - double denom = (Q * Q - MZ * MZ) * (Q * Q - MZ * MZ) + pow(Q, 4) * GZ * GZ / MZ / MZ; - double qed = M_PI * qq * qq * alfarn * alfarn / Q / Q; - double zint = rho * 2 * M_PI * zcoupl * alfarn * qq * vq * vl * (Q * Q - MZ * MZ) / denom; - double zonly = rho * rho * 9. * M_PI * gll * gdd / MZ / MZ * Q * Q / denom; - - return (qed + zint + zonly) * sudakov_factor; -} - -DEFINE_FWK_MODULE(WeakEffectsWeightProducer); diff --git a/ElectroWeakAnalysis/Utilities/test/PdfSystematicsAnalyzer.py b/ElectroWeakAnalysis/Utilities/test/PdfSystematicsAnalyzer.py deleted file mode 100644 index 06c51419e8bbf..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/PdfSystematicsAnalyzer.py +++ /dev/null @@ -1,71 +0,0 @@ -### NOTE: This is prepared to run on the newest PDFs with LHAPDF >=3.8.4 -### so it requires local installation of LHAPDF libraries in order to run -### out of the box. Otherwise, substitute the PDF sets by older sets - -import FWCore.ParameterSet.Config as cms - -# Process name -process = cms.Process("PDFANA") - -# Max events -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(10) -) - -# Printouts -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(100) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('INFO') - ) -) - -# Input files (on disk) -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring("file:/ciet3b/data3/Fall10_All_MinimalAOD/WmunuPLUS/WmunuPLUS_1.root") -) - -# Produce PDF weights (maximum is 3) -process.pdfWeights = cms.EDProducer("PdfWeightProducer", - # Fix POWHEG if buggy (this PDF set will also appear on output, - # so only two more PDF sets can be added in PdfSetNames if not "") - FixPOWHEG = cms.untracked.string("CT10.LHgrid"), - GenTag = cms.untracked.InputTag("prunedGenParticles"), - PdfInfoTag = cms.untracked.InputTag("generator"), - PdfSetNames = cms.untracked.vstring( - "MSTW2008nlo68cl.LHgrid" - , "NNPDF20_100.LHgrid" - ) -) - -# Selector and parameters -process.goodMuonsForW = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon=1 && isTrackerMuon=1 && abs(eta)<2.1 && abs(globalTrack().dxy)<0.2 && pt>20. && globalTrack().normalizedChi2<10 && globalTrack().hitPattern().numberOfValidTrackerHits>10 && globalTrack().hitPattern().numberOfValidMuonHits>0 && globalTrack().hitPattern().numberOfValidPixelHits>0 && numberOfMatches>1 && (isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)<0.15*pt'), - filter = cms.bool(True) -) - -# Collect uncertainties for rate and acceptance -process.pdfSystematics = cms.EDFilter("PdfSystematicsAnalyzer", - SelectorPath = cms.untracked.string('pdfana'), - PdfWeightTags = cms.untracked.VInputTag( - "pdfWeights:CT10" - , "pdfWeights:MSTW2008nlo68cl" - , "pdfWeights:NNPDF20" - ) -) - -# Main path -process.pdfana = cms.Path( - process.pdfWeights - *process.goodMuonsForW -) - -process.end = cms.EndPath(process.pdfSystematics) diff --git a/ElectroWeakAnalysis/Utilities/test/SimpleSystematicsAnalyzer.py b/ElectroWeakAnalysis/Utilities/test/SimpleSystematicsAnalyzer.py deleted file mode 100644 index 4a99374343a41..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/SimpleSystematicsAnalyzer.py +++ /dev/null @@ -1,101 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process name -process = cms.Process("systAna") - -# Max events -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) - -# Printouts -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.enable = False -process.MessageLogger.cout = cms.untracked.PSet( - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('INFO'), - FwkReport = cms.untracked.PSet(reportEvery=cms.untracked.int32(100)) -) - -# Input files (on disk) -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring("file:/ciet3a/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") - #fileNames = cms.untracked.vstring("file:/data4/ZMuMu_Summer09-MC_31X_V3_preproduction_312-v1_RECO/20A5B350-6979-DE11-A6EF-001560AD3140.root") -) - -# Printout of generator information for the first event -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") -process.printGenParticles = cms.EDAnalyzer("ParticleListDrawer", - #maxEventsToPrint = cms.untracked.int32(-1), - maxEventsToPrint = cms.untracked.int32(10), - printVertex = cms.untracked.bool(False), - src = cms.InputTag("genParticles") -) - -### NOTE: the following WMN selectors require the presence of -### the libraries and plugins fron the ElectroWeakAnalysis/WMuNu package -### So you need to process the ElectroWeakAnalysis/WMuNu package with -### some old CMSSW versions (at least <=3_1_2, <=3_3_0_pre4) -# - -# Selector and parameters -# WMN fast selector (use W candidates in this example) -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") -# ZMM fast selector -#process.load("ElectroWeakAnalysis.Utilities.goldenZmmSelectionVBTF_cfi") - -# Produce event weights according to generated boson Pt -# Example corresponds to approximate weights to study -# systematic effects due to ISR uncertainties (Z boson as fake example) -process.isrWeight = cms.EDProducer("ISRWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), - ISRBinEdges = cms.untracked.vdouble( - 0., 1., 2., 3., 4., 5., 6., 7., 8., 9. - , 10., 11., 12., 13., 14., 15., 16., 17., 18., 19. - , 20., 21., 22., 23., 24., 25., 26., 27., 28., 29. - , 30., 31., 32., 33., 34., 35., 36., 37., 38., 39. - , 40., 41., 42., 43., 44., 45., 46., 47., 48., 49. - , 999999. - ), - PtWeights = cms.untracked.vdouble( - 0.800665, 0.822121, 0.851249, 0.868285, 0.878733 - , 0.953853, 0.928108, 0.982021, 1.00659 , 1.00648 - , 1.03218 , 1.04924 , 1.03621 , 1.08743 , 1.01951 - , 1.10519 , 0.984263, 1.04853 , 1.06724 , 1.10183 - , 1.0503 , 1.13162 , 1.03837 , 1.12936 , 0.999173 - , 1.01453 , 1.11435 , 1.10545 , 1.07199 , 1.04542 - , 1.00828 , 1.0822 , 1.09667 , 1.16144 , 1.13906 - , 1.27974 , 1.14936 , 1.23235 , 1.06667 , 1.06363 - , 1.14225 , 1.22955 , 1.12674 , 1.03944 , 1.04639 - , 1.13667 , 1.20493 , 1.09349 , 1.2107 , 1.21073 - ) -) - -# Produce event weights to estimate missing QED FSR terms -process.fsrWeight = cms.EDProducer("FSRWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), -) - -# Produce event weights to estimate missing QED ISR terms -process.isrGammaWeight = cms.EDProducer("ISRGammaWeightProducer", - GenTag = cms.untracked.InputTag("genParticles"), -) - -# Produce weights for systematics -process.systematicsAnalyzer = cms.EDFilter("SimpleSystematicsAnalyzer", - SelectorPath = cms.untracked.string('systAna'), - WeightTags = cms.untracked.VInputTag("isrWeight","fsrWeight","isrGammaWeight") -) - -# Main path -process.systAna = cms.Path( - process.printGenParticles - *process.isrWeight - *process.fsrWeight - *process.isrGammaWeight - *process.selectCaloMetWMuNus - #*process.goldenZMMSelectionSequence -) - -process.end = cms.EndPath(process.systematicsAnalyzer) diff --git a/ElectroWeakAnalysis/Utilities/test/distCaloTCMuMET.py b/ElectroWeakAnalysis/Utilities/test/distCaloTCMuMET.py deleted file mode 100644 index 058a5712cfb6b..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/distCaloTCMuMET.py +++ /dev/null @@ -1,115 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("distortedMuMET") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -# 'file:/ciet3b/data4/Spring10_10invpb_AODRED/Wmunu/Wmunu_1.root' - '/store/mc/Spring10/MinBias/GEN-SIM-RECO/START3X_V26A_356ReReco-v1/0009/FEFC70B6-F53D-DF11-B57E-003048679150.root' - ) -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('distortedMuons'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(-1) ), - #threshold = cms.untracked.string('INFO') - threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - - -# GEN-REC muon matching -process.genMatchMap = cms.EDFilter("MCTruthDeltaRMatcherNew", - src = cms.InputTag("muons"), - matched = cms.InputTag("genParticles"), -# matched = cms.InputTag("prunedGenParticles"), - distMin = cms.double(0.15), - matchPDGId = cms.vint32(13) -) - -# Create a new "distorted" Muon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducer", - MuonTag = cms.untracked.InputTag("muons"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - - EtaBinEdges = cms.untracked.vdouble(-3.,3.), # one more entry than next vectors - - ShiftOnOneOverPt = cms.untracked.vdouble(1.e-3), #in [1/GeV] units - RelativeShiftOnPt = cms.untracked.vdouble(0.), # relative - UncertaintyOnOneOverPt = cms.untracked.vdouble(3.e-3), #in [1/GeV] units - RelativeUncertaintyOnPt = cms.untracked.vdouble(3.e-3), # relative - - EfficiencyRatioOverMC = cms.untracked.vdouble(1.) -) - - -# mm -# mm -# mm now add distorted MET stuff -# mm - - -# mm -# mm first distort Calo -# mm - -process.load("FWCore.MessageService.MessageLogger_cfi") -## configure geometry -process.load("Configuration.StandardSequences.Geometry_cff") -## configure B field -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff") -process.GlobalTag.globaltag = 'START3X_V26::All' - -process.load("ElectroWeakAnalysis.Utilities.distMuonMETValueMapProducer_cff") -process.load("ElectroWeakAnalysis.Utilities.MetdistMuonCorrections_cff") - -# mm -# mm then distort TC -# mm - -process.load("ElectroWeakAnalysis.Utilities.distMuonTCMETValueMapProducer_cff") -process.load("ElectroWeakAnalysis.Utilities.distTCMET_cfi") - - -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('distMuonMETevents.root') -) -process.out.outputCommands = cms.untracked.vstring( 'drop *' ) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_genParticles_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_offlineBeamSpot_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_TriggerResults_*_HLT')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_hltTriggerSummaryAOD_*_HLT')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_muons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_distortedMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep recoTracks_globalMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep recoTracks_standAloneMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_met_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_corMetGlobalMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_distMetGlobalMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_tcMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_disttcMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_pfMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_ak5CaloJets_*_*')) - - - -# Steering the process -process.distortedMuMET = cms.Path( - process.genMatchMap+process.distortedMuons - +process.distmuonMETValueMapProducer+process.distMetGlobalMuons - +process.distmuonTCMETValueMapProducer+process.disttcMet -# *process.selectCaloMetWMuNus -) - -process.end = cms.EndPath(process.out) -#process.end = cms.EndPath(process.wmnOutput) - diff --git a/ElectroWeakAnalysis/Utilities/test/distPFMuMET.py b/ElectroWeakAnalysis/Utilities/test/distPFMuMET.py deleted file mode 100644 index 73ed0e40bc5ea..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/distPFMuMET.py +++ /dev/null @@ -1,166 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("REPROD") - - - - - -# mm -# mm -# mm - -# GEN-REC muon matching -process.genMatchMap = cms.EDFilter("MCTruthDeltaRMatcherNew", - src = cms.InputTag("muons"), - matched = cms.InputTag("genParticles"), - distMin = cms.double(0.15), - matchPDGId = cms.vint32(13) -) - - - - - -# Create a new "distorted" PFCandidate collection -process.distortedPFCand = cms.EDFilter("DistortedPFCandProducer", - MuonTag = cms.untracked.InputTag("muons"), - PFTag = cms.untracked.InputTag("particleFlow"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - - EtaBinEdges = cms.untracked.vdouble(-3.,3.), # one more entry than next vectors - - ShiftOnOneOverPt = cms.untracked.vdouble(1.e-3), #in [1/GeV] units - RelativeShiftOnPt = cms.untracked.vdouble(0.), # relative - UncertaintyOnOneOverPt = cms.untracked.vdouble(3.e-3), #in [1/GeV] units - RelativeUncertaintyOnPt = cms.untracked.vdouble(3.e-3), # relative - - EfficiencyRatioOverMC = cms.untracked.vdouble(1.) -) - - - -# Create the old distortedMuon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducer", - MuonTag = cms.untracked.InputTag("muons"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - - EtaBinEdges = cms.untracked.vdouble(-3.,3.), # one more entry than next vectors - - ShiftOnOneOverPt = cms.untracked.vdouble(1.e-3), #in [1/GeV] units - RelativeShiftOnPt = cms.untracked.vdouble(0.), # relative - UncertaintyOnOneOverPt = cms.untracked.vdouble(3.e-3), #in [1/GeV] units - RelativeUncertaintyOnPt = cms.untracked.vdouble(3.e-3), # relative - - EfficiencyRatioOverMC = cms.untracked.vdouble(1.) -) - - - - - - -# mm -# mm -# mm - - - -process.load("Configuration.StandardSequences.Reconstruction_cff") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff') -process.GlobalTag.globaltag = 'START3X_V26A::All' -#process.load("Configuration.StandardSequences.FakeConditions_cff") - -# process.Timing =cms.Service("Timing") -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( -# 'file:/data4/Wmunu_Summer09-MC_31X_V3-v1_GEN-SIM-RECO/0009/76E35258-507F-DE11-9A21-0022192311C5.root' - '/store/mc/Spring10/MinBias/GEN-SIM-RECO/START3X_V26A_356ReReco-v1/0009/FEFC70B6-F53D-DF11-B57E-003048679150.root' - ), - secondaryFileNames = cms.untracked.vstring(), - noEventSort = cms.untracked.bool(True), - duplicateCheckMode = cms.untracked.string('noDuplicateCheck') -) - -#process.MessageLogger = cms.Service("MessageLogger", -# rectoblk = cms.untracked.PSet( -# threshold = cms.untracked.string('INFO') -# ), -# destinations = cms.untracked.vstring('rectoblk') -#) - -process.dump = cms.EDAnalyzer("EventContentAnalyzer") - -process.load("ElectroWeakAnalysis.Utilities.distPFMET_cfi") - - -process.p1 = cms.Path(process.genMatchMap+process.distortedMuons - +process.distortedPFCand+process.distpfMet) - - -# And the output. - -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('PFMuMETevents.root') -) - - -process.out.outputCommands = cms.untracked.vstring( 'drop *' ) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_genParticles_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_offlineBeamSpot_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_TriggerResults_*_HLT')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_hltTriggerSummaryAOD_*_HLT')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_muons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_particleFlow_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_distortedMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_distortedPFCand_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep recoTracks_globalMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep recoTracks_standAloneMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_met_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_corMetGlobalMuons_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_tcMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_pfMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_distpfMet_*_*')) -process.out.outputCommands.extend(cms.untracked.vstring('keep *_ak5CaloJets_*_*')) - - -process.outpath = cms.EndPath(process.out) - - - - -# And the logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( - makeTriggerResults = cms.untracked.bool(True), - wantSummary = cms.untracked.bool(True), - Rethrow = cms.untracked.vstring('Unknown', - 'ProductNotFound', - 'DictionaryNotFound', - 'InsertFailure', - 'Configuration', - 'LogicError', - 'UnimplementedFeature', - 'InvalidReference', - 'NullPointerError', - 'NoProductSpecified', - 'EventTimeout', - 'EventCorruption', - 'ModuleFailure', - 'ScheduleExecutionFailure', - 'EventProcessorFailure', - 'FileInPathError', - 'FatalRootError', - 'NotFound') -) - -process.MessageLogger.cerr.FwkReport.reportEvery = 1 - - diff --git a/ElectroWeakAnalysis/Utilities/test/distortedMET.py b/ElectroWeakAnalysis/Utilities/test/distortedMET.py deleted file mode 100644 index 6a737e5e73eb8..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/distortedMET.py +++ /dev/null @@ -1,56 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("distortMET") - -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(100) ), - threshold = cms.untracked.string('INFO') - #threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -# Selector and parameters -process.distortedMET = cms.EDFilter("DistortedMETProducer", - MetTag = cms.untracked.InputTag("met"), - MetScaleShift = cms.untracked.double(0.2) -) - -### NOTE: the following WMN selectors require the presence of -### the libraries and plugins fron the ElectroWeakAnalysis/WMuNu package -### So you need to process the ElectroWeakAnalysis/WMuNu package with -### some old CMSSW versions (at least <=3_1_2, <=3_3_0_pre4) -# - -# WMN fast selector (use W candidates in this example) -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.AODSIMEventContent.outputCommands.append('keep *_distortedMET_*_*') -process.myEventContent = process.AODSIMEventContent -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('distortMET') - ), - fileName = cms.untracked.string('selectedEvents.root') -) - -# Steering the process -process.distortMET = cms.Path( - process.distortedMET - *process.selectCaloMetWMuNus -) -process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/Utilities/test/distortedMuons.py b/ElectroWeakAnalysis/Utilities/test/distortedMuons.py deleted file mode 100644 index 5cde01634004b..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/distortedMuons.py +++ /dev/null @@ -1,79 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("distortMuons") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3-v1_GEN-SIM-RECO/0009/76E35258-507F-DE11-9A21-0022192311C5.root") - fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('distortedMuons'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(1000) ), - #threshold = cms.untracked.string('INFO') - threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -# GEN-REC muon matching -process.genMatchMap = cms.EDFilter("MCTruthDeltaRMatcherNew", - src = cms.InputTag("muons"), - matched = cms.InputTag("genParticles"), - distMin = cms.double(0.15), - matchPDGId = cms.vint32(13) -) - -# Create a new "distorted" Muon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducer", - MuonTag = cms.untracked.InputTag("muons"), - GenMatchTag = cms.untracked.InputTag("genMatchMap"), - - EtaBinEdges = cms.untracked.vdouble(-2.1,2.1), # one more entry than next vectors - - ShiftOnOneOverPt = cms.untracked.vdouble(1.e-3), #in [1/GeV] units - RelativeShiftOnPt = cms.untracked.vdouble(0.), # relative - UncertaintyOnOneOverPt = cms.untracked.vdouble(2.e-3), #in [1/GeV] units - RelativeUncertaintyOnPt = cms.untracked.vdouble(5.e-3), # relative - - EfficiencyRatioOverMC = cms.untracked.vdouble(0.90) -) - -### NOTE: the following WMN selectors require the presence of -### the libraries and plugins fron the ElectroWeakAnalysis/WMuNu package -### So you need to process the ElectroWeakAnalysis/WMuNu package with -### some old CMSSW versions (at least <=3_1_2, <=3_3_0_pre4) -# - -# WMN fast selector (use W candidates in this example) -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") -process.corMetWMuNus.MuonTag = cms.untracked.InputTag("distortedMuons") -process.selcorMet.MuonTag = cms.untracked.InputTag("distortedMuons") - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.AODSIMEventContent.outputCommands.append('keep *_distortedMuons_*_*') -process.myEventContent = process.AODSIMEventContent -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('distortMuons') - ), - fileName = cms.untracked.string('selectedEvents.root') -) - -# Steering the process -process.distortMuons = cms.Path( - process.genMatchMap - *process.distortedMuons - *process.selectCaloMetWMuNus -) - -process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/Utilities/test/distortedMuonsFromDB.py b/ElectroWeakAnalysis/Utilities/test/distortedMuonsFromDB.py deleted file mode 100644 index a2a2fb3f31902..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/distortedMuonsFromDB.py +++ /dev/null @@ -1,112 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("distortMuonsFromDB") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3-v1_GEN-SIM-RECO/0009/76E35258-507F-DE11-9A21-0022192311C5.root") - fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('distortedMuons'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(1000) ), - #threshold = cms.untracked.string('INFO') - threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -# Database for scale shift if process.distortedMuons.UseDBForMomentumScale = True -process.load("CondCore.DBCommon.CondDBCommon_cfi") -process.poolDBESSource1 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2) - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Scale_OctoberExercise_EWK_InnerTrack'), - label = cms.untracked.string('') - ) - ) -) -process.poolDBESSource2 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2) - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel') - ) - ) -) -process.poolDBESSource3 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2) - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel') - ) - ) -) - -# Create a new "distorted" Muon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducerFromDB", - MuonTag = cms.untracked.InputTag("muons"), - - DBScaleLabel = cms.untracked.string(''), - DBDataResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - DBMCResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), -) - -### NOTE: the following WMN selectors require the presence of -### the libraries and plugins fron the ElectroWeakAnalysis/WMuNu package -### So you need to process the ElectroWeakAnalysis/WMuNu package with -### some old CMSSW versions (at least <=3_1_2, <=3_3_0_pre4) -# - -# WMN fast selector (use W candidates in this example) -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") -process.corMetWMuNus.MuonTag = cms.untracked.InputTag("distortedMuons") -process.selcorMet.MuonTag = cms.untracked.InputTag("distortedMuons") - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.AODSIMEventContent.outputCommands.append('keep *_distortedMuons_*_*') -process.myEventContent = process.AODSIMEventContent -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('distortMuons') - ), - fileName = cms.untracked.string('selectedEvents.root') -) - -# Steering the process -process.distortMuons = cms.Path( - process.distortedMuons - *process.selectCaloMetWMuNus -) - -process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/Utilities/test/muonsWithPFIso.py b/ElectroWeakAnalysis/Utilities/test/muonsWithPFIso.py deleted file mode 100644 index 8460bc4aa915c..0000000000000 --- a/ElectroWeakAnalysis/Utilities/test/muonsWithPFIso.py +++ /dev/null @@ -1,60 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("muonsWithPFIso") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring("file:/ciet3b/data4/Spring10_10invpb_AODRED/Wmunu_1.root") -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('muonsWithPFIso'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(100) ), - #threshold = cms.untracked.string('INFO') - threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -# Create a new reco::Muon collection with PFLow Iso information -process.muonsWithPFIso = cms.EDFilter("MuonWithPFIsoProducer", - MuonTag = cms.untracked.InputTag("muons") - , PfTag = cms.untracked.InputTag("particleFlow") - , UsePfMuonsOnly = cms.untracked.bool(False) - , TrackIsoVeto = cms.untracked.double(0.01) - , GammaIsoVeto = cms.untracked.double(0.07) - , NeutralHadronIsoVeto = cms.untracked.double(0.1) -) - -# WMN fast selector (use W candidates in this example) -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") -process.pfMetWMuNus.MuonTag = cms.untracked.InputTag("muonsWithPFIso") -process.selpfMet.MuonTag = cms.untracked.InputTag("muonsWithPFIso") -# Use the following line only for old Summer09 samples (new: "ak5", old "antikt5") -#process.selpfMet.JetTag = cms.untracked.InputTag("antikt5PFJets") - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.AODSIMEventContent.outputCommands.append('keep *_muonsWithPFIso_*_*') -process.myEventContent = process.AODSIMEventContent -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('muonsWithPFIsoSelection') - ), - fileName = cms.untracked.string('selectedEvents.root') -) - -# Steering the process -process.muonsWithPFIsoSelection = cms.Path( - process.muonsWithPFIso* - process.selectPfMetWMuNus -) - -process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/WENu/BuildFile.xml b/ElectroWeakAnalysis/WENu/BuildFile.xml deleted file mode 100644 index bd87e12c40810..0000000000000 --- a/ElectroWeakAnalysis/WENu/BuildFile.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/ElectroWeakAnalysis/WENu/README b/ElectroWeakAnalysis/WENu/README deleted file mode 100644 index a14e313c661b3..0000000000000 --- a/ElectroWeakAnalysis/WENu/README +++ /dev/null @@ -1,189 +0,0 @@ -NOTES AND INSTRUCTIONS FOR THE CODE -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - -This code creates Wenu or Zee candidates from some configurable trigger stream -and applies some selections. It contains the following files: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -source and header files: ------------------------- -WenuCandidateFilter.cc -ZeeCandidateFilter.cc -WenuPlots.h and WenuPlots.cc -ZeePlots.h and ZeePlots.cc - -cfg files: ----------- -pat_WenuPlots.py aod_WenuPlots.py -pat_ZeePlots.py aod_ZeePlots.py - -macros: -------- -PlotCombiner.cc -inputFiles - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -For details with respect to the definitions of candidates check the -implementation notes in all source files. - -There are 2 ways to run this code: either running the whole PAT sequence -(recommended) or bypassing pat and run with whatever exists precalculated -in the AOD collections. - -Run the code without running the PAT sequence -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Quick instruction: cmsRun aod_WenuPlots.py or cmsRun aod_ZeePlots.py - - -An interface that is provided aod2patFilter.cc creates pat::ElectronCollection -and pat::METCollection from AOD. This uses the default pat constructors. -Isolations are added manually to the the PAT objects in the following way: - myElectron.setTrackIso(elec->dr03TkSumPt()); - myElectron.setECalIso(elec->dr04EcalRecHitSumEt()); - myElectron.setHCalIso(elec->dr04HcalTowerSumEt()); -Please edit this part accordingly, if you prefere different isolation -definitions. No facility to calculate your own isolations is provided. If you -want to do so you have to run the PAT sequence yourself. (see next session) - - -Running the whole PAT sequence yourself -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Quick instruction: cmsRun pat_WenuPlots.py or cmsRun pat_ZeePlots.py - ->>>>>CMSSW versions 3_1_X - -The software has been tested and run successfully with the following tags: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Test Release based on: CMSSW_3_1_2 ---- Tag --- -------- Package -------- -V01-08-08 CondFormats/JetMETObjects -V05-06-05 DataFormats/PatCandidates -V01-08-04-01 JetMETCorrections/Algorithms -V01-08-21 JetMETCorrections/Configuration -V02-09-05 JetMETCorrections/Modules -V07-08-22-01 PhysicsTools/PatAlgos -V03-07-06 PhysicsTools/PatUtils -V04-02-02 PhysicsTools/PFCandProducer -V02-10-01 RecoJets/JetAlgorithms -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -However, it can be run just with CMSSW_3_1_2 without any further tags and -should produce the same results. -For 3_1_4 and above no extra tags are required. - ->>>>>CMSSW versions 3_X where X > 1 -The code should compile and run properly without any extra tags. -Notice that any change that has been done in the header is backwards compatible -i.e. it compiles, runs and produces the same results, if you use the recommended -configuration files pat_WenuPlots.py and pat_ZeePlots.py. - - -Instructions: -^^^^^^^^^^^^^ - (the following hold for both Wenu and Zee plots) - In the cfg file that is provided you have to edit the following lines:.... - * line 17: the source - these are the input files ->>> * line 30: select your Global Tag: - STARTUP31X_V4::All this is good for the low lumi trigger menu - MC_31X_V5::All this is good for the highlumi trigger menu ->>> * line 71: the MET collection of your preference - LINE 72: modify the "metSource" to take whatever met you like - the default that is given is "met","","RECO" that is - uncorrected Calo MET. ->>> * line 96: select your Trigger path. There are 3 parameters that you set: - LINE 96: HLT_process_name : high (HLT) or low (HLT8E29) lumi - menu.............................. - LINE 98 and 100: the path and the filter names. For your...... - convenience all the correct pairs are given.. - at the end of the cfg file................... ->>> * line102: the Filter: select the parameters that you want. ONLY these... - parameters have to be changed:................................ - ETCut double the ET cut in the SC ET of the candidate - METCut double the MET cut in the MET of the event - vetoSecondElectronEvents bool (only Wenu) on/off rejection of - events with a 2nd electron with ET>see nextpara - ETCut2ndEle double the ET cut for the 2nd electron rejection - electronMatched2HLT bool demand the electron to be matched to - an HLT object (in Zee means at least one electron) - electronMatched2HLT_DR double the DR for the HLT matching ->>> * line124: set the selection cuts that you prefere........................ ->>> * line159: set the cuts that you want to invert........................... ->>> * line168: set the name of your selection PSet............................ - - -How to add the histograms and make the final plots -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -(applies to all versions) - -After you have done these changes you can run over the grid over the different -datasets. The histograms are stored in root trees that you can hadd together. -For example if you have run over QCD Em enriched samples with say 10 jobs you -will finally get out 10 files -histos_1.root, histos_2, ...., histos_10.root -that you can combine -hadd histos_qcd.root histos_1.root histos_2.root .... - -Having added the different bkgs together you set up file "inputFiles" -with the following format: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# zee or wenu -wenu -# file name, type (sig, qcd, bce, gje, ewk), weight -histos_wenu.root sig 1.46 -histos_q20_30.root qcd 0 -histos_q30_80.root qcd 100. -histos_q80_170.root qcd 0 -histos_b20_30.root bce 0 -histos_b30_80.root bce 0 -histos_b80_170.root bce 0 -histos_zee.root ewk 0 -histos_wtaunu.root ewk 0 -histos_ztautau.root ewk 0 -histos_gj15.root gje 0 -histos_gj20.root gje 0 -histos_gj25.root gje 10.12 -histos_gj30.root gje 0 -histos_gj35.root gje 0 -histos_wmunu.root ewk 0 -histos_ttbar.root ewk 0 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -lines that start with # are considered to be comments -line 2 has wenu or zee. From line 4 the list of the histo files are listed -(first word) then a type that could be sig,qcd,bce, gj or ewk in order to -discriminate among different sources of bkgs and finally the weight that we -want to weight the histogram entries. This particular example is for Wenu. For -Zee one has to put type sig in the zee file and ewk in the Wenu file. The order -of the files is arbitrary. Files with weight 0 will be ignored. -After you have set up this code you run a root macro to combine the plots. -You can do (not recommended - it actually crushes - to be debugged) -root -b PlotCombiner.cc -or to compile it within root (recommended) -root -b -root [1] .L PlotCombiner.cc++ -root [2] PlotCombiner() - -and you finally get the plots. - -Notes on Data Handling: -^^^^^^^^^^^^^^^^^^^^^^^ - -The code can also run with data. What you have to change is the Global Tag -(refer to the twiki page: -https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideFrontierConditions ) -and remove references in the cfg with respect to generator level -quantities that pat default may need. - -Contact - -Nikolaos.Rompotis@Cern.ch - -18Sept09 - -Nikolaos Rompotis -Imperial College London - - - diff --git a/ElectroWeakAnalysis/WENu/doc/logForChangesInTheWenuCode.txt b/ElectroWeakAnalysis/WENu/doc/logForChangesInTheWenuCode.txt deleted file mode 100644 index 2ce298f305aa8..0000000000000 --- a/ElectroWeakAnalysis/WENu/doc/logForChangesInTheWenuCode.txt +++ /dev/null @@ -1,120 +0,0 @@ -# file to keep track of the changes in the Wenu and Zee Code -# Nikolaos Rompotis - - -v_29Oct09_2 ElectroWeakAnalysis/WENu ElectroWeakAnalysis/ZEE - version for 3_1_4, used with the OctX - -v_10Dec09_v1 ElectroWeakAnalysis/WENu ElectroWeakAnalysis/ZEE - these work in 3_1 and later versions. There was a change in the PAT - so that we cannot use ecalIso() etc methods, but we have to use instead - userIsolation(pat::ecalIso) when we want to access the pat produced isolations -Note: from 3_3_1 onwards the pat::Electron object contains the ecalIso() etc functions - that overload the pat::Lepton classes, giving the egamma stored values of the - isolations. That was not the case in the previous versions - - -v_05Jan10_v1 ElectroWeakAnalysis/WENu ElectroWeakAnalysis/ZEE - the same as before, but now the file - DataFormats/METReco/interface/METCollection.h - is obsolete. We can just replace this file with METFwd.h - however it was decided to remove from the tag the file aod2patFilterWenu.cc - and aod2patFilterZee.cc, because their use is deprecated -v_05Jan10_v3 ElectroWeakAnalysis/WENu ElectroWeakAnalysis/ZEE -or V00-01-02 - a line in WENu/src/WenuPlots.cc was commented out so that there is no - warning in compilation. The name V00-01-02 was done for compatibility - CMS tag collector format and is is identical to v_05Jan10_v3 - - - -/ZEE V00-01-02-01 branch B3_4_X this is for a clean up in the TFileService - all the following should be based on that - -/ZEE V00-01-02 -/WENu V00-01-02 tags for 3_4_X release - - -/ZEE V00-01-07 -/WENu V00-01-06 tags for 3_6_X release - -/ZEE V00-01-08 -/WENu V00-01-07 tags for 3_6_X release (again) - - -v_19Feb10_Hbk: this is a back up for the WENu head, compiled and tested in 3_5_1 -v_19Feb10_idmaps: this is the first implementation of the idmaps in WENu - there is a caveat there, only pat_WenuPlots.py is updated from the - cfgs - -v_23Feb10_convrej_idmaps: adding on top of v_19Feb10_idmaps e/p and tip as variables - with default values 1000. in WenuCandidateFilter added the option - to use egamma conversion rejection, valid first PXB hit and - expected missing hits criteria. only pat_WenuPlots.py is updated. - -v_25Feb10_convrej_idmaps : adding the option to calculate and store in the electron - conversion rejection and hit pattern info. only pat_WenuPlots.py is updated. - This tag also applies to ZEE - same in the zee candidate producer. But now the option to have separate cuts in each of the 2 electrons separately is added. - Caveat: the electrons are distinguished from the highest ET electron. Hence the selection 1 - is applied to the highest et electron and selection 2 to the other one. We may need something different - in data, but we can change it if we like. the basic framework is there. - only pat_ZeePlots.py is updated. - -v_1March10_convrej_idmaps : adding the option the 2nd ele id veto to be applied to - an electron that passes electron id. again only pat_WenuPlots.py - is updated. applicable to WENu only - -/WENu v_26May10_Spring10MC : test version adding python directory with the spring10 tuned selections - bug fixes and everything should work for Spring10 MC samples - this tag works with RecoEgamma/ElectronIdentification V00-03-07-02 - the tag is for the correct implementation of the electron ID cfgs in the python dir - has to be updated for the latest tag of electron ID - -/WENu V00-01-07-01 : version that works with CMSSW_3_6_1_patch2 and - V00-03-07-03 RecoEgamma/ElectronIdentification - Contains configuration valid for both data and MC, Spring10 selections implemented. - -ZEE V00-01-08-02 : version that works with CMSSW_3_6_1_patch2 and - V00-03-07-03 RecoEgamma/ElectronIdentification - Contains configuration valid for both data and MC, Spring10 selections implemented. - Similar to the WENu tag V00-01-07-01 - -V00-01-07-02 update of python configuration with the new cuts (Paolo's limits) - -/WENu V00-01-07-03 same as V00-01-07-02 (i.e. Paolo's new limits) but all cfg.py are - updated so that you have 80% selection plus no 2nd ele with 95% selection, 25GeV - and photon 10 trigger - -/ZEE V00-01-08-03 made to be similar to the WENu V00-01-07-03 - V00-01-08-04 to correct a bug in pushing back the 2nd leg variables, thanks to Jie Chen - -/WENu V00-01-08-01 major upgrade: VBTF ntuple production for CMSSW_3_6_1_patch4 (bug fix to V00-01-08) - Needs the following tags: - RecoEgamma/ElectronIdentification V00-03-12 - RecoEgamma/EgammaTools V00-05-05 - CondFormats/JetMETObjects V01-09-01-09 - -V00-01-08-02 update, bug corrected -V00-01-08-03 update, 2nd ele included, same other tags as before -V00-01-08-04 update, bugs corrected -V00-01-08-05 same as before, but removing Delta eta cut for the Endcaps - EGAMMA ICHEP recommendation -V00-01-08-06 bug corrected in the HLT geometrical matching - option added to store all the parameters of the second electron -V00-01-08-07 the primary vtx information is moved from the filter to the analyzer - more variables stored: Rho of the SC, number of tracks per primary vtx (as a vector of ints) - norm chi2 per primary vtx, both for offlineVertexCollection and offlineVertexCollectionBS -V00-01-08-08 slightly updated version of the previous tag, with a small "bug" corrected (set up to use - the ideal magnetic field even in data if the current is not stored in the event). Intended - to be the last tag for the 3_6_X configuration. This tag can compile on 3_8_2 without further - tags - however, wait for the 38 recipee, regarding JEC and egamma misalignment corrections. -V00-01-08-09 tag for 361: this is for the 3/pb VBTF ntuple production. 2 changes: - a. HoE cut in the cfgs becomes 0.15 - only WP95 is affected - b. trigger collection in WenuCandidateFilter is updated -V00-01-08-10 bug fix on the previous tag on the extra triggers in OR. The extra triggers were not looked for - correctly and if they there first in the list of event triggers would not appear at all - -V00-02-01 first dedicated tag to 38: the configuration has changed such that now the Deta cut in the EE is - applied. Still needs extra tags: V00-03-13 RecoEgamma/ElectronIdentification --- -latest update: 4 Nov 2010 \ No newline at end of file diff --git a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmer.h b/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmer.h deleted file mode 100644 index 51465aed473b4..0000000000000 --- a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmer.h +++ /dev/null @@ -1,199 +0,0 @@ -#ifndef GenPurposeSkimmer_H -#define GenPurposeSkimmer_H - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -// other files -// root + maths -#include "TFile.h" -#include "TBranch.h" -#include "TTree.h" -#include "TVector.h" -#include "TString.h" -#include "TMath.h" -// -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/EgammaCandidates/interface/Electron.h" -#include "DataFormats/EgammaCandidates/interface/ElectronFwd.h" -// -#include "DataFormats/Common/interface/TriggerResults.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" -#include "DataFormats/HLTReco/interface/TriggerRefsCollections.h" -#include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" - -// -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/METReco/interface/CaloMET.h" -#include "DataFormats/METReco/interface/CaloMETFwd.h" -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/GenMET.h" -#include "DataFormats/METReco/interface/GenMETFwd.h" - -#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" -// -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/Common/interface/ValueMap.h" - -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/Math/interface/deltaR.h" -// -// class decleration -// - -class GenPurposeSkimmer : public edm::EDAnalyzer { -public: - explicit GenPurposeSkimmer(const edm::ParameterSet&); - ~GenPurposeSkimmer(); - -private: - virtual void beginJob(const edm::EventSetup&); - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void endJob(); - - // ----------member data --------------------------- - - std::string outputFile_; - int tree_fills_; - - edm::InputTag ElectronCollection_; - edm::InputTag MCCollection_; - edm::InputTag MetCollectionTag_; - edm::InputTag tcMetCollectionTag_; - edm::InputTag pfMetCollectionTag_; - edm::InputTag t1MetCollectionTag_; - edm::InputTag t1MetCollectionTagTwiki_; - edm::InputTag genMetCollectionTag_; - // - edm::InputTag HLTCollectionE29_; - edm::InputTag HLTCollectionE31_; - edm::InputTag HLTTriggerResultsE29_; - edm::InputTag HLTTriggerResultsE31_; - edm::InputTag HLTFilterType_[25]; - std::string HLTPath_[25]; - - TTree* probe_tree; - TFile* histofile; - // - - //probe SC variables - double probe_sc_eta_for_tree[4]; - double probe_sc_phi_for_tree[4]; - double probe_sc_et_for_tree[4]; - int probe_sc_pass_fiducial_cut[4]; - int probe_sc_pass_et_cut[4]; - - //probe electron variables - double probe_ele_eta_for_tree[4]; - double probe_ele_phi_for_tree[4]; - double probe_ele_et_for_tree[4]; - double probe_ele_Xvertex_for_tree[4]; - double probe_ele_Yvertex_for_tree[4]; - double probe_ele_Zvertex_for_tree[4]; - double probe_ele_tip[4]; - int probe_charge_for_tree[4]; - int probe_index_for_tree[4]; - - //efficiency cuts - int probe_ele_pass_fiducial_cut[4]; - int probe_ele_pass_et_cut[4]; - int probe_pass_recoEle_cut[4]; - int probe_pass_iso_cut[4]; - // - double probe_isolation_value[4]; - double probe_iso_user[4]; - // - double probe_ecal_isolation_value[4]; - double probe_ecal_iso_user[4]; - - double probe_hcal_isolation_value[4]; - double probe_hcal_iso_user[4]; - // - int probe_classification_index_for_tree[4]; - int probe_pass_tip_cut[4]; - // - int probe_pass_id_robust_loose[4]; - int probe_pass_id_robust_tight[4]; - int probe_pass_id_loose[4]; - int probe_pass_id_tight[4]; - double probe_ele_hoe[4]; - double probe_ele_shh[4]; - double probe_ele_sihih[4]; - double probe_ele_dhi[4]; - double probe_ele_dfi[4]; - double probe_ele_eop[4]; - double probe_ele_pin[4]; - double probe_ele_pout[4]; - double probe_ele_e5x5[4]; - double probe_ele_e2x5[4]; - double probe_ele_e1x5[4]; - - // - int probe_pass_trigger_cut[4][25]; - double probe_hlt_matched_dr[4]; - // - double MCMatch_Deta_; - double MCMatch_Dphi_; - int probe_mc_matched[4]; - double probe_mc_matched_deta[4]; - double probe_mc_matched_dphi[4]; - double probe_mc_matched_denergy[4]; - int probe_mc_matched_mother[4]; - - //event variables - int numberOfHLTFilterObjects[25]; - - int event_HLTPath[25]; - - double BarrelMaxEta; - double EndcapMinEta; - double EndcapMaxEta; - - double ProbeSCMinEt; - double ProbeRecoEleSCMaxDE; - - double ProbeHLTObjMaxDR; - double RecoEleSeedBCMaxDE; - double GsfTrackMinInnerPt; - - int elec_number_in_event; - int elec_1_duplicate_removal; - - double event_MET, event_MET_sig; - // double event_MET_eta; - double event_MET_phi; - double event_tcMET, event_tcMET_sig, event_tcMET_phi; - double event_pfMET, event_pfMET_sig; - // double event_pfMET_eta; - double event_pfMET_phi; - double event_genMET, event_genMET_sig; - // double event_genMET_eta; - double event_genMET_phi; - // - double event_t1MET, event_t1MET_phi, event_t1MET_sig; - double event_twikiT1MET, event_twikiT1MET_phi, event_twikiT1MET_sig; -}; - -#endif diff --git a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerAcceptance.h b/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerAcceptance.h deleted file mode 100644 index 273707984db38..0000000000000 --- a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerAcceptance.h +++ /dev/null @@ -1,221 +0,0 @@ -#ifndef GenPurposeSkimmerAcceptance_H -#define GenPurposeSkimmerAcceptance_H - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -// other files -// root + maths -#include "TFile.h" -#include "TBranch.h" -#include "TTree.h" -#include "TVector.h" -#include "TString.h" -#include "TMath.h" -// -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/EgammaCandidates/interface/Electron.h" -#include "DataFormats/EgammaCandidates/interface/ElectronFwd.h" -// -#include "DataFormats/Common/interface/TriggerResults.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" -#include "DataFormats/HLTReco/interface/TriggerRefsCollections.h" -#include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" - -// -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/METReco/interface/CaloMET.h" -#include "DataFormats/METReco/interface/CaloMETFwd.h" -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/GenMET.h" -#include "DataFormats/METReco/interface/GenMETFwd.h" - -#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" -// -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/Common/interface/ValueMap.h" - -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/Math/interface/deltaR.h" -// -// class decleration -// - -class GenPurposeSkimmerAcceptance : public edm::EDAnalyzer { -public: - explicit GenPurposeSkimmerAcceptance(const edm::ParameterSet&); - ~GenPurposeSkimmerAcceptance(); - -private: - virtual void beginJob(const edm::EventSetup&); - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void endJob(); - - // ----------member data --------------------------- - - std::string outputFile_; - int tree_fills_; - - edm::InputTag ElectronCollection_; - edm::InputTag MCCollection_; - edm::InputTag MetCollectionTag_; - edm::InputTag tcMetCollectionTag_; - edm::InputTag pfMetCollectionTag_; - edm::InputTag t1MetCollectionTag_; - edm::InputTag t1MetCollectionTagTwiki_; - edm::InputTag genMetCollectionTag_; - // - edm::InputTag HLTCollectionE29_; - edm::InputTag HLTCollectionE31_; - edm::InputTag HLTTriggerResultsE29_; - edm::InputTag HLTTriggerResultsE31_; - edm::InputTag HLTFilterType_[25]; - std::string HLTPath_[25]; - - TTree* probe_tree; - TFile* histofile; - // - - //probe SC variables - double probe_sc_eta_for_tree[4]; - double probe_sc_phi_for_tree[4]; - double probe_sc_et_for_tree[4]; - int probe_sc_pass_fiducial_cut[4]; - int probe_sc_pass_et_cut[4]; - - //probe electron variables - double probe_ele_eta_for_tree[4]; - double probe_ele_phi_for_tree[4]; - double probe_ele_et_for_tree[4]; - double probe_ele_Xvertex_for_tree[4]; - double probe_ele_Yvertex_for_tree[4]; - double probe_ele_Zvertex_for_tree[4]; - double probe_ele_tip[4]; - int probe_charge_for_tree[4]; - int probe_index_for_tree[4]; - - //efficiency cuts - int probe_ele_pass_fiducial_cut[4]; - int probe_ele_pass_et_cut[4]; - int probe_pass_recoEle_cut[4]; - int probe_pass_iso_cut[4]; - // - double probe_isolation_value[4]; - double probe_iso_user[4]; - // - double probe_ecal_isolation_value[4]; - double probe_ecal_iso_user[4]; - - double probe_hcal_isolation_value[4]; - double probe_hcal_iso_user[4]; - // - int probe_classification_index_for_tree[4]; - int probe_pass_tip_cut[4]; - // - int probe_pass_id_robust_loose[4]; - int probe_pass_id_robust_tight[4]; - int probe_pass_id_loose[4]; - int probe_pass_id_tight[4]; - double probe_ele_hoe[4]; - double probe_ele_shh[4]; - double probe_ele_sihih[4]; - double probe_ele_dhi[4]; - double probe_ele_dfi[4]; - double probe_ele_eop[4]; - double probe_ele_pin[4]; - double probe_ele_pout[4]; - double probe_ele_e5x5[4]; - double probe_ele_e2x5[4]; - double probe_ele_e1x5[4]; - - // - int probe_pass_trigger_cut[4][25]; - double probe_hlt_matched_dr[4]; - // - double MCMatch_Deta_; - double MCMatch_Dphi_; - int probe_mc_matched[4]; - double probe_mc_matched_deta[4]; - double probe_mc_matched_dphi[4]; - double probe_mc_matched_denergy[4]; - int probe_mc_matched_mother[4]; - - //event variables - int numberOfHLTFilterObjects[25]; - - int event_HLTPath[25]; - - double BarrelMaxEta; - double EndcapMinEta; - double EndcapMaxEta; - - double ProbeSCMinEt; - double ProbeRecoEleSCMaxDE; - - double ProbeHLTObjMaxDR; - double RecoEleSeedBCMaxDE; - double GsfTrackMinInnerPt; - - int elec_number_in_event; - int elec_1_duplicate_removal; - - double event_MET, event_MET_sig; - // double event_MET_eta; - double event_MET_phi; - double event_tcMET, event_tcMET_sig, event_tcMET_phi; - double event_pfMET, event_pfMET_sig; - // double event_pfMET_eta; - double event_pfMET_phi; - double event_genMET, event_genMET_sig; - // double event_genMET_eta; - double event_genMET_phi; - // - double event_t1MET, event_t1MET_phi, event_t1MET_sig; - double event_twikiT1MET, event_twikiT1MET_phi, event_twikiT1MET_sig; - // - // - // acceptance and t&p specific - double mc_ele_eta[10]; - double mc_ele_phi[10]; - double mc_ele_et[10]; - double mc_ele_vertex_x[10]; - double mc_ele_vertex_y[10]; - double mc_ele_vertex_z[10]; - int mc_ele_mother[10]; - int mc_ele_charge[10]; - int mc_ele_status[10]; - // - // for the sc collections - // double sc0_eta[8], sc0_phi[8], sc0_et[8]; - double sc1_eta[8], sc1_phi[8], sc1_et[8]; - double sc2_eta[8], sc2_phi[8], sc2_et[8]; - double sc3_eta[8], sc3_phi[8], sc3_et[8]; - double sc4_eta[8], sc4_phi[8], sc4_et[8]; - double sc5_eta[8], sc5_phi[8], sc5_et[8]; - // double sc6_eta[8], sc6_phi[8], sc6_et[8]; - // double sc7_eta[8], sc7_phi[8], sc7_et[8]; -}; - -#endif diff --git a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerData.h b/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerData.h deleted file mode 100644 index 308fcd0b89c6d..0000000000000 --- a/ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerData.h +++ /dev/null @@ -1,225 +0,0 @@ -#ifndef GenPurposeSkimmerData_H -#define GenPurposeSkimmerData_H - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -// other files -// root + maths -#include "TFile.h" -#include "TBranch.h" -#include "TTree.h" -#include "TVector.h" -#include "TString.h" -#include "TMath.h" -// -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/EgammaCandidates/interface/Electron.h" -#include "DataFormats/EgammaCandidates/interface/ElectronFwd.h" -// -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" -#include "DataFormats/HLTReco/interface/TriggerRefsCollections.h" -#include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" - -// -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/METReco/interface/CaloMET.h" -#include "DataFormats/METReco/interface/CaloMETFwd.h" -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/GenMET.h" -#include "DataFormats/METReco/interface/GenMETFwd.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/PatCandidates/interface/Muon.h" - -#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" -// -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/Common/interface/ValueMap.h" - -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/Math/interface/deltaR.h" -// -// class decleration -// - -class GenPurposeSkimmerData : public edm::EDAnalyzer { -public: - explicit GenPurposeSkimmerData(const edm::ParameterSet&); - ~GenPurposeSkimmerData() override; - -private: - void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - // ----------member data --------------------------- - - std::string outputFile_; - int tree_fills_; - - edm::EDGetTokenT ElectronCollectionToken_; - edm::InputTag MCCollection_; - edm::EDGetTokenT MCCollectionToken_; - edm::InputTag MetCollectionTag_; - edm::EDGetTokenT MetCollectionToken_; - edm::EDGetTokenT mcMetCollectionToken_; - edm::EDGetTokenT tcMetCollectionToken_; - edm::EDGetTokenT pfMetCollectionToken_; - edm::EDGetTokenT t1MetCollectionToken_; - edm::EDGetTokenT genMetCollectionToken_; - // - edm::InputTag HLTCollectionE29_; - edm::EDGetTokenT HLTCollectionE29Token_; - edm::InputTag HLTCollectionE31_; - edm::EDGetTokenT HLTCollectionE31Token_; - edm::InputTag HLTTriggerResultsE29_; - edm::EDGetTokenT HLTTriggerResultsE29Token_; - edm::InputTag HLTTriggerResultsE31_; - edm::EDGetTokenT HLTTriggerResultsE31Token_; - edm::InputTag HLTFilterType_[25]; - // std::string HLTPath_[25]; - edm::EDGetTokenT ctfTracksToken_; - edm::EDGetTokenT corHybridscToken_; - edm::EDGetTokenT multi5x5scToken_; - edm::EDGetTokenT offlineBeamSpotToken_; - edm::EDGetTokenT pMuonsToken_; - - TTree* probe_tree; - TFile* histofile; - // - - //probe SC variables - double probe_sc_eta_for_tree[4]; - double probe_sc_phi_for_tree[4]; - double probe_sc_et_for_tree[4]; - int probe_sc_pass_fiducial_cut[4]; - int probe_sc_pass_et_cut[4]; - - //probe electron variables - double probe_ele_eta_for_tree[4]; - double probe_ele_phi_for_tree[4]; - double probe_ele_et_for_tree[4]; - double probe_ele_Xvertex_for_tree[4]; - double probe_ele_Yvertex_for_tree[4]; - double probe_ele_Zvertex_for_tree[4]; - double probe_ele_tip[4]; - int probe_charge_for_tree[4]; - int probe_index_for_tree[4]; - - //efficiency cuts - int probe_ele_pass_fiducial_cut[4]; - int probe_ele_pass_et_cut[4]; - int probe_pass_recoEle_cut[4]; - int probe_pass_iso_cut[4]; - // - double probe_isolation_value[4]; - double probe_iso_user[4]; - // - double probe_ecal_isolation_value[4]; - double probe_ecal_iso_user[4]; - - double probe_hcal_isolation_value[4]; - double probe_hcal_iso_user[4]; - // - int probe_classification_index_for_tree[4]; - int probe_pass_tip_cut[4]; - // - int probe_pass_id_robust_loose[4]; - int probe_pass_id_robust_tight[4]; - int probe_pass_id_loose[4]; - int probe_pass_id_tight[4]; - double probe_ele_hoe[4]; - double probe_ele_shh[4]; - double probe_ele_sihih[4]; - double probe_ele_dhi[4]; - double probe_ele_dfi[4]; - double probe_ele_eop[4]; - double probe_ele_pin[4]; - double probe_ele_pout[4]; - double probe_ele_e5x5[4]; - double probe_ele_e2x5[4]; - double probe_ele_e1x5[4]; - - // - int probe_pass_trigger_cut[4][25]; - double probe_hlt_matched_dr[4]; - // - double MCMatch_Deta_; - double MCMatch_Dphi_; - int probe_mc_matched[4]; - double probe_mc_matched_deta[4]; - double probe_mc_matched_dphi[4]; - double probe_mc_matched_denergy[4]; - int probe_mc_matched_mother[4]; - - //event variables - int numberOfHLTFilterObjects[25]; - - int event_HLTPath[25]; - - double BarrelMaxEta; - double EndcapMinEta; - double EndcapMaxEta; - - double ProbeSCMinEt; - double ProbeRecoEleSCMaxDE; - - double ProbeHLTObjMaxDR; - double RecoEleSeedBCMaxDE; - double GsfTrackMinInnerPt; - - int elec_number_in_event; - int elec_1_duplicate_removal; - - double event_MET, event_MET_sig; - // double event_MET_eta; - double event_MET_phi; - double event_tcMET, event_tcMET_sig, event_tcMET_phi; - double event_pfMET, event_pfMET_sig; - // double event_pfMET_eta; - double event_pfMET_phi; - //double event_genMET, event_genMET_sig; - // double event_genMET_eta; - //double event_genMET_phi; - // - double event_t1MET, event_t1MET_phi, event_t1MET_sig; - double event_mcMET, event_mcMET_phi, event_mcMET_sig; - // - // - // - double sc_hybrid_et[5], sc_hybrid_eta[5], sc_hybrid_phi[5]; - double sc_multi5x5_et[5], sc_multi5x5_eta[5], sc_multi5x5_phi[5]; - // - double ctf_track_pt[20], ctf_track_eta[20], ctf_track_phi[20]; - double ctf_track_vx[20], ctf_track_vy[20], ctf_track_vz[20]; - double ctf_track_tip[20], ctf_track_tip_bs[20]; - // - double muon_pt[4], muon_eta[4], muon_phi[4]; - double muon_vx[4], muon_vy[4], muon_vz[4]; - double muon_tip[4], muon_tip_bs[4]; -}; - -#endif diff --git a/ElectroWeakAnalysis/WENu/interface/WenuPlots.h b/ElectroWeakAnalysis/WENu/interface/WenuPlots.h deleted file mode 100644 index c2e1d78dbadb1..0000000000000 --- a/ElectroWeakAnalysis/WENu/interface/WenuPlots.h +++ /dev/null @@ -1,258 +0,0 @@ -#ifndef WenuPlots_H -#define WenuPlots_H - -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "DataFormats/EgammaCandidates/interface/Electron.h" -#include "DataFormats/JetReco/interface/PFJet.h" -#include "DataFormats/JetReco/interface/CaloJet.h" -#include "DataFormats/JetReco/interface/PFJetCollection.h" -#include "DataFormats/JetReco/interface/CaloJetCollection.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -//#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -#include -#include -#include "TFile.h" -#include "TTree.h" -#include "TString.h" -#include "TH1F.h" -#include "TMath.h" - -// -// class decleration -// - -class WenuPlots : public edm::EDAnalyzer { -public: - explicit WenuPlots(const edm::ParameterSet &); - ~WenuPlots() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - // ----------member data --------------------------- - Bool_t CheckCuts(const pat::Electron *ele); - Bool_t CheckCut(const pat::Electron *wenu, Int_t i); - Bool_t CheckCutsInverse(const pat::Electron *ele); - Bool_t CheckCutInv(const pat::Electron *wenu, Int_t i); - Bool_t CheckCutsNminusOne(const pat::Electron *ele, Int_t jj); - Double_t ReturnCandVar(const pat::Electron *ele, Int_t i); - Bool_t PassPreselectionCriteria(const pat::Electron *ele); - // for the extra identifications and selections - Bool_t usePrecalcID_; - std::string usePrecalcIDSign_; - std::string usePrecalcIDType_; - Double_t usePrecalcIDValue_; - // for extra preselection criteria: - Bool_t useValidFirstPXBHit_; - Bool_t useConversionRejection_; - Bool_t useExpectedMissingHits_; - Int_t maxNumberOfExpectedMissingHits_; - Bool_t usePreselection_; - std::string outputFile_; - edm::EDGetTokenT wenuCollectionToken_; - edm::InputTag caloJetCollectionTag_; - edm::EDGetTokenT caloJetCollectionToken_; - edm::InputTag pfJetCollectionTag_; - edm::EDGetTokenT pfJetCollectionToken_; - edm::EDGetTokenT > PrimaryVerticesCollectionToken_; - edm::EDGetTokenT > PrimaryVerticesCollectionBSToken_; - TFile *histofile; - // - // math::XYZPoint bspotPosition_; // comment out only if you don't use pat - // - // the histograms ******************** - - TH1F *h_met; - TH1F *h_met_inverse; - TH1F *h_mt; - TH1F *h_mt_inverse; - - TH1F *h_met_EB; - TH1F *h_met_inverse_EB; - TH1F *h_mt_EB; - TH1F *h_mt_inverse_EB; - - TH1F *h_met_EE; - TH1F *h_met_inverse_EE; - TH1F *h_mt_EE; - TH1F *h_mt_inverse_EE; - - TH1F *h_scEt; - TH1F *h_scEta; - TH1F *h_scPhi; - - TH1F *h_EB_trkiso; - TH1F *h_EB_ecaliso; - TH1F *h_EB_hcaliso; - TH1F *h_EB_sIetaIeta; - TH1F *h_EB_dphi; - TH1F *h_EB_deta; - TH1F *h_EB_HoE; - - TH1F *h_EE_trkiso; - TH1F *h_EE_ecaliso; - TH1F *h_EE_hcaliso; - TH1F *h_EE_sIetaIeta; - TH1F *h_EE_dphi; - TH1F *h_EE_deta; - TH1F *h_EE_HoE; - - // - TH1F *h_trackIso_eb_NmOne; - TH1F *h_trackIso_ee_NmOne; - // *********************************** - // - // the selection cuts - Double_t trackIso_EB_; - Double_t ecalIso_EB_; - Double_t hcalIso_EB_; - // - Double_t trackIso_EE_; - Double_t ecalIso_EE_; - Double_t hcalIso_EE_; - // - Double_t sihih_EB_; - Double_t deta_EB_; - Double_t dphi_EB_; - Double_t hoe_EB_; - Double_t cIso_EB_; - Double_t tip_bspot_EB_; - Double_t eop_EB_; - // - Double_t sihih_EE_; - Double_t deta_EE_; - Double_t dphi_EE_; - Double_t hoe_EE_; - Double_t cIso_EE_; - Double_t tip_bspot_EE_; - Double_t eop_EE_; - // - Double_t trackIsoUser_EB_; - Double_t ecalIsoUser_EB_; - Double_t hcalIsoUser_EB_; - Double_t trackIsoUser_EE_; - Double_t ecalIsoUser_EE_; - Double_t hcalIsoUser_EE_; - // - Bool_t trackIso_EB_inv; - Bool_t ecalIso_EB_inv; - Bool_t hcalIso_EB_inv; - // - Bool_t trackIso_EE_inv; - Bool_t ecalIso_EE_inv; - Bool_t hcalIso_EE_inv; - // - Bool_t sihih_EB_inv; - Bool_t deta_EB_inv; - Bool_t dphi_EB_inv; - Bool_t hoe_EB_inv; - Bool_t cIso_EB_inv; - Bool_t tip_bspot_EB_inv; - Bool_t eop_EB_inv; - // - Bool_t sihih_EE_inv; - Bool_t deta_EE_inv; - Bool_t dphi_EE_inv; - Bool_t hoe_EE_inv; - Bool_t cIso_EE_inv; - Bool_t tip_bspot_EE_inv; - Bool_t eop_EE_inv; - // - Bool_t trackIsoUser_EB_inv; - Bool_t ecalIsoUser_EB_inv; - Bool_t hcalIsoUser_EB_inv; - Bool_t trackIsoUser_EE_inv; - Bool_t ecalIsoUser_EE_inv; - Bool_t hcalIsoUser_EE_inv; - // - // - Int_t nBarrelVars_; - // - std::vector CutVars_; - std::vector InvVars_; - // - // variables related to the VBTF root tuples: - // - Int_t runNumber, lumiSection; - Long64_t eventNumber; - Float_t ele_sc_energy, ele_sc_eta, ele_sc_phi, ele_sc_rho; - Float_t ele_sc_gsf_et; - Float_t ele_cand_et, ele_cand_eta, ele_cand_phi; - Float_t ele_iso_track, ele_iso_ecal, ele_iso_hcal; - Float_t ele_id_sihih, ele_id_dphi, ele_id_deta, ele_id_hoe; - Float_t ele_cr_dcot, ele_cr_dist; - Int_t ele_cr_mhitsinner; - Float_t ele_vx, ele_vy, ele_vz; - Float_t ele_pin, ele_pout; - Float_t pv_x, pv_y, pv_z; - Int_t ele_gsfCharge, ele_ctfCharge, ele_scPixCharge; - Float_t ele_eop, ele_tip_bs, ele_tip_pv; - Float_t event_caloMET, event_pfMET, event_tcMET; - Float_t event_caloSumEt, event_pfSumEt, event_tcSumEt; - Float_t event_caloMET_phi, event_pfMET_phi, event_tcMET_phi; - Float_t event_caloMT, event_pfMT, event_tcMT; - Float_t calojet_et[5]; - Float_t calojet_eta[5]; - Float_t calojet_phi[5]; - Float_t pfjet_et[5]; - Float_t pfjet_eta[5]; - Float_t pfjet_phi[5]; - Float_t ele2nd_sc_gsf_et; - Float_t ele2nd_sc_eta; - Float_t ele2nd_sc_phi; - Float_t ele2nd_sc_rho; - Float_t ele2nd_cand_eta; - Float_t ele2nd_cand_phi; - Float_t ele2nd_pin; - Float_t ele2nd_pout; - Int_t ele2nd_passes_selection; - Int_t ele2nd_ecalDriven; - Float_t ele_hltmatched_dr; - Int_t event_triggerDecision; - Int_t event_datasetTag; - - TFile *WENU_VBTFpreseleFile_; - TFile *WENU_VBTFselectionFile_; - TTree *vbtfSele_tree; - TTree *vbtfPresele_tree; - std::string WENU_VBTFselectionFileName_; - std::string WENU_VBTFpreseleFileName_; - Bool_t includeJetInformationInNtuples_; - Bool_t storeExtraInformation_; - Double_t DRJetFromElectron_; - Int_t DatasetTag_; - // for the 2nd electron storage - Bool_t storeAllSecondElectronVariables_; - Float_t ele2nd_cand_et; - Float_t ele2nd_iso_track, ele2nd_iso_ecal, ele2nd_iso_hcal; - Float_t ele2nd_id_sihih, ele2nd_id_deta, ele2nd_id_dphi, ele2nd_id_hoe; - Float_t ele2nd_cr_dcot, ele2nd_cr_dist; - Float_t ele2nd_vx, ele2nd_vy, ele2nd_vz; - Int_t ele2nd_cr_mhitsinner, ele2nd_gsfCharge, ele2nd_ctfCharge, ele2nd_scPixCharge; - Float_t ele2nd_eop, ele2nd_tip_bs, ele2nd_tip_pv; - Float_t ele2nd_hltmatched_dr; - std::vector VtxTracksSize; - std::vector VtxNormalizedChi2; - std::vector VtxTracksSizeBS; - std::vector VtxNormalizedChi2BS; - Float_t pvbs_x, pvbs_y, pvbs_z; - Float_t ele_tip_pvbs, ele2nd_tip_pvbs; -}; - -#endif diff --git a/ElectroWeakAnalysis/WENu/macros/PlotCombiner.cc b/ElectroWeakAnalysis/WENu/macros/PlotCombiner.cc deleted file mode 100644 index c28d1e998b892..0000000000000 --- a/ElectroWeakAnalysis/WENu/macros/PlotCombiner.cc +++ /dev/null @@ -1,1161 +0,0 @@ -/* - Macro to make the plots ....................................... - - Instructions: - a. set up an input file that looks like the following: - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - # zee or wenu - wenu - # file name, type (sig, qcd, bce, gje, ewk), weight - histos_wenu.root sig 1.46 - histos_q20_30.root qcd 0 - histos_q30_80.root qcd 100. - histos_q80_170.root qcd 0 - histos_b20_30.root bce 0 - histos_b30_80.root bce 0 - histos_b80_170.root bce 0 - histos_zee.root ewk 0 - histos_wtaunu.root ewk 0 - histos_ztautau.root ewk 0 - histos_gj15.root gje 0 - histos_gj20.root gje 0 - histos_gj25.root gje 10.12 - histos_gj30.root gje 0 - histos_gj35.root gje 0 - histos_wmunu.root ewk 0 - histos_ttbar.root ewk 0 - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - lines that start with # are considered to be comments - line 2 has wenu or zee. From line 4 the list of the histo files are listed - (first word) then a type that could be sig,qcd,bce, gj or ewk in order to - discriminate among different sources of bkgs and finally the weight that we - want to weight the histogram entries. This particular example is for Wenu. For - Zee one has to put type sig in the zee file and ewk in the Wenu file. The order - of the files is arbitrary. Files with weight 0 will be ignored. - After you have set up this code you run a root macro to combine the plots. - You can do (not recommended - it actually crushes - to be debugged) - root -b PlotCombiner.cc - or to compile it within root (recommended) - root -b - root [1] .L PlotCombiner.cc++ - root [2] PlotCombiner() - - and you finally get the plots. - - For the ABCD method: - ^^^^^^^^^^^^^^^^^^^^ - you have to insert in the 2nd line instead of wenu or zee the keyword abcd(...) - The files should contain ewk samples, sig samples and qcd samples (but also read - later). The only absolutely necessary files are the sig ones. - Example: - abcd(I=0.95,dI=0.01,Fz=0.6,dFz=0.01,FzP=0.56, dFzP=0.2,ewkerror=0.1,METCut=30.,mc) - These parameters keep the same notation as in the note. The last parameter (data) - can take 3 values: - data: calculate in ABCD as in data. This means that the histograms denoted with - sig,qcd,bce,gje are used as of the same kind and ewk as the MC ewk. - The background is substructed as in data - mcOnly: here we ignore all the input parameters I, dI etc. All parameters are taken - from MC by forcing Fqcd=1 - mc: input mc samples, calculation of statistical - and systematics as in CMS AN 2009/004, systematic and statistic error - calculation. This option also creates the plots of the variation of the - signal prediction vs the parameter variation. In order to set the limits of - the desired variation you have to edit the values in line 113 of this code - (they are hardwired in the code) - TO DO: - functionalities to plot more kind of plots, e.g. efficiencies - - - Further Questions/Contact: - - nikolaos.rompotis @ cern.ch - - - - Nikolaos Rompotis - 29 June 09 - 18 Sept 09: 1st updgrade: input files in a text file - 28 May 10: bug in IMET corrected, thanks to Sadia Khalil - Imperial College London - - -*/ - - -#include -#include -#include -#include -#include "TString.h" -#include "TROOT.h" -#include "TStyle.h" -#include "TH1F.h" -#include "TFile.h" -#include "TCanvas.h" -#include "TGraph.h" -#include "TLegend.h" - -void plotMaker(TString histoName, TString typeOfplot, - vector file, vector type, - vector weight, TString xtitle); - -void abcd(vector file, vector type, vector weight, - double METCut, double I, double dI, double Fz, double dFz, - double FzP, double dFzP, double ewkerror, - double data, double mc, double mcOnly); -double searchABCDstring(TString abcdString, TString keyword); -double Trionym(double a, double b, double c, double sum); -double CalcABCD -(double I, double Fz, double FzP, double K, double ewk, - double Na_, double Nb_, double Nc_, double Nd_, - double Ea_, double Eb_, double Ec_, double Ed_); - -// values for systematics plots: it is fraction of the MC value -const double EWK_SYST_MIN = 0.3; -const double EWK_SYST_MAX = 0.3; -// -const double I_SYST_MIN = 0.05; -const double I_SYST_MAX = 0.05; -// -const double FZ_SYST_MIN = 0.1; -const double FZ_SYST_MAX = 0.1; -// -const double FZP_SYST_MIN = 0.1; -const double FZP_SYST_MAX = 0.1; -// -const double K_SYST_MIN = 0.8; -const double K_SYST_MAX = 0.8; - - -using namespace std; - -void PlotCombiner() -{ - // read the file - ifstream input("inputFiles"); - int i = 0; - TString typeOfplot = ""; - vector types; - vector files; - vector weights; - - if (input.is_open()) { - std::string myline; - while (! input.eof()) { - getline(input, myline); - TString line(myline); - TString c('#'); - TString empty(' '); - if (line[0] != c) { - ++i; - if (i==1) typeOfplot=line; - else { - // read until you find 3 words - TString fname(""); - TString ftype(""); - TString fw(""); - int lineSize = (int) line.Length(); - int j=0; - while (j0) break;} - ++j; - } - if (fname.Length() == 0) break; - files.push_back(fname); - types.push_back(ftype); - double w = fw.Atof(); - weights.push_back(w); - if (w>0) - std::cout << fname << ", " << ftype << ", "<< w << std::endl; - } - } - } - input.close(); - } - else { - std::cout << "File with name inputFile was not found" << std::endl; - return; - } - - // now you can launch the jobs - if (typeOfplot == "wenu") { - cout << "wenu plot maker" << endl; - // ==================== - // =====> WHICH HISTOS TO PLOT - // ==================== - plotMaker("h_met", typeOfplot, files, types, weights, "MET (GeV)"); - } - else if (typeOfplot == "zee"){ - cout << "zee plot maker" << endl; - // ==================== - // =====> WHICH HISTOS TO PLOT - // ==================== - plotMaker("h_mee", typeOfplot, files, types, weights, "M_{ee} (GeV)"); - } - else if (typeOfplot(0,4) == "abcd") { - // now read the parameters of the ABCD method - // look for parameter I and dI - double I = searchABCDstring(typeOfplot, "I"); - double dI= searchABCDstring(typeOfplot, "dI"); - // look for parameter Fz - double Fz = searchABCDstring(typeOfplot, "Fz"); - double dFz= searchABCDstring(typeOfplot, "dFz"); - // look for parameter FzP - double FzP = searchABCDstring(typeOfplot, "FzP"); - double dFzP= searchABCDstring(typeOfplot, "dFzP"); - // look for the MET cut - double METCut =searchABCDstring(typeOfplot, "METCut"); - // do you want data driven only? - double data = searchABCDstring(typeOfplot, "data"); - double mc = searchABCDstring(typeOfplot, "mc"); - double mcOnly = searchABCDstring(typeOfplot, "mcOnly"); - // what is the ewk error? - double ewkerror = searchABCDstring(typeOfplot, "ewkerror"); - // sanity check: - if (METCut<0 || (data<-0.7 && mc<-0.7 && mcOnly<-0.7)) { - cout << "Error in your configurtion!" << endl; - if (METCut <0) cout << "Error in MET Cut" << endl; - else cout << "You need to specify one mc or data or mcOnly" - << endl; - abort(); - } - if (mc>-0.7 && mc <0 && ewkerror<0) { - cout << "You have specified mc option, but you have forgotten" - << " to set the ewkerror!" << endl; - abort(); - } - // =============================== - // =====> ABCD METHOD FOR BKG SUBTRACTION - // =============================== - cout << "doing ABCD with input: " << typeOfplot << endl; - abcd(files, types, weights, METCut, I, dI, Fz, dFz, FzP, dFzP, - ewkerror, data, mc, mcOnly); - - } - // force the program to abort in order to clear the memory - // and avoid further use of the interpreter after - abort(); - -} - -void abcd( vector file, vector type, vector weight, - double METCut, double I, double dI, double Fz, double dFz, - double FzP, double dFzP, double ewkerror, - double data, double mc, double mcOnly) -{ - gROOT->Reset(); - gROOT->ProcessLine(".L tdrstyle.C"); - gROOT->ProcessLine("setTDRStyle()"); - // - std::cout << "Trying ABCD method for Background subtration" << std::endl; - // - // histogram names to use: - TString histoName_Ba("h_met_EB"); - TString histoName_Bb("h_met_inverse_EB"); - TString histoName_Ea("h_met_EE"); - TString histoName_Eb("h_met_inverse_EE"); - // - // find one file and get the dimensions of your histogram - int fmax = (int) file.size(); - int NBins = 0; double min = 0; double max = -1; - for (int i=0; i0) { - // cout << "Loading file " << file[i] << endl; - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName_Ba); - NBins = h->GetNbinsX(); - min = h->GetBinLowEdge(1); - max = h->GetBinLowEdge(NBins+1); - break; - } - } - if (NBins ==0 || (max0 ) { - TFile f(file[i]); - // - TH1F *h_ba = (TH1F*) f.Get(histoName_Ba); - h_wenu.Add(h_ba, weight[i]); - TH1F *h_ea = (TH1F*) f.Get(histoName_Ea); - h_wenu.Add(h_ea, weight[i]); - // - TH1F *h_bb = (TH1F*) f.Get(histoName_Bb); - h_wenu_inv.Add(h_bb, weight[i]); - TH1F *h_eb = (TH1F*) f.Get(histoName_Eb); - h_wenu_inv.Add(h_eb, weight[i]); - } - } - // QCD Bkgs - TH1F h_qcd("h_qcd", "h_qcd", NBins, min, max); - TH1F h_qcd_inv("h_qcd_inv", "h_qcd_inv", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - // - TH1F *h_ba = (TH1F*) f.Get(histoName_Ba); - h_qcd.Add(h_ba, weight[i]); - TH1F *h_ea = (TH1F*) f.Get(histoName_Ea); - h_qcd.Add(h_ea, weight[i]); - // - TH1F *h_bb = (TH1F*) f.Get(histoName_Bb); - h_qcd_inv.Add(h_bb, weight[i]); - TH1F *h_eb = (TH1F*) f.Get(histoName_Eb); - h_qcd_inv.Add(h_eb, weight[i]); - } - } - // - TH1F h_ewk("h_ewk", "h_ewk", NBins, min, max); - TH1F h_ewk_inv("h_ewk_inv", "h_ewk_inv", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - // - TH1F *h_ba = (TH1F*) f.Get(histoName_Ba); - h_ewk.Add(h_ba, weight[i]); - TH1F *h_ea = (TH1F*) f.Get(histoName_Ea); - h_ewk.Add(h_ea, weight[i]); - // - TH1F *h_bb = (TH1F*) f.Get(histoName_Bb); - h_ewk_inv.Add(h_bb, weight[i]); - TH1F *h_eb = (TH1F*) f.Get(histoName_Eb); - h_ewk_inv.Add(h_eb, weight[i]); - } - } - // - // calculate the METCut position - // - // this is calculated as a low edge bin of your input histogram - // METCut = min + (max-min)*IMET/NBins - int IMET = int ((METCut - min)/(max-min) * double(NBins)); - // check whether it is indeed a low egde position - double metCalc = min + (max-min)*double(IMET)/double(NBins); - if (metCalc < METCut || metCalc > METCut) { - std::cout << "PlotCombiner:abcd: your MET Cut is not in low egde bin position" - << std::endl; - } - cout << "MET Cut in " << METCut << "GeV corresponds to bin #" << IMET << endl; - // Calculate the population in the ABCD Regions now - // signal - double a_sig = h_wenu.Integral(IMET,NBins+1); - double b_sig = h_wenu.Integral(0,IMET-1); - double c_sig = h_wenu_inv.Integral(0,IMET-1); - double d_sig = h_wenu_inv.Integral(IMET,NBins+1); - // qcd - double a_qcd = h_qcd.Integral(IMET,NBins+1); - double b_qcd = h_qcd.Integral(0,IMET-1); - double c_qcd = h_qcd_inv.Integral(0,IMET-1); - double d_qcd = h_qcd_inv.Integral(IMET,NBins+1); - // ewk - double a_ewk = h_ewk.Integral(IMET,NBins+1); - double b_ewk = h_ewk.Integral(0,IMET-1); - double c_ewk = h_ewk_inv.Integral(0,IMET-1); - double d_ewk = h_ewk_inv.Integral(IMET,NBins+1); - //////////////////////////////////////////////// - - // - // now the parameters of the method - if (data < 0 && data >-0.75) { // select value -0.5 that gives the - // string parser - // now everything is done from data + input - std::cout << "Calculating ABCD Result and Stat Error Assuming DATA" - << std::endl << "Summary: in this implementation we have assumed" - << " that what real 'data' appear with type sig in the input" - << std::endl << "No systematics available with this type of" - << " calculation. If you need systematics try one of the other" - << " options" << std::endl; - double A = (1.0-I)*(FzP-Fz); - double B = I*(FzP+1.0)*(FzP*(c_sig-c_ewk)-(d_sig-d_ewk)) + - (1+Fz)*(1-I)*((a_sig-a_ewk)-dFzP*(b_sig-b_ewk)); - double C = I*(1.+Fz)*(1.+FzP)*((d_sig-d_ewk)*(b_sig-b_ewk) - (a_sig-a_ewk)*(c_sig-c_ewk)); - // - // signal calculation: - double S = Trionym(A,B,C, a_sig+b_sig); - - // the errors now: - // calculate the statistical error now: - double ApI=0, ApFz=0, ApFzP=0, ApNa=0, ApNb=0, ApNc=0, ApNd=0; - double BpI=0, BpFz=0, BpFzP=0, BpNa=0, BpNb=0, BpNc=0, BpNd=0; - double CpI=0, CpFz=0, CpFzP=0, CpNa=0, CpNb=0, CpNc=0, CpNd=0; - double SpI=0, SpFz=0, SpFzP=0, SpNa=0, SpNb=0, SpNc=0, SpNd=0; - // - double Na = a_sig, Nb = b_sig, Nc=c_sig, Nd = d_sig; - double Ea = a_ewk, Eb = b_ewk, Ec=c_ewk, Ed = d_ewk; - if (A != 0) { - - ApI = -(FzP-Fz); - ApFz = -(1.0-I); - ApFzP = (1.0-I); - ApNa = 0.0; - ApNb = 0.0; - ApNc = 0.0; - ApNd = 0.0; - - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = (-BpI + (B*BpI -2.0*ApI*C -2.0*A*CpI) /fabs(2.0*A*S+B)- 2.0*ApI*S) /(2.0*A); - SpFz = (-BpFz + (B*BpFz -2.0*ApFz*C -2.0*A*CpFz) /fabs(2.0*A*S+B)- 2.0*ApFz*S) /(2.0*A); - SpFzP = (-BpFzP + (B*BpFzP -2.0*ApFzP*C -2.0*A*CpFzP)/fabs(2.0*A*S+B)- 2.0*ApFzP*S)/(2.0*A); - SpNa = (-BpNa + (B*BpNa -2.0*ApNa*C -2.0*A*CpNa) /fabs(2.0*A*S+B)- 2.0*ApNa*S) /(2.0*A); - SpNb = (-BpNb + (B*BpNb -2.0*ApNb*C -2.0*A*CpNb) /fabs(2.0*A*S+B)- 2.0*ApNb*S) /(2.0*A); - SpNc = (-BpNc + (B*BpNc -2.0*ApNc*C -2.0*A*CpNc) /fabs(2.0*A*S+B)- 2.0*ApNc*S) /(2.0*A); - SpNd = (-BpNd + (B*BpNd -2.0*ApNd*C -2.0*A*CpNd) /fabs(2.0*A*S+B)- 2.0*ApNd*S) /(2.0*A); - } - else { - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = -CpI/B+C*BpI/(B*B); - SpFz = -CpFz/B+C*BpFz/(B*B); - SpFzP = -CpFzP/B+C*BpFzP/(B*B); - SpNa = -CpNa/B+C*BpNa/(B*B); - SpNb = -CpNb/B+C*BpNb/(B*B); - SpNc = -CpNc/B+C*BpNc/(B*B); - SpNd = -CpNd/B+C*BpNd/(B*B); - } - double DS; - DS = sqrt( SpI*dI*SpI*dI + SpFz*dFz*SpFz*dFz + SpFzP*dFzP*SpFzP*dFzP + - SpNa*SpNa*Na + SpNb*SpNb*Nb + SpNc*SpNc*Nc + SpNd*SpNd*Nd ); - // warning: S here denotes the method prediction .......... - cout << "********************************************************" << endl; - cout << "Signal Prediction: " << S << "+-" << DS << "(stat)" << endl; - cout << "********************************************************" << endl; - cout << "Parameters used in calculation: " << endl; - cout << "I= " << I << "+-" << dI << endl; - cout << "Fz= " << Fz << "+-" << dFz << endl; - cout << "FzP=" << FzP << "+-" << dFzP << endl; - cout << endl; - cout << "ABCD Regions population:" << endl; - cout << "A: N=" << Na << ", sig=" << a_sig << ", qcd=" << a_qcd - << ", ewk=" << a_ewk << endl; - cout << "B: N=" << Nb << ", sig=" << b_sig << ", qcd=" << b_qcd - << ", ewk=" << b_ewk << endl; - cout << "C: N=" << Nc << ", sig=" << c_sig << ", qcd=" << c_qcd - << ", ewk=" << c_ewk << endl; - cout << "D: N=" << Nd << ", sig=" << d_sig << ", qcd=" << d_qcd - << ", ewk=" << d_ewk << endl; - cout << endl; - // - cout << "Statistical Error Summary: " << endl; - cout << "due to Fz = "<< SpFz*dFz<< ", ("<-0.75) { // select value -0.5 that gives the - // string parser - - //////// STATISTICAL ERROR CALCULATION ///////////////////////////// - double A = (1.0-I)*(FzP-Fz); - double B = I*(FzP+1.0)*(FzP*(c_sig+c_qcd)-(d_sig+d_qcd)) + - (1+Fz)*(1-I)*((a_sig+a_qcd)-dFzP*(b_sig+b_qcd)); - double C = I*(1.+Fz)*(1.+FzP)*((d_sig+d_qcd)*(b_sig+b_qcd) - - (a_sig+a_qcd)*(c_sig+c_qcd)); - // - // signal calculation: - double S = Trionym(A,B,C, a_sig+b_sig); - // - double ApI=0, ApFz=0, ApFzP=0, ApNa=0, ApNb=0, ApNc=0, ApNd=0; - double BpI=0, BpFz=0, BpFzP=0, BpNa=0, BpNb=0, BpNc=0, BpNd=0; - double CpI=0, CpFz=0, CpFzP=0, CpNa=0, CpNb=0, CpNc=0, CpNd=0; - double SpI=0, SpFz=0, SpFzP=0, SpNa=0, SpNb=0, SpNc=0, SpNd=0; - // - double Na = a_sig+a_qcd+a_ewk, Nb = b_sig+b_qcd+b_ewk; - double Nc=c_sig+c_qcd+c_ewk, Nd = d_sig+d_qcd+d_ewk; - double Ea = a_ewk, Eb = b_ewk, Ec=c_ewk, Ed = d_ewk; - if (A != 0) { - - ApI = -(FzP-Fz); - ApFz = -(1.0-I); - ApFzP = (1.0-I); - ApNa = 0.0; - ApNb = 0.0; - ApNc = 0.0; - ApNd = 0.0; - - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = (-BpI + (B*BpI -2.0*ApI*C -2.0*A*CpI) /fabs(2.0*A*S+B)- 2.0*ApI*S) /(2.0*A); - SpFz = (-BpFz + (B*BpFz -2.0*ApFz*C -2.0*A*CpFz) /fabs(2.0*A*S+B)- 2.0*ApFz*S) /(2.0*A); - SpFzP = (-BpFzP + (B*BpFzP -2.0*ApFzP*C -2.0*A*CpFzP)/fabs(2.0*A*S+B)- 2.0*ApFzP*S)/(2.0*A); - SpNa = (-BpNa + (B*BpNa -2.0*ApNa*C -2.0*A*CpNa) /fabs(2.0*A*S+B)- 2.0*ApNa*S) /(2.0*A); - SpNb = (-BpNb + (B*BpNb -2.0*ApNb*C -2.0*A*CpNb) /fabs(2.0*A*S+B)- 2.0*ApNb*S) /(2.0*A); - SpNc = (-BpNc + (B*BpNc -2.0*ApNc*C -2.0*A*CpNc) /fabs(2.0*A*S+B)- 2.0*ApNc*S) /(2.0*A); - SpNd = (-BpNd + (B*BpNd -2.0*ApNd*C -2.0*A*CpNd) /fabs(2.0*A*S+B)- 2.0*ApNd*S) /(2.0*A); - } - else { - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = -CpI/B+C*BpI/(B*B); - SpFz = -CpFz/B+C*BpFz/(B*B); - SpFzP = -CpFzP/B+C*BpFzP/(B*B); - SpNa = -CpNa/B+C*BpNa/(B*B); - SpNb = -CpNb/B+C*BpNb/(B*B); - SpNc = -CpNc/B+C*BpNc/(B*B); - SpNd = -CpNd/B+C*BpNd/(B*B); - } - double DS; - DS = sqrt( SpI*dI*SpI*dI + SpFz*dFz*SpFz*dFz + SpFzP*dFzP*SpFzP*dFzP + - SpNa*SpNa*Na + SpNb*SpNb*Nb + SpNc*SpNc*Nc + SpNd*SpNd*Nd ); - - //////////////////////////////////////////////////////////////////////// - // SYSTEMATICS CALCULATION ///////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////// - // recalculate the basic quantities - double Imc = (a_sig + b_sig) / (a_sig + b_sig + c_sig + d_sig); - double dImc = sqrt(Imc*(1-Imc)/(a_sig + b_sig + c_sig + d_sig)); - double Fzmc = a_sig/b_sig; - double e =a_sig/(a_sig + b_sig); - double de = sqrt(e*(1-e)/(a_sig + b_sig)); - double alpha = de/(2.*Fzmc-e); - double dFzmc = alpha/(1-alpha); - double FzPmc = d_sig/c_sig; - double ep =d_sig/(c_sig + d_sig); - double dep = sqrt(ep*(1-ep)/(c_sig + d_sig)); - double alphap = dep/(2.*FzPmc-ep); - double dFzPmc = alphap/(1-alphap); - // - // calculate the K parameter as it is in MC: - double KMC = (d_qcd/c_qcd)/(a_qcd/b_qcd); - double SMC = a_sig + b_sig; - // - double dfz = Fz -Fzmc; - double di = I - Imc; - double dfzp = FzP - FzPmc; - double fk = fabs(1-KMC); - //////////////////////////////////////////////////////////////////////// - // ewk error: this error has to be inserted by hand - double fm = 1.-ewkerror; - double fp = 1.+ewkerror; - double S_EWK_PLUS = CalcABCD(Imc, Fzmc, FzPmc, KMC, fp, Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - double S_EWK_MINUS = CalcABCD(Imc, Fzmc, FzPmc, KMC, fm, Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - // error in K - double S_K= CalcABCD(Imc, Fzmc, FzPmc, 1., 1., Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - // error in Fz - double S_FZ= CalcABCD(Imc, Fz, FzPmc, KMC, 1., Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - // error in FzP - double S_FZP= CalcABCD(Imc, Fzmc, FzP, KMC, 1., Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - // error in I - double S_I = CalcABCD(I, Fzmc, FzPmc, KMC, 1., Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed); - // - // sanity tets - //cout << "Smc=" << SMC<< ", " << CalcABCD(Imc, Fzmc, FzPmc, KMC, 1., Na, Nb, Nc, Nd, Ea,Eb,Ec,Ed) - // << endl; - //abort(); - // - // ************ plots for the systematics calculation **************** - // ewk plot - int const POINTS = 10; - int const allPOINTS = 2*POINTS; - TGraph g_ewk(allPOINTS); - TGraph g_fz(allPOINTS); - TGraph g_fzp(allPOINTS); - TGraph g_k(allPOINTS); - TGraph g_i(allPOINTS); - // - double ewk_syst_min = EWK_SYST_MIN; // because this is just fraction - double i_syst_min = Imc*(1.-I_SYST_MIN); - double fz_syst_min = Fzmc*(1.-FZ_SYST_MIN); - double fzp_syst_min = FzPmc*(1.-FZP_SYST_MIN); - double k_syst_min = KMC*(1.-K_SYST_MIN); - // - double ewk_syst_max = EWK_SYST_MAX; // because this is just fraction - double i_syst_max = Imc*I_SYST_MAX; - double fz_syst_max = Fzmc*FZ_SYST_MAX; - double fzp_syst_max = FzPmc*FZP_SYST_MAX; - double k_syst_max = KMC*K_SYST_MAX; - // - // negative points - for (int i=0; iSetTitle("EWK Variation (%)"); - g_ewk.GetYaxis()->SetTitle(yaxis); - g_ewk.Draw("AL"); - c.Print("ewk_syst_variation.C"); - // - g_fz.SetLineWidth(2); - g_fz.GetXaxis()->SetTitle("F_{z} Variation (%)"); - g_fz.GetYaxis()->SetTitle(yaxis); - g_fz.Draw("AL"); - c.Print("fz_syst_variation.C"); - // - g_fzp.SetLineWidth(2); - g_fzp.GetXaxis()->SetTitle("F_{z}' Variation (%)"); - g_fzp.GetYaxis()->SetTitle(yaxis); - g_fzp.Draw("AL"); - c.Print("fzp_syst_variation.C"); - // - g_i.SetLineWidth(2); - g_i.GetXaxis()->SetTitle("I Variation (%)"); - g_i.GetYaxis()->SetTitle(yaxis); - g_i.Draw("AL"); - c.Print("i_syst_variation.C"); - // - g_k.SetLineWidth(2); - g_k.GetXaxis()->SetTitle("K Variation (%)"); - g_k.GetYaxis()->SetTitle(yaxis); - g_k.Draw("AL"); - c.Print("k_syst_variation.C"); - // - // ****************************************************************** - // - // - // - double err_ewk = std::max(fabs(SMC-S_EWK_PLUS),fabs(SMC-S_EWK_MINUS)); - double err_fz = fabs(SMC-S_FZ); - double err_fzp = fabs(SMC-S_FZP); - double err_i = fabs(SMC-S_I); - double err_k = fabs(SMC-S_K); - // - double DS_syst = sqrt(err_ewk*err_ewk + err_fz*err_fz + err_fzp*err_fzp+ - err_i*err_i + err_k*err_k); - // - cout << "********************************************************" << endl; - cout << "Signal Prediction: " << S << "+-" << DS << "(stat) +-" - << DS_syst << "(syst)" << endl; - cout << "stat error: " << 100.*DS/S <<"%" << endl; - cout << "syt error: " << 100.*DS_syst/S<< "%" << endl; - cout << "********************************************************" << endl; - cout << "Parameters used in calculation: " << endl; - cout << "I= " << I << "+-" << dI << endl; - cout << "Fz= " << Fz << "+-" << dFz << endl; - cout << "FzP=" << FzP << "+-" << dFzP << endl; - cout << "EWK error assumed to be: " << ewkerror << endl; - cout << endl; - cout << "ABCD Regions population:" << endl; - cout << "A: N=" << Na << ", sig=" << a_sig << ", qcd=" << a_qcd - << ", ewk=" << a_ewk << endl; - cout << "B: N=" << Nb << ", sig=" << b_sig << ", qcd=" << b_qcd - << ", ewk=" << b_ewk << endl; - cout << "C: N=" << Nc << ", sig=" << c_sig << ", qcd=" << c_qcd - << ", ewk=" << c_ewk << endl; - cout << "D: N=" << Nd << ", sig=" << d_sig << ", qcd=" << d_qcd - << ", ewk=" << d_ewk << endl; - cout << endl; - cout << "Parameters from MC: " << endl; - cout << "I= " << Imc << "+-" << dImc << endl; - cout << "Fz= " << Fzmc << "+-" << dFzmc << endl; - cout << "FzP=" << FzPmc << "+-" << dFzPmc << endl; - cout << endl; - cout << "Real value of K=" << KMC << endl; - cout << "Real value of Signal=" << SMC << endl; - cout << endl; - cout << "Difference Measured - MC value (% wrt MC value except K=1): " - << endl; - cout << "Fz : " << dfz << ", (" << dfz*100./Fzmc << "%)" << endl; - cout << "FzP: " << dfzp << ", (" << dfzp*100./FzPmc << "%)" << endl; - cout << "I : " << di << ", (" << di*100./Imc << "%)" << endl; - cout << "K : " << fk << ", (" << fk*100./1. << "%)" << endl; - cout << endl; - // - cout << "DETAILS OF THE CALCULATION" << endl; - cout << "^^^^^^^^^^^^^^^^^^^^^^^^^^" << endl; - cout << "Statistical Error Summary: " << endl; - cout << "due to Fz = "<< SpFz*dFz<< ", ("<-0.75) { // select value -0.5 that gives the - // string parser - cout << "=======================================================" << endl; - cout << "Calculating ABCD Result and Stat Error Assuming MC ONLY" << endl; - cout << "=======================================================" << endl; - cout << "All input parameters that the user have inserted will be " - << "ignored and recalculated from MC" << endl; - cout << "This option will not give you systematics estimation" << endl; - // recalculate the basic quantities - I = (a_sig + b_sig) / (a_sig + b_sig + c_sig + d_sig); - dI = sqrt(I*(1-I)/(a_sig + b_sig + c_sig + d_sig)); - Fz = a_sig/b_sig; - double e =a_sig/(a_sig + b_sig); - double de = sqrt(e*(1-e)/(a_sig + b_sig)); - double alpha = de/(2.*Fz-e); - dFz = alpha/(1-alpha); - FzP = d_sig/c_sig; - double ep =d_sig/(c_sig + d_sig); - double dep = sqrt(ep*(1-ep)/(c_sig + d_sig)); - double alphap = dep/(2.*FzP-ep); - dFzP = alphap/(1-alphap); - // - double KMC = (d_qcd/c_qcd)/(a_qcd/b_qcd); - // - // now everything is done from data + input - double A = (1.0-I)*(FzP-Fz); - double B = I*(FzP+1.0)*(FzP*(c_sig+c_qcd)-(d_sig+d_qcd)) + - (1+Fz)*(1-I)*((a_sig+a_qcd)-dFzP*(b_sig+b_qcd)); - double C = I*(1.+Fz)*(1.+FzP)*((d_sig+d_qcd)*(b_sig+b_qcd) - - (a_sig+a_qcd)*(c_sig+c_qcd)); - // - // signal calculation: - double S = Trionym(A,B,C, a_sig+b_sig); - - // the errors now: - // calculate the statistical error now: - double ApI=0, ApFz=0, ApFzP=0, ApNa=0, ApNb=0, ApNc=0, ApNd=0; - double BpI=0, BpFz=0, BpFzP=0, BpNa=0, BpNb=0, BpNc=0, BpNd=0; - double CpI=0, CpFz=0, CpFzP=0, CpNa=0, CpNb=0, CpNc=0, CpNd=0; - double SpI=0, SpFz=0, SpFzP=0, SpNa=0, SpNb=0, SpNc=0, SpNd=0; - // - double Na = a_sig+a_qcd+a_ewk, Nb = b_sig+b_qcd+b_ewk; - double Nc=c_sig+c_qcd+c_ewk, Nd = d_sig+d_qcd+d_ewk; - double Ea = a_ewk, Eb = b_ewk, Ec=c_ewk, Ed = d_ewk; - if (A != 0) { - - ApI = -(FzP-Fz); - ApFz = -(1.0-I); - ApFzP = (1.0-I); - ApNa = 0.0; - ApNb = 0.0; - ApNc = 0.0; - ApNd = 0.0; - - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = (-BpI + (B*BpI -2.0*ApI*C -2.0*A*CpI) /fabs(2.0*A*S+B)- 2.0*ApI*S) /(2.0*A); - SpFz = (-BpFz + (B*BpFz -2.0*ApFz*C -2.0*A*CpFz) /fabs(2.0*A*S+B)- 2.0*ApFz*S) /(2.0*A); - SpFzP = (-BpFzP + (B*BpFzP -2.0*ApFzP*C -2.0*A*CpFzP)/fabs(2.0*A*S+B)- 2.0*ApFzP*S)/(2.0*A); - SpNa = (-BpNa + (B*BpNa -2.0*ApNa*C -2.0*A*CpNa) /fabs(2.0*A*S+B)- 2.0*ApNa*S) /(2.0*A); - SpNb = (-BpNb + (B*BpNb -2.0*ApNb*C -2.0*A*CpNb) /fabs(2.0*A*S+B)- 2.0*ApNb*S) /(2.0*A); - SpNc = (-BpNc + (B*BpNc -2.0*ApNc*C -2.0*A*CpNc) /fabs(2.0*A*S+B)- 2.0*ApNc*S) /(2.0*A); - SpNd = (-BpNd + (B*BpNd -2.0*ApNd*C -2.0*A*CpNd) /fabs(2.0*A*S+B)- 2.0*ApNd*S) /(2.0*A); - } - else { - BpI = (FzP+1.0)*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0+Fz)*((Na-Ea)-FzP*(Nb-Eb)); - BpFz = I*(FzP+1.0)*(Nc-Ec)+(1.0-I)*((Na-Ea)-FzP*(Nb-Eb)); - BpFzP = I*(Fz*(Nc-Ec)-(Nd-Ed))-(1.0-I)*(1.0+Fz)*(Nb-Eb); - BpNa = (1.0-I)*(1.0+Fz); - BpNb = -(1.0-I)*(1.0+Fz)*FzP; - BpNc = I*(FzP+1.0)*Fz; - BpNd = -I*(FzP+1.0); - - CpI = (1.0+Fz)*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFz = I*(1.0+FzP)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpFzP = I*(1.0+Fz)*((Nd-Ed)*(Nb-Eb)-(Na-Ea)*(Nc-Ec)); - CpNa = -I*(1.0+Fz)*(1.0+FzP)*(Nc-Ec); - CpNb = I*(1.0+Fz)*(1.0+FzP)*(Nd-Ed); - CpNc = -I*(1.0+Fz)*(1.0+FzP)*(Na-Ea); - CpNd = I*(1.0+Fz)*(1.0+FzP)*(Nb-Eb); - - SpI = -CpI/B+C*BpI/(B*B); - SpFz = -CpFz/B+C*BpFz/(B*B); - SpFzP = -CpFzP/B+C*BpFzP/(B*B); - SpNa = -CpNa/B+C*BpNa/(B*B); - SpNb = -CpNb/B+C*BpNb/(B*B); - SpNc = -CpNc/B+C*BpNc/(B*B); - SpNd = -CpNd/B+C*BpNd/(B*B); - } - double DS; - DS = sqrt( SpI*dI*SpI*dI + SpFz*dFz*SpFz*dFz + SpFzP*dFzP*SpFzP*dFzP + - SpNa*SpNa*Na + SpNb*SpNb*Nb + SpNc*SpNc*Nc + SpNd*SpNd*Nd ); - // warning: S here denotes the method prediction .......... - cout << "********************************************************" << endl; - cout << "Signal Prediction: " << S << "+-" << DS << "(stat)" << endl; - cout << "********************************************************" << endl; - cout << "Parameters used in calculation: " << endl; - cout << "I= " << I << "+-" << dI << endl; - cout << "Fz= " << Fz << "+-" << dFz << endl; - cout << "FzP=" << FzP << "+-" << dFzP << endl; - cout << endl; - cout << "ABCD Regions population:" << endl; - cout << "A: N=" << Na << ", sig=" << a_sig << ", qcd=" << a_qcd - << ", ewk=" << a_ewk << endl; - cout << "B: N=" << Nb << ", sig=" << b_sig << ", qcd=" << b_qcd - << ", ewk=" << b_ewk << endl; - cout << "C: N=" << Nc << ", sig=" << c_sig << ", qcd=" << c_qcd - << ", ewk=" << c_ewk << endl; - cout << "D: N=" << Nd << ", sig=" << d_sig << ", qcd=" << d_qcd - << ", ewk=" << d_ewk << endl; - cout << "K value from MC: " << KMC << endl; - cout << endl; - cout << "Statistical Error Summary: " << endl; - cout << "due to Fz = "<< SpFz*dFz<< ", ("< file, vector type, - vector weight, TString xtitle) -{ - gROOT->Reset(); - gROOT->ProcessLine(".L tdrstyle.C"); - gROOT->ProcessLine("setTDRStyle()"); - // automatic recognition of histogram dimension - int NBins = 0; double min = 0; double max = -1; - for (int i=0; i< (int) file.size(); ++i) { - if (weight[i]>0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - NBins = h->GetNbinsX(); - min = h->GetBinLowEdge(1); - max = h->GetBinLowEdge(NBins+1); - break; - } - } - if (NBins ==0 || (max0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_wenu.Add(h, weight[i]); - } - } - // Bkgs .............................................................. - // - // QCD light flavor - TH1F h_qcd("h_qcd", "h_qcd", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_qcd.Add(h, weight[i]); - } - } - // QCD heavy flavor - TH1F h_bce("h_bce", "h_bce", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_bce.Add(h, weight[i]); - } - } - // QCD Gjets - TH1F h_gj("h_gj", "h_gj", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_gj.Add(h, weight[i]); - } - } - // Other EWK bkgs - TH1F h_ewk("h_ewk", "h_ewk", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_ewk.Add(h, weight[i]); - } - } - // - // ok now decide how to plot them: - // first the EWK bkgs - h_ewk.SetFillColor(3); - // - // then the gjets - h_gj.Add(&h_ewk); - h_gj.SetFillColor(1); - // thent the QCD dijets - h_bce.Add(&h_qcd); - h_bce.Add(&h_gj); - h_bce.SetFillColor(2); - // and the signal at last - TH1F h_tot("h_tot", "h_tot", NBins, min, max); - h_tot.Add(&h_bce); - h_tot.Add(&h_wenu); - h_wenu.SetLineColor(4); h_wenu.SetLineWidth(2); - // - TCanvas c; - h_tot.GetXaxis()->SetTitle(xtitle); - h_tot.Draw("PE"); - h_bce.Draw("same"); - h_gj.Draw("same"); - h_ewk.Draw("same"); - h_wenu.Draw("same"); - - // the Legend - TLegend leg(0.6,0.65,0.95,0.92); - if (wzsignal == "wenu") - leg.AddEntry(&h_wenu, "W#rightarrow e#nu","l"); - else - leg.AddEntry(&h_wenu, "Z#rightarrow ee","l"); - leg.AddEntry(&h_tot, "Signal + Bkg","p"); - leg.AddEntry(&h_bce, "dijets","f"); - leg.AddEntry(&h_gj, "#gamma + jets","f"); - leg.AddEntry(&h_ewk, "EWK+t#bar t", "f"); - leg.Draw("same"); - - c.Print("test.png"); - - - -} - - -// -// reads the ABCD string and returns its value -// value is whatever it exists after the = sign and -// before the comma or the parenthesis -// -// if the string is not contained returns -1 -// if there is no value, but the string is contained -0.5 -// if there is an error in the algorithm return -99 and print error -// else returns its value -double searchABCDstring(TString abcdString, TString keyword) -{ - int size = keyword.Sizeof(); - int existsEntry = abcdString.Index(keyword); - // - if (existsEntry==-1) return -1.; - // - TString previousVal = abcdString(existsEntry-1); - if (!(previousVal == "," || previousVal == " " || - previousVal == "(" )) return -1.; - // - TString afterVal = abcdString(existsEntry+size-1); - //std::cout << "afterVal=" << afterVal << std::endl; - if (afterVal =="," || afterVal==")") return -0.5; - else if (afterVal != "=") return -1.; - // - // now find the comma or the parenthesis after the = sign - int comma = abcdString.Index(",",existsEntry); - //std::cout << "first comma=" << comma << std::endl; - if (comma<0) comma = abcdString.Index(")",existsEntry); - if (comma<0) { - std::cout << "Error in parcing abcd line, chech syntax " - << std::endl; - return -99.; - } - TString svalue=abcdString(existsEntry+size,comma-existsEntry-size); - std::cout << "Found ABCD parameter "<< keyword - << " with value " << svalue << endl; - // convert this to a float - double value = svalue.Atof(); - return value; - -} - - -double Trionym(double a, double b, double c, double sum) -{ - if (a==0) { - return -c/b; - } - double D2 = b*b - 4.*a*c; - //return (-b + sqrt(D2)) / (2.*a); - if (D2 > 0) { - double s1 = (-b + sqrt(D2)) / (2.*a); - double s2 = (-b - sqrt(D2)) / (2.*a); - double solution = fabs(s1-sum)SetPadGridX(gridOn); - tdrStyle->SetPadGridY(gridOn); -} - -// fixOverlay: Redraws the axis - -void fixOverlay() { - gPad->RedrawAxis(); -} - -void setTDRStyle() { - TStyle *tdrStyle = new TStyle("tdrStyle","Style for P-TDR"); - -// For the canvas: - tdrStyle->SetCanvasBorderMode(0); - tdrStyle->SetCanvasColor(kWhite); - tdrStyle->SetCanvasDefH(600); //Height of canvas - tdrStyle->SetCanvasDefW(600); //Width of canvas - tdrStyle->SetCanvasDefX(0); //POsition on screen - tdrStyle->SetCanvasDefY(0); - -// For the Pad: - tdrStyle->SetPadBorderMode(0); - // tdrStyle->SetPadBorderSize(Width_t size = 1); - tdrStyle->SetPadColor(kWhite); - tdrStyle->SetPadGridX(false); - tdrStyle->SetPadGridY(false); - tdrStyle->SetGridColor(0); - tdrStyle->SetGridStyle(3); - tdrStyle->SetGridWidth(1); - -// For the frame: - tdrStyle->SetFrameBorderMode(0); - tdrStyle->SetFrameBorderSize(1); - tdrStyle->SetFrameFillColor(0); - tdrStyle->SetFrameFillStyle(0); - tdrStyle->SetFrameLineColor(1); - tdrStyle->SetFrameLineStyle(1); - tdrStyle->SetFrameLineWidth(1); - -// For the histo: - // tdrStyle->SetHistFillColor(1); - // tdrStyle->SetHistFillStyle(0); - tdrStyle->SetHistLineColor(1); - tdrStyle->SetHistLineStyle(0); - tdrStyle->SetHistLineWidth(1); - // tdrStyle->SetLegoInnerR(Float_t rad = 0.5); - // tdrStyle->SetNumberContours(Int_t number = 20); - - tdrStyle->SetEndErrorSize(2); -// tdrStyle->SetErrorMarker(20); - tdrStyle->SetErrorX(0.); - - tdrStyle->SetMarkerStyle(20); - -//For the fit/function: - tdrStyle->SetOptFit(1); - tdrStyle->SetFitFormat("5.4g"); - tdrStyle->SetFuncColor(2); - tdrStyle->SetFuncStyle(1); - tdrStyle->SetFuncWidth(1); - -//For the date: - tdrStyle->SetOptDate(0); - // tdrStyle->SetDateX(Float_t x = 0.01); - // tdrStyle->SetDateY(Float_t y = 0.01); - -// For the statistics box: - tdrStyle->SetOptFile(0); - tdrStyle->SetOptStat(0); // To display the mean and RMS: SetOptStat("mr"); - tdrStyle->SetStatColor(kWhite); - tdrStyle->SetStatFont(42); - tdrStyle->SetStatFontSize(0.025); - tdrStyle->SetStatTextColor(1); - tdrStyle->SetStatFormat("6.4g"); - tdrStyle->SetStatBorderSize(1); - tdrStyle->SetStatH(0.1); - tdrStyle->SetStatW(0.15); - // tdrStyle->SetStatStyle(Style_t style = 1001); - // tdrStyle->SetStatX(Float_t x = 0); - // tdrStyle->SetStatY(Float_t y = 0); - -// Margins: - tdrStyle->SetPadTopMargin(0.05); - tdrStyle->SetPadBottomMargin(0.12); - tdrStyle->SetPadLeftMargin(0.15); - tdrStyle->SetPadRightMargin(0.04); - -// For the Global title: - - tdrStyle->SetOptTitle(0); - tdrStyle->SetTitleFont(42); - tdrStyle->SetTitleColor(1); - tdrStyle->SetTitleTextColor(1); - tdrStyle->SetTitleFillColor(10); - tdrStyle->SetTitleFontSize(0.05); - // tdrStyle->SetTitleH(0); // Set the height of the title box - // tdrStyle->SetTitleW(0); // Set the width of the title box - // tdrStyle->SetTitleX(0); // Set the position of the title box - // tdrStyle->SetTitleY(0.985); // Set the position of the title box - // tdrStyle->SetTitleStyle(Style_t style = 1001); - // tdrStyle->SetTitleBorderSize(2); - -// For the axis titles: - - tdrStyle->SetTitleColor(1, "XYZ"); - tdrStyle->SetTitleFont(42, "XYZ"); - tdrStyle->SetTitleSize(0.06, "XYZ"); - // tdrStyle->SetTitleXSize(Float_t size = 0.02); // Another way to set the size? - // tdrStyle->SetTitleYSize(Float_t size = 0.02); - tdrStyle->SetTitleXOffset(0.9); - tdrStyle->SetTitleYOffset(1.25); - // tdrStyle->SetTitleOffset(1.1, "Y"); // Another way to set the Offset - -// For the axis labels: - - tdrStyle->SetLabelColor(1, "XYZ"); - tdrStyle->SetLabelFont(42, "XYZ"); - tdrStyle->SetLabelOffset(0.007, "XYZ"); - tdrStyle->SetLabelSize(0.05, "XYZ"); - -// For the axis: - - tdrStyle->SetAxisColor(1, "XYZ"); - tdrStyle->SetStripDecimals(kTRUE); - tdrStyle->SetTickLength(0.03, "XYZ"); - tdrStyle->SetNdivisions(510, "XYZ"); - tdrStyle->SetPadTickX(1); // To get tick marks on the opposite side of the frame - tdrStyle->SetPadTickY(1); - -// Change for log plots: - tdrStyle->SetOptLogx(0); - tdrStyle->SetOptLogy(0); - tdrStyle->SetOptLogz(0); - -// Postscript options: - tdrStyle->SetPaperSize(20.,20.); - // tdrStyle->SetLineScalePS(Float_t scale = 3); - // tdrStyle->SetLineStyleString(Int_t i, const char* text); - // tdrStyle->SetHeaderPS(const char* header); - // tdrStyle->SetTitlePS(const char* pstitle); - - // tdrStyle->SetBarOffset(Float_t baroff = 0.5); - // tdrStyle->SetBarWidth(Float_t barwidth = 0.5); - // tdrStyle->SetPaintTextFormat(const char* format = "g"); - // tdrStyle->SetPalette(Int_t ncolors = 0, Int_t* colors = 0); - // tdrStyle->SetTimeOffset(Double_t toffset); - // tdrStyle->SetHistMinimumZero(kTRUE); - - tdrStyle->cd(); - -} diff --git a/ElectroWeakAnalysis/WENu/python/simpleCutBasedElectronIDSpring10_cfi.py b/ElectroWeakAnalysis/WENu/python/simpleCutBasedElectronIDSpring10_cfi.py deleted file mode 100644 index 88f7ce351171b..0000000000000 --- a/ElectroWeakAnalysis/WENu/python/simpleCutBasedElectronIDSpring10_cfi.py +++ /dev/null @@ -1,164 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## Electron ID Based on Simple Cuts: Spring10 MC tuned selections -# -# Instructions on how to use this file -# ==================================== -# -# The selections that are implemented in this python cfg are -# explained in this twiki page: -# https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID -# In summary, they come in 6 different tightness levels. For -# each tightness, the user can select whether they want -# combined isolation or relative isolations. -# -# In order to use this cfg file you have to include it from the -# python directory that you have placed it, clone some selection -# of your preference and run it in your sequence -# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# from ElectroWeakAnalysis.WENu.simpleCutBasedElectronID_cfi import * -# -# simpleEleId_95relIso = simpleCutBasedElectronID.clone() -# simpleEleId_95relIso.electronQuality = '_95relIso_' -# mySequence = cms.Sequence(...+...+..+simpleEleId95relIso+...) -# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# Warning: make sure that you use the correct tags for the -# RecoEgamma/ElectronIdentification package -# consult this twiki to obtain the latest information: -# -# https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID -# -# this version of the file needs -# V00-03-07-03 RecoEgamma/ElectronIdentification - -simpleCutBasedElectronID = cms.EDProducer("EleIdCutBasedExtProducer", - -# import here your collections - src = cms.InputTag("gsfElectrons"), - #reducedBarrelRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEB"), - #reducedEndcapRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEE"), - # Spring10 uses these names: - reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB"), - reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE"), - # if you want the vertices or the offline beam spot - verticesCollection = cms.InputTag("offlineBeamSpot"), - #dataMagneticFieldSetUp = cms.bool(False), - #dcsTag = cms.InputTag("scalersRawToDigi"), - algorithm = cms.string('eIDCB'), - - #electronIDType: robust for the simple Cut-Based - #electronQuality: see later - #electronVersion: use V03 with the offline beam spot - electronIDType = cms.string('robust'), - electronQuality = cms.string('test'), - electronVersion = cms.string('V04'), - -#### -#### Selections with Relative Isolation - robust95relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.5e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 1.5e-01, - 2.0e+00, 1.2e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), -# endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 8.0e-02, -# 6.0e-02, 5.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 1.0e-02, -1, -1, 9999., 9999., 9999., 9999., 9999., 8.0e-02, - 6.0e-02, 5.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - ), - robust90relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.2e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 1.2e-01, - 9.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, -# 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust85relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 6.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9.0e-02, - 8.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, -# 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust80relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9.0e-02, - 7.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, -# 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, - 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 70% point modified with restricting cuts to physical values - robust70relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 3.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, -# 2.5e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, - 2.5e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 60% point modified with restricting cuts to physical values - robust60relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 2.5e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, - 4.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, -# 2.0e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, - 2.0e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - -#### -#### Selections with Combined Isolation - - robust95cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.5e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.5e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), -# endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 1.0e-02, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - ), - robust90cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.2e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust85cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 6.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 9.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust80cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 70% point modified with restricting cuts to physical values - robust70cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 3.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 4.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 60% point modified with restricting cuts to physical values - robust60cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 2.5e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 2.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 2.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - -) - diff --git a/ElectroWeakAnalysis/WENu/python/simpleCutBasedSpring10SelectionBlocks_cfi.py b/ElectroWeakAnalysis/WENu/python/simpleCutBasedSpring10SelectionBlocks_cfi.py deleted file mode 100644 index e9cf485ad85d2..0000000000000 --- a/ElectroWeakAnalysis/WENu/python/simpleCutBasedSpring10SelectionBlocks_cfi.py +++ /dev/null @@ -1,294 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -######################################################### -## 95% -selection_95relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(1.5e-01), - ecalIso_EB = cms.untracked.double(2.0e+00), - hcalIso_EB = cms.untracked.double(1.2e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.5e-01), - cIso_EB = cms.untracked.double(10000.), - - trackIso_EE = cms.untracked.double(8.0e-02), - ecalIso_EE = cms.untracked.double(6.0e-02), - hcalIso_EE = cms.untracked.double(5.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(1.0e-02), - hoe_EE = cms.untracked.double(7.0e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_95cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.5e-01), - cIso_EB = cms.untracked.double(1.5e-01), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(1.0e-02), - hoe_EE = cms.untracked.double(7.0e-02), - cIso_EE = cms.untracked.double(1.0e-01), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 90% -selection_90relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(1.2e-01), - ecalIso_EB = cms.untracked.double(9.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.2e-01), - cIso_EB = cms.untracked.double(10000. ), - - trackIso_EE = cms.untracked.double(5.0e-02), - ecalIso_EE = cms.untracked.double(6.0e-02), - hcalIso_EE = cms.untracked.double(3.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(9.0e-03), - hoe_EE = cms.untracked.double(5.0e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_90cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.2e-01), - cIso_EB = cms.untracked.double(1.0e-01), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(9.0e-03), - hoe_EE = cms.untracked.double(5.0e-02), - cIso_EE = cms.untracked.double(7.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 85% -selection_85relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(9.0e-02), - ecalIso_EB = cms.untracked.double(8.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(6.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(10000. ), - - trackIso_EE = cms.untracked.double(5.0e-02), - ecalIso_EE = cms.untracked.double(5.0e-02), - hcalIso_EE = cms.untracked.double(2.5e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(4.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_85cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(6.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(9.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(4.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(6.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 80% -selection_80relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(9.0e-02), - ecalIso_EB = cms.untracked.double(7.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(4.0e-02), - ecalIso_EE = cms.untracked.double(5.0e-02), - hcalIso_EE = cms.untracked.double(2.5e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(3.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_80cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(7.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(3.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(6.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### -## 70% corrected with lower limits to cut values -selection_70relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(5.0e-02), - ecalIso_EB = cms.untracked.double(6.0e-02), - hcalIso_EB = cms.untracked.double(3.0e-02), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(3.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(2.5e-02), - ecalIso_EE = cms.untracked.double(2.5e-02), - hcalIso_EE = cms.untracked.double(2.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_70cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(3.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(4.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(3.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### -## 60% corrected with lower limits to cut values -selection_60relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(4.0e-02), - ecalIso_EB = cms.untracked.double(4.0e-02), - hcalIso_EB = cms.untracked.double(3.0e-02), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(2.5e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(2.5e-02), - ecalIso_EE = cms.untracked.double(2.0e-02), - hcalIso_EE = cms.untracked.double(2.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_60cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(2.5e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(3.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(2.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### - - - diff --git a/ElectroWeakAnalysis/WENu/python/simpleEleIdSequence_cff.py b/ElectroWeakAnalysis/WENu/python/simpleEleIdSequence_cff.py deleted file mode 100644 index ebe9ea6e177a6..0000000000000 --- a/ElectroWeakAnalysis/WENu/python/simpleEleIdSequence_cff.py +++ /dev/null @@ -1,58 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.WENu.simpleCutBasedElectronIDSpring10_cfi import * - - -simpleEleId95relIso = simpleCutBasedElectronID.clone() -simpleEleId95relIso.electronQuality = '95relIso' - -simpleEleId90relIso = simpleCutBasedElectronID.clone() -simpleEleId90relIso.electronQuality = '90relIso' - -simpleEleId85relIso = simpleCutBasedElectronID.clone() -simpleEleId85relIso.electronQuality = '85relIso' - -simpleEleId80relIso = simpleCutBasedElectronID.clone() -simpleEleId80relIso.electronQuality = '80relIso' - -simpleEleId70relIso = simpleCutBasedElectronID.clone() -simpleEleId70relIso.electronQuality = '70relIso' - -simpleEleId60relIso = simpleCutBasedElectronID.clone() -simpleEleId60relIso.electronQuality = '60relIso' - - -simpleEleId95cIso = simpleCutBasedElectronID.clone() -simpleEleId95cIso.electronQuality = '95cIso' - -simpleEleId90cIso = simpleCutBasedElectronID.clone() -simpleEleId90cIso.electronQuality = '90cIso' - -simpleEleId85cIso = simpleCutBasedElectronID.clone() -simpleEleId85cIso.electronQuality = '85cIso' - -simpleEleId80cIso = simpleCutBasedElectronID.clone() -simpleEleId80cIso.electronQuality = '80cIso' - -simpleEleId70cIso = simpleCutBasedElectronID.clone() -simpleEleId70cIso.electronQuality = '70cIso' - -simpleEleId60cIso = simpleCutBasedElectronID.clone() -simpleEleId60cIso.electronQuality = '60cIso' - - - -simpleEleIdSequence = cms.Sequence(simpleEleId95relIso+ - simpleEleId90relIso+ - simpleEleId85relIso+ - simpleEleId80relIso+ - simpleEleId70relIso+ - simpleEleId60relIso+ - simpleEleId95cIso+ - simpleEleId90cIso+ - simpleEleId85cIso+ - simpleEleId80cIso+ - simpleEleId70cIso+ - simpleEleId60cIso - ) - diff --git a/ElectroWeakAnalysis/WENu/src/GenPurposeSkimmerData.cc b/ElectroWeakAnalysis/WENu/src/GenPurposeSkimmerData.cc deleted file mode 100644 index bc56d0f60b6c6..0000000000000 --- a/ElectroWeakAnalysis/WENu/src/GenPurposeSkimmerData.cc +++ /dev/null @@ -1,1032 +0,0 @@ -// -*- C++ -*- -// -// Package: GenPurposeSkimmerData -// Class: GenPurposeSkimmerData -// -/**\class GenPurposeSkimmerData GenPurposeSkimmerData.cc - - - Description: - =============== - Implementation: - =============== - This is a general purpose Skimmer - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - It reads datasets and keeps only the analysis-relevant information - and stores it in a simple TTree. - Code Inspired by the T&P code by Claire Timlin - Note: a similar code to read PAT tuples is already available - - History: -16.10.08: first version -24.10.08: added ECAL/HCAL isolation + sigma ieta ieta (S. Harper) -30.10.08: all isolations use isodeposits - all parameters are untracked -18.03.09: modified to store just the 4 highest ET gsf electrons in the event -02.04.09: version for redigi including particle flow MET + gen level MET -04.04.09: version for redigi including tcMET, MET eta dropped -22.04.09: version for redigi including MET Type1 corrections -23.04.09: version completely changes to read from PAT....................... -07.09.09: version for 3_1_2 version -08.09.09: version for 3_1_2 that keeps all the trigger info and reduced - number of the other collections - - - Further Information/Inquiries: - Nikos Rompotis - Imperial College London - Nikolaos.Rompotis@Cern.ch - -*/ -// -// Original Author: Nikolaos Rompotis -// Created: Thu Oct 16 17:11:55 CEST 2008 -// -// - -#include "ElectroWeakAnalysis/WENu/interface/GenPurposeSkimmerData.h" - -// -// -// -#include "FWCore/Common/interface/TriggerNames.h" -// -// -GenPurposeSkimmerData::GenPurposeSkimmerData(const edm::ParameterSet &ps) - -{ - // - // I N P U T P A R A M E T E R S - // - // output file name - outputFile_ = ps.getUntrackedParameter("outputfile"); - // - // Electron Collection - ElectronCollectionToken_ = - consumes(ps.getUntrackedParameter("ElectronCollection")); - // - // MC: - //MCCollection_ = ps.getUntrackedParameter("MCCollection"); - //MCCollectionToken_ = consumes(MCCollection_); - //MCMatch_Deta_ = ps.getUntrackedParameter("MCMatch_Deta",0.1); - //MCMatch_Dphi_ = ps.getUntrackedParameter("MCMatch_Dphi",0.35); - // - // MET Collections: - MetCollectionTag_ = ps.getUntrackedParameter("MetCollectionTag"); - MetCollectionToken_ = consumes(MetCollectionTag_); - mcMetCollectionToken_ = consumes(ps.getUntrackedParameter("mcMetCollectionTag")); - t1MetCollectionToken_ = consumes(ps.getUntrackedParameter("t1MetCollectionTag")); - pfMetCollectionToken_ = - consumes(ps.getUntrackedParameter("pfMetCollectionTag")); - tcMetCollectionToken_ = consumes(ps.getUntrackedParameter("tcMetCollectionTag")); - // genMetCollectionToken_ = consumes(ps.getUntrackedParameter("genMetCollectionTag")); - // - // HLT parameters: - // allow info for 2 paths and 2 filters - // --------------------------------------------------------------------------- - HLTCollectionE29_ = ps.getUntrackedParameter("HLTCollectionE29"); - HLTCollectionE29Token_ = consumes(HLTCollectionE29_); - HLTCollectionE31_ = ps.getUntrackedParameter("HLTCollectionE31"); - HLTCollectionE31Token_ = consumes(HLTCollectionE31_); - HLTTriggerResultsE29_ = ps.getUntrackedParameter("HLTTriggerResultsE29"); - HLTTriggerResultsE29Token_ = consumes(HLTTriggerResultsE29_); - HLTTriggerResultsE31_ = ps.getUntrackedParameter("HLTTriggerResultsE31"); - HLTTriggerResultsE31Token_ = consumes(HLTTriggerResultsE31_); - //HLTPath_ = ps.getUntrackedParameter("HLTPath","HLT_Ele15_LW_L1R"); - //HLTFilterType_ =ps.getUntrackedParameter("HLTFilterType"); - // - // matching HLT objects to electrons - ProbeHLTObjMaxDR = ps.getUntrackedParameter("ProbeHLTObjMaxDR", 0.2); - // - // ---------------------------------------------------------------------------- - // - // detector geometry - // - BarrelMaxEta = ps.getUntrackedParameter("BarrelMaxEta"); - EndcapMinEta = ps.getUntrackedParameter("EndcapMinEta"); - EndcapMaxEta = ps.getUntrackedParameter("EndcapMaxEta"); - // - ctfTracksToken_ = consumes(ps.getUntrackedParameter("ctfTracksTag")); - corHybridscToken_ = consumes(ps.getUntrackedParameter("corHybridsc")); - multi5x5scToken_ = consumes(ps.getUntrackedParameter("multi5x5sc")); - offlineBeamSpotToken_ = consumes(edm::InputTag("offlineBeamSpot")); - pMuonsToken_ = consumes(edm::InputTag("selectedLayer1Muons")); -} - -GenPurposeSkimmerData::~GenPurposeSkimmerData() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to for each event ------------ -void GenPurposeSkimmerData::analyze(const edm::Event &evt, const edm::EventSetup &es) { - // MC Collection ------------------------------------------------ - - // edm::Handle pGenPart; - // evt.getByToken(MCCollectionToken_, pGenPart); - // if ( not pGenPart.isValid() ) { - // std::cout <<"Error! Can't get "< pElectrons; - - try { - evt.getByToken(ElectronCollectionToken_, pElectrons); - } catch (cms::Exception const &) { - edm::LogError("") << "Error! Can't get ElectronCollection by label. "; - } - // *********************************************************************** - // check which trigger has accepted the event **************************** - // *********************************************************************** - // - // path allocation: first 10 paths belong to the low lum menu, the rest - // in the high lum one - // - // Low Luminosity Menu (8e29) - // - /* - edm::Handle HLTResultsE29; - evt.getByToken(HLTTriggerResultsE29Token_, HLTResultsE29); - if (not HLTResultsE29.isValid()) { - std::cout << "HLT Results with label: " << HLTTriggerResultsE29_ - << " not found" << std::endl; - return; - } - // - edm::Handle pHLTe29; - evt.getByToken(HLTCollectionE29Token_, pHLTe29); - if (not pHLTe29.isValid()) { - std::cout << "HLT Results with label: " << HLTCollectionE29_ - << " not found" << std::endl; - return; - } - // - int sum = 0; - // - for (int iT=0; iT<10; ++iT) { - event_HLTPath[iT] = 0; - numberOfHLTFilterObjects[iT] =0; - // - const edm::TriggerNames & triggerNames = evt.triggerNames(*HLTResultsE29); - unsigned int trigger_size = HLTResultsE29->size(); - unsigned int trigger_position = triggerNames.triggerIndex(HLTPath_[iT]); - if (trigger_position < trigger_size ) - event_HLTPath[iT] = (int) HLTResultsE29->accept(trigger_position); - // - numberOfHLTFilterObjects[iT] = 0; - // check explicitly that the filter is there - const int nF(pHLTe29->sizeFilters()); - const int filterInd = pHLTe29->filterIndex(HLTFilterType_[iT]); - if (nF != filterInd) { - const trigger::Vids& VIDS (pHLTe29->filterIds(filterInd)); - const trigger::Keys& KEYS(pHLTe29->filterKeys(filterInd)); - const int nI(VIDS.size()); - const int nK(KEYS.size()); - numberOfHLTFilterObjects[iT] = (nI>nK)? nI:nK; - } - //if (iT==2) // HLT_Ele15_LW_L1R only this trigger is required - sum += numberOfHLTFilterObjects[iT]; - } - // - // High Luminosity Menu (1e31) DISABLED - only low lumi level - // - edm::Handle HLTResultsE31; - evt.getByToken(HLTTriggerResultsE31Token_, HLTResultsE31); - if (not HLTResultsE31.isValid()) { - std::cout << "HLT Results with label: " << HLTTriggerResultsE31_ - << " not found" << std::endl; - return; - } - //// - edm::Handle pHLTe31; - evt.getByToken(HLTCollectionE31Token_, pHLTe31); - if (not pHLTe31.isValid()) { - std::cout << "HLT Results with label: " << HLTCollectionE31_ - << " not found" << std::endl; - return; - } - //// - for (int iT=10; iT<25; ++iT) { - event_HLTPath[iT] = 0; - numberOfHLTFilterObjects[iT] =0; - // - const edm::TriggerNames & triggerNames = evt.triggerNames(*HLTResultsE31); - unsigned int trigger_size = HLTResultsE31->size(); - unsigned int trigger_position = triggerNames.triggerIndex(HLTPath_[iT]); - if (trigger_position < trigger_size ) - event_HLTPath[iT] = (int) HLTResultsE31->accept(trigger_position); - // - numberOfHLTFilterObjects[iT] = 0; - // check explicitly that the filter is there - const int nF(pHLTe31->sizeFilters()); - const int filterInd = pHLTe31->filterIndex(HLTFilterType_[iT]); - if (nF != filterInd) { - const trigger::Vids& VIDS (pHLTe31->filterIds(filterInd)); - const trigger::Keys& KEYS(pHLTe31->filterKeys(filterInd)); - const int nI(VIDS.size()); - const int nK(KEYS.size()); - numberOfHLTFilterObjects[iT] = (nI>nK)? nI:nK; - } - // not needed - sum += numberOfHLTFilterObjects[iT]; - } - if (sum == 0) { - //std::cout << "No trigger found in this event..." << std::endl; - return; - } - */ - //std::cout << "HLT objects: #" << sum << std::endl; - // print out the triggers that exist in this event - // comment this out if you want to see the names of the existing triggers - edm::Handle pHLTe29; - evt.getByToken(HLTCollectionE29Token_, pHLTe29); - if (not pHLTe29.isValid()) { - std::cout << "Error!!! HLT is missing!" << std::endl; - return; - } /* - else { - // check explicitly that the filter is there - const int nF(pHLTe29->sizeFilters()); - for (int filterInd=0; filterInd< nF; ++filterInd) { - const trigger::Vids& VIDS (pHLTe29->filterIds(filterInd)); - const trigger::Keys& KEYS(pHLTe29->filterKeys(filterInd)); - const int nI(VIDS.size()); - const int nK(KEYS.size()); - int nObjects = (nI>nK)? nI:nK; - const edm::InputTag filterTag = pHLTe29->filterTag(filterInd); - std::cout << "Found filter with name " << filterTag - << " and #objects: #" << nObjects << std::endl; - } - } - */ - // ********************************************************************* - // MET Collections: - // - edm::Handle caloMET; - evt.getByToken(MetCollectionToken_, caloMET); - // - edm::Handle t1MET; - evt.getByToken(t1MetCollectionToken_, t1MET); - // - edm::Handle mcMET; - evt.getByToken(mcMetCollectionToken_, mcMET); - // - edm::Handle tcMET; - evt.getByToken(tcMetCollectionToken_, tcMET); - // - edm::Handle pfMET; - evt.getByToken(pfMetCollectionToken_, pfMET); - // - // edm::Handle genMET; - // evt.getByToken(genMetCollectionToken_, genMET); - // - // initialize the MET variables ........................................ - event_MET = -99.; - event_MET_phi = -99.; - event_MET_sig = -99.; - event_mcMET = -99.; - event_mcMET_phi = -99.; - event_mcMET_sig = -99.; - event_tcMET = -99.; - event_tcMET_phi = -99.; - event_tcMET_sig = -99.; - event_pfMET = -99.; - event_pfMET_phi = -99.; - event_pfMET_sig = -99.; - event_t1MET = -99.; - event_t1MET_phi = -99.; - event_t1MET_sig = -99.; - // - //event_genMET = -99.; event_genMET_phi= -99.; event_genMET_sig = -99.; - // - // get the values, if they are available - if (caloMET.isValid()) { - const reco::CaloMETRef MET(caloMET, 0); - event_MET = MET->et(); - event_MET_phi = MET->phi(); - event_MET_sig = MET->mEtSig(); - } else { - std::cout << "caloMET not valid: input Tag: " << MetCollectionTag_ << std::endl; - } - if (tcMET.isValid()) { - const reco::METRef MET(tcMET, 0); - event_tcMET = MET->et(); - event_tcMET_phi = MET->phi(); - event_tcMET_sig = MET->mEtSig(); - } - if (pfMET.isValid()) { - const reco::PFMETRef MET(pfMET, 0); - event_pfMET = MET->et(); - event_pfMET_phi = MET->phi(); - event_pfMET_sig = MET->mEtSig(); - } - if (t1MET.isValid()) { - const pat::METRef MET(t1MET, 0); - event_t1MET = MET->et(); - event_t1MET_phi = MET->phi(); - event_t1MET_sig = MET->mEtSig(); - } - if (mcMET.isValid()) { - const pat::METRef MET(mcMET, 0); - event_mcMET = MET->et(); - event_mcMET_phi = MET->phi(); - event_mcMET_sig = MET->mEtSig(); - } - - // if ( genMET.isValid() ) { - // const reco::GenMETRef MET(genMET, 0); - // event_genMET = MET->et(); event_genMET_phi = MET->phi(); - // event_genMET_sig = MET->mEtSig(); - // } - - // std::cout << "t1MET: " << event_t1MET << " twikiT1MET: " - // << event_twikiT1MET << ", calo="< SC1; - evt.getByToken(corHybridscToken_, SC1); - const reco::SuperClusterCollection *sc1 = SC1.product(); - // multi5x5SuperClustersWithPreshower - edm::Handle SC2; - evt.getByToken(multi5x5scToken_, SC2); - const reco::SuperClusterCollection *sc2 = SC2.product(); - // - const int n1 = sc1->size(); - const int n2 = sc2->size(); - //std::cout << "SC found: hybrid: " << n1 << ", multi5x5: " - // << n2 << std::endl; - // keep details of the 5 highest ET superclusters - for (int i = 0; i < 5; ++i) { - sc_hybrid_et[i] = -9999.; - sc_hybrid_eta[i] = -9999.; - sc_hybrid_phi[i] = -9999.; - // - sc_multi5x5_et[i] = -9999.; - sc_multi5x5_eta[i] = -9999.; - sc_multi5x5_phi[i] = -9999.; - // - } - // sort the energies of the first sc - std::vector ETsc1; - std::vector::const_iterator sc; - for (sc = sc1->begin(); sc != sc1->end(); ++sc) { - reco::SuperCluster mySc = *sc; - double scEt = mySc.energy() / (cosh(mySc.eta())); - ETsc1.push_back(scEt); - } - int *sorted1 = new int[n1]; - double *et1 = new double[n1]; - for (int i = 0; i < n1; ++i) { - et1[i] = ETsc1[i]; - } - // array sorted now has the indices of the highest ET electrons - TMath::Sort(n1, et1, sorted1, true); - // ......................................................................... - std::vector ETsc2; - for (sc = sc2->begin(); sc != sc2->end(); ++sc) { - reco::SuperCluster mySc = *sc; - double scEt = mySc.energy() / (cosh(mySc.eta())); - ETsc2.push_back(scEt); - } - int *sorted2 = new int[n2]; - double *et2 = new double[n2]; - for (int i = 0; i < n2; ++i) { - et2[i] = ETsc2[i]; - } - // array sorted now has the indices of the highest ET electrons - TMath::Sort(n2, et2, sorted2, true); - // - // - for (int probeSc = 0; probeSc < n1; ++probeSc) { - //std::cout<<"sorted["<< probeIt<< "]=" << sorted[probeIt] << std::endl; - // break if you have more than the appropriate number of electrons - if (probeSc >= 5) - break; - // - int sc_index = sorted1[probeSc]; - std::vector::const_iterator Rprobe = sc1->begin() + sc_index; - // - reco::SuperCluster sc0 = *Rprobe; - // now keep the relevant stuff: - sc_hybrid_et[probeSc] = sc0.energy() / (cosh(sc0.eta())); - sc_hybrid_eta[probeSc] = sc0.eta(); - sc_hybrid_phi[probeSc] = sc0.phi(); - } - // ......................................................................... - for (int probeSc = 0; probeSc < n2; ++probeSc) { - //std::cout<<"sorted["<< probeIt<< "]=" << sorted[probeIt] << std::endl; - // break if you have more than the appropriate number of electrons - if (probeSc >= 5) - break; - // - int sc_index = sorted2[probeSc]; - std::vector::const_iterator Rprobe = sc2->begin() + sc_index; - // - reco::SuperCluster sc0 = *Rprobe; - // now keep the relevant stuff: - sc_multi5x5_et[probeSc] = sc0.energy() / (cosh(sc0.eta())); - sc_multi5x5_eta[probeSc] = sc0.eta(); - sc_multi5x5_phi[probeSc] = sc0.phi(); - } - delete[] sorted1; - delete[] sorted2; - delete[] et1; - delete[] et2; - /////// collect the tracks in the event - // edm::InputTag ctfTracksTag("generalTracks", "", InputTagEnding_); - edm::Handle ctfTracks; - evt.getByToken(ctfTracksToken_, ctfTracks); - const reco::TrackCollection *ctf = ctfTracks.product(); - reco::TrackCollection::const_iterator tr; - const int ntracks = ctf->size(); - // - // get the beam spot for the parameter of the track - edm::Handle pBeamSpot; - evt.getByToken(offlineBeamSpotToken_, pBeamSpot); - const reco::BeamSpot *bspot = pBeamSpot.product(); - const math::XYZPoint &bspotPosition = bspot->position(); - // - for (int i = 0; i < 20; ++i) { - ctf_track_pt[i] = -9999.; - ctf_track_eta[i] = -9999.; - ctf_track_phi[i] = -9999.; - ctf_track_vx[i] = -9999.; - ctf_track_vy[i] = -9999.; - ctf_track_vz[i] = -9999.; - ctf_track_tip[i] = -9999.; - ctf_track_tip_bs[i] = -9999.; - } - // - std::vector ETtrack; - for (tr = ctf->begin(); tr != ctf->end(); ++tr) { - reco::Track mySc = *tr; - double scEt = mySc.pt(); - ETtrack.push_back(scEt); - } - int *sortedTr = new int[ntracks]; - double *etTr = new double[ntracks]; - for (int i = 0; i < ntracks; ++i) { - etTr[i] = ETtrack[i]; - } - // array sorted now has the indices of the highest ET electrons - TMath::Sort(ntracks, etTr, sortedTr, true); - // - for (int probeSc = 0; probeSc < ntracks; ++probeSc) { - //std::cout<<"sorted["<< probeIt<< "]=" << sorted[probeIt] << std::endl; - // break if you have more than the appropriate number of electrons - if (probeSc >= 20) - break; - // - int sc_index = sortedTr[probeSc]; - std::vector::const_iterator Rprobe = ctf->begin() + sc_index; - // - reco::Track sc0 = *Rprobe; - // now keep the relevant stuff: - ctf_track_pt[probeSc] = sc0.pt(); - ctf_track_eta[probeSc] = sc0.eta(); - ctf_track_phi[probeSc] = sc0.phi(); - ctf_track_vx[probeSc] = sc0.vx(); - ctf_track_vy[probeSc] = sc0.vy(); - ctf_track_vz[probeSc] = sc0.vz(); - ctf_track_tip[probeSc] = -sc0.dxy(); - ctf_track_tip_bs[probeSc] = -sc0.dxy(bspotPosition); - } - delete[] sortedTr; - delete[] etTr; - // - // keep 4 of the selectedLayer1Muons for reference - edm::Handle pMuons; - evt.getByToken(pMuonsToken_, pMuons); - const pat::MuonCollection *pmuon = pMuons.product(); - pat::MuonCollection::const_iterator muon; - const int nmuons = pMuons->size(); - // - for (int i = 0; i < 4; ++i) { - muon_pt[i] = -9999.; - muon_eta[i] = -9999.; - muon_phi[i] = -9999.; - muon_vx[i] = -9999.; - muon_vy[i] = -9999.; - muon_vz[i] = -9999.; - muon_tip[i] = -9999.; - muon_tip_bs[i] = -9999.; - } - // - std::vector ETmuons; - for (muon = pmuon->begin(); muon != pmuon->end(); ++muon) { - pat::Muon mySc = *muon; - double scEt = mySc.track()->pt(); - ETmuons.push_back(scEt); - } - int *sortedMu = new int[nmuons]; - double *etMu = new double[nmuons]; - for (int i = 0; i < nmuons; ++i) { - etMu[i] = ETmuons[i]; - } - // array sorted now has the indices of the highest ET electrons - TMath::Sort(nmuons, etMu, sortedMu, true); - // - for (int probeSc = 0; probeSc < nmuons; ++probeSc) { - //std::cout<<"sorted["<< probeIt<< "]=" << sorted[probeIt] << std::endl; - // break if you have more than the appropriate number of electrons - if (probeSc >= 4) - break; - // - int sc_index = sortedMu[probeSc]; - std::vector::const_iterator Rprobe = pmuon->begin() + sc_index; - // - pat::Muon sc0 = *Rprobe; - // now keep the relevant stuff: - muon_pt[probeSc] = sc0.track()->pt(); - muon_eta[probeSc] = sc0.track()->eta(); - muon_phi[probeSc] = sc0.track()->phi(); - muon_vx[probeSc] = sc0.track()->vx(); - muon_vy[probeSc] = sc0.track()->vy(); - muon_vz[probeSc] = sc0.track()->vz(); - muon_tip[probeSc] = -sc0.track()->dxy(); - muon_tip_bs[probeSc] = -sc0.track()->dxy(bspotPosition); - } - delete[] sortedMu; - delete[] etMu; - // - if (n1 + n2 + ntracks == 0) { - std::cout << "Return: no sc in this event" << std::endl; - return; - } - // ///////////////////////////////////////////////////////////////////////// - // electron details - /// -*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--*-*-* - const int MAX_PROBES = 4; - for (int i = 0; i < MAX_PROBES; i++) { - probe_ele_eta_for_tree[i] = -99.0; - probe_ele_et_for_tree[i] = -99.0; - probe_ele_phi_for_tree[i] = -99.0; - probe_ele_Xvertex_for_tree[i] = -99.0; - probe_ele_Yvertex_for_tree[i] = -99.0; - probe_ele_Zvertex_for_tree[i] = -99.0; - probe_ele_tip[i] = -999.; - - probe_sc_eta_for_tree[i] = -99.0; - probe_sc_et_for_tree[i] = -99.0; - probe_sc_phi_for_tree[i] = -99.0; - - probe_charge_for_tree[i] = -99; - probe_sc_pass_fiducial_cut[i] = 0; - probe_classification_index_for_tree[i] = -99; - // - // probe isolation values ............ - probe_isolation_value[i] = 999.0; - probe_iso_user[i] = 999.0; - probe_ecal_isolation_value[i] = 999; - probe_ecal_iso_user[i] = 999; - probe_hcal_isolation_value[i] = 999; - probe_hcal_iso_user[i] = 999; - - probe_ele_hoe[i] = 999.; - probe_ele_shh[i] = 999.; - probe_ele_sihih[i] = 999.; - probe_ele_dhi[i] = 999.; - probe_ele_dfi[i] = 999.; - probe_ele_eop[i] = 999.; - probe_ele_pin[i] = 999.; - probe_ele_pout[i] = 999.; - probe_ele_e5x5[i] = 999.; - probe_ele_e2x5[i] = 999.; - probe_ele_e1x5[i] = 999.; - - // - // - //for (int j=0; j<25; ++j) { - // probe_pass_trigger_cut[i][j]=0; - //} - //probe_hlt_matched_dr[i]=0; - //probe_mc_matched[i] = 0; - //probe_mc_matched_deta[i] = 999.; - //probe_mc_matched_dphi[i] = 999.; - //probe_mc_matched_denergy[i] = 999.; - //probe_mc_matched_mother[i] = 999; - // - // - } - const pat::ElectronCollection *electrons = pElectrons.product(); - - elec_number_in_event = electrons->size(); - //std::cout << "In this event " << elec_number_in_event << - // " electrons were found" << std::endl; - // if (elec_number_in_event == 0) return; - - std::vector UniqueElectrons; - // edm::LogInfo("") << "Starting loop over electrons."; - int index = 0; - //*********************************************************************** - // NEW METHOD by D WARDROPE implemented 26.05.08 ************************ - //************* DUPLICATE ****** REMOVAL ******************************* - // 02.06.08: due to a bug in the hybrid algorithm that affects detid **** - // we change detid matching to superCluster ref matching ****** - for (pat::ElectronCollection::const_iterator elec = electrons->begin(); elec != electrons->end(); ++elec) { - const pat::ElectronRef electronRef(pElectrons, index); - //Remove duplicate electrons which share a supercluster - pat::ElectronCollection::const_iterator BestDuplicate = elec; - int index2 = 0; - for (pat::ElectronCollection::const_iterator elec2 = electrons->begin(); elec2 != electrons->end(); ++elec2) { - if (elec != elec2) { - if (elec->superCluster() == elec2->superCluster()) { - if (fabs(BestDuplicate->eSuperClusterOverP() - 1.) >= fabs(elec2->eSuperClusterOverP() - 1.)) { - BestDuplicate = elec2; - } - } - } - ++index2; - } - if (BestDuplicate == elec) - UniqueElectrons.push_back(electronRef); - ++index; - } - // - // debugging: store electrons after duplicate removal - elec_1_duplicate_removal = UniqueElectrons.size(); - //std::cout << "In this event there are " << elec_1_duplicate_removal - // << " electrons" << std::endl; - // - // - // duplicate removal is done now: - // the electron collection is in UniqueElectrons - // - // run over probes - now probe electrons and store - // - // the electron collection is now - // vector UniqueElectrons - std::vector ETs; - std::vector::const_iterator elec; - for (elec = UniqueElectrons.begin(); elec != UniqueElectrons.end(); ++elec) { - pat::ElectronRef probeEle; - probeEle = *elec; - double probeEt = probeEle->caloEnergy() / (cosh(probeEle->caloPosition().eta())); - ETs.push_back(probeEt); - } - int *sorted = new int[elec_1_duplicate_removal]; - double *et = new double[elec_1_duplicate_removal]; - //std::cout << "Elecs: " << elec_1_duplicate_removal << std::endl; - for (int i = 0; i < elec_1_duplicate_removal; ++i) { - et[i] = ETs[i]; - //std::cout << "et["<< i << "]=" << et[i] << std::endl; - } - // array sorted now has the indices of the highest ET electrons - TMath::Sort(elec_1_duplicate_removal, et, sorted, true); - // - // - for (int probeIt = 0; probeIt < elec_1_duplicate_removal; ++probeIt) { - //std::cout<<"sorted["<< probeIt<< "]=" << sorted[probeIt] << std::endl; - // break if you have more than the appropriate number of electrons - if (probeIt >= MAX_PROBES) - break; - // - int elec_index = sorted[probeIt]; - std::vector::const_iterator Rprobe = UniqueElectrons.begin() + elec_index; - // - pat::ElectronRef probeEle; - probeEle = *Rprobe; - double probeEt = probeEle->caloEnergy() / (cosh(probeEle->caloPosition().eta())); - probe_sc_eta_for_tree[probeIt] = probeEle->caloPosition().eta(); - probe_sc_phi_for_tree[probeIt] = probeEle->caloPosition().phi(); - probe_sc_et_for_tree[probeIt] = probeEt; - // fiducial cut ............................... - if (fabs(probeEle->caloPosition().eta()) < BarrelMaxEta || - (fabs(probeEle->caloPosition().eta()) > EndcapMinEta && fabs(probeEle->caloPosition().eta()) < EndcapMaxEta)) { - probe_sc_pass_fiducial_cut[probeIt] = 1; - } - // - probe_charge_for_tree[probeIt] = probeEle->charge(); - probe_ele_eta_for_tree[probeIt] = probeEle->eta(); - probe_ele_et_for_tree[probeIt] = probeEle->et(); - probe_ele_phi_for_tree[probeIt] = probeEle->phi(); - probe_ele_Xvertex_for_tree[probeIt] = probeEle->vx(); - probe_ele_Yvertex_for_tree[probeIt] = probeEle->vy(); - probe_ele_Zvertex_for_tree[probeIt] = probeEle->vz(); - probe_classification_index_for_tree[probeIt] = probeEle->classification(); - double ProbeTIP = probeEle->gsfTrack()->d0(); - probe_ele_tip[probeIt] = ProbeTIP; - // isolation .................................. - // these are the default values: trk 03, ecal, hcal 04 - // I know that there is a more direct way, but in this way it - // is clearer what you get each time :P - probe_isolation_value[probeIt] = probeEle->dr03IsolationVariables().tkSumPt; - probe_ecal_isolation_value[probeIt] = probeEle->dr04IsolationVariables().ecalRecHitSumEt; - probe_hcal_isolation_value[probeIt] = probeEle->dr04IsolationVariables().hcalDepth1TowerSumEt + - probeEle->dr04IsolationVariables().hcalDepth2TowerSumEt; - // one extra isos: - probe_iso_user[probeIt] = probeEle->dr04IsolationVariables().tkSumPt; - probe_ecal_iso_user[probeIt] = probeEle->dr03IsolationVariables().ecalRecHitSumEt; - probe_hcal_iso_user[probeIt] = probeEle->dr03IsolationVariables().hcalDepth1TowerSumEt + - probeEle->dr03IsolationVariables().hcalDepth2TowerSumEt; - // ele id variables - double hOverE = probeEle->hadronicOverEm(); - double deltaPhiIn = probeEle->deltaPhiSuperClusterTrackAtVtx(); - double deltaEtaIn = probeEle->deltaEtaSuperClusterTrackAtVtx(); - double eOverP = probeEle->eSuperClusterOverP(); - double pin = probeEle->trackMomentumAtVtx().R(); - double pout = probeEle->trackMomentumOut().R(); - double sigmaee = probeEle->scSigmaEtaEta(); - double sigma_IetaIeta = probeEle->scSigmaIEtaIEta(); - // correct if in endcaps - if (fabs(probeEle->caloPosition().eta()) > 1.479) { - sigmaee = sigmaee - 0.02 * (fabs(probeEle->caloPosition().eta()) - 2.3); - } - // - //double e5x5, e2x5Right, e2x5Left, e2x5Top, e2x5Bottom, e1x5; - double e5x5, e2x5, e1x5; - e5x5 = probeEle->scE5x5(); - e1x5 = probeEle->scE1x5(); - e2x5 = probeEle->scE2x5Max(); - // - // electron ID variables - probe_ele_hoe[probeIt] = hOverE; - probe_ele_shh[probeIt] = sigmaee; - probe_ele_sihih[probeIt] = sigma_IetaIeta; - probe_ele_dfi[probeIt] = deltaPhiIn; - probe_ele_dhi[probeIt] = deltaEtaIn; - probe_ele_eop[probeIt] = eOverP; - probe_ele_pin[probeIt] = pin; - probe_ele_pout[probeIt] = pout; - probe_ele_e5x5[probeIt] = e5x5; - probe_ele_e2x5[probeIt] = e2x5; - probe_ele_e1x5[probeIt] = e1x5; - - // - // HLT filter ------------------------------------------------------ - // - // - // low luminosity filters - /************************************************************* - for (int filterNum=0; filterNum<10; ++filterNum) { - int trigger_int_probe = 0; - - //double hlt_matched_dr = -1.; - const int nF(pHLTe29->sizeFilters()); - // - // default (tag) trigger filter - // - // find how many relevant - const int iF = pHLTe29->filterIndex(HLTFilterType_[filterNum]); - // loop over these objects to see whether they match - const trigger::TriggerObjectCollection& TOC(pHLTe29->getObjects()); - if (nF != iF) { - // find how many objects there are - const trigger::Keys& KEYS(pHLTe29->filterKeys(iF)); - const int nK(KEYS.size()); - for (int iTrig = 0;iTrig filter: "<< HLTFilterType_[filterNum] <<" TO id: " << TO.id() << std::endl; - // this is better to be left out: HLT matching is with an HLT object - // and we don't care what this object is - //if (abs(TO.id())==11 ) { // demand it to be an electron - double dr_ele_HLT = - reco::deltaR(probeEle->eta(), probeEle->phi(), TO.eta(), TO.phi()); - if (fabs(dr_ele_HLT) < ProbeHLTObjMaxDR) {++trigger_int_probe; - //hlt_matched_dr = dr_ele_HLT; - } - //} - } - } - // - if(trigger_int_probe>0) probe_pass_trigger_cut[probeIt][filterNum] = 1; - //probe_hlt_matched_dr[probeIt] = hlt_matched_dr; - } - // high lumi filters - for (int filterNum=10; filterNum<25; ++filterNum) { - int trigger_int_probe = 0; - - //double hlt_matched_dr = -1.; - const int nF(pHLTe31->sizeFilters()); - // - // default (tag) trigger filter - // - // find how many relevant - const int iF = pHLTe31->filterIndex(HLTFilterType_[filterNum]); - // loop over these objects to see whether they match - const trigger::TriggerObjectCollection& TOC(pHLTe31->getObjects()); - if (nF != iF) { - // find how many objects there are - const trigger::Keys& KEYS(pHLTe31->filterKeys(iF)); - const int nK(KEYS.size()); - for (int iTrig = 0;iTrig eta(), probeEle->phi(), TO.eta(), TO.phi()); - if (fabs(dr_ele_HLT) < ProbeHLTObjMaxDR) {++trigger_int_probe; - //hlt_matched_dr = dr_ele_HLT; - } - } - } - - // - if(trigger_int_probe>0) probe_pass_trigger_cut[probeIt][filterNum] = 1; - //probe_hlt_matched_dr[probeIt] = hlt_matched_dr; - } - ******************************************/ - // ------------------------------------------------------------------ - // - // MC Matching ...................................................... - // check whether these electrons are matched to a MC electron - /* - int mc_index = 0; - int matched = 0; int mother_id = 999; - double deta_matched = 999.; double dphi_matched = 999.; - double denergy_matched = 999.; - for(reco::GenParticleCollection::const_iterator McParticle = - McCand->begin(); McParticle != McCand->end(); ++McParticle) - { - // check only for electrons - if(abs(McParticle->pdgId())==11 && McParticle->status()==1) { - mc_index++; - // check whether it matches a gsf electron - double deta = McParticle->eta() - probeEle->eta(); - double dphi = McParticle->phi() - probeEle->phi(); - if ( fabs(deta) < MCMatch_Deta_ && fabs(dphi) < MCMatch_Dphi_){ - ++matched; - deta_matched = deta; dphi_matched = dphi; - denergy_matched = McParticle->energy() - probeEle->caloEnergy(); - // find the mother of the MC electron - const reco::Candidate *mum; - bool mother_finder = true; - if (abs(McParticle->mother()->pdgId()) != 11) - mum = McParticle->mother(); - else if (abs(McParticle->mother()->mother()->pdgId())!= 11) - mum = McParticle->mother()->mother(); - else { - edm::LogInfo("info") << "Going too far to find the mum"; - mother_finder = false; - } - if (mother_finder) { - mother_id = mum->pdgId(); - } - } - } - } - probe_mc_matched[probeIt] = matched; - probe_mc_matched_deta[probeIt] = deta_matched; - probe_mc_matched_dphi[probeIt] = dphi_matched; - probe_mc_matched_denergy[probeIt] = denergy_matched; - probe_mc_matched_mother[probeIt] = mother_id; - */ - } - - probe_tree->Fill(); - ++tree_fills_; - delete[] sorted; - delete[] et; -} - -// ------------ method called once each job just before starting event loop -- -void GenPurposeSkimmerData::beginJob() { - //std::cout << "In beginJob()" << std::endl; - TString filename_histo = outputFile_; - histofile = new TFile(filename_histo, "RECREATE"); - tree_fills_ = 0; - - probe_tree = new TTree("probe_tree", "Tree to store probe variables"); - - //probe_tree->Branch("probe_ele_eta",probe_ele_eta_for_tree,"probe_ele_eta[4]/D"); - //probe_tree->Branch("probe_ele_phi",probe_ele_phi_for_tree,"probe_ele_phi[4]/D"); - //probe_tree->Branch("probe_ele_et",probe_ele_et_for_tree,"probe_ele_et[4]/D"); - probe_tree->Branch("probe_ele_tip", probe_ele_tip, "probe_ele_tip[4]/D"); - probe_tree->Branch("probe_ele_vertex_x", probe_ele_Xvertex_for_tree, "probe_ele_vertex_x[4]/D"); - probe_tree->Branch("probe_ele_vertex_y", probe_ele_Yvertex_for_tree, "probe_ele_vertex_y[4]/D"); - probe_tree->Branch("probe_ele_vertex_z", probe_ele_Zvertex_for_tree, "probe_ele_vertex_z[4]/D"); - probe_tree->Branch("probe_sc_eta", probe_sc_eta_for_tree, "probe_sc_eta[4]/D"); - probe_tree->Branch("probe_sc_phi", probe_sc_phi_for_tree, "probe_sc_phi[4]/D"); - probe_tree->Branch("probe_sc_et", probe_sc_et_for_tree, "probe_sc_et[4]/D"); - - // trigger related variables - //probe_tree->Branch("probe_trigger_cut",probe_pass_trigger_cut,"probe_trigger_cut[4][25]/I"); - //probe_tree->Branch("probe_hlt_matched_dr", probe_hlt_matched_dr,"probe_hlt_matched_dr[4]/D"); - // mc matching to electrons - // probe_tree->Branch("probe_mc_matched",probe_mc_matched,"probe_mc_matched[4]/I"); - //probe_tree->Branch("probe_mc_matched_deta",probe_mc_matched_deta, - // "probe_mc_matched_deta[4]/D"); - //probe_tree->Branch("probe_mc_matched_dphi",probe_mc_matched_dphi, - // "probe_mc_matched_dphi[4]/D"); - //probe_tree->Branch("probe_mc_matched_denergy",probe_mc_matched_denergy, - // "probe_mc_matched_denergy[4]/D"); - //probe_tree->Branch("probe_mc_matched_mother",probe_mc_matched_mother, - // "probe_mc_matched_mother[4]/I"); - // - probe_tree->Branch("probe_charge", probe_charge_for_tree, "probe_charge[4]/I"); - //probe_tree->Branch("probe_sc_fiducial_cut",probe_sc_pass_fiducial_cut, - // "probe_sc_fiducial_cut[4]/I"); - - //probe_tree->Branch("probe_classification", - // probe_classification_index_for_tree,"probe_classification[4]/I"); - // - // Isolation related variables ........................................ - // - probe_tree->Branch("probe_isolation_value", probe_isolation_value, "probe_isolation_value[4]/D"); - probe_tree->Branch("probe_ecal_isolation_value", probe_ecal_isolation_value, "probe_ecal_isolation_value[4]/D"); - probe_tree->Branch("probe_hcal_isolation_value", probe_hcal_isolation_value, "probe_hcal_isolation_value[4]/D"); - // - probe_tree->Branch("probe_iso_user", probe_iso_user, "probe_iso_user[4]/D"); - probe_tree->Branch("probe_ecal_iso_user", probe_ecal_iso_user, "probe_ecal_iso_user[4]/D"); - probe_tree->Branch("probe_hcal_iso_user", probe_hcal_iso_user, "probe_hcal_iso_user[4]/D"); - - //...................................................................... - // Electron ID Related variables ....................................... - probe_tree->Branch("probe_ele_hoe", probe_ele_hoe, "probe_ele_hoe[4]/D"); - //probe_tree->Branch("probe_ele_shh",probe_ele_shh, "probe_ele_shh[4]/D"); - probe_tree->Branch("probe_ele_sihih", probe_ele_sihih, "probe_ele_sihih[4]/D"); - probe_tree->Branch("probe_ele_dfi", probe_ele_dfi, "probe_ele_dfi[4]/D"); - probe_tree->Branch("probe_ele_dhi", probe_ele_dhi, "probe_ele_dhi[4]/D"); - probe_tree->Branch("probe_ele_eop", probe_ele_eop, "probe_ele_eop[4]/D"); - probe_tree->Branch("probe_ele_pin", probe_ele_pin, "probe_ele_pin[4]/D"); - probe_tree->Branch("probe_ele_pout", probe_ele_pout, "probe_ele_pout[4]/D"); - // probe_tree->Branch("probe_ele_e5x5",probe_ele_e5x5, "probe_ele_e5x5[4]/D"); - //probe_tree->Branch("probe_ele_e2x5",probe_ele_e2x5, "probe_ele_e2x5[4]/D"); - //probe_tree->Branch("probe_ele_e1x5",probe_ele_e1x5, "probe_ele_e1x5[4]/D"); - - //....................................................................... - // - // each entry for each trigger path - //probe_tree->Branch("event_HLTPath",event_HLTPath,"event_HLTPath[25]/I"); - //probe_tree->Branch("numberOfHLTFilterObjects", numberOfHLTFilterObjects, - // "numberOfHLTFilterObjects[25]/I"); - // - // debugging info: - //probe_tree->Branch("elec_number_in_event",&elec_number_in_event,"elec_number_in_event/I"); - probe_tree->Branch("elec_1_duplicate_removal", &elec_1_duplicate_removal, "elec_1_duplicate_removal/I"); - // - - // Missing ET in the event - probe_tree->Branch("event_MET", &event_MET, "event_MET/D"); - probe_tree->Branch("event_MET_phi", &event_MET_phi, "event_MET_phi/D"); - // probe_tree->Branch("event_MET_sig",&event_MET_sig,"event_MET_sig/D"); - probe_tree->Branch("event_mcMET", &event_mcMET, "event_mcMET/D"); - probe_tree->Branch("event_mcMET_phi", &event_mcMET_phi, "event_mcMET_phi/D"); - // - probe_tree->Branch("event_tcMET", &event_tcMET, "event_tcMET/D"); - probe_tree->Branch("event_tcMET_phi", &event_tcMET_phi, "event_tcMET_phi/D"); - // probe_tree->Branch("event_tcMET_sig",&event_tcMET_sig,"event_tcMET_sig/D"); - - probe_tree->Branch("event_pfMET", &event_pfMET, "event_pfMET/D"); - probe_tree->Branch("event_pfMET_phi", &event_pfMET_phi, "event_pfMET_phi/D"); - // probe_tree->Branch("event_pfMET_sig",&event_pfMET_sig,"event_pfMET_sig/D"); - - // probe_tree->Branch("event_genMET",&event_genMET,"event_genMET/D"); - // probe_tree->Branch("event_genMET_phi",&event_genMET_phi, "event_genMET_phi/D"); - // probe_tree->Branch("event_genMET_sig",&event_genMET_sig, "event_genMET_sig/D"); - //..... type 1 corrected MET - probe_tree->Branch("event_t1MET", &event_t1MET, "event_t1MET/D"); - probe_tree->Branch("event_t1MET_phi", &event_t1MET_phi, "event_t1MET_phi/D"); - //probe_tree->Branch("event_t1MET_sig",&event_t1MET_sig,"event_t1MET_sig/D"); - - // - // some sc related variables - probe_tree->Branch("sc_hybrid_et", sc_hybrid_et, "sc_hybrid_et[5]/D"); - probe_tree->Branch("sc_hybrid_eta", sc_hybrid_eta, "sc_hybrid_eta[5]/D"); - probe_tree->Branch("sc_hybrid_phi", sc_hybrid_phi, "sc_hybrid_phi[5]/D"); - // - probe_tree->Branch("sc_multi5x5_et", sc_multi5x5_et, "sc_multi5x5_et[5]/D"); - probe_tree->Branch("sc_multi5x5_eta", sc_multi5x5_eta, "sc_multi5x5_eta[5]/D"); - probe_tree->Branch("sc_multi5x5_phi", sc_multi5x5_phi, "sc_multi5x5_phi[5]/D"); - // ///////////////////////////////////////////////////////////////////////// - // general tracks in the event: keep 20 tracks - probe_tree->Branch("ctf_track_pt", ctf_track_pt, "ctf_track_pt[20]/D"); - probe_tree->Branch("ctf_track_eta", ctf_track_eta, "ctf_track_eta[20]/D"); - probe_tree->Branch("ctf_track_phi", ctf_track_phi, "ctf_track_phi[20]/D"); - probe_tree->Branch("ctf_track_vx", ctf_track_vx, "ctf_track_vx[20]/D"); - probe_tree->Branch("ctf_track_vy", ctf_track_vy, "ctf_track_vy[20]/D"); - probe_tree->Branch("ctf_track_vz", ctf_track_vz, "ctf_track_vz[20]/D"); - probe_tree->Branch("ctf_track_tip", ctf_track_tip, "ctf_track_tip[20]/D"); - probe_tree->Branch("ctf_track_tip_bs", ctf_track_tip_bs, "ctf_track_tip_bs[20]/D"); - // - probe_tree->Branch("muon_pt", muon_pt, "muon_pt[4]/D"); - probe_tree->Branch("muon_eta", muon_eta, "muon_eta[4]/D"); - probe_tree->Branch("muon_phi", muon_phi, "muon_phi[4]/D"); - probe_tree->Branch("muon_vx", muon_vx, "muon_vx[4]/D"); - probe_tree->Branch("muon_vy", muon_vy, "muon_vy[4]/D"); - probe_tree->Branch("muon_vz", muon_vz, "muon_vz[4]/D"); - probe_tree->Branch("muon_tip", muon_tip, "muon_tip[4]/D"); - probe_tree->Branch("muon_tip_bs", muon_tip_bs, "muon_tip_bs[4]/D"); -} - -// ------------ method called once each job just after ending the event loop - -void GenPurposeSkimmerData::endJob() { - //std::cout << "In endJob()" << std::endl; - if (tree_fills_ == 0) { - std::cout << "Empty tree: no output..." << std::endl; - return; - } - //probe_tree->Print(); - histofile->Write(); - histofile->Close(); -} - -//define this as a plug-in -DEFINE_FWK_MODULE(GenPurposeSkimmerData); diff --git a/ElectroWeakAnalysis/WENu/src/WenuPlots.cc b/ElectroWeakAnalysis/WENu/src/WenuPlots.cc deleted file mode 100644 index 5756311882676..0000000000000 --- a/ElectroWeakAnalysis/WENu/src/WenuPlots.cc +++ /dev/null @@ -1,1223 +0,0 @@ -// -*- C++ -*- -// -// Package: WenuPlots -// Class: WenuPlots -// -/* - - Description: - this is an analyzer that reads pat::CompositeCandidate WenuCandidates - and creates some plots - Implementation: - The code takes the output of the WenuCandidateFilter and - * implements on them a user defined selection - * implements the selection with one cut (configurable which cut) inverted - * creates a set of basic plots with the Wenu Candidate distribution - vs MET, MT etc. These plots are stored in a root file - If you have several root files from different runs you have to run a macro - to combine the output and have the final plots - - This analyser is PAT based in the sense that it reads CompositeCandidates, - which are composed of a pat::MET plus a pat::Electron. You normally - don't have to change this file when the CMSSW version changes because it - contains only methods from the stable core of pat Objects. Most - version dependent changes should be in WenuCandidateFilter.cc - TO DO LIST: - * more plots to be added - * there should be an base Plots class from which WenuPlots and ZeePlots - inherit. this makes sense since they have so many common methods - - Changes Log: - 12Feb09 First Release of the code for CMSSW_2_2_X - 16Sep09 tested that it works with 3_1_2 as well - 09Sep09 added one extra iso with the name userIso_XX_ - 23Feb09 added option to include extra IDs that are in CMSSW, such as - categorized, likehood etc - added extra variables TIP and E/P - 27May10 changes to apply the Spring10 selections, relative isolations - the 3 default ones, pat user isolations added in the end - change to framework independent variable definitions - double->Double_t etc and math.h functions from TMath - 01Jul10 second electron information added - Contact: - Nikolaos Rompotis - Nikolaos.Rompotis@Cern.ch - Imperial College London - - -*/ -// -// Original Author: Nikolaos Rompotis - -#include "ElectroWeakAnalysis/WENu/interface/WenuPlots.h" -#include "DataFormats/Math/interface/deltaR.h" -//#include "RecoEcal/EgammaCoreTools/plugins/EcalClusterCrackCorrectionFunctor.h" - -WenuPlots::WenuPlots(const edm::ParameterSet &iConfig) - -{ - //////////////////////////////////////////////////////////////////////////// - // I N P U T P A R A M E T E R S - //////////////////////////////////////////////////////////////////////////// - // - /////// - // WENU COLLECTION ////////////////////////////////////////////////////// - // - - wenuCollectionToken_ = - consumes(iConfig.getUntrackedParameter("wenuCollectionTag")); - // - // code parameters - // - std::string outputFile_D = "histos.root"; - outputFile_ = iConfig.getUntrackedParameter("outputFile", outputFile_D); - WENU_VBTFselectionFileName_ = iConfig.getUntrackedParameter("WENU_VBTFselectionFileName"); - WENU_VBTFpreseleFileName_ = iConfig.getUntrackedParameter("WENU_VBTFpreseleFileName"); - DatasetTag_ = iConfig.getUntrackedParameter("DatasetTag"); - // - // use of precalculatedID - // if you use it, then no other cuts are applied - usePrecalcID_ = iConfig.getUntrackedParameter("usePrecalcID", false); - if (usePrecalcID_) { - usePrecalcIDType_ = iConfig.getUntrackedParameter("usePrecalcIDType"); - usePrecalcIDSign_ = iConfig.getUntrackedParameter("usePrecalcIDSign", "="); - usePrecalcIDValue_ = iConfig.getUntrackedParameter("usePrecalcIDValue"); - } - useValidFirstPXBHit_ = iConfig.getUntrackedParameter("useValidFirstPXBHit", false); - useConversionRejection_ = iConfig.getUntrackedParameter("useConversionRejection", false); - useExpectedMissingHits_ = iConfig.getUntrackedParameter("useExpectedMissingHits", false); - - maxNumberOfExpectedMissingHits_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits", 1); - if (not usePrecalcID_) { - if (useValidFirstPXBHit_) - std::cout << "WenuPlots: Warning: you have demanded a valid 1st layer PXB hit" << std::endl; - if (useConversionRejection_) - std::cout << "WenuPlots: Warning: you have demanded egamma conversion rejection criteria to be applied" - << std::endl; - if (useExpectedMissingHits_) - std::cout << "WenuPlots: Warning: you have demanded at most " << maxNumberOfExpectedMissingHits_ - << " missing inner hits " << std::endl; - } else { - std::cout << "WenuPlots: Using Precalculated ID with type " << usePrecalcIDType_ << usePrecalcIDSign_ - << usePrecalcIDValue_ << std::endl; - } - if ((useValidFirstPXBHit_ || useExpectedMissingHits_ || useConversionRejection_) && (not usePrecalcID_)) { - usePreselection_ = true; - } else { - usePreselection_ = false; - } - includeJetInformationInNtuples_ = iConfig.getUntrackedParameter("includeJetInformationInNtuples", false); - if (includeJetInformationInNtuples_) { - caloJetCollectionTag_ = iConfig.getUntrackedParameter("caloJetCollectionTag"); - caloJetCollectionToken_ = consumes(caloJetCollectionTag_); - pfJetCollectionTag_ = iConfig.getUntrackedParameter("pfJetCollectionTag"); - pfJetCollectionToken_ = consumes(pfJetCollectionTag_); - DRJetFromElectron_ = iConfig.getUntrackedParameter("DRJetFromElectron"); - } - storeExtraInformation_ = iConfig.getUntrackedParameter("storeExtraInformation"); - storeAllSecondElectronVariables_ = iConfig.getUntrackedParameter("storeAllSecondElectronVariables", false); - // primary vtx collections - PrimaryVerticesCollectionToken_ = consumes >(iConfig.getUntrackedParameter( - "PrimaryVerticesCollection", edm::InputTag("offlinePrimaryVertices"))); - PrimaryVerticesCollectionBSToken_ = consumes >(iConfig.getUntrackedParameter( - "PrimaryVerticesCollectionBS", edm::InputTag("offlinePrimaryVerticesWithBS"))); - // - // the selection cuts: - trackIso_EB_ = iConfig.getUntrackedParameter("trackIso_EB", 1000.); - ecalIso_EB_ = iConfig.getUntrackedParameter("ecalIso_EB", 1000.); - hcalIso_EB_ = iConfig.getUntrackedParameter("hcalIso_EB", 1000.); - // - trackIso_EE_ = iConfig.getUntrackedParameter("trackIso_EE", 1000.); - ecalIso_EE_ = iConfig.getUntrackedParameter("ecalIso_EE", 1000.); - hcalIso_EE_ = iConfig.getUntrackedParameter("hcalIso_EE", 1000.); - // - sihih_EB_ = iConfig.getUntrackedParameter("sihih_EB"); - dphi_EB_ = iConfig.getUntrackedParameter("dphi_EB"); - deta_EB_ = iConfig.getUntrackedParameter("deta_EB"); - hoe_EB_ = iConfig.getUntrackedParameter("hoe_EB"); - cIso_EB_ = iConfig.getUntrackedParameter("cIso_EB", 1000.); - tip_bspot_EB_ = iConfig.getUntrackedParameter("tip_bspot_EB", 1000.); - eop_EB_ = iConfig.getUntrackedParameter("eop_EB", 1000.); - // - sihih_EE_ = iConfig.getUntrackedParameter("sihih_EE"); - dphi_EE_ = iConfig.getUntrackedParameter("dphi_EE"); - deta_EE_ = iConfig.getUntrackedParameter("deta_EE"); - hoe_EE_ = iConfig.getUntrackedParameter("hoe_EE"); - cIso_EE_ = iConfig.getUntrackedParameter("cIso_EE", 1000.); - tip_bspot_EE_ = iConfig.getUntrackedParameter("tip_bspot_EE", 1000.); - eop_EE_ = iConfig.getUntrackedParameter("eop_EE", 1000.); - // - trackIsoUser_EB_ = iConfig.getUntrackedParameter("trackIsoUser_EB", 1000.); - ecalIsoUser_EB_ = iConfig.getUntrackedParameter("ecalIsoUser_EB", 1000.); - hcalIsoUser_EB_ = iConfig.getUntrackedParameter("hcalIsoUser_EB", 1000.); - trackIsoUser_EE_ = iConfig.getUntrackedParameter("trackIsoUser_EE", 1000.); - ecalIsoUser_EE_ = iConfig.getUntrackedParameter("ecalIsoUser_EE", 1000.); - hcalIsoUser_EE_ = iConfig.getUntrackedParameter("hcalIsoUser_EE", 1000.); - // - trackIso_EB_inv = iConfig.getUntrackedParameter("trackIso_EB_inv", false); - ecalIso_EB_inv = iConfig.getUntrackedParameter("ecalIso_EB_inv", false); - hcalIso_EB_inv = iConfig.getUntrackedParameter("hcalIso_EB_inv", false); - // - trackIso_EE_inv = iConfig.getUntrackedParameter("trackIso_EE_inv", false); - ecalIso_EE_inv = iConfig.getUntrackedParameter("ecalIso_EE_inv", false); - hcalIso_EE_inv = iConfig.getUntrackedParameter("hcalIso_EE_inv", false); - // - sihih_EB_inv = iConfig.getUntrackedParameter("sihih_EB_inv", false); - dphi_EB_inv = iConfig.getUntrackedParameter("dphi_EB_inv", false); - deta_EB_inv = iConfig.getUntrackedParameter("deta_EB_inv", false); - hoe_EB_inv = iConfig.getUntrackedParameter("hoe_EB_inv", false); - cIso_EB_inv = iConfig.getUntrackedParameter("cIso_EB_inv", false); - tip_bspot_EB_inv = iConfig.getUntrackedParameter("tip_bspot_EB_inv", false); - eop_EB_inv = iConfig.getUntrackedParameter("eop_EB_inv", false); - // - sihih_EE_inv = iConfig.getUntrackedParameter("sihih_EE_inv", false); - dphi_EE_inv = iConfig.getUntrackedParameter("dphi_EE_inv", false); - deta_EE_inv = iConfig.getUntrackedParameter("deta_EE_inv", false); - hoe_EE_inv = iConfig.getUntrackedParameter("hoe_EE_inv", false); - cIso_EE_inv = iConfig.getUntrackedParameter("cIso_EE_inv", false); - tip_bspot_EE_inv = iConfig.getUntrackedParameter("tip_bspot_EE_inv", false); - eop_EE_inv = iConfig.getUntrackedParameter("eop_EE_inv", false); - // - trackIsoUser_EB_inv = iConfig.getUntrackedParameter("trackIsoUser_EB_inv", false); - ecalIsoUser_EB_inv = iConfig.getUntrackedParameter("ecalIsoUser_EB_inv", false); - hcalIsoUser_EB_inv = iConfig.getUntrackedParameter("hcalIsoUser_EB_inv", false); - trackIsoUser_EE_inv = iConfig.getUntrackedParameter("trackIsoUser_EE_inv", false); - ecalIsoUser_EE_inv = iConfig.getUntrackedParameter("ecalIsoUser_EE_inv", false); - hcalIsoUser_EE_inv = iConfig.getUntrackedParameter("hcalIsoUser_EE_inv", false); -} - -WenuPlots::~WenuPlots() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to for each event ------------ -void WenuPlots::analyze(const edm::Event &iEvent, const edm::EventSetup &es) { - using namespace std; - // - // Get the collections here - // - edm::Handle WenuCands; - iEvent.getByToken(wenuCollectionToken_, WenuCands); - - if (not WenuCands.isValid()) { - cout << "Warning: no wenu candidates in this event..." << endl; - return; - } - const pat::CompositeCandidateCollection *wcands = WenuCands.product(); - const pat::CompositeCandidateCollection::const_iterator wenuIter = wcands->begin(); - const pat::CompositeCandidate wenu = *wenuIter; - // - // get the parts of the composite candidate: - const pat::Electron *myElec = dynamic_cast(wenu.daughter("electron")); - const pat::MET *myMet = dynamic_cast(wenu.daughter("met")); - const pat::MET *myPfMet = dynamic_cast(wenu.daughter("pfmet")); - const pat::MET *myTcMet = dynamic_cast(wenu.daughter("tcmet")); - // _______________________________________________________________________ - // - // VBTF Root tuple production -------------------------------------------- - // _______________________________________________________________________ - // - // ....................................................................... - // vbtf produces 2 root tuples: one that contains the highest pT electron - // that passes a user defined selection and one other with only the - // preselection criteria applied - // ....................................................................... - // - // fill the tree variables - runNumber = iEvent.run(); - eventNumber = Long64_t(iEvent.eventAuxiliary().event()); - lumiSection = (Int_t)iEvent.luminosityBlock(); - // - ele_sc_eta = (Float_t)myElec->superCluster()->eta(); - ele_sc_phi = (Float_t)myElec->superCluster()->phi(); - double scx = myElec->superCluster()->x(); - double scy = myElec->superCluster()->y(); - double scz = myElec->superCluster()->z(); - ele_sc_rho = (Float_t)sqrt(scx * scx + scy * scy + scz * scz); - ele_sc_energy = (Float_t)myElec->superCluster()->energy(); - ele_sc_gsf_et = (Float_t)myElec->superCluster()->energy() / TMath::CosH(myElec->gsfTrack()->eta()); - ele_cand_eta = (Float_t)myElec->eta(); - ele_cand_phi = (Float_t)myElec->phi(); - ele_cand_et = (Float_t)myElec->et(); - // - ele_iso_track = (Float_t)myElec->dr03IsolationVariables().tkSumPt / ele_cand_et; - ele_iso_ecal = (Float_t)myElec->dr03IsolationVariables().ecalRecHitSumEt / ele_cand_et; - ele_iso_hcal = (Float_t)(myElec->dr03IsolationVariables().hcalDepth1TowerSumEt + - myElec->dr03IsolationVariables().hcalDepth2TowerSumEt) / - ele_cand_et; - // - ele_id_sihih = (Float_t)myElec->sigmaIetaIeta(); - ele_id_deta = (Float_t)myElec->deltaEtaSuperClusterTrackAtVtx(); - ele_id_dphi = (Float_t)myElec->deltaPhiSuperClusterTrackAtVtx(); - ele_id_hoe = (Float_t)myElec->hadronicOverEm(); - // - ele_cr_mhitsinner = myElec->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS); - ele_cr_dcot = myElec->convDcot(); - ele_cr_dist = myElec->convDist(); - // - ele_vx = (Float_t)myElec->vx(); - ele_vy = (Float_t)myElec->vy(); - ele_vz = (Float_t)myElec->vz(); - // get the primary vtx information - // no BS - edm::Handle > pVtx; - iEvent.getByToken(PrimaryVerticesCollectionToken_, pVtx); - const std::vector Vtx = *(pVtx.product()); - // with BS - edm::Handle > pVtxBS; - iEvent.getByToken(PrimaryVerticesCollectionBSToken_, pVtxBS); - const std::vector VtxBS = *(pVtxBS.product()); - if (!Vtx.empty()) { - pv_x = Float_t(Vtx[0].position().x()); - pv_y = Float_t(Vtx[0].position().y()); - pv_z = Float_t(Vtx[0].position().z()); - ele_tip_pv = myElec->gsfTrack()->dxy(Vtx[0].position()); - } else { - pv_x = -999999.; - pv_y = -999999.; - pv_z = -999999.; - ele_tip_pv = -999999.; - } - if (!VtxBS.empty()) { - pvbs_x = Float_t(VtxBS[0].position().x()); - pvbs_y = Float_t(VtxBS[0].position().y()); - pvbs_z = Float_t(VtxBS[0].position().z()); - ele_tip_pvbs = myElec->gsfTrack()->dxy(VtxBS[0].position()); - } else { - pvbs_x = -999999.; - pvbs_y = -999999.; - pvbs_z = -999999.; - ele_tip_pvbs = -999999.; - } - - // - ele_gsfCharge = (Int_t)myElec->gsfTrack()->charge(); - // must keep the ctf track collection, i.e. general track collection - ele_ctfCharge = (Int_t)myElec->closestCtfTrackRef().isNonnull() ? myElec->closestCtfTrackRef()->charge() : -9999; - ele_scPixCharge = (Int_t)myElec->chargeInfo().scPixCharge; - ele_eop = (Float_t)myElec->eSuperClusterOverP(); - ele_tip_bs = (Float_t)-myElec->dB(); - //ele_tip_pv = myElec->userFloat("ele_tip_pv"); - ele_pin = (Float_t)myElec->trackMomentumAtVtx().R(); - ele_pout = (Float_t)myElec->trackMomentumOut().R(); - // - event_caloMET = (Float_t)myMet->et(); - event_pfMET = (Float_t)myPfMet->et(); - event_tcMET = (Float_t)myTcMet->et(); - event_caloMET_phi = (Float_t)myMet->phi(); - event_pfMET_phi = (Float_t)myPfMet->phi(); - event_tcMET_phi = (Float_t)myTcMet->phi(); - event_caloSumEt = (Float_t)myMet->sumEt(); - event_pfSumEt = (Float_t)myPfMet->sumEt(); - event_tcSumEt = (Float_t)myTcMet->sumEt(); - // transverse mass for the user's convenience - event_caloMT = (Float_t)TMath::Sqrt( - 2. * (ele_sc_gsf_et * event_caloMET - - (ele_sc_gsf_et * TMath::Cos(ele_sc_phi) * event_caloMET * TMath::Cos(event_caloMET_phi) + - ele_sc_gsf_et * TMath::Sin(ele_sc_phi) * event_caloMET * TMath::Sin(event_caloMET_phi)))); - event_pfMT = - (Float_t)TMath::Sqrt(2. * (ele_sc_gsf_et * event_pfMET - - (ele_sc_gsf_et * TMath::Cos(ele_sc_phi) * event_pfMET * TMath::Cos(event_pfMET_phi) + - ele_sc_gsf_et * TMath::Sin(ele_sc_phi) * event_pfMET * TMath::Sin(event_pfMET_phi)))); - event_tcMT = - (Float_t)TMath::Sqrt(2. * (ele_sc_gsf_et * event_tcMET - - (ele_sc_gsf_et * TMath::Cos(ele_sc_phi) * event_tcMET * TMath::Cos(event_tcMET_phi) + - ele_sc_gsf_et * TMath::Sin(ele_sc_phi) * event_tcMET * TMath::Sin(event_tcMET_phi)))); - event_datasetTag = DatasetTag_; - // jet information - only if the user asks for it - // keep the 5 highest et jets of the event that are further than DR> DRJetFromElectron_ - if (includeJetInformationInNtuples_) { - // initialize the array of the jet information - for (int i = 0; i < 5; ++i) { - calojet_et[i] = -999999; - calojet_eta[i] = -999999; - calojet_phi[i] = -999999; - pfjet_et[i] = -999999; - pfjet_eta[i] = -999999; - pfjet_phi[i] = -999999; - } - // get hold of the jet collections - edm::Handle pCaloJets; - edm::Handle pPfJets; - iEvent.getByToken(caloJetCollectionToken_, pCaloJets); - iEvent.getByToken(pfJetCollectionToken_, pPfJets); - // - // calo jets now: - if (pCaloJets.isValid()) { - const reco::CaloJetCollection *caloJets = pCaloJets.product(); - int nCaloJets = (int)caloJets->size(); - if (nCaloJets > 0) { - float *nCaloET = new float[nCaloJets]; - float *nCaloEta = new float[nCaloJets]; - float *nCaloPhi = new float[nCaloJets]; - reco::CaloJetCollection::const_iterator cjet = caloJets->begin(); - int counter = 0; - for (; cjet != caloJets->end(); ++cjet) { - // store them only if they are far enough from the electron - Double_t DR = reco::deltaR(cjet->eta(), cjet->phi(), myElec->gsfTrack()->eta(), ele_sc_phi); - if (DR > DRJetFromElectron_) { - nCaloET[counter] = cjet->et(); - nCaloEta[counter] = cjet->eta(); - nCaloPhi[counter] = cjet->phi(); - ++counter; - } - } - int *caloJetSorted = new int[nCaloJets]; - TMath::Sort(nCaloJets, nCaloET, caloJetSorted, true); - for (int i = 0; i < nCaloJets; ++i) { - if (i >= 5) - break; - calojet_et[i] = nCaloET[caloJetSorted[i]]; - calojet_eta[i] = nCaloEta[caloJetSorted[i]]; - calojet_phi[i] = nCaloPhi[caloJetSorted[i]]; - } - delete[] caloJetSorted; - delete[] nCaloET; - delete[] nCaloEta; - delete[] nCaloPhi; - } - } else { - std::cout << "WenuPlots: Could not get caloJet collection with name " << caloJetCollectionTag_ << std::endl; - } - // - // pf jets now: - if (pPfJets.isValid()) { - const reco::PFJetCollection *pfJets = pPfJets.product(); - int nPfJets = (int)pfJets->size(); - if (nPfJets > 0) { - float *nPfET = new float[nPfJets]; - float *nPfEta = new float[nPfJets]; - float *nPfPhi = new float[nPfJets]; - reco::PFJetCollection::const_iterator pjet = pfJets->begin(); - int counter = 0; - for (; pjet != pfJets->end(); ++pjet) { - // store them only if they are far enough from the electron - Double_t DR = reco::deltaR(pjet->eta(), pjet->phi(), myElec->gsfTrack()->eta(), ele_sc_phi); - if (DR > DRJetFromElectron_) { - nPfET[counter] = pjet->et(); - nPfEta[counter] = pjet->eta(); - nPfPhi[counter] = pjet->phi(); - ++counter; - } - } - int *pfJetSorted = new int[nPfJets]; - TMath::Sort(nPfJets, nPfET, pfJetSorted, true); - for (int i = 0; i < nPfJets; ++i) { - if (i >= 5) - break; - pfjet_et[i] = nPfET[pfJetSorted[i]]; - pfjet_eta[i] = nPfEta[pfJetSorted[i]]; - pfjet_phi[i] = nPfPhi[pfJetSorted[i]]; - } - delete[] pfJetSorted; - delete[] nPfET; - delete[] nPfEta; - delete[] nPfPhi; - } - } else { - std::cout << "WenuPlots: Could not get pfJet collection with name " << pfJetCollectionTag_ << std::endl; - } - } - // second electron information - in preselected ntuple only - ele2nd_sc_gsf_et = -1; // also in sele tree - ele2nd_sc_eta = -1; - ele2nd_sc_phi = -1; - ele2nd_sc_rho = 0; - ele2nd_cand_eta = 0; - ele2nd_cand_phi = 0; - ele2nd_cand_et = 0; - ele2nd_pin = 0; - ele2nd_pout = 0; - ele2nd_passes_selection = -1; // also in sele tree - ele2nd_ecalDriven = 0; - // - // second electron selection variables: only if requested by the user - // - ele2nd_iso_track = 0; - ele2nd_iso_ecal = 0; - ele2nd_iso_hcal = 0; - // - ele2nd_id_sihih = 0; - ele2nd_id_deta = 0; - ele2nd_id_dphi = 0; - ele2nd_id_hoe = 0; - // - ele2nd_cr_mhitsinner = 0; - ele2nd_cr_dcot = 0; - ele2nd_cr_dist = 0; - // - ele2nd_vx = 0; - ele2nd_vy = 0; - ele2nd_vz = 0; - // - ele2nd_gsfCharge = 0; - // must keep the ctf track collection, i.e. general track collection - ele2nd_ctfCharge = 0; - ele2nd_scPixCharge = 0; - ele2nd_eop = 0; - ele2nd_tip_bs = 0; - ele2nd_tip_pv = 0; - ele2nd_hltmatched_dr = 0; - // - // convention for ele2nd_passes_selection - // 0 passes no selection - // 1 passes WP95 - // 2 passes WP90 - // 3 passes WP85 - // 4 passes WP80 - // 5 passes WP70 - // 6 passes WP60 - if (myElec->userInt("hasSecondElectron") == 1 && storeExtraInformation_) { - const pat::Electron *mySecondElec = dynamic_cast(wenu.daughter("secondElec")); - ele2nd_sc_gsf_et = (Float_t)mySecondElec->superCluster()->energy() / TMath::CosH(mySecondElec->gsfTrack()->eta()); - - ele2nd_sc_eta = (Float_t)mySecondElec->superCluster()->eta(); - ele2nd_sc_phi = (Float_t)mySecondElec->superCluster()->phi(); - double sc2x = mySecondElec->superCluster()->x(); - double sc2y = mySecondElec->superCluster()->y(); - double sc2z = mySecondElec->superCluster()->z(); - ele2nd_sc_rho = (Float_t)sqrt(sc2x * sc2x + sc2y * sc2y + sc2z * sc2z); - ele2nd_cand_eta = (Float_t)mySecondElec->eta(); - ele2nd_cand_phi = (Float_t)mySecondElec->phi(); - ele2nd_cand_et = (Float_t)mySecondElec->et(); - ele2nd_pin = (Float_t)mySecondElec->trackMomentumAtVtx().R(); - ; - ele2nd_pout = (Float_t)mySecondElec->trackMomentumOut().R(); - ele2nd_ecalDriven = (Int_t)mySecondElec->ecalDrivenSeed(); - // check the selections - bool isIDCalc = mySecondElec->isElectronIDAvailable("simpleEleId95relIso") && - mySecondElec->isElectronIDAvailable("simpleEleId90relIso") && - mySecondElec->isElectronIDAvailable("simpleEleId85relIso") && - mySecondElec->isElectronIDAvailable("simpleEleId80relIso") && - mySecondElec->isElectronIDAvailable("simpleEleId70relIso") && - mySecondElec->isElectronIDAvailable("simpleEleId60relIso"); - if (isIDCalc) { - ele2nd_passes_selection = 0; - if (fabs(mySecondElec->electronID("simpleEleId60relIso") - 7) < 0.1) - ele2nd_passes_selection = 6; - else if (fabs(mySecondElec->electronID("simpleEleId70relIso") - 7) < 0.1) - ele2nd_passes_selection = 5; - else if (fabs(mySecondElec->electronID("simpleEleId80relIso") - 7) < 0.1) - ele2nd_passes_selection = 4; - else if (fabs(mySecondElec->electronID("simpleEleId85relIso") - 7) < 0.1) - ele2nd_passes_selection = 3; - else if (fabs(mySecondElec->electronID("simpleEleId90relIso") - 7) < 0.1) - ele2nd_passes_selection = 2; - else if (fabs(mySecondElec->electronID("simpleEleId95relIso") - 7) < 0.1) - ele2nd_passes_selection = 1; - } - if (storeAllSecondElectronVariables_) { - ele2nd_iso_track = (Float_t)mySecondElec->dr03IsolationVariables().tkSumPt / ele2nd_cand_et; - ele2nd_iso_ecal = (Float_t)mySecondElec->dr03IsolationVariables().ecalRecHitSumEt / ele2nd_cand_et; - ele2nd_iso_hcal = (Float_t)(mySecondElec->dr03IsolationVariables().hcalDepth1TowerSumEt + - mySecondElec->dr03IsolationVariables().hcalDepth2TowerSumEt) / - ele2nd_cand_et; - ele2nd_id_sihih = (Float_t)mySecondElec->sigmaIetaIeta(); - ele2nd_id_deta = (Float_t)mySecondElec->deltaEtaSuperClusterTrackAtVtx(); - ele2nd_id_dphi = (Float_t)mySecondElec->deltaPhiSuperClusterTrackAtVtx(); - ele2nd_id_hoe = (Float_t)mySecondElec->hadronicOverEm(); - - ele2nd_cr_mhitsinner = - mySecondElec->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS); - ele2nd_cr_dcot = mySecondElec->convDcot(); - ele2nd_cr_dist = mySecondElec->convDist(); - - ele2nd_vx = (Float_t)mySecondElec->vx(); - ele2nd_vy = (Float_t)mySecondElec->vy(); - ele2nd_vz = (Float_t)mySecondElec->vz(); - ele2nd_gsfCharge = (Int_t)mySecondElec->gsfTrack()->charge(); - // must keep the ctf track collection, i.e. general track collection - ele2nd_ctfCharge = - (Int_t)mySecondElec->closestCtfTrackRef().isNonnull() ? mySecondElec->closestCtfTrackRef()->charge() : -9999; - ele2nd_scPixCharge = (Int_t)mySecondElec->chargeInfo().scPixCharge; - ele2nd_eop = (Float_t)mySecondElec->eSuperClusterOverP(); - ele2nd_tip_bs = (Float_t)-mySecondElec->dB(); - if (!Vtx.empty()) { - ele2nd_tip_pv = mySecondElec->gsfTrack()->dxy(Vtx[0].position()); - } - if (!VtxBS.empty()) { - ele2nd_tip_pvbs = mySecondElec->gsfTrack()->dxy(VtxBS[0].position()); - } - ele2nd_hltmatched_dr = mySecondElec->userFloat("HLTMatchingDR"); - } - } - // some extra information - event_triggerDecision = -1; - ele_hltmatched_dr = -999.; - VtxTracksSize.clear(); - VtxNormalizedChi2.clear(); - VtxTracksSizeBS.clear(); - VtxNormalizedChi2BS.clear(); - if (storeExtraInformation_) { - if (myElec->hasUserFloat("HLTMatchingDR")) { - ele_hltmatched_dr = myElec->userFloat("HLTMatchingDR"); - } - if (myElec->hasUserInt("triggerDecision")) { - event_triggerDecision = myElec->userInt("triggerDecision"); - } - // extra information related to the primary vtx collection - for (Int_t i = 0; i < (Int_t)Vtx.size(); ++i) { - VtxTracksSize.push_back(Vtx[i].tracksSize()); - VtxNormalizedChi2.push_back(Vtx[i].normalizedChi2()); - } - for (Int_t i = 0; i < (Int_t)VtxBS.size(); ++i) { - VtxTracksSizeBS.push_back(VtxBS[i].tracksSize()); - VtxNormalizedChi2BS.push_back(VtxBS[i].normalizedChi2()); - } - } - // if the electron passes the selection - // it is meant to be a precalculated selection here, in order to include - // conversion rejection too - if (CheckCuts(myElec) && myElec->userInt("failsSecondElectronCut") == 0) { - vbtfSele_tree->Fill(); - } - vbtfPresele_tree->Fill(); - - // - // _______________________________________________________________________ - // - // histogram production -------------------------------------------------- - // _______________________________________________________________________ - // - // if you want some preselection: Conv rejection, hit pattern - if (usePreselection_) { - if (not PassPreselectionCriteria(myElec)) - return; - } - // - // some variables here - Double_t scEta = myElec->superCluster()->eta(); - Double_t scPhi = myElec->superCluster()->phi(); - Double_t scEt = myElec->superCluster()->energy() / TMath::CosH(scEta); - Double_t met = myMet->et(); - Double_t metPhi = myMet->phi(); - Double_t mt = TMath::Sqrt(2.0 * scEt * met * - (1.0 - (TMath::Cos(scPhi) * TMath::Cos(metPhi) + TMath::Sin(scPhi) * TMath::Sin(metPhi)))); - - Double_t trackIso = myElec->userIsolation(pat::TrackIso); - Double_t ecalIso = myElec->userIsolation(pat::EcalIso); - Double_t hcalIso = myElec->userIsolation(pat::HcalIso); - Double_t sihih = myElec->scSigmaIEtaIEta(); - Double_t dphi = myElec->deltaPhiSuperClusterTrackAtVtx(); - Double_t deta = myElec->deltaEtaSuperClusterTrackAtVtx(); - Double_t HoE = myElec->hadronicOverEm(); - // - // - // - // the inverted selection plots: - // only if not using precalcID - if (not usePrecalcID_) { - if (CheckCutsInverse(myElec)) { - //std::cout << "-----------------INVERSION-----------passed" << std::endl; - h_met_inverse->Fill(met); - h_mt_inverse->Fill(mt); - if (TMath::Abs(scEta) < 1.479) { - h_met_inverse_EB->Fill(met); - h_mt_inverse_EB->Fill(mt); - } - if (TMath::Abs(scEta) > 1.479) { - h_met_inverse_EE->Fill(met); - h_mt_inverse_EE->Fill(mt); - } - } - } - // - /////////////////////////////////////////////////////////////////////// - // - // N-1 plots: plot some variable so that all the other cuts are satisfied - // - // make these plots only if you have the normal selection, not pre-calced - if (not usePrecalcID_) { - if (TMath::Abs(scEta) < 1.479) { // reminder: the precise fiducial cuts are in - // in the filter - if (CheckCutsNminusOne(myElec, 0)) - h_trackIso_eb_NmOne->Fill(trackIso); - } else { - if (CheckCutsNminusOne(myElec, 0)) - h_trackIso_ee_NmOne->Fill(trackIso); - } - } - // - // SELECTION APPLICATION - // - // from here on you have only events that pass the full selection - if (not CheckCuts(myElec)) - return; - ////////////////////////////////////////////////////////////////////// - - h_met->Fill(met); - h_mt->Fill(mt); - if (TMath::Abs(scEta) < 1.479) { - h_met_EB->Fill(met); - h_mt_EB->Fill(mt); - - h_EB_trkiso->Fill(trackIso); - h_EB_ecaliso->Fill(ecalIso); - h_EB_hcaliso->Fill(hcalIso); - h_EB_sIetaIeta->Fill(sihih); - h_EB_dphi->Fill(dphi); - h_EB_deta->Fill(deta); - h_EB_HoE->Fill(HoE); - } - if (TMath::Abs(scEta) > 1.479) { - h_met_EE->Fill(met); - h_mt_EE->Fill(mt); - - h_EE_trkiso->Fill(trackIso); - h_EE_ecaliso->Fill(ecalIso); - h_EE_hcaliso->Fill(hcalIso); - h_EE_sIetaIeta->Fill(sihih); - h_EE_dphi->Fill(dphi); - h_EE_deta->Fill(deta); - h_EE_HoE->Fill(HoE); - } - // uncomment for debugging purposes - /* - std::cout << "tracIso: " << trackIso << ", " << myElec->trackIso() << ", ecaliso: " << ecalIso - << ", " << myElec->ecalIso() << ", hcaliso: " << hcalIso << ", " << myElec->hcalIso() - << ", mishits: " - << myElec->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS) - << std::endl; - std::cout << "Electron ID: 95relIso=" << myElec->electronID("simpleEleId95relIso") - << " 90relIso=" << myElec->electronID("simpleEleId90relIso") - << " 85relIso=" << myElec->electronID("simpleEleId85relIso") - << " 80relIso=" << myElec->electronID("simpleEleId80relIso") - << " 70relIso=" << myElec->electronID("simpleEleId70relIso") - << " 60relIso=" << myElec->electronID("simpleEleId60relIso") - << " 95cIso=" << myElec->electronID("simpleEleId95cIso") - << " 90cIso=" << myElec->electronID("simpleEleId90cIso") - << " 85cIso=" << myElec->electronID("simpleEleId85cIso") - << " 80cIso=" << myElec->electronID("simpleEleId80cIso") - << " 70cIso=" << myElec->electronID("simpleEleId70cIso") - << " 60cIso=" << myElec->electronID("simpleEleId60cIso") - << std::endl; - std::cout << "mySelection: " << (CheckCuts(myElec) && PassPreselectionCriteria(myElec)) << endl; - */ - h_scEt->Fill(scEt); - h_scEta->Fill(scEta); - h_scPhi->Fill(scPhi); -} - -/*********************************************************************** - * - * Checking Cuts and making selections: - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - * all the available methods take input a pointer to a pat::Electron - * - * Bool_t CheckCuts(const pat::Electron *): - * true if the input selection is satisfied - * Bool_t CheckCutsInverse(const pat::Electron *ele): - * true if the cuts with inverted the ones specified in the - * cfg are satisfied - * Bool_t CheckCutsNminusOne(const pat::Electron *ele, int jj): - * true if all the cuts with cut #jj ignored are satisfied - * - ***********************************************************************/ -Bool_t WenuPlots::CheckCuts(const pat::Electron *ele) { - if (usePrecalcID_) { - if (not ele->isElectronIDAvailable(usePrecalcIDType_)) { - std::cout << "Error! not existing ID with name: " << usePrecalcIDType_ << " function will return true!" - << std::endl; - return true; - } - Double_t val = ele->electronID(usePrecalcIDType_); - if (usePrecalcIDSign_ == "<") { - return val < usePrecalcIDValue_; - } else if (usePrecalcIDSign_ == ">") { - return val > usePrecalcIDValue_; - } else { // equality: it returns 0,1,2,3 but as float - return TMath::Abs(val - usePrecalcIDValue_) < 0.1; - } - } else { - for (int i = 0; i < nBarrelVars_; ++i) { - if (not CheckCut(ele, i)) - return false; - } - return true; - } -} -///////////////////////////////////////////////////////////////////////// - -Bool_t WenuPlots::CheckCutsInverse(const pat::Electron *ele) { - for (int i = 0; i < nBarrelVars_; ++i) { - if (CheckCutInv(ele, i) == false) - return false; - } - return true; -} -///////////////////////////////////////////////////////////////////////// -Bool_t WenuPlots::CheckCutsNminusOne(const pat::Electron *ele, int jj) { - for (int i = 0; i < nBarrelVars_; ++i) { - if (i == jj) - continue; - if (CheckCut(ele, i) == false) - return false; - } - return true; -} -///////////////////////////////////////////////////////////////////////// -Bool_t WenuPlots::CheckCut(const pat::Electron *ele, int i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - if (fabseta < 1.479) { - return TMath::Abs(ReturnCandVar(ele, i)) < CutVars_[i]; - } - return TMath::Abs(ReturnCandVar(ele, i)) < CutVars_[i + nBarrelVars_]; -} -///////////////////////////////////////////////////////////////////////// -Bool_t WenuPlots::CheckCutInv(const pat::Electron *ele, int i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - if (fabseta < 1.479) { - if (InvVars_[i]) - return TMath::Abs(ReturnCandVar(ele, i)) > CutVars_[i]; - return TMath::Abs(ReturnCandVar(ele, i)) < CutVars_[i]; - } - if (InvVars_[i + nBarrelVars_]) { - if (InvVars_[i]) - return TMath::Abs(ReturnCandVar(ele, i)) > CutVars_[i + nBarrelVars_]; - } - return TMath::Abs(ReturnCandVar(ele, i)) < CutVars_[i + nBarrelVars_]; -} -//////////////////////////////////////////////////////////////////////// -Double_t WenuPlots::ReturnCandVar(const pat::Electron *ele, int i) { - if (i == 0) - return ele->dr03TkSumPt() / ele->p4().Pt(); - else if (i == 1) - return ele->dr03EcalRecHitSumEt() / ele->p4().Pt(); - else if (i == 2) - return ele->dr03HcalTowerSumEt() / ele->p4().Pt(); - else if (i == 3) - return ele->scSigmaIEtaIEta(); - else if (i == 4) - return ele->deltaPhiSuperClusterTrackAtVtx(); - else if (i == 5) - return ele->deltaEtaSuperClusterTrackAtVtx(); - else if (i == 6) - return ele->hadronicOverEm(); - else if (i == 7) { - if (ele->isEB()) { - return (ele->dr03TkSumPt() + std::max(float(0.), ele->dr03EcalRecHitSumEt() - 1) + ele->dr03HcalTowerSumEt()) / - ele->p4().Pt(); - } else { // pedestal subtraction is only in barrel - return (ele->dr03TkSumPt() + ele->dr03EcalRecHitSumEt() + ele->dr03HcalTowerSumEt()) / ele->p4().Pt(); - } - } - // else if (i==8) return ele->gsfTrack()->dxy(bspotPosition_); - else if (i == 8) - return fabs(ele->dB()); - else if (i == 9) - return ele->eSuperClusterOverP(); - else if (i == 10) - return ele->userIsolation(pat::TrackIso); - else if (i == 11) - return ele->userIsolation(pat::EcalIso); - else if (i == 12) - return ele->userIsolation(pat::HcalIso); - std::cout << "Error in WenuPlots::ReturnCandVar" << std::endl; - return -1.; -} -///////////////////////////////////////////////////////////////////////// -Bool_t WenuPlots::PassPreselectionCriteria(const pat::Electron *ele) { - Bool_t passConvRej = true; - Bool_t passPXB = true; - Bool_t passEMH = true; - if (useConversionRejection_) { - if (ele->hasUserInt("PassConversionRejection")) { - //std::cout << "con rej: " << ele->userInt("PassConversionRejection") << std::endl; - if (not(ele->userInt("PassConversionRejection") == 1)) - passConvRej = false; - } else { - std::cout << "WenuPlots: WARNING: Conversion Rejection Request Disregarded: " - << "you must calculate it before " << std::endl; - // return true; - } - } - if (useValidFirstPXBHit_) { - if (ele->hasUserInt("PassValidFirstPXBHit")) { - //std::cout << "valid1stPXB: " << ele->userInt("PassValidFirstPXBHit") << std::endl; - if (not(ele->userInt("PassValidFirstPXBHit") == 1)) - passPXB = false; - } else { - std::cout << "WenuPlots: WARNING: Valid First PXB Hit Request Disregarded: " - << "you must calculate it before " << std::endl; - // return true; - } - } - if (useExpectedMissingHits_) { - if (ele->hasUserInt("NumberOfExpectedMissingHits")) { - //std::cout << "missing hits: " << ele->userInt("NumberOfExpectedMissingHits") << std::endl; - if (ele->userInt("NumberOfExpectedMissingHits") > maxNumberOfExpectedMissingHits_) - passEMH = false; - } else { - std::cout << "WenuPlots: WARNING: Number of Expected Missing Hits Request Disregarded: " - << "you must calculate it before " << std::endl; - // return true; - } - } - return passConvRej && passPXB && passEMH; -} -// ------------ method called once each job just before starting event loop -- -void WenuPlots::beginJob() { - //std::cout << "In beginJob()" << std::endl; - // Double_t Pi = TMath::Pi(); - // TString histo_file = outputFile_; - // histofile = new TFile( histo_file,"RECREATE"); - - h_met = new TH1F("h_met", "h_met", 200, 0, 200); - h_met_inverse = new TH1F("h_met_inverse", "h_met_inverse", 200, 0, 200); - - h_mt = new TH1F("h_mt", "h_mt", 200, 0, 200); - h_mt_inverse = new TH1F("h_mt_inverse", "h_mt_inverse", 200, 0, 200); - - h_met_EB = new TH1F("h_met_EB", "h_met_EB", 200, 0, 200); - h_met_inverse_EB = new TH1F("h_met_inverse_EB", "h_met_inverse_EB", 200, 0, 200); - - h_mt_EB = new TH1F("h_mt_EB", "h_mt_EB", 200, 0, 200); - h_mt_inverse_EB = new TH1F("h_mt_inverse_EB", "h_mt_inverse_EB", 200, 0, 200); - - h_met_EE = new TH1F("h_met_EE", "h_met_EE", 200, 0, 200); - h_met_inverse_EE = new TH1F("h_met_inverse_EE", "h_met_inverse_EE", 200, 0, 200); - - h_mt_EE = new TH1F("h_mt_EE", "h_mt_EE", 200, 0, 200); - h_mt_inverse_EE = new TH1F("h_mt_inverse_EE", "h_mt_inverse_EE", 200, 0, 200); - - h_scEt = new TH1F("h_scEt", "h_scEt", 200, 0, 100); - h_scEta = new TH1F("h_scEta", "h_scEta", 200, -3, 3); - h_scPhi = new TH1F("h_scPhi", "h_scPhi", 200, -4, 4); - - //VALIDATION PLOTS - //EB - h_EB_trkiso = new TH1F("h_EB_trkiso", "h_EB_trkiso", 200, 0.0, 9.0); - h_EB_ecaliso = new TH1F("h_EB_ecaliso", "h_EB_ecaliso", 200, 0.0, 9.0); - h_EB_hcaliso = new TH1F("h_EB_hcaliso", "h_EB_hcaliso", 200, 0.0, 9.0); - h_EB_sIetaIeta = new TH1F("h_EB_sIetaIeta", "h_EB_sIetaIeta", 200, 0.0, 0.02); - h_EB_dphi = new TH1F("h_EB_dphi", "h_EB_dphi", 200, -0.03, 0.03); - h_EB_deta = new TH1F("h_EB_deta", "h_EB_deta", 200, -0.01, 0.01); - h_EB_HoE = new TH1F("h_EB_HoE", "h_EB_HoE", 200, 0.0, 0.2); - //EE - h_EE_trkiso = new TH1F("h_EE_trkiso", "h_EE_trkiso", 200, 0.0, 9.0); - h_EE_ecaliso = new TH1F("h_EE_ecaliso", "h_EE_ecaliso", 200, 0.0, 9.0); - h_EE_hcaliso = new TH1F("h_EE_hcaliso", "h_EE_hcaliso", 200, 0.0, 9.0); - h_EE_sIetaIeta = new TH1F("h_EE_sIetaIeta", "h_EE_sIetaIeta", 200, 0.0, 0.1); - h_EE_dphi = new TH1F("h_EE_dphi", "h_EE_dphi", 200, -0.03, 0.03); - h_EE_deta = new TH1F("h_EE_deta", "h_EE_deta", 200, -0.01, 0.01); - h_EE_HoE = new TH1F("h_EE_HoE", "h_EE_HoE", 200, 0.0, 0.2); - - // - // - h_trackIso_eb_NmOne = new TH1F("h_trackIso_eb_NmOne", "trackIso EB N-1 plot", 80, 0, 8); - h_trackIso_ee_NmOne = new TH1F("h_trackIso_ee_NmOne", "trackIso EE N-1 plot", 80, 0, 8); - - // if you add some new variable change the nBarrelVars_ accordingly - // reminder: in the current implementation you must have the same number - // of vars in both barrel and endcaps - nBarrelVars_ = 13; - // - // Put EB variables together and EE variables together - // number of barrel variables = number of endcap variable - // if you don't want to use some variable put a very high cut - CutVars_.push_back(trackIso_EB_); //0 - CutVars_.push_back(ecalIso_EB_); //1 - CutVars_.push_back(hcalIso_EB_); //2 - CutVars_.push_back(sihih_EB_); //3 - CutVars_.push_back(dphi_EB_); //4 - CutVars_.push_back(deta_EB_); //5 - CutVars_.push_back(hoe_EB_); //6 - CutVars_.push_back(cIso_EB_); //7 - CutVars_.push_back(tip_bspot_EB_); //8 - CutVars_.push_back(eop_EB_); //9 - CutVars_.push_back(trackIsoUser_EB_); //10 - CutVars_.push_back(ecalIsoUser_EB_); //11 - CutVars_.push_back(hcalIsoUser_EB_); //12 - // - CutVars_.push_back(trackIso_EE_); //0 - CutVars_.push_back(ecalIso_EE_); //1 - CutVars_.push_back(hcalIso_EE_); //2 - CutVars_.push_back(sihih_EE_); //3 - CutVars_.push_back(dphi_EE_); //4 - CutVars_.push_back(deta_EE_); //5 - CutVars_.push_back(hoe_EE_); //6 - CutVars_.push_back(cIso_EE_); //7 - CutVars_.push_back(tip_bspot_EE_); //8 - CutVars_.push_back(eop_EE_); //9 - CutVars_.push_back(trackIsoUser_EE_); //10 - CutVars_.push_back(ecalIsoUser_EE_); //11 - CutVars_.push_back(hcalIsoUser_EE_); //12 - // - InvVars_.push_back(trackIso_EB_inv); //0 - InvVars_.push_back(ecalIso_EB_inv); //1 - InvVars_.push_back(hcalIso_EB_inv); //2 - InvVars_.push_back(sihih_EB_inv); //3 - InvVars_.push_back(dphi_EB_inv); //4 - InvVars_.push_back(deta_EB_inv); //5 - InvVars_.push_back(hoe_EB_inv); //6 - InvVars_.push_back(cIso_EB_inv); //7 - InvVars_.push_back(tip_bspot_EB_inv); //8 - InvVars_.push_back(eop_EB_inv); //9 - InvVars_.push_back(trackIsoUser_EB_inv); //10 - InvVars_.push_back(ecalIsoUser_EB_inv); //11 - InvVars_.push_back(hcalIsoUser_EB_inv); //12 - // - InvVars_.push_back(trackIso_EE_inv); //0 - InvVars_.push_back(ecalIso_EE_inv); //1 - InvVars_.push_back(hcalIso_EE_inv); //2 - InvVars_.push_back(sihih_EE_inv); //3 - InvVars_.push_back(dphi_EE_inv); //4 - InvVars_.push_back(deta_EE_inv); //5 - InvVars_.push_back(hoe_EE_inv); //6 - InvVars_.push_back(cIso_EE_inv); //7 - InvVars_.push_back(tip_bspot_EE_inv); //8 - InvVars_.push_back(eop_EE_inv); //9 - InvVars_.push_back(trackIsoUser_EE_inv); //10 - InvVars_.push_back(ecalIsoUser_EE_inv); //11 - InvVars_.push_back(hcalIsoUser_EE_inv); //12 - // - // - // ________________________________________________________________________ - // - // The VBTF Root Tuples --------------------------------------------------- - // ________________________________________________________________________ - // - WENU_VBTFselectionFile_ = new TFile(TString(WENU_VBTFselectionFileName_), "RECREATE"); - - vbtfSele_tree = new TTree("vbtfSele_tree", "Tree to store the W Candidates that pass the VBTF selection"); - vbtfSele_tree->Branch("runNumber", &runNumber, "runNumber/I"); - vbtfSele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L"); - vbtfSele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I"); - // - vbtfSele_tree->Branch("ele_sc_gsf_et", &ele_sc_gsf_et, "ele_sc_gsf_et/F"); - vbtfSele_tree->Branch("ele_sc_energy", &ele_sc_energy, "ele_sc_energy/F"); - vbtfSele_tree->Branch("ele_sc_eta", &ele_sc_eta, "ele_sc_eta/F"); - vbtfSele_tree->Branch("ele_sc_phi", &ele_sc_phi, "ele_sc_phi/F"); - vbtfSele_tree->Branch("ele_sc_rho", &ele_sc_rho, "ele_sc_rho/F"); - vbtfSele_tree->Branch("ele_cand_et", &ele_cand_et, "ele_cand_et/F"); - vbtfSele_tree->Branch("ele_cand_eta", &ele_cand_eta, "ele_cand_eta/F"); - vbtfSele_tree->Branch("ele_cand_phi", &ele_cand_phi, "ele_cand_phi/F"); - vbtfSele_tree->Branch("ele_iso_track", &ele_iso_track, "ele_iso_track/F"); - vbtfSele_tree->Branch("ele_iso_ecal", &ele_iso_ecal, "ele_iso_ecal/F"); - vbtfSele_tree->Branch("ele_iso_hcal", &ele_iso_hcal, "ele_iso_hcal/F"); - vbtfSele_tree->Branch("ele_id_sihih", &ele_id_sihih, "ele_id_sihih/F"); - vbtfSele_tree->Branch("ele_id_deta", &ele_id_deta, "ele_id_deta/F"); - vbtfSele_tree->Branch("ele_id_dphi", &ele_id_dphi, "ele_id_dphi/F"); - vbtfSele_tree->Branch("ele_id_hoe", &ele_id_hoe, "ele_id_hoe/F"); - vbtfSele_tree->Branch("ele_cr_mhitsinner", &ele_cr_mhitsinner, "ele_cr_mhitsinner/I"); - vbtfSele_tree->Branch("ele_cr_dcot", &ele_cr_dcot, "ele_cr_dcot/F"); - vbtfSele_tree->Branch("ele_cr_dist", &ele_cr_dist, "ele_cr_dist/F"); - vbtfSele_tree->Branch("ele_vx", &ele_vx, "ele_vx/F"); - vbtfSele_tree->Branch("ele_vy", &ele_vy, "ele_vy/F"); - vbtfSele_tree->Branch("ele_vz", &ele_vz, "ele_vz/F"); - vbtfSele_tree->Branch("pv_x", &pv_x, "pv_x/F"); - vbtfSele_tree->Branch("pv_y", &pv_y, "pv_y/F"); - vbtfSele_tree->Branch("pv_z", &pv_z, "pv_z/F"); - vbtfSele_tree->Branch("ele_gsfCharge", &ele_gsfCharge, "ele_gsfCharge/I"); - vbtfSele_tree->Branch("ele_ctfCharge", &ele_ctfCharge, "ele_ctfCharge/I"); - vbtfSele_tree->Branch("ele_scPixCharge", &ele_scPixCharge, "ele_scPixCharge/I"); - vbtfSele_tree->Branch("ele_eop", &ele_eop, "ele_eop/F"); - vbtfSele_tree->Branch("ele_tip_bs", &ele_tip_bs, "ele_tip_bs/F"); - vbtfSele_tree->Branch("ele_tip_pv", &ele_tip_pv, "ele_tip_pv/F"); - vbtfSele_tree->Branch("ele_pin", &ele_pin, "ele_pin/F"); - vbtfSele_tree->Branch("ele_pout", &ele_pout, "ele_pout/F"); - vbtfSele_tree->Branch("event_caloMET", &event_caloMET, "event_caloMET/F"); - vbtfSele_tree->Branch("event_pfMET", &event_pfMET, "event_pfMET/F"); - vbtfSele_tree->Branch("event_tcMET", &event_tcMET, "event_tcMET/F"); - vbtfSele_tree->Branch("event_caloMT", &event_caloMT, "event_caloMT/F"); - vbtfSele_tree->Branch("event_pfMT", &event_pfMT, "event_pfMT/F"); - vbtfSele_tree->Branch("event_tcMT", &event_tcMT, "event_tcMT/F"); - vbtfSele_tree->Branch("event_caloMET_phi", &event_caloMET_phi, "event_caloMET_phi/F"); - vbtfSele_tree->Branch("event_pfMET_phi", &event_pfMET_phi, "event_pfMET_phi/F"); - vbtfSele_tree->Branch("event_tcMET_phi", &event_tcMET_phi, "event_tcMET_phi/F"); - // - // the extra jet variables: - if (includeJetInformationInNtuples_) { - vbtfSele_tree->Branch("calojet_et", calojet_et, "calojet_et[5]/F"); - vbtfSele_tree->Branch("calojet_eta", calojet_eta, "calojet_eta[5]/F"); - vbtfSele_tree->Branch("calojet_phi", calojet_phi, "calojet_phi[5]/F"); - vbtfSele_tree->Branch("pfjet_et", pfjet_et, "pfjet_et[5]/F"); - vbtfSele_tree->Branch("pfjet_eta", pfjet_eta, "pfjet_eta[5]/F"); - vbtfSele_tree->Branch("pfjet_phi", pfjet_phi, "pfjet_phi[5]/F"); - } - if (storeExtraInformation_) { - vbtfSele_tree->Branch("ele2nd_sc_gsf_et", &ele2nd_sc_gsf_et, "ele2nd_sc_gsf_et/F"); - vbtfSele_tree->Branch("ele2nd_passes_selection", &ele2nd_passes_selection, "ele2nd_passes_selection/I"); - vbtfSele_tree->Branch("ele2nd_ecalDriven", &ele2nd_ecalDriven, "ele2nd_ecalDriven/I"); - vbtfSele_tree->Branch("event_caloSumEt", &event_caloSumEt, "event_caloSumEt/F"); - vbtfSele_tree->Branch("event_pfSumEt", &event_pfSumEt, "event_pfSumEt/F"); - vbtfSele_tree->Branch("event_tcSumEt", &event_tcSumEt, "event_tcSumEt/F"); - } - vbtfSele_tree->Branch("event_datasetTag", &event_datasetTag, "event_dataSetTag/I"); - // - // - // everything after preselection - // - WENU_VBTFpreseleFile_ = new TFile(TString(WENU_VBTFpreseleFileName_), "RECREATE"); - - vbtfPresele_tree = new TTree("vbtfPresele_tree", "Tree to store the W Candidates that pass the VBTF preselection"); - vbtfPresele_tree->Branch("runNumber", &runNumber, "runNumber/I"); - vbtfPresele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L"); - vbtfPresele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I"); - // - vbtfPresele_tree->Branch("ele_sc_gsf_et", &ele_sc_gsf_et, "ele_sc_gsf_et/F"); - vbtfPresele_tree->Branch("ele_sc_energy", &ele_sc_energy, "ele_sc_energy/F"); - vbtfPresele_tree->Branch("ele_sc_eta", &ele_sc_eta, "ele_sc_eta/F"); - vbtfPresele_tree->Branch("ele_sc_phi", &ele_sc_phi, "ele_sc_phi/F"); - vbtfPresele_tree->Branch("ele_sc_rho", &ele_sc_rho, "ele_sc_rho/F"); - vbtfPresele_tree->Branch("ele_cand_et", &ele_cand_et, "ele_cand_et/F"); - vbtfPresele_tree->Branch("ele_cand_eta", &ele_cand_eta, "ele_cand_eta/F"); - vbtfPresele_tree->Branch("ele_cand_phi", &ele_cand_phi, "ele_cand_phi/F"); - vbtfPresele_tree->Branch("ele_iso_track", &ele_iso_track, "ele_iso_track/F"); - vbtfPresele_tree->Branch("ele_iso_ecal", &ele_iso_ecal, "ele_iso_ecal/F"); - vbtfPresele_tree->Branch("ele_iso_hcal", &ele_iso_hcal, "ele_iso_hcal/F"); - vbtfPresele_tree->Branch("ele_id_sihih", &ele_id_sihih, "ele_id_sihih/F"); - vbtfPresele_tree->Branch("ele_id_deta", &ele_id_deta, "ele_id_deta/F"); - vbtfPresele_tree->Branch("ele_id_dphi", &ele_id_dphi, "ele_id_dphi/F"); - vbtfPresele_tree->Branch("ele_id_hoe", &ele_id_hoe, "ele_id_hoe/F"); - vbtfPresele_tree->Branch("ele_cr_mhitsinner", &ele_cr_mhitsinner, "ele_cr_mhitsinner/I"); - vbtfPresele_tree->Branch("ele_cr_dcot", &ele_cr_dcot, "ele_cr_dcot/F"); - vbtfPresele_tree->Branch("ele_cr_dist", &ele_cr_dist, "ele_cr_dist/F"); - vbtfPresele_tree->Branch("ele_vx", &ele_vx, "ele_vx/F"); - vbtfPresele_tree->Branch("ele_vy", &ele_vy, "ele_vy/F"); - vbtfPresele_tree->Branch("ele_vz", &ele_vz, "ele_vz/F"); - vbtfPresele_tree->Branch("pv_x", &pv_x, "pv_x/F"); - vbtfPresele_tree->Branch("pv_y", &pv_y, "pv_y/F"); - vbtfPresele_tree->Branch("pv_z", &pv_z, "pv_z/F"); - vbtfPresele_tree->Branch("ele_gsfCharge", &ele_gsfCharge, "ele_gsfCharge/I"); - vbtfPresele_tree->Branch("ele_ctfCharge", &ele_ctfCharge, "ele_ctfCharge/I"); - vbtfPresele_tree->Branch("ele_scPixCharge", &ele_scPixCharge, "ele_scPixCharge/I"); - vbtfPresele_tree->Branch("ele_eop", &ele_eop, "ele_eop/F"); - vbtfPresele_tree->Branch("ele_tip_bs", &ele_tip_bs, "ele_tip_bs/F"); - vbtfPresele_tree->Branch("ele_tip_pv", &ele_tip_pv, "ele_tip_pv/F"); - vbtfPresele_tree->Branch("ele_pin", &ele_pin, "ele_pin/F"); - vbtfPresele_tree->Branch("ele_pout", &ele_pout, "ele_pout/F"); - vbtfPresele_tree->Branch("event_caloMET", &event_caloMET, "event_caloMET/F"); - vbtfPresele_tree->Branch("event_pfMET", &event_pfMET, "event_pfMET/F"); - vbtfPresele_tree->Branch("event_tcMET", &event_tcMET, "event_tcMET/F"); - vbtfPresele_tree->Branch("event_caloMT", &event_caloMT, "event_caloMT/F"); - vbtfPresele_tree->Branch("event_pfMT", &event_pfMT, "event_pfMT/F"); - vbtfPresele_tree->Branch("event_tcMT", &event_tcMT, "event_tcMT/F"); - vbtfPresele_tree->Branch("event_caloMET_phi", &event_caloMET_phi, "event_caloMET_phi/F"); - vbtfPresele_tree->Branch("event_pfMET_phi", &event_pfMET_phi, "event_pfMET_phi/F"); - vbtfPresele_tree->Branch("event_tcMET_phi", &event_tcMET_phi, "event_tcMET_phi/F"); - vbtfPresele_tree->Branch("event_caloSumEt", &event_caloSumEt, "event_caloSumEt/F"); - vbtfPresele_tree->Branch("event_pfSumEt", &event_pfSumEt, "event_pfSumEt/F"); - vbtfPresele_tree->Branch("event_tcSumEt", &event_tcSumEt, "event_tcSumEt/F"); - // the extra jet variables: - if (includeJetInformationInNtuples_) { - vbtfPresele_tree->Branch("calojet_et", calojet_et, "calojet_et[5]/F"); - vbtfPresele_tree->Branch("calojet_eta", calojet_eta, "calojet_eta[5]/F"); - vbtfPresele_tree->Branch("calojet_phi", calojet_phi, "calojet_phi[5]/F"); - vbtfPresele_tree->Branch("pfjet_et", pfjet_et, "pfjet_et[5]/F"); - vbtfPresele_tree->Branch("pfjet_eta", pfjet_eta, "pfjet_eta[5]/F"); - vbtfPresele_tree->Branch("pfjet_phi", pfjet_phi, "pfjet_phi[5]/F"); - } - if (storeExtraInformation_) { - vbtfPresele_tree->Branch("ele2nd_sc_gsf_et", &ele2nd_sc_gsf_et, "ele2nd_sc_gsf_et/F"); - vbtfPresele_tree->Branch("ele2nd_sc_eta", &ele2nd_sc_eta, "ele2nd_sc_eta/F"); - vbtfPresele_tree->Branch("ele2nd_sc_phi", &ele2nd_sc_phi, "ele2nd_sc_phi/F"); - vbtfPresele_tree->Branch("ele2nd_sc_rho", &ele2nd_sc_rho, "ele2nd_sc_rho/F"); - vbtfPresele_tree->Branch("ele2nd_cand_eta", &ele2nd_cand_eta, "ele2nd_cand_eta/F"); - vbtfPresele_tree->Branch("ele2nd_cand_phi", &ele2nd_cand_phi, "ele2nd_cand_phi/F"); - vbtfPresele_tree->Branch("ele2nd_pin", &ele2nd_pin, "ele2nd_pin/F"); - vbtfPresele_tree->Branch("ele2nd_pout", &ele2nd_pout, "ele2nd_pout/F"); - vbtfPresele_tree->Branch("ele2nd_ecalDriven", &ele2nd_ecalDriven, "ele2nd_ecalDriven/I"); - vbtfPresele_tree->Branch("ele2nd_passes_selection", &ele2nd_passes_selection, "ele2nd_passes_selection/I"); - vbtfPresele_tree->Branch("ele_hltmatched_dr", &ele_hltmatched_dr, "ele_hltmatched_dr/F"); - vbtfPresele_tree->Branch("event_triggerDecision", &event_triggerDecision, "event_triggerDecision/I"); - vbtfPresele_tree->Branch("VtxTracksSize", &VtxTracksSize); - vbtfPresele_tree->Branch("VtxNormalizedChi2", &VtxNormalizedChi2); - vbtfPresele_tree->Branch("VtxTracksSizeBS", &VtxTracksSizeBS); - vbtfPresele_tree->Branch("VtxNormalizedChi2BS", &VtxNormalizedChi2BS); - } - if (storeAllSecondElectronVariables_) { - vbtfPresele_tree->Branch("ele2nd_cand_et", &ele2nd_cand_et, "ele2nd_cand_et/F"); - vbtfPresele_tree->Branch("ele2nd_iso_track", &ele2nd_iso_track, "ele2nd_iso_track /F"); - vbtfPresele_tree->Branch("ele2nd_iso_ecal", &ele2nd_iso_ecal, "ele2nd_iso_ecal/F"); - vbtfPresele_tree->Branch("ele2nd_iso_hcal", &ele2nd_iso_hcal, "ele2nd_iso_hcal/F"); - vbtfPresele_tree->Branch("ele2nd_id_sihih", &ele2nd_id_sihih, "ele2nd_id_sihih/F"); - vbtfPresele_tree->Branch("ele2nd_id_deta", &ele2nd_id_deta, "ele2nd_id_deta/F"); - vbtfPresele_tree->Branch("ele2nd_id_dphi", &ele2nd_id_dphi, "ele2nd_id_dphi/F"); - vbtfPresele_tree->Branch("ele2nd_id_hoe", &ele2nd_id_hoe, "ele2nd_id_hoe/F"); - vbtfPresele_tree->Branch("ele2nd_cr_mhitsinner", &ele2nd_cr_mhitsinner, "ele2nd_cr_mhitsinner/I"); - vbtfPresele_tree->Branch("ele2nd_cr_dcot", &ele2nd_cr_dcot, "ele2nd_cr_dcot/F"); - vbtfPresele_tree->Branch("ele2nd_cr_dist", &ele2nd_cr_dist, "ele2nd_cr_dist/F"); - vbtfPresele_tree->Branch("ele2nd_vx", &ele2nd_vx, "ele2nd_vx/F"); - vbtfPresele_tree->Branch("ele2nd_vy", &ele2nd_vy, "ele2nd_vy/F"); - vbtfPresele_tree->Branch("ele2nd_vz", &ele2nd_vz, "ele2nd_vz/F"); - - vbtfPresele_tree->Branch("ele2nd_gsfCharge", &ele2nd_gsfCharge, "ele2nd_gsfCharge/I"); - vbtfPresele_tree->Branch("ele2nd_ctfCharge", &ele2nd_ctfCharge, "ele2nd_ctfCharge/I"); - vbtfPresele_tree->Branch("ele2nd_scPixCharge", &ele2nd_scPixCharge, "ele2nd_scPixCharge/I"); - vbtfPresele_tree->Branch("ele2nd_eop", &ele2nd_eop, "ele2nd_eop/F"); - vbtfPresele_tree->Branch("ele2nd_tip_bs", &ele2nd_tip_bs, "ele2nd_tip_bs/F"); - vbtfPresele_tree->Branch("ele2nd_tip_pv", &ele2nd_tip_pv, "ele2nd_tip_pv/F"); - vbtfPresele_tree->Branch("ele2nd_hltmatched_dr", &ele2nd_hltmatched_dr, "ele2nd_hltmatched_dr/F"); - } - vbtfPresele_tree->Branch("event_datasetTag", &event_datasetTag, "event_dataSetTag/I"); - - // - // _________________________________________________________________________ - // - // - // -} - -// ------------ method called once each job just after ending the event loop - -void WenuPlots::endJob() { - TFile *newfile = new TFile(TString(outputFile_), "RECREATE"); - // - // for consistency all the plots are in the root file - // even though they may be empty (in the case when - // usePrecalcID_== true inverted and N-1 are empty) - h_met->Write(); - h_met_inverse->Write(); - h_mt->Write(); - h_mt_inverse->Write(); - - h_met_EB->Write(); - h_met_inverse_EB->Write(); - h_mt_EB->Write(); - h_mt_inverse_EB->Write(); - - h_met_EE->Write(); - h_met_inverse_EE->Write(); - h_mt_EE->Write(); - h_mt_inverse_EE->Write(); - - h_scEt->Write(); - h_scEta->Write(); - h_scPhi->Write(); - - h_EB_trkiso->Write(); - h_EB_ecaliso->Write(); - h_EB_hcaliso->Write(); - h_EB_sIetaIeta->Write(); - h_EB_dphi->Write(); - h_EB_deta->Write(); - h_EB_HoE->Write(); - - h_EE_trkiso->Write(); - h_EE_ecaliso->Write(); - h_EE_hcaliso->Write(); - h_EE_sIetaIeta->Write(); - h_EE_dphi->Write(); - h_EE_deta->Write(); - h_EE_HoE->Write(); - - // - h_trackIso_eb_NmOne->Write(); - h_trackIso_ee_NmOne->Write(); - // - newfile->Close(); - // - // write the VBTF trees - // - WENU_VBTFpreseleFile_->Write(); - WENU_VBTFpreseleFile_->Close(); - WENU_VBTFselectionFile_->Write(); - WENU_VBTFselectionFile_->Close(); -} - -//define this as a plug-in -DEFINE_FWK_MODULE(WenuPlots); diff --git a/ElectroWeakAnalysis/WENu/test/aod_WenuPlots.py b/ElectroWeakAnalysis/WENu/test/aod_WenuPlots.py deleted file mode 100644 index bd118a8d6bdb3..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/aod_WenuPlots.py +++ /dev/null @@ -1,180 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') - fileNames = cms.untracked.vstring( - 'file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') -#process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') - -process.load("Configuration.StandardSequences.MagneticField_cff") - -# this filter produces patElectrons and patCaloMets to be used in the following -process.aod2patFilter = cms.EDFilter('aod2patFilterWenu', - electronCollectionTag = cms.untracked.InputTag("gsfElectrons","","RECO"), - metCollectionTag = cms.untracked.InputTag("met","","RECO"), - ) - -############################################################################## -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT8E29" # options: HLT or HLT8E29 -# trigger path selection -HLT_path_name = "HLT_Ele15_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cuts - ETCut = cms.untracked.double(30.), - METCut = cms.untracked.double(0.), - vetoSecondElectronEvents = cms.untracked.bool(False), - ETCut2ndEle = cms.untracked.double(20.), - # trigger here - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(False), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("aod2patFilter","patElectrons","PAT"), - metCollectionTag = cms.untracked.InputTag("aod2patFilter","patCaloMets","PAT") - - ) -#################################################################################### -## -## the W selection that you prefer -selection_a2 = cms.PSet ( - trackIso_EB = cms.untracked.double(2.2), - ecalIso_EB = cms.untracked.double(4.2), - hcalIso_EB = cms.untracked.double(2.0), - sihih_EB = cms.untracked.double(0.0099), - dphi_EB = cms.untracked.double(0.025), - deta_EB = cms.untracked.double(0.0040), - hoe_EB = cms.untracked.double(1000.0), - - trackIso_EE = cms.untracked.double(1.1), - ecalIso_EE = cms.untracked.double(3.4), - hcalIso_EE = cms.untracked.double(1.3), - sihih_EE = cms.untracked.double(0.028), - dphi_EE = cms.untracked.double(0.020), - deta_EE = cms.untracked.double(0.0066), - hoe_EE = cms.untracked.double(1000.0) - ) - -selection_test = cms.PSet ( - trackIso_EB = cms.untracked.double(10), - ecalIso_EB = cms.untracked.double(10), - hcalIso_EB = cms.untracked.double(10), - sihih_EB = cms.untracked.double(0.1), - dphi_EB = cms.untracked.double(1), - deta_EB = cms.untracked.double(1), - hoe_EB = cms.untracked.double(1), - - trackIso_EE = cms.untracked.double(10), - ecalIso_EE = cms.untracked.double(10), - hcalIso_EE = cms.untracked.double(10), - sihih_EE = cms.untracked.double(1), - dphi_EE = cms.untracked.double(1), - deta_EE = cms.untracked.double(1), - hoe_EE = cms.untracked.double(1) - ) - -selection_inverse = cms.PSet ( - trackIso_EB_inv = cms.untracked.bool(True), - trackIso_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - selection_a2, - selection_inverse, - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - -process.eca = cms.EDAnalyzer("EventContentAnalyzer") -process.p = cms.Path(process.aod2patFilter +process.wenuFilter + process.plotter) -#process.p = cms.Path(process.aod2patFilter + process.eca) -# process.p = cms.Path(process.patSequences + process.wenuFilter + process.eca) - - -#### SET OF Trigger names for AOD - 321 -# -# HLTPath_[0] = "HLT_Ele10_LW_L1R"; -# HLTFilterType_[0] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter","","HLT8E29"); -# HLTPath_[1] = "HLT_Ele10_LW_EleId_L1R"; -# HLTFilterType_[1] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10EleIdDphiFilter","","HLT8E29"); -# HLTPath_[2] = "HLT_Ele15_LW_L1R"; -# HLTFilterType_[2] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[3] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[3] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[4] = "HLT_Ele15_SiStrip_L1R"; -# HLTFilterType_[4] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[5] = "HLT_Ele20_LW_L1R"; -# HLTFilterType_[5] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15EtFilterESet20","","HLT8E29"); -# HLTPath_[6] = "HLT_DoubleEle5_SW_L1R"; -# HLTFilterType_[6] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt5PixelMatchFilter","","HLT8E29"); -# HLTPath_[7] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[7] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[8] = "tba"; -# HLTFilterType_[8] = edm::InputTag("tba"); -# HLTPath_[9] = "tba"; -# HLTFilterType_[9] = edm::InputTag("tba"); -# // e31 menu -# HLTPath_[10] = "HLT_Ele10_SW_L1R"; -# HLTFilterType_[10] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[11] = "HLT_Ele15_SW_L1R"; -# HLTFilterType_[11] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15PixelMatchFilter","","HLT"); -# HLTPath_[12] = "HLT_Ele15_SiStrip_L1R"; // <--- same as [4] -# HLTFilterType_[12] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT"); -# HLTPath_[13] = "HLT_Ele15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[13] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTITrackIsolFilter","","HLT"); -# HLTPath_[14] = "HLT_Ele15_SW_EleId_L1R"; -# HLTFilterType_[14] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdDphiFilter","","HLT"); -# HLTPath_[15] = "HLT_Ele20_SW_L1R"; -# HLTFilterType_[15] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20PixelMatchFilter","","HLT"); -# HLTPath_[16] = "HLT_Ele20_SiStrip_L1R"; -# HLTFilterType_[16] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt20PixelMatchFilter","","HLT"); -# HLTPath_[17] = "HLT_Ele25_SW_L1R"; -# HLTFilterType_[17] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EtFilterESet25","","HLT"); -# HLTPath_[18] = "HLT_Ele25_SW_EleId_LooseTrackIso_L1R"; -# HLTFilterType_[18] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdTrackIsolFilterESet25LTI","","HLT"); -# HLTPath_[19] = "HLT_DoubleEle10_SW_L1R"; -# HLTFilterType_[19] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[20] = "HLT_Ele15_SC15_SW_EleId_L1R"; -# HLTFilterType_[20] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdESDoubleSC15","","HLT"); -# HLTPath_[21] = "HLT_Ele15_SC15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[21] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTIESDoubleSC15","","HLT"); -# HLTPath_[22] = "HLT_Ele20_SC15_SW_L1R"; -# HLTFilterType_[22] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20ESDoubleSC15","","HLT"); diff --git a/ElectroWeakAnalysis/WENu/test/crab/crab_dataMay27thSkimSD.cfg b/ElectroWeakAnalysis/WENu/test/crab/crab_dataMay27thSkimSD.cfg deleted file mode 100644 index 56d4ff725bc4c..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/crab/crab_dataMay27thSkimSD.cfg +++ /dev/null @@ -1,32 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glite -use_server = 1 - -[CMSSW] -datasetpath = /MinimumBias/Commissioning10-May27thSkim_SD_EG-v2/RECO -pset = pat_WenuVBTF_ntuple_forDataMay27.py -lumi_mask = Cert_132440-136297_7TeV_StreamExpress_Collisions10_JSON.json -total_number_of_lumis = -1 -lumis_per_job = 20 -output_file = WENU_VBTFselection.root, WENU_VBTFpreselection.root, histos.root - -[USER] -copy_data = 0 -return_data = 1 -logdir = /tmp/rompotis/dataMay27 -outputdir = /tmp/rompotis/dataMay27 -ui_working_dir = dataMay27 -use_central_bossDB = 0 -use_boss_rt = 0 -eMail = nikolaos.rompotis@cern.ch - -[GRID] -rb = CERN -proxy_server = myproxy.cern.ch -virtual_organization = cms -retry_count = 0 -lcg_catalog_type = lfc -lfc_host = lfc-cms-test.cern.ch -lfc_home = /grid/cms -# ce_black_list = diff --git a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer.py b/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer.py deleted file mode 100644 index 4ae47b2679d60..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer.py +++ /dev/null @@ -1,161 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - - - - -# source -process.source = cms.Source("PoolSource", - # fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') -# fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/Summer09Studies/zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root') - fileNames = cms.untracked.vstring('file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root'), - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/Summer09Studies/QCD_EMEnriched_Pt30to80_AODSIM_7E27C8EA-7984-DE11-BA59-00151796C158.root') - skipBadFiles = cms.untracked.bool(True), -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -## Load additional RECO config -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') #ideal conditions - 1e31 menu -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') #ideal conditions - 8e29 menu - -process.load("Configuration.StandardSequences.MagneticField_cff") - -## Load necessary stuff for tcMET -# tracking geometry -process.load("Geometry.CommonTopologies.globalTrackingGeometry_cfi") - -# load the necessary pat sequences -process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -## this is for the correct calculation of type1 MET -#from JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff import * -#from JetMETCorrections.Type1MET.MetType1Corrections_cff import * -process.load("JetMETCorrections.Type1MET.MetType1Corrections_cff") -process.load("JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff") - -process.metMuonJESCorSC5 = process.metJESCorSC5CaloJet.clone() -process.metMuonJESCorSC5.inputUncorJetsLabel = "sisCone5CaloJets" -process.metMuonJESCorSC5.corrector = "L2L3JetCorrectorSC5Calo" -process.metMuonJESCorSC5.inputUncorMetLabel = "caloMetM" - -process.metCorSequence = cms.Sequence(process.metMuonJESCorSC5) - -# make this collection of type 1 corrected MET a pat collection for the code to handle -process.layer1TwikiT1METs = process.layer1METs.clone( - metSource = cms.InputTag("metMuonJESCorSC5","","PAT"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) - - -# -# the explicit declaration of rechit collections is just for compatibility with the header -# version of 312 - proper Tags have no need of that -# -# for ecal isolation: replace the ECAL rechit collection -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -### create the good old ecal isolation for EE ########## - -## -## this is how to compute isolation yourself for testing purposes -## -#process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.patElectronIsolation = process.egammaIsolationSequence - - -######################################################## -#from PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi import allLayer1Electrons -# add the user iso -# -# NOTE!!! Egamma Recommendations Track Iso: Scone (0.3), ecal+hcal Lcone (0.4) -## for further studies the rest will be set as user isolations -# -process.allLayer1Electrons.isolation = cms.PSet() - -## -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs+process.layer1TwikiT1METs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) - -process.eca = cms.EDAnalyzer("EventContentAnalyzer") - - - -process.rootskimmer = cms.EDAnalyzer( - 'GenPurposeSkimmer', -# output file ####################################### - outputfile = cms.untracked.string('./bkg.root'), -# collections - ElectronCollection = cms.untracked.InputTag("selectedLayer1Electrons"), - MetCollectionTag = cms.untracked.InputTag( "met","","RECO"), - tcMetCollectionTag = cms.untracked.InputTag( "tcMet"), - pfMetCollectionTag = cms.untracked.InputTag( "pfMet"), - genMetCollectionTag= cms.untracked.InputTag("genMetCalo", "", "HLT8E29"), - t1MetCollectionTag = cms.untracked.InputTag("layer1METs"), - t1MetCollectionTagTwiki = cms.untracked.InputTag("layer1TwikiT1METs"), - -# HLT ............................................................... - HLTCollectionE29 = cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT8E29'), - HLTCollectionE31=cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT'), - HLTTriggerResultsE29 = cms.untracked.InputTag('TriggerResults','','HLT8E29'), - HLTTriggerResultsE31 = cms.untracked.InputTag('TriggerResults','','HLT'), - ProbeHLTObjMaxDR = cms.untracked.double(0.1), - -# ECAL geometry ################################################### - BarrelMaxEta = cms.untracked.double(1.4442), - EndcapMinEta = cms.untracked.double(1.56), - EndcapMaxEta = cms.untracked.double(2.5), - -# some MC information - MCCollection = cms.untracked.InputTag("genParticles", "", "HLT8E29"), - # deta and dphi have default values and there is no reason to change them - - ) - -#process.patDefaultSequence.remove(process.allLayer1Taus) - - - -process.p = cms.Path(process.metCorSequence + process.PF2PAT + process.patDefaultSequence + process.rootskimmer ) -#process.p = cms.Path(process.PF2PAT + process.patDefaultSequence + process.eca ) - - - diff --git a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmerData.py b/ElectroWeakAnalysis/WENu/test/genPurposeSkimmerData.py deleted file mode 100644 index c176e55e089c4..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmerData.py +++ /dev/null @@ -1,184 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - - - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -#'rfio:/castor/cern.ch/cms/store/caf/user/meridian/MinimumBias/BeamCommissioning09_EGMSkim/bb33bb16085462eaeb12c180f3bcafc3/EGMFirstCollisionSkim_123592_4.root', - 'file:/tmp/rompotis/bscFilter_123615_6.root', -# 'file:/tmp/rompotis/minbias_Summer09_STARTUP3X_V8D_900GeV_v1_1.root' - ), - - skipBadFiles = cms.untracked.bool(True), -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(200) ) - -# inputTagEnding = "EXPRESS" -# inputTagEnding = "EGMSKIM" -inputTagEnding = "RECO" - - - -## Load additional RECO config -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('GR09_P_V7::All') -#process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') #ideal conditions - 1e31 menu -#process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') #ideal conditions - 8e29 menu - -process.load("Configuration.StandardSequences.MagneticField_cff") - -## Load necessary stuff for tcMET -# tracking geometry -process.load("Geometry.CommonTopologies.globalTrackingGeometry_cfi") - -# load the necessary pat sequences -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -## this is for the correct calculation of type1 MET -#from JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff import * -#from JetMETCorrections.Type1MET.MetType1Corrections_cff import * -#process.load("JetMETCorrections.Type1MET.MetType1Corrections_cff") -#process.load("JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff") - -#process.metMuonJESCorSC5 = process.metJESCorSC5CaloJet.clone() -#process.metMuonJESCorSC5.inputUncorJetsLabel = "sisCone5CaloJets" -#process.metMuonJESCorSC5.corrector = "L2L3JetCorrectorSC5Calo" -#process.metMuonJESCorSC5.inputUncorMetLabel = "corMetGlobalMuons" -#process.metCorSequence = cms.Sequence(process.metMuonJESCorSC5) - -# make this collection of type 1 corrected MET a pat collection for the code to handle -process.layer1mcMETs = process.layer1METs.clone( - metSource = cms.InputTag("corMetGlobalMuons"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -process.layer1METs.addTrigMatch = cms.bool(False) -process.layer1METs.addGenMET = cms.bool(False) - -# -# the explicit declaration of rechit collections is just for compatibility with the header -# version of 312 - proper Tags have no need of that -# -# for ecal isolation: replace the ECAL rechit collection -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -### create the good old ecal isolation for EE ########## - -## -## this is how to compute isolation yourself for testing purposes -## -#process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.patElectronIsolation = process.egammaIsolationSequence - - -######################################################## -#from PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi import allLayer1Electrons -# add the user iso -# -# NOTE!!! Egamma Recommendations Track Iso: Scone (0.3), ecal+hcal Lcone (0.4) -## for further studies the rest will be set as user isolations -# -process.allLayer1Electrons.isoDeposits = cms.PSet() -process.allLayer1Electrons.userIsolation = cms.PSet() -process.allLayer1Electrons.addElectronID = cms.bool(False) -process.allLayer1Electrons.electronIDSources = cms.PSet() -process.allLayer1Electrons.addGenMatch = cms.bool(False) -process.allLayer1Electrons.embedGenMatch = cms.bool(False) -process.allLayer1Electrons.embedHighLevelSelection = cms.bool(False) -## -process.allLayer1Muons.addGenMatch = cms.bool(False) -process.allLayer1Muons.embedGenMatch = cms.bool(False) -## -#process.makeAllLayer1Electrons = cms.Sequence(process.patElectronIsolation*process.allLayer1Electrons) -process.makeAllLayer1Electrons = cms.Sequence(process.allLayer1Electrons) -process.makeAllLayer1Muons = cms.Sequence(process.allLayer1Muons) -## -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs - +process.layer1mcMETs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) - -process.eca = cms.EDAnalyzer("EventContentAnalyzer") - - - -process.rootskimmer = cms.EDAnalyzer( - 'GenPurposeSkimmerData', -# output file ####################################### - outputfile = cms.untracked.string('./bkg.root'), - InputTagEnding = cms.untracked.string(inputTagEnding), -# collections - ElectronCollection = cms.untracked.InputTag("selectedLayer1Electrons"), - MetCollectionTag = cms.untracked.InputTag( "met"), - tcMetCollectionTag = cms.untracked.InputTag( "tcMet"), - pfMetCollectionTag = cms.untracked.InputTag( "pfMet"), -# genMetCollectionTag= cms.untracked.InputTag("genMetCalo", "", "HLT8E29"), - t1MetCollectionTag = cms.untracked.InputTag("layer1METs"), - mcMetCollectionTag = cms.untracked.InputTag("layer1mcMETs"), - -# HLT ............................................................... - HLTCollectionE29 = cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT'), - HLTTriggerResultsE29 = cms.untracked.InputTag('TriggerResults','',inputTagEnding), - # these are just for consistency with the old version - HLTCollectionE31=cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT'), - HLTTriggerResultsE31 = cms.untracked.InputTag('TriggerResults','','HLT'), - ProbeHLTObjMaxDR = cms.untracked.double(0.1), - -# ECAL geometry ################################################### - BarrelMaxEta = cms.untracked.double(1.4442), - EndcapMinEta = cms.untracked.double(1.56), - EndcapMaxEta = cms.untracked.double(2.5), -# -# some extra collections - ctfTracksTag = cms.untracked.InputTag("generalTracks", "", "RECO"), - corHybridsc = cms.untracked.InputTag("correctedHybridSuperClusters","", "RECO"), - multi5x5sc = cms.untracked.InputTag("multi5x5SuperClustersWithPreshower","", "RECO"), - ) - -#process.patDefaultSequence.remove(process.allLayer1Taus) - - - -process.p = cms.Path(process.PF2PAT + process.patDefaultSequence + process.rootskimmer ) -#process.p = cms.Path(process.PF2PAT + process.patDefaultSequence + process.eca ) - - - diff --git a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer_acceptance.py b/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer_acceptance.py deleted file mode 100644 index 7ebec3a1db53f..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/genPurposeSkimmer_acceptance.py +++ /dev/null @@ -1,160 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - - - - -# source -process.source = cms.Source("PoolSource", - # fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') -# fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/Summer09Studies/zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root') - fileNames = cms.untracked.vstring('file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root') - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/Summer09Studies/QCD_EMEnriched_Pt30to80_AODSIM_7E27C8EA-7984-DE11-BA59-00151796C158.root') -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -## Load additional RECO config -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') #ideal conditions - 1e31 menu -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') #ideal conditions - 8e29 menu - -process.load("Configuration.StandardSequences.MagneticField_cff") - -## Load necessary stuff for tcMET -# tracking geometry -process.load("Geometry.CommonTopologies.globalTrackingGeometry_cfi") - -# load the necessary pat sequences -process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -## this is for the correct calculation of type1 MET -#from JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff import * -#from JetMETCorrections.Type1MET.MetType1Corrections_cff import * -process.load("JetMETCorrections.Type1MET.MetType1Corrections_cff") -process.load("JetMETCorrections.Configuration.L2L3Corrections_Summer08Redigi_cff") - -process.metMuonJESCorSC5 = process.metJESCorSC5CaloJet.clone() -process.metMuonJESCorSC5.inputUncorJetsLabel = "sisCone5CaloJets" -process.metMuonJESCorSC5.corrector = "L2L3JetCorrectorSC5Calo" -process.metMuonJESCorSC5.inputUncorMetLabel = "caloMetM" - -process.metCorSequence = cms.Sequence(process.metMuonJESCorSC5) - -# make this collection of type 1 corrected MET a pat collection for the code to handle -process.layer1TwikiT1METs = process.layer1METs.clone( - metSource = cms.InputTag("metMuonJESCorSC5","","PAT"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) - - -# -# the explicit declaration of rechit collections is just for compatibility with the header -# version of 312 - proper Tags have no need of that -# -# for ecal isolation: replace the ECAL rechit collection -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -### create the good old ecal isolation for EE ########## - -## -## this is how to compute isolation yourself for testing purposes -## -#process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -#process.electronEcalRecHitIsolationScone.ecalBarrelRecHitCollection = cms.InputTag("") -#process.electronEcalRecHitIsolationScone.ecalEndcapRecHitCollection = cms.InputTag("") -#process.patElectronIsolation = process.egammaIsolationSequence - - -######################################################## -#from PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi import allLayer1Electrons -# add the user iso -# -# NOTE!!! Egamma Recommendations Track Iso: Scone (0.3), ecal+hcal Lcone (0.4) -## for further studies the rest will be set as user isolations -# -process.allLayer1Electrons.isolation = cms.PSet() - -## -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs+process.layer1TwikiT1METs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) - -process.eca = cms.EDAnalyzer("EventContentAnalyzer") - - - -process.rootskimmer = cms.EDAnalyzer( - 'GenPurposeSkimmerAcceptance', -# output file ####################################### - outputfile = cms.untracked.string('./bkg.root'), -# collections - ElectronCollection = cms.untracked.InputTag("selectedLayer1Electrons"), - MetCollectionTag = cms.untracked.InputTag( "met","","RECO"), - tcMetCollectionTag = cms.untracked.InputTag( "tcMet"), - pfMetCollectionTag = cms.untracked.InputTag( "pfMet"), - genMetCollectionTag= cms.untracked.InputTag("genMetCalo", "", "HLT8E29"), - t1MetCollectionTag = cms.untracked.InputTag("layer1METs"), - t1MetCollectionTagTwiki = cms.untracked.InputTag("layer1TwikiT1METs"), - -# HLT ............................................................... - HLTCollectionE29 = cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT8E29'), - HLTCollectionE31=cms.untracked.InputTag('hltTriggerSummaryAOD','','HLT'), - HLTTriggerResultsE29 = cms.untracked.InputTag('TriggerResults','','HLT8E29'), - HLTTriggerResultsE31 = cms.untracked.InputTag('TriggerResults','','HLT'), - ProbeHLTObjMaxDR = cms.untracked.double(0.1), - -# ECAL geometry ################################################### - BarrelMaxEta = cms.untracked.double(1.4442), - EndcapMinEta = cms.untracked.double(1.56), - EndcapMaxEta = cms.untracked.double(2.5), - -# some MC information - MCCollection = cms.untracked.InputTag("genParticles", "", "HLT8E29"), - # deta and dphi have default values and there is no reason to change them - - ) - -#process.patDefaultSequence.remove(process.allLayer1Taus) - - - -process.p = cms.Path(process.metCorSequence + process.PF2PAT + process.patDefaultSequence + process.rootskimmer ) -#process.p = cms.Path(process.PF2PAT + process.patDefaultSequence + process.eca ) - - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming.py b/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming.py deleted file mode 100644 index 30617e071fd8f..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming.py +++ /dev/null @@ -1,154 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1METs = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1METs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1METs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "REDIGI" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# #= "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" # -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cuts - ETCut = cms.untracked.double(25.), - METCut = cms.untracked.double(0.), - # 2nd electron in W events - vetoSecondElectronEvents = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95cIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # trigger - useTriggerInfo = cms.untracked.bool(True), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # additional preselection cuts - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT"), - - ) -#################################################################################### -process.wenuPath = cms.Path(process.patDefaultSequence*process.wenuFilter) - - -process.wenuOutputModule = cms.OutputModule( "PoolOutputModule", - fileName = cms.untracked.string("wenuCandidates.root"), - outputCommands = cms.untracked.vstring( - 'drop *', - 'keep *_*_selectedWenuCandidates_*', - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('wenuPath',), - ) - ) - -process.outpath = cms.EndPath(process.wenuOutputModule) - - - - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming_data.py b/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming_data.py deleted file mode 100644 index 095cddbcc5770..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuFilterSkimming_data.py +++ /dev/null @@ -1,156 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - "dcap://gfe02:22128/pnfs/hep.ph.ic.ac.uk/data/cms/store/data/Commissioning10/MinimumBias/RECO/May6thPDSkim2_SD_EG-v1/0135/FCC2FA5A-BB5D-DF11-8246-002618943978.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_35X_V8B::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1METs = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1METs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1METs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #"HLT_Ele15_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" # "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cfg for data - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - # cuts - ETCut = cms.untracked.double(25.), - METCut = cms.untracked.double(0.), - # 2nd electron in W events - vetoSecondElectronEvents = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95cIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # trigger - useTriggerInfo = cms.untracked.bool(True), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # additional preselection cuts - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT"), - - ) -#################################################################################### -process.wenuPath = cms.Path(process.patDefaultSequence*process.wenuFilter) - - -process.wenuOutputModule = cms.OutputModule( "PoolOutputModule", - fileName = cms.untracked.string("wenuCandidates.root"), - outputCommands = cms.untracked.vstring( - 'drop *', - 'keep *_*_selectedWenuCandidates_*', - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('wenuPath',), - ) - ) - -process.outpath = cms.EndPath(process.wenuOutputModule) - - - - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlots.py deleted file mode 100644 index 21cba3d7f63e6..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots.py +++ /dev/null @@ -1,180 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WminusToENu-CTEQ66-powheg_Spring10-START3X_V26_AODSIM-v2.root', - # 'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1METs = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1METs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1METs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationScone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationScone"), -# ), -# user = cms.VPSet(), - ) -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# #= "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" # -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cuts - ETCut = cms.untracked.double(25.), - METCut = cms.untracked.double(0.), - # 2nd electron in W events - vetoSecondElectronEvents = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95cIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # trigger - useTriggerInfo = cms.untracked.bool(True), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # additional preselection cuts - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT"), - - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use - selection_80relIso, - selection_inverse, - # if usePrecalcID true the precalculated ID will be used only - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.wenuFilter + process.plotter) - - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed.py deleted file mode 100644 index 44aae5be1ad78..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed.py +++ /dev/null @@ -1,64 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("WENUPLOTS") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:wenuCandidates.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -#################################################################################### -## -## the W selection that you prefer -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use - selection_80relIso, - selection_inverse, - # if usePrecalcID the precalculated ID will be used only - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - -process.p = cms.Path(process.plotter) - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed_data.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed_data.py deleted file mode 100644 index b385b65e4f92a..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlotsFromSkimmed_data.py +++ /dev/null @@ -1,88 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("WENUPLOTS") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:wenuCandidates.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_35X_V8B::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -#################################################################################### -## -## the W selection that you prefer -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) -# dummy selection for debugging -selection_dummy = cms.PSet ( - trackIso_EB = cms.untracked.double(100.), - ecalIso_EB = cms.untracked.double(100.), - hcalIso_EB = cms.untracked.double(100.), - sihih_EB = cms.untracked.double(0.1 ), - dphi_EB = cms.untracked.double(0.1 ), - deta_EB = cms.untracked.double(0.1 ), - hoe_EB = cms.untracked.double(0.1 ), - cIso_EB = cms.untracked.double(100.), - - trackIso_EE = cms.untracked.double(100.), - ecalIso_EE = cms.untracked.double(100.), - hcalIso_EE = cms.untracked.double(100.), - sihih_EE = cms.untracked.double(0.1 ), - dphi_EE = cms.untracked.double(0.1 ), - deta_EE = cms.untracked.double(0.1 ), - hoe_EE = cms.untracked.double(0.1 ), - cIso_EE = cms.untracked.double(100.), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(99), - ) - - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use - selection_80relIso, - selection_inverse, - # if usePrecalcID the precalculated ID will be used only - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - -process.p = cms.Path(process.plotter) - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_data.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_data.py deleted file mode 100644 index fe91ca96cd2b0..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_data.py +++ /dev/null @@ -1,207 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - "dcap://gfe02:22128/pnfs/hep.ph.ic.ac.uk/data/cms/store/data/Commissioning10/MinimumBias/RECO/May6thPDSkim2_SD_EG-v1/0135/FCC2FA5A-BB5D-DF11-8246-002618943978.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_35X_V8B::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1METs = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1METs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1METs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationScone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationScone"), -# ), -# user = cms.VPSet(), - ) -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" # "HLT_Ele15_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" #"hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cfg for data - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - # cuts - ETCut = cms.untracked.double(25.), - METCut = cms.untracked.double(0.), - # 2nd electron in W events - vetoSecondElectronEvents = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95cIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # trigger - useTriggerInfo = cms.untracked.bool(True), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # additional preselection cuts - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT"), - - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) -# dummy selection for debugging -selection_dummy = cms.PSet ( - trackIso_EB = cms.untracked.double(100.), - ecalIso_EB = cms.untracked.double(100.), - hcalIso_EB = cms.untracked.double(100.), - sihih_EB = cms.untracked.double(0.1 ), - dphi_EB = cms.untracked.double(0.1 ), - deta_EB = cms.untracked.double(0.1 ), - hoe_EB = cms.untracked.double(0.1 ), - cIso_EB = cms.untracked.double(100.), - - trackIso_EE = cms.untracked.double(100.), - ecalIso_EE = cms.untracked.double(100.), - hcalIso_EE = cms.untracked.double(100.), - sihih_EE = cms.untracked.double(0.1 ), - dphi_EE = cms.untracked.double(0.1 ), - deta_EE = cms.untracked.double(0.1 ), - hoe_EE = cms.untracked.double(0.1 ), - cIso_EE = cms.untracked.double(100.), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(99), - ) - - - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use - selection_80relIso, - selection_inverse, - # if usePrecalcID the precalculated ID will be used only - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.wenuFilter + process.plotter) - - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_hcalDepths.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_hcalDepths.py deleted file mode 100644 index ff14072d5a1b2..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_hcalDepths.py +++ /dev/null @@ -1,280 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -## -## In this configuration file I show an example of how to put separate cuts -## in hcal isolation using the 2 hcal depths -## -## Nikolaos Rompotis - Imperial College London -## 09Dec09 - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') - fileNames = cms.untracked.vstring( -# 'file:/tmp/rompotis/Run123505_LS70-80_BscMinBiasInnerThreshold.root', - 'file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -#process.GlobalTag.globaltag = cms.string('GR09_P_V7::All') # >>> this is for data -process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') # >>> this is for summer09 -#process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -# for ecal isolation: set the correct name of the ECAL rechit collection -# -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") - -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.layer1METs.clone( #%% - metSource = cms.InputTag("met"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -process.layer1METs.addGenMET = cms.bool(False) -process.layer1METs.addTrigMatch = cms.bool(False) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makeLayer1METs = cms.Sequence( # process.patMETCorrections * process.layer1METs * - process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -process.electronEcalRecHitIsolationScone.ecalBarrelRecHitProducer = cms.InputTag("reducedEcalRecHitsEB") -process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEE") -process.electronEcalRecHitIsolationScone.ecalEndcapRecHitProducer = cms.InputTag("reducedEcalRecHitsEE") -# -process.electronEcalRecHitIsolationLcone.ecalBarrelRecHitCollection = cms.InputTag("") -process.electronEcalRecHitIsolationScone.ecalBarrelRecHitCollection = cms.InputTag("") -process.electronEcalRecHitIsolationLcone.ecalEndcapRecHitCollection = cms.InputTag("") -process.electronEcalRecHitIsolationScone.ecalEndcapRecHitCollection = cms.InputTag("") -# -# -process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) -## -## the following modification calculates the hcal isolation in depth 1 and depth 2 -## for the following cfg lines the following holds: -## depth 1 isolation is used in default hcal iso, i.e. accessed with userIsolation(pat::HcalIso) -## depth 2 is accessed with userIsolation(pat::User1Iso) -## -process.allLayer1Electrons.isoDeposits = cms.PSet() -process.allLayer1Electrons.userIsolation = cms.PSet( - tracker = cms.PSet( src = cms.InputTag("electronTrackIsolationScone"), ), - ecal = cms.PSet( src = cms.InputTag("electronEcalRecHitIsolationLcone"), ), - hcal = cms.PSet( src = cms.InputTag("electronHcalDepth1TowerIsolationLcone"), ), - user = cms.VPSet( - cms.PSet( src = cms.InputTag("electronHcalDepth2TowerIsolationLcone"), ), - ), - - ) -process.allLayer1Electrons.addElectronID = cms.bool(False) -process.allLayer1Electrons.electronIDSources = cms.PSet() -process.allLayer1Electrons.addGenMatch = cms.bool(False) -process.allLayer1Electrons.embedGenMatch = cms.bool(False) -process.allLayer1Electrons.embedHighLevelSelection = cms.bool(False) -## -process.allLayer1Muons.addGenMatch = cms.bool(False) -process.allLayer1Muons.embedGenMatch = cms.bool(False) -## -process.makeAllLayer1Electrons = cms.Sequence(process.patElectronIsolation*process.allLayer1Electrons) -process.makeAllLayer1Muons = cms.Sequence(process.allLayer1Muons) -## -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT8E29" # options: HLT or HLT8E29 >> this is for summer09 -#HLT_process_name = "HLT" # options: HLT or HLT8E29 >> this is for data -# trigger path selection -HLT_path_name = "HLT_Ele15_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cuts - ETCut = cms.untracked.double(0.), - METCut = cms.untracked.double(0.), - vetoSecondElectronEvents = cms.untracked.bool(False), - ETCut2ndEle = cms.untracked.double(20.), - # trigger here - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - useTriggerInfo = cms.untracked.bool(False), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(False), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("selectedLayer1Electrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - - ) -#################################################################################### -## -## the W selection that you prefer -selection_a2 = cms.PSet ( - trackIso_EB = cms.untracked.double(2.2), - ecalIso_EB = cms.untracked.double(4.2), - hcalIso_EB = cms.untracked.double(2.0), - sihih_EB = cms.untracked.double(0.0099), - dphi_EB = cms.untracked.double(0.025), - deta_EB = cms.untracked.double(0.0040), - hoe_EB = cms.untracked.double(1000.0), - ## you can add this variable as an extra isolation, - ## if you don't add it then automatically will not be used - userIso_EB = cms.untracked.double(5.0), - - trackIso_EE = cms.untracked.double(1.1), - ecalIso_EE = cms.untracked.double(3.4), - hcalIso_EE = cms.untracked.double(1.3), - sihih_EE = cms.untracked.double(0.028), - dphi_EE = cms.untracked.double(0.020), - deta_EE = cms.untracked.double(0.0066), - hoe_EE = cms.untracked.double(1000.0), - ## you can add this variable as an extra isolation, - ## if you don't add it then automatically will not be used - userIso_EE = cms.untracked.double(5.0), - ) - -selection_test = cms.PSet ( - trackIso_EB = cms.untracked.double(10), - ecalIso_EB = cms.untracked.double(10), - hcalIso_EB = cms.untracked.double(10), - sihih_EB = cms.untracked.double(0.1), - dphi_EB = cms.untracked.double(1), - deta_EB = cms.untracked.double(1), - hoe_EB = cms.untracked.double(1), - - trackIso_EE = cms.untracked.double(10), - ecalIso_EE = cms.untracked.double(10), - hcalIso_EE = cms.untracked.double(10), - sihih_EE = cms.untracked.double(1), - dphi_EE = cms.untracked.double(1), - deta_EE = cms.untracked.double(1), - hoe_EE = cms.untracked.double(1) - ) - -selection_inverse = cms.PSet ( - trackIso_EB_inv = cms.untracked.bool(True), - trackIso_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - selection_a2, - selection_inverse, - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.wenuFilter + process.plotter) -# process.p = cms.Path(process.patSequences + process.wenuFilter + process.eca) - - -#### SET OF Trigger names for AOD - 321 -# -# HLTPath_[0] = "HLT_Ele10_LW_L1R"; -# HLTFilterType_[0] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter","","HLT8E29"); -# HLTPath_[1] = "HLT_Ele10_LW_EleId_L1R"; -# HLTFilterType_[1] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10EleIdDphiFilter","","HLT8E29"); -# HLTPath_[2] = "HLT_Ele15_LW_L1R"; -# HLTFilterType_[2] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[3] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[3] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[4] = "HLT_Ele15_SiStrip_L1R"; -# HLTFilterType_[4] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[5] = "HLT_Ele20_LW_L1R"; -# HLTFilterType_[5] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15EtFilterESet20","","HLT8E29"); -# HLTPath_[6] = "HLT_DoubleEle5_SW_L1R"; -# HLTFilterType_[6] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt5PixelMatchFilter","","HLT8E29"); -# HLTPath_[7] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[7] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[8] = "tba"; -# HLTFilterType_[8] = edm::InputTag("tba"); -# HLTPath_[9] = "tba"; -# HLTFilterType_[9] = edm::InputTag("tba"); -# // e31 menu -# HLTPath_[10] = "HLT_Ele10_SW_L1R"; -# HLTFilterType_[10] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[11] = "HLT_Ele15_SW_L1R"; -# HLTFilterType_[11] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15PixelMatchFilter","","HLT"); -# HLTPath_[12] = "HLT_Ele15_SiStrip_L1R"; // <--- same as [4] -# HLTFilterType_[12] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT"); -# HLTPath_[13] = "HLT_Ele15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[13] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTITrackIsolFilter","","HLT"); -# HLTPath_[14] = "HLT_Ele15_SW_EleId_L1R"; -# HLTFilterType_[14] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdDphiFilter","","HLT"); -# HLTPath_[15] = "HLT_Ele20_SW_L1R"; -# HLTFilterType_[15] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20PixelMatchFilter","","HLT"); -# HLTPath_[16] = "HLT_Ele20_SiStrip_L1R"; -# HLTFilterType_[16] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt20PixelMatchFilter","","HLT"); -# HLTPath_[17] = "HLT_Ele25_SW_L1R"; -# HLTFilterType_[17] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EtFilterESet25","","HLT"); -# HLTPath_[18] = "HLT_Ele25_SW_EleId_LooseTrackIso_L1R"; -# HLTFilterType_[18] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdTrackIsolFilterESet25LTI","","HLT"); -# HLTPath_[19] = "HLT_DoubleEle10_SW_L1R"; -# HLTFilterType_[19] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[20] = "HLT_Ele15_SC15_SW_EleId_L1R"; -# HLTFilterType_[20] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdESDoubleSC15","","HLT"); -# HLTPath_[21] = "HLT_Ele15_SC15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[21] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTIESDoubleSC15","","HLT"); -# HLTPath_[22] = "HLT_Ele20_SC15_SW_L1R"; -# HLTFilterType_[22] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20ESDoubleSC15","","HLT"); diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_isodeposits.py b/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_isodeposits.py deleted file mode 100644 index 77cdcc1b5de9c..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuPlots_isodeposits.py +++ /dev/null @@ -1,231 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') - fileNames = cms.untracked.vstring( - 'file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -#process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -# for ecal isolation: set the correct name of the ECAL rechit collection -# -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## CHOICE OF THE HLT PATH this section is not used from PAT -## -## Define here as string the names of the triggers only once -## please consult the table of the available triggers at the end of this file -# trigger menu selection -## -#process.patTrigger.processName = cms.string(HLT_process_name) -#process.patTriggerMatcher = cms.Sequence(process.patTriggerElectronMatcher) -#process.electronTriggerMatchHltElectrons.pathNames = cms.vstring(HLT_path_name) -#process.patTriggerMatchEmbedder = cms.Sequence(process.cleanLayer1ElectronsTriggerMatch) -#process.patTriggerSequence = cms.Sequence(process.patTrigger*process.patTriggerMatcher* -# process.patTriggerMatchEmbedder) -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.layer1METs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makeLayer1METs = cms.Sequence(process.patMETCorrections * process.layer1METs * - process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT8E29" # options: HLT or HLT8E29 -# trigger path selection -HLT_path_name = "HLT_Ele10_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter" -# -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - vetoSecondElectronEvents = cms.untracked.bool(False), - ETCut2ndEle = cms.untracked.double(20.), - # trigger here - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(False), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("selectedLayer1Electrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - - ) -#################################################################################### -## -## the W selection that you prefer -selection_a2 = cms.PSet ( - trackIso_EB = cms.untracked.double(2.2), - ecalIso_EB = cms.untracked.double(4.2), - hcalIso_EB = cms.untracked.double(2.0), - sihih_EB = cms.untracked.double(0.0099), - dphi_EB = cms.untracked.double(0.025), - deta_EB = cms.untracked.double(0.0040), - hoe_EB = cms.untracked.double(0.1), - - trackIso_EE = cms.untracked.double(1.1), - ecalIso_EE = cms.untracked.double(3.4), - hcalIso_EE = cms.untracked.double(1.3), - sihih_EE = cms.untracked.double(0.028), - dphi_EE = cms.untracked.double(0.020), - deta_EE = cms.untracked.double(0.0066), - hoe_EE = cms.untracked.double(0.1) - ) -selection_test = cms.PSet ( - trackIso_EB = cms.untracked.double(10), - ecalIso_EB = cms.untracked.double(10), - hcalIso_EB = cms.untracked.double(10), - sihih_EB = cms.untracked.double(0.1), - dphi_EB = cms.untracked.double(1), - deta_EB = cms.untracked.double(1), - hoe_EB = cms.untracked.double(1), - - trackIso_EE = cms.untracked.double(10), - ecalIso_EE = cms.untracked.double(10), - hcalIso_EE = cms.untracked.double(10), - sihih_EE = cms.untracked.double(1), - dphi_EE = cms.untracked.double(1), - deta_EE = cms.untracked.double(1), - hoe_EE = cms.untracked.double(1) - ) - -selection_inverse = cms.PSet ( - trackIso_EB_inv = cms.untracked.bool(True), - trackIso_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - selection_test, - selection_inverse, - wenuCollectionTag = cms.untracked.InputTag( - "wenuFilter","selectedWenuCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.wenuFilter + process.plotter) -# process.p = cms.Path(process.patSequences + process.wenuFilter + process.eca) - - -#### SET OF Trigger names for AOD - 321 -# -# HLTPath_[0] = "HLT_Ele10_LW_L1R"; -# HLTFilterType_[0] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter","","HLT8E29"); -# HLTPath_[1] = "HLT_Ele10_LW_EleId_L1R"; -# HLTFilterType_[1] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10EleIdDphiFilter","","HLT8E29"); -# HLTPath_[2] = "HLT_Ele15_LW_L1R"; -# HLTFilterType_[2] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[3] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[3] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[4] = "HLT_Ele15_SiStrip_L1R"; -# HLTFilterType_[4] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[5] = "HLT_Ele20_LW_L1R"; -# HLTFilterType_[5] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15EtFilterESet20","","HLT8E29"); -# HLTPath_[6] = "HLT_DoubleEle5_SW_L1R"; -# HLTFilterType_[6] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt5PixelMatchFilter","","HLT8E29"); -# HLTPath_[7] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[7] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[8] = "tba"; -# HLTFilterType_[8] = edm::InputTag("tba"); -# HLTPath_[9] = "tba"; -# HLTFilterType_[9] = edm::InputTag("tba"); -# // e31 menu -# HLTPath_[10] = "HLT_Ele10_SW_L1R"; -# HLTFilterType_[10] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[11] = "HLT_Ele15_SW_L1R"; -# HLTFilterType_[11] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15PixelMatchFilter","","HLT"); -# HLTPath_[12] = "HLT_Ele15_SiStrip_L1R"; // <--- same as [4] -# HLTFilterType_[12] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT"); -# HLTPath_[13] = "HLT_Ele15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[13] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTITrackIsolFilter","","HLT"); -# HLTPath_[14] = "HLT_Ele15_SW_EleId_L1R"; -# HLTFilterType_[14] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdDphiFilter","","HLT"); -# HLTPath_[15] = "HLT_Ele20_SW_L1R"; -# HLTFilterType_[15] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20PixelMatchFilter","","HLT"); -# HLTPath_[16] = "HLT_Ele20_SiStrip_L1R"; -# HLTFilterType_[16] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt20PixelMatchFilter","","HLT"); -# HLTPath_[17] = "HLT_Ele25_SW_L1R"; -# HLTFilterType_[17] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EtFilterESet25","","HLT"); -# HLTPath_[18] = "HLT_Ele25_SW_EleId_LooseTrackIso_L1R"; -# HLTFilterType_[18] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdTrackIsolFilterESet25LTI","","HLT"); -# HLTPath_[19] = "HLT_DoubleEle10_SW_L1R"; -# HLTFilterType_[19] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[20] = "HLT_Ele15_SC15_SW_EleId_L1R"; -# HLTFilterType_[20] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdESDoubleSC15","","HLT"); -# HLTPath_[21] = "HLT_Ele15_SC15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[21] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTIESDoubleSC15","","HLT"); -# HLTPath_[22] = "HLT_Ele20_SC15_SW_L1R"; -# HLTFilterType_[22] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20ESDoubleSC15","","HLT"); diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple.py b/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple.py deleted file mode 100644 index 932f20d8e60b2..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple.py +++ /dev/null @@ -1,274 +0,0 @@ -## ######################################################### -## -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Nikolaos Rompotis - Imperial College London -## 22 June 2010 -## -## ######################################################### -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - - - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - # SOME DATA FILE TO BE PUT HERE - #'rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WminusToENu-CTEQ66-powheg_Spring10-START3X_V26_AODSIM-v2.root', - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_36X_V11A::All') # GLOBAL TAG FOR DATA -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -# you have to tell the ID that it is data -process.simpleEleId95relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId95cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60cIso.dataMagneticFieldSetUp = cms.bool(True) -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the Spring10 production traditional MC / HLT for the powheg samples or data -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -HLT_path_name_extra = "HLT_Photon15_L1R" #= "HLT_Ele15_LW_L1R" # -HLT_filter_name_extra = "hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter" - - -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.566), - EndCapMaxEta = cms.untracked.double(2.5), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(True), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.), - useExtraTrigger = cms.untracked.bool(True), - hltpathExtra = cms.untracked.string(HLT_path_name_extra), - hltpathFilterExtra = cms.untracked.InputTag(HLT_filter_name_extra,"",HLT_process_name), - # ET Cut in the SC - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # reject events with a 2nd electron with ET > 20 that passes the WP95% - vetoSecondElectronEvents = cms.untracked.bool(False), - storeSecondElectron = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95relIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # Other parameters of the code - leave them as they are - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # we are dealing with DATA - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -# -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - - -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use: wont be used - we have usePrecalcID true later - selection_80relIso, - selection_inverse, - # The selection to be used here: - usePrecalcID = cms.untracked.bool(True), - usePrecalcIDType = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # some extra information on the ntuple production: - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - wenuCollectionTag = cms.untracked.InputTag("wenuFilter","selectedWenuCandidates","PAT"), - WENU_VBTFselectionFileName = cms.untracked.string("WENU_VBTFselection.root"), - WENU_VBTFpreseleFileName = cms.untracked.string("WENU_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeSecondElectronInformation = cms.untracked.bool(True), - ) -# -# if you run on data then you have to do misalignment corrections first!!! -# not to be used with MC!! -process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -process.p = cms.Path( process.gsfElectrons*process.ourJetSequence* - process.patDefaultSequence*process.wenuFilter*process.plotter) -#process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.wenuFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forCTEQ66Powheg.py b/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forCTEQ66Powheg.py deleted file mode 100644 index 2bf672123ff95..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forCTEQ66Powheg.py +++ /dev/null @@ -1,254 +0,0 @@ -## ######################################################### -## -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Nikolaos Rompotis - Imperial College London -## 22 June 2010 -## -## ######################################################### -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WminusToENu-CTEQ66-powheg_Spring10-START3X_V26_AODSIM-v2.root', - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( ) -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the Spring10 production traditional MC / HLT for the powheg samples or data -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -HLT_path_name_extra = "HLT_Photon15_L1R" #= "HLT_Ele15_LW_L1R" # -HLT_filter_name_extra = "hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter" -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.566), - EndCapMaxEta = cms.untracked.double(2.5), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(True), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.), - useExtraTrigger = cms.untracked.bool(True), - hltpathExtra = cms.untracked.string(HLT_path_name_extra), - hltpathFilterExtra = cms.untracked.InputTag(HLT_filter_name_extra,"",HLT_process_name), - # ET Cut in the SC - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # reject events with a 2nd electron with ET > 20 that passes the WP95% - vetoSecondElectronEvents = cms.untracked.bool(False), - storeSecondElectron = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95relIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # Other parameters of the code - leave them as they are - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # it is MC, not data - dataMagneticFieldSetUp = cms.untracked.bool(False), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -# -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - - -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use: wont be used - we have usePrecalcID true later - selection_80relIso, - selection_inverse, - # The selection to be used here: - usePrecalcID = cms.untracked.bool(True), - usePrecalcIDType = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # some extra information on the ntuple production: - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - wenuCollectionTag = cms.untracked.InputTag("wenuFilter","selectedWenuCandidates","PAT"), - WENU_VBTFselectionFileName = cms.untracked.string("WENU_VBTFselection.root"), - WENU_VBTFpreseleFileName = cms.untracked.string("WENU_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(0), - storeSecondElectronInformation = cms.untracked.bool(True), - ) -# -# if you run on data then you have to do misalignment corrections first!!! -# not to be used with MC!! -#process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -#process.p = cms.Path( process.gsfElectrons + process.patDefaultSequence +process.wenuFilter + process.plotter) -process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.wenuFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forData.py b/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forData.py deleted file mode 100644 index 9cd50c292f0ef..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forData.py +++ /dev/null @@ -1,250 +0,0 @@ -## ######################################################### -## -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Nikolaos Rompotis - Imperial College London -## 22 June 2010 -## -## ######################################################### -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - - - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - # SOME DATA FILE TO BE PUT HERE - #'rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WminusToENu-CTEQ66-powheg_Spring10-START3X_V26_AODSIM-v2.root', - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - 'rfio:/castor/cern.ch/cms/store/relval/CMSSW_3_9_1/RelValZEE/GEN-SIM-RECO/START39_V3-v1/0062/187296DA-39E4-DF11-A172-003048679296.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START39_V3::All') - -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the Spring10 production traditional MC / HLT for the powheg samples or data -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# - - -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.566), - EndCapMaxEta = cms.untracked.double(2.5), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(False), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(False), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.), - useExtraTrigger = cms.untracked.bool(False), - # ET Cut in the SC - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # reject events with a 2nd electron with ET > 20 that passes the WP95% - vetoSecondElectronEvents = cms.untracked.bool(False), - storeSecondElectron = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95relIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # Other parameters of the code - leave them as they are - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -# -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.CorrectedJetProducersDefault_cff") -#process.load("JetMETCorrections.Configuration.CorrectedJetProducers_cff") -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - - -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use: wont be used - we have usePrecalcID true later - selection_80relIso, - selection_inverse, - # The selection to be used here: - usePrecalcID = cms.untracked.bool(True), - usePrecalcIDType = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # some extra information on the ntuple production: - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - wenuCollectionTag = cms.untracked.InputTag("wenuFilter","selectedWenuCandidates","PAT"), - WENU_VBTFselectionFileName = cms.untracked.string("WENU_VBTFselection.root"), - WENU_VBTFpreseleFileName = cms.untracked.string("WENU_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeExtraInformation = cms.untracked.bool(True), - storeAllSecondElectronVariables = cms.untracked.bool(True), - ) -# -process.p = cms.Path( process.ourJetSequence*process.patDefaultSequence*process.wenuFilter*process.plotter) - - diff --git a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forSpring10MC.py b/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forSpring10MC.py deleted file mode 100644 index eed223ef5e75d..0000000000000 --- a/ElectroWeakAnalysis/WENu/test/pat_WenuVBTF_ntuple_forSpring10MC.py +++ /dev/null @@ -1,248 +0,0 @@ -## ######################################################### -## -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Nikolaos Rompotis - Imperial College London -## 22 June 2010 -## -## ######################################################### -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WminusToENu-CTEQ66-powheg_Spring10-START3X_V26_AODSIM-v2.root', - 'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationScone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationScone"), -# ), -# user = cms.VPSet(), - ) -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) -## -process.load("ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "REDIGI" # REDIGI for the Spring10 production traditional MC -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -HLT_path_name_extra = "HLT_Photon15_L1R" #= "HLT_Ele15_LW_L1R" # -HLT_filter_name_extra = "hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter" -# #= "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" # -process.wenuFilter = cms.EDFilter('WenuCandidateFilter', - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.566), - EndCapMaxEta = cms.untracked.double(2.5), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(True), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.), - useExtraTrigger = cms.untracked.bool(True), - hltpathExtra = cms.untracked.string(HLT_path_name_extra), - hltpathFilterExtra = cms.untracked.InputTag(HLT_filter_name_extra,"",HLT_process_name), - # ET Cut in the SC - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # Do not reject events with 2nd electrons in the filter level, do it later if you need - # but store the second electron in the event - vetoSecondElectronEvents = cms.untracked.bool(False), - storeSecondElectron = cms.untracked.bool(True), - ETCut2ndEle = cms.untracked.double(20.), - vetoSecondElectronIDType = cms.untracked.string("simpleEleId95relIso"), - vetoSecondElectronIDSign = cms.untracked.string("="), - vetoSecondElectronIDValue = cms.untracked.double(7.), - # Other parameters of the code - leave them as they are - useValidFirstPXBHit = cms.untracked.bool(False), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateConversionRejection = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - ) -#################################################################################### -## -## the W selection that you prefer included in another cfg -from ElectroWeakAnalysis.WENu.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -# -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - - -## -## and the plot creator -process.plotter = cms.EDAnalyzer('WenuPlots', - # selection in use: wont be used - we have usePrecalcID true later - selection_80relIso, - selection_inverse, - # The selection to be used here: - usePrecalcID = cms.untracked.bool(True), - usePrecalcIDType = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - # some extra information on the ntuple production: - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - wenuCollectionTag = cms.untracked.InputTag("wenuFilter","selectedWenuCandidates","PAT"), - WENU_VBTFselectionFileName = cms.untracked.string("WENU_VBTFselection.root"), - WENU_VBTFpreseleFileName = cms.untracked.string("WENU_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(0), - storeSecondElectronInformation = cms.untracked.bool(True), - ) -# -# if you run on data then you have to do misalignment corrections first!!! -# not to be used with MC!! -#process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -#process.p = cms.Path( process.gsfElectrons + process.patDefaultSequence +process.wenuFilter + process.plotter) -process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.wenuFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/WMuNu/BuildFile.xml b/ElectroWeakAnalysis/WMuNu/BuildFile.xml deleted file mode 100644 index 20863737a5f3a..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/BuildFile.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/ElectroWeakAnalysis/WMuNu/bin/BuildFile.xml b/ElectroWeakAnalysis/WMuNu/bin/BuildFile.xml deleted file mode 100644 index 62eea4f956d52..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/bin/BuildFile.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/ElectroWeakAnalysis/WMuNu/bin/WMuNuValidatorMacro.cpp b/ElectroWeakAnalysis/WMuNu/bin/WMuNuValidatorMacro.cpp deleted file mode 100644 index e509ad30f740c..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/bin/WMuNuValidatorMacro.cpp +++ /dev/null @@ -1,229 +0,0 @@ -#include "TROOT.h" -#include "TSystem.h" -#include "TStyle.h" -#include "TRint.h" -#include "TFile.h" -#include "TCanvas.h" -#include "TPaveLabel.h" -#include "TPad.h" -#include "TH1D.h" -#include "TLegend.h" - -int printUsage() { - printf("Usage: WMuNuValidatorMacro [-lbh] 'root_file_to_validate' 'reference_root_file' 'directory_name'\n\n"); - - printf("\tOptions:\t -l ==> linear scale for Y axes (default is log-scale)\n"); - printf("\t \t -b ==> run in batch (no graphics)\n"); - printf("\t \t -n ==> normalize reference to data (default = false)\n"); - printf("\t \t -h ==> print this message\n\n"); - - printf("\tInput files:\t Created via '*Validator.py' configuration files in:\n"); - printf("\t \t $CMSSW_BASE/src/ElectroWeakAnalysis/WMuNu/test/\n\n"); - - printf("\tOutput: \t Canvases: './WMuNuValidation_$CMSSW_VERSION_*.root'\n"); - printf("\t \t Gifs: './WMuNuValidation_$CMSSW_VERSION_*.gif'\n\n"); - - return 1; -} - -int main(int argc, char** argv) { - TString chfile; - TString chfileref; - TString DirectoryLast; - - int ntrueargs = 0; - bool logyFlag = true; - bool normalize = false; - - for (int i = 1; i < argc; ++i) { - if (argv[i][0] == '-') { - if (argv[i][1] == 'l') - logyFlag = false; - else if (argv[i][1] == 'b') - gROOT->SetBatch(); - else if (argv[i][1] == 'h') - return printUsage(); - else if (argv[i][1] == 'n') - normalize = true; - - } else { - ntrueargs += 1; - if (ntrueargs == 1) - chfile = argv[i]; - else if (ntrueargs == 2) - chfileref = argv[i]; - else if (ntrueargs == 3) - DirectoryLast = argv[i]; - } - } - - if (ntrueargs != 3) - return printUsage(); - - TRint* app = new TRint("CMS Root Application", nullptr, nullptr); - - TString cmssw_version = gSystem->Getenv("CMSSW_VERSION"); - TString chsample = "WMuNu"; - TString chtitle = chsample + " validation for " + cmssw_version; - - //TCanvas* c1 = new TCanvas("c1",chtitle.Data()); - TCanvas* c1 = new TCanvas("c1", chtitle.Data(), 0, 0, 1024, 768); - - TPaveLabel* paveTitle = new TPaveLabel(0.1, 0.93, 0.9, 0.99, chtitle.Data()); - paveTitle->Draw(); - - gStyle->SetOptLogy(logyFlag); - gStyle->SetPadGridX(true); - gStyle->SetPadGridY(true); - gStyle->SetOptStat(1111111); - gStyle->SetFillColor(0); - - TPad* pad[4]; - pad[0] = new TPad("pad_tl", "The top-left pad", 0.01, 0.48, 0.49, 0.92); - pad[1] = new TPad("pad_tr", "The top-right pad", 0.51, 0.48, 0.99, 0.92); - pad[2] = new TPad("pad_bl", "The bottom-left pad", 0.01, 0.01, 0.49, 0.46); - pad[3] = new TPad("pad_br", "The bottom-right pad", 0.51, 0.01, 0.99, 0.46); - for (unsigned int i = 0; i < 4; ++i) - pad[i]->Draw(); - - TLegend* leg = new TLegend(0.5, 0.9, 0.7, 1.0); - - TFile* input_file = new TFile(chfile.Data(), "READONLY"); - TFile* input_fileref = new TFile(chfileref.Data(), "READONLY"); - bool first_plots_done = false; - - TString directory = DirectoryLast + "/BeforeCuts"; - - TDirectory* dir_before = input_file->GetDirectory(directory); - TDirectory* dirref_before = input_fileref->GetDirectory(directory); - TList* list_before = dir_before->GetListOfKeys(); - list_before->Print(); - - unsigned int list_before_size = list_before->GetSize(); - TString auxTitle = chtitle + ": BEFORE CUTS"; - for (unsigned int i = 0; i < list_before_size; i += 4) { - if (first_plots_done == true) - c1->DrawClone(); - paveTitle->SetLabel(auxTitle.Data()); - for (unsigned int j = 0; j < 4; ++j) { - pad[j]->cd(); - pad[j]->Clear(); - if ((i + j) >= list_before_size) - continue; - - TH1D* h1 = (TH1D*)dir_before->Get(list_before->At(i + j)->GetName()); - // h1->SetLineColor(kBlue); - // h1->SetMarkerColor(kBlue); - h1->SetMarkerStyle(21); - h1->SetLineStyle(1); - h1->SetLineWidth(3); - h1->SetTitleSize(0.05, "X"); - h1->SetTitleSize(0.05, "Y"); - h1->SetXTitle(h1->GetTitle()); - h1->SetYTitle(""); - h1->SetTitle(""); - h1->SetTitleOffset(0.85, "X"); - - TH1D* hr = (TH1D*)dirref_before->Get(list_before->At(i + j)->GetName()); - hr->SetLineColor(kRed); - // hr->SetLineStyle(2); - hr->SetLineWidth(3); - hr->SetTitleSize(0.05, "X"); - hr->SetTitleSize(0.05, "Y"); - hr->SetXTitle(h1->GetTitle()); - hr->SetYTitle(""); - hr->SetTitle(""); - hr->SetTitleOffset(0.85, "X"); - - if (normalize) { - hr->DrawNormalized("hist", h1->Integral()); - } else { - hr->Draw("hist"); - } - h1->Draw("same,p"); - - leg->Clear(); - leg->AddEntry(h1, "Skim", "L"); - leg->AddEntry(hr, "Reference", "L"); - leg->Draw(); - } - first_plots_done = true; - c1->Modified(); - c1->Update(); - char chplot[80]; - sprintf(chplot, "%sValidation_%s_BEFORECUTS_%d.root", chsample.Data(), cmssw_version.Data(), i / 4); - c1->SaveAs(chplot); - sprintf(chplot, "%sValidation_%s_BEFORECUTS_%d.gif", chsample.Data(), cmssw_version.Data(), i / 4); - c1->SaveAs(chplot); - } - - TString directory2 = DirectoryLast + "/LastCut"; - - TDirectory* dir_lastcut = input_file->GetDirectory(directory2); - TDirectory* dirref_lastcut = input_fileref->GetDirectory(directory2); - TList* list_lastcut = dir_lastcut->GetListOfKeys(); - list_lastcut->Print(); - - unsigned int list_lastcut_size = list_lastcut->GetSize(); - auxTitle = chtitle + ": AFTER N-1 CUTS"; - for (unsigned int i = 0; i < list_lastcut_size; i += 4) { - if (first_plots_done == true) - c1->DrawClone(); - paveTitle->SetLabel(auxTitle.Data()); - for (unsigned int j = 0; j < 4; ++j) { - pad[j]->cd(); - pad[j]->Clear(); - if ((i + j) >= list_lastcut_size) - continue; - - TH1D* h1 = (TH1D*)dir_lastcut->Get(list_lastcut->At(i + j)->GetName()); - // h1->SetLineColor(kBlue); - // h1->SetMarkerColor(kBlue); - h1->SetMarkerStyle(21); - h1->SetLineWidth(3); - h1->SetTitleSize(0.05, "X"); - h1->SetTitleSize(0.05, "Y"); - h1->SetXTitle(h1->GetTitle()); - h1->SetYTitle(""); - h1->SetTitle(""); - h1->SetTitleOffset(0.85, "X"); - - TH1D* hr = (TH1D*)dirref_lastcut->Get(list_lastcut->At(i + j)->GetName()); - hr->SetLineColor(kRed); - // hr->SetLineStyle(2); - hr->SetLineWidth(3); - hr->SetTitleSize(0.05, "X"); - hr->SetTitleSize(0.05, "Y"); - hr->SetXTitle(h1->GetTitle()); - hr->SetYTitle(""); - hr->SetTitle(""); - hr->SetTitleOffset(0.85, "X"); - - // h1->Draw(); - if (normalize) { - hr->DrawNormalized("hist", h1->Integral()); - } else { - hr->Draw("hist"); - } - h1->Draw("same,p"); - - leg->Clear(); - leg->AddEntry(h1, "Skim", "L"); - leg->AddEntry(hr, "Reference", "L"); - leg->Draw(); - } - first_plots_done = true; - c1->Modified(); - c1->Update(); - char chplot[80]; - sprintf(chplot, "%sValidation_%s_LASTCUT_%d.root", chsample.Data(), cmssw_version.Data(), i / 4); - c1->SaveAs(chplot); - sprintf(chplot, "%sValidation_%s_LASTCUT_%d.gif", chsample.Data(), cmssw_version.Data(), i / 4); - c1->SaveAs(chplot); - } - - if (!gROOT->IsBatch()) - app->Run(); - - return 0; -} diff --git a/ElectroWeakAnalysis/WMuNu/python/WMuNuSelection_cff.py b/ElectroWeakAnalysis/WMuNu/python/WMuNuSelection_cff.py deleted file mode 100644 index fa31879af5d25..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/python/WMuNuSelection_cff.py +++ /dev/null @@ -1,141 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi import * - -# Paths for WMuNuSelector filtering of events -# Be careful: events may contain more than one WMunuCandidate if they -# contain more than one muon. -# The "real" WMuNuCandidate selected is the first one of the collection - -selcorMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(False), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - #TrigTag = cms.untracked.InputTag("TriggerResults::HLT"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("corMetWMuNus"), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Main cuts -> - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) - -selpfMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(False), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - #TrigTag = cms.untracked.InputTag("TriggerResults::HLT"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("pfMetWMuNus"), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Main cuts -> - UseTrackerPt = cms.untracked.bool(True), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) - -seltcMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(False), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - #TrigTag = cms.untracked.InputTag("TriggerResults::HLT"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("tcMetWMuNus"), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Main cuts -> - UseTrackerPt = cms.untracked.bool(True), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) - -selectCaloMetWMuNus = cms.Sequence(corMetWMuNus+selcorMet) - -selectPfMetWMuNus = cms.Sequence(pfMetWMuNus+selpfMet) - -selectTcMetWMuNus = cms.Sequence(tcMetWMuNus+seltcMet) - - diff --git a/ElectroWeakAnalysis/WMuNu/python/wmunusProducer_cfi.py b/ElectroWeakAnalysis/WMuNu/python/wmunusProducer_cfi.py deleted file mode 100644 index 906b842d116cf..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/python/wmunusProducer_cfi.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Producers --> Create one collection of WMuNus per met type - -pfMetWMuNus = cms.EDProducer("WMuNuProducer", - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - METTag = cms.untracked.InputTag("pfMet") -) - -tcMetWMuNus = cms.EDProducer("WMuNuProducer", - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - METTag = cms.untracked.InputTag("tcMet") -) - -corMetWMuNus = cms.EDProducer("WMuNuProducer", - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - METTag = cms.untracked.InputTag("caloMetM") -) - -allWMuNus = cms.Sequence(corMetWMuNus - *tcMetWMuNus - *pfMetWMuNus - ) - diff --git a/ElectroWeakAnalysis/WMuNu/src/WMuNuProducer.cc b/ElectroWeakAnalysis/WMuNu/src/WMuNuProducer.cc deleted file mode 100644 index 1141ab486e563..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/src/WMuNuProducer.cc +++ /dev/null @@ -1,146 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// WMuNuCandidate Producer // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// Productor of WMuNuCandidates for Analysis // -// --> Creates a WMuNuCandidateCollection // -// --> One Candidate is created per muon in the event, combinig the information with a selected kind of Met // -// (met kind configurable via cfg) // -// --> All WMuNuCandidates are stored in the event, ordered by muon pt. // -// --> The WMuNuCandidate to be used for the Inclusive analysis is then the first one! (Highest Pt) // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "TH1D.h" -#include -// system include files -#include -#include - -#include "AnalysisDataFormats/EWK/interface/WMuNuCandidate.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/METReco/interface/MET.h" - -class WMuNuProducer : public edm::EDProducer { -public: - WMuNuProducer(const edm::ParameterSet&); - ~WMuNuProducer() override; - -private: - void produce(edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT > metToken_; - - struct ComparePt { - bool operator()(reco::WMuNuCandidate w1, reco::WMuNuCandidate w2) const { - double pt1 = w1.getMuon().pt(); - double pt2 = w2.getMuon().pt(); - return (pt1 > pt2); - } - }; - ComparePt ptComparator; - - unsigned int nall; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/Handle.h" - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -#include "DataFormats/MuonReco/interface/MuonFwd.h" -#include "DataFormats/JetReco/interface/Jet.h" - -#include "DataFormats/GeometryVector/interface/Phi.h" - -#include "DataFormats/Common/interface/TriggerResults.h" - -#include "DataFormats/Common/interface/View.h" - -using namespace edm; -using namespace std; -using namespace reco; - -WMuNuProducer::WMuNuProducer(const ParameterSet& cfg) - : // Input collections - muonToken_(consumes >(cfg.getUntrackedParameter("MuonTag", edm::InputTag("muons")))), - metToken_(consumes >(cfg.getUntrackedParameter("METTag", edm::InputTag("met")))) { - produces(); -} - -void WMuNuProducer::beginJob() {} - -void WMuNuProducer::endJob() { LogTrace("") << "WMuNuCandidateCollection Stored in the Event"; } - -WMuNuProducer::~WMuNuProducer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -void WMuNuProducer::produce(Event& ev, const EventSetup&) { - // Muon collection - Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - LogError("") << ">>> Muon collection does not exist !!!"; - return; - } - int muonCollectionSize = muonCollection->size(); - - // MET - Handle > metCollection; - if (!ev.getByToken(metToken_, metCollection)) { - LogError("") << ">>> MET collection does not exist !!!"; - return; - } - //const MET& Met = metCollection->at(0); - edm::Ptr met(metCollection, 0); - - if (muonCollectionSize < 1) - return; - - unique_ptr WMuNuCandidates(new WMuNuCandidateCollection); - - // Fill Collection with n muons --> n W Candidates ordered by pt - - for (int indx = 0; indx < muonCollectionSize; indx++) { - edm::Ptr muon(muonCollection, indx); - if (!muon->isGlobalMuon()) - continue; - if (muon->globalTrack().isNull()) - continue; - if (muon->innerTrack().isNull()) - continue; - - // Build WMuNuCandidate - LogTrace("") << "Building WMuNu Candidate!"; - WMuNuCandidate* WCand = new WMuNuCandidate(muon, met); - LogTrace("") << "\t... W mass, W_et: " << WCand->massT() << ", " << WCand->eT() << "[GeV]"; - LogTrace("") << "\t... W_px, W_py: " << WCand->px() << ", " << WCand->py() << "[GeV]"; - LogTrace("") << "\t... acop: " << WCand->acop(); - LogTrace("") << "\t... Muon pt, px, py, pz: " << WCand->getMuon().pt() << ", " << WCand->getMuon().px() << ", " - << WCand->getMuon().py() << ", " << WCand->getMuon().pz() << " [GeV]"; - LogTrace("") << "\t... Met met_et, met_px, met_py : " << WCand->getNeutrino().pt() << ", " - << WCand->getNeutrino().px() << ", " << WCand->getNeutrino().py() << " [GeV]"; - WMuNuCandidates->push_back(*WCand); - } - - std::sort(WMuNuCandidates->begin(), WMuNuCandidates->end(), ptComparator); - - ev.put(std::move(WMuNuCandidates)); -} - -DEFINE_FWK_MODULE(WMuNuProducer); diff --git a/ElectroWeakAnalysis/WMuNu/src/WMuNuSelector.cc b/ElectroWeakAnalysis/WMuNu/src/WMuNuSelector.cc deleted file mode 100644 index f0b911d0e6695..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/src/WMuNuSelector.cc +++ /dev/null @@ -1,491 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// WMuNuSelector based on WMuNuCandidates // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// Filter of WMuNuCandidates for Analysis // -// --> From a WMuNuCandidate collection // -// --> Pre-Selection of events based in event cuts (trigger, Z rejection, ttbar rejection) // -// --> The Ws are selected from the highest pt muon in the event (applying the standard WMuNu Selection cuts) // -// // -// --> Be careful: if this Selector is used as a filter for further analysis you still have to make sure that // -// the W Candidate you use for your modules is the first one in the collection!! // -// // -// Optionally, plots selection variables sequentially after cuts, // -// and 2D histograms for background determination. // -// // -// For basic plots before & after cuts (without Candidate formalism), use WMuNuValidator.cc // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "AnalysisDataFormats/EWK/interface/WMuNuCandidate.h" -#include "TH1D.h" -#include "TH2D.h" - -class WMuNuSelector : public edm::EDFilter { -public: - WMuNuSelector(const edm::ParameterSet&); - bool filter(edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - void init_histograms(); - -private: - bool plotHistograms_; - edm::EDGetTokenT trigToken_; - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT > jetToken_; - edm::EDGetTokenT beamSpotToken_; - edm::EDGetTokenT WMuNuCollectionToken_; - const std::string muonTrig_; - double ptThrForZ1_; - double ptThrForZ2_; - double eJetMin_; - int nJetMax_; - double ptCut_; - double etaCut_; - bool isRelativeIso_; - bool isCombinedIso_; - double isoCut03_; - double mtMin_; - double mtMax_; - double metMin_; - double metMax_; - double acopCut_; - - double dxyCut_; - double normalizedChi2Cut_; - int trackerHitsCut_; - bool isAlsoTrackerMuon_; - - int selectByCharge_; - - double nall; - double ntrig, npresel; - double nsel; - double ncharge; - double nkin, nid, nacop, niso, nmass; - - std::map h1_; - std::map h2_; -}; -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/TrackReco/interface/Track.h" - -#include "DataFormats/MuonReco/interface/MuonSelectors.h" - -#include "DataFormats/METReco/interface/MET.h" - -#include "DataFormats/GeometryVector/interface/Phi.h" - -#include "FWCore/Common/interface/TriggerNames.h" - -using namespace edm; -using namespace std; -using namespace reco; - -WMuNuSelector::WMuNuSelector(const ParameterSet& cfg) - : // Fast selection (no histograms) - plotHistograms_(cfg.getUntrackedParameter("plotHistograms", true)), - - // Input collections - trigToken_(consumes( - cfg.getUntrackedParameter("TrigTag", edm::InputTag("TriggerResults::HLT")))), - muonToken_(consumes >(cfg.getUntrackedParameter("MuonTag", edm::InputTag("muons")))), - jetToken_( - consumes >(cfg.getUntrackedParameter("JetTag", edm::InputTag("sisCone5CaloJets")))), - beamSpotToken_(consumes(edm::InputTag("offlineBeamSpot"))), - WMuNuCollectionToken_(consumes( - cfg.getUntrackedParameter("WMuNuCollectionTag", edm::InputTag("WMuNus")))), - - // Preselection cuts - muonTrig_(cfg.getUntrackedParameter("MuonTrig", "HLT_Mu9")), - ptThrForZ1_(cfg.getUntrackedParameter("PtThrForZ1", 20.)), - ptThrForZ2_(cfg.getUntrackedParameter("PtThrForZ2", 10.)), - eJetMin_(cfg.getUntrackedParameter("EJetMin", 999999.)), - nJetMax_(cfg.getUntrackedParameter("NJetMax", 999999)), - - // Main cuts - ptCut_(cfg.getUntrackedParameter("PtCut", 25.)), - etaCut_(cfg.getUntrackedParameter("EtaCut", 2.1)), - isRelativeIso_(cfg.getUntrackedParameter("IsRelativeIso", true)), - isCombinedIso_(cfg.getUntrackedParameter("IsCombinedIso", false)), - isoCut03_(cfg.getUntrackedParameter("IsoCut03", 0.1)), - mtMin_(cfg.getUntrackedParameter("MtMin", 50.)), - mtMax_(cfg.getUntrackedParameter("MtMax", 200.)), - metMin_(cfg.getUntrackedParameter("MetMin", -999999.)), - metMax_(cfg.getUntrackedParameter("MetMax", 999999.)), - acopCut_(cfg.getUntrackedParameter("AcopCut", 2.)), - - // Muon quality cuts - dxyCut_(cfg.getUntrackedParameter("DxyCut", 0.2)), - normalizedChi2Cut_(cfg.getUntrackedParameter("NormalizedChi2Cut", 10.)), - trackerHitsCut_(cfg.getUntrackedParameter("TrackerHitsCut", 11)), - isAlsoTrackerMuon_(cfg.getUntrackedParameter("IsAlsoTrackerMuon", true)), - - // W+/W- Selection - selectByCharge_(cfg.getUntrackedParameter("SelectByCharge", 0)) {} - -void WMuNuSelector::beginJob() { - nall = 0; - ntrig = 0; - npresel = 0; - ncharge = 0; - nkin = 0; - nid = 0; - nacop = 0; - niso = 0; - nsel = 0; - - if (plotHistograms_) { - edm::Service fs; - h1_["hNWCand_sel"] = - fs->make("NWCand_sel", "Nb. of WCandidates passing pre-selection (ordered by pt)", 10, 0., 10.); - h1_["hPtMu_sel"] = fs->make("ptMu_sel", "Pt mu", 100, 0., 100.); - h1_["hEtaMu_sel"] = fs->make("etaMu_sel", "Eta mu", 50, -2.5, 2.5); - h1_["hd0_sel"] = fs->make("d0_sel", "Impact parameter", 1000, -1., 1.); - h1_["hNHits_sel"] = fs->make("NumberOfValidHits_sel", "Number of Hits in Silicon", 100, 0., 100.); - h1_["hNormChi2_sel"] = fs->make("NormChi2_sel", "Chi2/ndof of global track", 1000, 0., 50.); - h1_["hTracker_sel"] = fs->make("isTrackerMuon_sel", "is Tracker Muon?", 2, 0., 2.); - h1_["hMET_sel"] = fs->make("MET_sel", "Missing Transverse Energy (GeV)", 300, 0., 300.); - h1_["hTMass_sel"] = fs->make("TMass_sel", "Rec. Transverse Mass (GeV)", 300, 0., 300.); - h1_["hAcop_sel"] = fs->make("Acop_sel", "Mu-MET acoplanarity", 50, 0., M_PI); - h1_["hPtSum_sel"] = fs->make("ptSum_sel", "Track Isolation, Sum pT (GeV)", 200, 0., 100.); - h1_["hPtSumN_sel"] = fs->make("ptSumN_sel", "Track Isolation, Sum pT/pT", 1000, 0., 10.); - h1_["hCal_sel"] = fs->make("Cal_sel", "Calorimetric isolation, HCAL+ECAL (GeV)", 200, 0., 100.); - h1_["hIsoTotN_sel"] = fs->make("isoTotN_sel", "(Sum pT + Cal)/pT", 1000, 0., 10.); - h1_["hIsoTot_sel"] = fs->make("isoTot_sel", "(Sum pT + Cal)", 200, 0., 100.); - h2_["hTMass_PtSum_inclusive"] = fs->make( - "TMass_PtSum_inclusive", "Rec. Transverse Mass (GeV) vs Sum pT (GeV)", 200, 0., 100., 300, 0., 300.); - h2_["hTMass_PtSumNorm_inclusive"] = fs->make( - "TMass_PtSumNorm_inclusive", "Rec. Transverse Mass (GeV) vs Sum Pt / Pt", 1000, 0, 10, 300, 0, 300); - h2_["hTMass_TotIsoNorm_inclusive"] = fs->make( - "TMass_TotIsoNorm_inclusive", "Rec. Transverse Mass (GeV) vs (Sum Pt + Cal)/Pt", 10000, 0, 10, 200, 0, 200); - h2_["hMET_PtSum_inclusive"] = fs->make( - "MET_PtSum_inclusive", "Missing Transverse Energy (GeV) vs Sum Pt (GeV)", 200, 0., 100., 300, 0., 300.); - h2_["hMET_PtSumNorm_inclusive"] = fs->make( - "MET_PtSumNorm_inclusive", "Missing Transverse Energy (GeV) vs Sum Pt/Pt", 1000, 0, 10, 300, 0, 300); - h2_["hMET_TotIsoNorm_inclusive"] = fs->make( - "MET_TotIsoNorm_inclusive", "Missing Transverse Energy (GeV) vs (SumPt + Cal)/Pt", 10000, 0, 10, 200, 0, 200); - } -} - -void WMuNuSelector::endJob() { - double all = nall; - double epresel = npresel / all; - double etrig = ntrig / all; - double ekin = nkin / all; - double eid = nid / all; - double eacop = nacop / all; - double eiso = niso / all; - double esel = nsel / all; - - LogVerbatim("") << "\n>>>>>> W SELECTION SUMMARY BEGIN >>>>>>>>>>>>>>>"; - LogVerbatim("") << "Total number of events analyzed: " << nall << " [events]"; - LogVerbatim("") << "Total number of events triggered: " << ntrig << " [events]"; - LogVerbatim("") << "Total number of events pre-selected: " << npresel << " [events]"; - LogVerbatim("") << "Total number of events after kinematic cuts: " << nkin << " [events]"; - LogVerbatim("") << "Total number of events after Muon ID cuts: " << nid << " [events]"; - LogVerbatim("") << "Total number of events after Acop cut: " << nacop << " [events]"; - LogVerbatim("") << "Total number of events after iso cut: " << niso << " [events]"; - LogVerbatim("") << "Total number of events selected: " << nsel << " [events]"; - LogVerbatim("") << "Efficiencies:"; - LogVerbatim("") << "Trigger Efficiency: " - << "(" << setprecision(4) << etrig * 100. << " +/- " << setprecision(2) - << sqrt(etrig * (1 - etrig) / all) * 100. << ")%"; - LogVerbatim("") << "Pre-Selection Efficiency: " - << "(" << setprecision(4) << epresel * 100. << " +/- " << setprecision(2) - << sqrt(epresel * (1 - epresel) / all) * 100. << ")%"; - LogVerbatim("") << "Pt, Eta Selection Efficiency: " - << "(" << setprecision(4) << ekin * 100. << " +/- " << setprecision(2) - << sqrt(ekin * (1 - ekin) / all) * 100. << ")%"; - LogVerbatim("") << "MuonID Efficiency: " - << "(" << setprecision(4) << eid * 100. << " +/- " << setprecision(2) - << sqrt(eid * (1 - eid) / all) * 100. << ")%"; - LogVerbatim("") << "Acop Efficiency: " - << "(" << setprecision(4) << eacop * 100. << " +/- " << setprecision(2) - << sqrt(eacop * (1 - eacop) / all) * 100. << ")%"; - LogVerbatim("") << "Iso Efficiency: " - << "(" << setprecision(4) << eiso * 100. << " +/- " << setprecision(2) - << sqrt(eiso * (1 - eiso) / all) * 100. << ")%"; - LogVerbatim("") << "Selection Efficiency: " - << "(" << setprecision(4) << esel * 100. << " +/- " << setprecision(2) - << sqrt(esel * (1 - esel) / nall) * 100. << ")%"; - - if (fabs(selectByCharge_) == 1) { - esel = nsel / ncharge; - LogVerbatim("") << "\n>>>>>> W+(-) SELECTION >>>>>>>>>>>>>>>"; - LogVerbatim("") << "Total number of W+(-) events pre-selected: " << ncharge << " [events]"; - LogVerbatim("") << "Total number of events selected: " << nsel << " [events]"; - LogVerbatim("") << "Selection Efficiency only W+(-): " - << "(" << setprecision(4) << esel * 100. << " +/- " << setprecision(2) - << sqrt(esel * (1 - esel) / ncharge) * 100. << ")%"; - } - LogVerbatim("") << ">>>>>> W SELECTION SUMMARY END >>>>>>>>>>>>>>>\n"; -} - -bool WMuNuSelector::filter(Event& ev, const EventSetup&) { - nall++; - - // Repeat Pre-Selection Cuts just in case... - // Muon collection - Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - LogError("") << ">>> Muon collection does not exist !!!"; - return false; - } - unsigned int muonCollectionSize = muonCollection->size(); - - // Trigger - Handle triggerResults; - if (!ev.getByToken(trigToken_, triggerResults)) { - LogError("") << ">>> TRIGGER collection does not exist !!!"; - return false; - } - const edm::TriggerNames& triggerNames = ev.triggerNames(*triggerResults); - bool trigger_fired = false; - int itrig1 = triggerNames.triggerIndex(muonTrig_); - if (triggerResults->accept(itrig1)) - trigger_fired = true; - LogTrace("") << ">>> Trigger bit: " << trigger_fired << " (" << muonTrig_ << ")"; - - // Loop to reject/control Z->mumu is done separately - unsigned int nmuonsForZ1 = 0; - unsigned int nmuonsForZ2 = 0; - for (unsigned int i = 0; i < muonCollectionSize; i++) { - const Muon& mu = muonCollection->at(i); - if (!mu.isGlobalMuon()) - continue; - double pt = mu.pt(); - if (pt > ptThrForZ1_) - nmuonsForZ1++; - if (pt > ptThrForZ2_) - nmuonsForZ2++; - } - LogTrace("") << "> Z rejection: muons above " << ptThrForZ1_ << " [GeV]: " << nmuonsForZ1; - LogTrace("") << "> Z rejection: muons above " << ptThrForZ2_ << " [GeV]: " << nmuonsForZ2; - - // Jet collection - Handle > jetCollection; - if (!ev.getByToken(jetToken_, jetCollection)) { - LogError("") << ">>> JET collection does not exist !!!"; - return false; - } - unsigned int jetCollectionSize = jetCollection->size(); - int njets = 0; - for (unsigned int i = 0; i < jetCollectionSize; i++) { - const Jet& jet = jetCollection->at(i); - if (jet.et() > eJetMin_) - njets++; - } - LogTrace("") << ">>> Total number of jets: " << jetCollectionSize; - LogTrace("") << ">>> Number of jets above " << eJetMin_ << " [GeV]: " << njets; - - // Beam spot - Handle beamSpotHandle; - if (!ev.getByToken(beamSpotToken_, beamSpotHandle)) { - LogTrace("") << ">>> No beam spot found !!!"; - return false; - } - - // Get WMuNu candidates from file: - - Handle WMuNuCollection; - if (!ev.getByToken(WMuNuCollectionToken_, WMuNuCollection)) { - LogTrace("") << ">>> WMuNu not found !!!"; - return false; - } - - if (WMuNuCollection->empty()) { - LogTrace("") << "No WMuNu Candidates in the Event!"; - return false; - } - if (WMuNuCollection->size() > 1) { - LogTrace("") << "This event contains more than one W Candidate"; - } - - // W->mu nu selection criteria - - LogTrace("") << "> WMuNu Candidate with: "; - const WMuNuCandidate& WMuNu = WMuNuCollection->at(0); - // WMuNuCandidates are ordered by Pt! - // The Inclusive Selection WMuNu Candidate is the first one - - const reco::Muon& mu = WMuNu.getMuon(); - const reco::MET& met = WMuNu.getNeutrino(); - if (plotHistograms_) { - h1_["hNWCand_sel"]->Fill(WMuNuCollection->size()); - } - - // Preselection cuts: - - if (!trigger_fired) { - LogTrace("") << "Event did not fire the Trigger"; - return false; - } - ntrig++; - - if (nmuonsForZ1 >= 1 && nmuonsForZ2 >= 2) { - LogTrace("") << "Z Candidate!!"; - return false; - } - if (njets > nJetMax_) { - LogTrace("") << "NJets > threshold"; - return false; - } - - npresel++; - - // Select Ws by charge: - - if (selectByCharge_ * WMuNu.charge() == -1) { - ncharge++; - } - - // W->mu nu selection criteria - - if (!mu.isGlobalMuon()) - return false; - - reco::TrackRef gm = mu.globalTrack(); - //reco::TrackRef tk = mu.innerTrack(); - - // Pt,eta cuts - double pt = mu.pt(); - double eta = mu.eta(); - LogTrace("") << "\t... Muon pt, eta: " << pt << " [GeV], " << eta; - if (plotHistograms_) { - h1_["hPtMu_sel"]->Fill(pt); - } - if (pt < ptCut_) - return false; - if (plotHistograms_) { - h1_["hEtaMu_sel"]->Fill(eta); - } - if (fabs(eta) > etaCut_) - return false; - - nkin++; - - // d0, chi2, nhits quality cuts - double dxy = gm->dxy(beamSpotHandle->position()); - double normalizedChi2 = gm->normalizedChi2(); - LogTrace("") << "Im here" << endl; - double trackerHits = gm->hitPattern().numberOfValidTrackerHits(); - LogTrace("") << "\t... Muon dxy, normalizedChi2, trackerHits, isTrackerMuon?: " << dxy << " [cm], " << normalizedChi2 - << ", " << trackerHits << ", " << mu.isTrackerMuon(); - - if (plotHistograms_) { - h1_["hd0_sel"]->Fill(dxy); - } - if (!muon::isGoodMuon(mu, muon::GlobalMuonPromptTight)) - return false; - if (plotHistograms_) { - h1_["hNormChi2_sel"]->Fill(normalizedChi2); - } - if (normalizedChi2 > normalizedChi2Cut_) - return false; - if (plotHistograms_) { - h1_["hNHits_sel"]->Fill(trackerHits); - } - if (trackerHits < trackerHitsCut_) - return false; - if (plotHistograms_) { - h1_["hTracker_sel"]->Fill(mu.isTrackerMuon()); - } - if (!mu.isTrackerMuon()) - return false; - - nid++; - - // Acoplanarity cuts - double acop = WMuNu.acop(); - LogTrace("") << "\t... acoplanarity: " << acop; - - // Isolation cuts - double SumPt = mu.isolationR03().sumPt; - double isovar = SumPt; - double Cal = mu.isolationR03().emEt + mu.isolationR03().hadEt; - if (isCombinedIso_) - isovar += Cal; - if (plotHistograms_) { - h1_["hPtSum_sel"]->Fill(SumPt); - h1_["hPtSumN_sel"]->Fill(SumPt / pt); - h1_["hCal_sel"]->Fill(Cal); - h1_["hIsoTot_sel"]->Fill((SumPt + Cal)); - h1_["hIsoTotN_sel"]->Fill((SumPt + Cal) / pt); - } - - if (isRelativeIso_) - isovar /= pt; - bool iso = (isovar <= isoCut03_); - LogTrace("") << "\t... isolation value" << isovar << ", isolated? " << iso; - - double met_et = met.pt(); - LogTrace("") << "\t... Met pt: " << WMuNu.getNeutrino().pt() << "[GeV]"; - - double massT = WMuNu.massT(); - double w_et = WMuNu.eT(); - - LogTrace("") << "\t... W mass, W_et, W_px, W_py: " << massT << ", " << w_et << ", " << WMuNu.px() << ", " - << WMuNu.py() << " [GeV]"; - - // Plot 2D Histograms before final cuts - if (plotHistograms_ && acop < acopCut_) { - h2_["hTMass_PtSum_inclusive"]->Fill(SumPt, massT); - h2_["hTMass_PtSumNorm_inclusive"]->Fill(SumPt / pt, massT); - h2_["hTMass_TotIsoNorm_inclusive"]->Fill((SumPt + Cal) / pt, massT); - h2_["hMET_PtSum_inclusive"]->Fill(SumPt, met_et); - h2_["hMET_PtSumNorm_inclusive"]->Fill(SumPt / pt, met_et); - h2_["hMET_TotIsoNorm_inclusive"]->Fill((SumPt + Cal) / pt, met_et); - } - - if (!iso) - return false; - - niso++; - - if (plotHistograms_) { - h1_["hAcop_sel"]->Fill(acop); - } - if (acop >= acopCut_) - return false; - - nacop++; - - if (plotHistograms_) { - h1_["hMET_sel"]->Fill(met_et); - h1_["hTMass_sel"]->Fill(massT); - } - - if (massT <= mtMin_ || massT >= mtMax_) - return false; - if (met_et <= metMin_ || met_et >= metMax_) - return false; - - LogTrace("") << ">>>> Event ACCEPTED"; - nsel++; - - // (To be continued ;-) ) - - return true; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(WMuNuSelector); diff --git a/ElectroWeakAnalysis/WMuNu/src/WMuNuValidator.cc b/ElectroWeakAnalysis/WMuNu/src/WMuNuValidator.cc deleted file mode 100644 index b523e13bdabb1..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/src/WMuNuValidator.cc +++ /dev/null @@ -1,695 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// WMuNuValidator // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// // -// Basic plots before & after cuts (without Candidate formalism) // -// Intended for a prompt validation of samples. // -// // -// Use in combination with WMuNuValidatorMacro (in bin/WMuNuValidatorMacro.cpp) // -// // -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/METReco/interface/MET.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "TH1D.h" -#include - -class WMuNuValidator : public edm::EDFilter { -public: - WMuNuValidator(const edm::ParameterSet&); - bool filter(edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - void init_histograms(); - void fill_histogram(const char*, const double&); - -private: - bool fastOption_; - edm::EDGetTokenT trigToken_; - edm::EDGetTokenT > muonToken_; - edm::InputTag metTag_; - edm::EDGetTokenT > metToken_; - bool metIncludesMuons_; - edm::InputTag jetTag_; - edm::EDGetTokenT > jetToken_; - edm::EDGetTokenT beamSpotToken_; - const std::string muonTrig_; - double ptCut_; - double etaCut_; - bool isRelativeIso_; - bool isCombinedIso_; - double isoCut03_; - double mtMin_; - double mtMax_; - double metMin_; - double metMax_; - double acopCut_; - - double dxyCut_; - double normalizedChi2Cut_; - int trackerHitsCut_; - bool isAlsoTrackerMuon_; - - double ptThrForZ1_; - double ptThrForZ2_; - - double eJetMin_; - int nJetMax_; - - unsigned int nall; - unsigned int nrec; - unsigned int niso; - unsigned int nhlt; - unsigned int nmet; - unsigned int nsel; - - std::map h1_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/Handle.h" - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -#include "DataFormats/MuonReco/interface/MuonSelectors.h" - -#include "DataFormats/GeometryVector/interface/Phi.h" - -#include "FWCore/Common/interface/TriggerNames.h" - -using namespace edm; -using namespace std; -using namespace reco; - -WMuNuValidator::WMuNuValidator(const ParameterSet& cfg) - : // Fast selection (no histograms or book-keeping) - fastOption_(cfg.getUntrackedParameter("FastOption", false)), - - // Input collections - trigToken_(consumes( - cfg.getUntrackedParameter("TrigTag", edm::InputTag("TriggerResults::HLT")))), - muonToken_(consumes >(cfg.getUntrackedParameter("MuonTag", edm::InputTag("muons")))), - metTag_(cfg.getUntrackedParameter("METTag", edm::InputTag("met"))), - metToken_(consumes >(metTag_)), - metIncludesMuons_(cfg.getUntrackedParameter("METIncludesMuons", false)), - jetTag_(cfg.getUntrackedParameter("JetTag", edm::InputTag("sisCone5CaloJets"))), - jetToken_(consumes >(jetTag_)), - beamSpotToken_(consumes(edm::InputTag("offlineBeamSpot"))), - - // Main cuts - muonTrig_(cfg.getUntrackedParameter("MuonTrig", "HLT_Mu9")), - ptCut_(cfg.getUntrackedParameter("PtCut", 25.)), - etaCut_(cfg.getUntrackedParameter("EtaCut", 2.1)), - isRelativeIso_(cfg.getUntrackedParameter("IsRelativeIso", true)), - isCombinedIso_(cfg.getUntrackedParameter("IsCombinedIso", false)), - isoCut03_(cfg.getUntrackedParameter("IsoCut03", 0.1)), - mtMin_(cfg.getUntrackedParameter("MtMin", 50.)), - mtMax_(cfg.getUntrackedParameter("MtMax", 200.)), - metMin_(cfg.getUntrackedParameter("MetMin", -999999.)), - metMax_(cfg.getUntrackedParameter("MetMax", 999999.)), - acopCut_(cfg.getUntrackedParameter("AcopCut", 2.)), - - // Muon quality cuts - dxyCut_(cfg.getUntrackedParameter("DxyCut", 0.2)), - normalizedChi2Cut_(cfg.getUntrackedParameter("NormalizedChi2Cut", 10.)), - trackerHitsCut_(cfg.getUntrackedParameter("TrackerHitsCut", 11)), - isAlsoTrackerMuon_(cfg.getUntrackedParameter("IsAlsoTrackerMuon", true)), - - // Z rejection - ptThrForZ1_(cfg.getUntrackedParameter("PtThrForZ1", 20.)), - ptThrForZ2_(cfg.getUntrackedParameter("PtThrForZ2", 10.)), - - // Top rejection - eJetMin_(cfg.getUntrackedParameter("EJetMin", 999999.)), - nJetMax_(cfg.getUntrackedParameter("NJetMax", 999999)) {} - -void WMuNuValidator::beginJob() { - nall = 0; - nsel = 0; - - if (!fastOption_) { - nrec = 0; - niso = 0; - nhlt = 0; - nmet = 0; - init_histograms(); - } -} - -void WMuNuValidator::init_histograms() { - edm::Service fs; - TFileDirectory subDir0 = fs->mkdir("BeforeCuts"); - TFileDirectory subDir1 = fs->mkdir("LastCut"); - TFileDirectory* subDir[2]; - subDir[0] = &subDir0; - subDir[1] = &subDir1; - - char chname[256] = ""; - char chtitle[256] = ""; - std::string chsuffix[2] = {"_BEFORECUTS", "_LASTCUT"}; - - for (int i = 0; i < 2; ++i) { - snprintf(chname, 255, "PT%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Muon transverse momentum [GeV]"); - h1_[chname] = subDir[i]->make(chname, chtitle, 100, 0., 100.); - - snprintf(chname, 255, "ETA%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Muon pseudo-rapidity"); - h1_[chname] = subDir[i]->make(chname, chtitle, 50, -2.5, 2.5); - - snprintf(chname, 255, "DXY%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Muon transverse distance to beam spot [cm]"); - h1_[chname] = subDir[i]->make(chname, chtitle, 100, -0.5, 0.5); - - snprintf(chname, 255, "CHI2%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Normalized Chi2, inner track fit"); - h1_[chname] = subDir[i]->make(chname, chtitle, 100, 0., 100.); - - snprintf(chname, 255, "NHITS%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Number of hits, inner track"); - h1_[chname] = subDir[i]->make(chname, chtitle, 40, -0.5, 39.5); - - snprintf(chname, 255, "ValidMuonHits%s", chsuffix[i].data()); - snprintf(chtitle, 255, "number Of Valid Muon Hits"); - h1_[chname] = subDir[i]->make(chname, chtitle, 40, -0.5, 39.5); - - snprintf(chname, 255, "TKMU%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Tracker-muon flag (for global muons)"); - h1_[chname] = subDir[i]->make(chname, chtitle, 2, -0.5, 1.5); - - snprintf(chname, 255, "ISO%s", chsuffix[i].data()); - if (isRelativeIso_) { - if (isCombinedIso_) { - snprintf(chtitle, 255, "Relative (combined) isolation variable"); - } else { - snprintf(chtitle, 255, "Relative (tracker) isolation variable"); - } - h1_[chname] = subDir[i]->make(chname, chtitle, 100, 0., 1.); - } else { - if (isCombinedIso_) { - snprintf(chtitle, 255, "Absolute (combined) isolation variable [GeV]"); - } else { - snprintf(chtitle, 255, "Absolute (tracker) isolation variable [GeV]"); - } - h1_[chname] = subDir[i]->make(chname, chtitle, 100, 0., 20.); - } - - snprintf(chname, 255, "TRIG%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Trigger response (bit %s)", muonTrig_.data()); - h1_[chname] = subDir[i]->make(chname, chtitle, 2, -0.5, 1.5); - - snprintf(chname, 255, "MT%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Transverse mass (%s) [GeV]", metTag_.label().data()); - h1_[chname] = subDir[i]->make(chname, chtitle, 150, 0., 300.); - - snprintf(chname, 255, "MET%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Missing transverse energy (%s) [GeV]", metTag_.label().data()); - h1_[chname] = subDir[i]->make(chname, chtitle, 100, 0., 200.); - - snprintf(chname, 255, "ACOP%s", chsuffix[i].data()); - snprintf(chtitle, 255, "MU-MET (%s) acoplanarity", metTag_.label().data()); - h1_[chname] = subDir[i]->make(chname, chtitle, 50, 0., M_PI); - - snprintf(chname, 255, "NZ1%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ1_); - h1_[chname] = subDir[i]->make(chname, chtitle, 10, -0.5, 9.5); - - snprintf(chname, 255, "NZ2%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ2_); - h1_[chname] = subDir[i]->make(chname, chtitle, 10, -0.5, 9.5); - - snprintf(chname, 255, "NJETS%s", chsuffix[i].data()); - snprintf(chtitle, 255, "Number of jets (%s) above %.2f GeV", jetTag_.label().data(), eJetMin_); - h1_[chname] = subDir[i]->make(chname, chtitle, 10, -0.5, 9.5); - } -} - -void WMuNuValidator::fill_histogram(const char* name, const double& var) { - if (fastOption_) - return; - h1_[name]->Fill(var); -} - -void WMuNuValidator::endJob() { - double all = nall; - double esel = nsel / all; - LogVerbatim("") << "\n>>>>>> W SELECTION SUMMARY BEGIN >>>>>>>>>>>>>>>"; - LogVerbatim("") << "Total numer of events analyzed: " << nall << " [events]"; - LogVerbatim("") << "Total numer of events selected: " << nsel << " [events]"; - LogVerbatim("") << "Overall efficiency: " - << "(" << setprecision(4) << esel * 100. << " +/- " << setprecision(2) - << sqrt(esel * (1 - esel) / all) * 100. << ")%"; - - if (!fastOption_) { - double erec = nrec / all; - double eiso = niso / all; - double ehlt = nhlt / all; - double emet = nmet / all; - - double num = nrec; - double eff = erec; - double err = sqrt(eff * (1 - eff) / all); - LogVerbatim("") << "Passing Pt/Eta/Quality cuts: " << num << " [events], (" << setprecision(4) << eff * 100. - << " +/- " << setprecision(2) << err * 100. << ")%"; - - num = niso; - eff = eiso; - err = sqrt(eff * (1 - eff) / all); - double effstep = 0.; - double errstep = 0.; - if (nrec > 0) - effstep = eiso / erec; - if (nrec > 0) - errstep = sqrt(effstep * (1 - effstep) / nrec); - LogVerbatim("") << "Passing isolation cuts: " << num << " [events], (" << setprecision(4) << eff * 100. - << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4) - << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%"; - - num = nhlt; - eff = ehlt; - err = sqrt(eff * (1 - eff) / all); - effstep = 0.; - errstep = 0.; - if (niso > 0) - effstep = ehlt / eiso; - if (niso > 0) - errstep = sqrt(effstep * (1 - effstep) / niso); - LogVerbatim("") << "Passing HLT criteria: " << num << " [events], (" << setprecision(4) << eff * 100. - << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4) - << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%"; - - num = nmet; - eff = emet; - err = sqrt(eff * (1 - eff) / all); - effstep = 0.; - errstep = 0.; - if (nhlt > 0) - effstep = emet / ehlt; - if (nhlt > 0) - errstep = sqrt(effstep * (1 - effstep) / nhlt); - LogVerbatim("") << "Passing MET/acoplanarity cuts: " << num << " [events], (" << setprecision(4) << eff * 100. - << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4) - << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%"; - - num = nsel; - eff = esel; - err = sqrt(eff * (1 - eff) / all); - effstep = 0.; - errstep = 0.; - if (nmet > 0) - effstep = esel / emet; - if (nmet > 0) - errstep = sqrt(effstep * (1 - effstep) / nmet); - LogVerbatim("") << "Passing Z/top rejection cuts: " << num << " [events], (" << setprecision(4) << eff * 100. - << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4) - << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%"; - } - - LogVerbatim("") << ">>>>>> W SELECTION SUMMARY END >>>>>>>>>>>>>>>\n"; -} - -bool WMuNuValidator::filter(Event& ev, const EventSetup&) { - // Reset global event selection flags - bool rec_sel = false; - bool iso_sel = false; - bool hlt_sel = false; - bool met_sel = false; - bool all_sel = false; - - // Muon collection - Handle > muonCollection; - if (!ev.getByToken(muonToken_, muonCollection)) { - LogError("") << ">>> Muon collection does not exist !!!"; - return false; - } - unsigned int muonCollectionSize = muonCollection->size(); - - // Beam spot - Handle beamSpotHandle; - if (!ev.getByToken(beamSpotToken_, beamSpotHandle)) { - LogTrace("") << ">>> No beam spot found !!!"; - return false; - } - - // MET - double met_px = 0.; - double met_py = 0.; - Handle > metCollection; - if (!ev.getByToken(metToken_, metCollection)) { - LogError("") << ">>> MET collection does not exist !!!"; - return false; - } - const MET& met = metCollection->at(0); - met_px = met.px(); - met_py = met.py(); - if (!metIncludesMuons_) { - for (unsigned int i = 0; i < muonCollectionSize; i++) { - const Muon& mu = muonCollection->at(i); - if (!mu.isGlobalMuon()) - continue; - met_px -= mu.px(); - met_py -= mu.py(); - } - } - double met_et = sqrt(met_px * met_px + met_py * met_py); - LogTrace("") << ">>> MET, MET_px, MET_py: " << met_et << ", " << met_px << ", " << met_py << " [GeV]"; - fill_histogram("MET_BEFORECUTS", met_et); - - // Trigger - Handle triggerResults; - if (!ev.getByToken(trigToken_, triggerResults)) { - LogError("") << ">>> TRIGGER collection does not exist !!!"; - return false; - } - const edm::TriggerNames& triggerNames = ev.triggerNames(*triggerResults); - /* - for (unsigned int i=0; isize(); i++) { - if (triggerResults->accept(i)) { - LogTrace("") << "Accept by: " << i << ", Trigger: " << triggerNames.triggerName(i); - } - } - */ - bool trigger_fired = false; - int itrig1 = triggerNames.triggerIndex(muonTrig_); - if (triggerResults->accept(itrig1)) - trigger_fired = true; - LogTrace("") << ">>> Trigger bit: " << trigger_fired << " (" << muonTrig_ << ")"; - fill_histogram("TRIG_BEFORECUTS", trigger_fired); - - // Loop to reject/control Z->mumu is done separately - unsigned int nmuonsForZ1 = 0; - unsigned int nmuonsForZ2 = 0; - for (unsigned int i = 0; i < muonCollectionSize; i++) { - const Muon& mu = muonCollection->at(i); - if (!mu.isGlobalMuon()) - continue; - double pt = mu.pt(); - if (pt > ptThrForZ1_) - nmuonsForZ1++; - if (pt > ptThrForZ2_) - nmuonsForZ2++; - } - LogTrace("") << "> Z rejection: muons above " << ptThrForZ1_ << " [GeV]: " << nmuonsForZ1; - LogTrace("") << "> Z rejection: muons above " << ptThrForZ2_ << " [GeV]: " << nmuonsForZ2; - fill_histogram("NZ1_BEFORECUTS", nmuonsForZ1); - fill_histogram("NZ2_BEFORECUTS", nmuonsForZ2); - - // Jet collection - Handle > jetCollection; - if (!ev.getByToken(jetToken_, jetCollection)) { - LogError("") << ">>> JET collection does not exist !!!"; - return false; - } - unsigned int jetCollectionSize = jetCollection->size(); - int njets = 0; - for (unsigned int i = 0; i < jetCollectionSize; i++) { - const Jet& jet = jetCollection->at(i); - if (jet.et() > eJetMin_) - njets++; - } - LogTrace("") << ">>> Total number of jets: " << jetCollectionSize; - LogTrace("") << ">>> Number of jets above " << eJetMin_ << " [GeV]: " << njets; - fill_histogram("NJETS_BEFORECUTS", njets); - - // Start counting, reject already events if possible (under FastOption flag) - nall++; - if (fastOption_ && !trigger_fired) - return false; - if (fastOption_ && nmuonsForZ1 >= 1 && nmuonsForZ2 >= 2) - return false; - if (fastOption_ && njets > nJetMax_) - return false; - - // Histograms per event shouldbe done only once, so keep track of them - bool hlt_hist_done = false; - bool met_hist_done = false; - bool nz1_hist_done = false; - bool nz2_hist_done = false; - bool njets_hist_done = false; - - // Central W->mu nu selection criteria - const int NFLAGS = 13; - bool muon_sel[NFLAGS]; - for (unsigned int i = 0; i < muonCollectionSize; i++) { - for (int j = 0; j < NFLAGS; ++j) { - muon_sel[j] = false; - } - - const Muon& mu = muonCollection->at(i); - if (!mu.isGlobalMuon()) - continue; - if (mu.globalTrack().isNull()) - continue; - if (mu.innerTrack().isNull()) - continue; - - LogTrace("") << "> Wsel: processing muon number " << i << "..."; - reco::TrackRef gm = mu.globalTrack(); - //reco::TrackRef tk = mu.innerTrack(); - - // Pt,eta cuts - double pt = mu.pt(); - double eta = mu.eta(); - LogTrace("") << "\t... pt, eta: " << pt << " [GeV], " << eta; - ; - if (pt > ptCut_) - muon_sel[0] = true; - else if (fastOption_) - continue; - if (fabs(eta) < etaCut_) - muon_sel[1] = true; - else if (fastOption_) - continue; - - // d0, chi2, nhits quality cuts - double dxy = gm->dxy(beamSpotHandle->position()); - double normalizedChi2 = gm->normalizedChi2(); - double validmuonhits = gm->hitPattern().numberOfValidMuonHits(); - //double standalonehits=mu.outerTrack()->numberOfValidHits(); - double trackerHits = gm->hitPattern().numberOfValidTrackerHits(); - LogTrace("") << "\t... dxy, normalizedChi2, trackerHits, isTrackerMuon?: " << dxy << " [cm], " << normalizedChi2 - << ", " << trackerHits << ", " << mu.isTrackerMuon(); - if (fabs(dxy) < dxyCut_) - muon_sel[2] = true; - else if (fastOption_) - continue; - if (muon::isGoodMuon(mu, muon::GlobalMuonPromptTight)) - muon_sel[3] = true; - else if (fastOption_) - continue; - if (trackerHits >= trackerHitsCut_) - muon_sel[4] = true; - else if (fastOption_) - continue; - if (mu.isTrackerMuon()) - muon_sel[5] = true; - else if (fastOption_) - continue; - - fill_histogram("PT_BEFORECUTS", pt); - fill_histogram("ETA_BEFORECUTS", eta); - fill_histogram("DXY_BEFORECUTS", dxy); - fill_histogram("CHI2_BEFORECUTS", normalizedChi2); - fill_histogram("NHITS_BEFORECUTS", trackerHits); - fill_histogram("ValidMuonHits_BEFORECUTS", validmuonhits); - fill_histogram("TKMU_BEFORECUTS", mu.isTrackerMuon()); - - // Isolation cuts - double isovar = mu.isolationR03().sumPt; - if (isCombinedIso_) { - isovar += mu.isolationR03().emEt; - isovar += mu.isolationR03().hadEt; - } - if (isRelativeIso_) - isovar /= pt; - if (isovar < isoCut03_) - muon_sel[6] = true; - else if (fastOption_) - continue; - LogTrace("") << "\t... isolation value" << isovar << ", isolated? " << muon_sel[6]; - fill_histogram("ISO_BEFORECUTS", isovar); - - // HLT (not mtched to muon for the time being) - if (trigger_fired) - muon_sel[7] = true; - else if (fastOption_) - continue; - - // MET/MT cuts - double w_et = met_et + mu.pt(); - double w_px = met_px + mu.px(); - double w_py = met_py + mu.py(); - double massT = w_et * w_et - w_px * w_px - w_py * w_py; - massT = (massT > 0) ? sqrt(massT) : 0; - - LogTrace("") << "\t... W mass, W_et, W_px, W_py: " << massT << ", " << w_et << ", " << w_px << ", " << w_py - << " [GeV]"; - if (massT > mtMin_ && massT < mtMax_) - muon_sel[8] = true; - else if (fastOption_) - continue; - fill_histogram("MT_BEFORECUTS", massT); - if (met_et > metMin_ && met_et < metMax_) - muon_sel[9] = true; - else if (fastOption_) - continue; - - // Acoplanarity cuts - Geom::Phi deltaphi(mu.phi() - atan2(met_py, met_px)); - double acop = deltaphi.value(); - if (acop < 0) - acop = -acop; - acop = M_PI - acop; - LogTrace("") << "\t... acoplanarity: " << acop; - if (acop < acopCut_) - muon_sel[10] = true; - else if (fastOption_) - continue; - fill_histogram("ACOP_BEFORECUTS", acop); - - // Remaining flags (from global event information) - if (nmuonsForZ1 < 1 || nmuonsForZ2 < 2) - muon_sel[11] = true; - else if (fastOption_) - continue; - if (njets <= nJetMax_) - muon_sel[12] = true; - else if (fastOption_) - continue; - - if (fastOption_) { - all_sel = true; - break; - } else { - // Collect necessary flags "per muon" - int flags_passed = 0; - bool rec_sel_this = true; - bool iso_sel_this = true; - bool hlt_sel_this = true; - bool met_sel_this = true; - bool all_sel_this = true; - for (int j = 0; j < NFLAGS; ++j) { - if (muon_sel[j]) - flags_passed += 1; - if (j < 6 && !muon_sel[j]) - rec_sel_this = false; - if (j < 7 && !muon_sel[j]) - iso_sel_this = false; - if (j < 8 && !muon_sel[j]) - hlt_sel_this = false; - if (j < 11 && !muon_sel[j]) - met_sel_this = false; - if (!muon_sel[j]) - all_sel_this = false; - } - - // "rec" => pt,eta and quality cuts are satisfied - if (rec_sel_this) - rec_sel = true; - // "iso" => "rec" AND "muon is isolated" - if (iso_sel_this) - iso_sel = true; - // "hlt" => "iso" AND "event is triggered" - if (hlt_sel_this) - hlt_sel = true; - // "met" => "hlt" AND "MET/MT and acoplanarity cuts" - if (met_sel_this) - met_sel = true; - // "all" => "met" AND "Z/top rejection cuts" - if (all_sel_this) - all_sel = true; - - // Do N-1 histograms now (and only once for global event quantities) - if (flags_passed >= (NFLAGS - 1)) { - if (!muon_sel[0] || flags_passed == NFLAGS) - fill_histogram("PT_LASTCUT", pt); - if (!muon_sel[1] || flags_passed == NFLAGS) - fill_histogram("ETA_LASTCUT", eta); - if (!muon_sel[2] || flags_passed == NFLAGS) - fill_histogram("DXY_LASTCUT", dxy); - if (!muon_sel[3] || flags_passed == NFLAGS) { - fill_histogram("CHI2_LASTCUT", normalizedChi2); - fill_histogram("ValidMuonHits_LASTCUT", validmuonhits); - } - if (!muon_sel[4] || flags_passed == NFLAGS) - fill_histogram("NHITS_LASTCUT", trackerHits); - if (!muon_sel[5] || flags_passed == NFLAGS) - fill_histogram("TKMU_LASTCUT", mu.isTrackerMuon()); - if (!muon_sel[6] || flags_passed == NFLAGS) - fill_histogram("ISO_LASTCUT", isovar); - if (!muon_sel[7] || flags_passed == NFLAGS) { - if (!hlt_hist_done) { - fill_histogram("TRIG_LASTCUT", trigger_fired); - hlt_hist_done = true; - } - } - if (!muon_sel[8] || flags_passed == NFLAGS) - fill_histogram("MT_LASTCUT", massT); - if (!muon_sel[9] || flags_passed == NFLAGS) { - if (!met_hist_done) { - fill_histogram("MET_LASTCUT", met_et); - met_hist_done = true; - } - } - if (!muon_sel[10] || flags_passed == NFLAGS) - fill_histogram("ACOP_LASTCUT", acop); - if (!muon_sel[11] || flags_passed == NFLAGS) { - if (!nz1_hist_done) { - fill_histogram("NZ1_LASTCUT", nmuonsForZ1); - nz1_hist_done = true; - } - } - if (!muon_sel[11] || flags_passed == NFLAGS) { - if (!nz2_hist_done) { - fill_histogram("NZ2_LASTCUT", nmuonsForZ2); - nz2_hist_done = true; - } - } - if (!muon_sel[12] || flags_passed == NFLAGS) { - if (!njets_hist_done) { - fill_histogram("NJETS_LASTCUT", njets); - njets_hist_done = true; - } - } - } - } - } - - // Collect final flags - if (!fastOption_) { - if (rec_sel) - nrec++; - if (iso_sel) - niso++; - if (hlt_sel) - nhlt++; - if (met_sel) - nmet++; - } - - if (all_sel) { - nsel++; - LogTrace("") << ">>>> Event ACCEPTED"; - } else { - LogTrace("") << ">>>> Event REJECTED"; - } - - return all_sel; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(WMuNuValidator); diff --git a/ElectroWeakAnalysis/WMuNu/test/PAT_create.py b/ElectroWeakAnalysis/WMuNu/test/PAT_create.py deleted file mode 100755 index b4999da5a93dd..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/PAT_create.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("ewkPAT") -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - #fileNames = cms.untracked.vstring("file:/data4/RelValWM_CMSSW_3_1_0-STARTUP31X_V1-v1_GEN-SIM-RECO/40BFAA1A-5466-DE11-B792-001D09F29533.root") - fileNames = cms.untracked.vstring("file:/data4/Wmunu-Summer09-MC_31X_V2_preproduction_311-v1/0011/F4C91F77-766D-DE11-981F-00163E1124E7.root") -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(10) ), - threshold = cms.untracked.string('INFO') - ), - destinations = cms.untracked.vstring('cout') -) -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - - -# Geometry, conditions, magnetic field -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('MC_31X_V2::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -# PAT sequences -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.content = cms.EDAnalyzer("EventContentAnalyzer") -process.pat = cms.Path( process.patDefaultSequence ) - -# Output: no cleaning, extra AOD collections (generator info, trigger) -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('PAT_test.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('pat') ), - outputCommands = cms.untracked.vstring('drop *') -) -from PhysicsTools.PatAlgos.patEventContent_cff import patEventContentNoLayer1Cleaning -from PhysicsTools.PatAlgos.patEventContent_cff import patExtraAodEventContent -process.out.outputCommands.extend(patEventContentNoLayer1Cleaning) -process.out.outputCommands.extend(patExtraAodEventContent) - -# End -process.outpath = cms.EndPath(process.out) diff --git a/ElectroWeakAnalysis/WMuNu/test/WMuNuAODSelector.py b/ElectroWeakAnalysis/WMuNu/test/WMuNuAODSelector.py deleted file mode 100644 index 82145acb893f9..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/WMuNuAODSelector.py +++ /dev/null @@ -1,88 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("wmnsel") -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - #fileNames = cms.untracked.vstring("file:/data4/RelValWM_CMSSW_3_1_0-STARTUP31X_V1-v1_GEN-SIM-RECO/40BFAA1A-5466-DE11-B792-001D09F29533.root") - #fileNames = cms.untracked.vstring("file:/data4/Wmunu-Summer09-MC_31X_V2_preproduction_311-v1/0011/F4C91F77-766D-DE11-981F-00163E1124E7.root") - fileNames = cms.untracked.vstring("file:AOD_with_WCandidates.root") - -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(10) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('INFO') - ), - debugModules = cms.untracked.vstring('wmnSelFilter') -) - -# Selector and parameters -process.wmnSelFilter = cms.EDFilter("WMuNuValidator", - # Fast selection flag (no histograms or book-keeping) -> - FastOption = cms.untracked.bool(True), - - # Input collections -> - TrigTag = cms.untracked.InputTag("TriggerResults::HLT"), - MuonTag = cms.untracked.InputTag("muons"), - METTag = cms.untracked.InputTag("met"), - METIncludesMuons = cms.untracked.bool(False), - JetTag = cms.untracked.InputTag("sisCone5CaloJets"), - - # Main cuts -> - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # To suppress Zmm -> - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - - # To further suppress ttbar -> - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999) -) - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.AODSIMEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('wmnsel') - ), - fileName = cms.untracked.string('wmnsel.root') -) - -# Output histograms -#process.TFileService = cms.Service("TFileService", fileName = cms.string('WMuNu_histograms.root') ) - -# Steering the process -process.wmnsel = cms.Path(process.wmnSelFilter) -#process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/WMuNu/test/WMuNuAODValidator.py b/ElectroWeakAnalysis/WMuNu/test/WMuNuAODValidator.py deleted file mode 100644 index b57ec3b137786..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/WMuNuAODValidator.py +++ /dev/null @@ -1,88 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("wmnsel") -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(200) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - #fileNames = cms.untracked.vstring("file:/data4/RelValWM_CMSSW_3_1_0-STARTUP31X_V1-v1_GEN-SIM-RECO/40BFAA1A-5466-DE11-B792-001D09F29533.root") - #fileNames = cms.untracked.vstring("file:/data4/Wmunu-Summer09-MC_31X_V2_preproduction_311-v1/0011/F4C91F77-766D-DE11-981F-00163E1124E7.root") - fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") - -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(10) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('INFO') - ), - debugModules = cms.untracked.vstring('wmnSelFilter') -) - -# Selector and parameters -process.wmnSelFilter = cms.EDFilter("WMuNuValidator", - # Fast selection flag (no histograms or book-keeping) -> - FastOption = cms.untracked.bool(False), - - # Input collections -> - TrigTag = cms.untracked.InputTag("TriggerResults::HLT"), - MuonTag = cms.untracked.InputTag("muons"), - METTag = cms.untracked.InputTag("met"), - METIncludesMuons = cms.untracked.bool(False), - JetTag = cms.untracked.InputTag("sisCone5CaloJets"), - - # Main cuts -> - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # To suppress Zmm -> - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - - # To further suppress ttbar -> - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999) -) - -# Output -#process.load("Configuration.EventContent.EventContent_cff") -#process.wmnOutput = cms.OutputModule("PoolOutputModule", -# process.AODSIMEventContent, -# SelectEvents = cms.untracked.PSet( -# SelectEvents = cms.vstring('wmnsel') -# ), -# fileName = cms.untracked.string('root_files/wmnsel.root') -#) - -# Output histograms -process.TFileService = cms.Service("TFileService", fileName = cms.string('WMuNu_histograms.root') ) - -# Steering the process -process.wmnsel = cms.Path(process.wmnSelFilter) -#process.end = cms.EndPath(process.wmnOutput) diff --git a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateHistogrammer.py b/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateHistogrammer.py deleted file mode 100644 index d16568ace50af..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateHistogrammer.py +++ /dev/null @@ -1,178 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("wmunuplots") -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - - # fileNames = cms.untracked.vstring( - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_1.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_2.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_3.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_4.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_5.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_6.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_7.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_8.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_9.root', - # '/store/user/cepeda/mytestSkim_PTR_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_10.root' - #) - - fileNames = cms.untracked.vstring( - "file:EWK_WMuNu_SubSkim_31Xv3.root" - # "file:AOD_with_WCandidates.root" - ) -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(-1) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('DEBUG') - ), - debugModules = cms.untracked.vstring( - 'corMetWMuNus', - 'selcorMet' - ) -) - -process.selcorMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(True), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("corMetWMuNus"), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Main cuts -> - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) -process.selpfMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(True), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("pfMetWMuNus"), - - # Main cuts -> - UseTrackerPt = cms.untracked.bool(True), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) -process.seltcMet = cms.EDFilter("WMuNuSelector", - # Fill Basc Histograms? -> - plotHistograms = cms.untracked.bool(True), - - # Input collections -> - MuonTag = cms.untracked.InputTag("muons"), - TrigTag = cms.untracked.InputTag("TriggerResults::HLT8E29"), - JetTag = cms.untracked.InputTag("antikt5CaloJets"), - WMuNuCollectionTag = cms.untracked.InputTag("tcMetWMuNus"), - - # Preselection! - MuonTrig = cms.untracked.string("HLT_Mu9"), - PtThrForZ1 = cms.untracked.double(20.0), - PtThrForZ2 = cms.untracked.double(10.0), - EJetMin = cms.untracked.double(40.), - NJetMax = cms.untracked.int32(999999), - - # Main cuts -> - UseTrackerPt = cms.untracked.bool(True), - PtCut = cms.untracked.double(25.0), - EtaCut = cms.untracked.double(2.1), - IsRelativeIso = cms.untracked.bool(True), - IsCombinedIso = cms.untracked.bool(False), - IsoCut03 = cms.untracked.double(0.1), - MtMin = cms.untracked.double(50.0), - MtMax = cms.untracked.double(200.0), - MetMin = cms.untracked.double(-999999.), - MetMax = cms.untracked.double(999999.), - AcopCut = cms.untracked.double(2.), - - # Muon quality cuts -> - DxyCut = cms.untracked.double(0.2), - NormalizedChi2Cut = cms.untracked.double(10.), - TrackerHitsCut = cms.untracked.int32(11), - IsAlsoTrackerMuon = cms.untracked.bool(True), - - # Select only W-, W+ ( default is all Ws) - SelectByCharge=cms.untracked.int32(0) - -) - -process.TFileService = cms.Service("TFileService", fileName = cms.string('WMuNuBasicPlots.root') ) - - -# Steering the process -process.path1 = cms.Path(process.selcorMet) -process.path2 = cms.Path(process.selpfMet) -process.path3 = cms.Path(process.seltcMet) - - - diff --git a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateProducer.py b/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateProducer.py deleted file mode 100644 index d4a35f2310a97..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateProducer.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("USER") -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(20) -) - -process.load("ElectroWeakAnalysis.WMuNu.wmunusProducer_cfi") - - -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") - -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - cerr = cms.untracked.PSet( - enable = cms.untracked.bool(False) - ), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( - limit = cms.untracked.int32(10) - ), - enable = cms.untracked.bool(True), - threshold = cms.untracked.string('INFO') - ), - debugModules = cms.untracked.vstring('corMetWMuNus') -) - -# Output -process.load("Configuration.EventContent.EventContent_cff") - -process.myEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *' - ) -) - -process.wmnOutput = cms.OutputModule("PoolOutputModule", - process.AODSIMEventContent, - #process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('path') - ), - fileName = cms.untracked.string('AOD_with_WCandidates.root') -) - - -# Steering the process -process.path = cms.Path(process.corMetWMuNus) -#process.path = cms.Path(process.pfMetWMuNus) -#process.path = cms.Path(process.tcMetWMuNus) -#process.path = cms.Path(process.allWMuNus) - -process.end = cms.EndPath(process.wmnOutput) - - - diff --git a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateSelector.py b/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateSelector.py deleted file mode 100644 index 334ccb587254f..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/WMuNuCandidateSelector.py +++ /dev/null @@ -1,55 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("USER") -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(10) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - fileNames = cms.untracked.vstring( - # "file:/data4/InclusiveMu15_Summer09-MC_31X_V3_AODSIM-v1/0024/C2F408ED-E181-DE11-8949-0030483344E2.root") - # "file:/data4/Wmunu_Summer09-MC_31X_V3_AODSIM-v1/0009/F82D4260-507F-DE11-B5D6-00093D128828.root") - '/store/user/cepeda/mytestSkim_Wmunu_10pb/EWK_WMuNu_SubSkim_31Xv3_1.root' - -) - -process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('corMetWMuNus','selcorMet'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(10) ), - threshold = cms.untracked.string('INFO') - #threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -#process.TFileService = cms.Service("TFileService", fileName = cms.string('WMuNu.root') ) - -process.myEventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'keep *' - ) -) - -process.wmnOutput = cms.OutputModule("PoolOutputModule", - #process.AODSIMEventContent, - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('path') - ), - fileName = cms.untracked.string('AOD_with_WCandidates.root') -) - -# This Example uses only "corMetGlobalMuons". Modify to run over pf & tc Met -process.path = cms.Path(process.selectCaloMetWMuNus) - -process.end = cms.EndPath(process.wmnOutput) - - - diff --git a/ElectroWeakAnalysis/WMuNu/test/crabWMuNuValidation.cfg b/ElectroWeakAnalysis/WMuNu/test/crabWMuNuValidation.cfg deleted file mode 100644 index 954124878cb76..0000000000000 --- a/ElectroWeakAnalysis/WMuNu/test/crabWMuNuValidation.cfg +++ /dev/null @@ -1,21 +0,0 @@ -[CMSSW] -pset = WMuNuAODValidator.py -datasetpath = /Wmunu/Summer09-MC_31X_V2_preproduction_311-v1/GEN-SIM-RECO -#datasetpath = /InclusiveMu15/Summer09-MC_31X_V2_preproduction_311-v1/GEN-SIM-RECO -#datasetpath = /Zmumu/Summer09-MC_31X_V2_preproduction_311-v1/GEN-SIM-RECO -#datasetpath = /ppMuX/Summer09-MC_31X_V2_preproduction_311-v1/GEN-SIM-RECO - -events_per_job = 10000 -total_number_of_events = -1 -#total_number_of_events = 200000 - -# Maybe for real data: -#split_by_run = 1 - -[CRAB] -jobtype = cmssw -scheduler = glitecoll - -[USER] -return_data = 1 -copy_data = 0 diff --git a/ElectroWeakAnalysis/ZEE/BuildFile.xml b/ElectroWeakAnalysis/ZEE/BuildFile.xml deleted file mode 100644 index 41daee4783660..0000000000000 --- a/ElectroWeakAnalysis/ZEE/BuildFile.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/ElectroWeakAnalysis/ZEE/README b/ElectroWeakAnalysis/ZEE/README deleted file mode 100644 index 1e264e872b900..0000000000000 --- a/ElectroWeakAnalysis/ZEE/README +++ /dev/null @@ -1,174 +0,0 @@ -NOTES AND INSTRUCTIONS FOR THE CODE -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - -This code creates Wenu or Zee candidates from some configurable trigger stream -and applies some selections. It contains the following files: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -source and header files: ------------------------- -WenuCandidateFilter.cc -ZeeCandidateFilter.cc -WenuPlots.h and WenuPlots.cc -ZeePlots.h and ZeePlots.cc - -cfg files: ----------- -pat_WenuPlots.py aod_WenuPlots.py -pat_ZeePlots.py aod_ZeePlots.py - -macros: -------- -PlotCombiner.cc -inputFiles - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -For details with respect to the definitions of candidates check the -implementation notes in all source files. - -There are 2 ways to run this code: either running the whole PAT sequence -(recommended) or bypassing pat and run with whatever exists precalculated -in the AOD collections. - -Run the code without running the PAT sequence -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Quick instruction: cmsRun aod_WenuPlots.py or cmsRun aod_ZeePlots.py - - -An interface that is provided aod2patFilter.cc creates pat::ElectronCollection -and pat::METCollection from AOD. This uses the default pat constructors. -Isolations are added manually to the the PAT objects in the following way: - myElectron.setTrackIso(elec->dr03TkSumPt()); - myElectron.setECalIso(elec->dr04EcalRecHitSumEt()); - myElectron.setHCalIso(elec->dr04HcalTowerSumEt()); -Please edit this part accordingly, if you prefere different isolation -definitions. No facility to calculate your own isolations is provided. If you -want to do so you have to run the PAT sequence yourself. (see next session) - - -Running the whole PAT sequence yourself -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Quick instruction: cmsRun pat_WenuPlots.py or cmsRun pat_ZeePlots.py - - -The software has been tested and run successfully with the following tags: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Test Release based on: CMSSW_3_1_2 ---- Tag --- -------- Package -------- -V01-08-08 CondFormats/JetMETObjects -V05-06-05 DataFormats/PatCandidates -V01-08-04-01 JetMETCorrections/Algorithms -V01-08-21 JetMETCorrections/Configuration -V02-09-05 JetMETCorrections/Modules -V07-08-22-01 PhysicsTools/PatAlgos -V03-07-06 PhysicsTools/PatUtils -V04-02-02 PhysicsTools/PFCandProducer -V02-10-01 RecoJets/JetAlgorithms -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -However, it can be run just with CMSSW_3_1_2 without any further tags and -should produce the same results. - -Instructions: -^^^^^^^^^^^^^ - (the following hold for both Wenu and Zee plots) - In the cfg file that is provided you have to edit the following lines:.... - * line 17: the source - these are the input files ->>> * line 30: select your Global Tag: - STARTUP31X_V4::All this is good for the low lumi trigger menu - MC_31X_V5::All this is good for the highlumi trigger menu ->>> * line 71: the MET collection of your preference - LINE 72: modify the "metSource" to take whatever met you like - the default that is given is "met","","RECO" that is - uncorrected Calo MET. ->>> * line 96: select your Trigger path. There are 3 parameters that you set: - LINE 96: HLT_process_name : high (HLT) or low (HLT8E29) lumi - menu.............................. - LINE 98 and 100: the path and the filter names. For your...... - convenience all the correct pairs are given.. - at the end of the cfg file................... ->>> * line102: the Filter: select the parameters that you want. ONLY these... - parameters have to be changed:................................ - ETCut double the ET cut in the SC ET of the candidate - METCut double the MET cut in the MET of the event - vetoSecondElectronEvents bool (only Wenu) on/off rejection of - events with a 2nd electron with ET>see nextpara - ETCut2ndEle double the ET cut for the 2nd electron rejection - electronMatched2HLT bool demand the electron to be matched to - an HLT object (in Zee means at least one electron) - electronMatched2HLT_DR double the DR for the HLT matching ->>> * line124: set the selection cuts that you prefere........................ ->>> * line159: set the cuts that you want to invert........................... ->>> * line168: set the name of your selection PSet............................ - - -How to add the histograms and make the final plots -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -(applies to all versions) - -After you have done these changes you can run over the grid over the different -datasets. The histograms are stored in root trees that you can hadd together. -For example if you have run over QCD Em enriched samples with say 10 jobs you -will finally get out 10 files -histos_1.root, histos_2, ...., histos_10.root -that you can combine -hadd histos_qcd.root histos_1.root histos_2.root .... - -Having added the different bkgs together you set up file "inputFiles" -with the following format: -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# zee or wenu -wenu -# file name, type (sig, qcd, bce, gje, ewk), weight -histos_wenu.root sig 1.46 -histos_q20_30.root qcd 0 -histos_q30_80.root qcd 100. -histos_q80_170.root qcd 0 -histos_b20_30.root bce 0 -histos_b30_80.root bce 0 -histos_b80_170.root bce 0 -histos_zee.root ewk 0 -histos_wtaunu.root ewk 0 -histos_ztautau.root ewk 0 -histos_gj15.root gje 0 -histos_gj20.root gje 0 -histos_gj25.root gje 10.12 -histos_gj30.root gje 0 -histos_gj35.root gje 0 -histos_wmunu.root ewk 0 -histos_ttbar.root ewk 0 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -lines that start with # are considered to be comments -line 2 has wenu or zee. From line 4 the list of the histo files are listed -(first word) then a type that could be sig,qcd,bce, gj or ewk in order to -discriminate among different sources of bkgs and finally the weight that we -want to weight the histogram entries. This particular example is for Wenu. For -Zee one has to put type sig in the zee file and ewk in the Wenu file. The order -of the files is arbitrary. Files with weight 0 will be ignored. -After you have set up this code you run a root macro to combine the plots. -You can do (not recommended - it actually crushes - to be debugged) -root -b PlotCombiner.cc -or to compile it within root (recommended) -root -b -root [1] .L PlotCombiner.cc++ -root [2] PlotCombiner() - -and you finally get the plots. - - - - -Contact - -Nikolaos.Rompotis@Cern.ch - -18Sept09 - -Nikolaos Rompotis -Imperial College London - - - diff --git a/ElectroWeakAnalysis/ZEE/READMEersatz b/ElectroWeakAnalysis/ZEE/READMEersatz deleted file mode 100644 index 878da24af0595..0000000000000 --- a/ElectroWeakAnalysis/ZEE/READMEersatz +++ /dev/null @@ -1,203 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% README for Ersatz MET code % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -------------------------------------------------------------------------------------------------- -Contents -------------------------------------------------------------------------------------------------- - -Introduction -What the Ersatz MET code does -Structure of the Ersatz MET code -How to run the Ersatz MET code -Contact - -------------------------------------------------------------------------------------------------- -Introduction -------------------------------------------------------------------------------------------------- - -Ersatz MET is a data-driven method for background subtraction in the W cross-section measurement. -The code is designed to estimate the missing transverse energy (MET) distribution for Wenu events -in data. - - -------------------------------------------------------------------------------------------------- -What the Ersatz MET code does -------------------------------------------------------------------------------------------------- - -The idea is to use Zee events from data to estimate the missing transverse energy (MET) -distribution in data from Wenu events. The MET distribution of Wenu events is modelled using the -ET distribution of the second electron in Zee after requiring that the first passes the W -electron selection. The code does the following. - -1. Find electrons (tags) which pass the W electron selection in Zee event. -2. Find another electron (probe) which, when combined with the first, gives an invariant mass - around the Z mass (71 < mee < 111 GeV). -3. Add the ersatz neutrino MET to the MET in the event to get the MET expected in a Wenu event. - -Particularly in early data, the measurement of missing energy is marred by poorly understood -detector effects. By using Zee events from data, unknown detector effects are taken into account. - -Various corrections are applied to get the Ersatz MET distribution. - -Mass Correction: due to the difference in mass between the W and Z bosons. This is applied by -boosting into the Z rest frame, multiplying by mW/mZ and boosting back into the Lab frame. - -Supercluster Energy Corrections: due to energy loss and radiation in the tracker. This includes -standard supercluster corrections such as f(eta), f(brem) and f(Et,eta). - -Acceptance Correction: In Zee events both electrons are required to be within |eta| < 2.5, while -the neutrino in a Wenu event is unconstrained. This correction is applied using a Wenu Monte -Carlo. The correction is done separately for each MET bin. The correction is: -Ersatz MET corrected = Ersatz MET x (1 + MC W MET out / MC W MET in). - -Once these corrections have been applied we have the Ersatz MET distribution. f and fprime are -the quantities needed for the W cross section measurement; they are the ratio of the number of -events passing the cuts to the number failing in the cases where the electron passes/fails the -track isolation cut. These are extracted from the Ersatz MET distribution. - - -------------------------------------------------------------------------------------------------- -Structure of the Ersatz MET code -------------------------------------------------------------------------------------------------- - -The Ersatz MET code is in three parts: - -1. Ersatz MET code: Takes Zee data and gives Ersatz MET distribution and lots of other variables -relating to electron, ersatz neutrino, Monte Carlo particles etc. in a ROOT ntuple. The W -electron selection is loosened off at this stage with the intention to apply it later so that the -analysis does not have to be rerun to change the selection. The mass correction and the -supercluster energy corrections are all applied. - -2. AnalysisErsatz code: Takes W Monte Carlo, applies W selection (which is again loose) and -outputs various variables including calo MET to a ROOT ntuple. This is only needed for the -acceptance correction. - -3. f extraction code: This is a ROOT macro. It takes the ROOT ntuples of the previous two stages, -applies the W electron selection and some probe selection correcting for probe selection -efficiency, applies acceptance correction and calculates f, fprime and errors. - -Source Files: -src/ -AnalysisErsatz.cc ErsatzMEt.cc - -Interface Files: -interface/ -AnalysisErsatz.h CaloVectors.h ElectronSelector.h ErsatzMEt.h SCEnergyCorrections.h -UniqueElectrons.h - -Python Configuration Files: -test/ -analysisersatz_cfg.py ersatzmet_cfg.py ersatzmet_cfi.py Zersatzmet_cfg.py - -ROOT macros: -macros/ -EtaWeights.txt PerformAnalysis.cpp StabilityPlots.cpp - - -------------------------------------------------------------------------------------------------- -How to run the Ersatz MET code -------------------------------------------------------------------------------------------------- - -I'll assume you are using lxplus. - -Create a CMSSW_3_1_4 project area: - -> cmsrel CMSSW_3_1_4 - -Set CMS environment: - -> cd CMSSW_3_1_4/src -> cmsenv - -Checkout the Ersatz MET code from CVS: - -> cvs co ElectroWeakAnalysis/ZEE - -Enter the analysis module: - -> cd ElectroWeakAnalysis/ZEE - -Create a python directory and put the parameter file ersatzmet_cfi.py in it so that it is seen in -the python path. - -> mkdir python -> cp test/ersatzmet_cfi.py python/ - -Build: - -> scramv1 b -j3 - -Run locally: - -Set the data location in the config file Zersatzmet_cfg.py. - -> cd ElectroWeakAnalysis/ZEE/test -> cmsRun Zersatzmet_cfg.py - -or Run on the GRID using CRAB: - -Set up GRID: -> source /afs/cern.ch/project/gd/LCG-share/current/etc/profile.d/grid_env.sh -Set up CMS environment: -> cmsenv -Set up CRAB: -> source /afs/cern.ch/cms/ccs/wm/scripts/Crab/crab.sh - -You can write a script to do the 3 setup tasks above so you don't have to type them in every time. - -> cd ElectroWeakAnalysis/ZEE - -Create a CRAB config file (crab.cfg). Zersatzmet_cfg.py in test/ folder is the config file to run -if you are using Monte Carlo Zee events, otherwise run ersatzmet_cfg.py. - -Create and submit CRAB jobs to the GRID: - -> crab -create -submit - -Also run the ErsatzAnalysis code in a similar way on W Monte Carlo data using the -analysisersatz_cfg.py config file. You will need to uncomment AnalysisErsatz.cc and comment out -ErsatzMEt.cc (or move it elsewhere) and rebuild. - -Once you have successfully run the code copy the output ROOT files to a /tmp/[username] directory. -You will need to hadd the root files first if there is more than one. - -Setup ROOT environment: -> export ROOTSYS=/afs/cern.ch/sw/lcg/external/root/5.21.02/slc4_ia32_gcc34/root -> export PATH=$PATH:$ROOTSYS/bin -> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib - -Once again you can write a script to do this so you don't have to type it in every time. - -PerformAnalysis.cpp is the Macro to run. You must also have the EtaWeights.txt file available. - -Start ROOT, compile and run macro: -> root -l -[0] .L PerformAnalysis.cpp+ -[1] PerformAnalysis([process], [weight], [datapath]) - -[process]Plots.root is the name of the output file. -[weight] is the event weight. -[datapath] is the data path e.g. if data is in /tmp/rnandi/ [datapath] = "/tmp/rnandi/" - -This creates a root file [process].root with plots and outputs interesting ones to png files. -It also outputs f, fprime, efficiency, efficiencyprime, A, B, C, D and errors to screen. - -You can also run StabilityPlots.cpp: -> root -l -[0] .L StabilityPlots.cpp+ -[1] StabilityPlots() - -This takes [process]Plots.root and outputs plots of f and fprime as a function of MET cut in png -files. - - -------------------------------------------------------------------------------------------------- -Contact -------------------------------------------------------------------------------------------------- - -Robin Nandi - -Robin.James.Nandi@Cern.ch - -8 December 2009 diff --git a/ElectroWeakAnalysis/ZEE/interface/AnalysisErsatz.h b/ElectroWeakAnalysis/ZEE/interface/AnalysisErsatz.h deleted file mode 100644 index f837e61689dce..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/AnalysisErsatz.h +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- -// -// Package: AnalysisErsatz -// Class: AnalysisErsatz -// -/**\class AnalysisErsatz AnalysisErsatz.cc ElectroWeakAnalysis/AnalysisErsatz/src/AnalysisErsatz.cc - - Description: - - Implementation: - -*/ -// -// Original Author: David Wardrope -// Created: Fri Nov 14 15:00:43 GMT 2008 -// -// - - -// system include files -#include -//Framework -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -//Random Number Generator -#include "FWCore/Utilities/interface/RandomNumberGenerator.h" -#include "CLHEP/Random/RandFlat.h" -//Egamma -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -//OtherObjects -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/METReco/interface/CaloMET.h" -#include "DataFormats/METReco/interface/CaloMETFwd.h" -#include "DataFormats/METReco/interface/GenMET.h" -#include "DataFormats/METReco/interface/GenMETFwd.h" -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/MET.h" -#include "DataFormats/METReco/interface/METFwd.h" -//PhysicsTools -//#include "PhysicsTools/Utilities/interface/deltaR.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "CommonTools/CandUtils/interface/CenterOfMassBooster.h" -#include "Math/GenVector/Boost.h" - -//Helper Functions -#include "ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h" -#include "ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h" -#include "ElectroWeakAnalysis/ZEE/interface/CaloVectors.h" -//ROOT -#include "TTree.h" - -#define nEntries_arr_ 4 -// -// class declaration -// - -//namespace CLHEP{ -// class RandFlat; -//} - -class AnalysisErsatz : public edm::EDAnalyzer { - public: - explicit AnalysisErsatz(const edm::ParameterSet&); - ~AnalysisErsatz(); - - - private: - virtual void beginJob() ; - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - // ----------member data --------------------------- - edm::EDGetTokenT MCTruthCollection_; - edm::EDGetTokenT ElectronCollection_; - edm::EDGetTokenT CaloMEtCollection_; - edm::EDGetTokenT T1MEtCollection_; - edm::EDGetTokenT PfMEtCollection_; - edm::EDGetTokenT TcMEtCollection_; - edm::EDGetTokenT GenMEtCollection_; - bool ErsatzEvent_, C_Fiducial_; - enum cut_index_t { EtCut_, EB_sIhIh_, EB_dEtaIn_, EB_dPhiIn_, EB_TrckIso_, EB_EcalIso_, EB_HcalIso_, - EE_sIhIh_, EE_dEtaIn_, EE_dPhiIn_, EE_TrckIso_, EE_EcalIso_, EE_HcalIso_}; - std::vector CutVector_; - double mW_, mZ_; - edm::EDGetTokenT TriggerEvent_; - edm::EDGetTokenT TriggerResults_; - TriggerPath_; - std::string TriggerName_; - - TTree* t_; - double Boson_pt_, Boson_y_, Boson_m_, Boson_mt_; - double Boson_phi_; - double McElec3_pt_[nEntries_arr_], McElec3_eta_[nEntries_arr_]; - double McElec1_pt_[nEntries_arr_], McElec1_eta_[nEntries_arr_]; - int RndmInt_; - double RndmMcElec_pt_, RndmMcElec_eta_, RndmMcElec_phi_; - double RndmMcElec_Rescaled_pt_, RndmMcElec_Rescaled_eta_, RndmMcElec_Rescaled_phi_; - double RndmMcElecTRIG_pt_, RndmMcElecTRIG_eta_, RndmMcElecRECO_pt_, RndmMcElecRECO_eta_; - double OthrMcElec_pt_, OthrMcElec_eta_, OthrMcElec_phi_; - double OthrMcElecTRIG_pt_, OthrMcElecTRIG_eta_, OthrMcElecRECO_pt_, OthrMcElecRECO_eta_; - double OthrMcElec_Rescaled_pt_, OthrMcElec_Rescaled_eta_, OthrMcElec_Rescaled_phi_; - int RndmTrig_, RndmReco_, OthrTrig_, OthrReco_; - double McNu_pt_, McNu_eta_, McNu_phi_, McNu_ECALeta_; - double McNu_vx_, McNu_vy_, McNu_vz_; - double McLeptons_dPhi_, McLeptons_dEta_, McLeptons_dR_; - - double elec_q_[nEntries_arr_]; - double elec_pt_[nEntries_arr_], elec_eta_[nEntries_arr_], elec_phi_[nEntries_arr_]; - double elec_pt25_, elec_eta25_, elec_phi25_; - double elec_sIhIh_[nEntries_arr_], elec_dPhiIn_[nEntries_arr_], elec_dEtaIn_[nEntries_arr_]; - double elec_trckIso_[nEntries_arr_], elec_ecalIso_[nEntries_arr_], elec_hcalIso_[nEntries_arr_]; - double elec_e5x5_[nEntries_arr_], elec_e2x5Max_[nEntries_arr_], elec_e1x5Max_[nEntries_arr_]; - double elec_hoe_[nEntries_arr_], elec_eop_[nEntries_arr_], elec_pin_[nEntries_arr_], elec_pout_[nEntries_arr_]; - - double Selected_nuPt_[nEntries_arr_], Selected_nuEta_[nEntries_arr_], Selected_nuPhi_[nEntries_arr_]; - double caloMEt_, caloSumEt_, caloUESumEt_; - double t1MEt_, t1MEtPhi_, t1SumEt_; - double pfMEt_, pfMEtPhi_, pfSumEt_; - double tcMEt_, tcMEtPhi_, tcSumEt_; - double caloMEt25_, caloMEt30_; - double caloMEtECAL25_, caloMEtECAL30_;//using ECAL eta to restrict neutrino - double caloMEtPhi_, caloMEtPhi25_, caloMEtPhi30_; - double caloMEtPhiECAL25_, caloMEtPhiECAL30_;//using ECAL eta to restrict neutrino - double caloMt_[nEntries_arr_], caloMt25_[nEntries_arr_], caloMt30_[nEntries_arr_]; - double genMEt_, genMt_[nEntries_arr_], genUESumEt_, genMEt25_; - int nHltObj_, nSelElecs_; - double HltObj_pt_[nEntries_arr_], HltObj_eta_[nEntries_arr_]; -}; - diff --git a/ElectroWeakAnalysis/ZEE/interface/CaloVectors.h b/ElectroWeakAnalysis/ZEE/interface/CaloVectors.h deleted file mode 100644 index 4b131687697ad..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/CaloVectors.h +++ /dev/null @@ -1,40 +0,0 @@ -#include "RecoEcal/EgammaClusterAlgos/interface/EgammaSCEnergyCorrectionAlgo.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/EgammaReco/interface/SuperClusterFwd.h" - -math::XYZTLorentzVector DetectorVector(const reco::SuperClusterRef& sc) { - double pt = sc->energy() / cosh(sc->eta()); - math::XYZTLorentzVector detVec(pt * cos(sc->phi()), pt * sin(sc->phi()), pt * sinh(sc->eta()), sc->energy()); - return detVec; -} -math::XYZTLorentzVector DetectorVector(const reco::SuperCluster sc) { - double pt = sc.energy() / cosh(sc.eta()); - math::XYZTLorentzVector detVec(pt * cos(sc.phi()), pt * sin(sc.phi()), pt * sinh(sc.eta()), sc.energy()); - return detVec; -} -math::XYZTLorentzVector DetectorVector(const GlobalPoint& pos, const math::XYZPoint& vertex, double energy) { - math::XYZPoint hitPos(pos.x(), pos.y(), pos.z()); - math::XYZVector Vec = hitPos - vertex; - double eta = Vec.Eta(); - double phi = Vec.Phi(); - double pt = energy / cosh(eta); - math::XYZTLorentzVector detVec(pt * cos(phi), pt * sin(phi), pt * sinh(eta), energy); - return detVec; -} -math::XYZTLorentzVector PhysicsVector(const math::XYZPoint& vertex, const reco::SuperCluster& sc) { - math::XYZVector Vec = sc.position() - vertex; - double eta = Vec.Eta(); - double phi = Vec.Phi(); - double pt = sc.energy() / cosh(eta); - math::XYZTLorentzVector probe(pt * cos(phi), pt * sin(phi), pt * sinh(eta), sc.energy()); - return probe; -} -math::XYZTLorentzVector PhysicsVectorRaw(const math::XYZPoint& vertex, const reco::SuperCluster& sc) { - math::XYZVector Vec = sc.position() - vertex; - double eta = Vec.Eta(); - double phi = Vec.Phi(); - double pt = sc.rawEnergy() / cosh(eta); - math::XYZTLorentzVector probe(pt * cos(phi), pt * sin(phi), pt * sinh(eta), sc.rawEnergy()); - return probe; -} diff --git a/ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h b/ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h deleted file mode 100644 index 071742f2cbe09..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h +++ /dev/null @@ -1,92 +0,0 @@ -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include - -std::vector electronSelector(const std::vector& electrons, - const edm::Handle& pHLT, - const int filterId, - const std::vector& Cuts) { - std::vector ChosenOnes; - const trigger::Keys& ring = pHLT->filterKeys(filterId); - const trigger::TriggerObjectCollection& HltObjColl = pHLT->getObjects(); - //const edm::ValueMap& eIsoMapTrk = *eIsoMap[0]; - //const edm::ValueMap& eIsoMapEcal = *eIsoMap[1]; - //const edm::ValueMap& eIsoMapHcal = *eIsoMap[2]; - edm::LogDebug_("electronSelector", "", 16) << "Number of electrons to select from = " << electrons.size(); - for (std::vector::const_iterator Relec = electrons.begin(); Relec != electrons.end(); ++Relec) { - reco::GsfElectronRef elec = *Relec; - edm::LogDebug_("electronSelector", "", 17) << "Analysing elec, id = " << elec.id() << "\tkey = " << elec.key(); - double scEta = elec->superCluster()->eta(); - if (fabs(scEta) < 1.4442 || fabs(scEta) > 1.56) { - bool HLTMatch = false; - for (unsigned int k = 0; k < ring.size(); ++k) { - const trigger::TriggerObject& HltObj = HltObjColl[ring[k]]; - if (reco::deltaR(*elec, HltObj) < 0.1) - HLTMatch = true; - } - edm::LogDebug_("electronSelector", "", 16) << "HLT Match = " << HLTMatch; - std::cout << "HLT Match = " << HLTMatch << std::endl; - // if(HLTMatch) ChosenOnes.push_back(elec); - if (HLTMatch) { - if (fabs(scEta) < 1.479) { - float sIhIh = elec->scSigmaIEtaIEta(); - edm::LogDebug_("electronSelector", "", 32) << "SigIetaIeta = " << sIhIh << "\tCut Value = " << Cuts[1]; - if (sIhIh < Cuts[1]) { - edm::LogDebug_("elecSel", "", 39) - << "dEta = " << elec->deltaEtaSuperClusterTrackAtVtx() << "\tCut Value = " << Cuts[2]; - if (fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[2]) { - edm::LogDebug_("elecSel", "", 39) - << "dPhi = " << elec->deltaPhiSuperClusterTrackAtVtx() << "\tCut Value = " << Cuts[3]; - if (fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[3]) { - float trckiso = elec->isolationVariables03().tkSumPt; - edm::LogDebug_("", "", 29) << "Track isolation = " << trckiso << "\tCut Value = " << Cuts[4]; - if (trckiso < Cuts[4]) { - float ecaliso = elec->isolationVariables04().ecalRecHitSumEt; - edm::LogDebug_("", "", 29) << "ECAL isolation = " << ecaliso << "\tCut Value = " << Cuts[5]; - if (ecaliso < Cuts[5]) { - float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt + - elec->isolationVariables04().hcalDepth2TowerSumEt; - edm::LogDebug_("", "", 29) << "HCAL isolation = " << hcaliso << "\tCut Value = " << Cuts[6]; - if (hcaliso < Cuts[6]) - ChosenOnes.push_back(elec); - } - } - } - } - } - } else { - float sIhIh = elec->scSigmaIEtaIEta(); - edm::LogDebug_("electronSelector", "", 32) << "SigIetaIeta = " << sIhIh << "\tCut Value = " << Cuts[7]; - if (sIhIh < Cuts[7]) { - edm::LogDebug_("elecSel", "", 39) - << "dEta = " << elec->deltaEtaSuperClusterTrackAtVtx() << "\tCut Value = " << Cuts[8]; - if (fabs(elec->deltaEtaSuperClusterTrackAtVtx()) < Cuts[8]) { - edm::LogDebug_("elecSel", "", 39) - << "dPhi = " << elec->deltaPhiSuperClusterTrackAtVtx() << "\tCut Value = " << Cuts[9]; - if (fabs(elec->deltaPhiSuperClusterTrackAtVtx()) < Cuts[9]) { - float trckiso = elec->isolationVariables03().tkSumPt; - edm::LogDebug_("", "", 29) << "Track isolation = " << trckiso << "\tCut Value = " << Cuts[10]; - if (trckiso < Cuts[10]) { - float ecaliso = elec->isolationVariables04().ecalRecHitSumEt; - edm::LogDebug_("", "", 29) << "ECAL isolation = " << ecaliso << "\tCut Value = " << Cuts[11]; - if (ecaliso < Cuts[11]) { - float hcaliso = elec->isolationVariables04().hcalDepth1TowerSumEt + - elec->isolationVariables04().hcalDepth2TowerSumEt; - edm::LogDebug_("", "", 29) << "HCAL isolation = " << hcaliso << "\tCut Value = " << Cuts[12]; - if (hcaliso < Cuts[12]) - ChosenOnes.push_back(elec); - } - } - } - } - } - } - // ChosenOnes.push_back(elec); - } - } - } - return ChosenOnes; -} diff --git a/ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h b/ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h deleted file mode 100644 index c6aa5c08f43fd..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h +++ /dev/null @@ -1,213 +0,0 @@ -#ifndef ElectroWeakAnalysis_ErsatzMEt_h -#define ElectroWeakAnalysis_ErsatzMEt_h -// -*- C++ -*- -// -// Package: ErsatzMEt -// Class: ErsatzMEt -// -/**\class ErsatzMEt ErsatzMEt.cc ElectroWeakAnalysis/ErsatzMEt/src/ErsatzMEt.cc - - Description: - - Implementation: - -*/ -// -// Original Author: David Wardrope -// Created: Tue Nov 11 16:47:29 GMT 2008 -// -// - -// system include files -#include - -//Framework -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -//Random Number Generator -#include "FWCore/Utilities/interface/RandomNumberGenerator.h" -#include "CLHEP/Random/RandFlat.h" -//CMSSW Containers -#include "DataFormats/Common/interface/ValueMap.h" -//Egamma Objects -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/EgammaReco/interface/SuperCluster.h" -//ECAL -#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" -#include "RecoEcal/EgammaClusterAlgos/interface/EgammaSCEnergyCorrectionAlgo.h" -//Geometry -#include "RecoCaloTools/Navigation/interface/CaloNavigator.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/EcalAlgo/interface/EcalBarrelGeometry.h" -#include "Geometry/EcalAlgo/interface/EcalEndcapGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/Records/interface/CaloTopologyRecord.h" -//DetIds -#include "DataFormats/CaloTowers/interface/CaloTowerDetId.h" -//Other Objects -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" -#include "DataFormats/METReco/interface/CaloMET.h" -#include "DataFormats/METReco/interface/CaloMETFwd.h" -#include "DataFormats/METReco/interface/GenMET.h" -#include "DataFormats/METReco/interface/GenMETFwd.h" -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/MET.h" -#include "DataFormats/METReco/interface/METFwd.h" -//Physics Tools -#include "DataFormats/Math/interface/deltaR.h" - -//Maths -#include "Math/GenVector/VectorUtil.h" -//ROOT -#include "TTree.h" -#include "TH1.h" -#include "TH2.h" -//Helper Functions -#include "ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h" -#include "ElectroWeakAnalysis/ZEE/interface/ElectronSelector.h" -#include "ElectroWeakAnalysis/ZEE/interface/CaloVectors.h" -#include "ElectroWeakAnalysis/ZEE/interface/SCEnergyCorrections.h" - -#define nEntries_arr_ 4 -//#include "DataFormats/EgammaReco/interface/SuperCluster.h" -// -// class declaration -// - -class ErsatzMEt : public edm::EDAnalyzer { -public: - explicit ErsatzMEt(const edm::ParameterSet&); - ~ErsatzMEt() override; - -private: - void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; - // std::map probeFinder(const std::vector&, - // const edm::Handle&, - // const edm::Handle&); - std::map probeFinder(const std::vector&, - const edm::Handle); - reco::MET ersatzFabrik(const reco::GsfElectronRef&, const reco::SuperCluster&, const reco::MET&, const int); - reco::MET ersatzFabrik(const reco::GsfElectronRef&, const reco::GsfElectronRef&, const reco::MET&); - bool isInBarrel(double); - bool isInEndCap(double); - bool isInFiducial(double); - - void endJob() override; - - // ----------member data --------------------------- - edm::EDGetTokenT MCTruthCollection_; - edm::EDGetTokenT ElectronCollection_; - edm::EDGetTokenT HybridScCollection_; - edm::EDGetTokenT M5x5ScCollection_; - edm::EDGetTokenT GenMEtCollection_; - edm::EDGetTokenT CaloMEtCollection_; - edm::EDGetTokenT T1MEtCollection_; - edm::EDGetTokenT PfMEtCollection_; - edm::EDGetTokenT TcMEtCollection_; - edm::EDGetTokenT TriggerEvent_; - edm::EDGetTokenT TriggerResults_; - edm::InputTag TriggerPath_; - std::string TriggerName_, ProcessName_; - edm::ParameterSet hyb_fCorrPSet_, m5x5_fCorrPSet_; - double mW_, mZ_, mTPmin_, mTPmax_; - double BarrelEtaMax_, EndCapEtaMin_, EndCapEtaMax_; - - enum cut_index_t { - EtCut_, - EB_sIhIh_, - EB_dEtaIn_, - EB_dPhiIn_, - EB_TrckIso_, - EB_EcalIso_, - EB_HcalIso_, - EE_sIhIh_, - EE_dEtaIn_, - EE_dPhiIn_, - EE_TrckIso_, - EE_EcalIso_, - EE_HcalIso_ - }; - - std::vector CutVector_; - - int etaWidth_, phiWidth_; - bool Zevent_, HLTPathCheck_; - // std::vector EtaWeights_; - HLTConfigProvider hltConfig_; - - edm::ESHandle geoHandle_; - edm::ESHandle pTopology_; - //Output variables - TTree* t_; - int nTags_, nProbes_; - double CaloMEt_, T1MEt_, PfMEt_, TcMEt_; - double CaloMEtphi_, T1MEtphi_, PfMEtphi_, TcMEtphi_; - int McElec_nZmum_, McElec_nFinal_; - double McZ_m_, McZ_pt_, McZ_phi_, McZ_eta_, McZ_y_; - double McZ_rescM_, McZ_rescPt_, McZ_rescEta_, McZ_rescPhi_, McZ_rescY_; - - int probe_nClus_[nEntries_arr_]; - int tag_q_[nEntries_arr_]; - double tag_pt_[nEntries_arr_], tag_eta_[nEntries_arr_], tag_phi_[nEntries_arr_]; - //double tag_caloV1_rescPt_[nEntries_arr_], tag_caloV1_rescEta_[nEntries_arr_], tag_caloV1_rescPhi_[nEntries_arr_]; - //double tag_caloV2_rescPt_[nEntries_arr_], tag_caloV2_rescEta_[nEntries_arr_], tag_caloV2_rescPhi_[nEntries_arr_]; - //double tag_caloV3_rescPt_[nEntries_arr_], tag_caloV3_rescEta_[nEntries_arr_], tag_caloV3_rescPhi_[nEntries_arr_]; - //double tag_caloV4_rescPt_[nEntries_arr_], tag_caloV4_rescEta_[nEntries_arr_], tag_caloV4_rescPhi_[nEntries_arr_]; - double tag_rescPt_[nEntries_arr_], tag_rescEta_[nEntries_arr_], tag_rescPhi_[nEntries_arr_]; - double tag_sIhIh_[nEntries_arr_], tag_dPhiIn_[nEntries_arr_], tag_dEtaIn_[nEntries_arr_]; - double tag_trckIso_[nEntries_arr_], tag_ecalIso_[nEntries_arr_], tag_hcalIso_[nEntries_arr_]; - double tag_e2x5Max_[nEntries_arr_], tag_e1x5Max_[nEntries_arr_], tag_e5x5_[nEntries_arr_]; - double tag_hoe_[nEntries_arr_], tag_eop_[nEntries_arr_], tag_pin_[nEntries_arr_], tag_pout_[nEntries_arr_]; - int probe_q_[nEntries_arr_]; - double probe_pt_[nEntries_arr_], probe_eta_[nEntries_arr_], probe_phi_[nEntries_arr_]; - double probe_rescPt_[nEntries_arr_], probe_rescEta_[nEntries_arr_], probe_rescPhi_[nEntries_arr_]; - double probe_sIhIh_[nEntries_arr_], probe_dPhiIn_[nEntries_arr_], probe_dEtaIn_[nEntries_arr_]; - double probe_trckIso_[nEntries_arr_], probe_ecalIso_[nEntries_arr_], probe_hcalIso_[nEntries_arr_]; - double probe_e2x5Max_[nEntries_arr_], probe_e1x5Max_[nEntries_arr_], probe_e5x5_[nEntries_arr_]; - double probe_hoe_[nEntries_arr_], probe_eop_[nEntries_arr_], probe_pin_[nEntries_arr_], probe_pout_[nEntries_arr_]; - double Z_pt_[nEntries_arr_], Z_eta_[nEntries_arr_], Z_phi_[nEntries_arr_], Z_m_[nEntries_arr_], Z_y_[nEntries_arr_]; - double Z_rescPt_[nEntries_arr_], Z_rescEta_[nEntries_arr_], Z_rescPhi_[nEntries_arr_], Z_rescM_[nEntries_arr_], - Z_rescY_[nEntries_arr_]; - double Z_probe_dPhi_[nEntries_arr_]; - double ErsatzV1CaloMEt_[nEntries_arr_], ErsatzV1CaloMt_[nEntries_arr_], ErsatzV1CaloMEtPhi_[nEntries_arr_]; - double ErsatzV2CaloMEt_[nEntries_arr_], ErsatzV2CaloMEtPhi_[nEntries_arr_], ErsatzV2CaloMt_[nEntries_arr_]; - double ErsatzV3CaloMEt_[nEntries_arr_], ErsatzV3CaloMEtPhi_[nEntries_arr_], ErsatzV3CaloMt_[nEntries_arr_]; - double ErsatzV4CaloMEt_[nEntries_arr_], ErsatzV4CaloMEtPhi_[nEntries_arr_], ErsatzV4CaloMt_[nEntries_arr_]; - double ErsatzV1T1MEt_[nEntries_arr_], ErsatzV1T1Mt_[nEntries_arr_], ErsatzV1T1MEtPhi_[nEntries_arr_]; - double ErsatzV1PfMEt_[nEntries_arr_], ErsatzV1PfMt_[nEntries_arr_], ErsatzV1PfMEtPhi_[nEntries_arr_]; - double ErsatzV1TcMEt_[nEntries_arr_], ErsatzV1TcMt_[nEntries_arr_], ErsatzV1TcMEtPhi_[nEntries_arr_]; - double ErsatzV1_Mesc_[nEntries_arr_], ErsatzV1_rescMesc_[nEntries_arr_]; - double ErsatzV2_Mesc_[nEntries_arr_], ErsatzV2_rescMesc_[nEntries_arr_]; - double ErsatzV3_Mesc_[nEntries_arr_], ErsatzV3_rescMesc_[nEntries_arr_]; - double ErsatzV4_Mesc_[nEntries_arr_], ErsatzV4_rescMesc_[nEntries_arr_]; - - double McElec_pt_[nEntries_arr_], McElec_eta_[nEntries_arr_], McElec_phi_[nEntries_arr_]; - double McElec_rescPt_[nEntries_arr_], McElec_rescEta_[nEntries_arr_], McElec_rescPhi_[nEntries_arr_]; - double McProbe_pt_[nEntries_arr_], McProbe_eta_[nEntries_arr_], McProbe_phi_[nEntries_arr_]; - double McProbe_rescPt_[nEntries_arr_], McProbe_rescEta_[nEntries_arr_], McProbe_rescPhi_[nEntries_arr_]; - double McElecProbe_dPhi_[nEntries_arr_], McElecProbe_dEta_[nEntries_arr_], McElecProbe_dR_[nEntries_arr_]; - - double probe_d_MCE_SCE_[nEntries_arr_]; - double probe_sc_pt_[nEntries_arr_], probe_sc_eta_[nEntries_arr_], probe_sc_phi_[nEntries_arr_]; - double probe_sc_E_[nEntries_arr_], probe_sc_rawE_[nEntries_arr_], probe_sc_nClus_[nEntries_arr_]; - double probe_scV2_E_[nEntries_arr_]; - double probe_scV3_E_[nEntries_arr_]; - double probe_scV4_E_[nEntries_arr_]; - - int iComb_; -}; -#endif diff --git a/ElectroWeakAnalysis/ZEE/interface/SCEnergyCorrections.h b/ElectroWeakAnalysis/ZEE/interface/SCEnergyCorrections.h deleted file mode 100644 index c0806a50dcab3..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/SCEnergyCorrections.h +++ /dev/null @@ -1,111 +0,0 @@ -#include "DataFormats/EgammaReco/interface/BasicClusterFwd.h" -#include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h" -#include "DataFormats/EgammaReco/interface/SuperCluster.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -reco::CaloClusterPtrVector CaloClusterVectorCopier(const reco::SuperCluster& sc); - -reco::SuperCluster fEtaScCorr(const reco::SuperCluster& sc) { - reco::CaloClusterPtrVector bcs = CaloClusterVectorCopier(sc); - double ieta = fabs(sc.eta()) * (5 / 0.087); - double p0 = 40.2198; - double p1 = -3.03103e-6; - double newE; - // std::cout << "Corrected E = Raw E * (1+ p1*(ieta - p0)*(ieta - p0))"<< std::endl; - if (ieta < p0) - newE = sc.rawEnergy(); - else - newE = sc.rawEnergy() / (1 + p1 * (ieta - p0) * (ieta - p0)); - - reco::SuperCluster corrSc(newE, sc.position(), sc.seed(), bcs, sc.preshowerEnergy(), 0., 0.); - return corrSc; -} - -reco::SuperCluster fBremScCorr(const reco::SuperCluster& sc, const edm::ParameterSet& ps) { - std::vector fBrem = ps.getParameter >("fBremVec"); - double bremFrLowThr = ps.getParameter("brLinearLowThr"); - double bremFrHighThr = ps.getParameter("brLinearHighThr"); - - reco::CaloClusterPtrVector bcs = CaloClusterVectorCopier(sc); - double bremFrac = sc.phiWidth() / sc.etaWidth(); - double newE = sc.energy(); - if (fabs(sc.eta()) < 1.479) { - reco::SuperCluster fEtaSC = fEtaScCorr(sc); - reco::CaloClusterPtrVector bcs = CaloClusterVectorCopier(sc); - newE = fEtaSC.energy(); - } - - if (bremFrac < bremFrLowThr) - bremFrac = bremFrLowThr; - if (bremFrac < bremFrHighThr) - bremFrac = bremFrHighThr; - - double p0 = fBrem[0]; - double p1 = fBrem[1]; - double p2 = fBrem[2]; - double p3 = fBrem[3]; - double p4 = fBrem[4]; - // - double threshold = p4; - - double y = p0 * threshold * threshold + p1 * threshold + p2; - double yprime = 2 * p0 * threshold + p1; - double a = p3; - double b = yprime - 2 * a * threshold; - double c = y - a * threshold * threshold - b * threshold; - - double fCorr = 1; - if (bremFrac < threshold) - fCorr = p0 * bremFrac * bremFrac + p1 * bremFrac + p2; - else - fCorr = a * bremFrac * bremFrac + b * bremFrac + c; - - newE /= fCorr; - reco::SuperCluster corrSc(newE, sc.position(), sc.seed(), bcs, sc.preshowerEnergy(), 0., 0.); - return corrSc; -} - -reco::SuperCluster fEtEtaCorr(const reco::SuperCluster& sc, const edm::ParameterSet& ps) { - // et -- Et of the SuperCluster (with respect to (0,0,0)) - // eta -- eta of the SuperCluster - std::vector fEtEtaParams = ps.getParameter >("fEtEtaParamsVec"); - - reco::SuperCluster fBremSC = fBremScCorr(sc, ps); - reco::CaloClusterPtrVector bcs = CaloClusterVectorCopier(sc); - - double eta = sc.eta(); - double et = fBremSC.energy() / cosh(eta); - double fCorr = 0.; - - double p0 = fEtEtaParams[0] + fEtEtaParams[1] / (et + fEtEtaParams[2]) + fEtEtaParams[3] / (et * et); - double p1 = fEtEtaParams[4] + fEtEtaParams[5] / (et + fEtEtaParams[6]) + fEtEtaParams[7] / (et * et); - double p2 = fEtEtaParams[8] + fEtEtaParams[9] / (et + fEtEtaParams[10]) + fEtEtaParams[11] / (et * et); - - fCorr = p0 + p1 * atan(fEtEtaParams[12] * (fEtEtaParams[13] - fabs(eta))) + fEtEtaParams[14] * fabs(eta) + - p1 * fEtEtaParams[15] * fabs(eta) + p2 * fEtEtaParams[16] * eta * eta; - - if (fCorr < 0.5) - fCorr = 0.5; - - double newE = et / (fCorr * cosh(eta)); - reco::SuperCluster corrSc(newE, sc.position(), sc.seed(), bcs, sc.preshowerEnergy(), 0., 0.); - return corrSc; -} - -reco::SuperCluster fEAddScCorr(const reco::SuperCluster& sc, double Ecorr) { - reco::CaloClusterPtrVector bcs = CaloClusterVectorCopier(sc); - - double newE = sc.rawEnergy() + Ecorr; - reco::SuperCluster corrSc(newE, sc.position(), sc.seed(), bcs, sc.preshowerEnergy(), 0., 0.); - return corrSc; -} - -reco::CaloClusterPtrVector CaloClusterVectorCopier(const reco::SuperCluster& sc) { - reco::CaloClusterPtrVector clusters_v; - - for (reco::CaloCluster_iterator cluster = sc.clustersBegin(); cluster != sc.clustersEnd(); cluster++) { - clusters_v.push_back(*cluster); - } - - return clusters_v; -} diff --git a/ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h b/ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h deleted file mode 100644 index 226c0a760517b..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/UniqueElectrons.h +++ /dev/null @@ -1,31 +0,0 @@ -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" - -#include - -std::vector uniqueElectronFinder(edm::Handle& pElectrons) { - const reco::GsfElectronCollection* electrons = pElectrons.product(); - //Remove duplicate electrons which share a supercluster - std::vector UniqueElectrons; - int index = 0; - for (reco::GsfElectronCollection::const_iterator elec = electrons->begin(); elec != electrons->end(); ++elec) { - const reco::GsfElectronRef electronRef(pElectrons, index); - reco::GsfElectronCollection::const_iterator BestDuplicate = elec; - for (reco::GsfElectronCollection::const_iterator elec2 = electrons->begin(); elec2 != electrons->end(); ++elec2) { - if (elec != elec2) { - if (elec->superCluster() == elec2->superCluster()) { - edm::LogDebug_("", "MySelection.cc", 122) << "e/p Best duplicate = " << BestDuplicate->eSuperClusterOverP() - << "\telec2 = " << elec2->eSuperClusterOverP(); - if (fabs(BestDuplicate->eSuperClusterOverP() - 1.) >= fabs(elec2->eSuperClusterOverP() - 1.)) { - BestDuplicate = elec2; - edm::LogDebug_("", "MySelection.cc", 122) << "elec2 is now best duplicate"; - } else - edm::LogDebug_("", "MySelection.cc", 122) << "BestDuplicate remains best duplicate"; - } - } - } - if (BestDuplicate == elec) - UniqueElectrons.push_back(electronRef); - ++index; - } - return UniqueElectrons; -} diff --git a/ElectroWeakAnalysis/ZEE/interface/ZeePlots.h b/ElectroWeakAnalysis/ZEE/interface/ZeePlots.h deleted file mode 100644 index 4f51c2fe5d7d0..0000000000000 --- a/ElectroWeakAnalysis/ZEE/interface/ZeePlots.h +++ /dev/null @@ -1,358 +0,0 @@ -#ifndef ZeePlots_H -#define ZeePlots_H - -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "DataFormats/EgammaCandidates/interface/Electron.h" -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/JetReco/interface/PFJet.h" -#include "DataFormats/JetReco/interface/CaloJet.h" -#include "DataFormats/JetReco/interface/PFJetCollection.h" -#include "DataFormats/JetReco/interface/CaloJetCollection.h" - -#include -#include -#include "TFile.h" -#include "TTree.h" -#include "TString.h" -#include "TLorentzVector.h" -#include "TH1F.h" -#include "TMath.h" - -// -// class decleration -// - -class ZeePlots : public edm::EDAnalyzer { -public: - explicit ZeePlots(const edm::ParameterSet &); - ~ZeePlots() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - // ----------member data --------------------------- - - // for the 1st leg - Bool_t CheckCuts1(const pat::Electron *); - Bool_t CheckCut1(const pat::Electron *, Int_t); - Bool_t CheckCuts1Inverse(const pat::Electron *); - Bool_t CheckCut1Inv(const pat::Electron *, Int_t); - Bool_t CheckCuts1NminusOne(const pat::Electron *, Int_t); - - // for the 2nd leg - Bool_t CheckCuts2(const pat::Electron *); - Bool_t CheckCut2(const pat::Electron *, Int_t); - Bool_t CheckCuts2Inverse(const pat::Electron *); - Bool_t CheckCut2Inv(const pat::Electron *, Int_t); - Bool_t CheckCuts2NminusOne(const pat::Electron *, Int_t); - - Double_t ReturnCandVar(const pat::Electron *, Int_t); - - Bool_t PassPreselectionCriteria1(const pat::Electron *); - Bool_t PassPreselectionCriteria2(const pat::Electron *); - - Bool_t useSameSelectionOnBothElectrons_; - - // for the extra identifications and selections - Bool_t usePrecalcID1_; - std::string usePrecalcIDSign1_; - std::string usePrecalcIDType1_; - Double_t usePrecalcIDValue1_; - - Bool_t usePrecalcID2_; - std::string usePrecalcIDSign2_; - std::string usePrecalcIDType2_; - Double_t usePrecalcIDValue2_; - - // for extra preselection criteria: - Bool_t usePreselection1_; - Bool_t useValidFirstPXBHit1_; - Bool_t useConversionRejection1_; - Bool_t useExpectedMissingHits1_; - Bool_t maxNumberOfExpectedMissingHits1_; - // - Bool_t usePreselection2_; - Bool_t useValidFirstPXBHit2_; - Bool_t useConversionRejection2_; - Bool_t useExpectedMissingHits2_; - Bool_t maxNumberOfExpectedMissingHits2_; - - // other - std::string outputFile_; - edm::EDGetTokenT zeeCollectionToken_; - edm::EDGetTokenT caloJetCollectionToken_; - edm::EDGetTokenT pfJetCollectionToken_; - - TFile *histofile; - - // the histograms - TH1F *h_mee; - TH1F *h_mee_EBEB; - TH1F *h_mee_EBEE; - TH1F *h_mee_EEEE; - TH1F *h_Zcand_PT; - TH1F *h_Zcand_Y; - - TH1F *h_e_PT; - TH1F *h_e_ETA; - TH1F *h_e_PHI; - - TH1F *h_EB_trkiso; - TH1F *h_EB_ecaliso; - TH1F *h_EB_hcaliso; - TH1F *h_EB_sIetaIeta; - TH1F *h_EB_dphi; - TH1F *h_EB_deta; - TH1F *h_EB_HoE; - - TH1F *h_EE_trkiso; - TH1F *h_EE_ecaliso; - TH1F *h_EE_hcaliso; - TH1F *h_EE_sIetaIeta; - TH1F *h_EE_dphi; - TH1F *h_EE_deta; - TH1F *h_EE_HoE; - - // - TH1F *h_trackIso_eb_NmOne; - TH1F *h_trackIso_ee_NmOne; - - // *********************************** - // - // the selection cuts - - // /* Electron 0 */ - // Double_t trackIso0_EB_ ; Double_t trackIso0_EE_ ; - // Double_t ecalIso0_EB_ ; Double_t ecalIso0_EE_ ; - // Double_t hcalIso0_EB_ ; Double_t hcalIso0_EE_ ; - // - // Double_t sihih0_EB_ ; Double_t sihih0_EE_ ; - // Double_t dphi0_EB_ ; Double_t dphi0_EE_ ; - // Double_t deta0_EB_ ; Double_t deta0_EE_ ; - // Double_t hoe0_EB_ ; Double_t hoe0_EE_ ; - // Double_t cIso0_EB_ ; Double_t cIso0_EE_ ; - // Double_t tip_bspot0_EB_ ; Double_t tip_bspot0_EE_ ; - // Double_t eop0_EB_ ; Double_t eop0_EE_ ; - // - // Double_t trackIsoUser0_EB_ ; Double_t trackIsoUser0_EE_ ; - // Double_t ecalIsoUser0_EB_ ; Double_t ecalIsoUser0_EE_ ; - // Double_t hcalIsoUser0_EB_ ; Double_t hcalIsoUser0_EE_ ; - // //................................................................. - // Bool_t trackIso0_EB_inv ; Bool_t trackIso0_EE_inv ; - // Bool_t ecalIso0_EB_inv ; Bool_t ecalIso0_EE_inv ; - // Bool_t hcalIso0_EB_inv ; Bool_t hcalIso0_EE_inv ; - // - // Bool_t sihih0_EB_inv ; Bool_t sihih0_EE_inv ; - // Bool_t dphi0_EB_inv ; Bool_t dphi0_EE_inv ; - // Bool_t deta0_EB_inv ; Bool_t deta0_EE_inv ; - // Bool_t hoe0_EB_inv ; Bool_t hoe0_EE_inv ; - // Bool_t cIso0_EB_inv ; Bool_t cIso0_EE_inv ; - // Bool_t tip_bspot0_EB_inv ; Bool_t tip_bspot0_EE_inv ; - // Bool_t eop0_EB_inv ; Bool_t eop0_EE_inv ; - // - // Bool_t trackIsoUser0_EB_inv ; Bool_t trackIsoUser0_EE_inv ; - // Bool_t ecalIsoUser0_EB_inv ; Bool_t ecalIsoUser0_EE_inv ; - // Bool_t hcalIsoUser0_EB_inv ; Bool_t hcalIsoUser0_EE_inv ; - - /* Electron 1 */ - Double_t trackIso1_EB_; - Double_t trackIso1_EE_; - Double_t ecalIso1_EB_; - Double_t ecalIso1_EE_; - Double_t hcalIso1_EB_; - Double_t hcalIso1_EE_; - - Double_t sihih1_EB_; - Double_t sihih1_EE_; - Double_t dphi1_EB_; - Double_t dphi1_EE_; - Double_t deta1_EB_; - Double_t deta1_EE_; - Double_t hoe1_EB_; - Double_t hoe1_EE_; - Double_t cIso1_EB_; - Double_t cIso1_EE_; - Double_t tip_bspot1_EB_; - Double_t tip_bspot1_EE_; - Double_t eop1_EB_; - Double_t eop1_EE_; - - Double_t trackIsoUser1_EB_; - Double_t trackIsoUser1_EE_; - Double_t ecalIsoUser1_EB_; - Double_t ecalIsoUser1_EE_; - Double_t hcalIsoUser1_EB_; - Double_t hcalIsoUser1_EE_; - //................................................................. - Bool_t trackIso1_EB_inv; - Bool_t trackIso1_EE_inv; - Bool_t ecalIso1_EB_inv; - Bool_t ecalIso1_EE_inv; - Bool_t hcalIso1_EB_inv; - Bool_t hcalIso1_EE_inv; - - Bool_t sihih1_EB_inv; - Bool_t sihih1_EE_inv; - Bool_t dphi1_EB_inv; - Bool_t dphi1_EE_inv; - Bool_t deta1_EB_inv; - Bool_t deta1_EE_inv; - Bool_t hoe1_EB_inv; - Bool_t hoe1_EE_inv; - Bool_t cIso1_EB_inv; - Bool_t cIso1_EE_inv; - Bool_t tip_bspot1_EB_inv; - Bool_t tip_bspot1_EE_inv; - Bool_t eop1_EB_inv; - Bool_t eop1_EE_inv; - - Bool_t trackIsoUser1_EB_inv; - Bool_t trackIsoUser1_EE_inv; - Bool_t ecalIsoUser1_EB_inv; - Bool_t ecalIsoUser1_EE_inv; - Bool_t hcalIsoUser1_EB_inv; - Bool_t hcalIsoUser1_EE_inv; - - /* Electron 2 */ - Double_t trackIso2_EB_; - Double_t trackIso2_EE_; - Double_t ecalIso2_EB_; - Double_t ecalIso2_EE_; - Double_t hcalIso2_EB_; - Double_t hcalIso2_EE_; - - Double_t sihih2_EB_; - Double_t sihih2_EE_; - Double_t dphi2_EB_; - Double_t dphi2_EE_; - Double_t deta2_EB_; - Double_t deta2_EE_; - Double_t hoe2_EB_; - Double_t hoe2_EE_; - Double_t cIso2_EB_; - Double_t cIso2_EE_; - Double_t tip_bspot2_EB_; - Double_t tip_bspot2_EE_; - Double_t eop2_EB_; - Double_t eop2_EE_; - - Double_t trackIsoUser2_EB_; - Double_t trackIsoUser2_EE_; - Double_t ecalIsoUser2_EB_; - Double_t ecalIsoUser2_EE_; - Double_t hcalIsoUser2_EB_; - Double_t hcalIsoUser2_EE_; - //................................................................. - Bool_t trackIso2_EB_inv; - Bool_t trackIso2_EE_inv; - Bool_t ecalIso2_EB_inv; - Bool_t ecalIso2_EE_inv; - Bool_t hcalIso2_EB_inv; - Bool_t hcalIso2_EE_inv; - - Bool_t sihih2_EB_inv; - Bool_t sihih2_EE_inv; - Bool_t dphi2_EB_inv; - Bool_t dphi2_EE_inv; - Bool_t deta2_EB_inv; - Bool_t deta2_EE_inv; - Bool_t hoe2_EB_inv; - Bool_t hoe2_EE_inv; - Bool_t cIso2_EB_inv; - Bool_t cIso2_EE_inv; - Bool_t tip_bspot2_EB_inv; - Bool_t tip_bspot2_EE_inv; - Bool_t eop2_EB_inv; - Bool_t eop2_EE_inv; - - Bool_t trackIsoUser2_EB_inv; - Bool_t trackIsoUser2_EE_inv; - Bool_t ecalIsoUser2_EB_inv; - Bool_t ecalIsoUser2_EE_inv; - Bool_t hcalIsoUser2_EB_inv; - Bool_t hcalIsoUser2_EE_inv; - - Int_t nBarrelVars_; - - std::vector CutVars1_; - std::vector CutVars2_; - - std::vector InvVars1_; - std::vector InvVars2_; - - // - // variables related to the VBTF root tuples: - // - Int_t runNumber, lumiSection; - - Long64_t eventNumber; - - Float_t ele1_sc_energy, ele1_sc_eta, ele1_sc_phi; - Float_t ele1_sc_gsf_et; - Float_t ele1_cand_et, ele1_cand_eta, ele1_cand_phi; - Float_t ele1_iso_track, ele1_iso_ecal, ele1_iso_hcal; - Float_t ele1_id_sihih, ele1_id_dphi, ele1_id_deta, ele1_id_hoe; - Float_t ele1_cr_mhitsinner, ele1_cr_dcot, ele1_cr_dist; - Float_t ele1_vx, ele1_vy, ele1_vz; - - Float_t pv_x1, pv_y1, pv_z1; - - Int_t ele1_gsfCharge, ele1_ctfCharge, ele1_scPixCharge; - Float_t ele1_eop, ele1_tip_bs, ele1_tip_pv; - - Float_t ele2_sc_energy, ele2_sc_eta, ele2_sc_phi; - Float_t ele2_sc_gsf_et; - Float_t ele2_cand_et, ele2_cand_eta, ele2_cand_phi; - Float_t ele2_iso_track, ele2_iso_ecal, ele2_iso_hcal; - Float_t ele2_id_sihih, ele2_id_dphi, ele2_id_deta, ele2_id_hoe; - Float_t ele2_cr_mhitsinner, ele2_cr_dcot, ele2_cr_dist; - Float_t ele2_vx, ele2_vy, ele2_vz; - - Float_t pv_x2, pv_y2, pv_z2; - - Int_t ele2_gsfCharge, ele2_ctfCharge, ele2_scPixCharge; - Float_t ele2_eop, ele2_tip_bs, ele2_tip_pv; - - Float_t event_caloMET, event_pfMET, event_tcMET; - Float_t event_caloMET_phi, event_pfMET_phi, event_tcMET_phi; - - Float_t event_Mee; - - Float_t calojet_et[5]; - Float_t calojet_eta[5]; - Float_t calojet_phi[5]; - Float_t pfjet_et[5]; - Float_t pfjet_eta[5]; - Float_t pfjet_phi[5]; - - Int_t event_datasetTag; - - TFile *ZEE_VBTFpreseleFile_; - TFile *ZEE_VBTFselectionFile_; - - TTree *vbtfSele_tree; - TTree *vbtfPresele_tree; - - std::string ZEE_VBTFselectionFileName_; - std::string ZEE_VBTFpreseleFileName_; - - Bool_t includeJetInformationInNtuples_; - Double_t DRJetFromElectron_; - Int_t DatasetTag_; -}; - -#endif diff --git a/ElectroWeakAnalysis/ZEE/macros/ApplySelectionCuts.cpp b/ElectroWeakAnalysis/ZEE/macros/ApplySelectionCuts.cpp deleted file mode 100644 index 35b929f924196..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/ApplySelectionCuts.cpp +++ /dev/null @@ -1,1353 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TH1.h" -#include "TH2.h" -#include "TString.h" -#include -#include -#include -//#include - -using namespace std; - -//double deltaR(double eta1, double phi1, double eta2, double phi2); -//double deltaPhi(double phi1, double phi2); -void ApplySelectionCuts(TString InFileName) -{ - // Declare electron cut value variables - double cMEt, cPt; - double cECALiso_EB, cECALiso_EE; - double cHCALiso_EB, cHCALiso_EE; - double cTrackiso_EB, cTrackiso_EE; - double cDeltaEta_EB, cDeltaEta_EE; - double cDeltaPhi_EB, cDeltaPhi_EE; - double csIhIh_EB, csIhIh_EE; - // Declare neutrino cut value variables - double cHCAL; - double cHCALEt; - double cf1x5, cf2x5; - int celecmatch; - double cnusIhIh; - - // Import cut values from config file - ifstream cuts; - cuts.open("CutValues.txt", ifstream::in); - cuts >> cMEt; - cout << "MEt cut " << cMEt << "\n" << endl; - - cout << "Electron selection cuts:" << endl; - cuts >> cPt; - cout << "Pt cut " << cPt << endl; - cuts >> cECALiso_EB; - cout << "ECAL Isolation cut (EB) " << cECALiso_EB << endl; - cuts >> cECALiso_EE; - cout << "ECAL Isolation cut (EE) " << cECALiso_EE << endl; - cuts >> cHCALiso_EB; - cout << "HCAL Isolation cut (EB) " << cHCALiso_EB << endl; - cuts >> cHCALiso_EE; - cout << "HCAL Isolation cut (EE) " << cHCALiso_EE << endl; - cuts >> cTrackiso_EB; - cout << "Track Isolation cut (EB) " << cTrackiso_EB << endl; - cuts >> cTrackiso_EE; - cout << "Track Isolation cut (EE) " << cTrackiso_EE << endl; - cuts >> cDeltaEta_EB; - cout << "Delta Eta cut (EB) " << cDeltaEta_EB << endl; - cuts >> cDeltaEta_EE; - cout << "Delta Eta cut (EE) " << cDeltaEta_EE << endl; - cuts >> cDeltaPhi_EB; - cout << "Delta Phi cut (EB) " << cDeltaPhi_EB << endl; - cuts >> cDeltaPhi_EE; - cout << "Delta Phi cut (EE) " << cDeltaPhi_EE << endl; - cuts >> csIhIh_EB; - cout << "Sigma iEta iEta cut (EB) " << csIhIh_EB << endl; - cuts >> csIhIh_EE; - cout << "Sigma iEta iEta cut (EE) " << csIhIh_EE << "\n" << endl; - - cout << "Probe selection cuts:" << endl; - cuts >> cHCAL; - cout << "HCAL Energy cut " << cHCAL << endl; - cuts >> cf1x5; - cout << "Fraction of energy in 1x5 cut " << cf1x5 << endl; - cuts >> cf2x5; - cout << "Fraction of energy in 2x5 cut " << cf2x5 << endl; - cuts >> celecmatch; - cout << "Require electron match " << celecmatch << endl; - cuts >> cnusIhIh; - cout << "Sigma iEta iEta cut " << cnusIhIh << endl; - cuts >> cHCALEt; - cout << "HCAL Transverse Energy cut " << cHCALEt << "\n" << endl; -/* - cuts >> cPt; - cuts >> cECALiso_EB; - cuts >> cECALiso_EE; - cuts >> cHCALiso_EB; - cuts >> cHCALiso_EE; - cuts >> cTrackiso_EB; - cuts >> cTrackiso_EE; - cuts >> cDeltaEta_EB; - cuts >> cDeltaEta_EE; - cuts >> cDeltaPhi_EB; - cuts >> cDeltaPhi_EE; - cuts >> csIhIh_EB; - cuts >> csIhIh_EE; - cuts >> cHCAL; - cuts >> cf1x5; - cuts >> cf2x5; - cuts >> celecmatch; - cuts >> cnusIhIh; - cuts >> cHCALEt; -*/ - cuts.close(); - - cout << "Got Cut Values" << endl; - // Import probe selection efficiency weights -/* - double nueff[345]; - ifstream weightsin("EtaWeights.txt"); - - for(int eta=0; eta < 345; ++eta) - { - double weight; - weightsin >> weight; - nueff[eta] = weight; - } -*/ - int nTags, nErNu; - int nMcElecs_Zmum, nMcElecs_Final; - int nRecHitsInStrip[4], nRecHitsInCone[4]; - - double Z_pt[4]; - - double elec_q[4], elec_pt[4], elec_eta[4], elec_phi[4]; - double elec_rescPt[4], elec_rescEta[4];//, elec_rescPhi[4]; - - double /*probe_q[4], */probe_pt[4], probe_eta[4], probe_phi[4]; - double probe_rescPt[4], probe_rescEta[4];//, probe_rescPhi[4]; - - double ErsatzV1MEt[4], ErsatzV1Mt[4], ErsatzV1MEtphi[4]; - double ErsatzV1aMEt[4], ErsatzV1aMt[4], ErsatzV1aMEtphi[4]; - double ErsatzV1bMEt[4], ErsatzV1bMt[4], ErsatzV1bMEtphi[4]; - double ErsatzV1cMEt[4]/*, ErsatzV1cMt[4]*/, ErsatzV1cMEtphi[4]; - double ErsatzV2MEt[4], ErsatzV2Mt[4], ErsatzV2MEtphi[4]; - double caloMEt; - double mesc[4], rescMesc[4]; - - double elec_trkIso[4], elec_EcalIso[4], elec_HcalIso[4]; - double elec_sIhIh[4], elec_dPhi[4], elec_dEta[4]; - - double ernu_e1x5[4], ernu_e2x5[4], ernu_e5x5[4], ernu_sIhIh[4]; - double ernu_HcalEt015[4], ernu_HcalE015[4], ernu_trkIso[4]; - - double ernu_E[4], ernu_rawE[4], ernu_unclusE[4], ernu_d_McE_ScE[4]; - double ernu_fEtaCorrE[4], ernu_fBremCorrE[4], ernu_AddCorrE[4]; - int ernu_nClusters[4]; - - double McZ_m[4], McZ_pt[4]/*, McZ_eta[4]*/, McZ_phi[4]; - double McZ_rescM[4];//, McZ_rescPt[4], McZ_rescEta[4], McZ_rescPhi[4]; - double McElec_pt[4], McElec_eta[4];//, McElec_phi[4]; - double McElec_rescPt[4], McElec_rescEta[4];//, McElec_rescPhi[4]; - double McErNu_pt[4], McErNu_eta[4], McErNu_phi[4]; - double McErNu_rescPt[4], McErNu_rescEta[4], McErNu_rescPhi[4]; - double McElecErNu_dPhi[4], McElecErNu_dR[4]; - int ernu_McMatch[4]; - - cout << "Declared Variables" << endl; - //TString OutFileName = "/tmp/rnandi/"+InFileName+"_Selected"; - //TFile *outfile = TFile::Open(OutFileName+".root", "recreate"); - - TString OutFileName_Pass_EB = "/tmp/rnandi/"+InFileName+"_Selected_Pass_EB"; - TFile *outfile_pass_EB = TFile::Open(OutFileName_Pass_EB+".root", "recreate"); - - cout << "Opened outfile_Pass_EB" << endl; - - TH1I* h_nTags_Pass_EB = new TH1I("nTags", "Number of Tags;Number of Tags;Arbitrary Units", 4, 0, 4); - TH1I* h_nErNu_Pass_EB = new TH1I("nErNu", "Number of Ersatz Neutrinos;Number of Ersatz Neutrinos;Arbitrary Units", 2, 0, 2); - TH1I* h_nMcElecs_Zmum_Pass_EB = new TH1I("nMcElecs_Zmum", "Number of Monte Carlo Electrons with Z as Mother;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nMcElecs_Final_Pass_EB = new TH1I("nMcElecs_Final", "Number of Final State Monte Carlo Electrons;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nRecHitsInStrip_Pass_EB = new TH1I("nRecHitsInStrip", ";;Arbitrary Units", 20, 0, 20); - TH1I* h_nRecHitsInCone_Pass_EB = new TH1I("nRecHitsInCone", ";;Arbitrary Units", 20, 0, 20); - - TH1F* h_Z_pt_Pass_EB = new TH1F("Z_pt", "Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - - TH1F* h_elec_q_Pass_EB = new TH1F("elec_q", "Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt_Pass_EB = new TH1F("elec_pt", "Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta_Pass_EB = new TH1F("elec_eta", "Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_phi_Pass_EB = new TH1F("elec_phi", "Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_elec_sIhIh_Pass_EB = new TH1F("elec_sIhIh", "Electron #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitary Units", 100, 0., 0.05); - TH1F* h_elec_dEta_Pass_EB = new TH1F("elec_dEta", "Electron #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); - TH1F* h_elec_dPhi_Pass_EB = new TH1F("elec_dPhi", "Electron #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_elec_TrkIso_Pass_EB = new TH1F("elec_TrkIso", "Electon Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_EcalIso_Pass_EB = new TH1F("elec_EcalIso", "Electron ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_HcalIso_Pass_EB = new TH1F("elec_HcalIso", "Electron HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_rescPt_Pass_EB = new TH1F("elec_rescPt", "Electron Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_rescEta_Pass_EB = new TH1F("elec_rescEta", "Electron Rescaled #eta;Rescaled #eta;Arbitrary Units", 100, -3., 3.); - -// TH1F* h_ErNu_q_Pass_EB = new TH1F("h_ErNu_q", "Ersatz Neutrino Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_ErNu_pt_Pass_EB = new TH1F("ErNu_pt", "Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_eta_Pass_EB = new TH1F("ErNu_eta", "Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_ErNu_phi_Pass_EB = new TH1F("ErNu_phi", "Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_ErNu_rescPt_Pass_EB = new TH1F("ErNu_rescPt", "Ersatz Neutrino Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rescEta_Pass_EB = new TH1F("ErNu_rescEta", "Ersatz Neutrino Rescaled #eta;Rescaled #eta", 100, -3., 3.); - - TH1F* h_ErNu_sIhIh_Pass_EB = new TH1F("ErNu_sIhIh", "Ersatz Neutrino #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitrary Units", 100, 0., 0.05); -// TH1F* h_ErNu_dEta_Pass_EB = new TH1F("ErNu_dEta", "Ersatz Neutrino #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); -// TH1F* h_ErNu_dPhi_Pass_EB = new TH1F("ErNu_dPhi", "Ersatz Neutrino #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_ErNu_TrkIso_Pass_EB = new TH1F("ErNu_TrkIso", "Ersatz Neutrino Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_EcalIso_Pass_EB = new TH1F("ErNu_EcalIso", "Ersatz Neutrino ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_HcalIso_Pass_EB = new TH1F("ErNu_HcalIso", "Ersatz Neutrino HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_e1x5Max_Pass_EB = new TH1F("ErNu_e1x5Max", "Ersatz Neutrino Maximum Energy in 1x5 Array of Crystals;e1x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e2x5Max_Pass_EB = new TH1F("ErNu_e2x5Max", "Ersatz Neutrino Maximum Energy in 2x5 Array of Crystals;e2x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e5x5_Pass_EB = new TH1F("ErNu_e5x5", "Ersatz Neutrino Energy in 5x5 Array of Crystals;e5x5 / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_HcalE015_Pass_EB = new TH1F("ErNu_HcalE015", "Ersatz Neutrino HCAL Energy in a 0.15 Cone;HCAL Energy / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_HcalEt015_Pass_EB = new TH1F("ErNu_HcalEt015", "Ersatz Neutrino HCAL E_{T} in a 0.15 Cone;HCAL E_{T};Arbitrary Units", 100, 0., 10.); - -// TH1F* h_rechitE_Pass_EB = new TH1F("h_rechitE", "", 100, , ); // What is this - TH1F* h_ErNu_E_Pass_EB = new TH1F("ErNu_E", "Ersatz Neutrino Energy;Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rawE_Pass_EB = new TH1F("ErNu_rawE", "Ersatz Neutrino Raw Energy;Raw Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_unclusE_Pass_EB = new TH1F("ErNu_unclusE", "Ersatz Neutrino Unclustered ECAL Energy;Unclustered Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fEtaCorrE_Pass_EB = new TH1F("ErNu_fEtaCorrE", "Ersatz Neutrino fEta Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fBremCorrE_Pass_EB = new TH1F("ErNu_fBremCorrE", "Ersatz Neutrino fBrem Corrected Energy;Correcteed Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_AddCorrE_Pass_EB = new TH1F("ErNu_AddCorrE", "Ersatz Neutrino Add Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1I* h_ErNu_nClusters_Pass_EB = new TH1I("ErNu_nClusters", "Ersatz Neutrino Number of Clusters;Number of Clusters;Arbitrary Units", 10, 0, 10); - -// TH1F* h_ErsatzV1MEt_Pass_EB = new TH1F("ErsatzV1MEt", "ErsatzV1MEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1Mt_Pass_EB = new TH1F("ErsatzV1Mt", "ErsatzV1Mt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1MEtphi_Pass_EB = new TH1F("ErsatzV1MEtPhi", "ErsatzV1MEtPhi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEt_Pass_EB = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMt_Pass_EB = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEtphi_Pass_EB = new TH1F("ErsatzV1aMEtphi", "ErsatzV1aMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEt_Pass_EB = new TH1F("ErsatzV1bMEt", "ErsatzV1bMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMt_Pass_EB = new TH1F("ErsatzV1bMt", "ErsatzV1bMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEtphi_Pass_EB = new TH1F("ErsatzV1bMEtphi", "ErsatzV1bMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEt_Pass_EB = new TH1F("ErsatzV1cMEt", "ErsatzV1cMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMt_Pass_EB = new TH1F("ErsatzV1cMt", "ErsatzV1cMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEtphi_Pass_EB = new TH1F("ErsatzV1cMEtphi", "ErsatzV1cMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEt_Pass_EB = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2Mt_Pass_EB = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEtphi_Pass_EB = new TH1F("ErsatzV2MEtphi", "ErsatzV2MEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_RecoCaloMEt_Pass_EB = new TH1F("RecoCaloMEt", "Calometric #slashE_{T};#slashE_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1Mesc_Pass_EB = new TH1F("ErsatzV1Mesc", "Invariant Mass;Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_ErsatzV1rescMesc_Pass_EB = new TH1F("ErsatzV1rescMesc", "Rescaled Invariant Mass;Rescaled Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - - TH1F* h_McZ_M_Pass_EB = new TH1F("McZ_M", "Monte Carlo Z Mass;Mass / GeV; Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_rescM_Pass_EB = new TH1F("McZ_rescM", "Monte Carlo Rescaled Z Mass;Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_Pt_Pass_EB = new TH1F("McZ_Pt", "Monte Carlo Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_rescPt_Pass_EB = new TH1F("McZ_rescPt", "Monte Carlo Rescaled Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_Eta_Pass_EB = new TH1F("McZ_eta", "Monte Carlo Z #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McZ_rescEta_Pass_EB = new TH1F("McZ_rescEta", "Monte Carlo Rescaled Z #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McZ_Phi_Pass_EB = new TH1F("McZ_phi", "Monte Carlo Z #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McZ_rescPhi_Pass_EB = new TH1F("McZ_rescPhi", "Monte Carlo Z Rescaled #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElec_Pt_Pass_EB = new TH1F("McElec_Pt", "Monte Carlo Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_rescPt_Pass_EB = new TH1F("McElec_rescPt", "Monte Carlo Rescaled Electron p_{T};Rescaled p_{T};Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_Eta_Pass_EB = new TH1F("McElec_Eta", "Monte Carlo Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McElec_rescEta_Pass_EB = new TH1F("McElec_rescEta", "Monte Carlo Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McElec_Phi_Pass_EB = new TH1F("McElec_Phi", "Monte Carlo Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McElec_rescPhi_Pass_EB = new TH1F("McElec_rescPhi", "Monte Carlo Rescaled Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McErNu_Pt_Pass_EB = new TH1F("McErNu_Pt", "Monte Carlo Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_rescPt_Pass_EB = new TH1F("McErNu_rescPt", "Monte Carlo Rescaled Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_Eta_Pass_EB = new TH1F("McErNu_Eta", "Monte Carlo Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_rescEta_Pass_EB = new TH1F("McErNu_rescEta", "Monte Carlo Rescaled Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_Phi_Pass_EB = new TH1F("McErNu_Phi", "Monte Carlo Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McErNu_rescPhi_Pass_EB = new TH1F("McErNu_rescPhi", "Monte Carlo Rescaled Ersatz Neutrino #phi;Rescaled #phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElecErNu_dPhi_Pass_EB = new TH1F("McElecErNu_dPhi", "Monte Carlo #Delta#phi between Electrons;#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecErNu_dR_Pass_EB = new TH1F("McElecErNu_dR", "Monte Carlo #DeltaR between Electrons;MC Match;Arbitrary Units", 100, 0., 3.1416); - TH1I* h_McMatch_Pass_EB = new TH1I("McMatch", "Monte Carlo Match of Ersatz Neutrino to an Electron;MC Match;Arbitrary Units", 2, 0, 2); - - cout << "Declared histograms h_xxx_Pass_EB" << endl; -// TH1F* h_EtaInt_Pass_EB = new TH1F("EtaInt", "", 345, 0, 345); -// TH1F* h_EtaWeights_Pass_EB = new TH1F("EtaWeights", "", 40, 0., 2.); - - TString OutFileName_Pass_EE = "/tmp/rnandi/"+InFileName+"_Selected_Pass_EE"; - TFile *outfile_pass_EE = TFile::Open(OutFileName_Pass_EE+".root", "recreate"); - cout << "Opened outfile_Pass_EE" << endl; - - TH1I* h_nTags_Pass_EE = new TH1I("nTags", "Number of Tags;Number of Tags;Arbitrary Units", 4, 0, 4); - TH1I* h_nErNu_Pass_EE = new TH1I("nErNu", "Number of Ersatz Neutrinos;Number of Ersatz Neutrinos;Arbitrary Units", 2, 0, 2); - TH1I* h_nMcElecs_Zmum_Pass_EE = new TH1I("nMcElecs_Zmum", "Number of Monte Carlo Electrons with Z as Mother;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nMcElecs_Final_Pass_EE = new TH1I("nMcElecs_Final", "Number of Final State Monte Carlo Electrons;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nRecHitsInStrip_Pass_EE = new TH1I("nRecHitsInStrip", ";;Arbitrary Units", 20, 0, 20); - TH1I* h_nRecHitsInCone_Pass_EE = new TH1I("nRecHitsInCone", ";;Arbitrary Units", 20, 0, 20); - - TH1F* h_Z_pt_Pass_EE = new TH1F("Z_pt", "Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - - TH1F* h_elec_q_Pass_EE = new TH1F("elec_q", "Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt_Pass_EE = new TH1F("elec_pt", "Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta_Pass_EE = new TH1F("elec_eta", "Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_phi_Pass_EE = new TH1F("elec_phi", "Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_elec_sIhIh_Pass_EE = new TH1F("elec_sIhIh", "Electron #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitary Units", 100, 0., 0.05); - TH1F* h_elec_dEta_Pass_EE = new TH1F("elec_dEta", "Electron #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); - TH1F* h_elec_dPhi_Pass_EE = new TH1F("elec_dPhi", "Electron #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_elec_TrkIso_Pass_EE = new TH1F("elec_TrkIso", "Electon Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_EcalIso_Pass_EE = new TH1F("elec_EcalIso", "Electron ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_HcalIso_Pass_EE = new TH1F("elec_HcalIso", "Electron HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_rescPt_Pass_EE = new TH1F("elec_rescPt", "Electron Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_rescEta_Pass_EE = new TH1F("elec_rescEta", "Electron Rescaled #eta;Rescaled #eta;Arbitrary Units", 100, -3., 3.); - -// TH1F* h_ErNu_q_Pass_EE = new TH1F("h_ErNu_q", "Ersatz Neutrino Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_ErNu_pt_Pass_EE = new TH1F("ErNu_pt", "Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_eta_Pass_EE = new TH1F("ErNu_eta", "Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_ErNu_phi_Pass_EE = new TH1F("ErNu_phi", "Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_ErNu_rescPt_Pass_EE = new TH1F("ErNu_rescPt", "Ersatz Neutrino Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rescEta_Pass_EE = new TH1F("ErNu_rescEta", "Ersatz Neutrino Rescaled #eta;Rescaled #eta", 100, -3., 3.); - - TH1F* h_ErNu_sIhIh_Pass_EE = new TH1F("ErNu_sIhIh", "Ersatz Neutrino #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitrary Units", 100, 0., 0.05); -// TH1F* h_ErNu_dEta_Pass_EE = new TH1F("ErNu_dEta", "Ersatz Neutrino #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); -// TH1F* h_ErNu_dPhi_Pass_EE = new TH1F("ErNu_dPhi", "Ersatz Neutrino #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_ErNu_TrkIso_Pass_EE = new TH1F("ErNu_TrkIso", "Ersatz Neutrino Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_EcalIso_Pass_EE = new TH1F("ErNu_EcalIso", "Ersatz Neutrino ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_HcalIso_Pass_EE = new TH1F("ErNu_HcalIso", "Ersatz Neutrino HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_e1x5Max_Pass_EE = new TH1F("ErNu_e1x5Max", "Ersatz Neutrino Maximum Energy in 1x5 Array of Crystals;e1x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e2x5Max_Pass_EE = new TH1F("ErNu_e2x5Max", "Ersatz Neutrino Maximum Energy in 2x5 Array of Crystals;e2x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e5x5_Pass_EE = new TH1F("ErNu_e5x5", "Ersatz Neutrino Energy in 5x5 Array of Crystals;e5x5 / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_HcalE015_Pass_EE = new TH1F("ErNu_HcalE015", "Ersatz Neutrino HCAL Energy in a 0.15 Cone;HCAL Energy / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_HcalEt015_Pass_EE = new TH1F("ErNu_HcalEt015", "Ersatz Neutrino HCAL E_{T} in a 0.15 Cone;HCAL E_{T};Arbitrary Units", 100, 0., 10.); - -// TH1F* h_rechitE_Pass_EE = new TH1F("h_rechitE", "", 100, , ); // What is this - TH1F* h_ErNu_E_Pass_EE = new TH1F("ErNu_E", "Ersatz Neutrino Energy;Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rawE_Pass_EE = new TH1F("ErNu_rawE", "Ersatz Neutrino Raw Energy;Raw Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_unclusE_Pass_EE = new TH1F("ErNu_unclusE", "Ersatz Neutrino Unclustered ECAL Energy;Unclustered Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fEtaCorrE_Pass_EE = new TH1F("ErNu_fEtaCorrE", "Ersatz Neutrino fEta Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fBremCorrE_Pass_EE = new TH1F("ErNu_fBremCorrE", "Ersatz Neutrino fBrem Corrected Energy;Correcteed Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_AddCorrE_Pass_EE = new TH1F("ErNu_AddCorrE", "Ersatz Neutrino Add Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1I* h_ErNu_nClusters_Pass_EE = new TH1I("ErNu_nClusters", "Ersatz Neutrino Number of Clusters;Number of Clusters;Arbitrary Units", 10, 0, 10); - -// TH1F* h_ErsatzV1MEt_Pass_EE = new TH1F("ErsatzV1MEt", "ErsatzV1MEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1Mt_Pass_EE = new TH1F("ErsatzV1Mt", "ErsatzV1Mt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1MEtphi_Pass_EE = new TH1F("ErsatzV1MEtPhi", "ErsatzV1MEtPhi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEt_Pass_EE = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMt_Pass_EE = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEtphi_Pass_EE = new TH1F("ErsatzV1aMEtphi", "ErsatzV1aMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEt_Pass_EE = new TH1F("ErsatzV1bMEt", "ErsatzV1bMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMt_Pass_EE = new TH1F("ErsatzV1bMt", "ErsatzV1bMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEtphi_Pass_EE = new TH1F("ErsatzV1bMEtphi", "ErsatzV1bMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEt_Pass_EE = new TH1F("ErsatzV1cMEt", "ErsatzV1cMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMt_Pass_EE = new TH1F("ErsatzV1cMt", "ErsatzV1cMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEtphi_Pass_EE = new TH1F("ErsatzV1cMEtphi", "ErsatzV1cMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEt_Pass_EE = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2Mt_Pass_EE = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEtphi_Pass_EE = new TH1F("ErsatzV2MEtphi", "ErsatzV2MEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_RecoCaloMEt_Pass_EE = new TH1F("RecoCaloMEt", "Calometric #slashE_{T};#slashE_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1Mesc_Pass_EE = new TH1F("ErsatzV1Mesc", "Invariant Mass;Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_ErsatzV1rescMesc_Pass_EE = new TH1F("ErsatzV1rescMesc", "Rescaled Invariant Mass;Rescaled Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - - TH1F* h_McZ_M_Pass_EE = new TH1F("McZ_M", "Monte Carlo Z Mass;Mass / GeV; Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_rescM_Pass_EE = new TH1F("McZ_rescM", "Monte Carlo Rescaled Z Mass;Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_Pt_Pass_EE = new TH1F("McZ_Pt", "Monte Carlo Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_rescPt_Pass_EE = new TH1F("McZ_rescPt", "Monte Carlo Rescaled Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_Eta_Pass_EE = new TH1F("McZ_eta", "Monte Carlo Z #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McZ_rescEta_Pass_EE = new TH1F("McZ_rescEta", "Monte Carlo Rescaled Z #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McZ_Phi_Pass_EE = new TH1F("McZ_phi", "Monte Carlo Z #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McZ_rescPhi_Pass_EE = new TH1F("McZ_rescPhi", "Monte Carlo Z Rescaled #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElec_Pt_Pass_EE = new TH1F("McElec_Pt", "Monte Carlo Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_rescPt_Pass_EE = new TH1F("McElec_rescPt", "Monte Carlo Rescaled Electron p_{T};Rescaled p_{T};Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_Eta_Pass_EE = new TH1F("McElec_Eta", "Monte Carlo Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McElec_rescEta_Pass_EE = new TH1F("McElec_rescEta", "Monte Carlo Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McElec_Phi_Pass_EE = new TH1F("McElec_Phi", "Monte Carlo Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McElec_rescPhi_Pass_EE = new TH1F("McElec_rescPhi", "Monte Carlo Rescaled Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McErNu_Pt_Pass_EE = new TH1F("McErNu_Pt", "Monte Carlo Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_rescPt_Pass_EE = new TH1F("McErNu_rescPt", "Monte Carlo Rescaled Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_Eta_Pass_EE = new TH1F("McErNu_Eta", "Monte Carlo Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_rescEta_Pass_EE = new TH1F("McErNu_rescEta", "Monte Carlo Rescaled Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_Phi_Pass_EE = new TH1F("McErNu_Phi", "Monte Carlo Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McErNu_rescPhi_Pass_EE = new TH1F("McErNu_rescPhi", "Monte Carlo Rescaled Ersatz Neutrino #phi;Rescaled #phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElecErNu_dPhi_Pass_EE = new TH1F("McElecErNu_dPhi", "Monte Carlo #Delta#phi between Electrons;#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecErNu_dR_Pass_EE = new TH1F("McElecErNu_dR", "Monte Carlo #DeltaR between Electrons;MC Match;Arbitrary Units", 100, 0., 3.1416); - TH1I* h_McMatch_Pass_EE = new TH1I("McMatch", "Monte Carlo Match of Ersatz Neutrino to an Electron;MC Match;Arbitrary Units", 2, 0, 2); - - cout << "Declared histograms h_xxx_Pass_EE" << endl; -// TH1F* h_EtaInt_Pass_EE = new TH1F("EtaInt", "", 345, 0, 345); -// TH1F* h_EtaWeights_Pass_EE = new TH1F("EtaWeights", "", 40, 0., 2.); - - TString OutFileName_Fail_EB = "/tmp/rnandi/"+InFileName+"_Selected_Fail_EB"; - TFile *outfile_fail_EB = TFile::Open(OutFileName_Fail_EB+".root", "recreate"); - cout << "Opened outfile_Fail_EB" << endl; - - TH1I* h_nTags_Fail_EB = new TH1I("nTags", "Number of Tags;Number of Tags;Arbitrary Units", 4, 0, 4); - TH1I* h_nErNu_Fail_EB = new TH1I("nErNu", "Number of Ersatz Neutrinos;Number of Ersatz Neutrinos;Arbitrary Units", 2, 0, 2); - TH1I* h_nMcElecs_Zmum_Fail_EB = new TH1I("nMcElecs_Zmum", "Number of Monte Carlo Electrons with Z as Mother;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nMcElecs_Final_Fail_EB = new TH1I("nMcElecs_Final", "Number of Final State Monte Carlo Electrons;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nRecHitsInStrip_Fail_EB = new TH1I("nRecHitsInStrip", ";;Arbitrary Units", 20, 0, 20); - TH1I* h_nRecHitsInCone_Fail_EB = new TH1I("nRecHitsInCone", ";;Arbitrary Units", 20, 0, 20); - - TH1F* h_Z_pt_Fail_EB = new TH1F("Z_pt", "Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - - TH1F* h_elec_q_Fail_EB = new TH1F("elec_q", "Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt_Fail_EB = new TH1F("elec_pt", "Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta_Fail_EB = new TH1F("elec_eta", "Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_phi_Fail_EB = new TH1F("elec_phi", "Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_elec_sIhIh_Fail_EB = new TH1F("elec_sIhIh", "Electron #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitary Units", 100, 0., 0.05); - TH1F* h_elec_dEta_Fail_EB = new TH1F("elec_dEta", "Electron #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); - TH1F* h_elec_dPhi_Fail_EB = new TH1F("elec_dPhi", "Electron #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_elec_TrkIso_Fail_EB = new TH1F("elec_TrkIso", "Electon Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_EcalIso_Fail_EB = new TH1F("elec_EcalIso", "Electron ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_HcalIso_Fail_EB = new TH1F("elec_HcalIso", "Electron HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_rescPt_Fail_EB = new TH1F("elec_rescPt", "Electron Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_rescEta_Fail_EB = new TH1F("elec_rescEta", "Electron Rescaled #eta;Rescaled #eta;Arbitrary Units", 100, -3., 3.); - -// TH1F* h_ErNu_q_Fail_EB = new TH1F("h_ErNu_q", "Ersatz Neutrino Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_ErNu_pt_Fail_EB = new TH1F("ErNu_pt", "Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_eta_Fail_EB = new TH1F("ErNu_eta", "Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_ErNu_phi_Fail_EB = new TH1F("ErNu_phi", "Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_ErNu_rescPt_Fail_EB = new TH1F("ErNu_rescPt", "Ersatz Neutrino Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rescEta_Fail_EB = new TH1F("ErNu_rescEta", "Ersatz Neutrino Rescaled #eta;Rescaled #eta", 100, -3., 3.); - - TH1F* h_ErNu_sIhIh_Fail_EB = new TH1F("ErNu_sIhIh", "Ersatz Neutrino #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitrary Units", 100, 0., 0.05); -// TH1F* h_ErNu_dEta_Fail_EB = new TH1F("ErNu_dEta", "Ersatz Neutrino #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); -// TH1F* h_ErNu_dPhi_Fail_EB = new TH1F("ErNu_dPhi", "Ersatz Neutrino #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_ErNu_TrkIso_Fail_EB = new TH1F("ErNu_TrkIso", "Ersatz Neutrino Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_EcalIso_Fail_EB = new TH1F("ErNu_EcalIso", "Ersatz Neutrino ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_HcalIso_Fail_EB = new TH1F("ErNu_HcalIso", "Ersatz Neutrino HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_e1x5Max_Fail_EB = new TH1F("ErNu_e1x5Max", "Ersatz Neutrino Maximum Energy in 1x5 Array of Crystals;e1x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e2x5Max_Fail_EB = new TH1F("ErNu_e2x5Max", "Ersatz Neutrino Maximum Energy in 2x5 Array of Crystals;e2x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e5x5_Fail_EB = new TH1F("ErNu_e5x5", "Ersatz Neutrino Energy in 5x5 Array of Crystals;e5x5 / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_HcalE015_Fail_EB = new TH1F("ErNu_HcalE015", "Ersatz Neutrino HCAL Energy in a 0.15 Cone;HCAL Energy / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_HcalEt015_Fail_EB = new TH1F("ErNu_HcalEt015", "Ersatz Neutrino HCAL E_{T} in a 0.15 Cone;HCAL E_{T};Arbitrary Units", 100, 0., 10.); - -// TH1F* h_rechitE_Fail_EB = new TH1F("h_rechitE", "", 100, , ); // What is this - TH1F* h_ErNu_E_Fail_EB = new TH1F("ErNu_E", "Ersatz Neutrino Energy;Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rawE_Fail_EB = new TH1F("ErNu_rawE", "Ersatz Neutrino Raw Energy;Raw Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_unclusE_Fail_EB = new TH1F("ErNu_unclusE", "Ersatz Neutrino Unclustered ECAL Energy;Unclustered Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fEtaCorrE_Fail_EB = new TH1F("ErNu_fEtaCorrE", "Ersatz Neutrino fEta Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fBremCorrE_Fail_EB = new TH1F("ErNu_fBremCorrE", "Ersatz Neutrino fBrem Corrected Energy;Correcteed Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_AddCorrE_Fail_EB = new TH1F("ErNu_AddCorrE", "Ersatz Neutrino Add Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1I* h_ErNu_nClusters_Fail_EB = new TH1I("ErNu_nClusters", "Ersatz Neutrino Number of Clusters;Number of Clusters;Arbitrary Units", 10, 0, 10); - -// TH1F* h_ErsatzV1MEt_Fail_EB = new TH1F("ErsatzV1MEt", "ErsatzV1MEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1Mt_Fail_EB = new TH1F("ErsatzV1Mt", "ErsatzV1Mt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1MEtphi_Fail_EB = new TH1F("ErsatzV1MEtPhi", "ErsatzV1MEtPhi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEt_Fail_EB = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMt_Fail_EB = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEtphi_Fail_EB = new TH1F("ErsatzV1aMEtphi", "ErsatzV1aMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEt_Fail_EB = new TH1F("ErsatzV1bMEt", "ErsatzV1bMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMt_Fail_EB = new TH1F("ErsatzV1bMt", "ErsatzV1bMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEtphi_Fail_EB = new TH1F("ErsatzV1bMEtphi", "ErsatzV1bMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEt_Fail_EB = new TH1F("ErsatzV1cMEt", "ErsatzV1cMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMt_Fail_EB = new TH1F("ErsatzV1cMt", "ErsatzV1cMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEtphi_Fail_EB = new TH1F("ErsatzV1cMEtphi", "ErsatzV1cMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEt_Fail_EB = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2Mt_Fail_EB = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEtphi_Fail_EB = new TH1F("ErsatzV2MEtphi", "ErsatzV2MEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_RecoCaloMEt_Fail_EB = new TH1F("RecoCaloMEt", "Calometric #slashE_{T};#slashE_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1Mesc_Fail_EB = new TH1F("ErsatzV1Mesc", "Invariant Mass;Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_ErsatzV1rescMesc_Fail_EB = new TH1F("ErsatzV1rescMesc", "Rescaled Invariant Mass;Rescaled Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - - TH1F* h_McZ_M_Fail_EB = new TH1F("McZ_M", "Monte Carlo Z Mass;Mass / GeV; Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_rescM_Fail_EB = new TH1F("McZ_rescM", "Monte Carlo Rescaled Z Mass;Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_Pt_Fail_EB = new TH1F("McZ_Pt", "Monte Carlo Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_rescPt_Fail_EB = new TH1F("McZ_rescPt", "Monte Carlo Rescaled Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_Eta_Fail_EB = new TH1F("McZ_eta", "Monte Carlo Z #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McZ_rescEta_Fail_EB = new TH1F("McZ_rescEta", "Monte Carlo Rescaled Z #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McZ_Phi_Fail_EB = new TH1F("McZ_phi", "Monte Carlo Z #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McZ_rescPhi_Fail_EB = new TH1F("McZ_rescPhi", "Monte Carlo Z Rescaled #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElec_Pt_Fail_EB = new TH1F("McElec_Pt", "Monte Carlo Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_rescPt_Fail_EB = new TH1F("McElec_rescPt", "Monte Carlo Rescaled Electron p_{T};Rescaled p_{T};Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_Eta_Fail_EB = new TH1F("McElec_Eta", "Monte Carlo Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McElec_rescEta_Fail_EB = new TH1F("McElec_rescEta", "Monte Carlo Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McElec_Phi_Fail_EB = new TH1F("McElec_Phi", "Monte Carlo Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McElec_rescPhi_Fail_EB = new TH1F("McElec_rescPhi", "Monte Carlo Rescaled Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McErNu_Pt_Fail_EB = new TH1F("McErNu_Pt", "Monte Carlo Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_rescPt_Fail_EB = new TH1F("McErNu_rescPt", "Monte Carlo Rescaled Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_Eta_Fail_EB = new TH1F("McErNu_Eta", "Monte Carlo Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_rescEta_Fail_EB = new TH1F("McErNu_rescEta", "Monte Carlo Rescaled Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_Phi_Fail_EB = new TH1F("McErNu_Phi", "Monte Carlo Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McErNu_rescPhi_Fail_EB = new TH1F("McErNu_rescPhi", "Monte Carlo Rescaled Ersatz Neutrino #phi;Rescaled #phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElecErNu_dPhi_Fail_EB = new TH1F("McElecErNu_dPhi", "Monte Carlo #Delta#phi between Electrons;#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecErNu_dR_Fail_EB = new TH1F("McElecErNu_dR", "Monte Carlo #DeltaR between Electrons;MC Match;Arbitrary Units", 100, 0., 3.1416); - TH1I* h_McMatch_Fail_EB = new TH1I("McMatch", "Monte Carlo Match of Ersatz Neutrino to an Electron;MC Match;Arbitrary Units", 2, 0, 2); - -// TH1F* h_EtaInt_Fail_EB = new TH1F("EtaInt", "", 345, 0, 345); -// TH1F* h_EtaWeights_Fail_EB = new TH1F("EtaWeights", "", 40, 0., 2.); - cout << "Declared histograms h_xxx_Fail_EB" << endl; - - TString OutFileName_Fail_EE = "/tmp/rnandi/"+InFileName+"_Selected_Fail_EE"; - TFile *outfile_fail_EE = TFile::Open(OutFileName_Fail_EE+".root", "recreate"); - cout << "Opened outfile_Fail_EE" << endl; - - TH1I* h_nTags_Fail_EE = new TH1I("nTags", "Number of Tags;Number of Tags;Arbitrary Units", 4, 0, 4); - TH1I* h_nErNu_Fail_EE = new TH1I("nErNu", "Number of Ersatz Neutrinos;Number of Ersatz Neutrinos;Arbitrary Units", 2, 0, 2); - TH1I* h_nMcElecs_Zmum_Fail_EE = new TH1I("nMcElecs_Zmum", "Number of Monte Carlo Electrons with Z as Mother;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nMcElecs_Final_Fail_EE = new TH1I("nMcElecs_Final", "Number of Final State Monte Carlo Electrons;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nRecHitsInStrip_Fail_EE = new TH1I("nRecHitsInStrip", ";;Arbitrary Units", 20, 0, 20); - TH1I* h_nRecHitsInCone_Fail_EE = new TH1I("nRecHitsInCone", ";;Arbitrary Units", 20, 0, 20); - - TH1F* h_Z_pt_Fail_EE = new TH1F("Z_pt", "Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - - TH1F* h_elec_q_Fail_EE = new TH1F("elec_q", "Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt_Fail_EE = new TH1F("elec_pt", "Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta_Fail_EE = new TH1F("elec_eta", "Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_phi_Fail_EE = new TH1F("elec_phi", "Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_elec_sIhIh_Fail_EE = new TH1F("elec_sIhIh", "Electron #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitary Units", 100, 0., 0.05); - TH1F* h_elec_dEta_Fail_EE = new TH1F("elec_dEta", "Electron #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); - TH1F* h_elec_dPhi_Fail_EE = new TH1F("elec_dPhi", "Electron #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_elec_TrkIso_Fail_EE = new TH1F("elec_TrkIso", "Electon Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_EcalIso_Fail_EE = new TH1F("elec_EcalIso", "Electron ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_HcalIso_Fail_EE = new TH1F("elec_HcalIso", "Electron HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_rescPt_Fail_EE = new TH1F("elec_rescPt", "Electron Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_rescEta_Fail_EE = new TH1F("elec_rescEta", "Electron Rescaled #eta;Rescaled #eta;Arbitrary Units", 100, -3., 3.); - -// TH1F* h_ErNu_q_Fail_EE = new TH1F("h_ErNu_q", "Ersatz Neutrino Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_ErNu_pt_Fail_EE = new TH1F("ErNu_pt", "Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_eta_Fail_EE = new TH1F("ErNu_eta", "Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_ErNu_phi_Fail_EE = new TH1F("ErNu_phi", "Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_ErNu_rescPt_Fail_EE = new TH1F("ErNu_rescPt", "Ersatz Neutrino Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rescEta_Fail_EE = new TH1F("ErNu_rescEta", "Ersatz Neutrino Rescaled #eta;Rescaled #eta", 100, -3., 3.); - - TH1F* h_ErNu_sIhIh_Fail_EE = new TH1F("ErNu_sIhIh", "Ersatz Neutrino #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitrary Units", 100, 0., 0.05); -// TH1F* h_ErNu_dEta_Fail_EE = new TH1F("ErNu_dEta", "Ersatz Neutrino #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); -// TH1F* h_ErNu_dPhi_Fail_EE = new TH1F("ErNu_dPhi", "Ersatz Neutrino #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_ErNu_TrkIso_Fail_EE = new TH1F("ErNu_TrkIso", "Ersatz Neutrino Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_EcalIso_Fail_EE = new TH1F("ErNu_EcalIso", "Ersatz Neutrino ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_HcalIso_Fail_EE = new TH1F("ErNu_HcalIso", "Ersatz Neutrino HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_e1x5Max_Fail_EE = new TH1F("ErNu_e1x5Max", "Ersatz Neutrino Maximum Energy in 1x5 Array of Crystals;e1x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e2x5Max_Fail_EE = new TH1F("ErNu_e2x5Max", "Ersatz Neutrino Maximum Energy in 2x5 Array of Crystals;e2x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e5x5_Fail_EE = new TH1F("ErNu_e5x5", "Ersatz Neutrino Energy in 5x5 Array of Crystals;e5x5 / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_HcalE015_Fail_EE = new TH1F("ErNu_HcalE015", "Ersatz Neutrino HCAL Energy in a 0.15 Cone;HCAL Energy / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_HcalEt015_Fail_EE = new TH1F("ErNu_HcalEt015", "Ersatz Neutrino HCAL E_{T} in a 0.15 Cone;HCAL E_{T};Arbitrary Units", 100, 0., 10.); - -// TH1F* h_rechitE_Fail_EE = new TH1F("h_rechitE", "", 100, , ); // What is this - TH1F* h_ErNu_E_Fail_EE = new TH1F("ErNu_E", "Ersatz Neutrino Energy;Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rawE_Fail_EE = new TH1F("ErNu_rawE", "Ersatz Neutrino Raw Energy;Raw Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_unclusE_Fail_EE = new TH1F("ErNu_unclusE", "Ersatz Neutrino Unclustered ECAL Energy;Unclustered Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fEtaCorrE_Fail_EE = new TH1F("ErNu_fEtaCorrE", "Ersatz Neutrino fEta Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fBremCorrE_Fail_EE = new TH1F("ErNu_fBremCorrE", "Ersatz Neutrino fBrem Corrected Energy;Correcteed Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_AddCorrE_Fail_EE = new TH1F("ErNu_AddCorrE", "Ersatz Neutrino Add Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1I* h_ErNu_nClusters_Fail_EE = new TH1I("ErNu_nClusters", "Ersatz Neutrino Number of Clusters;Number of Clusters;Arbitrary Units", 10, 0, 10); - -// TH1F* h_ErsatzV1MEt_Fail_EE = new TH1F("ErsatzV1MEt", "ErsatzV1MEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1Mt_Fail_EE = new TH1F("ErsatzV1Mt", "ErsatzV1Mt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1MEtphi_Fail_EE = new TH1F("ErsatzV1MEtPhi", "ErsatzV1MEtPhi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEt_Fail_EE = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMt_Fail_EE = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEtphi_Fail_EE = new TH1F("ErsatzV1aMEtphi", "ErsatzV1aMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEt_Fail_EE = new TH1F("ErsatzV1bMEt", "ErsatzV1bMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMt_Fail_EE = new TH1F("ErsatzV1bMt", "ErsatzV1bMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEtphi_Fail_EE = new TH1F("ErsatzV1bMEtphi", "ErsatzV1bMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEt_Fail_EE = new TH1F("ErsatzV1cMEt", "ErsatzV1cMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMt_Fail_EE = new TH1F("ErsatzV1cMt", "ErsatzV1cMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEtphi_Fail_EE = new TH1F("ErsatzV1cMEtphi", "ErsatzV1cMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEt_Fail_EE = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2Mt_Fail_EE = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEtphi_Fail_EE = new TH1F("ErsatzV2MEtphi", "ErsatzV2MEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_RecoCaloMEt_Fail_EE = new TH1F("RecoCaloMEt", "Calometric #slashE_{T};#slashE_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1Mesc_Fail_EE = new TH1F("ErsatzV1Mesc", "Invariant Mass;Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_ErsatzV1rescMesc_Fail_EE = new TH1F("ErsatzV1rescMesc", "Rescaled Invariant Mass;Rescaled Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - - TH1F* h_McZ_M_Fail_EE = new TH1F("McZ_M", "Monte Carlo Z Mass;Mass / GeV; Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_rescM_Fail_EE = new TH1F("McZ_rescM", "Monte Carlo Rescaled Z Mass;Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_Pt_Fail_EE = new TH1F("McZ_Pt", "Monte Carlo Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_rescPt_Fail_EE = new TH1F("McZ_rescPt", "Monte Carlo Rescaled Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_Eta_Fail_EE = new TH1F("McZ_eta", "Monte Carlo Z #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McZ_rescEta_Fail_EE = new TH1F("McZ_rescEta", "Monte Carlo Rescaled Z #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McZ_Phi_Fail_EE = new TH1F("McZ_phi", "Monte Carlo Z #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McZ_rescPhi_Fail_EE = new TH1F("McZ_rescPhi", "Monte Carlo Z Rescaled #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElec_Pt_Fail_EE = new TH1F("McElec_Pt", "Monte Carlo Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_rescPt_Fail_EE = new TH1F("McElec_rescPt", "Monte Carlo Rescaled Electron p_{T};Rescaled p_{T};Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_Eta_Fail_EE = new TH1F("McElec_Eta", "Monte Carlo Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McElec_rescEta_Fail_EE = new TH1F("McElec_rescEta", "Monte Carlo Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McElec_Phi_Fail_EE = new TH1F("McElec_Phi", "Monte Carlo Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McElec_rescPhi_Fail_EE = new TH1F("McElec_rescPhi", "Monte Carlo Rescaled Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McErNu_Pt_Fail_EE = new TH1F("McErNu_Pt", "Monte Carlo Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_rescPt_Fail_EE = new TH1F("McErNu_rescPt", "Monte Carlo Rescaled Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_Eta_Fail_EE = new TH1F("McErNu_Eta", "Monte Carlo Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_rescEta_Fail_EE = new TH1F("McErNu_rescEta", "Monte Carlo Rescaled Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_Phi_Fail_EE = new TH1F("McErNu_Phi", "Monte Carlo Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McErNu_rescPhi_Fail_EE = new TH1F("McErNu_rescPhi", "Monte Carlo Rescaled Ersatz Neutrino #phi;Rescaled #phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElecErNu_dPhi_Fail_EE = new TH1F("McElecErNu_dPhi", "Monte Carlo #Delta#phi between Electrons;#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecErNu_dR_Fail_EE = new TH1F("McElecErNu_dR", "Monte Carlo #DeltaR between Electrons;MC Match;Arbitrary Units", 100, 0., 3.1416); - TH1I* h_McMatch_Fail_EE = new TH1I("McMatch", "Monte Carlo Match of Ersatz Neutrino to an Electron;MC Match;Arbitrary Units", 2, 0, 2); - -// TH1F* h_EtaInt_Fail_EE = new TH1F("EtaInt", "", 345, 0, 345); -// TH1F* h_EtaWeights_Fail_EE = new TH1F("EtaWeights", "", 40, 0., 2.); - cout << "Declared histograms h_xxx_Fail_EE" << endl; - - //TTree *t_pass_EB = new TTree(Pass_EB, "Pass_tIso_EB"); - //TTree *t_pass_EE = new TTree(Pass_EE, "Pass_tIso_EE"); - //TTree *t_fail_EB = new TTree(Fail_EB, "Fail_tIso_EB"); - //TTree *t_fail_EE = new TTree(Fail_EB, "Fail_tIso_EE"); - //TTree *t_pass_trackiso_EB = t->CloneTree(0); - //TTree *t_pass_trackiso_EE = t->CloneTree(0); - //TTree *t_fail_trackiso_EE = t->CloneTree(0); - //TTree *t_fail_trackiso_EE = t->CloneTree(0); - - //TString OutFileNameFail = "/tmp/rnandi/"+InFileName+"_Selected_Fail"; - //TFile *outfile_fail = TFile::Open(OutFileNameFail+".root", "recreate"); - - //TTree *t_fail_trackiso = t->CloneTree(0); - //t_fail_trackiso->SetTitle("Fail_tIso"); - - TFile *file = TFile::Open("/tmp/rnandi/"+InFileName+".root"); - - TTree *t = (TTree*) file->Get("ErsatzMEt/ErsatzMEt"); - std::cout<< "Got Tree " << t->GetTitle() << std::endl; -/* - int nErNu; - double tag_pt[4], tag_eta[4], tag_phi[4], probe_pt[4], probe_eta[4], probe_phi[4]; - double ErsatzV1bMEt[4]; - double elec_trckIso[4], elec_ECALIso[4], elec_HCALIso[4]; - double elec_sigIhIh[4], elec_dPhi[4], elec_dEta[4]; - double tag_rescPt[4], mesc[4]; - double nu_e1x5[4], nu_e2x5[4], nu_e5x5[4], nu_sigIhIh[4]; - double nu_HCALEt[4], nu_HCAL[4], nu_trckIso[4]; - double caloMEt; - int nu_elec; -*/ - cout << "Setting up branches." << endl; - - TBranch* bNum_Tags = t->GetBranch("nTags"); - bNum_Tags->SetAddress(&nTags); - TBranch* bNum_ErNu = t->GetBranch("nProbes"); - bNum_ErNu->SetAddress(&nErNu); - TBranch* bNum_McElecs_Zmum = t->GetBranch("McElec_nZmum"); - bNum_McElecs_Zmum->SetAddress(&nMcElecs_Zmum); - TBranch* bNum_McElecs_Final = t->GetBranch("McElec_nFinal"); - bNum_McElecs_Final->SetAddress(&nMcElecs_Final); - TBranch* bNum_RecHitsInStrip = t->GetBranch("nRecHitsInStrip"); - bNum_RecHitsInStrip->SetAddress(&nRecHitsInStrip); - TBranch* bNum_RecHitsInCone = t->GetBranch("nRecHitsInCone"); - bNum_RecHitsInCone->SetAddress(&nRecHitsInCone); - - //Z properties - TBranch* bZ_pt = t->GetBranch("Z_pt"); - bZ_pt->SetAddress(&Z_pt); - - //Selected electron properties - TBranch* bTag_q = t->GetBranch("tag_q"); - bTag_q->SetAddress(&elec_q); - TBranch* bTag_pt = t->GetBranch("tag_pt"); - bTag_pt->SetAddress(&elec_pt); - TBranch* bTag_eta = t->GetBranch("tag_eta"); - bTag_eta->SetAddress(&elec_eta); - TBranch* bTag_phi = t->GetBranch("tag_phi"); - bTag_phi->SetAddress(&elec_phi); - TBranch* bTag_rescPt = t->GetBranch("tag_rescPt"); - bTag_rescPt->SetAddress(&elec_rescPt); - TBranch* bTag_rescEta = t->GetBranch("tag_rescEta"); - bTag_rescEta->SetAddress(&elec_rescEta); -// TBranch* bTag_rescPhi = t->GetBranch("tag_rescPhi"); -// bTag_rescPhi->SetAddress(&elec_rescPhi); - - TBranch* bTag_sIhIh = t->GetBranch("tag_sIhIh"); - bTag_sIhIh->SetAddress(&elec_sIhIh); - TBranch* bTag_dPhi = t->GetBranch("tag_dPhiIn"); - bTag_dPhi->SetAddress(&elec_dPhi); - TBranch* bTag_dEta = t->GetBranch("tag_dEtaIn"); - bTag_dEta->SetAddress(&elec_dEta); - TBranch* bTag_tIso = t->GetBranch("tag_isoTrack"); - bTag_tIso->SetAddress(&elec_trkIso); - TBranch* bTag_eIso = t->GetBranch("tag_isoEcal"); - bTag_eIso->SetAddress(&elec_EcalIso); - TBranch* bTag_hIso = t->GetBranch("tag_isoHcal"); - bTag_hIso->SetAddress(&elec_HcalIso); - - //ersatz neutrino properties -// TBranch* bProbe_q = t->GetBranch("probe_q"); -// bProbe_q->SetAddress(&probe_q); - TBranch* bProbe_pt = t->GetBranch("probe_pt"); - bProbe_pt->SetAddress(&probe_pt); - TBranch* bProbe_eta = t->GetBranch("probe_eta"); - bProbe_eta->SetAddress(&probe_eta); - TBranch* bProbe_phi = t->GetBranch("probe_phi"); - bProbe_phi->SetAddress(&probe_phi); - TBranch* bProbe_rescPt = t->GetBranch("probe_rescPt"); - bProbe_rescPt->SetAddress(&probe_rescPt); - TBranch* bProbe_rescEta = t->GetBranch("probe_rescEta"); - bProbe_rescEta->SetAddress(&probe_rescEta); -// TBranch* bProbe_rescPhi = t->GetBranch("probe_rescPhi"); -// bProbe_rescPhi->SetAddress(&probe_rescPhi); - TBranch* bProbe_trckIso = t->GetBranch("probe_isoTrack"); - bProbe_trckIso->SetAddress(&ernu_trkIso); -// TBranch* bProbe_ECALIso = t->GetBranch("probe_isoECAL"); -// bProbe_ECALIso->SetAddress(&ernu_ECALIso); -// TBranch* bProbe_HCALIso = t->GetBranch("probe_isoHCAL"); -// bProbe_HCALIso->SetAddress(&ernu_HCALIso); - TBranch* bProbe_sIhIh = t->GetBranch("probe_sIhIh"); - bProbe_sIhIh->SetAddress(&ernu_sIhIh); -// TBranch* bProbe_DeltaEta = t->GetBranch("probe_DeltaEta"); -// bProbe_DeltaEta->SetAddress(&ernu_DeltaEta); -// TBranch* bProbe_DeltaPhiIso = t->GetBranch("probe_DeltaPhi"); -// bProbe_DeltaPhi->SetAddress(&ernu_DeltaPhi); - TBranch* bProbe_e1x5 = t->GetBranch("probe_e1x5Max"); - bProbe_e1x5->SetAddress(&ernu_e1x5); - TBranch* bProbe_e2x5 = t->GetBranch("probe_e2x5Max"); - bProbe_e2x5->SetAddress(&ernu_e2x5); - TBranch* bProbe_e5x5 = t->GetBranch("probe_e5x5"); - bProbe_e5x5->SetAddress(&ernu_e5x5); - TBranch* bProbe_HcalE015 = t->GetBranch("probe_HcalE015"); - bProbe_HcalE015->SetAddress(&ernu_HcalE015); - TBranch* bProbe_HcalEt015 = t->GetBranch("probe_HcalEt015"); - bProbe_HcalEt015->SetAddress(&ernu_HcalEt015); - - //Energy Correction results - TBranch* bProbe_E = t->GetBranch("probe_E"); - bProbe_E->SetAddress(&ernu_E); - TBranch* bProbe_rawE = t->GetBranch("probe_rawE"); - bProbe_rawE->SetAddress(&ernu_rawE); - TBranch* bProbe_unclusE = t->GetBranch("probe_UnclusEcalE"); - bProbe_unclusE->SetAddress(&ernu_unclusE); - TBranch* bProbe_fEtaCorrE = t->GetBranch("probe_fEtaCorrE"); - bProbe_fEtaCorrE->SetAddress(&ernu_fEtaCorrE); - TBranch* bProbe_fBremCorrE = t->GetBranch("probe_fBremCorrE"); - bProbe_fBremCorrE->SetAddress(&ernu_fBremCorrE); - TBranch* bProbe_AddCorrE = t->GetBranch("probe_EAdd"); - bProbe_AddCorrE->SetAddress(&ernu_AddCorrE); - TBranch* bProbe_d_MCE_SCE = t->GetBranch("probe_d_MCE_SCE"); - bProbe_d_MCE_SCE->SetAddress(&ernu_d_McE_ScE); - TBranch* bProbe_nClus = t->GetBranch("probe_nClus"); - bProbe_nClus->SetAddress(&ernu_nClusters); - - //Ersatz MEt results - TBranch* bErsatzV1_MEt = t->GetBranch("ErsatzV1CaloMEt"); - bErsatzV1_MEt->SetAddress(&ErsatzV1MEt); - TBranch* bErsatzV1_Mt = t->GetBranch("ErsatzV1CaloMt"); - bErsatzV1_Mt->SetAddress(&ErsatzV1Mt); - TBranch* bErsatzV1_MEtphi = t->GetBranch("ErsatzV1CaloMEtPhi"); - bErsatzV1_MEtphi->SetAddress(&ErsatzV1MEtphi); - - TBranch* bErsatzV1a_MEt = t->GetBranch("ErsatzV1aCaloMEt"); - bErsatzV1a_MEt->SetAddress(&ErsatzV1aMEt); - TBranch* bErsatzV1a_Mt = t->GetBranch("ErsatzV1aCaloMt"); - bErsatzV1a_Mt->SetAddress(&ErsatzV1aMt); - TBranch* bErsatzV1a_MEtphi = t->GetBranch("ErsatzV1aCaloMEtPhi"); - bErsatzV1a_MEtphi->SetAddress(&ErsatzV1aMEtphi); - - TBranch* bErsatzV1b_MEt = t->GetBranch("ErsatzV1bCaloMEt"); - bErsatzV1b_MEt->SetAddress(&ErsatzV1bMEt); - TBranch* bErsatzV1b_Mt = t->GetBranch("ErsatzV1bCaloMt"); - bErsatzV1b_Mt->SetAddress(&ErsatzV1bMt); - TBranch* bErsatzV1b_MEtphi = t->GetBranch("ErsatzV1bCaloMEtPhi"); - bErsatzV1b_MEtphi->SetAddress(&ErsatzV1bMEtphi); - - TBranch* bErsatzV1c_MEt = t->GetBranch("ErsatzV1cCaloMEt"); - bErsatzV1c_MEt->SetAddress(&ErsatzV1cMEt); - //TBranch* bErsatzV1c_Mt = t->GetBranch("ErsatzV1cCaloMt"); - //bErsatzV1c_Mt->SetAddress(&ErsatzV1cMt); - TBranch* bErsatzV1c_MEtphi = t->GetBranch("ErsatzV1cCaloMEtPhi"); - bErsatzV1c_MEtphi->SetAddress(&ErsatzV1cMEtphi); - - TBranch* bErsatzV2_MEt = t->GetBranch("ErsatzV2CaloMEt"); - bErsatzV2_MEt->SetAddress(&ErsatzV2MEt); - TBranch* bErsatzV2_Mt = t->GetBranch("ErsatzV2CaloMt"); - bErsatzV2_Mt->SetAddress(&ErsatzV2Mt); - TBranch* bErsatzV2_MEtphi = t->GetBranch("ErsatzV2CaloMEtPhi"); - bErsatzV2_MEtphi->SetAddress(&ErsatzV2MEtphi); - - TBranch* bMesc = t->GetBranch("ErsatzV1_Mesc"); - bMesc->SetAddress(&mesc); - TBranch* brescMesc = t->GetBranch("ErsatzV1_rescMesc"); - brescMesc->SetAddress(&rescMesc); - TBranch* bCaloMEt = t->GetBranch("recoCaloMEt"); - bCaloMEt->SetAddress(&caloMEt); - - TBranch* bMcZ_m = t->GetBranch("McZ_m"); - bMcZ_m->SetAddress(&McZ_m); - TBranch* bMcZ_pt = t->GetBranch("McZ_Pt"); - bMcZ_pt->SetAddress(&McZ_pt); -// TBranch* bMcZ_eta = t->GetBranch("McZ_eta"); -// bMcZ_eta->SetAddress(&McZ_eta); - TBranch* bMcZ_phi = t->GetBranch("McZ_Phi"); - bMcZ_phi->SetAddress(&McZ_phi); - TBranch* bMcZ_rescM = t->GetBranch("McZ_rescM"); - bMcZ_rescM->SetAddress(&McZ_rescM); -// TBranch* bMcZ_rescPt = t->GetBranch("McZ_rescPt"); -// bMcZ_rescPt->SetAddress(&McZ_rescPt); -// TBranch* bMcZ_rescEta = t->GetBranch("McZ_rescEta"); -// bMcZ_rescEta->SetAddress(&McZ_rescEta); -// TBranch* bMcZ_rescPhi = t->GetBranch("McZ_rescPhi"); -// bMcZ_rescPhi->SetAddress(&McZ_rescPhi); - - TBranch* bMcElec_pt = t->GetBranch("McElec_pt"); - bMcElec_pt->SetAddress(&McElec_pt); - TBranch* bMcElec_eta = t->GetBranch("McElec_eta"); - bMcElec_eta->SetAddress(&McElec_eta); -// TBranch* bMcElec_phi = t->GetBranch("McElec_phi"); -// bMcElec_phi->SetAddress(&McElec_phi); - TBranch* bMcElec_rescPt = t->GetBranch("McElec_rescPt"); - bMcElec_rescPt->SetAddress(&McElec_rescPt); - TBranch* bMcElec_rescEta = t->GetBranch("McElec_rescEta"); - bMcElec_rescEta->SetAddress(&McElec_rescEta); -// TBranch* bMcElec_rescPhi = t->GetBranch("McElec_rescPhi"); -// bMcElec_rescPhi->SetAddress(&McElec_rescPhi); - - TBranch* bMcErNu_pt = t->GetBranch("McProbe_pt"); - bMcErNu_pt->SetAddress(&McErNu_pt); - TBranch* bMcErNu_eta = t->GetBranch("McProbe_eta"); - bMcErNu_eta->SetAddress(&McErNu_eta); - TBranch* bMcErNu_phi = t->GetBranch("McProbe_phi"); - bMcErNu_phi->SetAddress(&McErNu_phi); - TBranch* bMcErNu_rescPt = t->GetBranch("McProbe_rescPt"); - bMcErNu_rescPt->SetAddress(&McErNu_rescPt); - TBranch* bMcErNu_rescEta = t->GetBranch("McProbe_rescEta"); - bMcErNu_rescEta->SetAddress(&McErNu_rescEta); - TBranch* bMcErNu_rescPhi = t->GetBranch("McProbe_rescPhi"); - bMcErNu_rescPhi->SetAddress(&McErNu_rescPhi); - - TBranch* bMcElecErNu_dPhi = t->GetBranch("McElecProbe_dPhi"); - bMcElecErNu_dPhi->SetAddress(&McElecErNu_dPhi); - TBranch* bMcElecErNu_dR = t->GetBranch("McElecProbe_dR"); - bMcElecErNu_dR->SetAddress(&McElecErNu_dR); -// TBranch* bProbe_elec = t->GetBranch("probe_elecMatch"); -// bProbe_elec->SetAddress(&ernu_McMatch); - - //TString OutFileName = "/tmp/rnandi/"+InFileName+"_Selected"; - //TFile *outfile = TFile::Open(OutFileName+".root", "recreate"); - - //TString OutFileName = "Zee_Histograms.root"; - //TFile *outfile = TFile::Open("/tmp/rnandi/Zee_Histograms.root", "recreate"); - -/* - TBranch* bNum_ErNu = t->GetBranch("nProbes"); - bNum_ErNu->SetAddress(&nErNu); - //W selected electron properties - TBranch* bTag_eta = t->GetBranch("tag_eta"); - bTag_eta->SetAddress(&tag_eta); - TBranch* bTag_pt = t->GetBranch("tag_pt"); - bTag_pt->SetAddress(&tag_pt); - TBranch* bTag_phi = t->GetBranch("tag_phi"); - bTag_phi->SetAddress(&tag_phi); - TBranch* bTag_rescPt = t->GetBranch("tag_rescPt"); - bTag_rescPt->SetAddress(&tag_rescPt); -// TBranch* = t->GetBranch(""); -// ->SetAddress(&); - TBranch* bTag_sIhIh = t->GetBranch("tag_sIhIh"); - bTag_sIhIh->SetAddress(&elec_sigIhIh); - TBranch* bTag_dPhi = t->GetBranch("tag_dPhiIn"); - bTag_dPhi->SetAddress(&elec_dPhi); - TBranch* bTag_dEta = t->GetBranch("tag_dEtaIn"); - bTag_dEta->SetAddress(&elec_dEta); - TBranch* bTag_tIso = t->GetBranch("tag_isoTrack"); - bTag_tIso->SetAddress(&elec_trckIso); - TBranch* bTag_eIso = t->GetBranch("tag_isoEcal"); - bTag_eIso->SetAddress(&elec_ECALIso); - TBranch* bTag_hIso = t->GetBranch("tag_isoHcal"); - bTag_hIso->SetAddress(&elec_HCALIso); - - //ersatz neutrino properties - TBranch* bProbe_pt = t->GetBranch("probe_pt"); - bProbe_pt->SetAddress(&probe_pt); - TBranch* bProbe_eta = t->GetBranch("probe_eta"); - bProbe_eta->SetAddress(&probe_eta); - TBranch* bProbe_phi = t->GetBranch("probe_phi"); - bProbe_phi->SetAddress(&probe_phi); - TBranch* bProbe_elec = t->GetBranch("probe_elecMatch"); - bProbe_elec->SetAddress(&nu_elec); - TBranch* bProbe_trckIso = t->GetBranch("probe_isoTrack"); - bProbe_trckIso->SetAddress(&nu_trckIso); - //TBranch* bProbe_ECALIso = t->GetBranch("probe_isoECAL"); - //bProbe_ECALIso->SetAddress(&nu_ECALIso); - //TBranch* bProbe_HCALIso = t->GetBranch("probe_isoHCAL"); - //bProbe_HCALIso->SetAddress(&nu_HCALIso); - TBranch* bProbe_sIhIh = t->GetBranch("probe_sIhIh"); - bProbe_sIhIh->SetAddress(&nu_sigIhIh); - //TBranch* bProbe_DeltaEta = t->GetBranch("probe_DeltaEta"); - //bProbe_DeltaEta->SetAddress(&nu_DeltaEta); - //TBranch* bProbe_DeltaPhiIso = t->GetBranch("probe_DeltaPhi"); - //bProbe_DeltaPhi->SetAddress(&nu_DeltaPhi); - TBranch* bProbe_e1x5 = t->GetBranch("probe_e1x5Max"); - bProbe_e1x5->SetAddress(&nu_e1x5); - TBranch* bProbe_e2x5 = t->GetBranch("probe_e2x5Max"); - bProbe_e2x5->SetAddress(&nu_e2x5); - TBranch* bProbe_e5x5 = t->GetBranch("probe_e5x5"); - bProbe_e5x5->SetAddress(&nu_e5x5); - TBranch* bProbe_HCAL = t->GetBranch("probe_HcalE015"); - bProbe_HCAL->SetAddress(&nu_HCAL); - TBranch* bProbe_HCALEt = t->GetBranch("probe_HcalEt015"); - bProbe_HCALEt->SetAddress(&nu_HCALEt); - //Ersatz MEt results - TBranch* bErsatzV1b_MEt = t->GetBranch("ErsatzV1bCaloMEt"); - bErsatzV1b_MEt->SetAddress(&ErsatzV1bMEt); - TBranch* bMesc = t->GetBranch("ErsatzV1_Mesc"); - bMesc->SetAddress(&mesc); - TBranch* bCaloMEt = t->GetBranch("recoCaloMEt"); - bCaloMEt->SetAddress(&caloMEt); -*/ - long nentries = t->GetEntries(); - std::cout <<"Processing "<< nentries << std::endl; - for(long i = 0; iGetEntry(i); - for(int j = 0; j < nErNu; ++j) - { - bool passEtCut = false; - /* - if(process == "Zee" || process == "BCtoE_30to80" || process == "BCtoE_80to170"){ - if(tag_rescPt[j] > cPt) passEtCut = true; - }else{ - if(tag_pt[j] > (91.188/80.398)*cPt) passEtCut = true; - } - */ - if(elec_rescPt[j] > cPt) passEtCut = true; - if(passEtCut) - { - if(fabs(mesc[j]-91.1876) < 21.1876) - { - bool pass_e_cuts = false; - bool inBarrel = false; - double cTrackiso; - if(fabs(elec_eta[j])<1.4442) - { - pass_e_cuts = (elec_EcalIso[j] < cECALiso_EB && elec_HcalIso[j] < cHCALiso_EB - && elec_sIhIh[j] < csIhIh_EB && elec_dPhi[j] < cDeltaPhi_EB - && elec_dEta[j] < cDeltaEta_EB); - cTrackiso = cTrackiso_EB; - inBarrel = true; - }else if(fabs(elec_eta[j] < 2.5)) - { - pass_e_cuts = (elec_EcalIso[j] < cECALiso_EE && elec_HcalIso[j] < cHCALiso_EE - && elec_sIhIh[j] < csIhIh_EE && elec_dPhi[j] < cDeltaPhi_EE - && elec_dEta[j] < cDeltaEta_EE); - cTrackiso = cTrackiso_EE; - } - if(pass_e_cuts) - { - bool pass_nu_cuts = false; - double f1x5 = ernu_e1x5[j]/ernu_e5x5[j]; - double f2x5 = ernu_e2x5[j]/ernu_e5x5[j]; - if(fabs(probe_eta[j]) < 1.4442) - { - pass_nu_cuts = (ernu_HcalE015[j] < cHCAL && (f1x5 > cf1x5 || f2x5 > cf2x5) - /*&& ernu_McMatch[j] == celecmatch*/); - }else if(fabs(probe_eta[j] < 2.5)){ - pass_nu_cuts = (ernu_HcalEt015[j] < cHCALEt && ernu_sIhIh[j] < cnusIhIh - /*&& ernu_McMatch[j] == celecmatch*/); - } - if(pass_nu_cuts) - { - if(elec_trkIso[j] < cTrackiso) - { - if(inBarrel) - { - h_nTags_Pass_EB->Fill(nTags); - h_nErNu_Pass_EB->Fill(nErNu); - h_nMcElecs_Zmum_Pass_EB->Fill(nMcElecs_Zmum); - h_nMcElecs_Final_Pass_EB->Fill(nMcElecs_Final); - h_RecoCaloMEt_Pass_EB->Fill(caloMEt); - - h_nRecHitsInStrip_Pass_EB->Fill(nRecHitsInStrip[j]); - h_nRecHitsInCone_Pass_EB->Fill(nRecHitsInCone[j]); - - h_Z_pt_Pass_EB->Fill(Z_pt[j]); - - h_elec_q_Pass_EB->Fill(elec_q[j]); - h_elec_pt_Pass_EB->Fill(elec_pt[j]); - h_elec_eta_Pass_EB->Fill(elec_eta[j]); - h_elec_phi_Pass_EB->Fill(elec_phi[j]); - h_elec_sIhIh_Pass_EB->Fill(elec_sIhIh[j]); - h_elec_dPhi_Pass_EB->Fill(elec_dPhi[j]); - h_elec_dEta_Pass_EB->Fill(elec_dEta[j]); - h_elec_TrkIso_Pass_EB->Fill(elec_trkIso[j]); - h_elec_EcalIso_Pass_EB->Fill(elec_EcalIso[j]); - h_elec_HcalIso_Pass_EB->Fill(elec_HcalIso[j]); - h_elec_rescPt_Pass_EB->Fill(elec_rescPt[j]); - h_elec_rescEta_Pass_EB->Fill(elec_rescEta[j]); - -// h_ErNu_q_Pass_EB->Fill(probe_q[j]); - h_ErNu_pt_Pass_EB->Fill(probe_pt[j]); - h_ErNu_eta_Pass_EB->Fill(probe_eta[j]); - h_ErNu_phi_Pass_EB->Fill(probe_phi[j]); - h_ErNu_rescPt_Pass_EB->Fill(probe_rescPt[j]); - h_ErNu_rescEta_Pass_EB->Fill(probe_rescEta[j]); - - h_ErNu_sIhIh_Pass_EB->Fill(ernu_sIhIh[j]); -// h_ErNu_dPhi_Pass_EB->Fill(ernu_dPhi[j]); -// h_ErNu_dEta_Pass_EB->Fill(ernu_dEta[j]); - h_ErNu_TrkIso_Pass_EB->Fill(ernu_trkIso[j]); -// h_ErNu_EcalIso_Pass_EB->Fill(ernu_EcalIso[j]); -// h_ErNu_HcalIso_Pass_EB->Fill(ernu_HcalIso[j]); - h_ErNu_e1x5Max_Pass_EB->Fill(ernu_e1x5[j]); - h_ErNu_e2x5Max_Pass_EB->Fill(ernu_e2x5[j]); - h_ErNu_e5x5_Pass_EB->Fill(ernu_e5x5[j]); - h_ErNu_HcalE015_Pass_EB->Fill(ernu_HcalE015[j]); - h_ErNu_HcalEt015_Pass_EB->Fill(ernu_HcalEt015[j]); - - h_ErNu_E_Pass_EB->Fill(ernu_E[j]); - h_ErNu_rawE_Pass_EB->Fill(ernu_rawE[j]); - h_ErNu_unclusE_Pass_EB->Fill(ernu_unclusE[j]); - h_ErNu_fEtaCorrE_Pass_EB->Fill(ernu_fEtaCorrE[j]); - h_ErNu_fBremCorrE_Pass_EB->Fill(ernu_fBremCorrE[j]); - h_ErNu_AddCorrE_Pass_EB->Fill(ernu_AddCorrE[j]); - h_ErNu_nClusters_Pass_EB->Fill(ernu_nClusters[j]); - -// h_ErsatzV1MEt_Pass_EB->Fill(ErsatzV1MEt[j]); -// h_ErsatzV1Mt_Pass_EB->Fill(ErsatzV1Mt[j]); -// h_ErsatzV1MEtphi_Pass_EB->Fill(ErsatzV1MEtphi[j]); -// h_ErsatzV1aMEt_Pass_EB->Fill(ErsatzV1aMEt[j]); -// h_ErsatzV1aMt_Pass_EB->Fill(ErsatzV1aMt[j]); -// h_ErsatzV1aMEtphi_Pass_EB->Fill(ErsatzV1aMEtphi[j]); - h_ErsatzV1bMEt_Pass_EB->Fill(ErsatzV1bMEt[j]); - h_ErsatzV1bMt_Pass_EB->Fill(ErsatzV1bMt[j]); - h_ErsatzV1bMEtphi_Pass_EB->Fill(ErsatzV1bMEtphi[j]); -// h_ErsatzV1cMEt_Pass_EB->Fill(ErsatzV1cMEt[j]); -// h_ErsatzV1cMt_Pass_EB->Fill(ErsatzV1cMt[j]); -// h_ErsatzV1cMEtphi_Pass_EB->Fill(ErsatzV1cMEtphi[j]); -// h_ErsatzV2MEt_Pass_EB->Fill(ErsatzV2MEt[j]); -// h_ErsatzV2Mt_Pass_EB->Fill(ErsatzV2Mt[j]); -// h_ErsatzV2MEtphi_Pass_EB->Fill(ErsatzV2MEtphi[j]); - h_ErsatzV1Mesc_Pass_EB->Fill(mesc[j]); - h_ErsatzV1rescMesc_Pass_EB->Fill(rescMesc[j]); - - h_McZ_M_Pass_EB->Fill(McZ_m[j]); - h_McZ_rescM_Pass_EB->Fill(McZ_rescM[j]); - h_McZ_Pt_Pass_EB->Fill(McZ_pt[j]); -// h_McZ_rescPt_Pass_EB->Fill(McZ_rescPt[j]); -// h_McZ_Eta_Pass_EB->Fill(McZ_eta[j]); -// h_McZ_rescEta_Pass_EB->Fill(McZ_rescEta[j]); - h_McZ_Phi_Pass_EB->Fill(McZ_phi[j]); -// h_McZ_rescPhi_Pass_EB->Fill(McZ_rescPhi[j]); - - h_McElec_Pt_Pass_EB->Fill(McElec_pt[j]); - h_McElec_rescPt_Pass_EB->Fill(McElec_rescPt[j]); - h_McElec_Eta_Pass_EB->Fill(McElec_eta[j]); - h_McElec_rescEta_Pass_EB->Fill(McElec_rescEta[j]); -// h_McElec_Phi_Pass_EB->Fill(McElec_phi[j]); -// h_McElec_rescPhi_Pass_EB->Fill(McElec_rescPhi[j]); - - h_McErNu_Pt_Pass_EB->Fill(McErNu_pt[j]); - h_McErNu_rescPt_Pass_EB->Fill(McErNu_rescPt[j]); - h_McErNu_Eta_Pass_EB->Fill(McErNu_eta[j]); - h_McErNu_rescEta_Pass_EB->Fill(McErNu_rescEta[j]); - h_McErNu_Phi_Pass_EB->Fill(McErNu_phi[j]); - h_McErNu_rescPhi_Pass_EB->Fill(McErNu_rescPhi[j]); - - h_McElecErNu_dPhi_Pass_EB->Fill(McElecErNu_dPhi[j]); - h_McElecErNu_dR_Pass_EB->Fill(McElecErNu_dR[j]); - h_McMatch_Pass_EB->Fill(ernu_McMatch[j]); - }else{ - h_nTags_Pass_EE->Fill(nTags); - h_nErNu_Pass_EE->Fill(nErNu); - h_nMcElecs_Zmum_Pass_EE->Fill(nMcElecs_Zmum); - h_nMcElecs_Final_Pass_EE->Fill(nMcElecs_Final); - h_RecoCaloMEt_Pass_EE->Fill(caloMEt); - - h_nRecHitsInStrip_Pass_EE->Fill(nRecHitsInStrip[j]); - h_nRecHitsInCone_Pass_EE->Fill(nRecHitsInCone[j]); - - h_Z_pt_Pass_EE->Fill(Z_pt[j]); - - h_elec_q_Pass_EE->Fill(elec_q[j]); - h_elec_pt_Pass_EE->Fill(elec_pt[j]); - h_elec_eta_Pass_EE->Fill(elec_eta[j]); - h_elec_phi_Pass_EE->Fill(elec_phi[j]); - h_elec_sIhIh_Pass_EE->Fill(elec_sIhIh[j]); - h_elec_dPhi_Pass_EE->Fill(elec_dPhi[j]); - h_elec_dEta_Pass_EE->Fill(elec_dEta[j]); - h_elec_TrkIso_Pass_EE->Fill(elec_trkIso[j]); - h_elec_EcalIso_Pass_EE->Fill(elec_EcalIso[j]); - h_elec_HcalIso_Pass_EE->Fill(elec_HcalIso[j]); - h_elec_rescPt_Pass_EE->Fill(elec_rescPt[j]); - h_elec_rescEta_Pass_EE->Fill(elec_rescEta[j]); - -// h_ErNu_q_Pass_EE->Fill(probe_q[j]); - h_ErNu_pt_Pass_EE->Fill(probe_pt[j]); - h_ErNu_eta_Pass_EE->Fill(probe_eta[j]); - h_ErNu_phi_Pass_EE->Fill(probe_phi[j]); - h_ErNu_rescPt_Pass_EE->Fill(probe_rescPt[j]); - h_ErNu_rescEta_Pass_EE->Fill(probe_rescEta[j]); - - h_ErNu_sIhIh_Pass_EE->Fill(ernu_sIhIh[j]); -// h_ErNu_dPhi_Pass_EE->Fill(ernu_dPhi[j]); -// h_ErNu_dEta_Pass_EE->Fill(ernu_dEta[j]); - h_ErNu_TrkIso_Pass_EE->Fill(ernu_trkIso[j]); -// h_ErNu_EcalIso_Pass_EE->Fill(ernu_EcalIso[j]); -// h_ErNu_HcalIso_Pass_EE->Fill(ernu_HcalIso[j]); - h_ErNu_e1x5Max_Pass_EE->Fill(ernu_e1x5[j]); - h_ErNu_e2x5Max_Pass_EE->Fill(ernu_e2x5[j]); - h_ErNu_e5x5_Pass_EE->Fill(ernu_e5x5[j]); - h_ErNu_HcalE015_Pass_EE->Fill(ernu_HcalE015[j]); - h_ErNu_HcalEt015_Pass_EE->Fill(ernu_HcalEt015[j]); - - h_ErNu_E_Pass_EE->Fill(ernu_E[j]); - h_ErNu_rawE_Pass_EE->Fill(ernu_rawE[j]); - h_ErNu_unclusE_Pass_EE->Fill(ernu_unclusE[j]); - h_ErNu_fEtaCorrE_Pass_EE->Fill(ernu_fEtaCorrE[j]); - h_ErNu_fBremCorrE_Pass_EE->Fill(ernu_fBremCorrE[j]); - h_ErNu_AddCorrE_Pass_EE->Fill(ernu_AddCorrE[j]); - h_ErNu_nClusters_Pass_EE->Fill(ernu_nClusters[j]); - -// h_ErsatzV1MEt_Pass_EE->Fill(ErsatzV1MEt[j]); -// h_ErsatzV1Mt_Pass_EE->Fill(ErsatzV1Mt[j]); -// h_ErsatzV1MEtphi_Pass_EE->Fill(ErsatzV1MEtphi[j]); -// h_ErsatzV1aMEt_Pass_EE->Fill(ErsatzV1aMEt[j]); -// h_ErsatzV1aMt_Pass_EE->Fill(ErsatzV1aMt[j]); -// h_ErsatzV1aMEtphi_Pass_EE->Fill(ErsatzV1aMEtphi[j]); - h_ErsatzV1bMEt_Pass_EE->Fill(ErsatzV1bMEt[j]); - h_ErsatzV1bMt_Pass_EE->Fill(ErsatzV1bMt[j]); - h_ErsatzV1bMEtphi_Pass_EE->Fill(ErsatzV1bMEtphi[j]); -// h_ErsatzV1cMEt_Pass_EE->Fill(ErsatzV1cMEt[j]); -// h_ErsatzV1cMt_Pass_EE->Fill(ErsatzV1cMt[j]); -// h_ErsatzV1cMEtphi_Pass_EE->Fill(ErsatzV1cMEtphi[j]); -// h_ErsatzV2MEt_Pass_EE->Fill(ErsatzV2MEt[j]); -// h_ErsatzV2Mt_Pass_EE->Fill(ErsatzV2Mt[j]); -// h_ErsatzV2MEtphi_Pass_EE->Fill(ErsatzV2MEtphi[j]); - h_ErsatzV1Mesc_Pass_EE->Fill(mesc[j]); - h_ErsatzV1rescMesc_Pass_EE->Fill(rescMesc[j]); - - h_McZ_M_Pass_EE->Fill(McZ_m[j]); - h_McZ_rescM_Pass_EE->Fill(McZ_rescM[j]); - h_McZ_Pt_Pass_EE->Fill(McZ_pt[j]); -// h_McZ_rescPt_Pass_EE->Fill(McZ_rescPt[j]); -// h_McZ_Eta_Pass_EE->Fill(McZ_eta[j]); -// h_McZ_rescEta_Pass_EE->Fill(McZ_rescEta[j]); - h_McZ_Phi_Pass_EE->Fill(McZ_phi[j]); -// h_McZ_rescPhi_Pass_EE->Fill(McZ_rescPhi[j]); - - h_McElec_Pt_Pass_EE->Fill(McElec_pt[j]); - h_McElec_rescPt_Pass_EE->Fill(McElec_rescPt[j]); - h_McElec_Eta_Pass_EE->Fill(McElec_eta[j]); - h_McElec_rescEta_Pass_EE->Fill(McElec_rescEta[j]); -// h_McElec_Phi_Pass_EE->Fill(McElec_phi[j]); -// h_McElec_rescPhi_Pass_EE->Fill(McElec_rescPhi[j]); - - h_McErNu_Pt_Pass_EE->Fill(McErNu_pt[j]); - h_McErNu_rescPt_Pass_EE->Fill(McErNu_rescPt[j]); - h_McErNu_Eta_Pass_EE->Fill(McErNu_eta[j]); - h_McErNu_rescEta_Pass_EE->Fill(McErNu_rescEta[j]); - h_McErNu_Phi_Pass_EE->Fill(McErNu_phi[j]); - h_McErNu_rescPhi_Pass_EE->Fill(McErNu_rescPhi[j]); - - h_McElecErNu_dPhi_Pass_EE->Fill(McElecErNu_dPhi[j]); - h_McElecErNu_dR_Pass_EE->Fill(McElecErNu_dR[j]); - h_McMatch_Pass_EE->Fill(ernu_McMatch[j]); - } - }else{ - if(inBarrel) - { - h_nTags_Fail_EB->Fill(nTags); - h_nErNu_Fail_EB->Fill(nErNu); - h_nMcElecs_Zmum_Fail_EB->Fill(nMcElecs_Zmum); - h_nMcElecs_Final_Fail_EB->Fill(nMcElecs_Final); - h_RecoCaloMEt_Fail_EB->Fill(caloMEt); - - h_nRecHitsInStrip_Fail_EB->Fill(nRecHitsInStrip[j]); - h_nRecHitsInCone_Fail_EB->Fill(nRecHitsInCone[j]); - - h_Z_pt_Fail_EB->Fill(Z_pt[j]); - - h_elec_q_Fail_EB->Fill(elec_q[j]); - h_elec_pt_Fail_EB->Fill(elec_pt[j]); - h_elec_eta_Fail_EB->Fill(elec_eta[j]); - h_elec_phi_Fail_EB->Fill(elec_phi[j]); - h_elec_sIhIh_Fail_EB->Fill(elec_sIhIh[j]); - h_elec_dPhi_Fail_EB->Fill(elec_dPhi[j]); - h_elec_dEta_Fail_EB->Fill(elec_dEta[j]); - h_elec_TrkIso_Fail_EB->Fill(elec_trkIso[j]); - h_elec_EcalIso_Fail_EB->Fill(elec_EcalIso[j]); - h_elec_HcalIso_Fail_EB->Fill(elec_HcalIso[j]); - h_elec_rescPt_Fail_EB->Fill(elec_rescPt[j]); - h_elec_rescEta_Fail_EB->Fill(elec_rescEta[j]); - -// h_ErNu_q_Fail_EB->Fill(probe_q[j]); - h_ErNu_pt_Fail_EB->Fill(probe_pt[j]); - h_ErNu_eta_Fail_EB->Fill(probe_eta[j]); - h_ErNu_phi_Fail_EB->Fill(probe_phi[j]); - h_ErNu_rescPt_Fail_EB->Fill(probe_rescPt[j]); - h_ErNu_rescEta_Fail_EB->Fill(probe_rescEta[j]); - - h_ErNu_sIhIh_Fail_EB->Fill(ernu_sIhIh[j]); -// h_ErNu_dPhi_Fail_EB->Fill(ernu_dPhi[j]); -// h_ErNu_dEta_Fail_EB->Fill(ernu_dEta[j]); - h_ErNu_TrkIso_Fail_EB->Fill(ernu_trkIso[j]); -// h_ErNu_EcalIso_Fail_EB->Fill(ernu_EcalIso[j]); -// h_ErNu_HcalIso_Fail_EB->Fill(ernu_HcalIso[j]); - h_ErNu_e1x5Max_Fail_EB->Fill(ernu_e1x5[j]); - h_ErNu_e2x5Max_Fail_EB->Fill(ernu_e2x5[j]); - h_ErNu_e5x5_Fail_EB->Fill(ernu_e5x5[j]); - h_ErNu_HcalE015_Fail_EB->Fill(ernu_HcalE015[j]); - h_ErNu_HcalEt015_Fail_EB->Fill(ernu_HcalEt015[j]); - - h_ErNu_E_Fail_EB->Fill(ernu_E[j]); - h_ErNu_rawE_Fail_EB->Fill(ernu_rawE[j]); - h_ErNu_unclusE_Fail_EB->Fill(ernu_unclusE[j]); - h_ErNu_fEtaCorrE_Fail_EB->Fill(ernu_fEtaCorrE[j]); - h_ErNu_fBremCorrE_Fail_EB->Fill(ernu_fBremCorrE[j]); - h_ErNu_AddCorrE_Fail_EB->Fill(ernu_AddCorrE[j]); - h_ErNu_nClusters_Fail_EB->Fill(ernu_nClusters[j]); - -// h_ErsatzV1MEt_Fail_EB->Fill(ErsatzV1MEt[j]); -// h_ErsatzV1Mt_Fail_EB->Fill(ErsatzV1Mt[j]); -// h_ErsatzV1MEtphi_Fail_EB->Fill(ErsatzV1MEtphi[j]); -// h_ErsatzV1aMEt_Fail_EB->Fill(ErsatzV1aMEt[j]); -// h_ErsatzV1aMt_Fail_EB->Fill(ErsatzV1aMt[j]); -// h_ErsatzV1aMEtphi_Fail_EB->Fill(ErsatzV1aMEtphi[j]); - h_ErsatzV1bMEt_Fail_EB->Fill(ErsatzV1bMEt[j]); - h_ErsatzV1bMt_Fail_EB->Fill(ErsatzV1bMt[j]); - h_ErsatzV1bMEtphi_Fail_EB->Fill(ErsatzV1bMEtphi[j]); -// h_ErsatzV1cMEt_Fail_EB->Fill(ErsatzV1cMEt[j]); -// h_ErsatzV1cMt_Fail_EB->Fill(ErsatzV1cMt[j]); -// h_ErsatzV1cMEtphi_Fail_EB->Fill(ErsatzV1cMEtphi[j]); -// h_ErsatzV2MEt_Fail_EB->Fill(ErsatzV2MEt[j]); -// h_ErsatzV2Mt_Fail_EB->Fill(ErsatzV2Mt[j]); -// h_ErsatzV2MEtphi_Fail_EB->Fill(ErsatzV2MEtphi[j]); - h_ErsatzV1Mesc_Fail_EB->Fill(mesc[j]); - h_ErsatzV1rescMesc_Fail_EB->Fill(rescMesc[j]); - - h_McZ_M_Fail_EB->Fill(McZ_m[j]); - h_McZ_rescM_Fail_EB->Fill(McZ_rescM[j]); - h_McZ_Pt_Fail_EB->Fill(McZ_pt[j]); -// h_McZ_rescPt_Fail_EB->Fill(McZ_rescPt[j]); -// h_McZ_Eta_Fail_EB->Fill(McZ_eta[j]); -// h_McZ_rescEta_Fail_EB->Fill(McZ_rescEta[j]); - h_McZ_Phi_Fail_EB->Fill(McZ_phi[j]); -// h_McZ_rescPhi_Fail_EB->Fill(McZ_rescPhi[j]); - - h_McElec_Pt_Fail_EB->Fill(McElec_pt[j]); - h_McElec_rescPt_Fail_EB->Fill(McElec_rescPt[j]); - h_McElec_Eta_Fail_EB->Fill(McElec_eta[j]); - h_McElec_rescEta_Fail_EB->Fill(McElec_rescEta[j]); -// h_McElec_Phi_Fail_EB->Fill(McElec_phi[j]); -// h_McElec_rescPhi_Fail_EB->Fill(McElec_rescPhi[j]); - - h_McErNu_Pt_Fail_EB->Fill(McErNu_pt[j]); - h_McErNu_rescPt_Fail_EB->Fill(McErNu_rescPt[j]); - h_McErNu_Eta_Fail_EB->Fill(McErNu_eta[j]); - h_McErNu_rescEta_Fail_EB->Fill(McErNu_rescEta[j]); - h_McErNu_Phi_Fail_EB->Fill(McErNu_phi[j]); - h_McErNu_rescPhi_Fail_EB->Fill(McErNu_rescPhi[j]); - - h_McElecErNu_dPhi_Fail_EB->Fill(McElecErNu_dPhi[j]); - h_McElecErNu_dR_Fail_EB->Fill(McElecErNu_dR[j]); - h_McMatch_Fail_EB->Fill(ernu_McMatch[j]); - }else{ - h_nTags_Fail_EE->Fill(nTags); - h_nErNu_Fail_EE->Fill(nErNu); - h_nMcElecs_Zmum_Fail_EE->Fill(nMcElecs_Zmum); - h_nMcElecs_Final_Fail_EE->Fill(nMcElecs_Final); - h_RecoCaloMEt_Fail_EE->Fill(caloMEt); - - h_nRecHitsInStrip_Fail_EE->Fill(nRecHitsInStrip[j]); - h_nRecHitsInCone_Fail_EE->Fill(nRecHitsInCone[j]); - - h_Z_pt_Fail_EE->Fill(Z_pt[j]); - - h_elec_q_Fail_EE->Fill(elec_q[j]); - h_elec_pt_Fail_EE->Fill(elec_pt[j]); - h_elec_eta_Fail_EE->Fill(elec_eta[j]); - h_elec_phi_Fail_EE->Fill(elec_phi[j]); - h_elec_sIhIh_Fail_EE->Fill(elec_sIhIh[j]); - h_elec_dPhi_Fail_EE->Fill(elec_dPhi[j]); - h_elec_dEta_Fail_EE->Fill(elec_dEta[j]); - h_elec_TrkIso_Fail_EE->Fill(elec_trkIso[j]); - h_elec_EcalIso_Fail_EE->Fill(elec_EcalIso[j]); - h_elec_HcalIso_Fail_EE->Fill(elec_HcalIso[j]); - h_elec_rescPt_Fail_EE->Fill(elec_rescPt[j]); - h_elec_rescEta_Fail_EE->Fill(elec_rescEta[j]); - -// h_ErNu_q_Fail_EE->Fill(probe_q[j]); - h_ErNu_pt_Fail_EE->Fill(probe_pt[j]); - h_ErNu_eta_Fail_EE->Fill(probe_eta[j]); - h_ErNu_phi_Fail_EE->Fill(probe_phi[j]); - h_ErNu_rescPt_Fail_EE->Fill(probe_rescPt[j]); - h_ErNu_rescEta_Fail_EE->Fill(probe_rescEta[j]); - - h_ErNu_sIhIh_Fail_EE->Fill(ernu_sIhIh[j]); -// h_ErNu_dPhi_Fail_EE->Fill(ernu_dPhi[j]); -// h_ErNu_dEta_Fail_EE->Fill(ernu_dEta[j]); - h_ErNu_TrkIso_Fail_EE->Fill(ernu_trkIso[j]); -// h_ErNu_EcalIso_Fail_EE->Fill(ernu_EcalIso[j]); -// h_ErNu_HcalIso_Fail_EE->Fill(ernu_HcalIso[j]); - h_ErNu_e1x5Max_Fail_EE->Fill(ernu_e1x5[j]); - h_ErNu_e2x5Max_Fail_EE->Fill(ernu_e2x5[j]); - h_ErNu_e5x5_Fail_EE->Fill(ernu_e5x5[j]); - h_ErNu_HcalE015_Fail_EE->Fill(ernu_HcalE015[j]); - h_ErNu_HcalEt015_Fail_EE->Fill(ernu_HcalEt015[j]); - - h_ErNu_E_Fail_EE->Fill(ernu_E[j]); - h_ErNu_rawE_Fail_EE->Fill(ernu_rawE[j]); - h_ErNu_unclusE_Fail_EE->Fill(ernu_unclusE[j]); - h_ErNu_fEtaCorrE_Fail_EE->Fill(ernu_fEtaCorrE[j]); - h_ErNu_fBremCorrE_Fail_EE->Fill(ernu_fBremCorrE[j]); - h_ErNu_AddCorrE_Fail_EE->Fill(ernu_AddCorrE[j]); - h_ErNu_nClusters_Fail_EE->Fill(ernu_nClusters[j]); - -// h_ErsatzV1MEt_Fail_EE->Fill(ErsatzV1MEt[j]); -// h_ErsatzV1Mt_Fail_EE->Fill(ErsatzV1Mt[j]); -// h_ErsatzV1MEtphi_Fail_EE->Fill(ErsatzV1MEtphi[j]); -// h_ErsatzV1aMEt_Fail_EE->Fill(ErsatzV1aMEt[j]); -// h_ErsatzV1aMt_Fail_EE->Fill(ErsatzV1aMt[j]); -// h_ErsatzV1aMEtphi_Fail_EE->Fill(ErsatzV1aMEtphi[j]); - h_ErsatzV1bMEt_Fail_EE->Fill(ErsatzV1bMEt[j]); - h_ErsatzV1bMt_Fail_EE->Fill(ErsatzV1bMt[j]); - h_ErsatzV1bMEtphi_Fail_EE->Fill(ErsatzV1bMEtphi[j]); -// h_ErsatzV1cMEt_Fail_EE->Fill(ErsatzV1cMEt[j]); -// h_ErsatzV1cMt_Fail_EE->Fill(ErsatzV1cMt[j]); -// h_ErsatzV1cMEtphi_Fail_EE->Fill(ErsatzV1cMEtphi[j]); -// h_ErsatzV2MEt_Fail_EE->Fill(ErsatzV2MEt[j]); -// h_ErsatzV2Mt_Fail_EE->Fill(ErsatzV2Mt[j]); -// h_ErsatzV2MEtphi_Fail_EE->Fill(ErsatzV2MEtphi[j]); - h_ErsatzV1Mesc_Fail_EE->Fill(mesc[j]); - h_ErsatzV1rescMesc_Fail_EE->Fill(rescMesc[j]); - - h_McZ_M_Fail_EE->Fill(McZ_m[j]); - h_McZ_rescM_Fail_EE->Fill(McZ_rescM[j]); - h_McZ_Pt_Fail_EE->Fill(McZ_pt[j]); -// h_McZ_rescPt_Fail_EE->Fill(McZ_rescPt[j]); -// h_McZ_Eta_Fail_EE->Fill(McZ_eta[j]); -// h_McZ_rescEta_Fail_EE->Fill(McZ_rescEta[j]); - h_McZ_Phi_Fail_EE->Fill(McZ_phi[j]); -// h_McZ_rescPhi_Fail_EE->Fill(McZ_rescPhi[j]); - - h_McElec_Pt_Fail_EE->Fill(McElec_pt[j]); - h_McElec_rescPt_Fail_EE->Fill(McElec_rescPt[j]); - h_McElec_Eta_Fail_EE->Fill(McElec_eta[j]); - h_McElec_rescEta_Fail_EE->Fill(McElec_rescEta[j]); -// h_McElec_Phi_Fail_EE->Fill(McElec_phi[j]); -// h_McElec_rescPhi_Fail_EE->Fill(McElec_rescPhi[j]); - - h_McErNu_Pt_Fail_EE->Fill(McErNu_pt[j]); - h_McErNu_rescPt_Fail_EE->Fill(McErNu_rescPt[j]); - h_McErNu_Eta_Fail_EE->Fill(McErNu_eta[j]); - h_McErNu_rescEta_Fail_EE->Fill(McErNu_rescEta[j]); - h_McErNu_Phi_Fail_EE->Fill(McErNu_phi[j]); - h_McErNu_rescPhi_Fail_EE->Fill(McErNu_rescPhi[j]); - - h_McElecErNu_dPhi_Fail_EE->Fill(McElecErNu_dPhi[j]); - h_McElecErNu_dR_Fail_EE->Fill(McElecErNu_dR[j]); - h_McMatch_Fail_EE->Fill(ernu_McMatch[j]); - } - } - } - } - } - } - } - } - //outfile->Write(); - //outfile->Close(); - outfile_pass_EB->Write(); - outfile_pass_EB->Close(); - outfile_pass_EE->Write(); - outfile_pass_EE->Close(); - outfile_fail_EB->Write(); - outfile_fail_EB->Close(); - outfile_fail_EE->Write(); - outfile_fail_EE->Close(); -} -/* -double deltaPhi(double phi1, double phi2) -{ - double result = phi1 - phi2; - while (result > acos(-1.)) result -= 2*acos(-1.); - while (result <= -acos(-1.)) result += 2*acos(-1.); - return result; -} - -double deltaR(double eta1, double phi1, double eta2, double phi2) -{ - double dEta = eta1-eta2; - double dPhi = deltaPhi(phi1, phi2); - double dR = sqrt(dEta*dEta+dPhi*dPhi); - return dR; -} -*/ diff --git a/ElectroWeakAnalysis/ZEE/macros/CutValues.txt b/ElectroWeakAnalysis/ZEE/macros/CutValues.txt deleted file mode 100644 index 19b2b381c9372..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/CutValues.txt +++ /dev/null @@ -1,20 +0,0 @@ -30 -30 -4.2 -3.4 -2.0 -1.3 -2.2 -1.1 -0.0040 -0.0066 -0.025 -0.020 -0.0099 -0.028 -6.2 -0.83 -0.93 -1 -0.027 -12 diff --git a/ElectroWeakAnalysis/ZEE/macros/EtaWeights.txt b/ElectroWeakAnalysis/ZEE/macros/EtaWeights.txt deleted file mode 100644 index aed74790e2db5..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/EtaWeights.txt +++ /dev/null @@ -1,345 +0,0 @@ -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.627218934911 -0.65224625624 -0.737151248164 -0.838565022422 -0.852090032154 -0.874125874126 -0.870827285922 -0.878698224852 -0.92125984252 -0.905479452055 -0.909090909091 -0.891737891738 -0.907172995781 -0.919137466307 -0.916883116883 -0.911196911197 -0.914004914005 -0.918709677419 -0.930487804878 -0.938021454112 -0.934324659232 -0.93023255814 -0.924731182796 -0.937432578209 -0.935286935287 -0.939936775553 -0.947608200456 -0.923901393355 -0.927789934354 -0.940267765191 -0.930996714129 -0.920750782065 -0.945205479452 -0.931034482759 -0.924698795181 -0.942073170732 -0.930646672915 -0.937076476283 -0.939835916135 -0.931569343066 -0.92574734812 -0.92221180881 -0.932743362832 -0.927710843373 -0.921327014218 -0.918273645546 -0.937068965517 -0.919827586207 -0.922619047619 -0.911184210526 -0.916234887737 -0.909807355517 -0.91202582728 -0.91492776886 -0.916015625 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.944892473118 -0.951181102362 -0.952822892498 -0.958990536278 -0.953846153846 -0.95 -0.948249619482 -0.952879581152 -0.95881006865 -0.950395398994 -0.955350815025 -0.959802538787 -0.949858757062 -0.964714184898 -0.965758211041 -0.964748201439 -0.967930029155 -0.971428571429 -0.975444538527 -0.961434370771 -0.959785522788 -0.969979986658 -0.963797814208 -0.965940054496 -0.969830295412 -0.958174904943 -0.967680608365 -0.954663212435 -0.970278637771 -0.963744232037 -0.974890144382 -0.965087281796 -0.975265017668 -0.966467065868 -0.976963969285 -0.96794081381 -0.966986794718 -0.971538040504 -0.967617579029 -0.974374255066 -0.973004020678 -0.959443800695 -0.973230220107 -0.967332123412 -0.975386376646 -0.966285714286 -0.973112128146 -0.968328445748 -0.976491862568 -0.970184853906 -0.975322490185 -0.966532025389 -0.974888392857 -0.972530683811 -0.968732234224 -0.975652173913 -0.976295479603 -0.976274608783 -0.9678546471 -0.976311336717 -0.979213483146 -0.979242979243 -0.969308035714 -0.976638176638 -0.97138047138 -0.966348850252 -0.974744760881 -0.978145304194 -0.969239071775 -0.969001148106 -0.973995271868 -0.966860465116 -0.975792507205 -0.970027247956 -0.971511627907 -0.967723984418 -0.972492836676 -0.974444444444 -0.972549019608 -0.962394067797 -0.958355579285 -0.951639799889 -0.954263128176 -0.954060705496 -0.948414830736 -0.944348823867 -0.948390677026 -0.96710153148 -0.96614872364 -0.965884861407 -0.968957871397 -0.972527472527 -0.977866061294 -0.973623853211 -0.969920544835 -0.970553592462 -0.967501331913 -0.971967654987 -0.975315414152 -0.972482113374 -0.978735005453 -0.965459610028 -0.972252448313 -0.977051061388 -0.969519343494 -0.977727013135 -0.967397414278 -0.969054441261 -0.975696926376 -0.98070907195 -0.976504297994 -0.970331588133 -0.962694877506 -0.975215517241 -0.973234624146 -0.977945443993 -0.974631268437 -0.971031286211 -0.970420932878 -0.971297359357 -0.969540229885 -0.974343310935 -0.975652173913 -0.971198156682 -0.965414430531 -0.970520231214 -0.976435045317 -0.979116945107 -0.960180315552 -0.968212610735 -0.969987995198 -0.969546302051 -0.965859714463 -0.970663265306 -0.970440251572 -0.963314358001 -0.958227848101 -0.9667752443 -0.966195451752 -0.967160334836 -0.952510176391 -0.967495219885 -0.971116816431 -0.96499339498 -0.964005235602 -0.958803986711 -0.966124661247 -0.964583333333 -0.957142857143 -0.969362745098 -0.960195530726 -0.959758551308 -0.959812458138 -0.955965909091 -0.96408045977 -0.951965065502 -0.957679180887 -0.949502133713 -0.96256299496 -0.952059925094 -0.956619296933 -0.941403238242 -0.951510333863 -0.951729106628 -0.955190440627 -0.937147461724 -0.944055944056 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.928 -0.909710391823 -0.922813036021 -0.920245398773 -0.922881355932 -0.925675675676 -0.934288121314 -0.946428571429 -0.926605504587 -0.919469026549 -0.933837429112 -0.940550133097 -0.936813186813 -0.948405253283 -0.929807692308 -0.933267909715 -0.934911242604 -0.936732766761 -0.922254616132 -0.923151750973 -0.939809926082 -0.925751879699 -0.950106157113 -0.949367088608 -0.930470347648 -0.930955120829 -0.937300743889 -0.914962325081 -0.941834451902 -0.923900118906 -0.922626025791 -0.925085130533 -0.928170594837 -0.908893709328 -0.924337957125 -0.927230046948 -0.92714453584 -0.916137229987 -0.921085080148 -0.938881664499 -0.921348314607 -0.912378303199 -0.905367231638 -0.924686192469 -0.934903047091 -0.899569583931 -0.883954154728 -0.868778280543 -0.893553223388 -0.868852459016 -0.845786963434 -0.825443786982 -0.757142857143 -0.657320872274 -0.592814371257 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 diff --git a/ElectroWeakAnalysis/ZEE/macros/PerformAnalysis.cpp b/ElectroWeakAnalysis/ZEE/macros/PerformAnalysis.cpp deleted file mode 100644 index 8182683a12e76..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/PerformAnalysis.cpp +++ /dev/null @@ -1,628 +0,0 @@ -#include "TROOT.h" -#include "TFile.h" -#include "TTree.h" -#include "TH1.h" -#include "TF1.h" -#include "TRandom3.h" -#include "TString.h" -#include -#include -#include - -using namespace std; - -void PerformAnalysis(TString process, double eventweight, TString datapath)//, ofstream& results) //int main() -{ - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - cout << "\% " << "Perform Analysis" << endl; - cout << "\% " << process << endl; - cout << "\% " << "Event Weight = " << eventweight << endl; - cout << "\% " << "Data Path = " << datapath << endl; - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - - // Declare electron cut value variables - double cMEt = 30.; - double cPt = 30.; - double cECALiso_EB = 4.2, cECALiso_EE = 3.4; - double cHCALiso_EB = 2.0, cHCALiso_EE = 1.3; - double cTrackiso_EB = 2.2, cTrackiso_EE = 1.1; - double cDeltaEta_EB = 0.0040, cDeltaEta_EE = 0.0066; - double cDeltaPhi_EB = 0.025, cDeltaPhi_EE = 0.020; - double csIhIh_EB = 0.0099, csIhIh_EE = 0.0280; - // Declare neutrino cut value variables - double cHCAL = 6.2; - double cHCALEt = 12; - double cf1x5 = 0.83, cf2x5 = 0.93; - int celecmatch = 0; - double cnusIhIh = 0.027; - - cout << "Cut Values:" << endl; - - cout << "MEt cut " << cMEt << endl; - - cout << "Electron selection cuts:" << endl; - cout << "Pt cut " << cPt << endl; - cout << "ECAL Isolation cut (EB) " << cECALiso_EB << endl; - cout << "ECAL Isolation cut (EE) " << cECALiso_EE << endl; - cout << "HCAL Isolation cut (EB) " << cHCALiso_EB << endl; - cout << "HCAL Isolation cut (EE) " << cHCALiso_EE << endl; - cout << "Track Isolation cut (EB) " << cTrackiso_EB << endl; - cout << "Track Isolation cut (EE) " << cTrackiso_EE << endl; - cout << "Delta Eta cut (EB) " << cDeltaEta_EB << endl; - cout << "Delta Eta cut (EE) " << cDeltaEta_EE << endl; - cout << "Delta Phi cut (EB) " << cDeltaPhi_EB << endl; - cout << "Delta Phi cut (EE) " << cDeltaPhi_EE << endl; - cout << "Sigma iEta iEta cut (EB) " << csIhIh_EB << endl; - cout << "Sigma iEta iEta cut (EE) " << csIhIh_EE << endl; - - cout << "Probe selection cuts:" << endl; - cout << "HCAL Energy cut " << cHCAL << endl; - cout << "HCAL Transverse Energy cut " << cHCALEt << endl; - cout << "Fraction of energy in 1x5 cut " << cf1x5 << endl; - cout << "Fraction of energy in 2x5 cut " << cf2x5 << endl; - cout << "Require electron match " << celecmatch << endl; - cout << "Sigma iEta iEta cut " << cnusIhIh << endl; - - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - // Import probe selection efficiency weights - double nueff[345]; - ifstream weightsin; - weightsin.open("EtaWeights.txt", ifstream::in); - - for(int eta=0; eta < 345; ++eta) - { - double weight; - weightsin >> weight; - //cout << eta << "\t" << weight << endl; - nueff[eta] = weight; - } - weightsin.close(); - cout << "Imported probe selection efficiencies" << endl; - - TString OutFileName = process+".root"; - TFile* outfile = TFile::Open(OutFileName, "recreate"); - - cout << "Created output file \"" << OutFileName << "\"" << endl; - - TH1F* h_dataWMEt_pass_EB = new TH1F("dataWMEt_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_dataWMEt_pass_EE = new TH1F("dataWMEt_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_dataWMEt_fail_EB = new TH1F("dataWMEt_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_dataWMEt_fail_EE = new TH1F("dataWMEt_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_mcWMEtin_pass_EB = new TH1F("mcWMEtin_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtin_pass_EE = new TH1F("mcWMEtin_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtin_fail_EB = new TH1F("mcWMEtin_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtin_fail_EE = new TH1F("mcWMEtin_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtout_pass_EB = new TH1F("mcWMEtout_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtout_pass_EE = new TH1F("mcWMEtout_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtout_fail_EB = new TH1F("mcWMEtout_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWMEtout_fail_EE = new TH1F("mcWMEtout_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzMEt_pass_EB = new TH1F("ErsatzMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass_EE = new TH1F("ErsatzMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EB = new TH1F("ErsatzMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EE = new TH1F("ErsatzMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzMEt_probept = new TH1F("ErsatzMEt_probept","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_uncorr = new TH1F("ErsatzMEt_uncorr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fetacorr = new TH1F("ErsatzMEt_fetacorr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fbremcorr = new TH1F("ErsatzMEt_fbremcorr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzMEt_pass_EB_peakfit = new TH1F("ErsatzMEt_pass_EB_peakfit","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass_EE_peakfit = new TH1F("ErsatzMEt_pass_EE_peakfit","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WMEt_pass_EB_peakfit = new TH1F("WMEt_pass_EB_peakfit","W MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WMEt_pass_EE_peakfit = new TH1F("WMEt_pass_EE_peakfit","W MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzMEt_pass_EB_shifted = new TH1F("ErsatzMEt_pass_EB_shifted","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass_EE_shifted = new TH1F("ErsatzMEt_pass_EE_shifted","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EB_shifted = new TH1F("ErsatzMEt_fail_EB_shifted","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EE_shifted = new TH1F("ErsatzMEt_fail_EE_shifted","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_acceptance_correction_pass_EB = new TH1F("acceptacne_correction_pass_EB", "Acceptance Correction pass EB;#slash{E_{T}};Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_pass_EE = new TH1F("acceptacne_correction_pass_EE", "Acceptance Correction pass EE;#slash{E_{T}};Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_fail_EB = new TH1F("acceptacne_correction_fail_EB", "Acceptance Correction fail EB;#slash{E_{T}};Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_fail_EE = new TH1F("acceptacne_correction_fail_EE", "Acceptance Correction fail EE;#slash{E_{T}};Acceptance Correction", 100, 0., 100.); - - TH1F* h_ErsatzMEt_pass_EB_corr = new TH1F("ErsatzMEt_pass_EB_corr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass_EE_corr = new TH1F("ErsatzMEt_pass_EE_corr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EB_corr = new TH1F("ErsatzMEt_fail_EB_corr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EE_corr = new TH1F("ErsatzMEt_fail_EE_corr","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - cout << "Declared Histograms" << endl; - - vector ErsatzMEt_pass_EB; - vector ErsatzMEt_pass_EE; - vector ErsatzMEt_fail_EB; - vector ErsatzMEt_fail_EE; - - vector Weight_pass_EB; - vector Weight_pass_EE; - vector Weight_fail_EB; - vector Weight_fail_EE; - - TRandom3 r; - - TString WFileName = datapath+"WenuTrue.root"; - TFile *fileW = TFile::Open(WFileName); - cout << "Opened W Monte Carlo file" << endl; - TTree *t = (TTree*) fileW->Get("analyse/AnalysisData"); - cout << "Got W TTree" << endl; - - long nEntries = t->GetEntriesFast(); - cout << "Total number of W events = " << nEntries << endl; - - double elec_pt_W[4], elec_eta_W[4]; - double elec_trckIso_W[4]/*, elec_EcalIso_W[4], elec_HcalIso_W[4]*/; - double elec_sigIhIh_W[4]/*, elec_dPhi_W[4], elec_dEta_W[4]*/; - - double nu_pt_W, nu_eta_W, nu_ECALeta_W, nu_phi_W; - - //double McW_pt, McW_phi; - double CaloMEt_W;//, CaloMEt25, CaloMEt30; - //double CaloMt[4];// CaloMt25[4], CaloMt30[4]; - -// TBranch* bMcW_pt = t->GetBranch("Boson_pt"); -// bMcW_pt->SetAddress(&McW_pt); -// TBranch* bMcW_phi = t->GetBranch("Boson_phi"); -// bMcW_phi->SetAddress(&McW_phi); -// TBranch* bNSelElecs = t->GetBranch("nSelElecs"); -// bNSelElecs->SetAddress(&nSelElecs); - TBranch* bElec_eta = t->GetBranch("elec_eta"); - bElec_eta->SetAddress(&elec_eta_W); - TBranch* bElec_pt = t->GetBranch("elec_pt"); - bElec_pt->SetAddress(&elec_pt_W); - - TBranch* bTag_sIhIh_W = t->GetBranch("elec_sIhIh"); - bTag_sIhIh_W->SetAddress(&elec_sigIhIh_W); - //TBranch* bTag_dPhi = t->GetBranch("elec_dPhiIn"); - //bTag_dPhi->SetAddress(&elec_dPhi_W); - //TBranch* bTag_dEta = t->GetBranch("elec_dEtaIn"); - //bTag_dEta->SetAddress(&elec_dEta_W); - TBranch* bTag_tIso_W = t->GetBranch("elec_isoTrack"); - bTag_tIso_W->SetAddress(&elec_trckIso_W); - //TBranch* bTag_eIso = t->GetBranch("elec_isoEcal"); - //bTag_eIso->SetAddress(&elec_EcalIso_W); - //TBranch* bTag_hIso = t->GetBranch("elec_isoHcal"); - //bTag_hIso->SetAddress(&elec_HcalIso_W); - - // TBranch* = t->GetBranch(""); -// ->SetAddress(&); - TBranch* bMcNu_pt = t->GetBranch("McNu_pt"); - bMcNu_pt->SetAddress(&nu_pt_W); - TBranch* bMcNu_phi = t->GetBranch("McNu_phi"); - bMcNu_phi->SetAddress(&nu_phi_W); - TBranch* bMcNu_eta = t->GetBranch("McNu_eta"); - bMcNu_eta->SetAddress(&nu_eta_W); - TBranch* bMcNu_ECALeta = t->GetBranch("McNu_ECALeta"); - bMcNu_ECALeta->SetAddress(&nu_ECALeta_W); - TBranch* bCalo_MEt = t->GetBranch("caloMEt"); - bCalo_MEt->SetAddress(&CaloMEt_W); -// TBranch* bCalo_MEt25 = t->GetBranch("caloMEt25"); -// bCalo_MEt25->SetAddress(&CaloMEt25); -// TBranch* bCalo_MEt30 = t->GetBranch("caloMEt30"); -// bCalo_MEt30->SetAddress(&CaloMEt30); -// TBranch* bCalo_Mt = t->GetBranch("caloMt"); -// bCalo_Mt->SetAddress(&CaloMt); - cout << "Set up branches" << endl; - - //long nentries = t->GetEntries(); - //int index = 0; - int aaa = 0, bbb = 0, ccc = 0, ddd = 0; - for(long i = 0; i < nEntries; ++i) - { - if(i%100000 == 0) cout <<"Analysing event "<< i << endl; - //if (i == ChosenEvents[index]) - //{ - //index++; - //bool iIsChosen = (i == ChosenEvents[index]); - t->GetEntry(i); - if(elec_pt_W[0] > cPt) - { - bool pass_e_cuts = false; - bool pass_trkiso_cut = false; - bool inBarrel = false; - bool inEndcap = false; - if(fabs(elec_eta_W[0]) < 1.4442) - { - pass_e_cuts = (elec_sigIhIh_W[0] < csIhIh_EB); - pass_trkiso_cut = (elec_trckIso_W[0] < cTrackiso_EB); - inBarrel = true; - }else if(fabs(elec_eta_W[0]) < 2.5) - { - pass_e_cuts = (elec_sigIhIh_W[0] < csIhIh_EE); - pass_trkiso_cut = (elec_trckIso_W[0] < cTrackiso_EE); - inEndcap = true; - } - if(pass_e_cuts) - { - if(pass_trkiso_cut) - { - if(inBarrel) - { - h_dataWMEt_pass_EB->Fill(CaloMEt_W); - h_WMEt_pass_EB_peakfit->Fill(CaloMEt_W); - aaa++; - if(fabs(nu_eta_W) < 2.5) - { - h_mcWMEtin_pass_EB->Fill(CaloMEt_W); - }else{ - h_mcWMEtout_pass_EB->Fill(CaloMEt_W); - } - } - if(inEndcap) - { - h_dataWMEt_pass_EE->Fill(CaloMEt_W); - h_WMEt_pass_EE_peakfit->Fill(CaloMEt_W); - bbb++; - if(fabs(nu_eta_W) < 2.5) - { - h_mcWMEtin_pass_EE->Fill(CaloMEt_W); - }else{ - h_mcWMEtout_pass_EE->Fill(CaloMEt_W); - } - } - }else - { - if(inBarrel) - { - h_dataWMEt_fail_EB->Fill(CaloMEt_W); - ccc++; - if(fabs(nu_eta_W) < 2.5) - { - h_mcWMEtin_fail_EB->Fill(CaloMEt_W); - }else{ - h_mcWMEtout_fail_EB->Fill(CaloMEt_W); - } - } - if(inEndcap) - { - h_dataWMEt_fail_EE->Fill(CaloMEt_W); - ddd++; - if(fabs(nu_eta_W) < 2.5) - { - h_mcWMEtin_fail_EE->Fill(CaloMEt_W); - }else{ - h_mcWMEtout_fail_EE->Fill(CaloMEt_W); - } - } - } - } - } - } - fileW->Close(); - cout << "Closed W Monte Carlo file" << endl; - - cout << "Number of W events passing selection cuts = " << aaa+bbb+ccc+ddd << endl; - cout << "Number Pass EB = " << aaa << endl; - cout << "Number Pass EE = " << bbb << endl; - cout << "Number Fail EB = " << ccc << endl; - cout << "Number Fail EE = " << ddd << endl; - - TString ErsatzFileName = datapath+process+".root"; - TFile *fileZ = TFile::Open(ErsatzFileName); - cout << "Opened Ersatz data file" << endl; - t = (TTree*) fileZ->Get("ErsatzMEt/ErsatzMEt"); - cout << "Got ersatz TTree" << endl; - nEntries = t->GetEntries(); - cout << "Total number of ersatz events = " << nEntries << endl; - - int nErNu; - double tag_pt[4], tag_eta[4], tag_phi[4], probe_pt[4], probe_eta[4], probe_phi[4]; - double ErsatzV1MEt[4], ErsatzV1aMEt[4], ErsatzV1bMEt[4]; - double elec_trkIso[4], elec_ECALIso[4], elec_HCALIso[4]; - double elec_sigIhIh[4], elec_dPhi[4], elec_dEta[4]; - double tag_rescPt[4], mesc[4]; - double nu_e1x5[4], nu_e2x5[4], nu_e5x5[4], nu_sigIhIh[4]; - double nu_HCALEt[4], nu_HCAL[4], nu_trckIso[4]; - double caloMEt; - //int nu_elec[4]; - - TBranch* bNum_ErNu = t->GetBranch("nProbes"); - bNum_ErNu->SetAddress(&nErNu); - //W selected electron properties - TBranch* bTag_eta = t->GetBranch("tag_eta"); - bTag_eta->SetAddress(&tag_eta); - TBranch* bTag_pt = t->GetBranch("tag_pt"); - bTag_pt->SetAddress(&tag_pt); - TBranch* bTag_phi = t->GetBranch("tag_phi"); - bTag_phi->SetAddress(&tag_phi); - TBranch* bTag_rescPt = t->GetBranch("tag_rescPt"); - bTag_rescPt->SetAddress(&tag_rescPt); -// TBranch* = t->GetBranch(""); -// ->SetAddress(&); - TBranch* bTag_sIhIh = t->GetBranch("tag_sIhIh"); - bTag_sIhIh->SetAddress(&elec_sigIhIh); - TBranch* bTag_dPhi = t->GetBranch("tag_dPhiIn"); - bTag_dPhi->SetAddress(&elec_dPhi); - TBranch* bTag_dEta = t->GetBranch("tag_dEtaIn"); - bTag_dEta->SetAddress(&elec_dEta); - TBranch* bTag_tIso = t->GetBranch("tag_isoTrack"); - bTag_tIso->SetAddress(&elec_trkIso); - TBranch* bTag_eIso = t->GetBranch("tag_isoEcal"); - bTag_eIso->SetAddress(&elec_ECALIso); - TBranch* bTag_hIso = t->GetBranch("tag_isoHcal"); - bTag_hIso->SetAddress(&elec_HCALIso); - //ersatz neutrino properties - TBranch* bProbe_pt = t->GetBranch("probe_pt"); - bProbe_pt->SetAddress(&probe_pt); - TBranch* bProbe_eta = t->GetBranch("probe_eta"); - bProbe_eta->SetAddress(&probe_eta); - TBranch* bProbe_phi = t->GetBranch("probe_phi"); - bProbe_phi->SetAddress(&probe_phi); - //TBranch* bProbe_elec = t->GetBranch("probe_elecMatch"); - //bProbe_elec->SetAddress(&nu_elec); - TBranch* bProbe_trckIso = t->GetBranch("probe_isoTrack"); - bProbe_trckIso->SetAddress(&nu_trckIso); - //TBranch* bProbe_ECALIso = t->GetBranch("probe_isoECAL"); - //bProbe_ECALIso->SetAddress(&nu_ECALIso); - //TBranch* bProbe_HCALIso = t->GetBranch("probe_isoHCAL"); - //bProbe_HCALIso->SetAddress(&nu_HCALIso); - TBranch* bProbe_sIhIh = t->GetBranch("probe_sIhIh"); - bProbe_sIhIh->SetAddress(&nu_sigIhIh); - //TBranch* bProbe_DeltaEta = t->GetBranch("probe_DeltaEta"); - //bProbe_DeltaEta->SetAddress(&nu_DeltaEta); - //TBranch* bProbe_DeltaPhiIso = t->GetBranch("probe_DeltaPhi"); - //bProbe_DeltaPhi->SetAddress(&nu_DeltaPhi); - TBranch* bProbe_e1x5 = t->GetBranch("probe_e1x5Max"); - bProbe_e1x5->SetAddress(&nu_e1x5); - TBranch* bProbe_e2x5 = t->GetBranch("probe_e2x5Max"); - bProbe_e2x5->SetAddress(&nu_e2x5); - TBranch* bProbe_e5x5 = t->GetBranch("probe_e5x5"); - bProbe_e5x5->SetAddress(&nu_e5x5); - TBranch* bProbe_HCAL = t->GetBranch("probe_HcalE015"); - bProbe_HCAL->SetAddress(&nu_HCAL); - TBranch* bProbe_HCALEt = t->GetBranch("probe_HcalEt015"); - bProbe_HCALEt->SetAddress(&nu_HCALEt); - //Ersatz MEt results - TBranch* bErsatzV1_MEt = t->GetBranch("ErsatzV1CaloMEt"); - bErsatzV1_MEt->SetAddress(&ErsatzV1MEt); - TBranch* bErsatzV1a_MEt = t->GetBranch("ErsatzV1aCaloMEt"); - bErsatzV1a_MEt->SetAddress(&ErsatzV1aMEt); - TBranch* bErsatzV1b_MEt = t->GetBranch("ErsatzV1bCaloMEt"); - bErsatzV1b_MEt->SetAddress(&ErsatzV1bMEt); - TBranch* bMesc = t->GetBranch("ErsatzV1_Mesc"); - bMesc->SetAddress(&mesc); - TBranch* bCaloMEt = t->GetBranch("recoCaloMEt"); - bCaloMEt->SetAddress(&caloMEt); - cout << "Set up Branches" << endl; - - aaa=0, bbb=0, ccc=0, ddd=0; - for(int i=0; i < nEntries; ++i) - { - if(i%100000 == 0) cout <<"Processing event "<< i << endl; - t->GetEntry(i); - for(int j = 0; j < nErNu; ++j) - { - bool passEtCut = false; - if(tag_rescPt[j] > cPt) passEtCut = true; - /* - if(process == "Zee" || process == "BCtoE_30to80" || process == "BCtoE_80to170"){ - if(tag_rescPt[j] > cPt) passEtCut = true; - }else{ - if(tag_pt[j] > (91.188/80.398)*cPt) passEtCut = true; - } - */ - if(passEtCut) - { - if(fabs(mesc[j]-91.1876) < 21.1876) - { - bool pass_e_cuts = false; - bool pass_trkiso_cut = false; - bool inBarrel = false; - bool inEndcap = false; - if(fabs(tag_eta[j])<1.4442) - { - pass_e_cuts = (elec_ECALIso[j] < cECALiso_EB && elec_HCALIso[j] < cHCALiso_EB - && elec_sigIhIh[j] < csIhIh_EB && elec_dPhi[j] < cDeltaPhi_EB - && elec_dEta[j] < cDeltaEta_EB); - pass_trkiso_cut = (elec_trkIso[j] < cTrackiso_EB); - inBarrel = true; - }else if(fabs(tag_eta[j] < 2.5)) - { - pass_e_cuts = (elec_ECALIso[j] < cECALiso_EE && elec_HCALIso[j] < cHCALiso_EE - && elec_sigIhIh[j] < csIhIh_EE && elec_dPhi[j] < cDeltaPhi_EE - && elec_dEta[j] < cDeltaEta_EE); - pass_trkiso_cut = (elec_trkIso[j] < cTrackiso_EE); - inEndcap = true; - } - if(pass_e_cuts) - { - bool pass_nu_cuts = false; - double f1x5 = nu_e1x5[j]/nu_e5x5[j]; - double f2x5 = nu_e2x5[j]/nu_e5x5[j]; - if(fabs(probe_eta[j]) < 1.4442) - { - pass_nu_cuts = (nu_HCAL[j] < cHCAL && (f1x5 > cf1x5 || f2x5 > cf2x5) - /*&& nu_elec[j] == celecmatch*/); - }else if(fabs(probe_eta[j] < 2.5)){ - pass_nu_cuts = (nu_HCALEt[j] < cHCALEt && nu_sigIhIh[j] < cnusIhIh - /*&& nu_elec[j] == celecmatch*/); - } - if(pass_nu_cuts) - { - int EtaInt = int((probe_eta[j] + 3.)/0.01739); - double weight = eventweight/nueff[EtaInt]; - if(pass_trkiso_cut) - { - if(inBarrel) - { - aaa++; - ErsatzMEt_pass_EB.push_back(ErsatzV1bMEt[j]); - Weight_pass_EB.push_back(weight); - h_ErsatzMEt_pass_EB->Fill(ErsatzV1bMEt[j], weight); - h_ErsatzMEt_pass_EB_peakfit->Fill(ErsatzV1bMEt[j], weight); - h_ErsatzMEt_probept->Fill(probe_pt[j], weight); - h_ErsatzMEt_uncorr->Fill(ErsatzV1MEt[j], weight); - h_ErsatzMEt_fetacorr->Fill(ErsatzV1aMEt[j], weight); - h_ErsatzMEt_fbremcorr->Fill(ErsatzV1bMEt[j], weight); - } - if(inEndcap) - { - bbb++; - ErsatzMEt_pass_EE.push_back(ErsatzV1bMEt[j]); - Weight_pass_EE.push_back(weight); - h_ErsatzMEt_pass_EE->Fill(ErsatzV1bMEt[j], weight); - h_ErsatzMEt_pass_EE_peakfit->Fill(ErsatzV1bMEt[j], weight); - h_ErsatzMEt_probept->Fill(probe_pt[j], weight); - h_ErsatzMEt_uncorr->Fill(ErsatzV1MEt[j], weight); - h_ErsatzMEt_fetacorr->Fill(ErsatzV1aMEt[j], weight); - h_ErsatzMEt_fbremcorr->Fill(ErsatzV1bMEt[j], weight); - } - }else{ - if(inBarrel) - { - ccc++; - ErsatzMEt_fail_EB.push_back(ErsatzV1bMEt[j]); - Weight_fail_EB.push_back(weight); - h_ErsatzMEt_fail_EB->Fill(ErsatzV1bMEt[j], weight); - } - if(inEndcap) - { - ddd++; - ErsatzMEt_fail_EE.push_back(ErsatzV1bMEt[j]); - Weight_fail_EE.push_back(weight); - h_ErsatzMEt_fail_EE->Fill(ErsatzV1bMEt[j], weight); - } - } - } - } - } - } - } - } - fileZ->Close(); - cout << "Closed Ersatz data file" << endl; - - cout << "Number of events passing selection cuts = " << aaa+bbb+ccc+ddd << endl; - cout << "Number Pass EB = " << aaa << endl; - cout << "Number Pass EE = " << bbb << endl; - cout << "Number Fail EB = " << ccc << endl; - cout << "Number Fail EE = " << ddd << endl; - - cout << "Apply shift correction ..." << endl; - - int maxbin; - - h_WMEt_pass_EB_peakfit->Scale(1./h_WMEt_pass_EB_peakfit->Integral(0,100)); - maxbin = h_WMEt_pass_EB_peakfit->GetMaximumBin(); - TF1 peakW_EB = TF1("peakW_EB", "gaus", maxbin-4, maxbin+4); - h_WMEt_pass_EB_peakfit->Fit("peakW_EB", "MR"); - cout << "W MEt maximum bin = " << maxbin << "\tPeak of Gaussian = " << peakW_EB.GetParameter(1) << endl; - h_WMEt_pass_EB_peakfit->Draw(); - - h_ErsatzMEt_pass_EB_peakfit->Scale(1./h_ErsatzMEt_pass_EB_peakfit->Integral(0,100)); - maxbin = h_ErsatzMEt_pass_EB_peakfit->GetMaximumBin(); - TF1 peakZ_EB = TF1("peakZ_EB", "gaus", maxbin-4, maxbin+4); - h_ErsatzMEt_pass_EB_peakfit->Fit("peakZ_EB", "MR"); - cout << "Ersatz maximum bin = " << maxbin << "\tPeak of Gaussian = " << peakZ_EB.GetParameter(1) << endl; - h_ErsatzMEt_pass_EB_peakfit->Draw(); - - double shift_EB = peakW_EB.GetParameter(1) - peakZ_EB.GetParameter(1); - cout << "EB Shift = " << shift_EB << endl; - - h_WMEt_pass_EE_peakfit->Scale(1./h_WMEt_pass_EE_peakfit->Integral(0,100)); - maxbin = h_WMEt_pass_EE_peakfit->GetMaximumBin(); - TF1 peakW_EE = TF1("peakW_EE", "gaus", maxbin-4, maxbin+4); - h_WMEt_pass_EE_peakfit->Fit("peakW_EE", "MR"); - cout << "W MEt maximum bin = " << maxbin << "\tPeak of Gaussian = " << peakW_EE.GetParameter(1) << endl; - h_WMEt_pass_EE_peakfit->Draw(); - - h_ErsatzMEt_pass_EE_peakfit->Scale(1./h_ErsatzMEt_pass_EE_peakfit->Integral(0,100)); - maxbin = h_ErsatzMEt_pass_EE_peakfit->GetMaximumBin(); - TF1 peakZ_EE = TF1("peakZ_EE", "gaus", maxbin-4, maxbin+4); - h_ErsatzMEt_pass_EE_peakfit->Fit("peakZ_EE", "MR"); - cout << "Ersatz maximum bin = " << maxbin << "\tPeak of Gaussian = " << peakZ_EE.GetParameter(1) << endl; - h_ErsatzMEt_pass_EE_peakfit->Draw(); - - double shift_EE = peakW_EE.GetParameter(1) - peakZ_EE.GetParameter(1); - cout << "EE Shift = " << shift_EE << endl; - - for(unsigned int i=0; i < ErsatzMEt_pass_EB.size(); i++) - { - ErsatzMEt_pass_EB[i] += shift_EB; - h_ErsatzMEt_pass_EB_shifted->Fill(ErsatzMEt_pass_EB[i], Weight_pass_EB[i]); - } - for(unsigned int i=0; i < ErsatzMEt_pass_EE.size(); i++) - { - ErsatzMEt_pass_EE[i] += shift_EE; - h_ErsatzMEt_pass_EE_shifted->Fill(ErsatzMEt_pass_EE[i], Weight_pass_EE[i]); - } - for(unsigned int i=0; i < ErsatzMEt_fail_EB.size(); i++) - { - ErsatzMEt_fail_EB[i] += shift_EB; - h_ErsatzMEt_fail_EB_shifted->Fill(ErsatzMEt_fail_EB[i], Weight_fail_EB[i]); - } - for(unsigned int i=0; i < ErsatzMEt_fail_EE.size(); i++) - { - ErsatzMEt_fail_EE[i] += shift_EE; - h_ErsatzMEt_fail_EE_shifted->Fill(ErsatzMEt_fail_EE[i], Weight_fail_EE[i]); - } - - cout << "Apply acceptance correction ..." << endl; - - TH1F* h_ones = new TH1F("ones", "Histogram of Ones;;", 100, 0., 100.); - for (int i=0; i<100; i++) - { - h_ones->Fill(i+0.5); - } - - h_acceptance_correction_pass_EB->Divide(h_mcWMEtout_pass_EB, h_mcWMEtin_pass_EB); - h_acceptance_correction_pass_EB->Add(h_ones); - h_ErsatzMEt_pass_EB_corr->Multiply(h_ErsatzMEt_pass_EB_shifted, h_acceptance_correction_pass_EB); - - h_acceptance_correction_pass_EE->Divide(h_mcWMEtout_pass_EE, h_mcWMEtin_pass_EE); - h_acceptance_correction_pass_EE->Add(h_ones); - h_ErsatzMEt_pass_EE_corr->Multiply(h_ErsatzMEt_pass_EE_shifted, h_acceptance_correction_pass_EE); - - h_acceptance_correction_fail_EB->Divide(h_mcWMEtout_fail_EB, h_mcWMEtin_fail_EB); - h_acceptance_correction_fail_EB->Add(h_ones); - h_ErsatzMEt_fail_EB_corr->Multiply(h_ErsatzMEt_fail_EB_shifted, h_acceptance_correction_fail_EB); - - h_acceptance_correction_fail_EE->Divide(h_mcWMEtout_fail_EE, h_mcWMEtin_fail_EE); - h_acceptance_correction_fail_EE->Add(h_ones); - h_ErsatzMEt_fail_EE_corr->Multiply(h_ErsatzMEt_fail_EE_shifted, h_acceptance_correction_fail_EE); - - cout << "Calculating f ..." << endl; - - double N_pass_EB = h_ErsatzMEt_pass_EB_corr->Integral(0,100); - double A_EB = h_ErsatzMEt_pass_EB_corr->Integral(int(cMEt)+1,100); - double B_EB = h_ErsatzMEt_pass_EB_corr->Integral(0,int(cMEt)); - double N_pass_EE = h_ErsatzMEt_pass_EE_corr->Integral(0,100); - double A_EE = h_ErsatzMEt_pass_EE_corr->Integral(int(cMEt)+1,100); - double B_EE = h_ErsatzMEt_pass_EE_corr->Integral(0,int(cMEt)); - double N_fail_EB = h_ErsatzMEt_fail_EB_corr->Integral(0,100); - double D_EB = h_ErsatzMEt_fail_EB_corr->Integral(int(cMEt)+1,100); - double C_EB = h_ErsatzMEt_fail_EB_corr->Integral(0,int(cMEt)); - double N_fail_EE = h_ErsatzMEt_fail_EE_corr->Integral(0,100); - double D_EE = h_ErsatzMEt_fail_EE_corr->Integral(int(cMEt)+1,100); - double C_EE = h_ErsatzMEt_fail_EE_corr->Integral(0,int(cMEt)); - - double A = A_EB + A_EE; - double B = B_EB + B_EE; - double C = C_EB + C_EE; - double D = D_EB + D_EE; - double N_pass = N_pass_EB + N_pass_EE; - double N_fail = N_fail_EB + N_fail_EE; - //int N = N_pass + N_fail; - - double eff = 1.0*A/(A+B); - double efferror = sqrt(eff*(1.-eff)/N_pass); - double f = 1.0*A/B; - double ferror = efferror/((1.-eff)*(1.-eff)); - - double effprime = 1.0*D/(D+C); - double effprimeerror = sqrt(effprime*(1.-effprime)/N_fail); - double fprime = 1.0*D/C; - double fprimeerror = effprimeerror/((1.-effprime)*(1.-effprime)); - - cout << "f\tferror\teff\tefferror\tA\tB\tN_pass" << endl; - cout << f << "\t" << ferror << "\t" << eff << "\t" << efferror << "\t" << A << "\t" << B << "\t" << N_pass << "\n" << endl; - - cout << "fprime\tfprimeerror\teffprime\teffprimeerror\tD\tC\tN_fail" << endl; - cout << fprime << "\t" << fprimeerror << "\t" << effprime << "\t" << effprimeerror << "\t" << D << "\t" << C << "\t" << N_fail << "\n" << endl; - -// results << process << "\t" << f << "\t" << ferror << "\t" << A << "\t" << B << "\t" << fprime << "\t" << fprimeerror << "\t" << D << "\t" << C << endl; - - outfile->Write(); - outfile->Close(); -} diff --git a/ElectroWeakAnalysis/ZEE/macros/PlotCombiner.cc b/ElectroWeakAnalysis/ZEE/macros/PlotCombiner.cc deleted file mode 100644 index ea0a165f74166..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/PlotCombiner.cc +++ /dev/null @@ -1,262 +0,0 @@ -/* - Macro to make the plots ....................................... - - Instructions: - a. set up an input file that looks like the following: - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - # zee or wenu - wenu - # file name, type (sig, qcd, bce, gje, ewk), weight - histos_wenu.root sig 1.46 - histos_q20_30.root qcd 0 - histos_q30_80.root qcd 100. - histos_q80_170.root qcd 0 - histos_b20_30.root bce 0 - histos_b30_80.root bce 0 - histos_b80_170.root bce 0 - histos_zee.root ewk 0 - histos_wtaunu.root ewk 0 - histos_ztautau.root ewk 0 - histos_gj15.root gje 0 - histos_gj20.root gje 0 - histos_gj25.root gje 10.12 - histos_gj30.root gje 0 - histos_gj35.root gje 0 - histos_wmunu.root ewk 0 - histos_ttbar.root ewk 0 - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - lines that start with # are considered to be comments - line 2 has wenu or zee. From line 4 the list of the histo files are listed - (first word) then a type that could be sig,qcd,bce, gj or ewk in order to - discriminate among different sources of bkgs and finally the weight that we - want to weight the histogram entries. This particular example is for Wenu. For - Zee one has to put type sig in the zee file and ewk in the Wenu file. The order - of the files is arbitrary. Files with weight 0 will be ignored. - After you have set up this code you run a root macro to combine the plots. - You can do (not recommended - it actually crushes - to be debugged) - root -b PlotCombiner.cc - or to compile it within root (recommended) - root -b - root [1] .L PlotCombiner.cc++ - root [2] PlotCombiner() - - and you finally get the plots. - - TO DO: - functionalities to plot more kind of plots, e.g. efficiencies - - - Further Questions/Contact: - - nikolaos.rompotis @ cern.ch - - - - Nikolaos Rompotis - 29 June 09 - 18 Sept 09: 1st updgrade: input files in a text file - Imperial College London - - -*/ - - -#include -#include -#include -#include -#include "TString.h" -#include "TROOT.h" -#include "TStyle.h" -#include "TH1F.h" -#include "TFile.h" -#include "TCanvas.h" -#include "TLegend.h" - -void plotMaker(TString histoName, TString typeOfplot, - vector file, vector type, - vector weight, - TString xtitle, Int_t NBins, Double_t min, Double_t max); - - -void PlotCombiner() -{ - // read the file - ifstream input("inputFiles"); - int i = 0; - TString typeOfplot = ""; - vector types; - vector files; - vector weights; - - if (input.is_open()) { - std::string myline; - while (! input.eof()) { - getline(input, myline); - TString line(myline); - TString c('#'); - TString empty(' '); - if (line[0] != c) { - ++i; - if (i==1) typeOfplot=line; - else { - // read until you find 3 words - TString fname(""); - TString ftype(""); - TString fw(""); - int lineSize = (int) line.Length(); - int j=0; - while (j0) break;} - ++j; - } - if (fname.Length() == 0) break; - files.push_back(fname); - types.push_back(ftype); - double w = fw.Atof(); - weights.push_back(w); - std::cout << fname << ", " << ftype << ", "<< w << std::endl; - } - } - } - input.close(); - } - else { - std::cout << "File with name inputFile was not found" << std::endl; - return; - } - - // now you can launch the jobs - if (typeOfplot == "wenu") { - cout << "wenu plot maker" << endl; - // ==================== - // =====> WHICH HISTOS TO PLOT - // ==================== - plotMaker("h_met", typeOfplot, files, types, weights, "MET (GeV)", 100,0,100); - } - else { - cout << "zee plot maker" << endl; - // ==================== - // =====> WHICH HISTOS TO PLOT - // ==================== - plotMaker("h_mee", typeOfplot, files, types, weights, "M_{ee} (GeV)", 150,0,150); - } - - -} - - - -void plotMaker(TString histoName, TString wzsignal, - vector file, vector type, - vector weight, - TString xtitle, Int_t NBins, Double_t min, Double_t max) -{ - gROOT->Reset(); - gROOT->ProcessLine(".L tdrstyle.C"); - gROOT->ProcessLine("setTDRStyle()"); - - // Wenu Signal ....................................................... - TH1F h_wenu("h_wenu", "h_wenu", NBins, min, max); - int fmax = (int) file.size(); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_wenu.Add(h, weight[i]); - } - } - // Bkgs .............................................................. - // - // QCD light flavor - TH1F h_qcd("h_qcd", "h_qcd", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_qcd.Add(h, weight[i]); - } - } - // QCD heavy flavor - TH1F h_bce("h_bce", "h_bce", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_bce.Add(h, weight[i]); - } - } - // QCD Gjets - TH1F h_gj("h_gj", "h_gj", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_gj.Add(h, weight[i]); - } - } - // Other EWK bkgs - TH1F h_ewk("h_ewk", "h_ewk", NBins, min, max); - for (int i=0; i0) { - TFile f(file[i]); - TH1F *h = (TH1F*) f.Get(histoName); - h_ewk.Add(h, weight[i]); - } - } - // - // ok now decide how to plot them: - // first the EWK bkgs - h_ewk.SetFillColor(3); - // - // then the gjets - h_gj.Add(&h_ewk); - h_gj.SetFillColor(1); - // thent the QCD dijets - h_bce.Add(&h_qcd); - h_bce.Add(&h_gj); - h_bce.SetFillColor(2); - // and the signal at last - TH1F h_tot("h_tot", "h_tot", NBins, min, max); - h_tot.Add(&h_bce); - h_tot.Add(&h_wenu); - h_wenu.SetLineColor(4); h_wenu.SetLineWidth(2); - // - TCanvas c; - h_tot.GetXaxis()->SetTitle(xtitle); - h_tot.Draw("PE"); - h_bce.Draw("same"); - h_gj.Draw("same"); - h_ewk.Draw("same"); - h_wenu.Draw("same"); - - // the Legend - TLegend leg(0.6,0.65,0.95,0.92); - if (wzsignal == "wenu") - leg.AddEntry(&h_wenu, "W#rightarrow e#nu","l"); - else - leg.AddEntry(&h_wenu, "Z#rightarrow ee","l"); - leg.AddEntry(&h_tot, "Signal + Bkg","p"); - leg.AddEntry(&h_bce, "dijets","f"); - leg.AddEntry(&h_gj, "#gamma + jets","f"); - leg.AddEntry(&h_ewk, "EWK+t#bar t", "f"); - leg.Draw("same"); - - c.Print("test.png"); - - - -} - - - diff --git a/ElectroWeakAnalysis/ZEE/macros/PlotHistograms.cpp b/ElectroWeakAnalysis/ZEE/macros/PlotHistograms.cpp deleted file mode 100644 index daae9b8929358..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/PlotHistograms.cpp +++ /dev/null @@ -1,467 +0,0 @@ -#include "TFile.h" -#include "TTree.h" -#include "TH1.h" -#include - -void PlotHistograms() -{ - int nTags, nErNu; - int nMcElecs_Zmum, nMcElecs_Final; - int nRecHitsInStrip[4], nRecHitsInCone[4]; - - double Z_pt[4]; - - double elec_q[4], elec_pt[4], elec_eta[4], elec_phi[4]; - double elec_rescPt[4], elec_rescEta[4];//, elec_rescPhi[4]; - - double /*probe_q[4], */probe_pt[4], probe_eta[4], probe_phi[4]; - double probe_rescPt[4], probe_rescEta[4];//, probe_rescPhi[4]; - - double ErsatzV1MEt[4], ErsatzV1Mt[4], ErsatzV1MEtphi[4]; - double ErsatzV1aMEt[4], ErsatzV1aMt[4], ErsatzV1aMEtphi[4]; - double ErsatzV1bMEt[4], ErsatzV1bMt[4], ErsatzV1bMEtphi[4]; - double ErsatzV1cMEt[4], ErsatzV1cMt[4], ErsatzV1cMEtphi[4]; - double ErsatzV2MEt[4], ErsatzV2Mt[4], ErsatzV2MEtphi[4]; - double caloMEt; - double mesc[4], rescMesc[4]; - - double elec_trkIso[4], elec_EcalIso[4], elec_HcalIso[4]; - double elec_sIhIh[4], elec_dPhi[4], elec_dEta[4]; - - double ernu_e1x5[4], ernu_e2x5[4], ernu_e5x5[4], ernu_sIhIh[4]; - double ernu_HcalEt015[4], ernu_HcalE015[4], ernu_trkIso[4]; - - double ernu_E[4], ernu_rawE[4], ernu_unclusE[4], ernu_d_McE_ScE[4]; - double ernu_fEtaCorrE[4], ernu_fBremCorrE[4], ernu_AddCorrE[4]; - int ernu_nClusters[4]; - - double McZ_m[4], McZ_pt[4]/*, McZ_eta[4]*/, McZ_phi[4]; - double McZ_rescM[4];//, McZ_rescPt[4], McZ_rescEta[4], McZ_rescPhi[4]; - double McElec_pt[4], McElec_eta[4];//, McElec_phi[4]; - double McElec_rescPt[4], McElec_rescEta[4];//, McElec_rescPhi[4]; - double McErNu_pt[4], McErNu_eta[4], McErNu_phi[4]; - double McErNu_rescPt[4], McErNu_rescEta[4], McErNu_rescPhi[4]; - double McElecErNu_dPhi[4], McElecErNu_dR[4]; - int ernu_McMatch[4]; - - TFile *file = TFile::Open("/tmp/rnandi/test.root"); - TTree *t = (TTree*) file->Get("ErsatzMEt/ErsatzMEt"); - -/* - double nueff[345]; - //ifstream weightsin("EtaWeights.txt"); - for(int eta=0; eta < 345; ++eta) - { - //double weight; - //weightsin >> weight; - nueff[eta] = 1.;//weight; - } -*/ -// TBranch* = t->GetBranch(""); -// ->SetAddress(&); - TBranch* bNum_Tags = t->GetBranch("nTags"); - bNum_Tags->SetAddress(&nTags); - TBranch* bNum_ErNu = t->GetBranch("nProbes"); - bNum_ErNu->SetAddress(&nErNu); - TBranch* bNum_McElecs_Zmum = t->GetBranch("McElec_nZmum"); - bNum_McElecs_Zmum->SetAddress(&nMcElecs_Zmum); - TBranch* bNum_McElecs_Final = t->GetBranch("McElec_nFinal"); - bNum_McElecs_Final->SetAddress(&nMcElecs_Final); - TBranch* bNum_RecHitsInStrip = t->GetBranch("nRecHitsInStrip"); - bNum_RecHitsInStrip->SetAddress(&nRecHitsInStrip); - TBranch* bNum_RecHitsInCone = t->GetBranch("nRecHitsInCone"); - bNum_RecHitsInCone->SetAddress(&nRecHitsInCone); - - //Z properties - TBranch* bZ_pt = t->GetBranch("Z_pt"); - bZ_pt->SetAddress(&Z_pt); - - //Selected electron properties - TBranch* bTag_q = t->GetBranch("tag_q"); - bTag_q->SetAddress(&elec_q); - TBranch* bTag_pt = t->GetBranch("tag_pt"); - bTag_pt->SetAddress(&elec_pt); - TBranch* bTag_eta = t->GetBranch("tag_eta"); - bTag_eta->SetAddress(&elec_eta); - TBranch* bTag_phi = t->GetBranch("tag_phi"); - bTag_phi->SetAddress(&elec_phi); - TBranch* bTag_rescPt = t->GetBranch("tag_rescPt"); - bTag_rescPt->SetAddress(&elec_rescPt); - TBranch* bTag_rescEta = t->GetBranch("tag_rescEta"); - bTag_rescEta->SetAddress(&elec_rescEta); -// TBranch* bTag_rescPhi = t->GetBranch("tag_rescPhi"); -// bTag_rescPhi->SetAddress(&elec_rescPhi); - - TBranch* bTag_sIhIh = t->GetBranch("tag_sIhIh"); - bTag_sIhIh->SetAddress(&elec_sIhIh); - TBranch* bTag_dPhi = t->GetBranch("tag_dPhiIn"); - bTag_dPhi->SetAddress(&elec_dPhi); - TBranch* bTag_dEta = t->GetBranch("tag_dEtaIn"); - bTag_dEta->SetAddress(&elec_dEta); - TBranch* bTag_tIso = t->GetBranch("tag_isoTrack"); - bTag_tIso->SetAddress(&elec_trkIso); - TBranch* bTag_eIso = t->GetBranch("tag_isoEcal"); - bTag_eIso->SetAddress(&elec_EcalIso); - TBranch* bTag_hIso = t->GetBranch("tag_isoHcal"); - bTag_hIso->SetAddress(&elec_HcalIso); - - //ersatz neutrino properties -// TBranch* bProbe_q = t->GetBranch("probe_q"); -// bProbe_q->SetAddress(&probe_q); - TBranch* bProbe_pt = t->GetBranch("probe_pt"); - bProbe_pt->SetAddress(&probe_pt); - TBranch* bProbe_eta = t->GetBranch("probe_eta"); - bProbe_eta->SetAddress(&probe_eta); - TBranch* bProbe_phi = t->GetBranch("probe_phi"); - bProbe_phi->SetAddress(&probe_phi); - TBranch* bProbe_rescPt = t->GetBranch("probe_rescPt"); - bProbe_rescPt->SetAddress(&probe_rescPt); - TBranch* bProbe_rescEta = t->GetBranch("probe_rescEta"); - bProbe_rescEta->SetAddress(&probe_rescEta); -// TBranch* bProbe_rescPhi = t->GetBranch("probe_rescPhi"); -// bProbe_rescPhi->SetAddress(&probe_rescPhi); - TBranch* bProbe_trckIso = t->GetBranch("probe_isoTrack"); - bProbe_trckIso->SetAddress(&ernu_trkIso); -// TBranch* bProbe_ECALIso = t->GetBranch("probe_isoECAL"); -// bProbe_ECALIso->SetAddress(&ernu_ECALIso); -// TBranch* bProbe_HCALIso = t->GetBranch("probe_isoHCAL"); -// bProbe_HCALIso->SetAddress(&ernu_HCALIso); - TBranch* bProbe_sIhIh = t->GetBranch("probe_sIhIh"); - bProbe_sIhIh->SetAddress(&ernu_sIhIh); -// TBranch* bProbe_DeltaEta = t->GetBranch("probe_DeltaEta"); -// bProbe_DeltaEta->SetAddress(&ernu_DeltaEta); -// TBranch* bProbe_DeltaPhiIso = t->GetBranch("probe_DeltaPhi"); -// bProbe_DeltaPhi->SetAddress(&ernu_DeltaPhi); - TBranch* bProbe_e1x5 = t->GetBranch("probe_e1x5Max"); - bProbe_e1x5->SetAddress(&ernu_e1x5); - TBranch* bProbe_e2x5 = t->GetBranch("probe_e2x5Max"); - bProbe_e2x5->SetAddress(&ernu_e2x5); - TBranch* bProbe_e5x5 = t->GetBranch("probe_e5x5"); - bProbe_e5x5->SetAddress(&ernu_e5x5); - TBranch* bProbe_HcalE015 = t->GetBranch("probe_HcalE015"); - bProbe_HcalE015->SetAddress(&ernu_HcalE015); - TBranch* bProbe_HcalEt015 = t->GetBranch("probe_HcalEt015"); - bProbe_HcalEt015->SetAddress(&ernu_HcalEt015); - - //Energy Correction results - TBranch* bProbe_E = t->GetBranch("probe_E"); - bProbe_E->SetAddress(&ernu_E); - TBranch* bProbe_rawE = t->GetBranch("probe_rawE"); - bProbe_rawE->SetAddress(&ernu_rawE); - TBranch* bProbe_unclusE = t->GetBranch("probe_UnclusEcalE"); - bProbe_unclusE->SetAddress(&ernu_unclusE); - TBranch* bProbe_fEtaCorrE = t->GetBranch("probe_fEtaCorrE"); - bProbe_fEtaCorrE->SetAddress(&ernu_fEtaCorrE); - TBranch* bProbe_fBremCorrE = t->GetBranch("probe_fBremCorrE"); - bProbe_fBremCorrE->SetAddress(&ernu_fBremCorrE); - TBranch* bProbe_AddCorrE = t->GetBranch("probe_EAdd"); - bProbe_AddCorrE->SetAddress(&ernu_AddCorrE); - TBranch* bProbe_d_MCE_SCE = t->GetBranch("probe_d_MCE_SCE"); - bProbe_d_MCE_SCE->SetAddress(&ernu_d_McE_ScE); - TBranch* bProbe_nClus = t->GetBranch("probe_nClus"); - bProbe_nClus->SetAddress(&ernu_nClusters); - - //Ersatz MEt results - TBranch* bErsatzV1_MEt = t->GetBranch("ErsatzV1CaloMEt"); - bErsatzV1_MEt->SetAddress(&ErsatzV1MEt); - TBranch* bErsatzV1_Mt = t->GetBranch("ErsatzV1CaloMt"); - bErsatzV1_Mt->SetAddress(&ErsatzV1Mt); - TBranch* bErsatzV1_MEtphi = t->GetBranch("ErsatzV1CaloMEtPhi"); - bErsatzV1_MEtphi->SetAddress(&ErsatzV1MEtphi); - - TBranch* bErsatzV1a_MEt = t->GetBranch("ErsatzV1aCaloMEt"); - bErsatzV1a_MEt->SetAddress(&ErsatzV1aMEt); - TBranch* bErsatzV1a_Mt = t->GetBranch("ErsatzV1aCaloMt"); - bErsatzV1a_Mt->SetAddress(&ErsatzV1aMt); - TBranch* bErsatzV1a_MEtphi = t->GetBranch("ErsatzV1aCaloMEtPhi"); - bErsatzV1a_MEtphi->SetAddress(&ErsatzV1aMEtphi); - - TBranch* bErsatzV1b_MEt = t->GetBranch("ErsatzV1bCaloMEt"); - bErsatzV1b_MEt->SetAddress(&ErsatzV1bMEt); - TBranch* bErsatzV1b_Mt = t->GetBranch("ErsatzV1bCaloMt"); - bErsatzV1b_Mt->SetAddress(&ErsatzV1bMt); - TBranch* bErsatzV1b_MEtphi = t->GetBranch("ErsatzV1bCaloMEtPhi"); - bErsatzV1b_MEtphi->SetAddress(&ErsatzV1bMEtphi); - - TBranch* bErsatzV1c_MEt = t->GetBranch("ErsatzV1cCaloMEt"); - bErsatzV1c_MEt->SetAddress(&ErsatzV1cMEt); - //TBranch* bErsatzV1c_Mt = t->GetBranch("ErsatzV1cCaloMt"); - //bErsatzV1c_Mt->SetAddress(&ErsatzV1cMt); - TBranch* bErsatzV1c_MEtphi = t->GetBranch("ErsatzV1cCaloMEtPhi"); - bErsatzV1c_MEtphi->SetAddress(&ErsatzV1cMEtphi); - - TBranch* bErsatzV2_MEt = t->GetBranch("ErsatzV2CaloMEt"); - bErsatzV2_MEt->SetAddress(&ErsatzV2MEt); - TBranch* bErsatzV2_Mt = t->GetBranch("ErsatzV2CaloMt"); - bErsatzV2_Mt->SetAddress(&ErsatzV2Mt); - TBranch* bErsatzV2_MEtphi = t->GetBranch("ErsatzV2CaloMEtPhi"); - bErsatzV2_MEtphi->SetAddress(&ErsatzV2MEtphi); - - TBranch* bMesc = t->GetBranch("ErsatzV1_Mesc"); - bMesc->SetAddress(&mesc); - TBranch* brescMesc = t->GetBranch("ErsatzV1_rescMesc"); - brescMesc->SetAddress(&rescMesc); - TBranch* bCaloMEt = t->GetBranch("recoCaloMEt"); - bCaloMEt->SetAddress(&caloMEt); - - TBranch* bMcZ_m = t->GetBranch("McZ_m"); - bMcZ_m->SetAddress(&McZ_m); - TBranch* bMcZ_pt = t->GetBranch("McZ_Pt"); - bMcZ_pt->SetAddress(&McZ_pt); -// TBranch* bMcZ_eta = t->GetBranch("McZ_eta"); -// bMcZ_eta->SetAddress(&McZ_eta); - TBranch* bMcZ_phi = t->GetBranch("McZ_Phi"); - bMcZ_phi->SetAddress(&McZ_phi); - TBranch* bMcZ_rescM = t->GetBranch("McZ_rescM"); - bMcZ_rescM->SetAddress(&McZ_rescM); -// TBranch* bMcZ_rescPt = t->GetBranch("McZ_rescPt"); -// bMcZ_rescPt->SetAddress(&McZ_rescPt); -// TBranch* bMcZ_rescEta = t->GetBranch("McZ_rescEta"); -// bMcZ_rescEta->SetAddress(&McZ_rescEta); -// TBranch* bMcZ_rescPhi = t->GetBranch("McZ_rescPhi"); -// bMcZ_rescPhi->SetAddress(&McZ_rescPhi); - - TBranch* bMcElec_pt = t->GetBranch("McElec_pt"); - bMcElec_pt->SetAddress(&McElec_pt); - TBranch* bMcElec_eta = t->GetBranch("McElec_eta"); - bMcElec_eta->SetAddress(&McElec_eta); -// TBranch* bMcElec_phi = t->GetBranch("McElec_phi"); -// bMcElec_phi->SetAddress(&McElec_phi); - TBranch* bMcElec_rescPt = t->GetBranch("McElec_rescPt"); - bMcElec_rescPt->SetAddress(&McElec_rescPt); - TBranch* bMcElec_rescEta = t->GetBranch("McElec_rescEta"); - bMcElec_rescEta->SetAddress(&McElec_rescEta); -// TBranch* bMcElec_rescPhi = t->GetBranch("McElec_rescPhi"); -// bMcElec_rescPhi->SetAddress(&McElec_rescPhi); - - TBranch* bMcErNu_pt = t->GetBranch("McProbe_pt"); - bMcErNu_pt->SetAddress(&McErNu_pt); - TBranch* bMcErNu_eta = t->GetBranch("McProbe_eta"); - bMcErNu_eta->SetAddress(&McErNu_eta); - TBranch* bMcErNu_phi = t->GetBranch("McProbe_phi"); - bMcErNu_phi->SetAddress(&McErNu_phi); - TBranch* bMcErNu_rescPt = t->GetBranch("McProbe_rescPt"); - bMcErNu_rescPt->SetAddress(&McErNu_rescPt); - TBranch* bMcErNu_rescEta = t->GetBranch("McProbe_rescEta"); - bMcErNu_rescEta->SetAddress(&McErNu_rescEta); - TBranch* bMcErNu_rescPhi = t->GetBranch("McProbe_rescPhi"); - bMcErNu_rescPhi->SetAddress(&McErNu_rescPhi); - - TBranch* bMcElecErNu_dPhi = t->GetBranch("McElecProbe_dPhi"); - bMcElecErNu_dPhi->SetAddress(&McElecErNu_dPhi); - TBranch* bMcElecErNu_dR = t->GetBranch("McElecProbe_dR"); - bMcElecErNu_dR->SetAddress(&McElecErNu_dR); - //TBranch* bProbe_elec = t->GetBranch("probe_elecMatch"); - //bProbe_elec->SetAddress(&ernu_McMatch); - - //TString OutFileName = "Zee_Histograms.root"; - TFile *outfile = TFile::Open("/tmp/rnandi/test_Histograms.root", "recreate"); - - TH1I* h_nTags = new TH1I("nTags", "Number of Tags;Number of Tags;Arbitrary Units", 4, 0, 4); - TH1I* h_nErNu = new TH1I("nErNu", "Number of Ersatz Neutrinos;Number of Ersatz Neutrinos;Arbitrary Units", 2, 0, 2); - TH1I* h_nMcElecs_Zmum = new TH1I("nMcElecs_Zmum", "Number of Monte Carlo Electrons with Z as Mother;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nMcElecs_Final = new TH1I("nMcElecs_Final", "Number of Final State Monte Carlo Electrons;Number of MC Electrons;Arbitrary Units", 4, 0, 4); - TH1I* h_nRecHitsInStrip = new TH1I("nRecHitsInStrip", ";;Arbitrary Units", 20, 0, 20); - TH1I* h_nRecHitsInCone = new TH1I("nRecHitsInCone", ";;Arbitrary Units", 20, 0, 20); - - TH1F* h_Z_pt = new TH1F("Z_pt", "Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - - TH1F* h_elec_q = new TH1F("elec_q", "Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt = new TH1F("elec_pt", "Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta = new TH1F("elec_eta", "Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_phi = new TH1F("elec_phi", "Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_elec_sIhIh = new TH1F("elec_sIhIh", "Electron #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitary Units", 100, 0., 0.05); - TH1F* h_elec_dEta = new TH1F("elec_dEta", "Electron #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); - TH1F* h_elec_dPhi = new TH1F("elec_dPhi", "Electron #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_elec_TrkIso = new TH1F("elec_TrkIso", "Electon Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_EcalIso = new TH1F("elec_EcalIso", "Electron ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_HcalIso = new TH1F("elec_HcalIso", "Electron HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_rescPt = new TH1F("elec_rescPt", "Electron Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_rescEta = new TH1F("elec_rescEta", "Electron Rescaled #eta;Rescaled #eta;Arbitrary Units", 100, -3., 3.); - -// TH1F* h_ErNu_q = new TH1F("h_ErNu_q", "Ersatz Neutrino Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_ErNu_pt = new TH1F("ErNu_pt", "Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_eta = new TH1F("ErNu_eta", "Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_ErNu_phi = new TH1F("ErNu_phi", "Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_ErNu_rescPt = new TH1F("ErNu_rescPt", "Ersatz Neutrino Rescaled p_{T};Rescaled p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rescEta = new TH1F("ErNu_rescEta", "Ersatz Neutrino Rescaled #eta;Rescaled #eta", 100, -3., 3.); - - TH1F* h_ErNu_sIhIh = new TH1F("ErNu_sIhIh", "Ersatz Neutrino #sigma_{i#etai#eta};#sigma_{i#etai#eta};Arbitrary Units", 100, 0., 0.05); -// TH1F* h_ErNu_dEta = new TH1F("ErNu_dEta", "Ersatz Neutrino #Delta#eta;#Delta#eta;Arbitrary Units", 100, 0., 0.02); -// TH1F* h_ErNu_dPhi = new TH1F("ErNu_dPhi", "Ersatz Neutrino #Delta#phi;#Delta#phi;Arbitrary Units", 100, 0., 0.1); - TH1F* h_ErNu_TrkIso = new TH1F("ErNu_TrkIso", "Ersatz Neutrino Track Isolation;Track Isolation #Sigma p_{T}^{tracks} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_EcalIso = new TH1F("ErNu_EcalIso", "Ersatz Neutrino ECAL Isolation;ECAL Isolation #Sigma E_{T}^{ECAL} / GeV;Arbitrary Units", 100, 0., 10.); -// TH1F* h_ErNu_HcalIso = new TH1F("ErNu_HcalIso", "Ersatz Neutrino HCAL Isolation;HCAL Isolation #Sigma E_{T}^{HCAL} / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_e1x5Max = new TH1F("ErNu_e1x5Max", "Ersatz Neutrino Maximum Energy in 1x5 Array of Crystals;e1x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e2x5Max = new TH1F("ErNu_e2x5Max", "Ersatz Neutrino Maximum Energy in 2x5 Array of Crystals;e2x5Max / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_e5x5 = new TH1F("ErNu_e5x5", "Ersatz Neutrino Energy in 5x5 Array of Crystals;e5x5 / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_HcalE015 = new TH1F("ErNu_HcalE015", "Ersatz Neutrino HCAL Energy in a 0.15 Cone;HCAL Energy / GeV;Arbitrary Units", 100, 0., 10.); - TH1F* h_ErNu_HcalEt015 = new TH1F("ErNu_HcalEt015", "Ersatz Neutrino HCAL E_{T} in a 0.15 Cone;HCAL E_{T};Arbitrary Units", 100, 0., 10.); - -// TH1F* h_rechitE = new TH1F("h_rechitE", "", 100, , ); // What is this - TH1F* h_ErNu_E = new TH1F("ErNu_E", "Ersatz Neutrino Energy;Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_rawE = new TH1F("ErNu_rawE", "Ersatz Neutrino Raw Energy;Raw Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_unclusE = new TH1F("ErNu_unclusE", "Ersatz Neutrino Unclustered ECAL Energy;Unclustered Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fEtaCorrE = new TH1F("ErNu_fEtaCorrE", "Ersatz Neutrino fEta Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_fBremCorrE = new TH1F("ErNu_fBremCorrE", "Ersatz Neutrino fBrem Corrected Energy;Correcteed Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErNu_AddCorrE = new TH1F("ErNu_AddCorrE", "Ersatz Neutrino Add Corrected Energy;Corrected Energy / GeV;Arbitrary Units", 100, 0., 100.); - TH1I* h_ErNu_nClusters = new TH1I("ErNu_nClusters", "Ersatz Neutrino Number of Clusters;Number of Clusters;Arbitrary Units", 10, 0, 10); - -// TH1F* h_ErsatzV1MEt = new TH1F("ErsatzV1MEt", "ErsatzV1MEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1Mt = new TH1F("ErsatzV1Mt", "ErsatzV1Mt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1MEtphi = new TH1F("ErsatzV1MEtPhi", "ErsatzV1MEtPhi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEt = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMt = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1aMEtphi = new TH1F("ErsatzV1aMEtphi", "ErsatzV1aMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEt = new TH1F("ErsatzV1bMEt", "ErsatzV1bMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMt = new TH1F("ErsatzV1bMt", "ErsatzV1bMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1bMEtphi = new TH1F("ErsatzV1bMEtphi", "ErsatzV1bMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEt = new TH1F("ErsatzV1cMEt", "ErsatzV1cMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMt = new TH1F("ErsatzV1cMt", "ErsatzV1cMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV1cMEtphi = new TH1F("ErsatzV1cMEtphi", "ErsatzV1cMEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEt = new TH1F("ErsatzV1aMEt", "ErsatzV1aMEt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2Mt = new TH1F("ErsatzV1aMt", "ErsatzV1aMt;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_ErsatzV2MEtphi = new TH1F("ErsatzV2MEtphi", "ErsatzV2MEtphi;#slash{E_{T}} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_RecoCaloMEt = new TH1F("RecoCaloMEt", "Calometric #slashE_{T};#slashE_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzV1Mesc = new TH1F("ErsatzV1Mesc", "Invariant Mass;Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_ErsatzV1rescMesc = new TH1F("ErsatzV1rescMesc", "Rescaled Invariant Mass;Rescaled Invariant Mass / GeV;Arbitrary Units", 100, 41., 141.); - - TH1F* h_McZ_M = new TH1F("McZ_M", "Monte Carlo Z Mass;Mass / GeV; Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_rescM = new TH1F("McZ_rescM", "Monte Carlo Rescaled Z Mass;Mass / GeV;Arbitrary Units", 100, 41., 141.); - TH1F* h_McZ_Pt = new TH1F("McZ_Pt", "Monte Carlo Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_rescPt = new TH1F("McZ_rescPt", "Monte Carlo Rescaled Z p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); -// TH1F* h_McZ_Eta = new TH1F("McZ_eta", "Monte Carlo Z #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McZ_rescEta = new TH1F("McZ_rescEta", "Monte Carlo Rescaled Z #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McZ_Phi = new TH1F("McZ_phi", "Monte Carlo Z #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McZ_rescPhi = new TH1F("McZ_rescPhi", "Monte Carlo Z Rescaled #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElec_Pt = new TH1F("McElec_Pt", "Monte Carlo Electron p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_rescPt = new TH1F("McElec_rescPt", "Monte Carlo Rescaled Electron p_{T};Rescaled p_{T};Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_Eta = new TH1F("McElec_Eta", "Monte Carlo Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McElec_rescEta = new TH1F("McElec_rescEta", "Monte Carlo Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); -// TH1F* h_McElec_Phi = new TH1F("McElec_Phi", "Monte Carlo Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); -// TH1F* h_McElec_rescPhi = new TH1F("McElec_rescPhi", "Monte Carlo Rescaled Electron #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McErNu_Pt = new TH1F("McErNu_Pt", "Monte Carlo Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_rescPt = new TH1F("McErNu_rescPt", "Monte Carlo Rescaled Ersatz Neutrino p_{T};p_{T} / GeV;Arbitrary Units", 100, 0., 100.); - TH1F* h_McErNu_Eta = new TH1F("McErNu_Eta", "Monte Carlo Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_rescEta = new TH1F("McErNu_rescEta", "Monte Carlo Rescaled Ersatz Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McErNu_Phi = new TH1F("McErNu_Phi", "Monte Carlo Ersatz Neutrino #phi;#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McErNu_rescPhi = new TH1F("McErNu_rescPhi", "Monte Carlo Rescaled Ersatz Neutrino #phi;Rescaled #phi;Arbitrary Units", 100, 0., 3.1416); - - TH1F* h_McElecErNu_dPhi = new TH1F("McElecErNu_dPhi", "Monte Carlo #Delta#phi between Electrons;#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecErNu_dR = new TH1F("McElecErNu_dR", "Monte Carlo #DeltaR between Electrons;MC Match;Arbitrary Units", 100, 0., 3.1416); - //TH1I* h_McMatch = new TH1I("McMatch", "Monte Carlo Match of Ersatz Neutrino to an Electron;MC Match;Arbitrary Units", 2, 0, 2); - -// TH1F* h_EtaInt = new TH1F("EtaInt", "", 345, 0, 345); -// TH1F* h_EtaWeights = new TH1F("EtaWeights", "", 40, 0., 2.); - - long nEntries = t->GetEntries(); - cout << "Number of Events = " << nEntries << endl; - for (long i=0; i < nEntries; i++) - { - t->GetEntry(i); - - h_nTags->Fill(nTags); - h_nErNu->Fill(nErNu); - h_nMcElecs_Zmum->Fill(nMcElecs_Zmum); - h_nMcElecs_Final->Fill(nMcElecs_Final); - h_RecoCaloMEt->Fill(caloMEt); - - for (int j=0; j < nErNu; j++) - { - - h_nRecHitsInStrip->Fill(nRecHitsInStrip[j]); - h_nRecHitsInCone->Fill(nRecHitsInCone[j]); - - h_Z_pt->Fill(Z_pt[j]); - - h_elec_q->Fill(elec_q[j]); - h_elec_pt->Fill(elec_pt[j]); - h_elec_eta->Fill(elec_eta[j]); - h_elec_phi->Fill(elec_phi[j]); - h_elec_sIhIh->Fill(elec_sIhIh[j]); - h_elec_dPhi->Fill(elec_dPhi[j]); - h_elec_dEta->Fill(elec_dEta[j]); - h_elec_TrkIso->Fill(elec_trkIso[j]); - h_elec_EcalIso->Fill(elec_EcalIso[j]); - h_elec_HcalIso->Fill(elec_HcalIso[j]); - h_elec_rescPt->Fill(elec_rescPt[j]); - h_elec_rescEta->Fill(elec_rescEta[j]); - -// h_ErNu_q->Fill(probe_q[j]); - h_ErNu_pt->Fill(probe_pt[j]); - h_ErNu_eta->Fill(probe_eta[j]); - h_ErNu_phi->Fill(probe_phi[j]); - h_ErNu_rescPt->Fill(probe_rescPt[j]); - h_ErNu_rescEta->Fill(probe_rescEta[j]); - - h_ErNu_sIhIh->Fill(ernu_sIhIh[j]); -// h_ErNu_dPhi->Fill(ernu_dPhi[j]); -// h_ErNu_dEta->Fill(ernu_dEta[j]); - h_ErNu_TrkIso->Fill(ernu_trkIso[j]); -// h_ErNu_EcalIso->Fill(ernu_EcalIso[j]); -// h_ErNu_HcalIso->Fill(ernu_HcalIso[j]); - h_ErNu_e1x5Max->Fill(ernu_e1x5[j]); - h_ErNu_e2x5Max->Fill(ernu_e2x5[j]); - h_ErNu_e5x5->Fill(ernu_e5x5[j]); - h_ErNu_HcalE015->Fill(ernu_HcalE015[j]); - h_ErNu_HcalEt015->Fill(ernu_HcalEt015[j]); - - h_ErNu_E->Fill(ernu_E[j]); - h_ErNu_rawE->Fill(ernu_rawE[j]); - h_ErNu_unclusE->Fill(ernu_unclusE[j]); - h_ErNu_fEtaCorrE->Fill(ernu_fEtaCorrE[j]); - h_ErNu_fBremCorrE->Fill(ernu_fBremCorrE[j]); - h_ErNu_AddCorrE->Fill(ernu_AddCorrE[j]); - h_ErNu_nClusters->Fill(ernu_nClusters[j]); - -// h_ErsatzV1MEt->Fill(ErsatzV1MEt[j]); -// h_ErsatzV1Mt->Fill(ErsatzV1Mt[j]); -// h_ErsatzV1MEtphi->Fill(ErsatzV1MEtphi[j]); -// h_ErsatzV1aMEt->Fill(ErsatzV1aMEt[j]); -// h_ErsatzV1aMt->Fill(ErsatzV1aMt[j]); -// h_ErsatzV1aMEtphi->Fill(ErsatzV1aMEtphi[j]); - h_ErsatzV1bMEt->Fill(ErsatzV1bMEt[j]); - h_ErsatzV1bMt->Fill(ErsatzV1bMt[j]); - h_ErsatzV1bMEtphi->Fill(ErsatzV1bMEtphi[j]); -// h_ErsatzV1cMEt->Fill(ErsatzV1cMEt[j]); -// h_ErsatzV1cMt->Fill(ErsatzV1cMt[j]); -// h_ErsatzV1cMEtphi->Fill(ErsatzV1cMEtphi[j]); -// h_ErsatzV2MEt->Fill(ErsatzV2MEt[j]); -// h_ErsatzV2Mt->Fill(ErsatzV2Mt[j]); -// h_ErsatzV2MEtphi->Fill(ErsatzV2MEtphi[j]); - h_ErsatzV1Mesc->Fill(mesc[j]); - h_ErsatzV1rescMesc->Fill(rescMesc[j]); - - h_McZ_M->Fill(McZ_m[j]); - h_McZ_rescM->Fill(McZ_rescM[j]); - h_McZ_Pt->Fill(McZ_pt[j]); -// h_McZ_rescPt->Fill(McZ_rescPt[j]); -// h_McZ_Eta->Fill(McZ_eta[j]); -// h_McZ_rescEta->Fill(McZ_rescEta[j]); - h_McZ_Phi->Fill(McZ_phi[j]); -// h_McZ_rescPhi->Fill(McZ_rescPhi[j]); - - h_McElec_Pt->Fill(McElec_pt[j]); - h_McElec_rescPt->Fill(McElec_rescPt[j]); - h_McElec_Eta->Fill(McElec_eta[j]); - h_McElec_rescEta->Fill(McElec_rescEta[j]); -// h_McElec_Phi->Fill(McElec_phi[j]); -// h_McElec_rescPhi->Fill(McElec_rescPhi[j]); - - h_McErNu_Pt->Fill(McErNu_pt[j]); - h_McErNu_rescPt->Fill(McErNu_rescPt[j]); - h_McErNu_Eta->Fill(McErNu_eta[j]); - h_McErNu_rescEta->Fill(McErNu_rescEta[j]); - h_McErNu_Phi->Fill(McErNu_phi[j]); - h_McErNu_rescPhi->Fill(McErNu_rescPhi[j]); - - h_McElecErNu_dPhi->Fill(McElecErNu_dPhi[j]); - h_McElecErNu_dR->Fill(McElecErNu_dR[j]); - //h_McMatch->Fill(ernu_McMatch[j]); - } - } - outfile->Write(); - outfile->Close(); -} diff --git a/ElectroWeakAnalysis/ZEE/macros/inputFiles b/ElectroWeakAnalysis/ZEE/macros/inputFiles deleted file mode 100644 index d8419cca90d4d..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/inputFiles +++ /dev/null @@ -1,21 +0,0 @@ -# zee or wenu -zee -# file name, type (sig, qcd, bce, gje, ewk), weight -histos_zee.root sig 1.46 -histos_q20_30.root qcd 0 -histos_q30_80.root qcd 100. -histos_q80_170.root qcd 0 -histos_b20_30.root bce 0 -histos_b30_80.root bce 0 -histos_b80_170.root bce 0 -histos_wenu.root ewk 0 -histos_wtaunu.root ewk 0 -histos_ztautau.root ewk 0 -histos_gj15.root gje 0 -histos_gj20.root gje 0 -histos_gj25.root gje 10.12 -histos_gj30.root gje 0 -histos_gj35.root gje 0 -histos_wmunu.root ewk 0 -histos_ttbar.root ewk 0 - diff --git a/ElectroWeakAnalysis/ZEE/macros/tdrstyle.C b/ElectroWeakAnalysis/ZEE/macros/tdrstyle.C deleted file mode 100644 index 59906aa4ba3e3..0000000000000 --- a/ElectroWeakAnalysis/ZEE/macros/tdrstyle.C +++ /dev/null @@ -1,157 +0,0 @@ -#include "TStyle.h" - -// tdrGrid: Turns the grid lines on (true) or off (false) - -void tdrGrid(bool gridOn) { - tdrStyle->SetPadGridX(gridOn); - tdrStyle->SetPadGridY(gridOn); -} - -// fixOverlay: Redraws the axis - -void fixOverlay() { - gPad->RedrawAxis(); -} - -void setTDRStyle() { - TStyle *tdrStyle = new TStyle("tdrStyle","Style for P-TDR"); - -// For the canvas: - tdrStyle->SetCanvasBorderMode(0); - tdrStyle->SetCanvasColor(kWhite); - tdrStyle->SetCanvasDefH(600); //Height of canvas - tdrStyle->SetCanvasDefW(600); //Width of canvas - tdrStyle->SetCanvasDefX(0); //POsition on screen - tdrStyle->SetCanvasDefY(0); - -// For the Pad: - tdrStyle->SetPadBorderMode(0); - // tdrStyle->SetPadBorderSize(Width_t size = 1); - tdrStyle->SetPadColor(kWhite); - tdrStyle->SetPadGridX(false); - tdrStyle->SetPadGridY(false); - tdrStyle->SetGridColor(0); - tdrStyle->SetGridStyle(3); - tdrStyle->SetGridWidth(1); - -// For the frame: - tdrStyle->SetFrameBorderMode(0); - tdrStyle->SetFrameBorderSize(1); - tdrStyle->SetFrameFillColor(0); - tdrStyle->SetFrameFillStyle(0); - tdrStyle->SetFrameLineColor(1); - tdrStyle->SetFrameLineStyle(1); - tdrStyle->SetFrameLineWidth(1); - -// For the histo: - // tdrStyle->SetHistFillColor(1); - // tdrStyle->SetHistFillStyle(0); - tdrStyle->SetHistLineColor(1); - tdrStyle->SetHistLineStyle(0); - tdrStyle->SetHistLineWidth(1); - // tdrStyle->SetLegoInnerR(Float_t rad = 0.5); - // tdrStyle->SetNumberContours(Int_t number = 20); - - tdrStyle->SetEndErrorSize(2); -// tdrStyle->SetErrorMarker(20); - tdrStyle->SetErrorX(0.); - - tdrStyle->SetMarkerStyle(20); - -//For the fit/function: - tdrStyle->SetOptFit(1); - tdrStyle->SetFitFormat("5.4g"); - tdrStyle->SetFuncColor(2); - tdrStyle->SetFuncStyle(1); - tdrStyle->SetFuncWidth(1); - -//For the date: - tdrStyle->SetOptDate(0); - // tdrStyle->SetDateX(Float_t x = 0.01); - // tdrStyle->SetDateY(Float_t y = 0.01); - -// For the statistics box: - tdrStyle->SetOptFile(0); - tdrStyle->SetOptStat(0); // To display the mean and RMS: SetOptStat("mr"); - tdrStyle->SetStatColor(kWhite); - tdrStyle->SetStatFont(42); - tdrStyle->SetStatFontSize(0.025); - tdrStyle->SetStatTextColor(1); - tdrStyle->SetStatFormat("6.4g"); - tdrStyle->SetStatBorderSize(1); - tdrStyle->SetStatH(0.1); - tdrStyle->SetStatW(0.15); - // tdrStyle->SetStatStyle(Style_t style = 1001); - // tdrStyle->SetStatX(Float_t x = 0); - // tdrStyle->SetStatY(Float_t y = 0); - -// Margins: - tdrStyle->SetPadTopMargin(0.05); - tdrStyle->SetPadBottomMargin(0.12); - tdrStyle->SetPadLeftMargin(0.15); - tdrStyle->SetPadRightMargin(0.04); - -// For the Global title: - - tdrStyle->SetOptTitle(0); - tdrStyle->SetTitleFont(42); - tdrStyle->SetTitleColor(1); - tdrStyle->SetTitleTextColor(1); - tdrStyle->SetTitleFillColor(10); - tdrStyle->SetTitleFontSize(0.05); - // tdrStyle->SetTitleH(0); // Set the height of the title box - // tdrStyle->SetTitleW(0); // Set the width of the title box - // tdrStyle->SetTitleX(0); // Set the position of the title box - // tdrStyle->SetTitleY(0.985); // Set the position of the title box - // tdrStyle->SetTitleStyle(Style_t style = 1001); - // tdrStyle->SetTitleBorderSize(2); - -// For the axis titles: - - tdrStyle->SetTitleColor(1, "XYZ"); - tdrStyle->SetTitleFont(42, "XYZ"); - tdrStyle->SetTitleSize(0.06, "XYZ"); - // tdrStyle->SetTitleXSize(Float_t size = 0.02); // Another way to set the size? - // tdrStyle->SetTitleYSize(Float_t size = 0.02); - tdrStyle->SetTitleXOffset(0.9); - tdrStyle->SetTitleYOffset(1.25); - // tdrStyle->SetTitleOffset(1.1, "Y"); // Another way to set the Offset - -// For the axis labels: - - tdrStyle->SetLabelColor(1, "XYZ"); - tdrStyle->SetLabelFont(42, "XYZ"); - tdrStyle->SetLabelOffset(0.007, "XYZ"); - tdrStyle->SetLabelSize(0.05, "XYZ"); - -// For the axis: - - tdrStyle->SetAxisColor(1, "XYZ"); - tdrStyle->SetStripDecimals(kTRUE); - tdrStyle->SetTickLength(0.03, "XYZ"); - tdrStyle->SetNdivisions(510, "XYZ"); - tdrStyle->SetPadTickX(1); // To get tick marks on the opposite side of the frame - tdrStyle->SetPadTickY(1); - -// Change for log plots: - tdrStyle->SetOptLogx(0); - tdrStyle->SetOptLogy(0); - tdrStyle->SetOptLogz(0); - -// Postscript options: - tdrStyle->SetPaperSize(20.,20.); - // tdrStyle->SetLineScalePS(Float_t scale = 3); - // tdrStyle->SetLineStyleString(Int_t i, const char* text); - // tdrStyle->SetHeaderPS(const char* header); - // tdrStyle->SetTitlePS(const char* pstitle); - - // tdrStyle->SetBarOffset(Float_t baroff = 0.5); - // tdrStyle->SetBarWidth(Float_t barwidth = 0.5); - // tdrStyle->SetPaintTextFormat(const char* format = "g"); - // tdrStyle->SetPalette(Int_t ncolors = 0, Int_t* colors = 0); - // tdrStyle->SetTimeOffset(Double_t toffset); - // tdrStyle->SetHistMinimumZero(kTRUE); - - tdrStyle->cd(); - -} diff --git a/ElectroWeakAnalysis/ZEE/python/simpleCutBasedElectronIDSpring10_cfi.py b/ElectroWeakAnalysis/ZEE/python/simpleCutBasedElectronIDSpring10_cfi.py deleted file mode 100644 index 88f7ce351171b..0000000000000 --- a/ElectroWeakAnalysis/ZEE/python/simpleCutBasedElectronIDSpring10_cfi.py +++ /dev/null @@ -1,164 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## Electron ID Based on Simple Cuts: Spring10 MC tuned selections -# -# Instructions on how to use this file -# ==================================== -# -# The selections that are implemented in this python cfg are -# explained in this twiki page: -# https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID -# In summary, they come in 6 different tightness levels. For -# each tightness, the user can select whether they want -# combined isolation or relative isolations. -# -# In order to use this cfg file you have to include it from the -# python directory that you have placed it, clone some selection -# of your preference and run it in your sequence -# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# from ElectroWeakAnalysis.WENu.simpleCutBasedElectronID_cfi import * -# -# simpleEleId_95relIso = simpleCutBasedElectronID.clone() -# simpleEleId_95relIso.electronQuality = '_95relIso_' -# mySequence = cms.Sequence(...+...+..+simpleEleId95relIso+...) -# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -# Warning: make sure that you use the correct tags for the -# RecoEgamma/ElectronIdentification package -# consult this twiki to obtain the latest information: -# -# https://twiki.cern.ch/twiki/bin/view/CMS/SimpleCutBasedEleID -# -# this version of the file needs -# V00-03-07-03 RecoEgamma/ElectronIdentification - -simpleCutBasedElectronID = cms.EDProducer("EleIdCutBasedExtProducer", - -# import here your collections - src = cms.InputTag("gsfElectrons"), - #reducedBarrelRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEB"), - #reducedEndcapRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEE"), - # Spring10 uses these names: - reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB"), - reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE"), - # if you want the vertices or the offline beam spot - verticesCollection = cms.InputTag("offlineBeamSpot"), - #dataMagneticFieldSetUp = cms.bool(False), - #dcsTag = cms.InputTag("scalersRawToDigi"), - algorithm = cms.string('eIDCB'), - - #electronIDType: robust for the simple Cut-Based - #electronQuality: see later - #electronVersion: use V03 with the offline beam spot - electronIDType = cms.string('robust'), - electronQuality = cms.string('test'), - electronVersion = cms.string('V04'), - -#### -#### Selections with Relative Isolation - robust95relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.5e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 1.5e-01, - 2.0e+00, 1.2e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), -# endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 8.0e-02, -# 6.0e-02, 5.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 1.0e-02, -1, -1, 9999., 9999., 9999., 9999., 9999., 8.0e-02, - 6.0e-02, 5.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - ), - robust90relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.2e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 1.2e-01, - 9.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, -# 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust85relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 6.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9.0e-02, - 8.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, -# 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust80relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9.0e-02, - 7.0e-02, 1.0e-01, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, -# 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, - 5.0e-02, 2.5e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 70% point modified with restricting cuts to physical values - robust70relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 3.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 5.0e-02, - 6.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, -# 2.5e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, - 2.5e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 60% point modified with restricting cuts to physical values - robust60relIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 2.5e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 4.0e-02, - 4.0e-02, 3.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, -# 2.0e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 2.5e-02, - 2.0e-02, 2.0e-02, 9999., 9999., 9999., 9999., 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - -#### -#### Selections with Combined Isolation - - robust95cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.5e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.5e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), -# endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - endcap = cms.vdouble(7.0e-02, 3.0e-02, 7.0e-01, 1.0e-02, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.0, 0.0, ), - ), - robust90cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(1.2e-01, 1.0e-02, 8.0e-01, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 1.0e-01, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(5.0e-02, 3.0e-02, 7.0e-01, 9.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust85cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 6.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 9.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 4.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 1, -1, 0.02, 0.02, ), - ), - robust80cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(4.0e-02, 1.0e-02, 6.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 7.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 3.0e-02, 7.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 6.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 70% point modified with restricting cuts to physical values - robust70cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 3.0e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 4.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - # 60% point modified with restricting cuts to physical values - robust60cIsoEleIDCutsV04 = cms.PSet( - barrel = cms.vdouble(2.5e-02, 1.0e-02, 2.5e-02, 4.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 3.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), -# endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 9999., -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., -# 9999., 9999., 9999., 9999., 9999., 2.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - endcap = cms.vdouble(2.5e-02, 3.0e-02, 2.0e-02, 5.0e-03, -1, -1, 9999., 9999., 9999., 9999., 9999., 9999., - 9999., 9999., 9999., 9999., 9999., 2.0e-02, 0.0, -9999., 9999., 9999., 0, -1, 0.02, 0.02, ), - ), - -) - diff --git a/ElectroWeakAnalysis/ZEE/python/simpleCutBasedSpring10SelectionBlocks_cfi.py b/ElectroWeakAnalysis/ZEE/python/simpleCutBasedSpring10SelectionBlocks_cfi.py deleted file mode 100644 index e9cf485ad85d2..0000000000000 --- a/ElectroWeakAnalysis/ZEE/python/simpleCutBasedSpring10SelectionBlocks_cfi.py +++ /dev/null @@ -1,294 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -######################################################### -## 95% -selection_95relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(1.5e-01), - ecalIso_EB = cms.untracked.double(2.0e+00), - hcalIso_EB = cms.untracked.double(1.2e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.5e-01), - cIso_EB = cms.untracked.double(10000.), - - trackIso_EE = cms.untracked.double(8.0e-02), - ecalIso_EE = cms.untracked.double(6.0e-02), - hcalIso_EE = cms.untracked.double(5.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(1.0e-02), - hoe_EE = cms.untracked.double(7.0e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_95cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.5e-01), - cIso_EB = cms.untracked.double(1.5e-01), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(1.0e-02), - hoe_EE = cms.untracked.double(7.0e-02), - cIso_EE = cms.untracked.double(1.0e-01), - useConversionRejection = cms.untracked.bool(False), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 90% -selection_90relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(1.2e-01), - ecalIso_EB = cms.untracked.double(9.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.2e-01), - cIso_EB = cms.untracked.double(10000. ), - - trackIso_EE = cms.untracked.double(5.0e-02), - ecalIso_EE = cms.untracked.double(6.0e-02), - hcalIso_EE = cms.untracked.double(3.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(9.0e-03), - hoe_EE = cms.untracked.double(5.0e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_90cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(8.0e-01), - deta_EB = cms.untracked.double(7.0e-03), - hoe_EB = cms.untracked.double(1.2e-01), - cIso_EB = cms.untracked.double(1.0e-01), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(7.0e-01), - deta_EE = cms.untracked.double(9.0e-03), - hoe_EE = cms.untracked.double(5.0e-02), - cIso_EE = cms.untracked.double(7.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 85% -selection_85relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(9.0e-02), - ecalIso_EB = cms.untracked.double(8.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(6.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(10000. ), - - trackIso_EE = cms.untracked.double(5.0e-02), - ecalIso_EE = cms.untracked.double(5.0e-02), - hcalIso_EE = cms.untracked.double(2.5e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(4.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(10000. ), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -selection_85cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(6.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(9.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(4.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(6.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(1), - ) - -######################################################### -## 80% -selection_80relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(9.0e-02), - ecalIso_EB = cms.untracked.double(7.0e-02), - hcalIso_EB = cms.untracked.double(1.0e-01), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(4.0e-02), - ecalIso_EE = cms.untracked.double(5.0e-02), - hcalIso_EE = cms.untracked.double(2.5e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(3.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_80cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(6.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(4.0e-02), - cIso_EB = cms.untracked.double(7.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(3.0e-02), - deta_EE = cms.untracked.double(7.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(6.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### -## 70% corrected with lower limits to cut values -selection_70relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(5.0e-02), - ecalIso_EB = cms.untracked.double(6.0e-02), - hcalIso_EB = cms.untracked.double(3.0e-02), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(3.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(2.5e-02), - ecalIso_EE = cms.untracked.double(2.5e-02), - hcalIso_EE = cms.untracked.double(2.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_70cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(3.0e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(4.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(3.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### -## 60% corrected with lower limits to cut values -selection_60relIso = cms.PSet ( - trackIso_EB = cms.untracked.double(4.0e-02), - ecalIso_EB = cms.untracked.double(4.0e-02), - hcalIso_EB = cms.untracked.double(3.0e-02), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(2.5e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(100000.), - - trackIso_EE = cms.untracked.double(2.5e-02), - ecalIso_EE = cms.untracked.double(2.0e-02), - hcalIso_EE = cms.untracked.double(2.0e-02), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(100000.), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -selection_60cIso = cms.PSet ( - trackIso_EB = cms.untracked.double(100000.), - ecalIso_EB = cms.untracked.double(100000.), - hcalIso_EB = cms.untracked.double(100000.), - sihih_EB = cms.untracked.double(1.0e-02), - dphi_EB = cms.untracked.double(2.5e-02), - deta_EB = cms.untracked.double(4.0e-03), - hoe_EB = cms.untracked.double(2.5e-02), - cIso_EB = cms.untracked.double(3.0e-02), - - trackIso_EE = cms.untracked.double(100000.), - ecalIso_EE = cms.untracked.double(100000.), - hcalIso_EE = cms.untracked.double(100000.), - sihih_EE = cms.untracked.double(3.0e-02), - dphi_EE = cms.untracked.double(2.0e-02), - deta_EE = cms.untracked.double(5.0e-03), - hoe_EE = cms.untracked.double(2.5e-02), - cIso_EE = cms.untracked.double(2.0e-02), - useConversionRejection = cms.untracked.bool(True), - useExpectedMissingHits = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits = cms.untracked.int32(0), - ) - -######################################################### - - - diff --git a/ElectroWeakAnalysis/ZEE/python/simpleEleIdSequence_cff.py b/ElectroWeakAnalysis/ZEE/python/simpleEleIdSequence_cff.py deleted file mode 100644 index 053683cb15966..0000000000000 --- a/ElectroWeakAnalysis/ZEE/python/simpleEleIdSequence_cff.py +++ /dev/null @@ -1,58 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZEE.simpleCutBasedElectronIDSpring10_cfi import * - - -simpleEleId95relIso = simpleCutBasedElectronID.clone() -simpleEleId95relIso.electronQuality = '95relIso' - -simpleEleId90relIso = simpleCutBasedElectronID.clone() -simpleEleId90relIso.electronQuality = '90relIso' - -simpleEleId85relIso = simpleCutBasedElectronID.clone() -simpleEleId85relIso.electronQuality = '85relIso' - -simpleEleId80relIso = simpleCutBasedElectronID.clone() -simpleEleId80relIso.electronQuality = '80relIso' - -simpleEleId70relIso = simpleCutBasedElectronID.clone() -simpleEleId70relIso.electronQuality = '70relIso' - -simpleEleId60relIso = simpleCutBasedElectronID.clone() -simpleEleId60relIso.electronQuality = '60relIso' - - -simpleEleId95cIso = simpleCutBasedElectronID.clone() -simpleEleId95cIso.electronQuality = '95cIso' - -simpleEleId90cIso = simpleCutBasedElectronID.clone() -simpleEleId90cIso.electronQuality = '90cIso' - -simpleEleId85cIso = simpleCutBasedElectronID.clone() -simpleEleId85cIso.electronQuality = '85cIso' - -simpleEleId80cIso = simpleCutBasedElectronID.clone() -simpleEleId80cIso.electronQuality = '80cIso' - -simpleEleId70cIso = simpleCutBasedElectronID.clone() -simpleEleId70cIso.electronQuality = '70cIso' - -simpleEleId60cIso = simpleCutBasedElectronID.clone() -simpleEleId60cIso.electronQuality = '60cIso' - - - -simpleEleIdSequence = cms.Sequence(simpleEleId95relIso+ - simpleEleId90relIso+ - simpleEleId85relIso+ - simpleEleId80relIso+ - simpleEleId70relIso+ - simpleEleId60relIso+ - simpleEleId95cIso+ - simpleEleId90cIso+ - simpleEleId85cIso+ - simpleEleId80cIso+ - simpleEleId70cIso+ - simpleEleId60cIso - ) - diff --git a/ElectroWeakAnalysis/ZEE/src/AnalysisErsatz.cc b/ElectroWeakAnalysis/ZEE/src/AnalysisErsatz.cc deleted file mode 100644 index 027907fd8c6af..0000000000000 --- a/ElectroWeakAnalysis/ZEE/src/AnalysisErsatz.cc +++ /dev/null @@ -1,534 +0,0 @@ -/*#include "ElectroWeakAnalysis/ZEE/interface/AnalysisErsatz.h" -AnalysisErsatz::AnalysisErsatz(const edm::ParameterSet& ps) -{ - MCTruthCollection_ = consumes(ps.getParameter("MCTruthCollection")); - ElectronCollection_ = consumes(ps.getParameter("ElectronCollection")); - GenMEtCollection_ = consumes(ps.getParameter("GenMEtCollection")); - //T1MEtCollection_ = consumes(ps.getParameter("T1MEtCollection")); - PfMEtCollection_ = consumes(ps.getParameter("PfMEtCollection")); - TcMEtCollection_ = consumes(ps.getParameter("TcMEtCollection")); - CaloMEtCollection_ = consumes(ps.getParameter("CaloMEtCollection")); - TriggerEvent_ = consumes(ps.getParameter("TriggerEvent")); - TriggerPath_ = ps.getParameter("TriggerPath"); - TriggerResults_ = consumes(ps.getParameter("TriggerResults")); - TriggerName_ = ps.getParameter("TriggerName"); - ErsatzEvent_ = ps.getParameter("ErsatzEvent"); - double CElecPtMin = ps.getParameter("CElecPtMin"); - double CEB_siEiE = ps.getParameter("CEB_sigmaIEtaIEta"); - double CEB_dPhiIn = ps.getParameter("CEB_deltaPhiIn"); - double CEB_dEtaIn = ps.getParameter("CEB_deltaEtaIn"); - double CEB_EcalIso = ps.getParameter("CEB_EcalIso"); - double CEB_HcalIso = ps.getParameter("CEB_HcalIso"); - double CEB_TrckIso = ps.getParameter("CEB_TrckIso"); - double CEE_siEiE = ps.getParameter("CEE_sigmaIEtaIEta"); - double CEE_dPhiIn = ps.getParameter("CEE_deltaPhiIn"); - double CEE_dEtaIn = ps.getParameter("CEE_deltaEtaIn"); - double CEE_EcalIso = ps.getParameter("CEE_EcalIso"); - double CEE_HcalIso = ps.getParameter("CEE_HcalIso"); - double CEE_TrckIso = ps.getParameter("CEE_TrckIso"); - mW_ = ps.getParameter("mW"); - mZ_ = ps.getParameter("mZ"); - - CutVector_.resize(13); - CutVector_[EtCut_] = CElecPtMin; - CutVector_[EB_sIhIh_] = CEB_siEiE; - CutVector_[EB_dPhiIn_] = CEB_dPhiIn; - CutVector_[EB_dEtaIn_] = CEB_dEtaIn; - CutVector_[EB_TrckIso_] = CEB_TrckIso; - CutVector_[EB_EcalIso_] = CEB_EcalIso; - CutVector_[EB_HcalIso_] = CEB_HcalIso; - CutVector_[EE_sIhIh_] = CEE_siEiE; - CutVector_[EE_dPhiIn_] = CEE_dPhiIn; - CutVector_[EE_dEtaIn_] = CEE_dEtaIn; - CutVector_[EE_TrckIso_] = CEE_TrckIso; - CutVector_[EE_EcalIso_] = CEE_EcalIso; - CutVector_[EE_HcalIso_] = CEE_HcalIso; - -} - - -AnalysisErsatz::~AnalysisErsatz() -{ -} - - -// ------------ method called once each job just before starting event loop ------------ -void AnalysisErsatz::beginJob() -{ - edm::Service fs; - t_ = fs->make("AnalysisData", "Analysis of Ersatz MEt Properties"); - - t_->Branch("Boson_pt", &Boson_pt_,"Boson_pt/D"); - t_->Branch("Boson_y", &Boson_y_,"Boson_y/D"); - t_->Branch("Boson_phi", &Boson_phi_,"Boson_phi/D"); - t_->Branch("Boson_m", &Boson_m_,"Boson_m/D"); - t_->Branch("McElec1_pt", McElec1_pt_,"McElec1_pt[4]/D"); - t_->Branch("McElec1_eta", McElec1_eta_,"McElec1_eta[4]/D"); - t_->Branch("McElec3_pt", McElec3_pt_,"McElec3_pt[4]/D"); - t_->Branch("McElec3_eta", McElec3_eta_,"McElec3_eta[4]/D"); - t_->Branch("RndmInt", &RndmInt_, "RndmInt/I"); - t_->Branch("RndmTrig", &RndmTrig_, "RndmTrig/I"); - t_->Branch("RndmReco", &RndmReco_, "RndmReco/I"); - t_->Branch("OthrTrig", &OthrTrig_, "OthrTrig/I"); - t_->Branch("OthrReco", &OthrReco_, "OthrReco/I"); - t_->Branch("RndmMcElec_pt", &RndmMcElec_pt_,"RndmMcElec_pt/D"); - t_->Branch("RndmMcElec_eta", &RndmMcElec_eta_,"RndmMcElec_eta/D"); - t_->Branch("RndmMcElec_phi", &RndmMcElec_phi_,"RndmMcElec_phi/D"); - t_->Branch("RndmMcElec_Rescaled_pt", &RndmMcElec_Rescaled_pt_,"RndmMcElec_Rescaled_pt/D"); - t_->Branch("RndmMcElec_Rescaled_eta", &RndmMcElec_Rescaled_eta_,"RndmMcElec_Rescaled_eta/D"); - t_->Branch("RndmMcElec_Rescaled_phi", &RndmMcElec_Rescaled_phi_,"RndmMcElec_Rescaled_phi/D"); - t_->Branch("RndmMcElecTRIG_pt", &RndmMcElecTRIG_pt_,"RndmMcElecTRIG_pt/D"); - t_->Branch("RndmMcElecTRIG_eta", &RndmMcElecTRIG_eta_,"RndmMcElecTRIG_eta/D"); - t_->Branch("RndmMcElecRECO_pt", &RndmMcElecRECO_pt_,"RndmMcElecRECO_pt/D"); - t_->Branch("RndmMcElecRECO_eta", &RndmMcElecRECO_eta_,"RndmMcElecRECO_eta/D"); - t_->Branch("OthrMcElec_pt", &OthrMcElec_pt_,"OthrMcElec_pt/D"); - t_->Branch("OthrMcElec_eta", &OthrMcElec_eta_,"OthrMcElec_eta/D"); - t_->Branch("OthrMcElec_phi", &OthrMcElec_phi_,"OthrMcElec_phi/D"); - t_->Branch("OthrMcElec_Rescaled_pt", &OthrMcElec_Rescaled_pt_,"OthrMcElec_Rescaled_pt/D"); - t_->Branch("OthrMcElec_Rescaled_eta", &OthrMcElec_Rescaled_eta_,"OthrMcElec_Rescaled_eta/D"); - t_->Branch("OthrMcElec_Rescaled_phi", &OthrMcElec_Rescaled_phi_,"OthrMcElec_Rescaled_phi/D"); - t_->Branch("OthrMcElecTRIG_pt", &OthrMcElecTRIG_pt_,"OthrMcElecTRIG_pt/D"); - t_->Branch("OthrMcElecTRIG_eta", &OthrMcElecTRIG_eta_,"OthrMcElecTRIG_eta/D"); - t_->Branch("OthrMcElecRECO_pt", &OthrMcElecRECO_pt_,"OthrMcElecRECO_pt/D"); - t_->Branch("OthrMcElecRECO_eta", &OthrMcElecRECO_eta_,"OthrMcElecRECO_eta/D"); - t_->Branch("McNu_pt", &McNu_pt_,"McNu_pt/D"); - t_->Branch("McNu_eta", &McNu_eta_,"McNu_eta/D"); - t_->Branch("McNu_phi", &McNu_phi_,"McNu_phi/D"); - t_->Branch("McNu_vx", &McNu_vx_,"McNu_vx/D"); - t_->Branch("McNu_vy", &McNu_vy_,"McNu_vy/D"); - t_->Branch("McNu_vz", &McNu_vz_,"McNu_vz/D"); - t_->Branch("McLeptons_dPhi", &McLeptons_dPhi_,"McLeptons_dPhi/D"); - t_->Branch("McLeptons_dEta", &McLeptons_dEta_,"McLeptons_dEta/D"); - t_->Branch("McLeptons_dR", &McLeptons_dR_,"McLeptons_dR/D"); - t_->Branch("nSelElecs", &nSelElecs_,"nSelElecs/I"); - t_->Branch("elec_q", elec_q_,"elec_q[4]/D"); - t_->Branch("elec_pt", elec_pt_,"elec_pt[4]/D"); - t_->Branch("elec_eta", elec_eta_,"elec_eta[4]/D"); - t_->Branch("elec_phi", elec_phi_,"elec_phi[4]/D"); - t_->Branch("elec_pt25", &elec_pt25_,"elec_pt25/D"); - t_->Branch("elec_eta25", &elec_eta25_,"elec_eta25/D"); - t_->Branch("elec_phi25", &elec_phi25_,"elec_phi25/D"); - t_->Branch("elec_sIhIh", elec_sIhIh_, "elec_sIhIh[4]/D"); - t_->Branch("elec_dPhiIn", elec_dPhiIn_, "elec_dPhiIn[4]/D"); - t_->Branch("elec_dEtaIn", elec_dEtaIn_, "elec_dEtaIn[4]/D"); - t_->Branch("elec_trckIso", elec_trckIso_,"elec_trckIso[4]/D"); - t_->Branch("elec_ecalIso", elec_ecalIso_,"elec_ecalIso[4]/D"); - t_->Branch("elec_hcalIso", elec_hcalIso_,"elec_hcalIso[4]/D"); - t_->Branch("elec_e2x5Max", elec_e2x5Max_,"elec_e2x5Max[4]/D"); - t_->Branch("elec_e1x5Max", elec_e1x5Max_,"elec_e1x5Max[4]/D"); - t_->Branch("elec_e5x5", elec_e5x5_,"elec_e5x5[4]/D"); - t_->Branch("elec_hoe", elec_hoe_,"elec_hoe[4]/D"); - t_->Branch("elec_eop", elec_eop_,"elec_eop[4]/D"); - t_->Branch("elec_pin", elec_pin_,"elec_pin[4]/D"); - t_->Branch("elec_pout", elec_pout_,"elec_pout[4]/D"); - - t_->Branch("Selected_nuPt", Selected_nuPt_, "Selected_nuPt[4]/D"); - t_->Branch("Selected_nuEta", Selected_nuEta_, "Selected_nuEta[4]/D"); - t_->Branch("Selected_nuPhi", Selected_nuPhi_, "Selected_nuPhi[4]/D"); - t_->Branch("caloMEt", &caloMEt_,"caloMEt/D"); - t_->Branch("t1MEt", &t1MEt_,"t1MEt/D"); - t_->Branch("t1MEtPhi", &t1MEtPhi_,"t1MEtPhi/D"); - t_->Branch("t1SumEt", &t1SumEt_,"t1SumEt/D"); - t_->Branch("pfMEt", &pfMEt_,"pfMEt/D"); - t_->Branch("pfMEtPhi", &pfMEtPhi_,"pfMEtPhi/D"); - t_->Branch("pfSumEt", &pfSumEt_,"pfSumEt/D"); - t_->Branch("tcMEt", &tcMEt_,"tcMEt/D"); - t_->Branch("tcMEtPhi", &tcMEtPhi_,"tcMEtPhi/D"); - t_->Branch("tcSumEt", &tcSumEt_,"tcSumEt/D"); - t_->Branch("caloSumEt", &caloSumEt_,"caloSumEt/D"); - t_->Branch("caloMEt25", &caloMEt25_,"caloMEt25/D"); - t_->Branch("caloMEt30", &caloMEt30_,"caloMEt30/D"); - t_->Branch("caloMEtECAL25", &caloMEtECAL25_,"caloMEtECAL25/D"); - t_->Branch("caloMEtECAL30", &caloMEtECAL30_,"caloMEtECAL30/D"); - t_->Branch("caloMEtPhi", &caloMEtPhi_,"caloMEtPhi/D"); - t_->Branch("caloMEtPhi25", &caloMEtPhi25_,"caloMEtPhi25/D"); - t_->Branch("caloMEtPhi30", &caloMEtPhi30_,"caloMEtPhi30/D"); - t_->Branch("caloMEtPhiECAL25", &caloMEtPhiECAL25_,"caloMEtPhiECAL25/D"); - t_->Branch("caloMEtPhiECAL30", &caloMEtPhiECAL30_,"caloMEtPhiECAL30/D"); - t_->Branch("caloMt", caloMt_,"caloMt[4]/D"); - t_->Branch("caloMt25", caloMt25_,"caloMt25[4]/D"); - t_->Branch("caloMt30", caloMt30_,"caloMt30[4]/D"); - t_->Branch("caloUESumEt", &caloUESumEt_, "caloUESumEt_/D"); - t_->Branch("nHltObj", &nHltObj_, "nHltObj/I"); - t_->Branch("HltObj_pt_", HltObj_pt_,"HltObj_pt_[4]/D"); - t_->Branch("HltObj_eta_", HltObj_eta_,"HltObj_eta_[4]/D"); - t_->Branch("genMEt", &genMEt_,"genMEt/D"); - t_->Branch("genUESumEt", &genUESumEt_, "genUESumEt_/D"); - -} -// ------------ method called to for each event ------------ -void AnalysisErsatz::analyze(const edm::Event& evt, const edm::EventSetup& es) -{ - caloMEt_ = -99.; caloSumEt_ = -99.; caloUESumEt_ = -99.; - caloMEt25_ = -99.; caloMEt30_ = -99.; - caloMEtECAL25_ = -99.; caloMEtECAL30_ =- 99.; - caloMEtPhi_ = -99.; caloMEtPhi25_ = -99.; caloMEtPhi30_ = -99.; - caloMEtPhiECAL25_ = -99.; caloMEtPhiECAL30_ =- 99.; - genMEt_ = -99.; genUESumEt_ = -99.; genMEt25_ = -99.; - t1MEt_ = -99.; t1MEtPhi_ = -99.; t1SumEt_ = -99.; - pfMEt_ = -99.; pfMEtPhi_ = -99.; pfSumEt_ = -99.; - tcMEt_ = -99.; tcMEtPhi_ = -99.; tcSumEt_ = -99.; - nHltObj_ = -99; nSelElecs_ = -99; - Boson_pt_ = -99.; Boson_y_ = -99.; Boson_m_ = -99.; Boson_mt_ = -99.; Boson_phi_ = -99.; - McNu_pt_ = -99.; McNu_eta_ = -99.; McNu_phi_ = -99.; - McNu_vx_= -99.; McNu_vy_= -99.; McNu_vz_ = -99.; - McLeptons_dPhi_ = -99.; McLeptons_dEta_ = -99.; McLeptons_dR_ = -99.; - RndmMcElec_pt_ = -99.; RndmMcElec_eta_ = -99.; RndmMcElec_phi_ = -99.; - RndmMcElec_Rescaled_pt_ = -99.; RndmMcElec_Rescaled_eta_ = -99.; RndmMcElec_Rescaled_phi_ = -99.; - RndmMcElecTRIG_pt_ = -99.; RndmMcElecTRIG_eta_ = -99.; RndmMcElecRECO_pt_ = -99.; RndmMcElecRECO_eta_ = -99.; - OthrMcElec_pt_ = -99.; OthrMcElec_eta_ = -99.; OthrMcElec_phi_ = -99.; - OthrMcElec_Rescaled_pt_ = -99.; OthrMcElec_Rescaled_eta_ = -99.; OthrMcElec_Rescaled_phi_ = -99.; - OthrMcElecTRIG_pt_ = -99.; OthrMcElecTRIG_eta_ = -99.; OthrMcElecRECO_pt_ = -99.; OthrMcElecRECO_eta_ = -99.; - RndmTrig_ = 0; RndmReco_ = 0; OthrTrig_ = 0; OthrReco_ = 0; - elec_pt25_ = -99.; elec_eta25_= -99.; elec_eta25_= -99.; - for(int i = 0; i < nEntries_arr_; ++i) - { - McElec1_pt_[i] = -99.; McElec1_eta_[i] = -99.; - McElec3_pt_[i] = -99.; McElec3_eta_[i] = -99.; - elec_q_[i] = -99.; elec_pt_[i] = -99.; elec_eta_[i]= -99.; elec_phi_[i]= -99.; - elec_trckIso_[i] = -99.; elec_ecalIso_[i] = -99.; elec_hcalIso_[i] = -99.; - elec_sIhIh_[i] = -99.; elec_dPhiIn_[i] = -99.; elec_dEtaIn_[i] = -99.; - elec_e5x5_[i] = -99.; elec_e2x5Max_[i] = -99.; elec_e1x5Max_[i] = -99.; - elec_hoe_[i] = -99.; elec_eop_[i] = -99.; elec_pin_[i] = -99.; elec_pout_[i] = -99.; - Selected_nuPt_[i] = -99.; Selected_nuEta_[i] = -99.; Selected_nuPhi_[i] = -99.; - caloMt_[i] = -99.; caloMt25_[i] = -99.; caloMt30_[i] = -99.; - genMt_[i] = -99.; - } - edm::Handle pGenPart; - evt.getByToken(MCTruthCollection_, pGenPart); - edm::Handle pElectrons; - evt.getByToken(ElectronCollection_, pElectrons); - edm::Handle pCaloMEt; - evt.getByToken(CaloMEtCollection_, pCaloMEt); - //edm::Handle pT1MEt; - // evt.getByToken(T1MEtCollection_, pT1MEt); - edm::Handle pPfMEt; - evt.getByToken(PfMEtCollection_, pPfMEt); - edm::Handle pTcMEt; - evt.getByToken(TcMEtCollection_, pTcMEt); - edm::Handle pGenMEt; - evt.getByToken(GenMEtCollection_, pGenMEt); - edm::Handle pTriggerResults; - evt.getByToken(TriggerResults_, pTriggerResults); - const edm::TriggerResults* HltRes = pTriggerResults.product(); - edm::Handle pHLT; - if(HltRes->accept(34) !=0) - { - evt.getByToken(TriggerEvent_, pHLT); - } - edm::LogDebug_("analyse","", 143)<<"Have obtained collections."< Leptons; - const reco::GenParticleCollection *McCand = pGenPart.product(); - math::XYZTLorentzVector RndmMcElec, OthrMcElec; - edm::Service rng; - math::XYZTLorentzVector RndmMcElec_alt, OthrMcElec_alt, Zboson; - CLHEP::RandFlat flatDistribution(rng->getEngine(), 0, 2); - double RandomNum = flatDistribution.fire(); - RndmInt_ = int(RandomNum); -// std::cout<<"Random Number = "<< RandomNum <<"\t int = "<< int(RandomNum)<begin(); McP != McCand->end(); ++McP) - { - const reco::Candidate* mum = McP->mother(); - if(McP->pdgId()==11) - { - edm::LogDebug_("", "", 216)<<"Found electron, mother = "<< mum->pdgId() <<"\t status = "<< McP->status() - <<"\tpt = "<< McP->pt() <<"\teta = "<< McP->eta(); - } - if(McP->pdgId()==-11) - { - edm::LogDebug_("", "", 221)<<"Found positron, mother = "<< mum->pdgId() <<"\t status = "<< McP->status() - <<"\tpt = "<< McP->pt() <<"\teta = "<< McP->eta(); - } - if(abs(McP->pdgId())==12) - { - edm::LogDebug_("", "", 216)<<"Found neutrino, mother = "<< mum->pdgId() <<"\t status = "<< McP->status() - <<"\tpt = "<< McP->pt() <<"\teta = "<< McP->eta(); - } - if(abs(McP->pdgId())==11 && (abs(mum->pdgId()) == 24|| abs(mum->pdgId()) == 23)) - { -// Leptons.push_back(McP); - if(!BosonAnalysed) - { - Boson_pt_ = mum->pt(); - Boson_y_ = mum->y(); - Boson_phi_ = mum->phi(); - Boson_m_ = mum->mass(); - Boson_mt_ = mum->mt(); - if(abs(mum->pdgId() == 23)) Zboson = mum->p4(); - BosonAnalysed = true; - } - McElec3_pt_[k] = McP->pt(); - McElec3_eta_[k] = McP->eta(); - if(k == int(RandomNum)) - { - RndmMcElec_alt = McP->p4(); - }else OthrMcElec_alt = McP->p4(); - ++k; - } - if(abs(McP->pdgId())==12 && abs(mum->pdgId()) == 24) - { - Leptons.push_back(McP); - edm::LogDebug_("","",328)<<"Pushed neutrino back into Leptons. Leptons.size() = "<< Leptons.size(); - McNu_pt_ = McP->pt(); - McNu_eta_ = McP->eta(); - edm::LogDebug_("","",332)<<"ECAL eta = "<< McNu_ECALeta_; - McNu_phi_ = McP->phi(); - McNu_vx_ = McP->vx(); - McNu_vy_ = McP->vy(); - McNu_vz_ = McP->vz(); - if(fabs(McNu_eta_) < 2.5) nuInEta25 = true; - if(fabs(McNu_eta_) < 3.0) nuInEta30 = true; - ++n; - } - if(abs(McP->pdgId())==11 && McP->status() == 1 && (abs(mum->pdgId()) == 11)) - { - Leptons.push_back(McP); - edm::LogDebug_("","",344)<<"Pushed electron back into Leptons. Leptons.size() = "<< Leptons.size(); - McElec1_pt_[m] = McP->pt(); - McElec1_eta_[m] = McP->eta(); - if(m == int(RandomNum)) - { - RndmMcElec = McP->p4(); - RndmMcElec_pt_ = McElec1_pt_[m]; - RndmMcElec_eta_ = McElec1_eta_[m]; - RndmMcElec_phi_ = McP->phi(); - } - else{ - OthrMcElec = McP->p4(); - OthrMcElec_pt_ = McElec1_pt_[m]; - OthrMcElec_eta_ = McElec1_eta_[m]; - OthrMcElec_phi_ = McP->phi(); - } - - elecEt += McP->pt(); - ++m; - } - } - edm::LogDebug_("", "", 362)<<"Size of Leptons = "<< Leptons.size(); - McLeptons_dPhi_ = reco::deltaPhi(Leptons[0]->phi(), Leptons[1]->phi()); - McLeptons_dEta_ = Leptons[0]->eta() - Leptons[1]->eta(); - McLeptons_dR_ = reco::deltaR(*Leptons[0], *Leptons[1]); - edm::LogDebug_("","",369)<<"McLeptons_dR_ = "<< McLeptons_dR_; - - math::XYZTLorentzVector Wboson; - if(McNu_pt_ < -98.) - { - edm::LogDebug_("", "", 303)<<"Z pt = "<< Zboson.Pt() << "Z boson mass = " << Zboson.M(); - edm::LogDebug_("","", 307)<<"Z boson in lab frame = ("<accept() = "<< HltRes->accept(34); - if(HltRes->accept(34) ==0) edm::LogError("")<<"Event did not pass HLT path 34, assumed to be "<< TriggerName_ <<"!"; - unsigned int fId = 999; - if(HltRes->accept(34) !=0) - { - fId = pHLT->filterIndex(TriggerPath_); // something wrong with this step - edm::LogDebug_("","",426)<<"fId = pHLT->filterIndex("<< TriggerPath_<<") = "<< fId; - const trigger::Keys& ring = pHLT->filterKeys(fId); - const trigger::TriggerObjectCollection& HltObjColl = pHLT->getObjects(); - nHltObj_ = ring.size(); - for(int k = 0; k < nHltObj_; ++k) - { - const trigger::TriggerObject& HltObj = HltObjColl[ring[k]]; - if(reco::deltaR(RndmMcElec, HltObj) < 0.1) RndmTrig_ = 1; - if(reco::deltaR(OthrMcElec, HltObj) < 0.1) OthrTrig_ = 1; - if(k < 4) - { - HltObj_pt_[k] = HltObj.pt(); - HltObj_eta_[k] = HltObj.eta(); - } - } - } - if(RndmTrig_ != 0) - { - RndmMcElecTRIG_pt_ = RndmMcElec_pt_; - RndmMcElecTRIG_eta_ = RndmMcElec_eta_; - } - if(OthrTrig_ != 0) - { - OthrMcElecTRIG_pt_ = OthrMcElec_pt_; - OthrMcElecTRIG_eta_ = OthrMcElec_eta_; - } - const reco::GenMETCollection* genMEtCollection = pGenMEt.product(); - reco::GenMETCollection::const_iterator genMEt = genMEtCollection->begin(); - genMEt_ = genMEt->pt(); - genUESumEt_ = genMEt->sumEt() - elecEt; -// std::cout<<"genMEt->sumEt() - elecEt = "<< genMEt->sumEt()<<" - "<< elecEt <<" = "<< genUESumEt_; - - const reco::CaloMETCollection* caloMEtCollection = pCaloMEt.product(); - reco::CaloMETCollection::const_iterator met = caloMEtCollection->begin(); - caloMEt_ = met->pt(); - edm::LogDebug_("","",462)<<"caloMEt_ = "<< caloMEt_; - caloMEtPhi_ = met->phi(); - caloSumEt_ = met->sumEt(); - - //const reco::METCollection* t1MEtCollection = pT1MEt.product(); - //reco::METCollection::const_iterator t1met = t1MEtCollection->begin(); - //t1MEt_ = t1met->pt(); - //edm::LogDebug_("","",462)<<"t1MEt_ = "<< t1MEt_; - //t1MEtPhi_ = t1met->phi(); - //t1SumEt_ = t1met->sumEt(); - - const reco::PFMETCollection* pfMEtCollection = pPfMEt.product(); - reco::PFMETCollection::const_iterator pfmet = pfMEtCollection->begin(); - pfMEt_ = pfmet->pt(); - edm::LogDebug_("","",462)<<"pfMEt_ = "<< pfMEt_; - pfMEtPhi_ = pfmet->phi(); - pfSumEt_ = pfmet->sumEt(); - - const reco::METCollection* tcMEtCollection = pTcMEt.product(); - reco::METCollection::const_iterator tcmet = tcMEtCollection->begin(); - tcMEt_ = tcmet->pt(); - edm::LogDebug_("","",462)<<"tcMEt_ = "<< tcMEt_; - tcMEtPhi_ = tcmet->phi(); - tcSumEt_ = tcmet->sumEt(); - - if(fabs(McNu_ECALeta_) < 2.5) - { - caloMEtECAL25_ = met->pt(); - caloMEtPhiECAL25_ = met->phi(); - } - if(fabs(McNu_ECALeta_) < 3.0) - { - caloMEtECAL30_ = met->pt(); - caloMEtPhiECAL30_ = met->phi(); - } - if(nuInEta25) - { - genMEt25_ = genMEt->pt(); - caloMEt25_ = met->pt(); - caloMEtPhi25_ = met->phi(); - } - if(nuInEta30){ - caloMEt30_ = met->pt(); - caloMEtPhi30_ = met->phi(); - } - - std::vector UniqueElectrons = uniqueElectronFinder(pElectrons); - caloUESumEt_ = met->sumEt(); - for(std::vector::const_iterator Relec = UniqueElectrons.begin(); Relec != UniqueElectrons.end(); ++Relec) - { - reco::GsfElectronRef elec = *Relec; - math::XYZTLorentzVector sc = PhysicsVector(met->vertex(), *(elec->superCluster())); - if(reco::deltaR(RndmMcElec, *elec) < 0.1) RndmReco_ = 1; - if(reco::deltaR(OthrMcElec, *elec) < 0.1) OthrReco_ = 1; - caloUESumEt_ -= sc.Pt(); - } - if(RndmReco_ != 0) - { - RndmMcElecRECO_pt_ = RndmMcElec_pt_; - RndmMcElecRECO_eta_ = RndmMcElec_eta_; - } - if(OthrReco_ != 0) - { - OthrMcElecRECO_pt_ = OthrMcElec_pt_; - OthrMcElecRECO_eta_ = OthrMcElec_eta_; - } - edm::LogDebug_("analyse","", 230)<<"Analysed UE information"<accept(34) != 0) - { - std::vector SelectedElectrons = electronSelector(UniqueElectrons, pHLT, fId, CutVector_); - nSelElecs_ = SelectedElectrons.size(); - m = 0; - for(std::vector::const_iterator Relec = SelectedElectrons.begin(); Relec != SelectedElectrons.end(); ++Relec) - { - reco::GsfElectronRef elec = *Relec; - if(elec->pt() > CutVector_[0]) - { - elec_q_[m] = elec->charge(); - elec_pt_[m] = elec->pt(); - elec_eta_[m] = elec->eta(); - elec_phi_[m] = elec->phi(); - elec_trckIso_[m] = elec->isolationVariables03().tkSumPt; - elec_ecalIso_[m] = elec->isolationVariables04().ecalRecHitSumEt; - elec_hcalIso_[m] = elec->isolationVariables04().hcalDepth1TowerSumEt - + elec->isolationVariables04().hcalDepth2TowerSumEt; - elec_sIhIh_[m] = elec->scSigmaIEtaIEta(); - elec_dPhiIn_[m] = elec->deltaPhiSuperClusterTrackAtVtx(); - elec_dEtaIn_[m] = elec->deltaEtaSuperClusterTrackAtVtx(); - elec_e5x5_[m] = elec->scE5x5(); - elec_e2x5Max_[m] = elec->scE2x5Max(); - elec_e2x5Max_[m] = elec->scE1x5(); - elec_hoe_[m] = elec->hadronicOverEm(); - elec_eop_[m] = elec->eSuperClusterOverP(); - elec_pin_[m] = elec->trackMomentumAtVtx().R(); - elec_pout_[m] = elec->trackMomentumOut().R(); - - Selected_nuPt_[m] = McNu_pt_; - Selected_nuEta_[m] = McNu_eta_; - Selected_nuPhi_[m] = McNu_phi_; - caloMt_[m] = sqrt(2.*elec->pt()*met->pt()*(1-cos(reco::deltaPhi(elec->phi(), met->phi())))); - if(nuInEta25) - { - caloMt25_[m] = caloMt_[m]; - elec_pt25_ = elec->pt(); - elec_eta25_ = elec->eta(); - elec_phi25_ = elec->phi(); - } - if(nuInEta30) caloMt30_[m] = caloMt_[m]; - ++m; - } - } - } - - edm::LogDebug_("analyse","", 248)<<"Analysed final selection information"<Fill(); -} - - - -// ------------ method called once each job just after ending the event loop ------------ -void AnalysisErsatz::endJob() { -} - -//define this as a plug-in -DEFINE_FWK_MODULE(AnalysisErsatz); -*/ diff --git a/ElectroWeakAnalysis/ZEE/src/ErsatzMEt.cc b/ElectroWeakAnalysis/ZEE/src/ErsatzMEt.cc deleted file mode 100644 index 916e44a43ad7c..0000000000000 --- a/ElectroWeakAnalysis/ZEE/src/ErsatzMEt.cc +++ /dev/null @@ -1,943 +0,0 @@ -#include "ElectroWeakAnalysis/ZEE/interface/ErsatzMEt.h" -#include "FWCore/Common/interface/TriggerNames.h" - -ErsatzMEt::ErsatzMEt(const edm::ParameterSet& ps) { - MCTruthCollection_ = consumes(ps.getParameter("MCTruthCollection")); - ElectronCollection_ = consumes(ps.getParameter("ElectronCollection")); - HybridScCollection_ = consumes(ps.getParameter("HybridScCollection")); - M5x5ScCollection_ = consumes(ps.getParameter("M5x5ScCollection")); - GenMEtCollection_ = consumes(ps.getParameter("GenMEtCollection")); - CaloMEtCollection_ = consumes(ps.getParameter("CaloMEtCollection")); - //T1MEtCollection_ = consumes(ps.getParameter("T1MEtCollection")); - PfMEtCollection_ = consumes(ps.getParameter("PfMEtCollection")); - TcMEtCollection_ = consumes(ps.getParameter("TcMEtCollection")); - TriggerEvent_ = consumes(ps.getParameter("TriggerEvent")); - TriggerPath_ = ps.getParameter("TriggerPath"); - TriggerResults_ = consumes(ps.getParameter("TriggerResults")); - TriggerName_ = ps.getParameter("TriggerName"); - HLTPathCheck_ = ps.getParameter("HLTPathCheck"); - - Zevent_ = ps.getParameter("Zevent"); - mW_ = ps.getParameter("mW"); - mZ_ = ps.getParameter("mZ"); - mTPmin_ = ps.getParameter("mTPmin"); - mTPmax_ = ps.getParameter("mTPmax"); - BarrelEtaMax_ = ps.getParameter("BarrelEtaMax"); - EndCapEtaMin_ = ps.getParameter("EndCapEtaMin"); - EndCapEtaMax_ = ps.getParameter("EndCapEtaMax"); - - hyb_fCorrPSet_ = ps.getParameter("hyb_fCorrPSet"); - m5x5_fCorrPSet_ = ps.getParameter("m5x5_fCorrPSet"); - - double CElecPtMin = ps.getParameter("CElecPtMin"); - double CEB_siEiE = ps.getParameter("CEB_sigmaIEtaIEta"); - double CEB_dPhiIn = ps.getParameter("CEB_deltaPhiIn"); - double CEB_dEtaIn = ps.getParameter("CEB_deltaEtaIn"); - double CEB_EcalIso = ps.getParameter("CEB_EcalIso"); - double CEB_HcalIso = ps.getParameter("CEB_HcalIso"); - double CEB_TrckIso = ps.getParameter("CEB_TrckIso"); - double CEE_siEiE = ps.getParameter("CEE_sigmaIEtaIEta"); - double CEE_dPhiIn = ps.getParameter("CEE_deltaPhiIn"); - double CEE_dEtaIn = ps.getParameter("CEE_deltaEtaIn"); - double CEE_EcalIso = ps.getParameter("CEE_EcalIso"); - double CEE_HcalIso = ps.getParameter("CEE_HcalIso"); - double CEE_TrckIso = ps.getParameter("CEE_TrckIso"); - - CutVector_.resize(13); - CutVector_[EtCut_] = CElecPtMin; - CutVector_[EB_sIhIh_] = CEB_siEiE; - CutVector_[EB_dPhiIn_] = CEB_dPhiIn; - CutVector_[EB_dEtaIn_] = CEB_dEtaIn; - CutVector_[EB_TrckIso_] = CEB_TrckIso; - CutVector_[EB_EcalIso_] = CEB_EcalIso; - CutVector_[EB_HcalIso_] = CEB_HcalIso; - CutVector_[EE_sIhIh_] = CEE_siEiE; - CutVector_[EE_dPhiIn_] = CEE_dPhiIn; - CutVector_[EE_dEtaIn_] = CEE_dEtaIn; - CutVector_[EE_TrckIso_] = CEE_TrckIso; - CutVector_[EE_EcalIso_] = CEE_EcalIso; - CutVector_[EE_HcalIso_] = CEE_HcalIso; - - for (std::vector::const_iterator it = CutVector_.begin(); it != CutVector_.end(); ++it) { - edm::LogDebug_("", "", 101) << "CutVector_ = " << *it; - } -} - -ErsatzMEt::~ErsatzMEt() {} - -// ------------ method called once each job just before starting event loop ------------ -void ErsatzMEt::beginJob() { - edm::Service fs; - - t_ = fs->make("ErsatzMEt", "Data on ErsatzMEt"); - - edm::LogDebug_("", "", 75) << "Creating Ersatz MEt branches."; - - t_->Branch("nTags", &nTags_, "nTags/I"); - t_->Branch("nProbes", &nProbes_, "nProbes/I"); - - t_->Branch("ErsatzV1CaloMEt", ErsatzV1CaloMEt_, "ErsatzV1CaloMEt[4]/D"); - t_->Branch("ErsatzV1CaloMt", ErsatzV1CaloMt_, "ErsatzV1CaloMt[4]/D"); - t_->Branch("ErsatzV1CaloMEtPhi", ErsatzV1CaloMEtPhi_, "ErsatzV1CaloMEtPhi[4]/D"); - t_->Branch("ErsatzV2CaloMEt", ErsatzV2CaloMEt_, "ErsatzV2CaloMEt[4]/D"); - t_->Branch("ErsatzV2CaloMEtPhi", ErsatzV2CaloMEtPhi_, "ErsatzV2CaloMEtPhi[4]/D"); - t_->Branch("ErsatzV2CaloMt", ErsatzV2CaloMt_, "ErsatzV2CaloMt[4]/D"); - t_->Branch("ErsatzV3CaloMEt", ErsatzV3CaloMEt_, "ErsatzV3CaloMEt[4]/D"); - t_->Branch("ErsatzV3CaloMEtPhi", ErsatzV3CaloMEtPhi_, "ErsatzV3CaloMEtPhi[4]/D"); - t_->Branch("ErsatzV3CaloMt", ErsatzV3CaloMt_, "ErsatzV3CaloMt[4]/D"); - t_->Branch("ErsatzV4CaloMEt", ErsatzV4CaloMEt_, "ErsatzV4CaloMEt[4]/D"); - t_->Branch("ErsatzV4CaloMEtPhi", ErsatzV4CaloMEtPhi_, "ErsatzV4CaloMEtPhi[4]/D"); - t_->Branch("ErsatzV4CaloMt", ErsatzV4CaloMt_, "ErsatzV4CaloMt[4]/D"); - t_->Branch("ErsatzV1T1MEt", ErsatzV1T1MEt_, "ErsatzV1T1MEt[4]/D"); - t_->Branch("ErsatzV1T1Mt", ErsatzV1T1Mt_, "ErsatzV1T1Mt[4]/D"); - t_->Branch("ErsatzV1T1MEtPhi", ErsatzV1T1MEtPhi_, "ErsatzV1T1MEtPhi[4]/D"); - t_->Branch("ErsatzV1PfMEt", ErsatzV1PfMEt_, "ErsatzV1PfMEt[4]/D"); - t_->Branch("ErsatzV1PfMt", ErsatzV1PfMt_, "ErsatzV1PfMt[4]/D"); - t_->Branch("ErsatzV1PfMEtPhi", ErsatzV1TcMEtPhi_, "ErsatzV1PfMEtPhi[4]/D"); - t_->Branch("ErsatzV1TcMEt", ErsatzV1TcMEt_, "ErsatzV1TcMEt[4]/D"); - t_->Branch("ErsatzV1TcMt", ErsatzV1TcMt_, "ErsatzV1TcMt[4]/D"); - t_->Branch("ErsatzV1TcMEtPhi", ErsatzV1TcMEtPhi_, "ErsatzV1TcMEtPhi[4]/D"); - - t_->Branch("CaloMEt", &CaloMEt_, "CaloMEt/D"); - t_->Branch("CaloMEtphi", &CaloMEtphi_, "CaloMEtphi/D"); - t_->Branch("T1MEt", &T1MEt_, "T1MEt/D"); - t_->Branch("T1MEtphi", &T1MEtphi_, "T1MEtphi/D"); - t_->Branch("PfMEt", &PfMEt_, "PfMEt/D"); - t_->Branch("PfMEtphi", &PfMEtphi_, "PfMEtphi/D"); - t_->Branch("TcMEt", &TcMEt_, "TcMEt/D"); - t_->Branch("TcMEtphi", &TcMEtphi_, "TcMEtphi/D"); - - edm::LogDebug_("", "", 91) << "Creating electron branches."; - t_->Branch("tag_q", tag_q_, "tag_q[4]/I"); - t_->Branch("tag_pt", tag_pt_, "tag_pt[4]/D"); - t_->Branch("tag_eta", tag_eta_, "tag_eta[4]/D"); - t_->Branch("tag_phi", tag_phi_, "tag_phi[4]/D"); - t_->Branch("tag_sIhIh", tag_sIhIh_, "tag_sIhIh[4]/D"); - t_->Branch("tag_dPhiIn", tag_dPhiIn_, "tag_dPhiIn[4]/D"); - t_->Branch("tag_dEtaIn", tag_dEtaIn_, "tag_dEtaIn[4]/D"); - t_->Branch("tag_trckIso", tag_trckIso_, "tag_trckIso[4]/D"); - t_->Branch("tag_ecalIso", tag_ecalIso_, "tag_ecalIso[4]/D"); - t_->Branch("tag_hcalIso", tag_hcalIso_, "tag_hcalIso[4]/D"); - t_->Branch("tag_e2x5Max", tag_e2x5Max_, "tag_e2x5Max[4]/D"); - t_->Branch("tag_e1x5Max", tag_e1x5Max_, "tag_e1x5Max[4]/D"); - t_->Branch("tag_e5x5", tag_e5x5_, "tag_e5x5[4]/D"); - t_->Branch("tag_hoe", tag_hoe_, "tag_hoe[4]/D"); - t_->Branch("tag_eop", tag_eop_, "tag_eop[4]/D"); - t_->Branch("tag_pin", tag_pin_, "tag_pin[4]/D"); - t_->Branch("tag_pout", tag_pout_, "tag_pout[4]/D"); - t_->Branch("tag_rescPt", tag_rescPt_, "tag_rescPt[4]/D"); - t_->Branch("tag_rescEta", tag_rescEta_, "tag_rescEta[4]/D"); - t_->Branch("tag_rescPhi", tag_rescPhi_, "tag_rescPhi[4]/D"); - - edm::LogDebug_("", "", 103) << "Creating ersatz neutrino branches."; - t_->Branch("probe_q", probe_q_, "probe_q[4]/I"); - t_->Branch("probe_pt", probe_pt_, "probe_pt[4]/D"); - t_->Branch("probe_eta", probe_eta_, "probe_eta[4]/D"); - t_->Branch("probe_phi", probe_phi_, "probe_phi[4]/D"); - t_->Branch("probe_sIhIh", probe_sIhIh_, "probe_sIhIh[4]/D"); - t_->Branch("probe_dPhiIn", probe_dPhiIn_, "probe_dPhiIn[4]/D"); - t_->Branch("probe_dEtaIn", probe_dEtaIn_, "probe_dEtaIn[4]/D"); - t_->Branch("probe_trckIso", probe_trckIso_, "probe_trckIso[4]/D"); - t_->Branch("probe_ecalIso", probe_ecalIso_, "probe_ecalIso[4]/D"); - t_->Branch("probe_hcalIso", probe_hcalIso_, "probe_hcalIso[4]/D"); - t_->Branch("probe_e2x5Max", probe_e2x5Max_, "probe_e2x5Max[4]/D"); - t_->Branch("probe_e1x5Max", probe_e1x5Max_, "probe_e1x5Max[4]/D"); - t_->Branch("probe_e5x5", probe_e5x5_, "probe_e5x5[4]/D"); - t_->Branch("probe_hoe", probe_hoe_, "probe_hoe[4]/D"); - t_->Branch("probe_eop", probe_eop_, "probe_eop[4]/D"); - t_->Branch("probe_pin", probe_pin_, "probe_pin[4]/D"); - t_->Branch("probe_pout", probe_pout_, "probe_pout[4]/D"); - t_->Branch("probe_rescPt", probe_rescPt_, "probe_rescPt[4]/D"); - t_->Branch("probe_rescEta", probe_rescEta_, "probe_rescEta[4]/D"); - t_->Branch("probe_rescPhi", probe_rescPhi_, "probe_rescPhi[4]/D"); - - t_->Branch("Z_m", Z_m_, "Z_m[4]/D"); - t_->Branch("Z_pt", Z_pt_, "Z_pt[4]/D"); - t_->Branch("Z_eta", Z_eta_, "Z_eta[4]/D"); - t_->Branch("Z_y", Z_y_, "Z_y[4]/D"); - t_->Branch("Z_phi", Z_phi_, "Z_phi[4]/D"); - t_->Branch("Z_rescM", Z_rescM_, "Z_rescM[4]/D"); - t_->Branch("Z_rescPt", Z_rescPt_, "Z_rescPt[4]/D"); - t_->Branch("Z_rescEta", Z_rescEta_, "Z_rescEta[4]/D"); - t_->Branch("Z_rescY", Z_rescY_, "Z_rescY[4]/D"); - t_->Branch("Z_rescPhi", Z_rescPhi_, "Z_rescPhi[4]/D"); - t_->Branch("Z_probe_dPhi", Z_probe_dPhi_, "Z_probe_dPhi[4]/D"); - - t_->Branch("probe_sc_pt", probe_sc_pt_, "probe_sc_pt[4]/D"); - t_->Branch("probe_sc_eta", probe_sc_eta_, "probe_sc_eta[4]/D"); - t_->Branch("probe_sc_phi", probe_sc_phi_, "probe_sc_phi[4]/D"); - t_->Branch("probe_sc_E", probe_sc_E_, "probe_sc_E[4]/D"); - t_->Branch("probe_sc_rawE", probe_sc_rawE_, "probe_sc_rawE[4]/D"); - t_->Branch("probe_sc_nClus", probe_sc_nClus_, "probe_sc_nClus[4]/D"); - t_->Branch("probe_scV2_E", probe_scV2_E_, "probe_scV2_E[4]/D"); - t_->Branch("probe_scV3_E", probe_scV3_E_, "probe_scV3_E[4]/D"); - t_->Branch("probe_scV4_E", probe_scV4_E_, "probe_scV4_E[4]/D"); - t_->Branch("probe_d_MCE_SCE", probe_d_MCE_SCE_, "probe_d_MCE_SCE[4]/D"); - - t_->Branch("ErsatzV1_Mesc", ErsatzV1_Mesc_, "ErsatzV1_Mesc[4]/D"); - t_->Branch("ErsatzV1_rescMesc", ErsatzV1_rescMesc_, "ErsatzV1_rescMesc[4]/D"); - - t_->Branch("McElec_nFinal", &McElec_nFinal_, "McElec_nFinal/I"); - - if (Zevent_) { - t_->Branch("McZ_m", &McZ_m_, "McZ_m/D"); - t_->Branch("McZ_rescM", &McZ_rescM_, "McZ_rescM/D"); - t_->Branch("McZ_Pt", &McZ_pt_, "McZ_Pt/D"); - t_->Branch("McZ_y", &McZ_y_, "McZ_y/D"); - t_->Branch("McZ_Eta", &McZ_eta_, "McZ_Eta/D"); - t_->Branch("McZ_Phi", &McZ_phi_, "McZ_Phi/D"); - t_->Branch("McZ_rescPt", &McZ_rescPt_, "McZ_Pt/D"); - t_->Branch("McZ_rescY", &McZ_rescY_, "McZ_rescY/D"); - t_->Branch("McZ_rescEta", &McZ_rescEta_, "McZ_Eta/D"); - t_->Branch("McZ_rescPhi", &McZ_rescPhi_, "McZ_Phi/D"); - t_->Branch("McElec_nZmum", &McElec_nZmum_, "McElec_nZmum/I"); - t_->Branch("McElec_eta", &McElec_eta_, "McElec_eta[4]/D"); - t_->Branch("McElec_pt", &McElec_pt_, "McElec_pt[4]/D"); - t_->Branch("McElec_phi", &McElec_phi_, "McElec_phi[4]/D"); - t_->Branch("McElec_rescEta", &McElec_rescEta_, "McElec_rescEta[4]/D"); - t_->Branch("McElec_rescPhi", &McElec_rescPhi_, "McElec_rescPhi[4]/D"); - t_->Branch("McElec_rescPt", &McElec_rescPt_, "McElec_rescPt[4]/D"); - t_->Branch("McProbe_eta", &McProbe_eta_, "McProbe_eta[4]/D"); - t_->Branch("McProbe_pt", &McProbe_pt_, "McProbe_pt[4]/D"); - t_->Branch("McProbe_phi", &McProbe_phi_, "McProbe_phi[4]/D"); - t_->Branch("McProbe_rescEta", &McProbe_rescEta_, "McProbe_rescEta[4]/D"); - t_->Branch("McProbe_rescPt", &McProbe_rescPt_, "McProbe_rescPt[4]/D"); - t_->Branch("McProbe_rescPhi", &McProbe_rescPhi_, "McProbe_rescPhi[4]/D"); - t_->Branch("McElecProbe_dPhi", &McElecProbe_dPhi_, "McElecProbe_dPhi/D"); - t_->Branch("McElecProbe_dEta", &McElecProbe_dEta_, "McElecProbe_dEta/D"); - t_->Branch("McElecProbe_dR", &McElecProbe_dR_, "McElecProbe_dR/D"); - } -} - -void ErsatzMEt::analyze(const edm::Event& evt, const edm::EventSetup& es) { - es.get().get(geoHandle_); - es.get().get(pTopology_); - - edm::LogDebug_("", "", 151) << "Initialising variables."; - nTags_ = -99; - nProbes_ = -99; - CaloMEt_ = -99.; - CaloMEtphi_ = -99.; - T1MEt_ = -99.; - T1MEtphi_ = -99.; - PfMEt_ = -99.; - PfMEtphi_ = -99.; - TcMEt_ = -99.; - TcMEtphi_ = -99.; - if (Zevent_) { - McZ_m_ = -99.; - McZ_pt_ = -99.; - McZ_y_ = -99.; - McZ_eta_ = -99.; - McZ_phi_ = -99.; - McZ_rescM_ = -99.; - McZ_rescPt_ = -99.; - McZ_rescY_ = -99.; - McZ_rescEta_ = -99.; - McZ_rescPhi_ = -99.; - McElec_nZmum_ = -99; - McElec_nFinal_ = -99; - } - - for (int i = 0; i < nEntries_arr_; ++i) { - tag_q_[i] = -99; - tag_pt_[i] = -99.; - tag_eta_[i] = -99.; - tag_phi_[i] = -99.; - tag_rescPt_[i] = -99.; - tag_rescEta_[i] = -99.; - tag_rescPhi_[i] = -99.; - tag_trckIso_[i] = -99.; - tag_ecalIso_[i] = -99.; - tag_hcalIso_[i] = -99.; - tag_sIhIh_[i] = -99.; - tag_dPhiIn_[i] = -99.; - tag_dEtaIn_[i] = -99.; - tag_e5x5_[i] = -99.; - tag_e2x5Max_[i] = -99.; - tag_e1x5Max_[i] = -99.; - tag_hoe_[i] = -99.; - tag_eop_[i] = -99.; - tag_pin_[i] = -99.; - tag_pout_[i] = -99.; - - probe_q_[i] = -99; - probe_pt_[i] = -99.; - probe_eta_[i] = -99.; - probe_phi_[i] = -99.; - probe_rescPt_[i] = -99.; - probe_rescEta_[i] = -99.; - probe_rescPhi_[i] = -99.; - probe_trckIso_[i] = -99.; - probe_ecalIso_[i] = -99.; - probe_hcalIso_[i] = -99.; - probe_sIhIh_[i] = -99.; - probe_dPhiIn_[i] = -99.; - probe_dEtaIn_[i] = -99.; - probe_e5x5_[i] = -99.; - probe_e2x5Max_[i] = -99.; - probe_e1x5Max_[i] = -99.; - probe_hoe_[i] = -99.; - probe_eop_[i] = -99.; - probe_pin_[i] = -99.; - probe_pout_[i] = -99.; - - Z_pt_[i] = -99.; - Z_y_[i] = -99.; - Z_eta_[i] = -99.; - Z_phi_[i] = -99.; - Z_m_[i] = -99.; - Z_rescPt_[i] = -99.; - Z_rescY_[i] = -99.; - Z_rescEta_[i] = -99.; - Z_rescPhi_[i] = -99.; - Z_rescM_[i] = -99.; - Z_probe_dPhi_[i] = -99.; - - ErsatzV1_Mesc_[i] = -99.; - ErsatzV1_rescMesc_[i] = -99.; - ErsatzV2_Mesc_[i] = -99.; - ErsatzV2_rescMesc_[i] = -99.; - ErsatzV3_Mesc_[i] = -99.; - ErsatzV3_rescMesc_[i] = -99.; - ErsatzV4_Mesc_[i] = -99.; - ErsatzV4_rescMesc_[i] = -99.; - ErsatzV1CaloMEt_[i] = -99.; - ErsatzV1CaloMt_[i] = -99.; - ErsatzV1CaloMEtPhi_[i] = -99.; - ErsatzV2CaloMEt_[i] = -99.; - ErsatzV2CaloMt_[i] = -99.; - ErsatzV2CaloMEtPhi_[i] = -99.; - ErsatzV3CaloMEt_[i] = -99.; - ErsatzV3CaloMt_[i] = -99.; - ErsatzV3CaloMEtPhi_[i] = -99.; - ErsatzV4CaloMEt_[i] = -99.; - ErsatzV4CaloMt_[i] = -99.; - ErsatzV4CaloMEtPhi_[i] = -99.; - ErsatzV1T1MEt_[i] = -99.; - ErsatzV1T1Mt_[i] = -99.; - ErsatzV1T1MEtPhi_[i] = -99.; - ErsatzV1PfMEt_[i] = -99.; - ErsatzV1PfMt_[i] = -99.; - ErsatzV1PfMEtPhi_[i] = -99.; - ErsatzV1TcMEt_[i] = -99.; - ErsatzV1TcMt_[i] = -99.; - ErsatzV1TcMEtPhi_[i] = -99.; - - probe_sc_pt_[i] = -99.; - probe_sc_eta_[i] = -99.; - probe_sc_phi_[i] = -99.; - probe_sc_E_[i] = -99.; - probe_sc_rawE_[i] = -99.; - probe_scV2_E_[i] = -99.; - probe_scV3_E_[i] = -99.; - probe_scV4_E_[i] = -99.; - - if (Zevent_) { - McElec_pt_[i] = -99.; - McElec_eta_[i] = -99.; - McElec_phi_[i] = -99.; - McElec_rescPt_[i] = -99.; - McElec_rescEta_[i] = -99.; - McElec_rescPhi_[i] = -99.; - McProbe_pt_[i] = -99.; - McProbe_eta_[i] = -99.; - McProbe_phi_[i] = -99.; - McProbe_rescPt_[i] = -99.; - McProbe_rescEta_[i] = -99.; - McProbe_rescPhi_[i] = -99.; - McElecProbe_dPhi_[i] = -99.; - McElecProbe_dEta_[i] = -99.; - McElecProbe_dR_[i] = -99.; - } - - edm::LogDebug_("", "", 180) << "Initialisation of array index " << i << " completed."; - } - //Get Collections - edm::Handle pGenPart; - evt.getByToken(MCTruthCollection_, pGenPart); - edm::Handle pElectrons; - evt.getByToken(ElectronCollection_, pElectrons); - edm::Handle pHybrid; - evt.getByToken(HybridScCollection_, pHybrid); - edm::Handle pM5x5; - evt.getByToken(M5x5ScCollection_, pM5x5); - edm::Handle pCaloMEt; - evt.getByToken(CaloMEtCollection_, pCaloMEt); - edm::Handle pT1MEt; - // evt.getByToken(T1MEtCollection_, pT1MEt); - edm::Handle pPfMEt; - evt.getByToken(PfMEtCollection_, pPfMEt); - edm::Handle pTcMEt; - evt.getByToken(TcMEtCollection_, pTcMEt); - edm::Handle pGenMEt; - evt.getByToken(GenMEtCollection_, pGenMEt); - edm::Handle pTriggerResults; - evt.getByToken(TriggerResults_, pTriggerResults); - edm::Handle pHLT; - evt.getByToken(TriggerEvent_, pHLT); - - std::vector McElecs, McElecsFinalState; - std::vector McElecsResc; - if (Zevent_) { - edm::LogDebug_("", "", 289) << "Analysing MC properties."; - const reco::GenParticleCollection* McCand = pGenPart.product(); - math::XYZTLorentzVector Zboson, RescZboson, McElec1, McElec2; - for (reco::GenParticleCollection::const_iterator McP = McCand->begin(); McP != McCand->end(); ++McP) { - const reco::Candidate* mum = McP->mother(); - if (std::abs(McP->pdgId()) == 11 && abs(mum->pdgId()) == 23) { - McElecs.push_back(McP->p4()); - if (std::abs(mum->pdgId()) == 23) - Zboson = mum->p4(); - - std::cout << "Found electron, ID = " << McP->pdgId() << "\t status = " << McP->status() << std::endl; - if (McP->status() != 1) { - const reco::Candidate* McPD = McP->daughter(0); - McPD = McPD->mother(); - while (McPD->status() != 1) { - int n = McPD->numberOfDaughters(); - std::cout << McPD->pdgId() << " : status = " << McPD->status() << "\tNumber of Daughters = " << n - << std::endl; - for (int j = 0; j < n; ++j) { - const reco::Candidate* d = McPD->daughter(j); - std::cout << "Daughter " << j << "\t id = " << d->pdgId() << std::endl; - if (std::abs(d->pdgId()) == 11) { - McPD = d; - break; - } - } - } - std::cout << McPD->pdgId() << " : status = " << McPD->status() << "\tAdding to vector!" << std::endl; - McElecsFinalState.push_back(McPD->p4()); - } else - McElecsFinalState.push_back(McP->p4()); - } - } - McZ_m_ = Zboson.M(); - McZ_pt_ = Zboson.Pt(); - McZ_phi_ = Zboson.Phi(); - McZ_eta_ = Zboson.Eta(); - McZ_y_ = Zboson.Rapidity(); - McElec_nZmum_ = McElecs.size(); - McElec_nFinal_ = McElecsFinalState.size(); - edm::LogDebug_("", "", 309) << "MC electrons with Z mother = " << McElec_nZmum_ - << "\tFinal state MC electrons = " << McElec_nFinal_; - - McElecsResc.resize(2); - // RescZboson.SetCoordinates(Zboson.Px(), Zboson.Py(), Zboson.Pz(), sqrt(Zboson.P2()+(mW_*mW_*Zboson.M2())/(mZ_*mZ_))); - RescZboson.SetCoordinates( - Zboson.Px() * mW_ / mZ_, Zboson.Py() * mW_ / mZ_, Zboson.Pz() * mW_ / mZ_, Zboson.E() * mW_ / mZ_); - McZ_rescM_ = RescZboson.M(); - McZ_rescPt_ = RescZboson.Pt(); - McZ_rescEta_ = RescZboson.Eta(); - McZ_rescPhi_ = RescZboson.Phi(); - McZ_rescY_ = RescZboson.Rapidity(); - ROOT::Math::Boost CoMBoost(Zboson.BoostToCM()); - - math::XYZTLorentzVector RescMcElec0 = CoMBoost(McElecsFinalState[0]); - math::XYZTLorentzVector RescMcElec1 = CoMBoost(McElecsFinalState[1]); - RescMcElec0 *= mW_ / mZ_; - RescMcElec1 *= mW_ / mZ_; - - double E_W = RescZboson.E(); - ROOT::Math::Boost BackToLab(RescZboson.Px() / E_W, RescZboson.Py() / E_W, RescZboson.Pz() / E_W); - - RescMcElec0 = BackToLab(RescMcElec0); - // RndmMcElec_Rescaled_pt_ = RescMcElec0.Pt(); - // RndmMcElec_Rescaled_eta_ = RescMcElec0.Eta(); - // RndmMcElec_Rescaled_phi_ = RescMcElec0.Phi(); - - RescMcElec1 = BackToLab(RescMcElec1); - // OthrMcElec_Rescaled_pt_ = RescMcElec1.Pt(); - // OthrMcElec_Rescaled_eta_ = RescMcElec1.Eta(); - // OthrMcElec_Rescaled_phi_ = RescMcElec1.Phi(); - McElecsResc[0] = RescMcElec0; - McElecsResc[1] = RescMcElec1; - math::XYZTLorentzVector sum = RescMcElec1 + RescMcElec0; - edm::LogDebug_("", "", 307) << "McElecsResc[0] + McElecsResc[1] = (" << sum.Px() << ", " << sum.Py() << ", " - << sum.Pz() << ", " << sum.E() << ")"; - } - - const edm::TriggerResults* HltRes = pTriggerResults.product(); - const edm::TriggerNames& triggerNames = evt.triggerNames(*HltRes); - if (HLTPathCheck_) { - for (unsigned int itrig = 0; itrig < HltRes->size(); ++itrig) { - const std::string& nom = triggerNames.triggerName(itrig); - edm::LogInfo("") << itrig << " : Name = " << nom << "\t Accepted = " << HltRes->accept(itrig); - } - } - if (HltRes->accept(34) == 0) - edm::LogError("") << "Event did not pass " << triggerNames.triggerName(34) << "!"; - if (HltRes->accept(34) != 0) { - std::vector UniqueElectrons; - UniqueElectrons = uniqueElectronFinder(pElectrons); - edm::LogDebug_("", "ErsatzMEt", 192) << "Unique electron size = " << UniqueElectrons.size(); - std::vector SelectedElectrons; - const unsigned int fId = pHLT->filterIndex(TriggerPath_); - std::cout << "Filter Id = " << fId << std::endl; - SelectedElectrons = electronSelector(UniqueElectrons, pHLT, fId, CutVector_); - nTags_ = SelectedElectrons.size(); - edm::LogDebug_("", "ErsatzMEt", 197) << "Selected electron size = " << nTags_; - - iComb_ = 0; - if (Zevent_) { - //Match MC electrons to the selected electrons and store some of their properties in the tree. - //The properties of the other MC electron (i.e. that not selected) are also stored. - for (std::vector::const_iterator elec = SelectedElectrons.begin(); - elec != SelectedElectrons.end(); - ++elec) { - for (int m = 0; m < 2; ++m) { - double dRLimit = 99.; - double dR = reco::deltaR(McElecs[m], *(*elec)); - if (dR < dRLimit) { - dRLimit = dR; - McElec_pt_[iComb_] = McElecs[m].pt(); - McElec_eta_[iComb_] = McElecs[m].eta(); - McElec_rescPt_[iComb_] = McElecsResc[m].pt(); - McElec_rescEta_[iComb_] = McElecsResc[m].eta(); - } - } - } - } - - std::map TagProbePairs; - TagProbePairs = probeFinder(SelectedElectrons, pElectrons); - nProbes_ = TagProbePairs.size(); - edm::LogDebug_("", "ErsatzMEt", 209) << "Number of tag-probe pairs = " << TagProbePairs.size(); - - if (!TagProbePairs.empty()) { - const reco::CaloMETCollection* caloMEtCollection = pCaloMEt.product(); - const reco::MET calomet = *(caloMEtCollection->begin()); - CaloMEt_ = calomet.pt(); - CaloMEtphi_ = calomet.phi(); - - //const reco::METCollection* t1MEtCollection = pT1MEt.product(); - //const reco::MET t1met = *(t1MEtCollection->begin()); - //T1MEt_ = t1met.pt(); - //T1MEtphi_ = t1met.phi(); - - const reco::PFMETCollection* pfMEtCollection = pPfMEt.product(); - const reco::MET pfmet = *(pfMEtCollection->begin()); - PfMEt_ = pfmet.pt(); - PfMEtphi_ = pfmet.phi(); - - const reco::METCollection* tcMEtCollection = pTcMEt.product(); - const reco::MET tcmet = *(tcMEtCollection->begin()); - TcMEt_ = tcmet.pt(); - TcMEtphi_ = tcmet.phi(); - - reco::MET ersatzMEt; - - for (std::map::const_iterator it = TagProbePairs.begin(); - it != TagProbePairs.end(); - ++it) { - edm::LogDebug_("", "DelendumLoop", 293) << "iComb_ = " << iComb_; - tag_q_[iComb_] = it->first->charge(); - edm::LogDebug_("", "", 360) << "tag charge = " << tag_q_[iComb_]; - tag_pt_[iComb_] = it->first->pt(); - tag_eta_[iComb_] = it->first->eta(); - tag_phi_[iComb_] = it->first->phi(); - edm::LogDebug_("", "ErsatzMEt", 364) - << "tag pt = " << tag_pt_[iComb_] << "\teta = " << tag_eta_[iComb_] << "\tphi = " << tag_phi_[iComb_]; - tag_trckIso_[iComb_] = it->first->isolationVariables03().tkSumPt; - tag_ecalIso_[iComb_] = it->first->isolationVariables04().ecalRecHitSumEt; - tag_hcalIso_[iComb_] = it->first->isolationVariables04().hcalDepth1TowerSumEt + - it->first->isolationVariables04().hcalDepth2TowerSumEt; - edm::LogDebug_("", "ErsatzMEt", 370) - << "tag trackiso = " << tag_trckIso_[iComb_] << "\tecaliso = " << tag_ecalIso_[iComb_] - << "\thcaliso = " << tag_hcalIso_[iComb_]; - tag_sIhIh_[iComb_] = it->first->scSigmaIEtaIEta(); - tag_dPhiIn_[iComb_] = it->first->deltaPhiSuperClusterTrackAtVtx(); - tag_dEtaIn_[iComb_] = it->first->deltaEtaSuperClusterTrackAtVtx(); - edm::LogDebug_("", "ErsatzMEt", 245) - << "tag sIhIh = " << tag_sIhIh_[iComb_] << "\tdPhiIn = " << tag_dPhiIn_[iComb_] - << "\tdEtaIn = " << tag_dEtaIn_[iComb_]; - tag_e5x5_[iComb_] = it->first->scE5x5(); - tag_e2x5Max_[iComb_] = it->first->scE2x5Max(); - tag_e2x5Max_[iComb_] = it->first->scE1x5(); - edm::LogDebug_("", "ErsatzMEt", 245) - << "tag e5x5 = " << tag_e5x5_[iComb_] << "\te2x5Max = " << tag_e2x5Max_[iComb_] - << "\te1x5Max = " << tag_e1x5Max_[iComb_]; - tag_hoe_[iComb_] = it->first->hadronicOverEm(); - tag_eop_[iComb_] = it->first->eSuperClusterOverP(); - tag_pin_[iComb_] = it->first->trackMomentumAtVtx().R(); - tag_pout_[iComb_] = it->first->trackMomentumOut().R(); - edm::LogDebug_("", "ErsatzMEt", 245) << "tag hoe = " << tag_hoe_[iComb_] << "\tpoe = " << tag_eop_[iComb_] - << "\tpin = " << tag_pin_[iComb_] << "\tpout = " << tag_pout_[iComb_]; - probe_q_[iComb_] = it->first->charge(); - edm::LogDebug_("", "", 360) << "probe charge = " << probe_q_[iComb_]; - probe_pt_[iComb_] = it->second->pt(); - probe_eta_[iComb_] = it->second->eta(); - probe_phi_[iComb_] = it->second->phi(); - edm::LogDebug_("", "ErsatzMEt", 245) << "probe pt = " << probe_pt_[iComb_] << "\teta = " << probe_eta_[iComb_] - << "\tphi = " << probe_phi_[iComb_]; - probe_trckIso_[iComb_] = it->second->isolationVariables03().tkSumPt; - probe_ecalIso_[iComb_] = it->second->isolationVariables04().ecalRecHitSumEt; - probe_hcalIso_[iComb_] = it->second->isolationVariables04().hcalDepth1TowerSumEt + - it->second->isolationVariables04().hcalDepth2TowerSumEt; - edm::LogDebug_("", "ErsatzMEt", 245) - << "probe trackiso = " << probe_trckIso_[iComb_] << "\tecaliso = " << probe_ecalIso_[iComb_] - << "\thcaliso = " << probe_phi_[iComb_]; - probe_sIhIh_[iComb_] = it->second->scSigmaIEtaIEta(); - probe_dPhiIn_[iComb_] = it->second->deltaPhiSuperClusterTrackAtVtx(); - probe_dEtaIn_[iComb_] = it->second->deltaEtaSuperClusterTrackAtVtx(); - edm::LogDebug_("", "ErsatzMEt", 245) - << "probe sIhIh = " << probe_sIhIh_[iComb_] << "\tdPhiIn = " << probe_dPhiIn_[iComb_] - << "\tdEtaIn = " << probe_dEtaIn_[iComb_]; - probe_e5x5_[iComb_] = it->second->scE5x5(); - probe_e2x5Max_[iComb_] = it->second->scE2x5Max(); - probe_e2x5Max_[iComb_] = it->second->scE1x5(); - edm::LogDebug_("", "ErsatzMEt", 245) - << "probe e5x5 = " << probe_e5x5_[iComb_] << "\te2x5Max = " << probe_e2x5Max_[iComb_] - << "\te1x5Max = " << probe_e1x5Max_[iComb_]; - probe_hoe_[iComb_] = it->second->hadronicOverEm(); - probe_eop_[iComb_] = it->second->eSuperClusterOverP(); - probe_pin_[iComb_] = it->second->trackMomentumAtVtx().R(); - probe_pout_[iComb_] = it->second->trackMomentumOut().R(); - edm::LogDebug_("", "ErsatzMEt", 245) << "probe hoe = " << probe_hoe_[iComb_] << "\tpoe = " << probe_eop_[iComb_] - << "\tpin = " << probe_pin_[iComb_] << "\tpout = " << probe_pout_[iComb_]; - - double dRLimit = 0.2; - for (unsigned int mcEId = 0; mcEId < McElecs.size(); ++mcEId) { - // double dR = reco::deltaR((*(*mcEl)), probeVec); - double dR = reco::deltaR(McElecs[mcEId], it->second->p4()); - if (dR < dRLimit) { - dRLimit = dR; - McProbe_pt_[iComb_] = McElecs[mcEId].pt(); - McProbe_eta_[iComb_] = McElecs[mcEId].eta(); - McProbe_phi_[iComb_] = McElecs[mcEId].phi(); - McProbe_rescPt_[iComb_] = McElecsResc[mcEId].pt(); - McProbe_rescEta_[iComb_] = McElecsResc[mcEId].eta(); - McProbe_rescPhi_[iComb_] = McElecsResc[mcEId].phi(); - probe_d_MCE_SCE_[iComb_] = McElecs[mcEId].energy() - it->second->superCluster()->rawEnergy(); - McElecProbe_dPhi_[iComb_] = reco::deltaPhi(McElecs[mcEId].phi(), McElecs[(mcEId + 1) % 2].phi()); - McElecProbe_dEta_[iComb_] = fabs(McElecs[mcEId].eta() - McElecs[(mcEId + 1) % 2].eta()); - McElecProbe_dR_[iComb_] = reco::deltaR(McElecs[mcEId], McElecs[(mcEId + 1) % 2]); - } - } - - // Uncorrected supercluster V1 - reco::SuperCluster scV1 = *(it->second->superCluster()); - math::XYZTLorentzVector probe_scV1_detVec = DetectorVector(scV1); - probe_sc_pt_[iComb_] = probe_scV1_detVec.pt(); - probe_sc_eta_[iComb_] = scV1.eta(); - probe_sc_phi_[iComb_] = scV1.phi(); - probe_sc_nClus_[iComb_] = scV1.clustersSize(); - probe_sc_E_[iComb_] = scV1.energy(); - probe_sc_rawE_[iComb_] = scV1.rawEnergy(); - - ersatzMEt = ersatzFabrik(it->first, scV1, calomet, 1); - ErsatzV1CaloMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV1CaloMEtPhi_[iComb_] = ersatzMEt.phi(); - //ersatzMEt = ersatzFabrik(it->first, it->second, t1met); - //ErsatzV1T1MEt_[iComb_] = ersatzMEt.pt(); - //ErsatzV1T1MEtPhi_[iComb_] = ersatzMEt.phi(); - ersatzMEt = ersatzFabrik(it->first, it->second, pfmet); - ErsatzV1PfMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV1PfMEtPhi_[iComb_] = ersatzMEt.phi(); - ersatzMEt = ersatzFabrik(it->first, it->second, tcmet); - ErsatzV1TcMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV1TcMEtPhi_[iComb_] = ersatzMEt.phi(); - - // fEta corrected supercluster V2 - reco::SuperCluster scV2; - if (fabs(probe_sc_eta_[iComb_]) < 1.479) { - scV2 = fEtaScCorr(scV1); - } else { - scV2 = scV1; - } - probe_scV2_E_[iComb_] = scV2.energy(); - ersatzMEt = ersatzFabrik(it->first, scV2, calomet, 2); - ErsatzV2CaloMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV2CaloMEtPhi_[iComb_] = ersatzMEt.phi(); - - // fBrem corrected supercluster V3 - reco::SuperCluster scV3; - if (fabs(probe_sc_eta_[iComb_]) < 1.479) { - scV3 = fBremScCorr(scV1, hyb_fCorrPSet_); - } else { - scV3 = fBremScCorr(scV1, m5x5_fCorrPSet_); - } - probe_scV3_E_[iComb_] = scV3.energy(); - ersatzMEt = ersatzFabrik(it->first, scV3, calomet, 3); - ErsatzV3CaloMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV3CaloMEtPhi_[iComb_] = ersatzMEt.phi(); - - // Fully corrected supercluster V4 - reco::SuperCluster scV4; - if (fabs(probe_sc_eta_[iComb_]) < 1.479) { - scV4 = fBremScCorr(scV1, hyb_fCorrPSet_); - } else { - scV4 = fBremScCorr(scV1, m5x5_fCorrPSet_); - } - probe_scV4_E_[iComb_] = scV4.energy(); - ersatzMEt = ersatzFabrik(it->first, scV4, calomet, 4); - ErsatzV4CaloMEt_[iComb_] = ersatzMEt.pt(); - ErsatzV4CaloMEtPhi_[iComb_] = ersatzMEt.phi(); - - ++iComb_; - } - t_->Fill(); - } - } -} - -std::map ErsatzMEt::probeFinder( - const std::vector& tags, const edm::Handle pElectrons) { - const reco::GsfElectronCollection* probeCands = pElectrons.product(); - std::map TagProbes; - for (std::vector::const_iterator tagelec = tags.begin(); tagelec != tags.end(); ++tagelec) { - reco::GsfElectronRef tag = *tagelec; - std::pair TagProbePair; - int nProbesPerTag = 0; - int index = 0; - for (reco::GsfElectronCollection::const_iterator probeelec = probeCands->begin(); probeelec != probeCands->end(); - ++probeelec) { - reco::GsfElectronRef probe(pElectrons, index); - double probeScEta = probe->superCluster()->eta(); - if (probe->superCluster() != tag->superCluster() && fabs(probeScEta) < 2.5) { - if (fabs(probeScEta) < 1.4442 || fabs(probeScEta) > 1.560) { - double invmass = ROOT::Math::VectorUtil::InvariantMass(tag->p4(), probe->p4()); - if (mTPmin_ <= invmass && invmass <= mTPmax_) { - TagProbePair = std::make_pair(tag, probe); - ++nProbesPerTag; - } - } - } - ++index; - } - //nGsfElectrons_ = index; - if (nProbesPerTag == 1) - TagProbes.insert(TagProbePair); - } - return TagProbes; -} - -reco::MET ErsatzMEt::ersatzFabrik(const reco::GsfElectronRef& elec, - const reco::SuperCluster& sc, - const reco::MET& met, - const int corr) { - const math::XYZPoint ZVertex( - elec->TrackPositionAtVtx().X(), elec->TrackPositionAtVtx().Y(), elec->TrackPositionAtVtx().Z()); - - math::XYZTLorentzVector nu, boost_nu, ele, boost_ele; - reco::SuperCluster elecSc = *(elec->superCluster()); - nu = PhysicsVectorRaw(met.vertex(), sc); - boost_nu = PhysicsVectorRaw(ZVertex, sc); - ele = PhysicsVectorRaw(met.vertex(), elecSc); - boost_ele = ele; - - //Should use reco vertex for best Z->ee measurement. - edm::LogDebug_("ersatzFabrikV1", "", 569) << "elec = (" << elec->p4().Px() << ", " << elec->p4().Py() << ", " - << elec->p4().Pz() << ", " << elec->p4().E() << ")"; - math::XYZTLorentzVector Zboson = boost_nu + elec->p4(); - edm::LogDebug_("ersatzFabrikV1", "", 569) << "Z pt = " << Zboson.Pt() << "Z boson mass = " << Zboson.M(); - edm::LogDebug_("ersatzFabrikV1", "", 570) << "Z boson in lab frame = (" << Zboson.Px() << ", " << Zboson.Py() << ", " - << Zboson.Pz() << ", " << Zboson.E() << ")"; - math::XYZTLorentzVector RescZboson( - Zboson.Px(), Zboson.Py(), Zboson.Pz(), sqrt(Zboson.P2() + (mW_ * mW_ * Zboson.M2()) / (mZ_ * mZ_))); - edm::LogDebug_("ersatzFabrikV1", "", 573) << "W boson in lab frame = (" << RescZboson.Px() << ", " << RescZboson.Py() - << ", " << RescZboson.Pz() << ", " << RescZboson.E() << ")"; - ROOT::Math::Boost BoostToZRestFrame(Zboson.BoostToCM()); - edm::LogDebug_("ersatzFabrikV1", "", 576) << "Electron in lab frame = (" << boost_ele.Px() << ", " << boost_ele.Py() - << ", " << boost_ele.Pz() << ", " << boost_ele.E() << ")"; - edm::LogDebug_("ersatzFabrikV1", "", 578) << "Ersatz Neutrino in lab frame = (" << boost_nu.Px() << ", " - << boost_nu.Py() << ", " << boost_nu.Pz() << ", " << boost_nu.E() << ")"; - boost_ele = BoostToZRestFrame(boost_ele); - boost_nu = BoostToZRestFrame(boost_nu); - edm::LogDebug_("ersatzFabrikV1", "", 582) << "Electron in Z rest frame = (" << boost_ele.Px() << ", " - << boost_ele.Py() << ", " << boost_ele.Pz() << ", " << boost_ele.E() << ")"; - edm::LogDebug_("ersatzFabrikV1", "", 584) << "Ersatz Neutrino in Z rest frame = (" << boost_nu.Px() << ", " - << boost_nu.Py() << ", " << boost_nu.Pz() << ", " << boost_nu.E() << ")"; - boost_ele *= mW_ / mZ_; - boost_nu *= mW_ / mZ_; - - double E_W = RescZboson.E(); - ROOT::Math::Boost BackToLab(RescZboson.Px() / E_W, RescZboson.Py() / E_W, RescZboson.Pz() / E_W); - math::XYZTLorentzVector metVec(-99999., -99999., -99., -99999.); - boost_ele = BackToLab(boost_ele); - - boost_nu = BackToLab(boost_nu); - math::XYZTLorentzVector sum = boost_nu + boost_ele; - edm::LogDebug_("ersatzFabrikV1", "", 597) << "Electron back in lab frame = (" << boost_ele.Px() << ", " - << boost_ele.Py() << ", " << boost_ele.Pz() << ", " << boost_ele.E() << ")"; - edm::LogDebug_("ersatzFabrikV1", "", 599) << "Ersatz Neutrino back in lab frame = (" << boost_nu.Px() << ", " - << boost_nu.Py() << ", " << boost_nu.Pz() << ", " << boost_nu.E() << ")"; - edm::LogDebug_("ersatzFabrikV1", "", 601) - << "boost_ele + boost_nu = (" << sum.Px() << ", " << sum.Py() << ", " << sum.Pz() << ", " << sum.E() << ")"; - - nu.SetXYZT(nu.X(), nu.Y(), 0., nu.T()); - ele.SetXYZT(ele.X(), ele.Y(), 0., ele.T()); - boost_ele.SetXYZT(boost_ele.X(), boost_ele.Y(), 0., boost_ele.T()); - metVec = met.p4() + nu + ele - boost_ele; - - reco::MET ersatzMEt(metVec, met.vertex()); - if (corr == 1) { - //Z_caloV1_m_[iComb_] = Zboson.M(); - //Z_caloV1_pt_[iComb_] = Zboson.Pt(); - //Z_caloV1_y_[iComb_] = Zboson.Y(); - //Z_caloV1_eta_[iComb_] = Zboson.Eta(); - //Z_caloV1_phi_[iComb_] = Zboson.Phi(); - //Z_caloV1_rescM_[iComb_] = RescZboson.M(); - //Z_caloV1_rescPt_[iComb_] = RescZboson.Pt(); - //Z_caloV1_rescY_[iComb_] = RescZboson.Y(); - //Z_caloV1_rescEta_[iComb_] = RescZboson.Eta(); - //Z_caloV1_rescPhi_[iComb_] = RescZboson.Phi(); - //Z_caloV1_probe_dPhi_[iComb_] = reco::deltaPhi(Zboson.Phi(), elec->phi()); - //tag_caloV1_rescPt_[iComb_] = boost_ele.Pt(); - //tag_caloV1_rescEta_[iComb_] = boost_ele.Eta(); - //tag_caloV1_rescPhi_[iComb_] = boost_ele.Phi(); - //probe_caloV1_rescPt_[iComb_] = boost_nu.Pt(); - //probe_caloV1_rescEta_[iComb_] = boost_nu.Eta(); - //probe_caloV1_rescPhi_[iComb_] = boost_nu.Phi(); - ErsatzV1_Mesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(elec->p4(), boost_nu); - ErsatzV1_rescMesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(ele, nu); - ErsatzV1CaloMt_[iComb_] = - sqrt(2. * boost_ele.Pt() * ersatzMEt.pt() * (1 - cos(reco::deltaPhi(boost_ele.Phi(), ersatzMEt.phi())))); - } - if (corr == 2) { - //Z_caloV2_m_[iComb_] = Zboson.M(); - //Z_caloV2_pt_[iComb_] = Zboson.Pt(); - //Z_caloV2_y_[iComb_] = Zboson.Y(); - //Z_caloV2_eta_[iComb_] = Zboson.Eta(); - //Z_caloV2_phi_[iComb_] = Zboson.Phi(); - //Z_caloV2_rescM_[iComb_] = RescZboson.M(); - //Z_caloV2_rescPt_[iComb_] = RescZboson.Pt(); - //Z_caloV2_rescY_[iComb_] = RescZboson.Y(); - //Z_caloV2_rescEta_[iComb_] = RescZboson.Eta(); - //Z_caloV2_rescPhi_[iComb_] = RescZboson.Phi(); - //Z_caloV2_probe_dPhi_[iComb_] = reco::deltaPhi(Zboson.Phi(), boost_elec->phi()); - //tag_caloV2_rescPt_[iComb_] = boost_ele.Pt(); - //tag_caloV2_rescEta_[iComb_] = boost_ele.Eta(); - //tag_caloV2_rescPhi_[iComb_] = boost_ele.Phi(); - //probe_caloV2_rescPt_[iComb_] = boost_nu.Pt(); - //probe_caloV2_rescEta_[iComb_] = boost_nu.Eta(); - //probe_caloV2_rescPhi_[iComb_] = boost_nu.Phi(); - ErsatzV2_Mesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(elec->p4(), boost_nu); - ErsatzV2_rescMesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(ele, nu); - ErsatzV2CaloMt_[iComb_] = - sqrt(2. * boost_ele.Pt() * ersatzMEt.pt() * (1 - cos(reco::deltaPhi(boost_ele.Phi(), ersatzMEt.phi())))); - } - if (corr == 3) { - //Z_caloV3_m_[iComb_] = Zboson.M(); - //Z_caloV3_pt_[iComb_] = Zboson.Pt(); - //Z_caloV3_y_[iComb_] = Zboson.Y(); - //Z_caloV3_eta_[iComb_] = Zboson.Eta(); - //Z_caloV3_phi_[iComb_] = Zboson.Phi(); - //Z_caloV3_rescM_[iComb_] = RescZboson.M(); - //Z_caloV3_rescPt_[iComb_] = RescZboson.Pt(); - //Z_caloV3_rescY_[iComb_] = RescZboson.Y(); - //Z_caloV3_rescEta_[iComb_] = RescZboson.Eta(); - //Z_caloV3_rescPhi_[iComb_] = RescZboson.Phi(); - //Z_caloV3_probe_dPhi_[iComb_] = reco::deltaPhi(Zboson.Phi(), boost_elec->phi()); - //tag_caloV3_rescPt_[iComb_] = boost_ele.Pt(); - //tag_caloV3_rescEta_[iComb_] = boost_ele.Eta(); - //tag_caloV3_rescPhi_[iComb_] = boost_ele.Phi(); - //probe_caloV3_rescPt_[iComb_] = boost_nu.Pt(); - //probe_caloV3_rescEta_[iComb_] = boost_nu.Eta(); - //probe_caloV3_rescPhi_[iComb_] = boost_nu.Phi(); - ErsatzV3_Mesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(elec->p4(), boost_nu); - ErsatzV3_rescMesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(ele, nu); - ErsatzV3CaloMt_[iComb_] = - sqrt(2. * boost_ele.Pt() * ersatzMEt.pt() * (1 - cos(reco::deltaPhi(boost_ele.Phi(), ersatzMEt.phi())))); - } - if (corr == 4) { - //Z_caloV4_m_[iComb_] = Zboson.M(); - //Z_caloV4_pt_[iComb_] = Zboson.Pt(); - //Z_caloV4_y_[iComb_] = Zboson.Y(); - //Z_caloV4_eta_[iComb_] = Zboson.Eta(); - //Z_caloV4_phi_[iComb_] = Zboson.Phi(); - //Z_caloV4_rescM_[iComb_] = RescZboson.M(); - //Z_caloV4_rescPt_[iComb_] = RescZboson.Pt(); - //Z_caloV4_rescY_[iComb_] = RescZboson.Y(); - //Z_caloV4_rescEta_[iComb_] = RescZboson.Eta(); - //Z_caloV4_rescPhi_[iComb_] = RescZboson.Phi(); - //Z_caloV4_probe_dPhi_[iComb_] = reco::deltaPhi(Zboson.Phi(), boost_elec->phi()); - //tag_caloV4_rescPt_[iComb_] = boost_ele.Pt(); - //tag_caloV4_rescEta_[iComb_] = boost_ele.Eta(); - //tag_caloV4_rescPhi_[iComb_] = boost_ele.Phi(); - //probe_caloV4_rescPt_[iComb_] = boost_nu.Pt(); - //probe_caloV4_rescEta_[iComb_] = boost_nu.Eta(); - //probe_caloV4_rescPhi_[iComb_] = boost_nu.Phi(); - ErsatzV4_Mesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(elec->p4(), boost_nu); - ErsatzV4_rescMesc_[iComb_] = ROOT::Math::VectorUtil::InvariantMass(ele, nu); - ErsatzV4CaloMt_[iComb_] = - sqrt(2. * boost_ele.Pt() * ersatzMEt.pt() * (1 - cos(reco::deltaPhi(boost_ele.Phi(), ersatzMEt.phi())))); - } - return ersatzMEt; -} - -reco::MET ErsatzMEt::ersatzFabrik(const reco::GsfElectronRef& tag, - const reco::GsfElectronRef& probe, - const reco::MET& met) { - math::XYZTLorentzVector elec, nu, boost_elec, boost_nu; - boost_elec = tag->p4(); - edm::LogDebug_("ersatzFabrikV1", "", 858) << "boost_elec = (" << boost_elec.Px() << ", " << boost_elec.Py() << ", " - << boost_elec.Pz() << ", " << boost_elec.E() << ")"; - boost_nu = probe->p4(); - edm::LogDebug_("ersatzFabrikV1", "", 860) << "boost_nu = (" << boost_nu.Px() << ", " << boost_nu.Py() << ", " - << boost_nu.Pz() << ", " << boost_nu.E() << ")"; - math::XYZTLorentzVector Zboson = boost_elec + boost_nu; - edm::LogDebug_("ersatzFabrikV1", "", 862) - << "Zboson = (" << Zboson.Px() << ", " << Zboson.Py() << ", " << Zboson.Pz() << ", " << Zboson.E() << ")"; - math::XYZTLorentzVector RescZboson( - Zboson.Px(), Zboson.Py(), Zboson.Pz(), sqrt(Zboson.P2() + (mW_ * mW_ * Zboson.M2()) / (mZ_ * mZ_))); - edm::LogDebug_("ersatzFabrikV1", "", 864) << "RescZboson = (" << RescZboson.Px() << ", " << RescZboson.Py() << ", " - << RescZboson.Pz() << ", " << RescZboson.E() << ")"; - ROOT::Math::Boost BoostToZRestFrame(Zboson.BoostToCM()); - elec = BoostToZRestFrame(boost_elec); - edm::LogDebug_("ersatzFabrikV1", "", 867) << "boost_elec (in Z rest frame) = (" << elec.Px() << ", " << elec.Py() - << ", " << elec.Pz() << ", " << elec.E() << ")"; - nu = BoostToZRestFrame(boost_nu); - edm::LogDebug_("ersatzFabrikV1", "", 869) - << "boost_nu (in Z rest frame) = (" << nu.Px() << ", " << nu.Py() << ", " << nu.Pz() << ", " << nu.E() << ")"; - elec *= mW_ / mZ_; - edm::LogDebug_("ersatzFabrikV1", "", 871) - << "elec (in Z rest frame) = (" << elec.Px() << ", " << elec.Py() << ", " << elec.Pz() << ", " << elec.E() << ")"; - nu *= mW_ / mZ_; - edm::LogDebug_("ersatzFabrikV1", "", 873) - << "nu (in Z rest frame) = (" << nu.Px() << ", " << nu.Py() << ", " << nu.Pz() << ", " << nu.E() << ")"; - ROOT::Math::Boost BoostBackToLab( - RescZboson.Px() / RescZboson.E(), RescZboson.Py() / RescZboson.E(), RescZboson.Pz() / RescZboson.E()); - math::XYZTLorentzVector metVec(-99999., -99999., -99., -99999.); - elec = BoostBackToLab(elec); - edm::LogDebug_("ersatzFabrikV1", "", 877) - << "elec = (" << elec.Px() << ", " << elec.Py() << ", " << elec.Pz() << ", " << elec.E() << ")"; - nu = BoostBackToLab(nu); - edm::LogDebug_("ersatzFabrikV1", "", 879) - << "nu = (" << nu.Px() << ", " << nu.Py() << ", " << nu.Pz() << ", " << nu.E() << ")"; - Z_m_[iComb_] = Zboson.M(); - Z_pt_[iComb_] = Zboson.Pt(); - Z_y_[iComb_] = Zboson.Y(); - Z_eta_[iComb_] = Zboson.Eta(); - Z_phi_[iComb_] = Zboson.Phi(); - Z_rescM_[iComb_] = RescZboson.M(); - Z_rescPt_[iComb_] = RescZboson.Pt(); - Z_rescY_[iComb_] = RescZboson.Y(); - Z_rescEta_[iComb_] = RescZboson.Eta(); - Z_rescPhi_[iComb_] = RescZboson.Phi(); - Z_probe_dPhi_[iComb_] = reco::deltaPhi(Zboson.Phi(), boost_elec.phi()); - tag_rescPt_[iComb_] = elec.Pt(); - tag_rescEta_[iComb_] = elec.Eta(); - tag_rescPhi_[iComb_] = elec.Phi(); - probe_rescPt_[iComb_] = nu.Pt(); - probe_rescEta_[iComb_] = nu.Eta(); - probe_rescPhi_[iComb_] = nu.Phi(); - elec.SetXYZT(elec.X(), elec.Y(), 0., elec.T()); - nu.SetXYZT(nu.X(), nu.Y(), 0., nu.T()); - boost_elec.SetXYZT(boost_elec.X(), boost_elec.Y(), 0., boost_elec.T()); - metVec = met.p4() + nu + elec - boost_elec; - reco::MET ersatzMEt(metVec, met.vertex()); - return ersatzMEt; -} - -bool ErsatzMEt::isInBarrel(double eta) { return (fabs(eta) < BarrelEtaMax_); } - -bool ErsatzMEt::isInEndCap(double eta) { return (fabs(eta) < EndCapEtaMax_ && fabs(eta) > EndCapEtaMin_); } - -bool ErsatzMEt::isInFiducial(double eta) { return isInBarrel(eta) || isInEndCap(eta); } - -// ------------ method called once each job just after ending the event loop ------------ -void ErsatzMEt::endJob() {} -//define this as a plug-in -DEFINE_FWK_MODULE(ErsatzMEt); diff --git a/ElectroWeakAnalysis/ZEE/src/ZeeCandidateFilter.cc b/ElectroWeakAnalysis/ZEE/src/ZeeCandidateFilter.cc deleted file mode 100644 index 7436f64d1677f..0000000000000 --- a/ElectroWeakAnalysis/ZEE/src/ZeeCandidateFilter.cc +++ /dev/null @@ -1,1267 +0,0 @@ -// -*- C++ -*- -// -// Package: ZeeCandidateFilter -// Class: ZeeCandidateFilter -// -/**\class ZeeCandidateFilter ZeeCandidateFilter.cc EWKSoftware/EDMTupleSkimmerFilter/src/ZeeCandidateFilter.cc - - Description: - - Implementation: - - This class contains a filter that searches the event and finds whether it fulfills the Z Candidate Criteria. - If it fullfills them it creates a ZeeCandidate and stores it in the event. - - Definition of the Zee Caldidate: - * event that passes the trigger - * has 2 Gsf electrons in fiducial with ET greater than a (configurable) threshold - * at least one of them matched to an HLT Object (configurable) with DR < (configurable) - - Changes Log: - - 12Feb09 First Release of the code for CMSSW_2_2_X - - 17Sep09 First Release for CMSSW_3_1_X - - 09Dec09 Option to ignore trigger - - 25Feb10 Added options to use Conversion Rejection, Expected missing hits and valid hit at first PXB - - Added option to calculate these criteria and store them in the pat electron object this is done by setting in the configuration the flags - - calculateValidFirstPXBHit = true - calculateConversionRejection = true - calculateExpectedMissinghits = true - - Then the code calculates them and you can access all these from pat::Electron - - myElec.userInt("PassValidFirstPXBHit") 0 fail, 1 passes - myElec.userInt("PassConversionRejection") 0 fail, 1 passes - myElec.userInt("NumberOfExpectedMissingHits") the number of lost hits - - - 28May10 Implementation of Spring10 selections - Contact: - Stilianos Kesisoglou - Institute of Nuclear Physics - NCSR Demokritos -// Original Author: Nikolaos Rompotis - - Nikolaos.Rompotis@Cern.ch - Imperial College London - -*/ - -#ifndef ZeeCandidateFilter_H -#define ZeeCandidateFilter_H - -// System include files -#include - -// User include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include -#include -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "FWCore/Common/interface/TriggerNames.h" - -#include "TString.h" -#include "TMath.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "DataFormats/PatCandidates/interface/TriggerObject.h" - -// For conversion finder -#include "FWCore/Framework/interface/ESHandle.h" -#include "MagneticField/Engine/interface/MagneticField.h" -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" -#include "DataFormats/GeometryVector/interface/GlobalPoint.h" - -#include "DataFormats/Scalers/interface/DcsStatus.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "RecoEcal/EgammaCoreTools/interface/EcalTools.h" -#include "CondFormats/DataRecord/interface/EcalChannelStatusRcd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -// Class Declaration -// ----------------- -// -class ZeeCandidateFilter : public edm::EDFilter { -public: - explicit ZeeCandidateFilter(const edm::ParameterSet &); - - ~ZeeCandidateFilter() override; - -private: - Bool_t filter(edm::Event &, const edm::EventSetup &) override; - - void endJob() override; - - Bool_t isInFiducial(Double_t eta); - - //Bool_t passEleIDCuts(pat::Electron *ele); - - // ----- Data Members ----- - - Double_t ETCut_; - Double_t METCut_; - - Bool_t useEcalDrivenElectrons_; - - /* Electron 1 */ - Bool_t useValidFirstPXBHit1_; - Bool_t calculateValidFirstPXBHit1_; - Bool_t useConversionRejection1_; - Bool_t calculateConversionRejection1_; - Bool_t useExpectedMissingHits1_; - Bool_t calculateExpectedMissingHits1_; - Int_t maxNumberOfExpectedMissingHits1_; - - /* Electron 2 */ - Bool_t useValidFirstPXBHit2_; - Bool_t calculateValidFirstPXBHit2_; - Bool_t useConversionRejection2_; - Bool_t calculateConversionRejection2_; - Bool_t useExpectedMissingHits2_; - Bool_t calculateExpectedMissingHits2_; - Int_t maxNumberOfExpectedMissingHits2_; - - /* Electron 1 */ - Double_t dist1_; - Double_t dcot1_; - - /* Electron 2 */ - Double_t dist2_; - Double_t dcot2_; - - Bool_t dataMagneticFieldSetUp_; - - edm::InputTag dcsTag_; - edm::EDGetTokenT dcsToken_; - edm::EDGetTokenT tracksToken_; - - Double_t BarrelMaxEta_; - Double_t EndCapMaxEta_; - Double_t EndCapMinEta_; - - std::string hltpath_; - edm::InputTag triggerCollectionTag_; - edm::EDGetTokenT triggerCollectionToken_; - edm::EDGetTokenT triggerEventToken_; - edm::InputTag hltpathFilter_; - Bool_t useHLTObjectETCut_; - - Double_t hltObjectETCut_; - - Bool_t useExtraTrigger_; - - std::vector vHltpathExtra_; - std::vector vHltpathFilterExtra_; - - Bool_t useTriggerInfo_; - Bool_t electronMatched2HLT_; - Double_t electronMatched2HLT_DR_; - - edm::InputTag electronCollectionTag_; - edm::EDGetTokenT electronCollectionToken_; - - edm::EDGetTokenT metCollectionToken_; - edm::EDGetTokenT pfMetCollectionToken_; - edm::EDGetTokenT tcMetCollectionToken_; - - edm::EDGetTokenT > PrimaryVerticesCollectionToken_; - - edm::EDGetTokenT ebRecHitsToken_; - edm::EDGetTokenT eeRecHitsToken_; - - Bool_t useSpikeRejection_; - - Double_t spikeCleaningSwissCrossCut_; -}; - -#endif - -// Constants, Enums and Typedefs -// ----------------------------- -// - -// Static Data Member Definitions -// ------------------------------ -// - -// Constructors and Destructor -// --------------------------- -// -ZeeCandidateFilter::ZeeCandidateFilter(const edm::ParameterSet &iConfig) { - // - //-------------------------------------// - // INITIALIZATION // - //-------------------------------------// - // - - // Cuts - // ---- - ETCut_ = iConfig.getUntrackedParameter("ETCut"); - METCut_ = iConfig.getUntrackedParameter("METCut"); - - useEcalDrivenElectrons_ = iConfig.getUntrackedParameter("useEcalDrivenElectrons", false); - //-------------------------------------------------------------------------------------------------------------------- - - // Preselection Criteria: Hit Pattern - // ---------------------------------- - // - /* Electron 1 */ - useValidFirstPXBHit1_ = iConfig.getUntrackedParameter("useValidFirstPXBHit1", false); - calculateValidFirstPXBHit1_ = iConfig.getUntrackedParameter("calculateValidFirstPXBHit1", false); - useConversionRejection1_ = iConfig.getUntrackedParameter("useConversionRejection1", false); - calculateConversionRejection1_ = iConfig.getUntrackedParameter("calculateConversionRejection1", false); - useExpectedMissingHits1_ = iConfig.getUntrackedParameter("useExpectedMissingHits1", false); - calculateExpectedMissingHits1_ = iConfig.getUntrackedParameter("calculateExpectedMissingHits1", false); - maxNumberOfExpectedMissingHits1_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits1", 1); - // - /* Electron 2 */ - useValidFirstPXBHit2_ = iConfig.getUntrackedParameter("useValidFirstPXBHit2", false); - calculateValidFirstPXBHit2_ = iConfig.getUntrackedParameter("calculateValidFirstPXBHit2", false); - useConversionRejection2_ = iConfig.getUntrackedParameter("useConversionRejection2", false); - calculateConversionRejection2_ = iConfig.getUntrackedParameter("calculateConversionRejection2", false); - useExpectedMissingHits2_ = iConfig.getUntrackedParameter("useExpectedMissingHits2", false); - calculateExpectedMissingHits2_ = iConfig.getUntrackedParameter("calculateExpectedMissingHits2", false); - maxNumberOfExpectedMissingHits2_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits2", 1); - //-------------------------------------------------------------------------------------------------------------------- - - // Conversion Rejection Variables - // ------------------------------ - // - /* Electron 1 */ - Double_t dist1_D = 0.02; - Double_t dcot1_D = 0.02; - // - dist1_ = iConfig.getUntrackedParameter("conversionRejectionDist1", dist1_D); - dcot1_ = iConfig.getUntrackedParameter("conversionRejectionDcot1", dcot1_D); - // - /* Electron 2 */ - Double_t dist2_D = 0.02; - Double_t dcot2_D = 0.02; - // - dist2_ = iConfig.getUntrackedParameter("conversionRejectionDist2", dist2_D); - dcot2_ = iConfig.getUntrackedParameter("conversionRejectionDcot2", dcot2_D); - //-------------------------------------------------------------------------------------------------------------------- - - // Magnetic Field - // -------------- - // - dataMagneticFieldSetUp_ = iConfig.getUntrackedParameter("dataMagneticFieldSetUp", false); - - if (dataMagneticFieldSetUp_) { - dcsTag_ = iConfig.getUntrackedParameter("dcsTag"); - dcsToken_ = mayConsume(dcsTag_); - } - tracksToken_ = mayConsume(edm::InputTag("generalTracks")); - //-------------------------------------------------------------------------------------------------------------------- - - // Detector Fiducial Cuts - // ---------------------- - // - Double_t BarrelMaxEta_D = 1.4442; - Double_t EndCapMinEta_D = 1.5660; - Double_t EndCapMaxEta_D = 2.5000; - - BarrelMaxEta_ = iConfig.getUntrackedParameter("BarrelMaxEta", BarrelMaxEta_D); - EndCapMaxEta_ = iConfig.getUntrackedParameter("EndCapMaxEta", EndCapMaxEta_D); - EndCapMinEta_ = iConfig.getUntrackedParameter("EndCapMinEta", EndCapMinEta_D); - //-------------------------------------------------------------------------------------------------------------------- - - // Trigger Related - // --------------- - // - hltpath_ = iConfig.getUntrackedParameter("hltpath"); - triggerCollectionTag_ = iConfig.getUntrackedParameter("triggerCollectionTag"); - triggerCollectionToken_ = consumes(triggerCollectionTag_); - triggerEventToken_ = consumes(iConfig.getUntrackedParameter("triggerEventTag")); - hltpathFilter_ = iConfig.getUntrackedParameter("hltpathFilter"); - useHLTObjectETCut_ = iConfig.getUntrackedParameter("useHLTObjectETCut", false); - - if (useHLTObjectETCut_) { - hltObjectETCut_ = iConfig.getUntrackedParameter("hltObjectETCut"); - } - - // Dirty way to add a second trigger with OR, to be done properly in the next tag - useExtraTrigger_ = iConfig.getUntrackedParameter("useExtraTrigger"); - - if (useExtraTrigger_) { - vHltpathExtra_ = iConfig.getUntrackedParameter >("vHltpathExtra"); - vHltpathFilterExtra_ = iConfig.getUntrackedParameter >("vHltpathFilterExtra"); - - if (Int_t(vHltpathExtra_.size()) != Int_t(vHltpathFilterExtra_.size())) { - std::cout << "ZeeCandidateFilter: ERROR IN Configuration: vHltpathExtra and vHltpathFilterExtra" - << " should have the same dimensions " << std::endl; - } - } - //-------------------------------------------------------------------------------------------------------------------- - - // Trigger Matching Related - // ------------------------ - // - useTriggerInfo_ = iConfig.getUntrackedParameter("useTriggerInfo", true); - electronMatched2HLT_ = iConfig.getUntrackedParameter("electronMatched2HLT"); - electronMatched2HLT_DR_ = iConfig.getUntrackedParameter("electronMatched2HLT_DR"); - //-------------------------------------------------------------------------------------------------------------------- - - // Electrons, MET's Vtx's and other - // -------------------------------- - // - electronCollectionTag_ = iConfig.getUntrackedParameter("electronCollectionTag"); - electronCollectionToken_ = consumes(electronCollectionTag_); - - metCollectionToken_ = consumes(iConfig.getUntrackedParameter("metCollectionTag")); - pfMetCollectionToken_ = - consumes(iConfig.getUntrackedParameter("pfMetCollectionTag")); - tcMetCollectionToken_ = - consumes(iConfig.getUntrackedParameter("tcMetCollectionTag")); - - PrimaryVerticesCollectionToken_ = - consumes >(iConfig.getUntrackedParameter("PrimaryVerticesCollection")); - - ebRecHitsToken_ = mayConsume(iConfig.getUntrackedParameter("ebRecHits")); - eeRecHitsToken_ = mayConsume(iConfig.getUntrackedParameter("eeRecHits")); - //-------------------------------------------------------------------------------------------------------------------- - - // Spike Cleaning - // -------------- - // - useSpikeRejection_ = iConfig.getUntrackedParameter("useSpikeRejection"); - - if (useSpikeRejection_) { - spikeCleaningSwissCrossCut_ = iConfig.getUntrackedParameter("spikeCleaningSwissCrossCut"); - } - //-------------------------------------------------------------------------------------------------------------------- - - // - //-------------------------------------// - // SUMMARY PRINTOUT // - //-------------------------------------// - // - - std::cout << "ZeeCandidateFilter: Running Zee Filter..." << std::endl; - - if (useTriggerInfo_) { - std::cout << "ZeeCandidateFilter: HLT Path " << hltpath_ << std::endl; - std::cout << "ZeeCandidateFilter: HLT Filter " << hltpathFilter_ << std::endl; - - if (useExtraTrigger_) { - for (Int_t itrig = 0; itrig < (Int_t)vHltpathExtra_.size(); ++itrig) { - std::cout << "ZeeCandidateFilter: OR " << vHltpathExtra_[itrig] - << " with filter: " << vHltpathFilterExtra_[itrig] << std::endl; - } - } - } else { - std::cout << "ZeeCandidateFilter: Trigger info will not be used here" << std::endl; - } - - std::cout << "ZeeCandidateFilter: ET > " << ETCut_ << std::endl; - std::cout << "ZeeCandidateFilter: MET > " << METCut_ << std::endl; - - if (useEcalDrivenElectrons_) { - std::cout << "ZeeCandidateFilter: Electron Candidate(s) is required to be ecal driven" << std::endl; - } - - if (electronMatched2HLT_ && useTriggerInfo_) { - std::cout << "ZeeCandidateFilter: At least one electron is required to match an HLT object with DR < " - << electronMatched2HLT_DR_ << std::endl; - } else { - std::cout << "ZeeCandidateFilter: Electron Candidates NOT required to match HLT object " << std::endl; - } - - if (useValidFirstPXBHit1_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #1 required to have a valid hit in 1st PXB layer " - << std::endl; - } - - if (useValidFirstPXBHit2_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #2 required to have a valid hit in 1st PXB layer " - << std::endl; - } - - if (calculateValidFirstPXBHit1_) { - std::cout << "ZeeCandidateFilter: Info about whether there is a valid 1st layer PXB hit for electron candidate #1 " - "will be stored: you can access that later by myElec.userInt(\"PassValidFirstPXBHit\")==1" - << std::endl; - } - - if (calculateValidFirstPXBHit2_) { - std::cout << "ZeeCandidateFilter: Info about whether there is a valid 1st layer PXB hit for electron candidate #2 " - "will be stored: you can access that later by myElec.userInt(\"PassValidFirstPXBHit\")==1" - << std::endl; - } - - if (useExpectedMissingHits1_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #1 is required to have less than " - << maxNumberOfExpectedMissingHits1_ << " expected hits missing " << std::endl; - } - - if (useExpectedMissingHits2_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #2 is required to have less than " - << maxNumberOfExpectedMissingHits2_ << " expected hits missing " << std::endl; - } - - if (calculateExpectedMissingHits1_) { - std::cout << "ZeeCandidateFilter: Missing Hits from expected inner layers for electron candidate #1 will be " - "calculated and stored: you can access them later by myElec.userInt(\"NumberOfExpectedMissingHits\")" - << std::endl; - } - - if (calculateExpectedMissingHits2_) { - std::cout << "ZeeCandidateFilter: Missing Hits from expected inner layers for electron candidate #2 will be " - "calculated and stored: you can access them later by myElec.userInt(\"NumberOfExpectedMissingHits\")" - << std::endl; - } - - if (useConversionRejection1_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #1 is required to pass EGAMMA Conversion Rejection criteria" - << std::endl; - } - - if (useConversionRejection2_) { - std::cout << "ZeeCandidateFilter: Electron Candidate #2 is required to pass EGAMMA Conversion Rejection criteria" - << std::endl; - } - - if (calculateConversionRejection1_) { - std::cout << "ZeeCandidateFilter: EGAMMA Conversion Rejection criteria for electron candidate #1 will be " - "calculated and stored: you can access them later by demanding for a successful electron " - "myElec.userInt(\"PassConversionRejection\")==1" - << std::endl; - } - - if (calculateConversionRejection2_) { - std::cout << "ZeeCandidateFilter: EGAMMA Conversion Rejection criteria for electron candidate #2 will be " - "calculated and stored: you can access them later by demanding for a successful electron " - "myElec.userInt(\"PassConversionRejection\")==1" - << std::endl; - } - - if (dataMagneticFieldSetUp_) { - std::cout << "ZeeCandidateFilter: Data Configuration for Magnetic Field DCS tag " << dcsTag_ << std::endl; - } - - if (useSpikeRejection_) { - std::cout << "ZeeCandidateFilter: Spike Cleaning will be done with the Swiss Cross Criterion cutting at " - << spikeCleaningSwissCrossCut_ << std::endl; - } - - std::cout << "ZeeCandidateFilter: Fiducial Cut: " << std::endl; - std::cout << "ZeeCandidateFilter: BarrelMax: " << BarrelMaxEta_ << std::endl; - std::cout << "ZeeCandidateFilter: EndcapMin: " << EndCapMinEta_ << " EndcapMax: " << EndCapMaxEta_ << std::endl; - - // - //------------------------------------------// - // EXTRA INFO IN THE EVENT // - //------------------------------------------// - // - produces("selectedZeeCandidates").setBranchAlias("selectedZeeCandidates"); -} - -ZeeCandidateFilter::~ZeeCandidateFilter() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// Member Functions -// ---------------- -// - -// ------------ method called on each new Event ------------ -Bool_t ZeeCandidateFilter::filter(edm::Event &iEvent, const edm::EventSetup &iSetup) { - using namespace edm; - using namespace std; - using namespace pat; - - std::cout << "FILTER-MSG: Begin Processing ... " - << "Run = " << iEvent.run() << " " - << "Lumi = " << (Int_t)iEvent.luminosityBlock() << " " - << "Event = " << iEvent.eventAuxiliary().event() << " " << std::endl; - - /*** TRIGGER REQUIREMENT - Event should pass the trigger, otherwise no zee candidate ***/ - - edm::Handle HLTResults; - iEvent.getByToken(triggerCollectionToken_, HLTResults); - - Int_t passTrigger = 0; - - if (HLTResults.isValid()) { - const edm::TriggerNames &triggerNames = iEvent.triggerNames(*HLTResults); - - UInt_t trigger_size = HLTResults->size(); - UInt_t trigger_position = triggerNames.triggerIndex(hltpath_); - UInt_t trigger_position_extra; - - if (trigger_position < trigger_size) { - passTrigger = (Int_t)HLTResults->accept(trigger_position); - } - - // Tested TriggerPath firing results printout - std::cout << "SK_HLT_INFO" - << " | " - << "trigger_size = " << trigger_size << " | " - << "hltpath_ = " << hltpath_ << " | " - << "trigger_position = " << trigger_position << " | " - << "passTrigger = " << passTrigger << std::endl; - - if (useExtraTrigger_ && passTrigger == 0) { - for (Int_t itrig = 0; itrig < (Int_t)vHltpathExtra_.size(); ++itrig) { - trigger_position_extra = triggerNames.triggerIndex(vHltpathExtra_[itrig]); - - if (trigger_position_extra < trigger_size) { - passTrigger = (Int_t)HLTResults->accept(trigger_position_extra); - } - - // Tested TriggerPath firing results printout - std::cout << "SK_HLT_INFO" - << " | " - << "vHltpathExtra_[" << itrig << "] = " << vHltpathExtra_[itrig] << " | " - << "trigger_position_extra = " << trigger_position_extra << " | " - << "passTrigger = " << passTrigger << " | " - << "vHltpathExtra_.size() = " << vHltpathExtra_.size() << std::endl; - - if (passTrigger > 0) { - break; - } - - } // for Loop - - } // if ( useExtraTrigger_ && passTrigger==0 ) - - } else { - std::cout << "TriggerResults are missing from this event.." << std::endl; - if (useTriggerInfo_) { - return false; // RETURN if trigger is missing - } - } - - if (passTrigger == 0 && useTriggerInfo_) { - std::cout << "No HLT Path is firing in this event" << std::endl; - return false; // RETURN if event fails the trigger - } - - edm::Handle pHLT; - iEvent.getByToken(triggerEventToken_, pHLT); - - const Int_t nF(pHLT->sizeFilters()); - const Int_t filterInd = pHLT->filterIndex(hltpathFilter_); - - std::vector filterIndExtra; - - if (useExtraTrigger_) { - for (Int_t itrig = 0; itrig < (Int_t)vHltpathFilterExtra_.size(); ++itrig) { - std::cout << "working on #" << itrig << std::endl; - std::cout << " ---> " << vHltpathFilterExtra_[itrig] << std::endl; - filterIndExtra.push_back(pHLT->filterIndex(vHltpathFilterExtra_[itrig])); - } - } - - Bool_t finalpathfound = false; - - if (nF != filterInd) { - finalpathfound = true; - } else { - for (Int_t itrig = 0; itrig < (Int_t)filterIndExtra.size(); ++itrig) { - std::cout << "working on #" << itrig << std::endl; - std::cout << " ---> " << filterIndExtra[itrig] << std::endl; - if (nF != filterIndExtra[itrig]) { - finalpathfound = true; - break; - } - } - } - - if (!finalpathfound) { - std::cout << "No HLT Filter was not found in this event..." << std::endl; - if (useTriggerInfo_) { - return false; // RETURN if event fails the trigger - } - } - - const trigger::TriggerObjectCollection &TOC(pHLT->getObjects()); - - /*** ET CUT: At least one electron in the event with ET > ETCut_ ***/ - - // Electron Collection - edm::Handle patElectron; - iEvent.getByToken(electronCollectionToken_, patElectron); - - if (!patElectron.isValid()) { - std::cout << "No electrons found in this event with tag " << electronCollectionTag_ << std::endl; - return false; // RETURN if no elecs in the event - } - - const pat::ElectronCollection *pElecs = patElectron.product(); - - // // MET Collection -> relocated block bellow - // edm::Handle patMET; - // iEvent.getByToken(metCollectionToken_, patMET); - // - // edm::Handle patpfMET; - // iEvent.getByToken(pfMetCollectionToken_, patpfMET); - // - // edm::Handle pattcMET; - // iEvent.getByToken(tcMetCollectionToken_, pattcMET); - - // - // Note: best to do Duplicate removal here, since the current - // implementation does not remove triplicates - // duplicate removal is on at PAT, but does it remove triplicates? - // - - // pat::ElectronCollection::const_iterator elec; // relocated bellow - - // check how many electrons there are in the event - const Int_t Nelecs = pElecs->size(); - - if (Nelecs <= 1) { - std::cout << "No more than 1 electrons found in this event" << std::endl; - return false; // RETURN if less than 2 elecs in the event - } - - // Order your electrons: first the ones with the higher ET - Int_t counter = 0; - std::vector indices; - std::vector ETs; - pat::ElectronCollection myElectrons; - - for (pat::ElectronCollection::const_iterator elec = pElecs->begin(); elec != pElecs->end(); - ++elec) { // the definition of the electron ET is wrt Gsf track eta - Double_t sc_et = elec->caloEnergy() / TMath::CosH(elec->gsfTrack()->eta()); - indices.push_back(counter); - ETs.push_back(sc_et); - myElectrons.push_back(*elec); - ++counter; - } - - const Int_t event_elec_number = (Int_t)indices.size(); - - if (event_elec_number <= 1) { - std::cout << "No more than 1 electrons in fiducial were found" << std::endl; - return false; // RETURN if no more than 1 electron in fiducial - } - - // Memory allocation (must be released every time we return back. - Int_t *sorted = new Int_t[event_elec_number]; - Double_t *et = new Double_t[event_elec_number]; - - for (Int_t i = 0; i < event_elec_number; ++i) { - et[i] = ETs[i]; - } - - // array sorted now has the indices of the highest ET electrons - TMath::Sort(event_elec_number, et, sorted, true); - // - // if the 2 highest electrons in the event has ET < ETCut_ return - Int_t max_et_index1 = sorted[0]; - Int_t max_et_index2 = sorted[1]; - - if ((ETs[max_et_index1] < ETCut_) || (ETs[max_et_index2] < ETCut_)) { - delete[] sorted; - delete[] et; - return false; // RETURN: demand the highest ET electrons to have ET > ETcut - } - - // my electrons now: - pat::Electron maxETelec1 = myElectrons[max_et_index1]; - pat::Electron maxETelec2 = myElectrons[max_et_index2]; - - // demand that they are in fiducial: - if (!isInFiducial(maxETelec1.caloPosition().eta())) { - delete[] sorted; - delete[] et; - return false; // RETURN highest ET electron is not in fiducial - } - - if (!isInFiducial(maxETelec2.caloPosition().eta())) { - delete[] sorted; - delete[] et; - return false; // RETURN 2nd highest ET electron is not in fiducial - } - - // demand that they are ecal driven - if (useEcalDrivenElectrons_) { - if ((!maxETelec1.ecalDrivenSeed()) || (!maxETelec2.ecalDrivenSeed())) { - delete[] sorted; - delete[] et; - return false; // RETURN At least one high ET electron is not ecal driven - } - } - - // spike rejection; - if (useSpikeRejection_ && maxETelec1.isEB()) { - edm::Handle recHits; - - // if ( maxETelec1.isEB() ) { - // iEvent.getByToken(ebRecHitsToken_, recHits); - // } - // else { - // iEvent.getByToken(eeRecHitsToken_, recHits); - // } - - iEvent.getByToken(ebRecHitsToken_, recHits); - - const EcalRecHitCollection *myRecHits = recHits.product(); - const DetId seedId = maxETelec1.superCluster()->seed()->seed(); - - Double_t swissCross = EcalTools::swissCross(seedId, *myRecHits, 0.); - - if (swissCross > spikeCleaningSwissCrossCut_) { - delete[] sorted; - delete[] et; - return false; // RETURN highest ET electron is a spike - } - } - - if (useSpikeRejection_ && maxETelec2.isEB()) { - edm::Handle recHits; - - // if ( maxETelec2.isEB()) { - // iEvent.getByToken(ebRecHitsToken_, recHits); - // } - // else { - // iEvent.getByToken(eeRecHitsToken_, recHits); - // } - - iEvent.getByToken(ebRecHitsToken_, recHits); - - const EcalRecHitCollection *myRecHits = recHits.product(); - const DetId seedId = maxETelec2.superCluster()->seed()->seed(); - - Double_t swissCross = EcalTools::swissCross(seedId, *myRecHits, 0.); - - if (swissCross > spikeCleaningSwissCrossCut_) { - delete[] sorted; - delete[] et; - return false; // RETURN 2nd highest ET electron is a spike - } - } - - // add the primary vtx information in the electron: - edm::Handle > pVtx; - iEvent.getByToken(PrimaryVerticesCollectionToken_, pVtx); - - const std::vector Vtx = *(pVtx.product()); - - Double_t pv_x = -999999.; - Double_t pv_y = -999999.; - Double_t pv_z = -999999.; - - Double_t ele_tip_pv1 = -999999.; - Double_t ele_tip_pv2 = -999999.; - - if (!Vtx.empty()) { - pv_x = Vtx[0].position().x(); - pv_y = Vtx[0].position().y(); - pv_z = Vtx[0].position().z(); - ele_tip_pv1 = (-1.0) * (maxETelec1.gsfTrack()->dxy(Vtx[0].position())); - ele_tip_pv2 = (-1.0) * (maxETelec2.gsfTrack()->dxy(Vtx[0].position())); - } - - maxETelec1.addUserFloat("pv_x", Float_t(pv_x)); - maxETelec1.addUserFloat("pv_x", Float_t(pv_y)); - maxETelec1.addUserFloat("pv_z", Float_t(pv_z)); - maxETelec1.addUserFloat("ele_tip_pv", Float_t(ele_tip_pv1)); - - maxETelec2.addUserFloat("pv_x", Float_t(pv_x)); - maxETelec2.addUserFloat("pv_x", Float_t(pv_y)); - maxETelec2.addUserFloat("pv_z", Float_t(pv_z)); - maxETelec2.addUserFloat("ele_tip_pv", Float_t(ele_tip_pv2)); - - // Double_t pv_x1 = -999999.; - // Double_t pv_y1 = -999999.; - // Double_t pv_z1 = -999999.; - // Double_t ele_tip_pv1 = -999999.; - // - // if ( Vtx.size() >=1 ) { - // pv_x1 = Vtx[0].position().x(); - // pv_y1 = Vtx[0].position().y(); - // pv_z1 = Vtx[0].position().z(); - // ele_tip_pv1 = (-1.0) * ( maxETelec1.gsfTrack()->dxy(Vtx[0].position()) ) ; - // } - // - // maxETelec1.addUserFloat("pv_x", Float_t(pv_x1)); - // maxETelec1.addUserFloat("pv_x", Float_t(pv_y1)); - // maxETelec1.addUserFloat("pv_z", Float_t(pv_z1)); - // maxETelec1.addUserFloat("ele_tip_pv", Float_t(ele_tip_pv1)); - // - // edm::Handle< std::vector > pVtx2; - // iEvent.getByToken(PrimaryVerticesCollectionToken_, pVtx2); - // - // const std::vector Vtx2 = *(pVtx2.product()); - // - // Double_t pv_x2 = -999999.; - // Double_t pv_y2 = -999999.; - // Double_t pv_z2 = -999999.; - // Double_t ele_tip_pv2 = -999999.; - // - // if ( Vtx2.size() >=1 ) { - // pv_x2 = Vtx2[0].position().x(); - // pv_y2 = Vtx2[0].position().y(); - // pv_z2 = Vtx2[0].position().z(); - // ele_tip_pv2 = -maxETelec2.gsfTrack()->dxy(Vtx2[0].position()); - // } - // - // maxETelec2.addUserFloat("pv_x", Float_t(pv_x1)); - // maxETelec2.addUserFloat("pv_x", Float_t(pv_y1)); - // maxETelec2.addUserFloat("pv_z", Float_t(pv_z1)); - // maxETelec2.addUserFloat("ele_tip_pv", Float_t(ele_tip_pv2)); - - // Special pre-selection requirements (hit pattern and conversion rejection) - - if (useValidFirstPXBHit1_ || calculateValidFirstPXBHit1_) { - Bool_t fail = - !maxETelec1.gsfTrack()->hitPattern().hasValidHitInPixelLayer(PixelSubdetector::SubDetector::PixelBarrel, 1); - - if (useValidFirstPXBHit1_ && fail) { - std::cout << "Filter: there is no valid hit for electron #1 in 1st layer PXB" << std::endl; - delete[] sorted; - delete[] et; - return false; - } - - if (calculateValidFirstPXBHit1_) { - std::string vfpx("PassValidFirstPXBHit"); - - if (fail) { - maxETelec1.addUserInt(vfpx, 0); - } else { - maxETelec1.addUserInt(vfpx, 1); - } - } - } - - if (useValidFirstPXBHit2_ || calculateValidFirstPXBHit2_) { - Bool_t fail = - !maxETelec2.gsfTrack()->hitPattern().hasValidHitInPixelLayer(PixelSubdetector::SubDetector::PixelBarrel, 1); - - if (useValidFirstPXBHit2_ && fail) { - std::cout << "Filter: there is no valid hit for electron #1 in 1st layer PXB" << std::endl; - delete[] sorted; - delete[] et; - return false; - } - - if (calculateValidFirstPXBHit2_) { - std::string vfpx("PassValidFirstPXBHit"); - - if (fail) { - maxETelec2.addUserInt(vfpx, 0); - } else { - maxETelec2.addUserInt(vfpx, 1); - } - } - } - - if (useExpectedMissingHits1_ || calculateExpectedMissingHits1_) { - Int_t numberOfInnerHits = - (Int_t)(maxETelec1.gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS)); - - if ((numberOfInnerHits > maxNumberOfExpectedMissingHits1_) && useExpectedMissingHits1_) { - delete[] sorted; - delete[] et; - return false; - } - - if (calculateExpectedMissingHits1_) { - maxETelec1.addUserInt("NumberOfExpectedMissingHits", numberOfInnerHits); - } - } - - if (useExpectedMissingHits2_ || calculateExpectedMissingHits2_) { - Int_t numberOfInnerHits = - (Int_t)(maxETelec2.gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS)); - - if ((numberOfInnerHits > maxNumberOfExpectedMissingHits2_) && useExpectedMissingHits2_) { - delete[] sorted; - delete[] et; - return false; - } - - if (calculateExpectedMissingHits2_) { - maxETelec2.addUserInt("NumberOfExpectedMissingHits", numberOfInnerHits); - } - } - - if (useConversionRejection1_ || calculateConversionRejection1_) { - edm::Handle ctfTracks; - - if (iEvent.getByToken(tracksToken_, ctfTracks)) { - Float_t dist = maxETelec1.convDist(); - Float_t dcot = maxETelec1.convDcot(); - - Bool_t isConv = ((TMath::Abs(dist) < dist1_) && (TMath::Abs(dcot) < dcot1_)); - - std::cout << "Filter: for electron #1 the conversion says " << isConv << std::endl; - - if (isConv && useConversionRejection1_) { - delete[] sorted; - delete[] et; - return false; - } - - if (calculateConversionRejection1_) { - maxETelec1.addUserFloat("Dist", Float_t(dist)); - maxETelec1.addUserFloat("Dcot", Float_t(dcot)); - - if (isConv) { - maxETelec1.addUserInt("PassConversionRejection", 0); - } else { - maxETelec1.addUserInt("PassConversionRejection", 1); - } - } - - } else { - std::cout << "WARNING! Track Collection with input name: generalTracks was not found. Conversion Rejection for " - "electron #1 is not going to be applied!!!" - << std::endl; - } - } - - if (useConversionRejection2_ || calculateConversionRejection2_) { - edm::Handle ctfTracks; - - if (iEvent.getByToken(tracksToken_, ctfTracks)) { - Float_t dist = maxETelec2.convDist(); - Float_t dcot = maxETelec2.convDcot(); - - Bool_t isConv = ((TMath::Abs(dist) < dist2_) && (TMath::Abs(dcot) < dcot2_)); - - std::cout << "Filter: for electron #2 the conversion says " << isConv << std::endl; - - if (isConv && useConversionRejection2_) { - delete[] sorted; - delete[] et; - return false; - } - - if (calculateConversionRejection2_) { - maxETelec2.addUserFloat("Dist", Float_t(dist)); - maxETelec2.addUserFloat("Dcot", Float_t(dcot)); - - if (isConv) { - maxETelec2.addUserInt("PassConversionRejection", 0); - } else { - maxETelec2.addUserInt("PassConversionRejection", 1); - } - } - - } else { - std::cout << "WARNING! Track Collection with input name: generalTracks was not found. Conversion Rejection for " - "electron #2 is not going to be applied!!!" - << std::endl; - } - } - - std::cout << "HLT matching starts" << std::endl; - - if (electronMatched2HLT_ && useTriggerInfo_) { - Double_t matched_dr_distance1 = 999999.; - Int_t trigger_int_probe1 = 0; - - Double_t matched_dr_distance2 = 999999.; - Int_t trigger_int_probe2 = 0; - - if (finalpathfound) { - if (nF != filterInd) { - const trigger::Keys &KEYS(pHLT->filterKeys(filterInd)); - const Int_t nK(KEYS.size()); - - std::cout << "Found trig objects #" << nK << std::endl; - - for (Int_t iTrig = 0; iTrig < nK; ++iTrig) { - const trigger::TriggerObject &TO(TOC[KEYS[iTrig]]); - - if (useHLTObjectETCut_) { - if (TO.et() < hltObjectETCut_) { - continue; - } - } - - Double_t dr_ele_HLT1 = - reco::deltaR(maxETelec1.superCluster()->eta(), maxETelec1.superCluster()->phi(), TO.eta(), TO.phi()); - Double_t dr_ele_HLT2 = - reco::deltaR(maxETelec2.superCluster()->eta(), maxETelec2.superCluster()->phi(), TO.eta(), TO.phi()); - - //std::cout << "-->found dr=" << dr_ele_HLT << std::endl; - - if (TMath::Abs(dr_ele_HLT1) < matched_dr_distance1) { - matched_dr_distance1 = dr_ele_HLT1; - } - - if (TMath::Abs(dr_ele_HLT2) < matched_dr_distance2) { - matched_dr_distance2 = dr_ele_HLT2; - } - } - } - - if (useExtraTrigger_) { - for (Int_t itrig = 0; itrig < (Int_t)filterIndExtra.size(); ++itrig) { - if (filterIndExtra[itrig] == nF) { - continue; - } - - std::cout << "working on #" << itrig << std::endl; - std::cout << " ---> " << filterIndExtra[itrig] << std::endl; - - const trigger::Keys &KEYS(pHLT->filterKeys(filterIndExtra[itrig])); - const Int_t nK(KEYS.size()); - - std::cout << "Found trig objects #" << nK << std::endl; - - for (Int_t iTrig = 0; iTrig < nK; ++iTrig) { - const trigger::TriggerObject &TO(TOC[KEYS[iTrig]]); - - Double_t dr_ele_HLT1 = reco::deltaR(maxETelec1.eta(), maxETelec1.phi(), TO.eta(), TO.phi()); - Double_t dr_ele_HLT2 = reco::deltaR(maxETelec2.eta(), maxETelec2.phi(), TO.eta(), TO.phi()); - - //std::cout << "-->found dr=" << dr_ele_HLT << std::endl; - - if (TMath::Abs(dr_ele_HLT1) < matched_dr_distance1) { - matched_dr_distance1 = dr_ele_HLT1; - } - - if (TMath::Abs(dr_ele_HLT2) < matched_dr_distance2) { - matched_dr_distance2 = dr_ele_HLT2; - } - } - } - } - - if (matched_dr_distance1 < electronMatched2HLT_DR_) { - ++trigger_int_probe1; - } - - if (matched_dr_distance2 < electronMatched2HLT_DR_) { - ++trigger_int_probe2; - } - - if ((trigger_int_probe1 == 0) && (trigger_int_probe2 == 0)) { - std::cout << "No electron could be matched to an HLT object with " << std::endl; - - delete[] sorted; - delete[] et; - - return false; // RETURN: electron is not matched to an HLT object - } - - maxETelec1.addUserFloat("HLTMatchingDR", Float_t(matched_dr_distance1)); - maxETelec2.addUserFloat("HLTMatchingDR", Float_t(matched_dr_distance2)); - - } else { //std::cout << "Electron filter not found - should not be like that... " << std::endl; - - delete[] sorted; - delete[] et; - - return false; // RETURN: electron is not matched to an HLT object - } - } - - std::cout << "HLT matching has finished" << std::endl; - - // ___________________________________________________________________ - // - - // add information of whether the event passes the following sets of - // triggers. Currently Hardwired, to be changed in the future - - if (HLTResults.isValid()) { - const std::string process = triggerCollectionTag_.process(); - // - std::string HLTPath[18]; - HLTPath[0] = "HLT_Photon10_L1R"; - HLTPath[1] = "HLT_Photon15_L1R"; - HLTPath[2] = "HLT_Photon20_L1R"; - HLTPath[3] = "HLT_Photon15_TrackIso_L1R"; - HLTPath[4] = "HLT_Photon15_LooseEcalIso_L1R"; - HLTPath[5] = "HLT_Photon30_L1R_8E29"; - HLTPath[6] = "HLT_Photon30_L1R_8E29"; - HLTPath[7] = "HLT_Ele10_LW_L1R"; - HLTPath[8] = "HLT_Ele15_LW_L1R"; - HLTPath[9] = "HLT_Ele20_LW_L1R"; - HLTPath[10] = "HLT_Ele10_LW_EleId_L1R"; - HLTPath[11] = "HLT_Ele15_SiStrip_L1R"; - HLTPath[12] = "HLT_IsoTrackHB_8E29"; - HLTPath[13] = "HLT_IsoTrackHE_8E29"; - HLTPath[14] = "HLT_DiJetAve15U_8E29"; - HLTPath[15] = "HLT_MET45"; - HLTPath[16] = "HLT_L1MET20"; - HLTPath[17] = "HLT_MET100"; - // - edm::InputTag HLTFilterType[15]; - HLTFilterType[0] = - edm::InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter", "", process); //HLT_Photon10_L1R - HLTFilterType[1] = - edm::InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter", "", process); //HLT_Photon15_L1R - HLTFilterType[2] = - edm::InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt20HcalIsolFilter", "", process); //HLT_Photon20_L1R - HLTFilterType[3] = - edm::InputTag("hltL1NonIsoSinglePhotonEt15HTITrackIsolFilter", "", process); //HLT_Photon15_TrackIso_L1R - HLTFilterType[4] = - edm::InputTag("hltL1NonIsoSinglePhotonEt15LEIHcalIsolFilter", "", process); //HLT_Photon15_LooseEcalIso_L1R - HLTFilterType[5] = - edm::InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15EtFilterESet308E29", "", process); //HLT_Photon30_L1R_8E29 - HLTFilterType[6] = - edm::InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter", "", process); //HLT_Photon30_L1R_8E29 - HLTFilterType[7] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter", "", process); - HLTFilterType[8] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter", "", process); - HLTFilterType[9] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15EtFilterESet20", "", process); - HLTFilterType[10] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10EleIdDphiFilter", "", process); - HLTFilterType[11] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter", "", process); - HLTFilterType[12] = edm::InputTag("hltIsolPixelTrackL3FilterHB8E29", "", process); - HLTFilterType[13] = edm::InputTag("hltIsolPixelTrackL2FilterHE8E29", "", process); - HLTFilterType[14] = edm::InputTag("hltL1sDiJetAve15U8E29", "", process); - // - Int_t triggerDecision = 0; - UInt_t trigger_size = HLTResults->size(); - - for (Int_t i = 0; i < 18; ++i) { - const edm::TriggerNames &triggerNames = iEvent.triggerNames(*HLTResults); - UInt_t trigger_position = triggerNames.triggerIndex(HLTPath[i]); - Int_t passTrigger = 0; - - if (trigger_position < trigger_size) { - passTrigger = (Int_t)HLTResults->accept(trigger_position); - } - - if (passTrigger > 0) { - if (i >= 15) { - triggerDecision += (Int_t)(TMath::Power(2, i)); - } else { - const Int_t myfilterInd = pHLT->filterIndex(HLTFilterType[i]); - if (myfilterInd != nF) { - triggerDecision += (Int_t)(TMath::Power(2, i)); - } - } - } - } - - // add the info in the maxETelec1 and maxETelec2 - maxETelec1.addUserInt("triggerDecision", triggerDecision); - maxETelec2.addUserInt("triggerDecision", triggerDecision); - } - - // ___________________________________________________________________ - // - - // MET Collection - edm::Handle patMET; - iEvent.getByToken(metCollectionToken_, patMET); - - edm::Handle patpfMET; - iEvent.getByToken(pfMetCollectionToken_, patpfMET); - - edm::Handle pattcMET; - iEvent.getByToken(tcMetCollectionToken_, pattcMET); - - const pat::METCollection *pMet = patMET.product(); - const pat::METCollection::const_iterator met = pMet->begin(); - const pat::MET theMET = *met; - // - const pat::METCollection *pPfMet = patpfMET.product(); - const pat::METCollection::const_iterator pfmet = pPfMet->begin(); - const pat::MET thePfMET = *pfmet; - // - const pat::METCollection *pTcMet = pattcMET.product(); - const pat::METCollection::const_iterator tcmet = pTcMet->begin(); - const pat::MET theTcMET = *tcmet; - - Double_t metEt = met->et(); - //Double_t metEta = met->eta(); - //Double_t metMt = met->mt(); - //Double_t metPhi = met->phi(); - //Double_t metSig = met->mEtSig(); - //std::cout<<"met properties: et=" << met->et() << ", eta: " << met->eta() - // << std::endl; - // - if (metEt < METCut_) { - std::cout << "MET is " << metEt << std::endl; - - delete[] sorted; - delete[] et; - - return false; // RETURN if MET is < Metcut - } - - // if you have indeed reached this point then you have a zeeCandidate!!! - - pat::CompositeCandidate zeeCandidate; - - zeeCandidate.addDaughter(maxETelec1, "electron1"); - zeeCandidate.addDaughter(maxETelec2, "electron2"); - - zeeCandidate.addDaughter(theMET, "met"); - zeeCandidate.addDaughter(thePfMET, "pfmet"); - zeeCandidate.addDaughter(theTcMET, "tcmet"); - - unique_ptr selectedZeeCandidates(new pat::CompositeCandidateCollection); - - selectedZeeCandidates->push_back(zeeCandidate); - - iEvent.put(std::move(selectedZeeCandidates), "selectedZeeCandidates"); - - // release your memory - delete[] sorted; - delete[] et; - - std::cout << "Run = " << iEvent.run() << " " - << "Lumi = " << (Int_t)iEvent.luminosityBlock() << " " - << "Event = " << iEvent.eventAuxiliary().event() << " " - << "FILTER-MSG: Event Accepted for Z Candidate" << std::endl; - - return true; -} - -// ------------ method called once each job just after ending the event loop - -void ZeeCandidateFilter::endJob() {} - -Bool_t ZeeCandidateFilter::isInFiducial(Double_t eta) { - if (TMath::Abs(eta) < BarrelMaxEta_) { - return true; - } else if ((TMath::Abs(eta) < EndCapMaxEta_) && (TMath::Abs(eta) > EndCapMinEta_)) { - return true; - } - - return false; -} - -// Bool_t ZeeCandidateFilter::passEleIDCuts(pat::Electron *ele) -// { -// if ( ! useVetoSecondElectronID_) return true; -// if ( ! ele->isElectronIDAvailable(vetoSecondElectronIDType_) ) { -// std::cout << "ZeeCandidateFilter: request ignored: 2nd electron ID type " -// << "not found in electron object" << std::endl; -// return true; -// } -// if ( vetoSecondElectronIDSign_ == ">" ) { -// if ( ele->electronID(vetoSecondElectronIDType_)>vetoSecondElectronIDValue_) -// return true; -// else return false; -// } -// else if ( vetoSecondElectronIDSign_ == "<" ) { -// if ( ele->electronID(vetoSecondElectronIDType_)electronID(vetoSecondElectronIDType_)- -// vetoSecondElectronIDValue_) < 0.1) -// return true; -// else return false; -// } -// } - -//define this as a plug-in -DEFINE_FWK_MODULE(ZeeCandidateFilter); diff --git a/ElectroWeakAnalysis/ZEE/src/ZeePlots.cc b/ElectroWeakAnalysis/ZEE/src/ZeePlots.cc deleted file mode 100644 index 719adcea332b6..0000000000000 --- a/ElectroWeakAnalysis/ZEE/src/ZeePlots.cc +++ /dev/null @@ -1,1555 +0,0 @@ -// -*- C++ -*- -// -// Package: ZeePlots -// Class: ZeePlots -// -/* - - Description: - this is an analyzer that reads pat::CompositeCandidate ZeeCandidates and creates some plots - For more details see also WenuPlots class description - Implementation: - 09Dec09: option to have a different selection for the 2nd leg of the Z added - 24Feb10: more variables added E/P and TIP - option to choose CMSSW defined electron ID, the same or different - for each leg - - Contact: - Stilianos Kesisoglou - Institute of Nuclear Physics - NCSR Demokritos - -*/ -// -// Original Author: Nikolaos Rompotis - -#include "ElectroWeakAnalysis/ZEE/interface/ZeePlots.h" - -#include "DataFormats/Math/interface/deltaR.h" - -ZeePlots::ZeePlots(const edm::ParameterSet &iConfig) { - // I N P U T P A R A M E T E R S - /////// - // ZEE COLLECTION ////////////////////////////////////////////////////// - // - - zeeCollectionToken_ = - consumes(iConfig.getUntrackedParameter("zeeCollectionTag")); - - // code parameters - // - std::string outputFile_D = "histos.root"; - outputFile_ = iConfig.getUntrackedParameter("outputFile", outputFile_D); - - ZEE_VBTFselectionFileName_ = iConfig.getUntrackedParameter("ZEE_VBTFselectionFileName"); - ZEE_VBTFpreseleFileName_ = iConfig.getUntrackedParameter("ZEE_VBTFpreseleFileName"); - - DatasetTag_ = iConfig.getUntrackedParameter("DatasetTag"); - - useSameSelectionOnBothElectrons_ = iConfig.getUntrackedParameter("useSameSelectionOnBothElectrons", false); - - // Here choose if the two legs will be treated individually or not. - // - if (useSameSelectionOnBothElectrons_) { - // use of precalculatedID. if you use it, then no other cuts are applied - - /* Electron 1 */ - usePrecalcID1_ = iConfig.getUntrackedParameter("usePrecalcID0", false); - - if (usePrecalcID1_) { - usePrecalcIDType1_ = iConfig.getUntrackedParameter("usePrecalcIDType0"); - usePrecalcIDSign1_ = iConfig.getUntrackedParameter("usePrecalcIDSign0", "="); - usePrecalcIDValue1_ = iConfig.getUntrackedParameter("usePrecalcIDValue0"); - - std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #1 with name: >>> " - << usePrecalcIDType1_ << " <<< such that the value map " << usePrecalcIDSign1_ << " " - << usePrecalcIDValue1_ << std::endl; - } - - /* Electron 2 */ - usePrecalcID2_ = iConfig.getUntrackedParameter("usePrecalcID0", false); - - if (usePrecalcID2_) { - usePrecalcIDType2_ = iConfig.getUntrackedParameter("usePrecalcIDType0"); - usePrecalcIDSign2_ = iConfig.getUntrackedParameter("usePrecalcIDSign0", "="); - usePrecalcIDValue2_ = iConfig.getUntrackedParameter("usePrecalcIDValue0"); - - std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #2 with name: >>> " - << usePrecalcIDType2_ << " <<< such that the value map " << usePrecalcIDSign2_ << " " - << usePrecalcIDValue2_ << std::endl; - } - - // use of preselection - // - useValidFirstPXBHit1_ = iConfig.getUntrackedParameter("useValidFirstPXBHit0", false); - useValidFirstPXBHit2_ = iConfig.getUntrackedParameter("useValidFirstPXBHit0", false); - - useConversionRejection1_ = iConfig.getUntrackedParameter("useConversionRejection0", false); - useConversionRejection2_ = iConfig.getUntrackedParameter("useConversionRejection0", false); - - useExpectedMissingHits1_ = iConfig.getUntrackedParameter("useExpectedMissingHits0", false); - useExpectedMissingHits2_ = iConfig.getUntrackedParameter("useExpectedMissingHits0", false); - - maxNumberOfExpectedMissingHits1_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits0", 1); - maxNumberOfExpectedMissingHits2_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits0", 1); - - // Selection Cuts: - // - - /* Electron 1 */ - trackIso1_EB_ = iConfig.getUntrackedParameter("trackIso0_EB", 1000.0); - trackIso1_EE_ = iConfig.getUntrackedParameter("trackIso0_EE", 1000.0); - ecalIso1_EB_ = iConfig.getUntrackedParameter("ecalIso0_EB", 1000.0); - ecalIso1_EE_ = iConfig.getUntrackedParameter("ecalIso0_EE", 1000.0); - hcalIso1_EB_ = iConfig.getUntrackedParameter("hcalIso0_EB", 1000.0); - hcalIso1_EE_ = iConfig.getUntrackedParameter("hcalIso0_EE", 1000.0); - - sihih1_EB_ = iConfig.getUntrackedParameter("sihih0_EB"); - sihih1_EE_ = iConfig.getUntrackedParameter("sihih0_EE"); - dphi1_EB_ = iConfig.getUntrackedParameter("dphi0_EB"); - dphi1_EE_ = iConfig.getUntrackedParameter("dphi0_EE"); - deta1_EB_ = iConfig.getUntrackedParameter("deta0_EB"); - deta1_EE_ = iConfig.getUntrackedParameter("deta0_EE"); - hoe1_EB_ = iConfig.getUntrackedParameter("hoe0_EB"); - hoe1_EE_ = iConfig.getUntrackedParameter("hoe0_EE"); - cIso1_EB_ = iConfig.getUntrackedParameter("cIso0_EB", 1000.0); - cIso1_EE_ = iConfig.getUntrackedParameter("cIso0_EE", 1000.0); - tip_bspot1_EB_ = iConfig.getUntrackedParameter("tip_bspot0_EB", 1000.0); - tip_bspot1_EE_ = iConfig.getUntrackedParameter("tip_bspot0_EE", 1000.0); - eop1_EB_ = iConfig.getUntrackedParameter("eop0_EB", 1000.0); - eop1_EE_ = iConfig.getUntrackedParameter("eop0_EE", 1000.0); - - trackIsoUser1_EB_ = iConfig.getUntrackedParameter("trackIsoUser0_EB", 1000.0); - trackIsoUser1_EE_ = iConfig.getUntrackedParameter("trackIsoUser0_EE", 1000.0); - ecalIsoUser1_EB_ = iConfig.getUntrackedParameter("ecalIsoUser0_EB", 1000.0); - ecalIsoUser1_EE_ = iConfig.getUntrackedParameter("ecalIsoUser0_EE", 1000.0); - hcalIsoUser1_EB_ = iConfig.getUntrackedParameter("hcalIsoUser0_EB", 1000.0); - hcalIsoUser1_EE_ = iConfig.getUntrackedParameter("hcalIsoUser0_EE", 1000.0); - - // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - trackIso1_EB_inv = iConfig.getUntrackedParameter("trackIso0_EB_inv", false); - trackIso1_EE_inv = iConfig.getUntrackedParameter("trackIso0_EE_inv", false); - ecalIso1_EB_inv = iConfig.getUntrackedParameter("ecalIso0_EB_inv", false); - ecalIso1_EE_inv = iConfig.getUntrackedParameter("ecalIso0_EE_inv", false); - hcalIso1_EB_inv = iConfig.getUntrackedParameter("hcalIso0_EB_inv", false); - hcalIso1_EE_inv = iConfig.getUntrackedParameter("hcalIso0_EE_inv", false); - - sihih1_EB_inv = iConfig.getUntrackedParameter("sihih0_EB_inv", false); - sihih1_EE_inv = iConfig.getUntrackedParameter("sihih0_EE_inv", false); - dphi1_EB_inv = iConfig.getUntrackedParameter("dphi0_EB_inv", false); - dphi1_EE_inv = iConfig.getUntrackedParameter("dphi0_EE_inv", false); - deta1_EB_inv = iConfig.getUntrackedParameter("deta0_EB_inv", false); - deta1_EE_inv = iConfig.getUntrackedParameter("deta0_EE_inv", false); - hoe1_EB_inv = iConfig.getUntrackedParameter("hoe0_EB_inv", false); - hoe1_EE_inv = iConfig.getUntrackedParameter("hoe0_EE_inv", false); - cIso1_EB_inv = iConfig.getUntrackedParameter("cIso0_EB_inv", false); - cIso1_EE_inv = iConfig.getUntrackedParameter("cIso0_EE_inv", false); - tip_bspot1_EB_inv = iConfig.getUntrackedParameter("tip_bspot0_EB_inv", false); - tip_bspot1_EE_inv = iConfig.getUntrackedParameter("tip_bspot0_EE_inv", false); - eop1_EB_inv = iConfig.getUntrackedParameter("eop0_EB_inv", false); - eop1_EE_inv = iConfig.getUntrackedParameter("eop0_EE_inv", false); - - trackIsoUser1_EB_inv = iConfig.getUntrackedParameter("trackIsoUser0_EB_inv", false); - trackIsoUser1_EE_inv = iConfig.getUntrackedParameter("trackIsoUser0_EE_inv", false); - ecalIsoUser1_EB_inv = iConfig.getUntrackedParameter("ecalIsoUser0_EB_inv", false); - ecalIsoUser1_EE_inv = iConfig.getUntrackedParameter("ecalIsoUser0_EE_inv", false); - hcalIsoUser1_EB_inv = iConfig.getUntrackedParameter("hcalIsoUser0_EB_inv", false); - hcalIsoUser1_EE_inv = iConfig.getUntrackedParameter("hcalIsoUser0_EE_inv", false); - - /* Electron 2 */ - trackIso2_EB_ = iConfig.getUntrackedParameter("trackIso0_EB", 1000.0); - trackIso2_EE_ = iConfig.getUntrackedParameter("trackIso0_EE", 1000.0); - ecalIso2_EB_ = iConfig.getUntrackedParameter("ecalIso0_EB", 1000.0); - ecalIso2_EE_ = iConfig.getUntrackedParameter("ecalIso0_EE", 1000.0); - hcalIso2_EB_ = iConfig.getUntrackedParameter("hcalIso0_EB", 1000.0); - hcalIso2_EE_ = iConfig.getUntrackedParameter("hcalIso0_EE", 1000.0); - - sihih2_EB_ = iConfig.getUntrackedParameter("sihih0_EB"); - sihih2_EE_ = iConfig.getUntrackedParameter("sihih0_EE"); - dphi2_EB_ = iConfig.getUntrackedParameter("dphi0_EB"); - dphi2_EE_ = iConfig.getUntrackedParameter("dphi0_EE"); - deta2_EB_ = iConfig.getUntrackedParameter("deta0_EB"); - deta2_EE_ = iConfig.getUntrackedParameter("deta0_EE"); - hoe2_EB_ = iConfig.getUntrackedParameter("hoe0_EB"); - hoe2_EE_ = iConfig.getUntrackedParameter("hoe0_EE"); - cIso2_EB_ = iConfig.getUntrackedParameter("cIso0_EB", 1000.0); - cIso2_EE_ = iConfig.getUntrackedParameter("cIso0_EE", 1000.0); - tip_bspot2_EB_ = iConfig.getUntrackedParameter("tip_bspot0_EB", 1000.0); - tip_bspot2_EE_ = iConfig.getUntrackedParameter("tip_bspot0_EE", 1000.0); - eop2_EB_ = iConfig.getUntrackedParameter("eop0_EB", 1000.0); - eop2_EE_ = iConfig.getUntrackedParameter("eop0_EE", 1000.0); - - trackIsoUser2_EB_ = iConfig.getUntrackedParameter("trackIsoUser0_EB", 1000.0); - trackIsoUser2_EE_ = iConfig.getUntrackedParameter("trackIsoUser0_EE", 1000.0); - ecalIsoUser2_EB_ = iConfig.getUntrackedParameter("ecalIsoUser0_EB", 1000.0); - ecalIsoUser2_EE_ = iConfig.getUntrackedParameter("ecalIsoUser0_EE", 1000.0); - hcalIsoUser2_EB_ = iConfig.getUntrackedParameter("hcalIsoUser0_EB", 1000.0); - hcalIsoUser2_EE_ = iConfig.getUntrackedParameter("hcalIsoUser0_EE", 1000.0); - - // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - trackIso2_EB_inv = iConfig.getUntrackedParameter("trackIso0_EB_inv", false); - trackIso2_EE_inv = iConfig.getUntrackedParameter("trackIso0_EE_inv", false); - ecalIso2_EB_inv = iConfig.getUntrackedParameter("ecalIso0_EB_inv", false); - ecalIso2_EE_inv = iConfig.getUntrackedParameter("ecalIso0_EE_inv", false); - hcalIso2_EB_inv = iConfig.getUntrackedParameter("hcalIso0_EB_inv", false); - hcalIso2_EE_inv = iConfig.getUntrackedParameter("hcalIso0_EE_inv", false); - - sihih2_EB_inv = iConfig.getUntrackedParameter("sihih0_EB_inv", false); - sihih2_EE_inv = iConfig.getUntrackedParameter("sihih0_EE_inv", false); - dphi2_EB_inv = iConfig.getUntrackedParameter("dphi0_EB_inv", false); - dphi2_EE_inv = iConfig.getUntrackedParameter("dphi0_EE_inv", false); - deta2_EB_inv = iConfig.getUntrackedParameter("deta0_EB_inv", false); - deta2_EE_inv = iConfig.getUntrackedParameter("deta0_EE_inv", false); - hoe2_EB_inv = iConfig.getUntrackedParameter("hoe0_EB_inv", false); - hoe2_EE_inv = iConfig.getUntrackedParameter("hoe0_EE_inv", false); - cIso2_EB_inv = iConfig.getUntrackedParameter("cIso0_EB_inv", false); - cIso2_EE_inv = iConfig.getUntrackedParameter("cIso0_EE_inv", false); - tip_bspot2_EB_inv = iConfig.getUntrackedParameter("tip_bspot0_EB_inv", false); - tip_bspot2_EE_inv = iConfig.getUntrackedParameter("tip_bspot0_EE_inv", false); - eop2_EB_inv = iConfig.getUntrackedParameter("eop0_EB_inv", false); - eop2_EE_inv = iConfig.getUntrackedParameter("eop0_EE_inv", false); - - trackIsoUser2_EB_inv = iConfig.getUntrackedParameter("trackIsoUser0_EB_inv", false); - trackIsoUser2_EE_inv = iConfig.getUntrackedParameter("trackIsoUser0_EE_inv", false); - ecalIsoUser2_EB_inv = iConfig.getUntrackedParameter("ecalIsoUser0_EB_inv", false); - ecalIsoUser2_EE_inv = iConfig.getUntrackedParameter("ecalIsoUser0_EE_inv", false); - hcalIsoUser2_EB_inv = iConfig.getUntrackedParameter("hcalIsoUser0_EB_inv", false); - hcalIsoUser2_EE_inv = iConfig.getUntrackedParameter("hcalIsoUser0_EE_inv", false); - - } else { - // use of precalculatedID. if you use it, then no other cuts are applied - - /* Electron 1 */ - usePrecalcID1_ = iConfig.getUntrackedParameter("usePrecalcID1", false); - - if (usePrecalcID1_) { - usePrecalcIDType1_ = iConfig.getUntrackedParameter("usePrecalcIDType1"); - usePrecalcIDSign1_ = iConfig.getUntrackedParameter("usePrecalcIDSign1", "="); - usePrecalcIDValue1_ = iConfig.getUntrackedParameter("usePrecalcIDValue1"); - - std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #1 with name: >>> " - << usePrecalcIDType1_ << " <<< such that the value map " << usePrecalcIDSign1_ << " " - << usePrecalcIDValue1_ << std::endl; - } - - /* Electron 2 */ - usePrecalcID2_ = iConfig.getUntrackedParameter("usePrecalcID2", false); - - if (usePrecalcID2_) { - usePrecalcIDType2_ = iConfig.getUntrackedParameter("usePrecalcIDType2"); - usePrecalcIDSign2_ = iConfig.getUntrackedParameter("usePrecalcIDSign2", "="); - usePrecalcIDValue2_ = iConfig.getUntrackedParameter("usePrecalcIDValue2"); - - std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #2 with name: >>> " - << usePrecalcIDType2_ << " <<< such that the value map " << usePrecalcIDSign2_ << " " - << usePrecalcIDValue2_ << std::endl; - } - - // use of preselection - // - useValidFirstPXBHit1_ = iConfig.getUntrackedParameter("useValidFirstPXBHit1", false); - useValidFirstPXBHit2_ = iConfig.getUntrackedParameter("useValidFirstPXBHit2", false); - - useConversionRejection1_ = iConfig.getUntrackedParameter("useConversionRejection1", false); - useConversionRejection2_ = iConfig.getUntrackedParameter("useConversionRejection2", false); - - useExpectedMissingHits1_ = iConfig.getUntrackedParameter("useExpectedMissingHits1", false); - useExpectedMissingHits2_ = iConfig.getUntrackedParameter("useExpectedMissingHits2", false); - - maxNumberOfExpectedMissingHits1_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits1", 1); - maxNumberOfExpectedMissingHits2_ = iConfig.getUntrackedParameter("maxNumberOfExpectedMissingHits2", 1); - - // Selection Cuts: - // - - /* Electron 1 */ - trackIso1_EB_ = iConfig.getUntrackedParameter("trackIso1_EB", 1000.0); - trackIso1_EE_ = iConfig.getUntrackedParameter("trackIso1_EE", 1000.0); - ecalIso1_EB_ = iConfig.getUntrackedParameter("ecalIso1_EB", 1000.0); - ecalIso1_EE_ = iConfig.getUntrackedParameter("ecalIso1_EE", 1000.0); - hcalIso1_EB_ = iConfig.getUntrackedParameter("hcalIso1_EB", 1000.0); - hcalIso1_EE_ = iConfig.getUntrackedParameter("hcalIso1_EE", 1000.0); - - sihih1_EB_ = iConfig.getUntrackedParameter("sihih1_EB"); - sihih1_EE_ = iConfig.getUntrackedParameter("sihih1_EE"); - dphi1_EB_ = iConfig.getUntrackedParameter("dphi1_EB"); - dphi1_EE_ = iConfig.getUntrackedParameter("dphi1_EE"); - deta1_EB_ = iConfig.getUntrackedParameter("deta1_EB"); - deta1_EE_ = iConfig.getUntrackedParameter("deta1_EE"); - hoe1_EB_ = iConfig.getUntrackedParameter("hoe1_EB"); - hoe1_EE_ = iConfig.getUntrackedParameter("hoe1_EE"); - cIso1_EB_ = iConfig.getUntrackedParameter("cIso1_EB", 1000.0); - cIso1_EE_ = iConfig.getUntrackedParameter("cIso1_EE", 1000.0); - tip_bspot1_EB_ = iConfig.getUntrackedParameter("tip_bspot1_EB", 1000.0); - tip_bspot1_EE_ = iConfig.getUntrackedParameter("tip_bspot1_EE", 1000.0); - eop1_EB_ = iConfig.getUntrackedParameter("eop1_EB", 1000.0); - eop1_EE_ = iConfig.getUntrackedParameter("eop1_EE", 1000.0); - - trackIsoUser1_EB_ = iConfig.getUntrackedParameter("trackIsoUser1_EB", 1000.0); - trackIsoUser1_EE_ = iConfig.getUntrackedParameter("trackIsoUser1_EE", 1000.0); - ecalIsoUser1_EB_ = iConfig.getUntrackedParameter("ecalIsoUser1_EB", 1000.0); - ecalIsoUser1_EE_ = iConfig.getUntrackedParameter("ecalIsoUser1_EE", 1000.0); - hcalIsoUser1_EB_ = iConfig.getUntrackedParameter("hcalIsoUser1_EB", 1000.0); - hcalIsoUser1_EE_ = iConfig.getUntrackedParameter("hcalIsoUser1_EE", 1000.0); - // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - trackIso1_EB_inv = iConfig.getUntrackedParameter("trackIso1_EB_inv", false); - trackIso1_EE_inv = iConfig.getUntrackedParameter("trackIso1_EE_inv", false); - ecalIso1_EB_inv = iConfig.getUntrackedParameter("ecalIso1_EB_inv", false); - ecalIso1_EE_inv = iConfig.getUntrackedParameter("ecalIso1_EE_inv", false); - hcalIso1_EB_inv = iConfig.getUntrackedParameter("hcalIso1_EB_inv", false); - hcalIso1_EE_inv = iConfig.getUntrackedParameter("hcalIso1_EE_inv", false); - - sihih1_EB_inv = iConfig.getUntrackedParameter("sihih1_EB_inv", false); - sihih1_EE_inv = iConfig.getUntrackedParameter("sihih1_EE_inv", false); - dphi1_EB_inv = iConfig.getUntrackedParameter("dphi1_EB_inv", false); - dphi1_EE_inv = iConfig.getUntrackedParameter("dphi1_EE_inv", false); - deta1_EB_inv = iConfig.getUntrackedParameter("deta1_EB_inv", false); - deta1_EE_inv = iConfig.getUntrackedParameter("deta1_EE_inv", false); - hoe1_EB_inv = iConfig.getUntrackedParameter("hoe1_EB_inv", false); - hoe1_EE_inv = iConfig.getUntrackedParameter("hoe1_EE_inv", false); - cIso1_EB_inv = iConfig.getUntrackedParameter("cIso1_EB_inv", false); - cIso1_EE_inv = iConfig.getUntrackedParameter("cIso1_EE_inv", false); - tip_bspot1_EB_inv = iConfig.getUntrackedParameter("tip_bspot1_EB_inv", false); - tip_bspot1_EE_inv = iConfig.getUntrackedParameter("tip_bspot1_EE_inv", false); - eop1_EB_inv = iConfig.getUntrackedParameter("eop1_EB_inv", false); - eop1_EE_inv = iConfig.getUntrackedParameter("eop1_EE_inv", false); - - trackIsoUser1_EB_inv = iConfig.getUntrackedParameter("trackIsoUser1_EB_inv", false); - trackIsoUser1_EE_inv = iConfig.getUntrackedParameter("trackIsoUser1_EE_inv", false); - ecalIsoUser1_EB_inv = iConfig.getUntrackedParameter("ecalIsoUser1_EB_inv", false); - ecalIsoUser1_EE_inv = iConfig.getUntrackedParameter("ecalIsoUser1_EE_inv", false); - hcalIsoUser1_EB_inv = iConfig.getUntrackedParameter("hcalIsoUser1_EB_inv", false); - hcalIsoUser1_EE_inv = iConfig.getUntrackedParameter("hcalIsoUser1_EE_inv", false); - - /* Electron 2 */ - trackIso2_EB_ = iConfig.getUntrackedParameter("trackIso2_EB", 1000.0); - trackIso2_EE_ = iConfig.getUntrackedParameter("trackIso2_EE", 1000.0); - ecalIso2_EB_ = iConfig.getUntrackedParameter("ecalIso2_EB", 1000.0); - ecalIso2_EE_ = iConfig.getUntrackedParameter("ecalIso2_EE", 1000.0); - hcalIso2_EB_ = iConfig.getUntrackedParameter("hcalIso2_EB", 1000.0); - hcalIso2_EE_ = iConfig.getUntrackedParameter("hcalIso2_EE", 1000.0); - - sihih2_EB_ = iConfig.getUntrackedParameter("sihih2_EB"); - sihih2_EE_ = iConfig.getUntrackedParameter("sihih2_EE"); - dphi2_EB_ = iConfig.getUntrackedParameter("dphi2_EB"); - dphi2_EE_ = iConfig.getUntrackedParameter("dphi2_EE"); - deta2_EB_ = iConfig.getUntrackedParameter("deta2_EB"); - deta2_EE_ = iConfig.getUntrackedParameter("deta2_EE"); - hoe2_EB_ = iConfig.getUntrackedParameter("hoe2_EB"); - hoe2_EE_ = iConfig.getUntrackedParameter("hoe2_EE"); - cIso2_EB_ = iConfig.getUntrackedParameter("cIso2_EB", 1000.0); - cIso2_EE_ = iConfig.getUntrackedParameter("cIso2_EE", 1000.0); - tip_bspot2_EB_ = iConfig.getUntrackedParameter("tip_bspot2_EB", 1000.0); - tip_bspot2_EE_ = iConfig.getUntrackedParameter("tip_bspot2_EE", 1000.0); - eop2_EB_ = iConfig.getUntrackedParameter("eop2_EB", 1000.0); - eop2_EE_ = iConfig.getUntrackedParameter("eop2_EE", 1000.0); - - trackIsoUser2_EB_ = iConfig.getUntrackedParameter("trackIsoUser2_EB", 1000.0); - trackIsoUser2_EE_ = iConfig.getUntrackedParameter("trackIsoUser2_EE", 1000.0); - ecalIsoUser2_EB_ = iConfig.getUntrackedParameter("ecalIsoUser2_EB", 1000.0); - ecalIsoUser2_EE_ = iConfig.getUntrackedParameter("ecalIsoUser2_EE", 1000.0); - hcalIsoUser2_EB_ = iConfig.getUntrackedParameter("hcalIsoUser2_EB", 1000.0); - hcalIsoUser2_EE_ = iConfig.getUntrackedParameter("hcalIsoUser2_EE", 1000.0); - // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - trackIso2_EB_inv = iConfig.getUntrackedParameter("trackIso2_EB_inv", false); - trackIso2_EE_inv = iConfig.getUntrackedParameter("trackIso2_EE_inv", false); - ecalIso2_EB_inv = iConfig.getUntrackedParameter("ecalIso2_EB_inv", false); - ecalIso2_EE_inv = iConfig.getUntrackedParameter("ecalIso2_EE_inv", false); - hcalIso2_EB_inv = iConfig.getUntrackedParameter("hcalIso2_EB_inv", false); - hcalIso2_EE_inv = iConfig.getUntrackedParameter("hcalIso2_EE_inv", false); - - sihih2_EB_inv = iConfig.getUntrackedParameter("sihih2_EB_inv", false); - sihih2_EE_inv = iConfig.getUntrackedParameter("sihih2_EE_inv", false); - dphi2_EB_inv = iConfig.getUntrackedParameter("dphi2_EB_inv", false); - dphi2_EE_inv = iConfig.getUntrackedParameter("dphi2_EE_inv", false); - deta2_EB_inv = iConfig.getUntrackedParameter("deta2_EB_inv", false); - deta2_EE_inv = iConfig.getUntrackedParameter("deta2_EE_inv", false); - hoe2_EB_inv = iConfig.getUntrackedParameter("hoe2_EB_inv", false); - hoe2_EE_inv = iConfig.getUntrackedParameter("hoe2_EE_inv", false); - cIso2_EB_inv = iConfig.getUntrackedParameter("cIso2_EB_inv", false); - cIso2_EE_inv = iConfig.getUntrackedParameter("cIso2_EE_inv", false); - tip_bspot2_EB_inv = iConfig.getUntrackedParameter("tip_bspot2_EB_inv", false); - tip_bspot2_EE_inv = iConfig.getUntrackedParameter("tip_bspot2_EE_inv", false); - eop2_EB_inv = iConfig.getUntrackedParameter("eop2_EB_inv", false); - eop2_EE_inv = iConfig.getUntrackedParameter("eop2_EE_inv", false); - - trackIsoUser2_EB_inv = iConfig.getUntrackedParameter("trackIsoUser2_EB_inv", false); - trackIsoUser2_EE_inv = iConfig.getUntrackedParameter("trackIsoUser2_EE_inv", false); - ecalIsoUser2_EB_inv = iConfig.getUntrackedParameter("ecalIsoUser2_EB_inv", false); - ecalIsoUser2_EE_inv = iConfig.getUntrackedParameter("ecalIsoUser2_EE_inv", false); - hcalIsoUser2_EB_inv = iConfig.getUntrackedParameter("hcalIsoUser2_EB_inv", false); - hcalIsoUser2_EE_inv = iConfig.getUntrackedParameter("hcalIsoUser2_EE_inv", false); - } - - usePreselection1_ = (useValidFirstPXBHit1_ || useConversionRejection1_ || useExpectedMissingHits1_) ? true : false; - usePreselection2_ = (useValidFirstPXBHit2_ || useConversionRejection2_ || useExpectedMissingHits2_) ? true : false; - - // Display Massages - // - if (useValidFirstPXBHit1_) { - std::cout << "ZeePlots: Warning: you have demanded ValidFirstPXBHit on 1st electron" << std::endl; - } - if (useValidFirstPXBHit2_) { - std::cout << "ZeePlots: Warning: you have demanded ValidFirstPXBHit on 2nd electron" << std::endl; - } - if (useConversionRejection1_) { - std::cout << "ZeePlots: Warning: you have demanded Conversion Rejection on 1st electron" << std::endl; - } - if (useConversionRejection2_) { - std::cout << "ZeePlots: Warning: you have demanded Conversion Rejection on 2nd electron" << std::endl; - } - if (useExpectedMissingHits1_) { - std::cout << "ZeePlots: Warning: you have demanded Expected Missing Hits on 1st electron no more than " - << maxNumberOfExpectedMissingHits1_ << std::endl; - } - if (useExpectedMissingHits2_) { - std::cout << "ZeePlots: Warning: you have demanded Expected Missing Hits on 2nd electron no more than " - << maxNumberOfExpectedMissingHits2_ << std::endl; - } - - // JETS - // - includeJetInformationInNtuples_ = iConfig.getUntrackedParameter("includeJetInformationInNtuples", false); - - if (includeJetInformationInNtuples_) { - caloJetCollectionToken_ = - mayConsume(iConfig.getUntrackedParameter("caloJetCollectionTag")); - pfJetCollectionToken_ = - mayConsume(iConfig.getUntrackedParameter("pfJetCollectionTag")); - DRJetFromElectron_ = iConfig.getUntrackedParameter("DRJetFromElectron"); - } -} - -ZeePlots::~ZeePlots() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to for each event ------------ -void ZeePlots::analyze(const edm::Event &iEvent, const edm::EventSetup &es) { - using namespace std; - // - // Get the collections here - // - edm::Handle ZeeCands; - iEvent.getByToken(zeeCollectionToken_, ZeeCands); - - if (!ZeeCands.isValid()) { - std::cout << "Warning: No valid Zee candidates in this event..." << std::endl; - return; - } - - const pat::CompositeCandidateCollection *zcands = ZeeCands.product(); - const pat::CompositeCandidateCollection::const_iterator zeeIter = zcands->begin(); - const pat::CompositeCandidate zee = *zeeIter; - - // get the parts of the composite candidate: - const pat::Electron *myElec1 = dynamic_cast(zee.daughter("electron1")); - const pat::Electron *myElec2 = dynamic_cast(zee.daughter("electron2")); - - const pat::MET *myMet = dynamic_cast(zee.daughter("met")); - const pat::MET *myPfMet = dynamic_cast(zee.daughter("pfmet")); - const pat::MET *myTcMet = dynamic_cast(zee.daughter("tcmet")); - - // _______________________________________________________________________ - // - // VBTF Root tuple production -------------------------------------------- - // _______________________________________________________________________ - // - // ....................................................................... - // vbtf produces 2 root tuples: one that contains the highest pT electrons - // that passes a user defined selection and one other with only the - // preselection criteria applied - // ....................................................................... - // - - // fill the tree variables - runNumber = iEvent.run(); - eventNumber = (Long64_t)(iEvent.eventAuxiliary().event()); - lumiSection = (Int_t)iEvent.luminosityBlock(); - - ele1_sc_eta = (Float_t)(myElec1->superCluster()->eta()); - ele1_sc_phi = (Float_t)(myElec1->superCluster()->phi()); - ele1_sc_energy = (Float_t)(myElec1->superCluster()->energy()); - ele1_sc_gsf_et = (Float_t)(myElec1->superCluster()->energy() / TMath::CosH(myElec1->gsfTrack()->eta())); - ele1_cand_eta = (Float_t)(myElec1->eta()); - ele1_cand_phi = (Float_t)(myElec1->phi()); - ele1_cand_et = (Float_t)(myElec1->et()); - - ele1_iso_track = (Float_t)(myElec1->dr03IsolationVariables().tkSumPt / ele1_cand_et); - ele1_iso_ecal = (Float_t)(myElec1->dr03IsolationVariables().ecalRecHitSumEt / ele1_cand_et); - ele1_iso_hcal = (Float_t)((myElec1->dr03IsolationVariables().hcalDepth1TowerSumEt + - myElec1->dr03IsolationVariables().hcalDepth2TowerSumEt) / - ele1_cand_et); - - ele1_id_sihih = (Float_t)(myElec1->sigmaIetaIeta()); - ele1_id_deta = (Float_t)(myElec1->deltaEtaSuperClusterTrackAtVtx()); - ele1_id_dphi = (Float_t)(myElec1->deltaPhiSuperClusterTrackAtVtx()); - ele1_id_hoe = (Float_t)(myElec1->hadronicOverEm()); - - ele1_cr_mhitsinner = - (Float_t)(myElec1->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS)); - ele1_cr_dcot = (Float_t)(myElec1->userFloat("Dcot")); - ele1_cr_dist = (Float_t)(myElec1->userFloat("Dist")); - - ele1_vx = (Float_t)(myElec1->vx()); - ele1_vy = (Float_t)(myElec1->vy()); - ele1_vz = (Float_t)(myElec1->vz()); - - pv_x1 = (Float_t)(myElec1->userFloat("pv_x")); - pv_y1 = (Float_t)(myElec1->userFloat("pv_y")); - pv_z1 = (Float_t)(myElec1->userFloat("pv_z")); - - ele1_gsfCharge = (Int_t)(myElec1->gsfTrack()->charge()); - ele1_ctfCharge = - (Int_t)(myElec1->closestCtfTrackRef().isNonnull() ? (myElec1->closestCtfTrackRef()->charge()) : -9999); - ele1_scPixCharge = (Int_t)(myElec1->chargeInfo().scPixCharge); - ele1_eop = (Float_t)(myElec1->eSuperClusterOverP()); - ele1_tip_bs = (Float_t)((-1.0) * myElec1->dB()); - ele1_tip_pv = (Float_t)(myElec1->userFloat("ele_tip_pv")); - - ele2_sc_eta = (Float_t)(myElec2->superCluster()->eta()); - ele2_sc_phi = (Float_t)(myElec2->superCluster()->phi()); - ele2_sc_energy = (Float_t)(myElec2->superCluster()->energy()); - ele2_sc_gsf_et = (Float_t)(myElec2->superCluster()->energy() / TMath::CosH(myElec2->gsfTrack()->eta())); - ele2_cand_eta = (Float_t)(myElec2->eta()); - ele2_cand_phi = (Float_t)(myElec2->phi()); - ele2_cand_et = (Float_t)(myElec2->et()); - - ele2_iso_track = (Float_t)(myElec2->dr03IsolationVariables().tkSumPt / ele2_cand_et); - ele2_iso_ecal = (Float_t)(myElec2->dr03IsolationVariables().ecalRecHitSumEt / ele2_cand_et); - ele2_iso_hcal = (Float_t)((myElec2->dr03IsolationVariables().hcalDepth1TowerSumEt + - myElec2->dr03IsolationVariables().hcalDepth2TowerSumEt) / - ele2_cand_et); - - ele2_id_sihih = (Float_t)(myElec2->sigmaIetaIeta()); - ele2_id_deta = (Float_t)(myElec2->deltaEtaSuperClusterTrackAtVtx()); - ele2_id_dphi = (Float_t)(myElec2->deltaPhiSuperClusterTrackAtVtx()); - ele2_id_hoe = (Float_t)(myElec2->hadronicOverEm()); - - ele2_cr_mhitsinner = - (Float_t)(myElec2->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS)); - ele2_cr_dcot = (Float_t)(myElec2->userFloat("Dcot")); - ele2_cr_dist = (Float_t)(myElec2->userFloat("Dist")); - - ele2_vx = (Float_t)(myElec2->vx()); - ele2_vy = (Float_t)(myElec2->vy()); - ele2_vz = (Float_t)(myElec2->vz()); - - pv_x2 = (Float_t)(myElec2->userFloat("pv_x")); - pv_y2 = (Float_t)(myElec2->userFloat("pv_y")); - pv_z2 = (Float_t)(myElec2->userFloat("pv_z")); - - ele2_gsfCharge = (Int_t)(myElec2->gsfTrack()->charge()); - ele2_ctfCharge = - (Int_t)(myElec2->closestCtfTrackRef().isNonnull() ? (myElec2->closestCtfTrackRef()->charge()) : -9999); - ele2_scPixCharge = (Int_t)(myElec2->chargeInfo().scPixCharge); - ele2_eop = (Float_t)(myElec2->eSuperClusterOverP()); - ele2_tip_bs = (Float_t)((-1.0) * myElec2->dB()); - ele2_tip_pv = (Float_t)(myElec2->userFloat("ele_tip_pv")); - - event_caloMET = (Float_t)(myMet->et()); - event_pfMET = (Float_t)(myPfMet->et()); - event_tcMET = (Float_t)(myTcMet->et()); - - event_caloMET_phi = (Float_t)(myMet->phi()); - event_pfMET_phi = (Float_t)(myPfMet->phi()); - event_tcMET_phi = (Float_t)(myTcMet->phi()); - - TLorentzVector p4e1; - TLorentzVector p4e2; - - p4e1.SetPtEtaPhiM(ele1_sc_gsf_et, ele1_cand_eta, ele1_cand_phi, 0.000511); - p4e2.SetPtEtaPhiM(ele2_sc_gsf_et, ele2_cand_eta, ele2_cand_phi, 0.000511); - - TLorentzVector Zp4 = p4e1 + p4e2; - - event_Mee = (Float_t)(Zp4.M()); - - event_datasetTag = DatasetTag_; - - // jet information - only if the user asks for it - // keep the 5 highest et jets of the event that are further than DR > DRJetFromElectron_ - - if (includeJetInformationInNtuples_) { - // initialize the array of the jet information - - for (Int_t i = 0; i < 5; ++i) { - calojet_et[i] = -999999; - calojet_eta[i] = -999999; - calojet_phi[i] = -999999; - - pfjet_et[i] = -999999; - pfjet_eta[i] = -999999; - pfjet_phi[i] = -999999; - } - - // get hold of the jet collections - edm::Handle pCaloJets; - iEvent.getByToken(caloJetCollectionToken_, pCaloJets); - - edm::Handle pPfJets; - iEvent.getByToken(pfJetCollectionToken_, pPfJets); - - // calo jets now: - if (pCaloJets.isValid()) { - const reco::CaloJetCollection *caloJets = pCaloJets.product(); - Int_t nCaloJets = (Int_t)(caloJets->size()); - - if (nCaloJets > 0) { - Float_t *nCaloET = new Float_t[nCaloJets]; - Float_t *nCaloEta = new Float_t[nCaloJets]; - Float_t *nCaloPhi = new Float_t[nCaloJets]; - - // reco::CaloJetCollection::const_iterator cjet = caloJets->begin(); - - Int_t counter = 0; - - for (reco::CaloJetCollection::const_iterator cjet = caloJets->begin(); cjet != caloJets->end(); ++cjet) { - // store them only if they are far enough from the electron - Double_t DR1 = reco::deltaR(cjet->eta(), cjet->phi(), myElec1->gsfTrack()->eta(), ele1_sc_phi); - Double_t DR2 = reco::deltaR(cjet->eta(), cjet->phi(), myElec2->gsfTrack()->eta(), ele2_sc_phi); - - if ((DR1 > DRJetFromElectron_) && (DR2 > DRJetFromElectron_)) { - nCaloET[counter] = cjet->et(); - nCaloEta[counter] = cjet->eta(); - nCaloPhi[counter] = cjet->phi(); - ++counter; - } - } - - Int_t *caloJetSorted = new Int_t[nCaloJets]; - - TMath::Sort(nCaloJets, nCaloET, caloJetSorted, true); - - for (Int_t i = 0; i < nCaloJets; ++i) { - if (i >= 5) { - break; - } - - calojet_et[i] = nCaloET[caloJetSorted[i]]; - calojet_eta[i] = nCaloEta[caloJetSorted[i]]; - calojet_phi[i] = nCaloPhi[caloJetSorted[i]]; - } - - delete[] caloJetSorted; - delete[] nCaloET; - delete[] nCaloEta; - delete[] nCaloPhi; - } - } - - // pf jets now: - if (pPfJets.isValid()) { - const reco::PFJetCollection *pfJets = pPfJets.product(); - Int_t nPfJets = (Int_t)pfJets->size(); - - if (nPfJets > 0) { - Float_t *nPfET = new Float_t[nPfJets]; - Float_t *nPfEta = new Float_t[nPfJets]; - Float_t *nPfPhi = new Float_t[nPfJets]; - - // reco::PFJetCollection::const_iterator pjet = pfJets->begin(); - - Int_t counter = 0; - - for (reco::PFJetCollection::const_iterator pjet = pfJets->begin(); pjet != pfJets->end(); ++pjet) { - // store them only if they are far enough from the electron - - Double_t DR1 = reco::deltaR(pjet->eta(), pjet->phi(), myElec1->gsfTrack()->eta(), ele1_sc_phi); - Double_t DR2 = reco::deltaR(pjet->eta(), pjet->phi(), myElec2->gsfTrack()->eta(), ele2_sc_phi); - - if ((DR1 > DRJetFromElectron_) && (DR2 > DRJetFromElectron_)) { - nPfET[counter] = pjet->et(); - nPfEta[counter] = pjet->eta(); - nPfPhi[counter] = pjet->phi(); - ++counter; - } - } - - Int_t *pfJetSorted = new Int_t[nPfJets]; - - TMath::Sort(nPfJets, nPfET, pfJetSorted, true); - - for (Int_t i = 0; i < nPfJets; ++i) { - if (i >= 5) { - break; - } - - pfjet_et[i] = nPfET[pfJetSorted[i]]; - pfjet_eta[i] = nPfEta[pfJetSorted[i]]; - pfjet_phi[i] = nPfPhi[pfJetSorted[i]]; - } - - delete[] pfJetSorted; - delete[] nPfET; - delete[] nPfEta; - delete[] nPfPhi; - } - } - } - - // if the electrons pass the selection - // it is meant to be a precalculated selection here, in order to include - // conversion rejection too - if (CheckCuts1(myElec1) && CheckCuts2(myElec2)) { - vbtfSele_tree->Fill(); - } - - vbtfPresele_tree->Fill(); - - // - // _______________________________________________________________________ - // - // histogram production -------------------------------------------------- - // _______________________________________________________________________ - // - // if you want some preselection: Conv rejection, hit pattern - - // if ( usePreselection_ ) { - // - // Bool_t a1 = PassPreselectionCriteria1(myElec1); - // Bool_t a2 = PassPreselectionCriteria2(myElec2); - // - // if ( ! (a1 && a2) ) { - // return ; - // } - // } - - Bool_t passPre1 = (usePreselection1_) ? PassPreselectionCriteria1(myElec1) : true; - Bool_t passPre2 = (usePreselection2_) ? PassPreselectionCriteria2(myElec2) : true; - - if (!(passPre1 && passPre2)) { - std::cout << "At least one electron fails preselection: Electron #1 = " << passPre1 - << " - Electron #2 = " << passPre2 << std::endl; - - return; - } - - TLorentzVector e1; - TLorentzVector e2; - - // math::XYZVector p1 = myElec1->trackMomentumAtVtx(); - // math::XYZVector p2 = myElec2->trackMomentumAtVtx(); - // e1.SetPxPyPzE(p1.X(), p1.Y(), p1.Z(), myElec1->caloEnergy()); - // e2.SetPxPyPzE(p2.X(), p2.Y(), p2.Z(), myElec2->caloEnergy()); - - // Use directly the et,eta,phi from pat::Electron; assume e mass = 0.000511 GeV - e1.SetPtEtaPhiM(myElec1->et(), myElec1->eta(), myElec1->phi(), 0.000511); - e2.SetPtEtaPhiM(myElec2->et(), myElec2->eta(), myElec2->phi(), 0.000511); - - TLorentzVector Z = e1 + e2; - - Double_t mee = Z.M(); - - // the selection plots: - Bool_t pass = (CheckCuts1(myElec1) && CheckCuts2(myElec2)); - - //cout << "This event passes? " << pass << ", mee is: " << mee - // << " and the histo is filled." << endl; - - if (!pass) { - return; - } - - h_mee->Fill(mee); - - if (TMath::Abs(e1.Eta()) < 1.479 && TMath::Abs(e2.Eta()) < 1.479) { - h_mee_EBEB->Fill(mee); - } - if (TMath::Abs(e1.Eta()) < 1.479 && TMath::Abs(e2.Eta()) > 1.479) { - h_mee_EBEE->Fill(mee); - } - if (TMath::Abs(e1.Eta()) > 1.479 && TMath::Abs(e2.Eta()) < 1.479) { - h_mee_EBEE->Fill(mee); - } - if (TMath::Abs(e1.Eta()) > 1.479 && TMath::Abs(e2.Eta()) > 1.479) { - h_mee_EEEE->Fill(mee); - } - - h_Zcand_PT->Fill(Z.Pt()); - h_Zcand_Y->Fill(Z.Rapidity()); - - h_e_PT->Fill(e1.Pt()); - h_e_PT->Fill(e2.Pt()); - h_e_ETA->Fill(e1.Eta()); - h_e_ETA->Fill(e2.Eta()); - h_e_PHI->Fill(e1.Phi()); - h_e_PHI->Fill(e2.Phi()); - - if (TMath::Abs(myElec1->eta()) < 1.479) { - h_EB_trkiso->Fill(ReturnCandVar(myElec1, 0)); - h_EB_ecaliso->Fill(ReturnCandVar(myElec1, 1)); - h_EB_hcaliso->Fill(ReturnCandVar(myElec1, 2)); - h_EB_sIetaIeta->Fill(myElec1->scSigmaIEtaIEta()); - h_EB_dphi->Fill(myElec1->deltaPhiSuperClusterTrackAtVtx()); - h_EB_deta->Fill(myElec1->deltaEtaSuperClusterTrackAtVtx()); - h_EB_HoE->Fill(myElec1->hadronicOverEm()); - } else { - h_EE_trkiso->Fill(ReturnCandVar(myElec1, 0)); - h_EE_ecaliso->Fill(ReturnCandVar(myElec1, 1)); - h_EE_hcaliso->Fill(ReturnCandVar(myElec1, 2)); - h_EE_sIetaIeta->Fill(myElec1->scSigmaIEtaIEta()); - h_EE_dphi->Fill(myElec1->deltaPhiSuperClusterTrackAtVtx()); - h_EE_deta->Fill(myElec1->deltaEtaSuperClusterTrackAtVtx()); - h_EE_HoE->Fill(myElec1->hadronicOverEm()); - } - - if (TMath::Abs(myElec2->eta()) < 1.479) { - h_EB_trkiso->Fill(ReturnCandVar(myElec2, 0)); - h_EB_ecaliso->Fill(ReturnCandVar(myElec2, 1)); - h_EB_hcaliso->Fill(ReturnCandVar(myElec2, 2)); - h_EB_sIetaIeta->Fill(myElec2->scSigmaIEtaIEta()); - h_EB_dphi->Fill(myElec2->deltaPhiSuperClusterTrackAtVtx()); - h_EB_deta->Fill(myElec2->deltaEtaSuperClusterTrackAtVtx()); - h_EB_HoE->Fill(myElec2->hadronicOverEm()); - } else { - h_EE_trkiso->Fill(ReturnCandVar(myElec2, 0)); - h_EE_ecaliso->Fill(ReturnCandVar(myElec2, 1)); - h_EE_hcaliso->Fill(ReturnCandVar(myElec2, 2)); - h_EE_sIetaIeta->Fill(myElec2->scSigmaIEtaIEta()); - h_EE_dphi->Fill(myElec2->deltaPhiSuperClusterTrackAtVtx()); - h_EE_deta->Fill(myElec2->deltaEtaSuperClusterTrackAtVtx()); - h_EE_HoE->Fill(myElec2->hadronicOverEm()); - } - - //Double_tscEta=myElec->superCluster()->eta(); - //Double_tscPhi=myElec->superCluster()->phi(); - //Double_tscEt=myElec->superCluster()->energy()/cosh(scEta); -} - -/*********************************************************************** - * - * Checking Cuts and making selections: - * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - * all the available methods take input a pointer to a pat::Electron - * - * Bool_t CheckCuts(const pat::Electron *): - * true if the input selection is satisfied - * Bool_t CheckCutsInverse(const pat::Electron *ele): - * true if the cuts with inverted the ones specified in the - * cfg are satisfied - * Bool_t CheckCutsNminusOne(const pat::Electron *ele, Int_t jj): - * true if all the cuts with cut #jj ignored are satisfied - * - ***********************************************************************/ -Bool_t ZeePlots::CheckCuts1(const pat::Electron *ele) { - if (usePrecalcID1_) { - if (!ele->isElectronIDAvailable(usePrecalcIDType1_)) { - std::cout << "Error! not existing ID with name: " << usePrecalcIDType1_ << " function will return true!" - << std::endl; - return true; - } - - Double_t val = ele->electronID(usePrecalcIDType1_); - - if (usePrecalcIDSign1_ == "<") { - return (val < usePrecalcIDValue1_); - } else if (usePrecalcIDSign1_ == ">") { - return (val > usePrecalcIDValue1_); - } else { // equality: it returns 0,1,2,3 but as Float_t - return (TMath::Abs(val - usePrecalcIDValue1_) < 0.1); - } - } else { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (!CheckCut1(ele, i)) { - return false; - } - } - - return true; - } -} - -Bool_t ZeePlots::CheckCuts2(const pat::Electron *ele) { - if (usePrecalcID2_) { - if (!ele->isElectronIDAvailable(usePrecalcIDType2_)) { - std::cout << "Error! not existing ID with name: " << usePrecalcIDType2_ << " function will return true!" - << std::endl; - return true; - } - - Double_t val = ele->electronID(usePrecalcIDType2_); - - if (usePrecalcIDSign2_ == "<") { - return (val < usePrecalcIDValue2_); - } else if (usePrecalcIDSign2_ == ">") { - return (val > usePrecalcIDValue2_); - } else { // equality: it returns 0,1,2,3 but as Float_t - return (TMath::Abs(val - usePrecalcIDValue2_) < 0.1); - } - } else { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (!CheckCut2(ele, i)) { - return false; - } - } - - return true; - } -} - -Bool_t ZeePlots::CheckCuts1Inverse(const pat::Electron *ele) { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (CheckCut1Inv(ele, i) == false) { - return false; - } - } - - return true; -} - -Bool_t ZeePlots::CheckCuts2Inverse(const pat::Electron *ele) { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (CheckCut2Inv(ele, i) == false) { - return false; - } - } - - return true; -} - -Bool_t ZeePlots::CheckCuts1NminusOne(const pat::Electron *ele, Int_t jj) { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (i == jj) { - continue; - } - - if (CheckCut1(ele, i) == false) { - return false; - } - } - - return true; -} - -Bool_t ZeePlots::CheckCuts2NminusOne(const pat::Electron *ele, Int_t jj) { - for (Int_t i = 0; i < nBarrelVars_; ++i) { - if (i == jj) { - continue; - } - - if (CheckCut2(ele, i) == false) { - return false; - } - } - - return true; -} - -Bool_t ZeePlots::CheckCut1(const pat::Electron *ele, Int_t i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - - if (fabseta < 1.479) { - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i]); - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i + nBarrelVars_]); -} - -Bool_t ZeePlots::CheckCut2(const pat::Electron *ele, Int_t i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - - if (fabseta < 1.479) { - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i]); - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i + nBarrelVars_]); -} - -Bool_t ZeePlots::CheckCut1Inv(const pat::Electron *ele, Int_t i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - - if (fabseta < 1.479) { - if (InvVars1_[i]) { - return (TMath::Abs(ReturnCandVar(ele, i)) > CutVars1_[i]); - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i]); - } - - if (InvVars1_[i + nBarrelVars_]) { - if (InvVars1_[i]) { - return (TMath::Abs(ReturnCandVar(ele, i)) > CutVars1_[i + nBarrelVars_]); - } - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i + nBarrelVars_]); -} - -Bool_t ZeePlots::CheckCut2Inv(const pat::Electron *ele, Int_t i) { - Double_t fabseta = TMath::Abs(ele->superCluster()->eta()); - - if (fabseta < 1.479) { - if (InvVars2_[i]) { - return (TMath::Abs(ReturnCandVar(ele, i)) > CutVars2_[i]); - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i]); - } - - if (InvVars2_[i + nBarrelVars_]) { - if (InvVars2_[i]) { - return (TMath::Abs(ReturnCandVar(ele, i)) > CutVars2_[i + nBarrelVars_]); - } - } - - return (TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i + nBarrelVars_]); -} - -Double_t ZeePlots::ReturnCandVar(const pat::Electron *ele, Int_t i) { - if (i == 0) { - return (ele->dr03TkSumPt() / ele->p4().Pt()); - } else if (i == 1) { - return (ele->dr03EcalRecHitSumEt() / ele->p4().Pt()); - } else if (i == 2) { - return (ele->dr03HcalTowerSumEt() / ele->p4().Pt()); - } else if (i == 3) { - return (ele->scSigmaIEtaIEta()); - } else if (i == 4) { - return (ele->deltaPhiSuperClusterTrackAtVtx()); - } else if (i == 5) { - return (ele->deltaEtaSuperClusterTrackAtVtx()); - } else if (i == 6) { - return (ele->hadronicOverEm()); - } else if (i == 7) { - // pedestal subtraction is only in barrel - if (ele->isEB()) { - return ((ele->dr03TkSumPt() + TMath::Max(0.0, ele->dr03EcalRecHitSumEt() - 1.0) + ele->dr03HcalTowerSumEt()) / - ele->p4().Pt()); - } else { - return ((ele->dr03TkSumPt() + ele->dr03EcalRecHitSumEt() + ele->dr03HcalTowerSumEt()) / ele->p4().Pt()); - } - } - // else if ( i == 8 ) { return ele->gsfTrack()->dxy(bspotPosition_); } - else if (i == 8) { - return (ele->dB()); - } else if (i == 9) { - return (ele->eSuperClusterOverP()); - } else if (i == 10) { - return (ele->userIsolation(pat::TrackIso)); - } else if (i == 11) { - return (ele->userIsolation(pat::EcalIso)); - } else if (i == 12) { - return (ele->userIsolation(pat::HcalIso)); - } - - std::cout << "Error in ZeePlots::ReturnCandVar" << std::endl; - - return (-1.0); -} - -//Bool_t ZeePlots::CheckCuts2( const pat::Electron *ele) -//{ -// for (Int_t i = 0; ihasUserInt( - "PassConversionRejection")) { //std::cout << "con rej: " << ele->userInt("PassConversionRejection") << std::endl; - - if (!(ele->userInt("PassConversionRejection") == 1)) { - passConvRej = false; - } - } else { - std::cout << "ZeePlots: WARNING: Conversion Rejection Request for electron #1 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - if (useValidFirstPXBHit1_) { - if (ele->hasUserInt( - "PassValidFirstPXBHit")) { //std::cout << "valid1stPXB: " << ele->userInt("PassValidFirstPXBHit") << std::endl; - - if (!(ele->userInt("PassValidFirstPXBHit") == 1)) { - passPXB = false; - } - } else { - std::cout << "ZeePlots: WARNING: Valid First PXB Hit Request for electron #1 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - if (useExpectedMissingHits1_) { - if (ele->hasUserInt( - "NumberOfExpectedMissingHits")) { //std::cout << "missing hits: " << ele->userInt("NumberOfExpectedMissingHits") << std::endl; - - if (!(ele->userInt("NumberOfExpectedMissingHits") <= maxNumberOfExpectedMissingHits1_)) { - passEMH = false; - } - } else { - std::cout << "ZeePlots: WARNING: Number of Expected Missing Hits Request for electron #1 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - return (passConvRej && passPXB && passEMH); -} - -Bool_t ZeePlots::PassPreselectionCriteria2(const pat::Electron *ele) { - Bool_t passConvRej = true; - Bool_t passPXB = true; - Bool_t passEMH = true; - - if (useConversionRejection2_) { - if (ele->hasUserInt( - "PassConversionRejection")) { //std::cout << "con rej: " << ele->userInt("PassConversionRejection") << std::endl; - - if (!(ele->userInt("PassConversionRejection") == 1)) { - passConvRej = false; - } - } else { - std::cout << "ZeePlots: WARNING: Conversion Rejection Request for electron #2 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - if (useValidFirstPXBHit2_) { - if (ele->hasUserInt( - "PassValidFirstPXBHit")) { //std::cout << "valid1stPXB: " << ele->userInt("PassValidFirstPXBHit") << std::endl; - - if (!(ele->userInt("PassValidFirstPXBHit") == 1)) { - passPXB = false; - } - } else { - std::cout << "ZeePlots: WARNING: Valid First PXB Hit Request for electron #2 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - if (useExpectedMissingHits2_) { - if (ele->hasUserInt( - "NumberOfExpectedMissingHits")) { //std::cout << "missing hits: " << ele->userInt("NumberOfExpectedMissingHits") << std::endl; - - if (!(ele->userInt("NumberOfExpectedMissingHits") <= maxNumberOfExpectedMissingHits2_)) { - passEMH = false; - } - } else { - std::cout << "ZeePlots: WARNING: Number of Expected Missing Hits Request for electron #2 Disregarded: " - << "you must calculate it before " << std::endl; - } - } - - return (passConvRej && passPXB && passEMH); -} - -// -// ------------ method called once each job just before starting event loop -- -void ZeePlots::beginJob() { - //std::cout << "In beginJob()" << std::endl; - - h_mee = new TH1F("h_mee", "h_mee", 200, 0.0, 200.0); - h_mee_EBEB = new TH1F("h_mee_EBEB", "h_mee_EBEB", 200, 0.0, 200.0); - h_mee_EBEE = new TH1F("h_mee_EBEE", "h_mee_EBEE", 200, 0.0, 200.0); - h_mee_EEEE = new TH1F("h_mee_EEEE", "h_mee_EEEE", 200, 0.0, 200.0); - h_Zcand_PT = new TH1F("h_Zcand_PT", "h_Zcand_PT", 200, 0.0, 100.0); - h_Zcand_Y = new TH1F("h_Zcand_Y", "h_Zcand_Y", 200, -5.0, 5.0); - h_e_PT = new TH1F("h_e_PT", "h_e_PT", 200, 0.0, 100.0); - h_e_ETA = new TH1F("h_e_ETA", "h_e_ETA", 200, -3.0, 3.0); - h_e_PHI = new TH1F("h_e_PHI", "h_e_PHI", 200, -4.0, 4.0); - - //VALIDATION PLOTS - // EB - h_EB_trkiso = new TH1F("h_EB_trkiso", "h_EB_trkiso", 200, 0.00, 9.00); - h_EB_ecaliso = new TH1F("h_EB_ecaliso", "h_EB_ecaliso", 200, 0.00, 9.00); - h_EB_hcaliso = new TH1F("h_EB_hcaliso", "h_EB_hcaliso", 200, 0.00, 9.00); - h_EB_sIetaIeta = new TH1F("h_EB_sIetaIeta", "h_EB_sIetaIeta", 200, 0.00, 0.02); - h_EB_dphi = new TH1F("h_EB_dphi", "h_EB_dphi", 200, -0.03, 0.03); - h_EB_deta = new TH1F("h_EB_deta", "h_EB_deta", 200, -0.01, 0.01); - h_EB_HoE = new TH1F("h_EB_HoE", "h_EB_HoE", 200, 0.00, 0.20); - // EE - h_EE_trkiso = new TH1F("h_EE_trkiso", "h_EE_trkiso", 200, 0.00, 9.00); - h_EE_ecaliso = new TH1F("h_EE_ecaliso", "h_EE_ecaliso", 200, 0.00, 9.00); - h_EE_hcaliso = new TH1F("h_EE_hcaliso", "h_EE_hcaliso", 200, 0.00, 9.00); - h_EE_sIetaIeta = new TH1F("h_EE_sIetaIeta", "h_EE_sIetaIeta", 200, 0.00, 0.10); - h_EE_dphi = new TH1F("h_EE_dphi", "h_EE_dphi", 200, -0.03, 0.03); - h_EE_deta = new TH1F("h_EE_deta", "h_EE_deta", 200, -0.01, 0.01); - h_EE_HoE = new TH1F("h_EE_HoE", "h_EE_HoE", 200, 0.00, 0.20); - - // if you add some new variable change the nBarrelVars_ accordingly - // reminder: in the current implementation you must have the same number - // of vars in both barrel and endcaps - - nBarrelVars_ = 13; - - // - // Put EB variables together and EE variables together - // number of barrel variables = number of endcap variable - // if you don't want to use some variable put a very high cut - - // 1st Leg variables - CutVars1_.push_back(trackIso1_EB_); // 0 - CutVars1_.push_back(ecalIso1_EB_); // 1 - CutVars1_.push_back(hcalIso1_EB_); // 2 - CutVars1_.push_back(sihih1_EB_); // 3 - CutVars1_.push_back(dphi1_EB_); // 4 - CutVars1_.push_back(deta1_EB_); // 5 - CutVars1_.push_back(hoe1_EB_); // 6 - CutVars1_.push_back(cIso1_EB_); // 7 - CutVars1_.push_back(tip_bspot1_EB_); // 8 - CutVars1_.push_back(eop1_EB_); // 9 - CutVars1_.push_back(trackIsoUser1_EB_); // 10 - CutVars1_.push_back(ecalIsoUser1_EB_); // 11 - CutVars1_.push_back(hcalIsoUser1_EB_); // 12 - - CutVars1_.push_back(trackIso1_EE_); // 0 - CutVars1_.push_back(ecalIso1_EE_); // 1 - CutVars1_.push_back(hcalIso1_EE_); // 2 - CutVars1_.push_back(sihih1_EE_); // 3 - CutVars1_.push_back(dphi1_EE_); // 4 - CutVars1_.push_back(deta1_EE_); // 5 - CutVars1_.push_back(hoe1_EE_); // 6 - CutVars1_.push_back(cIso1_EE_); // 7 - CutVars1_.push_back(tip_bspot1_EE_); // 8 - CutVars1_.push_back(eop1_EE_); // 9 - CutVars1_.push_back(trackIsoUser1_EE_); // 10 - CutVars1_.push_back(ecalIsoUser1_EE_); // 11 - CutVars1_.push_back(hcalIsoUser1_EE_); // 12 - - InvVars1_.push_back(trackIso1_EB_inv); // 0 - InvVars1_.push_back(ecalIso1_EB_inv); // 1 - InvVars1_.push_back(hcalIso1_EB_inv); // 2 - InvVars1_.push_back(sihih1_EB_inv); // 3 - InvVars1_.push_back(dphi1_EB_inv); // 4 - InvVars1_.push_back(deta1_EB_inv); // 5 - InvVars1_.push_back(hoe1_EB_inv); // 6 - InvVars1_.push_back(cIso1_EB_inv); // 7 - InvVars1_.push_back(tip_bspot1_EB_inv); // 8 - InvVars1_.push_back(eop1_EB_inv); // 9 - InvVars1_.push_back(trackIsoUser1_EB_inv); // 10 - InvVars1_.push_back(ecalIsoUser1_EB_inv); // 11 - InvVars1_.push_back(hcalIsoUser1_EB_inv); // 12 - - InvVars1_.push_back(trackIso1_EE_inv); // 0 - InvVars1_.push_back(ecalIso1_EE_inv); // 1 - InvVars1_.push_back(hcalIso1_EE_inv); // 2 - InvVars1_.push_back(sihih1_EE_inv); // 3 - InvVars1_.push_back(dphi1_EE_inv); // 4 - InvVars1_.push_back(deta1_EE_inv); // 5 - InvVars1_.push_back(hoe1_EE_inv); // 6 - InvVars1_.push_back(cIso1_EE_inv); // 7 - InvVars1_.push_back(tip_bspot1_EE_inv); // 8 - InvVars1_.push_back(eop1_EE_inv); // 9 - InvVars1_.push_back(trackIsoUser1_EE_inv); // 10 - InvVars1_.push_back(ecalIsoUser1_EE_inv); // 11 - InvVars1_.push_back(hcalIsoUser1_EE_inv); // 12 - - // 2nd Leg variables - CutVars2_.push_back(trackIso2_EB_); // 0 - CutVars2_.push_back(ecalIso2_EB_); // 1 - CutVars2_.push_back(hcalIso2_EB_); // 2 - CutVars2_.push_back(sihih2_EB_); // 3 - CutVars2_.push_back(dphi2_EB_); // 4 - CutVars2_.push_back(deta2_EB_); // 5 - CutVars2_.push_back(hoe2_EB_); // 6 - CutVars2_.push_back(cIso2_EB_); // 7 - CutVars2_.push_back(tip_bspot2_EB_); // 8 - CutVars2_.push_back(eop2_EB_); // 9 - CutVars2_.push_back(trackIsoUser2_EB_); // 10 - CutVars2_.push_back(ecalIsoUser2_EB_); // 11 - CutVars2_.push_back(hcalIsoUser2_EB_); // 12 - - CutVars2_.push_back(trackIso2_EE_); // 0 - CutVars2_.push_back(ecalIso2_EE_); // 1 - CutVars2_.push_back(hcalIso2_EE_); // 2 - CutVars2_.push_back(sihih2_EE_); // 3 - CutVars2_.push_back(dphi2_EE_); // 4 - CutVars2_.push_back(deta2_EE_); // 5 - CutVars2_.push_back(hoe2_EE_); // 6 - CutVars2_.push_back(cIso2_EE_); // 7 - CutVars2_.push_back(tip_bspot2_EE_); // 8 - CutVars2_.push_back(eop2_EE_); // 9 - CutVars2_.push_back(trackIsoUser2_EE_); // 10 - CutVars2_.push_back(ecalIsoUser2_EE_); // 11 - CutVars2_.push_back(hcalIsoUser2_EE_); // 12 - - InvVars2_.push_back(trackIso2_EB_inv); // 0 - InvVars2_.push_back(ecalIso2_EB_inv); // 1 - InvVars2_.push_back(hcalIso2_EB_inv); // 2 - InvVars2_.push_back(sihih2_EB_inv); // 3 - InvVars2_.push_back(dphi2_EB_inv); // 4 - InvVars2_.push_back(deta2_EB_inv); // 5 - InvVars2_.push_back(hoe2_EB_inv); // 6 - InvVars2_.push_back(cIso2_EB_inv); // 7 - InvVars2_.push_back(tip_bspot2_EB_inv); // 8 - InvVars2_.push_back(eop2_EB_inv); // 9 - InvVars2_.push_back(trackIsoUser2_EB_inv); // 10 - InvVars2_.push_back(ecalIsoUser2_EB_inv); // 11 - InvVars2_.push_back(hcalIsoUser2_EB_inv); // 12 - - InvVars2_.push_back(trackIso2_EE_inv); // 0 - InvVars2_.push_back(ecalIso2_EE_inv); // 1 - InvVars2_.push_back(hcalIso2_EE_inv); // 2 - InvVars2_.push_back(sihih2_EE_inv); // 3 - InvVars2_.push_back(dphi2_EE_inv); // 4 - InvVars2_.push_back(deta2_EE_inv); // 5 - InvVars2_.push_back(hoe2_EE_inv); // 6 - InvVars2_.push_back(cIso2_EE_inv); // 7 - InvVars2_.push_back(tip_bspot2_EE_inv); // 8 - InvVars2_.push_back(eop2_EE_inv); // 9 - InvVars2_.push_back(trackIsoUser2_EE_inv); // 10 - InvVars2_.push_back(ecalIsoUser2_EE_inv); // 11 - InvVars2_.push_back(hcalIsoUser2_EE_inv); // 12 - - // ________________________________________________________________________ - // - // The VBTF Root Tuples --------------------------------------------------- - // ________________________________________________________________________ - // - ZEE_VBTFselectionFile_ = new TFile(TString(ZEE_VBTFselectionFileName_), "RECREATE"); - - vbtfSele_tree = new TTree("vbtfSele_tree", "Tree to store the Z Candidates that pass the VBTF selection"); - - vbtfSele_tree->Branch("runNumber", &runNumber, "runNumber/I"); - vbtfSele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L"); - vbtfSele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I"); - - // for ele 1 - vbtfSele_tree->Branch("ele1_sc_gsf_et", &ele1_sc_gsf_et, "ele1_sc_gsf_et/F"); - vbtfSele_tree->Branch("ele1_sc_energy", &ele1_sc_energy, "ele1_sc_energy/F"); - vbtfSele_tree->Branch("ele1_sc_eta", &ele1_sc_eta, "ele1_sc_eta/F"); - vbtfSele_tree->Branch("ele1_sc_phi", &ele1_sc_phi, "ele1_sc_phi/F"); - vbtfSele_tree->Branch("ele1_cand_et", &ele1_cand_et, "ele1_cand_et/F"); - vbtfSele_tree->Branch("ele1_cand_eta", &ele1_cand_eta, "ele1_cand_eta/F"); - vbtfSele_tree->Branch("ele1_cand_phi", &ele1_cand_phi, "ele1_cand_phi/F"); - vbtfSele_tree->Branch("ele1_iso_track", &ele1_iso_track, "ele1_iso_track/F"); - vbtfSele_tree->Branch("ele1_iso_ecal", &ele1_iso_ecal, "ele1_iso_ecal/F"); - vbtfSele_tree->Branch("ele1_iso_hcal", &ele1_iso_hcal, "ele1_iso_hcal/F"); - vbtfSele_tree->Branch("ele1_id_sihih", &ele1_id_sihih, "ele1_id_sihih/F"); - vbtfSele_tree->Branch("ele1_id_deta", &ele1_id_deta, "ele1_id_deta/F"); - vbtfSele_tree->Branch("ele1_id_dphi", &ele1_id_dphi, "ele1_id_dphi/F"); - vbtfSele_tree->Branch("ele1_id_hoe", &ele1_id_hoe, "ele1_id_hoe/F"); - vbtfSele_tree->Branch("ele1_cr_mhitsinner", &ele1_cr_mhitsinner, "ele1_cr_mhitsinner/I"); - vbtfSele_tree->Branch("ele1_cr_dcot", &ele1_cr_dcot, "ele1_cr_dcot/F"); - vbtfSele_tree->Branch("ele1_cr_dist", &ele1_cr_dist, "ele1_cr_dist/F"); - vbtfSele_tree->Branch("ele1_vx", &ele1_vx, "ele1_vx/F"); - vbtfSele_tree->Branch("ele1_vy", &ele1_vy, "ele1_vy/F"); - vbtfSele_tree->Branch("ele1_vz", &ele1_vz, "ele1_vz/F"); - vbtfSele_tree->Branch("ele1_gsfCharge", &ele1_gsfCharge, "ele1_gsfCharge/I"); - vbtfSele_tree->Branch("ele1_ctfCharge", &ele1_ctfCharge, "ele1_ctfCharge/I"); - vbtfSele_tree->Branch("ele1_scPixCharge", &ele1_scPixCharge, "ele1_scPixCharge/I"); - vbtfSele_tree->Branch("ele1_eop", &ele1_eop, "ele1_eop/F"); - vbtfSele_tree->Branch("ele1_tip_bs", &ele1_tip_bs, "ele1_tip_bs/F"); - vbtfSele_tree->Branch("ele1_tip_pv", &ele1_tip_pv, "ele1_tip_pv/F"); - - // for ele 2 - vbtfSele_tree->Branch("ele2_sc_gsf_et", &ele2_sc_gsf_et, "ele2_sc_gsf_et/F"); - vbtfSele_tree->Branch("ele2_sc_energy", &ele2_sc_energy, "ele2_sc_energy/F"); - vbtfSele_tree->Branch("ele2_sc_eta", &ele2_sc_eta, "ele2_sc_eta/F"); - vbtfSele_tree->Branch("ele2_sc_phi", &ele2_sc_phi, "ele2_sc_phi/F"); - vbtfSele_tree->Branch("ele2_cand_et", &ele2_cand_et, "ele2_cand_et/F"); - vbtfSele_tree->Branch("ele2_cand_eta", &ele2_cand_eta, "ele2_cand_eta/F"); - vbtfSele_tree->Branch("ele2_cand_phi", &ele2_cand_phi, "ele2_cand_phi/F"); - vbtfSele_tree->Branch("ele2_iso_track", &ele2_iso_track, "ele2_iso_track/F"); - vbtfSele_tree->Branch("ele2_iso_ecal", &ele2_iso_ecal, "ele2_iso_ecal/F"); - vbtfSele_tree->Branch("ele2_iso_hcal", &ele2_iso_hcal, "ele2_iso_hcal/F"); - vbtfSele_tree->Branch("ele2_id_sihih", &ele2_id_sihih, "ele2_id_sihih/F"); - vbtfSele_tree->Branch("ele2_id_deta", &ele2_id_deta, "ele2_id_deta/F"); - vbtfSele_tree->Branch("ele2_id_dphi", &ele2_id_dphi, "ele2_id_dphi/F"); - vbtfSele_tree->Branch("ele2_id_hoe", &ele2_id_hoe, "ele2_id_hoe/F"); - vbtfSele_tree->Branch("ele2_cr_mhitsinner", &ele2_cr_mhitsinner, "ele2_cr_mhitsinner/I"); - vbtfSele_tree->Branch("ele2_cr_dcot", &ele2_cr_dcot, "ele2_cr_dcot/F"); - vbtfSele_tree->Branch("ele2_cr_dist", &ele2_cr_dist, "ele2_cr_dist/F"); - vbtfSele_tree->Branch("ele2_vx", &ele2_vx, "ele2_vx/F"); - vbtfSele_tree->Branch("ele2_vy", &ele2_vy, "ele2_vy/F"); - vbtfSele_tree->Branch("ele2_vz", &ele2_vz, "ele2_vz/F"); - vbtfSele_tree->Branch("ele2_gsfCharge", &ele2_gsfCharge, "ele2_gsfCharge/I"); - vbtfSele_tree->Branch("ele2_ctfCharge", &ele2_ctfCharge, "ele2_ctfCharge/I"); - vbtfSele_tree->Branch("ele2_scPixCharge", &ele2_scPixCharge, "ele2_scPixCharge/I"); - vbtfSele_tree->Branch("ele2_eop", &ele2_eop, "ele2_eop/F"); - vbtfSele_tree->Branch("ele2_tip_bs", &ele2_tip_bs, "ele2_tip_bs/F"); - vbtfSele_tree->Branch("ele2_tip_pv", &ele2_tip_pv, "ele2_tip_pv/F"); - // - vbtfSele_tree->Branch("pv_x1", &pv_x1, "pv_x1/F"); - vbtfSele_tree->Branch("pv_y1", &pv_y1, "pv_y1/F"); - vbtfSele_tree->Branch("pv_z1", &pv_z1, "pv_z1/F"); - // - vbtfSele_tree->Branch("pv_x2", &pv_x2, "pv_x2/F"); - vbtfSele_tree->Branch("pv_y2", &pv_y2, "pv_y2/F"); - vbtfSele_tree->Branch("pv_z2", &pv_z2, "pv_z2/F"); - // - vbtfSele_tree->Branch("event_caloMET", &event_caloMET, "event_caloMET/F"); - vbtfSele_tree->Branch("event_pfMET", &event_pfMET, "event_pfMET/F"); - vbtfSele_tree->Branch("event_tcMET", &event_tcMET, "event_tcMET/F"); - vbtfSele_tree->Branch("event_caloMET_phi", &event_caloMET_phi, "event_caloMET_phi/F"); - vbtfSele_tree->Branch("event_pfMET_phi", &event_pfMET_phi, "event_pfMET_phi/F"); - vbtfSele_tree->Branch("event_tcMET_phi", &event_tcMET_phi, "event_tcMET_phi/F"); - - vbtfSele_tree->Branch("event_Mee", &event_Mee, "event_Mee/F"); - - // - // the extra jet variables: - if (includeJetInformationInNtuples_) { - vbtfSele_tree->Branch("calojet_et", calojet_et, "calojet_et[5]/F"); - vbtfSele_tree->Branch("calojet_eta", calojet_eta, "calojet_eta[5]/F"); - vbtfSele_tree->Branch("calojet_phi", calojet_phi, "calojet_phi[5]/F"); - vbtfSele_tree->Branch("pfjet_et", pfjet_et, "pfjet_et[5]/F"); - vbtfSele_tree->Branch("pfjet_eta", pfjet_eta, "pfjet_eta[5]/F"); - vbtfSele_tree->Branch("pfjet_phi", pfjet_phi, "pfjet_phi[5]/F"); - } - - vbtfSele_tree->Branch("event_datasetTag", &event_datasetTag, "event_dataSetTag/I"); - - // everything after preselection - ZEE_VBTFpreseleFile_ = new TFile(TString(ZEE_VBTFpreseleFileName_), "RECREATE"); - - vbtfPresele_tree = new TTree("vbtfPresele_tree", "Tree to store the Z Candidates that pass the VBTF preselection"); - - vbtfPresele_tree->Branch("runNumber", &runNumber, "runNumber/I"); - vbtfPresele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L"); - vbtfPresele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I"); - - // for ele 1 - vbtfPresele_tree->Branch("ele1_sc_gsf_et", &ele1_sc_gsf_et, "ele1_sc_gsf_et/F"); - vbtfPresele_tree->Branch("ele1_sc_energy", &ele1_sc_energy, "ele1_sc_energy/F"); - vbtfPresele_tree->Branch("ele1_sc_eta", &ele1_sc_eta, "ele1_sc_eta/F"); - vbtfPresele_tree->Branch("ele1_sc_phi", &ele1_sc_phi, "ele1_sc_phi/F"); - vbtfPresele_tree->Branch("ele1_cand_et", &ele1_cand_et, "ele1_cand_et/F"); - vbtfPresele_tree->Branch("ele1_cand_eta", &ele1_cand_eta, "ele1_cand_eta/F"); - vbtfPresele_tree->Branch("ele1_cand_phi", &ele1_cand_phi, "ele1_cand_phi/F"); - vbtfPresele_tree->Branch("ele1_iso_track", &ele1_iso_track, "ele1_iso_track/F"); - vbtfPresele_tree->Branch("ele1_iso_ecal", &ele1_iso_ecal, "ele1_iso_ecal/F"); - vbtfPresele_tree->Branch("ele1_iso_hcal", &ele1_iso_hcal, "ele1_iso_hcal/F"); - vbtfPresele_tree->Branch("ele1_id_sihih", &ele1_id_sihih, "ele1_id_sihih/F"); - vbtfPresele_tree->Branch("ele1_id_deta", &ele1_id_deta, "ele1_id_deta/F"); - vbtfPresele_tree->Branch("ele1_id_dphi", &ele1_id_dphi, "ele1_id_dphi/F"); - vbtfPresele_tree->Branch("ele1_id_hoe", &ele1_id_hoe, "ele1_id_hoe/F"); - vbtfPresele_tree->Branch("ele1_cr_mhitsinner", &ele1_cr_mhitsinner, "ele1_cr_mhitsinner/I"); - vbtfPresele_tree->Branch("ele1_cr_dcot", &ele1_cr_dcot, "ele1_cr_dcot/F"); - vbtfPresele_tree->Branch("ele1_cr_dist", &ele1_cr_dist, "ele1_cr_dist/F"); - vbtfPresele_tree->Branch("ele1_vx", &ele1_vx, "ele1_vx/F"); - vbtfPresele_tree->Branch("ele1_vy", &ele1_vy, "ele1_vy/F"); - vbtfPresele_tree->Branch("ele1_vz", &ele1_vz, "ele1_vz/F"); - vbtfPresele_tree->Branch("ele1_gsfCharge", &ele1_gsfCharge, "ele1_gsfCharge/I"); - vbtfPresele_tree->Branch("ele1_ctfCharge", &ele1_ctfCharge, "ele1_ctfCharge/I"); - vbtfPresele_tree->Branch("ele1_scPixCharge", &ele1_scPixCharge, "ele1_scPixCharge/I"); - vbtfPresele_tree->Branch("ele1_eop", &ele1_eop, "ele1_eop/F"); - vbtfPresele_tree->Branch("ele1_tip_bs", &ele1_tip_bs, "ele1_tip_bs/F"); - vbtfPresele_tree->Branch("ele1_tip_pv", &ele1_tip_pv, "ele1_tip_pv/F"); - - // for ele 2 - vbtfPresele_tree->Branch("ele2_sc_gsf_et", &ele2_sc_gsf_et, "ele2_sc_gsf_et/F"); - vbtfPresele_tree->Branch("ele2_sc_energy", &ele2_sc_energy, "ele2_sc_energy/F"); - vbtfPresele_tree->Branch("ele2_sc_eta", &ele2_sc_eta, "ele2_sc_eta/F"); - vbtfPresele_tree->Branch("ele2_sc_phi", &ele2_sc_phi, "ele2_sc_phi/F"); - vbtfPresele_tree->Branch("ele2_cand_et", &ele2_cand_et, "ele2_cand_et/F"); - vbtfPresele_tree->Branch("ele2_cand_eta", &ele2_cand_eta, "ele2_cand_eta/F"); - vbtfPresele_tree->Branch("ele2_cand_phi", &ele2_cand_phi, "ele2_cand_phi/F"); - vbtfPresele_tree->Branch("ele2_iso_track", &ele2_iso_track, "ele2_iso_track/F"); - vbtfPresele_tree->Branch("ele2_iso_ecal", &ele2_iso_ecal, "ele2_iso_ecal/F"); - vbtfPresele_tree->Branch("ele2_iso_hcal", &ele2_iso_hcal, "ele2_iso_hcal/F"); - vbtfPresele_tree->Branch("ele2_id_sihih", &ele2_id_sihih, "ele2_id_sihih/F"); - vbtfPresele_tree->Branch("ele2_id_deta", &ele2_id_deta, "ele2_id_deta/F"); - vbtfPresele_tree->Branch("ele2_id_dphi", &ele2_id_dphi, "ele2_id_dphi/F"); - vbtfPresele_tree->Branch("ele2_id_hoe", &ele2_id_hoe, "ele2_id_hoe/F"); - vbtfPresele_tree->Branch("ele2_cr_mhitsinner", &ele2_cr_mhitsinner, "ele2_cr_mhitsinner/I"); - vbtfPresele_tree->Branch("ele2_cr_dcot", &ele2_cr_dcot, "ele2_cr_dcot/F"); - vbtfPresele_tree->Branch("ele2_cr_dist", &ele2_cr_dist, "ele2_cr_dist/F"); - vbtfPresele_tree->Branch("ele2_vx", &ele2_vx, "ele2_vx/F"); - vbtfPresele_tree->Branch("ele2_vy", &ele2_vy, "ele2_vy/F"); - vbtfPresele_tree->Branch("ele2_vz", &ele2_vz, "ele2_vz/F"); - vbtfPresele_tree->Branch("ele2_gsfCharge", &ele2_gsfCharge, "ele2_gsfCharge/I"); - vbtfPresele_tree->Branch("ele2_ctfCharge", &ele2_ctfCharge, "ele2_ctfCharge/I"); - vbtfPresele_tree->Branch("ele2_scPixCharge", &ele2_scPixCharge, "ele2_scPixCharge/I"); - vbtfPresele_tree->Branch("ele2_eop", &ele2_eop, "ele2_eop/F"); - vbtfPresele_tree->Branch("ele2_tip_bs", &ele2_tip_bs, "ele2_tip_bs/F"); - vbtfPresele_tree->Branch("ele2_tip_pv", &ele2_tip_pv, "ele2_tip_pv/F"); - - vbtfPresele_tree->Branch("pv_x1", &pv_x1, "pv_x1/F"); - vbtfPresele_tree->Branch("pv_y1", &pv_y1, "pv_y1/F"); - vbtfPresele_tree->Branch("pv_z1", &pv_z1, "pv_z1/F"); - - vbtfPresele_tree->Branch("pv_x2", &pv_x2, "pv_x2/F"); - vbtfPresele_tree->Branch("pv_y2", &pv_y2, "pv_y2/F"); - vbtfPresele_tree->Branch("pv_z2", &pv_z2, "pv_z2/F"); - - vbtfPresele_tree->Branch("event_caloMET", &event_caloMET, "event_caloMET/F"); - vbtfPresele_tree->Branch("event_pfMET", &event_pfMET, "event_pfMET/F"); - vbtfPresele_tree->Branch("event_tcMET", &event_tcMET, "event_tcMET/F"); - vbtfPresele_tree->Branch("event_caloMET_phi", &event_caloMET_phi, "event_caloMET_phi/F"); - vbtfPresele_tree->Branch("event_pfMET_phi", &event_pfMET_phi, "event_pfMET_phi/F"); - vbtfPresele_tree->Branch("event_tcMET_phi", &event_tcMET_phi, "event_tcMET_phi/F"); - - vbtfPresele_tree->Branch("event_Mee", &event_Mee, "event_Mee/F"); - - // - // the extra jet variables: - if (includeJetInformationInNtuples_) { - vbtfPresele_tree->Branch("calojet_et", calojet_et, "calojet_et[5]/F"); - vbtfPresele_tree->Branch("calojet_eta", calojet_eta, "calojet_eta[5]/F"); - vbtfPresele_tree->Branch("calojet_phi", calojet_phi, "calojet_phi[5]/F"); - vbtfPresele_tree->Branch("pfjet_et", pfjet_et, "pfjet_et[5]/F"); - vbtfPresele_tree->Branch("pfjet_eta", pfjet_eta, "pfjet_eta[5]/F"); - vbtfPresele_tree->Branch("pfjet_phi", pfjet_phi, "pfjet_phi[5]/F"); - } - - vbtfPresele_tree->Branch("event_datasetTag", &event_datasetTag, "event_dataSetTag/I"); - - // _________________________________________________________________________ - // -} - -// ------------ method called once each job just after ending the event loop - -void ZeePlots::endJob() { - TFile *newfile = new TFile(TString(outputFile_), "RECREATE"); - // - // for consistency all the plots are in the root file - // even though they may be empty (in the case when - // usePrecalcID_ == true inverted and N-1 are empty) - - h_mee->Write(); - h_mee_EBEB->Write(); - h_mee_EBEE->Write(); - h_mee_EEEE->Write(); - h_Zcand_PT->Write(); - h_Zcand_Y->Write(); - - h_e_PT->Write(); - h_e_ETA->Write(); - h_e_PHI->Write(); - - h_EB_trkiso->Write(); - h_EB_ecaliso->Write(); - h_EB_hcaliso->Write(); - h_EB_sIetaIeta->Write(); - h_EB_dphi->Write(); - h_EB_deta->Write(); - h_EB_HoE->Write(); - - h_EE_trkiso->Write(); - h_EE_ecaliso->Write(); - h_EE_hcaliso->Write(); - h_EE_sIetaIeta->Write(); - h_EE_dphi->Write(); - h_EE_deta->Write(); - h_EE_HoE->Write(); - - // - newfile->Close(); - - // write the VBTF trees - // - ZEE_VBTFpreseleFile_->Write(); - ZEE_VBTFpreseleFile_->Close(); - - ZEE_VBTFselectionFile_->Write(); - ZEE_VBTFselectionFile_->Close(); -} - -//define this as a plug-in -DEFINE_FWK_MODULE(ZeePlots); diff --git a/ElectroWeakAnalysis/ZEE/src/aod2patFilterZee.cc b/ElectroWeakAnalysis/ZEE/src/aod2patFilterZee.cc deleted file mode 100644 index 92d8221222fd5..0000000000000 --- a/ElectroWeakAnalysis/ZEE/src/aod2patFilterZee.cc +++ /dev/null @@ -1,166 +0,0 @@ -#ifndef aod2patFilterZee_H -#define aod2patFilterZee_H - -/****************************************************************************** - * - * Implementation Notes: - * - * this is a filter that creates pat::Electrons without the need of - * running the PAT sequence - * - * it is meant to be an interface of Wenu and Zee CandidateFilters - * for the October 2009 exercise - * it does make sense to implement the trigger requirement here - * but it will not be implemented in order to keep compatibolity with the - * old code - * - * - * contact: - * Nikolaos.Rompotis@Cern.ch - * - * Nikolaos Rompotis - * Imperial College London - * - * 21 Sept 2009 - * - *****************************************************************************/ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -// -#include -#include -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/METReco/interface/METCollection.h" -#include "DataFormats/METReco/interface/CaloMETCollection.h" -// -#include "TString.h" -#include "TMath.h" -#include "DataFormats/PatCandidates/interface/MET.h" - -class aod2patFilterZee : public edm::EDFilter { -public: - explicit aod2patFilterZee(const edm::ParameterSet&); - ~aod2patFilterZee() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - //bool isInFiducial(double eta); - - // ----------member data --------------------------- - //double ETCut_; - //double METCut_; - //double ETCut2ndEle_; - //edm::InputTag triggerCollectionTag_; - //edm::InputTag triggerEventTag_; - //std::string hltpath_; - //edm::InputTag hltpathFilter_; - edm::InputTag electronCollectionTag_; - edm::EDGetTokenT electronCollectionToken_; - edm::InputTag metCollectionTag_; - edm::EDGetTokenT metCollectionToken_; - - //double BarrelMaxEta_; - //double EndCapMaxEta_; - //double EndCapMinEta_; - //bool electronMatched2HLT_; - //double electronMatched2HLT_DR_; - //bool vetoSecondElectronEvents_; -}; -#endif - -aod2patFilterZee::aod2patFilterZee(const edm::ParameterSet& iConfig) { - electronCollectionTag_ = iConfig.getUntrackedParameter("electronCollectionTag"); - electronCollectionToken_ = consumes(electronCollectionTag_); - metCollectionTag_ = iConfig.getUntrackedParameter("metCollectionTag"); - metCollectionToken_ = consumes(metCollectionTag_); - - produces("patElectrons").setBranchAlias("patElectrons"); - - produces("patCaloMets").setBranchAlias("patCaloMets"); - //produces< pat::METCollection>("patPfMets").setBranchAlias("patPfMets"); - //produces< pat::METCollection>("patTcMets").setBranchAlias("patTcMets"); - //produces< pat::METCollection>("patT1cMets").setBranchAlias("patT1cMets"); -} - -aod2patFilterZee::~aod2patFilterZee() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -bool aod2patFilterZee::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - using namespace std; - using namespace pat; - // ************************************************************************* - // ELECTRONS - // ************************************************************************* - edm::Handle gsfElectrons; - iEvent.getByToken(electronCollectionToken_, gsfElectrons); - if (!gsfElectrons.isValid()) { - std::cout << "aod2patFilterZee: Could not get electron collection with label: " << electronCollectionTag_ - << std::endl; - return false; - } - const reco::GsfElectronCollection* pElecs = gsfElectrons.product(); - // calculate your electrons - unique_ptr patElectrons(new pat::ElectronCollection); - for (reco::GsfElectronCollection::const_iterator elec = pElecs->begin(); elec != pElecs->end(); ++elec) { - reco::GsfElectron mygsfelec = *elec; - pat::Electron myElectron(mygsfelec); - // now set the isolations from the Gsf electron - myElectron.setTrackIso(elec->dr03TkSumPt()); - myElectron.setEcalIso(elec->dr04EcalRecHitSumEt()); - myElectron.setHcalIso(elec->dr04HcalTowerSumEt()); - - patElectrons->push_back(myElectron); - } - // ************************************************************************* - // METs - // ************************************************************************* - edm::Handle calomets; - iEvent.getByToken(metCollectionToken_, calomets); - if (!calomets.isValid()) { - std::cout << "aod2patFilterZee: Could not get met collection with label: " << metCollectionTag_ << std::endl; - return false; - } - const reco::CaloMETCollection* mycalomets = calomets.product(); - unique_ptr patCaloMets(new pat::METCollection); - for (reco::CaloMETCollection::const_iterator met = mycalomets->begin(); met != mycalomets->end(); ++met) { - pat::MET mymet(*met); - patCaloMets->push_back(mymet); - } - - // - // put everything in the event - // - iEvent.put(std::move(patElectrons), "patElectrons"); - iEvent.put(std::move(patCaloMets), "patCaloMets"); - // - - return true; -} - -// ------------ method called once each job just before starting event loop - -void aod2patFilterZee::beginJob() {} - -// ------------ method called once each job just after ending the event loop - -void aod2patFilterZee::endJob() {} - -//define this as a plug-in -DEFINE_FWK_MODULE(aod2patFilterZee); diff --git a/ElectroWeakAnalysis/ZEE/test/PerformAnalysis.cpp b/ElectroWeakAnalysis/ZEE/test/PerformAnalysis.cpp deleted file mode 100644 index 920640c1e9b3c..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/PerformAnalysis.cpp +++ /dev/null @@ -1,1769 +0,0 @@ -#include "TROOT.h" -#include "TFile.h" -#include "TTree.h" -#include "TCanvas.h" -#include "TLegend.h" -#include "TH1.h" -#include "TF1.h" -#include "TRandom3.h" -#include "TString.h" -#include -#include -#include - -using namespace std; - -void PerformAnalysis(TString process, double eventweight, TString datapath)//, ofstream& results) //int main() -{ - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - cout << "\% " << "Perform Analysis" << endl; - cout << "\% " << process << endl; - cout << "\% " << "Event Weight = " << eventweight << endl; - cout << "\% " << "Data Path = " << datapath << endl; - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - - // Declare electron cut value variables - double cMEt = 30.; - double cPt = 30.; - double cECALiso_EB = 4.2, cECALiso_EE = 3.4; - double cHCALiso_EB = 2.0, cHCALiso_EE = 1.3; - double cTrackiso_EB = 2.2, cTrackiso_EE = 1.1; - double cDeltaEta_EB = 0.0040, cDeltaEta_EE = 0.0066; - double cDeltaPhi_EB = 0.025, cDeltaPhi_EE = 0.020; - double csIhIh_EB = 0.0099, csIhIh_EE = 0.0280; - // Declare neutrino cut value variables - double cHCAL = 6.2; - double cHCALEt = 12; - double cf1x5 = 0.83, cf2x5 = 0.93; - int celecmatch = 0; - double cnusIhIh = 0.027; - - cout << "Cut Values:" << endl; - - cout << "MEt cut " << cMEt << endl; - - cout << "Electron selection cuts:" << endl; - cout << "Pt cut " << cPt << endl; - cout << "ECAL Isolation cut (EB) " << cECALiso_EB << endl; - cout << "ECAL Isolation cut (EE) " << cECALiso_EE << endl; - cout << "HCAL Isolation cut (EB) " << cHCALiso_EB << endl; - cout << "HCAL Isolation cut (EE) " << cHCALiso_EE << endl; - cout << "Track Isolation cut (EB) " << cTrackiso_EB << endl; - cout << "Track Isolation cut (EE) " << cTrackiso_EE << endl; - cout << "Delta Eta cut (EB) " << cDeltaEta_EB << endl; - cout << "Delta Eta cut (EE) " << cDeltaEta_EE << endl; - cout << "Delta Phi cut (EB) " << cDeltaPhi_EB << endl; - cout << "Delta Phi cut (EE) " << cDeltaPhi_EE << endl; - cout << "Sigma iEta iEta cut (EB) " << csIhIh_EB << endl; - cout << "Sigma iEta iEta cut (EE) " << csIhIh_EE << endl; - - cout << "Probe selection cuts:" << endl; - cout << "HCAL Energy cut " << cHCAL << endl; - cout << "HCAL Transverse Energy cut " << cHCALEt << endl; - cout << "Fraction of energy in 1x5 cut " << cf1x5 << endl; - cout << "Fraction of energy in 2x5 cut " << cf2x5 << endl; - cout << "Require electron match " << celecmatch << endl; - cout << "Sigma iEta iEta cut " << cnusIhIh << endl; - - cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%\%" << endl; - // Import probe selection efficiency weights - double nueff[345]; - ifstream weightsin; - weightsin.open("EtaWeights.txt", ifstream::in); - - for(int eta=0; eta < 345; ++eta) - { - double weight; - weightsin >> weight; - //cout << eta << "\t" << weight << endl; - nueff[eta] = weight; - } - weightsin.close(); - cout << "Imported probe selection efficiencies" << endl; - - TFile* outfile = TFile::Open("ZeePlots.root", "recreate"); - - TH1F* h_McW_m = new TH1F("McW_m","MC Boson Mass;m;Arbitrary Units", 100, 40., 130.); - TH1F* h_McW_pt = new TH1F("McW_pt","MC Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McW_y = new TH1F("McW_y","MC Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - - TH1F* h_McZ_m = new TH1F("McZ_m","MC Boson Mass;m (GeV);Arbitrary Units", 100, 40., 130.); - TH1F* h_McZ_pt = new TH1F("McZ_pt","MC Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McZ_y = new TH1F("McZ_y","MC Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - TH1F* h_McZ_rescM = new TH1F("McZ_rescM","Rescaled MC Boson Mass;m (GeV);Arbitrary Units", 100, 40., 130.); - TH1F* h_McZ_rescPt = new TH1F("McZ_rescPt","Rescaled MC Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McZ_rescY = new TH1F("McZ_rescY","Rescaled MC Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - - TH1F* h_McElec_pt = new TH1F("McElec_pt","MC Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McElec_eta = new TH1F("McElec_eta","MC Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - - TH1F* h_McTag_pt = new TH1F("McTag_pt","MC Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McTag_eta = new TH1F("McTag_eta","MC Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McTag_rescPt = new TH1F("McTag_rescPt","Rescaled MC Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McTag_rescEta = new TH1F("McTag_rescEta","Rescaled MC Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - - TH1F* h_McNu_pt = new TH1F("McNu_pt","MC Neutrino p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McNu_eta = new TH1F("McNu_eta","MC Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - - TH1F* h_McProbe_pt = new TH1F("McProbe_pt","MC Neutrino p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McProbe_eta = new TH1F("McProbe_eta","MC Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_McProbe_rescPt = new TH1F("McProbe_rescPt","Rescaled MC Neutrino p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_McProbe_rescEta = new TH1F("McProbe_rescEta","Rescaled MC Neutrino #eta;#eta;Arbitrary Units", 100, -3., 3.); - - TH1F* h_McTagProbe_dPhi = new TH1F("McElecNu_dPhi", ";#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McTagProbe_dEta = new TH1F("McElecNu_dEta", ";#Delta#eta;Arbitrary Units", 100, 0., 5.); - TH1F* h_McTagProbe_dR = new TH1F("McElecNu_dR", ";#DeltaR;Arbitrary Units", 100, 0., 3.); - TH1F* h_McElecNu_dPhi = new TH1F("McElecNu_dPhi", ";#Delta#phi;Arbitrary Units", 100, 0., 3.1416); - TH1F* h_McElecNu_dEta = new TH1F("McElecNu_dEta", ";#Delta#eta;Arbitrary Units", 100, 0., 5.); - TH1F* h_McElecNu_dR = new TH1F("McElecNu_dR", ";#DeltaR;Arbitrary Units", 100, 0., 3.); - - TH1F* h_W_pt = new TH1F("W_pt","Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_W_y = new TH1F("W_y","Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - TH1F* h_W_rescPt = new TH1F("W_rescPt","Rescaled Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_W_rescY = new TH1F("W_rescY","Rescaled Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - - TH1F* h_Z_pt = new TH1F("Z_pt","Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_Z_y = new TH1F("Z_y","Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - TH1F* h_Z_rescPt = new TH1F("Z_rescPt","Rescaled Boson p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_Z_rescY = new TH1F("Z_rescY","Rescaled Boson Rapidity;y;Arbitrary Units", 100, -5., 5.); - - TH1F* h_tag_q = new TH1F("tag_q","Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_tag_pt = new TH1F("tag_pt","Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_tag_rescPt = new TH1F("tag_rescPt","Rescaled Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_tag_eta = new TH1F("tag_eta","Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_tag_rescEta = new TH1F("tag_rescEta","Rescaled Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_tag_ecaliso = new TH1F("tag_ecaliso","Electron ECAL isolation;ECAL isolation;Arbitrary Units", 100, 0., 10.); - TH1F* h_tag_hcaliso = new TH1F("tag_hcaliso","Electron HCAL isolation;HCAL isolation;Arbitrary Units", 100, 0., 5.); - TH1F* h_tag_trackiso = new TH1F("tag_trackiso","Electron Track isolation;Track isolation;Arbitrary Units", 100, 0., 5.); - TH1F* h_tag_dPhi = new TH1F("tag_dPhi","Electron #Delta #phi_{in};#Delta #phi_{in};Arbitrary Units", 100, 0., 0.05); - TH1F* h_tag_dEta = new TH1F("tag_dEta","Electron #Delta #eta_{in};#Delta #eta_{in};Arbitrary Units", 100, 0., 0.01); - TH1F* h_tag_sIhIh = new TH1F("tag_sIhIh","Electron #sigma_{i#eta i#eta};#sigma_{i#eta i#eta};Arbitrary Units", 100, 0., 0.02); - - TH1F* h_elec_q = new TH1F("elec_q","Electron Charge;q;Arbitrary Units", 3, -1.5, 1.5); - TH1F* h_elec_pt = new TH1F("elec_pt","Electron p_{T};p_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_elec_eta = new TH1F("elec_eta","Electron #eta;#eta;Arbitrary Units", 100, -3., 3.); - TH1F* h_elec_ecaliso = new TH1F("elec_ecaliso","Electron ECAL isolation;ECAL isolation;Arbitrary Units", 100, 0., 10.); - TH1F* h_elec_hcaliso = new TH1F("elec_hcaliso","Electron HCAL isolation;HCAL isolation;Arbitrary Units", 100, 0., 5.); - TH1F* h_elec_trackiso = new TH1F("elec_trackiso","Electron Track isolation;Track isolation;Arbitrary Units", 100, 0., 5.); - TH1F* h_elec_dPhi = new TH1F("elec_dPhi","Electron #Delta #phi_{in};#Delta #phi_{in};Arbitrary Units", 100, 0., 0.05); - TH1F* h_elec_dEta = new TH1F("elec_dEta","Electron #Delta #eta_{in};#Delta #eta_{in};Arbitrary Units", 100, 0., 0.01); - TH1F* h_elec_sIhIh = new TH1F("elec_sIhIh","Electron #sigma_{i#eta i#eta};#sigma_{i#eta i#eta};Arbitrary Units", 100, 0., 0.02); - - TH1F* h_mcWGenMEtin_pass_EB = new TH1F("mcWGenMEtin_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtin_pass_EE = new TH1F("mcWGenMEtin_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtin_fail_EB = new TH1F("mcWGenMEtin_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtin_fail_EE = new TH1F("mcWGenMEtin_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtout_pass_EB = new TH1F("mcWGenMEtout_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtout_pass_EE = new TH1F("mcWGenMEtout_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtout_fail_EB = new TH1F("mcWGenMEtout_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWGenMEtout_fail_EE = new TH1F("mcWGenMEtout_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_mcWCaloMEtin_pass_EB = new TH1F("mcWCaloMEtin_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtin_pass_EE = new TH1F("mcWCaloMEtin_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtin_fail_EB = new TH1F("mcWCaloMEtin_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtin_fail_EE = new TH1F("mcWCaloMEtin_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtout_pass_EB = new TH1F("mcWCaloMEtout_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtout_pass_EE = new TH1F("mcWCaloMEtout_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtout_fail_EB = new TH1F("mcWCaloMEtout_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWCaloMEtout_fail_EE = new TH1F("mcWCaloMEtout_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_mcWTcMEtin_pass_EB = new TH1F("mcWTcMEtin_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtin_pass_EE = new TH1F("mcWTcMEtin_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtin_fail_EB = new TH1F("mcWTcMEtin_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtin_fail_EE = new TH1F("mcWTcMEtin_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtout_pass_EB = new TH1F("mcWTcMEtout_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtout_pass_EE = new TH1F("mcWTcMEtout_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtout_fail_EB = new TH1F("mcWTcMEtout_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWTcMEtout_fail_EE = new TH1F("mcWTcMEtout_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_mcWPfMEtin_pass_EB = new TH1F("mcWPfMEtin_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtin_pass_EE = new TH1F("mcWPfMEtin_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtin_fail_EB = new TH1F("mcWPfMEtin_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtin_fail_EE = new TH1F("mcWPfMEtin_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtout_pass_EB = new TH1F("mcWPfMEtout_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtout_pass_EE = new TH1F("mcWPfMEtout_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtout_fail_EB = new TH1F("mcWPfMEtout_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_mcWPfMEtout_fail_EE = new TH1F("mcWPfMEtout_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_WGenMEt_pass_EB = new TH1F("WGenMEt_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WGenMEt_pass_EE = new TH1F("WGenMEt_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WGenMEt_fail_EB = new TH1F("WGenMEt_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WGenMEt_fail_EE = new TH1F("WGenMEt_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WGenMEt_pass = new TH1F("WGenMEt_pass","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WGenMEt_fail = new TH1F("WGenMEt_fail","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_WCaloMEt_pass_EB = new TH1F("WCaloMEt_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WCaloMEt_pass_EE = new TH1F("WCaloMEt_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WCaloMEt_fail_EB = new TH1F("WCaloMEt_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WCaloMEt_fail_EE = new TH1F("WCaloMEt_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WCaloMEt_pass = new TH1F("WCaloMEt_pass","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WCaloMEt_fail = new TH1F("WCaloMEt_fail","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_WTcMEt_pass_EB = new TH1F("WTcMEt_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WTcMEt_pass_EE = new TH1F("WTcMEt_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WTcMEt_fail_EB = new TH1F("WTcMEt_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WTcMEt_fail_EE = new TH1F("WTcMEt_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WTcMEt_pass = new TH1F("WTcMEt_pass","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WTcMEt_fail = new TH1F("WTcMEt_fail","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_WPfMEt_pass_EB = new TH1F("WPfMEt_pass_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WPfMEt_pass_EE = new TH1F("WPfMEt_pass_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WPfMEt_fail_EB = new TH1F("WPfMEt_fail_EB","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WPfMEt_fail_EE = new TH1F("WPfMEt_fail_EE","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WPfMEt_pass = new TH1F("WPfMEt_pass","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_WPfMEt_fail = new TH1F("WPfMEt_fail","W#rightarrow e#nu MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzMEt_pass_EB = new TH1F("ErsatzMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass_EE = new TH1F("ErsatzMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EB = new TH1F("ErsatzMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail_EE = new TH1F("ErsatzMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_pass = new TH1F("ErsatzMEt_pass","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzMEt_fail = new TH1F("ErsatzMEt_fail","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzGenMEt_pass_EB = new TH1F("ErsatzGenMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzGenMEt_pass_EE = new TH1F("ErsatzGenMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzGenMEt_fail_EB = new TH1F("ErsatzGenMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzGenMEt_fail_EE = new TH1F("ErsatzGenMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzGenMEt_pass = new TH1F("ErsatzGenMEt_pass","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzGenMEt_fail = new TH1F("ErsatzGenMEt_fail","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzCaloMEt_pass_EB = new TH1F("ErsatzCaloMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzCaloMEt_pass_EE = new TH1F("ErsatzCaloMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzCaloMEt_fail_EB = new TH1F("ErsatzCaloMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzCaloMEt_fail_EE = new TH1F("ErsatzCaloMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzCaloMEt_pass = new TH1F("ErsatzCaloMEt_pass","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzCaloMEt_fail = new TH1F("ErsatzCaloMEt_fail","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzTcMEt_pass_EB = new TH1F("ErsatzTcMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzTcMEt_pass_EE = new TH1F("ErsatzTcMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzTcMEt_fail_EB = new TH1F("ErsatzTcMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzTcMEt_fail_EE = new TH1F("ErsatzTcMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzTcMEt_pass = new TH1F("ErsatzTcMEt_pass","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzTcMEt_fail = new TH1F("ErsatzTcMEt_fail","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_ErsatzPfMEt_pass_EB = new TH1F("ErsatzPfMEt_pass_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzPfMEt_pass_EE = new TH1F("ErsatzPfMEt_pass_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzPfMEt_fail_EB = new TH1F("ErsatzPfMEt_fail_EB","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzPfMEt_fail_EE = new TH1F("ErsatzPfMEt_fail_EE","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzPfMEt_pass = new TH1F("ErsatzPfMEt_pass","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - TH1F* h_ErsatzPfMEt_fail = new TH1F("ErsatzPfMEt_fail","Ersatz MET;#slash{E}_{T} (GeV);Arbitrary Units", 100, 0., 100.); - - TH1F* h_acceptance_correction_genMEt_pass_EB = new TH1F("acceptance_correction_genMEt_pass_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_genMEt_pass_EE = new TH1F("acceptance_correction_genMEt_pass_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_genMEt_fail_EB = new TH1F("acceptance_correction_genMEt_fail_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_genMEt_fail_EE = new TH1F("acceptance_correction_genMEt_fail_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - - TH1F* h_acceptance_correction_caloMEt_pass_EB = new TH1F("acceptance_correction_caloMEt_pass_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_caloMEt_pass_EE = new TH1F("acceptance_correction_caloMEt_pass_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_caloMEt_fail_EB = new TH1F("acceptance_correction_caloMEt_fail_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_caloMEt_fail_EE = new TH1F("acceptance_correction_caloMEt_fail_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - - TH1F* h_acceptance_correction_tcMEt_pass_EB = new TH1F("acceptance_correction_tcMEt_pass_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_tcMEt_pass_EE = new TH1F("acceptance_correction_tcMEt_pass_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_tcMEt_fail_EB = new TH1F("acceptance_correction_tcMEt_fail_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_tcMEt_fail_EE = new TH1F("acceptance_correction_tcMEt_fail_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - - TH1F* h_acceptance_correction_pfMEt_pass_EB = new TH1F("acceptance_correction_pfMEt_pass_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_pfMEt_pass_EE = new TH1F("acceptance_correction_pfMEt_pass_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_pfMEt_fail_EB = new TH1F("acceptance_correction_pfMEt_fail_EB", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - TH1F* h_acceptance_correction_pfMEt_fail_EE = new TH1F("acceptance_correction_pfMEt_fail_EE", "Acceptance Correction;#slash{E}_{T} (GeV);Acceptance Correction", 100, 0., 100.); - - TH1F* h_dpt_pf_gsf = new TH1F("h_dpt_pf_gsf", "pf p_{T} - gsf p_{T};#Delta p_{T} (GeV);Arbitrary Units", 100, -10., 10.); - TH1F* h_dpt_pf_gsf_EB = new TH1F("h_dpt_pf_gsf_EB", "pf p_{T} - gsf p_{T};#Delta p_{T} (GeV);Arbitrary Units", 100, -10., 10.); - TH1F* h_dpt_pf_gsf_EE = new TH1F("h_dpt_pf_gsf_EE", "pf p_{T} - gsf p_{T};#Delta p_{T} (GeV);Arbitrary Units", 100, -10., 10.); - TH1F* h_nMatched = new TH1F("h_nMatched", "Particle Flow Matching;nMatched;Arbitrary Units", 4, 0., 4.); - TH1F* h_nMatched_EB = new TH1F("h_nMatched_EB", "Particle Flow Matching;nMatched;Arbitrary Units", 4, 0., 4.); - TH1F* h_nMatched_EE = new TH1F("h_nMatched_EE", "Particle Flow Matching;nMatched;Arbitrary Units", 4, 0., 4.); - - cout << "Declared Histograms" << endl; - - TRandom3 r; - - TString WFileName = datapath+"WenuTrue.root"; - TFile *fileW = TFile::Open(WFileName); - cout << "Opened W Monte Carlo file" << endl; - TTree *t = (TTree*) fileW->Get("analyse/AnalysisData"); - cout << "Got W TTree" << endl; - - long nEntries = t->GetEntriesFast(); - cout << "Total number of W events = " << nEntries << endl; - - int nSelElecs; - - int elec_q[4]; - double elec_pt[4], elec_eta[4], elec_phi[4]; - double elec_trackiso[4], elec_ecaliso[4], elec_hcaliso[4]; - double elec_sIhIh[4], elec_dPhi[4], elec_dEta[4]; - double elec_eop[4], elec_hoe[4], elec_pin[4], elec_pout[4]; - double elec_e1x5[4], elec_e2x5[4], elec_e5x5[4]; - - double McElec_pt, McElec_eta, McElec_phi; - double McNu_pt, McNu_eta, McNu_phi; - double McElecNu_dPhi, McElecNu_dEta, McElecNu_dR; - double McW_m, McW_pt, McW_y, McW_phi; - double GenMEt_W, CaloMEt_W, TcMEt_W, PfMEt_W;//, CaloMEt25, CaloMEt30; - //double CaloMt[4];// CaloMt25[4], CaloMt30[4]; - - TBranch* bMcW_m = t->GetBranch("Boson_m"); - bMcW_m->SetAddress(&McW_m); - TBranch* bMcW_pt = t->GetBranch("Boson_pt"); - bMcW_pt->SetAddress(&McW_pt); - TBranch* bMcW_y = t->GetBranch("Boson_y"); - bMcW_y->SetAddress(&McW_y); - TBranch* bnSelElecs = t->GetBranch("nSelElecs"); - bnSelElecs->SetAddress(&nSelElecs); - //TBranch* belec_q = t->GetBranch("elec_q"); - //belec_q->SetAddress(&elec_q); - TBranch* belec_pt = t->GetBranch("elec_pt"); - belec_pt->SetAddress(&elec_pt); - TBranch* belec_eta = t->GetBranch("elec_eta"); - belec_eta->SetAddress(&elec_eta); - TBranch* belec_phi = t->GetBranch("elec_phi"); - belec_phi->SetAddress(&elec_phi); - TBranch* belec_trackiso = t->GetBranch("elec_trckIso"); - belec_trackiso->SetAddress(&elec_trackiso); - TBranch* belec_ecaliso = t->GetBranch("elec_ecalIso"); - belec_ecaliso->SetAddress(&elec_ecaliso); - TBranch* belec_hcaliso = t->GetBranch("elec_hcalIso"); - belec_hcaliso->SetAddress(&elec_hcaliso); - TBranch* bElec_sIhIh = t->GetBranch("elec_sIhIh"); - bElec_sIhIh->SetAddress(&elec_sIhIh); - TBranch* bElec_dPhi = t->GetBranch("elec_dPhiIn"); - bElec_dPhi->SetAddress(&elec_dPhi); - TBranch* bElec_dEta = t->GetBranch("elec_dEtaIn"); - bElec_dEta->SetAddress(&elec_dEta); - cout << "moooooooooooooo" << endl; - TBranch* bMcElec_pt = t->GetBranch("RndmMcElec_pt"); - bMcElec_pt->SetAddress(&McElec_pt); - TBranch* bMcElec_eta = t->GetBranch("RndmMcElec_eta"); - bMcElec_eta->SetAddress(&McElec_eta); - TBranch* bMcElec_phi = t->GetBranch("RndmMcElec_phi"); - bMcElec_phi->SetAddress(&McElec_phi); - cout << "moooooooooooooo" << endl; - TBranch* bMcNu_pt = t->GetBranch("McNu_pt"); - bMcNu_pt->SetAddress(&McNu_pt); - TBranch* bMcNu_eta = t->GetBranch("McNu_eta"); - bMcNu_eta->SetAddress(&McNu_eta); - TBranch* bMcNu_phi = t->GetBranch("McNu_phi"); - bMcNu_phi->SetAddress(&McNu_phi); - cout << "moooooooooooooo" << endl; - TBranch* bMcElecNu_dPhi = t->GetBranch("McLeptons_dPhi"); - bMcElecNu_dPhi->SetAddress(&McElecNu_dPhi); - TBranch* bMcElecNu_dEta = t->GetBranch("McLeptons_dEta"); - bMcElecNu_dEta->SetAddress(&McElecNu_dEta); - TBranch* bMcElecNu_dR = t->GetBranch("McLeptons_dR"); - bMcElecNu_dR->SetAddress(&McElecNu_dR); - TBranch* bGen_MEt = t->GetBranch("genMEt"); - bGen_MEt->SetAddress(&GenMEt_W); - TBranch* bCalo_MEt = t->GetBranch("caloMEt"); - bCalo_MEt->SetAddress(&CaloMEt_W); - TBranch* bTc_MEt = t->GetBranch("tcMEt"); - bTc_MEt->SetAddress(&TcMEt_W); - TBranch* bPf_MEt = t->GetBranch("pfMEt"); - bPf_MEt->SetAddress(&PfMEt_W); -// TBranch* bCalo_MEt25 = t->GetBranch("caloMEt25"); -// bCalo_MEt25->SetAddress(&CaloMEt25); -// TBranch* bCalo_MEt30 = t->GetBranch("caloMEt30"); -// bCalo_MEt30->SetAddress(&CaloMEt30); -// TBranch* bCalo_Mt = t->GetBranch("caloMt"); -// bCalo_Mt->SetAddress(&CaloMt); - cout << "Set up branches" << endl; - - //long nentries = t->GetEntries(); - //int index = 0; - int aaa = 0, bbb = 0, ccc = 0, ddd = 0; - for(long i = 0; i < nEntries; ++i) - { - if(i%100000 == 0) cout <<"Analysing event "<< i << endl; - //if (i == ChosenEvents[index]) - //{ - //index++; - //bool iIsChosen = (i == ChosenEvents[index]); - t->GetEntry(i); - h_McElec_pt->Fill(McElec_pt); - h_McElec_eta->Fill(McElec_eta); - h_McNu_pt->Fill(McNu_pt); - h_McNu_eta->Fill(McNu_eta); - h_McElecNu_dPhi->Fill(McElecNu_dPhi); - h_McElecNu_dEta->Fill(McElecNu_dEta); - h_McElecNu_dR->Fill(McElecNu_dR); - h_McW_m->Fill(McW_m); - h_McW_pt->Fill(McW_pt); - h_McW_y->Fill(McW_y); - //h_elec_q->Fill(elec_q[0]); - h_elec_pt->Fill(elec_pt[0]); - h_elec_eta->Fill(elec_eta[0]); - h_elec_ecaliso->Fill(elec_ecaliso[0]); - h_elec_hcaliso->Fill(elec_hcaliso[0]); - h_elec_trackiso->Fill(elec_trackiso[0]); - h_elec_dEta->Fill(elec_dEta[0]); - h_elec_dPhi->Fill(elec_dPhi[0]); - h_elec_sIhIh->Fill(elec_sIhIh[0]); - //h_elec_eop->Fill(elec_eop[0]); - //h_elec_hoe->Fill(elec_hoe[0]); - //h_elec_pin->Fill(elec_pin[0]); - //h_elec_pout->Fill(elec_pout[0]); - //h_elec_e1x5->Fill(elec_e1x5[0]); - //h_elec_e2x5->Fill(elec_e2x5[0]); - //h_elec_e5x5->Fill(elec_e5x5[0]); - if(elec_pt[0] > cPt) - { - bool pass_e_cuts = false; - bool pass_trkiso_cut = false; - bool inBarrel = false; - bool inEndcap = false; - if(fabs(elec_eta[0]) < 1.4442) - { - pass_e_cuts = (elec_sIhIh[0] < csIhIh_EB); - pass_trkiso_cut = (elec_trackiso[0] < cTrackiso_EB); - inBarrel = true; - }else if(fabs(elec_eta[0]) < 2.5) - { - pass_e_cuts = (elec_sIhIh[0] < csIhIh_EE); - pass_trkiso_cut = (elec_trackiso[0] < cTrackiso_EE); - inEndcap = true; - } - if(pass_e_cuts) - { - if(pass_trkiso_cut) - { - h_WGenMEt_pass->Fill(GenMEt_W); - h_WCaloMEt_pass->Fill(CaloMEt_W); - h_WTcMEt_pass->Fill(TcMEt_W); - h_WPfMEt_pass->Fill(PfMEt_W); - if(inBarrel) - { - h_WGenMEt_pass_EB->Fill(GenMEt_W); - h_WCaloMEt_pass_EB->Fill(CaloMEt_W); - h_WTcMEt_pass_EB->Fill(TcMEt_W); - h_WPfMEt_pass_EB->Fill(PfMEt_W); - aaa++; - if(fabs(McNu_eta) < 2.5) - { - h_mcWGenMEtin_pass_EB->Fill(GenMEt_W); - h_mcWCaloMEtin_pass_EB->Fill(CaloMEt_W); - h_mcWTcMEtin_pass_EB->Fill(TcMEt_W); - h_mcWPfMEtin_pass_EB->Fill(PfMEt_W); - }else{ - h_mcWGenMEtout_pass_EB->Fill(GenMEt_W); - h_mcWCaloMEtout_pass_EB->Fill(CaloMEt_W); - h_mcWTcMEtout_pass_EB->Fill(TcMEt_W); - h_mcWPfMEtout_pass_EB->Fill(PfMEt_W); - } - } - if(inEndcap) - { - h_WGenMEt_pass_EE->Fill(GenMEt_W); - h_WCaloMEt_pass_EE->Fill(CaloMEt_W); - h_WTcMEt_pass_EE->Fill(TcMEt_W); - h_WPfMEt_pass_EE->Fill(PfMEt_W); - bbb++; - if(fabs(McNu_eta) < 2.5) - { - h_mcWGenMEtin_pass_EE->Fill(GenMEt_W); - h_mcWCaloMEtin_pass_EE->Fill(CaloMEt_W); - h_mcWTcMEtin_pass_EE->Fill(TcMEt_W); - h_mcWPfMEtin_pass_EE->Fill(PfMEt_W); - }else{ - h_mcWGenMEtout_pass_EE->Fill(GenMEt_W); - h_mcWCaloMEtout_pass_EE->Fill(CaloMEt_W); - h_mcWTcMEtout_pass_EE->Fill(TcMEt_W); - h_mcWPfMEtout_pass_EE->Fill(PfMEt_W); - } - } - }else - { - h_WGenMEt_fail->Fill(GenMEt_W); - h_WCaloMEt_fail->Fill(CaloMEt_W); - h_WTcMEt_fail->Fill(TcMEt_W); - h_WPfMEt_fail->Fill(PfMEt_W); - if(inBarrel) - { - h_WGenMEt_fail_EB->Fill(GenMEt_W); - h_WCaloMEt_fail_EB->Fill(CaloMEt_W); - h_WTcMEt_fail_EB->Fill(TcMEt_W); - h_WPfMEt_fail_EB->Fill(PfMEt_W); - ccc++; - if(fabs(McNu_eta) < 2.5) - { - h_mcWGenMEtin_fail_EB->Fill(GenMEt_W); - h_mcWCaloMEtin_fail_EB->Fill(CaloMEt_W); - h_mcWTcMEtin_fail_EB->Fill(TcMEt_W); - h_mcWPfMEtin_fail_EB->Fill(PfMEt_W); - }else{ - h_mcWGenMEtout_fail_EB->Fill(GenMEt_W); - h_mcWCaloMEtout_fail_EB->Fill(CaloMEt_W); - h_mcWTcMEtout_fail_EB->Fill(TcMEt_W); - h_mcWPfMEtout_fail_EB->Fill(PfMEt_W); - } - } - if(inEndcap) - { - h_WGenMEt_fail_EE->Fill(GenMEt_W); - h_WCaloMEt_fail_EE->Fill(CaloMEt_W); - h_WTcMEt_fail_EE->Fill(TcMEt_W); - h_WPfMEt_fail_EE->Fill(PfMEt_W); - ddd++; - if(fabs(McNu_eta) < 2.5) - { - h_mcWGenMEtin_fail_EE->Fill(GenMEt_W); - h_mcWCaloMEtin_fail_EE->Fill(CaloMEt_W); - h_mcWTcMEtin_fail_EE->Fill(TcMEt_W); - h_mcWPfMEtin_fail_EE->Fill(PfMEt_W); - }else{ - h_mcWGenMEtout_fail_EE->Fill(GenMEt_W); - h_mcWCaloMEtout_fail_EE->Fill(CaloMEt_W); - h_mcWTcMEtout_fail_EE->Fill(TcMEt_W); - h_mcWPfMEtout_fail_EE->Fill(PfMEt_W); - } - } - } - } - } - } - fileW->Close(); - cout << "Closed W Monte Carlo file" << endl; - - cout << "Number of W events passing selection cuts = " << aaa+bbb+ccc+ddd << endl; - cout << "Number Pass EB = " << aaa << endl; - cout << "Number Pass EE = " << bbb << endl; - cout << "Number Fail EB = " << ccc << endl; - cout << "Number Fail EE = " << ddd << endl; - - TString ErsatzFileName = datapath+process+".root"; - TFile *fileZ = TFile::Open(ErsatzFileName); - cout << "Opened Ersatz data file" << endl; - t = (TTree*) fileZ->Get("ErsatzMEt/ErsatzMEt"); - cout << "Got ersatz TTree" << endl; - nEntries = t->GetEntries(); - cout << "Total number of ersatz events = " << nEntries << endl; - - int nTags, nProbes; - int nTagMatched, nProbeMatched; - double GenMEt, CaloMEt, PfMEt, TcMEt; - double GenMEtphi, CaloMEtphi, PfMEtphi, TcMEtphi; - double McZ_m, McZ_pt, McZ_y; - double McZ_rescM, McZ_rescPt, McZ_rescY; - double McTag_pt[4], McTag_eta[4]; - double McTag_rescPt[4], McTag_rescEta[4]; - double McProbe_pt[4], McProbe_eta[4]; - double McProbe_rescPt[4], McProbe_rescEta[4]; - double McTagProbe_dPhi[4], McTagProbe_dEta[4], McTagProbe_dR[4]; - int tag_q[4]; - double tag_pt[4], tag_eta[4], tag_phi[4]; - double tag_rescPt[4], tag_rescEta[4], tag_rescPhi[4]; - double tag_trackiso[4], tag_ecaliso[4], tag_hcaliso[4]; - double tag_sIhIh[4], tag_dPhi[4], tag_dEta[4]; - double tag_eop[4], tag_hoe[4], tag_pin[4], tag_pout[4]; - double tag_e1x5[4], tag_e2x5[4], tag_e5x5[4]; - int probe_q[4]; - double probe_pt[4], probe_eta[4], probe_phi[4]; - double probe_rescPt[4], probe_rescEta[4], probe_rescPhi[4]; - double probe_trackiso[4], probe_ecaliso[4], probe_hcaliso[4]; - double probe_sIhIh[4], probe_dPhi[4], probe_dEta[4]; - double probe_eop[4], probe_hoe[4], probe_pin[4], probe_pout[4]; - double probe_e1x5[4], probe_e2x5[4], probe_e5x5[4]; - double Z_m[4], Z_pt[4], Z_y[4], Z_phi[4]; - double Z_rescM[4], Z_rescPt[4], Z_rescY[4], Z_rescPhi[4]; - int sc_nClus[4]; - double sc_E[4], sc_rawE[4], sc_fEtaCorr[4], sc_fBremCorr[4]; - double ErsatzGenMEt[4], ErsatzCaloMEt[4], ErsatzPfMEt[4], ErsatzTcMEt[4], ErsatzT1MEt[4]; - //double ErsatzGenMEtPhi[4], ErsatzCaloMEtPhi[4], ErsatzPfMEtPhi[4], ErsatzTcMEtPhi[4]; - //double ErsatzGenMt[4], ErsatzCaloMt[4], ErsatzPfMt[4], ErsatzTcMt[4]; - double dpt_pf_gsf[4]; - double mesc[4]; - - TBranch* bnTags = t->GetBranch("nTags"); - bnTags->SetAddress(&nTags); - TBranch* bnProbes = t->GetBranch("nProbes"); - bnProbes->SetAddress(&nProbes); - TBranch* bnTagMatched = t->GetBranch("nTagMatched"); - bnTagMatched->SetAddress(&nTagMatched); - TBranch* bnProbeMatched = t->GetBranch("nProbeMatched"); - bnProbeMatched->SetAddress(&nProbeMatched); - TBranch* bdpt_pf_gsf = t->GetBranch("dpt_pf_gsf"); - bdpt_pf_gsf->SetAddress(&dpt_pf_gsf); - cout << "moooooooooooooo" << endl; - //MET - TBranch* bGenMEt = t->GetBranch("GenMEt"); - bGenMEt->SetAddress(&GenMEt); - TBranch* bCaloMEt = t->GetBranch("CaloMEt"); - bCaloMEt->SetAddress(&CaloMEt); - TBranch* bPfMEt = t->GetBranch("PfMEt"); - bPfMEt->SetAddress(&PfMEt); - TBranch* bTcMEt = t->GetBranch("TcMEt"); - bTcMEt->SetAddress(&TcMEt); - cout << "moooooooooooooo" << endl; - //MET phi - TBranch* bGenMEtphi = t->GetBranch("GenMEtphi"); - bGenMEtphi->SetAddress(&GenMEtphi); - TBranch* bCaloMEtphi = t->GetBranch("CaloMEtphi"); - bCaloMEtphi->SetAddress(&CaloMEtphi); - TBranch* bPfMEtphi = t->GetBranch("PfMEtphi"); - bPfMEtphi->SetAddress(&PfMEtphi); - TBranch* bTcMEtphi = t->GetBranch("TcMEtphi"); - bTcMEtphi->SetAddress(&TcMEtphi); - cout << "moooooooooooooo" << endl; - //Mc particles - TBranch* bMcZ_m = t->GetBranch("McZ_m"); - bMcZ_m->SetAddress(&McZ_m); - TBranch* bMcZ_pt = t->GetBranch("McZ_Pt"); - bMcZ_pt->SetAddress(&McZ_pt); - TBranch* bMcZ_y = t->GetBranch("McZ_y"); - bMcZ_y->SetAddress(&McZ_y); - TBranch* bMcZ_rescM = t->GetBranch("McZ_rescM"); - bMcZ_rescM->SetAddress(&McZ_rescM); - TBranch* bMcZ_rescPt = t->GetBranch("McZ_rescPt"); - bMcZ_rescPt->SetAddress(&McZ_rescPt); - TBranch* bMcZ_rescY = t->GetBranch("McZ_rescY"); - bMcZ_rescY->SetAddress(&McZ_rescY); - cout << "moooooooooooooo" << endl; - TBranch* bMcTag_pt = t->GetBranch("McElec_pt"); - bMcTag_pt->SetAddress(&McTag_pt); - TBranch* bMcTag_eta = t->GetBranch("McElec_eta"); - bMcTag_eta->SetAddress(&McTag_eta); - TBranch* bMcTag_rescPt = t->GetBranch("McElec_rescPt"); - bMcTag_rescPt->SetAddress(&McTag_rescPt); - TBranch* bMcTag_rescEta = t->GetBranch("McElec_rescEta"); - bMcTag_rescEta->SetAddress(&McTag_rescEta); - cout << "moooooooooooooo" << endl; - TBranch* bMcProbe_pt = t->GetBranch("McProbe_pt"); - bMcProbe_pt->SetAddress(&McProbe_pt); - TBranch* bMcProbe_eta = t->GetBranch("McProbe_eta"); - bMcProbe_eta->SetAddress(&McProbe_eta); - TBranch* bMcProbe_rescPt = t->GetBranch("McProbe_rescPt"); - bMcProbe_rescPt->SetAddress(&McProbe_rescPt); - TBranch* bMcProbe_rescEta = t->GetBranch("McProbe_rescEta"); - bMcProbe_rescEta->SetAddress(&McProbe_rescEta); - cout << "moooooooooooooo" << endl; - TBranch* bMcTagProbe_dPhi = t->GetBranch("McElecProbe_dPhi"); - bMcTagProbe_dPhi->SetAddress(&McTagProbe_dPhi); - TBranch* bMcTagProbe_dEta = t->GetBranch("McElecProbe_dEta"); - bMcTagProbe_dEta->SetAddress(&McTagProbe_dEta); - TBranch* bMcTagProbe_dR = t->GetBranch("McElecProbe_dR"); - bMcTagProbe_dR->SetAddress(&McTagProbe_dR); - - //Z boson properties - TBranch* bZ_m = t->GetBranch("Z_m"); - bZ_m->SetAddress(&Z_m); - TBranch* bZ_pt = t->GetBranch("Z_pt"); - bZ_pt->SetAddress(&Z_pt); - TBranch* bZ_y = t->GetBranch("Z_y"); - bZ_y->SetAddress(&Z_y); - //TBranch* bZ_eta = t->GetBranch("Z_eta"); - //bZ_eta->SetAddress(&Z_eta); - TBranch* bZ_phi = t->GetBranch("Z_phi"); - bZ_phi->SetAddress(&Z_phi); - TBranch* bZ_rescM = t->GetBranch("Z_rescM"); - bZ_rescM->SetAddress(&Z_rescM); - TBranch* bZ_rescPt = t->GetBranch("Z_rescPt"); - bZ_rescPt->SetAddress(&Z_rescPt); - TBranch* bZ_rescY = t->GetBranch("Z_rescY"); - bZ_rescY->SetAddress(&Z_rescY); - //TBranch* bZ_rescEta = t->GetBranch("Z_rescEta"); - //bZ_rescEta->SetAddress(&Z_rescEta); - TBranch* bZ_rescPhi = t->GetBranch("Z_rescPhi"); - bZ_rescPhi->SetAddress(&Z_rescPhi); - cout << "moooooooooooooo" << endl; - //tag properties - TBranch* bTag_q = t->GetBranch("tag_q"); - bTag_q->SetAddress(&tag_q); - TBranch* bTag_pt = t->GetBranch("tag_pt"); - bTag_pt->SetAddress(&tag_pt); - TBranch* bTag_eta = t->GetBranch("tag_eta"); - bTag_eta->SetAddress(&tag_eta); - TBranch* bTag_phi = t->GetBranch("tag_phi"); - bTag_phi->SetAddress(&tag_phi); - TBranch* bTag_rescPt = t->GetBranch("tag_rescPt"); - bTag_rescPt->SetAddress(&tag_rescPt); - TBranch* bTag_rescEta = t->GetBranch("tag_rescEta"); - bTag_rescEta->SetAddress(&tag_rescEta); - TBranch* bTag_rescPhi = t->GetBranch("tag_rescPhi"); - bTag_rescPhi->SetAddress(&tag_rescPhi); - TBranch* bTag_sIhIh = t->GetBranch("tag_sIhIh"); - bTag_sIhIh->SetAddress(&tag_sIhIh); - TBranch* bTag_dPhi = t->GetBranch("tag_dPhiIn"); - bTag_dPhi->SetAddress(&tag_dPhi); - TBranch* bTag_dEta = t->GetBranch("tag_dEtaIn"); - bTag_dEta->SetAddress(&tag_dEta); - TBranch* bTag_tIso = t->GetBranch("tag_trckIso"); - bTag_tIso->SetAddress(&tag_trackiso); - TBranch* bTag_eIso = t->GetBranch("tag_ecalIso"); - bTag_eIso->SetAddress(&tag_ecaliso); - TBranch* bTag_hIso = t->GetBranch("tag_hcalIso"); - bTag_hIso->SetAddress(&tag_hcaliso); - TBranch* bTag_pin = t->GetBranch("tag_pin"); - bTag_pin->SetAddress(&tag_pin); - TBranch* bTag_pout = t->GetBranch("tag_pout"); - bTag_pout->SetAddress(&tag_pout); - TBranch* bTag_eop = t->GetBranch("tag_eop"); - bTag_eop->SetAddress(&tag_eop); - TBranch* bTag_hoe = t->GetBranch("tag_hoe"); - bTag_hoe->SetAddress(&tag_hoe); - TBranch* bTag_e1x5 = t->GetBranch("tag_e1x5Max"); - bTag_e1x5->SetAddress(&tag_e1x5); - TBranch* bTag_e2x5 = t->GetBranch("tag_e2x5Max"); - bTag_e2x5->SetAddress(&tag_e2x5); - TBranch* bTag_e5x5 = t->GetBranch("tag_e5x5"); - bTag_e5x5->SetAddress(&tag_e5x5); - //probe properties - TBranch* bProbe_q = t->GetBranch("probe_q"); - bProbe_q->SetAddress(&probe_q); - TBranch* bProbe_pt = t->GetBranch("probe_pt"); - bProbe_pt->SetAddress(&probe_pt); - TBranch* bProbe_eta = t->GetBranch("probe_eta"); - bProbe_eta->SetAddress(&probe_eta); - TBranch* bProbe_phi = t->GetBranch("probe_phi"); - bProbe_phi->SetAddress(&probe_phi); - TBranch* bProbe_sIhIh = t->GetBranch("probe_sIhIh"); - bProbe_sIhIh->SetAddress(&probe_sIhIh); - TBranch* bProbe_dPhi = t->GetBranch("probe_dPhiIn"); - bProbe_dPhi->SetAddress(&probe_dPhi); - TBranch* bProbe_dEta = t->GetBranch("probe_dEtaIn"); - bProbe_dEta->SetAddress(&probe_dEta); - TBranch* bProbe_tIso = t->GetBranch("probe_trckIso"); - bProbe_tIso->SetAddress(&probe_trackiso); - TBranch* bProbe_eIso = t->GetBranch("probe_ecalIso"); - bProbe_eIso->SetAddress(&probe_ecaliso); - TBranch* bProbe_hIso = t->GetBranch("probe_hcalIso"); - bProbe_hIso->SetAddress(&probe_hcaliso); - TBranch* bProbe_pin = t->GetBranch("probe_pin"); - bProbe_pin->SetAddress(&probe_pin); - TBranch* bProbe_pout = t->GetBranch("probe_pout"); - bProbe_pout->SetAddress(&probe_pout); - TBranch* bProbe_eop = t->GetBranch("probe_eop"); - bProbe_eop->SetAddress(&probe_eop); - TBranch* bProbe_hoe = t->GetBranch("probe_hoe"); - bProbe_hoe->SetAddress(&probe_hoe); - TBranch* bProbe_e1x5 = t->GetBranch("probe_e1x5Max"); - bProbe_e1x5->SetAddress(&probe_e1x5); - TBranch* bProbe_e2x5 = t->GetBranch("probe_e2x5Max"); - bProbe_e2x5->SetAddress(&probe_e2x5); - TBranch* bProbe_e5x5 = t->GetBranch("probe_e5x5"); - bProbe_e5x5->SetAddress(&probe_e5x5); - //TBranch* bProbe_HCAL = t->GetBranch("probe_HcalE015"); - //bProbe_HCAL->SetAddress(&probe_HCAL); - //TBranch* bProbe_HCALEt = t->GetBranch("probe_HcalEt015"); - //bProbe_HCALEt->SetAddress(&probe_HCALEt); - //Sc energy - cout << "moooooooooooooo" << endl; - //Ersatz MEt results - TBranch* bErsatzGenMEt = t->GetBranch("ErsatzGenMEt"); - bErsatzGenMEt->SetAddress(&ErsatzGenMEt); - TBranch* bErsatzCaloMEt = t->GetBranch("ErsatzCaloMEt"); - bErsatzCaloMEt->SetAddress(&ErsatzCaloMEt); - TBranch* bErsatzPfMEt = t->GetBranch("ErsatzPfMEt"); - bErsatzPfMEt->SetAddress(&ErsatzPfMEt); - TBranch* bErsatzTcMEt = t->GetBranch("ErsatzTcMEt"); - bErsatzTcMEt->SetAddress(&ErsatzTcMEt); - cout << "moooooooooooooo" << endl; - TBranch* bMesc = t->GetBranch("Ersatz_Mesc"); - bMesc->SetAddress(&mesc); - cout << "Set up Branches" << endl; - - aaa=0, bbb=0, ccc=0, ddd=0; - for(int i=0; i < nEntries; ++i) - { - if(i%100000 == 0) cout <<"Processing event "<< i << endl; - t->GetEntry(i); - for(int j = 0; j < nProbes; ++j) - { - h_McTag_pt->Fill(McTag_pt[j]); - h_McTag_rescPt->Fill(McTag_rescPt[j]); - h_McTag_eta->Fill(McTag_eta[j]); - h_McTag_rescEta->Fill(McTag_rescEta[j]); - h_McProbe_pt->Fill(McProbe_pt[j]); - h_McProbe_rescPt->Fill(McProbe_rescPt[j]); - h_McProbe_eta->Fill(McProbe_eta[j]); - h_McProbe_rescEta->Fill(McProbe_rescEta[j]); - h_McTagProbe_dPhi->Fill(McTagProbe_dPhi[j]); - h_McTagProbe_dEta->Fill(McTagProbe_dEta[j]); - h_McTagProbe_dR->Fill(McTagProbe_dR[j]); - h_McZ_m->Fill(McZ_m); - h_McZ_rescM->Fill(McZ_rescM); - h_McZ_pt->Fill(McZ_pt); - h_McZ_rescPt->Fill(McZ_rescPt); - h_McZ_y->Fill(McZ_y); - h_McZ_rescY->Fill(McZ_rescY); - h_tag_q->Fill(tag_q[j]); - h_tag_pt->Fill(tag_pt[j]); - h_tag_rescPt->Fill(tag_rescPt[j]); - h_tag_eta->Fill(tag_eta[j]); - h_tag_rescEta->Fill(tag_rescEta[j]); - h_tag_ecaliso->Fill(tag_ecaliso[j]); - h_tag_hcaliso->Fill(tag_hcaliso[j]); - h_tag_trackiso->Fill(tag_trackiso[j]); - h_tag_dEta->Fill(tag_dEta[j]); - h_tag_dPhi->Fill(tag_dPhi[j]); - h_tag_sIhIh->Fill(tag_sIhIh[j]); - //h_tag_eop->Fill(tag_eop[j]); - //h_tag_hoe->Fill(tag_hoe[j]); - //h_tag_pin->Fill(tag_pin[j]); - //h_tag_pout->Fill(tag_pout[j]); - //h_tag_e1x5->Fill(tag_e1x5[j]); - //h_tag_e2x5->Fill(tag_e2x5[j]); - //h_tag_e5x5->Fill(tag_e5x5[j]); - //h_Z_pt->Fill(Z_pt[j]); - //h_Z_rescPt->Fill(Z_rescPt[j]); - //h_Z_y->Fill(Z_y[j]); - //h_Z_rescY->Fill(Z_rescY[j]); - bool passEtCut = false; - if(tag_rescPt[j] > cPt) passEtCut = true; - /* - if(process == "Zee" || process == "BCtoE_30to80" || process == "BCtoE_80to170"){ - if(tag_rescPt[j] > cPt) passEtCut = true; - }else{ - if(tag_pt[j] > (91.188/80.398)*cPt) passEtCut = true; - } - */ - if(passEtCut) - { - //if(fabs(mesc[j]-91.1876) < 21.1876) - //{ - bool pass_e_cuts = false; - bool pass_trkiso_cut = false; - bool inBarrel = false; - bool inEndcap = false; - if(fabs(tag_eta[j])<1.4442) - { - pass_e_cuts = (tag_ecaliso[j] < cECALiso_EB && tag_hcaliso[j] < cHCALiso_EB - && tag_sIhIh[j] < csIhIh_EB && tag_dPhi[j] < cDeltaPhi_EB - && tag_dEta[j] < cDeltaEta_EB); - pass_trkiso_cut = (tag_trackiso[j] < cTrackiso_EB); - inBarrel = true; - }else if(fabs(tag_eta[j] < 2.5)) - { - pass_e_cuts = (tag_ecaliso[j] < cECALiso_EE && tag_hcaliso[j] < cHCALiso_EE - && tag_sIhIh[j] < csIhIh_EE && tag_dPhi[j] < cDeltaPhi_EE - && tag_dEta[j] < cDeltaEta_EE); - pass_trkiso_cut = (tag_trackiso[j] < cTrackiso_EE); - inEndcap = true; - } - if(pass_e_cuts) - { - bool pass_probe_cuts = false; - double f1x5 = probe_e1x5[j]/probe_e5x5[j]; - double f2x5 = probe_e2x5[j]/probe_e5x5[j]; - if(fabs(probe_eta[j]) < 1.4442) - { - pass_probe_cuts = (/*probe_HCAL[j] < cHCAL && (*/f1x5 > cf1x5 || f2x5 > cf2x5//) - /*&& probe_elec[j] == celecmatch*/); - }else if(fabs(probe_eta[j] < 2.5)){ - pass_probe_cuts = (/*probe_HCALEt[j] < cHCALEt &&*/ probe_sIhIh[j] < cnusIhIh - /*&& probe_elec[j] == celecmatch*/); - } - if(pass_probe_cuts) - { - int EtaInt = int((probe_eta[j] + 3.)/0.01739); - double weight = eventweight/nueff[EtaInt]; - if(pass_trkiso_cut) - { - h_ErsatzGenMEt_pass->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_pass->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_pass->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_pass->Fill(ErsatzPfMEt[j], weight); - h_nMatched->Fill(nTagMatched, weight); - h_dpt_pf_gsf->Fill(dpt_pf_gsf[j], weight); - if(inBarrel) - { - aaa++; - h_ErsatzGenMEt_pass_EB->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_pass_EB->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_pass_EB->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_pass_EB->Fill(ErsatzPfMEt[j], weight); - h_nMatched_EB->Fill(nTagMatched, weight); - h_dpt_pf_gsf_EB->Fill(dpt_pf_gsf[j], weight); - } - if(inEndcap) - { - bbb++; - h_ErsatzGenMEt_pass_EE->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_pass_EE->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_pass_EE->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_pass_EE->Fill(ErsatzPfMEt[j], weight); - h_nMatched_EE->Fill(nTagMatched, weight); - h_dpt_pf_gsf_EE->Fill(dpt_pf_gsf[j], weight); - } - }else{ - h_ErsatzGenMEt_fail->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_fail->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_fail->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_fail->Fill(ErsatzPfMEt[j], weight); - if(inBarrel) - { - ccc++; - h_ErsatzGenMEt_fail_EB->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_fail_EB->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_fail_EB->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_fail_EB->Fill(ErsatzPfMEt[j], weight); - } - if(inEndcap) - { - ddd++; - h_ErsatzGenMEt_fail_EE->Fill(ErsatzGenMEt[j], weight); - h_ErsatzCaloMEt_fail_EE->Fill(ErsatzCaloMEt[j], weight); - h_ErsatzTcMEt_fail_EE->Fill(ErsatzTcMEt[j], weight); - h_ErsatzPfMEt_fail_EE->Fill(ErsatzPfMEt[j], weight); - } - } - } - } - //} - } - } - } - fileZ->Close(); - cout << "Closed Ersatz data file" << endl; - - cout << "Number of events passing selection cuts = " << aaa+bbb+ccc+ddd << endl; - cout << "Number Pass EB = " << aaa << endl; - cout << "Number Pass EE = " << bbb << endl; - cout << "Number Fail EB = " << ccc << endl; - cout << "Number Fail EE = " << ddd << endl; - - TCanvas* c_McBoson_m = new TCanvas("McBoson_m", "", 800, 600); - c_McBoson_m->cd(); - h_McZ_m->Scale(1./h_McZ_m->Integral()); - h_McZ_m->SetLineColor(2); - h_McZ_m->SetStats(kFALSE); - h_McZ_m->SetTitle(kFALSE); - h_McZ_m->GetYaxis()->SetTitleOffset(1.2); - h_McZ_m->Draw(); - h_McW_m->Scale(1./h_McW_m->Integral()); - h_McW_m->SetLineColor(4); - h_McW_m->Draw("same"); - - TLegend* legend_e = new TLegend(0.8, 0.7, 0.99, 0.99); - legend_e->AddEntry(h_McZ_m, "Z #rightarrow ee", "l"); - legend_e->AddEntry(h_McW_m, "W #rightarrow e#nu", "l"); - - legend_e->Draw(); - c_McBoson_m->SaveAs("McBoson_m.png"); - delete c_McBoson_m; - - TCanvas* c_McBoson_pt = new TCanvas("McBoson_pt", "", 800, 600); - c_McBoson_pt->cd(); - h_McZ_pt->Scale(1./h_McZ_pt->Integral()); - h_McZ_pt->SetLineColor(2); - h_McZ_pt->SetStats(kFALSE); - h_McZ_pt->SetTitle(kFALSE); - h_McZ_pt->GetYaxis()->SetTitleOffset(1.2); - h_McZ_pt->Draw(); - h_McW_pt->Scale(1./h_McW_pt->Integral()); - h_McW_pt->SetLineColor(4); - h_McW_pt->Draw("same"); - legend_e->Draw(); - c_McBoson_pt->SaveAs("McBoson_pt.png"); - delete c_McBoson_pt; - - TCanvas* c_McBoson_y = new TCanvas("McBoson_y", "", 800, 600); - c_McBoson_y->cd(); - h_McZ_y->Scale(1./h_McZ_y->Integral()); - h_McZ_y->SetLineColor(2); - h_McZ_y->SetStats(kFALSE); - h_McZ_y->SetTitle(kFALSE); - h_McZ_y->GetYaxis()->SetTitleOffset(1.2); - h_McZ_y->Draw(); - h_McW_y->Scale(1./h_McW_y->Integral()); - h_McW_y->SetLineColor(4); - h_McW_y->Draw("same"); - legend_e->Draw(); - c_McBoson_y->SaveAs("McBoson_y.png"); - delete c_McBoson_y; - - TCanvas* c_McBoson_rescM = new TCanvas("McBoson_rescM", "", 800, 600); - c_McBoson_rescM->cd(); - h_McZ_rescM->Scale(1./h_McZ_rescM->Integral()); - h_McZ_rescM->SetLineColor(2); - h_McZ_rescM->SetStats(kFALSE); - h_McZ_rescM->SetTitle(kFALSE); - h_McZ_rescM->GetYaxis()->SetTitleOffset(1.2); - h_McZ_rescM->Draw(); - h_McW_m->Scale(1./h_McW_m->Integral()); - h_McW_m->SetLineColor(4); - h_McW_m->Draw("same"); - legend_e->Draw(); - c_McBoson_rescM->SaveAs("McBoson_rescM.png"); - delete c_McBoson_rescM; - - TCanvas* c_McBoson_rescPt = new TCanvas("McBoson_rescPt", "", 800, 600); - c_McBoson_rescPt->cd(); - h_McZ_rescPt->Scale(1./h_McZ_rescPt->Integral()); - h_McZ_rescPt->SetLineColor(2); - h_McZ_rescPt->SetStats(kFALSE); - h_McZ_rescPt->SetTitle(kFALSE); - h_McZ_rescPt->GetYaxis()->SetTitleOffset(1.2); - h_McZ_rescPt->Draw(); - h_McW_pt->Scale(1./h_McW_pt->Integral()); - h_McW_pt->SetLineColor(4); - h_McW_pt->Draw("same"); - legend_e->Draw(); - c_McBoson_rescPt->SaveAs("McBoson_rescPt.png"); - delete c_McBoson_rescPt; - - TCanvas* c_McBoson_rescY = new TCanvas("McBoson_rescY", "", 800, 600); - c_McBoson_rescY->cd(); - h_McZ_rescY->Scale(1./h_McZ_rescY->Integral()); - h_McZ_rescY->SetLineColor(2); - h_McZ_rescY->SetStats(kFALSE); - h_McZ_rescY->SetTitle(kFALSE); - h_McZ_rescY->GetYaxis()->SetTitleOffset(1.2); - h_McZ_rescY->Draw(); - h_McW_y->Scale(1./h_McW_y->Integral()); - h_McW_y->SetLineColor(4); - h_McW_y->Draw("same"); - legend_e->Draw(); - c_McBoson_rescY->SaveAs("McBoson_rescY.png"); - delete c_McBoson_rescY; - - TCanvas* c_McElec_pt = new TCanvas("McElec_pt", "", 800, 600); - c_McElec_pt->cd(); - h_McTag_pt->Scale(1./h_McTag_pt->Integral()); - h_McTag_pt->SetLineColor(2); - h_McTag_pt->SetStats(kFALSE); - h_McTag_pt->SetTitle(kFALSE); - h_McTag_pt->GetYaxis()->SetTitleOffset(1.2); - h_McTag_pt->Draw(); - h_McElec_pt->Scale(1./h_McElec_pt->Integral()); - h_McElec_pt->SetLineColor(4); - h_McElec_pt->Draw("same"); - legend_e->Draw(); - c_McElec_pt->SaveAs("McElec_pt.png"); - delete c_McElec_pt; - - TCanvas* c_McElec_eta = new TCanvas("McElec_eta", "", 800, 600); - c_McElec_eta->cd(); - h_McTag_eta->Scale(1./h_McTag_eta->Integral()); - h_McTag_eta->SetLineColor(2); - h_McTag_eta->SetStats(kFALSE); - h_McTag_eta->SetTitle(kFALSE); - h_McTag_eta->GetYaxis()->SetTitleOffset(1.2); - h_McTag_eta->Draw(); - h_McElec_eta->Scale(1./h_McElec_eta->Integral()); - h_McElec_eta->SetLineColor(4); - h_McElec_eta->Draw("same"); - legend_e->Draw(); - c_McElec_eta->SaveAs("McElec_eta.png"); - delete c_McElec_eta; - - TCanvas* c_McElec_rescPt = new TCanvas("McElec_rescPt", "", 800, 600); - c_McElec_rescPt->cd(); - h_McTag_rescPt->Scale(1./h_McTag_rescPt->Integral()); - h_McTag_rescPt->SetLineColor(2); - h_McTag_rescPt->SetStats(kFALSE); - h_McTag_rescPt->SetTitle(kFALSE); - h_McTag_rescPt->GetYaxis()->SetTitleOffset(1.2); - h_McTag_rescPt->Draw(); - h_McElec_pt->Scale(1./h_McElec_pt->Integral()); - h_McElec_pt->SetLineColor(4); - h_McElec_pt->Draw("same"); - legend_e->Draw(); - c_McElec_rescPt->SaveAs("McElec_rescPt.png"); - delete c_McElec_rescPt; - - TCanvas* c_McElec_rescEta = new TCanvas("McElec_rescEta", "", 800, 600); - c_McElec_rescEta->cd(); - h_McTag_rescEta->Scale(1./h_McTag_rescEta->Integral()); - h_McTag_rescEta->SetLineColor(2); - h_McTag_rescEta->SetStats(kFALSE); - h_McTag_rescEta->SetTitle(kFALSE); - h_McTag_rescEta->GetYaxis()->SetTitleOffset(1.2); - h_McTag_rescEta->Draw(); - h_McElec_eta->Scale(1./h_McElec_eta->Integral()); - h_McElec_eta->SetLineColor(4); - h_McElec_eta->Draw("same"); - legend_e->Draw(); - c_McElec_rescEta->SaveAs("McElec_rescEta.png"); - delete c_McElec_rescEta; - - TCanvas* c_McNu_pt = new TCanvas("McNu_pt", "", 800, 600); - c_McNu_pt->cd(); - h_McProbe_pt->Scale(1./h_McProbe_pt->Integral()); - h_McProbe_pt->SetLineColor(2); - h_McProbe_pt->SetStats(kFALSE); - h_McProbe_pt->SetTitle(kFALSE); - h_McProbe_pt->GetYaxis()->SetTitleOffset(1.2); - h_McProbe_pt->Draw(); - h_McNu_pt->Scale(1./h_McNu_pt->Integral()); - h_McNu_pt->SetLineColor(4); - h_McNu_pt->Draw("same"); - legend_e->Draw(); - c_McNu_pt->SaveAs("McNu_pt.png"); - delete c_McNu_pt; - - TCanvas* c_McNu_eta = new TCanvas("McNu_eta", "", 800, 600); - c_McNu_eta->cd(); - h_McProbe_eta->Scale(1./h_McProbe_eta->Integral()); - h_McProbe_eta->SetLineColor(2); - h_McProbe_eta->SetStats(kFALSE); - h_McProbe_eta->SetTitle(kFALSE); - h_McProbe_eta->GetYaxis()->SetTitleOffset(1.2); - h_McProbe_eta->Draw(); - h_McNu_eta->Scale(1./h_McNu_eta->Integral()); - h_McNu_eta->SetLineColor(4); - h_McNu_eta->Draw("same"); - legend_e->Draw(); - c_McNu_eta->SaveAs("McNu_eta.png"); - delete c_McNu_eta; - - TCanvas* c_McNu_rescPt = new TCanvas("McNu_rescPt", "", 800, 600); - c_McNu_rescPt->cd(); - h_McProbe_rescPt->Scale(1./h_McProbe_rescPt->Integral()); - h_McProbe_rescPt->SetLineColor(2); - h_McProbe_rescPt->SetStats(kFALSE); - h_McProbe_rescPt->SetTitle(kFALSE); - h_McProbe_rescPt->GetYaxis()->SetTitleOffset(1.2); - h_McProbe_rescPt->Draw(); - h_McNu_pt->Scale(1./h_McNu_pt->Integral()); - h_McNu_pt->SetLineColor(4); - h_McNu_pt->Draw("same"); - legend_e->Draw(); - c_McNu_rescPt->SaveAs("McNu_rescPt.png"); - delete c_McNu_rescPt; - - TCanvas* c_McNu_rescEta = new TCanvas("McNu_rescEta", "", 800, 600); - c_McNu_rescEta->cd(); - h_McProbe_rescEta->Scale(1./h_McProbe_rescEta->Integral()); - h_McProbe_rescEta->SetLineColor(2); - h_McProbe_rescEta->SetStats(kFALSE); - h_McProbe_rescEta->SetTitle(kFALSE); - h_McProbe_rescEta->GetYaxis()->SetTitleOffset(1.2); - h_McProbe_rescEta->Draw(); - h_McNu_eta->Scale(1./h_McNu_eta->Integral()); - h_McNu_eta->SetLineColor(4); - h_McNu_eta->Draw("same"); - legend_e->Draw(); - c_McNu_rescEta->SaveAs("McNu_rescEta.png"); - delete c_McNu_rescEta; - - TCanvas* c_McLeptons_dPhi = new TCanvas("McLeptons_dPhi", "", 800, 600); - c_McLeptons_dPhi->cd(); - h_McTagProbe_dPhi->Scale(1./h_McTagProbe_dPhi->Integral()); - h_McTagProbe_dPhi->SetLineColor(2); - h_McTagProbe_dPhi->SetStats(kFALSE); - h_McTagProbe_dPhi->SetTitle(kFALSE); - h_McTagProbe_dPhi->GetYaxis()->SetTitleOffset(1.2); - h_McTagProbe_dPhi->Draw(); - h_McElecNu_dPhi->Scale(1./h_McElecNu_dPhi->Integral()); - h_McElecNu_dPhi->SetLineColor(4); - h_McElecNu_dPhi->Draw("same"); - legend_e->Draw(); - c_McLeptons_dPhi->SaveAs("McLeptons_dPhi.png"); - delete c_McLeptons_dPhi; - - TCanvas* c_McLeptons_dEta = new TCanvas("McLeptons_dEta", "", 800, 600); - c_McLeptons_dEta->cd(); - h_McTagProbe_dEta->Scale(1./h_McTagProbe_dEta->Integral()); - h_McTagProbe_dEta->SetLineColor(2); - h_McTagProbe_dEta->SetStats(kFALSE); - h_McTagProbe_dEta->SetTitle(kFALSE); - h_McTagProbe_dEta->GetYaxis()->SetTitleOffset(1.2); - h_McTagProbe_dEta->Draw(); - h_McElecNu_dEta->Scale(1./h_McElecNu_dEta->Integral()); - h_McElecNu_dEta->SetLineColor(4); - h_McElecNu_dEta->Draw("same"); - legend_e->Draw(); - c_McLeptons_dEta->SaveAs("McLeptons_dEta.png"); - delete c_McLeptons_dEta; - - TCanvas* c_McLeptons_dR = new TCanvas("McLeptons_dR", "", 800, 600); - c_McLeptons_dR->cd(); - h_McTagProbe_dR->Scale(1./h_McTagProbe_dR->Integral()); - h_McTagProbe_dR->SetLineColor(2); - h_McTagProbe_dR->SetStats(kFALSE); - h_McTagProbe_dR->SetTitle(kFALSE); - h_McTagProbe_dR->GetYaxis()->SetTitleOffset(1.2); - h_McTagProbe_dR->Draw(); - h_McElecNu_dR->Scale(1./h_McElecNu_dR->Integral()); - h_McElecNu_dR->SetLineColor(4); - h_McElecNu_dR->Draw("same"); - legend_e->Draw(); - c_McLeptons_dR->SaveAs("McLeptons_dR.png"); - delete c_McLeptons_dR; - -/* - TCanvas* c_elec_q = new TCanvas("elec_q", "", 800, 600); - c_elec_q->cd(); - h_tag_q->Scale(1./h_tag_q->Integral()); - h_tag_q->SetLineColor(2); - h_tag_q->SetStats(kFALSE); - h_tag_q->SetTitle(kFALSE); - h_tag_q->GetYaxis()->SetTitleOffset(1.2); - h_tag_q->Draw(); - h_elec_q->Scale(1./h_elec_q->Integral()); - h_elec_q->SetLineColor(4); - h_elec_q->Draw("same"); - - TLegend* legend_e = new TLegend(0.8, 0.7, 0.99, 0.99); - legend_e->AddEntry(h_tag_q, "Z -> ee", "l"); - legend_e->AddEntry(h_elec_q, "W -> e#nu", "l"); - - legend_e->Draw(); - c_elec_q->SaveAs("elec_q.png"); - delete c_elec_q; -*/ - TCanvas* c_elec_pt = new TCanvas("elec_pt", "", 800, 600); - c_elec_pt->cd(); - h_tag_pt->Scale(1./h_tag_pt->Integral()); - h_tag_pt->SetLineColor(2); - h_tag_pt->SetStats(kFALSE); - h_tag_pt->SetTitle(kFALSE); - h_tag_pt->GetYaxis()->SetTitleOffset(1.2); - h_tag_pt->Draw(); - h_elec_pt->Scale(1./h_elec_pt->Integral()); - h_elec_pt->SetLineColor(4); - h_elec_pt->Draw("same"); - legend_e->Draw(); - c_elec_pt->SaveAs("elec_pt.png"); - delete c_elec_pt; - - TCanvas* c_elec_eta = new TCanvas("elec_eta", "", 800, 600); - c_elec_eta->cd(); - h_tag_eta->Scale(1./h_tag_eta->Integral()); - h_tag_eta->SetLineColor(2); - h_tag_eta->SetStats(kFALSE); - h_tag_eta->SetTitle(kFALSE); - h_tag_eta->GetYaxis()->SetTitleOffset(1.2); - h_tag_eta->Draw(); - h_elec_eta->Scale(1./h_elec_eta->Integral()); - h_elec_eta->SetLineColor(4); - h_elec_eta->Draw("same"); - legend_e->Draw(); - c_elec_eta->SaveAs("elec_eta.png"); - delete c_elec_eta; - - TCanvas* c_elec_rescPt = new TCanvas("elec_rescPt", "", 800, 600); - c_elec_rescPt->cd(); - h_tag_rescPt->Scale(1./h_tag_rescPt->Integral()); - h_tag_rescPt->SetLineColor(2); - h_tag_rescPt->SetStats(kFALSE); - h_tag_rescPt->SetTitle(kFALSE); - h_tag_rescPt->GetYaxis()->SetTitleOffset(1.2); - h_tag_rescPt->Draw(); - h_elec_pt->Scale(1./h_elec_pt->Integral()); - h_elec_pt->SetLineColor(4); - h_elec_pt->Draw("same"); - legend_e->Draw(); - c_elec_rescPt->SaveAs("elec_rescPt.png"); - delete c_elec_rescPt; - - TCanvas* c_elec_rescEta = new TCanvas("elec_rescEta", "", 800, 600); - c_elec_rescEta->cd(); - h_tag_rescEta->Scale(1./h_tag_rescEta->Integral()); - h_tag_rescEta->SetLineColor(2); - h_tag_rescEta->SetStats(kFALSE); - h_tag_rescEta->SetTitle(kFALSE); - h_tag_rescEta->GetYaxis()->SetTitleOffset(1.2); - h_tag_rescEta->Draw(); - h_elec_eta->Scale(1./h_elec_eta->Integral()); - h_elec_eta->SetLineColor(4); - h_elec_eta->Draw("same"); - legend_e->Draw(); - c_elec_rescEta->SaveAs("elec_rescEta.png"); - delete c_elec_rescEta; - - TCanvas* c_elec_ecaliso = new TCanvas("elec_ecaliso", "", 800, 600); - c_elec_ecaliso->cd(); - h_tag_ecaliso->Scale(1./h_tag_ecaliso->Integral()); - h_tag_ecaliso->SetLineColor(2); - h_tag_ecaliso->SetStats(kFALSE); - h_tag_ecaliso->SetTitle(kFALSE); - h_tag_ecaliso->GetYaxis()->SetTitleOffset(1.2); - h_tag_ecaliso->Draw(); - h_elec_ecaliso->Scale(1./h_elec_ecaliso->Integral()); - h_elec_ecaliso->SetLineColor(4); - h_elec_ecaliso->Draw("same"); - legend_e->Draw(); - c_elec_ecaliso->SaveAs("elec_ecaliso.png"); - delete c_elec_ecaliso; - - TCanvas* c_elec_hcaliso = new TCanvas("elec_hcaliso", "", 800, 600); - c_elec_hcaliso->cd(); - h_tag_hcaliso->Scale(1./h_tag_hcaliso->Integral()); - h_tag_hcaliso->SetLineColor(2); - h_tag_hcaliso->SetStats(kFALSE); - h_tag_hcaliso->SetTitle(kFALSE); - h_tag_hcaliso->GetYaxis()->SetTitleOffset(1.2); - h_tag_hcaliso->Draw(); - h_elec_hcaliso->Scale(1./h_elec_hcaliso->Integral()); - h_elec_hcaliso->SetLineColor(4); - h_elec_hcaliso->Draw("same"); - legend_e->Draw(); - c_elec_hcaliso->SaveAs("elec_hcaliso.png"); - delete c_elec_hcaliso; - - TCanvas* c_elec_trackiso = new TCanvas("elec_trackiso", "", 800, 600); - c_elec_trackiso->cd(); - h_tag_trackiso->Scale(1./h_tag_trackiso->Integral()); - h_tag_trackiso->SetLineColor(2); - h_tag_trackiso->SetStats(kFALSE); - h_tag_trackiso->SetTitle(kFALSE); - h_tag_trackiso->GetYaxis()->SetTitleOffset(1.2); - h_tag_trackiso->Draw(); - h_elec_trackiso->Scale(1./h_elec_trackiso->Integral()); - h_elec_trackiso->SetLineColor(4); - h_elec_trackiso->Draw("same"); - legend_e->Draw(); - c_elec_trackiso->SaveAs("elec_trackiso.png"); - delete c_elec_trackiso; - - TCanvas* c_elec_dEtaIn = new TCanvas("elec_dEtaIn", "", 800, 600); - c_elec_dEtaIn->cd(); - h_tag_dEta->Scale(1./h_tag_dEta->Integral()); - h_tag_dEta->SetLineColor(2); - h_tag_dEta->SetStats(kFALSE); - h_tag_dEta->SetTitle(kFALSE); - h_tag_dEta->GetYaxis()->SetTitleOffset(1.2); - h_tag_dEta->Draw(); - h_elec_dEta->Scale(1./h_elec_dEta->Integral()); - h_elec_dEta->SetLineColor(4); - h_elec_dEta->Draw("same"); - legend_e->Draw(); - c_elec_dEtaIn->SaveAs("elec_dEtaIn.png"); - delete c_elec_dEtaIn; - - TCanvas* c_elec_dPhiIn = new TCanvas("elec_dPhiIn", "", 800, 600); - c_elec_dPhiIn->cd(); - h_tag_dPhi->Scale(1./h_tag_dPhi->Integral()); - h_tag_dPhi->SetLineColor(2); - h_tag_dPhi->SetStats(kFALSE); - h_tag_dPhi->SetTitle(kFALSE); - h_tag_dPhi->GetYaxis()->SetTitleOffset(1.2); - h_tag_dPhi->Draw(); - h_elec_dPhi->Scale(1./h_elec_dPhi->Integral()); - h_elec_dPhi->SetLineColor(4); - h_elec_dPhi->Draw("same"); - legend_e->Draw(); - c_elec_dPhiIn->SaveAs("elec_dPhiIn.png"); - delete c_elec_dPhiIn; - - TCanvas* c_elec_sIhIh = new TCanvas("elec_sIhIh", "", 800, 600); - c_elec_sIhIh->cd(); - h_tag_sIhIh->Scale(1./h_tag_sIhIh->Integral()); - h_tag_sIhIh->SetLineColor(2); - h_tag_sIhIh->SetStats(kFALSE); - h_tag_sIhIh->SetTitle(kFALSE); - h_tag_sIhIh->GetYaxis()->SetTitleOffset(1.2); - h_tag_sIhIh->Draw(); - h_elec_sIhIh->Scale(1./h_elec_sIhIh->Integral()); - h_elec_sIhIh->SetLineColor(4); - h_elec_sIhIh->Draw("same"); - legend_e->Draw(); - c_elec_sIhIh->SaveAs("elec_sIhIh.png"); - delete c_elec_sIhIh; - - TCanvas* c_nMatched = new TCanvas("nMatched", "", 800, 600); - c_nMatched->cd(); - h_nMatched->Draw(); - c_nMatched->SaveAs("nMatched.png"); - delete c_nMatched; - - TCanvas* c_nMatched_EB = new TCanvas("nMatched_EB", "", 800, 600); - c_nMatched_EB->cd(); - h_nMatched_EB->Draw(); - c_nMatched_EB->SaveAs("nMatched_EB.png"); - delete c_nMatched_EB; - - TCanvas* c_nMatched_EE = new TCanvas("nMatched_EE", "", 800, 600); - c_nMatched_EE->cd(); - h_nMatched_EE->Draw(); - c_nMatched_EE->SaveAs("nMatched_EE.png"); - delete c_nMatched_EE; - - TCanvas* c_dpt_pf_gsf = new TCanvas("dpt_pf_gsf", "", 800, 600); - c_dpt_pf_gsf->cd(); - h_dpt_pf_gsf->Draw(); - c_dpt_pf_gsf->SaveAs("dpt_pf_gsf.png"); - delete c_dpt_pf_gsf; - - TCanvas* c_dpt_pf_gsf_EB = new TCanvas("dpt_pf_gsf_EB", "", 800, 600); - c_dpt_pf_gsf_EB->cd(); - h_dpt_pf_gsf_EB->Draw(); - c_dpt_pf_gsf_EB->SaveAs("dpt_pf_gsf_EB.png"); - delete c_dpt_pf_gsf_EB; - - TCanvas* c_dpt_pf_gsf_EE = new TCanvas("dpt_pf_gsf_EE", "", 800, 600); - c_dpt_pf_gsf_EE->cd(); - h_dpt_pf_gsf_EE->Draw(); - c_dpt_pf_gsf_EE->SaveAs("dpt_pf_gsf_EE.png"); - delete c_dpt_pf_gsf_EE; - - cout << "Apply acceptance correction ..." << endl; - - for (int i=1; i<101; i++) - { - if(h_mcWCaloMEtin_pass_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_caloMEt_pass_EB->SetBinContent(i, 1. + h_mcWCaloMEtout_pass_EB->GetBinContent(i)/h_mcWCaloMEtin_pass_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_caloMEt_pass_EB->SetBinContent(i, 1.); - } - if(h_mcWCaloMEtin_pass_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_caloMEt_pass_EE->SetBinContent(i, 1. + h_mcWCaloMEtout_pass_EE->GetBinContent(i)/h_mcWCaloMEtin_pass_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_caloMEt_pass_EE->SetBinContent(i, 1.); - } - if(h_mcWCaloMEtin_fail_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_caloMEt_fail_EB->SetBinContent(i, 1. + h_mcWCaloMEtout_fail_EB->GetBinContent(i)/h_mcWCaloMEtin_fail_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_caloMEt_fail_EB->SetBinContent(i, 1.); - } - if(h_mcWCaloMEtin_fail_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_caloMEt_fail_EE->SetBinContent(i, 1. + h_mcWCaloMEtout_fail_EE->GetBinContent(i)/h_mcWCaloMEtin_fail_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_caloMEt_fail_EE->SetBinContent(i, 1.); - } - - if(h_mcWTcMEtin_pass_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_tcMEt_pass_EB->SetBinContent(i, 1. + h_mcWTcMEtout_pass_EB->GetBinContent(i)/h_mcWTcMEtin_pass_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_tcMEt_pass_EB->SetBinContent(i, 1.); - } - if(h_mcWTcMEtin_pass_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_tcMEt_pass_EE->SetBinContent(i, 1. + h_mcWTcMEtout_pass_EE->GetBinContent(i)/h_mcWTcMEtin_pass_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_tcMEt_pass_EE->SetBinContent(i, 1.); - } - if(h_mcWTcMEtin_fail_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_tcMEt_fail_EB->SetBinContent(i, 1. + h_mcWTcMEtout_fail_EB->GetBinContent(i)/h_mcWTcMEtin_fail_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_tcMEt_fail_EB->SetBinContent(i, 1.); - } - if(h_mcWTcMEtin_fail_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_tcMEt_fail_EE->SetBinContent(i, 1. + h_mcWTcMEtout_fail_EE->GetBinContent(i)/h_mcWTcMEtin_fail_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_tcMEt_fail_EE->SetBinContent(i, 1.); - } - - if(h_mcWGenMEtin_pass_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_genMEt_pass_EB->SetBinContent(i, 1. + h_mcWGenMEtout_pass_EB->GetBinContent(i)/h_mcWGenMEtin_pass_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_genMEt_pass_EB->SetBinContent(i, 1.); - } - if(h_mcWGenMEtin_pass_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_genMEt_pass_EE->SetBinContent(i, 1. + h_mcWGenMEtout_pass_EE->GetBinContent(i)/h_mcWGenMEtin_pass_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_genMEt_pass_EE->SetBinContent(i, 1.); - } - if(h_mcWGenMEtin_fail_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_genMEt_fail_EB->SetBinContent(i, 1. + h_mcWGenMEtout_fail_EB->GetBinContent(i)/h_mcWGenMEtin_fail_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_genMEt_fail_EB->SetBinContent(i, 1.); - } - if(h_mcWGenMEtin_fail_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_genMEt_fail_EE->SetBinContent(i, 1. + h_mcWGenMEtout_fail_EE->GetBinContent(i)/h_mcWGenMEtin_fail_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_genMEt_fail_EE->SetBinContent(i, 1.); - } - - if(h_mcWPfMEtin_pass_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_pfMEt_pass_EB->SetBinContent(i, 1. + h_mcWPfMEtout_pass_EB->GetBinContent(i)/h_mcWPfMEtin_pass_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_pfMEt_pass_EB->SetBinContent(i, 1.); - } - if(h_mcWPfMEtin_pass_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_pfMEt_pass_EE->SetBinContent(i, 1. + h_mcWPfMEtout_pass_EE->GetBinContent(i)/h_mcWPfMEtin_pass_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_pfMEt_pass_EE->SetBinContent(i, 1.); - } - if(h_mcWPfMEtin_fail_EB->GetBinContent(i) != 0.) - { - h_acceptance_correction_pfMEt_fail_EB->SetBinContent(i, 1. + h_mcWPfMEtout_fail_EB->GetBinContent(i)/h_mcWPfMEtin_fail_EB->GetBinContent(i)); - }else{ - h_acceptance_correction_pfMEt_fail_EB->SetBinContent(i, 1.); - } - if(h_mcWPfMEtin_fail_EE->GetBinContent(i) != 0.) - { - h_acceptance_correction_pfMEt_fail_EE->SetBinContent(i, 1. + h_mcWPfMEtout_fail_EE->GetBinContent(i)/h_mcWPfMEtin_fail_EE->GetBinContent(i)); - }else{ - h_acceptance_correction_pfMEt_fail_EE->SetBinContent(i, 1.); - } - - } - - h_ErsatzGenMEt_pass_EB->Multiply(h_ErsatzGenMEt_pass_EB, h_acceptance_correction_genMEt_pass_EB); - h_ErsatzCaloMEt_pass_EB->Multiply(h_ErsatzCaloMEt_pass_EB, h_acceptance_correction_caloMEt_pass_EB); - h_ErsatzTcMEt_pass_EB->Multiply(h_ErsatzTcMEt_pass_EB, h_acceptance_correction_tcMEt_pass_EB); - h_ErsatzPfMEt_pass_EB->Multiply(h_ErsatzPfMEt_pass_EB, h_acceptance_correction_pfMEt_pass_EB); - - h_ErsatzGenMEt_pass_EE->Multiply(h_ErsatzGenMEt_pass_EE, h_acceptance_correction_genMEt_pass_EE); - h_ErsatzCaloMEt_pass_EE->Multiply(h_ErsatzCaloMEt_pass_EE, h_acceptance_correction_caloMEt_pass_EE); - h_ErsatzTcMEt_pass_EE->Multiply(h_ErsatzTcMEt_pass_EE, h_acceptance_correction_tcMEt_pass_EE); - h_ErsatzPfMEt_pass_EE->Multiply(h_ErsatzPfMEt_pass_EE, h_acceptance_correction_pfMEt_pass_EE); - - h_ErsatzGenMEt_fail_EB->Multiply(h_ErsatzGenMEt_fail_EB, h_acceptance_correction_genMEt_fail_EB); - h_ErsatzCaloMEt_fail_EB->Multiply(h_ErsatzCaloMEt_fail_EB, h_acceptance_correction_caloMEt_fail_EB); - h_ErsatzTcMEt_fail_EB->Multiply(h_ErsatzTcMEt_fail_EB, h_acceptance_correction_tcMEt_fail_EB); - h_ErsatzPfMEt_fail_EB->Multiply(h_ErsatzPfMEt_fail_EB, h_acceptance_correction_pfMEt_fail_EB); - - h_ErsatzGenMEt_fail_EE->Multiply(h_ErsatzGenMEt_fail_EE, h_acceptance_correction_genMEt_fail_EE); - h_ErsatzCaloMEt_fail_EE->Multiply(h_ErsatzCaloMEt_fail_EE, h_acceptance_correction_caloMEt_fail_EE); - h_ErsatzTcMEt_fail_EE->Multiply(h_ErsatzTcMEt_fail_EE, h_acceptance_correction_tcMEt_fail_EE); - h_ErsatzPfMEt_fail_EE->Multiply(h_ErsatzPfMEt_fail_EE, h_acceptance_correction_pfMEt_fail_EE); - - h_ErsatzGenMEt_pass->Add(h_ErsatzGenMEt_pass_EB, h_ErsatzGenMEt_pass_EE); - h_ErsatzCaloMEt_pass->Add(h_ErsatzCaloMEt_pass_EB, h_ErsatzCaloMEt_pass_EE); - h_ErsatzTcMEt_pass->Add(h_ErsatzTcMEt_pass_EB, h_ErsatzTcMEt_pass_EE); - h_ErsatzPfMEt_pass->Add(h_ErsatzPfMEt_pass_EB, h_ErsatzPfMEt_pass_EE); - - h_ErsatzGenMEt_fail->Add(h_ErsatzGenMEt_fail_EB, h_ErsatzGenMEt_fail_EE); - h_ErsatzCaloMEt_fail->Add(h_ErsatzCaloMEt_fail_EB, h_ErsatzCaloMEt_fail_EE); - h_ErsatzTcMEt_fail->Add(h_ErsatzTcMEt_fail_EB, h_ErsatzTcMEt_fail_EE); - h_ErsatzPfMEt_fail->Add(h_ErsatzPfMEt_fail_EB, h_ErsatzPfMEt_fail_EE); - - //Fill Ersatz MET histogram with the type of MET you want - for(int i=1; i<101; i++) - { - h_ErsatzMEt_pass_EB->SetBinContent(i, h_ErsatzCaloMEt_pass_EB->GetBinContent(i)); - h_ErsatzMEt_pass_EE->SetBinContent(i, h_ErsatzCaloMEt_pass_EE->GetBinContent(i)); - h_ErsatzMEt_fail_EB->SetBinContent(i, h_ErsatzCaloMEt_fail_EB->GetBinContent(i)); - h_ErsatzMEt_fail_EE->SetBinContent(i, h_ErsatzCaloMEt_fail_EE->GetBinContent(i)); - h_ErsatzMEt_pass->SetBinContent(i, h_ErsatzCaloMEt_pass->GetBinContent(i)); - h_ErsatzMEt_fail->SetBinContent(i, h_ErsatzCaloMEt_fail->GetBinContent(i)); - } - - TCanvas* c_ErsatzCaloMEt_corr_pass_EB = new TCanvas("ErsatzCaloMEt_corr_pass_EB", "", 800, 600); - c_ErsatzCaloMEt_corr_pass_EB->cd(); - //h_ErsatzCaloMEt_pass_EB->Scale(1./h_ErsatzCaloMEt_pass_EB->Integral()); - h_ErsatzCaloMEt_pass_EB->SetLineColor(2); - h_ErsatzCaloMEt_pass_EB->SetStats(kFALSE); - h_ErsatzCaloMEt_pass_EB->SetTitle(kFALSE); - h_ErsatzCaloMEt_pass_EB->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzCaloMEt_pass_EB->Draw(); - h_WCaloMEt_pass_EB->Scale(h_ErsatzCaloMEt_pass_EB->Integral()/h_WCaloMEt_pass_EB->Integral()); - h_WCaloMEt_pass_EB->SetLineColor(4); - h_WCaloMEt_pass_EB->Draw("same"); - - TLegend* legend = new TLegend(0.8, 0.7, 0.99, 0.99); - legend->AddEntry(h_ErsatzCaloMEt_pass_EB, "Ersatz MET", "l"); - legend->AddEntry(h_WCaloMEt_pass_EB, "W MET", "l"); - - legend->Draw(); - c_ErsatzCaloMEt_corr_pass_EB->SaveAs("ErsatzCaloMEt_corr_pass_EB.png"); - delete c_ErsatzCaloMEt_corr_pass_EB; - - TCanvas* c_ErsatzCaloMEt_corr_pass_EE = new TCanvas("ErsatzCaloMEt_corr_pass_EE", "", 800, 600); - c_ErsatzCaloMEt_corr_pass_EE->cd(); - //h_ErsatzCaloMEt_pass_EE->Scale(1./h_ErsatzCaloMEt_pass_EE->Integral()); - h_ErsatzCaloMEt_pass_EE->SetLineColor(2); - h_ErsatzCaloMEt_pass_EE->SetStats(kFALSE); - h_ErsatzCaloMEt_pass_EE->SetTitle(kFALSE); - h_ErsatzCaloMEt_pass_EE->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzCaloMEt_pass_EE->Draw(); - h_WCaloMEt_pass_EE->Scale(h_ErsatzCaloMEt_pass_EE->Integral()/h_WCaloMEt_pass_EE->Integral()); - h_WCaloMEt_pass_EE->SetLineColor(4); - h_WCaloMEt_pass_EE->Draw("same"); - legend->Draw(); - c_ErsatzCaloMEt_corr_pass_EE->SaveAs("ErsatzCaloMEt_corr_pass_EE.png"); - delete c_ErsatzCaloMEt_corr_pass_EE; - - TCanvas* c_ErsatzCaloMEt_corr_pass = new TCanvas("ErsatzCaloMEt_corr_pass", "", 800, 600); - c_ErsatzCaloMEt_corr_pass->cd(); - //h_ErsatzCaloMEt_pass->Scale(1./h_ErsatzCaloMEt_pass->Integral()); - h_ErsatzCaloMEt_pass->SetLineColor(2); - h_ErsatzCaloMEt_pass->SetStats(kFALSE); - h_ErsatzCaloMEt_pass->SetTitle(kFALSE); - h_ErsatzCaloMEt_pass->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzCaloMEt_pass->Draw(); - h_WCaloMEt_pass->Scale(h_ErsatzCaloMEt_pass->Integral()/h_WCaloMEt_pass->Integral()); - h_WCaloMEt_pass->SetLineColor(4); - h_WCaloMEt_pass->Draw("same"); - legend->Draw(); - c_ErsatzCaloMEt_corr_pass->SaveAs("ErsatzCaloMEt_corr_pass.png"); - delete c_ErsatzCaloMEt_corr_pass; - - TCanvas* c_ErsatzTcMEt_corr_pass_EB = new TCanvas("ErsatzTcMEt_corr_pass_EB", "", 800, 600); - c_ErsatzTcMEt_corr_pass_EB->cd(); - //h_ErsatzTcMEt_pass_EB->Scale(1./h_ErsatzTcMEt_pass_EB->Integral()); - h_ErsatzTcMEt_pass_EB->SetLineColor(2); - h_ErsatzTcMEt_pass_EB->SetStats(kFALSE); - h_ErsatzTcMEt_pass_EB->SetTitle(kFALSE); - h_ErsatzTcMEt_pass_EB->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzTcMEt_pass_EB->Draw(); - h_WTcMEt_pass_EB->Scale(h_ErsatzTcMEt_pass_EB->Integral()/h_WTcMEt_pass_EB->Integral()); - h_WTcMEt_pass_EB->SetLineColor(4); - h_WTcMEt_pass_EB->Draw("same"); - legend->Draw(); - c_ErsatzTcMEt_corr_pass_EB->SaveAs("ErsatzTcMEt_corr_pass_EB.png"); - delete c_ErsatzTcMEt_corr_pass_EB; - - TCanvas* c_ErsatzTcMEt_corr_pass_EE = new TCanvas("ErsatzTcMEt_corr_pass_EE", "", 800, 600); - c_ErsatzTcMEt_corr_pass_EE->cd(); - //h_ErsatzTcMEt_pass_EE->Scale(1./h_ErsatzTcMEt_pass_EE->Integral()); - h_ErsatzTcMEt_pass_EE->SetLineColor(2); - h_ErsatzTcMEt_pass_EE->SetStats(kFALSE); - h_ErsatzTcMEt_pass_EE->SetTitle(kFALSE); - h_ErsatzTcMEt_pass_EE->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzTcMEt_pass_EE->Draw(); - h_WTcMEt_pass_EE->Scale(h_ErsatzTcMEt_pass_EE->Integral()/h_WTcMEt_pass_EE->Integral()); - h_WTcMEt_pass_EE->SetLineColor(4); - h_WTcMEt_pass_EE->Draw("same"); - legend->Draw(); - c_ErsatzTcMEt_corr_pass_EE->SaveAs("ErsatzTcMEt_corr_pass_EE.png"); - delete c_ErsatzTcMEt_corr_pass_EE; - - TCanvas* c_ErsatzTcMEt_corr_pass = new TCanvas("ErsatzTcMEt_corr_pass", "", 800, 600); - c_ErsatzTcMEt_corr_pass->cd(); - //h_ErsatzTcMEt_pass->Scale(1./h_ErsatzTcMEt_pass->Integral()); - h_ErsatzTcMEt_pass->SetLineColor(2); - h_ErsatzTcMEt_pass->SetStats(kFALSE); - h_ErsatzTcMEt_pass->SetTitle(kFALSE); - h_ErsatzTcMEt_pass->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzTcMEt_pass->Draw(); - h_WTcMEt_pass->Scale(h_ErsatzTcMEt_pass->Integral()/h_WTcMEt_pass->Integral()); - h_WTcMEt_pass->SetLineColor(4); - h_WTcMEt_pass->Draw("same"); - legend->Draw(); - c_ErsatzTcMEt_corr_pass->SaveAs("ErsatzTcMEt_corr_pass.png"); - delete c_ErsatzTcMEt_corr_pass; - - TCanvas* c_ErsatzGenMEt_corr_pass_EB = new TCanvas("ErsatzGenMEt_corr_pass_EB", "", 800, 600); - c_ErsatzGenMEt_corr_pass_EB->cd(); - //h_ErsatzGenMEt_pass_EB->Scale(1./h_ErsatzGenMEt_pass_EB->Integral()); - h_ErsatzGenMEt_pass_EB->SetLineColor(2); - h_ErsatzGenMEt_pass_EB->SetStats(kFALSE); - h_ErsatzGenMEt_pass_EB->SetTitle(kFALSE); - h_ErsatzGenMEt_pass_EB->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzGenMEt_pass_EB->Draw(); - h_WGenMEt_pass_EB->Scale(h_ErsatzGenMEt_pass_EB->Integral()/h_WGenMEt_pass_EB->Integral()); - h_WGenMEt_pass_EB->SetLineColor(4); - h_WGenMEt_pass_EB->Draw("same"); - legend->Draw(); - c_ErsatzGenMEt_corr_pass_EB->SaveAs("ErsatzGenMEt_corr_pass_EB.png"); - delete c_ErsatzGenMEt_corr_pass_EB; - - TCanvas* c_ErsatzGenMEt_corr_pass_EE = new TCanvas("ErsatzGenMEt_corr_pass_EE", "", 800, 600); - c_ErsatzGenMEt_corr_pass_EE->cd(); - //h_ErsatzGenMEt_pass_EE->Scale(1./h_ErsatzGenMEt_pass_EE->Integral()); - h_ErsatzGenMEt_pass_EE->SetLineColor(2); - h_ErsatzGenMEt_pass_EE->SetStats(kFALSE); - h_ErsatzGenMEt_pass_EE->SetTitle(kFALSE); - h_ErsatzGenMEt_pass_EE->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzGenMEt_pass_EE->Draw(); - h_WGenMEt_pass_EE->Scale(h_ErsatzGenMEt_pass_EE->Integral()/h_WGenMEt_pass_EE->Integral()); - h_WGenMEt_pass_EE->SetLineColor(4); - h_WGenMEt_pass_EE->Draw("same"); - legend->Draw(); - c_ErsatzGenMEt_corr_pass_EE->SaveAs("ErsatzGenMEt_corr_pass_EE.png"); - delete c_ErsatzGenMEt_corr_pass_EE; - - TCanvas* c_ErsatzGenMEt_corr_pass = new TCanvas("ErsatzGenMEt_corr_pass", "", 800, 600); - c_ErsatzGenMEt_corr_pass->cd(); - //h_ErsatzGenMEt_pass->Scale(1./h_ErsatzGenMEt_pass->Integral()); - h_ErsatzGenMEt_pass->SetLineColor(2); - h_ErsatzGenMEt_pass->SetStats(kFALSE); - h_ErsatzGenMEt_pass->SetTitle(kFALSE); - h_ErsatzGenMEt_pass->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzGenMEt_pass->Draw(); - h_WGenMEt_pass->Scale(h_ErsatzGenMEt_pass->Integral()/h_WGenMEt_pass->Integral()); - h_WGenMEt_pass->SetLineColor(4); - h_WGenMEt_pass->Draw("same"); - legend->Draw(); - c_ErsatzGenMEt_corr_pass->SaveAs("ErsatzGenMEt_corr_pass.png"); - delete c_ErsatzGenMEt_corr_pass; - - TCanvas* c_ErsatzPfMEt_corr_pass_EB = new TCanvas("ErsatzPfMEt_corr_pass_EB", "", 800, 600); - c_ErsatzPfMEt_corr_pass_EB->cd(); - //h_ErsatzPfMEt_pass_EB->Scale(1./h_ErsatzPfMEt_pass_EB->Integral()); - h_ErsatzPfMEt_pass_EB->SetLineColor(2); - h_ErsatzPfMEt_pass_EB->SetStats(kFALSE); - h_ErsatzPfMEt_pass_EB->SetTitle(kFALSE); - h_ErsatzPfMEt_pass_EB->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzPfMEt_pass_EB->Draw(); - h_WPfMEt_pass_EB->Scale(h_ErsatzPfMEt_pass_EB->Integral()/h_WPfMEt_pass_EB->Integral()); - h_WPfMEt_pass_EB->SetLineColor(4); - h_WPfMEt_pass_EB->Draw("same"); - legend->Draw(); - c_ErsatzPfMEt_corr_pass_EB->SaveAs("ErsatzPfMEt_corr_pass_EB.png"); - delete c_ErsatzPfMEt_corr_pass_EB; - - TCanvas* c_ErsatzPfMEt_corr_pass_EE = new TCanvas("ErsatzPfMEt_corr_pass_EE", "", 800, 600); - c_ErsatzPfMEt_corr_pass_EE->cd(); - //h_ErsatzPfMEt_pass_EE->Scale(1./h_ErsatzPfMEt_pass_EE->Integral()); - h_ErsatzPfMEt_pass_EE->SetLineColor(2); - h_ErsatzPfMEt_pass_EE->SetStats(kFALSE); - h_ErsatzPfMEt_pass_EE->SetTitle(kFALSE); - h_ErsatzPfMEt_pass_EE->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzPfMEt_pass_EE->Draw(); - h_WPfMEt_pass_EE->Scale(h_ErsatzPfMEt_pass_EE->Integral()/h_WPfMEt_pass_EE->Integral()); - h_WPfMEt_pass_EE->SetLineColor(4); - h_WPfMEt_pass_EE->Draw("same"); - legend->Draw(); - c_ErsatzPfMEt_corr_pass_EE->SaveAs("ErsatzPfMEt_corr_pass_EE.png"); - delete c_ErsatzPfMEt_corr_pass_EE; - - TCanvas* c_ErsatzPfMEt_corr_pass = new TCanvas("ErsatzPfMEt_corr_pass", "", 800, 600); - c_ErsatzPfMEt_corr_pass->cd(); - //h_ErsatzPfMEt_pass->Scale(1./h_ErsatzPfMEt_pass->Integral()); - h_ErsatzPfMEt_pass->SetLineColor(2); - h_ErsatzPfMEt_pass->SetStats(kFALSE); - h_ErsatzPfMEt_pass->SetTitle(kFALSE); - h_ErsatzPfMEt_pass->GetYaxis()->SetTitleOffset(1.2); - h_ErsatzPfMEt_pass->Draw(); - h_WPfMEt_pass->Scale(h_ErsatzPfMEt_pass->Integral()/h_WPfMEt_pass->Integral()); - h_WPfMEt_pass->SetLineColor(4); - h_WPfMEt_pass->Draw("same"); - legend->Draw(); - c_ErsatzPfMEt_corr_pass->SaveAs("ErsatzPfMEt_corr_pass.png"); - delete c_ErsatzPfMEt_corr_pass; - - cout << "Calculating f ..." << endl; - cout << "MET cut = " << int(cMEt) << endl; - cout << "nPass = " << h_ErsatzMEt_pass->Integral(1,100) << endl; - cout << "nFail = " << h_ErsatzMEt_fail->Integral(1,100) << endl; - - double N_pass_EB = h_ErsatzMEt_pass_EB->Integral(1,100); - double A_EB = h_ErsatzMEt_pass_EB->Integral(int(cMEt)+1,100); - double B_EB = h_ErsatzMEt_pass_EB->Integral(1,int(cMEt)); - double N_pass_EE = h_ErsatzMEt_pass_EE->Integral(1,100); - double A_EE = h_ErsatzMEt_pass_EE->Integral(int(cMEt)+1,100); - double B_EE = h_ErsatzMEt_pass_EE->Integral(1,int(cMEt)); - double N_fail_EB = h_ErsatzMEt_fail_EB->Integral(1,100); - double D_EB = h_ErsatzMEt_fail_EB->Integral(int(cMEt)+1,100); - double C_EB = h_ErsatzMEt_fail_EB->Integral(1,int(cMEt)); - double N_fail_EE = h_ErsatzMEt_fail_EE->Integral(1,100); - double D_EE = h_ErsatzMEt_fail_EE->Integral(int(cMEt)+1,100); - double C_EE = h_ErsatzMEt_fail_EE->Integral(1,int(cMEt)); - - double A = A_EB + A_EE; - double B = B_EB + B_EE; - double C = C_EB + C_EE; - double D = D_EB + D_EE; - double N_pass = N_pass_EB + N_pass_EE; - double N_fail = N_fail_EB + N_fail_EE; - //int N = N_pass + N_fail; - - double eff = 1.0*A/(A+B); - double efferror = sqrt(eff*(1.-eff)/N_pass); - double f = 1.0*A/B; - double ferror = efferror/((1.-eff)*(1.-eff)); - - double effprime = 1.0*D/(D+C); - double effprimeerror = sqrt(effprime*(1.-effprime)/N_fail); - double fprime = 1.0*D/C; - double fprimeerror = effprimeerror/((1.-effprime)*(1.-effprime)); - - cout << "f\tferror\teff\tefferror\tA\tB\tN_pass" << endl; - cout << f << "\t" << ferror << "\t" << eff << "\t" << efferror << "\t" << A << "\t" << B << "\t" << N_pass << "\n" << endl; - - cout << "fprime\tfprimeerror\teffprime\teffprimeerror\tD\tC\tN_fail" << endl; - cout << fprime << "\t" << fprimeerror << "\t" << effprime << "\t" << effprimeerror << "\t" << D << "\t" << C << "\t" << N_fail << "\n" << endl; - -// results << process << "\t" << f << "\t" << ferror << "\t" << A << "\t" << B << "\t" << fprime << "\t" << fprimeerror << "\t" << D << "\t" << C << endl; - - outfile->Write(); - outfile->Close(); -} diff --git a/ElectroWeakAnalysis/ZEE/test/StabilityPlots.cpp b/ElectroWeakAnalysis/ZEE/test/StabilityPlots.cpp deleted file mode 100644 index e2377f2b39320..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/StabilityPlots.cpp +++ /dev/null @@ -1,478 +0,0 @@ -#include "TFile.h" -#include "TGraphErrors.h" -#include "TVectorT.h" -#include "TH1.h" -#include "TLegend.h" -#include "TCanvas.h" -#include -#include -#include -#include - -using namespace std; - -void StabilityPlots() -{ - ofstream CaloMET("CaloMET.txt"); - ofstream TcMET("TcMET.txt"); - //ofstream T1MET("T1MET.txt"); - ofstream PfMET("PfMET.txt"); - CaloMET << "MET cut\tftrue\tf\tdf\teff\tdeff\ta\tb\tnpass\tf'true\tf'\tdf'\teff'\tdeff'\td\tc\tnfail" << endl; - TcMET << "MET cut\tftrue\tf\tdf\teff\tdeff\ta\tb\tnpass\tf'true\tf'\tdf'\teff'\tdeff'\td\tc\tnfail" << endl; - //T1MET << "MET cut\tftrue\tf\tdf\teff\tdeff\ta\tb\tnpass\tf'true\tf'\tdf'\teff'\tdeff'\td\tc\tnfail" << endl; - PfMET << "MET cut\tftrue\tf\tdf\teff\tdeff\ta\tb\tnpass\tf'true\tf'\tdf'\teff'\tdeff'\td\tc\tnfail" << endl; - cout << setprecision(3); - CaloMET << setprecision(3); - TcMET << setprecision(3); - //T1MET << setprecision(3); - PfMET << setprecision(3); - - TVectorT metcut(11), metcuterror(11); - TVectorT f_calo_ersatz(11), df_calo_ersatz(11), eff_calo_ersatz(11), deff_calo_ersatz(11), deltaf_calo_ersatz(11); - TVectorT fprime_calo_ersatz(11), dfprime_calo_ersatz(11), effprime_calo_ersatz(11), deffprime_calo_ersatz(11), deltafprime_calo_ersatz(11); - TVectorT f_tc_ersatz(11), df_tc_ersatz(11), eff_tc_ersatz(11), deff_tc_ersatz(11), deltaf_tc_ersatz(11); - TVectorT fprime_tc_ersatz(11), dfprime_tc_ersatz(11), effprime_tc_ersatz(11), deffprime_tc_ersatz(11), deltafprime_tc_ersatz(11); - //TVectorT f_t1_ersatz(11), df_t1_ersatz(11), eff_t1_ersatz(11), deff_t1_ersatz(11), deltaf_t1_ersatz(11); - //TVectorT fprime_t1_ersatz(11), dfprime_t1_ersatz(11), effprime_t1_ersatz(11), deffprime_t1_ersatz(11), deltafprime_t1_ersatz(11); - TVectorT f_pf_ersatz(11), df_pf_ersatz(11), eff_pf_ersatz(11), deff_pf_ersatz(11), deltaf_pf_ersatz(11); - TVectorT fprime_pf_ersatz(11), dfprime_pf_ersatz(11), effprime_pf_ersatz(11), deffprime_pf_ersatz(11), deltafprime_pf_ersatz(11); - - TFile* file = TFile::Open("ZeePlots.root"); - - TH1F* h_ErsatzCaloMEt_pass = (TH1F*) file->Get("ErsatzMEt_pass"); - TH1F* h_ErsatzCaloMEt_fail = (TH1F*) file->Get("ErsatzMEt_fail"); - TH1F* h_WCaloMEt_pass = (TH1F*) file->Get("WCaloMEt_pass"); - TH1F* h_WCaloMEt_fail = (TH1F*) file->Get("WCaloMEt_fail"); - TH1F* h_ErsatzTcMEt_pass = (TH1F*) file->Get("ErsatzTcMEt_pass"); - TH1F* h_ErsatzTcMEt_fail = (TH1F*) file->Get("ErsatzTcMEt_fail"); - TH1F* h_WTcMEt_pass = (TH1F*) file->Get("WTcMEt_pass"); - TH1F* h_WTcMEt_fail = (TH1F*) file->Get("WTcMEt_fail"); - //TH1F* h_ErsatzT1MEt_pass = (TH1F*) file->Get("ErsatzT1MEt_pass"); - //TH1F* h_ErsatzT1MEt_fail = (TH1F*) file->Get("ErsatzT1MEt_fail"); - //TH1F* h_WT1MEt_pass = (TH1F*) file->Get("WT1MEt_pass"); - //TH1F* h_WT1MEt_fail = (TH1F*) file->Get("WT1MEt_fail"); - TH1F* h_ErsatzPfMEt_pass = (TH1F*) file->Get("ErsatzPfMEt_pass"); - TH1F* h_ErsatzPfMEt_fail = (TH1F*) file->Get("ErsatzPfMEt_fail"); - TH1F* h_WPfMEt_pass = (TH1F*) file->Get("WPfMEt_pass"); - TH1F* h_WPfMEt_fail = (TH1F*) file->Get("WPfMEt_fail"); - - for(int i=0; i<102; i++) - { - cout << h_WCaloMEt_pass->GetBinContent(i) << endl; - } - cout << "sum = " << h_WCaloMEt_pass->Integral(21,100) << endl; - for(int i=0; i<102; i++) - { - cout << h_WCaloMEt_fail->GetBinContent(i) << endl; - } - cout << "sum = " << h_WCaloMEt_fail->Integral(21,100) << endl; - - int i = 0; - double a_calo_ersatz, a_calo_true; - double a_tc_ersatz, a_tc_true; - //double a_t1_ersatz, a_t1_true; - double a_pf_ersatz, a_pf_true; - double b_calo_ersatz, b_calo_true; - double b_tc_ersatz, b_tc_true; - //double b_t1_ersatz, b_t1_true; - double b_pf_ersatz, b_pf_true; - double c_calo_ersatz, c_calo_true; - double c_tc_ersatz, c_tc_true; - //double c_t1_ersatz, c_t1_true; - double c_pf_ersatz, c_pf_true; - double d_calo_ersatz, d_calo_true; - double d_tc_ersatz, d_tc_true; - //double d_t1_ersatz, d_t1_true; - double d_pf_ersatz, d_pf_true; - cout << "mooooooooo" << endl; - for(int cMET=20; cMET<41; cMET+=2) - { - a_calo_ersatz = h_ErsatzCaloMEt_pass->Integral(cMET+1, 100); // Problem Here - a_tc_ersatz = h_ErsatzTcMEt_pass->Integral(cMET+1, 100); - //a_t1_ersatz = h_ErsatzT1MEt_pass->Integral(cMET+1, 100); - a_pf_ersatz = h_ErsatzPfMEt_pass->Integral(cMET+1, 100); - cout << "mooooooooo" << endl; - a_calo_true = h_WCaloMEt_pass->Integral(cMET+1, 100); - a_tc_true = h_WTcMEt_pass->Integral(cMET+1, 100); - //a_t1_true = h_WT1MEt_pass->Integral(cMET+1, 100); - a_pf_true = h_WPfMEt_pass->Integral(cMET+1, 100); - cout << "mooooooooo" << endl; - b_calo_ersatz = h_ErsatzCaloMEt_pass->Integral(1, cMET); - b_tc_ersatz = h_ErsatzTcMEt_pass->Integral(1, cMET); - //b_t1_ersatz = h_ErsatzT1MEt_pass->Integral(1, cMET); - b_pf_ersatz = h_ErsatzPfMEt_pass->Integral(1, cMET); - cout << "mooooooooo" << endl; - b_calo_true = h_WCaloMEt_pass->Integral(1, cMET); - b_tc_true = h_WTcMEt_pass->Integral(1, cMET); - //b_t1_true = h_WT1MEt_pass->Integral(1, cMET); - b_pf_true = h_WPfMEt_pass->Integral(1, cMET); - cout << "mooooooooo" << endl; - c_calo_ersatz = h_ErsatzCaloMEt_fail->Integral(1, cMET); - c_tc_ersatz = h_ErsatzTcMEt_fail->Integral(1, cMET); - //c_t1_ersatz = h_ErsatzT1MEt_fail->Integral(1, cMET); - c_pf_ersatz = h_ErsatzPfMEt_fail->Integral(1, cMET); - cout << "mooooooooo" << endl; - c_calo_true = h_WCaloMEt_fail->Integral(1, cMET); - c_tc_true = h_WTcMEt_fail->Integral(1, cMET); - //c_t1_true = h_WT1MEt_fail->Integral(1, cMET); - c_pf_true = h_WPfMEt_fail->Integral(1, cMET); - cout << "mooooooooo" << endl; - d_calo_ersatz = h_ErsatzCaloMEt_fail->Integral(cMET+1, 100); - d_tc_ersatz = h_ErsatzTcMEt_fail->Integral(cMET+1, 100); - //d_t1_ersatz = h_ErsatzT1MEt_fail->Integral(cMET+1, 100); - d_pf_ersatz = h_ErsatzPfMEt_fail->Integral(cMET+1, 100); - cout << "mooooooooo" << endl; - d_calo_true = h_WCaloMEt_fail->Integral(cMET+1, 100); - d_tc_true = h_WTcMEt_fail->Integral(cMET+1, 100); - //d_t1_true = h_WT1MEt_fail->Integral(cMET+1, 100); - d_pf_true = h_WPfMEt_fail->Integral(cMET+1, 100); - cout << "mooooooooo" << endl; - - metcut[i] = 1.0*cMET; - metcuterror[i] = 0.0; - - eff_calo_ersatz[i] = a_calo_ersatz/(a_calo_ersatz + b_calo_ersatz); - deff_calo_ersatz[i] = sqrt(eff_calo_ersatz[i]*(1. - eff_calo_ersatz[i])/(a_calo_ersatz + b_calo_ersatz)); - f_calo_ersatz[i] = a_calo_ersatz/b_calo_ersatz; - df_calo_ersatz[i] = deff_calo_ersatz[i]/((1. - eff_calo_ersatz[i])*(1. - eff_calo_ersatz[i])); - deltaf_calo_ersatz[i] = a_calo_ersatz/b_calo_ersatz - a_calo_true/b_calo_true; - effprime_calo_ersatz[i] = d_calo_ersatz/(d_calo_ersatz + c_calo_ersatz); - deffprime_calo_ersatz[i] = sqrt(effprime_calo_ersatz[i]*(1. - effprime_calo_ersatz[i])/(d_calo_ersatz + c_calo_ersatz)); - fprime_calo_ersatz[i] = d_calo_ersatz/c_calo_ersatz; - dfprime_calo_ersatz[i] = deffprime_calo_ersatz[i]/((1. - effprime_calo_ersatz[i])*(1. - effprime_calo_ersatz[i])); - deltafprime_calo_ersatz[i] = d_calo_ersatz/c_calo_ersatz - d_calo_true/c_calo_true; - - eff_tc_ersatz[i] = a_tc_ersatz/(a_tc_ersatz + b_tc_ersatz); - deff_tc_ersatz[i] = sqrt(eff_tc_ersatz[i]*(1. - eff_tc_ersatz[i])/(a_tc_ersatz + b_tc_ersatz)); - f_tc_ersatz[i] = a_tc_ersatz/b_tc_ersatz; - df_tc_ersatz[i] = deff_tc_ersatz[i]/((1. - eff_tc_ersatz[i])*(1. - eff_tc_ersatz[i])); - deltaf_tc_ersatz[i] = a_tc_ersatz/b_tc_ersatz - a_tc_true/b_tc_true; - effprime_tc_ersatz[i] = d_tc_ersatz/(d_tc_ersatz + c_tc_ersatz); - deffprime_tc_ersatz[i] = sqrt(effprime_tc_ersatz[i]*(1. - effprime_tc_ersatz[i])/(d_tc_ersatz + c_tc_ersatz)); - fprime_tc_ersatz[i] = d_tc_ersatz/c_tc_ersatz; - dfprime_tc_ersatz[i] = deffprime_tc_ersatz[i]/((1. - effprime_tc_ersatz[i])*(1. - effprime_tc_ersatz[i])); - deltafprime_tc_ersatz[i] = d_tc_ersatz/c_tc_ersatz - d_tc_true/c_tc_true; -/* - eff_t1_ersatz[i] = a_t1_ersatz/(a_t1_ersatz + b_t1_ersatz); - deff_t1_ersatz[i] = sqrt(eff_t1_ersatz[i]*(1. - eff_t1_ersatz[i])/(a_t1_ersatz + b_t1_ersatz)); - f_t1_ersatz[i] = a_t1_ersatz/b_t1_ersatz; - df_t1_ersatz[i] = deff_t1_ersatz[i]/((1. - eff_t1_ersatz[i])*(1. - eff_t1_ersatz[i])); - deltaf_t1_ersatz[i] = a_t1_ersatz/b_t1_ersatz - a_t1_true/b_t1_true; - effprime_t1_ersatz[i] = d_t1_ersatz/(d_t1_ersatz + c_t1_ersatz); - deffprime_t1_ersatz[i] = sqrt(effprime_t1_ersatz[i]*(1. - effprime_t1_ersatz[i])/(d_t1_ersatz + c_t1_ersatz)); - fprime_t1_ersatz[i] = d_t1_ersatz/c_t1_ersatz; - dfprime_t1_ersatz[i] = deffprime_t1_ersatz[i]/((1. - effprime_t1_ersatz[i])*(1. - effprime_t1_ersatz[i])); - deltafprime_t1_ersatz[i] = d_t1_ersatz/c_t1_ersatz - d_t1_true/c_t1_true; -*/ - eff_pf_ersatz[i] = a_pf_ersatz/(a_pf_ersatz + b_pf_ersatz); - deff_pf_ersatz[i] = sqrt(eff_pf_ersatz[i]*(1. - eff_pf_ersatz[i])/(a_pf_ersatz + b_pf_ersatz)); - f_pf_ersatz[i] = a_pf_ersatz/b_pf_ersatz; - df_pf_ersatz[i] = deff_pf_ersatz[i]/((1. - eff_pf_ersatz[i])*(1. - eff_pf_ersatz[i])); - deltaf_pf_ersatz[i] = a_pf_ersatz/b_pf_ersatz - a_pf_true/b_pf_true; - effprime_pf_ersatz[i] = d_pf_ersatz/(d_pf_ersatz + c_pf_ersatz); - deffprime_pf_ersatz[i] = sqrt(effprime_pf_ersatz[i]*(1. - effprime_pf_ersatz[i])/(d_pf_ersatz + c_pf_ersatz)); - fprime_pf_ersatz[i] = d_pf_ersatz/c_pf_ersatz; - dfprime_pf_ersatz[i] = deffprime_pf_ersatz[i]/((1. - effprime_pf_ersatz[i])*(1. - effprime_pf_ersatz[i])); - deltafprime_pf_ersatz[i] = d_pf_ersatz/c_pf_ersatz - d_pf_true/c_pf_true; - - cout << "CaloMEt " << cMET << endl; - cout << "MET cut\tftrue\tf\tdf\teff\tdeff\ta\tb\tnpass\tf'true\tf'\tdf'\teff'\tdeff'\td\tc\tnfail" << endl; - cout << cMET << "\t" - << a_calo_true/b_calo_true << "\t" - << f_calo_ersatz[i] << "\t" << df_calo_ersatz[i] << "\t" - << eff_calo_ersatz[i] << "\t" << deff_calo_ersatz[i] << "\t" - << a_calo_ersatz << "\t" << b_calo_ersatz << "\t" << a_calo_ersatz + b_calo_ersatz << "\t" - << d_calo_true/c_calo_true << "\t" - << fprime_calo_ersatz[i] << "\t" << dfprime_calo_ersatz[i] << "\t" - << effprime_calo_ersatz[i] << "\t" << deffprime_calo_ersatz[i] << "\t" - << d_calo_ersatz << "\t" << c_calo_ersatz << "\t" << d_calo_ersatz + c_calo_ersatz << endl; - cout << cMET << "\t" - << a_tc_true/b_tc_true << "\t" - << f_tc_ersatz[i] << "\t" << df_tc_ersatz[i] << "\t" - << eff_tc_ersatz[i] << "\t" << deff_tc_ersatz[i] << "\t" - << a_tc_ersatz << "\t" << b_tc_ersatz << "\t" << a_tc_ersatz + b_tc_ersatz << "\t" - << d_tc_true/c_tc_true << "\t" - << fprime_tc_ersatz[i] << "\t" << dfprime_tc_ersatz[i] << "\t" - << effprime_tc_ersatz[i] << "\t" << deffprime_tc_ersatz[i] << "\t" - << d_tc_ersatz << "\t" << c_tc_ersatz << "\t" << d_tc_ersatz + c_tc_ersatz << endl; -/* cout << cMET << "\t" - << a_t1_true/b_t1_true << "\t" - << f_t1_ersatz[i] << "\t" << df_t1_ersatz[i] << "\t" - << eff_t1_ersatz[i] << "\t" << deff_t1_ersatz[i] << "\t" - << a_t1_ersatz << "\t" << b_t1_ersatz << "\t" << a_t1_ersatz + b_t1_ersatz << "\t" - << d_t1_true/c_t1_true << "\t" - << fprime_t1_ersatz[i] << "\t" << dfprime_t1_ersatz[i] << "\t" - << effprime_t1_ersatz[i] << "\t" << deffprime_t1_ersatz[i] << "\t" - << d_t1_ersatz << "\t" << c_t1_ersatz << "\t" << d_t1_ersatz + c_t1_ersatz << endl; */ - cout << cMET << "\t" - << a_pf_true/b_pf_true << "\t" - << f_pf_ersatz[i] << "\t" << df_pf_ersatz[i] << "\t" - << eff_pf_ersatz[i] << "\t" << deff_pf_ersatz[i] << "\t" - << a_pf_ersatz << "\t" << b_pf_ersatz << "\t" << a_pf_ersatz + b_pf_ersatz << "\t" - << d_pf_true/c_pf_true << "\t" - << fprime_pf_ersatz[i] << "\t" << dfprime_pf_ersatz[i] << "\t" - << effprime_pf_ersatz[i] << "\t" << deffprime_pf_ersatz[i] << "\t" - << d_pf_ersatz << "\t" << c_pf_ersatz << "\t" << d_pf_ersatz + c_pf_ersatz << endl; - - CaloMET << cMET << "\t" - << a_calo_true/b_calo_true << "\t" - << f_calo_ersatz[i] << "\t" << df_calo_ersatz[i] << "\t" - << eff_calo_ersatz[i] << "\t" << deff_calo_ersatz[i] << "\t" - << a_calo_ersatz << "\t" << b_calo_ersatz << "\t" << a_calo_ersatz + b_calo_ersatz << "\t" - << d_calo_true/c_calo_true << "\t" - << fprime_calo_ersatz[i] << "\t" << dfprime_calo_ersatz[i] << "\t" - << effprime_calo_ersatz[i] << "\t" << deffprime_calo_ersatz[i] << "\t" - << d_calo_ersatz << "\t" << c_calo_ersatz << "\t" << d_calo_ersatz + c_calo_ersatz << endl; - TcMET << cMET << "\t" - << a_tc_true/b_tc_true << "\t" - << f_tc_ersatz[i] << "\t" << df_tc_ersatz[i] << "\t" - << eff_tc_ersatz[i] << "\t" << deff_tc_ersatz[i] << "\t" - << a_tc_ersatz << "\t" << b_tc_ersatz << "\t" << a_tc_ersatz + b_tc_ersatz << "\t" - << d_tc_true/c_tc_true << "\t" - << fprime_tc_ersatz[i] << "\t" << dfprime_tc_ersatz[i] << "\t" - << effprime_tc_ersatz[i] << "\t" << deffprime_tc_ersatz[i] << "\t" - << d_tc_ersatz << "\t" << c_tc_ersatz << "\t" << d_tc_ersatz + c_tc_ersatz << endl; -/* T1MET << cMET << "\t" - << a_t1_true/b_t1_true << "\t" - << f_t1_ersatz[i] << "\t" << df_t1_ersatz[i] << "\t" - << eff_t1_ersatz[i] << "\t" << deff_t1_ersatz[i] << "\t" - << a_t1_ersatz << "\t" << b_t1_ersatz << "\t" << a_t1_ersatz + b_t1_ersatz << "\t" - << d_t1_true/c_t1_true << "\t" - << fprime_t1_ersatz[i] << "\t" << dfprime_t1_ersatz[i] << "\t" - << effprime_t1_ersatz[i] << "\t" << deffprime_t1_ersatz[i] << "\t" - << d_t1_ersatz << "\t" << c_t1_ersatz << "\t" << d_t1_ersatz + c_t1_ersatz << endl;*/ - PfMET << cMET << "\t" - << a_pf_true/b_pf_true << "\t" - << f_pf_ersatz[i] << "\t" << df_pf_ersatz[i] << "\t" - << eff_pf_ersatz[i] << "\t" << deff_pf_ersatz[i] << "\t" - << a_pf_ersatz << "\t" << b_pf_ersatz << "\t" << a_pf_ersatz + b_pf_ersatz << "\t" - << d_pf_true/c_pf_true << "\t" - << fprime_pf_ersatz[i] << "\t" << dfprime_pf_ersatz[i] << "\t" - << effprime_pf_ersatz[i] << "\t" << deffprime_pf_ersatz[i] << "\t" - << d_pf_ersatz << "\t" << c_pf_ersatz << "\t" << d_pf_ersatz + c_pf_ersatz << endl; - - i++; - } - - TCanvas* c_calo_f = new TCanvas("calo_f", "", 800, 600); - TGraphErrors* g_calo_f = new TGraphErrors(metcut, f_calo_ersatz, metcuterror, df_calo_ersatz); - g_calo_f->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_f->GetYaxis()->SetTitle("f_{ersatz}"); - g_calo_f->Draw("ap"); - c_calo_f->SaveAs("calo_f.png"); - delete g_calo_f; - delete c_calo_f; - - TCanvas* c_calo_eff = new TCanvas("calo_eff", "", 800, 600); - TGraphErrors* g_calo_eff = new TGraphErrors(metcut, eff_calo_ersatz, metcuterror, deff_calo_ersatz); - g_calo_eff->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_eff->GetYaxis()->SetTitle("#epsilon_{ersatz}"); - g_calo_eff->Draw("ap"); - c_calo_eff->SaveAs("calo_eff.png"); - delete g_calo_eff; - delete c_calo_eff; - - TCanvas* c_calo_deltaf = new TCanvas("calo_deltaf", "", 800, 600); - TGraphErrors* g_calo_deltaf = new TGraphErrors(metcut, deltaf_calo_ersatz, metcuterror, df_calo_ersatz); - g_calo_deltaf->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_deltaf->GetYaxis()->SetTitle("f_{ersatz} - f_{W#rightarrowe#nu}"); - g_calo_deltaf->Draw("ap"); - c_calo_deltaf->SaveAs("calo_deltaf.png"); - delete g_calo_deltaf; - delete c_calo_deltaf; - - TCanvas* c_calo_fprime = new TCanvas("calo_fprime", "", 800, 600); - TGraphErrors* g_calo_fprime = new TGraphErrors(metcut, fprime_calo_ersatz, metcuterror, dfprime_calo_ersatz); - g_calo_fprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_fprime->GetYaxis()->SetTitle("f'_{ersatz}"); - g_calo_fprime->Draw("ap"); - c_calo_fprime->SaveAs("calo_fprime.png"); - delete g_calo_fprime; - delete c_calo_fprime; - - TCanvas* c_calo_effprime = new TCanvas("calo_effprime", "", 800, 600); - TGraphErrors* g_calo_effprime = new TGraphErrors(metcut, effprime_calo_ersatz, metcuterror, deffprime_calo_ersatz); - g_calo_effprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_effprime->GetYaxis()->SetTitle("#epsilon'_{ersatz}"); - g_calo_effprime->Draw("ap"); - c_calo_effprime->SaveAs("calo_effprime.png"); - delete g_calo_effprime; - delete c_calo_effprime; - - TCanvas* c_calo_deltafprime = new TCanvas("calo_deltafprime", "", 800, 600); - TGraphErrors* g_calo_deltafprime = new TGraphErrors(metcut, deltafprime_calo_ersatz, metcuterror, dfprime_calo_ersatz); - g_calo_deltafprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_calo_deltafprime->GetYaxis()->SetTitle("f'_{ersatz} - f'_{W#rightarrowe#nu}"); - g_calo_deltafprime->Draw("ap"); - c_calo_deltafprime->SaveAs("calo_deltafprime.png"); - delete g_calo_deltafprime; - delete c_calo_deltafprime; - - TCanvas* c_tc_f = new TCanvas("tc_f", "", 800, 600); - TGraphErrors* g_tc_f = new TGraphErrors(metcut, f_tc_ersatz, metcuterror, df_tc_ersatz); - g_tc_f->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_f->GetYaxis()->SetTitle("f_{ersatz}"); - g_tc_f->Draw("ap"); - c_tc_f->SaveAs("tc_f.png"); - delete g_tc_f; - delete c_tc_f; - - TCanvas* c_tc_eff = new TCanvas("tc_eff", "", 800, 600); - TGraphErrors* g_tc_eff = new TGraphErrors(metcut, eff_tc_ersatz, metcuterror, deff_tc_ersatz); - g_tc_eff->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_eff->GetYaxis()->SetTitle("#epsilon_{ersatz}"); - g_tc_eff->Draw("ap"); - c_tc_eff->SaveAs("tc_eff.png"); - delete g_tc_eff; - delete c_tc_eff; - - TCanvas* c_tc_deltaf = new TCanvas("tc_deltaf", "", 800, 600); - TGraphErrors* g_tc_deltaf = new TGraphErrors(metcut, deltaf_tc_ersatz, metcuterror, df_tc_ersatz); - g_tc_deltaf->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_deltaf->GetYaxis()->SetTitle("f_{ersatz} - f_{W#rightarrowe#nu}"); - g_tc_deltaf->Draw("ap"); - c_tc_deltaf->SaveAs("tc_deltaf.png"); - delete g_tc_deltaf; - delete c_tc_deltaf; - - TCanvas* c_tc_fprime = new TCanvas("tc_fprime", "", 800, 600); - TGraphErrors* g_tc_fprime = new TGraphErrors(metcut, fprime_tc_ersatz, metcuterror, dfprime_tc_ersatz); - g_tc_fprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_fprime->GetYaxis()->SetTitle("f'_{ersatz}"); - g_tc_fprime->Draw("ap"); - c_tc_fprime->SaveAs("tc_fprime.png"); - delete g_tc_fprime; - delete c_tc_fprime; - - TCanvas* c_tc_effprime = new TCanvas("tc_effprime", "", 800, 600); - TGraphErrors* g_tc_effprime = new TGraphErrors(metcut, effprime_tc_ersatz, metcuterror, deffprime_tc_ersatz); - g_tc_effprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_effprime->GetYaxis()->SetTitle("#epsilon'_{ersatz}"); - g_tc_effprime->Draw("ap"); - c_tc_effprime->SaveAs("tc_effprime.png"); - delete g_tc_effprime; - delete c_tc_effprime; - - TCanvas* c_tc_deltafprime = new TCanvas("tc_deltafprime", "", 800, 600); - TGraphErrors* g_tc_deltafprime = new TGraphErrors(metcut, deltafprime_tc_ersatz, metcuterror, dfprime_tc_ersatz); - g_tc_deltafprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_tc_deltafprime->GetYaxis()->SetTitle("f'_{ersatz} - f'_{W#rightarrowe#nu}"); - g_tc_deltafprime->Draw("ap"); - c_tc_deltafprime->SaveAs("tc_deltafprime.png"); - delete g_tc_deltafprime; - delete c_tc_deltafprime; -/* - TCanvas* c_t1_f = new TCanvas("t1_f", "", 800, 600); - TGraphErrors* g_t1_f = new TGraphErrors(metcut, f_t1_ersatz, metcuterror, df_t1_ersatz); - g_t1_f->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_f->GetYaxis()->SetTitle("f_{ersatz}"); - g_t1_f->Draw("ap"); - c_t1_f->SaveAs("t1_f.png"); - delete g_t1_f; - delete c_t1_f; - - TCanvas* c_t1_eff = new TCanvas("t1_eff", "", 800, 600); - TGraphErrors* g_t1_eff = new TGraphErrors(metcut, eff_t1_ersatz, metcuterror, deff_t1_ersatz); - g_t1_eff->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_eff->GetYaxis()->SetTitle("#epsilon_{ersatz}"); - g_t1_eff->Draw("ap"); - c_t1_eff->SaveAs("t1_eff.png"); - delete g_t1_eff; - delete c_t1_eff; - - TCanvas* c_t1_deltaf = new TCanvas("t1_deltaf", "", 800, 600); - TGraphErrors* g_t1_deltaf = new TGraphErrors(metcut, deltaf_t1_ersatz, metcuterror, df_t1_ersatz); - g_t1_deltaf->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_deltaf->GetYaxis()->SetTitle("f_{ersatz} - f_{W#rightarrowe#nu}"); - g_t1_deltaf->Draw("ap"); - c_t1_deltaf->SaveAs("t1_deltaf.png"); - delete g_t1_deltaf; - delete c_t1_deltaf; - - TCanvas* c_t1_fprime = new TCanvas("t1_fprime", "", 800, 600); - TGraphErrors* g_t1_fprime = new TGraphErrors(metcut, fprime_t1_ersatz, metcuterror, dfprime_t1_ersatz); - g_t1_fprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_fprime->GetYaxis()->SetTitle("f'_{ersatz}"); - g_t1_fprime->Draw("ap"); - c_t1_fprime->SaveAs("t1_fprime.png"); - delete g_t1_fprime; - delete c_t1_fprime; - - TCanvas* c_t1_effprime = new TCanvas("t1_effprime", "", 800, 600); - TGraphErrors* g_t1_effprime = new TGraphErrors(metcut, effprime_t1_ersatz, metcuterror, deffprime_t1_ersatz); - g_t1_effprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_effprime->GetYaxis()->SetTitle("#epsilon'_{ersatz}"); - g_t1_effprime->Draw("ap"); - c_t1_effprime->SaveAs("t1_effprime.png"); - delete g_t1_effprime; - delete c_t1_effprime; - - TCanvas* c_t1_deltafprime = new TCanvas("t1_deltafprime", "", 800, 600); - TGraphErrors* g_t1_deltafprime = new TGraphErrors(metcut, deltafprime_t1_ersatz, metcuterror, dfprime_t1_ersatz); - g_t1_deltafprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_t1_deltafprime->GetYaxis()->SetTitle("f'_{ersatz} - f'_{W#rightarrowe#nu}"); - g_t1_deltafprime->Draw("ap"); - c_t1_deltafprime->SaveAs("t1_deltafprime.png"); - delete g_t1_deltafprime; - delete c_t1_deltafprime; -*/ - TCanvas* c_pf_f = new TCanvas("pf_f", "", 800, 600); - TGraphErrors* g_pf_f = new TGraphErrors(metcut, f_pf_ersatz, metcuterror, df_pf_ersatz); - g_pf_f->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_f->GetYaxis()->SetTitle("f_{ersatz}"); - g_pf_f->Draw("ap"); - c_pf_f->SaveAs("pf_f.png"); - delete g_pf_f; - delete c_pf_f; - - TCanvas* c_pf_eff = new TCanvas("pf_eff", "", 800, 600); - TGraphErrors* g_pf_eff = new TGraphErrors(metcut, eff_pf_ersatz, metcuterror, deff_pf_ersatz); - g_pf_eff->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_eff->GetYaxis()->SetTitle("#epsilon_{ersatz}"); - g_pf_eff->Draw("ap"); - c_pf_eff->SaveAs("pf_eff.png"); - delete g_pf_eff; - delete c_pf_eff; - - TCanvas* c_pf_deltaf = new TCanvas("pf_deltaf", "", 800, 600); - TGraphErrors* g_pf_deltaf = new TGraphErrors(metcut, deltaf_pf_ersatz, metcuterror, df_pf_ersatz); - g_pf_deltaf->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_deltaf->GetYaxis()->SetTitle("f_{ersatz} - f_{W#rightarrowe#nu}"); - g_pf_deltaf->Draw("ap"); - c_pf_deltaf->SaveAs("pf_deltaf.png"); - delete g_pf_deltaf; - delete c_pf_deltaf; - - TCanvas* c_pf_fprime = new TCanvas("pf_fprime", "", 800, 600); - TGraphErrors* g_pf_fprime = new TGraphErrors(metcut, fprime_pf_ersatz, metcuterror, dfprime_pf_ersatz); - g_pf_fprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_fprime->GetYaxis()->SetTitle("f'_{ersatz}"); - g_pf_fprime->Draw("ap"); - c_pf_fprime->SaveAs("pf_fprime.png"); - delete g_pf_fprime; - delete c_pf_fprime; - - TCanvas* c_pf_effprime = new TCanvas("pf_effprime", "", 800, 600); - TGraphErrors* g_pf_effprime = new TGraphErrors(metcut, effprime_pf_ersatz, metcuterror, deffprime_pf_ersatz); - g_pf_effprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_effprime->GetYaxis()->SetTitle("#epsilon'_{ersatz}"); - g_pf_effprime->Draw("ap"); - c_pf_effprime->SaveAs("pf_effprime.png"); - delete g_pf_effprime; - delete c_pf_effprime; - - TCanvas* c_pf_deltafprime = new TCanvas("pf_deltafprime", "", 800, 600); - TGraphErrors* g_pf_deltafprime = new TGraphErrors(metcut, deltafprime_pf_ersatz, metcuterror, dfprime_pf_ersatz); - g_pf_deltafprime->GetXaxis()->SetTitle("#slash{E}_{T} cut"); - g_pf_deltafprime->GetYaxis()->SetTitle("f'_{ersatz} - f'_{W#rightarrowe#nu}"); - g_pf_deltafprime->Draw("ap"); - c_pf_deltafprime->SaveAs("pf_deltafprime.png"); - delete g_pf_deltafprime; - delete c_pf_deltafprime; - - file->Close(); - CaloMET.close(); - TcMET.close(); - //T1MET.close(); - PfMET.close(); -} diff --git a/ElectroWeakAnalysis/ZEE/test/Zersatzmet_cfg.py b/ElectroWeakAnalysis/ZEE/test/Zersatzmet_cfg.py deleted file mode 100644 index 35e7582ceec8b..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/Zersatzmet_cfg.py +++ /dev/null @@ -1,64 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ErsatzMEtMaker") - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("DEBUG") -#process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - #reportEvery = cms.untracked.int32(500), - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -process.electronHcalTowerIsolationLcone.intRadius = 0.0 -#process.load("RecoEcal.EgammaClusterProducers.geometryForClustering_cff") -process.load("Geometry.CaloEventSetup.CaloTopology_cfi") -process.load("PhysicsTools.PatAlgos.recoLayer0.jetMETCorrections_cff") -#process.extend(include("RecoEcal/EgammaClusterProducers/data/geometryForClustering.cff")) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10000) ) - -#from ElectroWeakAnalysis.ErsatzMEt.Zee_data_cff import newFileNames - -process.source = cms.Source("PoolSource", -# fileNames = newFileNames - fileNames = cms.untracked.vstring() - #fileNames = cms.untracked.vstring("file:/tmp/rnandi/Zee_AODSIM.root", "file:/tmp/rnandi/Zee_AODSIM_2.root") -# "/store/mc/Summer08/Zee/GEN-SIM-RECO/IDEAL_V11_redigi_v2/0008/0840D3A9-A000-DE11-ABF8-00161725E4EB.root") -) - -from ElectroWeakAnalysis.ZEE.ersatzmet_cfi import ErsatzMEtParams -#from ElectroWeakAnalysis.ErsatzMEt.EtaWeights_cff import EtaWeightsPS -process.ErsatzMEt = cms.EDAnalyzer('ErsatzMEt', -ErsatzMEtParams, -Zevent = cms.bool(True), -HLTPathCheck = cms.bool(False) -) -# Other statements -process.ZeeMcEleFilter = cms.EDFilter("MCParticlePairFilter", - Status = cms.untracked.vint32(3, 3), - MinPt = cms.untracked.vdouble(0.0, 0.0), - MaxEta = cms.untracked.vdouble(2.7, 2.7), - MinEta = cms.untracked.vdouble(-2.7, -2.7), - ParticleCharge = cms.untracked.int32(0), - ParticleID1 = cms.untracked.vint32(11), - ParticleID2 = cms.untracked.vint32(11) -) -process.ZeeFilSeq = cms.Sequence(process.ZeeMcEleFilter) - -#process.p = cms.Path(process.ZeeFilSeq*process.egammaIsolationSequence*process.corMetType1Icone5*process.ErsatzMEt) -#process.p = cms.Path(process.ZeeFilSeq*process.egammaIsolationSequence*process.ErsatzMEt) -process.p = cms.Path(process.ErsatzMEt) -process.TFileService = cms.Service("TFileService", fileName = cms.string("Zee_AODSIM.root")) diff --git a/ElectroWeakAnalysis/ZEE/test/analysisersatz_cfg.py b/ElectroWeakAnalysis/ZEE/test/analysisersatz_cfg.py deleted file mode 100644 index 97d5d15f72747..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/analysisersatz_cfg.py +++ /dev/null @@ -1,73 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("AnalysisErsatz") - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("DEBUG") -#process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - # reportEvery = cms.untracked.int32(1000), - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1)) - -#from ElectroWeakAnalysis.ErsatzMEt.Wenu_cff import newFileNames -#from ElectroWeakAnalysis.AnalysisErsatz.Wenu_Lots_cff import newFileNames -#from ElectroWeakAnalysis.ErsatzMEt.Reduced_Zee_cff import newFileNames - -process.source = cms.Source("PoolSource", - #fileNames = newFileNames - # replace 'myfile.root' with the source file you want to use -# fileNames = cms.untracked.vstring() - fileNames = cms.untracked.vstring("file:/tmp/rnandi/WenuTrue_AODSIM.root") -) - -# Other statements -process.WenuMcEleFilter = cms.EDFilter("PythiaFilter", - Status = cms.untracked.int32(1), - MotherID = cms.untracked.int32(11), - MinPt = cms.untracked.double(0.0), - ParticleID = cms.untracked.int32(11), - MaxEta = cms.untracked.double(2.7), - MinEta = cms.untracked.double(-2.7) -) -process.WenuFilSeq = cms.Sequence(process.WenuMcEleFilter) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string("STARTUP31X_V4::All") -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.load("RecoEcal.EgammaClusterProducers.geometryForClustering_cff") -#process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequencePAT_cff") - -from ElectroWeakAnalysis.ZEE.ersatzmet_cfi import ErsatzMEtParams - -process.analyse = cms.EDAnalyzer('AnalysisErsatz', -ErsatzMEtParams, -ErsatzEvent = cms.bool(False) -) - -process.add_( cms.Service( - "RandomNumberGeneratorService", - analyse = cms.PSet( - initialSeed = cms.untracked.uint32(563545), - engineName = cms.untracked.string('TRandom3')) -)) -#process.p = cms.Path(process.WenuFilSeq*process.analyse) -#process.p = cms.Path(process.egammaIsolationSequence*process.analyse) -process.p = cms.Path(process.analyse) -#process.p = cms.Path(process.WenuFilSeq*process.egammaIsolationSequence*process.analyse) -process.TFileService = cms.Service("TFileService", - fileName = cms.string("WenuTrue_AODSIM.root"), -) diff --git a/ElectroWeakAnalysis/ZEE/test/aod_ZeePlots.py b/ElectroWeakAnalysis/ZEE/test/aod_ZeePlots.py deleted file mode 100644 index f24c2c77fe583..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/aod_ZeePlots.py +++ /dev/null @@ -1,179 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') - fileNames = cms.untracked.vstring( - 'file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') -#process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') - -process.load("Configuration.StandardSequences.MagneticField_cff") - -# this filter produces patElectrons and patCaloMets to be used in the following -process.aod2patFilter = cms.EDFilter('aod2patFilterZee', - electronCollectionTag = cms.untracked.InputTag("gsfElectrons","","RECO"), - metCollectionTag = cms.untracked.InputTag("met","","RECO"), - ) - -############################################################################## -## -## the filter to select the candidates from the data samples -## -## -## WARNING: you may want to modify this item: -HLT_process_name = "HLT8E29" # options: HLT or HLT8E29 -# trigger path selection -HLT_path_name = "HLT_Ele15_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # trigger here - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(False), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("aod2patFilter","patElectrons","PAT"), - metCollectionTag = cms.untracked.InputTag("aod2patFilter","patCaloMets","PAT") - - ) -#################################################################################### -## -## the W selection that you prefer - -selection_a2 = cms.PSet ( - trackIso_EB = cms.untracked.double(7.2), - ecalIso_EB = cms.untracked.double(5.7), - hcalIso_EB = cms.untracked.double(8.1), - sihih_EB = cms.untracked.double(0.01), - dphi_EB = cms.untracked.double(1000.), - deta_EB = cms.untracked.double(0.0071), - hoe_EB = cms.untracked.double(1000), - - trackIso_EE = cms.untracked.double(5.1), - ecalIso_EE = cms.untracked.double(5.0), - hcalIso_EE = cms.untracked.double(3.4), - sihih_EE = cms.untracked.double(0.028), - dphi_EE = cms.untracked.double(1000.), - deta_EE = cms.untracked.double(0.0066), - hoe_EE = cms.untracked.double(1000.) - ) - -selection_test = cms.PSet ( - trackIso_EB = cms.untracked.double(10), - ecalIso_EB = cms.untracked.double(10), - hcalIso_EB = cms.untracked.double(10), - sihih_EB = cms.untracked.double(0.1), - dphi_EB = cms.untracked.double(1), - deta_EB = cms.untracked.double(1), - hoe_EB = cms.untracked.double(1), - - trackIso_EE = cms.untracked.double(10), - ecalIso_EE = cms.untracked.double(10), - hcalIso_EE = cms.untracked.double(10), - sihih_EE = cms.untracked.double(1), - dphi_EE = cms.untracked.double(1), - deta_EE = cms.untracked.double(1), - hoe_EE = cms.untracked.double(1) - ) - -selection_inverse = cms.PSet ( - trackIso_EB_inv = cms.untracked.bool(True), - trackIso_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('ZeePlots', - selection_a2, - selection_inverse, - zeeCollectionTag = cms.untracked.InputTag( - "zeeFilter","selectedZeeCandidates","PAT") - ) - - - -process.eca = cms.EDAnalyzer("EventContentAnalyzer") -process.p = cms.Path(process.aod2patFilter +process.zeeFilter + process.plotter) -#process.p = cms.Path(process.aod2patFilter + process.eca) - - - -#### SET OF Trigger names for AOD - 321 -# -# HLTPath_[0] = "HLT_Ele10_LW_L1R"; -# HLTFilterType_[0] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter","","HLT8E29"); -# HLTPath_[1] = "HLT_Ele10_LW_EleId_L1R"; -# HLTFilterType_[1] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt10EleIdDphiFilter","","HLT8E29"); -# HLTPath_[2] = "HLT_Ele15_LW_L1R"; -# HLTFilterType_[2] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[3] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[3] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[4] = "HLT_Ele15_SiStrip_L1R"; -# HLTFilterType_[4] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT8E29"); -# HLTPath_[5] = "HLT_Ele20_LW_L1R"; -# HLTFilterType_[5] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15EtFilterESet20","","HLT8E29"); -# HLTPath_[6] = "HLT_DoubleEle5_SW_L1R"; -# HLTFilterType_[6] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt5PixelMatchFilter","","HLT8E29"); -# HLTPath_[7] = "HLT_Ele15_SC10_LW_L1R"; -# HLTFilterType_[7] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15ESDoubleSC10","","HLT8E29"); -# HLTPath_[8] = "tba"; -# HLTFilterType_[8] = edm::InputTag("tba"); -# HLTPath_[9] = "tba"; -# HLTFilterType_[9] = edm::InputTag("tba"); -# // e31 menu -# HLTPath_[10] = "HLT_Ele10_SW_L1R"; -# HLTFilterType_[10] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[11] = "HLT_Ele15_SW_L1R"; -# HLTFilterType_[11] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15PixelMatchFilter","","HLT"); -# HLTPath_[12] = "HLT_Ele15_SiStrip_L1R"; // <--- same as [4] -# HLTFilterType_[12] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt15PixelMatchFilter","","HLT"); -# HLTPath_[13] = "HLT_Ele15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[13] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTITrackIsolFilter","","HLT"); -# HLTPath_[14] = "HLT_Ele15_SW_EleId_L1R"; -# HLTFilterType_[14] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdDphiFilter","","HLT"); -# HLTPath_[15] = "HLT_Ele20_SW_L1R"; -# HLTFilterType_[15] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20PixelMatchFilter","","HLT"); -# HLTPath_[16] = "HLT_Ele20_SiStrip_L1R"; -# HLTFilterType_[16] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronSiStripEt20PixelMatchFilter","","HLT"); -# HLTPath_[17] = "HLT_Ele25_SW_L1R"; -# HLTFilterType_[17] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EtFilterESet25","","HLT"); -# HLTPath_[18] = "HLT_Ele25_SW_EleId_LooseTrackIso_L1R"; -# HLTFilterType_[18] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdTrackIsolFilterESet25LTI","","HLT"); -# HLTPath_[19] = "HLT_DoubleEle10_SW_L1R"; -# HLTFilterType_[19] = edm::InputTag("hltL1NonIsoHLTNonIsoDoubleElectronEt10PixelMatchFilter","","HLT"); -# HLTPath_[20] = "HLT_Ele15_SC15_SW_EleId_L1R"; -# HLTFilterType_[20] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15EleIdESDoubleSC15","","HLT"); -# HLTPath_[21] = "HLT_Ele15_SC15_SW_LooseTrackIso_L1R"; -# HLTFilterType_[21] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15LTIESDoubleSC15","","HLT"); -# HLTPath_[22] = "HLT_Ele20_SC15_SW_L1R"; -# HLTFilterType_[22] = edm::InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt20ESDoubleSC15","","HLT"); diff --git a/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfg.py b/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfg.py deleted file mode 100644 index e967afa9565cf..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfg.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ErsatzMEtMaker") - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string("DEBUG") -#process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - #reportEvery = cms.untracked.int32(500), - reportEvery = cms.untracked.int32(1), - limit = cms.untracked.int32(10000000) -) -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.MagneticField_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -process.electronHcalTowerIsolationLcone.intRadius = 0.0 -#process.load("RecoEcal.EgammaClusterProducers.geometryForClustering_cff") -process.load("Geometry.CaloEventSetup.CaloTopology_cfi") -process.load("PhysicsTools.PatAlgos.recoLayer0.jetMETCorrections_cff") -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10000) ) - -#from ElectroWeakAnalysis.ErsatzMEt.Reduced_ZeeFull_cff import newFileNames - -process.source = cms.Source("PoolSource", -# fileNames = newFileNames - #fileNames = cms.untracked.vstring('/store/user/wardrope/Zee/Zee/652884fbfc42ebe755d455783d693c41//Zee_8.root') - fileNames = cms.untracked.vstring("file:/tmp/rnandi/Zee_AODSIM.root") - #fileNames = cms.untracked.vstring() -) - -from ElectroWeakAnalysis.ZEE.ersatzmet_cfi import ErsatzMEtParams -#from ElectroWeakAnalysis.ErsatzMEt.EtaWeights_cff import EtaWeightsPS -process.ErsatzMEt = cms.EDAnalyzer('ErsatzMEt', -ErsatzMEtParams, -Zevent = cms.bool(False) -) -# Other statements - -#process.p = cms.Path(process.egammaIsolationSequence*process.ErsatzMEt) -process.p = cms.Path(process.ErsatzMEt) -process.TFileService = cms.Service("TFileService", fileName = cms.string("Zee.root")) diff --git a/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfi.py b/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfi.py deleted file mode 100644 index 97f34c88271b5..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/ersatzmet_cfi.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -ErsatzMEtParams = cms.PSet( -MCTruthCollection = cms.InputTag("genParticles"), -ElectronCollection = cms.InputTag("gsfElectrons"), -PfElectronCollection = cms.InputTag("pfElectrons"), -HybridScCollection = cms.InputTag("correctedHybridSuperClusters"), -M5x5ScCollection = cms.InputTag("correctedMulti5x5SuperClustersWithPreshower"), -sigmaElectronicNoise_EB = cms.double(0.03), -hyb_fCorrPSet = cms.PSet( - brLinearLowThr = cms.double(1.1), - fBremVec = cms.vdouble(-0.05208, 0.1331, 0.9196, -0.0005735, 1.343), - brLinearHighThr = cms.double(8.0), - fEtEtaVec = cms.vdouble(1.0012, -0.5714, 0, 0, - 0, 0.5549, 12.74, 1.0448, - 0, 0, 0, 0, - 8.0, 1.023, -0.00181, 0, 0) - ), -sigmaElectronicNoise_EE = cms.double(0.15), -m5x5_fCorrPSet = cms.PSet( - brLinearLowThr = cms.double(0.6), - fBremVec = cms.vdouble(-0.04163, 0.08552, 0.95048, -0.002308, 1.077), - brLinearHighThr = cms.double(6.0), - fEtEtaVec = cms.vdouble(0.9746, -6.512, 0, 0, - 0.02771, 4.983, 0, 0, - -0.007288, -0.9446, 0, 0, - 0, 0, 0, 1, 1) -), -CElecPtMin = cms.double(1.), -CEB_sigmaIEtaIEta = cms.double(99999.), -CEB_deltaPhiIn = cms.double(99999.), -CEB_deltaEtaIn = cms.double(99999.), -CEB_EcalIso = cms.double(99999.), -CEB_HcalIso = cms.double(99999.), -CEB_TrckIso = cms.double(99999.), -CEE_sigmaIEtaIEta = cms.double(99999.), -CEE_deltaPhiIn = cms.double(99999.), -CEE_deltaEtaIn = cms.double(99999.), -CEE_EcalIso = cms.double(99999.), -CEE_HcalIso = cms.double(99999.), -CEE_TrckIso = cms.double(99999.), -eIsoTrack = cms.InputTag("electronTrackIsolationLcone"), -eIsoEcal = cms.InputTag("electronEcalRecHitIsolationLcone"), -eIsoHcal = cms.InputTag("electronHcalTowerIsolationLcone"), -CaloMEtCollection = cms.InputTag("met"), -GenMEtCollection = cms.InputTag("genMet"), -PfMEtCollection = cms.InputTag("pfMet"), -TcMEtCollection = cms.InputTag("tcMet"), -#T1MEtCollection = cms.InputTag("layer1METs"), -#CaloMEtT1Collection = cms.InputTag("Type1MET"), -#CaloMEtT1Collection = cms.InputTag("corMetType1Icone5"), -#TriggerResults = cms.InputTag("TriggerResults","","HLT8E29"), -#TriggerEvent = cms.InputTag("hltTriggerSummaryAOD","","HLT8E29"), -#TriggerPath = cms.InputTag("hltL1NonIsoHLTNonIsoSingleElectronLWEt15PixelMatchFilter","","HLT8E29"), -#TriggerName = cms.string("HLT_Ele15_LW_L1R"), -TriggerResults = cms.InputTag("TriggerResults","","HLT"), -TriggerEvent = cms.InputTag("hltTriggerSummaryAOD","","HLT"), -TriggerPath = cms.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15TrackIsolFilter", "", "HLT"), -TriggerName = cms.string("HLT_Ele15_SW_LooseTrackIso_L1R"), -mW = cms.double(80.398), -mZ = cms.double(91.188), -HLTPathCheck = cms.bool(False), -mTPmin = cms.double(61.), -mTPmax = cms.double(121.), -BarrelEtaMax = cms.double(1.4442), -EndCapEtaMin = cms.double(1.56), -EndCapEtaMax = cms.double(2.5), -etaWidth = cms.int32(7), -phiWidth = cms.int32(25) -) diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming.py deleted file mode 100644 index 22cbfbb11a71c..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming.py +++ /dev/null @@ -1,164 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - 'rfio:/castor/cern.ch/cms/store/relval/CMSSW_3_5_7/RelValZEE/GEN-SIM-RECO/START3X_V26-v1/0012/020A72FB-4749-DF11-A27E-003048679076.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(300) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) -# -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationLcone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationLcone"), -# ), -# user = cms.VPSet(), - ) - -## -## Pre-calculated electron identification selections -## -## set the variable false if you don't need them, or if you use your own PSet -## -## any input tag you set corresponds to a valuemap that either it is stored in the event -## or you create it yourself -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## WARNING: you may want to modify this item: T R I G G E R S E L E C T I O N -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - useTriggerInfo = cms.untracked.bool(True), - # trigger - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # exra variable calculation - calculateConversionRejection = cms.untracked.bool(True), - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - ) -#################################################################################### -## - - - -process.zeePath = cms.Path(process.patDefaultSequence*process.zeeFilter) - - -process.zeeOutputModule = cms.OutputModule( "PoolOutputModule", - fileName = cms.untracked.string("zeeCandidates.root"), - outputCommands = cms.untracked.vstring( -# 'keep *' - 'drop *', - 'keep *_*_selectedZeeCandidates_*', - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('zeePath',),), - - ) - -process.outpath = cms.EndPath(process.zeeOutputModule) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming_data.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming_data.py deleted file mode 100644 index ae89bb7f51e62..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeFilterSkimming_data.py +++ /dev/null @@ -1,166 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - "dcap://gfe02:22128/pnfs/hep.ph.ic.ac.uk/data/cms/store/data/Commissioning10/MinimumBias/RECO/May6thPDSkim2_SD_EG-v1/0135/FCC2FA5A-BB5D-DF11-8246-002618943978.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(300) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_35X_V8B::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) -# -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationLcone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationLcone"), -# ), -# user = cms.VPSet(), - ) - -## -## Pre-calculated electron identification selections -## -## set the variable false if you don't need them, or if you use your own PSet -## -## any input tag you set corresponds to a valuemap that either it is stored in the event -## or you create it yourself -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## WARNING: you may want to modify this item: T R I G G E R S E L E C T I O N -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cfg for data - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - useTriggerInfo = cms.untracked.bool(True), - # trigger - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # exra variable calculation - calculateConversionRejection = cms.untracked.bool(True), - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - ) -#################################################################################### -## - - - -process.zeePath = cms.Path(process.patDefaultSequence*process.zeeFilter) - - -process.zeeOutputModule = cms.OutputModule( "PoolOutputModule", - fileName = cms.untracked.string("zeeCandidates.root"), - outputCommands = cms.untracked.vstring( -# 'keep *' - 'drop *', - 'keep *_*_selectedZeeCandidates_*', - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('zeePath',),), - - ) - -process.outpath = cms.EndPath(process.zeeOutputModule) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots.py deleted file mode 100644 index 0a1411584f539..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots.py +++ /dev/null @@ -1,187 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'file:rfio:/castor/cern.ch/user/r/rompotis/DATA_STUDIES/Spring10/sample_WenuSpring10START3X_V26_S09-v1_AODSIM.root', - 'rfio:/castor/cern.ch/cms/store/relval/CMSSW_3_5_7/RelValZEE/GEN-SIM-RECO/START3X_V26-v1/0012/020A72FB-4749-DF11-A27E-003048679076.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(300) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('START3X_V26A::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) -# -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationLcone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationLcone"), -# ), -# user = cms.VPSet(), - ) - -## -## Pre-calculated electron identification selections -## -## set the variable false if you don't need them, or if you use your own PSet -## -## any input tag you set corresponds to a valuemap that either it is stored in the event -## or you create it yourself -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## WARNING: you may want to modify this item: T R I G G E R S E L E C T I O N -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - useTriggerInfo = cms.untracked.bool(True), - # trigger - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # exra variable calculation - calculateConversionRejection = cms.untracked.bool(True), - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - ) -#################################################################################### -## -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -selection_secondLeg = cms.PSet ( - ## set this to true if you want to switch on diff 2nd leg selection - useDifferentSecondLegSelection = cms.untracked.bool(False), - ## preselection criteria are independent of useDifferentSecondLegSelection - # set them to False if you don't want them - useConversionRejection2 = cms.untracked.bool(False), - useValidFirstPXBHit2 = cms.untracked.bool(False), - useExpectedMissingHits2 =cms.untracked.bool(False), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(1), - ## - usePrecalcID2 = cms.untracked.bool(False), - usePrecalcIDType2 = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('ZeePlots', - selection_95relIso, - selection_secondLeg, - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlotsFromSkimmed.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeePlotsFromSkimmed.py deleted file mode 100644 index eb98983a7f59b..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlotsFromSkimmed.py +++ /dev/null @@ -1,66 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ZEEPLOTS") - - -process.MessageLogger = cms.Service("MessageLogger") - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:zeeCandidates.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -selection_secondLeg = cms.PSet ( - ## set this to true if you want to switch on diff 2nd leg selection - useDifferentSecondLegSelection = cms.untracked.bool(False), - ## preselection criteria are independent of useDifferentSecondLegSelection - # set them to False if you don't want them - useConversionRejection2 = cms.untracked.bool(False), - useValidFirstPXBHit2 = cms.untracked.bool(False), - useExpectedMissingHits2 =cms.untracked.bool(False), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(1), - ## - usePrecalcID2 = cms.untracked.bool(False), - usePrecalcIDType2 = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('ZeePlots', - selection_95relIso, - selection_secondLeg, - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT") - ) - - - - - - -process.p = cms.Path(process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_data.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_data.py deleted file mode 100644 index cfe984330e0a0..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_data.py +++ /dev/null @@ -1,189 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - "dcap://gfe02:22128/pnfs/hep.ph.ic.ac.uk/data/cms/store/data/Commissioning10/MinimumBias/RECO/May6thPDSkim2_SD_EG-v1/0135/FCC2FA5A-BB5D-DF11-8246-002618943978.root" - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(300) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -process.GlobalTag.globaltag = cms.string('GR_R_35X_V8B::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) -# -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet( -# tracker = cms.PSet( -# src = cms.InputTag("electronTrackIsolationScone"), -# ), -# ecal = cms.PSet( -# src = cms.InputTag("electronEcalRecHitIsolationLcone"), -# ), -# hcal = cms.PSet( -# src = cms.InputTag("electronHcalTowerIsolationLcone"), -# ), -# user = cms.VPSet(), - ) - -## -## Pre-calculated electron identification selections -## -## set the variable false if you don't need them, or if you use your own PSet -## -## any input tag you set corresponds to a valuemap that either it is stored in the event -## or you create it yourself -process.patElectrons.addElectronID = cms.bool(True) -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso= cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso= cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso= cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso= cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso= cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso= cms.InputTag("simpleEleId60cIso"), - ) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -## -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) -# process.makePatMuons may be needed depending on how you calculate the MET -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## WARNING: you may want to modify this item: T R I G G E R S E L E C T I O N -HLT_process_name = "HLT" # -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cfg for data - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi"), - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - useTriggerInfo = cms.untracked.bool(True), - # trigger - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # exra variable calculation - calculateConversionRejection = cms.untracked.bool(True), - calculateValidFirstPXBHit = cms.untracked.bool(True), - calculateExpectedMissingHits = cms.untracked.bool(True), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - ) -#################################################################################### -## -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -selection_secondLeg = cms.PSet ( - ## set this to true if you want to switch on diff 2nd leg selection - useDifferentSecondLegSelection = cms.untracked.bool(False), - ## preselection criteria are independent of useDifferentSecondLegSelection - # set them to False if you don't want them - useConversionRejection2 = cms.untracked.bool(False), - useValidFirstPXBHit2 = cms.untracked.bool(False), - useExpectedMissingHits2 =cms.untracked.bool(False), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(1), - ## - usePrecalcID2 = cms.untracked.bool(False), - usePrecalcIDType2 = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('ZeePlots', - selection_95relIso, - selection_secondLeg, - usePrecalcID = cms.untracked.bool(False), - usePrecalcIDType = cms.untracked.string('simpleEleId95cIso'), - usePrecalcIDSign = cms.untracked.string('='), - usePrecalcIDValue = cms.untracked.double(7), - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_isodeposits.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_isodeposits.py deleted file mode 100644 index e031f834333f8..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeePlots_isodeposits.py +++ /dev/null @@ -1,158 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - -process.MessageLogger = cms.Service( - "MessageLogger", - categories = cms.untracked.vstring('info', 'debug','cout') - ) - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - - -# source -process.source = cms.Source("PoolSource", - #fileNames = cms.untracked.vstring('rfio:/castor/cern.ch/user/r/rompotis/RedigiSummer08RootTrees/WenuRedigi_RECO_SAMPLE.root') - fileNames = cms.untracked.vstring( - 'file:zee_Summer09-MC_31X_V3_AODSIM_v1_AODSIM.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -## global tags: -#process.GlobalTag.globaltag = cms.string('MC_31X_V5::All') -process.GlobalTag.globaltag = cms.string('STARTUP31X_V4::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -process.load("CommonTools.ParticleFlow.PF2PAT_cff") -process.load("PhysicsTools.PatAlgos.patSequences_cff") -process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") -## -# -# for ecal isolation: set the correct name of the ECAL rechit collection -# -process.eleIsoDepositEcalFromHits.ExtractorPSet.barrelEcalHits = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eleIsoDepositEcalFromHits.ExtractorPSet.endcapEcalHits = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -# -# -process.eidRobustHighEnergy.reducedBarrelRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", "", "RECO") -process.eidRobustHighEnergy.reducedEndcapRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", "", "RECO") -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## CHOICE OF THE HLT PATH this section is not used from PAT -## -## Define here as string the names of the triggers only once -## please consult the table of the available triggers at the end of this file -# trigger menu selection -## -#process.patTrigger.processName = cms.string(HLT_process_name) -#process.patTriggerMatcher = cms.Sequence(process.patTriggerElectronMatcher) -#process.electronTriggerMatchHltElectrons.pathNames = cms.vstring(HLT_path_name) -#process.patTriggerMatchEmbedder = cms.Sequence(process.cleanLayer1ElectronsTriggerMatch) -#process.patTriggerSequence = cms.Sequence(process.patTrigger*process.patTriggerMatcher* -# process.patTriggerMatchEmbedder) -## -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.layer1RawCaloMETs = process.layer1METs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), - ) -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myDesiredMetCollection = 'layer1RawCaloMETs' -## modify the sequence of the MET creation: #%% -process.makeLayer1METs = cms.Sequence(process.patMETCorrections * process.layer1METs * - process.layer1RawCaloMETs) -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) -process.allLayer1Objects = cms.Sequence(process.makeAllLayer1Electrons+process.makeAllLayer1Muons+process.makeLayer1METs) -process.selectedLayer1Objects = cms.Sequence(process.selectedLayer1Electrons+process.selectedLayer1Muons) -process.cleanLayer1Objects = cms.Sequence(process.cleanLayer1Muons*process.cleanLayer1Electrons) -process.countLayer1Objects = cms.Sequence(process.countLayer1Electrons+process.countLayer1Muons) - -process.patDefaultSequence = cms.Sequence(process.allLayer1Objects * process.selectedLayer1Objects * - process.cleanLayer1Objects*process.countLayer1Objects - ) - -## ################################################################################ -## -## the filter to select the candidates from the data samples -## -## WARNING: you may want to modify this item: T R I G G E R S E L E C T I O N -HLT_process_name = "HLT8E29" # options: HLT or HLT8E29 -# trigger path selection -HLT_path_name = "HLT_Ele10_LW_L1R" -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSingleElectronLWEt10PixelMatchFilter" -# -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - # cuts - ETCut = cms.untracked.double(20.), - METCut = cms.untracked.double(0.), - # trigger - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.2), - # electrons and MET - electronCollectionTag = cms.untracked.InputTag("selectedLayer1Electrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myDesiredMetCollection,"","PAT") - ) -#################################################################################### -## -## the Z selection that you prefer -selection_a2 = cms.PSet ( - trackIso_EB = cms.untracked.double(7.2), - ecalIso_EB = cms.untracked.double(5.7), - hcalIso_EB = cms.untracked.double(8.1), - sihih_EB = cms.untracked.double(0.01), - dphi_EB = cms.untracked.double(1000.), - deta_EB = cms.untracked.double(0.0071), - hoe_EB = cms.untracked.double(1000), - - trackIso_EE = cms.untracked.double(5.1), - ecalIso_EE = cms.untracked.double(5.0), - hcalIso_EE = cms.untracked.double(3.4), - sihih_EE = cms.untracked.double(0.028), - dphi_EE = cms.untracked.double(1000.), - deta_EE = cms.untracked.double(0.0066), - hoe_EE = cms.untracked.double(1000.) - ) - -selection_inverse = cms.PSet ( - trackIso_EB_inv = cms.untracked.bool(True), - trackIso_EE_inv = cms.untracked.bool(True) - ) - -#################################################################################### -## -## and the plot creator -process.plotter = cms.EDAnalyzer('ZeePlots', - selection_a2, - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT") - ) - - - - -process.p = cms.Path(process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_forData.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_forData.py deleted file mode 100644 index c15dd18e58316..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_forData.py +++ /dev/null @@ -1,407 +0,0 @@ -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Stilianos Kesisoglou - Institute of Nuclear Physics -## NCSR Demokritos -## 25 June 2010 -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") - -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) - -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - - - - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -# SOME DATA FILE TO BE PUT HERE -# -# MC test (local) running on the OneElecPlusSC skim made from the Zee MC samples -# ------------------------------------------------------------------------------ -# 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_1Files.root', -# 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_2Files.root', -# 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_3Files.root', -# -# MC test (local) running directly on the Zee MC samples -# ------------------------------------------------------ -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/8EA9211C-7476-DF11-BC31-00304867C136.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/B0737652-7076-DF11-83F8-002618943831.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/14B213B3-7576-DF11-8763-003048678FA6.root', - ) -) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -# -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -## global tags: -# -process.GlobalTag.globaltag = cms.string('GR_R_36X_V12A::All') # GLOBAL TAG FOR DATA - -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") - -process.load("PhysicsTools.PatAlgos.patSequences_cff") - -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") - -## -# - -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) - -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' - -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) - - -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) - -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) - -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso = cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso = cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso = cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso = cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso = cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso = cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso = cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso = cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso = cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso = cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso = cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso = cms.InputTag("simpleEleId60cIso") -) - -## - -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) - -## - -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") - -# you have to tell the ID that it is data. These are set to False for MC -process.simpleEleId95relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId95cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60cIso.dataMagneticFieldSetUp = cms.bool(True) -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) - -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) - -# process.makePatMuons may be needed depending on how you calculate the MET - -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) - -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) - - - -## the filter to select the candidates from the data samples - - -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the Spring10 production traditional MC / HLT for the powheg samples or data - -# trigger path selection -HLT_path_name = "HLT_Photon10_L1R" #= "HLT_Ele15_LW_L1R" # - -# trigger filter name -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" - -HLT_path_name_extra0 = "HLT_Photon15_L1R" -HLT_filter_name_extra0 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15HcalIsolFilter","",HLT_process_name) - -HLT_path_name_extra1 = "HLT_Photon15_Cleaned_L1R" -HLT_filter_name_extra1 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15CleanedHcalIsolFilter","",HLT_process_name) - -HLT_path_name_extra2 = "HLT_Ele15_SW_L1R" -HLT_filter_name_extra2 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15PixelMatchFilter","",HLT_process_name) - - -rules_Filter = cms.PSet ( - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.560), - EndCapMaxEta = cms.untracked.double(2.5), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(True), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.0), - useExtraTrigger = cms.untracked.bool(True), - vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2), - vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0, HLT_filter_name_extra1, HLT_filter_name_extra2), - # ET Cut in the SC - ETCut = cms.untracked.double(20.0), - METCut = cms.untracked.double(0.0), - # For DATA set it to True, for MC set it to False - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi") -) - - -rules_Filter_Elec0 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit0 = cms.untracked.bool(True), - calculateConversionRejection0 = cms.untracked.bool(True), - calculateExpectedMissingHits0 = cms.untracked.bool(True) -) - -rules_Filter_Elec1 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit1 = cms.untracked.bool(True), - calculateConversionRejection1 = cms.untracked.bool(True), - calculateExpectedMissingHits1 = cms.untracked.bool(True) -) - -rules_Filter_Elec2 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(1), - # calculate some new cuts - calculateValidFirstPXBHit2 = cms.untracked.bool(True), - calculateConversionRejection2 = cms.untracked.bool(True), - calculateExpectedMissingHits2 = cms.untracked.bool(True) -) - - -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - rules_Filter, - rules_Filter_Elec0, - rules_Filter_Elec1, - rules_Filter_Elec2 -) - - - -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -rules_Plotter = cms.PSet ( - # treat or not the elecrons with same criteria. if yes then rules_Plotter_Elec1/2 are neglected - useSameSelectionOnBothElectrons = cms.untracked.bool(True), - # some extra information on the ntuple production: - sihih0_EB = cms.untracked.double(1000.0), - dphi0_EB = cms.untracked.double(1000.0), - deta0_EB = cms.untracked.double(1000.0), - hoe0_EB = cms.untracked.double(1000.0), - sihih0_EE = cms.untracked.double(1000.0), - dphi0_EE = cms.untracked.double(1000.0), - deta0_EE = cms.untracked.double(1000.0), - hoe0_EE = cms.untracked.double(1000.0), - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT"), - ZEE_VBTFselectionFileName = cms.untracked.string("ZEE_VBTFselection.root"), - ZEE_VBTFpreseleFileName = cms.untracked.string("ZEE_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeExtraInformation = cms.untracked.bool(True) -) - -rules_Plotter_Elec0 = cms.PSet ( - # The selection to be used here: - usePrecalcID0 = cms.untracked.bool(True), - usePrecalcIDType0 = cms.untracked.string('simpleEleId95relIso'), - usePrecalcIDSign0 = cms.untracked.string('='), - usePrecalcIDValue0 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(1), - ## - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Plotter_Elec1 = cms.PSet ( - # The selection to be used here: - usePrecalcID1 = cms.untracked.bool(True), - usePrecalcIDType1 = cms.untracked.string('simpleEleId95relIso'), - usePrecalcIDSign1 = cms.untracked.string('='), - usePrecalcIDValue1 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(1), - ## - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Plotter_Elec2 = cms.PSet ( - # The selection to be used here: - usePrecalcID2 = cms.untracked.bool(True), - usePrecalcIDType2 = cms.untracked.string('simpleEleId95relIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(False), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(1), - ## - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) - -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - -process.plotter = cms.EDAnalyzer('ZeePlots', - rules_Plotter, - rules_Plotter_Elec0, - rules_Plotter_Elec1, - rules_Plotter_Elec2 -) - - -# if you run on data then you have to do misalignment corrections first!!! -# not to be used with MC!! - -process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") - -process.p = cms.Path( process.gsfElectrons*process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) -#process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_wiCertJSON_forData.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_wiCertJSON_forData.py deleted file mode 100755 index cb36784a341f7..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_wiCertJSON_forData.py +++ /dev/null @@ -1,469 +0,0 @@ -# Initializations -# --------------- -# -# Get the base name of the Python script and use it to define input/output associated files -# -# N.B: Special variable __file__ is not available within cmsRun, and the following line fails: -# -# pyFile=(__file__).replace('.py','') -# -# As a result, the calling arguments must be scanned to locate the Python script. -# -import sys - -for inArg in sys.argv: - if inArg.find('.py') == -1: - continue - else: - pyBaseName=inArg.replace('.py','') - -# Define input/output associated files. -# -pyFile = "%s.py" % (pyBaseName) # Name of the Python script itself -lstFile = "%s.list" % (pyBaseName) # Name of the list file (contains a list of files to process) -resFile = "%s.results" % (pyBaseName) # Name of the results file (stdout and stderr messages) -outFile = "%s.root" % (pyBaseName) # Name of the output file (ROOT) - - -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Stilianos Kesisoglou - Institute of Nuclear Physics -## NCSR Demokritos -## 25 June 2010 -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") - -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) - -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - -# -# # source -# process.source = cms.Source("PoolSource", -# fileNames = cms.untracked.vstring( -# # SOME DATA FILE TO BE PUT HERE -# # -# # DATA test (local) running on the OneElecPlusSC skim made from the EG DATA samples -# # ---------------------------------------------------------------------------------- -# # 'rfio:/tmp/ikesisog/TestFiles/skimDATA/Zee/00000000-0000-0000-0000-000000000000_woFakeJSON.root', -# # 'rfio:/tmp/ikesisog/TestFiles/skimDATA/Zee/00000000-0000-0000-0000-000000000000_wiFakeJSON.root', -# # -# # DATA test (local) running directly on the EG DATA samples -# # ---------------------------------------------------------- -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/6AD8C6D3-2C92-DF11-AFDE-0030487C90C2.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/34BD6E1C-3892-DF11-BD3F-001D09F27067.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/04D0FF1D-2792-DF11-8B6C-003048F11942.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/74CF44CB-1592-DF11-989E-001617C3B77C.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/66072495-1A92-DF11-9461-0030487BC68E.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/5E06C91D-1E92-DF11-9591-0016177CA778.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/48B8741C-1E92-DF11-ADAD-001617C3B6DC.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/1EC74696-1A92-DF11-B9BB-0030487CD13A.root', -# ) -# ) -# - - -# source - Use an input list to bypass the 255 file limit -import FWCore.Utilities.FileUtils as FileUtils - -filelist = FileUtils.loadListFromFile(lstFile) - -process.source = cms.Source('PoolSource', - fileNames = cms.untracked.vstring(*filelist) - ) - - - -# using locally provided JSON -import PhysicsTools.PythonAnalysis.LumiList as LumiList -import FWCore.ParameterSet.Types as CfgTypes -myLumis = LumiList.LumiList(filename = 'Cert_136033-149442_7TeV_Nov4ReReco_Collisions10_JSON.json').getCMSSWString().split(',') -process.source.lumisToProcess = CfgTypes.untracked(CfgTypes.VLuminosityBlockRange()) -process.source.lumisToProcess.extend(myLumis) - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -# -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -## global tags: -# -process.GlobalTag.globaltag = cms.string('GR_R_39X_V5::All') # GLOBAL TAG FOR DATA - -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") - -process.load("PhysicsTools.PatAlgos.patSequences_cff") - -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") - -## -# - -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) - -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' - -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) - - -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) - -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) - -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso = cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso = cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso = cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso = cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso = cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso = cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso = cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso = cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso = cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso = cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso = cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso = cms.InputTag("simpleEleId60cIso") -) - -## - -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) - -## - -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") - -# you have to tell the ID that it is data. These are set to False for MC -process.simpleEleId95relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId95cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60cIso.dataMagneticFieldSetUp = cms.bool(True) -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) - -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) - -# process.makePatMuons may be needed depending on how you calculate the MET - -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) - -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) - -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the production traditional MC / HLT for the powheg samples or data - -# Trigger Path(s) -HLT_path_name = "HLT_Photon10_L1R" - -# Label of the last Trigger Filter in the Trigger Path -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" - -HLT_path_name_extra0 = "HLT_Photon15_Cleaned_L1R" -HLT_filter_name_extra0 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15CleanedHcalIsolFilter","",HLT_process_name) - -HLT_path_name_extra1 = "HLT_Ele15_SW_CaloEleId_L1R" -HLT_filter_name_extra1 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra2 = "HLT_Ele17_SW_CaloEleId_L1R" -HLT_filter_name_extra2 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra3 = "HLT_Ele17_SW_TightEleId_L1R" -HLT_filter_name_extra3 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TightEleIdDphiFilter","",HLT_process_name) - -# HLT_path_name_extra4 = "HLT_Ele17_SW_TighterEleIdIsol_L1R_v2" -# HLT_filter_name_extra4 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TighterEleIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra5 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v1" -HLT_filter_name_extra5 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra6 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v2" -HLT_filter_name_extra6 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - - -rules_Filter = cms.PSet ( - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.5660), - EndCapMaxEta = cms.untracked.double(2.5000), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(False), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.0), - useExtraTrigger = cms.untracked.bool(True), -# vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra4,HLT_path_name_extra5), -# vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra4,HLT_filter_name_extra5), - vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra5,HLT_path_name_extra6), - vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra5,HLT_filter_name_extra6), - - # ET Cut in the SC - ETCut = cms.untracked.double(25.0), - METCut = cms.untracked.double(0.0), - # For DATA set it to True, for MC set it to False - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi") -) - - -rules_Filter_Elec0 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Filter_Elec1 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Filter_Elec2 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - rules_Filter, - rules_Filter_Elec0, - rules_Filter_Elec1, - rules_Filter_Elec2 -) - - - -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -rules_Plotter = cms.PSet ( - # treat or not the elecrons with same criteria. if yes then rules_Plotter_Elec1/2 are neglected - useSameSelectionOnBothElectrons = cms.untracked.bool(True), - # some extra information on the ntuple production: - sihih0_EB = cms.untracked.double(1000.0), - dphi0_EB = cms.untracked.double(1000.0), - deta0_EB = cms.untracked.double(1000.0), - hoe0_EB = cms.untracked.double(1000.0), - sihih0_EE = cms.untracked.double(1000.0), - dphi0_EE = cms.untracked.double(1000.0), - deta0_EE = cms.untracked.double(1000.0), - hoe0_EE = cms.untracked.double(1000.0), - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT"), - ZEE_VBTFselectionFileName = cms.untracked.string("ZEE_VBTFselection.root"), - ZEE_VBTFpreseleFileName = cms.untracked.string("ZEE_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeExtraInformation = cms.untracked.bool(True) -) - -rules_Plotter_Elec0 = cms.PSet ( - # The selection to be used here: - usePrecalcID0 = cms.untracked.bool(True), - usePrecalcIDType0 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign0 = cms.untracked.string('='), - usePrecalcIDValue0 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Plotter_Elec1 = cms.PSet ( - # The selection to be used here: - usePrecalcID1 = cms.untracked.bool(True), - usePrecalcIDType1 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign1 = cms.untracked.string('='), - usePrecalcIDValue1 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Plotter_Elec2 = cms.PSet ( - # The selection to be used here: - usePrecalcID2 = cms.untracked.bool(True), - usePrecalcIDType2 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) - -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - -process.plotter = cms.EDAnalyzer('ZeePlots', - rules_Plotter, - rules_Plotter_Elec0, - rules_Plotter_Elec1, - rules_Plotter_Elec2 -) - - -# For DATA, 361p4 electrons need fixing first (misalignment corrections) *NOT* be used with MC -#process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -#process.p = cms.Path( process.gsfElectrons*process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For DATA, 397 electrons are fixed (misalignment corrections included) -process.p = cms.Path( process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For MonteCarlo, -#process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_forData.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_forData.py deleted file mode 100755 index 7fa1939e1eb0d..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_forData.py +++ /dev/null @@ -1,469 +0,0 @@ -# Initializations -# --------------- -# -# Get the base name of the Python script and use it to define input/output associated files -# -# N.B: Special variable __file__ is not available within cmsRun, and the following line fails: -# -# pyFile=(__file__).replace('.py','') -# -# As a result, the calling arguments must be scanned to locate the Python script. -# -import sys - -for inArg in sys.argv: - if inArg.find('.py') == -1: - continue - else: - pyBaseName=inArg.replace('.py','') - -# Define input/output associated files. -# -pyFile = "%s.py" % (pyBaseName) # Name of the Python script itself -lstFile = "%s.list" % (pyBaseName) # Name of the list file (contains a list of files to process) -resFile = "%s.results" % (pyBaseName) # Name of the results file (stdout and stderr messages) -outFile = "%s.root" % (pyBaseName) # Name of the output file (ROOT) - - -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Stilianos Kesisoglou - Institute of Nuclear Physics -## NCSR Demokritos -## 25 June 2010 -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") - -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) - -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - -# -# # source -# process.source = cms.Source("PoolSource", -# fileNames = cms.untracked.vstring( -# # SOME DATA FILE TO BE PUT HERE -# # -# # DATA test (local) running on the OneElecPlusSC skim made from the EG DATA samples -# # ---------------------------------------------------------------------------------- -# # 'rfio:/tmp/ikesisog/TestFiles/skimDATA/Zee/00000000-0000-0000-0000-000000000000_woFakeJSON.root', -# # 'rfio:/tmp/ikesisog/TestFiles/skimDATA/Zee/00000000-0000-0000-0000-000000000000_wiFakeJSON.root', -# # -# # DATA test (local) running directly on the EG DATA samples -# # ---------------------------------------------------------- -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/6AD8C6D3-2C92-DF11-AFDE-0030487C90C2.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/34BD6E1C-3892-DF11-BD3F-001D09F27067.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/04D0FF1D-2792-DF11-8B6C-003048F11942.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/74CF44CB-1592-DF11-989E-001617C3B77C.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/66072495-1A92-DF11-9461-0030487BC68E.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/5E06C91D-1E92-DF11-9591-0016177CA778.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/48B8741C-1E92-DF11-ADAD-001617C3B6DC.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetDATA/Zee/1EC74696-1A92-DF11-B9BB-0030487CD13A.root', -# ) -# ) -# - - -# source - Use an input list to bypass the 255 file limit -import FWCore.Utilities.FileUtils as FileUtils - -filelist = FileUtils.loadListFromFile(lstFile) - -process.source = cms.Source('PoolSource', - fileNames = cms.untracked.vstring(*filelist) - ) - - -# -# # using locally provided JSON -# import PhysicsTools.PythonAnalysis.LumiList as LumiList -# import FWCore.ParameterSet.Types as CfgTypes -# myLumis = LumiList.LumiList(filename = 'Cert_132440-149442_7TeV_StreamExpress_Collisions10_JSON_v2.json').getCMSSWString().split(',') -# process.source.lumisToProcess = CfgTypes.untracked(CfgTypes.VLuminosityBlockRange()) -# process.source.lumisToProcess.extend(myLumis) -# - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -# -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -## global tags: -# -process.GlobalTag.globaltag = cms.string('GR_R_39X_V5::All') # GLOBAL TAG FOR DATA - -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") - -process.load("PhysicsTools.PatAlgos.patSequences_cff") - -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") - -## -# - -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) - -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' - -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) - - -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) - -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) - -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso = cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso = cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso = cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso = cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso = cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso = cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso = cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso = cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso = cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso = cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso = cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso = cms.InputTag("simpleEleId60cIso") -) - -## - -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) - -## - -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") - -# you have to tell the ID that it is data. These are set to False for MC -process.simpleEleId95relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60relIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId95cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId90cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId85cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId80cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId70cIso.dataMagneticFieldSetUp = cms.bool(True) -process.simpleEleId60cIso.dataMagneticFieldSetUp = cms.bool(True) -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) - -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) - -# process.makePatMuons may be needed depending on how you calculate the MET - -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) - -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) - -## WARNING: you may want to modify this item: -HLT_process_name = "HLT" # REDIGI for the production traditional MC / HLT for the powheg samples or data - -# Trigger Path(s) -HLT_path_name = "HLT_Photon10_L1R" - -# Label of the last Trigger Filter in the Trigger Path -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" - -HLT_path_name_extra0 = "HLT_Photon15_Cleaned_L1R" -HLT_filter_name_extra0 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15CleanedHcalIsolFilter","",HLT_process_name) - -HLT_path_name_extra1 = "HLT_Ele15_SW_CaloEleId_L1R" -HLT_filter_name_extra1 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra2 = "HLT_Ele17_SW_CaloEleId_L1R" -HLT_filter_name_extra2 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra3 = "HLT_Ele17_SW_TightEleId_L1R" -HLT_filter_name_extra3 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TightEleIdDphiFilter","",HLT_process_name) - -# HLT_path_name_extra4 = "HLT_Ele17_SW_TighterEleIdIsol_L1R_v2" -# HLT_filter_name_extra4 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TighterEleIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra5 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v1" -HLT_filter_name_extra5 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra6 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v2" -HLT_filter_name_extra6 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - - -rules_Filter = cms.PSet ( - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.5660), - EndCapMaxEta = cms.untracked.double(2.5000), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(False), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.0), - useExtraTrigger = cms.untracked.bool(True), -# vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra4,HLT_path_name_extra5), -# vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra4,HLT_filter_name_extra5), - vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra5,HLT_path_name_extra6), - vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra5,HLT_filter_name_extra6), - - # ET Cut in the SC - ETCut = cms.untracked.double(25.0), - METCut = cms.untracked.double(0.0), - # For DATA set it to True, for MC set it to False - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi") -) - - -rules_Filter_Elec0 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Filter_Elec1 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Filter_Elec2 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - rules_Filter, - rules_Filter_Elec0, - rules_Filter_Elec1, - rules_Filter_Elec2 -) - - - -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -rules_Plotter = cms.PSet ( - # treat or not the elecrons with same criteria. if yes then rules_Plotter_Elec1/2 are neglected - useSameSelectionOnBothElectrons = cms.untracked.bool(True), - # some extra information on the ntuple production: - sihih0_EB = cms.untracked.double(1000.0), - dphi0_EB = cms.untracked.double(1000.0), - deta0_EB = cms.untracked.double(1000.0), - hoe0_EB = cms.untracked.double(1000.0), - sihih0_EE = cms.untracked.double(1000.0), - dphi0_EE = cms.untracked.double(1000.0), - deta0_EE = cms.untracked.double(1000.0), - hoe0_EE = cms.untracked.double(1000.0), - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT"), - ZEE_VBTFselectionFileName = cms.untracked.string("ZEE_VBTFselection.root"), - ZEE_VBTFpreseleFileName = cms.untracked.string("ZEE_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeExtraInformation = cms.untracked.bool(True) -) - -rules_Plotter_Elec0 = cms.PSet ( - # The selection to be used here: - usePrecalcID0 = cms.untracked.bool(True), - usePrecalcIDType0 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign0 = cms.untracked.string('='), - usePrecalcIDValue0 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Plotter_Elec1 = cms.PSet ( - # The selection to be used here: - usePrecalcID1 = cms.untracked.bool(True), - usePrecalcIDType1 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign1 = cms.untracked.string('='), - usePrecalcIDValue1 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Plotter_Elec2 = cms.PSet ( - # The selection to be used here: - usePrecalcID2 = cms.untracked.bool(True), - usePrecalcIDType2 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) - -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - -process.plotter = cms.EDAnalyzer('ZeePlots', - rules_Plotter, - rules_Plotter_Elec0, - rules_Plotter_Elec1, - rules_Plotter_Elec2 -) - - -# For DATA, 361p4 electrons need fixing first (misalignment corrections) *NOT* be used with MC -#process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -#process.p = cms.Path( process.gsfElectrons*process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For DATA, 397 electrons are fixed (misalignment corrections included) -process.p = cms.Path( process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For MonteCarlo, -#process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_for__MC.py b/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_for__MC.py deleted file mode 100755 index b4619679dbbb3..0000000000000 --- a/ElectroWeakAnalysis/ZEE/test/pat_ZeeVBTF_ntuple_woCertJSON_for__MC.py +++ /dev/null @@ -1,465 +0,0 @@ -# Initializations -# --------------- -# -# Get the base name of the Python script and use it to define input/output associated files -# -# N.B: Special variable __file__ is not available within cmsRun, and the following line fails: -# -# pyFile=(__file__).replace('.py','') -# -# As a result, the calling arguments must be scanned to locate the Python script. -# -import sys - -for inArg in sys.argv: - if inArg.find('.py') == -1: - continue - else: - pyBaseName=inArg.replace('.py','') - -# Define input/output associated files. -# -pyFile = "%s.py" % (pyBaseName) # Name of the Python script itself -lstFile = "%s.list" % (pyBaseName) # Name of the list file (contains a list of files to process) -resFile = "%s.results" % (pyBaseName) # Name of the results file (stdout and stderr messages) -outFile = "%s.root" % (pyBaseName) # Name of the output file (ROOT) - - -## Configuration for the production of the ICHEP VBTF ntuple -## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -## MC, spring10 -## -## Stilianos Kesisoglou - Institute of Nuclear Physics -## NCSR Demokritos -## 25 June 2010 -import FWCore.ParameterSet.Config as cms - -process = cms.Process("PAT") - - - -process.options = cms.untracked.PSet( - Rethrow = cms.untracked.vstring('ProductNotFound') -) - -#process.MessageLogger = cms.Service( -# "MessageLogger", -# categories = cms.untracked.vstring('info', 'debug','cout') -# ) - - -process.load("FWCore.MessageService.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = cms.untracked.string("INFO") - -process.MessageLogger.cerr.FwkSummary = cms.untracked.PSet( - reportEvery = cms.untracked.int32(1000000), - limit = cms.untracked.int32(10000000) - ) - -process.MessageLogger.cerr.FwkReport = cms.untracked.PSet( - reportEvery = cms.untracked.int32(100000), - limit = cms.untracked.int32(10000000) - ) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - -# -# # source -# process.source = cms.Source("PoolSource", -# fileNames = cms.untracked.vstring( -# # SOME DATA FILE TO BE PUT HERE -# # -# # MC test (local) running on the OneElecPlusSC skim made from the Zee MC samples -# # ------------------------------------------------------------------------------ -# # 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_1Files.root', -# # 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_2Files.root', -# # 'rfio:/tmp/ikesisog/TestFiles/skimMC/OneElecPlusSC_3Files.root', -# # -# # MC test (local) running directly on the Zee MC samples -# # ------------------------------------------------------ -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/8EA9211C-7476-DF11-BC31-00304867C136.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/B0737652-7076-DF11-83F8-002618943831.root', -# 'rfio:/tmp/ikesisog/TestFiles/dSetMC/Zee/14B213B3-7576-DF11-8763-003048678FA6.root', -# ) -# ) -# - - -# source - Use an input list to bypass the 255 file limit -import FWCore.Utilities.FileUtils as FileUtils - -filelist = FileUtils.loadListFromFile(lstFile) - -process.source = cms.Source('PoolSource', - fileNames = cms.untracked.vstring(*filelist) - ) - - -# -# # using locally provided JSON -# import PhysicsTools.PythonAnalysis.LumiList as LumiList -# import FWCore.ParameterSet.Types as CfgTypes -# myLumis = LumiList.LumiList(filename = 'Cert_132440-149442_7TeV_StreamExpress_Collisions10_JSON_v2.json').getCMSSWString().split(',') -# process.source.lumisToProcess = CfgTypes.untracked(CfgTypes.VLuminosityBlockRange()) -# process.source.lumisToProcess.extend(myLumis) -# - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -## Load additional processes -# -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -## global tags: -# -process.GlobalTag.globaltag = cms.string('START36_V9::All') # GLOBAL TAG FOR MC - -process.load("Configuration.StandardSequences.MagneticField_cff") - - -################################################################################################ -### P r e p a r a t i o n o f t h e P A T O b j e c t s f r o m A O D ### -################################################################################################ - -## pat sequences to be loaded: -#process.load("PhysicsTools.PFCandProducer.PF2PAT_cff") - -process.load("PhysicsTools.PatAlgos.patSequences_cff") - -#process.load("PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff") - -## -# - -## MET creation <=== WARNING: YOU MAY WANT TO MODIFY THIS PART OF THE CODE %%%%%%%%%%%%% -## specify the names of the MET collections that you need here %%%% -## #%% -## if you don't specify anything the default MET is the raw Calo MET #%% -process.caloMET = process.patMETs.clone( #%% - metSource = cms.InputTag("met","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.tcMET = process.patMETs.clone( #%% - metSource = cms.InputTag("tcMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) -process.pfMET = process.patMETs.clone( #%% - metSource = cms.InputTag("pfMet","","RECO"), - addTrigMatch = cms.bool(False), - addMuonCorrections = cms.bool(False), - addGenMET = cms.bool(False), -) - -## specify here what you want to have on the plots! <===== MET THAT YOU WANT ON THE PLOTS %%%%%%% -myMetCollection = 'caloMET' -myPfMetCollection = 'pfMET' -myTcMetCollection = 'tcMET' - -## modify the sequence of the MET creation: #%% -process.makePatMETs = cms.Sequence(process.caloMET*process.tcMET*process.pfMET) - - -## modify the final pat sequence: keep only electrons + METS (muons are needed for met corrections) - -process.load("RecoEgamma.EgammaIsolationAlgos.egammaIsolationSequence_cff") -#process.patElectronIsolation = cms.Sequence(process.egammaIsolationSequence) - -process.patElectrons.isoDeposits = cms.PSet() -process.patElectrons.userIsolation = cms.PSet() -process.patElectrons.addElectronID = cms.bool(True) - -process.patElectrons.electronIDSources = cms.PSet( - simpleEleId95relIso = cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso = cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso = cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso = cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso = cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso = cms.InputTag("simpleEleId60relIso"), - simpleEleId95cIso = cms.InputTag("simpleEleId95cIso"), - simpleEleId90cIso = cms.InputTag("simpleEleId90cIso"), - simpleEleId85cIso = cms.InputTag("simpleEleId85cIso"), - simpleEleId80cIso = cms.InputTag("simpleEleId80cIso"), - simpleEleId70cIso = cms.InputTag("simpleEleId70cIso"), - simpleEleId60cIso = cms.InputTag("simpleEleId60cIso") -) - -## - -process.patElectrons.addGenMatch = cms.bool(False) -process.patElectrons.embedGenMatch = cms.bool(False) -process.patElectrons.usePV = cms.bool(False) - -## - -process.load("ElectroWeakAnalysis.ZEE.simpleEleIdSequence_cff") - -# you have to tell the ID that it is data. These are set to False for MC -process.simpleEleId95relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId90relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId85relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId80relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId70relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId60relIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId95cIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId90cIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId85cIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId80cIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId70cIso.dataMagneticFieldSetUp = cms.bool(False) -process.simpleEleId60cIso.dataMagneticFieldSetUp = cms.bool(False) -# -process.patElectronIDs = cms.Sequence(process.simpleEleIdSequence) - -process.makePatElectrons = cms.Sequence(process.patElectronIDs*process.patElectrons) - -# process.makePatMuons may be needed depending on how you calculate the MET - -process.makePatCandidates = cms.Sequence(process.makePatElectrons+process.makePatMETs) - -process.patDefaultSequence = cms.Sequence(process.makePatCandidates) - -## WARNING: you may want to modify this item: -HLT_process_name = "REDIGI39X" # REDIGI for the production traditional MC / HLT for the powheg samples or data - -# Trigger Path(s) -HLT_path_name = "HLT_Photon10_L1R" - -# Label of the last Trigger Filter in the Trigger Path -HLT_filter_name = "hltL1NonIsoHLTNonIsoSinglePhotonEt10HcalIsolFilter" - -HLT_path_name_extra0 = "HLT_Photon15_Cleaned_L1R" -HLT_filter_name_extra0 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSinglePhotonEt15CleanedHcalIsolFilter","",HLT_process_name) - -HLT_path_name_extra1 = "HLT_Ele15_SW_CaloEleId_L1R" -HLT_filter_name_extra1 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt15CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra2 = "HLT_Ele17_SW_CaloEleId_L1R" -HLT_filter_name_extra2 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17CaloEleIdPixelMatchFilter","",HLT_process_name) - -HLT_path_name_extra3 = "HLT_Ele17_SW_TightEleId_L1R" -HLT_filter_name_extra3 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TightEleIdDphiFilter","",HLT_process_name) - -# HLT_path_name_extra4 = "HLT_Ele17_SW_TighterEleIdIsol_L1R_v2" -# HLT_filter_name_extra4 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt17TighterEleIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra5 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v1" -HLT_filter_name_extra5 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - -HLT_path_name_extra6 = "HLT_Ele22_SW_TighterCaloIdIsol_L1R_v2" -HLT_filter_name_extra6 = cms.untracked.InputTag("hltL1NonIsoHLTNonIsoSingleElectronEt22TighterCaloIdIsolTrackIsolFilter","",HLT_process_name) - - -rules_Filter = cms.PSet ( - ### the input collections needed: - electronCollectionTag = cms.untracked.InputTag("patElectrons","","PAT"), - metCollectionTag = cms.untracked.InputTag(myMetCollection,"","PAT"), - pfMetCollectionTag = cms.untracked.InputTag(myPfMetCollection,"","PAT"), - tcMetCollectionTag = cms.untracked.InputTag(myTcMetCollection,"","PAT"), - triggerCollectionTag = cms.untracked.InputTag("TriggerResults","",HLT_process_name), - triggerEventTag = cms.untracked.InputTag("hltTriggerSummaryAOD","",HLT_process_name), - hltpath = cms.untracked.string(HLT_path_name), - hltpathFilter = cms.untracked.InputTag(HLT_filter_name,"",HLT_process_name), - ebRecHits = cms.untracked.InputTag("reducedEcalRecHitsEB"), - eeRecHits = cms.untracked.InputTag("reducedEcalRecHitsEE"), - PrimaryVerticesCollection = cms.untracked.InputTag("offlinePrimaryVertices"), - ### here the preselection is applied - # fiducial cuts: - BarrelMaxEta = cms.untracked.double(1.4442), - EndCapMinEta = cms.untracked.double(1.5660), - EndCapMaxEta = cms.untracked.double(2.5000), - # demand ecal driven electron: - useEcalDrivenElectrons = cms.untracked.bool(True), - # demand offline spike cleaning with the Swiss Cross criterion: - useSpikeRejection = cms.untracked.bool(False), - spikeCleaningSwissCrossCut = cms.untracked.double(0.95), - # demand geometrically matched to an HLT object with ET>15GeV - useTriggerInfo = cms.untracked.bool(True), - electronMatched2HLT = cms.untracked.bool(True), - electronMatched2HLT_DR = cms.untracked.double(0.1), - useHLTObjectETCut = cms.untracked.bool(True), - hltObjectETCut = cms.untracked.double(15.0), - useExtraTrigger = cms.untracked.bool(True), -# vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra4,HLT_path_name_extra5), -# vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra4,HLT_filter_name_extra5), - vHltpathExtra = cms.untracked.vstring(HLT_path_name_extra0,HLT_path_name_extra1,HLT_path_name_extra2,HLT_path_name_extra3,HLT_path_name_extra5,HLT_path_name_extra6), - vHltpathFilterExtra = cms.untracked.VInputTag(HLT_filter_name_extra0,HLT_filter_name_extra1,HLT_filter_name_extra2,HLT_filter_name_extra3,HLT_filter_name_extra5,HLT_filter_name_extra6), - - # ET Cut in the SC - ETCut = cms.untracked.double(25.0), - METCut = cms.untracked.double(0.0), - # For DATA set it to True, for MC set it to False - dataMagneticFieldSetUp = cms.untracked.bool(True), - dcsTag = cms.untracked.InputTag("scalersRawToDigi") -) - - -rules_Filter_Elec0 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Filter_Elec1 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Filter_Elec2 = cms.PSet ( - # Other parameters of the code - leave them as they are - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - # calculate some new cuts - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -process.zeeFilter = cms.EDFilter('ZeeCandidateFilter', - rules_Filter, - rules_Filter_Elec0, - rules_Filter_Elec1, - rules_Filter_Elec2 -) - - - -## the Z selection that you prefer -from ElectroWeakAnalysis.ZEE.simpleCutBasedSpring10SelectionBlocks_cfi import * - -selection_inverse = cms.PSet ( - deta_EB_inv = cms.untracked.bool(True), - deta_EE_inv = cms.untracked.bool(True) - ) - - -rules_Plotter = cms.PSet ( - # treat or not the elecrons with same criteria. if yes then rules_Plotter_Elec1/2 are neglected - useSameSelectionOnBothElectrons = cms.untracked.bool(True), - # some extra information on the ntuple production: - sihih0_EB = cms.untracked.double(1000.0), - dphi0_EB = cms.untracked.double(1000.0), - deta0_EB = cms.untracked.double(1000.0), - hoe0_EB = cms.untracked.double(1000.0), - sihih0_EE = cms.untracked.double(1000.0), - dphi0_EE = cms.untracked.double(1000.0), - deta0_EE = cms.untracked.double(1000.0), - hoe0_EE = cms.untracked.double(1000.0), - includeJetInformationInNtuples = cms.untracked.bool(True), - caloJetCollectionTag = cms.untracked.InputTag('ak5CaloJetsL2L3'), - pfJetCollectionTag = cms.untracked.InputTag('ak5PFJetsL2L3'), - DRJetFromElectron = cms.untracked.double(0.3), - # - zeeCollectionTag = cms.untracked.InputTag("zeeFilter","selectedZeeCandidates","PAT"), - ZEE_VBTFselectionFileName = cms.untracked.string("ZEE_VBTFselection.root"), - ZEE_VBTFpreseleFileName = cms.untracked.string("ZEE_VBTFpreselection.root"), - DatasetTag = cms.untracked.int32(100), - storeExtraInformation = cms.untracked.bool(True) -) - -rules_Plotter_Elec0 = cms.PSet ( - # The selection to be used here: - usePrecalcID0 = cms.untracked.bool(True), - usePrecalcIDType0 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign0 = cms.untracked.string('='), - usePrecalcIDValue0 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit0 = cms.untracked.bool(False), - useConversionRejection0 = cms.untracked.bool(False), - useExpectedMissingHits0 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits0 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit0 = cms.untracked.bool(False), - calculateConversionRejection0 = cms.untracked.bool(False), - calculateExpectedMissingHits0 = cms.untracked.bool(False) -) - -rules_Plotter_Elec1 = cms.PSet ( - # The selection to be used here: - usePrecalcID1 = cms.untracked.bool(True), - usePrecalcIDType1 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign1 = cms.untracked.string('='), - usePrecalcIDValue1 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit1 = cms.untracked.bool(False), - useConversionRejection1 = cms.untracked.bool(False), - useExpectedMissingHits1 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits1 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit1 = cms.untracked.bool(False), - calculateConversionRejection1 = cms.untracked.bool(False), - calculateExpectedMissingHits1 = cms.untracked.bool(False) -) - -rules_Plotter_Elec2 = cms.PSet ( - # The selection to be used here: - usePrecalcID2 = cms.untracked.bool(True), - usePrecalcIDType2 = cms.untracked.string('simpleEleId80relIso'), - usePrecalcIDSign2 = cms.untracked.string('='), - usePrecalcIDValue2 = cms.untracked.double(7), - ## preselection criteria are independent of useSameSelectionOnBothElectrons - # set them to False if you don't want them - useValidFirstPXBHit2 = cms.untracked.bool(False), - useConversionRejection2 = cms.untracked.bool(False), - useExpectedMissingHits2 = cms.untracked.bool(True), - maxNumberOfExpectedMissingHits2 = cms.untracked.int32(0), - ## - calculateValidFirstPXBHit2 = cms.untracked.bool(False), - calculateConversionRejection2 = cms.untracked.bool(False), - calculateExpectedMissingHits2 = cms.untracked.bool(False) -) - - -# we need to store jet information, hence we have to produce the jets: -process.load("JetMETCorrections.Configuration.DefaultJEC_cff") - -process.jetSequence = cms.Sequence( process.ak5CaloJetsL2L3 ) - -process.pfjetAK5Sequence = cms.Sequence( process.ak5PFJetsL2L3 ) - -process.ourJetSequence = cms.Sequence( process.jetSequence * process.pfjetAK5Sequence ) - - -process.plotter = cms.EDAnalyzer('ZeePlots', - rules_Plotter, - rules_Plotter_Elec0, - rules_Plotter_Elec1, - rules_Plotter_Elec2 -) - - -# For DATA, 361p4 electrons need fixing first (misalignment corrections) *NOT* be used with MC -#process.load("RecoEgamma.EgammaTools.correctedElectronsProducer_cfi") -#process.p = cms.Path( process.gsfElectrons*process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For DATA, 397 electrons are fixed (misalignment corrections included) -#process.p = cms.Path( process.ourJetSequence*process.patDefaultSequence*process.zeeFilter*process.plotter) - -# For MonteCarlo, -process.p = cms.Path( process.ourJetSequence * process.patDefaultSequence +process.zeeFilter + process.plotter) - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/BuildFile.xml b/ElectroWeakAnalysis/ZMuMu/bin/BuildFile.xml deleted file mode 100644 index b9c8a80ff6ad0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/BuildFile.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/csa08HLTFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/csa08HLTFit.cpp deleted file mode 100644 index 6593b8aff546a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/csa08HLTFit.cpp +++ /dev/null @@ -1,443 +0,0 @@ -#include "FWCore/Utilities/interface/EDMException.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/HistoPdf.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for (int i = 1; i <= histo->GetNbinsX(); ++i) { - if (histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -struct sig_tag; -struct bkg_tag; - -int main(int ac, char* av[]) { - gROOT->SetStyle("Plain"); - try { - typedef funct::FunctExpression Expr; - typedef fit::HistoChiSquare ExprChi2; - typedef fit::MultiHistoChiSquare ChiSquared; - - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help,h", "produce help message")("input-file,i", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "plot-format,p", po::value(&ext)->default_value("ps"), "output plot format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("csa08HLTFit.txt"); - - const unsigned int rebinMuMuNoIso = 2, rebinMuMu = 1, rebinMuMu1HLT = 1, rebinMuMu2HLT = 1, rebinMuTk = 2, - rebinMuSa = 8; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso), rebinMuMuConst(rebinMuMu), rebinMuMu1HLTConst(rebinMuMu1HLT), - rebinMuMu2HLTConst(rebinMuMu2HLT), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - vector v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile* root_file = new TFile(it->c_str(), "read"); - - TH1D* histoZMuMuNoIso = (TH1D*)root_file->Get("nonIsolatedZToMuMuPlots/zMass"); - histoZMuMuNoIso->Rebin(rebinMuMuNoIso); - fix(histoZMuMuNoIso); - - TH1D* histoZMuMu = (TH1D*)root_file->Get("goodZToMuMuPlots/zMass"); - histoZMuMu->Rebin(rebinMuMu); - fix(histoZMuMu); - - TH1D* histoZMuMu1HLT = (TH1D*)root_file->Get("goodZToMuMu1HLTPlots/zMass"); - histoZMuMu1HLT->Rebin(rebinMuMu1HLT); - fix(histoZMuMu1HLT); - - TH1D* histoZMuMu2HLT = (TH1D*)root_file->Get("goodZToMuMu2HLTPlots/zMass"); - histoZMuMu2HLT->Rebin(rebinMuMu2HLT); - fix(histoZMuMu2HLT); - - TH1D* histoZMuTk = (TH1D*)root_file->Get("goodZToMuMuOneTrackPlots/zMass"); - histoZMuTk->Rebin(rebinMuTk); - fix(histoZMuTk); - - TH1D* histoZMuSa = (TH1D*)root_file->Get("goodZToMuMuOneStandAloneMuonPlots/zMass"); - histoZMuSa->Rebin(rebinMuSa); - fix(histoZMuSa); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char* kYieldZMuMu = "YieldZMuMu"; - const char* kEfficiencyTk = "EfficiencyTk"; - const char* kEfficiencySa = "EfficiencySa"; - const char* kEfficiencyIso = "EfficiencyIso"; - const char* kEfficiencyHLT = "EfficiencyHLT"; - const char* kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char* kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char* kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char* kAlpha = "Alpha"; - const char* kBeta = "Beta"; - const char* kLambda = "Lambda"; - const char* kA0 = "A0"; - const char* kA1 = "A1"; - const char* kA2 = "A2"; - const char* kB0 = "B0"; - const char* kB1 = "B1"; - const char* kB2 = "B2"; - const char* kMeanZMuSa = "MeanZMuSa"; - const char* kSigmaZMuSa = "SigmaZMuSa"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter effIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter effHLT(kEfficiencyHLT, commands.par(kEfficiencyHLT)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter meanZMuSa(kMeanZMuSa, commands.par(kMeanZMuSa)); - funct::Parameter sigmaZMuSa(kSigmaZMuSa, commands.par(kSigmaZMuSa)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // count ZMuMu Yield - double nZMuMu = 0, nZMuMu1HLT = 0, nZMuMu2HLT = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX = (xMax - xMin) / nBins; - for (unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i + .5) * deltaX; - if (x > fMin && x < fMax) { - nZMuMu += histoZMuMu->GetBinContent(i + 1); - nZMuMu1HLT += histoZMuMu1HLT->GetBinContent(i + 1); - nZMuMu2HLT += histoZMuMu2HLT->GetBinContent(i + 1); - } - } - } - // aggiungi 1HLT 2HLT - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu (1HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuMu (2HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - funct::RootHistoPdf zPdfMuMuNonIso(*histoZMuMu, fMin, fMax); //imposto le pdf a quella si ZMuMu - funct::RootHistoPdf zPdfMuTk = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu1HLT = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu2HLT = zPdfMuMuNonIso; - zPdfMuMuNonIso.rebin(rebinMuMuNoIso); - zPdfMuTk.rebin(rebinMuTk); - zPdfMuMu1HLT.rebin(rebinMuMu1HLT); - zPdfMuMu2HLT.rebin(rebinMuMu2HLT); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - //Efficiency term - Expr zMuMuEff1HLTTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * effHLT * (_1 - effHLT); - Expr zMuMuEff2HLTTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * (effHLT ^ _2); - Expr zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)) * (_1 - ((_1 - effHLT) ^ _2)); - Expr zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2) * effHLT; - Expr zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - - Expr zMuMu1HLT = rebinMuMu1HLTConst * zMuMuEff1HLTTerm * yieldZMuMu; - Expr zMuMu2HLT = rebinMuMu2HLTConst * zMuMuEff2HLTTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - - Expr zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2); - Expr zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - Expr zMuMuNoIso = rebinMuMuNoIsoConst * (zMuMuNoIsoEffTerm * yieldZMuMu * zPdfMuMuNonIso + zMuMuNoIsoBkg); - - Expr zMuSa = rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * funct::Gaussian(meanZMuSa, sigmaZMuSa) + - (yieldBkgZMuSa * funct::Exponential(beta))); - - TH1D histoZCount1HLT("histoZCount1HLT", "", 1, fMin, fMax); - histoZCount1HLT.Fill(100, nZMuMu1HLT); - TH1D histoZCount2HLT("histoZCount2HLT", "", 1, fMin, fMax); - histoZCount2HLT.Fill(100, nZMuMu2HLT); - - ChiSquared chi2(zMuMu1HLT, - &histoZCount1HLT, - zMuMu2HLT, - &histoZCount2HLT, - zMuTk, - histoZMuTk, - zMuSa, - histoZMuSa, - zMuMuNoIso, - histoZMuMuNoIso, - fMin, - fMax); - cout << "N. bins: " << chi2.numberOfBins() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, effIso); - commands.add(minuit, effHLT); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, meanZMuSa); - commands.add(minuit, sigmaZMuSa); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.run(minuit); - const unsigned int nPar = 19; //WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for (unsigned int i = 0; i < nPar; ++i) { - for (unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - //Plot - double s; - s = 0; - for (int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) - s += histoZMuMu1HLT->GetBinContent(i); - histoZMuMu1HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) - s += histoZMuMu2HLT->GetBinContent(i); - histoZMuMu2HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - - string ZMuMu1HLTPlot = "ZMuMu1HLTFit_" + plot_string; - root::plot(ZMuMu1HLTPlot.c_str(), - *histoZMuMu1HLT, - zMuMu1HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMu2HLTPlot = "ZMuMu2HLTFit_" + plot_string; - root::plot(ZMuMu2HLTPlot.c_str(), - *histoZMuMu2HLT, - zMuMu2HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), - *histoZMuMuNoIso, - zMuMuNoIso, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu Not Iso mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_X_" + plot_string; - root::plot(ZMuTkPlot.c_str(), - *histoZMuTk, - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2, - kRed, - 2, - kDashed, - 100, - "Z -> #mu + (unmatched) track mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1_t("ZMuTkFunction", - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = - root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas* canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_" + plot_string; - root::plot(ZMuSaPlot.c_str(), - *histoZMuSa, - zMuSa, - fMin, - fMax, - effSa, - effTk, - effIso, - yieldZMuMu, - meanZMuSa, - sigmaZMuSa, - yieldBkgZMuSa, - kRed, - 2, - kDashed, - 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - } catch (std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/csa08IsoBkg.cpp b/ElectroWeakAnalysis/ZMuMu/bin/csa08IsoBkg.cpp deleted file mode 100644 index 5f8ab8d826306..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/csa08IsoBkg.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/Integral.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -typedef funct::GaussIntegrator IntegratorConv; -typedef funct::GaussIntegrator IntegratorNorm; - -typedef funct::Product::type>::type ZPeak; - -typedef funct::Master SigPeak; -typedef funct::Slave SigPeakClone; -typedef funct::Product::type Sig1; -typedef funct::Product::type Sig2; - -typedef funct::Product< - funct::Exponential, - funct::Polynomial<2> >::type ExpPoly; - -NUMERICAL_FUNCT_INTEGRAL(ExpPoly, GaussIntegrator); - -typedef funct::DefIntegral ExpPolyNormFactor; -typedef funct::Ratio::type ExpPolyNorm; - -typedef funct::Product< - funct::Parameter, - funct::Difference< - funct::Ratio< - funct::Numerical<2>, - funct::Parameter>::type, - funct::Numerical<2> >::type>::type Coeff1; - -typedef funct::Product::type Bkg1; - -typedef funct::Product< - funct::Parameter, - funct::Square< - funct::Difference< - funct::Ratio< - funct::Numerical<1>, - funct::Parameter>::type, - funct::Numerical<1> >::type>::type>::type Coeff2; - -typedef funct::Product::type Bkg2; - -NUMERICAL_FUNCT_INTEGRAL(Bkg1, GaussIntegrator); -NUMERICAL_FUNCT_INTEGRAL(Bkg2, GaussIntegrator); - -typedef funct::Sum::type Fun1; -typedef funct::Sum::type Fun2; -typedef fit::MultiHistoChiSquare ChiSquared; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options() - ("help,h", "produce help message") - ("input-file,i", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("plot-format,p", po::value(&ext)->default_value("ps"), - "output plot format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("csa08IsoBkg.txt"); - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - - TH1D * histo1 = (TH1D*) root_file->Get("oneNonIsolatedZToMuMuPlots/zMass"); - fix(histo1); - TH1D * histo2 = (TH1D*) root_file->Get("twoNonIsolatedZToMuMuPlots/zMass"); - fix(histo2); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char * kYieldZMuMu1 = "YieldZMuMu1"; - const char * kYieldZMuMu2 = "YieldZMuMu2"; - const char * kYieldBkg = "YieldBkg"; - const char * kEffBkg = "EffBkg"; - const char * kLambdaZMuMu = "LambdaZMuMu"; - const char * kMass = "Mass"; - const char * kGamma = "Gamma"; - const char * kPhotonFactorZMuMu = "PhotonFactorZMuMu"; - const char * kInterferenceFactorZMuMu = "InterferenceFactorZMuMu"; - const char * kMeanZMuMu = "MeanZMuMu"; - const char * kSigmaZMuMu = "SigmaZMuMu"; - const char * kAlpha = "Alpha"; - const char * kA0 = "A0"; - const char * kA1 = "A1"; - const char * kA2 = "A2"; - - funct::Parameter lambdaZMuMu(kLambdaZMuMu, commands.par(kLambdaZMuMu)); - funct::Parameter mass(kMass, commands.par(kMass)); - funct::Parameter gamma(kGamma, commands.par(kGamma)); - funct::Parameter photonFactorZMuMu(kPhotonFactorZMuMu, commands.par(kPhotonFactorZMuMu)); - funct::Parameter interferenceFactorZMuMu(kInterferenceFactorZMuMu, commands.par(kInterferenceFactorZMuMu)); - funct::Parameter yieldZMuMu1(kYieldZMuMu1, commands.par(kYieldZMuMu1)); - funct::Parameter yieldZMuMu2(kYieldZMuMu2, commands.par(kYieldZMuMu2)); - funct::Parameter yieldBkg(kYieldBkg, commands.par(kYieldBkg)); - funct::Parameter effBkg(kEffBkg, commands.par(kEffBkg)); - funct::Parameter meanZMuMu(kMeanZMuMu, commands.par(kMeanZMuMu)); - funct::Parameter sigmaZMuMu(kSigmaZMuMu, commands.par(kSigmaZMuMu)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - IntegratorConv integratorConv(1.e-4); - IntegratorNorm integratorNorm(1.e-4); - - ZPeak zPeak = funct::Exponential(lambdaZMuMu) * - funct::conv(funct::ZLineShape(mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu), - funct::Gaussian(meanZMuMu, sigmaZMuMu), - -3*sigmaZMuMu.value(), 3*sigmaZMuMu.value(), integratorConv); - SigPeak sp = funct::master(zPeak); - SigPeakClone spc = funct::slave(sp); - Sig1 sig1 = yieldZMuMu1 * sp; - Sig2 sig2 = yieldZMuMu2 * spc; - funct::Numerical<1> _1; - funct::Numerical<2> _2; - ExpPoly ep = funct::Exponential(alpha) * funct::Polynomial<2>(a0, a1, a2); - ExpPolyNorm epn = ep / ExpPolyNormFactor(ep, cFMin, cFMax, integratorNorm); - Coeff1 c1 = yieldBkg * (_2 / effBkg - _2); - Bkg1 bkg1 = c1 * epn; - Coeff2 c2 = yieldBkg * ((_1 /effBkg - _1) ^ _2); - Bkg2 bkg2 = c2 * epn; - Fun1 f1 = sig1 + bkg1; - Fun2 f2 = sig2 + bkg2; - - ChiSquared chi2(f1, histo1, f2, histo2, fMin, fMax); - cout << "N. deg. of freedom: " << chi2.degreesOfFreedom() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu1); - commands.add(minuit, yieldZMuMu2); - commands.add(minuit, yieldBkg); - commands.add(minuit, effBkg); - commands.add(minuit, lambdaZMuMu); - commands.add(minuit, mass); - commands.add(minuit, gamma); - commands.add(minuit, photonFactorZMuMu); - commands.add(minuit, interferenceFactorZMuMu); - commands.add(minuit, meanZMuMu); - commands.add(minuit, sigmaZMuMu); - commands.add(minuit, alpha); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.run(minuit); - const unsigned int nPar = 15;//WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - - funct::GaussIntegrator integrator(1.e-6); - double nbkg1 = funct::integral_f(bkg1, fMin, fMax, integrator); - double nbkg2 = funct::integral_f(bkg2, fMin, fMax, integrator); - std::cout << "Background yields in [" << fMin <<", " << fMax << "]: " - << nbkg1 <<", " <Integral(int(fMin), int(fMax)); - double i2 = histo2->Integral(int(fMin), int(fMax)); - std::cout << "Histogram integrals in [" << fMin <<", " << fMax << "]: " - << i1 <<", " << i2 << std::endl; - double s; - s = 0; - for(int i = 1; i <= histo1->GetNbinsX(); ++i) - s += histo1->GetBinContent(i); - histo1->SetEntries(s); - s = 0; - for(int i = 1; i <= histo2->GetNbinsX(); ++i) - s += histo2->GetBinContent(i); - histo2->SetEntries(s); - - double extrap = nbkg1*nbkg1 / nbkg2 /4; - cout << "extrapolated background with no isolated muons:" << extrap << endl; - - string Plot1 = "OneIsolated_" + plot_string; - root::plot(Plot1.c_str(), *histo1, f1, fMin, fMax, - yieldZMuMu1, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, yieldBkg, effBkg, alpha, a0, a1, a2, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - string Plot2 = "TwoIsolated_" + plot_string; - root::plot(Plot2.c_str(), *histo2, f2, fMin, fMax, - yieldZMuMu2, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, yieldBkg, effBkg, alpha, a0, a1, a2, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - } - } - - } - catch(exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit.cpp deleted file mode 100644 index 86fbb5c9d9ade..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit.cpp +++ /dev/null @@ -1,326 +0,0 @@ -#include "FWCore/Utilities/interface/EDMException.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/HistoPdf.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -struct sig_tag; -struct bkg_tag; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - typedef funct::FunctExpression Expr; - typedef fit::MultiHistoChiSquare ChiSquared; - - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options() - ("help,h", "produce help message") - ("input-file,i", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("plot-format,p", po::value(&ext)->default_value("ps"), - "output plot format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("csa08NewZFit.txt"); - - const unsigned int rebinMuMuNoIso = 2,rebinMuMu = 1, rebinMuTk = 2, rebinMuSa = 8; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso),rebinMuMuConst(rebinMuMu), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - - TH1D * histoZMuMuNoIso = (TH1D*) root_file->Get("nonIsolatedZToMuMuPlots/zMass"); - histoZMuMuNoIso->Rebin(rebinMuMuNoIso); - fix(histoZMuMuNoIso); - - TH1D * histoZMuMu = (TH1D*) root_file->Get("goodZToMuMuPlots/zMass"); - histoZMuMu->Rebin(rebinMuMu); - fix(histoZMuMu); - - TH1D * histoZMuTk = (TH1D*) root_file->Get("goodZToMuMuOneTrackPlots/zMass"); - histoZMuTk->Rebin(rebinMuTk); - fix(histoZMuTk); - - TH1D * histoZMuSa = (TH1D*) root_file->Get("goodZToMuMuOneStandAloneMuonPlots/zMass"); - histoZMuSa->Rebin(rebinMuSa); - fix(histoZMuSa); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char * kYieldZMuMu = "YieldZMuMu"; - const char * kEfficiencyTk = "EfficiencyTk"; - const char * kEfficiencySa = "EfficiencySa"; - const char * kEfficiencyIso = "EfficiencyIso"; - const char * kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char * kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char * kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char * kAlpha = "Alpha"; - const char * kBeta = "Beta"; - const char * kLambda = "Lambda"; - const char * kA0 = "A0"; - const char * kA1 = "A1"; - const char * kA2 = "A2"; - const char * kB0 = "B0"; - const char * kB1 = "B1"; - const char * kB2 = "B2"; - const char * kMeanZMuSa = "MeanZMuSa"; - const char * kSigmaZMuSa = "SigmaZMuSa"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter effIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter meanZMuSa(kMeanZMuSa, commands.par(kMeanZMuSa)); - funct::Parameter sigmaZMuSa(kSigmaZMuSa, commands.par(kSigmaZMuSa)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // count ZMuMu Yield - double nZMuMu = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX =(xMax - xMin) / nBins; - for(unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i +.5) * deltaX; - if(x > fMin && x < fMax) - nZMuMu += histoZMuMu->GetBinContent(i+1); - } - } - - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - - funct::RootHistoPdf zPdfMuMuNonIso(*histoZMuMu, fMin, fMax); - funct::RootHistoPdf zPdfMuTk = zPdfMuMuNonIso; - zPdfMuMuNonIso.rebin(rebinMuMuNoIso); - zPdfMuTk.rebin(rebinMuTk); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - Expr zMuMuEffTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2); - Expr zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)); - Expr zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2); - Expr zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2); - - Expr zMuMu = rebinMuMuConst * zMuMuEffTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - Expr zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2); - Expr zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - Expr zMuMuNoIso = rebinMuMuNoIsoConst * (zMuMuNoIsoEffTerm * yieldZMuMu * zPdfMuMuNonIso + zMuMuNoIsoBkg); - Expr zMuSa = rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * funct::Gaussian(meanZMuSa, sigmaZMuSa) - + (yieldBkgZMuSa * funct::Exponential(beta))); - - TH1D histoZCount("histoZCount", "", 1, fMin, fMax); - histoZCount.Fill(100, nZMuMu); - - ChiSquared chi2(zMuMu, & histoZCount, - zMuTk, histoZMuTk, - zMuSa, histoZMuSa, - zMuMuNoIso,histoZMuMuNoIso, - fMin, fMax); - cout << "N. deg. of freedom: " << chi2.degreesOfFreedom() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, effIso); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, meanZMuSa); - commands.add(minuit, sigmaZMuSa); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.run(minuit); - const unsigned int nPar = 18;//WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - - double s; - s = 0; - for(int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - for(int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - string ZMuMuPlot = "ZMuMuFit_" + plot_string; - root::plot(ZMuMuPlot.c_str(), *histoZMuMu, zMuMu, fMin, fMax, - effTk, effSa, effIso, yieldZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), *histoZMuMuNoIso, zMuMuNoIso, fMin, fMax, - effTk, effSa, effIso, yieldZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu Not Iso mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_X_" + plot_string; - root::plot(ZMuTkPlot.c_str(), *histoZMuTk, zMuTk, fMin, fMax, - effTk, effSa, effIso, yieldZMuMu, - yieldBkgZMuTk, lambda, a0, a1, a2, - kRed, 2, kDashed, 100, - "Z -> #mu + (unmatched) track mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1_t("ZMuTkFunction", zMuTk, fMin, fMax, - effTk, effSa, effIso, yieldZMuMu, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas *canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_" + plot_string; - root::plot(ZMuSaPlot.c_str(), *histoZMuSa, zMuSa, fMin, fMax, - effSa, effTk, effIso, - yieldZMuMu, meanZMuSa, sigmaZMuSa, yieldBkgZMuSa, - kRed, 2, kDashed, 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - } - catch(exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - - return 0; -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit_EtaPtbinned.cpp b/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit_EtaPtbinned.cpp deleted file mode 100644 index ab92a1960806f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/csa08NewZFit_EtaPtbinned.cpp +++ /dev/null @@ -1,379 +0,0 @@ -#include "FWCore/Utilities/interface/EDMException.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/HistoPdf.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -typedef funct::FunctExpression Expr; -typedef fit::MultiHistoChiSquare ChiSquared; - -struct sig_tag; -struct bkg_tag; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - - double fMin, fMax; - string ext, variable, muCharge; - int binNumber; - po::options_description desc("Allowed options"); - desc.add_options() - ("help,h", "produce help message") - ("input-file,i", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("eta_or_pt,v", po::value(&variable)->default_value("eta"), "variable to study (eta or pt)") - ("charge,q", po::value(&muCharge)->default_value("minus"),"muon charge to study (minus or plus)") - ("binNum,b", po::value(&binNumber)->default_value(0), "cynematic bin to fit") - ("plot-format,p", po::value(&ext)->default_value("ps"), - "output plot format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("csa08NewZFit.txt"); - - const unsigned int rebinMuMu = 1, rebinMuTk = 2, rebinMuSa = 1; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuConst(rebinMuMu), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - cout <<"start " << endl; - // variable and charge definition at moment in manual way - // string variable = "eta"; - // string muCharge = "minus"; - //////////////////////////////////////// - - stringstream sslabelZMuMu2HLT; - sslabelZMuMu2HLT << "zMuMu_efficiencyAnalyzer/" << variable << "Intervals" << "/zmumu2HLT" << muCharge << "_" << variable << "Range" << binNumber; - stringstream sslabelZMuMu1HLT; - sslabelZMuMu1HLT << "zMuMu_efficiencyAnalyzer/" << variable << "Intervals" << "/zmumu1HLT" << muCharge << "_" << variable << "Range" << binNumber; - stringstream sslabelZMuTk; - sslabelZMuTk << "zMuMu_efficiencyAnalyzer/" << variable << "Intervals" << "/zmutrack" << muCharge << "_" << variable << "Range" << binNumber; - stringstream sslabelZMuSa; - sslabelZMuSa << "zMuMu_efficiencyAnalyzer/" << variable << "Intervals" << "/zmusta" << muCharge << "_" << variable << "Range" << binNumber; - - cout << "histoZMuMu2HLT: " << sslabelZMuMu2HLT.str() << endl; - TH1D * histoZMuMu2HLT = (TH1D*) root_file->Get(sslabelZMuMu2HLT.str().c_str()); - histoZMuMu2HLT->Rebin(rebinMuMu); - fix(histoZMuMu2HLT); - cout << "histoZMuMu1HLT: " << sslabelZMuMu1HLT.str() << endl; - TH1D * histoZMuMu1HLT = (TH1D*) root_file->Get(sslabelZMuMu1HLT.str().c_str()); - histoZMuMu1HLT->Rebin(rebinMuMu); - fix(histoZMuMu1HLT); - cout << "histoZMuTk: " << sslabelZMuTk.str() << endl; - TH1D * histoZMuTk = (TH1D*) root_file->Get(sslabelZMuTk.str().c_str()); - // histoZMuTk->Rebin(rebinMuTk); - fix(histoZMuTk); - cout << "histoZMuSa: " << sslabelZMuSa.str() << endl; - TH1D * histoZMuSa = (TH1D*) root_file->Get(sslabelZMuSa.str().c_str()); - // histoZMuSa->Rebin(rebinMuSa); - fix(histoZMuSa); - cout << ">>> histogram loaded\n"; - - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n" << f_string << endl; - - const char * kYieldZMuMu = "YieldZMuMu"; - const char * kEfficiencyHLT = "EfficiencyHLT"; - const char * kEfficiencyTk = "EfficiencyTk"; - const char * kEfficiencySa = "EfficiencySa"; - const char * kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char * kBeta = "Beta"; - const char * kLambda = "Lambda"; - // const char * kA0 = "A0"; - // const char * kA1 = "A1"; - // const char * kA2 = "A2"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effHLT(kEfficiencyHLT, commands.par(kEfficiencyHLT)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - // funct::Parameter a0(kA0, commands.par(kA0)); - // funct::Parameter a1(kA1, commands.par(kA1)); - // funct::Parameter a2(kA2, commands.par(kA2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // add zMuMu2HLT and zMuMu1HLT to build pdf - TH1D *histoZMuMu = (TH1D *) histoZMuMu2HLT->Clone(); - histoZMuMu->Sumw2(); - histoZMuMu->Add(histoZMuMu2HLT,histoZMuMu1HLT); - - // count ZMuMu Yield - double nZMuMu = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX =(xMax - xMin) / nBins; - for(unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i +.5) * deltaX; - if(x > fMin && x < fMax) - nZMuMu += histoZMuMu->GetBinContent(i+1); - } - } - - // count ZMuMu2HLT Yield - double nZMuMu2HLT = 0; - { - unsigned int nBins = histoZMuMu2HLT->GetNbinsX(); - double xMin = histoZMuMu2HLT->GetXaxis()->GetXmin(); - double xMax = histoZMuMu2HLT->GetXaxis()->GetXmax(); - double deltaX =(xMax - xMin) / nBins; - for(unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i +.5) * deltaX; - if(x > fMin && x < fMax) - nZMuMu2HLT += histoZMuMu2HLT->GetBinContent(i+1); - } - } - - // count ZMuMu1HLT Yield - double nZMuMu1HLT = 0; - { - unsigned int nBins = histoZMuMu1HLT->GetNbinsX(); - double xMin = histoZMuMu1HLT->GetXaxis()->GetXmin(); - double xMax = histoZMuMu1HLT->GetXaxis()->GetXmax(); - double deltaX =(xMax - xMin) / nBins; - for(unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i +.5) * deltaX; - if(x > fMin && x < fMax) - nZMuMu1HLT += histoZMuMu1HLT->GetBinContent(i+1); - } - } - - // count ZMuSa Yield (too low statistis so we just check the number assuming 0 background) - double nZMuSa = 0; - { - unsigned int nBins = histoZMuSa->GetNbinsX(); - double xMin = histoZMuSa->GetXaxis()->GetXmin(); - double xMax = histoZMuSa->GetXaxis()->GetXmax(); - double deltaX =(xMax - xMin) / nBins; - for(unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i +.5) * deltaX; - if(x > fMin && x < fMax) - nZMuSa += histoZMuSa->GetBinContent(i+1); - } - } - - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu2HLT yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - cout << ">>> count of ZMuMu1HLT yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuSa yield in the range [" << fMin << ", " << fMax << "]: " << nZMuSa << endl; - - - funct::RootHistoPdf zPdfMuTk(*histoZMuMu, fMin, fMax); - zPdfMuTk.rebin(rebinMuTk); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - Expr zMuMu2HLTEffTerm = effTk * effSa * effHLT; - Expr zMuMu1HLTEffTerm = effTk * effSa * (_1 - effHLT); - Expr zMuTkEffTerm = effTk * (_1 - effSa); - Expr zMuSaEffTerm = effSa * (_1 - effTk); - - Expr zMuMu2HLT = rebinMuMuConst * zMuMu2HLTEffTerm * yieldZMuMu; - Expr zMuMu1HLT = rebinMuMuConst * zMuMu1HLTEffTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda); - //* funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - Expr zMuSa = rebinMuSaConst * zMuSaEffTerm * yieldZMuMu; - - TH1D histoZMM2HLTCount("histoZMM2HLTCount", "", 1, fMin, fMax); - histoZMM2HLTCount.Fill(100, nZMuMu2HLT); - TH1D histoZMM1HLTCount("histoZMM1HLTCount", "", 1, fMin, fMax); - histoZMM1HLTCount.Fill(100, nZMuMu1HLT); - TH1D histoZMSCount("histoZMSCount", "", 1, fMin, fMax); - histoZMSCount.Fill(100, nZMuSa); - - ChiSquared chi2(zMuMu2HLT, & histoZMM2HLTCount, - zMuMu1HLT, & histoZMM1HLTCount, - zMuTk, histoZMuTk, - zMuSa, & histoZMSCount, - fMin, fMax); - cout << "N. deg. of freedom: " << chi2.degreesOfFreedom() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effHLT); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, lambda); - commands.add(minuit, beta); - // commands.add(minuit, a0); - // commands.add(minuit, a1); - // commands.add(minuit, a2); - commands.run(minuit); - const unsigned int nPar = 7;//WARNING: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - - - double s; - s = 0; - for(int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) - s += histoZMuMu2HLT->GetBinContent(i); - histoZMuMu2HLT->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) - s += histoZMuMu1HLT->GetBinContent(i); - histoZMuMu1HLT->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - stringstream mybin; - mybin << muCharge << "_" << variable << binNumber << "_"; - string ZMuMu2HLTPlot = "ZMuMu2HLTFit_muon" + mybin.str() + plot_string; - root::plot(ZMuMu2HLTPlot.c_str(), *histoZMuMu2HLT, zMuMu2HLT, fMin, fMax, - effHLT, effTk, effSa, yieldZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass (2HLT)", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMu1HLTPlot = "ZMuMu1HLTFit_muon" + mybin.str() + plot_string; - root::plot(ZMuMu1HLTPlot.c_str(), *histoZMuMu1HLT, zMuMu1HLT, fMin, fMax, - effHLT, effTk, effSa, yieldZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass (1HLT)", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_muon" + mybin.str() + plot_string; - root::plot(ZMuTkPlot.c_str(), *histoZMuTk, zMuTk, fMin, fMax, - effHLT, effTk, effSa, yieldZMuMu, - yieldBkgZMuTk, lambda, - //a0, a1, a2, - kRed, 2, kDashed, 100, - "Z -> #mu + (unmatched) track mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - // string ZMuTkPlot = "ZMuTkFit_muon" + muCharge + variable + binNumber + plot_string; - TF1 funZMuTk = root::tf1_t("ZMuTkFunction", zMuTk, fMin, fMax, - effHLT, effTk, effSa, yieldZMuMu, - yieldBkgZMuTk, lambda); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, - yieldBkgZMuTk, lambda); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas *canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_muon" + mybin.str() + plot_string; - root::plot(ZMuSaPlot.c_str(), *histoZMuSa, zMuSa, fMin, fMax, - effHLT, effSa, effTk, yieldZMuMu, - kRed, 2, kDashed, 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - - } - - } - } - catch(exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - - return 0; -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/csa08ZFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/csa08ZFit.cpp deleted file mode 100644 index 7ae7f02213133..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/csa08ZFit.cpp +++ /dev/null @@ -1,384 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/Integral.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -typedef funct::GaussIntegrator IntegratorConv; -typedef funct::GaussIntegrator IntegratorNorm; -//typedef funct::TrapezoidIntegrator IntegratorConv; -//typedef funct::TrapezoidIntegrator IntegratorNorm; - -typedef funct::Product::type>::type ZPeakNoNorm; - -NUMERICAL_FUNCT_INTEGRAL(ZPeakNoNorm, IntegratorNorm); - -typedef funct::DefIntegral ZPeakNormFactor; -typedef funct::Ratio::type ZPeak; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - typedef funct::Power >::type IsoefficiencytermSQ; - typedef funct::Master::type> ZMuMuFun; - typedef funct::Slave::type> ZMuMuFunClone; - typedef funct::Product >::type, - funct::Power >::type >::type, - IsoefficiencytermSQ >::type ZMuMuEfficiencyTerm; - typedef funct::Product::type ZMuMuSig; - - - typedef funct::Product >::type, - funct::Power >::type >::type, - funct::Difference, IsoefficiencytermSQ >::type>::type ZMuMuNoIsoEfficiencyTerm; - - typedef funct::Product::type ZMuMuNoIsoSig; - - typedef funct::Product, - funct::Product >::type, - funct::Product, funct::Parameter>::type - >::type - >::type - >::type, IsoefficiencytermSQ >::type ZMuTkEfficiencyTerm; - - - - typedef funct::Product::type ZMuTkSig; - typedef funct::Product >::type >::type ZMuTkBkg; - typedef funct::Product::type ZMuTkBkgScaled;//bgtrack rescaled - typedef ZMuTkBkg ZMuMuNoIsoBkg; - typedef ZMuTkBkgScaled ZMuMuNoIsoBkgScaled ;//bgZmmNotIso rescaled - typedef ZMuTkEfficiencyTerm ZMuSaEfficiencyTerm; - typedef funct::Product::type>::type ZMuSaSig; - typedef funct::Product::type ZMuSaBkg; - - // typedef ZMuTkBkg ZMuMuNoIsoBkg; - typedef funct::Product::type>::type ZMuMuNoIso;//3 - typedef funct::Product::type ZMuMu; - typedef funct::Product::type>::type ZMuTk; - typedef funct::Product::type>::type ZMuSa; - typedef fit::MultiHistoChiSquare ChiSquared; - - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options() - ("help,h", "produce help message") - ("input-file,i", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("plot-format,p", po::value(&ext)->default_value("ps"), - "output plot format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("csa08ZFit.txt"); - - const int rebinMuMuNoIso = 2,rebinMuMu = 1, rebinMuTk = 2, rebinMuSa = 8; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso),rebinMuMuConst(rebinMuMu), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - - TH1D * histoZMuMuNoIso = (TH1D*) root_file->Get("nonIsolatedZToMuMuPlots/zMass"); - histoZMuMuNoIso->Rebin(rebinMuMuNoIso); - fix(histoZMuMuNoIso); - - TH1D * histoZMuMu = (TH1D*) root_file->Get("goodZToMuMuPlots/zMass"); - histoZMuMu->Rebin(rebinMuMu); - fix(histoZMuMu); - - TH1D * histoZMuTk = (TH1D*) root_file->Get("goodZToMuMuOneTrackPlots/zMass"); - histoZMuTk->Rebin(rebinMuTk); - fix(histoZMuTk); - - TH1D * histoZMuSa = (TH1D*) root_file->Get("goodZToMuMuOneStandAloneMuonPlots/zMass"); - histoZMuSa->Rebin(rebinMuSa); - fix(histoZMuSa); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char * kYieldZMuMu = "YieldZMuMu"; - const char * kEfficiencyTk = "EfficiencyTk"; - const char * kEfficiencySa = "EfficiencySa"; - const char * kEfficiencyIso = "EfficiencyIso"; - const char * kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char * kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char * kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char * kLambdaZMuMu = "LambdaZMuMu"; - const char * kMass = "Mass"; - const char * kGamma = "Gamma"; - const char * kPhotonFactorZMuMu = "PhotonFactorZMuMu"; - const char * kInterferenceFactorZMuMu = "InterferenceFactorZMuMu"; - const char * kMeanZMuMu = "MeanZMuMu"; - const char * kSigmaZMuMu = "SigmaZMuMu"; - const char * kAlpha = "Alpha"; - const char * kB0 = "B0"; - const char * kB1 = "B1"; - const char * kB2 = "B2"; - const char * kLambda = "Lambda"; - const char * kA0 = "A0"; - const char * kA1 = "A1"; - const char * kA2 = "A2"; - const char * kBeta = "Beta"; - const char * kSigmaZMuSa = "SigmaZMuSa"; - - funct::Parameter lambdaZMuMu(kLambdaZMuMu, commands.par(kLambdaZMuMu)); - funct::Parameter mass(kMass, commands.par(kMass)); - funct::Parameter gamma(kGamma, commands.par(kGamma)); - funct::Parameter photonFactorZMuMu(kPhotonFactorZMuMu, commands.par(kPhotonFactorZMuMu)); - funct::Parameter interferenceFactorZMuMu(kInterferenceFactorZMuMu, commands.par(kInterferenceFactorZMuMu)); - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter efficiencyTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter efficiencySa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter efficiencyIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter meanZMuMu(kMeanZMuMu, commands.par(kMeanZMuMu)); - funct::Parameter sigmaZMuMu(kSigmaZMuMu, commands.par(kSigmaZMuMu)); - funct::Parameter sigmaZMuSa(kSigmaZMuSa, commands.par(kSigmaZMuSa)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - //IntegratorConv integratorConv(20); - //IntegratorNorm integratorNorm(20); - IntegratorConv integratorConv(1.e-4); - IntegratorNorm integratorNorm(1.e-4); - - ZPeakNoNorm zPeakNN = funct::Exponential(lambdaZMuMu) * - funct::conv(funct::ZLineShape(mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu), - funct::Gaussian(meanZMuMu, sigmaZMuMu), - -3*sigmaZMuMu.value(), 3*sigmaZMuMu.value(), integratorConv); - ZPeak zPeak = zPeakNN / ZPeakNormFactor(zPeakNN, cFMin, cFMax, integratorNorm); - ZMuMuFun zMuMuFun = funct::master(yieldZMuMu * zPeak); - ZMuMuFunClone zMuMuFunClone = funct::slave(zMuMuFun); - IsoefficiencytermSQ efficiencyIsoSquare = (efficiencyIso ^ funct::Numerical<2>(2)); //efficienza Isolamento al quadrato - ZMuMuEfficiencyTerm zMuMuEfficiencyTerm = ((efficiencyTk ^ funct::Numerical<2>(2)) * - (efficiencySa ^ funct::Numerical<2>(2))) * efficiencyIsoSquare; - ZMuMuNoIsoEfficiencyTerm zMuMuNoIsoEfficiencyTerm = ((efficiencyTk ^ funct::Numerical<2>(2)) * - (efficiencySa ^ funct::Numerical<2>(2))) * (funct::Numerical<1>(1) - efficiencyIsoSquare); - ZMuMu zMuMu = rebinMuMuConst * (zMuMuEfficiencyTerm * zMuMuFun); - - ZMuTkBkg zMuTkBkg = yieldBkgZMuTk * (funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2)); - ZMuTkBkgScaled zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - ZMuTkEfficiencyTerm zMuTkEfficiencyTerm = funct::Numerical<2>(2) * - ((efficiencyTk ^ funct::Numerical<2>(2)) * (efficiencySa * (funct::Numerical<1>(1) - efficiencySa))) * efficiencyIsoSquare; - ZMuTk zMuTk = rebinMuTkConst*(zMuTkEfficiencyTerm * zMuMuFunClone + zMuTkBkg); - - ZMuMuNoIsoBkg zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * (funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2)); - ZMuMuNoIsoBkgScaled zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - ZMuMuNoIso zMuMuNoIso = rebinMuMuNoIsoConst * ((zMuMuNoIsoEfficiencyTerm * zMuMuFunClone) + zMuMuNoIsoBkg); - - ZMuSaEfficiencyTerm zMuSaEfficiencyTerm = funct::Numerical<2>(2) * - ((efficiencySa ^ funct::Numerical<2>()) * (efficiencyTk * (funct::Numerical<1>() - efficiencyTk)))* efficiencyIsoSquare ; - ZMuSa zMuSa = rebinMuSaConst *(zMuSaEfficiencyTerm * (yieldZMuMu * funct::Gaussian(mass, sigmaZMuSa)) - + (yieldBkgZMuSa * funct::Exponential(beta))); - - ChiSquared chi2(zMuMu, histoZMuMu, - zMuTk, histoZMuTk, - zMuSa, histoZMuSa, - zMuMuNoIso,histoZMuMuNoIso, - fMin, fMax);//WARNING attento all'ordine in cui hai definito il ch2 - cout << "N. deg. of freedom: " << chi2.numberOfBins() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, efficiencyTk); - commands.add(minuit, efficiencySa); - commands.add(minuit, efficiencyIso); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, lambdaZMuMu); - commands.add(minuit, mass); - commands.add(minuit, gamma); - commands.add(minuit, photonFactorZMuMu); - commands.add(minuit, interferenceFactorZMuMu); - commands.add(minuit, meanZMuMu); - commands.add(minuit, sigmaZMuMu); - commands.add(minuit, sigmaZMuSa); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.run(minuit); - const unsigned int nPar = 24;//WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - - double s; - s = 0; - for(int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - for(int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for(int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - string ZMuMuPlot = "ZMuMuFit_" + plot_string; - root::plot(ZMuMuPlot.c_str(), *histoZMuMu, zMuMu, fMin, fMax, - efficiencyTk, efficiencySa, efficiencyIso, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), *histoZMuMuNoIso, zMuMuNoIso, fMin, fMax, - efficiencyTk, efficiencySa, efficiencyIso, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - kRed, 2, kDashed, 100, - "Z -> #mu #mu Not Iso mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1("ZMuTkFunction", zMuTk, fMin, fMax, - efficiencyTk, efficiencySa,efficiencyIso, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = root::tf1("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas *canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTk.Draw("same"); - funZMuTkBkg.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_" + plot_string; - root::plot(ZMuSaPlot.c_str(), *histoZMuSa, zMuSa, fMin, fMax, - efficiencySa, efficiencyTk, efficiencyIso, - yieldZMuMu, mass, sigmaZMuSa, yieldBkgZMuSa, - kRed, 2, kDashed, 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - - } - catch(std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/testBias.cpp b/ElectroWeakAnalysis/ZMuMu/bin/testBias.cpp deleted file mode 100644 index 81f33f3ed38ff..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/testBias.cpp +++ /dev/null @@ -1,128 +0,0 @@ -#include "TROOT.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/BreitWigner.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/rootTf1.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "TH1.h" -#include "TF1.h" -#include "TFile.h" -#include "TRandom3.h" -#include -using namespace std; - -struct sig_tag { }; -struct bkg1_tag{ }; -struct bkg2_tag{ }; - -int main() { - gROOT->SetStyle("Plain"); - typedef funct::FunctExpression Expr; - typedef fit::MultiHistoChiSquare ChiSquared; - TRandom3 rndm; - TFile file("out.root", "RECREATE"); - TH1F hSigPull("sigPull", "sig - pull", 100, -10, 10); - TH1F hEffPull("effPull", "eff - pull", 100, -10, 10); - TH1F hBkg1Pull("bkg1Pull", "bkg1 - pull", 100, -10, 10); - TH1F hBkg2Pull("bkg2Pull", "bkg1 - pull", 100, -10, 10); - bool firstTime = true; - for(unsigned int n=0; n < 1000; ++n) { - const char * kSig = "Sig"; - const char * kEff = "Eff"; - const char * kBkg1 = "Bkg1"; - const char * kBkg2 = "Bkg2"; - const char * kMass = "Mass"; - const char * kGamma = "Gamma"; - const char * kLambda1 = "Lambda1"; - const char * kLambda2 = "Lambda2"; - double sig_true = 1000; - double eff_true = 0.95; - double bkg1_true = 100; - double bkg2_true = 40; - double mass_true = 91.2; - double gamma_true = 2.50; - double lambda1_true = -0.01; - double lambda2_true = -0.005; - - funct::Parameter sig(kSig, sig_true); - funct::Parameter eff(kEff, eff_true); - funct::Parameter bkg1(kBkg1, bkg1_true); - funct::Parameter bkg2(kBkg2, bkg2_true); - funct::Parameter mass(kMass, mass_true); - funct::Parameter gamma(kGamma, gamma_true); - funct::Parameter lambda1(kLambda1, lambda1_true); - funct::Parameter lambda2(kLambda2, lambda2_true); - const double n_rebin = 0.5; - funct::Parameter rebin("rebin", n_rebin); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - funct::BreitWigner bw(mass, gamma); - funct::Exponential expo1(lambda1); - funct::Exponential expo2(lambda2); - Expr fSig = sig * bw; - Expr fBkg1 = bkg1 * expo1; - Expr fBkg2 = bkg2 * expo2; - Expr f1 = rebin*(_2 * eff * (_1 - eff) * fSig + fBkg1); - Expr f2 = rebin*((eff ^ _2) * fSig + fBkg2); - TF1 funSig = root::tf1_t("fSig", fSig, 0, 200, sig, mass, gamma); - TF1 funBkg1 = root::tf1_t("fBkg1", fBkg1, 0, 200, bkg1, lambda1); - TF1 funBkg2 = root::tf1_t("fBkg2", fBkg2, 0, 200, bkg2, lambda2); - int bins = int(200. / n_rebin); - TH1D histo1("histo1", "Z mass (GeV/c)", bins, 0, 200); - TH1D histo2("histo2", "Z mass (GeV/c)", bins, 0, 200); - double areaBkg1 = funBkg1.Integral(0,200); - double areaBkg2 = funBkg2.Integral(0,200); - histo1.FillRandom("fBkg1", int(rndm.Poisson(areaBkg1))); - histo2.FillRandom("fBkg2", int(rndm.Poisson(areaBkg2))); - double areaSig = funSig.Integral(0, 200); - int nSig = int(rndm.Poisson(areaSig)); - for(int i = 0; i < nSig; ++i) { - bool pass1 = rndm.Uniform() < eff_true; - bool pass2 = rndm.Uniform() < eff_true; - double x = funSig.GetRandom(); - if((pass1 && !pass2) || (!pass1 && pass2)) histo1.Fill(x); - if(pass1 && pass2) histo2.Fill(x); - } - - if(firstTime) { - histo1.Write(); - histo2.Write(); - } - ChiSquared chi2(f1, &histo1, f2, &histo2, 80, 140); - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(sig, 100, 0, 10000); - minuit.addParameter(eff, 0.01, 0, 1); - minuit.addParameter(mass, 2, 70, 120); - minuit.addParameter(gamma, 1, 0, 5); - minuit.addParameter(bkg1, 10, 0, 10000); - minuit.addParameter(bkg2, 10, 0, 10000); - minuit.addParameter(lambda1, 0.1, -5, 0); - minuit.addParameter(lambda2, 0.1, -5, 0); - minuit.minimize(); - minuit.migrad(); - - double sigPull = (sig() - sig_true) / minuit.getParameterError(kSig); - cout << "sig pull: " << sigPull << endl; - double effPull = (eff() - eff_true) / minuit.getParameterError(kEff); - cout << "eff pull: " << effPull << endl; - double bkg1Pull = (bkg1() - bkg1_true) / minuit.getParameterError(kBkg1); - cout << "bkg1Pull: " << bkg1Pull << endl; - double bkg2Pull = (bkg2() - bkg2_true) / minuit.getParameterError(kBkg2); - cout << "bkg2Pull: " << bkg2Pull << endl; - hSigPull.Fill(sigPull); - hEffPull.Fill(effPull); - hBkg1Pull.Fill(bkg1Pull); - hBkg2Pull.Fill(bkg2Pull); - firstTime = false; - } - hSigPull.Write(); - hEffPull.Write(); - hBkg1Pull.Write(); - hBkg2Pull.Write(); - file.Close(); - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/testToy.sh b/ElectroWeakAnalysis/ZMuMu/bin/testToy.sh deleted file mode 100755 index 1e31a2cced175..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/testToy.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh -######################### -# -# Driver script for Toy Monte Carlo submission with CRAB -# -# author: Luca Lista, INFN -# -######################### - -if [ -e outputToy ]; then - rm -rf outputToy -fi -mkdir outputToy - -i="$1" -l="$2" -if [ "$i" == "help" ]; then - echo "usage: testToy.sh " - exit 0; -fi -if [ "$i" = "" ]; then - echo "Error: missing job index" - exit 1; -fi -if [ "$i" = "" ]; then - echo "Error: missing job index" - exit 1; -fi -if [ "$l" = "" ]; then - echo "Error: missing luminosity" - exit 1; -fi - -rm -f fitResults.txt -echo "# par_name init_val fin_val par_err global_corr" > fitResults.txt -((j = 1)) -((jmax=$i)) - -echo "job number: #$i" -echo "j value: #$j" -while [ $j -le $jmax ]; do -echo "running toy MC : zMuMuRooFit -i Analisi_45pb.root -o out.root -r 2 2 10 60 -t -s $j -l $l" - zMuMuRooFit -i Analisi_45pb.root -o out.root -r 2 2 10 60 -t -s $j -l $l >& log.txt - # retrieve fit values and store into a single file - grep " Yield" log.txt >> fitResults.txt - grep " a0" log.txt >> fitResults.txt - grep " a1" log.txt >> fitResults.txt - grep " a2" log.txt >> fitResults.txt - grep " alpha" log.txt >> fitResults.txt - grep " b0" log.txt >> fitResults.txt - grep " b1" log.txt >> fitResults.txt - grep " b2" log.txt >> fitResults.txt - grep " beta" log.txt >> fitResults.txt - grep " eff_hlt" log.txt >> fitResults.txt - grep " eff_iso" log.txt >> fitResults.txt - grep " eff_sa" log.txt >> fitResults.txt - grep " eff_tk" log.txt >> fitResults.txt - grep " nbkg_mumuNotIso" log.txt >> fitResults.txt - grep " nbkg_mutrk" log.txt >> fitResults.txt - mv mass.eps outputToy/mass_$j.eps - mv out.root outputToy/out_$j.root - mv log.txt outputToy/log_$j.txt - mv fitResults.txt outputToy/ - ((j= $j + 1)) -done -echo "pack the results" -tar cvfz outputToy.tgz outputToy/ - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/toyMonteCarlo.cpp b/ElectroWeakAnalysis/ZMuMu/bin/toyMonteCarlo.cpp deleted file mode 100644 index 1c37e41754777..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/toyMonteCarlo.cpp +++ /dev/null @@ -1,366 +0,0 @@ -/*************************/ -/* */ -/* author: Pasquale Noli */ -/* INFN Naples */ -/* Toy Montecarlo */ -/* */ -/*************************/ - -//root include -#include "TRandom3.h" -#include "TH1.h" -#include "TF1.h" -#include "TFile.h" -#include "TDirectory.h" -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -void fillRandom(int N, TH1F *pdf, TH1F *histo, double min, double max, TRandom3 *rndm) { - int i = 0; - double m = 0; - const double maxY = pdf->GetMaximum(); - const double nBins = pdf->GetNbinsX(); - const double xMin = pdf->GetXaxis()->GetXmin(); - const double xMax = pdf->GetXaxis()->GetXmax(); - do { - m = rndm->Uniform(min, max); - int n = (int)((m - xMin) / (xMax - xMin) * nBins) + 1; - double y = pdf->GetBinContent(n); - if (rndm->Uniform() < y / maxY) { - histo->Fill(m); - i++; - } - } while (i < N); -} - -enum MuTag { globalMu, trackerMu, standaloneMu, undefinedMu }; - -MuTag mu(double effTrk, double effSa, TRandom3 *rndm) { - double _isTraker = rndm->Rndm(); - double _isStandAlone = rndm->Rndm(); - if ((_isTraker < effTrk) && (_isStandAlone < effSa)) - return globalMu; - if ((_isStandAlone < effSa) && (_isTraker > effTrk)) - return standaloneMu; - if ((_isTraker < effTrk) && (_isStandAlone > effSa)) - return trackerMu; - return undefinedMu; -} - -bool efficiencyTag(double eff, TRandom3 *rndm) { return (rndm->Rndm() < eff); } - -class BkgShape { -public: - BkgShape(double min, double max, double slope, double a0, double a1, double a2) - : norm_(1), min_(min), max_(max), fmax_(0), slope_(slope), a0_(a0), a1_(a1), a2_(a2) { - normalize(); - } - double operator()(double x) const { - if (x < min_ || x > max_) - return 0; - return exp(-slope_ * x) * (a0_ + (a1_ + a2_ * x) * x); - } - double rndm(TRandom3 *rndm) const { - double x, f; - do { - x = rndm->Uniform(min_, max_); - f = operator()(x); - } while (rndm->Uniform(0, fmax_) > f); - return x; - } - double integral() const { return norm_; } - -private: - void normalize() { - static const unsigned int steps = 1000; - double s = 0, x, f; - double base = max_ - min_; - double dx = base / steps; - for (unsigned int n = 0; n < steps; ++n) { - x = min_ + (n * dx); - s += (f = operator()(x)) * dx; - if (f > fmax_) - fmax_ = f; - } - fmax_ *= 1.001; //max of f - norm_ = s; - } - double norm_, min_, max_, fmax_; - double slope_, a0_, a1_, a2_; -}; - -int main(int argc, char *argv[]) { - TRandom3 *rndm = new TRandom3(); - int o; - char *endPtr; - const char *pdf("analysis_Z_133pb_trackIso_3.root"); - double yield(3810.0), effTrk(.996), effSa(.987), effHlt(.913), effIso(.982), factor(1.0), MIN(60.), MAX(120.); - double slopeMuTk(0.02), a0MuTk(1.0), a1MuTk(0.0), a2MuTk(0.0); - double slopeMuMuNonIso(0.02), a0MuMuNonIso(1.0), a1MuMuNonIso(0.0), a2MuMuNonIso(0.0); - double slopeMuSa(0.02), a0MuSa(1.0), a1MuSa(0.0), a2MuSa(0.0); - // double yield(50550.0), effTrk(.998364), effSa(.989626),effHlt(.915496), effIso(.978575),factor(1.0); - // double slopeMuTk(.015556), a0MuTk(.00035202), a1MuTk(2.99663), a2MuTk(-0.0211138); - // double slopeMuMuNonIso(.0246876),a0MuMuNonIso(.884777), a1MuMuNonIso(6.67684), a2MuMuNonIso(-0.0523693); - // BkgShape zMuTkBkgPdf(60., 120., slopeMuTk, a0MuTk, a1MuTk, a2MuTk); - // BkgShape zMuMuNonIsoBkgPdf(60., 120., slopeMuMuNonIso, a0MuMuNonIso, a1MuMuNonIso, a2MuMuNonIso); - - int expt(1), seed(1); - - while ((o = getopt(argc, argv, "p:n:s:y:m:M:f:T:S:H:I:h")) != EOF) { - switch (o) { - case 'p': - pdf = optarg; - break; - case 'n': - expt = strtoul(optarg, &endPtr, 0); - break; - case 's': - seed = strtoul(optarg, &endPtr, 0); - break; - case 'y': - yield = strtoul(optarg, &endPtr, 0); - break; - case 'm': - MIN = strtoul(optarg, &endPtr, 0); - break; - case 'M': - MAX = strtoul(optarg, &endPtr, 0); - break; - case 'f': - factor = strtoul(optarg, &endPtr, 0); - break; - case 'T': - effTrk = strtod(optarg, &endPtr); - break; - case 'S': - effSa = strtod(optarg, &endPtr); - break; - case 'H': - effHlt = strtod(optarg, &endPtr); - break; - case 'I': - effIso = strtod(optarg, &endPtr); - break; - case 'h': - cout << " -p : input root file for pdf" << endl - << " -n : number of experiment (default 1)" << endl - << " -s : seed for generator (default 1)" << endl - << " -T : efficiency of track (default 0.9984)" << endl - << " -S : efficiency of standAlone(default 0.9896)" << endl - << " -I : efficiency of Isolation (default 0.9786)" << endl - << " -H : efficiency of HLT (default 0.9155)" << endl - << " -y : yield (default 50550)" << endl - << " -f : scaling_factor for bkg (default 1.0)" << endl - << " -m : Min (60)" << endl - << " -M : Max (120)" << endl; - break; - default: - break; - } - } - BkgShape zMuTkBkgPdf(MIN, MAX, slopeMuTk, a0MuTk, a1MuTk, a2MuTk); - BkgShape zMuMuNonIsoBkgPdf(MIN, MAX, slopeMuMuNonIso, a0MuMuNonIso, a1MuMuNonIso, a2MuMuNonIso); - BkgShape zMuSaBkgPdf(MIN, MAX, slopeMuSa, a0MuSa, a1MuSa, a2MuSa); - MuTag mu1, mu2; - rndm->SetSeed(seed); - int count = 0; - //PDF - TFile *inputfile = new TFile(pdf); - TH1F *pdfzmm = (TH1F *)inputfile->Get("goodZToMuMuPlots/zMass"); //pdf signal Zmumu(1hlt,2hlt), ZMuMunotIso, ZmuTk - TH1F *pdfzmsa = (TH1F *)inputfile->Get("zmumuSaMassHistogram/zMass"); //pdf signal ZmuSa - double IntegralzmumuNoIsobkg = factor * (zMuMuNonIsoBkgPdf.integral()); - double Integralzmutkbkg = factor * (zMuTkBkgPdf.integral()); - double Integralzmusabkg = factor * (zMuSaBkgPdf.integral()); - - for (int j = 1; j <= expt; ++j) { //loop on number of experiments - int N0 = rndm->Poisson(yield); - int nMuTkBkg = rndm->Poisson(Integralzmutkbkg); - int nMuMuNonIsoBkg = rndm->Poisson(IntegralzmumuNoIsobkg); - int nMuSaBkg = rndm->Poisson(Integralzmusabkg); - int Nmumu = 0; - int N2HLT = 0; - int N1HLT = 0; - int NISO = 0; - int NSa = 0; - int NTk = 0; - for (int i = 0; i < N0; ++i) { //loop on Z Yield - mu1 = mu(effTrk, effSa, rndm); - mu2 = mu(effTrk, effSa, rndm); - bool iso1 = efficiencyTag(effIso, rndm); - bool iso2 = efficiencyTag(effIso, rndm); - bool trig1 = efficiencyTag(effHlt, rndm); - bool trig2 = efficiencyTag(effHlt, rndm); - - if (mu1 == globalMu && mu2 == globalMu) { - if (iso1 && iso2) { //two global mu isolated - if (trig1 && trig2) - N2HLT++; //two trigger - else if ((trig1 && !trig2) || (!trig1 && trig2)) - N1HLT++; //one trigger - } else if (!iso1 || !iso2) { //at least one not iso - if (trig1 || trig2) - NISO++; //at least one trigger - } - } //end global - else if (((mu1 == globalMu && trig1) && mu2 == standaloneMu) || - ((mu2 == globalMu && trig2) && mu1 == standaloneMu)) { - if (iso1 && iso2) - NSa++; - } //end mu sa - else if (((mu1 == globalMu && trig1) && mu2 == trackerMu) || ((mu2 == globalMu && trig2) && mu1 == trackerMu)) { - if (iso1 && iso2) - NTk++; - } //end mu tk - - } //end of generation given the yield - - Nmumu = N2HLT + N1HLT; - - //Define signal Histo - TH1F *zMuMu = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMu2HLT = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMu1HLT = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMuNotIso = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuSa = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuTk = new TH1F("zMass", "zMass", 200, 0, 200); - pdfzmsa->SetName("zMass"); - - //Fill signal Histo - - fillRandom(Nmumu, pdfzmm, zMuMu, MIN, MAX, rndm); - fillRandom(N2HLT, pdfzmm, zMuMu2HLT, MIN, MAX, rndm); - fillRandom(N1HLT, pdfzmm, zMuMu1HLT, MIN, MAX, rndm); - fillRandom(NISO, pdfzmm, zMuMuNotIso, MIN, MAX, rndm); - fillRandom(NSa, pdfzmsa, zMuSa, MIN, MAX, rndm); - fillRandom(NTk, pdfzmm, zMuTk, MIN, MAX, rndm); - - //output - char head[30]; - sprintf(head, "zmm_%d", j); - string tail = ".root"; - string title = head + tail; - - TFile *outputfile = new TFile(title.c_str(), "RECREATE"); - - //Hierarchy directory - - TDirectory *goodZToMuMu = outputfile->mkdir("goodZToMuMuPlots"); - TDirectory *goodZToMuMu2HLT = outputfile->mkdir("goodZToMuMu2HLTPlots"); - TDirectory *goodZToMuMu1HLT = outputfile->mkdir("goodZToMuMu1HLTPlots"); - TDirectory *nonIsolatedZToMuMu = outputfile->mkdir("nonIsolatedZToMuMuPlots"); - TDirectory *goodZToMuMuOneStandAloneMuon = outputfile->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - TDirectory *zmumuSaMassHistogram = outputfile->mkdir("zmumuSaMassHistogram"); - TDirectory *goodZToMuMuOneTrack = outputfile->mkdir("goodZToMuMuOneTrackPlots"); - - goodZToMuMu->cd(); - zMuMu->Write(); - - goodZToMuMu2HLT->cd(); - zMuMu2HLT->Write(); - - goodZToMuMu1HLT->cd(); - zMuMu1HLT->Write(); - - nonIsolatedZToMuMu->cd(); - zMuMuNotIso->Write(); - - goodZToMuMuOneStandAloneMuon->cd(); - zMuSa->Write(); - - zmumuSaMassHistogram->cd(); - pdfzmsa->Write(); - - goodZToMuMuOneTrack->cd(); - zMuTk->Write(); - - outputfile->Write(); - outputfile->Close(); - - delete zMuMu; - delete zMuMu2HLT; - delete zMuMu1HLT; - delete zMuMuNotIso; - delete zMuSa; - delete zMuTk; - - //Define Background Histo - TH1F *zMuMuBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMu2HLTBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMu1HLTBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuSaBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuSafromGoldenBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuMuNotIsoBkg = new TH1F("zMass", "zMass", 200, 0, 200); - TH1F *zMuTkBkg = new TH1F("zMass", "zMass", 200, 0, 200); - - //Fill >Bkg Histograms - for (int i = 0; i < nMuTkBkg; ++i) { - zMuTkBkg->Fill(zMuTkBkgPdf.rndm(rndm)); - } - for (int i = 0; i < nMuMuNonIsoBkg; ++i) { - zMuMuNotIsoBkg->Fill(zMuMuNonIsoBkgPdf.rndm(rndm)); - } - for (int i = 0; i < nMuSaBkg; ++i) { - zMuSaBkg->Fill(zMuSaBkgPdf.rndm(rndm)); - } - char head2[30]; - sprintf(head2, "bkg_%d", j); - string title2 = head2 + tail; - TFile *outputfile2 = new TFile(title2.c_str(), "RECREATE"); - - //Hierarchy directory - TDirectory *goodZToMuMu2 = outputfile2->mkdir("goodZToMuMuPlots"); - TDirectory *goodZToMuMu2HLT2 = outputfile2->mkdir("goodZToMuMu2HLTPlots"); - TDirectory *goodZToMuMu1HLT2 = outputfile2->mkdir("goodZToMuMu1HLTPlots"); - TDirectory *nonIsolatedZToMuMu2 = outputfile2->mkdir("nonIsolatedZToMuMuPlots"); - TDirectory *goodZToMuMuOneStandAloneMuon2 = outputfile2->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - TDirectory *zmumuSaMassHistogram2 = outputfile2->mkdir("zmumuSaMassHistogram"); - TDirectory *goodZToMuMuOneTrack2 = outputfile2->mkdir("goodZToMuMuOneTrackPlots"); - - goodZToMuMu2->cd(); - zMuMuBkg->Write(); - - goodZToMuMu2HLT2->cd(); - zMuMu2HLTBkg->Write(); - - goodZToMuMu1HLT2->cd(); - zMuMu1HLTBkg->Write(); - - nonIsolatedZToMuMu2->cd(); - zMuMuNotIsoBkg->Write(); - - goodZToMuMuOneStandAloneMuon2->cd(); - zMuSaBkg->Write(); - - zmumuSaMassHistogram2->cd(); - zMuSafromGoldenBkg->Write(); - - goodZToMuMuOneTrack2->cd(); - zMuTkBkg->Write(); - - outputfile2->Write(); - outputfile2->Close(); - - delete zMuMuBkg; - delete zMuMu2HLTBkg; - delete zMuMu1HLTBkg; - delete zMuMuNotIsoBkg; - delete zMuSafromGoldenBkg; - delete zMuSaBkg; - delete zMuTkBkg; - - // cout< -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -// A function that get histogram and sets contents to 0 -// if entries are too small -TH1* getHisto(TFile* file, const char* name, unsigned int rebin) { - TObject* h = file->Get(name); - if (h == nullptr) - throw edm::Exception(edm::errors::Configuration) << "Can't find object " << name << "\n"; - TH1* histo = dynamic_cast(h); - if (histo == nullptr) - throw edm::Exception(edm::errors::Configuration) - << "Object " << name << " is of type " << h->ClassName() << ", not TH1\n"; - histo->Rebin(rebin); - for (int i = 1; i <= histo->GetNbinsX(); ++i) { - if (histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } - return histo; -} - -struct sig_tag; -struct bkg_tag; - -typedef funct::FunctExpression Expr; -typedef fit::HistoChiSquare ExprChi2; -typedef fit::HistoPoissonLikelihoodRatio ExprPLR; - -double fMin, fMax; -unsigned int rebinMuMuNoIso, rebinMuMu = 1, rebinMuMu1HLT, rebinMuMu2HLT, rebinMuTk, rebinMuSa; -// assume that the bin size is 1 GeV!!! -string ext, region; -bool nonIsoTemplateFromMC; - -template -struct PlotPrefix {}; - -template <> -struct PlotPrefix { - static string str() { return "chi2"; } -}; - -template <> -struct PlotPrefix { - static string str() { return "plr"; } -}; - -template -int main_t(const vector& v_file) { - typedef fit::MultiHistoChiSquare ChiSquared; - fit::RootMinuitCommands commands("zChi2Fit.txt"); - - cout << "minuit command file completed" << endl; - - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso), rebinMuMuConst(rebinMuMu), rebinMuMu1HLTConst(rebinMuMu1HLT), - rebinMuMu2HLTConst(rebinMuMu2HLT), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile* root_file = new TFile(it->c_str(), "read"); - - // default when region==all - // TH1 * histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlots/zMass",rebinMuMuNoIso); - TH1* histoZMuMuNoIso = getHisto(root_file, "oneNonIsolatedZToMuMuPlots/zMass", rebinMuMuNoIso); - TH1* histoZMuMu = getHisto(root_file, "goodZToMuMuPlots/zMass", rebinMuMu); - TH1* histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlots/zMass", rebinMuMu1HLT); - TH1* histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlots/zMass", rebinMuMu2HLT); - TH1* histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlots/zMass", rebinMuTk); - TH1* histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlots/zMass", rebinMuSa); - TH1* histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogram/zMass", rebinMuSa); - - TH1* histoZMuMuNoIsoTemplateFromMC = histoZMuMu; - if (nonIsoTemplateFromMC) { - // histoZMuMuNoIsoTemplateFromMC = getHisto(root_file, "nonIsolatedZToMuMuPlotsMC/zMass",rebinMuMu); - histoZMuMuNoIsoTemplateFromMC = getHisto(root_file, "oneNonIsolatedZToMuMuPlotsMC/zMass", rebinMuMu); - } - if (region == "barrel") { - histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlotsBarrel/zMass", rebinMuMuNoIso); - histoZMuMu = getHisto(root_file, "goodZToMuMuPlotsBarrel/zMass", rebinMuMu); - histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlotsBarrel/zMass", rebinMuMu1HLT); - histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlotsBarrel/zMass", rebinMuMu2HLT); - histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlotsBarrel/zMass", rebinMuTk); - histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlotsBarrel/zMass", rebinMuSa); - histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogramBarrel/zMass", rebinMuSa); - } - - if (region == "endcap") { - histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlotsEndCap/zMass", rebinMuMuNoIso); - histoZMuMu = getHisto(root_file, "goodZToMuMuPlotsEndCap/zMass", rebinMuMu); - histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlotsEndCap/zMass", rebinMuMu1HLT); - histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlotsEndCap/zMass", rebinMuMu2HLT); - histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlotsEndCap/zMass", rebinMuTk); - histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlotsEndCap/zMass", rebinMuSa); - histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogramEndCap/zMass", rebinMuSa); - } - - if (region == "barrend") { - histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlotsBarrEnd/zMass", rebinMuMuNoIso); - histoZMuMu = getHisto(root_file, "goodZToMuMuPlotsBarrEnd/zMass", rebinMuMu); - histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlotsBarrEnd/zMass", rebinMuMu1HLT); - histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlotsBarrEnd/zMass", rebinMuMu2HLT); - histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlotsBarrEnd/zMass", rebinMuTk); - histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlotsBarrEnd/zMass", rebinMuSa); - histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogramBarrEnd/zMass", rebinMuSa); - } - - if (region != "endcap" && region != "barrel" && region != "barrend" && region != "all") { - cout << "not a valid region selected" << endl; - cout << "possible choises are: all, barrel, endcap, barrend " << endl; - return 0; - } - - cout << ">>> histogram loaded\n"; - string f_string = *it + "_" + PlotPrefix::str() + "_"; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char* kYieldZMuMu = "YieldZMuMu"; - const char* kEfficiencyTk = "EfficiencyTk"; - const char* kEfficiencySa = "EfficiencySa"; - const char* kEfficiencyIso = "EfficiencyIso"; - const char* kEfficiencyHLT = "EfficiencyHLT"; - const char* kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char* kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char* kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char* kAlpha = "Alpha"; - const char* kBeta = "Beta"; - const char* kLambda = "Lambda"; - const char* kA0 = "A0"; - const char* kA1 = "A1"; - const char* kA2 = "A2"; - const char* kB0 = "B0"; - const char* kB1 = "B1"; - const char* kB2 = "B2"; - const char* kC0 = "C0"; - const char* kC1 = "C1"; - const char* kC2 = "C2"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter effIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter effHLT(kEfficiencyHLT, commands.par(kEfficiencyHLT)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Parameter c0(kC0, commands.par(kC0)); - funct::Parameter c1(kC1, commands.par(kC1)); - funct::Parameter c2(kC2, commands.par(kC2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // count ZMuMu Yield - double nZMuMu = 0, nZMuMu1HLT = 0, nZMuMu2HLT = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX = (xMax - xMin) / nBins; - for (unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i + .5) * deltaX; - if (x > fMin && x < fMax) { - nZMuMu += histoZMuMu->GetBinContent(i + 1); - nZMuMu1HLT += histoZMuMu1HLT->GetBinContent(i + 1); - nZMuMu2HLT += histoZMuMu2HLT->GetBinContent(i + 1); - } - } - } - // aggiungi 1HLT 2HLT - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu (1HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuMu (2HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - funct::RootHistoPdf zPdfMuMu(*histoZMuMu, fMin, fMax); - //assign ZMuMu as pdf - funct::RootHistoPdf zPdfMuMuNonIso = zPdfMuMu; - if (nonIsoTemplateFromMC) { - funct::RootHistoPdf zPdfMuMuNoIsoFromMC(*histoZMuMuNoIsoTemplateFromMC, fMin, fMax); - zPdfMuMuNonIso = zPdfMuMuNoIsoFromMC; - } - - funct::RootHistoPdf zPdfMuTk = zPdfMuMu; - funct::RootHistoPdf zPdfMuMu1HLT = zPdfMuMu; - funct::RootHistoPdf zPdfMuMu2HLT = zPdfMuMu; - funct::RootHistoPdf zPdfMuSa(*histoZMuSaFromMuMu, fMin, fMax); - zPdfMuMuNonIso.rebin(rebinMuMuNoIso / rebinMuMu); - zPdfMuTk.rebin(rebinMuTk / rebinMuMu); - zPdfMuMu1HLT.rebin(rebinMuMu1HLT / rebinMuMu); - zPdfMuMu2HLT.rebin(rebinMuMu2HLT / rebinMuMu); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - //Efficiency term - Expr zMuMuEff1HLTTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * effHLT * (_1 - effHLT); - Expr zMuMuEff2HLTTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * (effHLT ^ _2); - // Expr zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)) * (_1 - ((_1 - effHLT)^_2)); - // change to both hlt and one not iso - Expr zMuMuNoIsoEffTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * effIso * (_1 - effIso) * (effHLT ^ _2); - Expr zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2) * effHLT; - Expr zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - - Expr zMuMu1HLT = rebinMuMu1HLTConst * zMuMuEff1HLTTerm * yieldZMuMu; - Expr zMuMu2HLT = rebinMuMu2HLTConst * zMuMuEff2HLTTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - - Expr zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2); - Expr zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - Expr zMuMuNoIso = rebinMuMuNoIsoConst * (zMuMuNoIsoEffTerm * yieldZMuMu * zPdfMuMuNonIso + zMuMuNoIsoBkg); - - Expr zMuSaBkg = yieldBkgZMuSa * funct::Exponential(beta) * funct::Polynomial<2>(c0, c1, c2); - Expr zMuSaBkgScaled = rebinMuSaConst * zMuSaBkg; - Expr zMuSa = rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * zPdfMuSa + zMuSaBkg); - - TH1D histoZCount1HLT("histoZCount1HLT", "", 1, fMin, fMax); - histoZCount1HLT.Fill(100, nZMuMu1HLT); - TH1D histoZCount2HLT("histoZCount2HLT", "", 1, fMin, fMax); - histoZCount2HLT.Fill(100, nZMuMu2HLT); - - ChiSquared chi2(zMuMu1HLT, - &histoZCount1HLT, - zMuMu2HLT, - &histoZCount2HLT, - zMuTk, - histoZMuTk, - zMuSa, - histoZMuSa, - zMuMuNoIso, - histoZMuMuNoIso, - fMin, - fMax); - cout << "N. bins: " << chi2.numberOfBins() << endl; - - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, effIso); - commands.add(minuit, effHLT); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.add(minuit, c0); - commands.add(minuit, c1); - commands.add(minuit, c2); - commands.run(minuit); - const unsigned int nPar = 20; //WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - - std::cout << "error matrix:" << std::endl; - for (unsigned int i = 0; i < nPar; ++i) { - for (unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - ofstream myfile; - myfile.open("fitResult.txt", ios::out | ios::app); - myfile << "\n"; - double Y = minuit.getParameterError("YieldZMuMu"); - double dY = minuit.getParameterError("YieldZMuMu", Y); - double tk_eff = minuit.getParameterError("EfficiencyTk"); - double dtk_eff = minuit.getParameterError("EfficiencyTk", tk_eff); - double sa_eff = minuit.getParameterError("EfficiencySa"); - double dsa_eff = minuit.getParameterError("EfficiencySa", sa_eff); - double iso_eff = minuit.getParameterError("EfficiencyIso"); - double diso_eff = minuit.getParameterError("EfficiencyIso", iso_eff); - double hlt_eff = minuit.getParameterError("EfficiencyHLT"); - double dhlt_eff = minuit.getParameterError("EfficiencyHLT", hlt_eff); - myfile << Y << " " << dY << " " << tk_eff << " " << dtk_eff << " " << sa_eff << " " << dsa_eff << " " << iso_eff - << " " << diso_eff << " " << hlt_eff << " " << dhlt_eff << " " - << chi2() / (chi2.numberOfBins() - minuit.numberOfFreeParameters()); - - myfile.close(); - - //Plot - double s; - s = 0; - for (int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) - s += histoZMuMu1HLT->GetBinContent(i); - histoZMuMu1HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) - s += histoZMuMu2HLT->GetBinContent(i); - histoZMuMu2HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - - string ZMuMu1HLTPlot = "ZMuMu1HLTFit_" + plot_string; - root::plot(ZMuMu1HLTPlot.c_str(), - *histoZMuMu1HLT, - zMuMu1HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kOrange - 2, - 2, - kSolid, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMu2HLTPlot = "ZMuMu2HLTFit_" + plot_string; - root::plot(ZMuMu2HLTPlot.c_str(), - *histoZMuMu2HLT, - zMuMu2HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kOrange - 2, - 2, - kSolid, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_X_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), - *histoZMuMuNoIso, - zMuMuNoIso, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuMuNotIso, - alpha, - b0, - b1, - b2, - kWhite, - 2, - kSolid, - 100, - "Z -> #mu #mu Not Iso mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - TF1 funZMuMuNoIso = root::tf1_t("ZMuMuNoIsoFunction", - zMuMuNoIso, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuMuNotIso, - alpha, - b0, - b1, - b2); - funZMuMuNoIso.SetLineColor(kOrange + 8); - funZMuMuNoIso.SetLineWidth(3); - //funZMuMuNoIso.SetLineStyle(kDashed); - - //funZMuMuNoIso.SetFillColor(kOrange-2); - //funZMuMuNoIso.SetFillStyle(3325); - - funZMuMuNoIso.SetNpx(10000); - TF1 funZMuMuNoIsoBkg = root::tf1_t( - "ZMuMuNoIsoBack", zMuMuNoIsoBkgScaled, fMin, fMax, yieldBkgZMuMuNotIso, alpha, b0, b1, b2); - funZMuMuNoIsoBkg.SetLineColor(kViolet + 3); - funZMuMuNoIsoBkg.SetLineWidth(2); - funZMuMuNoIsoBkg.SetLineStyle(kSolid); - funZMuMuNoIsoBkg.SetFillColor(kViolet - 5); - funZMuMuNoIsoBkg.SetFillStyle(3357); - - funZMuMuNoIsoBkg.SetNpx(10000); - histoZMuMuNoIso->SetTitle("Z -> #mu #mu Not Iso mass"); - histoZMuMuNoIso->SetXTitle("#mu + #mu invariant mass (GeV/c^{2})"); - histoZMuMuNoIso->SetYTitle("Events"); - TCanvas* canvas = new TCanvas("canvas"); - histoZMuMuNoIso->Draw("e"); - funZMuMuNoIsoBkg.Draw("same"); - funZMuMuNoIso.Draw("same"); - canvas->SaveAs(ZMuMuNoIsoPlot.c_str()); - canvas->SetLogy(); - string logZMuMuNoIsoPlot = "log_" + ZMuMuNoIsoPlot; - canvas->SaveAs(logZMuMuNoIsoPlot.c_str()); - - double IntSigMMNotIso = ((double)rebinMuMu / (double)rebinMuMuNoIso) * funZMuMuNoIso.Integral(fMin, fMax); - double IntSigMMNotIsoBkg = ((double)rebinMuMu / (double)rebinMuMuNoIso) * funZMuMuNoIsoBkg.Integral(fMin, fMax); - cout << "********* ZMuMuNoIsoPlot signal yield from the fit ==> " << IntSigMMNotIso << endl; - cout << "********* ZMuMuNoIsoPlot background yield from the fit ==> " << IntSigMMNotIsoBkg << endl; - - string ZMuTkPlot = "ZMuTkFit_X_" + plot_string; - root::plot(ZMuTkPlot.c_str(), - *histoZMuTk, - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2, - kOrange + 3, - 2, - kSolid, - 100, - "Z -> #mu + (unmatched) track mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1_t( - "ZMuTkFunction", zMuTk, fMin, fMax, effTk, effSa, effIso, effHLT, yieldZMuMu, yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTk.SetLineColor(kOrange + 8); - funZMuTk.SetLineWidth(3); - funZMuTk.SetLineStyle(kSolid); - // funZMuTk.SetFillColor(kOrange-2); - //funZMuTk.SetFillStyle(3325); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = - root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kViolet + 3); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kSolid); - funZMuTkBkg.SetFillColor(kViolet - 5); - funZMuTkBkg.SetFillStyle(3357); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas* canvas_ = new TCanvas("canvas_"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas_->SaveAs(ZMuTkPlot.c_str()); - canvas_->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas_->SaveAs(logZMuTkPlot.c_str()); - - double IntSigMT = ((double)rebinMuMu / (double)rebinMuTk) * funZMuTk.Integral(fMin, fMax); - double IntSigMTBkg = ((double)rebinMuMu / (double)rebinMuTk) * funZMuTkBkg.Integral(fMin, fMax); - cout << "********* ZMuMuTkPlot signal yield from the fit ==> " << IntSigMT << endl; - cout << "********* ZMuMuTkPlot background yield from the fit ==> " << IntSigMTBkg << endl; - - string ZMuSaPlot = "ZMuSaFit_X_" + plot_string; - root::plot(ZMuSaPlot.c_str(), - *histoZMuSa, - zMuSa, - fMin, - fMax, - effSa, - effTk, - effIso, - yieldZMuMu, - yieldBkgZMuSa, - beta, - c0, - c1, - c2, - kOrange + 3, - 2, - kSolid, - 100, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - - ZMuSaPlot = "ZMuSaFit_" + plot_string; - TF1 funZMuSa = root::tf1_t( - "ZMuSaFunction", zMuSa, fMin, fMax, effTk, effSa, effIso, effHLT, yieldZMuMu, yieldBkgZMuSa, beta, c0, c1, c2); - funZMuSa.SetLineColor(kOrange + 8); - funZMuSa.SetLineWidth(3); - funZMuSa.SetLineStyle(kSolid); - // funZMuSa.SetFillColor(kOrange-2); - // funZMuSa.SetFillStyle(3325); - funZMuSa.SetNpx(10000); - TF1 funZMuSaBkg = - root::tf1_t("ZMuSaBack", zMuSaBkgScaled, fMin, fMax, yieldBkgZMuSa, beta, c0, c1, c2); - funZMuSaBkg.SetLineColor(kViolet + 3); - funZMuSaBkg.SetLineWidth(2); - funZMuSaBkg.SetLineStyle(kSolid); - funZMuSaBkg.SetFillColor(kViolet - 5); - funZMuSaBkg.SetFillStyle(3357); - funZMuSaBkg.SetNpx(10000); - histoZMuSa->SetTitle("Z -> #mu + (unmatched) standalone mass"); - histoZMuSa->SetXTitle("#mu + (unmatched) standalone invariant mass (GeV/c^{2})"); - histoZMuSa->SetYTitle("Events"); - TCanvas* canvas__ = new TCanvas("canvas__"); - histoZMuSa->Draw("e"); - funZMuSaBkg.Draw("same"); - funZMuSa.Draw("same"); - canvas__->SaveAs(ZMuSaPlot.c_str()); - canvas__->SetLogy(); - string logZMuSaPlot = "log_" + ZMuSaPlot; - canvas__->SaveAs(logZMuSaPlot.c_str()); - - double IntSigMS = ((double)rebinMuMu / (double)rebinMuSa) * funZMuSa.Integral(fMin, fMax); - double IntSigMSBkg = ((double)rebinMuMu / (double)rebinMuSa) * funZMuSaBkg.Integral(fMin, fMax); - cout << "********* ZMuMuSaPlot signal yield from the fit ==> " << IntSigMS << endl; - cout << "********* ZMuMuSaPlot background yield from the fit ==> " << IntSigMSBkg << endl; - } - return 0; -} - -#include -using namespace boost; -namespace po = boost::program_options; - -int main(int ac, char* av[]) { - po::options_description desc("Allowed options"); - desc.add_options()("help,h", "produce help message")("input-file,i", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "rebins,R", - po::value >(), - "rebins values: rebinMuMu2HLT , rebinMuMu1HLT , rebinMuMuNoIso , rebinMuSa, rebinMuTk")( - "chi2,c", "perform chi-squared fit")("plr,p", "perform Poisson likelihood-ratio fit")( - "nonIsoTemplateFromMC,I", - po::value(&nonIsoTemplateFromMC)->default_value(false), - "take the template for nonIso sample from MC")( - "plot-format,f", po::value(&ext)->default_value("eps"), "output plot format")( - "detectorRegion,r", - po::value(®ion)->default_value("all"), - "detector region in which muons are detected"); - po::positional_options_description p; - p.add("input-file", -1); - p.add("rebins", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (!vm.count("input-file")) { - return 1; - } - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - vector v_file = vm["input-file"].as >(); - - if (vm.count("rebins")) { - vector v_rebin = vm["rebins"].as >(); - if (v_rebin.size() != 5) { - cerr << " please provide 5 numbers in the given order: rebinMuMu2HLT , rebinMuMu1HLT , rebinMuMuNoIso, " - "rebinMuSa, rebinMuTk \n"; - return 1; - } - rebinMuMuNoIso = v_rebin[2], rebinMuMu1HLT = v_rebin[1], rebinMuMu2HLT = v_rebin[0], rebinMuTk = v_rebin[4], - rebinMuSa = v_rebin[3]; - } - - bool chi2Fit = vm.count("chi2"), plrFit = vm.count("plr"); - - if (!(chi2Fit || plrFit)) - cerr << "Warning: no fit performed. Please, specify either -c or -p options or both" << endl; - - gROOT->SetStyle("Plain"); - - int ret = 0; - try { - if (plrFit) { - std::cout << "==================================== " << std::endl; - std::cout << "=== Poisson Likelihood Ratio fit === " << std::endl; - std::cout << "==================================== " << std::endl; - int ret2 = main_t(v_file); - if (ret2 != 0) - ret = 1; - } - if (chi2Fit) { - std::cout << "================= " << std::endl; - std::cout << "=== Chi-2 fit === " << std::endl; - std::cout << "================= " << std::endl; - int ret1 = main_t(v_file); - if (ret1 != 0) - ret = 1; - } - } catch (std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return ret; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zFitToyMc.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zFitToyMc.cpp deleted file mode 100644 index ad71f08e54fa9..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zFitToyMc.cpp +++ /dev/null @@ -1,451 +0,0 @@ -#include "FWCore/Utilities/interface/EDMException.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/HistoPdf.h" -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "TROOT.h" -#include "TSystem.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -// A function that get histogram and sets contents to 0 -// if entries are too small -TH1* getHisto(TFile* file, const char* name, unsigned int rebin) { - TObject* h = file->Get(name); - if (h == nullptr) - throw edm::Exception(edm::errors::Configuration) << "Can't find object " << name << "\n"; - TH1* histo = dynamic_cast(h); - if (histo == nullptr) - throw edm::Exception(edm::errors::Configuration) - << "Object " << name << " is of type " << h->ClassName() << ", not TH1\n"; - histo->Rebin(rebin); - for (int i = 1; i <= histo->GetNbinsX(); ++i) { - if (histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } - return histo; -} - -struct sig_tag; -struct bkg_tag; - -int main(int ac, char* av[]) { - gROOT->SetStyle("Plain"); - - try { - typedef funct::FunctExpression Expr; - typedef fit::HistoChiSquare ExprChi2; - typedef fit::MultiHistoChiSquare ChiSquared; - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help,h", "produce help message")("input-file,i", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "plot-format,p", po::value(&ext)->default_value("eps"), "output plot format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands commands("zFitToyMc.txt"); - - cout << "minuit command file completed" << endl; - const unsigned int rebinMuMuNoIso = 2, rebinMuMu = 1, rebinMuMu1HLT = 1, rebinMuMu2HLT = 1, rebinMuTk = 2, - rebinMuSa = 10; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso), rebinMuMuConst(rebinMuMu), rebinMuMu1HLTConst(rebinMuMu1HLT), - rebinMuMu2HLTConst(rebinMuMu2HLT), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - vector v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile* root_file = new TFile(it->c_str(), "read"); - TH1* histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlots/zMass_noIso", rebinMuMuNoIso); - TH1* histoZMuMu = getHisto(root_file, "goodZToMuMuPlots/zMass_golden", rebinMuMu); - TH1* histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlots/zMass_1hlt", rebinMuMu1HLT); - TH1* histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlots/zMass_2hlt", rebinMuMu2HLT); - TH1* histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlots/zMass_tk", rebinMuTk); - TH1* histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlots/zMass_sa", rebinMuSa); - TH1* histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogram/zMass_safromGolden", rebinMuSa); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char* kYieldZMuMu = "YieldZMuMu"; - const char* kEfficiencyTk = "EfficiencyTk"; - const char* kEfficiencySa = "EfficiencySa"; - const char* kEfficiencyIso = "EfficiencyIso"; - const char* kEfficiencyHLT = "EfficiencyHLT"; - const char* kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char* kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char* kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char* kAlpha = "Alpha"; - const char* kBeta = "Beta"; - const char* kLambda = "Lambda"; - const char* kA0 = "A0"; - const char* kA1 = "A1"; - const char* kA2 = "A2"; - const char* kB0 = "B0"; - const char* kB1 = "B1"; - const char* kB2 = "B2"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter effIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter effHLT(kEfficiencyHLT, commands.par(kEfficiencyHLT)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // count ZMuMu Yield - double nZMuMu = 0, nZMuMu1HLT = 0, nZMuMu2HLT = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX = (xMax - xMin) / nBins; - for (unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i + .5) * deltaX; - if (x > fMin && x < fMax) { - nZMuMu += histoZMuMu->GetBinContent(i + 1); - nZMuMu1HLT += histoZMuMu1HLT->GetBinContent(i + 1); - nZMuMu2HLT += histoZMuMu2HLT->GetBinContent(i + 1); - } - } - } - // aggiungi 1HLT 2HLT - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu (1HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuMu (2HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - funct::RootHistoPdf zPdfMuMuNonIso(*histoZMuMu, fMin, fMax); //imposto le pdf a quella di ZMuMu - funct::RootHistoPdf zPdfMuTk = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu1HLT = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu2HLT = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuSa(*histoZMuSaFromMuMu, fMin, fMax); - zPdfMuMuNonIso.rebin(rebinMuMuNoIso / rebinMuMu); - zPdfMuTk.rebin(rebinMuTk / rebinMuMu); - zPdfMuMu1HLT.rebin(rebinMuMu1HLT / rebinMuMu); - zPdfMuMu2HLT.rebin(rebinMuMu2HLT / rebinMuMu); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - //Efficiency term - Expr zMuMuEff1HLTTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * effHLT * (_1 - effHLT); - Expr zMuMuEff2HLTTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * (effHLT ^ _2); - Expr zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)) * (_1 - ((_1 - effHLT) ^ _2)); - Expr zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2) * effHLT; - Expr zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - - Expr zMuMu1HLT = rebinMuMu1HLTConst * zMuMuEff1HLTTerm * yieldZMuMu; - Expr zMuMu2HLT = rebinMuMu2HLTConst * zMuMuEff2HLTTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - - Expr zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2); - Expr zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - Expr zMuMuNoIso = rebinMuMuNoIsoConst * (zMuMuNoIsoEffTerm * yieldZMuMu * zPdfMuMuNonIso + zMuMuNoIsoBkg); - - Expr zMuSa = - rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * zPdfMuSa); // + (yieldBkgZMuSa * funct::Exponential(beta) )); - - TH1D histoZCount1HLT("histoZCount1HLT", "", 1, fMin, fMax); - histoZCount1HLT.Fill(100, nZMuMu1HLT); - TH1D histoZCount2HLT("histoZCount2HLT", "", 1, fMin, fMax); - histoZCount2HLT.Fill(100, nZMuMu2HLT); - - ChiSquared chi2(zMuMu1HLT, - &histoZCount1HLT, - zMuMu2HLT, - &histoZCount2HLT, - zMuTk, - histoZMuTk, - zMuSa, - histoZMuSa, - zMuMuNoIso, - histoZMuMuNoIso, - fMin, - fMax); - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, effIso); - commands.add(minuit, effHLT); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.run(minuit); - const unsigned int nPar = 17; //WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - - std::cout << "error matrix:" << std::endl; - for (unsigned int i = 0; i < nPar; ++i) { - for (unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - ofstream myfile; - myfile.open("fitResult.txt", ios::out | ios::app); - myfile << "\n"; - double Y = minuit.getParameterError("YieldZMuMu"); - double dY = minuit.getParameterError("YieldZMuMu", Y); - double tk_eff = minuit.getParameterError("EfficiencyTk"); - double dtk_eff = minuit.getParameterError("EfficiencyTk", tk_eff); - double sa_eff = minuit.getParameterError("EfficiencySa"); - double dsa_eff = minuit.getParameterError("EfficiencySa", sa_eff); - double iso_eff = minuit.getParameterError("EfficiencyIso"); - double diso_eff = minuit.getParameterError("EfficiencyIso", iso_eff); - double hlt_eff = minuit.getParameterError("EfficiencyHLT"); - double dhlt_eff = minuit.getParameterError("EfficiencyHLT", hlt_eff); - myfile << Y << " " << dY << " " << tk_eff << " " << dtk_eff << " " << sa_eff << " " << dsa_eff << " " << iso_eff - << " " << diso_eff << " " << hlt_eff << " " << dhlt_eff << " " - << chi2() / (chi2.numberOfBins() - minuit.numberOfFreeParameters()); - - myfile.close(); - - //Plot - double s; - s = 0; - for (int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) - s += histoZMuMu1HLT->GetBinContent(i); - histoZMuMu1HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) - s += histoZMuMu2HLT->GetBinContent(i); - histoZMuMu2HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - - string ZMuMu1HLTPlot = "ZMuMu1HLTFit_" + plot_string; - root::plot(ZMuMu1HLTPlot.c_str(), - *histoZMuMu1HLT, - zMuMu1HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMu2HLTPlot = "ZMuMu2HLTFit_" + plot_string; - root::plot(ZMuMu2HLTPlot.c_str(), - *histoZMuMu2HLT, - zMuMu2HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), - *histoZMuMuNoIso, - zMuMuNoIso, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu Not Iso mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_X_" + plot_string; - root::plot(ZMuTkPlot.c_str(), - *histoZMuTk, - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2, - kRed, - 2, - kDashed, - 100, - "Z -> #mu + (unmatched) track mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1_t("ZMuTkFunction", - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = - root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas* canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_" + plot_string; - root::plot(ZMuSaPlot.c_str(), - *histoZMuSa, - zMuSa, - fMin, - fMax, - effSa, - effTk, - effIso, - yieldZMuMu, - yieldBkgZMuSa, - kRed, - 2, - kDashed, - 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - } catch (std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMassFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMassFit.cpp deleted file mode 100644 index 7e3dc41a3f2ab..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMassFit.cpp +++ /dev/null @@ -1,1040 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/BreitWigner.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Number.h" -#include "PhysicsTools/Utilities/interface/Product.h" -#include "PhysicsTools/Utilities/interface/Sum.h" -#include "PhysicsTools/Utilities/interface/Difference.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootFunctionAdapter.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TFile.h" -#include "TH1.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TROOT.h" -//#include "TStyle.h" - -#include -#include -#include -#include -#include -#include -#include -using namespace std; -using namespace boost; -namespace po = boost::program_options; - -// A helper function to simplify the main part. -template -ostream &operator<<(ostream &os, const vector &v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -typedef funct::GaussIntegrator IntegratorConv; - -int main(int ac, char *av[]) { - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help", "produce help message")("include-path,I", po::value >(), "include path")( - "input-file", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(80), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "breitwigner", "fit to a breit-wigner")("gauss", "fit to a gaussian")( - "bwinter", "fit to the breit-wigner plus interference term")( - "bwintgam", "fit to the breit-wigner plus interference term and gamma propagator")( - "convbwg", "fit to the convolution between a breit-wigner and a gaussian")( - "convbwinterg", "fit to the convolution between a breit-wigner plus interference term and a gaussian")( - "convbwintgamg", - "fit to the convolution of a breit-wigner plus interference term and gamma propagator and a gaussian")( - "convbw2gf", "fit to the convolution between a breit-wigner and a linear combination of fixed gaussians")( - "convbwf2g", "fit to the convolution between a fixed breit-wigner and a linear combination of gaussians")( - "convbwint2gf", - "fit to the convolution between the breit-wigner plus interference term and a linear combination of fixed " - "gaussians")("convbwintf2g", - "fit to the convolution between the fixed breit-wigner plus interference term and a linear " - "combination of gaussians")("convbwintgam2gf", - "fit to the convolution of the breit-wigner plus interference term " - "and gamma propagator with a linear combination of fixed gaussians")( - "convbwintgamf2g", - "fit to the convolution of the fixed breit-wigner plus interference term and gamma propagator with a linear " - "combination of gaussians")( - "output-file,O", po::value(&ext)->default_value(".ps"), "output file format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " << vm["include-path"].as >() << "\n"; - } - - vector v_file; - vector v_ZMassHistos; - vector v_eps; - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile *root_file = new TFile(it->c_str(), "read"); - TDirectory *Histos = (TDirectory *)root_file->GetDirectory("ZHisto"); - TDirectory *RecoHistos = (TDirectory *)Histos->GetDirectory("ZRecoHisto"); - TH1D *zMass = (TH1D *)RecoHistos->Get("ZMass"); - zMass->Rebin(4); //remember... - zMass->GetXaxis()->SetTitle("#mu #mu invariant mass (GeV/c^{2})"); - v_ZMassHistos.push_back(zMass); - gROOT->SetStyle("Plain"); - //gStyle->SetOptFit(1111); - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string eps_string = f_string + ext; - v_eps.push_back(eps_string); - cout << ">>> histogram loaded\n"; - } - cout << v_file.size() << ", " << v_ZMassHistos.size() << ", " << v_eps.size() << endl; - cout << ">>> Input files loaded\n"; - } - - IntegratorConv integratorConv(1.e-5); - - //PDG values for Z mass and width - funct::Parameter mass("Mass", 91.1876); - funct::Parameter gamma("Gamma", 2.4952); - //Parameters for Z Line Shape - funct::Parameter f_gamma("Photon factor", 0); - funct::Parameter f_int("Interference factor", 0.001); - //Parameters for fits with gaussians - funct::Parameter yield("Yield", 482000); - funct::Parameter alpha("Alpha", 0.771); - funct::Parameter mean("Mean", 0); //0.229 - funct::Parameter sigma1("Sigma 1", 1.027); - funct::Parameter sigma2("Sigma 2", 2.94); - funct::Constant c_yield(yield), c_alpha(alpha); - funct::Number _1(1); - - if (vm.count("breitwigner")) { - cout << "Fitting histograms in input file to a Breit-Wigner\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - cout << ">>> load histogram\n"; - TH1D *zMass = v_ZMassHistos[i]; - cout << ">>> histogram loaded\n"; - funct::BreitWigner bw(mass, gamma); - funct::Constant c_yield(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c_yield * bw; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mass, gamma); - fun.SetParNames(yield.name().c_str(), mass.name().c_str(), gamma.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitBW_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitBW_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("gauss")) { - cout << "Fitting histograms in input files to a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::Gaussian gaus(mean, sigma1); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * gaus; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mean, 0.001, 80, 100); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mean, sigma1); - fun.SetParNames(yield.name().c_str(), mean.name().c_str(), sigma1.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwinter")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitBwIn_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitBwIn_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwint")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term and gamma " - "propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitBwInGam_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitBwInGam_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwintgam")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term and gamma " - "propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitBwInGam_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitBwInGam_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwg")) { - cout << "Fitting histograms in input files to the convolution between a Breit Wigner and a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::BreitWigner bw(mass, gamma); - funct::Gaussian gauss(mean, sigma1); - double range = 3 * sigma1.value(); - funct::Convolution::type cbg( - bw, gauss, -range, range, integratorConv); - funct::Constant c(yield); - typedef funct::Product::type>::type - FitFunction; - FitFunction f = c * cbg; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames( - yield.name().c_str(), mass.name().c_str(), gamma.name().c_str(), mean.name().c_str(), sigma1.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwinterg")) { - cout << "Fitting histograms in input files to the convolution between the Breit-Wigner plus Z/photon " - "interference and a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gauss(mean, sigma1); - double range = 3 * sigma1.value(); - funct::Convolution::type czg( - zls, gauss, -range, range, integratorConv); - funct::Constant c(yield); - typedef funct::Product::type>::type - FitFunction; - FitFunction f = c * czg; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - if (vm.count("convbwintgamg")) { - cout << "Fitting histograms in input files to the convolution of the Breit-Wigner plus Z/photon interference and " - "photon propagator with a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gauss(mean, sigma1); - double range = 3 * sigma1.value(); - funct::Convolution::type czg( - zls, gauss, -range, range, integratorConv); - funct::Constant c(yield); - typedef funct::Product::type>::type - FitFunction; - FitFunction f = c * czg; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str()); - fun.SetLineColor(kRed); - fun.SetNpx(100000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGaG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGaG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbw2gf")) { - cout << "Fitting histograms in input files to the convolution between the Z Breit-Wigner and a linear " - "combination of fixed Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::BreitWigner bw(mass, gamma); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(bw, gc, -range, range, 1000); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - //minuit.fixParameter(2); - minuit.addParameter(gamma, 1, 1, 10); - //minuit.fixParameter(3); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - //minuit.fixParameter(5); - minuit.addParameter(sigma2, 0.1, -5., 5.); - //minuit.fixParameter(6); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwGGf_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwGGf_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwf2g")) { - cout << "Fitting histograms in input files to the convolution between the fixed Z Breit-Wigner and a linear " - "combination of Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::BreitWigner bw(mass, gamma); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(bw, gc, -range, range, 1000); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - minuit.fixParameter(mass.name()); - minuit.addParameter(gamma, 1, 1, 10); - minuit.fixParameter(gamma.name()); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - //minuit.fixParameter(4); - minuit.addParameter(sigma1, 0.1, -5., 5.); - //minuit.fixParameter(5); - minuit.addParameter(sigma2, 0.1, -10., 10.); - //minuit.fixParameter(6); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwfGG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwfGG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwint2gf")) { - cout << "Fitting histograms in input files to the convolution between the Breit-Wigner plus Z/photon " - "interference and a linear combination of fixed Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(zls, gc, -range, range, integratorConv); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - //minuit.fixParameter(2); - minuit.addParameter(gamma, 1, 1, 10); - //minuit.fixParameter(3); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - //minuit.fixParameter(5); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - //minuit.fixParameter(7); - minuit.addParameter(sigma2, 0.1, -5., 5.); - //minuit.fixParameter(8); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGGf_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGGf_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwintf2g")) { - cout << "Fitting histograms in input files to the convolution between the fixed Breit-Wigner plus Z/photon " - "interference and a linear combination of Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(zls, gc, -range, range, integratorConv); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - minuit.fixParameter(mass.name()); - minuit.addParameter(gamma, 1, 1, 10); - minuit.fixParameter(gamma.name()); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - //minuit.fixParameter(5); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - //minuit.fixParameter(6); - minuit.addParameter(sigma1, 0.1, -5., 5.); - //minuit.fixParameter(7); - minuit.addParameter(sigma2, 0.1, -10., 10.); - //minuit.fixParameter(8); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInfGG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInfGG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwintgam2gf")) { - cout << "Fitting histograms in input files to the convolution of the Breit-Wigner plus Z/photon interference and " - "photon propagator with a linear combination of fixed Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(zls, gc, -range, range, integratorConv); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - //minuit.fixParameter(2); - minuit.addParameter(gamma, 1, 1, 10); - //minuit.fixParameter(3); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - //minuit.fixParameter(4); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - //minuit.fixParameter(5); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - // minuit.fixParameter(7); - minuit.addParameter(sigma2, 0.1, -5., 5.); - // minuit.fixParameter(8); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGaGGf_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGaGGf_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwintgamf2g")) { - cout << "Fitting histograms in input files to the convolution of the fixed Breit-Wigner plus Z/photon " - "interference and photon propagator with a linear combination of Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(zls, gc, -range, range, integratorConv); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - //minuit.fixParameter(0); - minuit.addParameter(alpha, 0.1, -1., 1.); - //minuit.fixParameter(1); - minuit.addParameter(mass, .1, 70., 110); - minuit.fixParameter(mass.name()); - minuit.addParameter(gamma, 1, 1, 10); - minuit.fixParameter(gamma.name()); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - //minuit.fixParameter(4); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - //minuit.fixParameter(5); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - //minuit.fixParameter(6); - minuit.addParameter(sigma1, 0.1, -5., 5.); - //minuit.fixParameter(7); - minuit.addParameter(sigma2, 0.1, -10., 10.); - //minuit.fixParameter(8); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGafGG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGafGG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - cout << "It works!\n"; - } catch (std::exception &e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMassHSFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMassHSFit.cpp deleted file mode 100644 index 5abc1d2ac8887..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMassHSFit.cpp +++ /dev/null @@ -1,353 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/BreitWigner.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Number.h" -#include "PhysicsTools/Utilities/interface/Product.h" -#include "PhysicsTools/Utilities/interface/Sum.h" -#include "PhysicsTools/Utilities/interface/Difference.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootFunctionAdapter.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TFile.h" -#include "TH1.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TROOT.h" - -#include -#include -#include -#include -#include -#include -#include -using namespace boost; -namespace po = boost::program_options; -using namespace std; - -typedef funct::GaussIntegrator IntegratorConv; - -// A helper function to simplify the main part. -template -ostream &operator<<(ostream &os, const vector &v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -int main(int ac, char *av[]) { - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help", "produce help message")("include-path,I", po::value >(), "include path")( - "input-file", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "convbwintgamg", - "fit to the convolution of a breit-wigner plus interference term and gamma propagator and a gaussian")( - "convexpbwintgamg", - "fit to the convolution of the product between an exponential and a breit-wigner plus interference term and " - "gamma propagator with a gaussian")("convbwintgam2gf", - "fit to the convolution of the breit-wigner plus interference term and " - "gamma propagator with a linear combination of fixed gaussians")( - "output-file,O", po::value(&ext)->default_value(".ps"), "output file format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " << vm["include-path"].as >() << "\n"; - } - - vector v_file; - vector v_ZMassHistos; - vector v_eps; - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile *root_file = new TFile(it->c_str(), "read"); - TDirectory *Histos = (TDirectory *)root_file->GetDirectory("ZHisto"); - TDirectory *RecoHistos = (TDirectory *)Histos->GetDirectory("ZRecoHisto"); - TH1D *zMass = (TH1D *)RecoHistos->Get("ZMass"); - zMass->Rebin(4); //remember... - zMass->GetXaxis()->SetTitle("#mu #mu invariant mass (GeV/c^{2})"); - v_ZMassHistos.push_back(zMass); - gROOT->SetStyle("Plain"); - //gStyle->SetOptFit(1111); - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string eps_string = f_string + ext; - v_eps.push_back(eps_string); - cout << ">>> histogram loaded\n"; - } - cout << v_file.size() << ", " << v_ZMassHistos.size() << ", " << v_eps.size() << endl; - cout << ">>> Input files loaded\n"; - } - - IntegratorConv integratorConv(1.e-5); - //Values for Z mass and width - funct::Parameter mass("Mass", 91.364); - funct::Parameter gamma("Gamma", 4.11); - //Parameters for Z Line Shape - funct::Parameter f_gamma("Photon factor", 0.838); - funct::Parameter f_int("Interference factor", -0.00197); - //Parameters for fits with gaussians - funct::Parameter yield("Yield", 283000); - funct::Parameter alpha("Alpha", 0.771); //the first gaussian is narrow - funct::Parameter mean("Mean", 0); //0.229 - funct::Parameter sigma1("Sigma 1", 0.76); - funct::Parameter sigma2("Sigma 2", 2.94); - //Parameter for exponential - funct::Parameter lambda("Lambda", 0); - - if (vm.count("convbwintgamg")) { - cout << "Fitting histograms in input files to the convolution of the Breit-Wigner plus Z/photon interference and " - "photon propagator with a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gauss(mean, sigma1); - double range = 3 * sigma1.value(); - funct::Convolution::type czg( - zls, gauss, -range, range, integratorConv); - funct::Constant c(yield); - typedef funct::Product::type>::type - FitFunction; - FitFunction f = c * czg; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str()); - fun.SetLineColor(kRed); - fun.SetNpx(100000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGaG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGaG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convexpbwintgamg")) { - cout << "Fitting histograms in input files to the convolution of the product between an exponential and a " - "breit-wigner plus interference term and gamma propagator with a gaussian" - << endl; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << lambda << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::Exponential expo(lambda); - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gauss(mean, sigma1); - typedef funct::Product::type ExpZLS; - ExpZLS expz = expo * zls; - double range = 3 * sigma1.value(); - funct::Convolution::type cezg( - expz, gauss, -range, range, integratorConv); - funct::Constant c(yield); - typedef funct::Product::type>::type - FitFunction; - FitFunction f = c * cezg; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(lambda, 0.1, -100, 100); - minuit.fixParameter(lambda.name()); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - minuit.releaseParameter(lambda.name()); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(lambda.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - lambda.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str()); - fun.SetLineColor(kRed); - fun.SetNpx(100000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoExBwInGaG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoExBwInGaG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("convbwintgam2gf")) { - cout << "Fitting histograms in input files to the convolution of the Breit-Wigner plus Z/photon interference and " - "photon propagator with a linear combination of fixed Gaussians\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassHistos.size(); ++i) { - TH1D *zMass = v_ZMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - funct::Number _1(1); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type GaussComb; - funct::Constant c_alpha(alpha), c_yield(yield); - GaussComb gc = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef funct::Convolution::type FitFunction; - double range = 3 * max(sigma1.value(), sigma2.value()); - FitFunction f(zls, gc, -range, range, integratorConv); - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(alpha, 0.1, -1., 1.); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.addParameter(mean, 0.001, -0.5, 0.5); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.addParameter(sigma2, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassFitCoBwInGaGGf_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassFitCoBwInGaGGf_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - cout << "It works!\n"; - } catch (std::exception &e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMassMCFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMassMCFit.cpp deleted file mode 100644 index 91cd65815fbe0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMassMCFit.cpp +++ /dev/null @@ -1,355 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/BreitWigner.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Product.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootFunctionAdapter.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TFile.h" -#include "TH1.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TROOT.h" -#include "TMath.h" - -#include -#include -#include -#include -#include -#include -using namespace boost; -namespace po = boost::program_options; -using namespace std; - -// A helper function to simplify the main part. -template -ostream &operator<<(ostream &os, const vector &v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -int main(int ac, char *av[]) { - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help", "produce help message")("include-path,I", po::value >(), "include path")( - "input-file", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(80), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "breitwigner", "fit to a breit-wigner")("gauss", "fit to a gaussian")( - "bwinter", "fit to a breit-wigner plus Z/photon interference term")( - "bwintgam", "fit to a breit-wigner plus Z/photon interference term and photon propagator")( - "expbwintgam", - "fit to the product of an exponential with a breit-wigner plus Z/photon interference term and photon " - "propagator")("output-file,O", po::value(&ext)->default_value(".ps"), "output file format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " << vm["include-path"].as >() << "\n"; - } - - vector v_file; - vector v_ZMCMassHistos; - vector v_eps; - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile *root_file = new TFile(it->c_str(), "read"); - TDirectory *Histos = (TDirectory *)root_file->GetDirectory("ZHisto"); - TDirectory *MCHistos = (TDirectory *)Histos->GetDirectory("ZMCHisto"); - TH1D *zMass = (TH1D *)MCHistos->Get("ZMCMass"); - zMass->Rebin(4); //remember... - zMass->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - v_ZMCMassHistos.push_back(zMass); - gROOT->SetStyle("Plain"); - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string eps_string = f_string + ext; - v_eps.push_back(eps_string); - cout << ">>> histogram loaded\n"; - } - cout << v_file.size() << ", " << v_ZMCMassHistos.size() << ", " << v_eps.size() << endl; - cout << ">>> Input files loaded\n"; - } - //PDG values for Z mass and width - funct::Parameter mass("Mass", 91.1876); - funct::Parameter gamma("Gamma", 2.4952); - //Parameters for Z Line Shape - funct::Parameter f_gamma("Photon factor", 0); - funct::Parameter f_int("Interference factor", 0.001); - //Parameters for fits with one gaussian - funct::Parameter yield("Yield", 1000); - funct::Parameter mean("Mean", 90); - funct::Parameter sigma("Sigma", 1.); - //Parameters for fit with an exponential - funct::Parameter lambda("Lambda", 0); - - if (vm.count("breitwigner")) { - cout << "Fitting histograms in input file to a Breit-Wigner\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - cout << ">>> load histogram\n"; - TH1D *zMass = v_ZMCMassHistos[i]; - cout << ">>> histogram loaded\n"; - funct::BreitWigner bw(mass, gamma); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * bw; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mass, gamma); - fun.SetParNames(yield.name().c_str(), mass.name().c_str(), gamma.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassMCFitBW_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassMCFitBW_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("gauss")) { - cout << "Fitting histograms in input files to a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mean << endl; - cout << sigma << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::Gaussian gaus(mean, sigma); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * gaus; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mean, 0.001, 80, 100); - minuit.addParameter(sigma, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mean, sigma); - fun.SetParNames(yield.name().c_str(), mean.name().c_str(), sigma.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassMCFitG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassMCFitG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwinter")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassMCFitBwIn_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassMCFitBwIn_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwintgam")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term and photon " - "propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 1000000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetNpx(100000); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassMCFitBwInGa_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassMCFitBwInGa_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("expbwintgam")) { - cout << "Fitting histograms in input files to the product of an exponential with the Breit-Wigner plus Z/photon " - "interference term and photon propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << lambda << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Exponential expo(lambda); - funct::Constant c(yield); - typedef funct::Product::type ExpZLS; - ExpZLS expz = expo * zls; - typedef funct::Product::type FitFunction; - FitFunction f = c * expz; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(lambda, 0.1, -100, 100); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(lambda.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetNpx(100000); - fun.SetParNames(yield.name().c_str(), - lambda.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassMCFitExpBwInGa_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassMCFitExpBwInGa_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - cout << "It works!\n"; - } catch (std::exception &e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMassResFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMassResFit.cpp deleted file mode 100644 index 4ce46ab3144a5..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMassResFit.cpp +++ /dev/null @@ -1,280 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Number.h" -#include "PhysicsTools/Utilities/interface/Product.h" -#include "PhysicsTools/Utilities/interface/Sum.h" -#include "PhysicsTools/Utilities/interface/Difference.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootFunctionAdapter.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TFile.h" -#include "TH1.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TROOT.h" -#include "TMath.h" - -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream &operator<<(ostream &os, const vector &v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -int main(int ac, char *av[]) { - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help", "produce help message")("include-path,I", po::value >(), "include path")( - "input-file", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(-20), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(20), "maximum value for fit range")( - "gauss", "fit to a gaussian")("2gauss", "fit to a linear combination of two gaussians")( - "3gauss", "fit to a linear combination of three gaussians")( - "output-file,O", po::value(&ext)->default_value(".ps"), "output file format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " << vm["include-path"].as >() << "\n"; - } - - vector v_file; - vector v_ZMassResHistos; - vector v_eps; - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile *root_file = new TFile(it->c_str(), "read"); - TDirectory *Histos = (TDirectory *)root_file->GetDirectory("ZHisto"); - TDirectory *RecoHistos = (TDirectory *)Histos->GetDirectory("ZResolutionHisto"); - TH1D *zMass = (TH1D *)RecoHistos->Get("ZToMuMuRecoMassResolution"); - zMass->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - v_ZMassResHistos.push_back(zMass); - gROOT->SetStyle("Plain"); - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string eps_string = f_string + ext; - v_eps.push_back(eps_string); - cout << ">>> histogram loaded\n"; - } - cout << v_file.size() << ", " << v_ZMassResHistos.size() << ", " << v_eps.size() << endl; - cout << ">>> Input files loaded\n"; - } - //Parameters for fit - funct::Parameter yield("Yield", 10000); - funct::Parameter alpha("Alpha", 0); - funct::Parameter beta("Beta", 0); - funct::Parameter mean("Mean", 0); - funct::Parameter mean2("Mean 2", 0); - funct::Parameter mean3("Mean 3", 0); - funct::Parameter sigma1("Sigma 1", 1.); - funct::Parameter sigma2("Sigma 2", 2.5); - funct::Parameter sigma3("Sigma 3", 9.); - - if (vm.count("gauss")) { - cout << "Fitting histograms in input files to a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mean << endl; - cout << sigma1 << endl; - for (unsigned int i = 0; i < v_ZMassResHistos.size(); ++i) { - TH1D *zMass = v_ZMassResHistos[i]; - zMass->Rebin(4); //remember... - funct::Gaussian gaus(mean, sigma1); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * gaus; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(mean, 0.001, -1., 1.); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mean, sigma1); - fun.SetParNames(yield.name().c_str(), mean.name().c_str(), sigma1.name().c_str()); - fun.SetLineColor(kRed); - fun.SetNpx(1000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassResFitG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassResFitG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("2gauss")) { - cout << "Fitting histograms in input files to a linear combination of two Gaussians\n"; - cout << "set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << mean << endl; - cout << mean2 << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - for (unsigned int i = 0; i < v_ZMassResHistos.size(); ++i) { - TH1D *zMass = v_ZMassResHistos[i]; - zMass->Rebin(4); //remember... - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean, sigma2); - typedef funct::Product::type G1; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type FitFunction; - funct::Number _1(1); - funct::Constant c_alpha(alpha), c_yield(yield); - FitFunction f = c_yield * (c_alpha * gaus1 + (_1 - c_alpha) * gaus2); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(alpha, 0.1, -1., 1.); - minuit.addParameter(mean, 0.001, -1., 1.); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.addParameter(sigma2, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mean.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str()); - fun.SetLineColor(kRed); - fun.SetNpx(1000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassResFitGG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassResFitGG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("3gauss")) { - cout << "Fitting histograms in input files to a linear combination of three Gaussians\n"; - cout << "set pars: " << endl; - cout << yield << endl; - cout << alpha << endl; - cout << beta << endl; - cout << mean << endl; - cout << mean2 << endl; - cout << mean3 << endl; - cout << sigma1 << endl; - cout << sigma2 << endl; - cout << sigma3 << endl; - for (unsigned int i = 0; i < v_ZMassResHistos.size(); ++i) { - TH1D *zMass = v_ZMassResHistos[i]; - zMass->Rebin(4); //remember... - funct::Gaussian gaus1(mean, sigma1); - funct::Gaussian gaus2(mean2, sigma2); - funct::Gaussian gaus3(mean3, sigma3); - funct::Constant a(alpha), b(beta), c(yield); - funct::Number _1(1); - typedef funct::Product::type G1; - typedef funct::Sum::type SumG1; - typedef funct::Sum::type ConstSum; - typedef funct::Product::type, funct::Gaussian>::type G2; - typedef funct::Product::type>::type FitFunction; - FitFunction f = c * (a * gaus1 + b * gaus2 + (_1 - (a + b)) * gaus3); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(alpha, 0.1, -1., 1.); - minuit.addParameter(beta, 0.1, -1., 1.); - minuit.addParameter(mean, 0.001, -1., 1.); - minuit.addParameter(mean2, 0.001, -1., 1.); - minuit.addParameter(mean3, 0.001, -1., 1.); - minuit.addParameter(sigma1, 0.1, -5., 5.); - minuit.addParameter(sigma2, 0.1, -5., 5.); - minuit.addParameter(sigma3, 0.1, -20., 20.); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(beta.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(mean2.ptr()); - pars.push_back(mean3.ptr()); - pars.push_back(sigma1.ptr()); - pars.push_back(sigma2.ptr()); - pars.push_back(sigma3.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - beta.name().c_str(), - mean.name().c_str(), - mean2.name().c_str(), - mean3.name().c_str(), - sigma1.name().c_str(), - sigma2.name().c_str(), - sigma3.name().c_str()); - fun.SetLineColor(kRed); - //fun.SetNpx(100000); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMassResFitGGG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMassResFitGGG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - cout << "It works!\n"; - } catch (std::exception &e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuExpFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMuMuExpFit.cpp deleted file mode 100755 index 03cfbb39c5a6e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuExpFit.cpp +++ /dev/null @@ -1,259 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -typedef funct::GaussIntegrator IntegratorConv; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - typedef funct::Product::type >::type ZPeak; - typedef funct::Product::type ZMuMuSig; - typedef ZMuMuSig ZMuMu; - typedef ZMuMuSig ZMuTkSig; - typedef funct::Product >::type >::type ZMuTkBkg; - typedef funct::Sum::type ZMuTk; - typedef funct::Product::type ZMuSaSig; - typedef funct::Parameter ZMuSaBkg; - typedef funct::Sum::type ZMuSa; - - typedef fit::MultiHistoChiSquare ChiSquared; - fit::RootMinuitCommands commands("ElectroWeakAnalysis/ZMuMu/test/zMuMuExpFit.txt"); - - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options() - ("help", "produce help message") - ("include-path,I", po::value< vector >(), - "include path") - ("input-file", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("output-file,O", po::value(&ext)->default_value(".ps"), - "output file format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " - << vm["include-path"].as< vector >() << "\n"; - } - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - TH1D * histoZMuMu = (TH1D*) root_file->Get("zToMM"); - fix(histoZMuMu); - TH1D * histoZMuTk = (TH1D*) root_file->Get("zToMTk"); - fix(histoZMuTk); - TH1D * histoZMuSa = (TH1D*) root_file->Get("zToMS"); - fix(histoZMuSa); - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string plot_string = f_string + ext; - cout << ">>> Input files loaded\n"; - - const char * kYieldZMuMu = "YieldZMuMu"; - const char * kYieldZMuTk = "YieldZMuTk"; - const char * kYieldZMuSa = "YieldZMuSa"; - const char * kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char * kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char * kLambdaZMuMu = "LambdaZMuMu"; - const char * kMass = "Mass"; - const char * kGamma = "Gamma"; - const char * kPhotonFactorZMuMu = "PhotonFactorZMuMu"; - const char * kInterferenceFactorZMuMu = "InterferenceFactorZMuMu"; - //const char * kPhotonFactorZMuTk = "PhotonFactorZMuTk"; - //const char * kInterferenceFactorZMuTk = "InterferenceFactorZMuTk"; - const char * kMeanZMuMu = "MeanZMuMu"; - const char * kSigmaZMuMu = "SigmaZMuMu"; - const char * kLambda = "Lambda"; - const char * kA0 = "A0"; - const char * kA1 = "A1"; - const char * kA2 = "A2"; - const char * kSigmaZMuSa = "SigmaZMuSa"; - - IntegratorConv integratorConv(1.e-5); - - funct::Parameter lambdaZMuMu(kLambdaZMuMu, commands.par(kLambdaZMuMu)); - funct::Parameter mass(kMass, commands.par(kMass)); - funct::Parameter gamma(kGamma, commands.par(kGamma)); - funct::Parameter photonFactorZMuMu(kPhotonFactorZMuMu, commands.par(kPhotonFactorZMuMu)); - funct::Parameter interferenceFactorZMuMu(kInterferenceFactorZMuMu, commands.par(kInterferenceFactorZMuMu)); - //funct::Parameter photonFactorZMuTk(kPhotonFactorZMuTk, commands.par(kPhotonFactorZMuTk)); - //funct::Parameter interferenceFactorZMuTk(kInterferenceFactorZMuTk, commands.par(kInterferenceFactorZMuTk)); - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter yieldZMuTk(kYieldZMuTk, commands.par(kYieldZMuTk)); - funct::Parameter yieldZMuSa(kYieldZMuSa, commands.par(kYieldZMuSa)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter meanZMuMu(kMeanZMuMu, commands.par(kMeanZMuMu)); - funct::Parameter sigmaZMuMu(kSigmaZMuMu, commands.par(kSigmaZMuMu)); - funct::Parameter sigmaZMuSa(kSigmaZMuSa, commands.par(kSigmaZMuSa)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - - ZPeak zPeak = funct::Exponential(lambdaZMuMu) * - funct::conv(funct::ZLineShape(mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu), - funct::Gaussian(meanZMuMu, sigmaZMuMu), - -3*sigmaZMuMu.value(), 3*sigmaZMuMu.value(), integratorConv); - ZMuMu zMuMu = yieldZMuMu * zPeak; - ZMuTkBkg zMuTkBkg = - yieldBkgZMuTk * (funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2)); - ZMuTk zMuTk = yieldZMuTk * zPeak + zMuTkBkg; - ZMuSa zMuSa = yieldZMuSa * funct::Gaussian(mass, sigmaZMuSa) + yieldBkgZMuSa; - - ChiSquared chi2(zMuMu, histoZMuMu, - zMuTk, histoZMuTk, - zMuSa, histoZMuSa, - fMin, fMax); - cout << "N. deg. of freedom: " << chi2.numberOfBins() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, yieldZMuTk); - commands.add(minuit, yieldZMuSa); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, lambdaZMuMu); - commands.add(minuit, mass); - commands.add(minuit, gamma); - commands.add(minuit, photonFactorZMuMu); - commands.add(minuit, interferenceFactorZMuMu); - //commands.add(minuit, photonFactorZMuTk); - //commands.add(minuit, interferenceFactorZMuTk); - commands.add(minuit, meanZMuMu); - commands.add(minuit, sigmaZMuMu); - commands.add(minuit, lambda); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, sigmaZMuSa); - commands.run(minuit); - const unsigned int nPar = 17; - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - string ZMuMuPlot = "ZMuMuFit" + plot_string; - root::plot(ZMuMuPlot.c_str(), *histoZMuMu, zMuMu, fMin, fMax, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - kRed, 2, kDashed, 10000, - "Z -> #mu #mu mass with isolation cut", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - string ZMuTkPlot = "ZMuTkFit" + plot_string; - TF1 funZMuTk = root::tf1("ZMuTkFunction", zMuTk, fMin, fMax, - yieldZMuTk, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = root::tf1("ZMuTkBack", zMuTkBkg, fMin, fMax, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass with isolation cut"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas *canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTk.Draw("same"); - funZMuTkBkg.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit" + plot_string; - root::plot(ZMuSaPlot.c_str(), *histoZMuSa, zMuSa, fMin, fMax, - yieldZMuSa, mass, sigmaZMuSa, yieldBkgZMuSa, - kRed, 2, kDashed, 10000, - "Z -> #mu + (unmatched) standalone mass with isolation cut", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - - } - catch(std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMuMuFit.cpp deleted file mode 100644 index 09bce04e22d6d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuFit.cpp +++ /dev/null @@ -1,283 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Convolution.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TROOT.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -//A function that sets istogram contents to 0 -//if they are too small -void fix(TH1* histo) { - for(int i = 1; i <= histo->GetNbinsX(); ++i) { - if(histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } -} - -typedef funct::GaussIntegrator IntegratorConv; - -int main(int ac, char *av[]) { - gROOT->SetStyle("Plain"); - try { - typedef funct::Product::type>::type ZPeak; - typedef funct::Product::type ZMuMuSig; - typedef funct::Product >::type, - funct::Power >::type >::type ZMuMuEfficiency; - typedef funct::Product::type ZMuMu; - - typedef funct::Product, - funct::Product >::type, - funct::Product, funct::Parameter>::type - >::type - >::type - >::type ZMuTkEfficiency; - typedef funct::Product::type ZMuTkSig; - typedef funct::Product >::type >::type ZMuTkBkg; - typedef funct::Sum::type ZMuTk; - - typedef ZMuTkEfficiency ZMuSaEfficiency; - typedef funct::Product::type >::type ZMuSaSig; - typedef funct::Parameter ZMuSaBkg; - typedef funct::Sum::type ZMuSa; - - typedef fit::MultiHistoChiSquare ChiSquared; - fit::RootMinuitCommands commands("ElectroWeakAnalysis/ZMuMu/test/zMuMuFit.txt"); - - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options() - ("help", "produce help message") - ("include-path,I", po::value< vector >(), - "include path") - ("input-file", po::value< vector >(), "input file") - ("min,m", po::value(&fMin)->default_value(60), "minimum value for fit range") - ("max,M", po::value(&fMax)->default_value(120), "maximum value for fit range") - ("output-file,O", po::value(&ext)->default_value(".ps"), - "output file format") - ; - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av). - options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " - << vm["include-path"].as< vector >() << "\n"; - } - - if (vm.count("input-file")) { - cout << "Input files are: " - << vm["input-file"].as< vector >() << "\n"; - vector v_file = vm["input-file"].as< vector >(); - for(vector::const_iterator it = v_file.begin(); - it != v_file.end(); ++it) { - TFile * root_file = new TFile(it->c_str(),"read"); - TH1D * histoZMuMu = (TH1D*) root_file->Get("zToMM"); - fix(histoZMuMu); - TH1D * histoZMuTk = (TH1D*) root_file->Get("zToMTk"); - fix(histoZMuTk); - TH1D * histoZMuSa = (TH1D*) root_file->Get("zToMS"); - fix(histoZMuSa); - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string plot_string = f_string + ext; - cout << ">>> Input files loaded\n"; - - const char * kYieldZMuMu = "YieldZMuMu"; - const char * kEfficiencyTk = "EfficiencyTk"; - const char * kEfficiencySa = "EfficiencySa"; - const char * kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char * kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char * kLambdaZMuMu = "LambdaZMuMu"; - const char * kMass = "Mass"; - const char * kGamma = "Gamma"; - const char * kPhotonFactorZMuMu = "PhotonFactorZMuMu"; - const char * kInterferenceFactorZMuMu = "InterferenceFactorZMuMu"; - //const char * kPhotonFactorZMuTk = "PhotonFactorZMuTk"; - //const char * kInterferenceFactorZMuTk = "InterferenceFactorZMuTk"; - const char * kMeanZMuMu = "MeanZMuMu"; - const char * kSigmaZMuMu = "SigmaZMuMu"; - const char * kLambda = "Lambda"; - const char * kA0 = "A0"; - const char * kA1 = "A1"; - const char * kA2 = "A2"; - const char * kSigmaZMuSa = "SigmaZMuSa"; - - IntegratorConv integratorConv(1.e-5); - - funct::Parameter lambdaZMuMu(kLambdaZMuMu, commands.par(kLambdaZMuMu)); - funct::Parameter mass(kMass, commands.par(kMass)); - funct::Parameter gamma(kGamma, commands.par(kGamma)); - funct::Parameter photonFactorZMuMu(kPhotonFactorZMuMu, commands.par(kPhotonFactorZMuMu)); - funct::Parameter interferenceFactorZMuMu(kInterferenceFactorZMuMu, commands.par(kInterferenceFactorZMuMu)); - //funct::Parameter photonFactorZMuTk(kPhotonFactorZMuTk, commands.par(kPhotonFactorZMuTk)); - //funct::Parameter interferenceFactorZMuTk(kInterferenceFactorZMuTk, commands.par(kInterferenceFactorZMuTk)); - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter efficiencyTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter efficiencySa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter meanZMuMu(kMeanZMuMu, commands.par(kMeanZMuMu)); - funct::Parameter sigmaZMuMu(kSigmaZMuMu, commands.par(kSigmaZMuMu)); - funct::Parameter sigmaZMuSa(kSigmaZMuSa, commands.par(kSigmaZMuSa)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - - ZPeak zPeak = funct::Exponential(lambdaZMuMu) * - funct::conv(funct::ZLineShape(mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu), - funct::Gaussian(meanZMuMu, sigmaZMuMu), - -3*sigmaZMuMu.value(), 3*sigmaZMuMu.value(), integratorConv); - ZMuMuSig zMuMuSig = yieldZMuMu * zPeak; - ZMuMuEfficiency zMuMuEfficiency = (efficiencyTk ^ funct::Numerical<2>(2)) * - (efficiencySa ^ funct::Numerical<2>(2)); - ZMuMu zMuMu = zMuMuEfficiency * zMuMuSig; - ZMuTkBkg zMuTkBkg = - yieldBkgZMuTk * (funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2)); - ZMuTkEfficiency zMuTkEfficiency = funct::Numerical<2>(2) * - ((efficiencyTk ^ funct::Numerical<2>(2)) * (efficiencySa * (funct::Numerical<1>(1) - efficiencySa))); - ZMuTk zMuTk = zMuTkEfficiency * zMuMuSig + zMuTkBkg; - ZMuSaEfficiency zMuSaEfficiency = funct::Numerical<2>(2) * - ((efficiencySa ^ funct::Numerical<2>(2)) * (efficiencyTk * (funct::Numerical<1>(1) - efficiencyTk))); - ZMuSa zMuSa = zMuSaEfficiency * (yieldZMuMu * funct::Gaussian(mass, sigmaZMuSa)) + yieldBkgZMuSa; - - ChiSquared chi2(zMuMu, histoZMuMu, - zMuTk, histoZMuTk, - zMuSa, histoZMuSa, - fMin, fMax); - cout << "N. deg. of freedom: " << chi2.numberOfBins() << endl; - fit::RootMinuit minuit(chi2, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, efficiencyTk); - commands.add(minuit, efficiencySa); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, lambdaZMuMu); - commands.add(minuit, mass); - commands.add(minuit, gamma); - commands.add(minuit, photonFactorZMuMu); - commands.add(minuit, interferenceFactorZMuMu); - //commands.add(minuit, photonFactorZMuTk); - //commands.add(minuit, interferenceFactorZMuTk); - commands.add(minuit, meanZMuMu); - commands.add(minuit, sigmaZMuMu); - commands.add(minuit, lambda); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, sigmaZMuSa); - commands.run(minuit); - const unsigned int nPar = 17; - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for(unsigned int i = 0; i < nPar; ++i) { - for(unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - string ZMuMuPlot = "ZMuMuFit" + plot_string; - root::plot(ZMuMuPlot.c_str(), *histoZMuMu, zMuMu, fMin, fMax, - efficiencyTk, efficiencySa, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - kRed, 2, kDashed, 10000, - "Z -> #mu #mu mass", "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - string ZMuTkPlot = "ZMuTkFit" + plot_string; - TF1 funZMuTk = root::tf1("ZMuTkFunction", zMuTk, fMin, fMax, - efficiencyTk, efficiencySa, - yieldZMuMu, lambdaZMuMu, mass, gamma, photonFactorZMuMu, interferenceFactorZMuMu, - meanZMuMu, sigmaZMuMu, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = root::tf1("ZMuTkBack", zMuTkBkg, fMin, fMax, - yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas *canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTk.Draw("same"); - funZMuTkBkg.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit" + plot_string; - root::plot(ZMuSaPlot.c_str(), *histoZMuSa, zMuSa, fMin, fMax, - efficiencySa, efficiencyTk, - yieldZMuMu, mass, sigmaZMuSa, yieldBkgZMuSa, - kRed, 2, kDashed, 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - - } - catch(std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } - catch(...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} - diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.cpp deleted file mode 100644 index 0a454044a0692..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.cpp +++ /dev/null @@ -1,565 +0,0 @@ -#include "RooRealVar.h" -#include "RooRealConstant.h" -#include "RooGaussian.h" -#include "RooExponential.h" -#include "RooAddPdf.h" -#include "RooAddition.h" -#include "RooDataSet.h" -#include "RooDataHist.h" -#include "RooHistPdf.h" -#include "RooChebychev.h" -#include "RooExponential.h" -#include "RooProdPdf.h" -#include "RooChi2Var.h" -#include "RooGlobalFunc.h" -#include "RooPlot.h" -#include "RooMinuit.h" -#include "RooFitResult.h" -#include "RooFormulaVar.h" -#include "RooGenericPdf.h" -#include "RooExtendPdf.h" -#include "TCanvas.h" -#include "TROOT.h" -#include "TFile.h" -#include "TH1.h" -#include "RooNLLVar.h" -#include "RooRandom.h" -#include "TRandom3.h" -#include -#include -#include -using namespace boost; -namespace po = boost::program_options; -#include - -using namespace std; -using namespace RooFit; - -// A function that get histogram, restricting it on fit range and sets contents to 0.0 if entries are too small - -TH1F *getHisto(TFile *file, const char *name, double fMin, double fMax, unsigned int rebin) { - TObject *h = file->Get(name); - if (h == nullptr) - cout << "Can't find object " << name << "\n"; - TH1F *histo = dynamic_cast(h); - if (histo == nullptr) - cout << "Object " << name << " is of type " << h->ClassName() << ", not TH1\n"; - TH1F *new_histo = new TH1F(name, name, (int)(fMax - fMin), fMin, fMax); - int bin_num = 0; - for (int i = (int)fMin; i <= (int)fMax; ++i) { - bin_num = (i - (int)fMin + 1); - new_histo->SetBinContent(bin_num, histo->GetBinContent(i)); - } - delete histo; - new_histo->Sumw2(); - new_histo->Rebin(rebin); - for (int i = 1; i <= new_histo->GetNbinsX(); ++i) { - if (new_histo->GetBinContent(i) == 0.00) { - cout << " WARNING: histo " << name << " has 0 enter in bin number " << i << endl; - } - if (new_histo->GetBinContent(i) < 0.1) { - new_histo->SetBinContent(i, 0.0); - new_histo->SetBinError(i, 0.0); - cout << " WARNING: setting value 0.0 to histo " << name << " for bin number " << i << endl; - } - } - - return new_histo; -} - -// a function that create fromm a model pdf a toy RooDataHist - -RooDataHist *genHistFromModelPdf( - const char *name, RooAbsPdf *model, RooRealVar *var, double ScaleLumi, int range, int rebin, int seed) { - double genEvents = model->expectedEvents(*var); - TRandom3 *rndm = new TRandom3(); - rndm->SetSeed(seed); - double nEvt = rndm->PoissonD(genEvents); - int intEvt = ((nEvt - (int)nEvt) >= 0.5) ? (int)nEvt + 1 : int(nEvt); - RooDataSet *data = model->generate(*var, intEvt); - cout << " expected events for " << name << " = " << genEvents << endl; - cout << " data->numEntries() for name " << name << " == " << data->numEntries() << endl; - // cout<< " nEvt from PoissonD for" << name << " == " << nEvt<< endl; - //cout<< " cast of nEvt for" << name << " == " << intEvt<< endl; - RooAbsData *binned_data = data->binnedClone(); - TH1 *toy_hist = binned_data->createHistogram(name, *var, Binning(range / rebin)); - for (int i = 1; i <= toy_hist->GetNbinsX(); ++i) { - toy_hist->SetBinError(i, sqrt(toy_hist->GetBinContent(i))); - if (toy_hist->GetBinContent(i) == 0.00) { - cout << " WARNING: histo " << name << " has 0 enter in bin number " << i << endl; - } - if (toy_hist->GetBinContent(i) < 0.1) { - toy_hist->SetBinContent(i, 0.0); - toy_hist->SetBinError(i, 0.0); - cout << " WARNING: setting value 0.0 to histo " << name << " for bin number " << i << endl; - } - } - RooDataHist *toy_rooHist = new RooDataHist(name, name, RooArgList(*var), toy_hist); - return toy_rooHist; -} - -// a function to create the pdf used for the fit, need the histo model, should be zmm except for zmusta case..... - -RooHistPdf *createHistPdf(const char *name, TH1F *model, RooRealVar *var, int rebin) { - TH1F *model_clone = new TH1F(*model); - model_clone->Sumw2(); - model_clone->Rebin(rebin); - RooDataHist *model_dataHist = new RooDataHist(name, name, RooArgList(*var), model_clone); - RooHistPdf *HistPdf = new RooHistPdf(name, name, *var, *model_dataHist, 0); - delete model_clone; - return HistPdf; -} - -void fit(RooAbsReal &chi2, int numberOfBins, const char *outFileNameWithFitResult) { - TFile *out_root_file = new TFile(outFileNameWithFitResult, "recreate"); - RooMinuit m_tot(chi2); - m_tot.migrad(); - // m_tot.hesse(); - RooFitResult *r_chi2 = m_tot.save(); - cout << "==> Chi2 Fit results " << endl; - r_chi2->Print("v"); - // r_chi2->floatParsFinal().Print("v") ; - int NumberOfFreeParameters = r_chi2->floatParsFinal().getSize(); - for (int i = 0; i < NumberOfFreeParameters; ++i) { - r_chi2->floatParsFinal()[i].Print(); - } - cout << "chi2:" << chi2.getVal() << ", numberOfBins: " << numberOfBins - << ", NumberOfFreeParameters: " << NumberOfFreeParameters << endl; - cout << "Normalized Chi2 = " << chi2.getVal() / (numberOfBins - NumberOfFreeParameters) << endl; - r_chi2->Write(); - delete out_root_file; -} - -int main(int argc, char **argv) { - gROOT->SetStyle("Plain"); - double fMin, fMax, lumi, scaleLumi = 1; - int seed; - Bool_t toy = kFALSE; - Bool_t fitFromData = kFALSE; - string infile, outfile; - int rebinZMuMu = 1, rebinZMuSa = 1, rebinZMuTk = 1, rebinZMuMuNoIso = 1, rebinZMuMuHlt = 1; - po::options_description desc("Allowed options"); - desc.add_options()("help,h", "produce help message")("toy,t", "toy enabled")( - "seed,s", po::value(&seed)->default_value(34567), "seed value for toy")( - "luminosity,l", po::value(&lumi)->default_value(45.), "luminosity value for toy ")( - "fit,f", "fit from data enabled")( - "rebin,r", po::value >(), "rebin value: r_mutrk r mumuNotIso r_musa r _muhlt")( - "input-file,i", po::value(&infile), "input file")( - "output-file,o", po::value(&outfile), "output file with fit results")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range"); - po::positional_options_description p; - p.add("rebin", -1); - po::variables_map vm; - po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm); - po::notify(vm); - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("toy")) { - cout << "toy enabled with seed " << seed << "\n"; - toy = kTRUE; - //RooRandom::randomGenerator()->SetSeed(seed) ; - // lumi should be intented as pb-1 and passed from outside - scaleLumi = lumi / 45.0; // 45 is the current lumi correspondent to the histogram..... - } - if (vm.count("fit")) { - cout << "fit from data enabled \n"; - fitFromData = kTRUE; - } - - if (!vm.count("toy") && !vm.count("fit")) { - cerr << "Choose one beetween fitting form data or with a toy MC \n"; - return 1; - } - - if (toy == fitFromData) { - cerr << "Choose if fit from data or with a toy MC \n"; - return 1; - } - - if (vm.count("rebin")) { - vector v_rebin = vm["rebin"].as >(); - if (v_rebin.size() != 4) { - cerr << " please provide 4 numbers in the given order:r_mutrk r mumuNotIso r_musa r _muhlt \n"; - return 1; - } - rebinZMuTk = v_rebin[0]; - rebinZMuMuNoIso = v_rebin[1]; - rebinZMuSa = v_rebin[2]; - rebinZMuMuHlt = v_rebin[3]; - } - - RooRealVar *mass = new RooRealVar("mass", "mass (GeV/c^{2})", fMin, fMax); - TFile *root_file = new TFile(infile.c_str(), "read"); - int range = (int)(fMax - fMin); - int numberOfBins = range / rebinZMuSa + range / rebinZMuTk + range / rebinZMuMuNoIso + 2 * range / rebinZMuMuHlt; - // zmm histograms used for pdf - TH1F *zmm = getHisto(root_file, "goodZToMuMuPlots/zMass", fMin, fMax, rebinZMuMu); - // zmsta used for pdf - TH1F *zmsta = getHisto(root_file, "zmumuSaMassHistogram/zMass", fMin, fMax, 1); // histogramms to fit..... - TH1F *zmmsta = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlots/zMass", fMin, fMax, rebinZMuSa / rebinZMuMu); - TH1F *zmt = getHisto(root_file, "goodZToMuMuOneTrackPlots/zMass", fMin, fMax, rebinZMuTk / rebinZMuMu); - TH1F *zmmNotIso = getHisto(root_file, "nonIsolatedZToMuMuPlots/zMass", fMin, fMax, rebinZMuMuNoIso / rebinZMuMu); - TH1F *zmm1hlt = getHisto(root_file, "goodZToMuMu1HLTPlots/zMass", fMin, fMax, rebinZMuMuHlt / rebinZMuMu); - TH1F *zmm2hlt = getHisto(root_file, "goodZToMuMu2HLTPlots/zMass", fMin, fMax, rebinZMuMuHlt / rebinZMuMu); - - // creating a pdf for Zmt - - RooHistPdf *ZmtPdf = createHistPdf("ZmtPdf", zmm, mass, rebinZMuTk / rebinZMuMu); - // creating a pdf for Zmm not iso - RooHistPdf *ZmmNoIsoPdf = createHistPdf("ZmmNoIsoPdf", zmm, mass, rebinZMuMuNoIso / rebinZMuMu); - // creating a pdf for Zms from zmsta!!! - RooHistPdf *ZmsPdf = createHistPdf("ZmsPdf", zmsta, mass, rebinZMuSa / rebinZMuMu); - // creating a pdf for Zmmhlt - RooHistPdf *ZmmHltPdf = createHistPdf("ZmmHltPdf", zmm, mass, rebinZMuMuHlt / rebinZMuMu); - - // creating the variable with random init values - - RooRealVar Yield("Yield", "Yield", 15000., 345., 3567890.); - RooRealVar nbkg_mutrk("nbkg_mutrk", "background _mutrk fraction", 500, 0., 100000.); - RooRealVar nbkg_mumuNotIso("nbkg_mumuNotIso", "background fraction", 500, 0., 100000.); - RooRealVar nbkg_musa("nbkg_musa", "background fraction", 50, 0., 100000.); - RooRealVar eff_tk("eff_tk", "signal _mutrk fraction", .99, 0.8, 1.0); - RooRealVar eff_sa("eff_sa", "eff musta", 0.99, 0.8, 1.0); - RooRealVar eff_iso("eff_iso", "eff mumuNotIso", .99, 0.8, 1.0); - RooRealVar eff_hlt("eff_hlt", "eff 1hlt", 0.99, 0.8, 1.0); - RooRealVar alpha("alpha", "coefficient alpha", -0.01, -1000, 1000.); - RooRealVar a0("a0", "coefficient 0", 1, -1000., 1000.); - RooRealVar a1("a1", "coefficient 1", -0.001, -1000, 1000.); - RooRealVar a2("a2", "coefficient 2", 0.0, -1000., 1000.); - RooRealVar beta("beta", "coefficient beta", -0.01, -1000, 1000.); - RooRealVar b0("b0", "coefficient 0", 1, -1000., 1000.); - RooRealVar b1("b1", "coefficient 1", -0.001, -1000, 1000.); - RooRealVar b2("b2", "coefficient 2", 0.0, -1000., 1000.); - RooRealVar gamma("gamma", "coefficient gamma", -0.01, -1000, 1000.); - RooRealVar c0("c0", "coefficient 0", 1, -1000., 1000.); - RooRealVar c1("c1", "coefficient 1", -0.001, -1000, 1000.); - // fit parameters setted from datacard - filebuf fb; - fb.open("zMuMuRooFit.txt", ios::in); - istream is(&fb); - char line[1000]; - - Yield.readFromStream(is.getline(line, 1000), kFALSE); - nbkg_mutrk.readFromStream(is.getline(line, 1000), kFALSE); - nbkg_mumuNotIso.readFromStream(is.getline(line, 1000), kFALSE); - nbkg_musa.readFromStream(is.getline(line, 1000), kFALSE); - eff_tk.readFromStream(is.getline(line, 1000), kFALSE); - eff_sa.readFromStream(is.getline(line, 1000), kFALSE); - eff_iso.readFromStream(is.getline(line, 1000), kFALSE); - eff_hlt.readFromStream(is.getline(line, 1000), kFALSE); - alpha.readFromStream(is.getline(line, 1000), kFALSE); - a0.readFromStream(is.getline(line, 1000), kFALSE); - a1.readFromStream(is.getline(line, 1000), kFALSE); - a2.readFromStream(is.getline(line, 1000), kFALSE); - beta.readFromStream(is.getline(line, 1000), kFALSE); - b0.readFromStream(is.getline(line, 1000), kFALSE); - b1.readFromStream(is.getline(line, 1000), kFALSE); - b2.readFromStream(is.getline(line, 1000), kFALSE); - gamma.readFromStream(is.getline(line, 1000), kFALSE); - c0.readFromStream(is.getline(line, 1000), kFALSE); - c1.readFromStream(is.getline(line, 1000), kFALSE); - fb.close(); - - // scaling to lumi if toy is enabled... - if (vm.count("toy")) { - Yield.setVal(scaleLumi * (Yield.getVal())); - nbkg_mutrk.setVal(scaleLumi * (nbkg_mutrk.getVal())); - nbkg_mumuNotIso.setVal(scaleLumi * (nbkg_mumuNotIso.getVal())); - } - - //efficiency term - - //zMuMuEff1HLTTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * effHLT * (_1 - effHLT); - RooFormulaVar zMuMu1HLTEffTerm( - "zMuMu1HLTEffTerm", - "Yield * (2.* (eff_tk)^2 * (eff_sa)^2 * (eff_iso)^2 * eff_hlt *(1.- eff_hlt))", - RooArgList(eff_tk, - eff_sa, - eff_iso, - eff_hlt, - Yield)); //zMuMuEff2HLTTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * (effHLT ^ _2) ; - RooFormulaVar zMuMu2HLTEffTerm("zMuMu2HLTEffTerm", - "Yield * ((eff_tk)^2 * (eff_sa)^2 * (eff_iso)^2 * (eff_hlt)^2)", - RooArgList(eff_tk, eff_sa, eff_iso, eff_hlt, Yield)); - //zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)) * (_1 - ((_1 - effHLT)^_2)); - RooFormulaVar zMuMuNoIsoEffTerm("zMuMuNoIsoEffTerm", - "Yield * ((eff_tk)^2 * (eff_sa)^2 * (1.- (eff_iso)^2) * (1.- ((1.-eff_hlt)^2)))", - RooArgList(eff_tk, eff_sa, eff_iso, eff_hlt, Yield)); - //zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2) * effHLT; - RooFormulaVar zMuTkEffTerm("zMuTkEffTerm", - "Yield * (2. *(eff_tk)^2 * eff_sa * (1.-eff_sa)* (eff_iso)^2 * eff_hlt)", - RooArgList(eff_tk, eff_sa, eff_iso, eff_hlt, Yield)); - //zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - RooFormulaVar zMuSaEffTerm("zMuSaEffTerm", - "Yield * (2. *(eff_sa)^2 * eff_tk * (1.-eff_tk)* (eff_iso)^2 * eff_hlt)", - RooArgList(eff_tk, eff_sa, eff_iso, eff_hlt, Yield)); - - // creating model for the fit - // z mu track - - RooGenericPdf *bkg_mutrk = new RooGenericPdf("bkg_mutrk", - "zmt bkg_model", - "exp(alpha*mass) * ( a0 + a1 * mass + a2 * mass^2 )", - RooArgSet(*mass, alpha, a0, a1, a2)); - // RooFormulaVar fracSigMutrk("fracSigMutrk", "@0 / (@0 + @1)", RooArgList(zMuTkEffTerm, nbkg_mutrk )); - RooAddPdf *model_mutrk = new RooAddPdf( - "model_mutrk", "model_mutrk", RooArgList(*ZmtPdf, *bkg_mutrk), RooArgList(zMuTkEffTerm, nbkg_mutrk)); - // z mu mu not Iso - - // creating background pdf for zmu mu not Iso - RooGenericPdf *bkg_mumuNotIso = new RooGenericPdf("bkg_mumuNotIso", - "zmumuNotIso bkg_model", - "exp(beta * mass) * (b0 + b1 * mass + b2 * mass^2)", - RooArgSet(*mass, beta, b0, b1, b2)); - // RooFormulaVar fracSigMuMuNoIso("fracSigMuMuNoIso", "@0 / (@0 + @1)", RooArgList(zMuMuNoIsoEffTerm, nbkg_mumuNotIso )); - RooAddPdf *model_mumuNotIso = new RooAddPdf("model_mumuNotIso", - "model_mumuNotIso", - RooArgList(*ZmmNoIsoPdf, *bkg_mumuNotIso), - RooArgList(zMuMuNoIsoEffTerm, nbkg_mumuNotIso)); - // z mu sta - - // RooGenericPdf model_musta("model_musta", " ZmsPdf * zMuSaEffTerm ", RooArgSet( *ZmsPdf, zMuSaEffTerm)) ; - RooGenericPdf *bkg_musa = new RooGenericPdf( - "bkg_musa", "zmusa bkg_model", "exp(gamma * mass) * (c0 + c1 * mass )", RooArgSet(*mass, gamma, c0, c1)); - // RooAddPdf * eZmsSig= new RooAddPdf("eZmsSig","eZmsSig",RooArgList(*,*bkg_mumuNotIso), RooArgList(zMuMuNoIsoEffTerm, nbkg_mumuNotIso)); - RooAddPdf *eZmsSig = - new RooAddPdf("eZmsSig", "eZmsSig", RooArgList(*ZmsPdf, *bkg_musa), RooArgList(zMuSaEffTerm, nbkg_musa)); - - //RooExtendPdf * eZmsSig= new RooExtendPdf("eZmsSig","extended signal p.d.f for zms ",*ZmsPdf, zMuSaEffTerm ) ; - - // z mu mu HLT - - // count ZMuMu Yield - double nZMuMu = 0.; - double nZMuMu1HLT = 0.; - double nZMuMu2HLT = 0.; - unsigned int nBins = zmm->GetNbinsX(); - double xMin = zmm->GetXaxis()->GetXmin(); - double xMax = zmm->GetXaxis()->GetXmax(); - double deltaX = (xMax - xMin) / nBins; - for (unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i + .5) * deltaX; - if (x > fMin && x < fMax) { - nZMuMu += zmm->GetBinContent(i + 1); - nZMuMu1HLT += zmm1hlt->GetBinContent(i + 1); - nZMuMu2HLT += zmm2hlt->GetBinContent(i + 1); - } - } - - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu (1HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuMu (2HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - // we set eff_hlt - //eff_hlt.setVal( 1. / (1. + (nZMuMu1HLT/ (2 * nZMuMu2HLT))) ) ; - // creating the pdf for z mu mu 1hlt - - RooExtendPdf *eZmm1hltSig = - new RooExtendPdf("eZmm1hltSig", "extended signal p.d.f for zmm 1hlt", *ZmmHltPdf, zMuMu1HLTEffTerm); - // creating the pdf for z mu mu 2hlt - RooExtendPdf *eZmm2hltSig = - new RooExtendPdf("eZmm2hltSig", "extended signal p.d.f for zmm 2hlt", *ZmmHltPdf, zMuMu2HLTEffTerm); - - // getting the data if fit otherwise constructed the data for model if toy.... - - RooDataHist *zmtMass, *zmmNotIsoMass, *zmsMass, *zmm1hltMass, *zmm2hltMass; - - if (toy) { - zmtMass = genHistFromModelPdf("zmtMass", model_mutrk, mass, scaleLumi, range, rebinZMuTk, seed); - zmmNotIsoMass = - genHistFromModelPdf("zmmNotIsoMass", model_mumuNotIso, mass, scaleLumi, range, rebinZMuMuNoIso, seed); - zmsMass = genHistFromModelPdf("zmsMass", eZmsSig, mass, scaleLumi, range, rebinZMuSa, seed); - zmm1hltMass = genHistFromModelPdf("zmm1hltMass", eZmm1hltSig, mass, scaleLumi, range, rebinZMuMuHlt, seed); - zmm2hltMass = genHistFromModelPdf("zmm2hltMass", eZmm2hltSig, mass, scaleLumi, range, rebinZMuMuHlt, seed); - } else { // if fit from data.... - zmtMass = new RooDataHist("zmtMass", "good z mu track", RooArgList(*mass), zmt); - zmmNotIsoMass = new RooDataHist("ZmmNotIso", "good z mu mu not isolated", RooArgList(*mass), zmmNotIso); - zmsMass = new RooDataHist("zmsMass", "good z mu sta mass", RooArgList(*mass), zmmsta); - zmm1hltMass = new RooDataHist("zmm1hltMass", "good Z mu mu 1hlt", RooArgList(*mass), zmm1hlt); - zmm2hltMass = new RooDataHist("zmm2hltMass", "good Z mu mu 2hlt", RooArgList(*mass), zmm2hlt); - } - - // creting the chi2s - RooChi2Var *chi2_mutrk = - new RooChi2Var("chi2_mutrk", "chi2_mutrk", *model_mutrk, *zmtMass, Extended(kTRUE), DataError(RooAbsData::SumW2)); - RooChi2Var *chi2_mumuNotIso = new RooChi2Var("chi2_mumuNotIso", - "chi2_mumuNotIso", - *model_mumuNotIso, - *zmmNotIsoMass, - Extended(kTRUE), - DataError(RooAbsData::SumW2)); - - RooChi2Var *chi2_musta = - new RooChi2Var("chi2_musta", "chi2_musta", *eZmsSig, *zmsMass, Extended(kTRUE), DataError(RooAbsData::SumW2)); - // uncomment this line if you want to use logLik for mu sta - // RooNLLVar *chi2_musta = new RooNLLVar("chi2_musta","chi2_musta",*eZmsSig, *zmsMass, Extended(kTRUE), DataError(RooAbsData::SumW2) ) ; - RooChi2Var *chi2_mu1hlt = new RooChi2Var( - "chi2_mu1hlt", "chi2_mu1hlt", *eZmm1hltSig, *zmm1hltMass, Extended(kTRUE), DataError(RooAbsData::SumW2)); - RooChi2Var *chi2_mu2hlt = new RooChi2Var( - "chi2_mu2hlt", "chi2_mu2hlt", *eZmm2hltSig, *zmm2hltMass, Extended(kTRUE), DataError(RooAbsData::SumW2)); - - // adding the chi2 - RooAddition totChi2("totChi2", - "chi2_mutrk + chi2_mumuNotIso + chi2_musta + chi2_mu1hlt + chi2_mu2hlt ", - RooArgSet(*chi2_mutrk, *chi2_mumuNotIso, *chi2_musta, *chi2_mu1hlt, *chi2_mu2hlt)); - - // printing out the model integral befor fitting - double N_zMuMu1hlt = eZmm1hltSig->expectedEvents(*mass); - double N_bkgTk = bkg_mutrk->expectedEvents(*mass); - double N_bkgIso = bkg_mumuNotIso->expectedEvents(*mass); - - double N_zMuTk = zMuTkEffTerm.getVal(); - - double e_hlt = eff_hlt.getVal(); - double e_tk = eff_tk.getVal(); - double e_sa = eff_sa.getVal(); - double e_iso = eff_iso.getVal(); - double Y_hlt = N_zMuMu1hlt / ((2. * (e_tk * e_tk) * (e_sa * e_sa) * (e_iso * e_iso) * e_hlt * (1. - e_hlt))); - double Y_mutk = N_zMuTk / ((2. * (e_tk * e_tk) * e_sa * (1. - e_sa) * (e_iso * e_iso) * e_hlt)); - - cout << "Yield prediction from mumu1hlt integral befor fitting: " << Y_hlt << endl; - cout << "Yield prediction from mutk integral befor fitting: " << Y_mutk << endl; - cout << "Bkg for mutk prediction from mutk integral after fitting: " << N_bkgTk << endl; - cout << "Bkg for mumuNotIso prediction from mumuNotIso integral after fitting: " << N_bkgIso << endl; - - fit(totChi2, numberOfBins, outfile.c_str()); - N_zMuMu1hlt = eZmm1hltSig->expectedEvents(*mass); - N_zMuTk = zMuTkEffTerm.getVal(); - double N_zMuMuNoIso = zMuMuNoIsoEffTerm.getVal(); - double N_Tk = model_mutrk->expectedEvents(*mass); - double N_Iso = model_mumuNotIso->expectedEvents(*mass); - e_hlt = eff_hlt.getVal(); - e_tk = eff_tk.getVal(); - e_sa = eff_sa.getVal(); - e_iso = eff_iso.getVal(); - Y_hlt = N_zMuMu1hlt / ((2. * (e_tk * e_tk) * (e_sa * e_sa) * (e_iso * e_iso) * e_hlt * (1. - e_hlt))); - Y_mutk = N_zMuTk / ((2. * (e_tk * e_tk) * e_sa * (1. - e_sa) * (e_iso * e_iso) * e_hlt)); - - cout << "Yield prediction from mumu1hlt integral after fitting: " << Y_hlt << endl; - //cout << "Yield prediction from mutk integral after fitting: " << Y_mutk << endl; - cout << "N + B prediction from mutk integral after fitting: " << N_Tk << endl; - cout << "zMuTkEffTerm " << N_zMuTk << endl; - cout << "N + B prediction from mumuNotIso integral after fitting: " << N_Iso << endl; - cout << "zMuMuNoIsoEffTerm " << N_zMuMuNoIso << endl; - - cout << "chi2_mutrk:" << chi2_mutrk->getVal() << endl; - cout << "chi2_mumuNotIso:" << chi2_mumuNotIso->getVal() << endl; - cout << "chi2_musta:" << chi2_musta->getVal() << endl; - cout << "chi2_mumu1hlt:" << chi2_mu1hlt->getVal() << endl; - cout << "chi2_mumu2hlt:" << chi2_mu2hlt->getVal() << endl; - - //plotting - RooPlot *massFrame_mutrk = mass->frame(); - RooPlot *massFrame_mumuNotIso = mass->frame(); - RooPlot *massFrame_musta = mass->frame(); - RooPlot *massFrame_mumu1hlt = mass->frame(); - RooPlot *massFrame_mumu2hlt = mass->frame(); - - TCanvas *canv1 = new TCanvas("canvas"); - TCanvas *canv2 = new TCanvas("new_canvas"); - canv1->Divide(2, 3); - canv1->cd(1); - canv1->SetLogy(kTRUE); - zmtMass->plotOn(massFrame_mutrk, LineColor(kBlue)); - model_mutrk->plotOn(massFrame_mutrk, LineColor(kRed)); - model_mutrk->plotOn(massFrame_mutrk, Components(*bkg_mutrk), LineColor(kGreen)); - massFrame_mutrk->SetTitle("Z -> #mu track"); - // massFrame_mutrk->GetYaxis()->SetLogScale(); - massFrame_mutrk->Draw(); - gPad->SetLogy(1); - - canv2->cd(); - canv2->SetLogy(kTRUE); - massFrame_mutrk->Draw(); - canv2->SaveAs("LogZMuTk.eps"); - canv2->SetLogy(kFALSE); - canv2->SaveAs("LinZMuTk.eps"); - - canv1->cd(2); - zmmNotIsoMass->plotOn(massFrame_mumuNotIso, LineColor(kBlue)); - model_mumuNotIso->plotOn(massFrame_mumuNotIso, LineColor(kRed)); - model_mumuNotIso->plotOn(massFrame_mumuNotIso, Components(*bkg_mumuNotIso), LineColor(kGreen)); - massFrame_mumuNotIso->SetTitle("Z -> #mu #mu not isolated"); - massFrame_mumuNotIso->Draw(); - gPad->SetLogy(1); - - canv2->cd(); - canv2->Clear(); - canv2->SetLogy(kTRUE); - massFrame_mumuNotIso->Draw(); - canv2->SaveAs("LogZMuMuNotIso.eps"); - canv2->SetLogy(kFALSE); - canv2->SaveAs("LinZMuMuNotIso.eps"); - - canv1->cd(3); - zmsMass->plotOn(massFrame_musta, LineColor(kBlue)); - eZmsSig->plotOn(massFrame_musta, Components(*bkg_musa), LineColor(kGreen)); - eZmsSig->plotOn(massFrame_musta, LineColor(kRed)); - massFrame_musta->SetTitle("Z -> #mu sta"); - massFrame_musta->Draw(); - - canv2->cd(); - canv2->Clear(); - canv2->SetLogy(kTRUE); - massFrame_musta->Draw(); - canv2->SaveAs("LogZMuSa.eps"); - canv2->SetLogy(kFALSE); - canv2->SaveAs("LinZMuSa.eps"); - - canv1->cd(4); - zmm1hltMass->plotOn(massFrame_mumu1hlt, LineColor(kBlue)); - eZmm1hltSig->plotOn(massFrame_mumu1hlt, LineColor(kRed)); - massFrame_mumu1hlt->SetTitle("Z -> #mu #mu 1hlt"); - massFrame_mumu1hlt->Draw(); - canv2->cd(); - canv2->Clear(); - canv2->SetLogy(kTRUE); - massFrame_mumu1hlt->Draw(); - canv2->SaveAs("LogZMuMu1Hlt.eps"); - canv2->SetLogy(kFALSE); - canv2->SaveAs("LinZMuMu1Hlt.eps"); - - canv1->cd(5); - zmm2hltMass->plotOn(massFrame_mumu2hlt, LineColor(kBlue)); - eZmm2hltSig->plotOn(massFrame_mumu2hlt, LineColor(kRed)); - massFrame_mumu2hlt->SetTitle("Z -> #mu #mu 2hlt"); - massFrame_mumu2hlt->Draw(); - - canv1->SaveAs("mass.eps"); - - canv2->cd(); - canv2->Clear(); - canv2->SetLogy(kTRUE); - massFrame_mumu2hlt->Draw(); - canv2->SaveAs("LogZMuMu2Hlt.eps"); - canv2->SetLogy(kFALSE); - canv2->SaveAs("LinZMuMu2Hlt.eps"); - - /* how to read the fit result in root - TH1D h_Yield("h_Yield", "h_Yield", 100, 10000, 30000) - for (int i =0: i < 100; i++){ - RooFitResult* r = gDirectory->Get(Form("toy_totChi2;%d)",i) - //r->floatParsFinal().Print("s"); - // without s return a list, can we get the number? - RooFitResult* r = gDirectory->Get("toy_totChi2;1") - // chi2 - r->minNll(); - //distamce form chi2..... - //r->edm(); - // yield - r->floatParsFinal()[0]->Print(); - //RooAbsReal * l = r->floatParsFinal()->first() - RooAbsReal * y = r->floatParsFinal()->find("Yield"); - h_Yield->Fill(y->getVal()); - } - - */ - - delete root_file; - //delete out_root_file; - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.txt b/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.txt deleted file mode 100644 index e140246ba0c0d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zMuMuRooFit.txt +++ /dev/null @@ -1,22 +0,0 @@ -#"InitValue L (lo - hi) B(nBins)" for variable param. "Value C" for constant param. ORDER: Yield - nbkg_mutrk - nbkg_mumuNotIso - nbk_musa - eff_tk - eff_sa - eff_iso - eff_hlt - alpha - a0 - a1 - a2 - beta - b0 - b1 - b2 - gamma - c0 - c1## Default Yield value for signal and background at 45 pb-1, rescaled for tiy at the setted luminosity -4000 L (0 - 10000000) B(1000) -1000 L (0 - 10000) B (100) -1000 L (0 - 10000) B (100) -20 L (0 - 100) B (100) -0.999 L (0.001 - 1.0) B(100) -0.99 L (0.001 - 1.0) B(100) -0.99 L (0.001 - 1.0) B(100) -0.9 L (0.001 - 1.0) B(100) -0.0 L (-1. - 1.) B(200) -1 C -10 L (-100. - 100) B(200) -0 C -0.0 L (-1. - 1.) B(200) -1 C -10 L (-100. - 100) B(200) -0 C --0.01 L (-1. - 1.) B(200) -1 C -0 L (-100. - 100) B(200) -###### -PLEASE DO NOT ADD NEW LINES AND RESPECT THE ORDER diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zToMuMuMassMCFit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zToMuMuMassMCFit.cpp deleted file mode 100644 index 9fea7e2d1dd17..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zToMuMuMassMCFit.cpp +++ /dev/null @@ -1,438 +0,0 @@ -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/BreitWigner.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Identity.h" -#include "PhysicsTools/Utilities/interface/Product.h" -#include "PhysicsTools/Utilities/interface/Sum.h" -#include "PhysicsTools/Utilities/interface/Number.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/ZLineShape.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootFunctionAdapter.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "TFile.h" -#include "TH1.h" -#include "TF1.h" -#include "TMath.h" -#include "TCanvas.h" -#include "TROOT.h" - -#include -#include -#include -#include -#include -#include -using namespace boost; -namespace po = boost::program_options; -using namespace std; - -// A helper function to simplify the main part. -template -ostream &operator<<(ostream &os, const vector &v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -int main(int ac, char *av[]) { - try { - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help", "produce help message")("include-path,I", po::value >(), "include path")( - "input-file", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(80), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "breitwigner", "fit to a breit-wigner")("gauss", "fit to a gaussian")( - "bwinter", "fit to a breit-wigner plus Z/photon interference term")( - "bwintgam", "fit to a breit-wigner plus Z/photon interference term and photon propagator")( - "expbwintgam", - "fit to the product of an exponential with a breit-wigner plus Z/photon interference term and photon " - "propagator")("weipolexpbwintgam", - "fit to the product of a weighted polynomial and an exponential with a breit-wigner plus " - "Z/photon interference term and photon propagator")( - "output-file,O", po::value(&ext)->default_value(".ps"), "output file format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - if (vm.count("include-path")) { - cout << "Include paths are: " << vm["include-path"].as >() << "\n"; - } - - vector v_file; - vector v_ZMCMassHistos; - vector v_eps; - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile *root_file = new TFile(it->c_str(), "read"); - TDirectory *Histos = (TDirectory *)root_file->GetDirectory("ZHisto"); - TDirectory *MCHistos = (TDirectory *)Histos->GetDirectory("ZMCHisto"); - TH1D *zMass = (TH1D *)MCHistos->Get("MuMuMCMass"); //for Z status 3 use "ZMCMass" - zMass->Rebin(4); //remember... - zMass->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - v_ZMCMassHistos.push_back(zMass); - gROOT->SetStyle("Plain"); - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - string eps_string = f_string + ext; - v_eps.push_back(eps_string); - cout << ">>> histogram loaded\n"; - } - cout << v_file.size() << ", " << v_ZMCMassHistos.size() << ", " << v_eps.size() << endl; - cout << ">>> Input files loaded\n"; - } - //Values for Z mass and width - funct::Parameter mass("Mass", 91.092); //91.1876 - funct::Parameter gamma("Gamma", 2.980); //2.4952 - //funct::Parameters for Z Line Shape - funct::Parameter f_gamma("Photon factor", 0.85); //0 - funct::Parameter f_int("Interference factor", -0.00142); //0.001 - funct::Parameter yield("Yield", 482000); //1000 - //funct::Parameters for fits with one gaussian - funct::Parameter mean("Mean", 91.1876); - funct::Parameter sigma("Sigma", 10.); - //funct::Parameters for fit with an exponential - funct::Parameter lambda("Lambda", -0.0054); //-0.001 - //funct::Parameters for fit with a weighted polynomial - funct::Parameter alpha("Alpha", 0.1); - - if (vm.count("breitwigner")) { - cout << "Fitting histograms in input file to a Breit-Wigner\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - cout << ">>> load histogram\n"; - TH1D *zMass = v_ZMCMassHistos[i]; - cout << ">>> histogram loaded\n"; - funct::BreitWigner bw(mass, gamma); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * bw; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.minimize(); - minuit.printFitResults(); - root::plot("ZMuMuMassMCFitBW.eps", *zMass, f, fMin, fMax, yield, mass, gamma); - } - } - - if (vm.count("gauss")) { - cout << "Fitting histograms in input files to a Gaussian\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mean << endl; - cout << sigma << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::Gaussian gaus(mean, sigma); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * gaus; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mean, 0.001, 80, 100); - minuit.addParameter(sigma, 0.1, -5., 5.); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, yield, mean, sigma); - fun.SetParNames(yield.name().c_str(), mean.name().c_str(), sigma.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMuMuMassMCFitG_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMuMuMassMCFitG_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwinter")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 100000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.fixParameter(f_gamma.name()); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMuMuMassMCFitBwIn_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMuMuMassMCFitBwIn_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("bwintgam")) { - cout << "Fitting histograms in input files to the Breit-Wigner plus Z/photon interference term and photon " - "propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Constant c(yield); - typedef funct::Product::type FitFunction; - FitFunction f = c * zls; - cout << "set functions" << endl; - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 1000000); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetParNames(yield.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMuMuMassMCFitBwInGa_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMuMuMassMCFitBwInGa_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("expbwintgam")) { - cout << "Fitting histograms in input files to the product of an exponential with the Breit-Wigner plus Z/photon " - "interference term and photon propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << lambda << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Exponential expo(lambda); - funct::Constant c(yield); - typedef funct::Product::type ExpZLS; - ExpZLS expz = expo * zls; - typedef funct::Product::type FitFunction; - FitFunction f = c * expz; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(lambda, 0.1, -1., 0); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(lambda.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetNpx(100000); - fun.SetParNames(yield.name().c_str(), - lambda.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMuMuMassMCFitExpBwInGa_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMuMuMassMCFitExpBwInGa_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - if (vm.count("weipolexpbwintgam")) { - cout << "Fitting histograms in input files to the product of a weighted polynomial and an exponential with the " - "Breit-Wigner plus Z/photon interference term and photon propagator\n"; - cout << ">>> set pars: " << endl; - cout << yield << endl; - cout << lambda << endl; - cout << mass << endl; - cout << gamma << endl; - cout << f_gamma << endl; - cout << f_int << endl; - cout << mean << endl; - cout << sigma << endl; - cout << alpha << endl; - for (unsigned int i = 0; i < v_ZMCMassHistos.size(); ++i) { - TH1D *zMass = v_ZMCMassHistos[i]; - funct::Constant a(alpha); - funct::Identity id; - funct::Gaussian gaus(mean, sigma); - funct::Number _1(1.); - funct::ZLineShape zls(mass, gamma, f_gamma, f_int); - funct::Exponential expo(lambda); - funct::Constant c(yield); - typedef funct::Product::type Pol1; - Pol1 pol = a * id; - typedef funct::Product::type PolGau; - PolGau poga = pol * gaus; - typedef funct::Sum::type SumPG; - SumPG spg = _1 + poga; - typedef funct::Product::type ExpZLS; - ExpZLS expz = expo * zls; - typedef funct::Product::type SumPGExpZ; - SumPGExpZ spgexpz = spg * expz; - typedef funct::Product::type FitFunction; - FitFunction f = c * spgexpz; - cout << "set functions" << endl; - typedef fit::HistoChiSquare ChiSquared; - ChiSquared chi2(f, zMass, fMin, fMax); - int fullBins = chi2.numberOfBins(); - cout << "N. deg. of freedom: " << fullBins << endl; - fit::RootMinuit minuit(chi2, true); - minuit.addParameter(yield, 10, 100, 10000000); - minuit.addParameter(alpha, 0.1, -100, 100); - minuit.addParameter(mean, 10, 70, 110); - minuit.fixParameter(mean.name()); - minuit.addParameter(sigma, 0.1, -100, 100); - minuit.addParameter(lambda, 0.1, -100, 100); - minuit.addParameter(mass, .1, 70., 110); - minuit.addParameter(gamma, 1, 1, 10); - minuit.addParameter(f_gamma, 0.1, -100, 1000); - minuit.addParameter(f_int, .0001, -1000000, 1000000); - minuit.minimize(); - minuit.printFitResults(); - vector > pars; - pars.push_back(yield.ptr()); - pars.push_back(alpha.ptr()); - pars.push_back(mean.ptr()); - pars.push_back(sigma.ptr()); - pars.push_back(lambda.ptr()); - pars.push_back(mass.ptr()); - pars.push_back(gamma.ptr()); - pars.push_back(f_gamma.ptr()); - pars.push_back(f_int.ptr()); - TF1 fun = root::tf1("fun", f, fMin, fMax, pars); - fun.SetNpx(100000); - fun.SetParNames(yield.name().c_str(), - alpha.name().c_str(), - mean.name().c_str(), - sigma.name().c_str(), - lambda.name().c_str(), - mass.name().c_str(), - gamma.name().c_str(), - f_gamma.name().c_str(), - f_int.name().c_str()); - fun.SetLineColor(kRed); - fun.SetLineWidth(1); - fun.SetLineStyle(kDashed); - TCanvas *canvas = new TCanvas("canvas"); - zMass->Draw("e"); - fun.Draw("same"); - string epsFilename = "ZMuMuMassMCFitWeiPolExpBwInGa_" + v_eps[i]; - canvas->SaveAs(epsFilename.c_str()); - canvas->SetLogy(); - string epsLogFilename = "ZMuMuMassMCFitWeiPolExpBwInGa_Log_" + v_eps[i]; - canvas->SaveAs(epsLogFilename.c_str()); - } - } - - cout << "It works!\n"; - } catch (std::exception &e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/bin/zUMLChi2Fit.cpp b/ElectroWeakAnalysis/ZMuMu/bin/zUMLChi2Fit.cpp deleted file mode 100644 index 781d062b551d5..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/bin/zUMLChi2Fit.cpp +++ /dev/null @@ -1,464 +0,0 @@ -#include "FWCore/Utilities/interface/EDMException.h" -#include "PhysicsTools/Utilities/interface/Parameter.h" -#include "PhysicsTools/Utilities/interface/Gaussian.h" -#include "PhysicsTools/Utilities/interface/Numerical.h" -#include "PhysicsTools/Utilities/interface/Exponential.h" -#include "PhysicsTools/Utilities/interface/Polynomial.h" -#include "PhysicsTools/Utilities/interface/Constant.h" -#include "PhysicsTools/Utilities/interface/Operations.h" -#include "PhysicsTools/Utilities/interface/MultiHistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/HistoChiSquare.h" -#include "PhysicsTools/Utilities/interface/RootMinuit.h" -#include "PhysicsTools/Utilities/interface/RootMinuitCommands.h" -#include "PhysicsTools/Utilities/interface/FunctClone.h" -#include "PhysicsTools/Utilities/interface/rootPlot.h" -#include "PhysicsTools/Utilities/interface/Expression.h" -#include "PhysicsTools/Utilities/interface/HistoPdf.h" -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "DataFormats/FWLite/interface/Event.h" -#include "DataFormats/FWLite/interface/Handle.h" -#include "PhysicsTools/Utilities/interface/Likelihood.h" -#include "PhysicsTools/Utilities/interface/CombinedChiSquaredLikelihood.h" -#include "TROOT.h" -#include "TSystem.h" -#include "TH1.h" -#include "TFile.h" -#include -using namespace boost; -namespace po = boost::program_options; - -#include -#include -#include -#include -#include -#include -using namespace std; - -// A helper function to simplify the main part. -template -ostream& operator<<(ostream& os, const vector& v) { - copy(v.begin(), v.end(), ostream_iterator(cout, " ")); - return os; -} - -// A function that get histogram and sets contents to 0 -// if entries are too small -TH1* getHisto(TFile* file, const char* name, unsigned int rebin) { - TObject* h = file->Get(name); - if (h == nullptr) - throw edm::Exception(edm::errors::Configuration) << "Can't find object " << name << "\n"; - TH1* histo = dynamic_cast(h); - if (histo == nullptr) - throw edm::Exception(edm::errors::Configuration) - << "Object " << name << " is of type " << h->ClassName() << ", not TH1\n"; - histo->Rebin(rebin); - for (int i = 1; i <= histo->GetNbinsX(); ++i) { - if (histo->GetBinContent(i) < 0.1) { - histo->SetBinContent(i, 0.0); - histo->SetBinError(i, 0.0); - } - } - return histo; -} - -struct sig_tag; -struct bkg_tag; - -int main(int ac, char* av[]) { - typedef std::vector Sample; - - gROOT->SetStyle("Plain"); - - try { - typedef funct::FunctExpression Expr; - typedef fit::HistoChiSquare ExprChi2; - typedef fit::MultiHistoChiSquare ChiSquared; - typedef fit::Likelihood Likelihood; - double fMin, fMax; - string ext; - po::options_description desc("Allowed options"); - desc.add_options()("help,h", "produce help message")("input-file,i", po::value >(), "input file")( - "min,m", po::value(&fMin)->default_value(60), "minimum value for fit range")( - "max,M", po::value(&fMax)->default_value(120), "maximum value for fit range")( - "plot-format,p", po::value(&ext)->default_value("ps"), "output plot format"); - - po::positional_options_description p; - p.add("input-file", -1); - - po::variables_map vm; - po::store(po::command_line_parser(ac, av).options(desc).positional(p).run(), vm); - po::notify(vm); - - if (vm.count("help")) { - cout << "Usage: options_description [options]\n"; - cout << desc; - return 0; - } - - fit::RootMinuitCommands > commands("zUMLChi2Fit.txt"); - - const unsigned int rebinMuMuNoIso = 2, rebinMuMu = 1, rebinMuMu1HLT = 1, rebinMuMu2HLT = 1, rebinMuTk = 2, - rebinMuSa = 1; - // assume that the bin size is 1 GeV!!! - funct::Constant rebinMuMuNoIsoConst(rebinMuMuNoIso), rebinMuMuConst(rebinMuMu), rebinMuMu1HLTConst(rebinMuMu1HLT), - rebinMuMu2HLTConst(rebinMuMu2HLT), rebinMuTkConst(rebinMuTk), rebinMuSaConst(rebinMuSa); - - FWLiteEnabler::enable(); - TFile file("zMuSa-UML.root"); - fwlite::Event ev(&file); - - Sample masses; - for (ev.toBegin(); !ev.atEnd(); ++ev) { - fwlite::Handle > objs; - objs.getByLabel(ev, "goodZToMuMuOneStandAloneMuonNtuple", "mass"); - std::cout << " size " << objs->size() << std::endl; - for (unsigned int i = 0; i < objs->size(); ++i) { - double mass = (*objs)[i]; - std::cout << " mass = " << mass << std::endl; - if (fMin < mass && mass < fMax) - masses.push_back(mass); - } - } - - if (vm.count("input-file")) { - cout << "Input files are: " << vm["input-file"].as >() << "\n"; - vector v_file = vm["input-file"].as >(); - for (vector::const_iterator it = v_file.begin(); it != v_file.end(); ++it) { - TFile* root_file = new TFile(it->c_str(), "read"); - TH1* histoZMuMuNoIso = getHisto(root_file, "nonIsolatedZToMuMuPlots/zMass", rebinMuMuNoIso); - TH1* histoZMuMu = getHisto(root_file, "goodZToMuMuPlots/zMass", rebinMuMu); - TH1* histoZMuMu1HLT = getHisto(root_file, "goodZToMuMu1HLTPlots/zMass", rebinMuMu1HLT); - TH1* histoZMuMu2HLT = getHisto(root_file, "goodZToMuMu2HLTPlots/zMass", rebinMuMu2HLT); - TH1* histoZMuTk = getHisto(root_file, "goodZToMuMuOneTrackPlots/zMass", rebinMuTk); - TH1* histoZMuSa = getHisto(root_file, "goodZToMuMuOneStandAloneMuonPlots/zMass", rebinMuSa); - TH1* histoZMuSaFromMuMu = getHisto(root_file, "zmumuSaMassHistogram/zMass", rebinMuSa); - - cout << ">>> histogram loaded\n"; - string f_string = *it; - replace(f_string.begin(), f_string.end(), '.', '_'); - replace(f_string.begin(), f_string.end(), '/', '_'); - string plot_string = f_string + "." + ext; - cout << ">>> Input files loaded\n"; - - const char* kYieldZMuMu = "YieldZMuMu"; - const char* kEfficiencyTk = "EfficiencyTk"; - const char* kEfficiencySa = "EfficiencySa"; - const char* kEfficiencyIso = "EfficiencyIso"; - const char* kEfficiencyHLT = "EfficiencyHLT"; - const char* kYieldBkgZMuTk = "YieldBkgZMuTk"; - const char* kYieldBkgZMuSa = "YieldBkgZMuSa"; - const char* kYieldBkgZMuMuNotIso = "YieldBkgZMuMuNotIso"; - const char* kAlpha = "Alpha"; - // const char * kBeta = "Beta"; - const char* kLambda = "Lambda"; - const char* kA0 = "A0"; - const char* kA1 = "A1"; - const char* kA2 = "A2"; - const char* kB0 = "B0"; - const char* kB1 = "B1"; - const char* kB2 = "B2"; - - funct::Parameter yieldZMuMu(kYieldZMuMu, commands.par(kYieldZMuMu)); - funct::Parameter effTk(kEfficiencyTk, commands.par(kEfficiencyTk)); - funct::Parameter effSa(kEfficiencySa, commands.par(kEfficiencySa)); - funct::Parameter effIso(kEfficiencyIso, commands.par(kEfficiencyIso)); - funct::Parameter effHLT(kEfficiencyHLT, commands.par(kEfficiencyHLT)); - funct::Parameter yieldBkgZMuTk(kYieldBkgZMuTk, commands.par(kYieldBkgZMuTk)); - funct::Parameter yieldBkgZMuSa(kYieldBkgZMuSa, commands.par(kYieldBkgZMuSa)); - funct::Parameter yieldBkgZMuMuNotIso(kYieldBkgZMuMuNotIso, commands.par(kYieldBkgZMuMuNotIso)); - funct::Parameter alpha(kAlpha, commands.par(kAlpha)); - // funct::Parameter beta(kBeta, commands.par(kBeta)); - funct::Parameter lambda(kLambda, commands.par(kLambda)); - funct::Parameter a0(kA0, commands.par(kA0)); - funct::Parameter a1(kA1, commands.par(kA1)); - funct::Parameter a2(kA2, commands.par(kA2)); - funct::Parameter b0(kB0, commands.par(kB0)); - funct::Parameter b1(kB1, commands.par(kB1)); - funct::Parameter b2(kB2, commands.par(kB2)); - funct::Constant cFMin(fMin), cFMax(fMax); - - // count ZMuMu Yield - double nZMuMu = 0, nZMuMu1HLT = 0, nZMuMu2HLT = 0; - { - unsigned int nBins = histoZMuMu->GetNbinsX(); - double xMin = histoZMuMu->GetXaxis()->GetXmin(); - double xMax = histoZMuMu->GetXaxis()->GetXmax(); - double deltaX = (xMax - xMin) / nBins; - for (unsigned int i = 0; i < nBins; ++i) { - double x = xMin + (i + .5) * deltaX; - if (x > fMin && x < fMax) { - nZMuMu += histoZMuMu->GetBinContent(i + 1); - nZMuMu1HLT += histoZMuMu1HLT->GetBinContent(i + 1); - nZMuMu2HLT += histoZMuMu2HLT->GetBinContent(i + 1); - } - } - } - // aggiungi 1HLT 2HLT - cout << ">>> count of ZMuMu yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu << endl; - cout << ">>> count of ZMuMu (1HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu1HLT << endl; - cout << ">>> count of ZMuMu (2HLT) yield in the range [" << fMin << ", " << fMax << "]: " << nZMuMu2HLT << endl; - funct::RootHistoPdf zPdfMuMuNonIso(*histoZMuMu, fMin, fMax); //imposto le pdf a quella di ZMuMu - funct::RootHistoPdf zPdfMuTk = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu1HLT = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuMu2HLT = zPdfMuMuNonIso; - funct::RootHistoPdf zPdfMuSa(*histoZMuSaFromMuMu, fMin, fMax); - zPdfMuMuNonIso.rebin(rebinMuMuNoIso / rebinMuMu); - zPdfMuTk.rebin(rebinMuTk / rebinMuMu); - zPdfMuMu1HLT.rebin(rebinMuMu1HLT / rebinMuMu); - zPdfMuMu2HLT.rebin(rebinMuMu2HLT / rebinMuMu); - - funct::Numerical<2> _2; - funct::Numerical<1> _1; - - //Efficiency term - Expr zMuMuEff1HLTTerm = _2 * (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * effHLT * (_1 - effHLT); - Expr zMuMuEff2HLTTerm = (effTk ^ _2) * (effSa ^ _2) * (effIso ^ _2) * (effHLT ^ _2); - Expr zMuMuNoIsoEffTerm = (effTk ^ _2) * (effSa ^ _2) * (_1 - (effIso ^ _2)) * effHLT; - Expr zMuTkEffTerm = _2 * (effTk ^ _2) * effSa * (_1 - effSa) * (effIso ^ _2) * (_1 - ((_1 - effHLT) ^ _2)); - Expr zMuSaEffTerm = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - - Expr zMuMu1HLT = rebinMuMu1HLTConst * zMuMuEff1HLTTerm * yieldZMuMu; - Expr zMuMu2HLT = rebinMuMu2HLTConst * zMuMuEff2HLTTerm * yieldZMuMu; - - Expr zMuTkBkg = yieldBkgZMuTk * funct::Exponential(lambda) * funct::Polynomial<2>(a0, a1, a2); - Expr zMuTkBkgScaled = rebinMuTkConst * zMuTkBkg; - Expr zMuTk = rebinMuTkConst * (zMuTkEffTerm * yieldZMuMu * zPdfMuTk + zMuTkBkg); - - Expr zMuMuNoIsoBkg = yieldBkgZMuMuNotIso * funct::Exponential(alpha) * funct::Polynomial<2>(b0, b1, b2); - Expr zMuMuNoIsoBkgScaled = rebinMuMuNoIsoConst * zMuMuNoIsoBkg; - Expr zMuMuNoIso = rebinMuMuNoIsoConst * (zMuMuNoIsoEffTerm * yieldZMuMu * zPdfMuMuNonIso + zMuMuNoIsoBkg); - - // Expr zMuSa = rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * funct::Gaussian(meanZMuSa, sigmaZMuSa) - // + (yieldBkgZMuSa * funct::Exponential(beta))); - Expr zMuSa = - rebinMuSaConst * (zMuSaEffTerm * yieldZMuMu * zPdfMuSa + (yieldBkgZMuSa /** funct::Exponential(beta) */)); - - TH1D histoZCount1HLT("histoZCount1HLT", "", 1, fMin, fMax); - histoZCount1HLT.Fill(100, nZMuMu1HLT); - TH1D histoZCount2HLT("histoZCount2HLT", "", 1, fMin, fMax); - histoZCount2HLT.Fill(100, nZMuMu2HLT); - - Expr zPdfMuSaBkg = _1 / (cFMax - cFMin); - Expr f = yieldZMuMu * zMuSaEffTerm * zPdfMuSa + yieldBkgZMuSa * zPdfMuSaBkg; - funct::Expression zMuSaEffTermExp = _2 * (effSa ^ _2) * effTk * (_1 - effTk) * (effIso ^ _2) * effHLT; - - funct::Expression totYield = yieldZMuMu * zMuSaEffTermExp + yieldBkgZMuSa; - Likelihood like(masses, f, totYield); - ChiSquared chi2(zMuMu1HLT, - &histoZCount1HLT, - zMuMu2HLT, - &histoZCount2HLT, - zMuTk, - histoZMuTk, - // zMuSa, histoZMuSa, - zMuMuNoIso, - histoZMuMuNoIso, - fMin, - fMax); - cout << "N. bins: " << chi2.numberOfBins() << endl; - - fit::CombinedChiSquaredLikelihood combo(chi2, like); - - fit::RootMinuit > minuit(combo, true); - commands.add(minuit, yieldZMuMu); - commands.add(minuit, effTk); - commands.add(minuit, effSa); - commands.add(minuit, effIso); - commands.add(minuit, effHLT); - commands.add(minuit, yieldBkgZMuTk); - commands.add(minuit, yieldBkgZMuSa); - commands.add(minuit, yieldBkgZMuMuNotIso); - commands.add(minuit, lambda); - commands.add(minuit, alpha); - // commands.add(minuit, beta); - commands.add(minuit, a0); - commands.add(minuit, a1); - commands.add(minuit, a2); - commands.add(minuit, b0); - commands.add(minuit, b1); - commands.add(minuit, b2); - commands.run(minuit); - const unsigned int nPar = 16; //WARNIG: this must be updated manually for now - ROOT::Math::SMatrix > err; - minuit.getErrorMatrix(err); - std::cout << "error matrix:" << std::endl; - for (unsigned int i = 0; i < nPar; ++i) { - for (unsigned int j = 0; j < nPar; ++j) { - std::cout << err(i, j) << "\t"; - } - std::cout << std::endl; - } - minuit.printFitResults(); - //Plot - double s; - s = 0; - for (int i = 1; i <= histoZMuMuNoIso->GetNbinsX(); ++i) - s += histoZMuMuNoIso->GetBinContent(i); - histoZMuMuNoIso->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) - s += histoZMuMu->GetBinContent(i); - histoZMuMu->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) - s += histoZMuMu1HLT->GetBinContent(i); - histoZMuMu1HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) - s += histoZMuMu2HLT->GetBinContent(i); - histoZMuMu2HLT->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuTk->GetNbinsX(); ++i) - s += histoZMuTk->GetBinContent(i); - histoZMuTk->SetEntries(s); - s = 0; - for (int i = 1; i <= histoZMuSa->GetNbinsX(); ++i) - s += histoZMuSa->GetBinContent(i); - histoZMuSa->SetEntries(s); - - string ZMuMu1HLTPlot = "ZMuMu1HLTFit_" + plot_string; - root::plot(ZMuMu1HLTPlot.c_str(), - *histoZMuMu1HLT, - zMuMu1HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMu2HLTPlot = "ZMuMu2HLTFit_" + plot_string; - root::plot(ZMuMu2HLTPlot.c_str(), - *histoZMuMu2HLT, - zMuMu2HLT, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuMuNoIsoPlot = "ZMuMuNoIsoFit_" + plot_string; - root::plot(ZMuMuNoIsoPlot.c_str(), - *histoZMuMuNoIso, - zMuMuNoIso, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - kRed, - 2, - kDashed, - 100, - "Z -> #mu #mu Not Iso mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - - string ZMuTkPlot = "ZMuTkFit_X_" + plot_string; - root::plot(ZMuTkPlot.c_str(), - *histoZMuTk, - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2, - kRed, - 2, - kDashed, - 100, - "Z -> #mu + (unmatched) track mass", - "#mu #mu invariant mass (GeV/c^{2})", - "Events"); - ZMuTkPlot = "ZMuTkFit_" + plot_string; - TF1 funZMuTk = root::tf1_t("ZMuTkFunction", - zMuTk, - fMin, - fMax, - effTk, - effSa, - effIso, - effHLT, - yieldZMuMu, - yieldBkgZMuTk, - lambda, - a0, - a1, - a2); - funZMuTk.SetLineColor(kRed); - funZMuTk.SetLineWidth(2); - funZMuTk.SetLineStyle(kDashed); - funZMuTk.SetNpx(10000); - TF1 funZMuTkBkg = - root::tf1_t("ZMuTkBack", zMuTkBkgScaled, fMin, fMax, yieldBkgZMuTk, lambda, a0, a1, a2); - funZMuTkBkg.SetLineColor(kGreen); - funZMuTkBkg.SetLineWidth(2); - funZMuTkBkg.SetLineStyle(kDashed); - funZMuTkBkg.SetNpx(10000); - histoZMuTk->SetTitle("Z -> #mu + (unmatched) track mass"); - histoZMuTk->SetXTitle("#mu + (unmatched) track invariant mass (GeV/c^{2})"); - histoZMuTk->SetYTitle("Events"); - TCanvas* canvas = new TCanvas("canvas"); - histoZMuTk->Draw("e"); - funZMuTkBkg.Draw("same"); - funZMuTk.Draw("same"); - canvas->SaveAs(ZMuTkPlot.c_str()); - canvas->SetLogy(); - string logZMuTkPlot = "log_" + ZMuTkPlot; - canvas->SaveAs(logZMuTkPlot.c_str()); - string ZMuSaPlot = "ZMuSaFit_" + plot_string; - root::plot(ZMuSaPlot.c_str(), - *histoZMuSa, - zMuSa, - fMin, - fMax, - effSa, - effTk, - effIso, - yieldZMuMu, - yieldBkgZMuSa, - kRed, - 2, - kDashed, - 10000, - "Z -> #mu + (unmatched) standalone mass", - "#mu + (unmatched) standalone invariant mass (GeV/c^{2})", - "Events"); - } - } - } catch (std::exception& e) { - cerr << "error: " << e.what() << "\n"; - return 1; - } catch (...) { - cerr << "Exception of unknown type!\n"; - } - - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/BjetAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/BjetAnalyzer.cc deleted file mode 100644 index a72b7e4cc53bd..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/BjetAnalyzer.cc +++ /dev/null @@ -1,94 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/BTauReco/interface/JetTag.h" -#include -#include "TH1.h" - -class BjetAnalysis : public edm::EDAnalyzer { -public: - BjetAnalysis(const edm::ParameterSet& cfg); - void analyze(const edm::Event&, const edm::EventSetup&) override; - // virtual void endJob(); -private: - edm::EDGetTokenT bTagToken_; - edm::EDGetTokenT bTagToken2_; - edm::EDGetTokenT bTagToken3_; - std::vector matched_, unMatched_; - double ptMin_, massMin_, massMax_, etaMin_, etaMax_, trkIso_, chi2Cut_; - int nHitCut_; - TH1D *h_GlbMuNofHitsGlbMu_, *h_GlbMuChi2_, *h_TrkMuNofHitsGlbMu_, *h_GlbMuDxy_; -}; - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -using namespace std; -using namespace reco; -using namespace edm; -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -BjetAnalysis::BjetAnalysis(const edm::ParameterSet& cfg) - : bTagToken_(consumes(edm::InputTag("trackCountingHighEffBJetTags"))), - bTagToken2_(consumes(edm::InputTag("jetProbabilityBJetTags"))), - bTagToken3_(consumes(edm::InputTag("jetBProbabilityBJetTags"))), - ptMin_(cfg.getUntrackedParameter("ptMin")), - massMin_(cfg.getUntrackedParameter("massMin")), - massMax_(cfg.getUntrackedParameter("massMax")), - etaMin_(cfg.getUntrackedParameter("etaMin")), - etaMax_(cfg.getUntrackedParameter("etaMax")), - trkIso_(cfg.getUntrackedParameter("trkIso")), - chi2Cut_(cfg.getUntrackedParameter("chi2Cut")), - nHitCut_(cfg.getUntrackedParameter("nHitCut")) { - Service fs; - TFileDirectory trackEffDir = fs->mkdir("QualityOfGlbMu"); - h_GlbMuNofHitsGlbMu_ = trackEffDir.make("# of Hits of GlobalMuon", "# of Hits of GlobalMuon", 100, 0, 100); - h_TrkMuNofHitsGlbMu_ = trackEffDir.make("# of Hits of TrackerMuon", "# of Hits of TrackerMuon", 100, 0, 100); - h_GlbMuChi2_ = trackEffDir.make("chi2 of GlobalMuon", "chi2 of GlobalMuon", 100, 0, 10); - h_GlbMuDxy_ = trackEffDir.make("Dxy of GlobalMuon", "Dxy of GlobalMuon", 1000, -5., 5.); -} - -void BjetAnalysis::analyze(const edm::Event& evt, const edm::EventSetup&) { - // Get b tag information - edm::Handle bTagHandle; - evt.getByToken(bTagToken_, bTagHandle); - const reco::JetTagCollection& bTags = *(bTagHandle.product()); - - // Loop over jets and study b tag info. - for (unsigned int i = 0; i != bTags.size(); ++i) { - cout << " Jet " << i << " has b tag discriminator (trackCountingHighEffBJetTags)= " << bTags[i].second - << " and jet Pt = " << bTags[i].first->pt() << endl; - } - - // Get b tag information - edm::Handle bTagHandle2; - evt.getByToken(bTagToken2_, bTagHandle2); - const reco::JetTagCollection& bTags2 = *(bTagHandle2.product()); - - // Loop over jets and study b tag info. - for (unsigned int i = 0; i != bTags2.size(); ++i) { - cout << " Jet " << i << " has b tag discriminator (jetProbabilityBJetTags) = " << bTags2[i].second - << " and jet Pt = " << bTags2[i].first->pt() << endl; - } - - // Get b tag information - edm::Handle bTagHandle3; - evt.getByToken(bTagToken3_, bTagHandle3); - const reco::JetTagCollection& bTags3 = *(bTagHandle3.product()); - - // Loop over jets and study b tag info. - for (unsigned int i = 0; i != bTags3.size(); ++i) { - cout << " Jet " << i << " has b tag discriminator (jetBProbabilityBJetTags) = " << bTags3[i].second - << " and jet Pt = " << bTags3[i].first->pt() << endl; - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(BjetAnalysis); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/BuildFile.xml b/ElectroWeakAnalysis/ZMuMu/plugins/BuildFile.xml deleted file mode 100644 index 25d4351f56147..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/BuildFile.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/DebugZMCTruth.cc b/ElectroWeakAnalysis/ZMuMu/plugins/DebugZMCTruth.cc deleted file mode 100644 index 46f16b78c8e4b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/DebugZMCTruth.cc +++ /dev/null @@ -1,51 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include -using namespace edm; -using namespace std; -using namespace reco; - -class DebugZMCTruth : public edm::EDAnalyzer { -public: - DebugZMCTruth(const edm::ParameterSet& pset); - -private: - void analyze(const Event& event, const EventSetup& setup) override; - InputTag src_; - EDGetTokenT srcToken_; - EDGetTokenT genParticlesToken_; - EDGetTokenT matchToken_; -}; - -DebugZMCTruth::DebugZMCTruth(const ParameterSet& cfg) - : src_(cfg.getParameter("src")), - srcToken_(consumes(src_)), - genParticlesToken_(consumes(cfg.getParameter("genParticles"))), - matchToken_(consumes(cfg.getParameter("mcMatch"))) {} - -void DebugZMCTruth::analyze(const Event& event, const EventSetup& setup) { - Handle genParticles; - event.getByToken(genParticlesToken_, genParticles); - Handle src; - event.getByToken(srcToken_, src); - cout << ">>> event has " << src->size() << " reconstructed particles in {" << src_ << "}" << endl; - Handle match; - event.getByToken(matchToken_, match); - cout << ">>> Z matches: "; - for (unsigned int i = 0; i < src->size(); ++i) { - CandidateBaseRef ref = src->refAt(i); - GenParticleRef mc = (*match)[ref]; - cout << (mc.isNull() ? "(no)" : "(yes)"); - } - cout << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(DebugZMCTruth); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/DimuonMCMatcher.cc b/ElectroWeakAnalysis/ZMuMu/plugins/DimuonMCMatcher.cc deleted file mode 100644 index 244f05eef0f16..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/DimuonMCMatcher.cc +++ /dev/null @@ -1,93 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include - -class DimuonMCMatcher : public edm::EDProducer { -public: - DimuonMCMatcher(const edm::ParameterSet& cfg); - void produce(edm::Event&, const edm::EventSetup&) override; - -private: - edm::EDGetTokenT srcToken_; -}; - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -using namespace std; -using namespace reco; -using namespace edm; - -DimuonMCMatcher::DimuonMCMatcher(const edm::ParameterSet& cfg) - : srcToken_(consumes(cfg.getParameter("src"))) { - produces >(); -} - -void DimuonMCMatcher::produce(edm::Event& evt, const edm::EventSetup&) { - Handle src; - evt.getByToken(srcToken_, src); - unique_ptr > matched(new vector); - matched->reserve(src->size()); - int j = 0; - for (CandidateView::const_iterator i = src->begin(); i != src->end(); ++i) { - j++; - const Candidate* dau1 = i->daughter(0); - const Candidate* dau2 = i->daughter(1); - if (dau1 == nullptr || dau2 == nullptr) - throw Exception(errors::InvalidReference) << "one of the two daughter does not exist\n"; - const Candidate* c1 = dau1->masterClone().get(); - GenParticleRef mc1; - const pat::Muon* mu1 = dynamic_cast(c1); - if (mu1 != nullptr) { - mc1 = mu1->genParticleRef(); - // if (mc1.isNonnull()) cout << "DimuonMCMatcher> genParticleRef1 " << mc1->pdgId() << endl; - } else { - const pat::GenericParticle* gp1 = dynamic_cast(c1); - if (gp1 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - mc1 = gp1->genParticleRef(); - } - const Candidate* c2 = dau2->masterClone().get(); - GenParticleRef mc2; - const pat::Muon* mu2 = dynamic_cast(c2); - if (mu2 != nullptr) { - mc2 = mu2->genParticleRef(); - // if (mc2.isNonnull()) cout << "DimuonMCMatcher> genParticleRef2 " << mc2->pdgId() << endl; - } else { - const pat::GenericParticle* gp2 = dynamic_cast(c2); - if (gp2 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - mc2 = gp2->genParticleRef(); - } - GenParticleRef dimuonMatch; - // cout << "DimuonMatcher> mc1 " << mc1.isNonnull() << " mc2 " << mc2.isNonnull() << endl; - if (mc1.isNonnull() && mc2.isNonnull()) { - int k = 0; - do { - k++; - mc1 = mc1->numberOfMothers() > 0 ? mc1->motherRef() : GenParticleRef(); - mc2 = mc2->numberOfMothers() > 0 ? mc2->motherRef() : GenParticleRef(); - // cout << "DimuonMCMatcher> do loop: " << k << " id1 " << mc1->pdgId() << " id2 " << mc2->pdgId() << endl; - } while (mc1 != mc2 && mc1.isNonnull() && mc2.isNonnull()); - if (mc1.isNonnull() && mc2.isNonnull() && mc1->pdgId() == 23) { - dimuonMatch = mc1; - } - } - // cout << "DimuonMatcher> dimuonMatch " << dimuonMatch.isNonnull() << endl; - matched->push_back(dimuonMatch); - } - - evt.put(std::move(matched)); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(DimuonMCMatcher); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/DimuonStatistics.cc b/ElectroWeakAnalysis/ZMuMu/plugins/DimuonStatistics.cc deleted file mode 100644 index efa965d0967ac..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/DimuonStatistics.cc +++ /dev/null @@ -1,141 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include - -class DimuonStatistics : public edm::EDAnalyzer { -public: - DimuonStatistics(const edm::ParameterSet& cfg); - void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - -private: - edm::InputTag src_; - edm::EDGetTokenT srcToken_; - std::vector matched_, unMatched_; - double ptMin_, massMin_, massMax_, etaMin_, etaMax_, trkIso_; -}; - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -using namespace std; -using namespace reco; -using namespace edm; -const unsigned int maxEntries = 10; - -DimuonStatistics::DimuonStatistics(const edm::ParameterSet& cfg) - : src_(cfg.getParameter("src")), - srcToken_(consumes(src_)), - matched_(maxEntries + 1, 0), - unMatched_(maxEntries + 1, 0), - ptMin_(cfg.getUntrackedParameter("ptMin")), - massMin_(cfg.getUntrackedParameter("massMin")), - massMax_(cfg.getUntrackedParameter("massMax")), - etaMin_(cfg.getUntrackedParameter("etaMin")), - etaMax_(cfg.getUntrackedParameter("etaMax")), - trkIso_(cfg.getUntrackedParameter("trkIso")) {} - -void DimuonStatistics::endJob() { - cout << src_.encode() << endl; - cout << " == Matched == " << endl; - for (unsigned int i = 0; i <= maxEntries; ++i) { - cout << i << ": " << matched_[i]; - if (i < maxEntries) - cout << ", "; - } - cout << endl; - cout << " == unMatched == " << endl; - for (unsigned int i = 0; i <= maxEntries; ++i) { - cout << i << ": " << unMatched_[i]; - if (i < maxEntries) - cout << ", "; - } - cout << endl; -} - -void DimuonStatistics::analyze(const edm::Event& evt, const edm::EventSetup&) { - Handle src; - evt.getByToken(srcToken_, src); - double trackIso1 = -1; - double trackIso2 = -1; - int j = 0; - unsigned int matched = 0, unMatched = 0; - cout << ">> entries in " << src_ << ": " << src->size() << endl; - for (CandidateView::const_iterator i = src->begin(); i != src->end(); ++i) { - j++; - const Candidate* dau1 = i->daughter(0); - const Candidate* dau2 = i->daughter(1); - if (dau1 == nullptr || dau2 == nullptr) - throw Exception(errors::InvalidReference) << "one of the two daughter does not exist\n"; - const Candidate* c1 = dau1->masterClone().get(); - GenParticleRef mc1; - const pat::Muon* mu1 = dynamic_cast(c1); - if (mu1 != nullptr) { - mc1 = mu1->genParticleRef(); - // if (mc1.isNonnull()) cout << "DimuonStatistics> genParticleRef1 " << mc1->pdgId() << endl; - trackIso1 = mu1->trackIso(); - } else { - const pat::GenericParticle* gp1 = dynamic_cast(c1); - if (gp1 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - mc1 = gp1->genParticleRef(); - } - const Candidate* c2 = dau2->masterClone().get(); - GenParticleRef mc2; - const pat::Muon* mu2 = dynamic_cast(c2); - if (mu2 != nullptr) { - mc2 = mu2->genParticleRef(); - // if (mc2.isNonnull()) cout << "DimuonStatistics> genParticleRef2 " << mc2->pdgId() << endl; - trackIso2 = mu2->trackIso(); - } else { - const pat::GenericParticle* gp2 = dynamic_cast(c2); - if (gp2 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - mc2 = gp2->genParticleRef(); - } - GenParticleRef dimuonMatch; - if (mc1.isNonnull() && mc2.isNonnull()) { - cout << "DimuonStatistics> mc1: " << mc1->pdgId() << ", mc2: " << mc2->pdgId() << endl; - int k = 0; - do { - k++; - mc1 = mc1->numberOfMothers() > 0 ? mc1->motherRef() : GenParticleRef(); - mc2 = mc2->numberOfMothers() > 0 ? mc2->motherRef() : GenParticleRef(); - // cout << "DimuonStatistics> do loop: " << k << " id1 " << mc1->pdgId() << " id2 " << mc2->pdgId() << endl; - } while (mc1 != mc2 && mc1.isNonnull() && mc2.isNonnull()); - if (mc1.isNonnull() && mc2.isNonnull() && mc1->pdgId() == 23) { - dimuonMatch = mc1; - } - } - // cout << "DimuonMatcher> dimuonMatch " << dimuonMatch.isNonnull() << endl; - if ((fabs(dau1->eta()) > etaMin_ && fabs(dau1->eta()) < etaMax_) && dau1->pt() > ptMin_ && - ((fabs(dau2->eta()) > etaMin_) && (fabs(dau2->eta()) < etaMax_)) && dau2->pt() > ptMin_ && - trackIso1 < trkIso_ && trackIso2 < trkIso_ && i->mass() > massMin_ && i->mass() < massMax_) { - cout << "dimuon mass " << i->mass() << endl; - if (dimuonMatch.isNonnull()) - ++matched; - else - ++unMatched; - } - } - cout << "matched: " << matched << ", unmatched: " << unMatched << endl; - - if (matched > maxEntries) - matched = maxEntries; - if (unMatched > maxEntries) - unMatched = maxEntries; - ++matched_[matched]; - ++unMatched_[unMatched]; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(DimuonStatistics); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/EWKSystUnc.cc b/ElectroWeakAnalysis/ZMuMu/plugins/EWKSystUnc.cc deleted file mode 100644 index 5b0a49718da52..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/EWKSystUnc.cc +++ /dev/null @@ -1,210 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "TH1.h" - -class EWKSystUnc : public edm::EDAnalyzer { -public: - EWKSystUnc(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - edm::EDGetTokenT genToken_; - edm::EDGetTokenT weightsToken_; - unsigned int nbinsMass_, nbinsPt_, nbinsAng_; - double massMax_, ptMax_, angMax_; - double accPtMin_, accMassMin_, accMassMax_, accEtaMin_, accEtaMax_; - TH1F* h_nZ_; - TH1F *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *hardpt, *softpt, *hardeta, *softeta; - TH1F* h_weight_histo; - bool isMCatNLO_; - double nAcc_, nAccReW_, nBothMuHasZHasGrandMa_; - std::string filename_; -}; - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include "HepMC/WeightContainer.h" -#include "HepMC/GenEvent.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -EWKSystUnc::EWKSystUnc(const ParameterSet& pset) - : genToken_(consumes(pset.getParameter("genParticles"))), - weightsToken_(consumes(pset.getParameter("weights"))), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - accPtMin_(pset.getUntrackedParameter("accPtMin")), - accMassMin_(pset.getUntrackedParameter("accMassMin")), - accMassMax_(pset.getUntrackedParameter("accMassMax")), - accEtaMin_(pset.getUntrackedParameter("accEtaMin")), - accEtaMax_(pset.getUntrackedParameter("accEtaMax")), - isMCatNLO_(pset.getUntrackedParameter("isMCatNLO")), - filename_(pset.getUntrackedParameter("outfilename")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - h_nZ_ = ZMCHisto.make("ZNumber", "number of Z particles", 11, -0.5, 10.5); - h_weight_histo = ZMCHisto.make("weight_histo", "weight_histo", 20, -10, 10); - - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - hardpt = ZMCHisto.make("hardpt", "hard muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - softpt = ZMCHisto.make("softpt", "soft muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC y", nbinsAng_, -angMax_, angMax_); - - hardeta = ZMCHisto.make("hard muon eta", "hard muon #eta", nbinsAng_, -angMax_, angMax_); - softeta = ZMCHisto.make("soft muon eta", "soft muon #eta", nbinsAng_, -angMax_, angMax_); - nAcc_ = 0.; - nAccReW_ = 0; - nBothMuHasZHasGrandMa_ = 0; -} - -void EWKSystUnc::analyze(const edm::Event& event, const edm::EventSetup& setup) { - cout << ">>> Z Histogrammer analyze" << endl; - - Handle gen; - Handle weights; - - event.getByToken(genToken_, gen); - event.getByToken(weightsToken_, weights); - - // get weight and fill it to histogram - double weight = (*weights); - - // protection... - if (weight > 2. || weight < 0.1) { - std::cout << "weight = " << weight << ", something strange...." << std::endl; - weight = 1; - } - h_weight_histo->Fill(weight); - - std::vector muons; - - for (unsigned int i = 0; i < gen->size(); ++i) { - const GenParticle& muMC = (*gen)[i]; - // filling only muons coming form Z - if (abs(muMC.pdgId()) == 13 && muMC.status() == 1 && muMC.numberOfMothers() > 0) { - if (muMC.mother()->numberOfMothers() > 0) { - cout << "I'm getting a muon \n" - << "with " - << "muMC.numberOfMothers() " << muMC.numberOfMothers() << "\n the first mother has pdgId " - << muMC.mother()->pdgId() << "with " - << "muMC.mother()->numberOfMothers() " << muMC.mother()->numberOfMothers() - << "\n the first grandma has pdgId " << muMC.mother()->mother()->pdgId() << endl; - if (muMC.mother()->mother()->pdgId() == 23) - muons.push_back(muMC); - } - } - } - - cout << "finally I selected " << muons.size() << " muons" << endl; - - // if there are at least two muons, - // calculate invarant mass of first two and fill it into histogram - - double inv_mass = 0.0; - double Zpt_ = 0.0; - double Zeta_ = 0.0; - double Ztheta_ = 0.0; - double Zphi_ = 0.0; - double Zrapidity_ = 0.0; - - if (muons.size() > 1) { - if (muons[0].mother()->mother()->pdgId() == 23 && muons[1].mother()->mother()->pdgId() == 23) - nBothMuHasZHasGrandMa_++; - math::XYZTLorentzVector tot_momentum(muons[0].p4()); - math::XYZTLorentzVector mom2(muons[1].p4()); - tot_momentum += mom2; - inv_mass = sqrt(tot_momentum.mass2()); - Zpt_ = tot_momentum.pt(); - Zeta_ = tot_momentum.eta(); - Ztheta_ = tot_momentum.theta(); - Zphi_ = tot_momentum.phi(); - Zrapidity_ = tot_momentum.Rapidity(); - - // IMPORTANT: use the weight of the event ... - - double weight_sign = weight; - //double weight_sign = 1. ; - h_mZMC_->Fill(inv_mass, weight_sign); - h_ptZMC_->Fill(Zpt_, weight_sign); - h_etaZMC_->Fill(Zeta_, weight_sign); - h_thetaZMC_->Fill(Ztheta_, weight_sign); - h_phiZMC_->Fill(Zphi_, weight_sign); - h_rapidityZMC_->Fill(Zrapidity_, weight_sign); - - double pt1 = muons[0].pt(); - double pt2 = muons[1].pt(); - double eta1 = muons[0].eta(); - double eta2 = muons[1].eta(); - - if (pt1 > pt2) { - hardpt->Fill(pt1, weight_sign); - softpt->Fill(pt2, weight_sign); - hardeta->Fill(eta1, weight_sign); - softeta->Fill(eta2, weight_sign); - } else { - hardpt->Fill(pt2, weight_sign); - softpt->Fill(pt1, weight_sign); - hardeta->Fill(eta2, weight_sign); - softeta->Fill(eta1, weight_sign); - } - - //evaluating the geometric acceptance - if (pt1 >= accPtMin_ && pt2 >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) { - nAcc_++; - nAccReW_ += weight; - } - } -} - -void EWKSystUnc::endJob() { - cout << " number of events accepted :" << nAcc_ << endl; - cout << " number of events accepted reweigthed :" << nAccReW_ << endl; - double nev = h_mZMC_->GetEntries(); - double nev_weigthed = h_mZMC_->Integral(0, nbinsMass_ + 1); - cout << " number of total events :" << nev << endl; - cout << " number of total weighted events :" << nev_weigthed << endl; - cout << " number of cases in which BothMuHasZHasGrandMa :" << nBothMuHasZHasGrandMa_ << endl; - double eff = (double)nAcc_ / (double)h_mZMC_->GetEntries(); - double eff_rew = (double)nAccReW_ / (double)h_mZMC_->Integral(0, nbinsMass_ + 1); - double err = sqrt(eff * (1. - eff) / (double)h_mZMC_->GetEntries()); - double err_rew = sqrt(eff_rew * (1. - eff_rew) / (double)h_mZMC_->Integral(0, nbinsMass_ + 1)); - cout << " geometric acceptance: " << eff << "+/-" << err << endl; - cout << " geometric acceptance reweighted: " << eff_rew << "+/-" << err_rew << endl; - - ofstream myfile; - myfile.open(filename_.c_str(), std::ios::app); - myfile << eff << " " << eff_rew << " " << nev << " " << nev_weigthed << endl; - myfile.close(); -} -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(EWKSystUnc); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/EventVtxInfoNtupleDumper.cc b/ElectroWeakAnalysis/ZMuMu/plugins/EventVtxInfoNtupleDumper.cc deleted file mode 100644 index 1c8da66c584c1..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/EventVtxInfoNtupleDumper.cc +++ /dev/null @@ -1,79 +0,0 @@ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; - -class EventVtxInfoNtupleDumper : public edm::EDProducer { -public: - EventVtxInfoNtupleDumper(const edm::ParameterSet &); - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - edm::EDGetTokenT primaryVerticesToken_; -}; - -EventVtxInfoNtupleDumper::EventVtxInfoNtupleDumper(const ParameterSet &cfg) - : primaryVerticesToken_(consumes(cfg.getParameter("primaryVertices"))) { - produces("numPV").setBranchAlias("numPV"); - produces("nTrkPV").setBranchAlias("nTrkPV"); - produces("chi2PV").setBranchAlias("chi2PV"); - produces("ndofPV").setBranchAlias("ndofPV"); - produces("zPV").setBranchAlias("zPV"); - produces("rhoPV").setBranchAlias("rhoPV"); - // produces >( "nTrkPV" ).setBranchAlias( "nTrkPV" ); - // produces >( "chi2PV" ).setBranchAlias( "chi2PV" ); - // produces >( "ndofPV" ).setBranchAlias( "ndofPV" ); -} - -void EventVtxInfoNtupleDumper::produce(Event &evt, const EventSetup &) { - Handle primaryVertices; // Collection of primary Vertices - evt.getByToken(primaryVerticesToken_, primaryVertices); - unique_ptr nVtxs(new int); - unique_ptr nTrkVtx(new int); - unique_ptr chi2Vtx(new float); - unique_ptr ndofVtx(new float); - unique_ptr zVtx(new float); - unique_ptr rhoVtx(new float); - // unique_ptr< vector< unsigned int > > nTrkVtx( new vector< unsigned int > ); - // unique_ptr< vector< float > > chi2Vtx( new vector< float > ); - // unique_ptr< vector< float > > ndofVtx( new vector< float > ); - - const reco::Vertex &pv = (*primaryVertices)[0]; - - *nVtxs = -1; - *nTrkVtx = -1; - *chi2Vtx = -1.0; - *ndofVtx = -1.0; - *zVtx = -1000; - *rhoVtx = -1000; - if (!(pv.isFake())) { - *nVtxs = primaryVertices->size(); - *nTrkVtx = pv.tracksSize(); - *chi2Vtx = pv.chi2(); - *ndofVtx = pv.ndof(); - *zVtx = pv.z(); - *rhoVtx = pv.position().Rho(); - } - // nTrkVtx->push_back(pv.tracksSize()); - // chi2Vtx->push_back(pv.chi2()); - // ndofVtx->push_back(pv.ndof()); - evt.put(std::move(nVtxs), "numPV"); - evt.put(std::move(nTrkVtx), "nTrkPV"); - evt.put(std::move(chi2Vtx), "chi2PV"); - evt.put(std::move(ndofVtx), "ndofPV"); - evt.put(std::move(zVtx), "zPV"); - evt.put(std::move(rhoVtx), "rhoPV"); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(EventVtxInfoNtupleDumper); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/GlbMuQualityCutsAnalysis.cc b/ElectroWeakAnalysis/ZMuMu/plugins/GlbMuQualityCutsAnalysis.cc deleted file mode 100644 index 431b6c9db06a2..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/GlbMuQualityCutsAnalysis.cc +++ /dev/null @@ -1,161 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include -#include "TH1.h" - -class GlbMuQualityCutsAnalysis : public edm::EDAnalyzer { -public: - GlbMuQualityCutsAnalysis(const edm::ParameterSet& cfg); - void analyze(const edm::Event&, const edm::EventSetup&) override; - // virtual void endJob(); -private: - edm::InputTag src_; - edm::EDGetTokenT srcToken_; - std::vector matched_, unMatched_; - double ptMin_, massMin_, massMax_, etaMin_, etaMax_, trkIso_, chi2Cut_; - int nHitCut_; - TH1D *h_GlbMuNofHitsGlbMu_, *h_GlbMuChi2_, *h_TrkMuNofHitsGlbMu_, *h_GlbMuDxy_; -}; - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -using namespace std; -using namespace reco; -using namespace edm; -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -GlbMuQualityCutsAnalysis::GlbMuQualityCutsAnalysis(const edm::ParameterSet& cfg) - : src_(cfg.getParameter("src")), - srcToken_(consumes(src_)), - ptMin_(cfg.getUntrackedParameter("ptMin")), - massMin_(cfg.getUntrackedParameter("massMin")), - massMax_(cfg.getUntrackedParameter("massMax")), - etaMin_(cfg.getUntrackedParameter("etaMin")), - etaMax_(cfg.getUntrackedParameter("etaMax")), - trkIso_(cfg.getUntrackedParameter("trkIso")), - chi2Cut_(cfg.getUntrackedParameter("chi2Cut")), - nHitCut_(cfg.getUntrackedParameter("nHitCut")) { - Service fs; - TFileDirectory trackEffDir = fs->mkdir("QualityOfGlbMu"); - h_GlbMuNofHitsGlbMu_ = trackEffDir.make("# of Hits of GlobalMuon", "# of Hits of GlobalMuon", 100, 0, 100); - h_TrkMuNofHitsGlbMu_ = trackEffDir.make("# of Hits of TrackerMuon", "# of Hits of TrackerMuon", 100, 0, 100); - h_GlbMuChi2_ = trackEffDir.make("chi2 of GlobalMuon", "chi2 of GlobalMuon", 100, 0, 10); - h_GlbMuDxy_ = trackEffDir.make("Dxy of GlobalMuon", "Dxy of GlobalMuon", 1000, -5., 5.); -} - -/*void GlbMuQualityCutsAnalysis::endJob() { - cout << src_.encode() << endl ; - -} -*/ -void GlbMuQualityCutsAnalysis::analyze(const edm::Event& evt, const edm::EventSetup&) { - Handle src; - evt.getByToken(srcToken_, src); - int j = 0; - cout << ">> entries in " << src_ << ": " << src->size() << endl; - for (CandidateView::const_iterator i = src->begin(); i != src->end(); ++i) { - j++; - const Candidate* dau1 = i->daughter(0); - const Candidate* dau2 = i->daughter(1); - if (dau1 == nullptr || dau2 == nullptr) - throw Exception(errors::InvalidReference) << "one of the two daughter does not exist\n"; - const Candidate* c1 = dau1->masterClone().get(); - GenParticleRef mc1; - const pat::Muon* mu1 = dynamic_cast(c1); - std::cout << " dimuon mass " << i->mass() << std::endl; - std::cout << "dau1.pt() " << dau1->pt() << std::endl; - std::cout << "dau2.pt() " << dau2->pt() << std::endl; - std::cout << "dau1.isGlobalMuon() " << dau1->isGlobalMuon() << std::endl; - std::cout << "dau2.isGlobalMuon() " << dau2->isGlobalMuon() << std::endl; - std::cout << "dau1.isTrackerMuon() " << dau1->isTrackerMuon() << std::endl; - std::cout << "dau2.isTrackerlMuon() " << dau2->isTrackerMuon() << std::endl; - std::cout << "dau1.isStandAloneMuon() " << dau1->isStandAloneMuon() << std::endl; - std::cout << "dau2.isStandAloneMuon() " << dau2->isStandAloneMuon() << std::endl; - std::cout << "dau1.charge() " << dau1->charge() << std::endl; - std::cout << "dau2.charge() " << dau2->charge() << std::endl; - if (mu1 != nullptr) { - // if (mc1.isNonnull()) cout << "GlbMuQualityCutsAnalysis> genParticleRef1 " << mc1->pdgId() << endl; - // double trackIso1=mu1->trackIso(); - // std::cout << " mu1 iso" << trackIso1 << std::endl; - } else { - const pat::GenericParticle* gp1 = dynamic_cast(c1); - if (gp1 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - } - const Candidate* c2 = dau2->masterClone().get(); - - const pat::Muon* mu2 = dynamic_cast(c2); - if (mu2 != nullptr) { - // double trackIso2=mu2->trackIso(); - //std::cout << " mu2 iso" << trackIso2 << std::endl; - } else { - const pat::GenericParticle* gp2 = dynamic_cast(c2); - if (gp2 == nullptr) - throw Exception(errors::InvalidReference) - << "first of two daughter is neither a pat::Muon not pat::GenericParticle\n"; - } - - int nOfHit_1 = 0, nOfHit_tk_1 = 0, nOfHit_2 = 0, nOfHit_tk_2 = 0; - if (mu1->isGlobalMuon()) - nOfHit_1 = mu1->numberOfValidHits(); - std::cout << "n of hit of GlbMu1: " << nOfHit_1 << std::endl; - if (mu1->isTrackerMuon()) - nOfHit_tk_1 = mu1->innerTrack()->numberOfValidHits(); - std::cout << "n of hit of TrkMu1: " << nOfHit_tk_1 << std::endl; - if (mu2->isGlobalMuon()) - nOfHit_2 = mu2->numberOfValidHits(); - std::cout << "n of hit of GlbMu2: " << nOfHit_2 << std::endl; - if (mu2->isTrackerMuon()) - nOfHit_tk_2 = mu2->innerTrack()->numberOfValidHits(); - std::cout << "n of hit of TrkMu2: " << nOfHit_tk_2 << std::endl; - h_GlbMuNofHitsGlbMu_->Fill(nOfHit_1); - h_GlbMuNofHitsGlbMu_->Fill(nOfHit_2); - h_TrkMuNofHitsGlbMu_->Fill(nOfHit_tk_1); - h_TrkMuNofHitsGlbMu_->Fill(nOfHit_tk_2); - double nChi2_1 = 0, nChi2_2 = 0; - if (mu1->isGlobalMuon()) - nChi2_1 = mu1->normChi2(); - std::cout << "chi2 of GlbMu1: " << nChi2_1 << std::endl; - if (mu2->isGlobalMuon()) - nChi2_2 = mu2->normChi2(); - std::cout << "chi2 of GlbMu2: " << nChi2_2 << std::endl; - h_GlbMuChi2_->Fill(nChi2_1); - h_GlbMuChi2_->Fill(nChi2_2); - double dxy_1 = mu1->dB(); - double dxy_2 = mu2->dB(); - - h_GlbMuDxy_->Fill(dxy_1); - h_GlbMuDxy_->Fill(dxy_2); - if (mu1->isGlobalMuon() && (nOfHit_tk_1 < nHitCut_)) { - std::cout << "found a GlbMuon with nOfHit " << nOfHit_tk_1 << ", it has eta: " << mu1->eta() << std::endl; - } - if (mu2->isGlobalMuon() && (nOfHit_tk_2 < nHitCut_)) { - std::cout << "found a GlbMuon with nOfHit " << nOfHit_tk_2 << ", it has eta: " << mu2->eta() << std::endl; - } - if (mu1->isGlobalMuon() && (nChi2_1 > chi2Cut_)) { - std::cout << "found a GlbMuon with chi2 " << nChi2_1 - << ", it has chi2 of track: " << mu1->innerTrack()->normalizedChi2() - << ", and chi2 of Sta: " << mu1->outerTrack()->normalizedChi2() << ", eta: " << mu1->eta() - << ",pt: " << mu1->pt() << std::endl; - } - if (mu2->isGlobalMuon() && (nChi2_2 > chi2Cut_)) { - std::cout << "found a GlbMuon with chi2 " << nChi2_2 - << ", it has chi2 of track: " << mu2->innerTrack()->normalizedChi2() - << ", and chi2 of Sta: " << mu2->outerTrack()->normalizedChi2() << ", eta: " << mu2->eta() - << ",pt: " << mu2->pt() << std::endl; - } - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(GlbMuQualityCutsAnalysis); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/MCAcceptanceAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/MCAcceptanceAnalyzer.cc deleted file mode 100644 index 88e25a782323e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/MCAcceptanceAnalyzer.cc +++ /dev/null @@ -1,218 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include - -using namespace edm; -using namespace reco; -using namespace std; - -const Candidate* mcMuDaughter(const Candidate* c) { - unsigned int n = c->numberOfDaughters(); - for (unsigned int i = 0; i < n; ++i) { - const Candidate* d = c->daughter(i); - if (fabs(d->pdgId()) == 13) - return d; - } - return nullptr; -} - -struct ZSelector { // modify this selector in order to return an integer (0: no eta cut, 1: eta cut only, 2 eta && pt cut, 3: eta, pt and Mass cut, 4: mass cut on the denominator Z MC) - ZSelector(double ptMin, - double etaDau0Min, - double etaDau0Max, - double etaDau1Min, - double etaDau1Max, - double massMin, - double massMax, - double massMinZMC, - double massMaxZMC) - : ptMin_(ptMin), - etaDau0Min_(etaDau0Min), - etaDau0Max_(etaDau0Max), - etaDau1Min_(etaDau1Min), - etaDau1Max_(etaDau1Max), - massMin_(massMin), - massMax_(massMax), - massMinZMC_(massMinZMC), - massMaxZMC_(massMaxZMC) {} - int operator()(const Candidate& c) const { - // std::cout << "c.numberOfDaughters(): " << c.numberOfDaughters()<< std::endl; - if (c.numberOfDaughters() < 2) - return 0; - if (c.numberOfDaughters() >= 6) - return 0; - const Candidate* d0 = c.daughter(0); - const Candidate* d1 = c.daughter(1); - if (c.numberOfDaughters() > 2) { - if (d0->numberOfDaughters() > 0) - d0 = mcMuDaughter(d0); - if (d1->numberOfDaughters() > 0) - d1 = mcMuDaughter(d1); - } - int temp_cut = 0; - /// allowing asymmetric cut.... - if ((fabs(d0->eta()) > etaDau0Min_ && fabs(d1->eta()) > etaDau1Min_ && fabs(d0->eta()) < etaDau0Max_ && - fabs(d1->eta()) < etaDau1Max_) || - (fabs(d0->eta()) > etaDau1Min_ && fabs(d1->eta()) > etaDau0Min_ && fabs(d0->eta()) < etaDau1Max_ && - fabs(d1->eta()) < etaDau0Max_)) { - temp_cut = 1; - if (d0->pt() > ptMin_ && d1->pt() > ptMin_) { - temp_cut = 2; - double m = (d0->p4() + d1->p4()).mass(); - if (m > massMin_ && m < massMax_) - temp_cut = 3; - if (c.mass() > massMinZMC_ && c.mass() < massMaxZMC_) - temp_cut = 4; - } - } - - return temp_cut; - } - double ptMin_, etaDau0Min_, etaDau0Max_, etaDau1Min_, etaDau1Max_, massMin_, massMax_, massMinZMC_, massMaxZMC_; -}; - -class MCAcceptanceAnalyzer : public EDAnalyzer { -public: - MCAcceptanceAnalyzer(const ParameterSet& cfg); - -private: - void analyze(const Event&, const EventSetup&) override; - void endJob() override; - InputTag zToMuMu_, zToMuMuMC_, zToMuMuMatched_; - EDGetTokenT zToMuMuToken_; - EDGetTokenT zToMuMuMCToken_; - EDGetTokenT zToMuMuMatchedToken_; - long nZToMuMu_, selZToMuMu_, nZToMuMuMC_, selZToMuMuMC_, nZToMuMuMCMatched_, selZToMuMuMCMatched_, nZToMuMuMCDen_; - ZSelector select_, select_OnlyMassCut_; -}; - -MCAcceptanceAnalyzer::MCAcceptanceAnalyzer(const ParameterSet& cfg) - : zToMuMu_(cfg.getParameter("zToMuMu")), - zToMuMuMC_(cfg.getParameter("zToMuMuMC")), - zToMuMuMatched_(cfg.getParameter("zToMuMuMatched")), - zToMuMuToken_(consumes(zToMuMu_)), - zToMuMuMCToken_(consumes(zToMuMuMC_)), - zToMuMuMatchedToken_(consumes(zToMuMuMatched_)), - nZToMuMu_(0), - selZToMuMu_(0), - nZToMuMuMC_(0), - selZToMuMuMC_(0), - nZToMuMuMCMatched_(0), - selZToMuMuMCMatched_(0), - nZToMuMuMCDen_(0), - select_(cfg.getParameter("ptMin"), - cfg.getParameter("etaDau0Min"), - cfg.getParameter("etaDau0Max"), - cfg.getParameter("etaDau1Min"), - cfg.getParameter("etaDau1Max"), - cfg.getParameter("massMin"), - cfg.getParameter("massMax"), - cfg.getParameter("massMinZMC"), - cfg.getParameter("massMaxZMC")), - select_OnlyMassCut_(-1, - -9999, - 9999, - -9999, - 9999, - 0, - 0, - cfg.getParameter("massMinZMC"), - cfg.getParameter("massMaxZMC")) {} - -void MCAcceptanceAnalyzer::analyze(const Event& evt, const EventSetup&) { - Handle zToMuMu; - evt.getByToken(zToMuMuToken_, zToMuMu); - Handle zToMuMuMC; - evt.getByToken(zToMuMuMCToken_, zToMuMuMC); - Handle zToMuMuMatched; - evt.getByToken(zToMuMuMatchedToken_, zToMuMuMatched); - // long nZToMuMu = zToMuMu->size(); - long nZToMuMuMC = zToMuMuMC->size(); - long nZToMuMuMatched = zToMuMuMatched->size(); - - // cout << ">>> " << zToMuMu_ << " has " << nZToMuMu << " entries" << endl; - //cout << ">>> " << zToMuMuMC_ << " has " << nZToMuMuMC << " entries" << endl; - //cout << ">>> " << zToMuMuMatched_ << " has " << nZToMuMuMatched << " entries" << endl; - - nZToMuMuMC_ += nZToMuMuMC; - for (long i = 0; i < nZToMuMuMC; ++i) { - const Candidate& z = (*zToMuMuMC)[i]; - if (select_(z) == 4) - ++selZToMuMuMC_; - if (select_OnlyMassCut_(z) == 4) - ++nZToMuMuMCDen_; - } - - for (long i = 0; i < nZToMuMuMatched; ++i) { - const Candidate& z = (*zToMuMu)[i]; - CandidateBaseRef zRef = zToMuMu->refAt(i); - GenParticleRef mcRef = (*zToMuMuMatched)[zRef]; - - if (mcRef.isNonnull()) { // z candidate matched to Z MC - ++nZToMuMu_; - ++nZToMuMuMCMatched_; - - int selectZ = select_(z); - if (selectZ == 4) - ++selZToMuMu_; - - int selectMC = select_(*mcRef); - - if (selectMC == 4) - ++selZToMuMuMCMatched_; - - if (selectZ != selectMC) { - cout << ">>> select reco: " << selectZ << ", select mc: " << selectMC << endl; - if ((selectZ * selectMC) == 0) - break; - if (z.numberOfDaughters() > 1) { - const Candidate *d0 = z.daughter(0), *d1 = z.daughter(1); - if (mcRef->numberOfDaughters() > 1) { - const Candidate *mcd0 = mcMuDaughter(mcRef->daughter(0)), *mcd1 = mcMuDaughter(mcRef->daughter(1)); - double m = z.mass(), mcm = (mcd0->p4() + mcd1->p4()).mass(); - cout << ">>> reco pt1, eta1: " << d0->pt() << ", " << d0->eta() << ", 2: " << d1->pt() << ", " << d1->eta() - << ", mass = " << m << endl; - cout << ">>> mc pt1, eta1: " << mcd0->pt() << ", " << mcd0->eta() << ", 2: " << mcd1->pt() << ", " - << mcd1->eta() << ", mass = " << mcm << endl; - } - } - } - // to avoid double counting - if ((selectZ == 3) && (selectMC == 3)) - break; - } - } -} - -void MCAcceptanceAnalyzer::endJob() { - double effZToMuMu = double(selZToMuMu_) / double(nZToMuMu_); - double errZToMuMu = sqrt(effZToMuMu * (1. - effZToMuMu) / nZToMuMu_); - double effZToMuMuMC = double(selZToMuMuMC_) / double(nZToMuMuMC_); - double errZToMuMuMC = sqrt(effZToMuMuMC * (1. - effZToMuMuMC) / nZToMuMuMC_); - double effZToMuMuMCDen = double(selZToMuMuMC_) / double(nZToMuMuMCDen_); - double errZToMuMuMCDen = sqrt(effZToMuMuMCDen * (1. - effZToMuMuMCDen) / nZToMuMuMCDen_); - double effZToMuMuMCMatched = double(selZToMuMuMCMatched_) / double(nZToMuMuMCMatched_); - double errZToMuMuMCMatched = sqrt(effZToMuMuMCMatched * (1. - effZToMuMuMCMatched) / nZToMuMuMCMatched_); - cout << ">>> " << zToMuMu_ << ": " << selZToMuMu_ << "/" << nZToMuMu_ << " = " << effZToMuMu << " +/- " << errZToMuMu - << endl; - cout << ">>> " << zToMuMuMC_ << " - matched: " << selZToMuMuMCMatched_ << "/" << nZToMuMuMCMatched_ << " = " - << effZToMuMuMCMatched << " +/- " << errZToMuMuMCMatched << endl; - cout << " if the two numbers above are the same we can neglete resolution effect and quote the acceptance as the " - "number below.... " - << endl; - cout << "********* acceptance m>sampleMCMassCut (usually 20 or 40) ******** " << endl; - cout << ">>> " << zToMuMuMC_ << ": " << selZToMuMuMC_ << "/" << nZToMuMuMC_ << " = " << effZToMuMuMC << " +/- " - << errZToMuMuMC << endl; - cout << "********* acceptance in the given mass range ******** " << endl; - cout << ">>> " << zToMuMuMC_ << ": " << selZToMuMuMC_ << "/" << nZToMuMuMCDen_ << " = " << effZToMuMuMCDen << " +/- " - << errZToMuMuMCDen << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(MCAcceptanceAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/MC_Efficiency_Analyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/MC_Efficiency_Analyzer.cc deleted file mode 100644 index 037206568cec8..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/MC_Efficiency_Analyzer.cc +++ /dev/null @@ -1,188 +0,0 @@ -/* \class MCEfficiencyAnalyzer - * - * Muon reconstruction efficiency from MC truth, - * for global muons, tracks and standalone. Take as input the output of the - * standard EWK skim: zToMuMu - * - * Produces in output the efficency number - * - * \author Michele de Gruttola, INFN Naples -*/ - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/Ref.h" -#include -#include -using namespace edm; -using namespace std; -using namespace reco; - -class MCEfficiencyAnalyzer : public edm::EDAnalyzer { -public: - MCEfficiencyAnalyzer(const edm::ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - MuonsToken_(consumes(pset.getParameter("Muons"))), - MuonsMapToken_(consumes(pset.getParameter("MuonsMap"))), - TracksToken_(consumes(pset.getParameter("Tracks"))), - TracksMapToken_(consumes(pset.getParameter("TracksMap"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - StandAloneToken_(consumes(pset.getParameter("StandAlone"))), - StandAloneMapToken_(consumes(pset.getParameter("StandAloneMap"))), - etacut_(pset.getParameter("etacut")), - ptcut_(pset.getParameter("ptcut")), - deltaRStacut_(pset.getParameter("deltaRStacut")) - - { - nMuMC = 0; - nMureco = 0; - nTrk = 0; - nSta = 0; - nNotMuMatching = 0; - } - - void analyze(const edm::Event& event, const edm::EventSetup& setup) override { - Handle zMuMu; - event.getByToken(zMuMuToken_, zMuMu); - - Handle Muons; - event.getByToken(MuonsToken_, Muons); - - Handle Tracks; - event.getByToken(TracksToken_, Tracks); - - Handle StandAlone; - event.getByToken(StandAloneToken_, StandAlone); - - Handle MuonsMap; - event.getByToken(MuonsMapToken_, MuonsMap); - - Handle TracksMap; - event.getByToken(TracksMapToken_, TracksMap); - - Handle StandAloneMap; - event.getByToken(StandAloneMapToken_, StandAloneMap); - - Handle genParticles; - event.getByToken(genParticlesToken_, genParticles); - - //Getting muons from Z MC - for (unsigned int k = 0; k < genParticles->size(); k++) { - const Candidate& ZCand = (*genParticles)[k]; - int status = ZCand.status(); - - if (ZCand.pdgId() == 23 && status == 3) { - // positive muons - const Candidate* muCand1 = ZCand.daughter(0); - if (muCand1->status() == 3) { - for (unsigned int d = 0; d < muCand1->numberOfDaughters(); d++) { - const Candidate* muCandidate = muCand1->daughter(d); - if (muCandidate->pdgId() == muCand1->pdgId()) { - muCand1 = muCand1->daughter(d); - } - } - } - // negative muons - const Candidate* muCand2 = ZCand.daughter(1); - if (muCand2->status() == 3) { - for (unsigned int e = 0; e < muCand2->numberOfDaughters(); e++) { - const Candidate* muCandidate = muCand2->daughter(e); - if (muCandidate->pdgId() == muCand2->pdgId()) { - muCand2 = muCand2->daughter(e); - } - } - } - - double deltaR_Mu_Sta = 0; - int nMurecoTemp = nMureco; - // getting mu matched - CandMatchMap::const_iterator i; - for (i = MuonsMap->begin(); i != MuonsMap->end(); i++) { - const Candidate /* & reco = * i -> key,*/& mc = *i->val; - if ((muCand1 == &mc) && (mc.pt() > ptcut_) && (std::abs(mc.eta()) < etacut_)) { - nMuMC++; - nMureco++; - break; - } - } - if (nMureco == nMurecoTemp) // I.E. MU RECO NOT FOUND!!!! - { - int nTrkTemp = nTrk; - int nStaTemp = nSta; - - // getting tracks matched and doing the same, CONTROLLING IF MU IS RECONSTRUCTED AS A TRACK AND NOT AS A MU - CandMatchMap::const_iterator l; - for (l = TracksMap->begin(); l != TracksMap->end(); l++) { - const Candidate /* & Trkreco = * l -> key, */& Trkmc = *l->val; - if ((muCand1 == &Trkmc) && (Trkmc.pt() > ptcut_) && (std::abs(Trkmc.eta()) < etacut_)) { - nMuMC++; - nTrk++; - break; - } - } - // the same for standalone - CandMatchMap::const_iterator n; - for (n = StandAloneMap->begin(); n != StandAloneMap->end(); n++) { - const Candidate &Stareco = *n->key, &Stamc = *n->val; - if ((muCand1 == &Stamc) && (Stamc.pt() > ptcut_) && (std::abs(Stamc.eta()) < etacut_)) { - nMuMC++; - nSta++; - deltaR_Mu_Sta = deltaR(Stareco, *muCand1); - - // cout<<"Ho trovato un sta reco "< zMuMuToken_; - EDGetTokenT MuonsToken_; - EDGetTokenT MuonsMapToken_; - EDGetTokenT TracksToken_; - EDGetTokenT TracksMapToken_; - EDGetTokenT genParticlesToken_; - EDGetTokenT StandAloneToken_; - EDGetTokenT StandAloneMapToken_; - double etacut_, ptcut_, deltaRStacut_; - int nMuMC, nMureco, nTrk, nSta, nNotMuMatching; - vector v_; -}; - -DEFINE_FWK_MODULE(MCEfficiencyAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/MuTriggerAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/MuTriggerAnalyzer.cc deleted file mode 100644 index 05821ac5832ac..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/MuTriggerAnalyzer.cc +++ /dev/null @@ -1,219 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "TGraphAsymmErrors.h" -#include "TH1.h" -#include -#include -#include -using namespace std; -using namespace reco; -using namespace edm; - -/* -bool IsMuMatchedToHLTMu ( const reco::Candidate * dau, std::vector HLTMu , double DR, double DPtRel ) { - unsigned int dim = HLTMu.size(); - unsigned int nPass=0; - if (dim==0) return false; - for (unsigned int k =0; k< dim; k++ ) { - if ( (deltaR(HLTMu[k], *dau) < DR) && (fabs(HLTMu[k].pt() - dau->pt())/ HLTMu[k].pt()0); -} - -bool IsMuMatchedToHLTSingleMu ( const reco::Candidate * dau, reco::Particle HLTMu , double DR, double DPtRel ) { - unsigned int nPass=0; - if ( (deltaR(HLTMu, *dau) < DR) && (fabs(HLTMu.pt() - dau->pt())/ HLTMu.pt()0); -} - -*/ - -class MuTriggerAnalyzer : public edm::EDAnalyzer { -public: - MuTriggerAnalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - bool IsMuMatchedToHLTMu(const reco::Muon&, std::vector&, double, double); - - edm::EDGetTokenT trigToken_; - edm::InputTag trigEvTag_; - edm::EDGetTokenT trigEvToken_; - edm::EDGetTokenT > muonToken_; - double ptMuCut_, etaMuCut_; - std::string hltPath_; - std::string L3FilterName_; - edm::Handle triggerResults_; - edm::TriggerNames const* trigNames_; - edm::Handle handleTriggerEvent_; - - double maxDPtRel_, maxDeltaR_; - const int nbins_; - const double ptMax_; - TH1D* hTrigMuonPtNumS_; - TH1D* hTrigMuonPtDenS_; - TH1D* deltaR_; - TH1D* deltaPtOverPt_; -}; - -bool MuTriggerAnalyzer::IsMuMatchedToHLTMu(const reco::Muon& mu, - std::vector& HLTMu, - double DR, - double DPtRel) { - size_t dim = HLTMu.size(); - size_t nPass = 0; - - // filling the denumerator; - double muRecoPt = mu.pt(); - hTrigMuonPtDenS_->Fill(muRecoPt); - - if (dim == 0) - return false; - for (size_t k = 0; k < dim; k++) { - if ((deltaR(HLTMu[k], mu) < DR) && (fabs(HLTMu[k].pt() - mu.pt()) / HLTMu[k].pt() < DPtRel)) { - nPass++; - std::cout << " matching a muon " << std::endl; - std::cout << "muon reco pt : " << muRecoPt << std::endl; - std::cout << "muon reco eta " << mu.eta() << std::endl; - std::cout << "muon trigger pt " << HLTMu[k].pt() << std::endl; - // filling the numerator, at the same bin as the denum..... - hTrigMuonPtNumS_->Fill(muRecoPt); - deltaR_->Fill(deltaR(HLTMu[k], mu)); - deltaPtOverPt_->Fill(fabs(HLTMu[k].pt() - mu.pt()) / HLTMu[k].pt()); - - std::cout << "muon trigger eta : " << HLTMu[k].eta() << std::endl; - std::cout << "deltaR((HLTMu[k], mu)): " << deltaR(HLTMu[k], mu) << std::endl; - std::cout << "deltaPtOverPt: " << fabs(HLTMu[k].pt() - mu.pt()) / HLTMu[k].pt() << std::endl; - } - } - - return (nPass > 0); -} - -MuTriggerAnalyzer::MuTriggerAnalyzer(const edm::ParameterSet& cfg) - : trigToken_(consumes(cfg.getParameter("TrigTag"))), - trigEvTag_(cfg.getParameter("triggerEvent")), - trigEvToken_(consumes(trigEvTag_)), - muonToken_(consumes >(cfg.getUntrackedParameter("muons"))), - ptMuCut_(cfg.getUntrackedParameter("ptMuCut")), - etaMuCut_(cfg.getUntrackedParameter("etaMuCut")), - hltPath_(cfg.getParameter("hltPath")), - L3FilterName_(cfg.getParameter("L3FilterName")), - maxDPtRel_(cfg.getParameter("maxDPtRel")), - maxDeltaR_(cfg.getParameter("maxDeltaR")), - nbins_(cfg.getParameter("ptMax_")), - ptMax_(cfg.getParameter("ptMax_")) { - Service fs; - - hTrigMuonPtNumS_ = fs->make("hTrigMuonPtNumS", "hTrigMuonPtNumS", nbins_ + 1, 0, ptMax_); - hTrigMuonPtDenS_ = fs->make("hTrigMuonPtDenS", "hTrigMuonPtDenS", nbins_ + 1, 0, ptMax_); - deltaR_ = fs->make("deltaR", "deltaR", nbins_ + 1, 0, maxDeltaR_); - deltaPtOverPt_ = fs->make("deltaPtOverPt", "deltaPtOverPt", nbins_ + 1, 0, maxDPtRel_); -} - -void MuTriggerAnalyzer::endJob() { - for (int i = 0; i < nbins_ + 1; ++i) { - std::cout << "number of reco muon in bin " << i << " = " << hTrigMuonPtDenS_->GetBinContent(i) << std::endl; - std::cout << "number of hlt muon in bin " << i << " = " << hTrigMuonPtNumS_->GetBinContent(i) << std::endl; - } -} - -void MuTriggerAnalyzer::analyze(const Event& ev, const EventSetup&) { - // bool overlap = false; - - // Trigger - Handle triggerResults; - TriggerNames trigNames; - if (!ev.getByToken(trigToken_, triggerResults)) { - LogWarning("") << ">>> TRIGGER collection does not exist !!!"; - return; - } - // trigNames.init(*triggerResults); - trigNames_ = &ev.triggerNames(*triggerResults); - //bool trigger_fired = false; - for (unsigned int i = 0; i < triggerResults->size(); i++) { - std::string trigName = trigNames_->triggerName(i); - if (trigName == hltPath_ && triggerResults->accept(i)) { - //trigger_fired = true; - } - } - edm::Handle handleTriggerEvent; - // LogTrace("") << ">>> Trigger bit: " << trigger_fired << " (" << hltPath_ << ")"; - if (!ev.getByToken(trigEvToken_, handleTriggerEvent)) { - LogWarning("errorTriggerEventValid") << "trigger::TriggerEvent product with InputTag " << trigEvTag_.encode() - << " not in event"; - return; - } - const trigger::TriggerObjectCollection& toc(handleTriggerEvent->getObjects()); - size_t nMuHLT = 0; - std::vector HLTMuMatched; - for (size_t ia = 0; ia < handleTriggerEvent->sizeFilters(); ++ia) { - std::string fullname = handleTriggerEvent->filterTag(ia).encode(); - std::string name; - size_t p = fullname.find_first_of(':'); - if (p != std::string::npos) { - name = fullname.substr(0, p); - } else { - name = fullname; - } - if (!toc.empty()) { - const trigger::Keys& k = handleTriggerEvent->filterKeys(ia); - for (trigger::Keys::const_iterator ki = k.begin(); ki != k.end(); ++ki) { - if (name == L3FilterName_) { - HLTMuMatched.push_back(toc[*ki].particle()); - nMuHLT++; - } - } - } - } - - // looping on muon.... - Handle > muons; - if (!ev.getByToken(muonToken_, muons)) { - LogError("") << ">>> muon collection does not exist !!!"; - return; - } - //saving only muons with pt> ptMuCut and eta highPtGlbMuons; - - for (unsigned int i = 0; i < muons->size(); i++) { - const reco::Muon& mu = muons->at(i); - double pt = mu.pt(); - double eta = mu.eta(); - if (pt > ptMuCut_ && fabs(eta) < etaMuCut_) { - if (mu.isGlobalMuon()) - highPtGlbMuons.push_back(mu); - } - } - unsigned int nHighPtGlbMu = highPtGlbMuons.size(); - std::cout << "I've got " << nHighPtGlbMu << " nHighPtGlbMu" << std::endl; - // unsigned int nHighPtStaMu = highPtStaMuons.size(); - // stop the loop after 10 cicles.... - if (nHighPtGlbMu > 10) - nHighPtGlbMu = 10; - - for (unsigned int i = 0; i < nHighPtGlbMu; i++) { - IsMuMatchedToHLTMu(highPtGlbMuons[i], HLTMuMatched, maxDeltaR_, maxDPtRel_); - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(MuTriggerAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZGlobalVsSAIsolationAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZGlobalVsSAIsolationAnalyzer.cc deleted file mode 100644 index 502a21fbc340a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZGlobalVsSAIsolationAnalyzer.cc +++ /dev/null @@ -1,138 +0,0 @@ -#include "DataFormats/Common/interface/AssociationVector.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include -#include -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; - -class ZGlobalVsSAIsolationAnalyzer : public edm::EDAnalyzer { -public: - typedef math::XYZVector Vector; - ZGlobalVsSAIsolationAnalyzer(const edm::ParameterSet& cfg); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - EDGetTokenT srcToken_; - double dRVeto; - double dRTrk, dREcal, dRHcal; - double ptThreshold, etEcalThreshold, etHcalThreshold; - double alpha, beta; - double isoCut_; - unsigned long selGlobal_, selSA_, totGlobal_, totSA_; - bool isolated(const Direction& dir, - const pat::IsoDeposit* trkIsoDep, - const pat::IsoDeposit* ecalIsoDep, - const pat::IsoDeposit* hcalIsoDep); - void evaluate(const reco::Candidate* dau); -}; - -ZGlobalVsSAIsolationAnalyzer::ZGlobalVsSAIsolationAnalyzer(const ParameterSet& cfg) - : srcToken_(consumes(cfg.getParameter("src"))), - dRVeto(cfg.getParameter("veto")), - dRTrk(cfg.getParameter("deltaRTrk")), - dREcal(cfg.getParameter("deltaREcal")), - dRHcal(cfg.getParameter("deltaRHcal")), - ptThreshold(cfg.getParameter("ptThreshold")), - etEcalThreshold(cfg.getParameter("etEcalThreshold")), - etHcalThreshold(cfg.getParameter("etHcalThreshold")), - alpha(cfg.getParameter("alpha")), - beta(cfg.getParameter("beta")), - isoCut_(cfg.getParameter("isoCut")), - selGlobal_(0), - selSA_(0), - totGlobal_(0), - totSA_(0) {} - -bool ZGlobalVsSAIsolationAnalyzer::isolated(const Direction& dir, - const pat::IsoDeposit* trkIsoDep, - const pat::IsoDeposit* ecalIsoDep, - const pat::IsoDeposit* hcalIsoDep) { - IsoDeposit::AbsVetos vetoTrk, vetoEcal, vetoHcal; - vetoTrk.push_back(new ConeVeto(dir, dRVeto)); - vetoTrk.push_back(new ThresholdVeto(ptThreshold)); - vetoEcal.push_back(new ConeVeto(dir, 0.)); - vetoEcal.push_back(new ThresholdVeto(etEcalThreshold)); - vetoHcal.push_back(new ConeVeto(dir, 0.)); - vetoHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double trkIso = trkIsoDep->sumWithin(dir, dRTrk, vetoTrk); - double ecalIso = ecalIsoDep->sumWithin(dir, dREcal, vetoEcal); - double hcalIso = hcalIsoDep->sumWithin(dir, dRHcal, vetoHcal); - double iso = alpha * ((0.5 * (1 + beta) * ecalIso) + (0.5 * (1 - beta) * hcalIso)) + (1 - alpha) * trkIso; - return iso < isoCut_; -} - -void ZGlobalVsSAIsolationAnalyzer::evaluate(const reco::Candidate* dau) { - const pat::Muon* mu = dynamic_cast(&*dau->masterClone()); - if (mu == nullptr) - throw Exception(errors::InvalidReference) << "Daughter is not a muon!\n"; - const pat::IsoDeposit* trkIsoDep = mu->isoDeposit(pat::TrackIso); - const pat::IsoDeposit* ecalIsoDep = mu->isoDeposit(pat::EcalIso); - const pat::IsoDeposit* hcalIsoDep = mu->isoDeposit(pat::HcalIso); - // global muon - { - Direction dir = Direction(mu->eta(), mu->phi()); - if (isolated(dir, trkIsoDep, ecalIsoDep, hcalIsoDep)) - selGlobal_++; - totGlobal_++; - } - // stand-alone - { - TrackRef sa = dau->get(); - Direction dir = Direction(sa->eta(), sa->phi()); - if (isolated(dir, trkIsoDep, ecalIsoDep, hcalIsoDep)) - selSA_++; - totSA_++; - } -} - -void ZGlobalVsSAIsolationAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle dimuons; - event.getByToken(srcToken_, dimuons); - for (unsigned int i = 0; i < dimuons->size(); ++i) { - const Candidate& zmm = (*dimuons)[i]; - evaluate(zmm.daughter(0)); - evaluate(zmm.daughter(1)); - } -} - -void ZGlobalVsSAIsolationAnalyzer::endJob() { - cout << "Isolation efficiency report:" << endl; - double eff, err; - eff = double(selGlobal_) / double(totGlobal_); - err = sqrt(eff * (1. - eff) / double(totGlobal_)); - cout << "Global: " << selGlobal_ << "/" << totGlobal_ << " = " << eff << "+/-" << err << endl; - eff = double(selSA_) / double(totSA_); - err = sqrt(eff * (1. - eff) / double(totSA_)); - cout << "St.Al.: " << selSA_ << "/" << totSA_ << " = " << eff << "+/-" << err << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZGlobalVsSAIsolationAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZGoldenFilter.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZGoldenFilter.cc deleted file mode 100644 index 818789f258c17..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZGoldenFilter.cc +++ /dev/null @@ -1,196 +0,0 @@ -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Math/interface/deltaR.h" - -#include -using namespace std; -using namespace reco; -namespace edm { - class EventSetup; -} - -bool IsMuMatchedToHLTMu(const reco::Candidate* dau, std::vector HLTMu, double DR, double DPtRel) { - unsigned int dim = HLTMu.size(); - unsigned int nPass = 0; - if (dim == 0) - return false; - for (unsigned int k = 0; k < dim; k++) { - if ((deltaR(HLTMu[k], *dau) < DR) && (fabs(HLTMu[k].pt() - dau->pt()) / HLTMu[k].pt() < DPtRel)) { - nPass++; - } - } - return (nPass > 0); -} - -bool IsMuMatchedToHLTSingleMu(const reco::Candidate* dau, reco::Particle HLTMu, double DR, double DPtRel) { - unsigned int nPass = 0; - if ((deltaR(HLTMu, *dau) < DR) && (fabs(HLTMu.pt() - dau->pt()) / HLTMu.pt() < DPtRel)) { - nPass++; - } - return (nPass > 0); -} - -class ZGoldenFilter { -public: - ZGoldenFilter(const edm::ParameterSet&, edm::ConsumesCollector& iC); - bool operator()(const reco::Candidate&) const; - void newEvent(const edm::Event&, const edm::EventSetup&); - edm::EDGetTokenT trigToken_; - edm::InputTag trigEv_; - edm::EDGetTokenT trigEvToken_; - std::string cond_; - std::string hltPath_; - std::string L3FilterName_; - edm::Handle triggerResults_; - edm::TriggerNames const* trigNames_; - edm::Handle handleTriggerEvent_; - double maxDPtRel_, maxDeltaR_; -}; - -ZGoldenFilter::ZGoldenFilter(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC) - : trigToken_(iC.consumes(cfg.getParameter("TrigTag"))), - trigEv_(cfg.getParameter("triggerEvent")), - trigEvToken_(iC.consumes(trigEv_)), - cond_(cfg.getParameter("condition")), - hltPath_(cfg.getParameter("hltPath")), - L3FilterName_(cfg.getParameter("L3FilterName")), - maxDPtRel_(cfg.getParameter("maxDPtRel")), - maxDeltaR_(cfg.getParameter("maxDeltaR")) {} - -void ZGoldenFilter::newEvent(const edm::Event& ev, const edm::EventSetup&) { - if (!ev.getByToken(trigToken_, triggerResults_)) { - edm::LogWarning("") << ">>> TRIGGER collection does not exist !!!"; - return; - } - ev.getByToken(trigToken_, triggerResults_); - trigNames_ = &ev.triggerNames(*triggerResults_); - if (!ev.getByToken(trigEvToken_, handleTriggerEvent_)) { - edm::LogError("errorTriggerEventValid") - << "trigger::TriggerEvent product with InputTag " << trigEv_.encode() << " not in event"; - return; - } - ev.getByToken(trigEvToken_, handleTriggerEvent_); -} - -bool ZGoldenFilter::operator()(const reco::Candidate& z) const { - // int i = newEvent( edm::Event& const , edm::EventSetup& const ); - assert(z.numberOfDaughters() == 2); - bool singleTrigFlag0 = false; - bool singleTrigFlag1 = false; - bool exactlyOneTriggerFlag = false; - bool bothTriggerFlag = false; - bool atLeastOneTriggerFlag = false; - bool FirstTriggerFlag = false; - bool globalisTriggerFlag = false; - if ((((cond_ != "exactlyOneMatched" && cond_ != "atLeastOneMatched") && cond_ != "bothMatched") && - cond_ != "firstMatched") && - cond_ != "globalisMatched") - throw edm::Exception(edm::errors::Configuration) - << "Invalid condition type: " << cond_ << ". Valid types are:" - << " exactlyOneMatched, atLeastOneMatched, bothMatched, firstMatched,globalisMatched\n"; - const reco::Candidate* dau0 = z.daughter(0); - const reco::Candidate* dau1 = z.daughter(1); - const trigger::TriggerObjectCollection& toc(handleTriggerEvent_->getObjects()); - unsigned int nMuHLT = 0; - std::vector HLTMuMatched; - for (unsigned int ia = 0; ia < handleTriggerEvent_->sizeFilters(); ++ia) { - std::string fullname = handleTriggerEvent_->filterTag(ia).encode(); - std::string name; - size_t p = fullname.find_first_of(':'); - if (p != std::string::npos) { - name = fullname.substr(0, p); - } else { - name = fullname; - } - if (!toc.empty()) { - const trigger::Keys& k = handleTriggerEvent_->filterKeys(ia); - for (trigger::Keys::const_iterator ki = k.begin(); ki != k.end(); ++ki) { - if (name == L3FilterName_) { - HLTMuMatched.push_back(toc[*ki].particle()); - nMuHLT++; - } - } - } - } - /*trigger_fired is unused in all later code - bool trigger_fired = false; - for (unsigned int i=0; isize(); i++) { - std::string trigName = trigNames_->triggerName(i); - if ( trigName == hltPath_ && triggerResults_->accept(i)) trigger_fired = true; - }*/ - bool firstdismuon = (dau0->isGlobalMuon() ? true : false); - bool firstdisStandAlone = (dau0->isStandAloneMuon() ? true : false); - std::vector IsDau0Matched_; - std::vector IsDau1Matched_; - if (dau0 != nullptr) { - // checking if dau0 is matched to any HLT muon.... - singleTrigFlag0 = IsMuMatchedToHLTMu(dau0, HLTMuMatched, maxDeltaR_, maxDPtRel_); - - for (unsigned int y = 0; y < HLTMuMatched.size(); y++) { - IsDau0Matched_.push_back(IsMuMatchedToHLTSingleMu(dau0, HLTMuMatched[y], maxDeltaR_, maxDPtRel_)); - } - } - bool secondismuon = (dau1->isGlobalMuon() ? true : false); - bool secondisStandAlone = (dau1->isStandAloneMuon() ? true : false); - if (dau1 != nullptr && (secondismuon || secondisStandAlone)) { - singleTrigFlag1 = IsMuMatchedToHLTMu(dau1, HLTMuMatched, maxDeltaR_, maxDPtRel_); - for (unsigned int y = 0; y < HLTMuMatched.size(); y++) { - IsDau1Matched_.push_back(IsMuMatchedToHLTSingleMu(dau1, HLTMuMatched[y], maxDeltaR_, maxDPtRel_)); - } - } - if ((IsDau0Matched_.size() * IsDau1Matched_.size()) != 0) { - for (unsigned int y = 0; y < IsDau1Matched_.size(); y++) { - if (IsDau0Matched_[y] == true && IsDau1Matched_[y] == true) { - std::cout << "WARNING--> I'm matching the two muons to the same HLT muon....." << std::endl; - } - } - } - if (!singleTrigFlag0 && !singleTrigFlag1) - return false; - if ((singleTrigFlag0 && singleTrigFlag1) && secondismuon) - bothTriggerFlag = true; - if (((singleTrigFlag0 && !singleTrigFlag1) && secondismuon) || - ((!singleTrigFlag0 && singleTrigFlag1) && secondismuon)) - exactlyOneTriggerFlag = true; - if ((((singleTrigFlag0 && firstdismuon) && secondisStandAlone) && !secondismuon) || - (((singleTrigFlag1 && secondismuon) && firstdisStandAlone) && !firstdismuon)) - globalisTriggerFlag = true; - if ((singleTrigFlag0 && !singleTrigFlag1) && !secondismuon) - FirstTriggerFlag = true; - if ((singleTrigFlag0 || singleTrigFlag1) && secondismuon) - atLeastOneTriggerFlag = true; - if (cond_ == "exactlyOneMatched") - return exactlyOneTriggerFlag; - if (cond_ == "atLeastOneMatched") - return atLeastOneTriggerFlag; - if (cond_ == "bothMatched") - return bothTriggerFlag; - if (cond_ == "firstMatched") - return FirstTriggerFlag; - if (cond_ == "globalisMatched") - return globalisTriggerFlag; - return false; -} - -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "CommonTools/UtilAlgos/interface/AndSelector.h" -#include "CommonTools/UtilAlgos/interface/StringCutObjectSelector.h" -#include "CommonTools/UtilAlgos/interface/EventSetupInitTrait.h" - -EVENTSETUP_STD_INIT(ZGoldenFilter); - -typedef SingleObjectSelector, - AndSelector > > - ZGoldenSelectorAndFilter; - -DEFINE_FWK_MODULE(ZGoldenSelectorAndFilter); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZHLTMatchFilter.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZHLTMatchFilter.cc deleted file mode 100644 index 50cdb87af8d0a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZHLTMatchFilter.cc +++ /dev/null @@ -1,103 +0,0 @@ -/* \class ZHLTFilter - * - * \author Pasquale Noli, Universita' di Napoli & INFN Napoli - * - */ -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include -using namespace std; -namespace modules { - struct ZHLTMatchFilter { - ZHLTMatchFilter(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC) - : cond_(cfg.getParameter("condition")), hltPath_(cfg.getParameter("hltPath")) {} - bool operator()(const reco::Candidate& z) const { - assert(z.numberOfDaughters() == 2); - bool singleTrigFlag0 = false; - bool singleTrigFlag1 = false; - bool exactlyOneTriggerFlag = false; - bool bothTriggerFlag = false; - bool atLeastOneTriggerFlag = false; - bool FirstTriggerFlag = false; - bool globalisTriggerFlag = false; - if ((((cond_ != "exactlyOneMatched" && cond_ != "atLeastOneMatched") && cond_ != "bothMatched") && - cond_ != "firstMatched") && - cond_ != "globalisMatched") - throw edm::Exception(edm::errors::Configuration) - << "Invalid condition type: " << cond_ << ". Valid types are:" - << " exactlyOneMatched, atLeastOneMatched, bothMatched, firstMatched,globalisMatched\n"; - const reco::Candidate* dau0 = z.daughter(0); - const reco::Candidate* m0 = &*dau0->masterClone(); - const pat::Muon* mu0 = dynamic_cast(m0); //cast in patMuon - bool firstismuon = (dau0->isGlobalMuon() ? true : false); - bool firstisStandAlone = (dau0->isStandAloneMuon() ? true : false); - bool firstisTrackerMuon = (dau0->isTrackerMuon() ? true : false); - if (mu0 != nullptr && (firstismuon || firstisStandAlone || firstisTrackerMuon)) { - // get the vector of trigger objects matched to the muon corresponding to hltPath_ - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = mu0->triggerObjectMatchesByPath(hltPath_); - - int dimTrig0 = mu0HLTMatches.size(); - if (dimTrig0 != 0) { - singleTrigFlag0 = true; - } - } - const reco::Candidate* dau1 = z.daughter(1); - const reco::Candidate* m1 = &*dau1->masterClone(); - bool secondismuon = (dau1->isGlobalMuon() ? true : false); - bool secondisStandAlone = (dau1->isStandAloneMuon() ? true : false); - bool secondisTrackerMuon = (dau1->isTrackerMuon() ? true : false); - const pat::Muon* mu1 = dynamic_cast(m1); - if (mu1 != nullptr && (secondismuon || secondisStandAlone || secondisTrackerMuon)) { - // get the vector of trigger objects matched to the muon corresponding to hltPath_ - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = mu1->triggerObjectMatchesByPath(hltPath_); - - int dimTrig1 = mu1HLTMatches.size(); - if (dimTrig1 != 0) { - singleTrigFlag1 = true; - } - } - if (!singleTrigFlag0 && !singleTrigFlag1) - return false; - if ((singleTrigFlag0 && singleTrigFlag1) && firstismuon && secondismuon) - bothTriggerFlag = true; - if (((singleTrigFlag0 && !singleTrigFlag1) && firstismuon && secondismuon) || - ((!singleTrigFlag0 && singleTrigFlag1) && firstismuon && secondismuon)) - exactlyOneTriggerFlag = true; - if ((((singleTrigFlag0 && firstismuon) && (secondisStandAlone || secondisTrackerMuon)) && !secondismuon) || - (((singleTrigFlag1 && secondismuon) && (firstisStandAlone || firstisTrackerMuon)) && !firstismuon)) - globalisTriggerFlag = true; - - if ((singleTrigFlag0 && !singleTrigFlag1) && !secondismuon) - FirstTriggerFlag = true; - if ((singleTrigFlag0 || singleTrigFlag1) && firstismuon && secondismuon) - atLeastOneTriggerFlag = true; - if (cond_ == "exactlyOneMatched") - return exactlyOneTriggerFlag; - if (cond_ == "atLeastOneMatched") - return atLeastOneTriggerFlag; - if (cond_ == "bothMatched") - return bothTriggerFlag; - if (cond_ == "firstMatched") - return FirstTriggerFlag; - if (cond_ == "globalisMatched") - return globalisTriggerFlag; - - return false; - } - - private: - std::string cond_; - std::string hltPath_; - }; -} // namespace modules - -typedef SingleObjectSelector, modules::ZHLTMatchFilter> ZHLTMatchFilter; - -DEFINE_FWK_MODULE(ZHLTMatchFilter); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZHistogrammer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZHistogrammer.cc deleted file mode 100644 index 6b3f9c15639c3..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZHistogrammer.cc +++ /dev/null @@ -1,216 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "TH1.h" - -class ZHistogrammer : public edm::EDAnalyzer { -public: - ZHistogrammer(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - edm::EDGetTokenT zToken_; - edm::EDGetTokenT genToken_; - edm::EDGetTokenT matchToken_; - unsigned int nbinsMass_, nbinsPt_, nbinsAng_, nbinsMassRes_; - double massMax_, ptMax_, angMax_, massResMax_; - TH1F *h_nZ_, *h_mZ_, *h_ptZ_, *h_phiZ_, *h_thetaZ_, *h_etaZ_, *h_rapidityZ_; - TH1F *h_invmMuMu_; - TH1F *h_nZMC_, *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *h_invmMuMuMC_; - //TH1F *h_mZ2vs3MC_, *h_ptZ2vs3MC_, *h_phiZ2vs3MC_, *h_thetaZ2vs3MC_, *h_etaZ2vs3MC_, *h_rapidityZ2vs3MC_; - TH1F *h_mResZ_, *h_ptResZ_, *h_phiResZ_, *h_thetaResZ_, *h_etaResZ_, *h_rapidityResZ_; - TH1F *h_mResZMuMu_, *h_mRatioZMuMu_; - TH1F *h_mResZMuMuMC_, *h_mRatioZMuMuMC_; -}; - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -ZHistogrammer::ZHistogrammer(const ParameterSet &pset) - : zToken_(consumes(pset.getParameter("z"))), - genToken_(consumes(pset.getParameter("gen"))), - matchToken_(consumes(pset.getParameter("match"))), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - nbinsMassRes_(pset.getUntrackedParameter("nbinsMassRes")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - massResMax_(pset.getUntrackedParameter("massResMax")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - TFileDirectory ZHisto = fs->mkdir("ZRecoHisto"); - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - TFileDirectory ZResHisto = fs->mkdir("ZResolutionHisto"); - //TFileDirectory Z2vs3MCHisto = fs->mkdir( "Z2vs3MCHisto" ); - h_nZ_ = ZHisto.make("ZNumber", "number of Z particles", 11, -0.5, 10.5); - h_mZ_ = ZHisto.make("ZMass", "Z mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZ_ = ZHisto.make("ZPt", "Z p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - h_phiZ_ = ZHisto.make("ZPhi", "Z #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZ_ = ZHisto.make("Ztheta", "Z #theta", nbinsAng_, 0, angMax_); - h_etaZ_ = ZHisto.make("ZEta", "Z #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZ_ = ZHisto.make("ZRapidity", "Z rapidity", nbinsAng_, -angMax_, angMax_); - h_invmMuMu_ = ZHisto.make("MuMuMass", "#mu #mu invariant mass", nbinsMass_, 0, massMax_); - h_nZMC_ = ZMCHisto.make("ZMCNumber", "number of Z MC particles", 11, -0.5, 10.5); - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC rapidity", nbinsAng_, -angMax_, angMax_); - h_invmMuMuMC_ = ZMCHisto.make("MuMuMCMass", "#mu #mu MC invariant mass", nbinsMass_, 0, massMax_); - /* - h_mZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCMass", "Z MC st 2 vs st 3 mass (GeV/c^{2})", - nbinsMassRes_, -massResMax_, massResMax_); - h_ptZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCPt", "Z MC st 2 vs st 3 p_{t} (GeV/c)", - nbinsPt_, -ptMax_, ptMax_); - h_phiZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCPhi", "Z MC st 2 vs st 3 #phi", - nbinsAng_, -angMax_, angMax_); - h_thetaZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCTheta", "Z MC st 2 vs st 3 #theta", - nbinsAng_, -angMax_, angMax_); - h_etaZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCEta", "Z MC st 2 vs st 3 #eta", - nbinsAng_, -angMax_, angMax_); - h_rapidityZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCRapidity", "Z MC st 2 vs st 3 rapidity", - nbinsAng_, -angMax_, angMax_); - */ - h_mResZ_ = ZResHisto.make( - "ZMassResolution", "Z mass Resolution (GeV/c^{2})", nbinsMassRes_, -massResMax_, massResMax_); - h_ptResZ_ = ZResHisto.make("ZPtResolution", "Z p_{t} Resolution (GeV/c)", nbinsPt_, -ptMax_, ptMax_); - h_phiResZ_ = ZResHisto.make("ZPhiResolution", "Z #phi Resolution", nbinsAng_, -angMax_, angMax_); - h_thetaResZ_ = ZResHisto.make("ZThetaResolution", "Z #theta Resolution", nbinsAng_, -angMax_, angMax_); - h_etaResZ_ = ZResHisto.make("ZEtaResolution", "Z #eta Resolution", nbinsAng_, -angMax_, angMax_); - h_rapidityResZ_ = ZResHisto.make("ZRapidityResolution", "Z rapidity Resolution", nbinsAng_, -angMax_, angMax_); - h_mResZMuMu_ = ZResHisto.make("ZToMuMuRecoMassResolution", - "Z Reco vs matched final state #mu #mu mass Difference (GeV/c^{2})", - nbinsMassRes_, - -massResMax_, - massResMax_); - h_mRatioZMuMu_ = - ZResHisto.make("ZToMuMuRecoMassRatio", "Z Reco vs matched final state #mu #mu mass Ratio", 4000, 0, 2); - h_mResZMuMuMC_ = ZResHisto.make("ZToMuMuMCMassResolution", - "Z vs final state #mu #mu MC mass Difference (GeV/c^{2})", - nbinsMassRes_ / 2 + 1, - -2 * massResMax_ / nbinsMassRes_, - massResMax_); - h_mRatioZMuMuMC_ = - ZResHisto.make("ZToMuMuMCMassRatio", "Z vs final state #mu #mu MC mass Ratio", 2002, 0.999, 2); -} - -void ZHistogrammer::analyze(const edm::Event &event, const edm::EventSetup &setup) { - cout << ">>> Z Histogrammer analyze" << endl; - Handle z; - Handle gen; - Handle match; - event.getByToken(zToken_, z); - event.getByToken(genToken_, gen); - event.getByToken(matchToken_, match); - h_nZ_->Fill(z->size()); - for (unsigned int i = 0; i < z->size(); ++i) { - const Candidate &zCand = (*z)[i]; - h_mZ_->Fill(zCand.mass()); - h_ptZ_->Fill(zCand.pt()); - h_phiZ_->Fill(zCand.phi()); - h_thetaZ_->Fill(zCand.theta()); - h_etaZ_->Fill(zCand.eta()); - h_rapidityZ_->Fill(zCand.rapidity()); - CandidateRef zCandRef(z, i); - CandidateRef zMCMatch = (*match)[zCandRef]; - if (zMCMatch.isNonnull() && zMCMatch->pdgId() == 23) { - h_mResZ_->Fill(zCandRef->mass() - zMCMatch->mass()); - h_ptResZ_->Fill(zCandRef->pt() - zMCMatch->pt()); - h_phiResZ_->Fill(zCandRef->phi() - zMCMatch->phi()); - h_thetaResZ_->Fill(zCandRef->theta() - zMCMatch->theta()); - h_etaResZ_->Fill(zCandRef->eta() - zMCMatch->eta()); - h_rapidityResZ_->Fill(zCandRef->rapidity() - zMCMatch->rapidity()); - const Candidate *dau0 = zMCMatch->daughter(0); - const Candidate *dau1 = zMCMatch->daughter(1); - for (unsigned int i0 = 0; i0 < dau0->numberOfDaughters(); ++i0) { - const Candidate *ddau0 = dau0->daughter(i0); - if (abs(ddau0->pdgId()) == 13 && ddau0->status() == 1) { - dau0 = ddau0; - break; - } - } - for (unsigned int i1 = 0; i1 < dau1->numberOfDaughters(); ++i1) { - const Candidate *ddau1 = dau1->daughter(i1); - if (abs(ddau1->pdgId()) == 13 && ddau1->status() == 1) { - dau1 = ddau1; - break; - } - } - assert(abs(dau0->pdgId()) == 13 && dau0->status() == 1); - assert(abs(dau1->pdgId()) == 13 && dau1->status() == 1); - double invMass = (dau0->p4() + dau1->p4()).mass(); - h_invmMuMu_->Fill(invMass); - h_mResZMuMu_->Fill(zCand.mass() - invMass); - h_mRatioZMuMu_->Fill(zCand.mass() / invMass); - } - } - h_nZMC_->Fill(gen->size()); - for (unsigned int i = 0; i < gen->size(); ++i) { - const Candidate &genCand = (*gen)[i]; - if ((genCand.pdgId() == 23) && (genCand.status() == 2)) //this is an intermediate Z0 - cout << ">>> intermediate Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - if ((genCand.pdgId() == 23) && (genCand.status() == 3)) { //this is a Z0 - cout << ">>> Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - h_mZMC_->Fill(genCand.mass()); - h_ptZMC_->Fill(genCand.pt()); - h_phiZMC_->Fill(genCand.phi()); - h_thetaZMC_->Fill(genCand.theta()); - h_etaZMC_->Fill(genCand.eta()); - h_rapidityZMC_->Fill(genCand.rapidity()); - Particle::LorentzVector pZ(0, 0, 0, 0); - int nMu = 0; - for (unsigned int j = 0; j < genCand.numberOfDaughters(); ++j) { - const Candidate *dauGen = genCand.daughter(j); - /* - if((dauGen->pdgId() == 23) && (dauGen->status() == 2)) { - h_mZ2vs3MC_->Fill(genCand.mass() - dauGen->mass()); - h_ptZ2vs3MC_->Fill(genCand.pt() - dauGen->pt()); - h_phiZ2vs3MC_->Fill(genCand.phi() - dauGen->phi()); - h_thetaZ2vs3MC_->Fill(genCand.theta() - dauGen->theta()); - h_etaZ2vs3MC_->Fill(genCand.eta() - dauGen->eta()); - h_rapidityZ2vs3MC_->Fill(genCand.rapidity() - dauGen->rapidity()); - } - */ - if ((abs(dauGen->pdgId()) == 13) && (dauGen->numberOfDaughters() != 0)) { - //we are looking for photons of final state radiation - cout << ">>> The muon " << j << " has " << dauGen->numberOfDaughters() << " daughters" << endl; - for (unsigned int k = 0; k < dauGen->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen->daughter(k); - cout << ">>> Mu " << j << " daughter MC " << k << " PDG Id " << dauMuGen->pdgId() << ", status " - << dauMuGen->status() << ", charge " << dauMuGen->charge() << endl; - if (abs(dauMuGen->pdgId()) == 13 && dauMuGen->status() == 1) { - pZ += dauMuGen->p4(); - nMu++; - } - } - } - } - assert(nMu == 2); - double mZ = pZ.mass(); - h_invmMuMuMC_->Fill(mZ); - h_mResZMuMuMC_->Fill(genCand.mass() - mZ); - h_mRatioZMuMuMC_->Fill(genCand.mass() / mZ); - } - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZHistogrammer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZLONLOHistogrammer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZLONLOHistogrammer.cc deleted file mode 100644 index 4ba3347ac9133..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZLONLOHistogrammer.cc +++ /dev/null @@ -1,220 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "TH1.h" - -class ZLONLOHistogrammer : public edm::EDAnalyzer { -public: - ZLONLOHistogrammer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - edm::EDGetTokenT genToken_; - edm::EDGetTokenT weightsToken_; - unsigned int nbinsMass_, nbinsPt_, nbinsAng_; - double massMax_, ptMax_, angMax_; - double accPtMin_, accMassMin_, accMassMax_, accEtaMin_, accEtaMax_; - TH1F *h_nZ_, *h_mZ_, *h_ptZ_, *h_phiZ_, *h_thetaZ_, *h_etaZ_, *h_rapidityZ_; - TH1F *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *hardpt, *softpt, *hardeta, *softeta; - TH1F* h_weight_histo; - bool isMCatNLO_; - unsigned int nAcc_, nBothMuHasZHasGrandMa_; -}; - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include "HepMC/WeightContainer.h" -#include "HepMC/GenEvent.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -ZLONLOHistogrammer::ZLONLOHistogrammer(const ParameterSet& pset) - : genToken_(consumes(pset.getParameter("genParticles"))), - weightsToken_(consumes(pset.getParameter("weights"))), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - accPtMin_(pset.getUntrackedParameter("accPtMin")), - accMassMin_(pset.getUntrackedParameter("accMassMin")), - accMassMax_(pset.getUntrackedParameter("accMassMax")), - accEtaMin_(pset.getUntrackedParameter("accEtaMin")), - accEtaMax_(pset.getUntrackedParameter("accEtaMax")), - isMCatNLO_(pset.getUntrackedParameter("isMCatNLO")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - TFileDirectory ZHisto = fs->mkdir("ZRecHisto"); - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - h_nZ_ = ZHisto.make("ZNumber", "number of Z particles", 11, -0.5, 10.5); - h_mZ_ = ZHisto.make("ZMass", "Z mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZ_ = ZHisto.make("ZPt", "Z p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - h_phiZ_ = ZHisto.make("ZPhi", "Z #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZ_ = ZHisto.make("Ztheta", "Z #theta", nbinsAng_, 0, angMax_); - h_etaZ_ = ZHisto.make("ZEta", "Z #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZ_ = ZHisto.make("ZRapidity", "Z rapidity", nbinsAng_, -angMax_, angMax_); - h_weight_histo = ZMCHisto.make("weight_histo", "weight_histo", 20, -10, 10); - - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - hardpt = ZMCHisto.make("hardpt", "hard muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - softpt = ZMCHisto.make("softpt", "soft muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC y", nbinsAng_, -angMax_, angMax_); - - hardeta = ZMCHisto.make("hard muon eta", "hard muon #eta", nbinsAng_, -angMax_, angMax_); - softeta = ZMCHisto.make("soft muon eta", "soft muon #eta", nbinsAng_, -angMax_, angMax_); - nAcc_ = 0; - nBothMuHasZHasGrandMa_ = 0; -} - -void ZLONLOHistogrammer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - cout << ">>> Z Histogrammer analyze" << endl; - - Handle gen; - Handle weights; - - event.getByToken(genToken_, gen); - event.getByToken(weightsToken_, weights); - - // get weight and fill it to histogram - - double weight = *weights; - if (!weight) - weight = 1.; - h_weight_histo->Fill(weight); - - if (isMCatNLO_) { - weight > 0 ? weight = 1. : weight = -1.; - } - - std::vector muons; - if (!isMCatNLO_) { - // LO.... - for (unsigned int i = 0; i < gen->size(); ++i) { - const GenParticle& muMC = (*gen)[i]; - // filling only muons coming form Z - if (abs(muMC.pdgId()) == 13 && muMC.status() == 1 && muMC.numberOfMothers() > 0) { - if (muMC.mother()->numberOfMothers() > 0) { - cout << "I'm getting a muon \n" - << "with " - << "muMC.numberOfMothers() " << muMC.numberOfMothers() << "\n the first mother has pdgId " - << muMC.mother()->pdgId() << "with " - << "muMC.mother()->numberOfMothers() " << muMC.mother()->numberOfMothers() - << "\n the first grandma has pdgId " << muMC.mother()->mother()->pdgId() << endl; - if (muMC.mother()->mother()->pdgId() == 23) - muons.push_back(muMC); - } - } - } - } else { - // NLO - for (unsigned int i = 0; i < gen->size(); ++i) { - const GenParticle& muMC = (*gen)[i]; - if (abs(muMC.pdgId()) == 13 && muMC.status() == 1 && muMC.numberOfMothers() > 0) { - if (muMC.mother()->numberOfMothers() > 0) { - cout << "I'm getting a muon \n" - << "with " - << "muMC.numberOfMothers() " << muMC.numberOfMothers() << "\n the first mother has pdgId " - << muMC.mother()->pdgId() << "with " - << "muMC.mother()->numberOfMothers() " << muMC.mother()->numberOfMothers() - << "\n the first grandma has pdgId " << muMC.mother()->mother()->pdgId() << endl; - // filling withoput requiring that the grandma is a Z...... sometimes the grandma are still muons, otherwise those are fake muons, but the first two are always the desired muons.... - muons.push_back(muMC); - } - } - } - } - - cout << "finally I selected " << muons.size() << " muons" << endl; - - // if there are at least two muons, - // calculate invarant mass of first two and fill it into histogram - - //if isMCatNLO_...... - - double inv_mass = 0.0; - double Zpt_ = 0.0; - double Zeta_ = 0.0; - double Ztheta_ = 0.0; - double Zphi_ = 0.0; - double Zrapidity_ = 0.0; - - if (muons.size() > 1) { - if (muons[0].mother()->mother()->pdgId() == 23 && muons[1].mother()->mother()->pdgId() == 23) - nBothMuHasZHasGrandMa_++; - math::XYZTLorentzVector tot_momentum(muons[0].p4()); - math::XYZTLorentzVector mom2(muons[1].p4()); - tot_momentum += mom2; - inv_mass = sqrt(tot_momentum.mass2()); - Zpt_ = tot_momentum.pt(); - Zeta_ = tot_momentum.eta(); - Ztheta_ = tot_momentum.theta(); - Zphi_ = tot_momentum.phi(); - Zrapidity_ = tot_momentum.Rapidity(); - - // IMPORTANT: use the weight of the event ... - - double weight_sign = (weight > 0) ? 1. : -1.; - //double weight_sign = 1. ; - h_mZMC_->Fill(inv_mass, weight_sign); - h_ptZMC_->Fill(Zpt_, weight_sign); - h_etaZMC_->Fill(Zeta_, weight_sign); - h_thetaZMC_->Fill(Ztheta_, weight_sign); - h_phiZMC_->Fill(Zphi_, weight_sign); - h_rapidityZMC_->Fill(Zrapidity_, weight_sign); - - double pt1 = muons[0].pt(); - double pt2 = muons[1].pt(); - double eta1 = muons[0].eta(); - double eta2 = muons[1].eta(); - - if (pt1 > pt2) { - hardpt->Fill(pt1, weight_sign); - softpt->Fill(pt2, weight_sign); - hardeta->Fill(eta1, weight_sign); - softeta->Fill(eta2, weight_sign); - } else { - hardpt->Fill(pt2, weight_sign); - softpt->Fill(pt1, weight_sign); - hardeta->Fill(eta2, weight_sign); - softeta->Fill(eta1, weight_sign); - } - - //evaluating the geometric acceptance - if (pt1 >= accPtMin_ && pt2 >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) - nAcc_++; - } -} - -void ZLONLOHistogrammer::endJob() { - cout << " number of events accepted :" << nAcc_ << endl; - cout << " number of total events :" << h_mZMC_->GetEntries() << endl; - cout << " number of cases in which BothMuHasZHasGrandMa :" << nBothMuHasZHasGrandMa_ << endl; - double eff = (double)nAcc_ / (double)h_mZMC_->GetEntries(); - double err = sqrt(eff * (1. - eff) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance: " << eff << "+/-" << err << endl; -} -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZLONLOHistogrammer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMCHistogrammer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMCHistogrammer.cc deleted file mode 100644 index da6fed31a39d1..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMCHistogrammer.cc +++ /dev/null @@ -1,243 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" -#include "TH1.h" - -class ZMCHistogrammer : public edm::EDAnalyzer { -public: - ZMCHistogrammer(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - edm::EDGetTokenT zToken_; - edm::EDGetTokenT genToken_; - edm::EDGetTokenT > matchToken_; - edm::EDGetTokenT hepMCProductToken_; - unsigned int nbinsMass_, nbinsPt_, nbinsAng_, nbinsMassRes_; - double massMax_, ptMax_, angMax_, massResMax_; - TH1F *h_nZ_, *h_mZ_, *h_ptZ_, *h_phiZ_, *h_thetaZ_, *h_etaZ_, *h_rapidityZ_; - TH1F *h_invmMuMu_; - TH1F *h_nZMC_, *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *h_invmMuMuMC_, *h_weight_histo; - //TH1F *h_mZ2vs3MC_, *h_ptZ2vs3MC_, *h_phiZ2vs3MC_, *h_thetaZ2vs3MC_, *h_etaZ2vs3MC_, *h_rapidityZ2vs3MC_; - TH1F *h_mResZ_, *h_ptResZ_, *h_phiResZ_, *h_thetaResZ_, *h_etaResZ_, *h_rapidityResZ_; - TH1F *h_mResZMuMu_, *h_mRatioZMuMu_; - TH1F *h_mResZMuMuMC_, *h_mRatioZMuMuMC_; - bool isMCatNLO_; -}; - -#include "DataFormats/Candidate/interface/CandMatchMap.h" - -#include "HepMC/WeightContainer.h" -#include "HepMC/GenEvent.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -ZMCHistogrammer::ZMCHistogrammer(const ParameterSet &pset) - : zToken_(consumes(pset.getParameter("z"))), - genToken_(consumes(pset.getParameter("gen"))), - matchToken_(consumes >(pset.getParameter("match"))), - hepMCProductToken_(consumes(pset.getParameter("hepMCProductTag"))), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - nbinsMassRes_(pset.getUntrackedParameter("nbinsMassRes")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - massResMax_(pset.getUntrackedParameter("massResMax")), - isMCatNLO_(pset.getUntrackedParameter("isMCatNLO")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - TFileDirectory ZHisto = fs->mkdir("ZRecoHisto"); - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - TFileDirectory ZResHisto = fs->mkdir("ZResolutionHisto"); - //TFileDirectory Z2vs3MCHisto = fs->mkdir( "Z2vs3MCHisto" ); - h_nZ_ = ZHisto.make("ZNumber", "number of Z particles", 11, -0.5, 10.5); - h_mZ_ = ZHisto.make("ZMass", "Z mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZ_ = ZHisto.make("ZPt", "Z p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - h_phiZ_ = ZHisto.make("ZPhi", "Z #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZ_ = ZHisto.make("Ztheta", "Z #theta", nbinsAng_, 0, angMax_); - h_etaZ_ = ZHisto.make("ZEta", "Z #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZ_ = ZHisto.make("ZRapidity", "Z rapidity", nbinsAng_, -angMax_, angMax_); - h_invmMuMu_ = ZHisto.make("MuMuMass", "#mu #mu invariant mass", nbinsMass_, 0, massMax_); - h_weight_histo = ZHisto.make("weight_histo", "weight_histo", 20, -10, 10); - h_nZMC_ = ZMCHisto.make("ZMCNumber", "number of Z MC particles", 11, -0.5, 10.5); - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC rapidity", nbinsAng_, -angMax_, angMax_); - h_invmMuMuMC_ = ZMCHisto.make("MuMuMCMass", "#mu #mu MC invariant mass", nbinsMass_, 0, massMax_); - /* - h_mZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCMass", "Z MC st 2 vs st 3 mass (GeV/c^{2})", - nbinsMassRes_, -massResMax_, massResMax_); - h_ptZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCPt", "Z MC st 2 vs st 3 p_{t} (GeV/c)", - nbinsPt_, -ptMax_, ptMax_); - h_phiZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCPhi", "Z MC st 2 vs st 3 #phi", - nbinsAng_, -angMax_, angMax_); - h_thetaZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCTheta", "Z MC st 2 vs st 3 #theta", - nbinsAng_, -angMax_, angMax_); - h_etaZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCEta", "Z MC st 2 vs st 3 #eta", - nbinsAng_, -angMax_, angMax_); - h_rapidityZ2vs3MC_ = Z2vs3MCHisto.make("Z2vs3MCRapidity", "Z MC st 2 vs st 3 rapidity", - nbinsAng_, -angMax_, angMax_); - */ - h_mResZ_ = ZResHisto.make( - "ZMassResolution", "Z mass Resolution (GeV/c^{2})", nbinsMassRes_, -massResMax_, massResMax_); - h_ptResZ_ = ZResHisto.make("ZPtResolution", "Z p_{t} Resolution (GeV/c)", nbinsPt_, -ptMax_, ptMax_); - h_phiResZ_ = ZResHisto.make("ZPhiResolution", "Z #phi Resolution", nbinsAng_, -angMax_, angMax_); - h_thetaResZ_ = ZResHisto.make("ZThetaResolution", "Z #theta Resolution", nbinsAng_, -angMax_, angMax_); - h_etaResZ_ = ZResHisto.make("ZEtaResolution", "Z #eta Resolution", nbinsAng_, -angMax_, angMax_); - h_rapidityResZ_ = ZResHisto.make("ZRapidityResolution", "Z rapidity Resolution", nbinsAng_, -angMax_, angMax_); - h_mResZMuMu_ = ZResHisto.make("ZToMuMuRecoMassResolution", - "Z Reco vs matched final state #mu #mu mass Difference (GeV/c^{2})", - nbinsMassRes_, - -massResMax_, - massResMax_); - h_mRatioZMuMu_ = - ZResHisto.make("ZToMuMuRecoMassRatio", "Z Reco vs matched final state #mu #mu mass Ratio", 4000, 0, 2); - h_mResZMuMuMC_ = ZResHisto.make("ZToMuMuMCMassResolution", - "Z vs final state #mu #mu MC mass Difference (GeV/c^{2})", - nbinsMassRes_ / 2 + 1, - -2 * massResMax_ / nbinsMassRes_, - massResMax_); - h_mRatioZMuMuMC_ = - ZResHisto.make("ZToMuMuMCMassRatio", "Z vs final state #mu #mu MC mass Ratio", 2002, 0.999, 2); -} - -void ZMCHistogrammer::analyze(const edm::Event &event, const edm::EventSetup &setup) { - cout << ">>> Z Histogrammer analyze" << endl; - Handle z; - Handle gen; - Handle > match; - event.getByToken(zToken_, z); - event.getByToken(genToken_, gen); - event.getByToken(matchToken_, match); - h_nZ_->Fill(z->size()); - - // get HepMC::GenEvent ... - Handle evt_h; - event.getByToken(hepMCProductToken_, evt_h); - HepMC::GenEvent *evt = new HepMC::GenEvent(*(evt_h->GetEvent())); - - // get weight and fill it to histogram - HepMC::WeightContainer weights = evt->weights(); - double weight = weights.front(); - if (!weight) - weight = 1.; - h_weight_histo->Fill(weight); - - if (isMCatNLO_) { - weight > 0 ? weight = 1. : weight = -1.; - } - - for (unsigned int i = 0; i < z->size(); ++i) { - const Candidate &zCand = (*z)[i]; - h_mZ_->Fill(zCand.mass(), weight); - h_ptZ_->Fill(zCand.pt(), weight); - h_phiZ_->Fill(zCand.phi(), weight); - h_thetaZ_->Fill(zCand.theta(), weight); - h_etaZ_->Fill(zCand.eta(), weight); - h_rapidityZ_->Fill(zCand.rapidity(), weight); - CandidateBaseRef zCandRef = z->refAt(i); - - GenParticleRef zMCMatch = (*match)[i]; - if (zMCMatch.isNonnull() && zMCMatch->pdgId() == 23) { - h_mResZ_->Fill(zCandRef->mass() - zMCMatch->mass()); - h_ptResZ_->Fill(zCandRef->pt() - zMCMatch->pt()); - h_phiResZ_->Fill(zCandRef->phi() - zMCMatch->phi()); - h_thetaResZ_->Fill(zCandRef->theta() - zMCMatch->theta()); - h_etaResZ_->Fill(zCandRef->eta() - zMCMatch->eta()); - h_rapidityResZ_->Fill(zCandRef->rapidity() - zMCMatch->rapidity()); - const Candidate *dau0 = zMCMatch->daughter(0); - const Candidate *dau1 = zMCMatch->daughter(1); - for (unsigned int i0 = 0; i0 < dau0->numberOfDaughters(); ++i0) { - const Candidate *ddau0 = dau0->daughter(i0); - if (abs(ddau0->pdgId()) == 13 && ddau0->status() == 1) { - dau0 = ddau0; - break; - } - } - for (unsigned int i1 = 0; i1 < dau1->numberOfDaughters(); ++i1) { - const Candidate *ddau1 = dau1->daughter(i1); - if (abs(ddau1->pdgId()) == 13 && ddau1->status() == 1) { - dau1 = ddau1; - break; - } - } - assert(abs(dau0->pdgId()) == 13 && dau0->status() == 1); - assert(abs(dau1->pdgId()) == 13 && dau1->status() == 1); - double invMass = (dau0->p4() + dau1->p4()).mass(); - h_invmMuMu_->Fill(invMass, weight); - h_mResZMuMu_->Fill(zCand.mass() - invMass); - h_mRatioZMuMu_->Fill(zCand.mass() / invMass); - } - } - h_nZMC_->Fill(gen->size()); - for (unsigned int i = 0; i < gen->size(); ++i) { - const Candidate &genCand = (*gen)[i]; - if ((genCand.pdgId() == 23) && (genCand.status() == 2)) //this is an intermediate Z0 - cout << ">>> intermediate Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - if ((genCand.pdgId() == 23) && (genCand.status() == 3)) { //this is a Z0 - cout << ">>> Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - h_mZMC_->Fill(genCand.mass(), weight); - h_ptZMC_->Fill(genCand.pt(), weight); - h_phiZMC_->Fill(genCand.phi(), weight); - h_thetaZMC_->Fill(genCand.theta(), weight); - h_etaZMC_->Fill(genCand.eta(), weight); - h_rapidityZMC_->Fill(genCand.rapidity(), weight); - Particle::LorentzVector pZ(0, 0, 0, 0); - int nMu = 0; - for (unsigned int j = 0; j < genCand.numberOfDaughters(); ++j) { - const Candidate *dauGen = genCand.daughter(j); - /* - if((dauGen->pdgId() == 23) && (dauGen->status() == 2)) { - h_mZ2vs3MC_->Fill(genCand.mass() - dauGen->mass()); - h_ptZ2vs3MC_->Fill(genCand.pt() - dauGen->pt()); - h_phiZ2vs3MC_->Fill(genCand.phi() - dauGen->phi()); - h_thetaZ2vs3MC_->Fill(genCand.theta() - dauGen->theta()); - h_etaZ2vs3MC_->Fill(genCand.eta() - dauGen->eta()); - h_rapidityZ2vs3MC_->Fill(genCand.rapidity() - dauGen->rapidity()); - } - */ - if ((abs(dauGen->pdgId()) == 13) && (dauGen->numberOfDaughters() != 0)) { - //we are looking for photons of final state radiation - cout << ">>> The muon " << j << " has " << dauGen->numberOfDaughters() << " daughters" << endl; - for (unsigned int k = 0; k < dauGen->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen->daughter(k); - cout << ">>> Mu " << j << " daughter MC " << k << " PDG Id " << dauMuGen->pdgId() << ", status " - << dauMuGen->status() << ", charge " << dauMuGen->charge() << endl; - if (abs(dauMuGen->pdgId()) == 13 && dauMuGen->status() == 1) { - pZ += dauMuGen->p4(); - nMu++; - } - } - } - } - assert(nMu == 2); - double mZ = pZ.mass(); - h_invmMuMuMC_->Fill(mZ, weight); - h_mResZMuMuMC_->Fill(genCand.mass() - mZ); - h_mRatioZMuMuMC_->Fill(genCand.mass() / mZ); - } - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMCHistogrammer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMassHistogrammer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMassHistogrammer.cc deleted file mode 100644 index 127fb3226a474..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMassHistogrammer.cc +++ /dev/null @@ -1,74 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "TH1.h" - -class ZMassHistogrammer : public edm::EDAnalyzer { -public: - ZMassHistogrammer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - edm::EDGetTokenT zToken_; - edm::EDGetTokenT genToken_; - TH1F *h_mZ_, *h_mZMC_; -}; - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include - -using namespace std; -using namespace reco; -using namespace edm; - -ZMassHistogrammer::ZMassHistogrammer(const ParameterSet& pset) - : zToken_(consumes(pset.getParameter("z"))), - genToken_(consumes(pset.getParameter("gen"))) { - cout << ">>> Z Mass constructor" << endl; - Service fs; - h_mZ_ = fs->make("ZMass", "Z mass (GeV/c^{2})", 100, 0, 200); - h_mZMC_ = fs->make("ZMCMass", "Z MC mass (GeV/c^{2})", 100, 0, 200); -} - -void ZMassHistogrammer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - cout << ">>> Z Mass analyze" << endl; - Handle z; - Handle gen; - event.getByToken(zToken_, z); - event.getByToken(genToken_, gen); - for (unsigned int i = 0; i < z->size(); ++i) { - const Candidate& zCand = (*z)[i]; - h_mZ_->Fill(zCand.mass()); - } - for (unsigned int i = 0; i < gen->size(); ++i) { - const Candidate& genCand = (*gen)[i]; - if ((genCand.pdgId() == 23) && (genCand.status() == 2)) //this is an intermediate Z0 - cout << ">>> intermediate Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - if ((genCand.pdgId() == 23) && (genCand.status() == 3)) { //this is a Z0 - cout << ">>> Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - h_mZMC_->Fill(genCand.mass()); - if (genCand.numberOfDaughters() == 3) { //Z0 decays in mu+ mu-, the 3rd daughter is the same Z0 - const Candidate* dauGen0 = genCand.daughter(0); - const Candidate* dauGen1 = genCand.daughter(1); - const Candidate* dauGen2 = genCand.daughter(2); - cout << ">>> daughter MC 0 PDG Id " << dauGen0->pdgId() << ", status " << dauGen0->status() << ", charge " - << dauGen0->charge() << endl; - cout << ">>> daughter MC 1 PDG Id " << dauGen1->pdgId() << ", status " << dauGen1->status() << ", charge " - << dauGen1->charge() << endl; - cout << ">>> daughter MC 2 PDG Id " << dauGen2->pdgId() << ", status " << dauGen2->status() << ", charge " - << dauGen2->charge() << endl; - } - } - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMassHistogrammer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer.cc deleted file mode 100644 index bbe091199533a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer.cc +++ /dev/null @@ -1,306 +0,0 @@ -/* \class ZMuMuAnalyzer - * - * Z->mu+m- standard analysis for cross section - * measurements. Take as input the output of the - * standard EWK skim: zToMuMu - * - * Produces mass spectra and other histograms for - * the samples in input: - * - * + Z -> mu+mu-, both muons are "global" muons - * + Z -> mu+mu-, one muons is "global" muons, one unmatched tracks - * + Z -> mu+mu-, one muons is "global" muons, one unmatched stand-alone muon - * - * - * \author Michele de Gruttola, INFN Naples - * - * - */ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "TH1.h" -#include -#include -using namespace edm; -using namespace std; -using namespace reco; - -typedef edm::AssociationVector > IsolationCollection; - -class ZMuMuAnalyzer : public edm::EDAnalyzer { -public: - ZMuMuAnalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - - OverlapChecker overlap_; - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT muIsoToken_; - EDGetTokenT trackIsoToken_; - EDGetTokenT standAloneIsoToken_; - EDGetTokenT zMuMuMapToken_; - EDGetTokenT zMuTrackMapToken_; - EDGetTokenT zMuStandAloneMapToken_; - double isocut_, etacut_, ptcut_, ptSTAcut_, minZmass_, maxZmass_; - TH1D *h_zMuMu_mass_, *h_zMuSingleTrack_mass_, *h_zMuSingleStandAlone_mass_, *h_zMuSingleStandAloneOverlap_mass_, - *h_zMuMuMatched_mass_, *h_zMuSingleTrackMatched_mass_, *h_zMuSingleStandAloneMatched_mass_, - *h_zMuSingleStandAloneOverlapMatched_mass_; -}; - -ZMuMuAnalyzer::ZMuMuAnalyzer(const edm::ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - muIsoToken_(consumes(pset.getParameter("muIso"))), - trackIsoToken_(consumes(pset.getParameter("trackIso"))), - standAloneIsoToken_(consumes(pset.getParameter("standAloneIso"))), - zMuMuMapToken_(mayConsume(pset.getParameter("zMuMuMap"))), - zMuTrackMapToken_(mayConsume(pset.getParameter("zMuTrackMap"))), - zMuStandAloneMapToken_(mayConsume(pset.getParameter("zMuStandAloneMap"))), - isocut_(pset.getParameter("isocut")), - etacut_(pset.getParameter("etacut")), - ptcut_(pset.getParameter("ptcut")), - ptSTAcut_(pset.getParameter("ptSTAcut")), - - minZmass_(pset.getParameter("minZmass")), - maxZmass_(pset.getParameter("maxZmass")) { - Service fs; - h_zMuMu_mass_ = fs->make("ZMuMumass", "ZMuMu mass(GeV)", 200, 0., 200.); - h_zMuSingleTrack_mass_ = fs->make("ZMuSingleTrackmass", "ZMuSingleTrack mass(GeV)", 100, 0., 200.); - h_zMuSingleStandAlone_mass_ = - fs->make("ZMuSingleStandAlonemass", "ZMuSingleStandAlone mass(GeV)", 50, 0., 200.); - h_zMuSingleStandAloneOverlap_mass_ = - fs->make("ZMuSingleStandAloneOverlapmass", "ZMuSingleStandAloneOverlap mass(GeV)", 50, 0., 200.); - - h_zMuMuMatched_mass_ = fs->make("ZMuMuMatchedmass", "ZMuMu Matched mass(GeV)", 200, 0., 200.); - h_zMuSingleTrackMatched_mass_ = - fs->make("ZMuSingleTrackmassMatched", "ZMuSingleTrackMatched mass(GeV)", 100, 0., 200.); - h_zMuSingleStandAloneMatched_mass_ = - fs->make("ZMuSingleStandAlonemassMatched", "ZMuSingleStandAloneMatched mass(GeV)", 50, 0., 200.); - h_zMuSingleStandAloneOverlapMatched_mass_ = fs->make( - "ZMuSingleStandAloneOverlapmassMatched", "ZMuSingleStandAloneMatched Overlap mass(GeV)", 50, 0., 200.); -} - -void ZMuMuAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle zMuMu; - event.getByToken(zMuMuToken_, zMuMu); - Handle zMuTrack; - event.getByToken(zMuTrackToken_, zMuTrack); - Handle zMuStandAlone; - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - - unsigned int nZMuMu = zMuMu->size(); - unsigned int nZTrackMu = zMuTrack->size(); - unsigned int nZStandAloneMu = zMuStandAlone->size(); - static const double zMass = 91.1876; // PDG Z mass - - // cout << "nZMuMu = " << nZMuMu << endl; - // cout << "nZTrackMu = " << nZTrackMu << endl; - // cout << "nZStandAloneMu = " << nZStandAloneMu << endl; - - Handle zMuMuMap; - if (nZMuMu > 0) { - event.getByToken(zMuMuMapToken_, zMuMuMap); - } - - Handle zMuTrackMap; - if (nZTrackMu > 0) { - event.getByToken(zMuTrackMapToken_, zMuTrackMap); - } - - Handle zMuStandAloneMap; - if (nZStandAloneMu > 0) { - event.getByToken(zMuStandAloneMapToken_, zMuStandAloneMap); - } - - Handle muIso; - event.getByToken(muIsoToken_, muIso); - ProductID muIsoId = muIso->keyProduct().id(); - Handle trackIso; - event.getByToken(trackIsoToken_, trackIso); - ProductID trackIsoId = trackIso->keyProduct().id(); - - Handle standAloneIso; - event.getByToken(standAloneIsoToken_, standAloneIso); - ProductID standAloneIsoId = standAloneIso->keyProduct().id(); - - if (nZMuMu > 0) { - double mass = 1000000.; - for (unsigned int i = 0; i < nZMuMu; i++) { - const Candidate& zmmCand = (*zMuMu)[i]; - CandidateRef CandRef(zMuMu, i); - CandidateRef lep1 = zmmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = zmmCand.daughter(1)->masterClone().castTo(); - - const double iso1 = muIso->value(lep1.key()); - const double iso2 = muIso->value(lep2.key()); - - double m = zmmCand.mass(); - if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_ && fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_ && - m > minZmass_ && m < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - if (fabs(mass - zMass) > fabs(m - zMass)) { - mass = m; - } - - h_zMuMu_mass_->Fill(mass); - CandMatchMap::const_iterator m0 = zMuMuMap->find(CandRef); - if (m0 != zMuMuMap->end()) { - h_zMuMuMatched_mass_->Fill(mass); - } - } - } - } - - //ZmuSingleTRack - if (nZMuMu == 0 && nZTrackMu > 0) { - for (unsigned int j = 0; j < nZTrackMu; j++) { - const Candidate& ztmCand = (*zMuTrack)[j]; - CandidateRef CandRef(zMuTrack, j); - CandidateRef lep1 = ztmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = ztmCand.daughter(1)->masterClone().castTo(); - - ProductID id1 = lep1.id(); - ProductID id2 = lep2.id(); - double iso1 = -1; - double iso2 = -1; - - if (id1 == muIsoId) - iso1 = muIso->value(lep1.key()); - else if (id1 == trackIsoId) - iso1 = trackIso->value(lep1.key()); - - if (id2 == muIsoId) - iso2 = muIso->value(lep2.key()); - else if (id2 == trackIsoId) - iso2 = trackIso->value(lep2.key()); - - double mt = ztmCand.mass(); - if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_ && fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_ && - mt > minZmass_ && mt < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - h_zMuSingleTrack_mass_->Fill(mt); - CandMatchMap::const_iterator m0 = zMuTrackMap->find(CandRef); - if (m0 != zMuTrackMap->end()) { - h_zMuSingleTrackMatched_mass_->Fill(mt); - } - } - } - } - - //ZmuSingleStandAlone - if (nZMuMu == 0 && nZStandAloneMu > 0) { - // unsigned int index = 1000; - for (unsigned int j = 0; j < nZStandAloneMu; j++) { - const Candidate& zsmCand = (*zMuStandAlone)[j]; - CandidateRef CandRef(zMuStandAlone, j); - CandidateRef lep1 = zsmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = zsmCand.daughter(1)->masterClone().castTo(); - - ProductID id1 = lep1.id(); - ProductID id2 = lep2.id(); - double iso1 = -1; - double iso2 = -1; - - if (id1 == muIsoId) - iso1 = muIso->value(lep1.key()); - else if (id1 == standAloneIsoId) - iso1 = standAloneIso->value(lep1.key()); - - if (id2 == muIsoId) - iso2 = muIso->value(lep2.key()); - else if (id2 == standAloneIsoId) - iso2 = standAloneIso->value(lep2.key()); - - double ms = zsmCand.mass(); - if (lep1->pt() > ptSTAcut_ && lep2->pt() > ptSTAcut_ && fabs(lep1->eta()) < etacut_ && - fabs(lep2->eta()) < etacut_ && ms > minZmass_ && ms < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - h_zMuSingleStandAlone_mass_->Fill(ms); - CandMatchMap::const_iterator m0 = zMuStandAloneMap->find(CandRef); - if (m0 != zMuStandAloneMap->end()) { - h_zMuSingleStandAloneMatched_mass_->Fill(ms); - } - - bool noOverlap = true; - for (unsigned int j = 0; j < zMuTrack->size(); j++) { - const Candidate& ztmCand = (*zMuTrack)[j]; - CandidateRef CandReft(zMuTrack, j); - - CandidateRef lep1 = ztmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = ztmCand.daughter(1)->masterClone().castTo(); - - ProductID id1 = lep1.id(); - ProductID id2 = lep2.id(); - double iso1 = -1; - double iso2 = -1; - - if (id1 == muIsoId) - iso1 = muIso->value(lep1.key()); - else if (id1 == trackIsoId) - iso1 = trackIso->value(lep1.key()); - - if (id2 == muIsoId) - iso2 = muIso->value(lep2.key()); - else if (id2 == trackIsoId) - iso2 = trackIso->value(lep2.key()); - - double mt = ztmCand.mass(); - if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_ && fabs(lep1->eta()) < etacut_ && - fabs(lep2->eta()) < etacut_ && mt > minZmass_ && mt < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - if (overlap_(ztmCand, zsmCand)) { - noOverlap = false; - break; - } - if (!noOverlap) { - h_zMuSingleStandAloneOverlap_mass_->Fill(ms); - CandMatchMap::const_iterator m1 = zMuTrackMap->find(CandReft); - CandMatchMap::const_iterator m2 = zMuStandAloneMap->find(CandRef); - - if (m1 != zMuTrackMap->end() && m2 != zMuStandAloneMap->end()) { - h_zMuSingleStandAloneOverlapMatched_mass_->Fill(ms); - } - } - } - } - } - } - } -} - -void ZMuMuAnalyzer::endJob() { - double Nzmm = h_zMuMu_mass_->GetEntries(); - double Nzsm = h_zMuSingleStandAlone_mass_->GetEntries(); - double Nzsnom = h_zMuSingleStandAloneOverlap_mass_->GetEntries(); - double Nztm = h_zMuSingleTrack_mass_->GetEntries(); - - double NzmmMatch = h_zMuMuMatched_mass_->GetEntries(); - double NzsmMatch = h_zMuSingleStandAloneMatched_mass_->GetEntries(); - double NzsnomMatch = h_zMuSingleStandAloneOverlapMatched_mass_->GetEntries(); - double NztmMatch = h_zMuSingleTrackMatched_mass_->GetEntries(); - - cout << "-- N SingleTrackMu = " << Nztm << endl; - cout << "-----N SinglStandAloneMu = " << Nzsm << endl; - cout << "-----N SingleStandAloneOverlapMu = " << Nzsnom << endl; - cout << "------- N MuMu = " << Nzmm << endl; - - cout << "-- N SingleTrackMuMatched = " << NztmMatch << endl; - cout << "-----N SinglStandAloneMuMatched = " << NzsmMatch << endl; - cout << "-----N SingleStandAloneOverlapMuMatched = " << NzsnomMatch << endl; - cout << "------- N MuMu Matched = " << NzmmMatch << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer_cynematics.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer_cynematics.cc deleted file mode 100644 index dd9014889cc93..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuAnalyzer_cynematics.cc +++ /dev/null @@ -1,873 +0,0 @@ -/* \class ZMuMuAnalyzer_cynematics - * - * Z->mu+m- standard analysis for cross section - * measurements. Take as input the output of the - * standard EWK skim: zToMuMu - * - * Produces mass spectra and other histograms for - * the samples in input: - * - * + Z -> mu+mu-, both muons are "global" muons - * + Z -> mu+mu-, one muons is "global" muons, one unmatched tracks - * + Z -> mu+mu-, one muons is "global" muons, one unmatched stand-alone muon - * - * - * \author Michele de Gruttola, - * \modified by Davide Piccolo, INFN Naples to include gerarchyc selection of Z and histos as a finction of eta pt phi - * - * - * - */ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "TFile.h" -#include "TH1.h" -#include "TH2.h" -#include -#include -#include -using namespace edm; -using namespace std; -using namespace reco; - -typedef edm::AssociationVector > IsolationCollection; - -class ZMuMuAnalyzer_cynematics : public edm::EDAnalyzer { -public: - ZMuMuAnalyzer_cynematics(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - bool isContained(const Candidate&, const Candidate&); - void endJob() override; - - OverlapChecker overlap_; - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT muIsoToken_; - EDGetTokenT trackIsoToken_; - EDGetTokenT standAloneIsoToken_; - EDGetTokenT zMuMuMapToken_; - EDGetTokenT zMuTrackMapToken_; - EDGetTokenT zMuStandAloneMapToken_; - double isocut_, etacut_, ptcut_, ptSTAcut_, minZmass_, maxZmass_; - TH1D *h_zMuMu_numberOfCand, *h_zMuMu_numberOfCand_passed, *h_zMuMu_numberOfCand_ptpassed, - *h_zMuMu_numberOfCand_etapassed, *h_zMuMu_numberOfCand_masspassed, *h_zMuMu_numberOfCand_isopassed, - *h_zMuMu_numberOfCand_ptetapassed, *h_zMuMu_numberOfCand_ptetamasspassed, *h_zMuMu_mass_, *h_zMuSingleTrack_mass_, - *h_zMuSingleStandAlone_mass_, *h_zMuSingleStandAloneOverlap_mass_, *h_zMuMuMatched_mass_, - *h_zMuSingleTrackMatched_mass_, *h_zMuSingleStandAloneMatched_mass_, *h_zMuSingleStandAloneOverlapMatched_mass_; - - TH1D *h_zMuSta_numberOfCand, *h_zMuSta_numberOfCand_passed, *h_zMuSta_MCmatched_numberOfCand_passed, - *h_zMuSta_numberOfCand_notcontained, *h_zMuTrack_numberOfCand, *h_zMuTrack_numberOfCand_notcontained, - *h_zMuTrack_numberOfCand_passed, *h_zMuTrack_MCmatched_numberOfCand_passed; - TH2D* h_OneSta_mass; - - double etamin, etamax, phimin, phimax, ptmin, ptmax; - int numberOfIntervals; // number of intervals in which to divide cynematic variables - double binEta, binPhi, binPt; - vector hmumu_eta, hmusta_eta, hmutrack_eta; - vector hmumu_phi, hmusta_phi, hmutrack_phi; - vector hmumu_pt, hmusta_pt, hmutrack_pt; -}; - -ZMuMuAnalyzer_cynematics::ZMuMuAnalyzer_cynematics(const edm::ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - muIsoToken_(consumes(pset.getParameter("muIso"))), - trackIsoToken_(consumes(pset.getParameter("trackIso"))), - standAloneIsoToken_(consumes(pset.getParameter("standAloneIso"))), - zMuMuMapToken_(mayConsume(pset.getParameter("zMuMuMap"))), - zMuTrackMapToken_(mayConsume(pset.getParameter("zMuTrackMap"))), - zMuStandAloneMapToken_(mayConsume(pset.getParameter("zMuStandAloneMap"))), - isocut_(pset.getParameter("isocut")), - etacut_(pset.getParameter("etacut")), - ptcut_(pset.getParameter("ptcut")), - ptSTAcut_(pset.getParameter("ptSTAcut")), - minZmass_(pset.getParameter("minZmass")), - maxZmass_(pset.getParameter("maxZmass")) { - Service fs; - h_zMuMu_numberOfCand = fs->make("ZMuMunumberOfCand", "number of ZMuMu cand", 10, -.5, 9.5); - h_zMuMu_numberOfCand_passed = - fs->make("ZMuMunumberOfCandpassed", "number of ZMuMu cand selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_ptpassed = - fs->make("ZMuMunumberOfCandptpassed", "number of ZMuMu cand after pt cut selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_etapassed = - fs->make("ZMuMunumberOfCandetapassed", "number of ZMuMu cand after eta cut selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_masspassed = - fs->make("ZMuMunumberOfCandmasspassed", "number of ZMuMu cand after mass cut selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_isopassed = - fs->make("ZMuMunumberOfCandisopassed", "number of ZMuMu cand after iso cut selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_ptetapassed = - fs->make("ZMuMunumberOfCandptetapassed", "number of ZMuMu cand after pt & eta cut selected", 10, -.5, 9.5); - h_zMuMu_numberOfCand_ptetamasspassed = fs->make( - "ZMuMunumberOfCandptetamaspassed", "number of ZMuMu cand after pt & eta & mass cut selected", 10, -.5, 9.5); - - h_zMuMu_mass_ = fs->make("ZMuMumass", "ZMuMu mass(GeV)", 200, 0., 200.); - h_zMuSingleTrack_mass_ = fs->make("ZMuSingleTrackmass", "ZMuSingleTrack mass(GeV)", 100, 0., 200.); - h_zMuSingleStandAlone_mass_ = - fs->make("ZMuSingleStandAlonemass", "ZMuSingleStandAlone mass(GeV)", 50, 0., 200.); - h_zMuSingleStandAloneOverlap_mass_ = - fs->make("ZMuSingleStandAloneOverlapmass", "ZMuSingleStandAloneOverlap mass(GeV)", 50, 0., 200.); - - h_zMuMuMatched_mass_ = fs->make("ZMuMuMatchedmass", "ZMuMu Matched mass(GeV)", 200, 0., 200.); - h_zMuSingleTrackMatched_mass_ = - fs->make("ZMuSingleTrackmassMatched", "ZMuSingleTrackMatched mass(GeV)", 100, 0., 200.); - h_zMuSingleStandAloneMatched_mass_ = - fs->make("ZMuSingleStandAlonemassMatched", "ZMuSingleStandAloneMatched mass(GeV)", 50, 0., 200.); - h_zMuSingleStandAloneOverlapMatched_mass_ = fs->make( - "ZMuSingleStandAloneOverlapmassMatched", "ZMuSingleStandAloneMatched Overlap mass(GeV)", 50, 0., 200.); - - h_zMuSta_numberOfCand = - fs->make("ZMuStanumberOfCand", "number of ZMuSta cand (if ZMuMu not selected)", 10, -.5, 9.5); - h_OneSta_mass = - fs->make("ZOneMuStaMass", - "inv. mass of ZMuSta1 vs ZMuSta2 when one ZMuSta has been found (if ZMuMu not selected)", - 100, - 0., - 400, - 100, - 0., - 400.); - h_zMuSta_numberOfCand_notcontained = fs->make( - "ZMuStanumberOfCandnotcontained", "number of independent ZMuSta cand (if ZMuMu not selected)", 10, -.5, 9.5); - h_zMuSta_numberOfCand_passed = fs->make( - "ZMuStanumberOfCandpassed", "number of ZMuSta cand selected (if ZMuMu not selected)", 10, -.5, 9.5); - h_zMuSta_MCmatched_numberOfCand_passed = - fs->make("ZMuStaMCmatchedNumberOfCandpassed", - "number of ZMuSta MC matched cand selected (if ZMuMu not selected)", - 10, - -.5, - 9.5); - h_zMuTrack_numberOfCand = - fs->make("ZMuTranumberOfCand", "number of ZMuTrack cand (if ZMuMu and ZMuSTa not selected)", 10, -.5, 9.5); - h_zMuTrack_numberOfCand_notcontained = - fs->make("ZMuTranumberOfCandnotcontaind", - "number of indeendent ZMuTrack cand (if ZMuMu and ZMuSTa not selected)", - 10, - -.5, - 9.5); - h_zMuTrack_numberOfCand_passed = fs->make( - "ZMuTranumberOfCandpassed", "number of ZMuTrack cand selected (if ZMuMu and ZMuSta not selected)", 10, -.5, 9.5); - h_zMuTrack_MCmatched_numberOfCand_passed = - fs->make("ZMuTraMCmacthedNumberOfCandpassed", - "number of ZMuTrack MC matched cand selected (if ZMuMu and ZMuSta not selected)", - 10, - -.5, - 9.5); - - // creating histograms for each Pt, eta, phi interval - - etamin = -etacut_; - etamax = etacut_; - phimin = -3.1415; - phimax = 3.1415; - ptmin = ptcut_; - ptmax = 100; - numberOfIntervals = 8; // number of intervals in which to divide cynematic variables - binEta = (etamax - etamin) / numberOfIntervals; - binPhi = (phimax - phimin) / numberOfIntervals; - binPt = (ptmax - ptmin) / numberOfIntervals; - TFileDirectory etaDirectory = - fs->mkdir("etaIntervals"); // in this directory will be saved all the histos of different eta intervals - TFileDirectory phiDirectory = - fs->mkdir("phiIntervals"); // in this directory will be saved all the histos of different phi intervals - TFileDirectory ptDirectory = - fs->mkdir("ptIntervals"); // in this directory will be saved all the histos of different pt intervals - - // eta histograms creation - - for (int i = 0; i < numberOfIntervals; i++) { - double range0 = etamin + i * binEta; - double range1 = range0 + binEta; - char a[30], b[50]; - sprintf(a, "zmumu_etaRange%d", i); - sprintf(b, "zmumu mass eta Range %f to %f", range0, range1); - hmumu_eta.push_back(etaDirectory.make(a, b, 200, 0., 200.)); - char asta[30], bsta[50]; - sprintf(asta, "zmusta_etaRange%d", i); - sprintf(bsta, "zmusta mass eta Range %f to %f", range0, range1); - hmusta_eta.push_back(etaDirectory.make(asta, bsta, 50, 0., 200.)); - char atk[30], btk[50]; - sprintf(atk, "zmutrack_etaRange%d", i); - sprintf(btk, "zmutrack mass eta Range %f to %f", range0, range1); - hmutrack_eta.push_back(etaDirectory.make(atk, btk, 100, 0., 200.)); - } - - // phi histograms creation - - for (int i = 0; i < numberOfIntervals; i++) { - double range0 = phimin + i * binPhi; - double range1 = range0 + binPhi; - char a[30], b[50]; - sprintf(a, "zmumu_phiRange%d", i); - sprintf(b, "zmumu mass phi Range %f to %f", range0, range1); - hmumu_phi.push_back(phiDirectory.make(a, b, 200, 0., 200.)); - char asta[30], bsta[50]; - sprintf(asta, "zmusta_phiRange%d", i); - sprintf(bsta, "zmusta mass phi Range %f to %f", range0, range1); - hmusta_phi.push_back(phiDirectory.make(asta, bsta, 50, 0., 200.)); - char atk[30], btk[50]; - sprintf(atk, "zmutrack_phiRange%d", i); - sprintf(btk, "zmutrack mass phi Range %f to %f", range0, range1); - hmutrack_phi.push_back(phiDirectory.make(atk, btk, 100, 0., 200.)); - } - - // pt histograms creation - - for (int i = 0; i < numberOfIntervals; i++) { - double range0 = ptmin + i * binPt; - double range1 = range0 + binPt; - char a[30], b[50]; - sprintf(a, "zmumu_ptRange%d", i); - sprintf(b, "zmumu mass pt Range %f to %f", range0, range1); - hmumu_pt.push_back(ptDirectory.make(a, b, 200, 0., 200.)); - char asta[30], bsta[50]; - sprintf(asta, "zmusta_ptRange%d", i); - sprintf(bsta, "zmusta mass pt Range %f to %f", range0, range1); - hmusta_pt.push_back(ptDirectory.make(asta, bsta, 50, 0., 200.)); - char atk[30], btk[50]; - sprintf(atk, "zmutrack_ptRange%d", i); - sprintf(btk, "zmutrack mass pt Range %f to %f", range0, range1); - hmutrack_pt.push_back(ptDirectory.make(atk, btk, 100, 0., 200.)); - } -} - -void ZMuMuAnalyzer_cynematics::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle zMuMu; - event.getByToken(zMuMuToken_, zMuMu); - Handle zMuTrack; - event.getByToken(zMuTrackToken_, zMuTrack); - Handle zMuStandAlone; - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - - unsigned int nZMuMu = zMuMu->size(); - unsigned int nZTrackMu = zMuTrack->size(); - unsigned int nZStandAloneMu = zMuStandAlone->size(); - // static const double zMass = 91.1876; // PDG Z mass - - cout << "++++++++++++++++++++++++++" << endl; - cout << "nZMuMu = " << nZMuMu << endl; - cout << "nZTrackMu = " << nZTrackMu << endl; - cout << "nZStandAloneMu = " << nZStandAloneMu << endl; - cout << "++++++++++++++++++++++++++" << endl; - - // ZMuMu counters - - int ZMuMu_passed = 0; - int ZMuMu_ptcut_counter = 0; - int ZMuMu_etacut_counter = 0; - int ZMuMu_masscut_counter = 0; - int ZMuMu_isocut_counter = 0; - int ZMuMu_ptetacut_counter = 0; - int ZMuMu_ptetamasscut_counter = 0; - int ZMuMu_allcut_counter = 0; - - // ZMuTrack counters - - int ZMuTrack_passed = 0; - int ZMuTrack_notcontained = 0; - int ZMuTrack_MCmatched_passed = 0; - - // ZMuStandalone counters - int ZMuStandalone_notcontained = 0; - int ZMuStandalone_passed = 0; - int ZMuStandalone_MCmatched_passed = 0; - - Handle zMuMuMap; - if (nZMuMu > 0) { - event.getByToken(zMuMuMapToken_, zMuMuMap); - } - - Handle zMuTrackMap; - if (nZTrackMu > 0) { - event.getByToken(zMuTrackMapToken_, zMuTrackMap); - } - - Handle zMuStandAloneMap; - if (nZStandAloneMu > 0) { - event.getByToken(zMuStandAloneMapToken_, zMuStandAloneMap); - } - - Handle muIso; - event.getByToken(muIsoToken_, muIso); - ProductID muIsoId = muIso->keyProduct().id(); - Handle trackIso; - event.getByToken(trackIsoToken_, trackIso); - ProductID trackIsoId = trackIso->keyProduct().id(); - - Handle standAloneIso; - event.getByToken(standAloneIsoToken_, standAloneIso); - ProductID standAloneIsoId = standAloneIso->keyProduct().id(); - - if (nZMuMu > 0) { - // double mass = 1000000.; - for (unsigned int i = 0; i < nZMuMu; i++) { - bool ptcutAccept = false; - bool etacutAccept = false; - bool masscutAccept = false; - bool isocutAccept = false; - const Candidate& zmmCand = (*zMuMu)[i]; - CandidateRef CandRef(zMuMu, i); - CandidateRef lep1 = zmmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = zmmCand.daughter(1)->masterClone().castTo(); - - const double iso1 = muIso->value(lep1.key()); - const double iso2 = muIso->value(lep2.key()); - - double m = zmmCand.mass(); - // check single cuts - - if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_) - ptcutAccept = true; - if (fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_) - etacutAccept = true; - if (m > minZmass_ && m < maxZmass_) - masscutAccept = true; - if (iso1 < isocut_ && iso2 < isocut_) - isocutAccept = true; - - if (ptcutAccept) - ZMuMu_ptcut_counter++; - if (etacutAccept) - ZMuMu_etacut_counter++; - if (masscutAccept) - ZMuMu_masscut_counter++; - if (isocutAccept) - ZMuMu_isocut_counter++; - - // check sequencial cuts - - if (ptcutAccept && etacutAccept) { - ZMuMu_ptetacut_counter++; - if (masscutAccept) { - ZMuMu_ptetamasscut_counter++; - if (isocutAccept) { - ZMuMu_passed++; - } - } - } - - if (ptcutAccept && etacutAccept && masscutAccept && isocutAccept) { - ZMuMu_allcut_counter++; - h_zMuMu_mass_->Fill(m); - - // check the cynematics to fill correct histograms - for (int j = 0; j < numberOfIntervals; j++) { - bool statusBinEta = false; - bool statusBinPhi = false; - bool statusBinPt = false; - double range0 = etamin + j * binEta; - double range1 = range0 + binEta; - double range0phi = phimin + j * binPhi; - double range1phi = range0phi + binPhi; - double range0pt = ptmin + j * binPt; - double range1pt = range0pt + binPt; - // eta histograms - if (lep1->eta() >= range0 && lep1->eta() < range1) { - hmumu_eta[j]->Fill(m); - statusBinEta = true; - } - if (lep2->eta() >= range0 && lep2->eta() < range1 && !statusBinEta) { - hmumu_eta[j]->Fill(m); // If eta1 is in the same bin of eta2 fill just once - } - // phi histograms - if (lep1->phi() >= range0phi && lep1->phi() < range1phi) { - hmumu_phi[j]->Fill(m); - statusBinPhi = true; - } - if (lep2->phi() >= range0phi && lep2->phi() < range1phi && !statusBinPhi) { - hmumu_phi[j]->Fill(m); // If phi1 is in the same bin of phi2 fill just once - } - // pt histograms - if (lep1->pt() >= range0pt && lep1->pt() < range1pt) { - hmumu_pt[j]->Fill(m); - statusBinPt = true; - } - if (lep2->pt() >= range0pt && lep2->pt() < range1pt && !statusBinPt) { - hmumu_pt[j]->Fill(m); // If pt1 is in the same bin of pt2 fill just once - } - } - - CandMatchMap::const_iterator m0 = zMuMuMap->find(CandRef); - if (m0 != zMuMuMap->end()) { // the Z is matched to MC thruth - h_zMuMuMatched_mass_->Fill(m); - } - } - } - } - - h_zMuMu_numberOfCand->Fill(nZMuMu); // number of Z cand found per event - h_zMuMu_numberOfCand_passed->Fill(ZMuMu_allcut_counter); // number of Z cand after all cuts found per event - h_zMuMu_numberOfCand_ptpassed->Fill(ZMuMu_ptcut_counter); // number of Z cand afer pt cut found per event - h_zMuMu_numberOfCand_etapassed->Fill(ZMuMu_etacut_counter); // number of Z cand afer eta cut found per event - h_zMuMu_numberOfCand_masspassed->Fill(ZMuMu_masscut_counter); // number of Z cand afer mass cut found per event - h_zMuMu_numberOfCand_isopassed->Fill(ZMuMu_isocut_counter); // number of Z cand afer iso cut found per event - h_zMuMu_numberOfCand_ptetapassed->Fill(ZMuMu_ptetacut_counter); // number of Z cand afer pt&eta cut found per event - h_zMuMu_numberOfCand_ptetamasspassed->Fill( - ZMuMu_ptetamasscut_counter); // number of Z cand afer pt&eta&mass cut found per event - - //ZmuSingleStandAlone (check MuStandalone if MuMu has not been selected by cuts) - // cout << "ZMuMuanalyzer : n of zMuMu " << nZMuMu << " passed " << ZMuMu_passed << " n. of zStaMu " << nZStandAloneMu << endl; - - if (ZMuMu_passed == 0 && nZStandAloneMu > 0) { - // unsigned int index = 1000; - for (unsigned int j = 0; j < nZStandAloneMu; j++) { - const Candidate& zsmCand = (*zMuStandAlone)[j]; - bool skipZ = false; - for (unsigned int i = 0; i < nZMuMu; i++) { // chek if the ZMuSTandalone is contained in a ZMuMu - const Candidate& zmmCand = (*zMuMu)[i]; // if yes .. the event has to be skipped - if (isContained(zmmCand, zsmCand)) - skipZ = true; - } - if (!skipZ) { // ZSMuSTandalone not contained in a ZMuMu - ZMuStandalone_notcontained++; - CandidateRef CandRef(zMuStandAlone, j); - CandidateRef lep1 = zsmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = zsmCand.daughter(1)->masterClone().castTo(); - - ProductID id1 = lep1.id(); - ProductID id2 = lep2.id(); - double iso1 = -1; - double iso2 = -1; - - if (id1 == muIsoId) - iso1 = muIso->value(lep1.key()); - else if (id1 == standAloneIsoId) - iso1 = standAloneIso->value(lep1.key()); - - if (id2 == muIsoId) - iso2 = muIso->value(lep2.key()); - else if (id2 == standAloneIsoId) - iso2 = standAloneIso->value(lep2.key()); - - double ms = zsmCand.mass(); - if (lep1->pt() > ptSTAcut_ && lep2->pt() > ptSTAcut_ && fabs(lep1->eta()) < etacut_ && - fabs(lep2->eta()) < etacut_ && ms > minZmass_ && ms < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - h_zMuSingleStandAlone_mass_->Fill(ms); - ZMuStandalone_passed++; - // check the cynematics to fill correct histograms - for (int j = 0; j < numberOfIntervals; j++) { - double range0 = etamin + j * binEta; - double range1 = range0 + binEta; - double range0phi = phimin + j * binPhi; - double range1phi = range0phi + binPhi; - double range0pt = ptmin + j * binPt; - double range1pt = range0pt + binPt; - - // check which muon is a standalone (standalone means that there is a reference missing.) - if ((lep1->get()).isNull()) { - if (lep1->eta() >= range0 && lep1->eta() < range1) - hmusta_eta[j]->Fill(ms); - if (lep1->phi() >= range0phi && lep1->phi() < range1phi) - hmusta_phi[j]->Fill(ms); - if (lep1->pt() >= range0pt && lep1->pt() < range1pt) - hmusta_pt[j]->Fill(ms); - } - if ((lep2->get()).isNull()) { - if (lep2->eta() >= range0 && lep2->eta() < range1) - hmusta_eta[j]->Fill(ms); - if (lep2->phi() >= range0phi && lep2->phi() < range1phi) - hmusta_phi[j]->Fill(ms); - if (lep2->pt() >= range0pt && lep2->pt() < range1pt) - hmusta_pt[j]->Fill(ms); - } - } - CandMatchMap::const_iterator m0 = zMuStandAloneMap->find(CandRef); - if (m0 != zMuStandAloneMap->end()) { - ZMuStandalone_MCmatched_passed++; - h_zMuSingleStandAloneMatched_mass_->Fill(ms); - } - } - } - } - h_zMuSta_numberOfCand->Fill( - nZStandAloneMu); // number of ZMuStandalone cand found per event (no higher priority Z selected) - h_zMuSta_numberOfCand_notcontained->Fill(ZMuStandalone_notcontained); - h_zMuSta_numberOfCand_passed->Fill( - ZMuStandalone_passed); // number of ZMuSTa cand after all cuts found per event (no higher prioriy Z selected) - h_zMuSta_MCmatched_numberOfCand_passed->Fill( - ZMuStandalone_MCmatched_passed); // number of ZMuSTa MC matched cand after all cuts found per event (no higher prioriy Z selected) - } - - //ZmuSingleTRack (check MuTrack if MuMu has not been selected) - if (ZMuMu_passed == 0 && ZMuStandalone_passed == 0 && nZTrackMu > 0) { - for (unsigned int j = 0; j < nZTrackMu; j++) { - const Candidate& ztmCand = (*zMuTrack)[j]; - bool skipZ = false; - for (unsigned int i = 0; i < nZMuMu; i++) { // chek if the ZMuTrack is contained in a ZMuMu - const Candidate& zmmCand = (*zMuMu)[i]; // if yes .. the event has to be skipped - if (isContained(zmmCand, ztmCand)) - skipZ = true; - } - if (!skipZ) { - ZMuTrack_notcontained++; - CandidateRef CandRef(zMuTrack, j); - CandidateRef lep1 = ztmCand.daughter(0)->masterClone().castTo(); - CandidateRef lep2 = ztmCand.daughter(1)->masterClone().castTo(); - - ProductID id1 = lep1.id(); - ProductID id2 = lep2.id(); - double iso1 = -1; - double iso2 = -1; - - if (id1 == muIsoId) - iso1 = muIso->value(lep1.key()); - else if (id1 == trackIsoId) - iso1 = trackIso->value(lep1.key()); - - if (id2 == muIsoId) - iso2 = muIso->value(lep2.key()); - else if (id2 == trackIsoId) - iso2 = trackIso->value(lep2.key()); - - double mt = ztmCand.mass(); - if (lep1->pt() > ptcut_ && lep2->pt() > ptcut_ && fabs(lep1->eta()) < etacut_ && fabs(lep2->eta()) < etacut_ && - mt > minZmass_ && mt < maxZmass_ && iso1 < isocut_ && iso2 < isocut_) { - h_zMuSingleTrack_mass_->Fill(mt); - ZMuTrack_passed++; - - // check the cynematics to fill correct histograms - for (int j = 0; j < numberOfIntervals; j++) { - double range0 = etamin + j * binEta; - double range1 = range0 + binEta; - double range0phi = phimin + j * binPhi; - double range1phi = range0phi + binPhi; - double range0pt = ptmin + j * binPt; - double range1pt = range0pt + binPt; - - // check which muon is a track only (track only means that there is a reference missing.) - if ((lep1->get()).isNull()) { - if (lep1->eta() >= range0 && lep1->eta() < range1) - hmutrack_eta[j]->Fill(mt); - if (lep1->phi() >= range0phi && lep1->phi() < range1phi) - hmutrack_phi[j]->Fill(mt); - if (lep1->pt() >= range0pt && lep1->pt() < range1pt) - hmutrack_pt[j]->Fill(mt); - } - if ((lep2->get()).isNull()) { - if (lep2->eta() >= range0 && lep2->eta() < range1) - hmutrack_eta[j]->Fill(mt); - if (lep2->phi() >= range0phi && lep2->phi() < range1phi) - hmutrack_phi[j]->Fill(mt); - if (lep2->pt() >= range0pt && lep2->pt() < range1pt) - hmutrack_pt[j]->Fill(mt); - } - } - CandMatchMap::const_iterator m0 = zMuTrackMap->find(CandRef); - if (m0 != zMuTrackMap->end()) { - ZMuTrack_MCmatched_passed++; - h_zMuSingleTrackMatched_mass_->Fill(mt); - } - } - } - } - h_zMuTrack_numberOfCand->Fill( - nZTrackMu); // number of ZMuTrack cand found per event (no higher priority Z selected) - h_zMuTrack_numberOfCand_notcontained->Fill( - ZMuTrack_notcontained); // number of ZMuTrack cand not cntained in ZMuMu (no higher priority Z selected) - - h_zMuTrack_numberOfCand_passed->Fill( - ZMuTrack_passed); // number of ZMuTrack cand after all cuts found per event (no higher priority Z selected) - - h_zMuTrack_MCmatched_numberOfCand_passed->Fill(ZMuTrack_MCmatched_passed); - } -} - -bool ZMuMuAnalyzer_cynematics::isContained(const Candidate& obj1, const Candidate& obj2) { - // check if a candidate obj2 is different from obj1 (assume that obj1 is a ZMuMu and obj2 is any other type) - // (for example a Z can be done with two global muons, or with a global muon plus a standalone muon. - // if the standalone muon is part of the second global muon in fact this is the same Z) - - const int maxd = 10; - const Candidate* daughters1[maxd]; - const Candidate* daughters2[maxd]; - TrackRef trackerTrack1[maxd]; - TrackRef stAloneTrack1[maxd]; - TrackRef globalTrack1[maxd]; - TrackRef trackerTrack2[maxd]; - TrackRef stAloneTrack2[maxd]; - TrackRef globalTrack2[maxd]; - bool flag; - unsigned int nd1 = obj1.numberOfDaughters(); - unsigned int nd2 = obj2.numberOfDaughters(); - unsigned int matched = 0; - - for (unsigned int i = 0; i < nd1; ++i) { - daughters1[i] = obj1.daughter(i); - trackerTrack1[i] = daughters1[i]->get(); - stAloneTrack1[i] = daughters1[i]->get(); - globalTrack1[i] = daughters1[i]->get(); - - /*********************************************** just used for debug ******************** - if (trackerTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " tracker ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " tracker ref FOUND" - << " id: " << trackerTrack1[i].id() << ", index: " << trackerTrack1[i].key() - << endl; - if (stAloneTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " stalone ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " stalone ref FOUND" - << " id: " << stAloneTrack1[i].id() << ", index: " << stAloneTrack1[i].key() - << endl; - - if (globalTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " global ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " global ref FOUND" - << " id: " << globalTrack1[i].id() << ", index: " << globalTrack1[i].key() - << endl; - */ - } - for (unsigned int i = 0; i < nd2; ++i) { - daughters2[i] = obj2.daughter(i); - trackerTrack2[i] = daughters2[i]->get(); - stAloneTrack2[i] = daughters2[i]->get(); - globalTrack2[i] = daughters2[i]->get(); - - /******************************************** just used for debug ************ - if (trackerTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " tracker ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " tracker ref FOUND" - << " id: " << trackerTrack2[i].id() << ", index: " << trackerTrack2[i].key() - << endl; - if (stAloneTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " standalone ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " standalone ref FOUND" - << " id: " << stAloneTrack2[i].id() << ", index: " << stAloneTrack2[i].key() - << endl; - - if (globalTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " global ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " global ref FOUND" - << " id: " << globalTrack2[i].id() << ", index: " << globalTrack2[i].key() - << endl; - - */ - } - if (nd1 != nd2) { - cout << "ZMuMuAnalyzer::isContained WARNING n.of daughters different " << nd1 << " " << nd2 << endl; - } else { - for (unsigned int i = 0; i < nd1; i++) { - flag = false; - for (unsigned int j = 0; j < nd2; - j++) { // if the obj2 is a standalone the trackref is alwais in the trackerTRack position - if (((trackerTrack2[i].id() == trackerTrack1[j].id()) && (trackerTrack2[i].key() == trackerTrack1[j].key())) || - ((trackerTrack2[i].id() == stAloneTrack1[j].id()) && (trackerTrack2[i].key() == stAloneTrack1[j].key()))) { - flag = true; - } - } - if (flag) - matched++; - } - } - if (matched == nd1) // return true if all the childrens of the ZMuMu have a children matched in ZMuXX - return true; - else - return false; -} - -void ZMuMuAnalyzer_cynematics::endJob() { - // candidate analysis - // ZMuMu - double Nzmmc = h_zMuMu_numberOfCand->GetEntries(); - double Nzmmc_0Z = h_zMuMu_numberOfCand->GetBinContent(1); - double Nzmmc_1Z = h_zMuMu_numberOfCand->GetBinContent(2); - double Nzmmc_moreZ = Nzmmc - Nzmmc_0Z - Nzmmc_1Z; - double Nzmmc_passed_0Z = h_zMuMu_numberOfCand_passed->GetBinContent(1); - double Nzmmc_passed_1Z = h_zMuMu_numberOfCand_passed->GetBinContent(2); - double Nzmmc_passed_moreZ = Nzmmc - Nzmmc_passed_0Z - Nzmmc_passed_1Z; - double Nzmmc_ptpassed_0Z = h_zMuMu_numberOfCand_ptpassed->GetBinContent(1); - double Nzmmc_ptpassed_1Z = h_zMuMu_numberOfCand_ptpassed->GetBinContent(2); - double Nzmmc_etapassed_0Z = h_zMuMu_numberOfCand_etapassed->GetBinContent(1); - double Nzmmc_etapassed_1Z = h_zMuMu_numberOfCand_etapassed->GetBinContent(2); - double Nzmmc_masspassed_0Z = h_zMuMu_numberOfCand_masspassed->GetBinContent(1); - double Nzmmc_masspassed_1Z = h_zMuMu_numberOfCand_masspassed->GetBinContent(2); - double Nzmmc_isopassed_0Z = h_zMuMu_numberOfCand_isopassed->GetBinContent(1); - double Nzmmc_isopassed_1Z = h_zMuMu_numberOfCand_isopassed->GetBinContent(2); - double Nzmmc_ptetapassed_0Z = h_zMuMu_numberOfCand_ptetapassed->GetBinContent(1); - double Nzmmc_ptetapassed_1Z = h_zMuMu_numberOfCand_ptetapassed->GetBinContent(2); - double Nzmmc_ptetamasspassed_0Z = h_zMuMu_numberOfCand_ptetamasspassed->GetBinContent(1); - double Nzmmc_ptetamasspassed_1Z = h_zMuMu_numberOfCand_ptetamasspassed->GetBinContent(2); - double Nzmmc_ptpassed_moreZ = Nzmmc - Nzmmc_ptpassed_0Z - Nzmmc_ptpassed_1Z; - double Nzmmc_etapassed_moreZ = Nzmmc - Nzmmc_etapassed_0Z - Nzmmc_etapassed_1Z; - double Nzmmc_masspassed_moreZ = Nzmmc - Nzmmc_masspassed_0Z - Nzmmc_masspassed_1Z; - double Nzmmc_isopassed_moreZ = Nzmmc - Nzmmc_isopassed_0Z - Nzmmc_isopassed_1Z; - double Nzmmc_ptetapassed_moreZ = Nzmmc - Nzmmc_ptetapassed_0Z - Nzmmc_ptetapassed_1Z; - double Nzmmc_ptetamasspassed_moreZ = Nzmmc - Nzmmc_ptetamasspassed_0Z - Nzmmc_ptetamasspassed_1Z; - double Nzmsc = h_zMuSta_numberOfCand->GetEntries(); - double Nzmsc_0Z = h_zMuSta_numberOfCand->GetBinContent(1); - double Nzmsc_1Z = h_zMuSta_numberOfCand->GetBinContent(2); - double Nzmsc_moreZ = Nzmsc - Nzmsc_0Z - Nzmsc_1Z; - double Nzmsc_notcontained_0Z = h_zMuSta_numberOfCand_notcontained->GetBinContent(1); - double Nzmsc_notcontained_1Z = h_zMuSta_numberOfCand_notcontained->GetBinContent(2); - double Nzmsc_notcontained_moreZ = Nzmsc - Nzmsc_notcontained_0Z - Nzmsc_notcontained_1Z; - double Nzmsc_passed_0Z = h_zMuSta_numberOfCand_passed->GetBinContent(1); - double Nzmsc_passed_1Z = h_zMuSta_numberOfCand_passed->GetBinContent(2); - double Nzmsc_passed_moreZ = Nzmsc - Nzmsc_passed_0Z - Nzmsc_passed_1Z; - double Nzmsc_MCmatched_passed_0Z = h_zMuSta_MCmatched_numberOfCand_passed->GetBinContent(1); - double Nzmsc_MCmatched_passed_1Z = h_zMuSta_MCmatched_numberOfCand_passed->GetBinContent(2); - double Nzmsc_MCmatched_passed_moreZ = Nzmsc - Nzmsc_MCmatched_passed_0Z - Nzmsc_MCmatched_passed_1Z; - double Nzmtc = h_zMuTrack_numberOfCand->GetEntries(); - double Nzmtc_0Z = h_zMuTrack_numberOfCand->GetBinContent(1); - double Nzmtc_1Z = h_zMuTrack_numberOfCand->GetBinContent(2); - double Nzmtc_moreZ = Nzmtc - Nzmtc_0Z - Nzmtc_1Z; - double Nzmtc_notcontained_0Z = h_zMuTrack_numberOfCand_notcontained->GetBinContent(1); - double Nzmtc_notcontained_1Z = h_zMuTrack_numberOfCand_notcontained->GetBinContent(2); - double Nzmtc_notcontained_moreZ = Nzmtc - Nzmtc_notcontained_0Z - Nzmtc_notcontained_1Z; - double Nzmtc_passed_0Z = h_zMuTrack_numberOfCand_passed->GetBinContent(1); - double Nzmtc_passed_1Z = h_zMuTrack_numberOfCand_passed->GetBinContent(2); - double Nzmtc_passed_moreZ = Nzmtc - Nzmtc_passed_0Z - Nzmtc_passed_1Z; - double Nzmtc_MCmatched_passed_0Z = h_zMuTrack_MCmatched_numberOfCand_passed->GetBinContent(1); - double Nzmtc_MCmatched_passed_1Z = h_zMuTrack_MCmatched_numberOfCand_passed->GetBinContent(2); - double Nzmtc_MCmatched_passed_moreZ = Nzmtc - Nzmtc_MCmatched_passed_0Z - Nzmtc_MCmatched_passed_1Z; - - cout << "--------------- Statistics ----------------------------------------------------------" << endl; - cout << "n of ZMuMu entries ...................................................... " << Nzmmc << endl; - cout << "n of ZMuMu events with 0 cand ............................................. " << Nzmmc_0Z << endl; - cout << "n of ZMuMu events with 1 cand ............................................. " << Nzmmc_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand ..................................... " << Nzmmc_moreZ << endl << endl; - - cout << "n of ZMuMu events not selected by cuts .................................... " << Nzmmc_passed_0Z << endl; - cout << "n of ZMuMu events with 1 cand selected by cuts ............................ " << Nzmmc_passed_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand elected by cuts ..................... " << Nzmmc_passed_moreZ << endl - << endl; - - cout << "n of ZMuMu events not selected by pt cut .................................. " << Nzmmc_ptpassed_0Z << endl; - cout << "n of ZMuMu events with 1 cand selected by pt cut .......................... " << Nzmmc_ptpassed_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand elected by pt cut ................... " << Nzmmc_ptpassed_moreZ << endl - << endl; - - cout << "n of ZMuMu events not selected by eta cut ................................. " << Nzmmc_etapassed_0Z << endl; - cout << "n of ZMuMu events with 1 cand selected by eta cut ......................... " << Nzmmc_etapassed_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand elected by eta cut .................. " << Nzmmc_etapassed_moreZ - << endl - << endl; - - cout << "n of ZMuMu events not selected by mass cut ................................ " << Nzmmc_masspassed_0Z << endl; - cout << "n of ZMuMu events with 1 cand selected by mass cut ........................ " << Nzmmc_masspassed_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand elected by mass cut ................. " << Nzmmc_masspassed_moreZ - << endl - << endl; - - cout << "n of ZMuMu events not selected by iso cut ................................. " << Nzmmc_isopassed_0Z << endl; - cout << "n of ZMuMu events with 1 cand selected iso cut ............................ " << Nzmmc_isopassed_1Z << endl; - cout << "n of ZMuMu events with 2 or more cand elected iso cut ..................... " << Nzmmc_isopassed_moreZ - << endl - << endl; - - cout << "n of ZMuMu events not selected by pt and eta cut .......................... " << Nzmmc_ptetapassed_0Z - << endl; - cout << "n of ZMuMu events with 1 cand selected by pt and eta cut .................. " << Nzmmc_ptetapassed_1Z - << endl; - cout << "n of ZMuMu events with 2 or more cand elected by pt and eta cut ........... " << Nzmmc_ptetapassed_moreZ - << endl - << endl; - - cout << "n of ZMuMu events not selected by pt and eta and mass cut ................. " << Nzmmc_ptetamasspassed_0Z - << endl; - cout << "n of ZMuMu events with 1 cand selected by pt and eta and mass cut ......... " << Nzmmc_ptetamasspassed_1Z - << endl; - cout << "n of ZMuMu events with 2 or more cand elected by pt and eta and mass cut .. " << Nzmmc_ptetamasspassed_moreZ - << endl - << endl; - - cout << "................When No ZMuMu are selected.................................." << endl; - cout << "n of ZMuSta entries ....................................................... " << Nzmsc << endl; - cout << "n of ZMuSta events with 0 cand ............................................ " << Nzmsc_0Z << endl; - cout << "n of ZMuSta events with 1 cand ............................................ " << Nzmsc_1Z << endl; - cout << "n of ZMuSta events with 2 or more cand .................................... " << Nzmsc_moreZ << endl << endl; - - cout << "n of ZMuSta not contained events with 0 cand .............................. " << Nzmsc_notcontained_0Z - << endl; - cout << "n of ZMuSta events not contained with 1 cand .............................. " << Nzmsc_notcontained_1Z - << endl; - cout << "n of ZMuSta events no contained with 2 or more cand ....................... " << Nzmsc_notcontained_moreZ - << endl - << endl; - - cout << "n of ZMuSta cand not selectd by cuts ...................................... " << Nzmsc_passed_0Z << endl; - cout << "n of ZMuSta events with 1 cand selected by cuts ........................... " << Nzmsc_passed_1Z << endl; - cout << "n of ZMuSta events with 2 or more cand selected by cuts ................... " << Nzmsc_passed_moreZ << endl - << endl; - - cout << "n of ZMuSta MCmatched cand not selectd by cuts ............................ " << Nzmsc_MCmatched_passed_0Z - << endl; - cout << "n of ZMuSta MCmatched events with 1 cand selected by cuts ................. " << Nzmsc_MCmatched_passed_1Z - << endl; - cout << "n of ZMuSta MCmatched events with 2 or more cand selected by cuts ......... " << Nzmsc_MCmatched_passed_moreZ - << endl - << endl; - - cout << "...............When no ZMuMu and ZMuSta are selcted........................." << endl; - cout << "n of ZMuTrack entries ................................................... " << Nzmtc << endl; - cout << "n of ZMuTrack events with 0 cand ..........................................." << Nzmtc_0Z << endl; - cout << "n of ZMuTrack events with 1 cand ..........................................." << Nzmtc_1Z << endl; - cout << "n of ZMuTrack events with 2 or more cand ..................................." << Nzmtc_moreZ << endl << endl; - - cout << "n of ZMuTrack not contained events with 0 cand ............................ " << Nzmtc_notcontained_0Z - << endl; - cout << "n of ZMuTrack events not contained with 1 cand ............................ " << Nzmtc_notcontained_1Z - << endl; - cout << "n of ZMuTrack events no contained with 2 or more cand ..................... " << Nzmtc_notcontained_moreZ - << endl - << endl; - - cout << "n of ZMuTrack cand not selectd by cuts ....................................." << Nzmtc_passed_0Z << endl; - cout << "n of ZMuTrack events with 1 cand selected by cuts .........................." << Nzmtc_passed_1Z << endl; - cout << "n of ZMuTrack events with 2 or more cand selected by cuts .................." << Nzmtc_passed_moreZ << endl - << endl; - - cout << "n of ZMuTrack MCmatched cand not selectd by cuts .......................... " << Nzmtc_MCmatched_passed_0Z - << endl; - cout << "n of ZMuTrcak MCmatched events with 1 cand selected by cuts ............... " << Nzmtc_MCmatched_passed_1Z - << endl; - cout << "n of ZMuTrack MCmatched events with 2 or more cand selected by cuts ....... " << Nzmtc_MCmatched_passed_moreZ - << endl; - - cout << "------------------------------------------------------------------------------------------" << endl; - - double Nzmm = h_zMuMu_mass_->GetEntries(); - double Nzsm = h_zMuSingleStandAlone_mass_->GetEntries(); - double Nzsnom = h_zMuSingleStandAloneOverlap_mass_->GetEntries(); - double Nztm = h_zMuSingleTrack_mass_->GetEntries(); - - double NzmmMatch = h_zMuMuMatched_mass_->GetEntries(); - double NzsmMatch = h_zMuSingleStandAloneMatched_mass_->GetEntries(); - double NzsnomMatch = h_zMuSingleStandAloneOverlapMatched_mass_->GetEntries(); - double NztmMatch = h_zMuSingleTrackMatched_mass_->GetEntries(); - - cout << "-- N SingleTrackMu = " << Nztm << endl; - cout << "-----N SinglStandAloneMu = " << Nzsm << endl; - cout << "-----N SingleStandAloneOverlapMu = " << Nzsnom << endl; - cout << "------- N MuMu = " << Nzmm << endl; - - cout << "-- N SingleTrackMuMatched = " << NztmMatch << endl; - cout << "-----N SinglStandAloneMuMatched = " << NzsmMatch << endl; - cout << "-----N SingleStandAloneOverlapMuMatched = " << NzsnomMatch << endl; - cout << "------- N MuMu Matched = " << NzmmMatch << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuAnalyzer_cynematics); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuEfficiency.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuEfficiency.cc deleted file mode 100644 index 3a9a50d9a0d2c..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuEfficiency.cc +++ /dev/null @@ -1,758 +0,0 @@ -/* \class ZMuMuEfficiency - * - * author: Pasquale Noli - * revised by Salvatore di Guida - * revised for CSA08 by Davide Piccolo - * - * Efficiency of reconstruction tracker and muon Chamber - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "TH1.h" -#include - -using namespace edm; -using namespace std; -using namespace reco; - -typedef ValueMap IsolationCollection; - -class ZMuMuEfficiency : public edm::EDAnalyzer { -public: - ZMuMuEfficiency(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - bool check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePt(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticleEta(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePhi(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - Particle::LorentzVector getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2); - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuTrackMatchMapToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT zMuStandAloneMatchMapToken_; - EDGetTokenT muonsToken_; - EDGetTokenT muonMatchMapToken_; - EDGetTokenT muonIsoToken_; - EDGetTokenT tracksToken_; - EDGetTokenT trackIsoToken_; - EDGetTokenT standAloneToken_; - EDGetTokenT standAloneIsoToken_; - EDGetTokenT genParticlesToken_; - - double zMassMin_, zMassMax_, ptmin_, etamax_, isomax_; - unsigned int nbinsPt_, nbinsEta_; - reco::CandidateBaseRef globalMuonCandRef_, trackMuonCandRef_, standAloneMuonCandRef_; - OverlapChecker overlap_; - - //histograms for measuring tracker efficiency - TH1D *h_etaStandAlone_, *h_etaMuonOverlappedToStandAlone_; - TH1D *h_ptStandAlone_, *h_ptMuonOverlappedToStandAlone_; - - //histograms for measuring standalone efficiency - TH1D *h_etaTrack_, *h_etaMuonOverlappedToTrack_; - TH1D *h_ptTrack_, *h_ptMuonOverlappedToTrack_; - - //histograms for MC acceptance - TH1D *h_nZMCfound_; - TH1D *h_ZetaGen_, *h_ZptGen_, *h_ZmassGen_; - TH1D *h_muetaGen_, *h_muptGen_, *h_muIsoGen_; - TH1D *h_dimuonPtGen_, *h_dimuonMassGen_, *h_dimuonEtaGen_; - TH1D *h_ZetaGenPassed_, *h_ZptGenPassed_, *h_ZmassGenPassed_; - TH1D *h_muetaGenPassed_, *h_muptGenPassed_, *h_muIsoGenPassed_; - TH1D *h_dimuonPtGenPassed_, *h_dimuonMassGenPassed_, *h_dimuonEtaGenPassed_; - //histograms for invarian mass resolution - TH1D *h_DELTA_ZMuMuMassReco_dimuonMassGen_, *h_DELTA_ZMuStaMassReco_dimuonMassGen_, - *h_DELTA_ZMuTrackMassReco_dimuonMassGen_; - - int numberOfEventsWithZMuMufound, numberOfEventsWithZMuStafound; - int numberOfMatchedZMuSta_, numberOfMatchedSelectedZMuSta_; - int numberOfMatchedZMuMu_, numberOfMatchedSelectedZMuMu_; - int numberOfOverlappedStandAlone_, numberOfOverlappedTracks_, numberOfMatchedZMuTrack_notOverlapped; - int numberOfMatchedZMuTrack_exclusive, numberOfMatchedSelectedZMuTrack_exclusive; - int numberOfMatchedZMuTrack_matchedZMuMu, numberOfMatchedZMuTrack_matchedSelectedZMuMu; - int totalNumberOfevents, totalNumberOfZfound, totalNumberOfZPassed; - int noMCmatching, ZMuTrack_exclusive_1match, ZMuTrack_exclusive_morematch; - int ZMuTrackselected_exclusive_1match, ZMuTrackselected_exclusive_morematch; - int ZMuTrack_ZMuMu_1match, ZMuTrack_ZMuMu_2match, ZMuTrack_ZMuMu_morematch; - - int n_zMuMufound_genZsele, n_zMuStafound_genZsele, n_zMuTrkfound_genZsele; -}; - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include -#include -#include - -ZMuMuEfficiency::ZMuMuEfficiency(const ParameterSet &pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuTrackMatchMapToken_(mayConsume(pset.getParameter("zMuTrackMatchMap"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - zMuStandAloneMatchMapToken_(mayConsume(pset.getParameter("zMuStandAloneMatchMap"))), - muonsToken_(consumes(pset.getParameter("muons"))), - muonMatchMapToken_(mayConsume(pset.getParameter("muonMatchMap"))), - muonIsoToken_(mayConsume(pset.getParameter("muonIso"))), - tracksToken_(consumes(pset.getParameter("tracks"))), - trackIsoToken_(mayConsume(pset.getParameter("trackIso"))), - standAloneToken_(consumes(pset.getParameter("standAlone"))), - standAloneIsoToken_(mayConsume(pset.getParameter("standAloneIso"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - - zMassMin_(pset.getUntrackedParameter("zMassMin")), - zMassMax_(pset.getUntrackedParameter("zMassMax")), - ptmin_(pset.getUntrackedParameter("ptmin")), - etamax_(pset.getUntrackedParameter("etamax")), - isomax_(pset.getUntrackedParameter("isomax")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsEta_(pset.getUntrackedParameter("nbinsEta")) { - Service fs; - TFileDirectory trackEffDir = fs->mkdir("TrackEfficiency"); - - // tracker efficiency distributions - h_etaStandAlone_ = trackEffDir.make( - "StandAloneMuonEta", "StandAlone #eta for Z -> #mu + standalone", nbinsEta_, -etamax_, etamax_); - h_etaMuonOverlappedToStandAlone_ = - trackEffDir.make("MuonOverlappedToStandAloneEta", - "Global muon overlapped to standAlone #eta for Z -> #mu + sa", - nbinsEta_, - -etamax_, - etamax_); - h_ptStandAlone_ = - trackEffDir.make("StandAloneMuonPt", "StandAlone p_{t} for Z -> #mu + standalone", nbinsPt_, ptmin_, 100); - h_ptMuonOverlappedToStandAlone_ = - trackEffDir.make("MuonOverlappedToStandAlonePt", - "Global muon overlapped to standAlone p_{t} for Z -> #mu + sa", - nbinsPt_, - ptmin_, - 100); - - // StandAlone efficiency distributions - TFileDirectory standaloneEffDir = fs->mkdir("StandaloneEfficiency"); - h_etaTrack_ = - standaloneEffDir.make("TrackMuonEta", "Track #eta for Z -> #mu + track", nbinsEta_, -etamax_, etamax_); - h_etaMuonOverlappedToTrack_ = standaloneEffDir.make("MuonOverlappedToTrackEta", - "Global muon overlapped to track #eta for Z -> #mu + tk", - nbinsEta_, - -etamax_, - etamax_); - h_ptTrack_ = standaloneEffDir.make("TrackMuonPt", "Track p_{t} for Z -> #mu + track", nbinsPt_, ptmin_, 100); - h_ptMuonOverlappedToTrack_ = standaloneEffDir.make( - "MuonOverlappedToTrackPt", "Global muon overlapped to track p_{t} for Z -> #mu + tk", nbinsPt_, ptmin_, 100); - - // inv. mass resolution studies - TFileDirectory invMassResolutionDir = fs->mkdir("invriantMassResolution"); - h_DELTA_ZMuMuMassReco_dimuonMassGen_ = - invMassResolutionDir.make("zMuMu_invMassResolution", "zMuMu invariant Mass Resolution", 50, -25, 25); - h_DELTA_ZMuStaMassReco_dimuonMassGen_ = - invMassResolutionDir.make("zMuSta_invMassResolution", "zMuSta invariant Mass Resolution", 50, -25, 25); - h_DELTA_ZMuTrackMassReco_dimuonMassGen_ = - invMassResolutionDir.make("zMuTrack_invMassResolution", "zMuTrack invariant Mass Resolution", 50, -25, 25); - - // generator level histograms - TFileDirectory genParticleDir = fs->mkdir("genParticle"); - h_nZMCfound_ = genParticleDir.make("NumberOfgeneratedZeta", "n. of generated Z per event", 4, -.5, 3.5); - h_ZetaGen_ = genParticleDir.make("generatedZeta", "#eta of generated Z", 100, -5., 5.); - h_ZptGen_ = genParticleDir.make("generatedZpt", "pt of generated Z", 100, 0., 200.); - h_ZmassGen_ = genParticleDir.make("generatedZmass", "mass of generated Z", 100, 0., 200.); - h_muetaGen_ = genParticleDir.make("generatedMuonEta", "#eta of generated muons from Z decay", 100, -5., 5.); - h_muptGen_ = genParticleDir.make("generatedMuonpt", "pt of generated muons from Z decay", 100, 0., 200.); - h_dimuonEtaGen_ = genParticleDir.make("generatedDimuonEta", "#eta of generated dimuon", 100, -5., 5.); - h_dimuonPtGen_ = genParticleDir.make("generatedDimuonPt", "pt of generated dimuon", 100, 0., 200.); - h_dimuonMassGen_ = genParticleDir.make("generatedDimuonMass", "mass of generated dimuon", 100, 0., 200.); - h_ZetaGenPassed_ = genParticleDir.make("generatedZeta_passed", "#eta of generated Z after cuts", 100, -5., 5.); - h_ZptGenPassed_ = genParticleDir.make("generatedZpt_passed", "pt of generated Z after cuts", 100, 0., 200.); - h_ZmassGenPassed_ = - genParticleDir.make("generatedZmass_passed", "mass of generated Z after cuts", 100, 0., 200.); - h_muetaGenPassed_ = genParticleDir.make( - "generatedMuonEta_passed", "#eta of generated muons from Z decay after cuts", 100, -5., 5.); - h_muptGenPassed_ = genParticleDir.make( - "generatedMuonpt_passed", "pt of generated muons from Z decay after cuts", 100, 0., 200.); - h_dimuonEtaGenPassed_ = - genParticleDir.make("generatedDimuonEta_passed", "#eta of generated dimuon after cuts", 100, -5., 5.); - h_dimuonPtGenPassed_ = - genParticleDir.make("generatedDimuonPt_passed", "pt of generated dimuon after cuts", 100, 0., 200.); - h_dimuonMassGenPassed_ = - genParticleDir.make("generatedDimuonMass_passed", "mass of generated dimuon after cuts", 100, 0., 200.); - // to insert isolation histograms .............. - - numberOfEventsWithZMuMufound = 0; - numberOfEventsWithZMuStafound = 0; - numberOfMatchedZMuMu_ = 0; - numberOfMatchedSelectedZMuMu_ = 0; - numberOfMatchedZMuSta_ = 0; - numberOfMatchedSelectedZMuSta_ = 0; - numberOfMatchedZMuTrack_matchedZMuMu = 0; - numberOfMatchedZMuTrack_matchedSelectedZMuMu = 0; - numberOfMatchedZMuTrack_exclusive = 0; - numberOfMatchedSelectedZMuTrack_exclusive = 0; - numberOfOverlappedStandAlone_ = 0; - numberOfOverlappedTracks_ = 0; - numberOfMatchedZMuTrack_notOverlapped = 0; - noMCmatching = 0; - ZMuTrack_exclusive_1match = 0; - ZMuTrack_exclusive_morematch = 0; - ZMuTrackselected_exclusive_1match = 0; - ZMuTrackselected_exclusive_morematch = 0; - ZMuTrack_ZMuMu_1match = 0; - ZMuTrack_ZMuMu_2match = 0; - ZMuTrack_ZMuMu_morematch = 0; - - n_zMuMufound_genZsele = 0; - n_zMuStafound_genZsele = 0; - n_zMuTrkfound_genZsele = 0; - - // generator counters - totalNumberOfevents = 0; - totalNumberOfZfound = 0; - totalNumberOfZPassed = 0; -} - -void ZMuMuEfficiency::analyze(const Event &event, const EventSetup &setup) { - Handle zMuMu; - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global - Handle zMuTrack; - Handle zMuTrackMatchMap; //Map of Z made by Mu + Track - Handle zMuStandAlone; - Handle zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone - Handle muons; //Collection of Muons - Handle muonMatchMap; - Handle muonIso; - Handle tracks; //Collection of Tracks - Handle trackIso; - Handle standAlone; //Collection of StandAlone - Handle standAloneIso; - Handle genParticles; // Collection of Generatd Particles - - event.getByToken(zMuMuToken_, zMuMu); - event.getByToken(zMuTrackToken_, zMuTrack); - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - event.getByToken(muonsToken_, muons); - event.getByToken(tracksToken_, tracks); - event.getByToken(standAloneToken_, standAlone); - event.getByToken(genParticlesToken_, genParticles); - - cout << "********* zMuMu size : " << zMuMu->size() << endl; - cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; - cout << "********* zMuTrack size : " << zMuTrack->size() << endl; - cout << "********* muons size : " << muons->size() << endl; - cout << "********* standAlone size : " << standAlone->size() << endl; - cout << "********* tracks size : " << tracks->size() << endl; - cout << "********* generated size : " << genParticles->size() << endl; - - // generator level distributions - - int nZMCfound = 0; - totalNumberOfevents++; - int ngen = genParticles->size(); - bool ZMuMuMatchedfound = false; - bool ZMuMuMatchedSelectedfound = false; - bool ZMuStaMatchedfound = false; - //bool ZMuStaMatchedSelectedfound = false; - int ZMuTrackMatchedfound = 0; - int ZMuTrackMatchedSelected_exclusivefound = 0; - - double dimuonMassGen = 0; - - for (int i = 0; i < ngen; i++) { - const Candidate &genCand = (*genParticles)[i]; - - // if((genCand.pdgId() == 23) && (genCand.status() == 2)) //this is an intermediate Z0 - // cout << ">>> intermediate Z0 found, with " << genCand.numberOfDaughters() << " daughters" << endl; - if ((genCand.pdgId() == 23) && (genCand.status() == 3)) { //this is a Z0 - if (genCand.numberOfDaughters() == 3) { // possible Z0 decays in mu+ mu-, the 3rd daughter is the same Z0 - const Candidate *dauGen0 = genCand.daughter(0); - const Candidate *dauGen1 = genCand.daughter(1); - const Candidate *dauGen2 = genCand.daughter(2); - if (check_ifZmumu(dauGen0, dauGen1, dauGen2)) { // Z0 in mu+ mu- - totalNumberOfZfound++; - nZMCfound++; - bool checkpt = false; - bool checketa = false; - bool checkmass = false; - float mupluspt, muminuspt, mupluseta, muminuseta; - mupluspt = getParticlePt(-13, dauGen0, dauGen1, dauGen2); - muminuspt = getParticlePt(13, dauGen0, dauGen1, dauGen2); - mupluseta = getParticleEta(-13, dauGen0, dauGen1, dauGen2); - muminuseta = getParticleEta(13, dauGen0, dauGen1, dauGen2); - //float muplusphi = getParticlePhi(-13,dauGen0,dauGen1,dauGen2); - //float muminusphi = getParticlePhi(13,dauGen0,dauGen1,dauGen2); - Particle::LorentzVector pZ(0, 0, 0, 0); - Particle::LorentzVector muplusp4 = getParticleP4(-13, dauGen0, dauGen1, dauGen2); - Particle::LorentzVector muminusp4 = getParticleP4(13, dauGen0, dauGen1, dauGen2); - pZ = muplusp4 + muminusp4; - double dimuon_pt = sqrt(pZ.x() * pZ.x() + pZ.y() * pZ.y()); - double tan_theta_half = tan(atan(dimuon_pt / pZ.z()) / 2.); - double dimuon_eta = 0.; - if (tan_theta_half > 0) - dimuon_eta = -log(tan(tan_theta_half)); - if (tan_theta_half <= 0) - dimuon_eta = log(tan(-tan_theta_half)); - - dimuonMassGen = pZ.mass(); // dimuon invariant Mass at Generator Level - - h_ZmassGen_->Fill(genCand.mass()); - h_ZetaGen_->Fill(genCand.eta()); - h_ZptGen_->Fill(genCand.pt()); - h_dimuonMassGen_->Fill(pZ.mass()); - h_dimuonEtaGen_->Fill(dimuon_eta); - h_dimuonPtGen_->Fill(dimuon_pt); - h_muetaGen_->Fill(mupluseta); - h_muetaGen_->Fill(muminuseta); - h_muptGen_->Fill(mupluspt); - h_muptGen_->Fill(muminuspt); - // dimuon 4-momentum - // h_mDimuonMC->Fill(pZ.mass()); - // h_ZminusDimuonMassMC->Fill(genCand.mass()-pZ.mass()); - // h_DeltaPhiMC->Fill(deltaPhi(muplusphi,muminusphi)); - // if (dauGen2==23) float z_eta = dauGen2->eta(); - // if (dauGen2==23) float Zpt = dauGen2->pt(); - // h_DeltaPhivsZPtMC->Fill(DeltaPhi(muplusphi,muminusphi),ZPt); - - if (mupluspt > ptmin_ && muminuspt > ptmin_) - checkpt = true; - if (mupluseta < etamax_ && muminuseta < etamax_) - checketa = true; - if (genCand.mass() > zMassMin_ && genCand.mass() < zMassMax_) - checkmass = true; - if (checkpt && checketa && checkmass) { - totalNumberOfZPassed++; - h_ZmassGenPassed_->Fill(genCand.mass()); - h_ZetaGenPassed_->Fill(genCand.eta()); - h_ZptGenPassed_->Fill(genCand.pt()); - h_dimuonMassGenPassed_->Fill(pZ.mass()); - h_dimuonEtaGenPassed_->Fill(dimuon_eta); - h_dimuonPtGenPassed_->Fill(dimuon_pt); - h_muetaGenPassed_->Fill(mupluseta); - h_muetaGenPassed_->Fill(muminuseta); - h_muptGenPassed_->Fill(mupluspt); - h_muptGenPassed_->Fill(muminuspt); - - if (!zMuMu->empty()) { - n_zMuMufound_genZsele++; - } else if (!zMuStandAlone->empty()) { - n_zMuStafound_genZsele++; - } else { - n_zMuTrkfound_genZsele++; - } - } - } - } - } - } - h_nZMCfound_->Fill(nZMCfound); // number of Z found in the event at generator level - - //TRACK efficiency (conto numero di eventi Zmumu global e ZmuSta (ricorda che sono due campioni esclusivi) - - if (!zMuMu->empty()) { - numberOfEventsWithZMuMufound++; - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - event.getByToken(muonIsoToken_, muonIso); - event.getByToken(standAloneIsoToken_, standAloneIso); - event.getByToken(muonMatchMapToken_, muonMatchMap); - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - const Candidate &zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - bool isMatched = false; - GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; - - if (zMuMuMatch.isNonnull()) { // ZMuMu matched - isMatched = true; - numberOfMatchedZMuMu_++; - } - CandidateBaseRef dau0 = zMuMuCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuMuCand.daughter(1)->masterClone(); - if (isMatched) - ZMuMuMatchedfound = true; - - // Cuts - if ((dau0->pt() > ptmin_) && (dau1->pt() > ptmin_) && (fabs(dau0->eta()) < etamax_) && - (fabs(dau1->eta()) < etamax_) && (zMuMuCand.mass() > zMassMin_) && (zMuMuCand.mass() < zMassMax_) && - (isMatched)) { - //The Z daughters are already matched! - const double globalMuonIsolation0 = (*muonIso)[dau0]; - const double globalMuonIsolation1 = (*muonIso)[dau1]; - if ((globalMuonIsolation0 < isomax_) && - (globalMuonIsolation1 < isomax_)) { // ZMuMu matched and selected by cuts - ZMuMuMatchedSelectedfound = true; - numberOfMatchedSelectedZMuMu_++; - h_etaStandAlone_->Fill(dau0->eta()); // StandAlone found dau0, eta - h_etaStandAlone_->Fill(dau1->eta()); // StandAlone found dau1, eta - h_etaMuonOverlappedToStandAlone_->Fill(dau0->eta()); // is global muon so dau0 is also found as a track, eta - h_etaMuonOverlappedToStandAlone_->Fill(dau1->eta()); // is global muon so dau1 is also found as a track, eta - h_ptStandAlone_->Fill(dau0->pt()); // StandAlone found dau0, pt - h_ptStandAlone_->Fill(dau1->pt()); // StandAlone found dau1, pt - h_ptMuonOverlappedToStandAlone_->Fill(dau0->pt()); // is global muon so dau0 is also found as a track, pt - h_ptMuonOverlappedToStandAlone_->Fill(dau1->pt()); // is global muon so dau1 is also found as a track, pt - - h_etaTrack_->Fill(dau0->eta()); // Track found dau0, eta - h_etaTrack_->Fill(dau1->eta()); // Track found dau1, eta - h_etaMuonOverlappedToTrack_->Fill(dau0->eta()); // is global muon so dau0 is also found as a StandAlone, eta - h_etaMuonOverlappedToTrack_->Fill(dau1->eta()); // is global muon so dau1 is also found as a StandAlone, eta - h_ptTrack_->Fill(dau0->pt()); // Track found dau0, pt - h_ptTrack_->Fill(dau1->pt()); // Track found dau1, pt - h_ptMuonOverlappedToTrack_->Fill(dau0->pt()); // is global muon so dau0 is also found as a StandAlone, pt - h_ptMuonOverlappedToTrack_->Fill(dau1->pt()); // is global muon so dau1 is also found as a StandAlone, pt - - h_DELTA_ZMuMuMassReco_dimuonMassGen_->Fill(zMuMuCand.mass() - dimuonMassGen); - // check that the two muons are matched . .per ora è solo un mio controllo - for (unsigned int j = 0; j < muons->size(); ++j) { - CandidateBaseRef muCandRef = muons->refAt(j); - GenParticleRef muonMatch = (*muonMatchMap)[muCandRef]; - // if (muonMatch.isNonnull()) cout << "mu match n. " << j << endl; - } - } - } - } - } - - if (!zMuStandAlone->empty()) { - numberOfEventsWithZMuStafound++; - event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap); - event.getByToken(muonIsoToken_, muonIso); - event.getByToken(standAloneIsoToken_, standAloneIso); - event.getByToken(muonMatchMapToken_, muonMatchMap); - for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates - const Candidate &zMuStaCand = (*zMuStandAlone)[i]; //the candidate - CandidateBaseRef zMuStaCandRef = zMuStandAlone->refAt(i); - bool isMatched = false; - GenParticleRef zMuStaMatch = (*zMuStandAloneMatchMap)[zMuStaCandRef]; - if (zMuStaMatch.isNonnull()) { // ZMuSta Macthed - isMatched = true; - ZMuStaMatchedfound = true; - numberOfMatchedZMuSta_++; - } - CandidateBaseRef dau0 = zMuStaCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuStaCand.daughter(1)->masterClone(); - - // Cuts - if ((dau0->pt() > ptmin_) && (dau1->pt() > ptmin_) && (fabs(dau0->eta()) < etamax_) && - (fabs(dau1->eta()) < etamax_) && (zMuStaCand.mass() > zMassMin_) && (zMuStaCand.mass() < zMassMax_) && - (isMatched)) { - CandidateBaseRef standAloneMuonCandRef_, globalMuonCandRef_; - if (dau0->isGlobalMuon()) { - standAloneMuonCandRef_ = dau1; - globalMuonCandRef_ = dau0; - } - if (dau1->isGlobalMuon()) { - standAloneMuonCandRef_ = dau0; - globalMuonCandRef_ = dau1; - } - - const double globalMuonIsolation = (*muonIso)[globalMuonCandRef_]; - const double standAloneMuonIsolation = (*standAloneIso)[standAloneMuonCandRef_]; - - if ((globalMuonIsolation < isomax_) && (standAloneMuonIsolation < isomax_)) { // ZMuSta matched and selected - //ZMuStaMatchedSelectedfound = true; - numberOfMatchedSelectedZMuSta_++; - h_etaStandAlone_->Fill(standAloneMuonCandRef_->eta()); //Denominator eta for measuring track efficiency - h_ptStandAlone_->Fill(standAloneMuonCandRef_->pt()); //Denominator pt for measuring track eff - h_DELTA_ZMuStaMassReco_dimuonMassGen_->Fill( - zMuStaCand.mass() - dimuonMassGen); // differnce between ZMuSta reco and dimuon mass gen - } - } - } - } //end loop on Candidate - - //STANDALONE efficiency - - if (!zMuTrack->empty()) { - event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap); - event.getByToken(muonIsoToken_, muonIso); - event.getByToken(trackIsoToken_, trackIso); - event.getByToken(muonMatchMapToken_, muonMatchMap); - for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates - const Candidate &zMuTrkCand = (*zMuTrack)[i]; //the candidate - CandidateBaseRef zMuTrkCandRef = zMuTrack->refAt(i); - bool isMatched = false; - GenParticleRef zMuTrkMatch = (*zMuTrackMatchMap)[zMuTrkCandRef]; - if (zMuTrkMatch.isNonnull()) { - isMatched = true; - } - CandidateBaseRef dau0 = zMuTrkCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuTrkCand.daughter(1)->masterClone(); - - if (isMatched) { - ZMuTrackMatchedfound++; - if (ZMuMuMatchedfound) - numberOfMatchedZMuTrack_matchedZMuMu++; - if (ZMuMuMatchedSelectedfound) - numberOfMatchedZMuTrack_matchedSelectedZMuMu++; - if (!ZMuMuMatchedfound) - numberOfMatchedZMuTrack_exclusive++; - } - // Cuts - if ((dau0->pt() > ptmin_) && (dau1->pt() > ptmin_) && (fabs(dau0->eta()) < etamax_) && - (fabs(dau1->eta()) < etamax_) && (zMuTrkCand.mass() > zMassMin_) && (zMuTrkCand.mass() < zMassMax_) && - (isMatched) && !ZMuMuMatchedfound && !ZMuStaMatchedfound) { - // dau0 is always the global muon, dau1 is the track for ZMuTrack collection - const double globalMuonIsolation = (*muonIso)[dau0]; - const double trackMuonIsolation = (*trackIso)[dau1]; - if ((globalMuonIsolation < isomax_) && - (trackMuonIsolation < isomax_)) { // ZMuTRack matched - selected without ZMuMu found (exclusive) - numberOfMatchedSelectedZMuTrack_exclusive++; - ZMuTrackMatchedSelected_exclusivefound++; - h_etaTrack_->Fill(dau1->eta()); //Denominator eta Sta - h_ptTrack_->Fill(dau1->pt()); //Denominator pt Sta - h_DELTA_ZMuTrackMassReco_dimuonMassGen_->Fill(zMuTrkCand.mass() - dimuonMassGen); - } - } - } - } //end loop on Candidate - - if (!ZMuMuMatchedfound && !ZMuStaMatchedfound && ZMuTrackMatchedfound == 0) - noMCmatching++; - if (!ZMuMuMatchedfound && ZMuTrackMatchedfound == 1) - ZMuTrack_exclusive_1match++; - if (!ZMuMuMatchedfound && ZMuTrackMatchedfound > 1) - ZMuTrack_exclusive_morematch++; - if (!ZMuMuMatchedfound && ZMuTrackMatchedSelected_exclusivefound == 1) - ZMuTrackselected_exclusive_1match++; - if (!ZMuMuMatchedfound && ZMuTrackMatchedSelected_exclusivefound > 1) - ZMuTrackselected_exclusive_morematch++; - if (ZMuMuMatchedfound && ZMuTrackMatchedfound == 1) - ZMuTrack_ZMuMu_1match++; - if (ZMuMuMatchedfound && ZMuTrackMatchedfound == 2) - ZMuTrack_ZMuMu_2match++; - if (ZMuMuMatchedfound && ZMuTrackMatchedfound > 2) - ZMuTrack_ZMuMu_morematch++; -} - -bool ZMuMuEfficiency::check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - bool muplusFound = false; - bool muminusFound = false; - bool ZFound = false; - if (partId0 == 13 || partId1 == 13 || partId2 == 13) - muminusFound = true; - if (partId0 == -13 || partId1 == -13 || partId2 == -13) - muplusFound = true; - if (partId0 == 23 || partId1 == 23 || partId2 == 23) - ZFound = true; - return (muplusFound && muminusFound && ZFound); -} - -float ZMuMuEfficiency::getParticlePt(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float ptpart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - return ptpart; -} - -float ZMuMuEfficiency::getParticleEta(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float etapart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - return etapart; -} - -float ZMuMuEfficiency::getParticlePhi(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float phipart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - return phipart; -} - -Particle::LorentzVector ZMuMuEfficiency::getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - Particle::LorentzVector p4part(0., 0., 0., 0.); - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - return p4part; -} - -void ZMuMuEfficiency::endJob() { - // double efficiencySTA =(double)numberOfOverlappedStandAlone_/(double)numberOfMatchedZMuTrack_; - // double errorEff_STA = sqrt( efficiencySTA*(1 - efficiencySTA)/(double)numberOfMatchedZMuTrack_); - - double myTrackEff = 2. * numberOfMatchedSelectedZMuMu_ / - (2. * numberOfMatchedSelectedZMuMu_ + (double)numberOfMatchedSelectedZMuSta_); - double myErrTrackEff = sqrt(myTrackEff * (1 - myTrackEff) / - (2. * numberOfMatchedSelectedZMuMu_ + (double)numberOfMatchedSelectedZMuSta_)); - - double myStaEff = 2. * numberOfMatchedSelectedZMuMu_ / - (2. * numberOfMatchedSelectedZMuMu_ + (double)numberOfMatchedSelectedZMuTrack_exclusive); - double myErrStaEff = sqrt(myTrackEff * (1 - myTrackEff) / - (2. * numberOfMatchedSelectedZMuMu_ + (double)numberOfMatchedSelectedZMuTrack_exclusive)); - - // double efficiencyTRACK =(double)numberOfOverlappedTracks_/(double)numberOfMatchedZMuSta_; - // double errorEff_TRACK = sqrt( efficiencyTRACK*(1 - efficiencyTRACK)/(double)numberOfMatchedZMuSta_); - - cout << "------------------------------------ Counters for MC acceptance --------------------------------" << endl; - cout << "totalNumberOfevents = " << totalNumberOfevents << endl; - cout << "totalNumberOfZfound = " << totalNumberOfZfound << endl; - cout << "totalNumberOfZpassed = " << totalNumberOfZPassed << endl; - cout << "n. of events zMuMu found (gen level selected)" << n_zMuMufound_genZsele << endl; - cout << "n. of events zMuSta found (gen level selected)" << n_zMuStafound_genZsele << endl; - cout << "n. of events zMuTrk found (gen level selected)" << n_zMuTrkfound_genZsele << endl; - - cout << "---------------------------- Counter for MC truth efficiency calculation--------------------- " << endl; - - cout << "number of events with ZMuMu found = " << numberOfEventsWithZMuMufound << endl; - cout << "number of events with ZMuSta found = " << numberOfEventsWithZMuStafound << endl; - cout << "-------------------------------------------------------------------------------------- " << endl; - - cout << "number of events without MC maching = " << noMCmatching << endl; - cout << "number of ZMuTrack exclsive 1 match = " << ZMuTrack_exclusive_1match << endl; - cout << "number of ZMuTrack exclsive more match = " << ZMuTrack_exclusive_morematch << endl; - cout << "number of ZMuTrack selected exclusive 1 match = " << ZMuTrackselected_exclusive_1match << endl; - cout << "number of ZMuTrack selected exclusive more match = " << ZMuTrackselected_exclusive_morematch << endl; - cout << "number of ZMuTrack ZMuMu 1 match = " << ZMuTrack_ZMuMu_1match << endl; - cout << "number of ZMuTrack ZMuMu 2 match = " << ZMuTrack_ZMuMu_2match << endl; - cout << "number of ZMuTrack ZMuMu more match = " << ZMuTrack_ZMuMu_morematch << endl; - cout << "numberOfMatchedZMuMu = " << numberOfMatchedZMuMu_ << endl; - cout << "numberOfMatchedSelectdZMuMu = " << numberOfMatchedSelectedZMuMu_ << endl; - cout << "numberOfMatchedZMuSta = " << numberOfMatchedZMuSta_ << endl; - cout << "numberOfMatchedSelectedZMuSta = " << numberOfMatchedSelectedZMuSta_ << endl; - cout << "numberOfMatchedZMuTrack_matchedZMuMu = " << numberOfMatchedZMuTrack_matchedZMuMu << endl; - cout << "numberOfMatchedZMuTrack_matchedSelectedZMuMu = " << numberOfMatchedZMuTrack_matchedSelectedZMuMu << endl; - cout << "numberOfMatchedZMuTrack exclusive = " << numberOfMatchedZMuTrack_exclusive << endl; - cout << "numberOfMatchedSelectedZMuTrack exclusive = " << numberOfMatchedSelectedZMuTrack_exclusive << endl; - cout << " ----------------------------- Efficiency --------------------------------- " << endl; - cout << "Efficiency StandAlone = " << myStaEff << " +/- " << myErrStaEff << endl; - cout << "Efficiency Track = " << myTrackEff << " +/- " << myErrTrackEff << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuEfficiency); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuIsolationAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuIsolationAnalyzer.cc deleted file mode 100644 index c5a5b7916a5b2..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuIsolationAnalyzer.cc +++ /dev/null @@ -1,382 +0,0 @@ -#include "DataFormats/Common/interface/AssociationVector.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "TH1.h" -#include "TH2.h" -#include "TMath.h" -#include -#include -#include -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; - -class ZMuMuIsolationAnalyzer : public edm::EDAnalyzer { -public: - ZMuMuIsolationAnalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - EDGetTokenT srcToken; - double dRVeto; - double dRTrk, dREcal, dRHcal; - double ptThreshold, etEcalThreshold, etHcalThreshold; - double alpha, beta; - double pt, eta; - double iso_cut; - - TH1F *h_IsoZ_tk, *h_IsoW_tk, *h_IsoOther_tk; - TH1F *h_IsoZ_ecal, *h_IsoW_ecal, *h_IsoOther_ecal; - TH1F *h_IsoZ_hcal, *h_IsoW_hcal, *h_IsoOther_hcal; - TH1F *IsoZ, *IsoW, *IsoOther; - TH1F *TkrPt, *EcalEt, *HcalEt; - TH1F *EcalEtZ, *HcalEtZ; - - TH1F *Z_eta, *W_eta, *Other_eta; - TH1F *Z_eta_postSelection, *W_eta_postSelection, *Other_eta_postSelection; - TH1F *Z_pt, *W_pt, *Other_pt; - TH1F *Z_pt_postSelection, *W_pt_postSelection, *Other_pt_postSelection; - - enum MuTag { muFromZ, muFromW, muFromOther }; - template - MuTag muTag(const T& mu) const; - void Deposits(const pat::IsoDeposit* isodep, double dR_max, TH1F* hist); - void histo(TH1F* hist, const char* cx, const char* cy) const; -}; - -template -ZMuMuIsolationAnalyzer::MuTag ZMuMuIsolationAnalyzer::muTag(const T& mu) const { - GenParticleRef p = mu.genParticleRef(); - if (p.isNull()) { - // cout<<"genParticleRef is null "<numberOfMothers(); - if (sizem != 1) { - //cout<<"number of mothers !=1 "<mother(); - if (moth1 == nullptr) { - return muFromOther; - //cout<<"no mother "<pdgId(); - if (abs(pdgId1) != 13) { - return muFromOther; - //cout<<"mother is not a muon"<mother(); - if (moth2 == nullptr) { - return muFromOther; - //cout<<"no mother "<pdgId(); - if (pdgId2 == 23) { - //cout<<" muon from Z"<begin(); it != isodep->end(); ++it) { - if (it->dR() < dR_max) { - double theta = 2 * (TMath::ATan(TMath::Exp(-(it->eta())))); - // double theta= 2; - hist->Fill(it->value() / TMath::Sin(theta)); - } - } -} - -void ZMuMuIsolationAnalyzer::histo(TH1F* hist, const char* cx, const char* cy) const { - hist->GetXaxis()->SetTitle(cx); - hist->GetYaxis()->SetTitle(cy); - hist->GetXaxis()->SetTitleOffset(1); - hist->GetYaxis()->SetTitleOffset(1.2); - hist->GetXaxis()->SetTitleSize(0.04); - hist->GetYaxis()->SetTitleSize(0.04); - hist->GetXaxis()->SetLabelSize(0.03); - hist->GetYaxis()->SetLabelSize(0.03); -} - -ZMuMuIsolationAnalyzer::ZMuMuIsolationAnalyzer(const ParameterSet& pset) - : srcToken(consumes(pset.getParameter("src"))), - dRVeto(pset.getUntrackedParameter("veto")), - dRTrk(pset.getUntrackedParameter("deltaRTrk")), - dREcal(pset.getUntrackedParameter("deltaREcal")), - dRHcal(pset.getUntrackedParameter("deltaRHcal")), - ptThreshold(pset.getUntrackedParameter("ptThreshold")), - etEcalThreshold(pset.getUntrackedParameter("etEcalThreshold")), - etHcalThreshold(pset.getUntrackedParameter("etHcalThreshold")), - alpha(pset.getUntrackedParameter("alpha")), - beta(pset.getUntrackedParameter("beta")), - pt(pset.getUntrackedParameter("pt")), - eta(pset.getUntrackedParameter("eta")), - iso_cut(pset.getUntrackedParameter("isoCut")) { - edm::Service fs; - std::ostringstream str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, n_tracks; - str1 << "muons from Z with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk; - str2 << "muons from W with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk; - str3 << "muons from Others with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk; - str4 << "muons from Z with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << " (alpha = " << alpha << " , " - << "beta = " << beta << " )"; - str5 << "muons from W with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << " (alpha = " << alpha << " , " - << "beta = " << beta << " )"; - str6 << "muons from Other with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << " (alpha = " << alpha << " , " - << "beta = " << beta << " )"; - n_tracks << "Number of tracks for muon with p_{t} > " << ptThreshold << " and #Delta R < " << dRTrk << " GeV/c"; - str7 << "Isolation Vs p_{t} with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << "(Tracker)"; - str8 << "Isolation Vs p_{t} with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << "(Ecal)"; - str9 << "Isolation Vs p_{t} with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << "(Hcal)"; - str10 << "Isolation Vs p_{t} with p_{t} > " << ptThreshold << " GeV/c" - << " and #Delta R < " << dRTrk << " (alpha = " << alpha << " , " - << "beta = " << beta << " )"; - h_IsoZ_tk = fs->make("ZIso_Tk", str1.str().c_str(), 100, 0., 20.); - h_IsoW_tk = fs->make("WIso_Tk", str2.str().c_str(), 100, 0., 20.); - h_IsoOther_tk = fs->make("otherIso_Tk", str3.str().c_str(), 100, 0., 20.); - h_IsoZ_ecal = fs->make("ZIso_ecal", str1.str().c_str(), 100, 0., 20.); - h_IsoW_ecal = fs->make("WIso_ecal", str2.str().c_str(), 100, 0., 20.); - h_IsoOther_ecal = fs->make("otherIso_ecal", str3.str().c_str(), 100, 0., 20.); - h_IsoZ_hcal = fs->make("ZIso_hcal", str1.str().c_str(), 100, 0., 20.); - h_IsoW_hcal = fs->make("WIso_hcal", str2.str().c_str(), 100, 0., 20.); - h_IsoOther_hcal = fs->make("otherIso_hcal", str3.str().c_str(), 100, 0., 20.); - IsoZ = fs->make("ZIso", str4.str().c_str(), 100, 0., 20.); - IsoW = fs->make("WIso", str5.str().c_str(), 100, 0., 20.); - IsoOther = fs->make("otherIso", str6.str().c_str(), 100, 0., 20.); - - Z_eta = fs->make("Z_eta", "#eta distribution for muons coming from Z", 40, -eta, eta); - W_eta = fs->make("W_eta", "#eta distribution for muons coming from W", 40, -eta, eta); - Other_eta = fs->make("Other_eta", "#eta distribution for muons coming from other", 40, -eta, eta); - Z_eta_postSelection = fs->make( - "Z_eta_postSelection", "#eta distribution for muons coming from Z after iso selection", 40, -eta, eta); - W_eta_postSelection = fs->make( - "W_eta_postSelection", "#eta distribution for muons coming from W after iso selection", 40, -eta, eta); - Other_eta_postSelection = fs->make( - "Other_eta_postSelection", "#eta distribution for muons coming from other after iso selection", 40, -eta, eta); - - Z_pt = fs->make("Z_pt", "p_{T} distribution for muons coming from Z", 40, pt, 150.); - W_pt = fs->make("W_pt", "p_{T} distribution for muons coming from W", 40, pt, 150.); - Other_pt = fs->make("Other_pt", "p_{T} distribution for muons coming from other", 40, pt, 150.); - Z_pt_postSelection = fs->make( - "Z_pt_postSelection", "p_{T} distribution for muons coming from Z after iso selection", 40, pt, 150.); - W_pt_postSelection = fs->make( - "W_pt_postSelection", "p_{t} distribution for muons coming from W after iso selection", 40, pt, 150.); - Other_pt_postSelection = fs->make( - "Other_pt_postSelection", "p_{t} distribution for muons coming from other after iso selection", 40, pt, 150.); - - TkrPt = fs->make("TkrPt", "IsoDeposit p distribution in the Tracker", 100, 0., 10.); - EcalEt = fs->make("EcalEt", "IsoDeposit E distribution in the Ecal", 100, 0., 5.); - HcalEt = fs->make("HcalEt", "IsoDeposit E distribution in the Hcal", 100, 0., 5.); - - EcalEtZ = fs->make("VetoEcalEt", " #Sigma E_{T} deposited in veto cone in the Ecal", 100, 0., 10.); - HcalEtZ = fs->make("VetoHcalEt", " #Sigma E_{T} deposited in veto cone in the Hcal", 100, 0., 10.); -} - -void ZMuMuIsolationAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle dimuons; - event.getByToken(srcToken, dimuons); - - for (unsigned int i = 0; i < dimuons->size(); ++i) { - const Candidate& zmm = (*dimuons)[i]; - const Candidate* dau0 = zmm.daughter(0); - const Candidate* dau1 = zmm.daughter(1); - const pat::Muon& mu0 = dynamic_cast(*dau0->masterClone()); - const pat::GenericParticle& mu1 = dynamic_cast(*dau1->masterClone()); - - const pat::IsoDeposit* muTrackIso = mu0.isoDeposit(pat::TrackIso); - const pat::IsoDeposit* tkTrackIso = mu1.isoDeposit(pat::TrackIso); - const pat::IsoDeposit* muEcalIso = mu0.isoDeposit(pat::EcalIso); - const pat::IsoDeposit* tkEcalIso = mu1.isoDeposit(pat::EcalIso); - const pat::IsoDeposit* muHcalIso = mu0.isoDeposit(pat::HcalIso); - const pat::IsoDeposit* tkHcalIso = mu1.isoDeposit(pat::HcalIso); - - if (mu0.pt() > pt && mu1.pt() > pt && abs(mu0.eta()) < eta && abs(mu1.eta()) < eta) { - Direction muDir = Direction(mu0.eta(), mu0.phi()); - Direction tkDir = Direction(mu1.eta(), mu1.phi()); - - IsoDeposit::AbsVetos vetos_mu; - vetos_mu.push_back(new ConeVeto(muDir, dRVeto)); - vetos_mu.push_back(new ThresholdVeto(ptThreshold)); - - reco::IsoDeposit::AbsVetos vetos_tk; - vetos_tk.push_back(new ConeVeto(tkDir, dRVeto)); - vetos_tk.push_back(new ThresholdVeto(ptThreshold)); - - reco::IsoDeposit::AbsVetos vetos_mu_ecal; - vetos_mu_ecal.push_back(new ConeVeto(muDir, 0.)); - vetos_mu_ecal.push_back(new ThresholdVeto(etEcalThreshold)); - - reco::IsoDeposit::AbsVetos vetos_tk_ecal; - vetos_tk_ecal.push_back(new ConeVeto(tkDir, 0.)); - vetos_tk_ecal.push_back(new ThresholdVeto(etEcalThreshold)); - - reco::IsoDeposit::AbsVetos vetos_mu_hcal; - vetos_mu_hcal.push_back(new ConeVeto(muDir, 0.)); - vetos_mu_hcal.push_back(new ThresholdVeto(etHcalThreshold)); - - reco::IsoDeposit::AbsVetos vetos_tk_hcal; - vetos_tk_hcal.push_back(new ConeVeto(tkDir, 0.)); - vetos_tk_hcal.push_back(new ThresholdVeto(etHcalThreshold)); - MuTag tag_mu = muTag(mu0); - MuTag tag_track = muTag(mu1); - - double Tk_isovalue = TMath::Max(muTrackIso->sumWithin(dRTrk, vetos_mu), tkTrackIso->sumWithin(dRTrk, vetos_tk)); - double Ecal_isovalue = - TMath::Max(muEcalIso->sumWithin(dREcal, vetos_mu_ecal), tkEcalIso->sumWithin(dREcal, vetos_tk_ecal)); - double Hcal_isovalue = - TMath::Max(muHcalIso->sumWithin(dRHcal, vetos_mu_hcal), tkHcalIso->sumWithin(dRHcal, vetos_tk_hcal)); - EcalEtZ->Fill(muEcalIso->candEnergy()); - EcalEtZ->Fill(tkEcalIso->candEnergy()); - HcalEtZ->Fill(muHcalIso->candEnergy()); - HcalEtZ->Fill(tkHcalIso->candEnergy()); - - double iso_value0 = alpha * ((0.5 * (1 + beta) * muEcalIso->sumWithin(dREcal, vetos_mu_ecal)) + - (0.5 * (1 - beta) * muHcalIso->sumWithin(dRHcal, vetos_mu_hcal))) + - (1 - alpha) * muTrackIso->sumWithin(dRTrk, vetos_mu); - double iso_value1 = alpha * ((0.5 * (1 + beta) * tkEcalIso->sumWithin(dREcal, vetos_tk_ecal)) + - (0.5 * (1 - beta) * tkHcalIso->sumWithin(dRHcal, vetos_tk_hcal))) + - (1 - alpha) * tkTrackIso->sumWithin(dRTrk, vetos_tk); - - double iso_value = TMath::Max(iso_value0, iso_value1); - - if (tag_mu == muFromZ && tag_track == muFromZ) { - h_IsoZ_tk->Fill(Tk_isovalue); - h_IsoZ_ecal->Fill(Ecal_isovalue); - h_IsoZ_hcal->Fill(Hcal_isovalue); - IsoZ->Fill(iso_value); - - Z_eta->Fill(mu0.eta()); - Z_eta->Fill(mu1.eta()); - Z_pt->Fill(mu0.pt()); - Z_pt->Fill(mu1.pt()); - - if (iso_value0 < iso_cut) { - Z_pt_postSelection->Fill(mu0.pt()); - Z_eta_postSelection->Fill(mu0.eta()); - } - if (iso_value1 < iso_cut) { - Z_pt_postSelection->Fill(mu1.pt()); - Z_eta_postSelection->Fill(mu1.eta()); - } - - Deposits(muTrackIso, dRTrk, TkrPt); - Deposits(muEcalIso, dREcal, EcalEt); - Deposits(muHcalIso, dRHcal, HcalEt); - Deposits(tkTrackIso, dRTrk, TkrPt); - Deposits(tkEcalIso, dREcal, EcalEt); - Deposits(tkHcalIso, dRHcal, HcalEt); - } - if (tag_mu == muFromW || tag_track == muFromW) { - h_IsoW_tk->Fill(Tk_isovalue); - h_IsoW_ecal->Fill(Ecal_isovalue); - h_IsoW_hcal->Fill(Hcal_isovalue); - IsoW->Fill(iso_value); - - W_eta->Fill(mu0.eta()); - W_eta->Fill(mu1.eta()); - W_pt->Fill(mu0.pt()); - W_pt->Fill(mu1.pt()); - - if (iso_value0 < iso_cut) { - W_pt_postSelection->Fill(mu0.pt()); - W_eta_postSelection->Fill(mu0.eta()); - } - if (iso_value1 < iso_cut) { - W_pt_postSelection->Fill(mu1.pt()); - W_eta_postSelection->Fill(mu1.eta()); - } - - Deposits(muTrackIso, dRTrk, TkrPt); - Deposits(muEcalIso, dREcal, EcalEt); - Deposits(muHcalIso, dRHcal, HcalEt); - Deposits(tkTrackIso, dRTrk, TkrPt); - Deposits(tkEcalIso, dREcal, EcalEt); - Deposits(tkHcalIso, dRHcal, HcalEt); - } else { - h_IsoOther_tk->Fill(Tk_isovalue); - h_IsoOther_ecal->Fill(Ecal_isovalue); - h_IsoOther_hcal->Fill(Hcal_isovalue); - IsoOther->Fill(iso_value); - - Other_eta->Fill(mu0.eta()); - Other_eta->Fill(mu1.eta()); - Other_pt->Fill(mu0.pt()); - Other_pt->Fill(mu1.pt()); - - if (iso_value0 < iso_cut) { - Other_pt_postSelection->Fill(mu0.pt()); - Other_eta_postSelection->Fill(mu0.eta()); - } - if (iso_value1 < iso_cut) { - Other_pt_postSelection->Fill(mu1.pt()); - Other_eta_postSelection->Fill(mu1.eta()); - } - - Deposits(muTrackIso, dRTrk, TkrPt); - Deposits(muEcalIso, dREcal, EcalEt); - Deposits(muHcalIso, dRHcal, HcalEt); - Deposits(tkTrackIso, dRTrk, TkrPt); - Deposits(tkEcalIso, dREcal, EcalEt); - Deposits(tkHcalIso, dRHcal, HcalEt); - } - } - } - - histo(h_IsoZ_tk, "#Sigma p_{T}", "Events"); - histo(h_IsoW_tk, "#Sigma p_{T}", "Events"); - histo(h_IsoOther_tk, "#Sigma p_{T}", "#Events"); - histo(h_IsoZ_ecal, "#Sigma E_{t}", "Events"); - histo(h_IsoW_ecal, "#Sigma E_{t}", "Events"); - histo(h_IsoOther_ecal, "#Sigma E_{t}", "Events"); - histo(h_IsoZ_hcal, "#Sigma E_{t}", "Events"); - histo(h_IsoW_hcal, "#Sigma E_{t}", "Events"); - histo(h_IsoOther_hcal, "#Sigma E_{t}", "Events"); - histo(TkrPt, "p ", ""); - histo(EcalEt, "E ", ""); - histo(HcalEt, "E ", ""); - histo(HcalEtZ, "E_{T}", ""); - histo(EcalEtZ, "E_{T}", ""); -} - -void ZMuMuIsolationAnalyzer::endJob() {} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuIsolationAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuOverlapExclusion.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuOverlapExclusion.cc deleted file mode 100644 index 09123304c6d3c..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuOverlapExclusion.cc +++ /dev/null @@ -1,113 +0,0 @@ -#include "CommonTools/UtilAlgos/interface/OverlapExclusionSelector.h" -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include - -struct ZMuMuOverlap { - ZMuMuOverlap(const edm::ParameterSet&) {} - bool operator()(const reco::Candidate& zMuMu, const reco::Candidate& z) const { - using namespace std; - using namespace reco; - // check if a candidate z is different from zMuMu - // (for example a Z can be done with two global muons, or with a global muon plus a standalone muon. - // if the standalone muon is part of the second global muon in fact this is the same Z) - - unsigned int nd1 = zMuMu.numberOfDaughters(); - unsigned int nd2 = z.numberOfDaughters(); - - assert(nd1 == 2 && nd2 == 2); - const int maxd = 2; - const Candidate* daughters1[maxd]; - const Candidate* daughters2[maxd]; - TrackRef trackerTrack1[maxd]; - TrackRef stAloneTrack1[maxd]; - TrackRef globalTrack1[maxd]; - TrackRef trackerTrack2[maxd]; - TrackRef stAloneTrack2[maxd]; - TrackRef globalTrack2[maxd]; - bool flag; - unsigned int matched = 0; - - for (unsigned int i = 0; i < nd1; ++i) { - daughters1[i] = zMuMu.daughter(i); - trackerTrack1[i] = daughters1[i]->get(); - stAloneTrack1[i] = daughters1[i]->get(); - globalTrack1[i] = daughters1[i]->get(); - - /*********************************************** just used for debug ******************** - if (trackerTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " tracker ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " tracker ref FOUND" - << " id: " << trackerTrack1[i].id() << ", index: " << trackerTrack1[i].key() - << endl; - if (stAloneTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " stalone ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " stalone ref FOUND" - << " id: " << stAloneTrack1[i].id() << ", index: " << stAloneTrack1[i].key() - << endl; - - if (globalTrack1[i].isNull()) - cout << "in ZMuMu daughter " << i << " global ref non found " << endl; - else - cout << "in ZMuMu daughter " << i << " global ref FOUND" - << " id: " << globalTrack1[i].id() << ", index: " << globalTrack1[i].key() - << endl; - */ - } - for (unsigned int i = 0; i < nd2; ++i) { - daughters2[i] = z.daughter(i); - trackerTrack2[i] = daughters2[i]->get(); - stAloneTrack2[i] = daughters2[i]->get(); - globalTrack2[i] = daughters2[i]->get(); - - /******************************************** just used for debug ************ - if (trackerTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " tracker ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " tracker ref FOUND" - << " id: " << trackerTrack2[i].id() << ", index: " << trackerTrack2[i].key() - << endl; - if (stAloneTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " standalone ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " standalone ref FOUND" - << " id: " << stAloneTrack2[i].id() << ", index: " << stAloneTrack2[i].key() - << endl; - - if (globalTrack2[i].isNull()) - cout << "in ZMuSta daughter " << i << " global ref non found " << endl; - else - cout << "in ZMuSta daughter " << i << " global ref FOUND" - << " id: " << globalTrack2[i].id() << ", index: " << globalTrack2[i].key() - << endl; - - */ - } - for (unsigned int i = 0; i < nd1; i++) { - flag = false; - for (unsigned int j = 0; j < nd2; - j++) { // if the obj2 is a standalone the trackref is alwais in the trackerTRack position - if (((trackerTrack2[i].id() == trackerTrack1[j].id()) && (trackerTrack2[i].key() == trackerTrack1[j].key())) || - ((trackerTrack2[i].id() == stAloneTrack1[j].id()) && (trackerTrack2[i].key() == stAloneTrack1[j].key()))) { - flag = true; - } - } - if (flag) - matched++; - } - if (matched == nd1) // return true if all the childrens of the ZMuMu have a children matched in ZMuXX - return true; - else - return false; - } -}; - -typedef SingleObjectSelector, - OverlapExclusionSelector > - ZMuMuOverlapExclusionSelector; - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuOverlapExclusionSelector); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuPerformances.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuPerformances.cc deleted file mode 100644 index b3ce46c5c1608..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuPerformances.cc +++ /dev/null @@ -1,1405 +0,0 @@ -/* \class ZMuMuPerformances - * - * author: Davide Piccolo - * - * ZMuMu Performances: - * check charge mis-id for standAlone and global muons, - * check standAlne resolution vs track resolution - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include - -using namespace edm; -using namespace std; -using namespace reco; - -typedef ValueMap IsolationCollection; - -class ZMuMuPerformances : public edm::EDAnalyzer { -public: - ZMuMuPerformances(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - bool check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePt(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticleEta(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePhi(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - Particle::LorentzVector getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2); - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuTrackMatchMapToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT zMuStandAloneMatchMapToken_; - EDGetTokenT muonsToken_; - EDGetTokenT muonMatchMapToken_; - EDGetTokenT muonIsoToken_; - EDGetTokenT tracksToken_; - EDGetTokenT trackIsoToken_; - EDGetTokenT genParticlesToken_; - - bool noCut_; - double zMassMin_, zMassMax_; - double ptminPlus_, ptmaxPlus_, etaminPlus_, etamaxPlus_; - double ptminMinus_, ptmaxMinus_, etaminMinus_, etamaxMinus_, isomax_; - - double etamax_, ptmin_, massMin_, massMax_, isoMax_; - - reco::CandidateBaseRef globalMuonCandRef_, trackMuonCandRef_, standAloneMuonCandRef_; - OverlapChecker overlap_; - - // general histograms - TH1D *h_n_globalMuon_perEvent, *h_n_staOnlyMuon_perEvent, *h_n_trackerOnlyMuon_perEvent, - *h_n_trackerStaOnlyMuon_perEvent; - TH1D *h_n_globalMuon_perEvent_MCmatch, *h_n_staOnlyMuon_perEvent_MCmatch, *h_n_trackerOnlyMuon_perEvent_MCmatch; - TH1D *h_n_trackerStaOnlyMuon_perEvent_MCmatch, *h_n_tracks_perEvent; - TH1D *h_n_zMuMu_perEvent, *h_n_zMuSta_perEvent, *h_n_zMuTrack_perEvent; - - // zMuMu inv mass - TH1D *h_zMuMuMassSameSign, *h_zMuMuMassSameSign_MCmatch, *h_zMuMuMassOppositeSign; - // histograms with MC truth - // charge truth - TH1D *h_GlobalMuonChargeTimeGenCharge, *h_TrackerMuonChargeTimeGenCharge; - // resolution respect to gen particles - TH1D *h_GlobalMuonEtaMinusGenEta, *h_TrackerMuonEtaMinusGenEta, *h_GlobalMuonPtMinusGenPt, *h_TrackerMuonPtMinusGenPt; - TH1D *h_GlobalMuonStaComponentEtaMinusGenEta, *h_GlobalMuonStaComponentPtMinusGenPt; - TH2D *h_DEtaGlobalGenvsEtaGen, *h_DPtGlobalGenvsPtGen, *h_DEtaGlobalStaComponentGenvsEtaGen, - *h_DPtGlobalStaComponentGenvsPtGen; - TH2D *h_DPtGlobalGenvsEtaGen, *h_DPtGlobalStaComponentGenvsEtaGen; - // resolution respect to gen particles for ZMuMuTagged events - TH1D *h_GlobalMuonEtaMinusGenEta_ZMuMuTagged; - TH1D *h_GlobalMuonPtMinusGenPt_ZMuMuTagged; - TH1D *h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged, *h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged; - TH2D *h_DEtaGlobalGenvsEtaGen_ZMuMuTagged, *h_DPtGlobalGenvsPtGen_ZMuMuTagged; - TH2D *h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged, *h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged; - TH2D *h_DPtGlobalGenvsEtaGen_ZMuMuTagged, *h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged; - TH2D *h_DPtTrackGenvsPtGen_ZMuMuTagged, *h_DPtTrackGenvsEtaGen_ZMuMuTagged; - - // histograms for cynematic of ZMuMutagged muons for STA performances studies - TH1D *h_zMuTrackMass_ZMuMuTagged, *h_etaTrack_ZMuMuTagged, *h_phiTrack_ZMuMuTagged, *h_ptTrack_ZMuMuTagged, - *h_DRTrack_ZMuMuTagged; - // histograms for cynematic of ZMuMutagged muons when StandAlone has wrong charge - TH1D *h_zMuTrackMass_wrongStaCharge_ZMuMuTagged, *h_etaTrack_wrongStaCharge_ZMuMuTagged; - TH1D *h_phiTrack_wrongStaCharge_ZMuMuTagged, *h_ptTrack_wrongStaCharge_ZMuMuTagged, - *h_DRTrack_wrongStaCharge_ZMuMuTagged; - - // hisograms for performances of Standlone when Sta has correct charge - TH1D *h_zMuStaMass_correctStaCharge_ZMuMuTagged, *h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged; - TH2D *h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged; - TH2D *h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged; - - // histograms for cynematic of ZMuMutagged muons for TRK performances studies - TH1D *h_zMuStaMass_ZMuMuTagged, *h_etaSta_ZMuMuTagged, *h_phiSta_ZMuMuTagged, *h_ptSta_ZMuMuTagged, - *h_DRSta_ZMuMuTagged; - // histograms for cynematic of ZMuMutagged muons when TRK has wrong charge - TH1D *h_zMuStaMass_wrongTrkCharge_ZMuMuTagged, *h_etaSta_wrongTrkCharge_ZMuMuTagged; - TH1D *h_phiSta_wrongTrkCharge_ZMuMuTagged, *h_ptSta_wrongTrkCharge_ZMuMuTagged, *h_DRSta_wrongTrkCharge_ZMuMuTagged; - - // histograms for cynematic of ZMuTracktagged muons with unMatchd StandAlone for STA performances studies - TH1D *h_zMuTrackMass_ZMuTrackTagged, *h_etaTrack_ZMuTrackTagged, *h_phiTrack_ZMuTrackTagged, - *h_ptTrack_ZMuTrackTagged, *h_DRTrack_ZMuTrackTagged; - // histograms for cynematic of ZMuTracktagged muons when unMatched StandAlone has wrong charge - TH1D *h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged, *h_etaTrack_wrongStaCharge_ZMuTrackTagged; - TH1D *h_phiTrack_wrongStaCharge_ZMuTrackTagged, *h_ptTrack_wrongStaCharge_ZMuTrackTagged, - *h_DRTrack_wrongStaCharge_ZMuTrackTagged; - - // histograms for cynematic of ZMuStatagged muons with unMatchd Track for Track performances studies - TH1D *h_zMuStaMass_ZMuStaTagged, *h_etaSta_ZMuStaTagged, *h_phiSta_ZMuStaTagged, *h_ptSta_ZMuStaTagged; - // histograms for cynematic of ZMuStatagged muons when unMatched Track has wrong charge - TH1D *h_zMuStaMass_wrongTrkCharge_ZMuStaTagged, *h_etaSta_wrongTrkCharge_ZMuStaTagged; - TH1D *h_phiSta_wrongTrkCharge_ZMuStaTagged, *h_ptSta_wrongTrkCharge_ZMuStaTagged; - - // global counters - int totalNumberOfZfound; // total number of events with Z found - int totalNumberOfZpassed; // total number of Z that pass cynematical cuts at generator level - - int nZMuMuSameSign; // number of ZMuMu SameSIgn (no Cuts) - int nZMuMuSameSign_mcMatched; // number of ZMuMu Same Sign (no cuts) MCmatch - - int n_goodTrack_ZMuMutagged; // total number of tracks selected and tagged to study Sta charge - int n_correctStaCharge_ZMuMutagged; // total number of tracks selected and tagged with correct charge of Sta - int n_wrongStaCharge_ZMuMutagged; // total number of tracks selected and tagged with wrong charge of Sta - - int n_goodSta_ZMuMutagged; // total number of standAlone selected and tagged to study Trk charge - int n_correctTrkCharge_ZMuMutagged; // total number of standAlone selected and tagged with correct charge of Trk - int n_wrongTrkCharge_ZMuMutagged; // total number of standAlone selected and tagged with wrong charge of Trk - - int n_goodTrack_ZMuTracktagged; // number of traks selected and tagged to study Sta charge (for ZMuTrack colllection no ZMuMu found) - int n_correctStaCharge_ZMuTracktagged; // total number of tracks selected and tagged with correct charge of unMatched Sta - int n_wrongStaCharge_ZMuTracktagged; // total number of tracks selected and tagged with wrong charge of unMatched Sta - int n_StaNotFound_ZMuTracktagged; // total number of tracks selected and tagged with no STA found - - int n_goodSta_ZMuStatagged; // number of sta selected and tagged to study Trk charge (for ZMuSta collection no ZMuMu found) - int n_correctTrkCharge_ZMuStatagged; // total number of sta selected and tagged with correct charge of unMatched track - int n_wrongTrkCharge_ZMuStatagged; // total number of sta selected and tagged with wrong charge of unMatched track - int n_TrkNotFound_ZMuStatagged; // total number of selected selected and tagged with no Trk found - - int n_OneGoodZMuTrack; // total number with just 1 good ZMuTrack found - int n_MultipleGoodZMuTrack; // total number with more than 1 good ZMuTrack found - int numberOfMatchedZMuSta_; - int n_ZMuStaTaggedMatched; -}; - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include -#include -#include - -ZMuMuPerformances::ZMuMuPerformances(const ParameterSet &pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuTrackMatchMapToken_(mayConsume(pset.getParameter("zMuTrackMatchMap"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - zMuStandAloneMatchMapToken_(mayConsume(pset.getParameter("zMuStandAloneMatchMap"))), - muonsToken_(consumes(pset.getParameter("muons"))), - muonMatchMapToken_(mayConsume(pset.getParameter("muonMatchMap"))), - muonIsoToken_(mayConsume(pset.getParameter("muonIso"))), - tracksToken_(consumes(pset.getParameter("tracks"))), - trackIsoToken_(mayConsume(pset.getParameter("trackIso"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - - noCut_(pset.getParameter("noCut")), - - zMassMin_(pset.getUntrackedParameter("zMassMin")), - zMassMax_(pset.getUntrackedParameter("zMassMax")), - ptminPlus_(pset.getUntrackedParameter("ptminPlus")), - ptmaxPlus_(pset.getUntrackedParameter("ptmaxPlus")), - etaminPlus_(pset.getUntrackedParameter("etaminPlus")), - etamaxPlus_(pset.getUntrackedParameter("etamaxPlus")), - ptminMinus_(pset.getUntrackedParameter("ptminMinus")), - ptmaxMinus_(pset.getUntrackedParameter("ptmaxMinus")), - etaminMinus_(pset.getUntrackedParameter("etaminMinus")), - etamaxMinus_(pset.getUntrackedParameter("etamaxMinus")), - isomax_(pset.getUntrackedParameter("isomax")) { - Service fs; - - // cut setting - etamax_ = etamaxPlus_; - ptmin_ = ptminPlus_; - massMin_ = zMassMin_; - massMax_ = zMassMax_; - isoMax_ = isomax_; - - // general histograms - h_n_globalMuon_perEvent = fs->make("n_globalMuon_perEvent", "n.of globalMuons per Event", 6, -.5, 5.5); - h_n_staOnlyMuon_perEvent = - fs->make("n_staOnlyMuon_perEvent", "n.of standAlone Only Muons per Event", 6, -.5, 5.5); - h_n_trackerOnlyMuon_perEvent = - fs->make("n_trackerOnlyMuon_perEvent", "n.of tracker Only Muons per Event", 6, -.5, 5.5); - h_n_trackerStaOnlyMuon_perEvent = - fs->make("n_trackerStaOnlyMuon_perEvent", "n.of tracker & StandAlone Only Muons per Event", 6, -.5, 5.5); - h_n_globalMuon_perEvent_MCmatch = - fs->make("n_globalMuon_perEvent_MCmatch", "n.of globalMuons per Event (MCmatch)", 6, -.5, 5.5); - h_n_staOnlyMuon_perEvent_MCmatch = - fs->make("n_staOnlyMuon_perEvent_MCmatch", "n.of standAlone Only Muons per Event (MCmatch)", 6, -.5, 5.5); - h_n_trackerOnlyMuon_perEvent_MCmatch = - fs->make("n_trackerOnlyMuon_perEvent_MCmatch", "n.of tracker Only Muons per Event (MCmatch)", 6, -.5, 5.5); - h_n_trackerStaOnlyMuon_perEvent_MCmatch = fs->make( - "n_trackerStaOnlyMuon_perEvent_MCmatch", "n.of tracker & StandAlone Only Muons per Event (MCmatch)", 6, -.5, 5.5); - h_n_tracks_perEvent = fs->make("n_tracks_perEvent", "n.of tracks per Event", 100, -.5, 99.5); - h_n_zMuMu_perEvent = fs->make("n_zMuMu_perEvent", "n.of global-global muons per Event", 6, -.5, 5.5); - h_n_zMuSta_perEvent = fs->make("n_zMuSta_perEvent", "n.of global-sta muons per Event", 6, -.5, 5.5); - h_n_zMuTrack_perEvent = fs->make("n_zMuTrack_perEvent", "n.of global-track muons per Event", 100, -.5, 99.5); - - // zMuMu inv mass - h_zMuMuMassSameSign = fs->make("zMuMuMassSameSign", "inv Mass ZMuMu cand SameSign", 100, 0., 200.); - h_zMuMuMassOppositeSign = fs->make("zMuMuMassOppositeSign", "inv Mass ZMuMu cand OppositeSign", 100, 0., 200.); - h_zMuMuMassSameSign_MCmatch = - fs->make("zMuMuMassSameSign_MCmatch", "inv Mass ZMuMu cand SameSign (MC match)", 100, 0., 200.); - - // histograms for MC truth - // charge truth - h_GlobalMuonChargeTimeGenCharge = - fs->make("GlobalMuonChargeTimeGenCharge", "charge global mu times charge generated mu", 3, -1.5, 1.5); - h_TrackerMuonChargeTimeGenCharge = - fs->make("TrackerMuonChargeTimeGenCharge", "charge Tracker mu times charge generated mu", 3, -1.5, 1.5); - // resolution respect to gen particles - h_GlobalMuonEtaMinusGenEta = - fs->make("GlobalMuonEtaMinusGenEta", "global mu Eta minus generated mu Eta", 100, -.005, .005); - h_GlobalMuonPtMinusGenPt = - fs->make("GlobalMuonPtMinusGenPtoverPt", "global mu Pt minus generated mu Pt over Pt", 100, -.5, .5); - h_GlobalMuonStaComponentEtaMinusGenEta = fs->make( - "GlobalMuonStaComponentEtaMinusGenEta", "global mu Sta cmponent Eta minus generated mu Eta", 100, -.5, .5); - h_GlobalMuonStaComponentPtMinusGenPt = fs->make("GlobalMuonStaComponentPtMinusGenPtoerPt", - "global mu Sta component Pt minus generated mu Pt over Pt", - 100, - -1., - 1.); - h_TrackerMuonEtaMinusGenEta = - fs->make("TrackerMuonEtaMinusGenEta", "Tracker mu Eta minus Eta generated mu", 100, -.005, .005); - h_TrackerMuonPtMinusGenPt = - fs->make("TrackerMuonPtMinusenPtoverPt", "Tracker mu Pt minus Pt generated mu over Pt", 100, -.5, .5); - - h_DEtaGlobalGenvsEtaGen = - fs->make("h_DEtaGlobalGenvsEtaGen", "Eta global - Eta Gen vs Eta gen", 50, -2.5, 2.5, 100, -.005, .005); - h_DEtaGlobalStaComponentGenvsEtaGen = fs->make("h_DEtaGlobalStaComponentGenvsEtaGen", - "Eta Sta component of a Global - Eta Gen vs Eta gen", - 50, - -2.5, - 2.5, - 100, - -.5, - .5); - h_DPtGlobalGenvsPtGen = - fs->make("h_DPtGlobalGenovePtvsPtGen", "Pt global - Pt Gen over Pt vs Pt gen", 50, 0., 100., 100, -.5, .5); - h_DPtGlobalStaComponentGenvsPtGen = fs->make("h_DPtGlobalStaComponentGenoverPtvsPtGen", - "Pt Sta component of a Global - Pt Gen over Pt vs Pt gen", - 50, - 0., - 100., - 100, - -1., - 1.); - - // resolution respect to gen particles for ZMuMuTagged events - h_GlobalMuonEtaMinusGenEta_ZMuMuTagged = - fs->make("GlobalMuonEtaMinusGenEta_ZMuMuTagged", "global mu Eta minus generated mu Eta", 100, -.005, .005); - h_GlobalMuonPtMinusGenPt_ZMuMuTagged = fs->make( - "GlobalMuonPtMinusGenPtoverPt_ZMuMuTagged", "global mu Pt minus generated mu Pt over Pt", 100, -.5, .5); - h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged = - fs->make("GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged", - "global mu Sta cmponent Eta minus generated mu Eta", - 100, - -.5, - .5); - h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged = - fs->make("GlobalMuonStaComponentPtMinusGenPtoverPt_ZMuMuTagged", - "global mu Sta component Pt minus generated mu Pt over Pt", - 100, - -1., - 1.); - h_DEtaGlobalGenvsEtaGen_ZMuMuTagged = fs->make( - "h_DEtaGlobalGenvsEtaGen_ZMuMuTagged", "Eta global - Eta Gen vs Eta gen", 50, -2.5, 2.5, 100, -.005, .005); - h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged = fs->make("h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged", - "Eta Sta component of a Global - Eta Gen vs Eta gen", - 50, - -2.5, - 2.5, - 100, - -.5, - .5); - h_DPtGlobalGenvsPtGen_ZMuMuTagged = fs->make( - "h_DPtGlobalGenOverPtvsPtGen_ZMuMuTagged", "Pt global - Pt Gen vs Pt gen over Pt", 50, 0., 100., 100, -.5, .5); - h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged = - fs->make("h_DPtGlobalStaComponentGenoverPtvsPtGen_ZMuMuTagged", - "Pt Sta component of a Global - Pt Gen over Pt vs Pt gen", - 50, - 0., - 100., - 100, - -1., - 1.); - h_DPtGlobalGenvsEtaGen_ZMuMuTagged = fs->make( - "h_DPtGlobalGenOverPtvsEtaGen_ZMuMuTagged", "Pt global - Pt Gen over Pt vs Eta gen", 50, -2.5, 2.5, 100, -.5, .5); - h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged = - fs->make("h_DPtGlobalStaComponentGenoverPtvsEtaGen_ZMuMuTagged", - "Pt Sta component of a Global - Pt Gen over Pt vs Eta gen", - 50, - -2.5, - 2.5, - 100, - -1., - 1.); - h_DPtTrackGenvsPtGen_ZMuMuTagged = fs->make( - "h_DPtTrackGenOverPtvsPtGen_ZMuMuTagged", "Pt track - Pt Gen vs Pt gen over Pt", 50, 0., 100., 100, -.5, .5); - h_DPtTrackGenvsEtaGen_ZMuMuTagged = fs->make( - "h_DPtTrackGenOverPtvsEtaGen_ZMuMuTagged", "Pt track - Pt Gen over Pt vs Eta gen", 50, -2.5, 2.5, 100, -.5, .5); - - // histograms for cynematic of ZMuMutagged muons for Sta performances studies - h_zMuTrackMass_ZMuMuTagged = - fs->make("zMuTrackMass_ZMuMuTagged", "inv Mass ZMuTrack cand (global-global)", 100, 0., 200.); - h_etaTrack_ZMuMuTagged = fs->make("etaTrack_ZMuMuTagged", "eta of Track (global-global)", 50, -2.5, 2.5); - h_phiTrack_ZMuMuTagged = fs->make("phiTrack_ZMuMuTagged", "phi of Track (global-global)", 50, -3.1415, 3.1415); - h_ptTrack_ZMuMuTagged = fs->make("ptTrack_ZMuMuTagged", "pt of Track (global-global)", 100, 0., 100.); - h_DRTrack_ZMuMuTagged = fs->make("DRTrackSta_ZMuMuTagged", "DR track-sta (global-global)", 100, 0., 5.); - - // histograms for cynematic of ZMuMutagged muons when StandAlone has wrong charge - h_zMuTrackMass_wrongStaCharge_ZMuMuTagged = fs->make( - "zMuTrackMass_wrongStaCharge_ZMuMuTagged", "inv Mass ZMuTrack cand (global-global wrongStaCharge)", 100, 0., 200.); - h_etaTrack_wrongStaCharge_ZMuMuTagged = fs->make( - "etaTrack_wrongStaCharge_ZMuMuTagged", "eta of Track (global-global wrongStaCharge)", 50, -2.5, 2.5); - h_phiTrack_wrongStaCharge_ZMuMuTagged = fs->make( - "phiTrack_wrongStaCharge_ZMuMuTagged", "phi of Track (global-global wrongStaCharge)", 50, -3.1415, 3.1415); - h_ptTrack_wrongStaCharge_ZMuMuTagged = - fs->make("ptTrack_wrongStaCharge_ZMuMuTagged", "pt of Track (global-global wrongStaCharge)", 100, 0., 100.); - h_DRTrack_wrongStaCharge_ZMuMuTagged = fs->make( - "DRTrackSta_wrongStaCharge_ZMuMuTagged", "DR track-sta (global-global wrongStaCharge)", 100, 0., 5.); - - // hisograms for performances of StandAlone when StandAlone has correct charge - h_zMuStaMass_correctStaCharge_ZMuMuTagged = fs->make( - "zMuStaMass_correctStaCharge_ZMuMuTagged", "inv Mass ZMuSta cand (global-global correctStaCharge)", 100, 0., 200.); - h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged = - fs->make("ptStaMinusptTrackoverPT_correctStaCharge_ZMuMuTagged", - "ptSta - ptTrack over Pt (global-global correctStaCharge)", - 100, - -1., - 1.); - h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged = - fs->make("ptStaMinusptTrackoverPt_vsPtTracker_correctStaCharge_ZMuMuTagged", - "ptSta - ptTrack over Pt vs ptTrack (global-global correctStaCharge)", - 100, - 0., - 100., - 100, - -1., - 1.); - h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged = - fs->make("ptStaMinusptTrackoverPt_vsEtaTracker_correctStaCharge_ZMuMuTagged", - "ptSta - ptTrack over Pt vs etaTrack (global-global correctStaCharge)", - 100, - -2.5, - 2.5, - 100, - -1., - 1.); - - // histograms for cynematic of ZMuMutagged muons for TRK performances studies - h_zMuStaMass_ZMuMuTagged = - fs->make("zMuStaMass_ZMuMuTagged", "inv Mass ZMuSta cand (global-global)", 100, 0., 200.); - h_etaSta_ZMuMuTagged = fs->make("etaSta_ZMuMuTagged", "eta of Sta (global-global)", 50, -2.5, 2.5); - h_phiSta_ZMuMuTagged = fs->make("phiSta_ZMuMuTagged", "phi of Sta (global-global)", 50, -3.1415, 3.1415); - h_ptSta_ZMuMuTagged = fs->make("ptSta_ZMuMuTagged", "pt of Sta (global-global)", 100, 0., 100.); - h_DRSta_ZMuMuTagged = - fs->make("DRTrackSta_ZMuMuTagged_staSelected", "DR track-sta sta selected (global-global)", 100, 0., 5.); - - // histograms for cynematic of ZMuMutagged muons when Track has wrong charge - h_zMuStaMass_wrongTrkCharge_ZMuMuTagged = fs->make( - "zMuStaMass_wrongTrkCharge_ZMuMuTagged", "inv Mass ZMuSta cand (global-global wrongTrkCharge)", 100, 0., 200.); - h_etaSta_wrongTrkCharge_ZMuMuTagged = - fs->make("etaSta_wrongTrkCharge_ZMuMuTagged", "eta of Sta (global-global wrongTrkCharge)", 50, -2.5, 2.5); - h_phiSta_wrongTrkCharge_ZMuMuTagged = fs->make( - "phiSta_wrongTrkCharge_ZMuMuTagged", "phi of Sta (global-global wrongTrkCharge)", 50, -3.1415, 3.1415); - h_ptSta_wrongTrkCharge_ZMuMuTagged = - fs->make("ptSta_wrongTrkCharge_ZMuMuTagged", "pt of Sta (global-global wrongTrkCharge)", 100, 0., 100.); - h_DRSta_wrongTrkCharge_ZMuMuTagged = fs->make( - "DRTrackSta_wrongTrkCharge_ZMuMuTagged", "DR track-sta (global-global wrongTrkCharge)", 100, 0., 5.); - - // - // **************************************************************************************************** - // histograms for cynematic of ZMuTracktagged muons with unMatched StandAlone - h_zMuTrackMass_ZMuTrackTagged = - fs->make("zMuTrackMass_ZMuTrackTagged", "inv Mass ZMuTrack cand (global-track)", 100, 0., 200.); - h_etaTrack_ZMuTrackTagged = fs->make("etaTrack_ZMuTrackTagged", "eta of Track (global-track)", 50, -2.5, 2.5); - h_phiTrack_ZMuTrackTagged = - fs->make("phiTrack_ZMuTrackTagged", "phi of Track (global-track)", 50, -3.1415, 3.1415); - h_ptTrack_ZMuTrackTagged = fs->make("ptTrack_ZMuTrackTagged", "pt of Track (global-track)", 100, 0., 100.); - h_DRTrack_ZMuTrackTagged = fs->make("DRTrackSta_ZMuTrackTagged", "DR track-sta (global-track)", 100, 0., 5.); - - // histograms for cynematic of ZMuTracktagged muons when unMatched StandAlone has wrong charge - h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged = - fs->make("zMuTrackMass_wrongStaCharge_ZMuTrackTagged", - "inv Mass ZMuTrack cand (global-track wrongUnMatcehdStaCharge)", - 100, - 0., - 200.); - h_etaTrack_wrongStaCharge_ZMuTrackTagged = fs->make( - "etaTrack_wrongStaCharge_ZMuTrackTagged", "eta of Track (global-track wrongUnMatchedStaCharge)", 50, -2.5, 2.5); - h_phiTrack_wrongStaCharge_ZMuTrackTagged = fs->make("phiTrack_wrongStaCharge_ZMuTrackTagged", - "phi of Track (global-track wrongUnMatchedStaCharge)", - 50, - -3.1415, - 3.1415); - h_ptTrack_wrongStaCharge_ZMuTrackTagged = fs->make( - "ptTrack_wrongStaCharge_ZMuTrackTagged", "pt of Track (global-track wrongUnMatchedStaCharge)", 100, 0., 100.); - h_DRTrack_wrongStaCharge_ZMuTrackTagged = fs->make( - "DRTrackSta_wrongStaCharge_ZMuTrackTagged", "DR track-sta (global-track wrongUnMatchedStaCharge)", 100, 0., 5.); - - // histograms for cynematic of ZMuStatagged muons with unMatched Track - h_zMuStaMass_ZMuStaTagged = - fs->make("zMuStaMass_ZMuStaTagged", "inv Mass ZMuSta cand (global-sta)", 100, 0., 200.); - h_etaSta_ZMuStaTagged = fs->make("etaSta_ZMuStaTagged", "eta of Sta (global-sta)", 50, -2.5, 2.5); - h_phiSta_ZMuStaTagged = fs->make("phiSta_ZMuStaTagged", "phi of Sta (global-sta)", 50, -3.1415, 3.1415); - h_ptSta_ZMuStaTagged = fs->make("ptSta_ZMuStaTagged", "pt of Sta (global-sta)", 100, 0., 100.); - - // histograms for cynematic of ZMuStatagged muons when unMatched track has wrong charge - h_zMuStaMass_wrongTrkCharge_ZMuStaTagged = fs->make("zMuStaMass_wrongTrkCharge_ZMuStaTagged", - "inv Mass ZMuSta cand (global-sta wrongUnMatcehdTrkCharge)", - 100, - 0., - 200.); - h_etaSta_wrongTrkCharge_ZMuStaTagged = fs->make( - "etaSta_wrongTrkCharge_ZMuStaTagged", "eta of Sta (global-sta wrongUnMatchedTrkCharge)", 50, -2.5, 2.5); - h_phiSta_wrongTrkCharge_ZMuStaTagged = fs->make( - "phiSta_wrongTrkCharge_ZMuStaTagged", "phi of Sta (global-sta wrongUnMatchedTrkCharge)", 50, -3.1415, 3.1415); - h_ptSta_wrongTrkCharge_ZMuStaTagged = fs->make( - "ptSta_wrongTrkCharge_ZMuStaTagged", "pt of Sta (global-sta wrongUnMatchedTrkCharge)", 100, 0., 100.); - - // clear global counters - totalNumberOfZfound = 0; - totalNumberOfZpassed = 0; - nZMuMuSameSign_mcMatched = 0; - nZMuMuSameSign = 0; - n_goodTrack_ZMuMutagged = 0; - n_correctStaCharge_ZMuMutagged = 0; - n_wrongStaCharge_ZMuMutagged = 0; - n_goodSta_ZMuMutagged = 0; - n_correctTrkCharge_ZMuMutagged = 0; - n_wrongTrkCharge_ZMuMutagged = 0; - n_goodTrack_ZMuTracktagged = 0; - n_correctStaCharge_ZMuTracktagged = 0; - n_wrongStaCharge_ZMuTracktagged = 0; - n_StaNotFound_ZMuTracktagged = 0; - - n_goodSta_ZMuStatagged = 0; - n_correctTrkCharge_ZMuStatagged = 0; - n_wrongTrkCharge_ZMuStatagged = 0; - n_TrkNotFound_ZMuStatagged = 0; - - n_OneGoodZMuTrack = 0; - n_MultipleGoodZMuTrack = 0; - numberOfMatchedZMuSta_ = 0; - n_ZMuStaTaggedMatched = 0; -} - -void ZMuMuPerformances::analyze(const Event &event, const EventSetup &setup) { - Handle zMuMu; - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global (can be used also for same sign Zmumu) - Handle zMuTrack; - Handle zMuTrackMatchMap; //Map of Z made by Mu + Track - Handle zMuStandAlone; - Handle zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone - Handle muons; //Collection of Muons - Handle muonMatchMap; - Handle muonIso; - Handle tracks; //Collection of Tracks - Handle trackIso; - Handle genParticles; // Collection of Generatd Particles - - event.getByToken(zMuMuToken_, zMuMu); - event.getByToken(zMuTrackToken_, zMuTrack); - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - event.getByToken(muonsToken_, muons); - event.getByToken(tracksToken_, tracks); - event.getByToken(genParticlesToken_, genParticles); - - /* - cout << "********* zMuMu size : " << zMuMu->size() << endl; - cout << "********* zMuMuSameSign size : " << zMuMuSameSign->size() << endl; - cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; - cout << "********* zMuTrack size : " << zMuTrack->size() << endl; - cout << "********* muons size : " << muons->size()<< endl; - cout << "********* standAlone size : " << standAlone->size()<< endl; - cout << "********* tracks size : " << tracks->size()<< endl; - cout << "********* generated size : " << genParticles->size()<< endl; - cout << "***************************************************" << endl; - */ - - int n_globalMuon_perEvent = 0; - int n_staOnlyMuon_perEvent = 0; - int n_trackerOnlyMuon_perEvent = 0; - int n_trackerStaOnlyMuon_perEvent = 0; - int n_globalMuon_perEvent_MCmatch = 0; - int n_staOnlyMuon_perEvent_MCmatch = 0; - int n_trackerOnlyMuon_perEvent_MCmatch = 0; - int n_trackerStaOnlyMuon_perEvent_MCmatch = 0; - - for (unsigned int j = 0; j < muons->size(); ++j) { - CandidateBaseRef muCandRef = muons->refAt(j); - const Candidate &muCand = (*muons)[j]; //the candidate - const reco::Muon &muon = dynamic_cast(muCand); - reco::TrackRef innerTrackRef = muon.track(); - reco::TrackRef outerTrackRef = muon.standAloneMuon(); - TrackRef muStaComponentRef = muCand.get(); // standalone part of muon - TrackRef muTrkComponentRef = muCand.get(); // track part of muon - GenParticleRef muonMatch = (*muonMatchMap)[muCandRef]; - if (muCandRef->isGlobalMuon() == 1) - n_globalMuon_perEvent++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 0 && muCandRef->isStandAloneMuon() == 1) - n_staOnlyMuon_perEvent++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 0) - n_trackerOnlyMuon_perEvent++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 1) - n_trackerStaOnlyMuon_perEvent++; - - if (muonMatch.isNonnull()) { - if (muCandRef->isGlobalMuon() == 1) - n_globalMuon_perEvent_MCmatch++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 0 && muCandRef->isStandAloneMuon() == 1) - n_staOnlyMuon_perEvent_MCmatch++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 0) - n_trackerOnlyMuon_perEvent_MCmatch++; - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1 && muCandRef->isStandAloneMuon() == 1) - n_trackerStaOnlyMuon_perEvent_MCmatch++; - double productCharge = muCandRef->charge() * muonMatch->charge(); - if (muCandRef->isGlobalMuon() == 1) { - h_GlobalMuonChargeTimeGenCharge->Fill(productCharge); - h_GlobalMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta()); - h_GlobalMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt()) / muonMatch->pt()); - h_GlobalMuonStaComponentEtaMinusGenEta->Fill(muStaComponentRef->eta() - muonMatch->eta()); - h_GlobalMuonStaComponentPtMinusGenPt->Fill((muStaComponentRef->pt() - muonMatch->pt()) / muonMatch->pt()); - h_DEtaGlobalGenvsEtaGen->Fill(muonMatch->eta(), muCandRef->eta() - muonMatch->eta()); - h_DPtGlobalGenvsPtGen->Fill(muonMatch->pt(), (muCandRef->pt() - muonMatch->pt()) / muonMatch->pt()); - h_DEtaGlobalStaComponentGenvsEtaGen->Fill(muonMatch->eta(), muStaComponentRef->eta() - muonMatch->eta()); - h_DPtGlobalStaComponentGenvsPtGen->Fill(muonMatch->pt(), - (muStaComponentRef->pt() - muonMatch->pt()) / muonMatch->pt()); - } - if (muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1) { - h_TrackerMuonChargeTimeGenCharge->Fill(productCharge); - h_TrackerMuonEtaMinusGenEta->Fill(muCandRef->eta() - muonMatch->eta()); - h_TrackerMuonPtMinusGenPt->Fill((muCandRef->pt() - muonMatch->pt()) / muonMatch->pt()); - } - } - } - h_n_globalMuon_perEvent->Fill(n_globalMuon_perEvent); - h_n_staOnlyMuon_perEvent->Fill(n_staOnlyMuon_perEvent); - h_n_trackerOnlyMuon_perEvent->Fill(n_trackerOnlyMuon_perEvent); - h_n_trackerStaOnlyMuon_perEvent->Fill(n_trackerStaOnlyMuon_perEvent); - h_n_globalMuon_perEvent_MCmatch->Fill(n_globalMuon_perEvent_MCmatch); - h_n_staOnlyMuon_perEvent_MCmatch->Fill(n_staOnlyMuon_perEvent_MCmatch); - h_n_trackerOnlyMuon_perEvent_MCmatch->Fill(n_trackerOnlyMuon_perEvent_MCmatch); - h_n_trackerStaOnlyMuon_perEvent_MCmatch->Fill(n_trackerStaOnlyMuon_perEvent_MCmatch); - h_n_tracks_perEvent->Fill(tracks->size()); - - h_n_zMuMu_perEvent->Fill(zMuMu->size()); - h_n_zMuSta_perEvent->Fill(zMuStandAlone->size()); - h_n_zMuTrack_perEvent->Fill(zMuTrack->size()); - - // std::cout<<"Run-> "< "<empty()) { - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - event.getByToken(muonIsoToken_, muonIso); - event.getByToken(muonMatchMapToken_, muonMatchMap); - float muGenplus_pt = 0, muGenminus_pt = 0, muGenplus_eta = 100, muGenminus_eta = 100; - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - const Candidate &zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; - bool isMCMatched = false; - if (zMuMuMatch.isNonnull()) { - isMCMatched = true; // ZMuMu matched - if (zMuMuMatch->pdgId() == 23 && zMuMuMatch->status() == 3 && zMuMuMatch->numberOfDaughters() == 3) { - // Z0 decays in mu+ mu-, the 3rd daughter is the same Z0 - const Candidate *dauGen0 = zMuMuMatch->daughter(0); - const Candidate *dauGen1 = zMuMuMatch->daughter(1); - const Candidate *dauGen2 = zMuMuMatch->daughter(2); - if (check_ifZmumu(dauGen0, dauGen1, dauGen2)) { // Z0 in mu+ mu- - muGenplus_pt = getParticlePt(-13, dauGen0, dauGen1, dauGen2); - muGenminus_pt = getParticlePt(13, dauGen0, dauGen1, dauGen2); - muGenplus_eta = getParticleEta(-13, dauGen0, dauGen1, dauGen2); - muGenminus_eta = getParticleEta(13, dauGen0, dauGen1, dauGen2); - Particle::LorentzVector pZ(0, 0, 0, 0); - Particle::LorentzVector muplusp4 = getParticleP4(-13, dauGen0, dauGen1, dauGen2); - Particle::LorentzVector muminusp4 = getParticleP4(13, dauGen0, dauGen1, dauGen2); - pZ = muplusp4 + muminusp4; - } // en if is Z - } // end if is Z->mumu - } - - TrackRef as1 = zMuMuCand.daughter(0)->get(); // standalone part of ZMuMu cand0 - TrackRef as2 = zMuMuCand.daughter(1)->get(); // standalone part of ZMuMu cand1 - TrackRef a1 = zMuMuCand.daughter(0)->get(); // global part of ZMuMu cand0 - TrackRef a2 = zMuMuCand.daughter(1)->get(); // global part of ZMuMu cand1 - TrackRef at1 = zMuMuCand.daughter(0)->get(); // tracker part of ZMuMu cand0 - TrackRef at2 = zMuMuCand.daughter(1)->get(); // tracker part of ZMuMu cand1 - - math::XYZTLorentzVector ps1(as1->px(), as1->py(), as1->pz(), as1->p()); - math::XYZTLorentzVector ps2(as2->px(), as2->py(), as2->pz(), as2->p()); - math::XYZTLorentzVector pg1(a1->px(), a1->py(), a1->pz(), a1->p()); - math::XYZTLorentzVector pg2(a2->px(), a2->py(), a2->pz(), a2->p()); - math::XYZTLorentzVector ptrk1(at1->px(), at1->py(), at1->pz(), at1->p()); - math::XYZTLorentzVector ptrk2(at2->px(), at2->py(), at2->pz(), at2->p()); - - // double mass2global = (pg1+pg2).mass(); // inv. Mass done with the two global muons (is th same like m) - double massGlobalSta = - (pg1 + ps2).mass(); // inv. mass done with the global daughter(0) and the Sta part of Daughter(1) - double massStaGlobal = - (ps1 + pg2).mass(); // inv. mass done with the global daughter(1) and the Sta part of Daughter(0) - // double mass2Tracker = (ptrk1+ptrk2).mass(); // inv. mass done with the two tracker compnents - double massGlobalTracker = - (pg1 + ptrk2).mass(); // inv. mass done with the global daughter(0) and the tracker part of Daughter(1) - double massTrackerGlobal = - (ptrk1 + pg2).mass(); // inv. mass done with the global daughter(1) and the tracker part of Daughter(0) - double etaGlobal1 = a1->eta(); - double etaGlobal2 = a2->eta(); - double etaSta1 = as1->eta(); - double etaSta2 = as2->eta(); - double etaTracker1 = at1->eta(); - double etaTracker2 = at2->eta(); - // double phiGlobal1 = a1->phi(); - // double phiGlobal2 = a2->phi(); - double phiSta1 = as1->phi(); - double phiSta2 = as2->phi(); - double phiTracker1 = at1->phi(); - double phiTracker2 = at2->phi(); - double ptGlobal1 = a1->pt(); - double ptGlobal2 = a2->pt(); - double ptSta1 = as1->pt(); - double ptSta2 = as2->pt(); - double ptTracker1 = at1->pt(); - double ptTracker2 = at2->pt(); - double chargeGlobal1 = a1->charge(); - double chargeGlobal2 = a2->charge(); - double chargeSta1 = as1->charge(); - double chargeSta2 = as2->charge(); - double chargeTracker1 = at1->charge(); - double chargeTracker2 = at2->charge(); - double DR1 = deltaR(etaSta1, phiSta1, etaTracker1, phiTracker1); - double DR2 = deltaR(etaSta2, phiSta2, etaTracker2, phiTracker2); - - if (chargeGlobal1 == chargeGlobal2) { - nZMuMuSameSign++; - h_zMuMuMassSameSign->Fill(zMuMuCand.mass()); - if (isMCMatched) { - nZMuMuSameSign_mcMatched++; - h_zMuMuMassSameSign_MCmatch->Fill(zMuMuCand.mass()); - } - } else { - h_zMuMuMassOppositeSign->Fill(zMuMuCand.mass()); - } - - bool etaCut = false; - bool ptCut = false; - //bool isoCut = false; - bool massCut = false; - - // ****************************************************************************************************************************** - // Start study for StandAlone charge mis-id: select global-global events according to global1+track2 (or global2+track1) - // ******************************************************************************************************************************* - - // cynematical cuts for Zglobal1Track2 - if (abs(etaGlobal1) < etamax_ && abs(etaTracker2) < etamax_) - etaCut = true; - if (ptGlobal1 > ptmin_ && ptTracker2 > ptmin_) - ptCut = true; - if (massGlobalTracker > massMin_ && massGlobalTracker < massMax_) - massCut = true; - - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - - if (etaCut && ptCut && massCut) { - // check first global1-track2 if they have opposite charge and if global1 has consistent charge between sta and track - if (chargeSta1 == chargeTracker1 && - chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge - n_goodTrack_ZMuMutagged++; - h_zMuTrackMass_ZMuMuTagged->Fill(massGlobalTracker); // inv mass global+tracker part - h_etaTrack_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track - h_phiTrack_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track - h_ptTrack_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track - h_DRTrack_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged track - - if (isMCMatched) { // if MC match .. resolution plots of global1 respect to gen particles - double etaGen, ptGen; - if (chargeGlobal1 == 1) { - etaGen = muGenplus_eta; - ptGen = muGenplus_pt; - } else { - etaGen = muGenminus_eta; - ptGen = muGenminus_pt; - } - h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal1 - etaGen); - h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal1 - ptGen) / ptGen); - h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged->Fill(etaSta1 - etaGen); - h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta1 - ptGen) / ptGen); - h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaGlobal1 - etaGen); - h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptGlobal1 - ptGen) / ptGen); - h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaSta1 - etaGen); - h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptSta1 - ptGen) / ptGen); - h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptGlobal1 - ptGen) / ptGen); - h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptSta1 - ptGen) / ptGen); - h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptTracker1 - ptGen) / ptGen); - h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptTracker1 - ptGen) / ptGen); - - } // end if MC Match - - if (chargeSta2 == chargeTracker2) { // StandAlone2 has correct charge - n_correctStaCharge_ZMuMutagged++; - h_zMuStaMass_correctStaCharge_ZMuMuTagged->Fill( - massGlobalSta); // inv mass of global-Sta part for correct charge muons - h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta2 - ptTracker2) / ptTracker2); - h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged->Fill(etaTracker2, - (ptSta2 - ptTracker2) / ptTracker2); - h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged->Fill(ptTracker2, - (ptSta2 - ptTracker2) / ptTracker2); - // qui posso aggiungere plot col MC match - } - if (chargeSta2 != chargeTracker2) { // StandAlone2 has wrong charge - n_wrongStaCharge_ZMuMutagged++; - h_zMuTrackMass_wrongStaCharge_ZMuMuTagged->Fill( - massGlobalTracker); // inv mass global+tracker part (wrong Sta charge) - h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker2); // eta of tagged track (wrong Sta charge) - h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker2); // phi of tagged track (wrong Sta charge) - h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker2); // pt of tagged track (wrong Sta charge) - h_DRTrack_wrongStaCharge_ZMuMuTagged->Fill( - DR2); // DR between sta2 and tracker2 for tagged track (wrong Sta charge) - } - } // end if check chrge global1-tracker2 - } // end if cut selection - - // cynematical cuts for Zglobal2Track1 - etaCut = false; - ptCut = false; - massCut = false; - //isoCut = false; - if (abs(etaGlobal2) < etamax_ && abs(etaTracker1) < etamax_) - etaCut = true; - if (ptGlobal2 > ptmin_ && ptTracker1 > ptmin_) - ptCut = true; - if (massTrackerGlobal > massMin_ && massTrackerGlobal < massMax_) - massCut = true; - - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - - if (etaCut && ptCut && massCut) { - // check global2-track1 if they have opposite charge and if global2 has consistent charge between sta and track - if (chargeSta2 == chargeTracker2 && - chargeTracker1 != chargeTracker2) { // event tagged to study StandAlone2 charge - n_goodTrack_ZMuMutagged++; - h_zMuTrackMass_ZMuMuTagged->Fill(massTrackerGlobal); // inv mass global+tracker part - h_etaTrack_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track - h_phiTrack_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track - h_ptTrack_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track - h_DRTrack_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged track - - // qui posso aggiungere plot col MC match - if (isMCMatched) { // if MC match .. resolution plots of global2 respect to gen particles - double etaGen, ptGen; - if (chargeGlobal2 == 1) { - etaGen = muGenplus_eta; - ptGen = muGenplus_pt; - } else { - etaGen = muGenminus_eta; - ptGen = muGenminus_pt; - } - h_GlobalMuonEtaMinusGenEta_ZMuMuTagged->Fill(etaGlobal2 - etaGen); - h_GlobalMuonPtMinusGenPt_ZMuMuTagged->Fill((ptGlobal2 - ptGen) / ptGen); - h_GlobalMuonStaComponentEtaMinusGenEta_ZMuMuTagged->Fill(etaSta2 - etaGen); - h_GlobalMuonStaComponentPtMinusGenPt_ZMuMuTagged->Fill((ptSta2 - ptGen) / ptGen); - h_DEtaGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaGlobal2 - etaGen); - h_DPtGlobalGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptGlobal2 - ptGen) / ptGen); - h_DEtaGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, etaSta2 - etaGen); - h_DPtGlobalStaComponentGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptSta2 - ptGen) / ptGen); - h_DPtGlobalGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptGlobal2 - ptGen) / ptGen); - h_DPtGlobalStaComponentGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptSta2 - ptGen) / ptGen); - h_DPtTrackGenvsPtGen_ZMuMuTagged->Fill(ptGen, (ptTracker2 - ptGen) / ptGen); - h_DPtTrackGenvsEtaGen_ZMuMuTagged->Fill(etaGen, (ptTracker2 - ptGen) / ptGen); - } // end if MC Match - - if (chargeSta1 == chargeTracker1) { // StandAlone1 has correct charge - n_correctStaCharge_ZMuMutagged++; - h_zMuStaMass_correctStaCharge_ZMuMuTagged->Fill( - massStaGlobal); // inv mass of Sta-global part for correct charge muons - h_ptStaMinusptTrack_correctStaCharge_ZMuMuTagged->Fill((ptSta1 - ptTracker1) / ptTracker1); - h_ptStaMinusptTrack_vsEtaTracker_correctStaCharge_ZMuMuTagged->Fill(etaTracker1, - (ptSta1 - ptTracker1) / ptTracker1); - h_ptStaMinusptTrack_vsPtTracker_correctStaCharge_ZMuMuTagged->Fill(ptTracker1, - (ptSta1 - ptTracker1) / ptTracker1); - } - if (chargeSta1 != chargeTracker1) { // StandAlone2 has wrong charge - n_wrongStaCharge_ZMuMutagged++; - h_zMuTrackMass_wrongStaCharge_ZMuMuTagged->Fill( - massTrackerGlobal); // inv mass global+tracker part (wrong Sta charge) - h_etaTrack_wrongStaCharge_ZMuMuTagged->Fill(etaTracker1); // eta of tagged track (wrong Sta charge) - h_phiTrack_wrongStaCharge_ZMuMuTagged->Fill(phiTracker1); // phi of tagged track (wrong Sta charge) - h_ptTrack_wrongStaCharge_ZMuMuTagged->Fill(ptTracker1); // pt of tagged track (wrong Sta charge) - h_DRTrack_wrongStaCharge_ZMuMuTagged->Fill( - DR1); // DR between sta1 and tracker1 for tagged track (wrong Sta charge) - } - } // end if check charge global1-tracker2 - } // end if cuts - - // ****************************************************************************************************************************** - // Start study for tracker charge mis-id: select global-global events according to global1+staComponent2 (or global2+staComponent1) - // ******************************************************************************************************************************* - - etaCut = false; - ptCut = false; - //isoCut = false; - massCut = false; - - // cynematical cuts for Zglobal1Sta2 - if (abs(etaGlobal1) < etamax_ && abs(etaSta2) < etamax_) - etaCut = true; - if (ptGlobal1 > ptmin_ && ptSta2 > ptmin_) - ptCut = true; - if (massGlobalSta > massMin_ && massGlobalSta < massMax_) - massCut = true; - - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - - if (etaCut && ptCut && massCut) { - // check first global1-sta2 if they have opposite charge and if global1 has consistent charge between sta and track - if (chargeSta1 == chargeTracker1 && chargeTracker1 != chargeSta2) { // event tagged to study track2 charge - n_goodSta_ZMuMutagged++; - h_zMuStaMass_ZMuMuTagged->Fill(massGlobalSta); // inv mass global+sta part - h_etaSta_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta - h_phiSta_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta - h_ptSta_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta - h_DRSta_ZMuMuTagged->Fill(DR2); // DR between sta2 and tracker2 for tagged sta - - if (chargeSta2 == chargeTracker2) { // track2 has correct charge - n_correctTrkCharge_ZMuMutagged++; - // qui posso aggiungere plot col MC match - } - if (chargeSta2 != chargeTracker2) { // track2 has wrong charge - n_wrongTrkCharge_ZMuMutagged++; - h_zMuStaMass_wrongTrkCharge_ZMuMuTagged->Fill( - massGlobalSta); // inv mass global+sta part (wrong Trk charge) - h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta2); // eta of tagged sta (wrong trk charge) - h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta2); // phi of tagged sta (wrong Trk charge) - h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta2); // pt of tagged sta (wrong Trk charge) - h_DRSta_wrongTrkCharge_ZMuMuTagged->Fill( - DR2); // DR between sta2 and tracker2 for tagged sta (wrong trk charge) - } - } // end if check chrge global1-sta2 - } // end if cut selection - - etaCut = false; - ptCut = false; - //isoCut = false; - massCut = false; - - // cynematical cuts for Zglobal2Sta1 - if (abs(etaGlobal2) < etamax_ && abs(etaSta1) < etamax_) - etaCut = true; - if (ptGlobal2 > ptmin_ && ptSta1 > ptmin_) - ptCut = true; - if (massStaGlobal > massMin_ && massStaGlobal < massMax_) - massCut = true; - - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - - if (etaCut && ptCut && massCut) { - // check first global2-sta1 if they have opposite charge and if global2 has consistent charge between sta and track - if (chargeSta2 == chargeTracker2 && chargeTracker2 != chargeSta1) { // event tagged to study track1 charge - n_goodSta_ZMuMutagged++; - h_zMuStaMass_ZMuMuTagged->Fill(massStaGlobal); // inv mass global+sta part - h_etaSta_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta - h_phiSta_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta - h_ptSta_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta - h_DRSta_ZMuMuTagged->Fill(DR1); // DR between sta1 and tracker1 for tagged sta - - if (chargeSta1 == chargeTracker1) { // track1 has correct charge - n_correctTrkCharge_ZMuMutagged++; - // qui posso aggiungere plot col MC match - } - if (chargeSta1 != chargeTracker1) { // track1 has wrong charge - n_wrongTrkCharge_ZMuMutagged++; - h_zMuStaMass_wrongTrkCharge_ZMuMuTagged->Fill( - massStaGlobal); // inv mass global+sta part (wrong Trk charge) - h_etaSta_wrongTrkCharge_ZMuMuTagged->Fill(etaSta1); // eta of tagged sta (wrong trk charge) - h_phiSta_wrongTrkCharge_ZMuMuTagged->Fill(phiSta1); // phi of tagged sta (wrong Trk charge) - h_ptSta_wrongTrkCharge_ZMuMuTagged->Fill(ptSta1); // pt of tagged sta (wrong Trk charge) - h_DRSta_wrongTrkCharge_ZMuMuTagged->Fill( - DR1); // DR between sta2 and tracker2 for tagged sta (wrong trk charge) - } - } // end if check chrge global2-sta1 - } // end if cut selection - - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // loop on ZMuTrack in order to recover some unMatched StandAlone - - //double LargerDRCut=2.; // larger DR cut to recover unMatched Sta - int taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta - int taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track - int n_ZMuTrackTagged_inEvent = 0; // number of tagged Z in the event - if (!zMuTrack->empty() && zMuMu->empty()) { // check ZMuTrack just if no ZMuMu has been found in the event - event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap); - for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates - const Candidate &zMuTrackCand = (*zMuTrack)[i]; //the candidate - CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i); - GenParticleRef zMuTrackMatch = (*zMuTrackMatchMap)[zMuTrackCandRef]; - //bool isMCMatched = false; - //if(zMuTrackMatch.isNonnull()) isMCMatched = true; // ZMuTrack matched - // forzo isMCMatched - // isMCMatched = true; - - double m = zMuTrackCand.mass(); - CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone(); - CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone(); - TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get(); - // standalone part of global component of ZMuMu - TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get(); - // track part Of the global component of ZMuMu - double ZtrackerDaughterCharge = ztrackerDaughter->charge(); - double ZtrackerDaughterPt = ztrackerDaughter->pt(); - double ZtrackerDaughterEta = ztrackerDaughter->eta(); - double ZtrackerDaughterPhi = ztrackerDaughter->phi(); - double ZglobalDaughterPt = zglobalDaughter->pt(); - double ZglobalDaughterEta = zglobalDaughter->eta(); - double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge(); - double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge(); - - //********************************************************************************************************************* - // study of standAlone charge mis-id and efficiency selecting ZMuTrack events (tag the index of Z and of muon) - // for Sta charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons - // ******************************************************************************************************************** - // cynematical cuts for ZMuTrack - bool etaCut = false; - bool ptCut = false; - // bool isoCut = false; - bool massCut = false; - if (abs(ZglobalDaughterEta) < etamax_ && abs(ZtrackerDaughterEta) < etamax_) - etaCut = true; - if (ZglobalDaughterPt > ptmin_ && ZtrackerDaughterPt > ptmin_) - ptCut = true; - if (m > massMin_ && m < massMax_) - massCut = true; - - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge && - ZglobalDaughter_TrackComponentCharge != - ZtrackerDaughterCharge) { // cynematic cuts and global charge consistent and opposite tracker charge - n_ZMuTrackTagged_inEvent++; - - // posso inserire istogrammi eta e pt track per studio Sta efficiency - // ... - - for (unsigned int j = 0; j < muons->size(); ++j) { - CandidateBaseRef muCandRef = muons->refAt(j); - const Candidate &muCand = (*muons)[j]; //the candidate - TrackRef muStaComponentRef = muCand.get(); // standalone part of muon - TrackRef muTrkComponentRef = muCand.get(); // track part of muon - - if (muCandRef->isStandAloneMuon() == 1 && muCandRef->isGlobalMuon() == 0 && muCandRef->isTrackerMuon() == 1) { - double muEta = muCandRef->eta(); - double muPhi = muCandRef->phi(); - // check DeltaR between Sta muon and tracks of ZMuTrack - double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi); - if (DRmuSta_trackOfZ == 0) { // match track track ... standalone-muTracker - taggedZ_index = i; - taggedMuon_index = j; - } // end check minimum DR - } // end if isStandAlone - } // end loop on muon candidates - } // end cynematic cuts - - } // end loop on zMuTrack size - } // end if zMuTrack size > 0 - - // analyze the tagged ZMuTRack and the Sta muons with minimal DR - if (n_ZMuTrackTagged_inEvent > 0) { // at Least one ZMuTRack tagged - - if (taggedZ_index == -1) { // StandAlone inefficient - n_StaNotFound_ZMuTracktagged++; - // h_etaTrack_StaNotFound_ZMuTrackTagged->Fill(ztrackerDaughter->eta()); - } else { - const Candidate &zMuTrackCand = (*zMuTrack)[taggedZ_index]; //the candidate tagged - CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(taggedZ_index); - double m = zMuTrackCand.mass(); - CandidateBaseRef zglobalDaughter = zMuTrackCand.daughter(0)->masterClone(); - CandidateBaseRef ztrackerDaughter = zMuTrackCand.daughter(1)->masterClone(); - TrackRef zglobalDaughter_StaComponentRef = zMuTrackCand.daughter(0)->get(); - // standalone part of global component of ZMuMu - TrackRef zglobalDaughter_TrackComponentRef = zMuTrackCand.daughter(0)->get(); - // track part Of the global component of ZMuMu - double ZtrackerDaughterCharge = ztrackerDaughter->charge(); - double ZtrackerDaughterPt = ztrackerDaughter->pt(); - double ZtrackerDaughterEta = ztrackerDaughter->eta(); - double ZtrackerDaughterPhi = ztrackerDaughter->phi(); - - CandidateBaseRef muCandRef = muons->refAt(taggedMuon_index); // the tagged muon - const Candidate &muCand = (*muons)[taggedMuon_index]; //the candidate - TrackRef muStaComponentRef = muCand.get(); // standalone part of muon - TrackRef muTrkComponentRef = muCand.get(); // track part of muon - - double muEta = muStaComponentRef->eta(); - double muPhi = muStaComponentRef->phi(); - double muCharge = muStaComponentRef->charge(); - // check DeltaR between Sta muon and tracks of ZMuTrack - double DRmuSta_trackOfZ = deltaR(muEta, muPhi, ZtrackerDaughterEta, ZtrackerDaughterPhi); - - n_goodTrack_ZMuTracktagged++; - h_zMuTrackMass_ZMuTrackTagged->Fill(m); // inv mass ZMuTrack for tagged events - h_etaTrack_ZMuTrackTagged->Fill(ZtrackerDaughterEta); // eta of tagged track - h_phiTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPhi); // phi of tagged track - h_ptTrack_ZMuTrackTagged->Fill(ZtrackerDaughterPt); // pt of tagged track - h_DRTrack_ZMuTrackTagged->Fill(DRmuSta_trackOfZ); // DR between sta1 and tracker1 for tagged track - - // check StandAlone charge - if (muCharge != ZtrackerDaughterCharge) { // wrong Sta charge - n_wrongStaCharge_ZMuTracktagged++; // number of events wrong charge for unMatched Sta - h_zMuTrackMass_wrongStaCharge_ZMuTrackTagged->Fill( - m); // inv mass ZMuTrack for tagged events wrong unMatched Sta charge - h_etaTrack_wrongStaCharge_ZMuTrackTagged->Fill( - ZtrackerDaughterEta); // eta of tagged track wrong unMatched Sta charge - h_phiTrack_wrongStaCharge_ZMuTrackTagged->Fill( - ZtrackerDaughterPhi); // phi of tagged track wrong unMatched Sta charge - h_ptTrack_wrongStaCharge_ZMuTrackTagged->Fill( - ZtrackerDaughterPt); // pt of tagged track wrong unMatched Sta charge - h_DRTrack_wrongStaCharge_ZMuTrackTagged->Fill( - DRmuSta_trackOfZ); // DR between unMatched Sta and tracker for wrong sta charge - } else { // correct Sta charge - n_correctStaCharge_ZMuTracktagged++; // number of events correct charge for unMatched Sta - } // end if Sta charge check - } // end if StandAlone is present - } // end if zMuTrack tagged - - //********************************************************************************************************************* - // study of track charge mis-id and efficiency selecting ZMuSta events - // for Track charge mis-id just use unMatched standAlone muons trackerMuons that are standAlone Muons but no globalMuons - // ******************************************************************************************************************** - - // loop on ZMuSta in order to recover some unMatched StandAlone - bool isZMuStaMatched = false; - //LargerDRCut=2.; // larger DR cut to recover unMatched Sta - taggedZ_index = -1; // index of Z with minimum DR respect to unMatched Sta - taggedMuon_index = -1; // index of Sta muon with minimum DR respect to unMatched track - int n_ZMuStaTagged_inEvent = 0; // number of tagged Z in the event - if (!zMuStandAlone->empty()) { // check ZMuSta just if no ZMuMu has been found in the event - event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap); - for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates - const Candidate &zMuStaCand = (*zMuStandAlone)[i]; //the candidate - CandidateBaseRef zMuStaCandRef = zMuStandAlone->refAt(i); - - GenParticleRef zMuStaMatch = (*zMuStandAloneMatchMap)[zMuStaCandRef]; - if (zMuStaMatch.isNonnull()) { // ZMuSta Macthed - numberOfMatchedZMuSta_++; - isZMuStaMatched = true; - } - - double m = zMuStaCand.mass(); - CandidateBaseRef zglobalDaughter = zMuStaCand.daughter(0)->masterClone(); - CandidateBaseRef zstandaloneDaughter = zMuStaCand.daughter(1)->masterClone(); - int iglb = 0; - int ista = 1; - if (zglobalDaughter->isGlobalMuon() == 0 && zstandaloneDaughter->isGlobalMuon() == 1) { // invert definition - CandidateBaseRef buffer = zglobalDaughter; - zglobalDaughter = zstandaloneDaughter; - zstandaloneDaughter = buffer; - iglb = 1; - ista = 0; - } - TrackRef zglobalDaughter_StaComponentRef = zMuStaCand.daughter(iglb)->get(); - // standalone part of global component of ZMuMu - TrackRef zglobalDaughter_TrackComponentRef = zMuStaCand.daughter(iglb)->get(); - // track part Of the global component of ZMuMu - TrackRef zstaDaughter_StaComponentRef = zMuStaCand.daughter(ista)->get(); - // standalone part of global component of ZMuMu - TrackRef zstaDaughter_TrackComponentRef = zMuStaCand.daughter(ista)->get(); - // track part Of the global component of ZMuMu - double ZglobalDaughterPt = zglobalDaughter->pt(); - double ZglobalDaughterEta = zglobalDaughter->eta(); - - double ZstaDaughter_StaComponentCharge = zstaDaughter_StaComponentRef->charge(); - double ZstaDaughter_StaComponentPt = zstaDaughter_StaComponentRef->pt(); - double ZstaDaughter_StaComponentEta = zstaDaughter_StaComponentRef->eta(); - double ZstaDaughter_StaComponentPhi = zstaDaughter_StaComponentRef->phi(); - double ZstaDaughter_TrackComponentCharge = zstaDaughter_TrackComponentRef->charge(); - - double ZglobalDaughter_StaComponentCharge = zglobalDaughter_StaComponentRef->charge(); - double ZglobalDaughter_TrackComponentCharge = zglobalDaughter_TrackComponentRef->charge(); - - // cynematical cuts for ZMuSta - bool etaCut = false; - bool ptCut = false; - // bool isoCut = false; - bool massCut = false; - if (abs(ZglobalDaughterEta) < etamax_ && abs(ZstaDaughter_StaComponentEta) < etamax_) - etaCut = true; - if (ZglobalDaughterPt > ptmin_ && ZstaDaughter_StaComponentPt > ptmin_) - ptCut = true; - if (m > massMin_ && m < massMax_) - massCut = true; // dovrei usare la massa fatta con la sola parte sta - // (Se è anche trackerMu non è cosi') - if (noCut_) { - etaCut = true; - ptCut = true; - massCut = true; - } - if (etaCut && ptCut && massCut && ZglobalDaughter_StaComponentCharge == ZglobalDaughter_TrackComponentCharge && - ZglobalDaughter_StaComponentCharge != - ZstaDaughter_StaComponentCharge) { // cynematic cuts and global charge consistent and opposite sta charge - n_ZMuStaTagged_inEvent++; - if (isZMuStaMatched) - n_ZMuStaTaggedMatched++; - // posso inserire istogrammi eta e pt track per studio Sta efficiency - // ... - if (zstandaloneDaughter->isStandAloneMuon() == 1 && - zstandaloneDaughter->isTrackerMuon() == 1) { // track matched - n_goodSta_ZMuStatagged++; - h_zMuStaMass_ZMuStaTagged->Fill(m); // inv mass ZMuSta for tagged events - h_etaSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentEta); // eta of tagged sta - h_phiSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPhi); // phi of tagged sta - h_ptSta_ZMuStaTagged->Fill(ZstaDaughter_StaComponentPt); // pt of tagged sta - - // check Track charge - if (ZstaDaughter_StaComponentCharge != ZstaDaughter_TrackComponentCharge) { // wrong Trk charge - n_wrongTrkCharge_ZMuStatagged++; // number of events wrong track charge for unMatched track - h_zMuStaMass_wrongTrkCharge_ZMuStaTagged->Fill( - m); // inv mass ZMuSta for tagged evts wrong unMatched track charge - h_etaSta_wrongTrkCharge_ZMuStaTagged->Fill( - ZstaDaughter_StaComponentEta); // eta of tagged sta wrong unMatched track charge - h_phiSta_wrongTrkCharge_ZMuStaTagged->Fill( - ZstaDaughter_StaComponentPhi); // phi of tagged sta wrong unMatched track charge - h_ptSta_wrongTrkCharge_ZMuStaTagged->Fill( - ZstaDaughter_StaComponentPt); // pt of tagged sta wrong unMatched track charge - } else { // correct Sta charge - n_correctTrkCharge_ZMuStatagged++; // number of events correct charge for unMatched Sta - } // end if Sta charge check - - } else { // tracker inefficient - n_TrkNotFound_ZMuStatagged++; - } - } // end cynematic cuts - if (n_ZMuStaTagged_inEvent == 0) { - } - - } // end loop on zMuSta candidates - } // end check ZMuSta size - -} // end analyze - -bool ZMuMuPerformances::check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - bool muplusFound = false; - bool muminusFound = false; - bool ZFound = false; - if (partId0 == 13 || partId1 == 13 || partId2 == 13) - muminusFound = true; - if (partId0 == -13 || partId1 == -13 || partId2 == -13) - muplusFound = true; - if (partId0 == 23 || partId1 == 23 || partId2 == 23) - ZFound = true; - return (muplusFound && muminusFound && ZFound); -} - -float ZMuMuPerformances::getParticlePt(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float ptpart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - return ptpart; -} - -float ZMuMuPerformances::getParticleEta(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float etapart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - return etapart; -} - -float ZMuMuPerformances::getParticlePhi(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float phipart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - return phipart; -} - -Particle::LorentzVector ZMuMuPerformances::getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - Particle::LorentzVector p4part(0., 0., 0., 0.); - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - return p4part; -} - -void ZMuMuPerformances::endJob() { - cout << "------------------------------------ Counters --------------------------------" << endl; - cout << "totalNumberOfZfound = " << totalNumberOfZfound << endl; - cout << "totalNumberOfZpassed = " << totalNumberOfZpassed << endl; - cout << "Number Of ZMuMu Same Sign (no cuts) " << nZMuMuSameSign << endl; - cout << "Number Of ZMuMu Same Sign (no cuts) MC matched " << nZMuMuSameSign_mcMatched << endl; - - cout << "------------------------------------ Counters for standAlone charge mis-id studies " - "--------------------------------" - << endl; - cout << " number of goodTracks tagged for ZMuMu collection = " << n_goodTrack_ZMuMutagged << endl; - cout << " number of goodTracks tagged for ZMuMu collection (correct Sta charge) = " << n_correctStaCharge_ZMuMutagged - << endl; - cout << " number of goodTracks tagged for ZMuMu collection (wrong Sta charge) = " << n_wrongStaCharge_ZMuMutagged - << endl - << endl; - cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA = " << n_goodTrack_ZMuTracktagged << endl; - cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (correct Sta charge) = " - << n_correctStaCharge_ZMuTracktagged << endl; - cout << " number of goodTracks tagged for ZMuTrack collection unMatchedSTA (wrong Sta charge) = " - << n_wrongStaCharge_ZMuTracktagged << endl - << endl; - cout << " number of goodTracks tagged for ZMuTrack collection (No STA found) = " << n_StaNotFound_ZMuTracktagged - << endl; - - cout << "------------------------------------ Counters for Track charge mis-id studies " - "--------------------------------" - << endl; - cout << " number of goodStandAlone tagged for ZMuMu collection = " << n_goodSta_ZMuMutagged << endl; - cout << " number of goodStandAlone tagged for ZMuMu collection (correct Trk charge) = " - << n_correctTrkCharge_ZMuMutagged << endl; - cout << " number of goodStandAlone tagged for ZMuMu collection (wrong Trk charge) = " << n_wrongTrkCharge_ZMuMutagged - << endl - << endl; - cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk = " << n_goodSta_ZMuStatagged << endl; - cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (correct Trk charge) = " - << n_correctTrkCharge_ZMuStatagged << endl; - cout << " number of goodSta tagged for ZMuSta collection unMatchedTrk (wrong Trk charge) = " - << n_wrongTrkCharge_ZMuStatagged << endl - << endl; - cout << " number of goodSta tagged for ZMuSta collection (No Trk found) = " << n_TrkNotFound_ZMuStatagged << endl; - cout << " number of ZMuSta mactched = " << numberOfMatchedZMuSta_ << endl; - cout << " number of ZMuSta Tagged matched = " << n_ZMuStaTaggedMatched << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuPerformances); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuSaMassHistogram.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuSaMassHistogram.cc deleted file mode 100644 index d29cab17d1d7a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMuSaMassHistogram.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "DataFormats/Common/interface/AssociationVector.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "TH1.h" -#include "TH2.h" -#include -#include -#include -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; - -class ZMuMuSaMassHistogram : public edm::EDAnalyzer { -public: - typedef math::XYZVector Vector; - ZMuMuSaMassHistogram(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - EDGetTokenT srcToken_; - int counter; - double min, max; - int Nbin; - TH1F* ZMassSa; - void histo(TH1F* hist, char* cx, char* cy) const; -}; - -void ZMuMuSaMassHistogram::histo(TH1F* hist, char* cx, char* cy) const { - hist->GetXaxis()->SetTitle(cx); - hist->GetYaxis()->SetTitle(cy); - hist->GetXaxis()->SetTitleOffset(1); - hist->GetYaxis()->SetTitleOffset(1.2); - hist->GetXaxis()->SetTitleSize(0.04); - hist->GetYaxis()->SetTitleSize(0.04); - hist->GetXaxis()->SetLabelSize(0.03); - hist->GetYaxis()->SetLabelSize(0.03); -} - -ZMuMuSaMassHistogram::ZMuMuSaMassHistogram(const ParameterSet& pset) - : srcToken_(consumes(pset.getParameter("src_m"))), - counter(0), - min(pset.getUntrackedParameter("min")), - max(pset.getUntrackedParameter("max")), - Nbin(pset.getUntrackedParameter("nbin")) { - edm::Service fs; - ZMassSa = fs->make("zMass", "ZMass OneStandAlone (GeV/c^{2})", Nbin, min, max); -} - -void ZMuMuSaMassHistogram::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle dimuons; - event.getByToken(srcToken_, dimuons); - for (unsigned int i = 0; i < dimuons->size(); ++i) { - const Candidate& zmm = (*dimuons)[i]; - const Candidate* dau0 = zmm.daughter(0); - const Candidate* dau1 = zmm.daughter(1); - TrackRef stAloneTrack; - Candidate::PolarLorentzVector p4_0; - double mu_mass; - if (counter % 2 == 0) { - stAloneTrack = dau0->get(); - p4_0 = dau1->polarP4(); - mu_mass = dau0->mass(); - } else { - stAloneTrack = dau1->get(); - p4_0 = dau0->polarP4(); - mu_mass = dau1->mass(); - } - - Vector momentum = stAloneTrack->momentum(); - Candidate::PolarLorentzVector p4_1(momentum.rho(), momentum.eta(), momentum.phi(), mu_mass); - double mass = (p4_0 + p4_1).mass(); - ZMassSa->Fill(mass); - ++counter; - } -} - -void ZMuMuSaMassHistogram::endJob() {} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMuSaMassHistogram); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_MCanalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_MCanalyzer.cc deleted file mode 100644 index f6af5da541360..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_MCanalyzer.cc +++ /dev/null @@ -1,725 +0,0 @@ -/* \class ZMuMu_MCanalyzer - * - * author: Davide Piccolo - * - * ZMuMu MC analyzer: - * check muon reco efficiencies from MC truth, - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace reco; -using namespace isodeposit; - -typedef ValueMap IsolationCollection; - -class ZMuMu_MCanalyzer : public edm::EDAnalyzer { -public: - ZMuMu_MCanalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - bool check_ifZmumu(const Candidate* dauGen0, const Candidate* dauGen1, const Candidate* dauGen2); - float getParticlePt(const int ipart, const Candidate* dauGen0, const Candidate* dauGen1, const Candidate* dauGen2); - float getParticleEta(const int ipart, const Candidate* dauGen0, const Candidate* dauGen1, const Candidate* dauGen2); - float getParticlePhi(const int ipart, const Candidate* dauGen0, const Candidate* dauGen1, const Candidate* dauGen2); - Particle::LorentzVector getParticleP4(const int ipart, - const Candidate* dauGen0, - const Candidate* dauGen1, - const Candidate* dauGen2); - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT zMuStandAloneMatchMapToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuTrackMatchMapToken_; - EDGetTokenT muonsToken_; - EDGetTokenT tracksToken_; - EDGetTokenT genParticlesToken_; - - bool bothMuons_; - - double etamin_, etamax_, ptmin_, massMin_, massMax_, isoMax_; - - double ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_, alpha_, beta_; - - bool relativeIsolation_; - string hltPath_; - reco::CandidateBaseRef globalMuonCandRef_, trackMuonCandRef_, standAloneMuonCandRef_; - OverlapChecker overlap_; - - // general histograms - TH1D *h_trackProbe_eta, *h_trackProbe_pt, *h_staProbe_eta, *h_staProbe_pt, *h_ProbeOk_eta, *h_ProbeOk_pt; - - // global counters - int nGlobalMuonsMatched_passed; // total number of global muons MC matched and passing cuts (and triggered) - int nGlobalMuonsMatched_passedIso; // total number of global muons MC matched and passing cuts including Iso - int n2GlobalMuonsMatched_passedIso; // total number of Z->2 global muons MC matched and passing cuts including Iso - int nStaMuonsMatched_passedIso; // total number of sta only muons MC matched and passing cuts including Iso - int nTracksMuonsMatched_passedIso; // total number of tracks only muons MC matched and passing cuts including Iso - int n2GlobalMuonsMatched_passedIso2Trg; // total number of Z->2 global muons MC matched and passing cuts including Iso and both triggered - int nMu0onlyTriggered; // n. of events zMuMu with mu0 only triggered - int nMu1onlyTriggered; // n. of events zMuMu with mu1 only triggered - - int nZMuMu_matched; // n. of events zMuMu macthed - int nZMuSta_matched; // n of events zMuSta macthed - int nZMuTrk_matched; // n. of events zMuTrk mathced -}; - -template -double isolation(const T* t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta, - bool relativeIsolation) { - // on 34X: - const pat::IsoDeposit* trkIso = t->isoDeposit(pat::TrackIso); - // const pat::IsoDeposit * trkIso = t->trackerIsoDeposit(); - // on 34X - const pat::IsoDeposit* ecalIso = t->isoDeposit(pat::EcalIso); - // const pat::IsoDeposit * ecalIso = t->ecalIsoDeposit(); - // on 34X - const pat::IsoDeposit* hcalIso = t->isoDeposit(pat::HcalIso); - // const pat::IsoDeposit * hcalIso = t->hcalIsoDeposit(); - - Direction dir = Direction(t->eta(), t->phi()); - - pat::IsoDeposit::AbsVetos vetosTrk; - vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk)); - vetosTrk.push_back(new ThresholdVeto(ptThreshold)); - - pat::IsoDeposit::AbsVetos vetosEcal; - vetosEcal.push_back(new ConeVeto(dir, 0.)); - vetosEcal.push_back(new ThresholdVeto(etEcalThreshold)); - - pat::IsoDeposit::AbsVetos vetosHcal; - vetosHcal.push_back(new ConeVeto(dir, 0.)); - vetosHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk)); - double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal)); - double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal)); - - double iso = - alpha * (((1 + beta) / 2 * isovalueEcal) + ((1 - beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk); - if (relativeIsolation) - iso /= t->pt(); - return iso; -} - -double candidateIsolation(const reco::Candidate* c, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta, - bool relativeIsolation) { - const pat::Muon* mu = dynamic_cast(&*c->masterClone()); - if (mu != nullptr) - return isolation(mu, - ptThreshold, - etEcalThreshold, - etHcalThreshold, - dRVetoTrk, - dRTrk, - dREcal, - dRHcal, - alpha, - beta, - relativeIsolation); - const pat::GenericParticle* trk = dynamic_cast(&*c->masterClone()); - if (trk != nullptr) - return isolation(trk, - ptThreshold, - etEcalThreshold, - etHcalThreshold, - dRVetoTrk, - dRTrk, - dREcal, - dRHcal, - alpha, - beta, - relativeIsolation); - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n"; - return -1; -} - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include -#include -#include - -ZMuMu_MCanalyzer::ZMuMu_MCanalyzer(const ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - zMuStandAloneMatchMapToken_(mayConsume(pset.getParameter("zMuStandAloneMatchMap"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuTrackMatchMapToken_(mayConsume(pset.getParameter("zMuTrackMatchMap"))), - muonsToken_(consumes(pset.getParameter("muons"))), - tracksToken_(consumes(pset.getParameter("tracks"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - - bothMuons_(pset.getParameter("bothMuons")), - etamin_(pset.getUntrackedParameter("etamin")), - etamax_(pset.getUntrackedParameter("etamax")), - ptmin_(pset.getUntrackedParameter("ptmin")), - massMin_(pset.getUntrackedParameter("zMassMin")), - massMax_(pset.getUntrackedParameter("zMassMax")), - isoMax_(pset.getUntrackedParameter("isomax")), - ptThreshold_(pset.getUntrackedParameter("ptThreshold")), - etEcalThreshold_(pset.getUntrackedParameter("etEcalThreshold")), - etHcalThreshold_(pset.getUntrackedParameter("etHcalThreshold")), - dRVetoTrk_(pset.getUntrackedParameter("deltaRVetoTrk")), - dRTrk_(pset.getUntrackedParameter("deltaRTrk")), - dREcal_(pset.getUntrackedParameter("deltaREcal")), - dRHcal_(pset.getUntrackedParameter("deltaRHcal")), - alpha_(pset.getUntrackedParameter("alpha")), - beta_(pset.getUntrackedParameter("beta")), - relativeIsolation_(pset.getUntrackedParameter("relativeIsolation")), - hltPath_(pset.getUntrackedParameter("hltPath")) { - Service fs; - - // binning of entries array (at moment defined by hand and not in cfg file) - double etaRange[8] = {-2.5, -2., -1.2, -0.8, 0.8, 1.2, 2., 2.5}; - double ptRange[4] = {20., 40., 60., 100.}; - - // general histograms - h_trackProbe_eta = fs->make("trackProbeEta", "Eta of tracks", 7, etaRange); - h_trackProbe_pt = fs->make("trackProbePt", "Pt of tracks", 3, ptRange); - h_staProbe_eta = fs->make("standAloneProbeEta", "Eta of standAlone", 7, etaRange); - h_staProbe_pt = fs->make("standAloneProbePt", "Pt of standAlone", 3, ptRange); - h_ProbeOk_eta = fs->make("probeOkEta", "Eta of probe Ok", 7, etaRange); - h_ProbeOk_pt = fs->make("probeOkPt", "Pt of probe ok", 3, ptRange); - - // clear global counters - nGlobalMuonsMatched_passed = 0; - nGlobalMuonsMatched_passedIso = 0; - n2GlobalMuonsMatched_passedIso = 0; - nStaMuonsMatched_passedIso = 0; - nTracksMuonsMatched_passedIso = 0; - n2GlobalMuonsMatched_passedIso2Trg = 0; - nMu0onlyTriggered = 0; - nMu1onlyTriggered = 0; - nZMuMu_matched = 0; - nZMuSta_matched = 0; - nZMuTrk_matched = 0; -} - -void ZMuMu_MCanalyzer::analyze(const Event& event, const EventSetup& setup) { - Handle zMuMu; - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global - Handle zMuStandAlone; - Handle zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone - Handle zMuTrack; - Handle zMuTrackMatchMap; //Map of Z made by Mu + Track - Handle muons; //Collection of Muons - Handle tracks; //Collection of Tracks - - Handle genParticles; // Collection of Generatd Particles - - event.getByToken(zMuMuToken_, zMuMu); - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - event.getByToken(zMuTrackToken_, zMuTrack); - event.getByToken(genParticlesToken_, genParticles); - event.getByToken(muonsToken_, muons); - event.getByToken(tracksToken_, tracks); - - /* - cout << "********* zMuMu size : " << zMuMu->size() << endl; - cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; - cout << "********* zMuTrack size : " << zMuTrack->size() << endl; - cout << "********* muons size : " << muons->size() << endl; - cout << "********* tracks size : " << tracks->size() << endl; - */ - // std::cout<<"Run-> "< "<empty()) { - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - const Candidate& zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - - const Candidate* lep0 = zMuMuCand.daughter(0); - const Candidate* lep1 = zMuMuCand.daughter(1); - const pat::Muon& muonDau0 = dynamic_cast(*lep0->masterClone()); - // double trkiso0 = muonDau0.trackIso(); - const pat::Muon& muonDau1 = dynamic_cast(*lep1->masterClone()); - //double trkiso1 = muonDau1.trackIso(); - - double iso0 = candidateIsolation(lep0, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - double iso1 = candidateIsolation(lep1, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - - double pt0 = zMuMuCand.daughter(0)->pt(); - double pt1 = zMuMuCand.daughter(1)->pt(); - double eta0 = zMuMuCand.daughter(0)->eta(); - double eta1 = zMuMuCand.daughter(1)->eta(); - double mass = zMuMuCand.mass(); - - // HLT match - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath(hltPath_); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = muonDau1.triggerObjectMatchesByPath(hltPath_); - - bool trig0found = false; - bool trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; - if (zMuMuMatch.isNonnull()) { // ZMuMu matched - zMuMu_found = true; - nZMuMu_matched++; - if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ && - abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && - (trig0found || trig1found)) { // kinematic and trigger cuts passed - nGlobalMuonsMatched_passed++; // first global Muon passed kine cuts - nGlobalMuonsMatched_passed++; // second global muon passsed kine cuts - if (iso0 < isoMax_) - nGlobalMuonsMatched_passedIso++; // first global muon passed the iso cut - if (iso1 < isoMax_) - nGlobalMuonsMatched_passedIso++; // second global muon passed the iso cut - if (iso0 < isoMax_ && iso1 < isoMax_) { - n2GlobalMuonsMatched_passedIso++; // both muons passed iso cut - if (trig0found && trig1found) - n2GlobalMuonsMatched_passedIso2Trg++; // both muons have HLT - if (trig0found && !trig1found) - nMu0onlyTriggered++; - if (trig1found && !trig0found) - nMu1onlyTriggered++; - // histograms vs eta and pt - if (trig1found) { // check efficiency of muon0 not imposing the trigger on it - h_trackProbe_eta->Fill(eta0); - h_trackProbe_pt->Fill(pt0); - h_staProbe_eta->Fill(eta0); - h_staProbe_pt->Fill(pt0); - h_ProbeOk_eta->Fill(eta0); - h_ProbeOk_pt->Fill(pt0); - } - if (trig0found) { // check efficiency of muon1 not imposing the trigger on it - h_trackProbe_eta->Fill(eta1); - h_staProbe_eta->Fill(eta1); - h_trackProbe_pt->Fill(pt1); - h_staProbe_pt->Fill(pt1); - h_ProbeOk_eta->Fill(eta1); - h_ProbeOk_pt->Fill(pt1); - } - } - } - } // end MC match - - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // loop on ZMuSta - bool zMuSta_found = false; - if (!zMuMu_found && !zMuStandAlone->empty()) { - event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap); - for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates - const Candidate& zMuStandAloneCand = (*zMuStandAlone)[i]; //the candidate - CandidateBaseRef zMuStandAloneCandRef = zMuStandAlone->refAt(i); - GenParticleRef zMuStandAloneMatch = (*zMuStandAloneMatchMap)[zMuStandAloneCandRef]; - - const Candidate* lep0 = zMuStandAloneCand.daughter(0); - const Candidate* lep1 = zMuStandAloneCand.daughter(1); - const pat::Muon& muonDau0 = dynamic_cast(*lep0->masterClone()); - //double trkiso0 = muonDau0.trackIso(); - // const pat::Muon & muonDau1 = dynamic_cast(*lep1->masterClone()); - //double trkiso1 = muonDau1.trackIso(); - - double iso0 = candidateIsolation(lep0, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - double iso1 = candidateIsolation(lep1, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - - double pt0 = zMuStandAloneCand.daughter(0)->pt(); - double pt1 = zMuStandAloneCand.daughter(1)->pt(); - double eta0 = zMuStandAloneCand.daughter(0)->eta(); - double eta1 = zMuStandAloneCand.daughter(1)->eta(); - double mass = zMuStandAloneCand.mass(); - - // HLT match (check just dau0 the global) - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath(hltPath_); - - bool trig0found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - - if (zMuStandAloneMatch.isNonnull()) { // ZMuStandAlone matched - zMuSta_found = true; - nZMuSta_matched++; - if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ && - abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && iso0 < isoMax_ && iso1 < isoMax_ && - trig0found) { // all cuts and trigger passed - nStaMuonsMatched_passedIso++; - // histograms vs eta and pt - h_staProbe_eta->Fill(eta1); - h_staProbe_pt->Fill(pt1); - } - } // end MC match - } // end loop on ZMuStandAlone cand - } // end if ZMuStandAlone size > 0 - - // loop on ZMuTrack - if (!zMuMu_found && !zMuSta_found && !zMuTrack->empty()) { - event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap); - for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates - const Candidate& zMuTrackCand = (*zMuTrack)[i]; //the candidate - CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i); - const Candidate* lep0 = zMuTrackCand.daughter(0); - const Candidate* lep1 = zMuTrackCand.daughter(1); - const pat::Muon& muonDau0 = dynamic_cast(*lep0->masterClone()); - //double trkiso0 = muonDau0.trackIso(); - //const pat::GenericParticle & trackDau1 = dynamic_cast(*lep1->masterClone()); - //double trkiso1 = trackDau1.trackIso(); - double iso0 = candidateIsolation(lep0, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - double iso1 = candidateIsolation(lep1, - ptThreshold_, - etEcalThreshold_, - etHcalThreshold_, - dRVetoTrk_, - dRTrk_, - dREcal_, - dRHcal_, - alpha_, - beta_, - relativeIsolation_); - - double pt0 = zMuTrackCand.daughter(0)->pt(); - double pt1 = zMuTrackCand.daughter(1)->pt(); - double eta0 = zMuTrackCand.daughter(0)->eta(); - double eta1 = zMuTrackCand.daughter(1)->eta(); - double mass = zMuTrackCand.mass(); - - // HLT match (check just dau0 the global) - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath(hltPath_); - - bool trig0found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - - GenParticleRef zMuTrackMatch = (*zMuTrackMatchMap)[zMuTrackCandRef]; - if (zMuTrackMatch.isNonnull()) { // ZMuTrack matched - nZMuTrk_matched++; - if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ && - abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && iso0 < isoMax_ && iso1 < isoMax_ && - trig0found) { // all cuts and trigger passed - nTracksMuonsMatched_passedIso++; - // histograms vs eta and pt - h_trackProbe_eta->Fill(eta1); - h_trackProbe_pt->Fill(pt1); - } - } // end MC match - } // end loop on ZMuTrack cand - } // end if ZMuTrack size > 0 - -} // end analyze - -bool ZMuMu_MCanalyzer::check_ifZmumu(const Candidate* dauGen0, const Candidate* dauGen1, const Candidate* dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - bool muplusFound = false; - bool muminusFound = false; - bool ZFound = false; - if (partId0 == 13 || partId1 == 13 || partId2 == 13) - muminusFound = true; - if (partId0 == -13 || partId1 == -13 || partId2 == -13) - muplusFound = true; - if (partId0 == 23 || partId1 == 23 || partId2 == 23) - ZFound = true; - return (muplusFound && muminusFound && ZFound); -} - -float ZMuMu_MCanalyzer::getParticlePt(const int ipart, - const Candidate* dauGen0, - const Candidate* dauGen1, - const Candidate* dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float ptpart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - return ptpart; -} - -float ZMuMu_MCanalyzer::getParticleEta(const int ipart, - const Candidate* dauGen0, - const Candidate* dauGen1, - const Candidate* dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float etapart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - return etapart; -} - -float ZMuMu_MCanalyzer::getParticlePhi(const int ipart, - const Candidate* dauGen0, - const Candidate* dauGen1, - const Candidate* dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float phipart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - return phipart; -} - -Particle::LorentzVector ZMuMu_MCanalyzer::getParticleP4(const int ipart, - const Candidate* dauGen0, - const Candidate* dauGen1, - const Candidate* dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - Particle::LorentzVector p4part(0., 0., 0., 0.); - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate* dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - return p4part; -} - -void ZMuMu_MCanalyzer::endJob() { - double eff_Iso = double(nGlobalMuonsMatched_passedIso) / nGlobalMuonsMatched_passed; - double err_effIso = sqrt(eff_Iso * (1 - eff_Iso) / nGlobalMuonsMatched_passed); - - double n1_afterIso = - 2 * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered + nTracksMuonsMatched_passedIso; - double n2_afterIso = - 2 * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered + nStaMuonsMatched_passedIso; - double nGLB_afterIso = 2 * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered; - double effSta_afterIso = - (2 * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered) / n1_afterIso; - double effTrk_afterIso = - (2 * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered) / n2_afterIso; - double effHLT_afterIso = (2. * n2GlobalMuonsMatched_passedIso2Trg) / - (2. * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered); - double err_effHLT_afterIso = sqrt(effHLT_afterIso * (1 - effHLT_afterIso) / nGLB_afterIso); - double err_effsta_afterIso = sqrt(effSta_afterIso * (1 - effSta_afterIso) / n1_afterIso); - double err_efftrk_afterIso = sqrt(effTrk_afterIso * (1 - effTrk_afterIso) / n2_afterIso); - - cout << "------------------------------------ Counters --------------------------------" << endl; - - cout << "number of events zMuMu matched " << nZMuMu_matched << endl; - cout << "number of events zMuSta matched " << nZMuSta_matched << endl; - cout << "number of events zMuTk matched " << nZMuTrk_matched << endl; - cout << "number of events zMuMu with mu0 only triggered " << nMu0onlyTriggered << endl; - cout << "number of events zMuMu with mu1 only triggered " << nMu1onlyTriggered << endl; - cout << "=========================================" << endl; - cout << "n. of global muons MC matched and passing cuts: " << nGlobalMuonsMatched_passed << endl; - cout << "n. of global muons MC matched and passing also Iso cut: " << nGlobalMuonsMatched_passedIso << endl; - cout << "n. of Z -> 2 global muons MC matched and passing ALL cuts: " << n2GlobalMuonsMatched_passedIso << endl; - cout << "n. of ZMuSta MC matched and passing ALL cuts: " << nStaMuonsMatched_passedIso << endl; - cout << "n. of ZmuTrck MC matched and passing ALL cuts: " << nTracksMuonsMatched_passedIso << endl; - cout << "n. of Z -> 2 global muons MC matched and passing ALL cuts and both triggered: " - << n2GlobalMuonsMatched_passedIso2Trg << endl; - cout << "=================================================================================" << endl; - cout << "Iso efficiency: " << eff_Iso << " +/- " << err_effIso << endl; - cout << "HLT efficiency: " << effHLT_afterIso << " +/- " << err_effHLT_afterIso << endl; - cout << "eff StandAlone (after Isocut) : " << effSta_afterIso << "+/-" << err_effsta_afterIso << endl; - cout << "eff Tracker (after Isocut) : " << effTrk_afterIso << "+/-" << err_efftrk_afterIso << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMu_MCanalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_efficiencyAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_efficiencyAnalyzer.cc deleted file mode 100644 index 7a2fe6e87724d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_efficiencyAnalyzer.cc +++ /dev/null @@ -1,779 +0,0 @@ -/* \class ZMuMu_efficieyAnalyzer - * - * author: Davide Piccolo - * - * ZMuMu efficiency analyzer: - * check muon reco efficiencies from MC truth, - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include -#include - -using namespace edm; -using namespace std; -using namespace reco; - -typedef edm::ValueMap IsolationCollection; - -class ZMuMu_efficiencyAnalyzer : public edm::EDAnalyzer { -public: - ZMuMu_efficiencyAnalyzer(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - bool check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePt(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticleEta(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePhi(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - Particle::LorentzVector getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2); - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT zMuStandAloneMatchMapToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuTrackMatchMapToken_; - EDGetTokenT muonsToken_; - EDGetTokenT tracksToken_; - EDGetTokenT genParticlesToken_; - EDGetTokenT primaryVerticesToken_; - - bool bothMuons_; - - double etamax_, ptmin_, massMin_, massMax_, isoMax_; - - // binning of entries array (at moment defined by hand and not in cfg file) - unsigned int etaBins; - unsigned int ptBins; - double etaRange[7]; - double ptRange[5]; - - reco::CandidateBaseRef globalMuonCandRef_, trackMuonCandRef_, standAloneMuonCandRef_; - OverlapChecker overlap_; - - // general histograms - TH1D *h_zmm_mass, *h_zmm2HLT_mass; - TH1D *h_zmm1HLTplus_mass, *h_zmmNotIsoplus_mass, *h_zmsplus_mass, *h_zmtplus_mass; - TH1D *h_zmm1HLTminus_mass, *h_zmmNotIsominus_mass, *h_zmsminus_mass, *h_zmtminus_mass; - - // global counters - int nGlobalMuonsMatched_passed; // total number of global muons MC matched and passing cuts (and triggered) - - vector hmumu2HLTplus_eta, hmumu1HLTplus_eta, hmustaplus_eta, hmutrackplus_eta, hmumuNotIsoplus_eta; - vector hmumu2HLTplus_pt, hmumu1HLTplus_pt, hmustaplus_pt, hmutrackplus_pt, hmumuNotIsoplus_pt; - vector hmumu2HLTminus_eta, hmumu1HLTminus_eta, hmustaminus_eta, hmutrackminus_eta, hmumuNotIsominus_eta; - vector hmumu2HLTminus_pt, hmumu1HLTminus_pt, hmustaminus_pt, hmutrackminus_pt, hmumuNotIsominus_pt; -}; - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include -#include -#include - -ZMuMu_efficiencyAnalyzer::ZMuMu_efficiencyAnalyzer(const ParameterSet &pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - zMuStandAloneMatchMapToken_(mayConsume(pset.getParameter("zMuStandAloneMatchMap"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuTrackMatchMapToken_(mayConsume(pset.getParameter("zMuTrackMatchMap"))), - muonsToken_(consumes(pset.getParameter("muons"))), - tracksToken_(consumes(pset.getParameter("tracks"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - primaryVerticesToken_(consumes(pset.getParameter("primaryVertices"))), - - bothMuons_(pset.getParameter("bothMuons")), - - etamax_(pset.getUntrackedParameter("etamax")), - ptmin_(pset.getUntrackedParameter("ptmin")), - massMin_(pset.getUntrackedParameter("zMassMin")), - massMax_(pset.getUntrackedParameter("zMassMax")), - isoMax_(pset.getUntrackedParameter("isomax")) { - Service fs; - - // general histograms - h_zmm_mass = fs->make("zmm_mass", "zmumu mass", 100, 0., 200.); - h_zmm2HLT_mass = fs->make("zmm2HLT_mass", "zmumu 2HLT mass", 100, 0., 200.); - h_zmm1HLTplus_mass = fs->make("zmm1HLTplus_mass", "zmumu 1HLT plus mass", 100, 0., 200.); - h_zmmNotIsoplus_mass = fs->make("zmmNotIsoplus_mass", "zmumu a least One Not Iso plus mass", 100, 0., 200.); - h_zmsplus_mass = fs->make("zmsplus_mass", "zmusta plus mass", 100, 0., 200.); - h_zmtplus_mass = fs->make("zmtplus_mass", "zmutrack plus mass", 100, 0., 200.); - h_zmm1HLTminus_mass = fs->make("zmm1HLTminus_mass", "zmumu 1HLT minus mass", 100, 0., 200.); - h_zmmNotIsominus_mass = fs->make("zmmNotIsominus_mass", "zmumu a least One Not Iso minus mass", 100, 0., 200.); - h_zmsminus_mass = fs->make("zmsminus_mass", "zmusta minus mass", 100, 0., 200.); - h_zmtminus_mass = fs->make("zmtminus_mass", "zmutrack minus mass", 100, 0., 200.); - - cout << "primo" << endl; - // creating histograms for each Pt, eta interval - - TFileDirectory etaDirectory = - fs->mkdir("etaIntervals"); // in this directory will be saved all the histos of different eta intervals - TFileDirectory ptDirectory = - fs->mkdir("ptIntervals"); // in this directory will be saved all the histos of different pt intervals - - // binning of entries array (at moment defined by hand and not in cfg file) - etaBins = 6; - ptBins = 4; - double etaRangeTmp[7] = {-2., -1.2, -0.8, 0., 0.8, 1.2, 2.}; - double ptRangeTmp[5] = {20., 40., 60., 80., 100.}; - for (unsigned int i = 0; i <= etaBins; i++) - etaRange[i] = etaRangeTmp[i]; - for (unsigned int i = 0; i <= ptBins; i++) - ptRange[i] = ptRangeTmp[i]; - - // eta histograms creation - cout << "eta istograms creation " << endl; - - for (unsigned int i = 0; i < etaBins; i++) { - cout << " bin eta plus " << i << endl; - // muon plus - double range0 = etaRange[i]; - double range1 = etaRange[i + 1]; - std::string ap, bp; - ap = "zmumu2HLTplus_etaRange" + std::to_string(i); - bp = "zmumu2HLT plus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap << " " << bp << endl; - hmumu2HLTplus_eta.push_back(etaDirectory.make(ap.c_str(), bp.c_str(), 200, 0., 200.)); - ap = "zmumu1HLTplus_etaRange" + std::to_string(i); - bp = "zmumu1HLT plus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap << " " << bp << endl; - hmumu1HLTplus_eta.push_back(etaDirectory.make(ap.c_str(), bp.c_str(), 200, 0., 200.)); - ap = "zmustaplus_etaRange" + std::to_string(i); - bp = "zmusta plus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap << " " << bp << endl; - hmustaplus_eta.push_back(etaDirectory.make(ap.c_str(), bp.c_str(), 50, 0., 200.)); - ap = "zmutrackplus_etaRange" + std::to_string(i); - bp = "zmutrack plus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap << " " << bp << endl; - hmutrackplus_eta.push_back(etaDirectory.make(ap.c_str(), bp.c_str(), 100, 0., 200.)); - ap = "zmumuNotIsoplus_etaRange" + std::to_string(i); - bp = "zmumuNotIso plus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap << " " << bp << endl; - hmumuNotIsoplus_eta.push_back(etaDirectory.make(ap.c_str(), bp.c_str(), 100, 0., 200.)); - // muon minus - cout << " bin eta minus " << i << endl; - std::string am, bm; - am = "zmumu2HLTminus_etaRange" + std::to_string(i); - bm = "zmumu2HLT minus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am << " " << bm << endl; - hmumu2HLTminus_eta.push_back(etaDirectory.make(am.c_str(), bm.c_str(), 200, 0., 200.)); - am = "zmumu1HLTminus_etaRange" + std::to_string(i); - bm = "zmumu1HLT minus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am << " " << bm << endl; - hmumu1HLTminus_eta.push_back(etaDirectory.make(am.c_str(), bm.c_str(), 200, 0., 200.)); - am = "zmustaminus_etaRange" + std::to_string(i); - bm = "zmusta minus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am << " " << bm << endl; - hmustaminus_eta.push_back(etaDirectory.make(am.c_str(), bm.c_str(), 50, 0., 200.)); - am = "zmutrackminus_etaRange" + std::to_string(i); - bm = "zmutrack minus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am << " " << bm << endl; - hmutrackminus_eta.push_back(etaDirectory.make(am.c_str(), bm.c_str(), 100, 0., 200.)); - am = "zmumuNotIsominus_etaRange" + std::to_string(i); - bm = "zmumuNotIso minus mass eta Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am << " " << bm << endl; - hmumuNotIsominus_eta.push_back(etaDirectory.make(am.c_str(), bm.c_str(), 100, 0., 200.)); - } - - // pt histograms creation - cout << "pt istograms creation " << endl; - - for (unsigned int i = 0; i < ptBins; i++) { - double range0 = ptRange[i]; - double range1 = ptRange[i + 1]; - // muon plus - cout << " bin pt plus " << i << endl; - std::string ap1, bp1; - ap1 = "zmumu2HLTplus_ptRange" + std::to_string(i); - bp1 = "zmumu2HLT plus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap1 << " " << bp1 << endl; - hmumu2HLTplus_pt.push_back(ptDirectory.make(ap1.c_str(), bp1.c_str(), 200, 0., 200.)); - ap1 = "zmumu1HLTplus_ptRange" + std::to_string(i); - bp1 = "zmumu1HLT plus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap1 << " " << bp1 << endl; - hmumu1HLTplus_pt.push_back(ptDirectory.make(ap1.c_str(), bp1.c_str(), 200, 0., 200.)); - ap1 = "zmustaplus_ptRange" + std::to_string(i); - bp1 = "zmusta plus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap1 << " " << bp1 << endl; - hmustaplus_pt.push_back(ptDirectory.make(ap1.c_str(), bp1.c_str(), 50, 0., 200.)); - ap1 = "zmutrackplus_ptRange" + std::to_string(i); - bp1 = "zmutrack plus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap1 << " " << bp1 << endl; - hmutrackplus_pt.push_back(ptDirectory.make(ap1.c_str(), bp1.c_str(), 100, 0., 200.)); - ap1 = "zmumuNotIsoplus_ptRange" + std::to_string(i); - bp1 = "zmumuNotIso plus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << ap1 << " " << bp1 << endl; - hmumuNotIsoplus_pt.push_back(ptDirectory.make(ap1.c_str(), bp1.c_str(), 100, 0., 200.)); - // muon minus - cout << " bin pt minus " << i << endl; - std::string am1, bm1; - am1 = "zmumu2HLTminus_ptRange" + std::to_string(i); - bm1 = "zmumu2HLT minus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am1 << " " << bm1 << endl; - hmumu2HLTminus_pt.push_back(ptDirectory.make(am1.c_str(), bm1.c_str(), 200, 0., 200.)); - am1 = "zmumu1HLTminus_ptRange" + std::to_string(i); - bm1 = "zmumu1HLT minus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am1 << " " << bm1 << endl; - hmumu1HLTminus_pt.push_back(ptDirectory.make(am1.c_str(), bm1.c_str(), 200, 0., 200.)); - am1 = "zmustaminus_ptRange" + std::to_string(i); - bm1 = "zmusta minus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am1 << " " << bm1 << endl; - hmustaminus_pt.push_back(ptDirectory.make(am1.c_str(), bm1.c_str(), 50, 0., 200.)); - am1 = "zmutrackminus_ptRange" + std::to_string(i); - bm1 = "zmutrack minus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am1 << " " << bm1 << endl; - hmutrackminus_pt.push_back(ptDirectory.make(am1.c_str(), bm1.c_str(), 100, 0., 200.)); - am1 = "zmumuNotIsominus_ptRange" + std::to_string(i); - bm1 = "zmumuNotIso minus mass pt Range " + std::to_string(range0) + " to " + std::to_string(range1); - cout << am1 << " " << bm1 << endl; - hmumuNotIsominus_pt.push_back(ptDirectory.make(am1.c_str(), bm1.c_str(), 100, 0., 200.)); - } - - // clear global counters - nGlobalMuonsMatched_passed = 0; -} - -void ZMuMu_efficiencyAnalyzer::analyze(const Event &event, const EventSetup &setup) { - Handle zMuMu; - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global - Handle zMuStandAlone; - Handle zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone - Handle zMuTrack; - Handle zMuTrackMatchMap; //Map of Z made by Mu + Track - Handle muons; //Collection of Muons - Handle tracks; //Collection of Tracks - - Handle genParticles; // Collection of Generatd Particles - Handle primaryVertices; // Collection of primary Vertices - - event.getByToken(zMuMuToken_, zMuMu); - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - event.getByToken(zMuTrackToken_, zMuTrack); - event.getByToken(genParticlesToken_, genParticles); - event.getByToken(primaryVerticesToken_, primaryVertices); - event.getByToken(muonsToken_, muons); - event.getByToken(tracksToken_, tracks); - - /* - cout << "********* zMuMu size : " << zMuMu->size() << endl; - cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; - cout << "********* zMuTrack size : " << zMuTrack->size() << endl; - cout << "********* muons size : " << muons->size() << endl; - cout << "********* tracks size : " << tracks->size() << endl; - cout << "********* vertices size : " << primaryVertices->size() << endl; - */ - - // std::cout<<"Run-> "< "<empty()) { - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - const Candidate &zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - - const Candidate *lep0 = zMuMuCand.daughter(0); - const Candidate *lep1 = zMuMuCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::Muon &muonDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = muonDau1.trackIso(); - - // kinemtic variables - double pt0 = zMuMuCand.daughter(0)->pt(); - double pt1 = zMuMuCand.daughter(1)->pt(); - double eta0 = zMuMuCand.daughter(0)->eta(); - double eta1 = zMuMuCand.daughter(1)->eta(); - double charge0 = zMuMuCand.daughter(0)->charge(); - double charge1 = zMuMuCand.daughter(1)->charge(); - double mass = zMuMuCand.mass(); - - // HLT match - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = muonDau1.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - bool trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - // kinematic selection - - bool checkOppositeCharge = false; - if (charge0 != charge1) - checkOppositeCharge = true; - if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && abs(eta1) < etamax_ && mass > massMin_ && - mass < massMax_ && checkOppositeCharge) { - if (trig0found || trig1found) { // at least one muon match HLT - zMuMu_found = true; // Z found as global-global (so don't check Zms and Zmt) - if (trkiso0 < isoMax_ && trkiso1 < isoMax_) { // both muons are isolated - if (trig0found && trig1found) { - // ******************** category zmm 2 HLT **************** - - h_zmm2HLT_mass->Fill(mass); - h_zmm_mass->Fill(mass); - - // check the cynematics to fill correct histograms - - for (unsigned int j = 0; j < etaBins; j++) { // eta Bins loop - double range0 = etaRange[j]; - double range1 = etaRange[j + 1]; - - // eta histograms - - if (eta0 >= range0 && eta0 < range1) { - if (charge0 < 0) - hmumu2HLTminus_eta[j]->Fill(mass); // mu- in bin eta - if (charge0 > 0) - hmumu2HLTplus_eta[j]->Fill(mass); // mu+ in bin eta - } - if (eta1 >= range0 && eta1 < range1) { - if (charge1 < 0) - hmumu2HLTminus_eta[j]->Fill(mass); // mu- in bin eta - if (charge1 > 0) - hmumu2HLTplus_eta[j]->Fill(mass); // mu+ in bin eta - } - } // end loop etaBins - - for (unsigned int j = 0; j < ptBins; j++) { // pt Bins loop - double range0pt = ptRange[j]; - double range1pt = ptRange[j + 1]; - // pt histograms - if (pt0 >= range0pt && pt0 < range1pt) { - if (charge0 < 0) - hmumu2HLTminus_pt[j]->Fill(mass); // mu- in bin eta - if (charge0 > 0) - hmumu2HLTplus_pt[j]->Fill(mass); // mu+ in bin eta - } - if (pt1 >= range0pt && pt1 < range1pt) { - if (charge1 < 0) - hmumu2HLTminus_pt[j]->Fill(mass); // mu- in bin eta - if (charge1 > 0) - hmumu2HLTplus_pt[j]->Fill(mass); // mu+ in bin eta - } - } // end loop ptBins - - } // ******************* end category zmm 2 HLT **************** - - if (!trig0found || !trig1found) { - // ****************** category zmm 1 HLT ****************** - h_zmm_mass->Fill(mass); - double eta = 9999; - double pt = 9999; - double charge = 0; - if (trig0found) { - eta = eta1; // check muon not HLT matched - pt = pt1; - charge = charge1; - } else { - eta = eta0; - pt = pt0; - charge = charge0; - } - if (charge < 0) - h_zmm1HLTminus_mass->Fill(mass); - if (charge > 0) - h_zmm1HLTplus_mass->Fill(mass); - - for (unsigned int j = 0; j < etaBins; j++) { // eta Bins loop - double range0 = etaRange[j]; - double range1 = etaRange[j + 1]; - // eta histograms fill the bin of the muon not HLT matched - if (eta >= range0 && eta < range1) { - if (charge < 0) - hmumu1HLTminus_eta[j]->Fill(mass); - if (charge > 0) - hmumu1HLTplus_eta[j]->Fill(mass); - } - } // end loop etaBins - for (unsigned int j = 0; j < ptBins; j++) { // pt Bins loop - double range0 = ptRange[j]; - double range1 = ptRange[j + 1]; - // pt histograms - if (pt >= range0 && pt < range1) { - if (charge < 0) - hmumu1HLTminus_pt[j]->Fill(mass); - if (charge > 0) - hmumu1HLTplus_pt[j]->Fill(mass); - } - } // end loop ptBins - - } // ****************** end category zmm 1 HLT *************** - - } else { // one or both muons are not isolated - // ***************** category zmumuNotIso **************** (per ora non studio iso vs eta e pt da capire meglio) - - } // end if both muons isolated - - } // end if at least 1 HLT trigger found - } // end if kinematic selection - - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // loop on ZMuSta - bool zMuSta_found = false; - if (!zMuMu_found && !zMuStandAlone->empty()) { - event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap); - for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates - const Candidate &zMuStandAloneCand = (*zMuStandAlone)[i]; //the candidate - CandidateBaseRef zMuStandAloneCandRef = zMuStandAlone->refAt(i); - GenParticleRef zMuStandAloneMatch = (*zMuStandAloneMatchMap)[zMuStandAloneCandRef]; - - const Candidate *lep0 = zMuStandAloneCand.daughter(0); - const Candidate *lep1 = zMuStandAloneCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::Muon &muonDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = muonDau1.trackIso(); - double pt0 = zMuStandAloneCand.daughter(0)->pt(); - double pt1 = zMuStandAloneCand.daughter(1)->pt(); - double eta0 = zMuStandAloneCand.daughter(0)->eta(); - double eta1 = zMuStandAloneCand.daughter(1)->eta(); - double charge0 = zMuStandAloneCand.daughter(0)->charge(); - double charge1 = zMuStandAloneCand.daughter(1)->charge(); - double mass = zMuStandAloneCand.mass(); - - // HLT match - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = muonDau1.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - bool trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - // check HLT match of Global muon and save eta, pt of second muon (standAlone) - bool trigGlbfound = false; - double pt = 999.; - double eta = 999.; - double charge = 0; - if (muonDau0.isGlobalMuon()) { - trigGlbfound = trig0found; - pt = pt1; - eta = eta1; - charge = charge1; - } - if (muonDau1.isGlobalMuon()) { - trigGlbfound = trig1found; - pt = pt0; - eta = eta0; - charge = charge0; - } - - bool checkOppositeCharge = false; - if (charge0 != charge1) - checkOppositeCharge = true; - - if (checkOppositeCharge && trigGlbfound && pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && - abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && trkiso0 < isoMax_ && - trkiso1 < isoMax_) { // global mu match HLT + kinematic cuts + opposite charge - - if (charge < 0) - h_zmsminus_mass->Fill(mass); - if (charge > 0) - h_zmsplus_mass->Fill(mass); - - for (unsigned int j = 0; j < etaBins; j++) { // eta Bins loop - double range0 = etaRange[j]; - double range1 = etaRange[j + 1]; - // eta histograms - if (eta >= range0 && eta < range1) { - if (charge < 0) - hmustaminus_eta[j]->Fill(mass); - if (charge > 0) - hmustaplus_eta[j]->Fill(mass); - } - } // end loop etaBins - for (unsigned int j = 0; j < ptBins; j++) { // pt Bins loop - double range0 = ptRange[j]; - double range1 = ptRange[j + 1]; - // pt histograms - if (pt >= range0 && pt < range1) { - if (charge < 0) - hmustaminus_pt[j]->Fill(mass); - if (charge > 0) - hmustaplus_pt[j]->Fill(mass); - } - } // end loop ptBins - - } // end if trigGlbfound + kinecuts + OppostieCharge - } // end loop on ZMuStandAlone cand - } // end if ZMuStandAlone size > 0 - - // loop on ZMuTrack - // bool zMuTrack_found = false; - if (!zMuMu_found && !zMuSta_found && !zMuTrack->empty()) { - event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap); - for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates - const Candidate &zMuTrackCand = (*zMuTrack)[i]; //the candidate - CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i); - const Candidate *lep0 = zMuTrackCand.daughter(0); - const Candidate *lep1 = zMuTrackCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::GenericParticle &trackDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = trackDau1.trackIso(); - double pt0 = zMuTrackCand.daughter(0)->pt(); - double pt1 = zMuTrackCand.daughter(1)->pt(); - double eta0 = zMuTrackCand.daughter(0)->eta(); - double eta1 = zMuTrackCand.daughter(1)->eta(); - double charge0 = zMuTrackCand.daughter(0)->charge(); - double charge1 = zMuTrackCand.daughter(1)->charge(); - double mass = zMuTrackCand.mass(); - - // HLT match (check just dau0 the global) - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - - bool checkOppositeCharge = false; - if (charge0 != charge1) - checkOppositeCharge = true; - - if (checkOppositeCharge && trig0found && pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && - abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && trkiso0 < isoMax_ && - trkiso1 < isoMax_) { // global mu match HLT + kinematic cuts + opposite charge - - if (charge1 < 0) - h_zmtminus_mass->Fill(mass); - if (charge1 > 0) - h_zmtplus_mass->Fill(mass); - - for (unsigned int j = 0; j < etaBins; j++) { // eta Bins loop - double range0 = etaRange[j]; - double range1 = etaRange[j + 1]; - // eta histograms - if (eta1 >= range0 && eta1 < range1) { - if (charge1 < 0) - hmutrackminus_eta[j]->Fill(mass); // just check muon1 (mu0 is global by definition) - if (charge1 > 0) - hmutrackplus_eta[j]->Fill(mass); // just check muon1 (mu0 is global by definition) - } - } // end loop etaBins - for (unsigned int j = 0; j < ptBins; j++) { // pt Bins loop - double range0 = ptRange[j]; - double range1 = ptRange[j + 1]; - // pt histograms - if (pt1 >= range0 && pt1 < range1) { - if (charge1 < 0) - hmutrackminus_pt[j]->Fill(mass); // just check muon1 (mu0 is global by definition) - if (charge1 > 0) - hmutrackplus_pt[j]->Fill(mass); // just check muon1 (mu0 is global by definition) - } - } // end loop ptBins - - } // end if trig0found - - } // end loop on ZMuTrack cand - } // end if ZMuTrack size > 0 - -} // end analyze - -bool ZMuMu_efficiencyAnalyzer::check_ifZmumu(const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - bool muplusFound = false; - bool muminusFound = false; - bool ZFound = false; - if (partId0 == 13 || partId1 == 13 || partId2 == 13) - muminusFound = true; - if (partId0 == -13 || partId1 == -13 || partId2 == -13) - muplusFound = true; - if (partId0 == 23 || partId1 == 23 || partId2 == 23) - ZFound = true; - return (muplusFound && muminusFound && ZFound); -} - -float ZMuMu_efficiencyAnalyzer::getParticlePt(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float ptpart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - return ptpart; -} - -float ZMuMu_efficiencyAnalyzer::getParticleEta(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float etapart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - return etapart; -} - -float ZMuMu_efficiencyAnalyzer::getParticlePhi(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float phipart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - return phipart; -} - -Particle::LorentzVector ZMuMu_efficiencyAnalyzer::getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - Particle::LorentzVector p4part(0., 0., 0., 0.); - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - return p4part; -} - -void ZMuMu_efficiencyAnalyzer::endJob() {} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMu_efficiencyAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_radiative_analysis.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_radiative_analysis.cc deleted file mode 100644 index 58fdcff928d70..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_radiative_analysis.cc +++ /dev/null @@ -1,557 +0,0 @@ -/* \class ZMuMu_Radiative_analyzer - * - * author: Pasquale Noli - * - * ZMuMu Radiative analyzer - * - * - */ -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/Lepton.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include -#include -#include -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; - -class ZMuMu_Radiative_analyzer : public edm::EDAnalyzer { -public: - ZMuMu_Radiative_analyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuTkToken_; - EDGetTokenT zMuTkMatchMapToken_; - EDGetTokenT zMuSaToken_; - EDGetTokenT zMuSaMatchMapToken_; - double dRVeto_, dRTrk_, ptThreshold_; - //histograms - TH1D *h_zmass_FSR, *h_zmass_no_FSR; - TH1D *h_zMuSamass_FSR, *h_zMuSamass_no_FSR; - TH1D *h_zMuTkmass_FSR, *h_zMuTkmass_no_FSR; - TH1D *h_Iso_, *h_Iso_FSR_; - TH3D *h_Iso_3D_, *h_Iso_FSR_3D_; - TH2D *h_staProbe_pt_eta_no_FSR_, *h_staProbe_pt_eta_FSR_, *h_ProbeOk_pt_eta_no_FSR_, *h_ProbeOk_pt_eta_FSR_; - TH1D *h_trackProbe_eta_no_FSR, *h_trackProbe_pt_no_FSR, *h_staProbe_eta_no_FSR, *h_staProbe_pt_no_FSR, - *h_ProbeOk_eta_no_FSR, *h_ProbeOk_pt_no_FSR; - TH1D *h_trackProbe_eta_FSR, *h_trackProbe_pt_FSR, *h_staProbe_eta_FSR, *h_staProbe_pt_FSR, *h_ProbeOk_eta_FSR, - *h_ProbeOk_pt_FSR; - //boolean - bool FSR_mu, FSR_tk, FSR_mu0, FSR_mu1; - bool trig0found, trig1found; - //counter - int zmmcounter, zmscounter, zmtcounter, evntcounter; -}; - -typedef edm::ValueMap IsolationCollection; - -ZMuMu_Radiative_analyzer::ZMuMu_Radiative_analyzer(const ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuTkToken_(consumes(pset.getParameter("zMuTk"))), - zMuTkMatchMapToken_(mayConsume(pset.getParameter("zMuTkMatchMap"))), - zMuSaToken_(consumes(pset.getParameter("zMuSa"))), - zMuSaMatchMapToken_(mayConsume(pset.getParameter("zMuSaMatchMap"))), - dRVeto_(pset.getUntrackedParameter("veto")), - dRTrk_(pset.getUntrackedParameter("deltaRTrk")), - ptThreshold_(pset.getUntrackedParameter("ptThreshold")) { - zmmcounter = 0; - zmscounter = 0; - zmtcounter = 0; - evntcounter = 0; - Service fs; - - // general histograms - h_zmass_FSR = fs->make("h_zmass_FRS", "Invariant Z mass distribution", 200, 0, 200); - h_zmass_no_FSR = fs->make("h_zmass_no_FSR", "Invariant Z mass distribution", 200, 0, 200); - h_zMuSamass_FSR = fs->make("h_zMuSamass_FRS", "Invariant Z mass distribution", 200, 0, 200); - h_zMuSamass_no_FSR = fs->make("h_zMuSamass_no_FSR", "Invariant Z mass distribution", 200, 0, 200); - h_zMuTkmass_FSR = fs->make("h_zMuTkmass_FRS", "Invariant Z mass distribution", 200, 0, 200); - h_zMuTkmass_no_FSR = fs->make("h_zMuTkmass_no_FSR", "Invariant Z mass distribution", 200, 0, 200); - h_Iso_ = fs->make("h_iso", "Isolation distribution of muons without FSR", 100, 0, 20); - h_Iso_FSR_ = fs->make("h_iso_FSR", "Isolation distribution of muons with FSR ", 100, 0, 20); - h_Iso_3D_ = fs->make( - "h_iso_3D", "Isolation distribution of muons without FSR", 100, 20, 100, 100, -2.0, 2.0, 100, 0, 20); - h_Iso_FSR_3D_ = fs->make( - "h_iso_FSR_3D", "Isolation distribution of muons with FSR ", 100, 20, 100, 100, -2.0, 2.0, 100, 0, 20); - h_staProbe_pt_eta_no_FSR_ = - fs->make("h_staProbe_pt_eta_no_FSR", "Pt vs Eta StandAlone without FSR ", 100, 20, 100, 100, -2.0, 2.0); - h_staProbe_pt_eta_FSR_ = - fs->make("h_staProbe_pt_eta_FSR", "Pt vs Eta StandAlone with FSR ", 100, 20, 100, 100, -2.0, 2.0); - h_ProbeOk_pt_eta_no_FSR_ = - fs->make("h_ProbeOk_pt_eta_no_FSR", "Pt vs Eta probeOk without FSR ", 100, 20, 100, 100, -2.0, 2.0); - h_ProbeOk_pt_eta_FSR_ = - fs->make("h_ProbeOk_pt_eta_FSR", "Pt vs Eta probeOk with FSR ", 100, 20, 100, 100, -2.0, 2.0); - - h_trackProbe_eta_no_FSR = fs->make("trackProbeEta_no_FSR", "Eta of tracks", 100, -2.0, 2.0); - h_trackProbe_pt_no_FSR = fs->make("trackProbePt_no_FSR", "Pt of tracks", 100, 0, 100); - h_staProbe_eta_no_FSR = fs->make("standAloneProbeEta_no_FSR", "Eta of standAlone", 100, -2.0, 2.0); - h_staProbe_pt_no_FSR = fs->make("standAloneProbePt_no_FSR", "Pt of standAlone", 100, 0, 100); - h_ProbeOk_eta_no_FSR = fs->make("probeOkEta_no_FSR", "Eta of probe Ok", 100, -2.0, 2.0); - h_ProbeOk_pt_no_FSR = fs->make("probeOkPt_no_FSR", "Pt of probe ok", 100, 0, 100); - - h_trackProbe_eta_FSR = fs->make("trackProbeEta_FSR", "Eta of tracks", 100, -2.0, 2.0); - h_trackProbe_pt_FSR = fs->make("trackProbePt_FSR", "Pt of tracks", 100, 0, 100); - h_staProbe_eta_FSR = fs->make("standAloneProbeEta_FSR", "Eta of standAlone", 100, -2.0, 2.0); - h_staProbe_pt_FSR = fs->make("standAloneProbePt_FSR", "Pt of standAlone", 100, 0, 100); - h_ProbeOk_eta_FSR = fs->make("probeOkEta_FSR", "Eta of probe Ok", 100, -2.0, 2.0); - h_ProbeOk_pt_FSR = fs->make("probeOkPt_FSR", "Pt of probe ok", 100, 0, 100); -} - -void ZMuMu_Radiative_analyzer::analyze(const Event& event, const EventSetup& setup) { - evntcounter++; - Handle zMuMu; //Collection of Z made by Mu global + Mu global - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global with MC - event.getByToken(zMuMuToken_, zMuMu); - Handle zMuTk; //Collection of Z made by Mu global + Track - Handle zMuTkMatchMap; - event.getByToken(zMuTkToken_, zMuTk); - Handle zMuSa; //Collection of Z made by Mu global + Sa - Handle zMuSaMatchMap; - event.getByToken(zMuSaToken_, zMuSa); - cout << "********** New Event ***********" << endl; - // ZMuMu - if (!zMuMu->empty()) { - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - - const Candidate& zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - - CandidateBaseRef dau0 = zMuMuCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuMuCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::Muon& mu1 = dynamic_cast(*dau1); - - double zmass = zMuMuCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { - GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; - if (zMuMuMatch.isNonnull()) { // ZMuMu matched - zmmcounter++; - cout << " Zmumu cuts && matched" << endl; - FSR_mu0 = false; - FSR_mu1 = false; - - //Isodeposit - const pat::IsoDeposit* mu0TrackIso = mu0.isoDeposit(pat::TrackIso); - const pat::IsoDeposit* mu1TrackIso = mu1.isoDeposit(pat::TrackIso); - Direction mu0Dir = Direction(mu0.eta(), mu0.phi()); - Direction mu1Dir = Direction(mu1.eta(), mu1.phi()); - - reco::IsoDeposit::AbsVetos vetos_mu0; - vetos_mu0.push_back(new ConeVeto(mu0Dir, dRVeto_)); - vetos_mu0.push_back(new ThresholdVeto(ptThreshold_)); - - reco::IsoDeposit::AbsVetos vetos_mu1; - vetos_mu1.push_back(new ConeVeto(mu1Dir, dRVeto_)); - vetos_mu1.push_back(new ThresholdVeto(ptThreshold_)); - - double Tracker_isovalue_mu0 = mu0TrackIso->sumWithin(dRTrk_, vetos_mu0); - double Tracker_isovalue_mu1 = mu1TrackIso->sumWithin(dRTrk_, vetos_mu1); - - //trigger study - trig0found = false; - trig1found = false; - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = mu0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = mu1.triggerObjectMatchesByPath("HLT_Mu9"); - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genLepton(); - const Candidate* motherMu0 = muMc0->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - cout << " muone0" << endl; - cout << " num di daughters = " << num_dau_muon0 << endl; - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - cout << " dauther[" << j << "] pdgId = " << id << endl; - if (id == 22) - FSR_mu0 = true; - } - } //end check of gamma - - cout << " muone1" << endl; - cout << " num di daughters = " << num_dau_muon1 << endl; - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - cout << " dauther[" << j << "] pdgId = " << id << endl; - if (id == 22) - FSR_mu1 = true; - } - } //end check of gamma - - if (FSR_mu0 || FSR_mu1) - h_zmass_FSR->Fill(zmass); - else - h_zmass_no_FSR->Fill(zmass); - - if (trig1found) { // check efficiency of muon0 not imposing the trigger on it - cout << "muon 1 is triggered " << endl; - if (FSR_mu0) { - cout << "and muon 0 does FSR" << endl; - h_trackProbe_eta_FSR->Fill(eta0); - h_trackProbe_pt_FSR->Fill(pt0); - h_staProbe_eta_FSR->Fill(eta0); - h_staProbe_pt_FSR->Fill(pt0); - h_staProbe_pt_eta_FSR_->Fill(pt0, eta0); - h_ProbeOk_eta_FSR->Fill(eta0); - h_ProbeOk_pt_FSR->Fill(pt0); - h_ProbeOk_pt_eta_FSR_->Fill(pt0, eta0); - } else { - cout << "and muon 0 doesn't FSR" << endl; - h_trackProbe_eta_no_FSR->Fill(eta0); - h_trackProbe_pt_no_FSR->Fill(pt0); - h_staProbe_eta_no_FSR->Fill(eta0); - h_staProbe_pt_no_FSR->Fill(pt0); - h_staProbe_pt_eta_no_FSR_->Fill(pt0, eta0); - h_ProbeOk_eta_no_FSR->Fill(eta0); - h_ProbeOk_pt_no_FSR->Fill(pt0); - h_ProbeOk_pt_eta_no_FSR_->Fill(pt0, eta0); - } - if (FSR_mu0) { - h_Iso_FSR_->Fill(Tracker_isovalue_mu0); - h_Iso_FSR_3D_->Fill(pt0, eta0, Tracker_isovalue_mu0); - } else { - h_Iso_->Fill(Tracker_isovalue_mu0); - h_Iso_3D_->Fill(pt0, eta0, Tracker_isovalue_mu0); - } - } - if (trig0found) { // check efficiency of muon1 not imposing the trigger on it - cout << "muon 0 is triggered" << endl; - if (FSR_mu1) { - cout << "and muon 1 does FSR" << endl; - h_trackProbe_eta_FSR->Fill(eta1); - h_staProbe_eta_FSR->Fill(eta1); - h_trackProbe_pt_FSR->Fill(pt1); - h_staProbe_pt_FSR->Fill(pt1); - h_ProbeOk_eta_FSR->Fill(eta1); - h_ProbeOk_pt_FSR->Fill(pt1); - h_staProbe_pt_eta_FSR_->Fill(pt1, eta1); - h_ProbeOk_pt_eta_FSR_->Fill(pt1, eta1); - - } else { - cout << "and muon 1 doesn't FSR" << endl; - h_trackProbe_eta_no_FSR->Fill(eta1); - h_staProbe_eta_no_FSR->Fill(eta1); - h_trackProbe_pt_no_FSR->Fill(pt1); - h_staProbe_pt_no_FSR->Fill(pt1); - h_ProbeOk_eta_no_FSR->Fill(eta1); - h_ProbeOk_pt_no_FSR->Fill(pt1); - h_staProbe_pt_eta_no_FSR_->Fill(pt1, eta1); - h_ProbeOk_pt_eta_no_FSR_->Fill(pt1, eta1); - } - if (FSR_mu1) { - h_Iso_FSR_->Fill(Tracker_isovalue_mu1); - h_Iso_FSR_3D_->Fill(pt1, eta1, Tracker_isovalue_mu1); - } else { - h_Iso_->Fill(Tracker_isovalue_mu1); - h_Iso_3D_->Fill(pt1, eta1, Tracker_isovalue_mu1); - } - } - } // end MC match - } //end of cuts - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // ZMuSa - if (!zMuSa->empty()) { - event.getByToken(zMuSaMatchMapToken_, zMuSaMatchMap); - for (unsigned int i = 0; i < zMuSa->size(); ++i) { //loop on candidates - - const Candidate& zMuSaCand = (*zMuSa)[i]; //the candidate - CandidateBaseRef zMuSaCandRef = zMuSa->refAt(i); - const Candidate* lep0 = zMuSaCand.daughter(0); - const Candidate* lep1 = zMuSaCand.daughter(1); - const CandidateBaseRef& dau0 = lep0->masterClone(); - const CandidateBaseRef& dau1 = lep1->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::Muon& mu1 = dynamic_cast(*dau1); - - double zmass = zMuSaCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { - GenParticleRef zMuSaMatch = (*zMuSaMatchMap)[zMuSaCandRef]; - if (zMuSaMatch.isNonnull()) { // ZMuSa matched - cout << " Zmusa cuts && matched" << endl; - FSR_mu0 = false; - FSR_mu1 = false; - zmscounter++; - //Isodeposit - const pat::IsoDeposit* mu0TrackIso = mu0.isoDeposit(pat::TrackIso); - const pat::IsoDeposit* mu1TrackIso = mu1.isoDeposit(pat::TrackIso); - Direction mu0Dir = Direction(mu0.eta(), mu0.phi()); - Direction mu1Dir = Direction(mu1.eta(), mu1.phi()); - - reco::IsoDeposit::AbsVetos vetos_mu0; - vetos_mu0.push_back(new ConeVeto(mu0Dir, dRVeto_)); - vetos_mu0.push_back(new ThresholdVeto(ptThreshold_)); - - reco::IsoDeposit::AbsVetos vetos_mu1; - vetos_mu1.push_back(new ConeVeto(mu1Dir, dRVeto_)); - vetos_mu1.push_back(new ThresholdVeto(ptThreshold_)); - - double Tracker_isovalue_mu0 = mu0TrackIso->sumWithin(dRTrk_, vetos_mu0); - double Tracker_isovalue_mu1 = mu1TrackIso->sumWithin(dRTrk_, vetos_mu1); - - // HLT match (check just dau0 the global) - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = mu0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = mu1.triggerObjectMatchesByPath("HLT_Mu9"); - trig0found = false; - trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genLepton(); - const Candidate* motherMu0 = muMc0->mother(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - cout << " muone0" << endl; - cout << " num di daughters = " << num_dau_muon0 << endl; - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - cout << " dauther[" << j << "] pdgId = " << id << endl; - if (id == 22) - FSR_mu0 = true; - } - } //end check of gamma - - cout << " muone1" << endl; - cout << " num di daughters = " << num_dau_muon1 << endl; - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - cout << " dauther[" << j << "] pdgId = " << id << endl; - if (id == 22) - FSR_mu1 = true; - } - } //end check of gamma - if (FSR_mu0 || FSR_mu1) - h_zMuSamass_FSR->Fill(zmass); - else - h_zMuSamass_no_FSR->Fill(zmass); - if (lep0->isGlobalMuon() && trig0found) { - if (FSR_mu1) { - h_staProbe_eta_FSR->Fill(eta1); - h_staProbe_pt_FSR->Fill(pt1); - h_staProbe_pt_eta_FSR_->Fill(pt1, eta1); - - } else { - h_staProbe_eta_no_FSR->Fill(eta1); - h_staProbe_pt_no_FSR->Fill(pt1); - h_staProbe_pt_eta_no_FSR_->Fill(pt1, eta1); - } - if (FSR_mu1) { - h_Iso_FSR_->Fill(Tracker_isovalue_mu1); - h_Iso_FSR_3D_->Fill(pt1, eta1, Tracker_isovalue_mu1); - } else { - h_Iso_->Fill(Tracker_isovalue_mu1); - h_Iso_3D_->Fill(pt1, eta1, Tracker_isovalue_mu1); - } - } - if (lep1->isGlobalMuon() && trig1found) { - if (FSR_mu0) { - h_staProbe_eta_FSR->Fill(eta0); - h_staProbe_pt_FSR->Fill(pt0); - h_staProbe_pt_eta_FSR_->Fill(pt0, eta0); - - } else { - h_staProbe_eta_no_FSR->Fill(eta0); - h_staProbe_pt_no_FSR->Fill(pt0); - h_staProbe_pt_eta_FSR_->Fill(pt0, eta0); - } - if (FSR_mu0) { - h_Iso_FSR_->Fill(Tracker_isovalue_mu0); - h_Iso_FSR_3D_->Fill(pt0, eta0, Tracker_isovalue_mu0); - } else { - h_Iso_->Fill(Tracker_isovalue_mu0); - h_Iso_3D_->Fill(pt0, eta0, Tracker_isovalue_mu0); - } - } - } // end MC match - } //end of cuts - } // end loop on ZMuSa cand - } // end if ZMuSa size > 0 - - //ZMuTk - if (!zMuTk->empty()) { - event.getByToken(zMuTkMatchMapToken_, zMuTkMatchMap); - for (unsigned int i = 0; i < zMuTk->size(); ++i) { //loop on candidates - const Candidate& zMuTkCand = (*zMuTk)[i]; //the candidate - CandidateBaseRef zMuTkCandRef = zMuTk->refAt(i); - CandidateBaseRef dau0 = zMuTkCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuTkCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::GenericParticle& mu1 = dynamic_cast(*dau1); - - double zmass = zMuTkCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { //kinematical cuts - GenParticleRef zMuTkMatch = (*zMuTkMatchMap)[zMuTkCandRef]; - if (zMuTkMatch.isNonnull()) { // ZMuTk matched - FSR_mu = false; - FSR_tk = false; - cout << " ZmuTk cuts && matched" << endl; - zmtcounter++; - //Isodeposit - const pat::IsoDeposit* muTrackIso = mu0.isoDeposit(pat::TrackIso); - const pat::IsoDeposit* tkTrackIso = mu1.isoDeposit(pat::TrackIso); - Direction muDir = Direction(mu0.eta(), mu0.phi()); - Direction tkDir = Direction(mu1.eta(), mu1.phi()); - - IsoDeposit::AbsVetos vetos_mu; - vetos_mu.push_back(new ConeVeto(muDir, dRVeto_)); - vetos_mu.push_back(new ThresholdVeto(ptThreshold_)); - - reco::IsoDeposit::AbsVetos vetos_tk; - vetos_tk.push_back(new ConeVeto(tkDir, dRVeto_)); - vetos_tk.push_back(new ThresholdVeto(ptThreshold_)); - - double Tracker_isovalue_mu = muTrackIso->sumWithin(dRTrk_, vetos_mu); - double Tracker_isovalue_tk = tkTrackIso->sumWithin(dRTrk_, vetos_tk); - - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genParticle(); - const Candidate* motherMu0 = muMc0->mother(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - cout << "numero di figli muone0 = " << num_dau_muon0 << endl; - cout << "numero di figli muone1 = " << num_dau_muon1 << endl; - - cout << " muon" << endl; - cout << " num di daughters = " << num_dau_muon0 << endl; - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - cout << " dau[" << j << "] pdg ID = " << id << endl; - if (id == 22) { - FSR_mu = true; - } - } - } //end check of gamma - else - cout << " dau[0] pdg ID = " << motherMu0->daughter(0)->pdgId() << endl; - cout << " traccia" << endl; - cout << " num di daughters = " << num_dau_muon1 << endl; - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - cout << " dau[" << j << "] pdg ID = " << id << endl; - if (id == 22) { - FSR_tk = true; - } - } - } //end check of gamma - else - cout << " dau[0] pdg ID = " << motherMu1->daughter(0)->pdgId() << endl; - cout << "Mu Isolation = " << Tracker_isovalue_mu << endl; - cout << "Track Isolation = " << Tracker_isovalue_tk << endl; - if (FSR_mu) { - h_Iso_FSR_->Fill(Tracker_isovalue_mu); - h_Iso_FSR_3D_->Fill(pt0, eta0, Tracker_isovalue_mu); - } else { - h_Iso_->Fill(Tracker_isovalue_mu); - h_Iso_3D_->Fill(pt0, eta0, Tracker_isovalue_mu); - } - if (FSR_tk) { - h_Iso_FSR_->Fill(Tracker_isovalue_tk); - h_Iso_FSR_3D_->Fill(pt1, eta1, Tracker_isovalue_tk); - h_trackProbe_eta_FSR->Fill(eta1); - h_trackProbe_pt_FSR->Fill(pt1); - } else { - h_Iso_->Fill(Tracker_isovalue_tk); - h_Iso_3D_->Fill(pt1, eta1, Tracker_isovalue_tk); - h_trackProbe_eta_no_FSR->Fill(eta1); - h_trackProbe_pt_no_FSR->Fill(pt1); - } - } // end MC match - } //end Kine-cuts - } // end loop on ZMuTk cand - } // end if ZMuTk size > 0 -} // end analyze - -void ZMuMu_Radiative_analyzer::endJob() { - cout << " ============= Summary ==========" << endl; - cout << " Numero di eventi " << evntcounter << endl; - cout << " 1)Numero di ZMuMu matched dopo i tagli cinematici = " << zmmcounter << endl; - cout << " 2)Numero di ZMuSa matched dopo i tagli cinematici = " << zmscounter << endl; - cout << " 3)Numero di ZMuTk matched dopo i tagli cinematici = " << zmtcounter << endl; - double n1 = h_Iso_FSR_->Integral(); - double icut1 = h_Iso_FSR_->Integral(0, 15); - double eff_iso_FSR = (double)icut1 / (double)n1; - double err_iso_FSR = sqrt(eff_iso_FSR * (1 - eff_iso_FSR) / n1); - double n2 = h_Iso_->Integral(); - double icut2 = h_Iso_->Integral(0, 15); - double eff_iso = (double)icut2 / (double)n2; - double err_iso = sqrt(eff_iso * (1 - eff_iso) / n2); - cout << " ============= Isolation Efficiecy ==========" << endl; - cout << "Isolation Efficiency = " << eff_iso << " +/- " << err_iso << endl; - cout << "Isolation Efficiency with FSR = " << eff_iso_FSR << " +/- " << err_iso_FSR << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMu_Radiative_analyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_vtxAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_vtxAnalyzer.cc deleted file mode 100644 index 57a5ed0704798..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuMu_vtxAnalyzer.cc +++ /dev/null @@ -1,638 +0,0 @@ -/* \class ZMuMu_vtxAnalyzer - * - * author: Davide Piccolo - * - * ZMuMu Vtx analyzer: - * check muon vtx distributions, - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include - -using namespace std; -using namespace reco; -using namespace edm; - -typedef edm::ValueMap IsolationCollection; - -class ZMuMu_vtxAnalyzer : public edm::EDAnalyzer { -public: - ZMuMu_vtxAnalyzer(const edm::ParameterSet &pset); - -private: - void analyze(const edm::Event &event, const edm::EventSetup &setup) override; - bool check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePt(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticleEta(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - float getParticlePhi(const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2); - Particle::LorentzVector getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2); - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuStandAloneToken_; - EDGetTokenT zMuStandAloneMatchMapToken_; - EDGetTokenT zMuTrackToken_; - EDGetTokenT zMuTrackMatchMapToken_; - EDGetTokenT muonsToken_; - EDGetTokenT tracksToken_; - EDGetTokenT genParticlesToken_; - EDGetTokenT primaryVerticesToken_; - - bool bothMuons_; - - double etamax_, ptmin_, massMin_, massMax_, isoMax_; - - reco::CandidateBaseRef globalMuonCandRef_, trackMuonCandRef_, standAloneMuonCandRef_; - OverlapChecker overlap_; - - // general histograms - - // vertex studies - // ... zmumu No cuts - TH1D *h_muon_vz, *h_dimuon_vz, *h_muon_d0signed; - TH1D *h_muon_vz_respectToPV, *h_muon_d0signed_respectToPV; - // ... cynematic cuts zmumu - TH1D *h_zmumuSele_muon_vz, *h_zmumuSele_dimuon_vz, *h_zmumuSele_muon_d0signed; - TH1D *h_zmumuSele_muon_vz_respectToPV, *h_zmumuSele_muon_d0signed_respectToPV; - // ... cynematic cuts zmumuNotIso - TH1D *h_zmumuNotIsoSele_dimuon_vz; - TH1D *h_zmumuNotIsoSele_muonIso_vz, *h_zmumuNotIsoSele_muonIso_d0signed; - TH1D *h_zmumuNotIsoSele_muonIso_vz_respectToPV, *h_zmumuNotIsoSele_muonIso_d0signed_respectToPV; - TH1D *h_zmumuNotIsoSele_muonNotIso_vz, *h_zmumuNotIsoSele_muonNotIso_d0signed; - TH1D *h_zmumuNotIsoSele_muonNotIso_vz_respectToPV, *h_zmumuNotIsoSele_muonNotIso_d0signed_respectToPV; - // ... cynematic cuts zmutrack - TH1D *h_zmutrackSele_muon_vz, *h_zmutrackSele_muon_d0signed; - TH1D *h_zmutrackSele_muon_vz_respectToPV, *h_zmutrackSele_muon_d0signed_respectToPV; - TH1D *h_zmutrackSele_track_vz, *h_zmutrackSele_track_d0signed; - TH1D *h_zmutrackSele_track_vz_respectToPV, *h_zmutrackSele_track_d0signed_respectToPV; - // ... cynematic cuts zmusta - TH1D *h_zmustaSele_muon_vz, *h_zmustaSele_muon_d0signed; - TH1D *h_zmustaSele_muon_vz_respectToPV, *h_zmustaSele_muon_d0signed_respectToPV; - TH1D *h_zmustaSele_sta_vz, *h_zmustaSele_sta_d0signed; - TH1D *h_zmustaSele_sta_vz_respectToPV, *h_zmustaSele_sta_d0signed_respectToPV; - - // global counters -}; - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include -#include -#include - -ZMuMu_vtxAnalyzer::ZMuMu_vtxAnalyzer(const ParameterSet &pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuStandAloneToken_(consumes(pset.getParameter("zMuStandAlone"))), - zMuStandAloneMatchMapToken_(mayConsume(pset.getParameter("zMuStandAloneMatchMap"))), - zMuTrackToken_(consumes(pset.getParameter("zMuTrack"))), - zMuTrackMatchMapToken_(mayConsume(pset.getParameter("zMuTrackMatchMap"))), - muonsToken_(consumes(pset.getParameter("muons"))), - tracksToken_(consumes(pset.getParameter("tracks"))), - genParticlesToken_(consumes(pset.getParameter("genParticles"))), - primaryVerticesToken_(consumes(pset.getParameter("primaryVertices"))), - - bothMuons_(pset.getParameter("bothMuons")), - - etamax_(pset.getUntrackedParameter("etamax")), - ptmin_(pset.getUntrackedParameter("ptmin")), - massMin_(pset.getUntrackedParameter("zMassMin")), - massMax_(pset.getUntrackedParameter("zMassMax")), - isoMax_(pset.getUntrackedParameter("isomax")) { - Service fs; - - // general histograms - - // vertex histograms - // ... zmumu no Cuts - h_muon_vz = fs->make("muonVz", "z vertex of muons", 50, -20., 20.); - h_muon_d0signed = fs->make("muonD0signed", "d0 vertex of muons", 50, -.1, .1); - h_dimuon_vz = fs->make("dimuonVz", "z vertex of dimuon", 50, -20., 20.); - h_muon_vz_respectToPV = - fs->make("muonVz_respectToPV", "z vertex of muons respect to PrimaryVertex", 50, -.05, .05); - h_muon_d0signed_respectToPV = - fs->make("muonD0signed_respectToPV", "d0 vertex of muons respect to PrimaryVertex", 50, -.05, .05); - // ... zmumu cynematic Cuts - h_zmumuSele_muon_vz = fs->make("zmumuSele_muonVz", "z vertex of muons (zmumu sele)", 50, -20., 20.); - h_zmumuSele_muon_d0signed = fs->make("zmumuSele_muonD0signed", "d0 vertex of muons (zmumu sele)", 50, -.1, .1); - h_zmumuSele_dimuon_vz = fs->make("zmumuSele_dimuonVz", "z vertex of dimuon (zmumu sele)", 50, -20., 20.); - h_zmumuSele_muon_vz_respectToPV = fs->make( - "zmumuSele_muonVz_respectToPV", "z vertex of muons respect to PrimaryVertex (zmumu sele)", 50, -.05, .05); - h_zmumuSele_muon_d0signed_respectToPV = fs->make( - "zmumuSele_muonD0signed_respectToPV", "d0 vertex of muons respect to PrimaryVertex (zmumu sele)", 50, -.05, .05); - // ... zmumuNotIso cynematic Cuts - h_zmumuNotIsoSele_dimuon_vz = - fs->make("zmumuNotIsoSele_dimuonVz", "z vertex of dimuon (zmumuNotIso sele)", 50, -20., 20.); - h_zmumuNotIsoSele_muonIso_vz = - fs->make("zmumuNotIsoSele_muonIsoVz", "z vertex of muons (zmumuNotIso sele muon Iso)", 50, -20., 20.); - h_zmumuNotIsoSele_muonIso_d0signed = - fs->make("zmumuNotIsoSele_muonIsoD0signed", "d0 vertex of muons (zmumuNotIso sele muon Iso)", 50, -.1, .1); - h_zmumuNotIsoSele_muonIso_vz_respectToPV = - fs->make("zmumuNotIsoSele_muonIsoVz_respectToPV", - "z vertex of muons respect to PrimaryVertex (zmumuNotIso sele muon Iso)", - 50, - -.05, - .05); - h_zmumuNotIsoSele_muonIso_d0signed_respectToPV = - fs->make("zmumuNotIsoSele_muonIsoD0signed_respectToPV", - "d0 vertex of muons respect to PrimaryVertex (zmumuNotIso sele muon Iso)", - 50, - -.05, - .05); - h_zmumuNotIsoSele_muonNotIso_vz = fs->make( - "zmumuNotIsoSele_muonNotIsoVz", "z vertex of muons (zmumuNotIso sele muon Not Iso)", 50, -20., 20.); - h_zmumuNotIsoSele_muonNotIso_d0signed = fs->make( - "zmumuNotIsoSele_muonNotIsoD0signed", "d0 vertex of muons (zmumuNotIso sele muon Not Iso)", 50, -.1, .1); - h_zmumuNotIsoSele_muonNotIso_vz_respectToPV = - fs->make("zmumuNotIsoSele_muonNotIsoVz_respectToPV", - "z vertex of muons respect to PrimaryVertex (zmumuNotIso sele muon Not Iso)", - 50, - -.05, - .05); - h_zmumuNotIsoSele_muonNotIso_d0signed_respectToPV = - fs->make("zmumuNotIsoSele_muonNotIsoD0signed_respectToPV", - "d0 vertex of muons respect to PrimaryVertex (zmumuNotIso sele muon Not Iso)", - 50, - -.05, - .05); - // ... zmutrack cynematic Cuts - h_zmutrackSele_muon_vz = fs->make("zmutrackSele_muonVz", "z vertex of muon (zmutrack sele)", 50, -20., 20.); - h_zmutrackSele_muon_d0signed = - fs->make("zmutrackSele_muonD0signed", "d0 vertex of muon (zmutrack sele)", 50, -.1, .1); - h_zmutrackSele_muon_vz_respectToPV = fs->make( - "zmutrackSele_muonVz_respectToPV", "z vertex of muon respect to PV (zmutrack sele)", 50, -.05, .05); - h_zmutrackSele_muon_d0signed_respectToPV = fs->make( - "zmutrackSele_muonD0signed_respectToPV", "d0 vertex of muon respect to PV (zmutrack sele)", 50, -.1, .1); - h_zmutrackSele_track_vz = fs->make("zmutrackSele_trackVz", "z vertex of track (zmutrack sele)", 50, -20., 20.); - h_zmutrackSele_track_d0signed = - fs->make("zmutrackSele_trackD0signed", "d0 vertex of track (zmutrack sele)", 50, -.1, .1); - h_zmutrackSele_track_vz_respectToPV = fs->make( - "zmutrackSele_trackVz_respectToPV", "z vertex of track respect to PV (zmutrack sele)", 50, -.05, .05); - h_zmutrackSele_track_d0signed_respectToPV = fs->make( - "zmutrackSele_trackD0signed_respectToPV", "d0 vertex of track respect to PV (zmutrack sele)", 50, -.1, .1); - // ... zmusta cynematic Cuts - h_zmustaSele_muon_vz = fs->make("zmustaSele_muonVz", "z vertex of muon (zmusta sele)", 50, -20., 20.); - h_zmustaSele_muon_d0signed = - fs->make("zmustaSele_muonD0signed", "d0 vertex of muon (zmusta sele)", 50, -.1, .1); - h_zmustaSele_muon_vz_respectToPV = - fs->make("zmustaSele_muonVz_respectToPV", "z vertex of muon respect to PV (zmusta sele)", 50, -.05, .05); - h_zmustaSele_muon_d0signed_respectToPV = fs->make( - "zmustaSele_muonD0signed_respectToPV", "d0 vertex of muon respect to PV (zmusta sele)", 50, -.1, .1); - h_zmustaSele_sta_vz = fs->make("zmustaSele_staVz", "z vertex of sta (zmusta sele)", 50, -20., 20.); - h_zmustaSele_sta_d0signed = fs->make("zmustaSele_staD0signed", "d0 vertex of sta (zmusta sele)", 50, -.1, .1); - h_zmustaSele_sta_vz_respectToPV = - fs->make("zmustaSele_staVz_respectToPV", "z vertex of sta respect to PV (zmusta sele)", 50, -.05, .05); - h_zmustaSele_sta_d0signed_respectToPV = - fs->make("zmustaSele_staD0signed_respectToPV", "d0 vertex of sta respect to PV (zmusta sele)", 50, -.1, .1); -} - -void ZMuMu_vtxAnalyzer::analyze(const Event &event, const EventSetup &setup) { - Handle zMuMu; - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global - Handle zMuStandAlone; - Handle zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone - Handle zMuTrack; - Handle zMuTrackMatchMap; //Map of Z made by Mu + Track - Handle muons; //Collection of Muons - Handle tracks; //Collection of Tracks - - Handle genParticles; // Collection of Generatd Particles - Handle primaryVertices; // Collection of primary Vertices - - event.getByToken(zMuMuToken_, zMuMu); - event.getByToken(zMuStandAloneToken_, zMuStandAlone); - event.getByToken(zMuTrackToken_, zMuTrack); - event.getByToken(genParticlesToken_, genParticles); - event.getByToken(primaryVerticesToken_, primaryVertices); - event.getByToken(muonsToken_, muons); - event.getByToken(tracksToken_, tracks); - - /* - cout << "********* zMuMu size : " << zMuMu->size() << endl; - cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl; - cout << "********* zMuTrack size : " << zMuTrack->size() << endl; - cout << "********* muons size : " << muons->size() << endl; - cout << "********* tracks size : " << tracks->size() << endl; - cout << "********* vertices size : " << primaryVertices->size() << endl; - */ - - // std::cout<<"Run-> "< "<empty()) { - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - const Candidate &zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - - const Candidate *lep0 = zMuMuCand.daughter(0); - const Candidate *lep1 = zMuMuCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::Muon &muonDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = muonDau1.trackIso(); - - // vertex - h_muon_vz->Fill(muonDau0.vz()); - h_muon_vz->Fill(muonDau1.vz()); - h_dimuon_vz->Fill((muonDau0.vz() + muonDau1.vz()) / 2.); - - TrackRef mu0TrkRef = muonDau0.track(); - float d0signed_mu0 = (*mu0TrkRef).dxy(); - float d0signed_mu0_respectToPV = (*mu0TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu0_respectToPV = (*mu0TrkRef).dz(primaryVertices->begin()->position()); - - TrackRef mu1TrkRef = muonDau1.track(); - float d0signed_mu1 = (*mu1TrkRef).dxy(); - float d0signed_mu1_respectToPV = (*mu1TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu1_respectToPV = (*mu1TrkRef).dz(primaryVertices->begin()->position()); - h_muon_d0signed->Fill(d0signed_mu0); - h_muon_d0signed->Fill(d0signed_mu1); - h_muon_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV); - h_muon_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV); - h_muon_vz_respectToPV->Fill(vz_mu0_respectToPV); - h_muon_vz_respectToPV->Fill(vz_mu1_respectToPV); - - // eta , pt distributions - double pt0 = zMuMuCand.daughter(0)->pt(); - double pt1 = zMuMuCand.daughter(1)->pt(); - double eta0 = zMuMuCand.daughter(0)->eta(); - double eta1 = zMuMuCand.daughter(1)->eta(); - double mass = zMuMuCand.mass(); - - // HLT match - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = muonDau1.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - bool trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - // cynematical selection - if ((trig0found || trig1found) && pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && abs(eta1) < etamax_ && - mass > massMin_) { - if (trkiso0 < isoMax_ && trkiso1 < isoMax_) { // zmumu both isolated - h_zmumuSele_muon_vz->Fill(muonDau0.vz()); - h_zmumuSele_muon_vz->Fill(muonDau1.vz()); - h_zmumuSele_dimuon_vz->Fill((muonDau0.vz() + muonDau1.vz()) / 2.); - h_zmumuSele_muon_d0signed->Fill(d0signed_mu0); - h_zmumuSele_muon_d0signed->Fill(d0signed_mu1); - h_zmumuSele_muon_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV); - h_zmumuSele_muon_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV); - h_zmumuSele_muon_vz_respectToPV->Fill(vz_mu0_respectToPV); - h_zmumuSele_muon_vz_respectToPV->Fill(vz_mu1_respectToPV); - } - if (trkiso0 >= isoMax_ && trkiso1 < isoMax_) { // zmumu just muon1 isolated - h_zmumuNotIsoSele_muonNotIso_vz->Fill(muonDau0.vz()); - h_zmumuNotIsoSele_muonIso_vz->Fill(muonDau1.vz()); - h_zmumuNotIsoSele_dimuon_vz->Fill((muonDau0.vz() + muonDau1.vz()) / 2.); - h_zmumuNotIsoSele_muonNotIso_d0signed->Fill(d0signed_mu0); - h_zmumuNotIsoSele_muonIso_d0signed->Fill(d0signed_mu1); - h_zmumuNotIsoSele_muonNotIso_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV); - h_zmumuNotIsoSele_muonIso_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV); - h_zmumuNotIsoSele_muonNotIso_vz_respectToPV->Fill(vz_mu0_respectToPV); - h_zmumuNotIsoSele_muonIso_vz_respectToPV->Fill(vz_mu1_respectToPV); - } - if (trkiso0 < isoMax_ && trkiso1 >= isoMax_) { // zmumu just muon0 isolated - h_zmumuNotIsoSele_muonNotIso_vz->Fill(muonDau1.vz()); - h_zmumuNotIsoSele_muonIso_vz->Fill(muonDau0.vz()); - h_zmumuNotIsoSele_dimuon_vz->Fill((muonDau1.vz() + muonDau1.vz()) / 2.); - h_zmumuNotIsoSele_muonNotIso_d0signed->Fill(d0signed_mu1); - h_zmumuNotIsoSele_muonIso_d0signed->Fill(d0signed_mu0); - h_zmumuNotIsoSele_muonNotIso_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV); - h_zmumuNotIsoSele_muonIso_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV); - h_zmumuNotIsoSele_muonNotIso_vz_respectToPV->Fill(vz_mu1_respectToPV); - h_zmumuNotIsoSele_muonIso_vz_respectToPV->Fill(vz_mu0_respectToPV); - } - } - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // loop on ZMuSta - bool zMuSta_found = false; - if (!zMuMu_found && !zMuStandAlone->empty()) { - event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap); - for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates - const Candidate &zMuStandAloneCand = (*zMuStandAlone)[i]; //the candidate - CandidateBaseRef zMuStandAloneCandRef = zMuStandAlone->refAt(i); - GenParticleRef zMuStandAloneMatch = (*zMuStandAloneMatchMap)[zMuStandAloneCandRef]; - - const Candidate *lep0 = zMuStandAloneCand.daughter(0); - const Candidate *lep1 = zMuStandAloneCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::Muon &muonDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = muonDau1.trackIso(); - - // vertex - - TrackRef mu0TrkRef = muonDau0.track(); - float d0signed_mu0 = (*mu0TrkRef).dxy(); - float d0signed_mu0_respectToPV = (*mu0TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu0_respectToPV = (*mu0TrkRef).dz(primaryVertices->begin()->position()); - - TrackRef mu1TrkRef = muonDau1.track(); - float d0signed_mu1 = (*mu1TrkRef).dxy(); - float d0signed_mu1_respectToPV = (*mu1TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu1_respectToPV = (*mu1TrkRef).dz(primaryVertices->begin()->position()); - - double pt0 = zMuStandAloneCand.daughter(0)->pt(); - double pt1 = zMuStandAloneCand.daughter(1)->pt(); - double eta0 = zMuStandAloneCand.daughter(0)->eta(); - double eta1 = zMuStandAloneCand.daughter(1)->eta(); - double mass = zMuStandAloneCand.mass(); - - // HLT match - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = muonDau1.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - bool trig1found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - if (!mu1HLTMatches.empty()) - trig1found = true; - - // check the global muon ... trigger is required just on global muon - bool trigfound = false; - if (muonDau0.isGlobalMuon()) - trigfound = trig0found; - if (muonDau1.isGlobalMuon()) - trigfound = trig1found; - - // cynematical selection - if (trigfound && pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && abs(eta1) < etamax_ && mass > massMin_ && - trkiso0 < isoMax_ && trkiso1 < isoMax_) { - zMuSta_found = true; - h_zmustaSele_muon_vz->Fill(muonDau0.vz(), 1.); // muon vz - h_zmustaSele_sta_vz->Fill(muonDau1.vz(), 1.); // sta vz - h_zmustaSele_muon_d0signed->Fill(d0signed_mu0, 1.); // muon d0 - h_zmustaSele_sta_d0signed->Fill(d0signed_mu1, 1.); // sta d0 - h_zmustaSele_muon_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV, 1.); // muon d0 respect PV - h_zmustaSele_sta_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV, 1.); // sta d0 respect PV - h_zmustaSele_muon_vz_respectToPV->Fill(vz_mu0_respectToPV, 1.); // muon vz respect PV - h_zmustaSele_sta_vz_respectToPV->Fill(vz_mu1_respectToPV, 1.); // sta vz respect PV - } - - } // end loop on ZMuStandAlone cand - } // end if ZMuStandAlone size > 0 - - // loop on ZMuTrack - if (!zMuMu_found && !zMuSta_found && !zMuTrack->empty()) { - event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap); - for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates - const Candidate &zMuTrackCand = (*zMuTrack)[i]; //the candidate - CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i); - const Candidate *lep0 = zMuTrackCand.daughter(0); - const Candidate *lep1 = zMuTrackCand.daughter(1); - const pat::Muon &muonDau0 = dynamic_cast(*lep0->masterClone()); - double trkiso0 = muonDau0.trackIso(); - const pat::GenericParticle &trackDau1 = dynamic_cast(*lep1->masterClone()); - double trkiso1 = trackDau1.trackIso(); - - // vertex - - TrackRef mu0TrkRef = muonDau0.track(); - float d0signed_mu0 = (*mu0TrkRef).dxy(); - float d0signed_mu0_respectToPV = (*mu0TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu0_respectToPV = (*mu0TrkRef).dz(primaryVertices->begin()->position()); - - TrackRef mu1TrkRef = trackDau1.track(); - float d0signed_mu1 = (*mu1TrkRef).dxy(); - float d0signed_mu1_respectToPV = (*mu1TrkRef).dxy(primaryVertices->begin()->position()); - float vz_mu1_respectToPV = (*mu1TrkRef).dz(primaryVertices->begin()->position()); - - // cynematical parameters - - double pt0 = zMuTrackCand.daughter(0)->pt(); - double pt1 = zMuTrackCand.daughter(1)->pt(); - double eta0 = zMuTrackCand.daughter(0)->eta(); - double eta1 = zMuTrackCand.daughter(1)->eta(); - double mass = zMuTrackCand.mass(); - - // HLT match (check just dau0 the global) - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = muonDau0.triggerObjectMatchesByPath("HLT_Mu9"); - - bool trig0found = false; - if (!mu0HLTMatches.empty()) - trig0found = true; - - // cynematical selection - if (trig0found && pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) < etamax_ && abs(eta1) < etamax_ && mass > massMin_ && - trkiso0 < isoMax_ && trkiso1 < isoMax_) { - h_zmutrackSele_muon_vz->Fill(muonDau0.vz(), 1.); // muon vz - h_zmutrackSele_track_vz->Fill(trackDau1.vz(), 1.); // track vz - h_zmutrackSele_muon_d0signed->Fill(d0signed_mu0, 1.); // muon d0 - h_zmutrackSele_track_d0signed->Fill(d0signed_mu1, 1.); // track d0 - h_zmutrackSele_muon_d0signed_respectToPV->Fill(d0signed_mu0_respectToPV, 1.); // muon d0 respect PV - h_zmutrackSele_track_d0signed_respectToPV->Fill(d0signed_mu1_respectToPV, 1.); // track d0 respect PV - h_zmutrackSele_muon_vz_respectToPV->Fill(vz_mu0_respectToPV, 1.); // muon vz respect PV - h_zmutrackSele_track_vz_respectToPV->Fill(vz_mu1_respectToPV, 1.); // track vz respect PV - } - - } // end loop on ZMuTrack cand - } // end if ZMuTrack size > 0 - -} // end analyze - -bool ZMuMu_vtxAnalyzer::check_ifZmumu(const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - bool muplusFound = false; - bool muminusFound = false; - bool ZFound = false; - if (partId0 == 13 || partId1 == 13 || partId2 == 13) - muminusFound = true; - if (partId0 == -13 || partId1 == -13 || partId2 == -13) - muplusFound = true; - if (partId0 == 23 || partId1 == 23 || partId2 == 23) - ZFound = true; - return (muplusFound && muminusFound && ZFound); -} - -float ZMuMu_vtxAnalyzer::getParticlePt(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float ptpart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - ptpart = dauMuGen->pt(); - } - } - } - return ptpart; -} - -float ZMuMu_vtxAnalyzer::getParticleEta(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float etapart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - etapart = dauMuGen->eta(); - } - } - } - return etapart; -} - -float ZMuMu_vtxAnalyzer::getParticlePhi(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - float phipart = 0.; - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - phipart = dauMuGen->phi(); - } - } - } - return phipart; -} - -Particle::LorentzVector ZMuMu_vtxAnalyzer::getParticleP4(const int ipart, - const Candidate *dauGen0, - const Candidate *dauGen1, - const Candidate *dauGen2) { - int partId0 = dauGen0->pdgId(); - int partId1 = dauGen1->pdgId(); - int partId2 = dauGen2->pdgId(); - Particle::LorentzVector p4part(0., 0., 0., 0.); - if (partId0 == ipart) { - for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen0->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId1 == ipart) { - for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen1->daughter(k); - if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - if (partId2 == ipart) { - for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) { - const Candidate *dauMuGen = dauGen2->daughter(k); - if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) { - p4part = dauMuGen->p4(); - } - } - } - return p4part; -} - -void ZMuMu_vtxAnalyzer::endJob() {} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuMu_vtxAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuPtScaleAnalyzer.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZMuPtScaleAnalyzer.cc deleted file mode 100644 index 615a3c81d1934..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZMuPtScaleAnalyzer.cc +++ /dev/null @@ -1,276 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include "TH1.h" -#include "TRandom3.h" - -class ZMuPtScaleAnalyzer : public edm::EDAnalyzer { -public: - ZMuPtScaleAnalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - edm::EDGetTokenT genToken_; - unsigned int nbinsMass_, nbinsPt_, nbinsAng_; - double massMax_, ptMax_, angMax_; - double accPtMin_, accMassMin_, accMassMax_, accMassMinDen_, accMassMaxDen_, accEtaMin_, accEtaMax_, ptScale_; - TH1F *h_nZ_, *h_mZ_, *h_ptZ_, *h_phiZ_, *h_thetaZ_, *h_etaZ_, *h_rapidityZ_; - TH1F *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *hardpt, *softpt, *hardeta, *softeta; - unsigned int nAcc_, nAccPtScaleP_, nAccPtScaleN_, nAccPtScaleSmearedFlat_, nAccPtScaleSmearedGaus_, - nBothMuHasZHasGrandMa_; - int muPdgStatus_; -}; - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include "HepMC/WeightContainer.h" -#include "HepMC/GenEvent.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -ZMuPtScaleAnalyzer::ZMuPtScaleAnalyzer(const ParameterSet& pset) - : genToken_(consumes(pset.getParameter("genParticles"))), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - accPtMin_(pset.getUntrackedParameter("accPtMin")), - accMassMin_(pset.getUntrackedParameter("accMassMin")), - accMassMax_(pset.getUntrackedParameter("accMassMax")), - accMassMinDen_(pset.getUntrackedParameter("accMassMinDen")), - accMassMaxDen_(pset.getUntrackedParameter("accMassMaxDen")), - accEtaMin_(pset.getUntrackedParameter("accEtaMin")), - accEtaMax_(pset.getUntrackedParameter("accEtaMax")), - ptScale_(pset.getUntrackedParameter("ptScale")), - muPdgStatus_(pset.getUntrackedParameter("muPdgStatus")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - hardpt = ZMCHisto.make("hardpt", "hard muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - softpt = ZMCHisto.make("softpt", "soft muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC y", nbinsAng_, -angMax_, angMax_); - - hardeta = ZMCHisto.make("hard muon eta", "hard muon #eta", nbinsAng_, -angMax_, angMax_); - softeta = ZMCHisto.make("soft muon eta", "soft muon #eta", nbinsAng_, -angMax_, angMax_); - nAcc_ = 0; - nAccPtScaleP_ = 0; - nAccPtScaleN_ = 0; - nAccPtScaleSmearedFlat_ = 0; - nAccPtScaleSmearedGaus_ = 0; - nBothMuHasZHasGrandMa_ = 0; -} - -void ZMuPtScaleAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - cout << ">>> Z HistogrammerZLONLOHistogrammer.cc analyze" << endl; - - Handle gen; - Handle weights; - - event.getByToken(genToken_, gen); - - // get weight and fill it to histogram - - std::vector muons; - - double mZGen = -100; - - for (unsigned int i = 0; i < gen->size(); ++i) { - const GenParticle& muMC = (*gen)[i]; - // filliScaledPng only muons coming form Z - if (abs(muMC.pdgId()) == 13 && muMC.status() == muPdgStatus_ && muMC.numberOfMothers() > 0) { - cout << "I'm getting a muon \n" - << "with " - << "muMC.numberOfMothers() " << muMC.numberOfMothers() << "\n the first mother has pdgId " - << muMC.mother()->pdgId() << "with " - << "muMC.mother()->numberOfMothers() " << muMC.mother()->numberOfMothers() - << "\n the first grandma has pdgId " << muMC.mother()->mother()->pdgId() << endl; - cout << "with muMC.eta() " << muMC.eta() << endl; - muons.push_back(muMC); - } - // introducing here the gen mass cut...................... - /* - if (muPdgStatus_ ==1) { - mZGen = muMC.mother()->mother()->mass(); - if (muMC.mother()->mother()->pdgId() ==23 && mZGen>accMassMinDen_ && mZGenmass(); - if (muMC.mother()->pdgId() ==23 && mZGen>accMassMinDen_ && mZGen 1) { - mZGen = zMC.mass(); - cout << "I'm selecting a Z MC with mass " << mZGen << endl; - if (mZGen > accMassMinDen_ && mZGen < accMassMaxDen_) - h_mZMC_->Fill(mZGen); - } - } - - cout << "finally I selected " << muons.size() << " muons" << endl; - - // if there are at least two muons, - // calculate invarant mass of first two and fill it into histogram - - double inv_mass = 0.0; - double Zpt_ = 0.0; - double Zeta_ = 0.0; - double Ztheta_ = 0.0; - double Zphi_ = 0.0; - double Zrapidity_ = 0.0; - - if (muons.size() > 1) { - if (muons[0].mother()->mother()->pdgId() == 23 && muons[1].mother()->mother()->pdgId() == 23) - nBothMuHasZHasGrandMa_++; - math::XYZTLorentzVector tot_momentum(muons[0].p4()); - math::XYZTLorentzVector mom2(muons[1].p4()); - tot_momentum += mom2; - inv_mass = sqrt(tot_momentum.mass2()); - Zpt_ = tot_momentum.pt(); - Zeta_ = tot_momentum.eta(); - Ztheta_ = tot_momentum.theta(); - Zphi_ = tot_momentum.phi(); - Zrapidity_ = tot_momentum.Rapidity(); - - double weight_sign = 1.; - - //h_mZMC_->Fill(inv_mass); - h_ptZMC_->Fill(Zpt_, weight_sign); - h_etaZMC_->Fill(Zeta_, weight_sign); - h_thetaZMC_->Fill(Ztheta_, weight_sign); - h_phiZMC_->Fill(Zphi_, weight_sign); - h_rapidityZMC_->Fill(Zrapidity_, weight_sign); - - double pt1 = muons[0].pt(); - double pt2 = muons[1].pt(); - double eta1 = muons[0].eta(); - double eta2 = muons[1].eta(); - - if (pt1 > pt2) { - hardpt->Fill(pt1, weight_sign); - softpt->Fill(pt2, weight_sign); - hardeta->Fill(eta1, weight_sign); - softeta->Fill(eta2, weight_sign); - } else { - hardpt->Fill(pt2, weight_sign); - softpt->Fill(pt1, weight_sign); - hardeta->Fill(eta2, weight_sign); - softeta->Fill(eta1, weight_sign); - } - - //evaluating the geometric acceptance - if (pt1 >= accPtMin_ && pt2 >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) - nAcc_++; - - cout << "pt1" << pt1 << endl; - - // scaling the muon pt - double pt1ScaledP = pt1 * (1. + ptScale_); - cout << "pt1 ScaledP of " << (1. + ptScale_) << endl; - cout << "pt1ScaledP" << pt1ScaledP << endl; - - double pt2ScaledP = pt2 * (1. + ptScale_); - - //evaluating the geometric acceptance - if (pt1ScaledP >= accPtMin_ && pt2ScaledP >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) - nAccPtScaleP_++; - - // scaling the muon pt - double pt1ScaledN = pt1 * (1. - ptScale_); - double pt2ScaledN = pt2 * (1. - ptScale_); - - //evaluating the geometric acceptance - if (pt1ScaledN >= accPtMin_ && pt2ScaledN >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) - nAccPtScaleN_++; - - // scaling the muon pt - TRandom3 f; - f.SetSeed(123456789); - double pt1SmearedFlat = pt1 * (1. + ptScale_ * f.Uniform()); - double pt2SmearedFlat = pt2 * (1. + ptScale_ * f.Uniform()); - - //evaluating the geometric acceptance - if (pt1SmearedFlat >= accPtMin_ && pt2SmearedFlat >= accPtMin_ && fabs(eta1) >= accEtaMin_ && - fabs(eta2) >= accEtaMin_ && fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && - inv_mass <= accMassMax_) - nAccPtScaleSmearedFlat_++; - - // scaling the muon pt - TRandom3 ff; - ff.SetSeed(123456789); - double pt1SmearedGaus = pt1 * (1. + ptScale_ * f.Gaus()); - double pt2SmearedGaus = pt2 * (1. + ptScale_ * f.Gaus()); - - //evaluating the geometric acceptance - if (pt1SmearedGaus >= accPtMin_ && pt2SmearedGaus >= accPtMin_ && fabs(eta1) >= accEtaMin_ && - fabs(eta2) >= accEtaMin_ && fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && - inv_mass <= accMassMax_) - nAccPtScaleSmearedGaus_++; - } -} - -void ZMuPtScaleAnalyzer::endJob() { - cout << " number of events accepted :" << nAcc_ << endl; - cout << " number of total events :" << h_mZMC_->GetEntries() << endl; - cout << " number of cases in which BothMuHasZHasGrandMa :" << nBothMuHasZHasGrandMa_ << endl; - cout << " number of events pt scaled positively accepted :" << nAccPtScaleP_ << endl; - - cout << " number of events pt scaled negatively accepted :" << nAccPtScaleN_ << endl; - - cout << " number of events pt scaled smeared flattely accepted :" << nAccPtScaleSmearedFlat_ << endl; - - cout << " number of events pt scaled smeared gaussianely accepted :" << nAccPtScaleSmearedGaus_ << endl; - - double eff = (double)nAcc_ / (double)h_mZMC_->GetEntries(); - double err = sqrt(eff * (1. - eff) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance: " << eff << "+/-" << err << endl; - - double effScaledP = (double)nAccPtScaleP_ / (double)h_mZMC_->GetEntries(); - double errScaledP = sqrt(effScaledP * (1. - effScaledP) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance when pt muon is positively scaled: " << effScaledP << "+/-" << errScaledP << endl; - - double effScaledN = (double)nAccPtScaleN_ / (double)h_mZMC_->GetEntries(); - double errScaledN = sqrt(effScaledN * (1. - effScaledN) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance when pt muon is negatively scaled: " << effScaledN << "+/-" << errScaledN << endl; - - double effSmearedFlat = (double)nAccPtScaleSmearedFlat_ / (double)h_mZMC_->GetEntries(); - double errSmearedFlat = sqrt(effSmearedFlat * (1. - effSmearedFlat) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance when pt muon is scaled with a flat smaering: " << effSmearedFlat << "+/-" - << errSmearedFlat << endl; - - double effSmearedGaus = (double)nAccPtScaleSmearedGaus_ / (double)h_mZMC_->GetEntries(); - double errSmearedGaus = sqrt(effSmearedGaus * (1. - effSmearedGaus) / (double)h_mZMC_->GetEntries()); - cout << " geometric acceptance when pt muon is scaled with a gaussian smearing: " << effSmearedGaus << "+/-" - << errSmearedGaus << endl; -} -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZMuPtScaleAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZToLLEdmNtupleDumper.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZToLLEdmNtupleDumper.cc deleted file mode 100644 index 00f88962db9db..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZToLLEdmNtupleDumper.cc +++ /dev/null @@ -1,724 +0,0 @@ -/* \class ZToLLEdmNtupleDumper - * - * \author Luca Lista, INFN - * - */ -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Provenance/interface/RunLumiEventNumber.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Candidate/interface/Candidate.h" -//#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" - -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" - -#include - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; -//using namespace pat; - -class ZToLLEdmNtupleDumper : public edm::EDProducer { -public: - typedef math::XYZVector Vector; - ZToLLEdmNtupleDumper(const edm::ParameterSet &); - -private: - void produce(edm::Event &, const edm::EventSetup &) override; - std::vector zName_; - std::vector > zTokens_; - std::vector > zGenParticlesMatchTokens_; - edm::EDGetTokenT beamSpotToken_; - edm::EDGetTokenT primaryVerticesToken_; - - std::vector ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_, alpha_, - beta_; - std::vector relativeIsolation_; - std::vector hltPath_; - int counter; -}; - -template -double isolation(const T *t, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta, - bool relativeIsolation) { - // on 34X: - const pat::IsoDeposit *trkIso = t->isoDeposit(pat::TrackIso); - // const pat::IsoDeposit * trkIso = t->trackerIsoDeposit(); - // on 34X - const pat::IsoDeposit *ecalIso = t->isoDeposit(pat::EcalIso); - // const pat::IsoDeposit * ecalIso = t->ecalIsoDeposit(); - // on 34X - const pat::IsoDeposit *hcalIso = t->isoDeposit(pat::HcalIso); - // const pat::IsoDeposit * hcalIso = t->hcalIsoDeposit(); - - Direction dir = Direction(t->eta(), t->phi()); - - pat::IsoDeposit::AbsVetos vetosTrk; - vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk)); - vetosTrk.push_back(new ThresholdVeto(ptThreshold)); - - pat::IsoDeposit::AbsVetos vetosEcal; - vetosEcal.push_back(new ConeVeto(dir, 0.)); - vetosEcal.push_back(new ThresholdVeto(etEcalThreshold)); - - pat::IsoDeposit::AbsVetos vetosHcal; - vetosHcal.push_back(new ConeVeto(dir, 0.)); - vetosHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk)); - double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal)); - double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal)); - - double iso = - alpha * (((1 + beta) / 2 * isovalueEcal) + ((1 - beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk); - if (relativeIsolation) - iso /= t->pt(); - return iso; -} - -double candIsolation(const reco::Candidate *c, - double ptThreshold, - double etEcalThreshold, - double etHcalThreshold, - double dRVetoTrk, - double dRTrk, - double dREcal, - double dRHcal, - double alpha, - double beta, - bool relativeIsolation) { - const pat::Muon *mu = dynamic_cast(c); - if (mu != nullptr) - return isolation(mu, - ptThreshold, - etEcalThreshold, - etHcalThreshold, - dRVetoTrk, - dRTrk, - dREcal, - dRHcal, - alpha, - beta, - relativeIsolation); - const pat::GenericParticle *trk = dynamic_cast(c); - if (trk != nullptr) - return isolation(trk, - ptThreshold, - etEcalThreshold, - etHcalThreshold, - dRVetoTrk, - dRTrk, - dREcal, - dRHcal, - alpha, - beta, - relativeIsolation); - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n"; - return -1; -} - -ZToLLEdmNtupleDumper::ZToLLEdmNtupleDumper(const ParameterSet &cfg) { - string alias; - vector psets = cfg.getParameter >("zBlocks"); - for (std::vector::const_iterator i = psets.begin(); i != psets.end(); ++i) { - string zName = i->getParameter("zName"); - edm::EDGetTokenT zToken = consumes(i->getParameter("z")); - edm::EDGetTokenT zGenParticlesMatchToken = - consumes(i->getParameter("zGenParticlesMatch")); - beamSpotToken_ = consumes(i->getParameter("beamSpot")); - primaryVerticesToken_ = consumes(i->getParameter("primaryVertices")); - double ptThreshold = i->getParameter("ptThreshold"); - double etEcalThreshold = i->getParameter("etEcalThreshold"); - double etHcalThreshold = i->getParameter("etHcalThreshold"); - double dRVetoTrk = i->getParameter("deltaRVetoTrk"); - double dRTrk = i->getParameter("deltaRTrk"); - double dREcal = i->getParameter("deltaREcal"); - double dRHcal = i->getParameter("deltaRHcal"); - double alpha = i->getParameter("alpha"); - double beta = i->getParameter("beta"); - bool relativeIsolation = i->getParameter("relativeIsolation"); - string hltPath = i->getParameter("hltPath"); - zName_.push_back(zName); - zTokens_.push_back(zToken); - zGenParticlesMatchTokens_.push_back(zGenParticlesMatchToken); - ptThreshold_.push_back(ptThreshold); - etEcalThreshold_.push_back(etEcalThreshold); - etHcalThreshold_.push_back(etHcalThreshold); - dRVetoTrk_.push_back(dRVetoTrk); - dRTrk_.push_back(dRTrk); - dREcal_.push_back(dREcal); - dRHcal_.push_back(dRHcal); - alpha_.push_back(alpha); - beta_.push_back(beta); - relativeIsolation_.push_back(relativeIsolation); - hltPath_.push_back(hltPath); - produces >(alias = zName + "EventNumber").setBranchAlias(alias); - produces >(alias = zName + "RunNumber").setBranchAlias(alias); - produces >(alias = zName + "LumiBlock").setBranchAlias(alias); - produces >(alias = zName + "Mass").setBranchAlias(alias); - produces >(alias = zName + "MassSa").setBranchAlias(alias); - produces >(alias = zName + "Pt").setBranchAlias(alias); - produces >(alias = zName + "Eta").setBranchAlias(alias); - produces >(alias = zName + "Phi").setBranchAlias(alias); - produces >(alias = zName + "Y").setBranchAlias(alias); - produces >(alias = zName + "Dau1Pt").setBranchAlias(alias); - produces >(alias = zName + "Dau2Pt").setBranchAlias(alias); - produces >(alias = zName + "Dau1SaPt").setBranchAlias(alias); - produces >(alias = zName + "Dau2SaPt").setBranchAlias(alias); - produces >(alias = zName + "Dau1HLTBit").setBranchAlias(alias); - produces >(alias = zName + "Dau2HLTBit").setBranchAlias(alias); - produces >(alias = zName + "Dau1Q").setBranchAlias(alias); - produces >(alias = zName + "Dau2Q").setBranchAlias(alias); - produces >(alias = zName + "Dau1Eta").setBranchAlias(alias); - produces >(alias = zName + "Dau2Eta").setBranchAlias(alias); - produces >(alias = zName + "Dau1SaEta").setBranchAlias(alias); - produces >(alias = zName + "Dau2SaEta").setBranchAlias(alias); - produces >(alias = zName + "Dau1Phi").setBranchAlias(alias); - produces >(alias = zName + "Dau2Phi").setBranchAlias(alias); - produces >(alias = zName + "Dau1SaPhi").setBranchAlias(alias); - produces >(alias = zName + "Dau2SaPhi").setBranchAlias(alias); - produces >(alias = zName + "Dau1Iso").setBranchAlias(alias); - produces >(alias = zName + "Dau2Iso").setBranchAlias(alias); - produces >(alias = zName + "Dau1TrkIso").setBranchAlias(alias); - produces >(alias = zName + "Dau2TrkIso").setBranchAlias(alias); - produces >(alias = zName + "Dau1EcalIso").setBranchAlias(alias); - produces >(alias = zName + "Dau2EcalIso").setBranchAlias(alias); - produces >(alias = zName + "Dau1HcalIso").setBranchAlias(alias); - produces >(alias = zName + "Dau2HcalIso").setBranchAlias(alias); - produces >(alias = zName + "Dau1MuEnergyEm").setBranchAlias(alias); - produces >(alias = zName + "Dau1MuEnergyHad").setBranchAlias(alias); - produces >(alias = zName + "Dau2MuEnergyEm").setBranchAlias(alias); - produces >(alias = zName + "Dau2MuEnergyHad").setBranchAlias(alias); - - produces >(alias = zName + "VtxNormChi2").setBranchAlias(alias); - produces >(alias = zName + "Dau1NofHit").setBranchAlias(alias); - produces >(alias = zName + "Dau2NofHit").setBranchAlias(alias); - produces >(alias = zName + "Dau1NofHitTk").setBranchAlias(alias); - produces >(alias = zName + "Dau1NofHitSta").setBranchAlias(alias); - produces >(alias = zName + "Dau2NofHitTk").setBranchAlias(alias); - produces >(alias = zName + "Dau2NofHitSta").setBranchAlias(alias); - produces >(alias = zName + "Dau1NofMuChambers").setBranchAlias(alias); - produces >(alias = zName + "Dau2NofMuChambers").setBranchAlias(alias); - produces >(alias = zName + "Dau1NofMuMatches").setBranchAlias(alias); - produces >(alias = zName + "Dau2NofMuMatches").setBranchAlias(alias); - produces >(alias = zName + "Dau1Chi2").setBranchAlias(alias); - produces >(alias = zName + "Dau2Chi2").setBranchAlias(alias); - produces >(alias = zName + "Dau1TrkChi2").setBranchAlias(alias); - produces >(alias = zName + "Dau2TrkChi2").setBranchAlias(alias); - produces >(alias = zName + "Dau1dxyFromBS").setBranchAlias(alias); - produces >(alias = zName + "Dau2dxyFromBS").setBranchAlias(alias); - produces >(alias = zName + "Dau1dzFromBS").setBranchAlias(alias); - produces >(alias = zName + "Dau2dzFromBS").setBranchAlias(alias); - produces >(alias = zName + "Dau1dxyFromPV").setBranchAlias(alias); - produces >(alias = zName + "Dau2dxyFromPV").setBranchAlias(alias); - produces >(alias = zName + "Dau1dzFromPV").setBranchAlias(alias); - produces >(alias = zName + "Dau2dzFromPV").setBranchAlias(alias); - produces >(alias = zName + "TrueMass").setBranchAlias(alias); - produces >(alias = zName + "TruePt").setBranchAlias(alias); - produces >(alias = zName + "TrueEta").setBranchAlias(alias); - produces >(alias = zName + "TruePhi").setBranchAlias(alias); - produces >(alias = zName + "TrueY").setBranchAlias(alias); - } -} - -void ZToLLEdmNtupleDumper::produce(Event &evt, const EventSetup &) { - Handle beamSpotHandle; - if (!evt.getByToken(beamSpotToken_, beamSpotHandle)) { - std::cout << ">>> No beam spot found !!!" << std::endl; - } - Handle primaryVertices; // Collection of primary Vertices - if (!evt.getByToken(primaryVerticesToken_, primaryVertices)) { - std::cout << ">>> No primary verteces found !!!" << std::endl; - } - - unsigned int size = zTokens_.size(); - for (unsigned int c = 0; c < size; ++c) { - Handle zColl; - evt.getByToken(zTokens_[c], zColl); - bool isMCMatchTrue = false; - //if (zGenParticlesMatchTokens_[c] != "") isMCMatchTrue = true; - Handle zGenParticlesMatch; - if (evt.getByToken(zGenParticlesMatchTokens_[c], zGenParticlesMatch)) { - isMCMatchTrue = true; - } - unsigned int zSize = zColl->size(); - unique_ptr > event(new vector); - unique_ptr > run(new vector); - unique_ptr > lumi(new vector); - unique_ptr > zMass(new vector); - unique_ptr > zMassSa(new vector); - unique_ptr > zPt(new vector); - unique_ptr > zEta(new vector); - unique_ptr > zPhi(new vector); - unique_ptr > zY(new vector); - unique_ptr > zDau1Pt(new vector); - unique_ptr > zDau2Pt(new vector); - unique_ptr > zDau1SaPt(new vector); - unique_ptr > zDau2SaPt(new vector); - unique_ptr > zDau1HLTBit(new vector); - unique_ptr > zDau2HLTBit(new vector); - unique_ptr > zDau1Q(new vector); - unique_ptr > zDau2Q(new vector); - unique_ptr > zDau1Eta(new vector); - unique_ptr > zDau2Eta(new vector); - unique_ptr > zDau1SaEta(new vector); - unique_ptr > zDau2SaEta(new vector); - unique_ptr > zDau1Phi(new vector); - unique_ptr > zDau2Phi(new vector); - unique_ptr > zDau1SaPhi(new vector); - unique_ptr > zDau2SaPhi(new vector); - unique_ptr > zDau1Iso(new vector); - unique_ptr > zDau2Iso(new vector); - unique_ptr > zDau1TrkIso(new vector); - unique_ptr > zDau2TrkIso(new vector); - unique_ptr > zDau1EcalIso(new vector); - unique_ptr > zDau2EcalIso(new vector); - unique_ptr > zDau1HcalIso(new vector); - unique_ptr > zDau2HcalIso(new vector); - unique_ptr > zDau1MuEnergyEm(new vector); - unique_ptr > zDau2MuEnergyEm(new vector); - unique_ptr > zDau1MuEnergyHad(new vector); - unique_ptr > zDau2MuEnergyHad(new vector); - unique_ptr > vtxNormChi2(new vector); - unique_ptr > zDau1NofHit(new vector); - unique_ptr > zDau2NofHit(new vector); - unique_ptr > zDau1NofHitTk(new vector); - unique_ptr > zDau2NofHitTk(new vector); - unique_ptr > zDau1NofHitSta(new vector); - unique_ptr > zDau2NofHitSta(new vector); - unique_ptr > zDau1NofMuChambers(new vector); - unique_ptr > zDau2NofMuChambers(new vector); - unique_ptr > zDau1NofMuMatches(new vector); - unique_ptr > zDau2NofMuMatches(new vector); - unique_ptr > zDau1Chi2(new vector); - unique_ptr > zDau2Chi2(new vector); - unique_ptr > zDau1TrkChi2(new vector); - unique_ptr > zDau2TrkChi2(new vector); - unique_ptr > zDau1dxyFromBS(new vector); - unique_ptr > zDau2dxyFromBS(new vector); - unique_ptr > zDau1dzFromBS(new vector); - unique_ptr > zDau2dzFromBS(new vector); - unique_ptr > zDau1dxyFromPV(new vector); - unique_ptr > zDau2dxyFromPV(new vector); - unique_ptr > zDau1dzFromPV(new vector); - unique_ptr > zDau2dzFromPV(new vector); - unique_ptr > trueZMass(new vector); - unique_ptr > trueZPt(new vector); - unique_ptr > trueZEta(new vector); - unique_ptr > trueZPhi(new vector); - unique_ptr > trueZY(new vector); - event->push_back(evt.id().event()); - run->push_back(evt.id().run()); - lumi->push_back(evt.luminosityBlock()); - for (unsigned int i = 0; i < zSize; ++i) { - const Candidate &z = (*zColl)[i]; - CandidateBaseRef zRef = zColl->refAt(i); - zMass->push_back(z.mass()); - zPt->push_back(z.pt()); - zEta->push_back(z.eta()); - zPhi->push_back(z.phi()); - zY->push_back(z.rapidity()); - vtxNormChi2->push_back(z.vertexNormalizedChi2()); - const Candidate *dau1 = z.daughter(0); - const Candidate *dau2 = z.daughter(1); - zDau1Pt->push_back(dau1->pt()); - zDau2Pt->push_back(dau2->pt()); - zDau1Q->push_back(dau1->charge()); - zDau2Q->push_back(dau2->charge()); - zDau1Eta->push_back(dau1->eta()); - zDau2Eta->push_back(dau2->eta()); - zDau1Phi->push_back(dau1->phi()); - zDau2Phi->push_back(dau2->phi()); - if (!(dau1->hasMasterClone() && dau2->hasMasterClone())) - throw edm::Exception(edm::errors::InvalidReference) << "Candidate daughters have no master clone\n"; - const CandidateBaseRef &mr1 = dau1->masterClone(), &mr2 = dau2->masterClone(); - - const Candidate *m1 = &*mr1, *m2 = &*mr2; - - // isolation as defined by us into the analyzer - double iso1 = candIsolation(m1, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - alpha_[c], - beta_[c], - relativeIsolation_[c]); - double iso2 = candIsolation(m2, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - alpha_[c], - beta_[c], - relativeIsolation_[c]); - // tracker isolation : alpha =0 - double trkIso1 = candIsolation(m1, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 0.0, - beta_[c], - relativeIsolation_[c]); - double trkIso2 = candIsolation(m2, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 0.0, - beta_[c], - relativeIsolation_[c]); - // ecal isolation : alpha =1, beta =1 - double ecalIso1 = candIsolation(m1, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 1.0, - 1.0, - relativeIsolation_[c]); - double ecalIso2 = candIsolation(m2, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 1.0, - 1.0, - relativeIsolation_[c]); - // hcal isolation : alpha =1, beta =-1 - double hcalIso1 = candIsolation(m1, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 1.0, - -1.0, - relativeIsolation_[c]); - double hcalIso2 = candIsolation(m2, - ptThreshold_[c], - etEcalThreshold_[c], - etHcalThreshold_[c], - dRVetoTrk_[c], - dRTrk_[c], - dREcal_[c], - dRHcal_[c], - 1.0, - -1.0, - relativeIsolation_[c]); - - zDau1Iso->push_back(iso1); - zDau2Iso->push_back(iso2); - zDau1TrkIso->push_back(trkIso1); - zDau2TrkIso->push_back(trkIso2); - zDau1EcalIso->push_back(ecalIso1); - zDau2EcalIso->push_back(ecalIso2); - zDau1HcalIso->push_back(hcalIso1); - zDau2HcalIso->push_back(hcalIso2); - if (isMCMatchTrue) { - GenParticleRef trueZRef = (*zGenParticlesMatch)[zRef]; - //CandidateRef trueZRef = trueZIter->val; - if (trueZRef.isNonnull()) { - const Candidate &z = *trueZRef; - trueZMass->push_back(z.mass()); - trueZPt->push_back(z.pt()); - trueZEta->push_back(z.eta()); - trueZPhi->push_back(z.phi()); - trueZY->push_back(z.rapidity()); - } else { - trueZMass->push_back(-100); - trueZPt->push_back(-100); - trueZEta->push_back(-100); - trueZPhi->push_back(-100); - trueZY->push_back(-100); - } - } - // quality variables - const pat::Muon *mu1 = dynamic_cast(m1); - // protection for standalone and trackerMuon - if (mu1->isGlobalMuon() == true) { - zDau1NofHit->push_back(mu1->numberOfValidHits()); - zDau1NofHitTk->push_back(mu1->innerTrack()->numberOfValidHits()); - zDau1NofHitSta->push_back(mu1->outerTrack()->numberOfValidHits()); - zDau1Chi2->push_back(mu1->normChi2()); - TrackRef mu1TrkRef = mu1->innerTrack(); - zDau1TrkChi2->push_back(mu1TrkRef->normalizedChi2()); - zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->position())); - zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->position())); - zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position())); - zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position())); - zDau1MuEnergyEm->push_back(mu1->calEnergy().em); - zDau1MuEnergyHad->push_back(mu1->calEnergy().had); - - } else if (mu1->isStandAloneMuon() == true) { - // the muon is a standalone - TrackRef mu1StaRef = mu1->outerTrack(); - zDau1NofHit->push_back(mu1StaRef->numberOfValidHits()); - zDau1NofHitTk->push_back(0); - zDau1NofHitSta->push_back(mu1StaRef->numberOfValidHits()); - zDau1Chi2->push_back(mu1StaRef->normalizedChi2()); - zDau1TrkChi2->push_back(0); - zDau1dxyFromBS->push_back(mu1StaRef->dxy(beamSpotHandle->position())); - zDau1dzFromBS->push_back(mu1StaRef->dz(beamSpotHandle->position())); - zDau1dxyFromPV->push_back(mu1StaRef->dxy(primaryVertices->begin()->position())); - zDau1dzFromPV->push_back(mu1StaRef->dz(primaryVertices->begin()->position())); - zDau1MuEnergyEm->push_back(-1); - zDau1MuEnergyHad->push_back(-1); - } else if (mu1->isTrackerMuon() == true) { - // the muon is a trackerMuon - TrackRef mu1TrkRef = mu1->innerTrack(); - zDau1NofHit->push_back(mu1TrkRef->numberOfValidHits()); - zDau1NofHitTk->push_back(mu1TrkRef->numberOfValidHits()); - zDau1NofHitSta->push_back(0); - zDau1Chi2->push_back(mu1TrkRef->normalizedChi2()); - zDau1TrkChi2->push_back(mu1TrkRef->normalizedChi2()); - zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->position())); - zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->position())); - zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position())); - zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position())); - zDau1MuEnergyEm->push_back(mu1->calEnergy().em); - zDau1MuEnergyHad->push_back(mu1->calEnergy().had); - } - zDau1NofMuChambers->push_back(mu1->numberOfChambers()); - zDau1NofMuMatches->push_back(mu1->numberOfMatches()); - - // would we like to add another variables??? - // HLT trigger bit - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = mu1->triggerObjectMatchesByPath(hltPath_[c]); - - int dimTrig1 = mu1HLTMatches.size(); - if (dimTrig1 != 0) { - zDau1HLTBit->push_back(1); - } else { - zDau1HLTBit->push_back(0); - } - const pat::Muon *mu2 = dynamic_cast(m2); - if (mu2 != nullptr) { - if (mu2->isGlobalMuon() == true) { - zDau2NofHit->push_back(mu2->numberOfValidHits()); - zDau2NofHitTk->push_back(mu2->innerTrack()->numberOfValidHits()); - zDau2NofHitSta->push_back(mu2->outerTrack()->numberOfValidHits()); - zDau2Chi2->push_back(mu2->normChi2()); - TrackRef mu2TrkRef = mu2->innerTrack(); - zDau1TrkChi2->push_back(mu2TrkRef->normalizedChi2()); - zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position())); - zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position())); - zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position())); - zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position())); - zDau2MuEnergyEm->push_back(mu2->calEnergy().em); - zDau2MuEnergyHad->push_back(mu2->calEnergy().had); - } else if (mu2->isStandAloneMuon() == true) { - // its' a standalone - zDau2HLTBit->push_back(0); - TrackRef mu2StaRef = mu2->outerTrack(); - zDau2NofHit->push_back(mu2StaRef->numberOfValidHits()); - zDau2NofHitTk->push_back(0); - zDau2NofHitSta->push_back(mu2StaRef->numberOfValidHits()); - zDau2Chi2->push_back(mu2StaRef->normalizedChi2()); - zDau2TrkChi2->push_back(0); - zDau2dxyFromBS->push_back(mu2StaRef->dxy(beamSpotHandle->position())); - zDau2dzFromBS->push_back(mu2StaRef->dz(beamSpotHandle->position())); - zDau2dxyFromPV->push_back(mu2StaRef->dxy(primaryVertices->begin()->position())); - zDau2dzFromPV->push_back(mu2StaRef->dz(primaryVertices->begin()->position())); - zDau1MuEnergyEm->push_back(-1); - zDau1MuEnergyHad->push_back(-1); - } else if (mu2->isTrackerMuon() == true) { - // the muon is a trackerMuon - TrackRef mu2TrkRef = mu2->innerTrack(); - zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits()); - zDau2NofHitSta->push_back(0); - zDau2NofHitTk->push_back(mu2TrkRef->numberOfValidHits()); - zDau2Chi2->push_back(mu2TrkRef->normalizedChi2()); - zDau2TrkChi2->push_back(mu2TrkRef->normalizedChi2()); - zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position())); - zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position())); - zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position())); - zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position())); - zDau2MuEnergyEm->push_back(mu2->calEnergy().em); - zDau2MuEnergyHad->push_back(mu2->calEnergy().had); - } - - // HLT trigger bit - const pat::TriggerObjectStandAloneCollection mu2HLTMatches = mu2->triggerObjectMatchesByPath(hltPath_[c]); - int dimTrig2 = mu2HLTMatches.size(); - if (dimTrig2 != 0) { - zDau2HLTBit->push_back(1); - } else { - zDau2HLTBit->push_back(0); - } - /// only for ZGolden evaluated zMassSa for the mu+sta pdf, see zmumuSaMassHistogram.cc - if (mu1->isGlobalMuon() && mu2->isGlobalMuon()) { - TrackRef stAloneTrack1; - TrackRef stAloneTrack2; - Vector momentum; - Candidate::PolarLorentzVector p4_1; - double mu_mass; - stAloneTrack1 = dau1->get(); - stAloneTrack2 = dau2->get(); - zDau1SaEta->push_back(stAloneTrack1->eta()); - zDau2SaEta->push_back(stAloneTrack2->eta()); - zDau1SaPhi->push_back(stAloneTrack1->phi()); - zDau2SaPhi->push_back(stAloneTrack2->phi()); - if (counter % 2 == 0) { - momentum = stAloneTrack1->momentum(); - p4_1 = dau2->polarP4(); - mu_mass = dau1->mass(); - /// I fill the dau1 with positive and dau2 with negatove values for the pt, in order to flag the muons used for building zMassSa - zDau1SaPt->push_back(stAloneTrack1->pt()); - zDau2SaPt->push_back(-stAloneTrack2->pt()); - } else { - momentum = stAloneTrack2->momentum(); - p4_1 = dau1->polarP4(); - mu_mass = dau2->mass(); - /// I fill the dau1 with negatove and dau2 with positive values for the pt - zDau1SaPt->push_back(-stAloneTrack1->pt()); - zDau2SaPt->push_back(stAloneTrack2->pt()); - } - - Candidate::PolarLorentzVector p4_2(momentum.rho(), momentum.eta(), momentum.phi(), mu_mass); - double mass = (p4_1 + p4_2).mass(); - zMassSa->push_back(mass); - ++counter; - } - - zDau2NofMuChambers->push_back(mu2->numberOfChambers()); - zDau2NofMuMatches->push_back(mu2->numberOfMatches()); - } else { - // for ZMuTk case... - // it's a track...... - const pat::GenericParticle *trk2 = dynamic_cast(m2); - TrackRef mu2TrkRef = trk2->track(); - zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits()); - zDau2NofHitTk->push_back(mu2TrkRef->numberOfValidHits()); - zDau2NofHitSta->push_back(0); - zDau2NofMuChambers->push_back(0); - zDau2NofMuMatches->push_back(0); - zDau2Chi2->push_back(mu2TrkRef->normalizedChi2()); - zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position())); - zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position())); - zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position())); - zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position())); - zDau1MuEnergyEm->push_back(-1); - zDau1MuEnergyHad->push_back(-1); - } - } - const string &zName = zName_[c]; - evt.put(std::move(event), zName + "EventNumber"); - evt.put(std::move(run), zName + "RunNumber"); - evt.put(std::move(lumi), zName + "LumiBlock"); - evt.put(std::move(zMass), zName + "Mass"); - evt.put(std::move(zMassSa), zName + "MassSa"); - evt.put(std::move(zPt), zName + "Pt"); - evt.put(std::move(zEta), zName + "Eta"); - evt.put(std::move(zPhi), zName + "Phi"); - evt.put(std::move(zY), zName + "Y"); - evt.put(std::move(zDau1Pt), zName + "Dau1Pt"); - evt.put(std::move(zDau2Pt), zName + "Dau2Pt"); - evt.put(std::move(zDau1SaPt), zName + "Dau1SaPt"); - evt.put(std::move(zDau2SaPt), zName + "Dau2SaPt"); - evt.put(std::move(zDau1HLTBit), zName + "Dau1HLTBit"); - evt.put(std::move(zDau2HLTBit), zName + "Dau2HLTBit"); - evt.put(std::move(zDau1Q), zName + "Dau1Q"); - evt.put(std::move(zDau2Q), zName + "Dau2Q"); - evt.put(std::move(zDau1Eta), zName + "Dau1Eta"); - evt.put(std::move(zDau2Eta), zName + "Dau2Eta"); - evt.put(std::move(zDau1SaEta), zName + "Dau1SaEta"); - evt.put(std::move(zDau2SaEta), zName + "Dau2SaEta"); - evt.put(std::move(zDau1Phi), zName + "Dau1Phi"); - evt.put(std::move(zDau2Phi), zName + "Dau2Phi"); - evt.put(std::move(zDau1SaPhi), zName + "Dau1SaPhi"); - evt.put(std::move(zDau2SaPhi), zName + "Dau2SaPhi"); - evt.put(std::move(zDau1Iso), zName + "Dau1Iso"); - evt.put(std::move(zDau2Iso), zName + "Dau2Iso"); - evt.put(std::move(zDau1TrkIso), zName + "Dau1TrkIso"); - evt.put(std::move(zDau2TrkIso), zName + "Dau2TrkIso"); - evt.put(std::move(zDau1EcalIso), zName + "Dau1EcalIso"); - evt.put(std::move(zDau2EcalIso), zName + "Dau2EcalIso"); - evt.put(std::move(zDau1HcalIso), zName + "Dau1HcalIso"); - evt.put(std::move(zDau2HcalIso), zName + "Dau2HcalIso"); - evt.put(std::move(zDau1MuEnergyEm), zName + "Dau1MuEnergyEm"); - evt.put(std::move(zDau2MuEnergyEm), zName + "Dau2MuEnergyEm"); - evt.put(std::move(zDau1MuEnergyHad), zName + "Dau1MuEnergyHad"); - evt.put(std::move(zDau2MuEnergyHad), zName + "Dau2MuEnergyHad"); - evt.put(std::move(vtxNormChi2), zName + "VtxNormChi2"); - evt.put(std::move(zDau1NofHit), zName + "Dau1NofHit"); - evt.put(std::move(zDau2NofHit), zName + "Dau2NofHit"); - evt.put(std::move(zDau1NofHitTk), zName + "Dau1NofHitTk"); - evt.put(std::move(zDau2NofHitTk), zName + "Dau2NofHitTk"); - evt.put(std::move(zDau1NofHitSta), zName + "Dau1NofHitSta"); - evt.put(std::move(zDau2NofHitSta), zName + "Dau2NofHitSta"); - evt.put(std::move(zDau1NofMuChambers), zName + "Dau1NofMuChambers"); - evt.put(std::move(zDau1NofMuMatches), zName + "Dau1NofMuMatches"); - evt.put(std::move(zDau2NofMuChambers), zName + "Dau2NofMuChambers"); - evt.put(std::move(zDau2NofMuMatches), zName + "Dau2NofMuMatches"); - evt.put(std::move(zDau1Chi2), zName + "Dau1Chi2"); - evt.put(std::move(zDau2Chi2), zName + "Dau2Chi2"); - evt.put(std::move(zDau1TrkChi2), zName + "Dau1TrkChi2"); - evt.put(std::move(zDau2TrkChi2), zName + "Dau2TrkChi2"); - evt.put(std::move(zDau1dxyFromBS), zName + "Dau1dxyFromBS"); - evt.put(std::move(zDau2dxyFromBS), zName + "Dau2dxyFromBS"); - evt.put(std::move(zDau1dxyFromPV), zName + "Dau1dxyFromPV"); - evt.put(std::move(zDau2dxyFromPV), zName + "Dau2dxyFromPV"); - evt.put(std::move(zDau1dzFromBS), zName + "Dau1dzFromBS"); - evt.put(std::move(zDau2dzFromBS), zName + "Dau2dzFromBS"); - evt.put(std::move(zDau1dzFromPV), zName + "Dau1dzFromPV"); - evt.put(std::move(zDau2dzFromPV), zName + "Dau2dzFromPV"); - evt.put(std::move(trueZMass), zName + "TrueMass"); - evt.put(std::move(trueZPt), zName + "TruePt"); - evt.put(std::move(trueZEta), zName + "TrueEta"); - evt.put(std::move(trueZPhi), zName + "TruePhi"); - evt.put(std::move(trueZY), zName + "TrueY"); - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZToLLEdmNtupleDumper); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuFilter.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuFilter.cc deleted file mode 100644 index b1b261d033e55..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuFilter.cc +++ /dev/null @@ -1,82 +0,0 @@ -/* \class ZToMuMuFilter - * - * \author Juan Alcaraz, CIEMAT - * - */ -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" - -class ZToMuMuFilter : public edm::EDFilter { -public: - ZToMuMuFilter(const edm::ParameterSet &); - -private: - bool filter(edm::Event &, const edm::EventSetup &) override; - edm::EDGetTokenT zCandsToken_; - edm::EDGetTokenT muIso1Token_; - edm::EDGetTokenT muIso2Token_; - double ptMin_, etaMin_, etaMax_, massMin_, massMax_, isoMax_; -}; - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -using namespace edm; -using namespace std; -using namespace reco; - -ZToMuMuFilter::ZToMuMuFilter(const ParameterSet &cfg) - : zCandsToken_(consumes(cfg.getParameter("zCands"))), - muIso1Token_(consumes(cfg.getParameter("muonIsolations1"))), - muIso2Token_(consumes(cfg.getParameter("muonIsolations2"))), - ptMin_(cfg.getParameter("ptMin")), - etaMin_(cfg.getParameter("etaMin")), - etaMax_(cfg.getParameter("etaMax")), - massMin_(cfg.getParameter("massMin")), - massMax_(cfg.getParameter("massMax")), - isoMax_(cfg.getParameter("isoMax")) {} - -bool ZToMuMuFilter::filter(Event &ev, const EventSetup &) { - Handle zCands; - ev.getByToken(zCandsToken_, zCands); - Handle muIso1; - ev.getByToken(muIso1Token_, muIso1); - Handle muIso2; - ev.getByToken(muIso2Token_, muIso2); - unsigned int nZ = zCands->size(); - if (nZ == 0) - return false; - for (unsigned int i = 0; i < nZ; ++i) { - const Candidate &zCand = (*zCands)[i]; - double zMass = zCand.mass(); - if (zMass < massMin_ || zMass > massMax_) - return false; - if (zCand.numberOfDaughters() != 2) - return false; - const Candidate *dau0 = zCand.daughter(0); - const Candidate *dau1 = zCand.daughter(1); - double pt0 = dau0->pt(), pt1 = dau1->pt(); - if (pt0 < ptMin_ || pt1 < ptMin_) - return false; - double eta0 = dau0->eta(), eta1 = dau1->eta(); - if (eta0 < etaMin_ || eta0 > etaMax_) - return false; - if (eta1 < etaMin_ || eta1 > etaMax_) - return false; - CandidateRef mu0 = dau0->masterClone().castTo(); - CandidateRef mu1 = dau1->masterClone().castTo(); - double iso0 = (*muIso1)[mu0]; - double iso1 = (*muIso2)[mu1]; - if (iso0 > isoMax_) - return false; - if (iso1 > isoMax_) - return false; - } - return true; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZToMuMuFilter); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsoDepositSelector.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsoDepositSelector.cc deleted file mode 100644 index adc57070abef2..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsoDepositSelector.cc +++ /dev/null @@ -1,162 +0,0 @@ -/* \class ZToMuMuIsolationSelector - * - * \author Luca Lista, INFN - * - */ - -struct IsolatedSelector { - IsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return i1 < cut_ && i2 < cut_; } - double cut() const { return cut_; } - -private: - double cut_; -}; - -struct NonIsolatedSelector { - NonIsolatedSelector(double cut) : isolated_(cut) {} - bool operator()(double i1, double i2) const { return !isolated_(i1, i2); } - double cut() const { return isolated_.cut(); } - -private: - IsolatedSelector isolated_; -}; - -struct OneNonIsolatedSelector { - OneNonIsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return (i1 < cut_ && i2 >= cut_) || (i1 >= cut_ && i2 < cut_); } - double cut() const { return cut_; } - -private: - double cut_; -}; - -struct TwoNonIsolatedSelector { - TwoNonIsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return i1 >= cut_ && i2 >= cut_; } - double cut() const { return cut_; } - -private: - double cut_; -}; - -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" - -using namespace reco; -using namespace isodeposit; - -template -class ZToMuMuIsoDepositSelector { -public: - ZToMuMuIsoDepositSelector(const edm::ParameterSet& cfg, edm::ConsumesCollector& iC) - : isolator_(cfg.template getParameter("isoCut")), - ptThreshold(cfg.getUntrackedParameter("ptThreshold")), - etEcalThreshold(cfg.getUntrackedParameter("etEcalThreshold")), - etHcalThreshold(cfg.getUntrackedParameter("etHcalThreshold")), - dRVetoTrk(cfg.getUntrackedParameter("deltaRVetoTrk")), - dRTrk(cfg.getUntrackedParameter("deltaRTrk")), - dREcal(cfg.getUntrackedParameter("deltaREcal")), - dRHcal(cfg.getUntrackedParameter("deltaRHcal")), - alpha(cfg.getUntrackedParameter("alpha")), - beta(cfg.getUntrackedParameter("beta")), - relativeIsolation(cfg.template getParameter("relativeIsolation")) {} - - template - double isolation(const T* t) const { - const pat::IsoDeposit* trkIso = t->isoDeposit(pat::TrackIso); - const pat::IsoDeposit* ecalIso = t->isoDeposit(pat::EcalIso); - const pat::IsoDeposit* hcalIso = t->isoDeposit(pat::HcalIso); - - Direction dir = Direction(t->eta(), t->phi()); - - IsoDeposit::AbsVetos vetosTrk; - vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk)); - vetosTrk.push_back(new ThresholdVeto(ptThreshold)); - - IsoDeposit::AbsVetos vetosEcal; - vetosEcal.push_back(new ConeVeto(dir, 0.)); - vetosEcal.push_back(new ThresholdVeto(etEcalThreshold)); - - IsoDeposit::AbsVetos vetosHcal; - vetosHcal.push_back(new ConeVeto(dir, 0.)); - vetosHcal.push_back(new ThresholdVeto(etHcalThreshold)); - - double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk)); - double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal)); - double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal)); - - double iso = - alpha * (((1 + beta) / 2 * isovalueEcal) + ((1 - beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk); - if (relativeIsolation) - iso /= t->pt(); - return iso; - } - - double candIsolation(const reco::Candidate* c) const { - const pat::Muon* mu = dynamic_cast(c); - if (mu != nullptr) - return isolation(mu); - const pat::GenericParticle* trk = dynamic_cast(c); - if (trk != nullptr) - return isolation(trk); - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n"; - return -1; - } - bool operator()(const reco::Candidate& z) const { - if (z.numberOfDaughters() != 2) - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate has " << z.numberOfDaughters() << " daughters, 2 expected\n"; - const reco::Candidate* dau0 = z.daughter(0); - const reco::Candidate* dau1 = z.daughter(1); - if (!(dau0->hasMasterClone() && dau1->hasMasterClone())) - throw edm::Exception(edm::errors::InvalidReference) << "Candidate daughters have no master clone\n"; - const reco::Candidate *m0 = &*dau0->masterClone(), *m1 = &*dau1->masterClone(); - return isolator_(candIsolation(m0), candIsolation(m1)); - } - -private: - Isolator isolator_; - double ptThreshold, etEcalThreshold, etHcalThreshold, dRVetoTrk, dRTrk, dREcal, dRHcal, alpha, beta; - bool relativeIsolation; -}; - -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "CommonTools/UtilAlgos/interface/AndSelector.h" -#include "CommonTools/UtilAlgos/interface/StringCutObjectSelector.h" - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuIsolatedIDSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuNonIsolatedIDSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuOneNonIsolatedIDSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuTwoNonIsolatedIDSelector; - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZToMuMuIsolatedIDSelector); -DEFINE_FWK_MODULE(ZToMuMuNonIsolatedIDSelector); -DEFINE_FWK_MODULE(ZToMuMuOneNonIsolatedIDSelector); -DEFINE_FWK_MODULE(ZToMuMuTwoNonIsolatedIDSelector); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsolationSelector.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsolationSelector.cc deleted file mode 100644 index 22f4bad6d92b9..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuIsolationSelector.cc +++ /dev/null @@ -1,157 +0,0 @@ -/* \class ZToMuMuIsolationSelector - * - * \author Luca Lista, INFN - * - */ - -struct IsolatedSelector { - IsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return i1 < cut_ && i2 < cut_; } - double cut() const { return cut_; } - -private: - double cut_; -}; - -struct NonIsolatedSelector { - NonIsolatedSelector(double cut) : isolated_(cut) {} - bool operator()(double i1, double i2) const { return !isolated_(i1, i2); } - double cut() const { return isolated_.cut(); } - -private: - IsolatedSelector isolated_; -}; - -struct OneNonIsolatedSelector { - OneNonIsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return (i1 < cut_ && i2 >= cut_) || (i1 >= cut_ && i2 < cut_); } - double cut() const { return cut_; } - -private: - double cut_; -}; - -struct TwoNonIsolatedSelector { - TwoNonIsolatedSelector(double cut) : cut_(cut) {} - bool operator()(double i1, double i2) const { return i1 >= cut_ && i2 >= cut_; } - double cut() const { return cut_; } - -private: - double cut_; -}; - -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "FWCore/Utilities/interface/EDMException.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -template -class ZToMuMuIsolationSelector { -public: - ZToMuMuIsolationSelector(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC) - : isolator_(cfg.template getParameter("isoCut")) { - std::string iso = cfg.template getParameter("isolationType"); - if (iso == "track") { - leptonIsolation_ = &pat::Lepton::trackIso; - trackIsolation_ = &pat::GenericParticle::trackIso; - } else if (iso == "ecal") { - leptonIsolation_ = &pat::Lepton::ecalIso; - trackIsolation_ = &pat::GenericParticle::ecalIso; - } else if (iso == "hcal") { - leptonIsolation_ = &pat::Lepton::hcalIso; - trackIsolation_ = &pat::GenericParticle::hcalIso; - } else if (iso == "calo") { - leptonIsolation_ = &pat::Lepton::caloIso; - trackIsolation_ = &pat::GenericParticle::caloIso; - } else - throw edm::Exception(edm::errors::Configuration) << "Invalid isolation type: " << iso << ". Valid types are:" - << "'track', 'ecal', 'hcal', 'calo'\n"; - } - bool operator()(const reco::Candidate &z) const { - if (z.numberOfDaughters() != 2) - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate has " << z.numberOfDaughters() << " daughters, 2 expected\n"; - const reco::Candidate *dau0 = z.daughter(0); - const reco::Candidate *dau1 = z.daughter(1); - if (!(dau0->hasMasterClone() && dau1->hasMasterClone())) - throw edm::Exception(edm::errors::InvalidReference) << "Candidate daughters have no master clone\n"; - const reco::Candidate *m0 = &*dau0->masterClone(), *m1 = &*dau1->masterClone(); - double iso0 = -1, iso1 = -1; - const pat::Muon *mu0 = dynamic_cast(m0); - if (mu0 != nullptr) { - iso0 = ((*mu0).*(leptonIsolation_))(); - } else { - const pat::GenericParticle *trk0 = dynamic_cast(m0); - if (trk0 != nullptr) { - iso0 = ((*trk0).*(trackIsolation_))(); - } else { - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n"; - } - } - const pat::Muon *mu1 = dynamic_cast(m1); - if (mu1 != nullptr) { - iso1 = ((*mu1).*(leptonIsolation_))(); - } else { - const pat::GenericParticle *trk1 = dynamic_cast(m1); - if (trk1 != nullptr) { - iso1 = ((*trk1).*(trackIsolation_))(); - } else { - throw edm::Exception(edm::errors::InvalidReference) - << "Candidate daughter #1 is neither pat::Muons nor pat::GenericParticle\n"; - } - } - bool pass = isolator_(iso0, iso1); - return pass; - } - -private: - typedef float (pat::Lepton::*LeptonIsolationType)() const; - typedef float (pat::GenericParticle::*TrackIsolationType)() const; - LeptonIsolationType leptonIsolation_; - TrackIsolationType trackIsolation_; - Isolator isolator_; -}; - -namespace dummy { - void Isolationdummy() { - pat::Lepton pat; - //ignore return values - pat.trackIso(); - pat.ecalIso(); - pat.hcalIso(); - pat.caloIso(); - } -} // namespace dummy - -#include "CommonTools/UtilAlgos/interface/SingleObjectSelector.h" -#include "CommonTools/UtilAlgos/interface/AndSelector.h" -#include "CommonTools/UtilAlgos/interface/StringCutObjectSelector.h" - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuIsolatedSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuNonIsolatedSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuOneNonIsolatedSelector; - -typedef SingleObjectSelector< - reco::CandidateView, - AndSelector, StringCutObjectSelector > > - ZToMuMuTwoNonIsolatedSelector; - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZToMuMuIsolatedSelector); -DEFINE_FWK_MODULE(ZToMuMuNonIsolatedSelector); -DEFINE_FWK_MODULE(ZToMuMuOneNonIsolatedSelector); -DEFINE_FWK_MODULE(ZToMuMuTwoNonIsolatedSelector); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuSelector.cc b/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuSelector.cc deleted file mode 100644 index 94d7a6855edee..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/ZToMuMuSelector.cc +++ /dev/null @@ -1,189 +0,0 @@ -/* \class ZToMuMuSelector - * - * \author Juan Alcaraz, CIEMAT - * - */ -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -class ZToMuMuSelector : public edm::EDFilter { -public: - ZToMuMuSelector(const edm::ParameterSet &); - bool filter(edm::Event &, const edm::EventSetup &) override; - -private: - edm::EDGetTokenT muonToken_; - edm::EDGetTokenT > isoToken_; - double ptCut_; - double etaCut_; - double massZMin_; - double massZMax_; - - bool onlyGlobalMuons_; - edm::EDGetTokenT trackerToken_; - edm::EDGetTokenT > isoTrackerToken_; - int minTrackerHits_; -}; - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -using namespace edm; -using namespace std; -using namespace reco; - -ZToMuMuSelector::ZToMuMuSelector(const ParameterSet &cfg) - : muonToken_(consumes(cfg.getParameter("MuonTag"))), - isoToken_(consumes >(cfg.getParameter("IsolationTag"))), - ptCut_(cfg.getParameter("PtCut")), - etaCut_(cfg.getParameter("EtaCut")), - massZMin_(cfg.getParameter("MassZMin")), - massZMax_(cfg.getParameter("MassZMax")), - - onlyGlobalMuons_(cfg.getParameter("OnlyGlobalMuons")), - trackerToken_(mayConsume( - cfg.getUntrackedParameter("TrackerTag", edm::InputTag("ctfWithMaterialTracks")))), - isoTrackerToken_(mayConsume >( - cfg.getUntrackedParameter("TrackerIsolationTag", edm::InputTag("zMuMuTrackerIsolations")))), - minTrackerHits_(cfg.getUntrackedParameter("MinTrackerHits", 7)) {} - -bool ZToMuMuSelector::filter(Event &ev, const EventSetup &) { - Handle muonCollection; - ev.getByToken(muonToken_, muonCollection); - if (!muonCollection.isValid()) { - LogTrace("") << ">>> Muon collection does not exist !!!"; - return false; - } - - Handle > isoMap; - ev.getByToken(isoToken_, isoMap); - if (!isoMap.isValid()) { - LogTrace("") << ">>> ISO Muon collection does not exist !!!"; - return false; - } - - Handle trackerCollection; - Handle > isoTrackerMap; - if (!onlyGlobalMuons_) { - ev.getByToken(trackerToken_, trackerCollection); - if (!trackerCollection.isValid()) { - LogTrace("") << ">>> Tracker collection does not exist !!!"; - return false; - } - - ev.getByToken(isoTrackerToken_, isoTrackerMap); - if (!isoTrackerMap.isValid()) { - LogTrace("") << ">>> ISO Tracker collection does not exist !!!"; - return false; - } - } - - unsigned int npairs = 0; - bool globalCombinationFound = false; - for (unsigned int i = 0; i < muonCollection->size(); i++) { - TrackRef mu(muonCollection, i); - LogTrace("") << "> Processing muon number " << i << "..."; - double pt = mu->pt(); - LogTrace("") << "\t... pt= " << pt << " GeV"; - if (pt < ptCut_) - continue; - double eta = mu->eta(); - LogTrace("") << "\t... eta= " << eta; - if (fabs(eta) > etaCut_) - continue; - bool iso = (*isoMap)[mu]; - LogTrace("") << "\t... isolated? " << iso; - if (!iso) - continue; - - for (unsigned int j = i + 1; j < muonCollection->size(); j++) { - TrackRef mu2(muonCollection, j); - LogTrace("") << "> Processing second muon number " << j << "..."; - double pt2 = mu2->pt(); - LogTrace("") << "\t... pt2= " << pt2 << " GeV"; - if (pt2 < ptCut_) - continue; - double eta2 = mu2->eta(); - LogTrace("") << "\t... eta2= " << eta2; - if (fabs(eta2) > etaCut_) - continue; - bool iso2 = (*isoMap)[mu2]; - LogTrace("") << "\t... isolated2? " << iso2; - if (!iso2) - continue; - - double z_en = mu->p() + mu2->p(); - double z_px = mu->px() + mu2->px(); - double z_py = mu->py() + mu2->py(); - double z_pz = mu->pz() + mu2->pz(); - double massZ = z_en * z_en - z_px * z_px - z_py * z_py - z_pz * z_pz; - massZ = (massZ > 0) ? sqrt(massZ) : 0; - LogTrace("") << "\t... Z_en, Z_px, Z_py, Z_pz= " << z_en << ", " << z_px << ", " << z_py << ", " << z_pz - << " GeV"; - LogTrace("") << "\t... (GM-GM) Invariant reconstructed mass= " << massZ << " GeV"; - if (massZ < massZMin_) - continue; - if (massZ > massZMax_) - continue; - globalCombinationFound = true; - npairs++; - } - - if (onlyGlobalMuons_ || globalCombinationFound) - continue; - - for (unsigned int j = 0; j < trackerCollection->size(); j++) { - TrackRef mu2(trackerCollection, j); - LogTrace("") << "> Processing track number " << j << "..."; - double pt2 = mu2->pt(); - LogTrace("") << "\t... pt3= " << pt2 << " GeV"; - if (pt2 < ptCut_) - continue; - double eta2 = mu2->eta(); - LogTrace("") << "\t... eta3= " << eta2; - if (fabs(eta2) > etaCut_) - continue; - int nhits2 = mu2->numberOfValidHits(); - LogTrace("") << "\t... nhits3= " << nhits2; - if (nhits2 < minTrackerHits_) - continue; - bool iso2 = (*isoTrackerMap)[mu2]; - LogTrace("") << "\t... isolated3? " << iso2; - if (!iso2) - continue; - - double z_en = mu->p() + mu2->p(); - double z_px = mu->px() + mu2->px(); - double z_py = mu->py() + mu2->py(); - double z_pz = mu->pz() + mu2->pz(); - double massZ = z_en * z_en - z_px * z_px - z_py * z_py - z_pz * z_pz; - massZ = (massZ > 0) ? sqrt(massZ) : 0; - LogTrace("") << "\t... Z_en, Z_px, Z_py, Z_pz= " << z_en << ", " << z_px << ", " << z_py << ", " << z_pz - << " GeV"; - LogTrace("") << "\t... (GM-TK) Invariant reconstructed mass= " << massZ << " GeV"; - if (massZ < massZMin_) - continue; - if (massZ > massZMax_) - continue; - npairs++; - } - } - - LogTrace("") << "> Number of Z pairs found= " << npairs; - if (npairs < 1) { - LogTrace("") << ">>>> Event REJECTED"; - return false; - } - LogTrace("") << ">>>> Event SELECTED!!!"; - - return true; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(ZToMuMuSelector); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/dimuonHLTFilterCheck.cc b/ElectroWeakAnalysis/ZMuMu/plugins/dimuonHLTFilterCheck.cc deleted file mode 100644 index f168e85063021..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/dimuonHLTFilterCheck.cc +++ /dev/null @@ -1,308 +0,0 @@ -/* \class dimuonHLTFilterCheck - * - * author: Davide Piccolo - * - * check HLTFilter for dimuon studies: - * - */ - -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/Math/interface/deltaR.h" - -// access trigger results -#include "FWCore/Common/interface/TriggerNames.h" -#include -#include -#include - -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include -#include -#include -using namespace edm; -using namespace std; -using namespace reco; -using namespace trigger; - -class dimuonHLTFilterCheck : public edm::EDAnalyzer { -public: - dimuonHLTFilterCheck(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - vector nDimuonsByType(const Handle d); - vector nMuonsByType(const Handle d); - void endJob() override; - EDGetTokenT triggerResultsToken; - EDGetTokenT tracksToken; - EDGetTokenT muonToken; - EDGetTokenT anyDimuonToken; - - // general histograms - - // global counters - int counterMatrix[5][5]; -}; - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include -#include -#include - -dimuonHLTFilterCheck::dimuonHLTFilterCheck(const ParameterSet& pset) - : // trigger results - triggerResultsToken(consumes(pset.getParameter("triggerResults"))), - tracksToken(consumes(pset.getParameter("tracks"))), - muonToken(consumes(pset.getParameter("muons"))), - anyDimuonToken(consumes(pset.getParameter("anyDimuon"))) { - Service fs; - - // general histograms - - // general counters - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - counterMatrix[i][j] = 0; - } - } -} - -void dimuonHLTFilterCheck::analyze(const Event& event, const EventSetup& setup) { - Handle triggerResults; // trigger response - Handle anyDimuon; // any dimuon pair - Handle tracks; // any track - Handle muons; // any muon - - event.getByToken(triggerResultsToken, triggerResults); - event.getByToken(anyDimuonToken, anyDimuon); - event.getByToken(tracksToken, tracks); - event.getByToken(muonToken, muons); - - const edm::TriggerNames& triggerNames = event.triggerNames(*triggerResults); - - // map of MU triggers of interest - map dimuonHLT_triggers; - dimuonHLT_triggers.insert(make_pair("HLT1MuonPrescalePt3", 0)); - dimuonHLT_triggers.insert(make_pair("HLT1MuonPrescalePt7x7", 1)); - dimuonHLT_triggers.insert(make_pair("HLT1MuonIso", 2)); - dimuonHLT_triggers.insert(make_pair("HLT1MuonNonIso15", 3)); - dimuonHLT_triggers.insert(make_pair("HLT2MuonNonIso", 4)); - // map of JET triggers of interest - map jetHLT_triggers; - jetHLT_triggers.insert(make_pair("HLT1jetPE5", 0)); - jetHLT_triggers.insert(make_pair("HLT1jetPE3", 1)); - jetHLT_triggers.insert(make_pair("HLT1jetPE1", 2)); - jetHLT_triggers.insert(make_pair("candHLT1jetPE7", 3)); - - bool trgMask[5]; - for (int i = 0; i < 5; i++) - trgMask[i] = false; - - // table of possible dimuons - string dimuonTableNames[10]; - dimuonTableNames[0] = "global-global"; - dimuonTableNames[1] = "global-trackerSta"; - dimuonTableNames[2] = "global-sta"; - dimuonTableNames[3] = "global-tracker"; - dimuonTableNames[4] = "trackerSta-trackerSta"; - dimuonTableNames[5] = "trackerSta-sta"; - dimuonTableNames[6] = "trackerSta-tracker"; - dimuonTableNames[7] = "sta-sta"; - dimuonTableNames[8] = "sta-tracker"; - dimuonTableNames[9] = "tracker-tracker"; - // table of possible muons - string muonTableNames[10]; - muonTableNames[0] = "global"; - muonTableNames[1] = "trackerSta"; - muonTableNames[2] = "sta"; - muonTableNames[3] = "tracker"; - - cout << "-------------------NEW event---------------------------" << endl; - // check the dimuon reconstruction - vector dimuonTable; - dimuonTable = nDimuonsByType(anyDimuon); - // check the muon reconstruction - vector muonTable; - muonTable = nMuonsByType(muons); - - if (triggerResults.product()->wasrun()) { - // cout << "at least one path out of " << triggerResults.product()->size() << " ran? " << triggerResults.product()->wasrun() << endl; - - if (triggerResults.product()->accept()) { - // cout << endl << "at least one path accepted? " << triggerResults.product()->accept() << endl; - - const unsigned int n_TriggerResults(triggerResults.product()->size()); - for (unsigned int itrig(0); itrig < n_TriggerResults; ++itrig) { - if (triggerResults.product()->accept(itrig)) { - map::iterator iterMuHLT = dimuonHLT_triggers.find(triggerNames.triggerName(itrig)); - if (iterMuHLT != dimuonHLT_triggers.end()) { - cout << "ecco la chiave Mu HLT " << (*iterMuHLT).second << endl; - if (triggerResults.product()->state(itrig) == 1) - trgMask[(*iterMuHLT).second] = true; - } // end if key found - map::iterator iterjetHLT = jetHLT_triggers.find(triggerNames.triggerName(itrig)); - if (iterjetHLT != jetHLT_triggers.end()) { - cout << "ecco la chiave jet HLT " << (*iterjetHLT).second << endl; - } // end if key found - - } // end if trigger accepted - } // end loop on triggerResults - } // end if at least one triggerResult accepted - } // end if wasRun - if (muonTable[0] > 1) { - for (unsigned int i = 0; i < muons->size(); ++i) { //loop on candidates - const Candidate& muCand = (*muons)[i]; //the candidate - CandidateBaseRef muCandRef = muons->refAt(i); - TrackRef muStaComponentRef = muCand.get(); // standalone part of muon - TrackRef muTrkComponentRef = muCand.get(); // track part of muon - if (muCandRef->isGlobalMuon()) { - cout << "muCand : " << i << " pt " << muCandRef->pt() << " eta " << muCandRef->eta() << endl; - cout << "muCandStaComponent : " << i << " pt " << muStaComponentRef->pt() << " eta " - << muStaComponentRef->eta() << endl; - } - } - } - - // fill counterMatrix - for (int i = 0; i < 5; i++) { - for (int j = 0; j < 5; j++) { - if (trgMask[i] && trgMask[j]) - counterMatrix[i][j]++; - } - } -} // end analyze - -vector dimuonHLTFilterCheck::nDimuonsByType(const Handle d) { - vector n_; - int nCat = - 10; // number of dimuon categories (0 = glb-glb, 1 = glb-trkSta, 2 = glb-sta, 3 = glb-trk, 4 = trkSta-trkSta, 5 = trkSta-sta, 6 = trkSta-trk, 7 = sta-sta, 8 = sta-trk, 9 trk-trk) - // reset vector - n_.reserve(nCat); - for (int i = 0; i < nCat; i++) - n_.push_back(0); - for (unsigned int i = 0; i < d->size(); ++i) { //loop on candidates - // const Candidate & dCand = (*d)[i]; //the candidate - bool mu0global = false; - bool mu0trackerSta = false; - bool mu0sta = false; - bool mu0tracker = false; - bool mu1global = false; - bool mu1trackerSta = false; - bool mu1sta = false; - bool mu1tracker = false; - CandidateBaseRef dCandRef = d->refAt(i); - const Candidate* mu0 = dCandRef->daughter(0); - const Candidate* mu1 = dCandRef->daughter(1); - if (mu0->isGlobalMuon()) - mu0global = true; - if (!mu0->isGlobalMuon() && mu0->isStandAloneMuon() && mu0->isTrackerMuon()) - mu0trackerSta = true; - if (!mu0->isGlobalMuon() && mu0->isStandAloneMuon() && !mu0->isTrackerMuon()) - mu0sta = true; - if (!mu0->isGlobalMuon() && !mu0->isStandAloneMuon() && mu0->isTrackerMuon()) - mu0tracker = true; - if (mu1->isGlobalMuon()) - mu1global = true; - if (!mu1->isGlobalMuon() && mu1->isStandAloneMuon() && mu1->isTrackerMuon()) - mu1trackerSta = true; - if (!mu1->isGlobalMuon() && mu1->isStandAloneMuon() && !mu1->isTrackerMuon()) - mu1sta = true; - if (!mu1->isGlobalMuon() && !mu1->isStandAloneMuon() && mu1->isTrackerMuon()) - mu1tracker = true; - - if (mu0global && mu1global) - n_[0]++; - if ((mu0global && mu1trackerSta) || (mu1global && mu0trackerSta)) - n_[1]++; - if ((mu0global && mu1sta) || (mu1global && mu0sta)) - n_[2]++; - if ((mu0global && mu1tracker) || (mu1global && mu0tracker)) - n_[3]++; - if (mu0trackerSta && mu1trackerSta) - n_[4]++; - if ((mu0trackerSta && mu1sta) || (mu1trackerSta && mu0sta)) - n_[5]++; - if ((mu0trackerSta && mu1tracker) || (mu1trackerSta && mu0tracker)) - n_[6]++; - if (mu0sta && mu1sta) - n_[7]++; - if ((mu0sta && mu1tracker) || (mu1sta && mu0tracker)) - n_[8]++; - if (mu0tracker && mu1tracker) - n_[9]++; - } - return n_; -} - -vector dimuonHLTFilterCheck::nMuonsByType(const Handle d) { - vector n_; - int nCat = 4; // number of muon categories (0 = glb, 1 = trkSta, 2 = sta, 3 = trk) - // reset vector - n_.reserve(nCat); - for (int i = 0; i < nCat; i++) - n_.push_back(0); - for (unsigned int i = 0; i < d->size(); ++i) { //loop on candidates - // const Candidate & dCand = (*d)[i]; //the candidate - bool muglobal = false; - bool mutrackerSta = false; - bool musta = false; - bool mutracker = false; - CandidateBaseRef muCandRef = d->refAt(i); - if (muCandRef->isGlobalMuon()) - muglobal = true; - if (!muCandRef->isGlobalMuon() && muCandRef->isStandAloneMuon() && muCandRef->isTrackerMuon()) - mutrackerSta = true; - if (!muCandRef->isGlobalMuon() && muCandRef->isStandAloneMuon() && !muCandRef->isTrackerMuon()) - musta = true; - if (!muCandRef->isGlobalMuon() && !muCandRef->isStandAloneMuon() && muCandRef->isTrackerMuon()) - mutracker = true; - cout << "muglobal " << muglobal << " mutrackserSta " << mutrackerSta << " must " << musta << " mutracker " - << mutracker << endl; - if (muglobal) - n_[0]++; - if (mutrackerSta) - n_[1]++; - if (musta) - n_[2]++; - if (mutracker) - n_[3]++; - } - return n_; -} - -void dimuonHLTFilterCheck::endJob() { - cout << "------------------------------------ Counters --------------------------------" << endl; - for (int i = 0; i < 5; i++) { - cout << "trg " << i << ": "; - for (int j = 0; j < 5; j++) { - cout << counterMatrix[i][j] << " "; - } - cout << endl; - } -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(dimuonHLTFilterCheck); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/gamma_radiative_analysis.cc b/ElectroWeakAnalysis/ZMuMu/plugins/gamma_radiative_analysis.cc deleted file mode 100644 index 05b30219eaf0f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/gamma_radiative_analysis.cc +++ /dev/null @@ -1,319 +0,0 @@ -/* \class gamma_radiative_analyzer - * - * author: Pasquale Noli - * - * Gamma Radiative analyzer - * - * - */ -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "DataFormats/RecoCandidate/interface/RecoCandidate.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/OverlapChecker.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/Lepton.h" -#include "DataFormats/PatCandidates/interface/GenericParticle.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" -#include "DataFormats/RecoCandidate/interface/IsoDeposit.h" -#include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Candidate/interface/CandAssociation.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include -#include -#include -#include "TH1.h" -#include "TH2.h" -//#include "TH3.h" - -using namespace edm; -using namespace std; -using namespace reco; -using namespace isodeposit; - -typedef edm::ValueMap IsolationCollection; - -class gamma_radiative_analyzer : public edm::EDAnalyzer { -public: - gamma_radiative_analyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - - EDGetTokenT zMuMuToken_; - EDGetTokenT zMuMuMatchMapToken_; - EDGetTokenT zMuTkToken_; - EDGetTokenT zMuTkMatchMapToken_; - EDGetTokenT zMuSaToken_; - EDGetTokenT zMuSaMatchMapToken_; - double dRVeto_, dRTrk_, ptThreshold_; - //histograms - TH2D *h_gamma_pt_eta_, *h_mu_pt_eta_FSR_, *h_mu_pt_eta_no_FSR_; - - //boolean - bool FSR_mu, FSR_tk, FSR_mu0, FSR_mu1; - - //counter - int zmmcounter, zmscounter, zmtcounter, numOfEvent, numofGamma; -}; - -gamma_radiative_analyzer::gamma_radiative_analyzer(const ParameterSet& pset) - : zMuMuToken_(consumes(pset.getParameter("zMuMu"))), - zMuMuMatchMapToken_(mayConsume(pset.getParameter("zMuMuMatchMap"))), - zMuTkToken_(consumes(pset.getParameter("zMuTk"))), - zMuTkMatchMapToken_(mayConsume(pset.getParameter("zMuTkMatchMap"))), - zMuSaToken_(consumes(pset.getParameter("zMuSa"))), - zMuSaMatchMapToken_(mayConsume(pset.getParameter("zMuSaMatchMap"))) { - zmmcounter = 0; - zmscounter = 0; - zmtcounter = 0; - numOfEvent = 0; - numofGamma = 0; - Service fs; - - // general histograms - h_gamma_pt_eta_ = fs->make("h_gamma_pt_eta", "pt vs eta of gamma", 100, 20, 100, 100, -2.0, 2.0); - h_mu_pt_eta_FSR_ = fs->make("h_mu_pt_eta_FSR", "pt vs eta of muon with FSR", 100, 20, 100, 100, -2.0, 2.0); - h_mu_pt_eta_no_FSR_ = - fs->make("h_mu_pt_eta_no_FSR", "pt vs eta of of muon withot FSR", 100, 20, 100, 100, -2.0, 2.0); -} - -void gamma_radiative_analyzer::analyze(const Event& event, const EventSetup& setup) { - Handle zMuMu; //Collection of Z made by Mu global + Mu global - Handle zMuMuMatchMap; //Map of Z made by Mu global + Mu global with MC - event.getByToken(zMuMuToken_, zMuMu); - Handle zMuTk; //Collection of Z made by Mu global + Track - Handle zMuTkMatchMap; - event.getByToken(zMuTkToken_, zMuTk); - Handle zMuSa; //Collection of Z made by Mu global + Sa - Handle zMuSaMatchMap; - event.getByToken(zMuSaToken_, zMuSa); - numOfEvent++; - // ZMuMu - if (!zMuMu->empty()) { - event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap); - for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates - - const Candidate& zMuMuCand = (*zMuMu)[i]; //the candidate - CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i); - - CandidateBaseRef dau0 = zMuMuCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuMuCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::Muon& mu1 = dynamic_cast(*dau1); - - double zmass = zMuMuCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { - GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef]; - if (zMuMuMatch.isNonnull()) { // ZMuMu matched - zmmcounter++; - FSR_mu0 = false; - FSR_mu1 = false; - - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genLepton(); - const Candidate* motherMu0 = muMc0->mother(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu0->daughter(j)->eta(); - double ptG = motherMu0->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt0, eta0); - FSR_mu0 = true; - numofGamma++; - } - } - } //end check of gamma - if (!FSR_mu0) - h_mu_pt_eta_no_FSR_->Fill(pt0, eta0); - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu1->daughter(j)->eta(); - double ptG = motherMu1->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt1, eta1); - FSR_mu1 = true; - numofGamma++; - } - } - } //end check of gamma - if (!FSR_mu1) - h_mu_pt_eta_no_FSR_->Fill(pt1, eta1); - } // end MC match - } //end of cuts - } // end loop on ZMuMu cand - } // end if ZMuMu size > 0 - - // ZMuSa - if (!zMuSa->empty()) { - event.getByToken(zMuSaMatchMapToken_, zMuSaMatchMap); - for (unsigned int i = 0; i < zMuSa->size(); ++i) { //loop on candidates - - const Candidate& zMuSaCand = (*zMuSa)[i]; //the candidate - CandidateBaseRef zMuSaCandRef = zMuSa->refAt(i); - - CandidateBaseRef dau0 = zMuSaCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuSaCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::Muon& mu1 = dynamic_cast(*dau1); - - double zmass = zMuSaCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { - GenParticleRef zMuSaMatch = (*zMuSaMatchMap)[zMuSaCandRef]; - if (zMuSaMatch.isNonnull()) { // ZMuSa matched - FSR_mu0 = false; - FSR_mu1 = false; - zmscounter++; - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genLepton(); - const Candidate* motherMu0 = muMc0->mother(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu0->daughter(j)->eta(); - double ptG = motherMu0->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt0, eta0); - numofGamma++; - FSR_mu0 = true; - } - } - } //end check of gamma - if (!FSR_mu0) - h_mu_pt_eta_no_FSR_->Fill(pt0, eta0); - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu1->daughter(j)->eta(); - double ptG = motherMu1->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt1, eta1); - numofGamma++; - FSR_mu1 = true; - } - } - } //end check of gamma - if (!FSR_mu1) - h_mu_pt_eta_no_FSR_->Fill(pt1, eta1); - } // end MC match - } //end of cuts - } // end loop on ZMuSa cand - } // end if ZMuSa size > 0 - - //ZMuTk - if (!zMuTk->empty()) { - event.getByToken(zMuTkMatchMapToken_, zMuTkMatchMap); - for (unsigned int i = 0; i < zMuTk->size(); ++i) { //loop on candidates - const Candidate& zMuTkCand = (*zMuTk)[i]; //the candidate - CandidateBaseRef zMuTkCandRef = zMuTk->refAt(i); - - CandidateBaseRef dau0 = zMuTkCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuTkCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::GenericParticle& mu1 = dynamic_cast(*dau1); - - double zmass = zMuTkCand.mass(); - double pt0 = mu0.pt(); - double pt1 = mu1.pt(); - double eta0 = mu0.eta(); - double eta1 = mu1.eta(); - if (pt0 > 20 && pt1 > 20 && abs(eta0) < 2 && abs(eta1) < 2 && zmass > 20 && zmass < 200) { //kinematical cuts - GenParticleRef zMuTkMatch = (*zMuTkMatchMap)[zMuTkCandRef]; - if (zMuTkMatch.isNonnull()) { // ZMuTk matched - FSR_mu = false; - FSR_tk = false; - zmtcounter++; - //MonteCarlo Study - const reco::GenParticle* muMc0 = mu0.genLepton(); - const reco::GenParticle* muMc1 = mu1.genParticle(); - const Candidate* motherMu0 = muMc0->mother(); - const Candidate* motherMu1 = muMc1->mother(); - int num_dau_muon0 = motherMu0->numberOfDaughters(); - int num_dau_muon1 = motherMu1->numberOfDaughters(); - if (num_dau_muon0 > 1) { - for (int j = 0; j < num_dau_muon0; ++j) { - int id = motherMu0->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu0->daughter(j)->eta(); - double ptG = motherMu0->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt0, eta0); - numofGamma++; - FSR_mu0 = true; - } - } - } //end check of gamma - if (!FSR_mu0) - h_mu_pt_eta_no_FSR_->Fill(pt0, eta0); - if (num_dau_muon1 > 1) { - for (int j = 0; j < num_dau_muon1; ++j) { - int id = motherMu1->daughter(j)->pdgId(); - if (id == 22) { - double etaG = motherMu1->daughter(j)->eta(); - double ptG = motherMu1->daughter(j)->pt(); - h_gamma_pt_eta_->Fill(ptG, etaG); - h_mu_pt_eta_FSR_->Fill(pt1, eta1); - numofGamma++; - FSR_mu1 = true; - } - } - } //end check of gamma - if (!FSR_mu1) - h_mu_pt_eta_no_FSR_->Fill(pt1, eta1); - } // end MC match - } //end Kine-cuts - } // end loop on ZMuTk cand - } // end if ZMuTk size > 0 -} // end analyze - -void gamma_radiative_analyzer::endJob() { - cout << " ============= Summary ==========" << endl; - cout << " Numero di eventi = " << numOfEvent << endl; - cout << " 1)Numero di ZMuMu matched dopo i tagli cinematici = " << zmmcounter << endl; - cout << " 2)Numero di ZMuSa matched dopo i tagli cinematici = " << zmscounter << endl; - cout << " 3)Numero di ZMuTk matched dopo i tagli cinematici = " << zmtcounter << endl; - cout << " 4)Number of gamma = " << numofGamma << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(gamma_radiative_analyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/triggerEfficiency.cc b/ElectroWeakAnalysis/ZMuMu/plugins/triggerEfficiency.cc deleted file mode 100644 index cc40f20da9ffa..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/triggerEfficiency.cc +++ /dev/null @@ -1,168 +0,0 @@ -/* \class testAnalyzer - * author: Noli Pasquale - * version 0.1 - * TriggerEfficiency module - * - */ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Candidate/interface/Particle.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/AssociationVector.h" -#include "DataFormats/PatCandidates/interface/PATObject.h" -#include "TH1.h" -#include -#include -#include -#include -using namespace edm; -using namespace std; -using namespace reco; -using namespace pat; - -class testAnalyzer : public edm::EDAnalyzer { -public: - testAnalyzer(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - int SingleTrigger_, DoubleTrigger_, NoTrigger_, zmumuIncrement_; - EDGetTokenT > selectMuonToken_; - EDGetTokenT zMuMuToken_; - string pathName_; - int nbinsEta_; - double minEta_, maxEta_; - int nbinsPt_; - double minPt_, maxPt_; - int nbinsEtaPt_; - TH1D* h_pt_distribution_; - TH1D *h_numberTrigMuon_, *h_numberMuon_; - TH1D *h_numberTrigMuon_ptStudy_, *h_numberMuon_ptStudy_; - TH1D* h_EtaDist_Pt80_; - vector vectorPt, vectorEta; -}; - -testAnalyzer::testAnalyzer(const edm::ParameterSet& pset) - : selectMuonToken_(consumes >(pset.getParameter("selectMuon"))), - zMuMuToken_(consumes(pset.getParameter("ZMuMu"))), - pathName_(pset.getParameter("pathName")), - nbinsEta_(pset.getParameter("EtaBins")), - minEta_(pset.getParameter("minEta")), - maxEta_(pset.getParameter("maxEta")), - nbinsPt_(pset.getParameter("PtBins")), - minPt_(pset.getParameter("minPt")), - maxPt_(pset.getParameter("maxPt")), - nbinsEtaPt_(pset.getParameter("EtaPt80Bins")) { - SingleTrigger_ = 0; - DoubleTrigger_ = 0; - NoTrigger_ = 0; - zmumuIncrement_ = 0; - Service fs; - h_pt_distribution_ = fs->make("PtResolution ", "Pt Resolution", 200, -4., 4.); - h_numberMuon_ = fs->make("Denominatore", "Number of Muons vs Eta", nbinsEta_, minEta_, maxEta_); - h_numberTrigMuon_ = - fs->make("NumeratoreTrigMuon", "Number of Triggered Muons vs Eta", nbinsEta_, minEta_, maxEta_); - h_numberMuon_ptStudy_ = fs->make("DenominatorePtStudy", "Number of Muons vs Pt", nbinsPt_, minPt_, maxPt_); - h_numberTrigMuon_ptStudy_ = - fs->make("NumeratoreTrigMuonPtStudy", "Number of Triggered Muons vs Pt", nbinsPt_, minPt_, maxPt_); - h_EtaDist_Pt80_ = fs->make("EtaDistr", "Eta distribution (Pt>80)", nbinsEtaPt_, minEta_, maxEta_); -} - -void testAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - Handle > selectMuon; - event.getByToken(selectMuonToken_, selectMuon); - Handle zMuMu; - event.getByToken(zMuMuToken_, zMuMu); - int zmumuSize = zMuMu->size(); - if (zmumuSize > 0) { - for (int i = 0; i < zmumuSize; ++i) { - bool singleTrigFlag0 = false; - bool singleTrigFlag1 = false; - zmumuIncrement_++; - const Candidate& zMuMuCand = (*zMuMu)[i]; - CandidateBaseRef dau0 = zMuMuCand.daughter(0)->masterClone(); - CandidateBaseRef dau1 = zMuMuCand.daughter(1)->masterClone(); - const pat::Muon& mu0 = dynamic_cast(*dau0); //cast in patMuon - const pat::Muon& mu1 = dynamic_cast(*dau1); - const pat::TriggerObjectStandAloneCollection mu0HLTMatches = mu0.triggerObjectMatchesByPath(pathName_); - const pat::TriggerObjectStandAloneCollection mu1HLTMatches = mu1.triggerObjectMatchesByPath(pathName_); - double EtaPatMu0 = mu0.eta(); - double EtaPatMu1 = mu1.eta(); - double PtPatMu0 = mu0.pt(); - double PtPatMu1 = mu1.pt(); - h_numberMuon_->Fill(EtaPatMu0); - h_numberMuon_->Fill(EtaPatMu1); - h_numberMuon_ptStudy_->Fill(PtPatMu0); - h_numberMuon_ptStudy_->Fill(PtPatMu1); - int dimTrig0 = mu0HLTMatches.size(); - int dimTrig1 = mu1HLTMatches.size(); - if (dimTrig0 != 0) { - for (int j = 0; j < dimTrig0; ++j) { - singleTrigFlag0 = true; - h_numberTrigMuon_->Fill(EtaPatMu0); - h_numberTrigMuon_ptStudy_->Fill(PtPatMu0); - double PtTrig = mu0HLTMatches[j].pt(); - double PtDif = PtTrig - PtPatMu0; - h_pt_distribution_->Fill(PtDif); - } - } else { - if (PtPatMu0 > 80) { - h_EtaDist_Pt80_->Fill(EtaPatMu0); - vectorPt.push_back(PtPatMu0); - vectorEta.push_back(EtaPatMu0); - } - } - if (dimTrig1 != 0) { - for (int j = 0; j < dimTrig1; ++j) { - singleTrigFlag1 = true; - h_numberTrigMuon_->Fill(EtaPatMu1); - h_numberTrigMuon_ptStudy_->Fill(PtPatMu1); - double PtTrig = mu0HLTMatches[j].pt(); - double PtDif = PtTrig - PtPatMu1; - h_pt_distribution_->Fill(PtDif); - } - } else { - if (PtPatMu0 > 80) { - h_EtaDist_Pt80_->Fill(EtaPatMu1); - vectorPt.push_back(PtPatMu0); - vectorEta.push_back(EtaPatMu0); - } - } - - if (singleTrigFlag0 && singleTrigFlag1) - DoubleTrigger_++; - if (singleTrigFlag0 && !singleTrigFlag1) - SingleTrigger_++; - if (!singleTrigFlag0 && singleTrigFlag1) - SingleTrigger_++; - if (!singleTrigFlag0 && !singleTrigFlag1) - NoTrigger_++; - - } //end loop on ZMuMu candidates - } //end check on ZMuMu -} - -void testAnalyzer::endJob() { - cout << "DoubleTrigger = " << DoubleTrigger_ << " , SingleTrigger = " << SingleTrigger_ - << " , NoTrigger = " << NoTrigger_ << " ,zmumuIncrement = " << zmumuIncrement_ << endl; - double OneTrig = (double)SingleTrigger_ / (double)zmumuIncrement_; - double DoubleTrig = (double)DoubleTrigger_ / (double)zmumuIncrement_; - cout << "eps^2 = " << DoubleTrig << endl; - cout << "2eps(1 - eps) = " << OneTrig << endl; - int dimVec = vectorPt.size(); - for (int i = 0; i < dimVec; ++i) - cout << "Pt = " << vectorPt[i] << " ==> Eta = " << vectorEta[i] << endl; -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(testAnalyzer); diff --git a/ElectroWeakAnalysis/ZMuMu/plugins/zPdfUnc.cc b/ElectroWeakAnalysis/ZMuMu/plugins/zPdfUnc.cc deleted file mode 100644 index 708d267062956..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/plugins/zPdfUnc.cc +++ /dev/null @@ -1,218 +0,0 @@ -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" -#include -#include "TH1.h" - -class zPdfUnc : public edm::EDAnalyzer { -public: - zPdfUnc(const edm::ParameterSet& pset); - -private: - void analyze(const edm::Event& event, const edm::EventSetup& setup) override; - void endJob() override; - edm::EDGetTokenT genToken_; - edm::EDGetTokenT > pdfweightsToken_; - unsigned int pdfmember_, nbinsMass_, nbinsPt_, nbinsAng_; - double massMax_, ptMax_, angMax_; - double accPtMin_, accMassMin_, accMassMax_, accEtaMin_, accEtaMax_, accMassMinDenominator_; - TH1F* h_nZ_; - TH1F *h_mZMC_, *h_ptZMC_, *h_phiZMC_, *h_thetaZMC_, *h_etaZMC_, *h_rapidityZMC_; - TH1F *hardpt, *softpt, *hardeta, *softeta; - TH1F* h_weight_histo; - bool isMCatNLO_; - double nAcc_, nAccReW_, nBothMuHasZHasGrandMa_; - std::string filename_; -}; - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include "HepMC/WeightContainer.h" -#include "HepMC/GenEvent.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include -#include -#include - -using namespace std; -using namespace reco; -using namespace edm; - -zPdfUnc::zPdfUnc(const ParameterSet& pset) - : genToken_(consumes(pset.getParameter("genParticles"))), - pdfweightsToken_(consumes >(pset.getParameter("pdfweights"))), - pdfmember_(pset.getUntrackedParameter("pdfmember")), - nbinsMass_(pset.getUntrackedParameter("nbinsMass")), - nbinsPt_(pset.getUntrackedParameter("nbinsPt")), - nbinsAng_(pset.getUntrackedParameter("nbinsAng")), - massMax_(pset.getUntrackedParameter("massMax")), - ptMax_(pset.getUntrackedParameter("ptMax")), - angMax_(pset.getUntrackedParameter("angMax")), - accPtMin_(pset.getUntrackedParameter("accPtMin")), - accMassMin_(pset.getUntrackedParameter("accMassMin")), - accMassMax_(pset.getUntrackedParameter("accMassMax")), - accEtaMin_(pset.getUntrackedParameter("accEtaMin")), - accEtaMax_(pset.getUntrackedParameter("accEtaMax")), - accMassMinDenominator_(pset.getUntrackedParameter("accMassMinDenominator")), - isMCatNLO_(pset.getUntrackedParameter("isMCatNLO")), - filename_(pset.getUntrackedParameter("outfilename")) { - cout << ">>> Z Histogrammer constructor" << endl; - Service fs; - - TFileDirectory ZMCHisto = fs->mkdir("ZMCHisto"); - h_nZ_ = ZMCHisto.make("ZNumber", "number of Z particles", 11, -0.5, 10.5); - h_weight_histo = ZMCHisto.make("weight_histo", "weight_histo", 20, -10, 10); - - h_mZMC_ = ZMCHisto.make("ZMCMass", "Z MC mass (GeV/c^{2})", nbinsMass_, 0, massMax_); - h_ptZMC_ = ZMCHisto.make("ZMCPt", "Z MC p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - hardpt = ZMCHisto.make("hardpt", "hard muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - softpt = ZMCHisto.make("softpt", "soft muon p_{t} (GeV/c)", nbinsPt_, 0, ptMax_); - - h_phiZMC_ = ZMCHisto.make("ZMCPhi", "Z MC #phi", nbinsAng_, -angMax_, angMax_); - h_thetaZMC_ = ZMCHisto.make("ZMCTheta", "Z MC #theta", nbinsAng_, 0, angMax_); - h_etaZMC_ = ZMCHisto.make("ZMCEta", "Z MC #eta", nbinsAng_, -angMax_, angMax_); - h_rapidityZMC_ = ZMCHisto.make("ZMCRapidity", "Z MC y", nbinsAng_, -angMax_, angMax_); - - hardeta = ZMCHisto.make("hard muon eta", "hard muon #eta", nbinsAng_, -angMax_, angMax_); - softeta = ZMCHisto.make("soft muon eta", "soft muon #eta", nbinsAng_, -angMax_, angMax_); - nAcc_ = 0.; - nAccReW_ = 0; - nBothMuHasZHasGrandMa_ = 0; -} - -void zPdfUnc::analyze(const edm::Event& event, const edm::EventSetup& setup) { - cout << ">>> Z Histogrammer analyze" << endl; - - Handle gen; - Handle > pdfweights; - - event.getByToken(genToken_, gen); - event.getByToken(pdfweightsToken_, pdfweights); - - // get weight and fill it to histogram - std::vector weights = (*pdfweights); - - unsigned int nmembers = weights.size(); - - double weight = weights[pdfmember_]; - - h_weight_histo->Fill(weight); - - cout << "found nmember: " << nmembers << endl; - cout << "taken the member n " << pdfmember_ << " weight= " << weight << endl; - - std::vector muons; - - for (unsigned int i = 0; i < gen->size(); ++i) { - const GenParticle& muMC = (*gen)[i]; - // filling only muons coming form Z - if (abs(muMC.pdgId()) == 13 && muMC.status() == 1 && muMC.numberOfMothers() > 0) { - if (muMC.mother()->numberOfMothers() > 0) { - cout << "I'm getting a muon \n" - << "with " - << "muMC.numberOfMothers() " << muMC.numberOfMothers() << "\n the first mother has pdgId " - << muMC.mother()->pdgId() << "with " - << "muMC.mother()->numberOfMothers() " << muMC.mother()->numberOfMothers() - << "\n the first grandma has pdgId " << muMC.mother()->mother()->pdgId() << endl; - if (muMC.mother()->mother()->pdgId() == 23) - muons.push_back(muMC); - } - } - } - - cout << "finally I selected " << muons.size() << " muons" << endl; - - // if there are at least two muons, - // calculate invarant mass of first two and fill it into histogram - - double inv_mass = 0.0; - double Zpt_ = 0.0; - double Zeta_ = 0.0; - double Ztheta_ = 0.0; - double Zphi_ = 0.0; - double Zrapidity_ = 0.0; - - if (muons.size() > 1) { - if (muons[0].mother()->mother()->pdgId() == 23 && muons[1].mother()->mother()->pdgId() == 23) - nBothMuHasZHasGrandMa_++; - math::XYZTLorentzVector tot_momentum(muons[0].p4()); - math::XYZTLorentzVector mom2(muons[1].p4()); - tot_momentum += mom2; - inv_mass = sqrt(tot_momentum.mass2()); - - Zpt_ = tot_momentum.pt(); - Zeta_ = tot_momentum.eta(); - Ztheta_ = tot_momentum.theta(); - Zphi_ = tot_momentum.phi(); - Zrapidity_ = tot_momentum.Rapidity(); - - // IMPORTANT: use the weight of the event ... - - double weight_sign = weight; - //double weight_sign = 1. ; - // fill the denominator numbers only if mass>accMassMinDenominator and go on in that case - if (inv_mass > accMassMinDenominator_) { - h_mZMC_->Fill(inv_mass, weight_sign); - h_ptZMC_->Fill(Zpt_, weight_sign); - h_etaZMC_->Fill(Zeta_, weight_sign); - h_thetaZMC_->Fill(Ztheta_, weight_sign); - h_phiZMC_->Fill(Zphi_, weight_sign); - h_rapidityZMC_->Fill(Zrapidity_, weight_sign); - - double pt1 = muons[0].pt(); - double pt2 = muons[1].pt(); - double eta1 = muons[0].eta(); - double eta2 = muons[1].eta(); - if (pt1 > pt2) { - hardpt->Fill(pt1, weight_sign); - softpt->Fill(pt2, weight_sign); - hardeta->Fill(eta1, weight_sign); - softeta->Fill(eta2, weight_sign); - } else { - hardpt->Fill(pt2, weight_sign); - softpt->Fill(pt1, weight_sign); - hardeta->Fill(eta2, weight_sign); - softeta->Fill(eta1, weight_sign); - } - - //evaluating the geometric acceptance - if (pt1 >= accPtMin_ && pt2 >= accPtMin_ && fabs(eta1) >= accEtaMin_ && fabs(eta2) >= accEtaMin_ && - fabs(eta1) <= accEtaMax_ && fabs(eta2) <= accEtaMax_ && inv_mass >= accMassMin_ && inv_mass <= accMassMax_) { - nAcc_++; - nAccReW_ += weight; - } - } - } -} - -void zPdfUnc::endJob() { - cout << " number of events accepted :" << nAcc_ << endl; - cout << " number of events accepted reweigthed :" << nAccReW_ << endl; - double nev = h_mZMC_->GetEntries(); - double nev_weigthed = h_mZMC_->Integral(); - cout << " number of total events :" << nev << endl; - cout << " number of total weighted events :" << nev_weigthed << endl; - cout << " number of cases in which BothMuHasZHasGrandMa :" << nBothMuHasZHasGrandMa_ << endl; - double eff = (double)nAcc_ / (double)h_mZMC_->GetEntries(); - double eff_rew = (double)nAccReW_ / (double)h_mZMC_->Integral(0, nbinsMass_ + 1); - double err = sqrt(eff * (1. - eff) / (double)h_mZMC_->GetEntries()); - double err_rew = sqrt(eff_rew * (1. - eff_rew) / (double)h_mZMC_->Integral(0, nbinsMass_ + 1)); - cout << " geometric acceptance: " << eff << "+/-" << err << endl; - cout << " geometric acceptance reweighted: " << eff_rew << "+/-" << err_rew << endl; - - ofstream myfile; - myfile.open(filename_.c_str(), std::ios::app); - myfile << eff << " " << eff_rew << " " << nev << " " << nev_weigthed << endl; - myfile.close(); -} -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(zPdfUnc); diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisNtupler_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisNtupler_cff.py deleted file mode 100644 index 1cce3708768b9..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisNtupler_cff.py +++ /dev/null @@ -1,748 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * - -import copy - - -### CandViewNtpProducer Configuration - common to all categories. - -goodZToMuMuEdmNtuple = cms.EDProducer( - "CandViewNtpProducer", - src=cms.InputTag("goodZToMuMuAtLeast1HLTLoose"), - lazyParser=cms.untracked.bool(True), - prefix=cms.untracked.string("z"), - eventInfo=cms.untracked.bool(True), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("Mass"), - quantity = cms.untracked.string("mass") - ), - cms.PSet( - tag = cms.untracked.string("Pt"), - quantity = cms.untracked.string("pt") - ), - cms.PSet( - tag = cms.untracked.string("Eta"), - quantity = cms.untracked.string("eta") - ), - cms.PSet( - tag = cms.untracked.string("Phi"), - quantity = cms.untracked.string("phi") - ), - cms.PSet( - tag = cms.untracked.string("Y"), - quantity = cms.untracked.string("rapidity") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Pt"), - quantity = cms.untracked.string("daughter(0).masterClone.pt") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Pt"), - quantity = cms.untracked.string("daughter(1).masterClone.pt") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Q"), - quantity = cms.untracked.string("daughter(0).masterClone.charge") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Q"), - quantity = cms.untracked.string("daughter(1).masterClone.charge") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Eta"), - quantity = cms.untracked.string("daughter(0).masterClone.eta") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Eta"), - quantity = cms.untracked.string("daughter(1).masterClone.eta") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Phi"), - quantity = cms.untracked.string("daughter(0).masterClone.phi") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Phi"), - quantity = cms.untracked.string("daughter(1).masterClone.phi") - ), - -# cms.PSet( -# tag = cms.untracked.string("Dau1NofHit"), -# quantity = cms.untracked.string("?1>0?1:0"), -# ), - - - -# cms.PSet( -# tag = cms.untracked.string("Dau1NofHit"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon=1 || daughter(0).masterClone.isTrackerMuon=1)?daughter(0).masterClone.numberOfValidHits:daughter(0).masterClone.outerTrack.numberOfValidHits") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau1NofHitTk"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon==1 || daughter(0).masterClone.isTrackerMuon=1)?daughter(0).masterClone.innerTrack.numberOfValidHits:0") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau1NofHitSta"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon==1 ||daughter(0).masterClone.isStandAloneMuon==1 ) ? daughter(0).masterClone.outerTrack.numberOfValidHits : 0") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau1NofMuChambers"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon==1 ||daughter(0).masterClone.isStandAloneMuon==1 ) ? daughter(0).masterClone.numberOfChambers :0") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau1NofMuMatches"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon==1 ||daughter(0).masterClone.isStandAloneMuon==1 ) ? daughter(0).masterClone.numberOfMatches : 0") -# ), - - cms.PSet( - tag = cms.untracked.string("Dau1Iso"), - quantity = cms.untracked.string("daughter(0).masterClone.userIsolation('pat::User4Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso"), - quantity = cms.untracked.string("daughter(1).masterClone.userIsolation('pat::User4Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1relIso"), - quantity = cms.untracked.string("daughter(0).masterClone.userIsolation('pat::User5Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2relIso"), - quantity = cms.untracked.string("daughter(1).masterClone.userIsolation('pat::User5Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrkIso"), - quantity = cms.untracked.string("daughter(0).masterClone.userIsolation('pat::User1Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2TrkIso"), - quantity = cms.untracked.string("daughter(1).masterClone.userIsolation('pat::User1Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1EcalIso"), - quantity = cms.untracked.string("daughter(0).masterClone.userIsolation('pat::User2Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2EcalIso"), - quantity = cms.untracked.string("daughter(1).masterClone.userIsolation('pat::User2Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1HcalIso"), - quantity = cms.untracked.string("daughter(0).masterClone.userIsolation('pat::User3Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2HcalIso"), - quantity = cms.untracked.string("daughter(1).masterClone.userIsolation('pat::User3Iso')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1dxyFromBS"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_dxyFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1dzFromBS"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_dzFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1dxyFromPV"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_dxyFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1dzFromPV"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_dzFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1HLTBit"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTBit')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1HLTSize"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTSize')") - ), -cms.PSet( - tag = cms.untracked.string("Dau1HLTDeltaR"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTDeltaR')") - ), -cms.PSet( - tag = cms.untracked.string("Dau1HLTDeltaEta"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTDeltaEta')") - ), -cms.PSet( - tag = cms.untracked.string("Dau1HLTDeltaPhi"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTDeltaPhi')") - ), -cms.PSet( - tag = cms.untracked.string("Dau1HLTDeltaPtOverPt"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTDeltaPtOverPt')") - ), -cms.PSet( - tag = cms.untracked.string("Dau1HLTPt"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_HLTPt')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2dxyFromBS"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_dxyFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2dzFromBS"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_dzFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2dxyFromPV"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_dxyFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2dzFromPV"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_dzFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("VtxNormChi2"), - quantity = cms.untracked.string("vertexNormalizedChi2") - ), - -# cms.PSet( -# tag = cms.untracked.string("Dau1TrkChi2"), -# quantity = cms.untracked.string("?(daughter(0).masterClone.isGlobalMuon==1 || daughter(0).masterClone.isTrackerMuon=1)?daughter(0).masterClone.innerTrack.normalizedChi2:0") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau1MuEnergyHad"), -# quantity = cms.untracked.string("?daughter(0).masterClone.isGlobalMuon==1||daughter(0).masterClone.isTrackerMuon==1 ?daughter(0).masterClone.calEnergy.had:-1") -# ), - # cms.PSet( - # tag = cms.untracked.string("Dau1MuEnergyEm"), - # quantity = cms.untracked.string("?daughter(0).masterClone.isGlobalMuon==1||daughter(0).masterClone.isTrackerMuon==1 ?daughter(0).masterClone.calEnergy.em:-1") - # ), - cms.PSet( - tag = cms.untracked.string("TrueMass"), - quantity = cms.untracked.string("userFloat('TrueMass')") - ), - cms.PSet( - tag = cms.untracked.string("TruePt"), - quantity = cms.untracked.string("userFloat('TruePt')") - ), - cms.PSet( - tag = cms.untracked.string("TrueEta"), - quantity = cms.untracked.string("userFloat('TrueEta')") - ), - cms.PSet( - tag = cms.untracked.string("TruePhi"), - quantity = cms.untracked.string("userFloat('TruePhi')") - ), - cms.PSet( - tag = cms.untracked.string("TrueY"), - quantity = cms.untracked.string("userFloat('TrueY')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Chi2"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_Chi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrkChi2"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_TrkChi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1SaChi2"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_SaChi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Chi2"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_Chi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2TrkChi2"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_TrkChi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2SaChi2"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_SaChi2')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1NofMuonHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_NofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1SaNofMuonHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_SaNofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2NofMuonHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_NofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2SaNofMuonHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_SaNofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1NofStripHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_NofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1NofPixelHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_NofPixelHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrkNofStripHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_TrkNofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2TrkNofStripHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_TrkNofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrkNofPixelHits"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_TrkNofPixelHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2TrkNofPixelHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_TrkNofPixelHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1NofMuChambers"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_NofMuChambers')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2NofMuChambers"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_NofMuChambers')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1NofMuMatches"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_NofMuMatches')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2NofMuMatches"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_NofMuMatches')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1MuEnergyEm"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_MuEnergyEm')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2MuEnergyEm"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_MuEnergyEm')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1MuEnergyHad"), - quantity = cms.untracked.string("daughter(0).masterClone.userFloat('zDau_MuEnergyHad')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2MuEnergyHad"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_MuEnergyHad')") - ), - - ) - - ) - - - -### zMuMu vector of PSet is common to all categories except zMuTrk category - -zMuMu=( - - -# cms.PSet( -# tag = cms.untracked.string("Dau2NofHitSta"), - -# quantity = cms.untracked.string("?(daughter(1).masterClone.isGlobalMuon==1 ||daughter(1).masterClone.isStandAloneMuon==1 )?daughter(1).masterClone.outerTrack.numberOfValidHits: -1") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2NofMuChambers"), -# quantity = cms.untracked.string("?(daughter(1).masterClone.isGlobalMuon==1 ||daughter(1).masterClone.isStandAloneMuon==1 )?daughter(1).masterClone.numberOfChambers: -1") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2NofMuMatches"), -# quantity = cms.untracked.string("?(daughter(1).masterClone.isGlobalMuon==1 ||daughter(1).masterClone.isStandAloneMuon==1 )?daughter(1).masterClone.numberOfMatches: -1") -# ), - cms.PSet( - tag = cms.untracked.string("Dau2HLTBit"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTBit')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTSize"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTSize')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTDeltaR"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTDeltaR')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTDeltaEta"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTDeltaEta')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTDeltaPhi"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTDeltaPhi')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTDeltaPtOverPt"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTDeltaPtOverPt')") - ), -cms.PSet( - tag = cms.untracked.string("Dau2HLTPt"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_HLTPt')") - ), - - - - -# cms.PSet( -# tag = cms.untracked.string("Dau2MuEnergyHad"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isGlobalMuon==1 ||daughter(1).masterClone.isTrackerMuon==1?daughter(1).masterClone.calEnergy.had:-1") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2MuEnergyEm"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isGlobalMuon==1 ||daughter(1).masterClone.isTrackerMuon==1?daughter(1).masterClone.calEnergy.em:-1") -# ), - - cms.PSet( - tag = cms.untracked.string("Dau1GlobalMuonBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isGlobalMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau2GlobalMuonBit"), - quantity = cms.untracked.string("daughter(1).masterClone.isGlobalMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau1StandAloneBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isStandAloneMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau2StandAloneBit"), - quantity = cms.untracked.string("daughter(1).masterClone.isStandAloneMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrackerMuonBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isTrackerMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau2TrackerMuonBit"), - quantity = cms.untracked.string("daughter(1).masterClone.isTrackerMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau2NofStripHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_NofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2NofPixelHits"), - quantity = cms.untracked.string("daughter(1).masterClone.userFloat('zDau_NofPixelHits')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03SumPt"), - quantity = cms.untracked.string("daughter(0).masterClone.trackIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03SumPt"), - quantity = cms.untracked.string("daughter(1).masterClone.trackIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03EmEt"), - quantity = cms.untracked.string("daughter(0).masterClone.ecalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03EmEt"), - quantity = cms.untracked.string("daughter(1).masterClone.ecalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03HadEt"), - quantity = cms.untracked.string("daughter(0).masterClone.hcalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03HadEt"), - quantity = cms.untracked.string("daughter(1).masterClone.hcalIso") - ), - - - - - ) - -### zGolden vector of PSet is specific for zGolden category - - -zGolden=( - - - ## cms.PSet( -## tag = cms.untracked.string("Dau1NofHit"), -## quantity = cms.untracked.string("daughter(0).masterClone.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1NofHitTk"), -## quantity = cms.untracked.string("daughter(0).masterClone.innerTrack.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1NofHitSta"), -## quantity = cms.untracked.string("daughter(0).masterClone.outerTrack.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1NofMuChambers"), -## quantity = cms.untracked.string(" daughter(0).masterClone.numberOfChambers ") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1NofMuMatches"), -## quantity = cms.untracked.string("daughter(0).masterClone.numberOfMatches") -## ), - -## cms.PSet( -## tag = cms.untracked.string("Dau1TrkChi2"), -## quantity = cms.untracked.string("daughter(0).masterClone.innerTrack.normalizedChi2") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1MuEnergyHad"), -## quantity = cms.untracked.string("daughter(0).masterClone.calEnergy.had") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau1MuEnergyEm"), -## quantity = cms.untracked.string("daughter(0).masterClone.calEnergy.em") -## ), - - - -## cms.PSet( -## tag = cms.untracked.string("Dau2NofHitSta"), -## quantity = cms.untracked.string("daughter(1).masterClone.outerTrack.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2NofMuChambers"), -## quantity = cms.untracked.string("daughter(1).masterClone.numberOfChambers") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2NofMuMatches"), -## quantity = cms.untracked.string("daughter(1).masterClone.numberOfMatches") -## ), - - -## cms.PSet( -## tag = cms.untracked.string("Dau2MuEnergyHad"), -## quantity = cms.untracked.string("daughter(1).masterClone.calEnergy.had") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2MuEnergyEm"), -## quantity = cms.untracked.string("daughter(1).masterClone.calEnergy.em") -## ), - -## cms.PSet( -## tag = cms.untracked.string("Dau1Chi2"), -## quantity = cms.untracked.string("daughter(0).masterClone.normChi2") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2Chi2"), -## quantity = cms.untracked.string("daughter(1).masterClone.normChi2") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2NofHit"), -## quantity = cms.untracked.string("daughter(1).masterClone.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2NofHitTk"), -## quantity = cms.untracked.string("daughter(1).masterClone.innerTrack.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2TrkChi2"), -## quantity = cms.untracked.string("daughter(1).masterClone.innerTrack.normalizedChi2") -## ), - cms.PSet( - tag = cms.untracked.string("SaGlbMass"), - quantity = cms.untracked.string("userFloat('SaGlbMass')") - ), - cms.PSet( - tag = cms.untracked.string("GlbSaMass"), - quantity = cms.untracked.string("userFloat('GlbSaMass')") - ), - cms.PSet( - tag = cms.untracked.string("SaSaMass"), - quantity = cms.untracked.string("userFloat('SaSaMass')") - ), - cms.PSet( - tag = cms.untracked.string("MassSa"), - quantity = cms.untracked.string("userFloat('MassSa')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1SaPt"), - quantity = cms.untracked.string("userFloat('Dau1SaPt')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2SaPt"), - quantity = cms.untracked.string("userFloat('Dau2SaPt')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1SaEta"), - quantity = cms.untracked.string("userFloat('Dau1SaEta')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2SaEta"), - quantity = cms.untracked.string("userFloat('Dau2SaEta')") - ), - cms.PSet( - tag = cms.untracked.string("Dau1SaPhi"), - quantity = cms.untracked.string("userFloat('Dau1SaPhi')") - ), - cms.PSet( - tag = cms.untracked.string("Dau2SaPhi"), - quantity = cms.untracked.string("userFloat('Dau2SaPhi')") - ), - - ) - - - -### zMUSa vector of PSet is specific for zMuSa category - -zMuSa = ( - -# cms.PSet( -# tag= cms.untracked.string("Dau2NofHit"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isStandAloneMuon==1?daughter(1).masterClone.outerTrack.numberOfValidHits:daughter(1).masterClone.numberOfValidHits") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2Chi2"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isStandAloneMuon==1?daughter(1).masterClone.outerTrack.normalizedChi2:daughter(1).masterClone.normChi2") -# ), - - ) - - -### zMuTrkMu vector of PSet is specific for zMuTrkMu category - -zMuTrkMu=( -# cms.PSet( -# tag = cms.untracked.string("Dau1Chi2"), -# quantity = cms.untracked.string("?daughter(0).masterClone.isTrackerMuon==1 ? daughter(0).masterClone.innerTrack.normalizedChi2 : daughter(0).masterClone.normChi2") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2Chi2"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isTrackerMuon==1 ? daughter(1).masterClone.innerTrack.normalizedChi2 : daughter(1).masterClone.normChi2") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2NofHit"), -# quantity = cms.untracked.string("?daughter(1).masterClone.isTrackerMuon==1 ? daughter(1).masterClone.innerTrack.numberOfValidHits: daughter(1).masterClone.numberOfValidHits") -# ), -# cms.PSet( -# tag = cms.untracked.string("Dau2NofHitTk"), -# quantity = cms.untracked.string("daughter(1).masterClone.innerTrack.numberOfValidHits") -# ), -# - ) - - -### zMuTrk vector of PSet is specific for zMuTrk category - - -zMuTrk =( -## cms.PSet( -## tag = cms.untracked.string("Dau2NofHit"), -## quantity = cms.untracked.string("daughter(1).masterClone.track.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2NofHitTk"), -## quantity = cms.untracked.string("daughter(1).masterClone.track.numberOfValidHits") -## ), -## cms.PSet( -## tag = cms.untracked.string("Dau2Chi2"), -## quantity = cms.untracked.string("daughter(1).masterClone.track.normalizedChi2") -## ), - - cms.PSet( - tag = cms.untracked.string("Dau1GlobalMuonBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isGlobalMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau1StandAloneBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isStandAloneMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau1TrackerMuonBit"), - quantity = cms.untracked.string("daughter(0).masterClone.isTrackerMuon") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03SumPt"), - quantity = cms.untracked.string("daughter(0).masterClone.trackIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03SumPt"), - quantity = cms.untracked.string("daughter(1).masterClone.trackIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03EmEt"), - quantity = cms.untracked.string("daughter(0).masterClone.ecalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03EmEt"), - quantity = cms.untracked.string("daughter(1).masterClone.ecalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau1Iso03HadEt"), - quantity = cms.untracked.string("daughter(0).masterClone.hcalIso") - ), - cms.PSet( - tag = cms.untracked.string("Dau2Iso03HadEt"), - quantity = cms.untracked.string("daughter(1).masterClone.hcalIso") - ) - - ) - - - -goodZToMuMuEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtuple) -goodZToMuMuEdmNtupleLoose.variables += zMuMu -goodZToMuMuEdmNtupleLoose.variables += zGolden -goodZToMuMuEdmNtupleLoose.prefix = cms.untracked.string("zGolden") -goodZToMuMuPathLoose.__iadd__(goodZToMuMuEdmNtupleLoose) -goodZToMuMuPathLoose.setLabel("goodZToMuMuEdmLoose") - - -goodZToMuMuSameChargeEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtuple) -goodZToMuMuSameChargeEdmNtupleLoose.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLTLoose") -goodZToMuMuSameChargeEdmNtupleLoose.prefix = cms.untracked.string("zSameCharge") -goodZToMuMuSameChargeEdmNtupleLoose.variables += zMuMu -goodZToMuMuSameChargeEdmNtupleLoose.variables += zGolden -goodZToMuMuSameChargePathLoose.__iadd__(goodZToMuMuSameChargeEdmNtupleLoose) -goodZToMuMuSameChargePathLoose.setLabel("goodZToMuMuSameChargeLoose") - - - -goodZToMuMuOneStandAloneEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtuple) -goodZToMuMuOneStandAloneEdmNtupleLoose.src=cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTLoose") -goodZToMuMuOneStandAloneEdmNtupleLoose.prefix=cms.untracked.string("zMuSta") -goodZToMuMuOneStandAloneEdmNtupleLoose.variables += zMuMu -goodZToMuMuOneStandAloneEdmNtupleLoose.variables += zMuSa -goodZToMuMuOneStandAloneMuonPathLoose.__iadd__(goodZToMuMuOneStandAloneEdmNtupleLoose) -goodZToMuMuOneStandAloneMuonPathLoose.setLabel("goodZToMuMuOneStandAloneMuonLoose") - -goodZToMuMuOneTrackEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtuple) -goodZToMuMuOneTrackEdmNtupleLoose.src=cms.InputTag("goodZToMuMuOneTrackFirstHLTLoose") -goodZToMuMuOneTrackEdmNtupleLoose.prefix=cms.untracked.string("zMuTrk") -goodZToMuMuOneTrackEdmNtupleLoose.variables += zMuTrk -goodZToMuMuOneTrackPathLoose.__iadd__(goodZToMuMuOneTrackEdmNtupleLoose) -goodZToMuMuOneTrackPathLoose.setLabel("goodZToMuMuOneTrackLoose") - -goodZToMuMuOneTrackerMuonEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtuple) -goodZToMuMuOneTrackerMuonEdmNtupleLoose.src=cms.InputTag("goodZToMuMuOneTrackerMuonFirstHLTLoose") -goodZToMuMuOneTrackerMuonEdmNtupleLoose.prefix=cms.untracked.string("zMuTrkMu") -goodZToMuMuOneTrackerMuonEdmNtupleLoose.variables += zMuMu -goodZToMuMuOneTrackerMuonEdmNtupleLoose.variables += zMuTrkMu -goodZToMuMuOneTrackerMuonPathLoose.__iadd__(goodZToMuMuOneTrackerMuonEdmNtupleLoose) -goodZToMuMuOneTrackerMuonPathLoose.setLabel("goodZToMuMuOneTrackerMuonLoose") - - -ntuplesOut = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('NtupleLooseTestNew.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_eventVtxInfoNtuple_*_*", - "keep *_goodZToMuMuEdmNtupleLoose_*_*", - "keep *_goodZToMuMuSameChargeEdmNtupleLoose_*_*", - "keep *_goodZToMuMuOneStandAloneEdmNtupleLoose_*_*", - "keep *_goodZToMuMuOneTrackEdmNtupleLoose_*_*", - "keep *_goodZToMuMuOneTrackerMuonEdmNtupleLoose_*_*", - - ) - ) - - -ntuplesOut.setLabel("ntuplesOut") -NtuplesOut.__iadd__(ntuplesOut) -NtuplesOut.setLabel("NtuplesOut") - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisSchedules_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisSchedules_cff.py deleted file mode 100644 index 45abfcbc0b2c4..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuAnalysisSchedules_cff.py +++ /dev/null @@ -1,318 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * -from ElectroWeakAnalysis.Skimming.zMuMu_SubskimPaths_cff import * -#from ElectroWeakAnalysis.Skimming.zMuMu_SubskimPathsWithMCTruth_cff import * - - -### controll by hand that all the path are in ... :-( :-( :-( - -## dimuonsSeq = cms.Sequence( -## dimuonsHLTFilter * -## goodMuonRecoForDimuon * -## dimuons * -## dimuonsGlobal * -## dimuonsOneStandAloneMuon * -## dimuonsFilter -## ) - -## dimuonsOneTrackSeq= cms.Sequence(dimuonsHLTFilter+ -## goodMuonRecoForDimuon+ -## dimuonsOneTrack+ -## dimuonsOneTrackFilter -## ) - - - - - - -#goodZToMuMuPathLoose.replace(goodZToMuMuLoose, dimuonsSeq * goodZToMuMuLoose) -goodZToMuMuPathLoose._seq = dimuonsPath._seq + goodZToMuMuPathLoose._seq - -goodZToMuMu2HLTPathLoose._seq = dimuonsPath._seq + goodZToMuMu2HLTPathLoose._seq - - -#goodZToMuMu2HLTPathLoose.replace(goodZToMuMuLoose, dimuonsSeq * goodZToMuMuLoose) - -#goodZToMuMu1HLTPathLoose.replace(goodZToMuMuLoose, dimuonsSeq * goodZToMuMuLoose) - -goodZToMuMu1HLTPathLoose._seq= dimuonsPath._seq + goodZToMuMu1HLTPathLoose._seq - - -goodZToMuMuAB1HLTPathLoose._seq = dimuonsPath._seq + goodZToMuMuAB1HLTPathLoose._seq - -goodZToMuMuBB2HLTPathLoose._seq = dimuonsPath._seq + goodZToMuMuBB2HLTPathLoose._seq - - -#goodZToMuMuSameChargePathLoose.replace(dimuonsGlobalSameCharge, dimuonsSeq * dimuonsGlobalSameCharge) -goodZToMuMuSameChargePathLoose._seq = dimuonsPath._seq + goodZToMuMuSameChargePathLoose._seq - - -## notGoodZToMuMuSeq = cms.Sequence( -## dimuonsSeq * -## ~goodZToMuMu * -## zToMuMuOneStandAloneMuonLoose -## ) - -## notGoodZToMuMuSeq.setLabel("notGoodZToMuMuSeq") - -## goodZToMuMuOneStandAloneMuonPathLoose.remove(goodZToMuMu) - -#goodZToMuMuOneStandAloneMuonPathLoose.replace(zToMuMuOneStandAloneMuonLoose, notGoodZToMuMuSeq) - -goodZToMuMuOneStandAloneMuonPathLoose._seq = dimuonsPath._seq + goodZToMuMuOneStandAloneMuonPathLoose._seq - -## notGoodZToMuMuSeq = cms.Sequence( -## dimuonsSeq + -## dimuonsOneTrackSeq+ -## ~goodZToMuMu + -## ~zToMuMuOneStandAloneMuon + -## zToMuGlobalMuOneTrack -## ) - -goodZToMuMuOneTrackerMuonPathLoose._seq = dimuonsPath._seq + goodZToMuMuOneTrackerMuonPathLoose._seq - - -## notGoodZToMuMuSeq.setLabel("notGoodZToMuMuSeq") - -## goodZToMuMuOneTrackPathLoose.remove( goodZToMuMu) -## goodZToMuMuOneTrackPathLoose.remove(zToMuMuOneStandAloneMuon ) - -#goodZToMuMuOneTrackPathLoose.replace(zToMuGlobalMuOneTrack, notGoodZToMuMuSeq * zToMuGlobalMuOneTrack ) - -goodZToMuMuOneTrackPathLoose._seq = dimuonsPath._seq + dimuonsOneTrackPath._seq + goodZToMuMuOneTrackPathLoose._seq - -goodZToMuMuOneTrackPathLoose.remove(dimuonsFilter) - -#initialGoodZToMuMuPath.replace(goodZToMuMu, dimuonsSeq * goodZToMuMu) -initialGoodZToMuMuPath._seq = dimuonsPath._seq + initialGoodZToMuMuPath._seq - - -#goodZToMuMuPath.replace(goodZToMuMu, dimuonsSeq * goodZToMuMu) -goodZToMuMuPath._seq = dimuonsPath._seq + goodZToMuMuPath._seq - - -#goodZToMuMu2HLTPath.replace(goodZToMuMu, dimuonsSeq * goodZToMuMu) -goodZToMuMu1HLTPath._seq = dimuonsPath._seq + goodZToMuMu1HLTPath._seq - -#goodZToMuMu1HLTPath.replace(goodZToMuMu, dimuonsSeq * goodZToMuMu) -goodZToMuMu2HLTPath._seq = dimuonsPath._seq + goodZToMuMu2HLTPath._seq - -goodZToMuMuAB1HLTPath._seq = dimuonsPath._seq + goodZToMuMuAB1HLTPath._seq - -goodZToMuMuBB2HLTPath._seq = dimuonsPath._seq + goodZToMuMuBB2HLTPath._seq - - -#goodZToMuMuSameChargePath.replace( dimuonsGlobalSameCharge, dimuonsSeq * dimuonsGlobalSameCharge) -goodZToMuMuSameChargePath._seq = dimuonsPath._seq + goodZToMuMuSameChargePath._seq - -#goodZToMuMuSameCharge2HLTPath.replace( dimuonsGlobalSameCharge, dimuonsSeq * dimuonsGlobalSameCharge) - -goodZToMuMuSameCharge2HLTPath._seq = dimuonsPath._seq + goodZToMuMuSameCharge2HLTPath._seq - -#goodZToMuMuSameCharge1HLTPath.replace( dimuonsGlobalSameCharge, dimuonsSeq * dimuonsGlobalSameCharge) -goodZToMuMuSameCharge1HLTPath._seq = dimuonsPath._seq + goodZToMuMuSameCharge1HLTPath._seq - - -#nonIsolatedZToMuMuPath.replace(nonIsolatedZToMuMu, dimuonsSeq * nonIsolatedZToMuMu) -nonIsolatedZToMuMuPath._seq = dimuonsPath._seq + nonIsolatedZToMuMuPath._seq - -#oneNonIsolatedZToMuMuPath.replace(nonIsolatedZToMuMu, dimuonsSeq * nonIsolatedZToMuMu) -oneNonIsolatedZToMuMuPath._seq = dimuonsPath._seq + oneNonIsolatedZToMuMuPath._seq - -#twoNonIsolatedZToMuMuPath.replace(nonIsolatedZToMuMu, dimuonsSeq * nonIsolatedZToMuMu) -twoNonIsolatedZToMuMuPath._seq = dimuonsPath._seq + twoNonIsolatedZToMuMuPath._seq - - -## notGoodZToMuMuSeq = cms.Sequence( -## dimuonsSeq * -## ~goodZToMuMu * -## zToMuMuOneStandAloneMuon -## ) - -## notGoodZToMuMuSeq.setLabel("notGoodZToMuMuSeq") - -## goodZToMuMuOneStandAloneMuonPath.remove(goodZToMuMu) -## goodZToMuMuOneStandAloneMuonPath.replace(zToMuMuOneStandAloneMuon, notGoodZToMuMuSeq) -goodZToMuMuOneStandAloneMuonPath._seq = dimuonsPath._seq + goodZToMuMuOneStandAloneMuonPath._seq - - -## notGoodZToMuMuSeq = cms.Sequence( -## dimuonsSeq + -## ~goodZToMuMu + -## dimuonsOneTrackSeq+ -## ~zToMuMuOneStandAloneMuon + -## zToMuGlobalMuOneTrack -## ) - - - -## notGoodZToMuMuSeq.setLabel("notGoodZToMuMuSeq") - -## goodZToMuMuOneTrackPath.remove( goodZToMuMu) -## goodZToMuMuOneTrackPath.remove(zToMuMuOneStandAloneMuon ) - -## goodZToMuMuOneTrackPath.replace(zToMuGlobalMuOneTrack, notGoodZToMuMuSeq * zToMuGlobalMuOneTrack ) - - -goodZToMuMuOneTrackerMuonPath._seq = dimuonsPath._seq + goodZToMuMuOneTrackerMuonPath._seq - - -goodZToMuMuOneTrackPath._seq = dimuonsPath._seq + dimuonsOneTrackPath._seq + goodZToMuMuOneTrackPath._seq -goodZToMuMuOneTrackPath.remove(dimuonsFilter) - - -## goodZToMuMuPathLoose = cms.Path( - -## goodZToMuMuLoose + -## goodZToMuMuAtLeast1HLTLoose -## ) - -## goodZToMuMu2HLTPathLoose = cms.Path( -## goodZToMuMuLoose + -## goodZToMuMu2HLTLoose -## ) - -## goodZToMuMu1HLTPathLoose = cms.Path( -## goodZToMuMuLoose + -## goodZToMuMu1HLTLoose -## ) - - -## goodZToMuMuSameChargePathLoose = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameChargeLoose + -## goodZToMuMuSameChargeAtLeast1HLTLoose -## ) - - -## ## goodZToMuMuSameCharge2HLTPathLoose = cms.Path( -## ## dimuonsGlobalSameCharge+ -## ## goodZToMuMuSameChargeLoose + -## ## goodZToMuMuSameCharge2HLTLoose -## ## ) - - -## ## goodZToMuMuSameCharge1HLTPathLoose = cms.Path( -## ## dimuonsGlobalSameCharge+ -## ## goodZToMuMuSameChargeLoose + -## ## goodZToMuMuSameCharge1HLTLoose -## ## ) - - - -## goodZToMuMuOneStandAloneMuonPathLoose = cms.Path( -## ### I should deby the tight zmumu, otherwise I cut to much.... -## ~goodZToMuMu + -## zToMuMuOneStandAloneMuonLoose + -## goodZToMuMuOneStandAloneMuonLoose + -## goodZToMuMuOneStandAloneMuonFirstHLTLoose -## ) - - -## goodZToMuMuOneTrackPathLoose=cms.Path( -## ### I should deby the tight zmumu, otherwise I cut to much.... -## ~goodZToMuMu + -## ~zToMuMuOneStandAloneMuon + -## zToMuGlobalMuOneTrack + -## zToMuMuOneTrackLoose + -## goodZToMuMuOneTrackLoose + -## goodZToMuMuOneTrackFirstHLTLoose -## ) - - - - - -## ### sequences and path for tight cuts... - -## initialGoodZToMuMuPath = cms.Path( -## goodZToMuMu + -## zmumuSaMassHistogram -## ) - - -## goodZToMuMuPath = cms.Path( -## goodZToMuMu + -## goodZToMuMuAtLeast1HLT -## ) - - - -## goodZToMuMu2HLTPath = cms.Path( -## goodZToMuMu + -## goodZToMuMu2HLT -## ) - - -## goodZToMuMu1HLTPath = cms.Path( -## goodZToMuMu + -## goodZToMuMu1HLT -## ) - - - -## goodZToMuMuSameChargePath = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameCharge + -## goodZToMuMuSameChargeAtLeast1HLT -## ) - - -## goodZToMuMuSameCharge2HLTPath = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameCharge + -## goodZToMuMuSameCharge2HLT -## ) - - - -## goodZToMuMuSameCharge1HLTPath = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameCharge + -## goodZToMuMuSameCharge1HLT -## ) - - - -## nonIsolatedZToMuMuPath = cms.Path ( -## nonIsolatedZToMuMu + -## nonIsolatedZToMuMuAtLeast1HLT -## ) - - -## oneNonIsolatedZToMuMuPath = cms.Path( -## nonIsolatedZToMuMu + -## oneNonIsolatedZToMuMu + -## oneNonIsolatedZToMuMuAtLeast1HLT -## ) - - -## twoNonIsolatedZToMuMuPath = cms.Path( -## nonIsolatedZToMuMu + -## twoNonIsolatedZToMuMu + -## twoNonIsolatedZToMuMuAtLeast1HLT -## ) - - -## goodZToMuMuOneStandAloneMuonPath = cms.Path( -## ~goodZToMuMu + -## zToMuMuOneStandAloneMuon + -## goodZToMuMuOneStandAloneMuon + -## goodZToMuMuOneStandAloneMuonFirstHLT -## ) - - - - -## goodZToMuMuOneTrackPath=cms.Path( -## ~goodZToMuMu + -## ~zToMuMuOneStandAloneMuon + -## zToMuGlobalMuOneTrack + -## zToMuMuOneTrack + -## goodZToMuMuOneTrack + -## goodZToMuMuOneTrackFirstHLT -## ) - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesNtuples_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesNtuples_cff.py deleted file mode 100644 index 1247dfe83230d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesNtuples_cff.py +++ /dev/null @@ -1,281 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * -import copy - - -#### ntuple for loose cuts - -goodZToMuMuEdmNtupleLoose = cms.EDProducer( - "ZToLLEdmNtupleDumper", - zBlocks = cms.VPSet( - cms.PSet( - zName = cms.string("zGolden"), - z = cms.InputTag("goodZToMuMuAtLeast1HLTLoose"), - zGenParticlesMatch = cms.InputTag(""), - beamSpot = cms.InputTag("offlineBeamSpot"), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - ptThreshold = cms.double(1.5), - etEcalThreshold = cms.double(0.2), - etHcalThreshold = cms.double(0.5), - deltaRVetoTrk = cms.double(0.015), - deltaRTrk = cms.double(0.3), - deltaREcal = cms.double(0.25), - deltaRHcal = cms.double(0.25), - alpha = cms.double(0.), - beta = cms.double(-0.75), - relativeIsolation = cms.bool(False), - hltPath = cms.string("HLT_Mu9") - ), - ) -) - -goodZToMuMuPathLoose.__iadd__(goodZToMuMuEdmNtupleLoose) -goodZToMuMuPathLoose.setLabel("goodZToMuMuLoose") - - -## goodZToMuMu2HLTEdmNtupleLoose = copy.deepcopy(goodZToMuMuEdmNtupleLoose) -## goodZToMuMu2HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMu2HLTLoose") -## goodZToMuMu2HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zGolden2HLT") -## goodZToMuMu2HLTPathLoose.__iadd__(goodZToMuMu2HLTEdmNtupleLoose) -## goodZToMuMu2HLTPathLoose.setLabel("goodZToMuMu2HLTLoose") - - -## goodZToMuMu1HLTEdmNtupleLoose = copy.deepcopy(goodZToMuMuEdmNtupleLoose) -## goodZToMuMu1HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMu1HLTLoose") -## goodZToMuMu1HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zGolden1HLT") -## goodZToMuMu1HLTPathLoose.__iadd__(goodZToMuMu1HLTEdmNtupleLoose) -## goodZToMuMu1HLTPathLoose.setLabel("goodZToMuMu1HLTLoose") - -## oneNonIsolatedZToMuMuEdmNtuple = copy.deepcopy(goodZToMuMuEdmNtuple) -## oneNonIsolatedZToMuMuEdmNtuple.zBlocks[0].z = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -## oneNonIsolatedZToMuMuEdmNtuple.zBlocks[0].zName = cms.string("z1NotIso") -## oneNonIsolatedZToMuMuPath.__iadd__(oneNonIsolatedZToMuMuEdmNtuple) -## oneNonIsolatedZToMuMuPath.setLabel("oneNonIsolatedZToMuMu") - -## twoNonIsolatedZToMuMuEdmNtuple = copy.deepcopy(goodZToMuMuEdmNtuple) -## twoNonIsolatedZToMuMuEdmNtuple.zBlocks[0].z = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -## twoNonIsolatedZToMuMuEdmNtuple.zBlocks[0].zName = cms.string("z2NotIso") -## twoNonIsolatedZToMuMuPath.__iadd__(twoNonIsolatedZToMuMuEdmNtuple) -## twoNonIsolatedZToMuMuPath.setLabel("twoNonIsolatedZToMuMu") - -## goodZToMuMuSameCharge2HLTEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -## goodZToMuMuSameCharge2HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMuSameCharge2HLTLoose") -## goodZToMuMuSameCharge2HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zSameCharge2HLT") -## goodZToMuMuSameCharge2HLTPathLoose.__iadd__(goodZToMuMuSameCharge2HLTEdmNtupleLoose) -## goodZToMuMuSameCharge2HLTPathLoose.setLabel("goodZToMuMuSameCharge2HLTLoose") - - -## goodZToMuMuSameCharge1HLTEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -## goodZToMuMuSameCharge1HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMuSameCharge1HLTLoose") -## goodZToMuMuSameCharge1HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zSameCharge1HLT") -## goodZToMuMuSameCharge1HLTPathLoose.__iadd__(goodZToMuMuSameCharge1HLTEdmNtupleLoose) -## goodZToMuMuSameCharge1HLTPathLoose.setLabel("goodZToMuMuSameCharge1HLTLoose") - -goodZToMuMuAB1HLTEdmNtupleLoose = copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuAB1HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMuAB1HLTLoose") -goodZToMuMuAB1HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zGoldenAB1HLT") -goodZToMuMuAB1HLTPathLoose.__iadd__(goodZToMuMuAB1HLTEdmNtupleLoose) -goodZToMuMuAB1HLTPathLoose.setLabel("goodZToMuMuAB1HLTLoose") - -goodZToMuMuBB2HLTEdmNtupleLoose = copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuBB2HLTEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMuBB2HLTLoose") -goodZToMuMuBB2HLTEdmNtupleLoose.zBlocks[0].zName = cms.string("zGoldenBB2HLT") -goodZToMuMuBB2HLTPathLoose.__iadd__(goodZToMuMuBB2HLTEdmNtupleLoose) -goodZToMuMuBB2HLTPathLoose.setLabel("goodZToMuMuBB2HLTLoose") - - - -goodZToMuMuSameChargeEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuSameChargeEdmNtupleLoose.zBlocks[0].z = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLTLoose") -goodZToMuMuSameChargeEdmNtupleLoose.zBlocks[0].zName = cms.string("zSameCharge") -goodZToMuMuSameChargePathLoose.__iadd__(goodZToMuMuSameChargeEdmNtupleLoose) -goodZToMuMuSameChargePathLoose.setLabel("goodZToMuMuSameChargeLoose") - - - -goodZToMuMuOneStandAloneEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuOneStandAloneEdmNtupleLoose.zBlocks[0].z=cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTLoose") -goodZToMuMuOneStandAloneEdmNtupleLoose.zBlocks[0].zName=cms.string("zMuSta") -goodZToMuMuOneStandAloneMuonPathLoose.__iadd__(goodZToMuMuOneStandAloneEdmNtupleLoose) -goodZToMuMuOneStandAloneMuonPathLoose.setLabel("goodZToMuMuOneStandAloneMuonLoose") - -goodZToMuMuOneTrackEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuOneTrackEdmNtupleLoose.zBlocks[0].z=cms.InputTag("goodZToMuMuOneTrackFirstHLTLoose") -goodZToMuMuOneTrackEdmNtupleLoose.zBlocks[0].zName=cms.string("zMuTrk") -goodZToMuMuOneTrackPathLoose.__iadd__(goodZToMuMuOneTrackEdmNtupleLoose) -goodZToMuMuOneTrackPathLoose.setLabel("goodZToMuMuOneTrackLoose") - - -goodZToMuMuOneTrackerMuonEdmNtupleLoose= copy.deepcopy(goodZToMuMuEdmNtupleLoose) -goodZToMuMuOneTrackerMuonEdmNtupleLoose.zBlocks[0].z=cms.InputTag("goodZToMuMuOneTrackerMuonFirstHLTLoose") -goodZToMuMuOneTrackerMuonEdmNtupleLoose.zBlocks[0].zName=cms.string("zMuTrkMu") -goodZToMuMuOneTrackerMuonPathLoose.__iadd__(goodZToMuMuOneTrackerMuonEdmNtupleLoose) -goodZToMuMuOneTrackerMuonPathLoose.setLabel("goodZToMuMuOneTrackerMuonLoose") - - -ntuplesOut = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('NtupleLoose_test.root'), - outputCommands = cms.untracked.vstring( - "drop *", -# "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*", - "keep *_goodZToMuMuEdmNtupleLoose_*_*", - # "keep *_goodZToMuMu1HLTEdmNtupleLoose_*_*", - # "keep *_goodZToMuMu2HLTEdmNtupleLoose_*_*", - "keep *_goodZToMuMuAB1HLTEdmNtupleLoose_*_*", - "keep *_goodZToMuMuBB2HLTEdmNtupleLoose_*_*", - "keep *_goodZToMuMuSameChargeEdmNtupleLoose_*_*", -# "keep *_goodZToMuMuSameCharge1HLTEdmNtupleLoose_*_*", - # "keep *_nonIsolatedZToMuMuEdmNtuple_*_*", - # "keep *_oneNonIsolatedZToMuMuEdmNtuple_*_*", - # "keep *_twoNonIsolatedZToMuMuEdmNtuple_*_*", - "keep *_goodZToMuMuOneStandAloneEdmNtupleLoose_*_*", - "keep *_goodZToMuMuOneTrackEdmNtupleLoose_*_*", - "keep *_goodZToMuMuOneTrackerMuonEdmNtupleLoose_*_*", - # "keep *_goodZToMuMu2HLTVtxedNtuple_*_*", - - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuPathLoose", - # "goodZToMuMu1HLTPathLoose", - # "goodZToMuMu2HLTPathLoose", - "goodZToMuMuAB1HLTPathLoose", - "goodZToMuMuBB2HLTPathLoose", - "goodZToMuMuSameChargePathLoose", -# "goodZToMuMuSameCharge1HLTPathLoose", - # "nonIsolatedZToMuMuPath", - # "oneNonIsolatedZToMuMuPath", - # "twoNonIsolatedZToMuMuPath", - "goodZToMuMuOneTrackPathLoose", - "goodZToMuMuOneTrackerMuonPathLoose", - "goodZToMuMuOneStandAloneMuonPathLoose", - ) - ) -) - -ntuplesOut.setLabel("ntuplesOut") -NtuplesOut.__iadd__(ntuplesOut) -NtuplesOut.setLabel("NtuplesOut") - - -## #### ntuple for tight cuts - -## goodZToMuMuEdmNtupleTight = cms.EDProducer( -## "ZToLLEdmNtupleDumper", -## zBlocks = cms.VPSet( -## cms.PSet( -## zName = cms.string("zGoldenTight"), -## z = cms.InputTag("goodZToMuMuAtLeast1HLTTight"), -## zGenParticlesMatch = cms.InputTag(""), -## beamSpot = cms.InputTag("offlineBeamSpot"), -## primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), -## ptThreshold = cms.double(1.5), -## etEcalThreshold = cms.double(0.2), -## etHcalThreshold = cms.double(0.5), -## deltaRVetoTrk = cms.double(0.015), -## deltaRTrk = cms.double(0.3), -## deltaREcal = cms.double(0.25), -## deltaRHcal = cms.double(0.25), -## alpha = cms.double(0.), -## beta = cms.double(-0.75), -## relativeIsolation = cms.bool(False) -## ), -## ) -## ) - - - -## goodZToMuMu2HLTEdmNtupleTight = copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMu2HLTEdmNtupleTight.zBlocks[0].z = cms.InputTag("goodZToMuMu2HLTTight") -## goodZToMuMu2HLTEdmNtupleTight.zBlocks[0].zName = cms.string("zGolden2HLTTight") -## goodZToMuMu2HLTPathTight.__iadd__(goodZToMuMu2HLTEdmNtupleTight) -## goodZToMuMu2HLTPathTight.setLabel("goodZToMuMu2HLTTight") - - -## goodZToMuMu1HLTEdmNtupleTight = copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMu1HLTEdmNtupleTight.zBlocks[0].z = cms.InputTag("goodZToMuMu1HLTTight") -## goodZToMuMu1HLTEdmNtupleTight.zBlocks[0].zName = cms.string("zGolden1HLTTight") -## goodZToMuMu1HLTPathTight.__iadd__(goodZToMuMu1HLTEdmNtupleTight) -## goodZToMuMu1HLTPathTight.setLabel("goodZToMuMu1HLTTight") - -## oneNonIsolatedZToMuMuEdmNtupleTight = copy.deepcopy(goodZToMuMuEdmNtupleTight) -## oneNonIsolatedZToMuMuEdmNtupleTight.zBlocks[0].z = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLTTight") -## oneNonIsolatedZToMuMuEdmNtupleTight.zBlocks[0].zName = cms.string("z1NotIsoTight") -## oneNonIsolatedZToMuMuPathTight.__iadd__(oneNonIsolatedZToMuMuEdmNtupleTight) -## oneNonIsolatedZToMuMuPathTight.setLabel("oneNonIsolatedZToMuMuTight") - -## twoNonIsolatedZToMuMuEdmNtupleTight = copy.deepcopy(goodZToMuMuEdmNtupleTight) -## twoNonIsolatedZToMuMuEdmNtupleTight.zBlocks[0].z = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLTTight") -## twoNonIsolatedZToMuMuEdmNtupleTight.zBlocks[0].zName = cms.string("z2NotIsoTight") -## twoNonIsolatedZToMuMuPathTight.__iadd__(twoNonIsolatedZToMuMuEdmNtupleTight) -## twoNonIsolatedZToMuMuPathTight.setLabel("twoNonIsolatedZToMuMuTight") - -## goodZToMuMuSameCharge2HLTEdmNtupleTight= copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMuSameCharge2HLTEdmNtupleTight.zBlocks[0].z = cms.InputTag("goodZToMuMuSameCharge2HLTTight") -## goodZToMuMuSameCharge2HLTEdmNtupleTight.zBlocks[0].zName = cms.string("zSameCharge2HLTTight") -## goodZToMuMuSameCharge2HLTPathTight.__iadd__(goodZToMuMuSameCharge2HLTEdmNtupleTight) -## goodZToMuMuSameCharge2HLTPathTight.setLabel("goodZToMuMuSameCharge2HLTTight") - - -## goodZToMuMuSameCharge1HLTEdmNtupleTight= copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMuSameCharge1HLTEdmNtupleTight.zBlocks[0].z = cms.InputTag("goodZToMuMuSameCharge1HLTTight") -## goodZToMuMuSameCharge1HLTEdmNtupleTight.zBlocks[0].zName = cms.string("zSameCharge1HLTTight") -## goodZToMuMuSameCharge1HLTPathTight.__iadd__(goodZToMuMuSameCharge1HLTEdmNtupleTight) -## goodZToMuMuSameCharge1HLTPathTight.setLabel("goodZToMuMuSameCharge1HLTTight") - - -## goodZToMuMuOneStandAloneEdmNtupleTight= copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMuOneStandAloneEdmNtupleTight.zBlocks[0].z=cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTTight") -## goodZToMuMuOneStandAloneEdmNtupleTight.zBlocks[0].zName=cms.string("zMuStaTight") -## goodZToMuMuOneStandAloneMuonPathTight.__iadd__(goodZToMuMuOneStandAloneEdmNtupleTight) -## goodZToMuMuOneStandAloneMuonPathTight.setLabel("goodZToMuMuOneStandAloneMuonTight") - -## goodZToMuMuOneTrackEdmNtupleTight= copy.deepcopy(goodZToMuMuEdmNtupleTight) -## goodZToMuMuOneTrackEdmNtupleTight.zBlocks[0].z=cms.InputTag("goodZToMuMuOneTrackFirstHLTTight") -## goodZToMuMuOneTrackEdmNtupleTight.zBlocks[0].zName=cms.string("zMuTrkTight") -## goodZToMuMuOneTrackPathTight.__iadd__(goodZToMuMuOneTrackEdmNtupleTight) -## goodZToMuMuOneTrackPathTight.setLabel("goodZToMuMuOneTrackTight") - -## ntuplesOutTight = cms.OutputModule( -## "PoolOutputModule", -## fileName = cms.untracked.string('NtupleTight_test.root'), -## outputCommands = cms.untracked.vstring( -## "drop *", -## # "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*", -## "keep *_goodZToMuMuEdmNtupleTight_*_*", -## "keep *_goodZToMuMu1HLTEdmNtupleTight_*_*", -## "keep *_goodZToMuMu2HLTEdmNtupleTight_*_*", -## "keep *_goodZToMuMuSameCharge2HLTEdmNtupleTight_*_*", -## "keep *_goodZToMuMuSameCharge1HLTEdmNtupleTight_*_*", -## "keep *_nonIsolatedZToMuMuEdmNtupleTight_*_*", -## "keep *_oneNonIsolatedZToMuMuEdmNtupleTight_*_*", -## "keep *_twoNonIsolatedZToMuMuEdmNtupleTight_*_*", -## "keep *_goodZToMuMuOneStandAloneEdmNtupleTight_*_*", -## "keep *_goodZToMuMuOneTrackEdmNtupleTight_*_*", -## # "keep *_goodZToMuMu2HLTVtxedNtuple_*_*", - -## ), -## SelectEvents = cms.untracked.PSet( -## SelectEvents = cms.vstring( -## "goodZToMuMuPathTight", -## "goodZToMuMu1HLTPathTight", -## "goodZToMuMu2HLTPathTight", -## "goodZToMuMuSameCharge2HLTPathTight", -## "goodZToMuMuSameCharge1HLTPathTight", -## "nonIsolatedZToMuMuPathTight", -## "oneNonIsolatedZToMuMuPathTight", -## "twoNonIsolatedZToMuMuPathTight", -## "goodZToMuMuOneTrackPathTight", -## "goodZToMuMuOneStandAloneMuonPathTight", -## ) -## ) -## ) - - - - -## ntuplesOutTight.setLabel("ntuplesOutTight") -## NtuplesOutTight.__iadd__(ntuplesOutTight) -## NtuplesOutTight.setLabel("NtuplesOutTight") diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesPlots_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesPlots_cff.py deleted file mode 100644 index 1b469269698ab..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesPlots_cff.py +++ /dev/null @@ -1,212 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * -import copy - - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - - - -# ZMuMu at least 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsLoose = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLTLoose") -) - -goodZToMuMuPlots = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - - - -## #### plot for loose cuts - - -## goodZToMuMuSequence.__iadd__(goodZToMuMuPlots) -## goodZToMuMuSequence.setLabel("goodZToMuMuAtLeast1HLT") - -## #ZMuMu 2 HLT + 2 track-iso -## goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -## goodZToMuMu2HLTSequence.__iadd__(goodZToMuMu2HLTPlots) -## goodZToMuMu2HLTSequence.setLabel("goodZToMuMu2HLT") - -## #ZMuMu 1 HLT + 2 track-iso -## goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -## goodZToMuMu1HLTSequence.__iadd__(goodZToMuMu1HLTPlots) - - -## #ZMuMu at least 1 HLT + at least 1 NON track-iso -## nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -## nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") - -## nonIsolatedZToMuMuSequence.__iadd__(nonIsolatedZToMuMuPlots) - -## #ZMuMu at least 1 HLT + 1 NON track-iso -## oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -## oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") - -## oneNonIsolatedZToMuMuSequence.__iadd__(oneNonIsolatedZToMuMuPlots) - - -## #ZMuMu at least 1 HLT + 2 NON track-iso -## twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -## twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") - -## twoNonIsolatedZToMuMuSequence.__iadd__(twoNonIsolatedZToMuMuPlots) - -## #ZMuSta First HLT + 2 track-iso -## goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -## goodZToMuMuOneStandAloneMuonSequence.__iadd__(goodZToMuMuOneStandAloneMuonPlots) - - -## #ZMuTk First HLT + 2 track-iso -## goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -## goodZToMuMuOneTrackSequence.__iadd__(goodZToMuMuOneTrackPlots) - -## #ZMuMu same charge -## goodZToMuMuSameChargeAtLeast1HLTPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMuSameChargeAtLeast1HLTPlots.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") - -## goodZToMuMuSameChargeSequence.__iadd__(goodZToMuMuSameChargeAtLeast1HLTPlots) - -## goodZToMuMuSameCharge2HLTPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMuSameCharge2HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge2HLT") - -## goodZToMuMuSameCharge2HLTSequence.__iadd__(goodZToMuMuSameCharge2HLTPlots) - -## goodZToMuMuSameCharge1HLTPlots = copy.deepcopy(goodZToMuMuPlots) -## goodZToMuMuSameCharge1HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge1HLT") - -## goodZToMuMuSameCharge1HLTSequence.__iadd__(goodZToMuMuSameCharge1HLTPlots) - - - -#### plot for tight cuts - - -goodZToMuMuPath.__iadd__(goodZToMuMuPlots) -goodZToMuMuPath.setLabel("goodZToMuMuAtLeast1HLT") - -#ZMuMu 2 HLT + 2 track-iso -goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -goodZToMuMu2HLTPath.__iadd__(goodZToMuMu2HLTPlots) -goodZToMuMu2HLTPath.setLabel("goodZToMuMu2HLT") - -#ZMuMu 1 HLT + 2 track-iso -goodZToMuMu1HLTPlots= copy.deepcopy(goodZToMuMuPlots) -goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -goodZToMuMu1HLTPath.__iadd__(goodZToMuMu1HLTPlots) - - -##### plot for AB and BB region -goodZToMuMuAB1HLTPlots= copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuAB1HLTPlots.src = cms.InputTag("goodZToMuMuAB1HLT") -goodZToMuMuAB1HLTPath.__iadd__(goodZToMuMuAB1HLTPlots) - -goodZToMuMuBB2HLTPlots= copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuBB2HLTPlots.src = cms.InputTag("goodZToMuMuBB2HLT") -goodZToMuMuBB2HLTPath.__iadd__(goodZToMuMuBB2HLTPlots) - - - -#ZMuMu at least 1 HLT + at least 1 NON track-iso -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") - -nonIsolatedZToMuMuPath.__iadd__(nonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 1 NON track-iso -oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") - -oneNonIsolatedZToMuMuPath.__iadd__(oneNonIsolatedZToMuMuPlots) - - -#ZMuMu at least 1 HLT + 2 NON track-iso -twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlots) -twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") - -twoNonIsolatedZToMuMuPath.__iadd__(twoNonIsolatedZToMuMuPlots) - -#ZMuSta global HLT + 2 track-iso -goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -goodZToMuMuOneStandAloneMuonPath.__iadd__(goodZToMuMuOneStandAloneMuonPlots) - - -#ZMuTk First HLT + 2 track-iso -goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -goodZToMuMuOneTrackPath.__iadd__(goodZToMuMuOneTrackPlots) - - -#ZMuTkMu global HLT + 2 track-iso -goodZToMuMuOneTrackerMuonPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuOneTrackerMuonPlots.src = cms.InputTag("goodZToMuMuOneTrackerMuonFirstHLT") - -goodZToMuMuOneTrackerMuonPath.__iadd__(goodZToMuMuOneTrackerMuonPlots) - - - - - - -#ZMuMu same charge -goodZToMuMuSameChargeAtLeast1HLTPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuSameChargeAtLeast1HLTPlots.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") - -goodZToMuMuSameChargePath.__iadd__(goodZToMuMuSameChargeAtLeast1HLTPlots) - -goodZToMuMuSameCharge2HLTPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuSameCharge2HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge2HLT") - -goodZToMuMuSameCharge2HLTPath.__iadd__(goodZToMuMuSameCharge2HLTPlots) - -goodZToMuMuSameCharge1HLTPlots = copy.deepcopy(goodZToMuMuPlots) -goodZToMuMuSameCharge1HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge1HLT") - -goodZToMuMuSameCharge1HLTPath.__iadd__(goodZToMuMuSameCharge1HLTPlots) diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesSequences_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesSequences_cff.py deleted file mode 100644 index 14e13ee8607b0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesSequences_cff.py +++ /dev/null @@ -1,321 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# reorganization of Z->mumu categories sequence, to run after the ZMuMu(Sub)Skim (i.d. supposing dimuons, dimuonsGlobal, dimuonsOneTrack and dimuonsOneStndAloneMuon categories has been built) - - -### parameter set to be overloaded in the configuration file - - -#from ElectroWeakAnalysis.Skimming.zMuMu_SubskimPaths_cff import * - -from ElectroWeakAnalysis.ZMuMu.goodZToMuMu_cfi import * -from ElectroWeakAnalysis.ZMuMu.goodZToMuMuSameCharge_cfi import * -from ElectroWeakAnalysis.ZMuMu.nonIsolatedZToMuMu_cfi import * -from ElectroWeakAnalysis.ZMuMu.goodZToMuMuOneTrack_cfi import * -from ElectroWeakAnalysis.ZMuMu.goodZToMuMuOneTrackerMuon_cfi import * -from ElectroWeakAnalysis.ZMuMu.goodZToMuMuOneStandAloneMuon_cfi import * - -### for zmusta modelling... - -zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -### Primary vertex info - -eventVtxInfoNtuple = cms.EDProducer( - "EventVtxInfoNtupleDumper", - primaryVertices=cms.InputTag("offlinePrimaryVertices") -) - -# path for dumping vtx info in the ntuple -generalEventInfoPath = cms.Path( - eventVtxInfoNtuple - ) - - -### paths for loose cuts, not notIso ones, not 1HLT and 2HLT: only ZGolden, zMuSta, zMuTk, zMuTrackerMuon and ZGoldenSameCharge.. - -goodZToMuMuPathLoose = cms.Path( - - goodZToMuMuLoose + - goodZToMuMuAtLeast1HLTLoose - ) - - - -goodZToMuMu2HLTPathLoose = cms.Path( - goodZToMuMuLoose + - goodZToMuMu2HLTLoose - ) - -goodZToMuMu1HLTPathLoose = cms.Path( - goodZToMuMuLoose + - goodZToMuMu1HLTLoose - ) - -goodZToMuMuAB1HLTPathLoose=cms.Path( - goodZToMuMuNotFiltered+ ## not filtered - zToMuMuABLoose+ - goodZToMuMuABLoose+ - goodZToMuMuAB1HLTLoose -) - -goodZToMuMuBB2HLTPathLoose=cms.Path( - zToMuMuBBLoose+ - goodZToMuMuBB2HLTLoose -) - -goodZToMuMuSameChargePathLoose = cms.Path( - dimuonsGlobalSameCharge+ - goodZToMuMuSameChargeLoose + - goodZToMuMuSameChargeAtLeast1HLTLoose - ) - - -## goodZToMuMuSameCharge2HLTPathLoose = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameChargeLoose + -## goodZToMuMuSameCharge2HLTLoose -## ) - - -## goodZToMuMuSameCharge1HLTPathLoose = cms.Path( -## dimuonsGlobalSameCharge+ -## goodZToMuMuSameChargeLoose + -## goodZToMuMuSameCharge1HLTLoose -## ) - - - -goodZToMuMuOneStandAloneMuonPathLoose = cms.Path( -### I should deny the tight zmumu, otherwise I cut to much.... - ~goodZToMuMu + - zToMuMuOneStandAloneMuonLoose + - goodZToMuMuOneStandAloneMuonLoose + - goodZToMuMuOneStandAloneMuonFirstHLTLoose - ) - - -goodZToMuMuOneTrackerMuonPathLoose= cms.Path( - ### I should deny the tight zmumu, otherwise I cut to much.... - ~goodZToMuMu + - zToMuMuOneTrackerMuonLoose + - goodZToMuMuOneTrackerMuonLoose + - goodZToMuMuOneTrackerMuonFirstHLTLoose -) - - - -goodZToMuMuOneTrackPathLoose=cms.Path( - ### I should deny the tight zmumu, otherwise I cut to much.... - ~goodZToMuMu + - ~zToMuMuOneStandAloneMuon + - zToMuGlobalMuOneTrack + - zToMuMuOneTrackLoose + - goodZToMuMuOneTrackLoose + - goodZToMuMuOneTrackFirstHLTLoose - ) - - - - - -### sequences and path for tight cuts... - - -globalMuQualityCutsAnalysisAA= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMu"), - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(200.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - -globalMuQualityCutsAnalysisAB= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMuAB"), - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(200.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - -globalMuQualityCutsAnalysisAAtrk= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMuOneTrackerMuon"), - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(200.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - -globalMuQualityCutsAnalysisAAsta= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(200.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - - -initialGoodZToMuMuPath = cms.Path( - goodZToMuMu + - zmumuSaMassHistogram -) - - -goodZToMuMuPath = cms.Path( - goodZToMuMu + - goodZToMuMuAtLeast1HLT - ## globalMuQualityCutsAnalysisAA - ) - - - -goodZToMuMu2HLTPath = cms.Path( - goodZToMuMu + - goodZToMuMu2HLT - ) - - -goodZToMuMu1HLTPath = cms.Path( - goodZToMuMu + - goodZToMuMu1HLT - ) - -goodZToMuMuAB1HLTPath=cms.Path( - goodZToMuMuNotFiltered + ## not filtered - zToMuMuAB+ - goodZToMuMuAB+ - goodZToMuMuAB1HLT -## globalMuQualityCutsAnalysisAB -) - -goodZToMuMuBB2HLTPath=cms.Path( - zToMuMuBB+ - goodZToMuMuBB2HLT -) - - -goodZToMuMuSameChargePath = cms.Path( - dimuonsGlobalSameCharge+ - goodZToMuMuSameCharge + - goodZToMuMuSameChargeAtLeast1HLT - ) - - -goodZToMuMuSameCharge2HLTPath = cms.Path( - dimuonsGlobalSameCharge+ - goodZToMuMuSameCharge + - goodZToMuMuSameCharge2HLT - ) - - - -goodZToMuMuSameCharge1HLTPath = cms.Path( - dimuonsGlobalSameCharge+ - goodZToMuMuSameCharge + - goodZToMuMuSameCharge1HLT - ) - - - -nonIsolatedZToMuMuPath = cms.Path ( - nonIsolatedZToMuMu + - nonIsolatedZToMuMuAtLeast1HLT -) - - -oneNonIsolatedZToMuMuPath = cms.Path( - nonIsolatedZToMuMu + - oneNonIsolatedZToMuMu + - oneNonIsolatedZToMuMuAtLeast1HLT -) - - -twoNonIsolatedZToMuMuPath = cms.Path( - nonIsolatedZToMuMu + - twoNonIsolatedZToMuMu + - twoNonIsolatedZToMuMuAtLeast1HLT -) - - -goodZToMuMuOneStandAloneMuonPath = cms.Path( - ~goodZToMuMu + - zToMuMuOneStandAloneMuon + - goodZToMuMuOneStandAloneMuon + - goodZToMuMuOneStandAloneMuonFirstHLT -## globalMuQualityCutsAnalysisAAsta - ) - -goodZToMuMuOneTrackerMuonPath= cms.Path( - ~goodZToMuMu + - zToMuMuOneTrackerMuon + - goodZToMuMuOneTrackerMuon + - goodZToMuMuOneTrackerMuonFirstHLT -## globalMuQualityCutsAnalysisAAtrk -) - - - -goodZToMuMuOneTrackPath=cms.Path( - ~goodZToMuMu + - ~zToMuMuOneStandAloneMuon + - zToMuGlobalMuOneTrack + - zToMuMuOneTrack + - goodZToMuMuOneTrack + - goodZToMuMuOneTrackFirstHLT - ) - -###### endPath - - - - -eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -eventInfo.setLabel("eventInfo") - -NtuplesOut = cms.Sequence( - eventInfo - ) - - -VtxedNtuplesOut = cms.Sequence( - eventInfo - ) - - - -endPath = cms.EndPath( - NtuplesOut + - VtxedNtuplesOut -) - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesVtxed_cff.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesVtxed_cff.py deleted file mode 100644 index 787c8520008cc..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuCategoriesVtxed_cff.py +++ /dev/null @@ -1,390 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * -import copy - -#### vertex refit for loose cut - -goodZToMuMuVtxedAtLeast1HLTLoose = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMuAtLeast1HLTLoose") -) - -goodZToMuMuPathLoose.__iadd__(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuPathLoose.setLabel("goodZToMuMuLoose") - - -goodZToMuMuVtxed2HLTLoose = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuVtxed2HLTLoose.src = cms.InputTag("goodZToMuMu2HLTLoose") -goodZToMuMu2HLTPathLoose.__iadd__(goodZToMuMuVtxed2HLTLoose) -goodZToMuMu2HLTPathLoose.setLabel("goodZToMuMu2HLTLoose") - - -goodZToMuMuVtxed1HLTLoose = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuVtxed1HLTLoose.src = cms.InputTag("goodZToMuMu1HLTLoose") -goodZToMuMu1HLTPathLoose.__iadd__(goodZToMuMuVtxed1HLTLoose) -goodZToMuMu1HLTPathLoose.setLabel("goodZToMuMu1HLTLoose") - - -goodZToMuMuVtxedBB2HLTLoose = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuVtxedBB2HLTLoose.src = cms.InputTag("goodZToMuMuBB2HLTLoose") -goodZToMuMuBB2HLTPathLoose.__iadd__(goodZToMuMuVtxedBB2HLTLoose) -goodZToMuMuBB2HLTPathLoose.setLabel("goodZToMuMuBB2HLTLoose") - - -goodZToMuMuVtxedAB1HLTLoose = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuVtxedAB1HLTLoose.src = cms.InputTag("goodZToMuMuAB1HLTLoose") -goodZToMuMuAB1HLTPathLoose.__iadd__(goodZToMuMuVtxedAB1HLTLoose) -goodZToMuMuAB1HLTPathLoose.setLabel("goodZToMuMuAB1HLTLoose") - - - - -## oneNonIsolatedZToMuMuVtxed= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLT) -## oneNonIsolatedZToMuMuVtxed.src= cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -## oneNonIsolatedZToMuMuPath.__iadd__(oneNonIsolatedZToMuMuVtxed) -## oneNonIsolatedZToMuMuPath.setLabel("oneNonIsolatedZToMuMu") - -## twoNonIsolatedZToMuMuVtxed = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLT) -## twoNonIsolatedZToMuMuVtxed.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -## twoNonIsolatedZToMuMuPath.__iadd__(twoNonIsolatedZToMuMuVtxed) -## twoNonIsolatedZToMuMuPath.setLabel("twoNonIsolatedZToMuMu") - -## goodZToMuMuSameCharge2HLTVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -## goodZToMuMuSameCharge2HLTVtxedLoose.src = cms.InputTag("goodZToMuMuSameCharge2HLTLoose") -## goodZToMuMuSameCharge2HLTPathLoose.__iadd__(goodZToMuMuSameCharge2HLTVtxedLoose) -## goodZToMuMuSameCharge2HLTPathLoose.setLabel("goodZToMuMuSameCharge2HLTLoose") - - -## goodZToMuMuSameCharge1HLTVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -## goodZToMuMuSameCharge1HLTVtxedLoose.src = cms.InputTag("goodZToMuMuSameCharge1HLTLoose") -## goodZToMuMuSameCharge1HLTPathLoose.__iadd__(goodZToMuMuSameCharge1HLTVtxedLoose) -## goodZToMuMuSameCharge1HLTPathLoose.setLabel("goodZToMuMuSameCharge1HLTLoose") - - -goodZToMuMuSameChargeVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuSameChargeVtxedLoose.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLTLoose") -goodZToMuMuSameChargePathLoose.__iadd__(goodZToMuMuSameChargeVtxedLoose) -goodZToMuMuSameChargePathLoose.setLabel("goodZToMuMuSameChargeLoose") - - - -goodZToMuMuOneStandAloneVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuOneStandAloneVtxedLoose.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTLoose") -goodZToMuMuOneStandAloneMuonPathLoose.__iadd__(goodZToMuMuOneStandAloneVtxedLoose) -goodZToMuMuOneStandAloneMuonPathLoose.setLabel("goodZToMuMuOneStandAloneMuonLoose") - -goodZToMuMuOneTrackVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuOneTrackVtxedLoose.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTLoose") -goodZToMuMuOneTrackPathLoose.__iadd__(goodZToMuMuOneTrackVtxedLoose) -goodZToMuMuOneTrackPathLoose.setLabel("goodZToMuMuOneTrackLoose") - -goodZToMuMuOneTrackerMuonVtxedLoose= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTLoose) -goodZToMuMuOneTrackerMuonVtxedLoose.src = cms.InputTag("goodZToMuMuOneTrackerMuonFirstHLTLoose") -goodZToMuMuOneTrackerMuonPathLoose.__iadd__(goodZToMuMuOneTrackerMuonVtxedLoose) -goodZToMuMuOneTrackerMuonPathLoose.setLabel("goodZToMuMuOneTrackerMuonLoose") - - - - -### ntuples.... - -goodZToMuMuVtxedNtupleLoose = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuVtxedLoose"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ), - cms.PSet( - tag = cms.untracked.string("vertexNdof"), - quantity = cms.untracked.string("vertexNdof") - ), - cms.PSet( - tag = cms.untracked.string("vertexNormalizedChi2"), - quantity = cms.untracked.string("vertexNormalizedChi2") - ), - ) -) - - -goodZToMuMuVtxed2HLTNtupleLoose = copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxed2HLTNtupleLoose.src= cms.InputTag("goodZToMuMuVtxed2HLTLoose") -goodZToMuMu2HLTPathLoose.__iadd__(goodZToMuMuVtxed2HLTNtupleLoose) -goodZToMuMu2HLTPathLoose.setLabel("goodZToMuMu2HLTLoose") - - -goodZToMuMuVtxed1HLTNtupleLoose = copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxed1HLTNtupleLoose.src= cms.InputTag("goodZToMuMuVtxed1HLTLoose") -goodZToMuMu1HLTPathLoose.__iadd__(goodZToMuMuVtxed1HLTNtupleLoose) -goodZToMuMu1HLTPathLoose.setLabel("goodZToMuMu1HLTLoose") - -goodZToMuMuVtxedBB2HLTNtupleLoose = copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedBB2HLTNtupleLoose.src= cms.InputTag("goodZToMuMuVtxedBB2HLTLoose") -goodZToMuMuBB2HLTPathLoose.__iadd__(goodZToMuMuVtxedBB2HLTNtupleLoose) -goodZToMuMuBB2HLTPathLoose.setLabel("goodZToMuMuBB2HLTLoose") - - -goodZToMuMuVtxedAB1HLTNtupleLoose = copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedAB1HLTNtupleLoose.src= cms.InputTag("goodZToMuMuVtxedAB1HLTLoose") -goodZToMuMuAB1HLTPathLoose.__iadd__(goodZToMuMuVtxedAB1HLTNtupleLoose) -goodZToMuMuAB1HLTPathLoose.setLabel("goodZToMuMuAB1HLTLoose") - - - -## oneNonIsolatedZToMuMuVtxedNtuple = copy.deepcopy(goodZToMuMuVtxedNtuple) -## oneNonIsolatedZToMuMuVtxedNtuple.src = cms.InputTag("oneNonIsolatedZToMuMuVtxed") -## oneNonIsolatedZToMuMuPath.__iadd__(oneNonIsolatedZToMuMuVtxedNtuple) -## oneNonIsolatedZToMuMuPath.setLabel("oneNonIsolatedZToMuMu") - -## twoNonIsolatedZToMuMuVtxedNtuple = copy.deepcopy(goodZToMuMuVtxedNtuple) -## twoNonIsolatedZToMuMuVtxedNtuple.src = cms.InputTag("twoNonIsolatedZToMuMuVtxed") -## twoNonIsolatedZToMuMuPath.__iadd__(twoNonIsolatedZToMuMuVtxedNtuple) -## twoNonIsolatedZToMuMuPath.setLabel("twoNonIsolatedZToMuMu") - -## goodZToMuMuVtxedSameCharge2HLTNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -## goodZToMuMuVtxedSameCharge2HLTNtupleLoose.src = cms.InputTag("goodZToMuMuVtxedSameCharge2HLTLoose") -## goodZToMuMuSameCharge2HLTPathLoose.__iadd__(goodZToMuMuVtxedSameCharge2HLTNtupleLoose) -## goodZToMuMuSameCharge2HLTPathLoose.setLabel("goodZToMuMuVtxedSameCharge2HLTLoose") - - -## goodZToMuMuVtxedSameCharge1HLTNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -## goodZToMuMuVtxedSameCharge1HLTNtupleLoose.src = cms.InputTag("goodZToMuMuVtxedSameCharge1HLTLoose") -## goodZToMuMuSameCharge1HLTPathLoose.__iadd__(goodZToMuMuVtxedSameCharge1HLTNtupleLoose) -## goodZToMuMuSameCharge1HLTPathLoose.setLabel("goodZToMuMuSameCharge1HLTLoose") - - - - -goodZToMuMuVtxedSameChargeNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedSameChargeNtupleLoose.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLTLoose") -goodZToMuMuSameChargePathLoose.__iadd__(goodZToMuMuVtxedSameChargeNtupleLoose) -goodZToMuMuSameChargePathLoose.setLabel("goodZToMuMuSameChargeLoose") - - -goodZToMuMuVtxedOneStandAloneNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedOneStandAloneNtupleLoose.src = cms.InputTag("goodZToMuMuOneStandAloneVtxedLoose") -goodZToMuMuOneStandAloneMuonPathLoose.__iadd__(goodZToMuMuVtxedOneStandAloneNtupleLoose) -goodZToMuMuOneStandAloneMuonPathLoose.setLabel("goodZToMuMuOneStandAloneMuonLoose") - -goodZToMuMuVtxedOneTrackNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedOneTrackNtupleLoose.src =cms.InputTag("goodZToMuMuOneTrackVtxedLoose") -goodZToMuMuOneTrackPathLoose.__iadd__(goodZToMuMuVtxedOneTrackNtupleLoose) -goodZToMuMuOneTrackPathLoose.setLabel("goodZToMuMuOneTrackLoose") - - -goodZToMuMuVtxedOneTrackerMuonNtupleLoose= copy.deepcopy(goodZToMuMuVtxedNtupleLoose) -goodZToMuMuVtxedOneTrackerMuonNtupleLoose.src =cms.InputTag("goodZToMuMuOneTrackerMuonVtxedLoose") -goodZToMuMuOneTrackerMuonPathLoose.__iadd__(goodZToMuMuVtxedOneTrackerMuonNtupleLoose) -goodZToMuMuOneTrackerMuonPathLoose.setLabel("goodZToMuMuOneTrackerMuonLoose") - - - -vtxedNtuplesOut = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('VtxedNtupleLoose_test.root'), - outputCommands = cms.untracked.vstring( - "drop *", -# "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*", - "keep *_goodZToMuMuVtxedNtupleLoose_*_*", - "keep *_goodZToMuMuVtxed1HLTNtupleLoose_*_*", - "keep *_goodZToMuMuVtxed2HLTNtupleLoose_*_*", - "keep *_goodZToMuMuVtxedAB1HLTNtupleLoose_*_*", - "keep *_goodZToMuMuVtxedBB2HLTNtupleLoose_*_*", -# "keep *_goodZToMuMuVtxedSameCharge2HLTNtupleLoose_*_*", - "keep *_goodZToMuMuVtxedSameChargeNtupleLoose_*_*", -# "keep *_nonIsolatedZToMuMuVtxedNtuple_*_*", -# "keep *_oneNonIsolatedZToMuMuVtxedNtuple_*_*", -# "keep *_twoNonIsolatedZToMuMuVtxedNtuple_*_*", - "keep *_goodZToMuMuVtxedOneStandAloneNtupleLoose_*_*", - "keep *_goodZToMuMuVtxedOneTrackNtupleLoose_*_*", - "keep *_goodZToMuMuVtxedOneTrackerMuonNtupleLoose_*_*", - # "keep *_goodZToMuMu2HLTVtxedNtuple_*_*", - - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuPathLoose", - "goodZToMuMu1HLTPathLoose", - "goodZToMuMu2HLTPathLoose", - "goodZToMuMuAB1HLTPathLoose", - "goodZToMuMuBB2HLTPathLoose", -# "goodZToMuMuSameCharge2HLTPathLoose", - "goodZToMuMuSameChargePathLoose", - # "nonIsolatedZToMuMuPath", - # "oneNonIsolatedZToMuMuPath", - # "twoNonIsolatedZToMuMuPath", - "goodZToMuMuOneTrackPathLoose", - "goodZToMuMuOneTrackerMuonPathLoose", - "goodZToMuMuOneStandAloneMuonPathLoose", - ) - ) -) - - -vtxedNtuplesOut.setLabel("vtxedNtuplesOut") -VtxedNtuplesOut.__iadd__(vtxedNtuplesOut) -VtxedNtuplesOut.setLabel("VtxedNtuplesOut") - - -## ## vertex refit for tight cut - -## goodZToMuMuVtxedAtLeast1HLTTight = cms.EDProducer( -## "KalmanVertexFitCompositeCandProducer", -## src = cms.InputTag("goodZToMuMuAtLeast1HLTTight") -## ) - - -## goodZToMuMuVtxed2HLTTight = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuVtxed2HLTTight.src = cms.InputTag("goodZToMuMu2HLTTight") -## goodZToMuMu2HLTPathTight.__iadd__(goodZToMuMuVtxed2HLTTight) -## goodZToMuMu2HLTPathTight.setLabel("goodZToMuMu2HLTTight") - - -## goodZToMuMuVtxed1HLTTight = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuVtxed1HLTTight.src = cms.InputTag("goodZToMuMu1HLTTight") -## goodZToMuMu1HLTPathTight.__iadd__(goodZToMuMuVtxed1HLTTight) -## goodZToMuMu1HLTPathTight.setLabel("goodZToMuMu1HLTTight") - -## oneNonIsolatedZToMuMuVtxedTight= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## oneNonIsolatedZToMuMuVtxedTight.src= cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLTTight") -## oneNonIsolatedZToMuMuPathTight.__iadd__(oneNonIsolatedZToMuMuVtxedTight) -## oneNonIsolatedZToMuMuPathTight.setLabel("oneNonIsolatedZToMuMuTight") - -## twoNonIsolatedZToMuMuVtxedTight = copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## twoNonIsolatedZToMuMuVtxedTight.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLTTight") -## twoNonIsolatedZToMuMuPathTight.__iadd__(twoNonIsolatedZToMuMuVtxedTight) -## twoNonIsolatedZToMuMuPathTight.setLabel("twoNonIsolatedZToMuMuTight") - -## goodZToMuMuSameCharge2HLTVtxedTight= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuSameCharge2HLTVtxedTight.src = cms.InputTag("goodZToMuMuSameCharge2HLTTight") -## goodZToMuMuSameCharge2HLTPathTight.__iadd__(goodZToMuMuSameCharge2HLTVtxedTight) -## goodZToMuMuSameCharge2HLTPathTight.setLabel("goodZToMuMuSameCharge2HLTTight") - - -## goodZToMuMuSameCharge1HLTVtxedTight= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuSameCharge1HLTVtxedTight.src = cms.InputTag("goodZToMuMuSameCharge1HLTTight") -## goodZToMuMuSameCharge1HLTPathTight.__iadd__(goodZToMuMuSameCharge1HLTVtxedTight) -## goodZToMuMuSameCharge1HLTPathTight.setLabel("goodZToMuMuSameCharge1HLTTight") - - - -## goodZToMuMuOneStandAloneVtxedTight= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuOneStandAloneVtxedTight.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTTight") -## goodZToMuMuOneStandAloneMuonPathTight.__iadd__(goodZToMuMuOneStandAloneVtxedTight) -## goodZToMuMuOneStandAloneMuonPathTight.setLabel("goodZToMuMuOneStandAloneMuonTight") - -## goodZToMuMuOneTrackVtxedTight= copy.deepcopy(goodZToMuMuVtxedAtLeast1HLTTight) -## goodZToMuMuOneTrackVtxedTight.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTTight") -## goodZToMuMuOneTrackPathTight.__iadd__(goodZToMuMuOneTrackVtxedTight) -## goodZToMuMuOneTrackPathTight.setLabel("goodZToMuMuOneTrackTight") - - - -## ### ntuples.... - -## goodZToMuMuVtxedNtupleTight = cms.EDProducer( -## "CandViewNtpProducer", -## src = cms.InputTag("goodZToMuMuVtxedTight"), -## variables = cms.VPSet( -## cms.PSet( -## tag = cms.untracked.string("mass"), -## quantity = cms.untracked.string("mass") -## ), -## cms.PSet( -## tag = cms.untracked.string("vertexNdof"), -## quantity = cms.untracked.string("vertexNdof") -## ), -## cms.PSet( -## tag = cms.untracked.string("vertexNormalizedChi2"), -## quantity = cms.untracked.string("vertexNormalizedChi2") -## ), -## ) -## ) - - -## goodZToMuMuVtxed2HLTNtupleTight = copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxed2HLTNtupleTight.src= cms.InputTag("goodZToMuMuVtxed2HLTTight") -## goodZToMuMu2HLTPathTight.__iadd__(goodZToMuMuVtxed2HLTTightNtupleTight) -## goodZToMuMu2HLTPathTight.setLabel("goodZToMuMu2HLTTight") - - -## goodZToMuMuVtxed1HLTNtupleTight = copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxed1HLTNtupleTight.src= cms.InputTag("goodZToMuMuVtxed1HLTTight") -## goodZToMuMu1HLTPathTight.__iadd__(goodZToMuMuVtxed1HLTNtupleTight) -## goodZToMuMu1HLTPathTight.setLabel("goodZToMuMu1HLTTight") - -## oneNonIsolatedZToMuMuVtxedNtupleTight = copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## oneNonIsolatedZToMuMuVtxedNtupleTight.src = cms.InputTag("oneNonIsolatedZToMuMuVtxedTight") -## oneNonIsolatedZToMuMuPathTight.__iadd__(oneNonIsolatedZToMuMuVtxedNtupleTight) -## oneNonIsolatedZToMuMuPathTight.setLabel("oneNonIsolatedZToMuMuTight") - -## twoNonIsolatedZToMuMuVtxedNtupleTight = copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## twoNonIsolatedZToMuMuVtxedNtupleTight.src = cms.InputTag("twoNonIsolatedZToMuMuVtxed") -## twoNonIsolatedZToMuMuPathTight.__iadd__(twoNonIsolatedZToMuMuVtxedNtupleTight) -## twoNonIsolatedZToMuMuPathTight.setLabel("twoNonIsolatedZToMuMuTight") - -## goodZToMuMuVtxedSameCharge2HLTNtupleTight= copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxedSameCharge2HLTNtupleTight.src = cms.InputTag("goodZToMuMuVtxedSameCharge2HLTTight") -## goodZToMuMuSameCharge2HLTPathTight.__iadd__(goodZToMuMuVtxedSameCharge2HLTNtupleTight) -## goodZToMuMuSameCharge2HLTPathTight.setLabel("goodZToMuMuVtxedSameCharge2HLTTight") - - -## goodZToMuMuVtxedSameCharge1HLTNtupleTight= copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxedSameCharge1HLTNtupleTight.src = cms.InputTag("goodZToMuMuVtxedSameCharge1HLTTight") -## goodZToMuMuSameCharge1HLTPathTight.__iadd__(goodZToMuMuVtxedSameCharge1HLTNtupleTight) -## goodZToMuMuSameCharge1HLTPathTight.setLabel("goodZToMuMuSameCharge1HLTTight") - - -## goodZToMuMuVtxedOneStandAloneNtupleTight= copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxedOneStandAloneNtupleTight.src = cms.InputTag("goodZToMuMuOneStandAloneVtxedTight") -## goodZToMuMuOneStandAloneMuonPathTight.__iadd__(goodZToMuMuVtxedOneStandAloneNtupleTight) -## goodZToMuMuOneStandAloneMuonPathTight.setLabel("goodZToMuMuOneStandAloneMuonTight") - -## goodZToMuMuVtxedOneTrackNtupleTight= copy.deepcopy(goodZToMuMuVtxedNtupleTight) -## goodZToMuMuVtxedOneTrackNtupleTight.src =cms.InputTag("goodZToMuMuOneTrackVtxed") -## goodZToMuMuOneTrackPathTight.__iadd__(goodZToMuMuVtxedOneTrackNtupleTight) -## goodZToMuMuOneTrackPathTight.setLabel("goodZToMuMuOneTrackTight") - - - -## vtxedNtuplesOutTight = cms.OutputModule( -## "PoolOutputModule", -## fileName = cms.untracked.string('VtxedNtupleTight_test.root'), -## outputCommands = cms.untracked.vstring( -## "drop *", -## # "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*", -## "keep *_goodZToMuMuVtxedNtupleTight_*_*", -## "keep *_goodZToMuMuVtxed1HLTNtupleTight_*_*", -## "keep *_goodZToMuMuVtxed2HLTNtupleTight_*_*", -## "keep *_goodZToMuMuVtxedSameCharge2HLTNtupleTight_*_*", -## "keep *_goodZToMuMuVtxedSameCharge1HLTNtupleTight_*_*", -## "keep *_nonIsolatedZToMuMuVtxedNtupleTight_*_*", -## "keep *_oneNonIsolatedZToMuMuVtxedNtupleTight_*_*", -## "keep *_twoNonIsolatedZToMuMuVtxedNtupleTight_*_*", -## "keep *_goodZToMuMuVtxedOneStandAloneNtupleTight_*_*", -## "keep *_goodZToMuMuVtxedOneTrackNtupleTight_*_*", -## # "keep *_goodZToMuMu2HLTVtxedNtuple_*_*", - -## ), -## SelectEvents = cms.untracked.PSet( -## SelectEvents = cms.vstring( -## "goodZToMuMuPathTight", -## "goodZToMuMu1HLTPathTight", -## "goodZToMuMu2HLTPathTight", -## "goodZToMuMuSameCharge2HLTPathTight", -## "goodZToMuMuSameCharge1HLTPathTight", -## "nonIsolatedZToMuMuPathTight", -## "oneNonIsolatedZToMuMuPathTight", -## "twoNonIsolatedZToMuMuPathTight", -## "goodZToMuMuOneTrackPathTight", -## "goodZToMuMuOneStandAloneMuonPathTight", -## ) -## ) -## ) - - -## vtxedNtuplesOutTight.setLabel("vtxedNtuplesOutTight") -## VtxedNtuplesOutTight.__iadd__(vtxedNtuplesOutTight) -## VtxedNtuplesOutTight.setLabel("VtxedNtuplesOutTight") diff --git a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuGolden_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/ZMuMuGolden_cfi.py deleted file mode 100755 index a905e7f87971e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/ZMuMuGolden_cfi.py +++ /dev/null @@ -1,86 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy - -################################################### -# muons for ZMuMu # -################################################### - -goodGlobalMuons = cms.EDFilter("MuonViewRefSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon = 1 & isTrackerMuon = 1 & pt > 20 & abs(eta)<2.1 & isolationR03().sumPt<3.0 & abs(globalTrack().dxy)<0.2 & globalTrack().hitPattern().numberOfValidTrackerHits>10'), - filter = cms.bool(True) -) - -################################################### -# combiner module # -################################################### - -zmmCands = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(True), - cut = cms.string('mass > 60 & mass<120 & charge=0'), - decay = cms.string("goodGlobalMuons@+ goodGlobalMuons@-") -) - - -# dimuon filter -dimuonsFilter = cms.EDFilter("CandViewCountFilter", - src = cms.InputTag("zmmCands"), - minNumber = cms.uint32(1) -) - -### trigger filter: selection of the events which have fired the HLT trigger path given. You may want to use it or to duisegard at all add a trigger match or not.... - - - -import HLTrigger.HLTfilters.hltHighLevel_cfi - -dimuonsHLTFilter = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone() -# Add this to access 8E29 menu -dimuonsHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -# for 1E31 menu -#dimuonsHLTFilter.HLTPaths = ["HLT_Mu9", "HLT_DoubleMu3"] -dimuonsHLTFilter.HLTPaths = ["HLT_Mu9"] - - - - -################################################## -### trigger mathching, optional ####### -################################################## - -zSelection = cms.PSet( -## cut already implemented, but one could add more (e.g. massMin, massMax,... change the pt or eta cut....) - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 60"), - ) - - -##ZMuMu: at least one HLT trigger match -goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZGoldenSelectorAndFilter", - zSelection, - TrigTag = cms.InputTag("TriggerResults::HLT"), - triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT" ), - src = cms.InputTag("zmmCands"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - L3FilterName= cms.string("hltSingleMu9L3Filtered9"), - maxDPtRel = cms.double( 1.0 ), - maxDeltaR = cms.double( 0.2 ), - filter = cms.bool(True) -) - - - - -ewkZMuMuGoldenSequence = cms.Sequence( - goodGlobalMuons -# one may want to disregard the HLT filter - # * dimuonsHLTFilter - * zmmCands - * dimuonsFilter -# one may want to disregard the HLT matching - # * goodZToMuMuAtLeast1HLT -) - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneStandAloneMuon_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneStandAloneMuon_cfi.py deleted file mode 100644 index 9608297a52b1d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneStandAloneMuon_cfi.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - -zToMuMuOneStandAloneMuonLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - - -goodZToMuMuOneStandAloneMuonLoose = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuonLoose"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -## attention to the overlap... should be done for both tight and loose cuts - -goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - - - -#goodZToMuMuOneStandAloneMuon = copy.deepcopy(goodZTight) -#goodZToMuMuOneStandAloneMuon.src = cms.InputTag("goodZToMuMuOneStandAloneMuonLoose") - -#ZMuSta:requiring that the GlobalMuon has HLT match -goodZToMuMuOneStandAloneMuonFirstHLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuonLoose"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - -#goodZToMuMuOneStandAloneMuonFirstHLTTight = copy.deepcopy(goodZTight) -#goodZToMuMuOneStandAloneMuonFirstHLTTight.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackUserData_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackUserData_cfi.py deleted file mode 100644 index 3a040d0d16c9c..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackUserData_cfi.py +++ /dev/null @@ -1,69 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - -zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("userDataDimuonsOneTrack"), - filter = cms.bool(True) -) - -zToMuMuOneTrackLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - - -zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - - -## attention to the overlap... should be done with tight zmumu - -goodZToMuMuOneTrackLoose = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackLoose"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - - - -#goodZToMuMuOneTrack = copy.deepcopy(goodZTight) -#goodZToMuMuOneTrack.src = cms.InputTag("goodZToMuMuOneTrackLoose") - - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -goodZToMuMuOneTrackFirstHLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackLoose"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -#goodZToMuMuOneTrackFirstHLT = copy.deepcopy(goodZTight) -#goodZToMuMuOneTrackFirstHLT.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTLoose") - -goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrack_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrack_cfi.py deleted file mode 100644 index c295e81a83001..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrack_cfi.py +++ /dev/null @@ -1,71 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - -zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - ### added UserData - src = cms.InputTag("userDataDimuonsOneTrack"), - ###src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -zToMuMuOneTrackLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - - -zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - - -## attention to the overlap... should be done with tight zmumu - -goodZToMuMuOneTrackLoose = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackLoose"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - - - -#goodZToMuMuOneTrack = copy.deepcopy(goodZTight) -#goodZToMuMuOneTrack.src = cms.InputTag("goodZToMuMuOneTrackLoose") - - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -goodZToMuMuOneTrackFirstHLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackLoose"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -#goodZToMuMuOneTrackFirstHLT = copy.deepcopy(goodZTight) -#goodZToMuMuOneTrackFirstHLT.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTLoose") - -goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackerMuon_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackerMuon_cfi.py deleted file mode 100644 index ca807eaea3ce8..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuOneTrackerMuon_cfi.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - - - -zToMuMuOneTrackerMuonLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("dimuonsOneTrackerMuon"), - filter = cms.bool(True) -) - - -zToMuMuOneTrackerMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneTrackerMuon"), - filter = cms.bool(True) -) - - - -## attention to the overlap... should be done with tight zmumu -goodZToMuMuOneTrackerMuonLoose = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackerMuonLoose"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -goodZToMuMuOneTrackerMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackerMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - - - - - -#ZMuTrkMuon:requiring that the GlobalMuon has HLT match -goodZToMuMuOneTrackerMuonFirstHLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackerMuonLoose"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -goodZToMuMuOneTrackerMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackerMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuSameCharge_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuSameCharge_cfi.py deleted file mode 100644 index bc863ac449dfe..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMuSameCharge_cfi.py +++ /dev/null @@ -1,69 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - -# same charge dimuons.... -dimuonsGlobalSameCharge = cms.EDFilter( - "CandViewRefSelector", - ### added UserData - src = cms.InputTag("userDataDimuons"), - ##src = cms.InputTag("dimuons"), - cut = cms.string('charge!=0 & mass > 0 & daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1') - ) - - -goodZToMuMuSameChargeLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("dimuonsGlobalSameCharge"), - filter = cms.bool(True) -) - -goodZToMuMuSameChargeLoose.cut=cms.string("charge!=0 & daughter(0).pt > 10 & daughter(1).pt > 10 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 ") - -goodZToMuMuSameCharge = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobalSameCharge"), - filter = cms.bool(True) -) - -goodZToMuMuSameCharge.cut=cms.string("charge!=0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 ") - - - - - -goodZToMuMuSameChargeAtLeast1HLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuSameChargeLoose"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -goodZToMuMuSameChargeAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuSameCharge"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - - -goodZToMuMuSameCharge2HLTLoose = copy.deepcopy(goodZToMuMuSameChargeAtLeast1HLTLoose) -goodZToMuMuSameCharge2HLTLoose.condition= cms.string("bothMatched") - -goodZToMuMuSameCharge1HLT = copy.deepcopy(goodZToMuMuSameChargeAtLeast1HLT) -goodZToMuMuSameCharge1HLT.condition= cms.string("bothMatched") - -goodZToMuMuSameCharge1HLTLoose = copy.deepcopy(goodZToMuMuSameChargeAtLeast1HLTLoose) -goodZToMuMuSameCharge1HLTLoose.condition= cms.string("exactlyOneMatched") - - -goodZToMuMuSameCharge2HLT = copy.deepcopy(goodZToMuMuSameChargeAtLeast1HLT) -goodZToMuMuSameCharge2HLT.condition= cms.string("exactlyOneMatched") diff --git a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMu_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMu_cfi.py deleted file mode 100644 index fd19ca5f3167d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/goodZToMuMu_cfi.py +++ /dev/null @@ -1,163 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy - -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * - -goodZToMuMuLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionLoose, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) - -) - -goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -goodZToMuMuNotFiltered = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) ### not filtered, needed for AB and BB region study - -) - - - -#ZMuMu: requiring at least 1 HLT trigger match (for the shape) -goodZToMuMuAtLeast1HLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuLoose"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - -#ZMuMu: requiring 2 HLT trigger match -goodZToMuMu2HLTLoose = copy.deepcopy(goodZToMuMuAtLeast1HLTLoose) -goodZToMuMu2HLTLoose.condition =cms.string("bothMatched") - -goodZToMuMu2HLT = copy.deepcopy(goodZToMuMuAtLeast1HLT) -goodZToMuMu2HLT.condition =cms.string("bothMatched") - - -#ZMuMu: requiring 1 HLT trigger match -goodZToMuMu1HLTLoose = copy.deepcopy(goodZToMuMuAtLeast1HLTLoose) -goodZToMuMu1HLTLoose.condition =cms.string("exactlyOneMatched") - -goodZToMuMu1HLT = copy.deepcopy(goodZToMuMuAtLeast1HLT) -goodZToMuMu1HLT.condition =cms.string("exactlyOneMatched") - - - -### exploring the 2.1 -- 2.4 eta region -### A: |eta|<2.1, B: 2.1<|eta|<2.4 -zToMuMuABLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionABLoose, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -### two muon with 2.1< eta < 2.4 -zToMuMuBBLoose = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionBBLoose, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -zToMuMuAB = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionAB, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -### two muon with 2.1< eta < 2.4 -zToMuMuBB = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelectionBB, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -goodZToMuMuABLoose = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuABLoose"), - overlap = cms.InputTag("goodZToMuMuNotFiltered"), - filter = cms.bool(True) -) - - -goodZToMuMuAB = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuAB"), - overlap = cms.InputTag("goodZToMuMuNotFiltered"), - filter = cms.bool(True) -) - - -goodZToMuMuAB1HLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuABLoose"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -goodZToMuMuBB2HLTLoose = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("zToMuMuBBLoose"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_DoubleMu3"), - filter = cms.bool(True) -) - - - -goodZToMuMuAB1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuAB"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -goodZToMuMuBB2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("zToMuMuBB"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_DoubleMu3"), - filter = cms.bool(True) -) - - - - - - - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/nonIsolatedZToMuMu_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/nonIsolatedZToMuMu_cfi.py deleted file mode 100644 index 0089876ed3c44..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/nonIsolatedZToMuMu_cfi.py +++ /dev/null @@ -1,68 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * -import copy - -#### tight only.... - -#ZMuMu:at least one muon is not isolated -nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -#ZMuMu:1 muon is not isolated -oneNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuOneNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - - -#ZMuMu: 2 muons are not isolated -twoNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuTwoNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - -#ZMuMunotIso: requiring at least 1 trigger -nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -#ZMuMuOnenotIso: requiring at least 1 trigger -oneNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("oneNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - -#ZMuMuTwonotIso: requiring at least 1 trigger -twoNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("twoNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - diff --git a/ElectroWeakAnalysis/ZMuMu/python/zSelection_cfi.py b/ElectroWeakAnalysis/ZMuMu/python/zSelection_cfi.py deleted file mode 100644 index 077ef5a456f4e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/python/zSelection_cfi.py +++ /dev/null @@ -1,144 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -zSelectionLoose = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 15 & daughter(1).pt > 15 & abs(daughter(0).eta)<2.4 & abs(daughter(1).eta)<2.4 & mass > 0"), - isoCut = cms.double(1000.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - ) - - -##### I = alpha /2 (( 1 + beta) HCal + (1 - beta) Ecal ) + (1 - alpha)Trk - -####### combined isolation -#zSelection = cms.PSet( -# cut = cms.string("charge = 0 & daughter(0).pt > 20. & daughter(1).pt > 20. & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 0"), -# isoCut = cms.double(.45), ### with alpha = 2/3 and beta =0, so 0.45 is equivalent to 0.15...... -# ptThreshold = cms.untracked.double(0.), -# etEcalThreshold = cms.untracked.double(0.), -# etHcalThreshold = cms.untracked.double(0.), -# deltaRVetoTrk = cms.untracked.double(0.01), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.3), -# deltaRHcal = cms.untracked.double(0.3), -# alpha = cms.untracked.double(0.666667), -# beta = cms.untracked.double(0.0), -# relativeIsolation = cms.bool(True) -# ) - - -#### tracker isolation -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20. & daughter(1).pt > 20. & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 0"), - isoCut = cms.double(3.00), - ptThreshold = cms.untracked.double(0.), - etEcalThreshold = cms.untracked.double(0.), - etHcalThreshold = cms.untracked.double(0.), - deltaRVetoTrk = cms.untracked.double(0.01), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.3), - deltaRHcal = cms.untracked.double(0.3), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(0.0), - relativeIsolation = cms.bool(False) - ) - - - - -### region A: |eta|<2.1, region B: 2.1< |eta| <2.4 - -zSelectionABLoose = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 15 & daughter(1).pt > 15 & ( (abs(daughter(0).eta)<2.1 & 2.1< abs(daughter(1).eta)<2.4 ) || (abs(daughter(1).eta)<2.1 & 2.1< abs(daughter(0).eta)<2.4 ) ) & mass > 0"), - isoCut = cms.double(1000.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - ) - - -zSelectionAB = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20. & daughter(1).pt > 20. & ( (abs(daughter(0).eta)<2.1 & 2.1< abs(daughter(1).eta)<2.4 ) || (abs(daughter(1).eta)<2.1 & 2.1< abs(daughter(0).eta)<2.4 ) ) & mass > 0"), - isoCut = cms.double(1000.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - ) - - -zSelectionBBLoose = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 15 & daughter(1).pt > 15 & ( 2.1< abs(daughter(0).eta)<2.4 & 2.1< abs(daughter(1).eta)<2.4 ) & mass > 0"), - isoCut = cms.double(1000.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - ) - - -zSelectionBB = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & ( 2.1< abs(daughter(0).eta)<2.4 & 2.1< abs(daughter(1).eta)<2.4 ) & mass > 0"), - isoCut = cms.double(1000.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - ) - - - - -goodZTight = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("goodZ"), - filter = cms.bool(True) -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/BTagAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/BTagAnalysis.py deleted file mode 100644 index de162b60e1ab6..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/BTagAnalysis.py +++ /dev/null @@ -1,71 +0,0 @@ - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(100) -) - -#process.load("ElectroWeakAnalysis/ZMuMu/OCTSUBSKIM_cff") - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( -"file:/afs/cern.ch/user/d/degrutto/scratch0/testZmm/CMSSW_3_5_7/src/ElectroWeakAnalysis/ZMuMu/test/ZMuMuSubskim_135149.root" -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_1.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_2.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_1.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_2.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_3.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_4.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_5.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_6.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/TTbar/testZMuMuSubSkim_1.root", - ) -) - - - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("ewkZMuMuCategories_oneshot_all_3_Test.root") - ) - - - - -process.globalMuQualityCutsAnalysis= cms.EDAnalyzer( - "BjetAnalysis", -# actually one can clean all it up..... I don't need any other branch..... - src = cms.InputTag("muons"), # dimuonsOneTrack, dimuonsOneStandAlone - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - - - -process.initialGoodZToMuMuPath = cms.Path( - process.globalMuQualityCutsAnalysis -) - - -#process.endPath = cms.EndPath( -# process.out -#) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/BuildFile.xml b/ElectroWeakAnalysis/ZMuMu/test/BuildFile.xml deleted file mode 100644 index 0ecd2c37519dd..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/BuildFile.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/EWKSystUnc.py b/ElectroWeakAnalysis/ZMuMu/test/EWKSystUnc.py deleted file mode 100644 index 631e50c568933..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/EWKSystUnc.py +++ /dev/null @@ -1,107 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ewkSystUnc") - -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(-1) -) - - -## process.source = cms.Source("PoolSource", -## debugVerbosity = cms.untracked.uint32(0), -## debugFlag = cms.untracked.bool(False), -## fileNames = cms.untracked.vstring() -## ) -## import os -## dirname = "/scratch1/cms/data/summer08/Zmumu_M20/" -## dirlist = os.listdir(dirname) -## basenamelist = os.listdir(dirname + "/") -## for basename in basenamelist: -## process.source.fileNames.append("file:" + dirname + "/" + basename) -## print "Number of files to process is %s" % (len(process.source.fileNames)) - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:genParticlePlusISRANDFSRWeights.root', -) -) -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - -process.TFileService = cms.Service("TFileService", - fileName = cms.string('EWKWeights.root') -) - - -#for i in range(41): -# proc = "process.zpdf" + str(i) - # print "proc", proc -process.ewkSyst = cms.EDAnalyzer("EWKSystUnc", - genParticles = cms.InputTag("genParticles"), - weights = cms.InputTag("xxxxx"), - nbinsMass=cms.untracked.uint32(200), - nbinsPt=cms.untracked.uint32(200), - nbinsAng=cms.untracked.uint32(200), - massMax = cms.untracked.double(200.), - ptMax= cms.untracked.double(200.), - angMax = cms.untracked.double(6.), - #parameter for the geometric acceptance - accPtMin = cms.untracked.double(20.0), - accMassMin = cms.untracked.double(60.0), - accMassMax = cms.untracked.double(120.0), - accEtaMin = cms.untracked.double(0.0), - accEtaMax = cms.untracked.double(2.1), - isMCatNLO= cms.untracked.bool(False), - outfilename= cms.untracked.string("xxxxx.txt") - ) - -w_1 = "isrWeight" -w_2 = "fsrWeight" -w_3= "isrGammaWeight" - - - -### w1 members ### -module_1 = copy.deepcopy(process.ewkSyst) -setattr(module_1, "weights", w_1) -setattr(module_1, "outfilename", w_1 + ".txt") -moduleLabel_1 = module_1.label() + w_1 -setattr(process, moduleLabel_1, module_1) - - -### w2 members ### -module_2 = copy.deepcopy(process.ewkSyst) -setattr(module_2, "weights", w_2) -setattr(module_2, "outfilename", w_2 + ".txt") -moduleLabel_2 = module_2.label() + w_2 -setattr(process, moduleLabel_2, module_2) - -### w2 members ### -module_3 = copy.deepcopy(process.ewkSyst) -setattr(module_3, "weights", w_3) -setattr(module_3, "outfilename", w_3 + ".txt") -moduleLabel_3 = module_3.label() + w_3 -setattr(process, moduleLabel_3, module_3) - -seq= module_1 + module_2 + module_3 - - - -print("sequence", seq) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - - - - -process.path=cms.Path(seq) -process.end = cms.EndPath(process.evtInfo ) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/EWKSystematicsAnalyzer.py b/ElectroWeakAnalysis/ZMuMu/test/EWKSystematicsAnalyzer.py deleted file mode 100644 index 2ae383e92a98e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/EWKSystematicsAnalyzer.py +++ /dev/null @@ -1,133 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process name -process = cms.Process("systAna") - -# Max events -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - #input = cms.untracked.int32(100) -) - -# Printouts -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - - -# Input files (on disk) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - fileNames = cms.untracked.vstring( -"file:~/Zmumu7TeVGenSimReco/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -"file:~/Zmumu7TeVGenSimReco/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -"file:~/Zmumu7TeVGenSimReco/38980FEC-C182-DE11-A3B5-003048D4767C.root", - "file:~/Zmumu7TeVGenSimReco/3AF703B9-AE82-DE11-9656-0015172C0925.root", -"file:~/Zmumu7TeVGenSimReco/46854F8E-BC82-DE11-80AA-003048D47673.root", - "file:~/Zmumu7TeVGenSimReco/8025F9B0-AC82-DE11-8C28-0015172560C6.root", - "file:~/Zmumu7TeVGenSimReco/88DDF58E-BC82-DE11-ADD8-003048D47679.root", - "file:~/Zmumu7TeVGenSimReco/9A115324-BB82-DE11-9C66-001517252130.root", -"file:~/Zmumu7TeVGenSimReco/FC279CAC-AD82-DE11-BAAA-001517357D36.root" - ) -) - -# Printout of generator information for the first event -process.include("SimGeneral/HepPDTESSource/data/pythiapdt.cfi") -process.printGenParticles = cms.EDAnalyzer("ParticleListDrawer", - maxEventsToPrint = cms.untracked.int32(10), - printVertex = cms.untracked.bool(False), - src = cms.InputTag("genParticles") -) - - -# Produce event weights according to generated boson Pt -# Example corresponds to approximate weights to study -# systematic effects due to ISR uncertainties (Z boson as fake example) -process.isrWeight = cms.EDProducer("ISRWeightProducer", - GenTag = cms.untracked.InputTag("VtxSmeared"), - ISRBinEdges = cms.untracked.vdouble( - 0., 1., 2., 3., 4., 5., 6., 7., 8., 9. - , 10., 11., 12., 13., 14., 15., 16., 17., 18., 19. - , 20., 21., 22., 23., 24., 25., 26., 27., 28., 29. - , 30., 31., 32., 33., 34., 35., 36., 37., 38., 39. - , 40., 41., 42., 43., 44., 45., 46., 47., 48., 49. - , 999999. - ), - PtWeights = cms.untracked.vdouble( - 0.800665, 0.822121, 0.851249, 0.868285, 0.878733 - , 0.953853, 0.928108, 0.982021, 1.00659 , 1.00648 - , 1.03218 , 1.04924 , 1.03621 , 1.08743 , 1.01951 - , 1.10519 , 0.984263, 1.04853 , 1.06724 , 1.10183 - , 1.0503 , 1.13162 , 1.03837 , 1.12936 , 0.999173 - , 1.01453 , 1.11435 , 1.10545 , 1.07199 , 1.04542 - , 1.00828 , 1.0822 , 1.09667 , 1.16144 , 1.13906 - , 1.27974 , 1.14936 , 1.23235 , 1.06667 , 1.06363 - , 1.14225 , 1.22955 , 1.12674 , 1.03944 , 1.04639 - , 1.13667 , 1.20493 , 1.09349 , 1.2107 , 1.21073 - ) -) - -# Produce event weights to estimate missing O(alpha) terms + NLO QED terms -process.fsrWeight = cms.EDProducer("FSRWeightProducer", - GenTag = cms.untracked.InputTag("VtxSmeared"), -) - -# Produce event weights to estimate missing QED ISR terms -process.isrGammaWeight = cms.EDProducer("ISRGammaWeightProducer", - GenTag = cms.untracked.InputTag("VtxSmeared"), -) - -# Produce weights for systematics -process.systematicsAnalyzer = cms.EDFilter("SimpleSystematicsAnalyzer", - SelectorPath = cms.untracked.string('systAna'), - WeightTags = cms.untracked.VInputTag("isrWeight","fsrWeight","isrGammaWeight") -) - - -# Save weights in the output file -process.load("Configuration.EventContent.EventContent_cff") -process.MyEventContent = cms.PSet( - outputCommands = process.AODSIMEventContent.outputCommands -) -process.MyEventContent.outputCommands.extend( - cms.untracked.vstring('drop *', - 'keep *_genParticles_*_*', - 'keep *_isrWeight_*_*', - 'keep *_fsrWeight_*_*', - 'keep *_isrGammaWeight_*_*', - # 'keep *_MRST2007lomodewkPdfWeights_*_*', 'keep -# *_cteq6mLHewkPdfWeights_*_*', - # 'keep *_MRST2007lomodewkPdfWeights_*_*', 'kee -#p *_MRST2004nloewkPdfWeights_*_*', - # 'keep *_genEventWeight_*_*' - ) -) - -# Output (optionaly filtered by path) -process.Output = cms.OutputModule("PoolOutputModule", - process.MyEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('systAna') - ), - fileName = cms.untracked.string('genParticlePlusISRANDFSRWeights.root') -) - - - - - - - -# Main path -process.systAna = cms.Path( - process.printGenParticles - *process.isrWeight - *process.fsrWeight - *process.isrGammaWeight - -) - -process.end = cms.EndPath(process.systematicsAnalyzer - * process.Output - ) diff --git a/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuAnalysis.py deleted file mode 100755 index f2970d4a13ac1..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuAnalysis.py +++ /dev/null @@ -1,102 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ZMuMuSubskim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) -#process.options.SkipEvent = cms.untracked.vstring('ProductNotFound') -process.options.FailPath = cms.untracked.vstring('ProductNotFound') - - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 100 - - -# Input files -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - '/store/relval/CMSSW_3_8_5/RelValZMM/GEN-SIM-RECO/START38_V12-v1/0041/1C1BBE0B-D2D2-DF11-BDA3-002618943852.root' - ) -) -#import os -#dirname = "/tmp/degrutto/MinBiasMC/" -#dirlist = os.listdir(dirname) -#basenamelist = os.listdir(dirname + "/") -#for basename in basenamelist: -# process.source.fileNames.append("file:" + dirname + "/" + basename) -# print "Number of files to process is %s" % (len(process.source.fileNames)) - - - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('START38_V12::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -### Subskim - -############ -## to run on data or without MC truth uncomment the following -#process.load("ElectroWeakAnalysis.Skimming.zMuMu_SubskimPaths_cff") -############ - -# output module configuration -process.load("ElectroWeakAnalysis.Skimming.zMuMuSubskimOutputModule_cfi") - -############ -## to run the MC truth uncomment the following -## Look also at python/ZMuMuAnalysisSchedules_cff.py -process.load("ElectroWeakAnalysis.Skimming.zMuMu_SubskimPathsWithMCTruth_cff") -process.zMuMuSubskimOutputModule.outputCommands.extend(process.mcEventContent.outputCommands) -#### - -process.zMuMuSubskimOutputModule.fileName = 'file:/tmp/fabozzi/testZMuMuSubskim_oneshot_Test.root' - -process.outpath = cms.EndPath(process.zMuMuSubskimOutputModule) - -### Here set the HLT Path for trigger matching -process.muonTriggerMatchHLTMuons.pathNames = cms.vstring( 'HLT_Mu11' ) -process.userDataMuons.hltPath = cms.string("HLT_Mu11") -process.userDataDimuons.hltPath = cms.string("HLT_Mu11") -process.userDataDimuonsOneTrack.hltPath = cms.string("HLT_Mu11") -############ - -### Analysis -from ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff import * - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string('ewkZMuMuCategories_oneshot_Test.root') -) - - -### vertexing -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesVtxed_cff") -process.vtxedNtuplesOut.fileName = cms.untracked.string('file:/tmp/fabozzi/VtxedNtupleLoose_test.root') - -### 3_5_X reprocessed MC: to process REDIGI HLT tables uncomment the following -#process.patTrigger.processName = "REDIGI" -#process.patTriggerEvent.processName = "REDIGI" -#process.patTrigger.triggerResults = cms.InputTag( "TriggerResults::REDIGI" ) -#process.patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::REDIGI" ) - -### 3_6_X reprocessed MC: to process REDIGI HLT tables uncomment the following -#process.dimuonsHLTFilter.TriggerResultsTag = cms.InputTag("TriggerResults","","REDIGI36X") -#process.patTrigger.processName = "REDIGI36X" -#process.patTriggerEvent.processName = "REDIGI36X" -#process.patTrigger.triggerResults = cms.InputTag( "TriggerResults::REDIGI36X" ) -#process.patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::REDIGI36X" ) - -### plots -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesPlots_cff") - -### ntuple -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuAnalysisNtupler_cff") -process.ntuplesOut.fileName = cms.untracked.string('file:/tmp/fabozzi/NtupleLooseTestNew_oneshot_all_Test.root') - -### -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuAnalysisSchedules_cff") - diff --git a/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuSubskimUserData.py b/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuSubskimUserData.py deleted file mode 100755 index c89f0b2f22759..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/EWK_ZMuMuSubskimUserData.py +++ /dev/null @@ -1,33 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TestZMuMuSubskim") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -# source -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - #'file:../../Skimming/test/mc7Tev.root' - 'rfio:/castor/cern.ch/user/f/fabozzi/mc7tev/F8EE38AF-1EBE-DE11-8D19-00304891F14E.root' - #'rfio:/castor/cern.ch/user/f/fabozzi/mc7tev/F8EE38AF-1EBE-DE11-8D19-00304891F14E.root' -# 'file:/scratch1/cms/data/summer09/aodsim/zmumu/0016/889E7356-0084-DE11-AF48-001E682F8676.root' -# 'file:testEWKMuSkim.root' - ) -) -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(500) ) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('START3X_V18::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.load("ElectroWeakAnalysis.ZMuMu.zMuMu_SubskimPathsUserData_cff") - -# Output module configuration -process.load("ElectroWeakAnalysis.ZMuMu.zMuMuSubskimOutputModuleUserData_cfi") -process.zMuMuSubskimOutputModule.fileName = 'file:testZMuMuSubskimUserData.root' - -process.outpath = cms.EndPath(process.zMuMuSubskimOutputModule) - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/EvalPdfUnc.py b/ElectroWeakAnalysis/ZMuMu/test/EvalPdfUnc.py deleted file mode 100644 index 9dec256295290..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/EvalPdfUnc.py +++ /dev/null @@ -1,211 +0,0 @@ -from __future__ import print_function -import os, sys, re -import string -import math -from ROOT import * - -usage = "usage: %s python EvalPdfUnc.py infile outfile" % os.path.basename(sys.argv[0]) - -if len(sys.argv) < 3: - print(usage) - sys.exit(2) -else: - argv = sys.argv - print(argv) - infile = argv[1] - outfile = argv[2] - print(argv[1]) - f = open(infile, 'read') - ## outfile in append mode - ff = open(outfile,'a') - - - -acc = std.vector(float)() -acc_rew = std.vector(float)() -nevt = std.vector(float)() -nevt_rew = std.vector(float)() -line= f.readline() -while line: - l=line.split() - acc.push_back( float(l[0])) - acc_rew.push_back( float(l[1]) ) - nevt.push_back( float(l[2])) - nevt_rew.push_back( float(l[3])) - line= f.readline() -f.close() -#for i in acc_rew: -# print i - - -def mean ( v): - mean = 0. - for e in v: - mean+= e - n = float(v.size()) - return ( mean / n ) - -avg_acc = mean (acc) -print("mean acc: ", avg_acc) -avg_acc_rew = mean (acc_rew) -print("mean acc_rew: ", avg_acc_rew) -diff_acc= (avg_acc_rew - avg_acc) / ( avg_acc ) -avg_nevt = mean (nevt) -print("mean nevt: ", avg_nevt) -avg_nevt_rew = mean (nevt_rew) -print("mean nevt_rew: ", avg_nevt_rew) -diff_evt = (avg_nevt_rew - avg_nevt) / ( avg_nevt ) - - -def eval_asym_sys(eff): - ## asym error according to Hof's master formula - d1 = 0. - d2 = 0. - x0 = 0. - s1 = 0. - s2 = 0. - for idx in range(len(eff)) : - i = eff[idx] - if idx == 0 : - x0 = i - else : - if idx % 2 != 0: - d1 = i - x0 - else : - d2 = x0 - i - if(d1 < 0) : - #if (d2<0): - # d1=0 - # d2=0 - tmp = d1 - d1 = -d2 - d2 = -tmp - print(idx/2, ' ' , x0, '[+', d1, ' -', d2, ']') - m1 = max(d1, 0.) - s1 += m1*m1 - m2 = max(d2, 0.) - s2 += m2*m2 - s1 = sqrt(s1) - s2 = sqrt(s2) - print(infile, 'asym error', file=ff) - print(' x = ', x0, '[+', s1, ' -', s2, ']', file=ff) - print('err = +', s1/x0*100, ' -', s2/x0*100, file=ff) - - - -def eval_max_asym_sys(eff): - ## symmetrizing the error, taking each step the max between the two asym errors - d1 = 0. - d2 = 0. - x0 = 0. - s1 = 0. - for idx in range(len(eff)) : - i = eff[idx] - if idx == 0 : - x0 = i - else : - if idx % 2 != 0: - d1 = i - x0 - else : - d2 = x0 - i - if(d1 < 0) : - #if (d2<0): - # d1=0 - # d2=0 - tmp = d1 - d1 = -d2 - d2 = -tmp - print(idx/2, ' ' , x0, '[+', d1, ' -', d2, ']') - m = max(abs(d1), abs(d2)) - s1 += m*m - s1 = sqrt(s1) - print(infile, 'sym error taking the max between asym errors', file=ff) - print(' x = ', x0, '[+', s1, ' -', s1, ']', file=ff) - print('err = +', s1/x0*100, ' -', s1/x0*100, file=ff) - - - - -def eval_mean_asym_sys(eff): - ## symmetrizing the error, taking each step the mean between the two asym errors - d1 = 0. - d2 = 0. - x0 = 0. - s1 = 0. - for idx in range(len(eff)) : - i = eff[idx] - if idx == 0 : - x0 = i - else : - if idx % 2 != 0: - d1 = i - x0 - else : - d2 = x0 - i - if(d1 < 0) : - #if (d2<0): - # d1=0 - # d2=0 - tmp = d1 - d1 = -d2 - d2 = -tmp - print(idx/2, ' ' , x0, '[+', d1, ' -', d2, ']') - m = 0.5 * ( abs(d1) + abs(d2)) - s1 += m*m - s1 = sqrt(s1) - print(infile, 'sym error taking the mean between asym errors', file=ff) - print(' x = ', x0, '[+', s1, ' -', s1, ']', file=ff) - print('err = +', s1/x0*100, ' -', s1/x0*100, file=ff) - - - -def eval_quadsum_asym_sys(eff): - ## symmetrizing the error, taking each step the quadractic sum between the two asym errors - d1 = 0. - d2 = 0. - x0 = 0. - s1 = 0. - for idx in range(len(eff)) : - i = eff[idx] - if idx == 0 : - x0 = i - else : - if idx % 2 != 0: - d1 = i - x0 - else : - d2 = x0 - i - if(d1 < 0) : - #if (d2<0): - # d1=0 - # d2=0 - tmp = d1 - d1 = -d2 - d2 = -tmp - print(idx/2, ' ' , x0, '[+', d1, ' -', d2, ']') - m = sqrt( 0.5 *( abs(d1)* abs(d1) + abs(d2)*abs(d2)) ) - s1 += m*m - s1 = sqrt(s1) - print(infile, 'sym error taking the qaudratic sum between asym errors', file=ff) - print(' x = ', x0, '[+', s1, ' -', s1, ']', file=ff) - print('err = +', s1/x0*100, ' -', s1/x0*100, file=ff) - - -sys_acc_asym = eval_asym_sys(acc_rew) -sys_nevt_asym = eval_asym_sys(nevt_rew ) - - -sys_acc_max_asym = eval_max_asym_sys(acc_rew) -sys_nevt_max_asym = eval_max_asym_sys(nevt_rew ) - -sys_acc_mean_asym = eval_mean_asym_sys(acc_rew) -sys_nevt_mean_asym = eval_mean_asym_sys(nevt_rew ) - -sys_acc_quadsum_asym = eval_quadsum_asym_sys(acc_rew) -sys_nevt_quadsum_asym = eval_quadsum_asym_sys(nevt_rew ) - - - - - -#print "sys acc:", acc_rew[0], " +- " , sys_acc -#print "sys nevt:", nevt_rew[0], " +- " , sys_nevt - diff --git a/ElectroWeakAnalysis/ZMuMu/test/MuAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/MuAnalysis.py deleted file mode 100644 index e1657afd0ece0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/MuAnalysis.py +++ /dev/null @@ -1,245 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("MuonAnalysis") - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - -#"file:~/www/2010/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133483_331.root" -# "file:MuTriggerReco_1_1.root" - - - ) -) - -#import os -#dirname = "/data4/Skimming/SkimResults/135" -#dirlist = os.listdir(dirname) -#basenamelist = os.listdir(dirname + "/") -#for basename in basenamelist: -# process.source.fileNames.append("file:" + dirname + "/" + basename) -# print "Number of files to process is %s" % (len(process.source.fileNames)) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 10000 - - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('START3X_V21::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.load("ElectroWeakAnalysis.Skimming.patCandidatesForZMuMuSubskim_cff") - -process.selectedPatMuons.cut = 'pt > 5. & abs(eta) < 100.0' - -process.load("ElectroWeakAnalysis.Skimming.zMuMuMuonUserData") - - - - - - - - - - -### CandViewNtpProducer Configuration - common to all categories. - -process.goodMuonsEdmNtuple = cms.EDProducer( - "CandViewNtpProducer", - src=cms.InputTag("userDataMuons"), - lazyParser=cms.untracked.bool(True), - prefix=cms.untracked.string("Mu"), - eventInfo=cms.untracked.bool(True), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("Pt"), - quantity = cms.untracked.string("pt") - ), - cms.PSet( - tag = cms.untracked.string("Eta"), - quantity = cms.untracked.string("eta") - ), - cms.PSet( - tag = cms.untracked.string("Phi"), - quantity = cms.untracked.string("phi") - ), - cms.PSet( - tag = cms.untracked.string("Q"), - quantity = cms.untracked.string("charge") - ), - cms.PSet( - tag = cms.untracked.string("Iso"), - quantity = cms.untracked.string("userIso(3)") - ), - cms.PSet( - tag = cms.untracked.string("RelIso"), - quantity = cms.untracked.string("userIso(4)") - ), - cms.PSet( - tag = cms.untracked.string("TrkIso"), - quantity = cms.untracked.string("userIso(0)") - ), - cms.PSet( - tag = cms.untracked.string("EcalIso"), - quantity = cms.untracked.string("userIso(1)") - ), - cms.PSet( - tag = cms.untracked.string("HcalIso"), - quantity = cms.untracked.string("userIso(2)") - ), - cms.PSet( - tag = cms.untracked.string("DxyFromBS"), - quantity = cms.untracked.string("userFloat('zDau_dxyFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("DzFromBS"), - quantity = cms.untracked.string("userFloat('zDau_dzFromBS')") - ), - cms.PSet( - tag = cms.untracked.string("DxyFromPV"), - quantity = cms.untracked.string("userFloat('zDau_dxyFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("DzFromPV"), - quantity = cms.untracked.string("userFloat('zDau_dzFromPV')") - ), - cms.PSet( - tag = cms.untracked.string("HLTBit"), - quantity = cms.untracked.string("userFloat('zDau_HLTBit')") - ), - cms.PSet( - tag = cms.untracked.string("Chi2"), - quantity = cms.untracked.string("userFloat('zDau_Chi2')") - ), - cms.PSet( - tag = cms.untracked.string("TrkChi2"), - quantity = cms.untracked.string("userFloat('zDau_TrkChi2')") - ), - cms.PSet( - tag = cms.untracked.string("SaChi2"), - quantity = cms.untracked.string("userFloat('zDau_SaChi2')") - ), - cms.PSet( - tag = cms.untracked.string("NofMuonHits"), - quantity = cms.untracked.string("userFloat('zDau_NofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("SaNofMuonHits"), - quantity = cms.untracked.string("userFloat('zDau_SaNofMuonHits')") - ), - cms.PSet( - tag = cms.untracked.string("NofStripHits"), - quantity = cms.untracked.string("userFloat('zDau_NofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("NofPixelHits"), - quantity = cms.untracked.string("userFloat('zDau_NofPixelHits')") - ), - cms.PSet( - tag = cms.untracked.string("TrkNofStripHits"), - quantity = cms.untracked.string("userFloat('zDau_TrkNofStripHits')") - ), - cms.PSet( - tag = cms.untracked.string("NofMuChambers"), - quantity = cms.untracked.string("userFloat('zDau_NofMuChambers')") - ), - cms.PSet( - tag = cms.untracked.string("NofMuMatches"), - quantity = cms.untracked.string("userFloat('zDau_NofMuMatches')") - ), - cms.PSet( - tag = cms.untracked.string("EnergyEm"), - quantity = cms.untracked.string("userFloat('zDau_MuEnergyEm')") - ), - cms.PSet( - tag = cms.untracked.string("GlobalMuonBit"), - quantity = cms.untracked.string("isGlobalMuon") - ), - cms.PSet( - tag = cms.untracked.string("StandAloneBit"), - quantity = cms.untracked.string("isStandAloneMuon") - ), - cms.PSet( - tag = cms.untracked.string("TrackerMuonBit"), - quantity = cms.untracked.string("isTrackerMuon") - ), - - - ) - ) - - - - - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * - -EventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - ) - ) - -## ntpEventContent = cms.PSet( -## outputCommands = cms.untracked.vstring( -## "keep *_goodMuonsNtuples_*_*" -## ) -## ) - -EventContent.outputCommands.extend(RECOEventContent.outputCommands) -## EventContent.outputCommands.extend(ntpEventContent.outputCommands) - - -EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'muonsNtpPath') - ) - ) - - -process.OutputModule = cms.OutputModule("PoolOutputModule", - EventContent, - EventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('muonsNtpPath'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('MuReco.root') - - ) - - -process.ntuplesOut = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('MuonsNtuple.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodMuonsEdmNtuple_*_*" - - ) - ) - - - -process.muonsNtpPath = cms.Path( - process.goodMuonRecoForDimuon * - process.userDataMuons * - process.goodMuonsEdmNtuple - ) - - - - -process.outpath = cms.EndPath(process.OutputModule) - -process.ntpoutpath = cms.EndPath(process.ntuplesOut) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/MuTriggerAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/MuTriggerAnalysis.py deleted file mode 100644 index a97ac43c18918..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/MuTriggerAnalysis.py +++ /dev/null @@ -1,160 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TriggerAnalysis2") - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - -#"file:~/www/2010/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133483_331.root" -# "file:MuTriggerReco_1_1.root" - -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_1.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_10.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_11.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_12.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_13.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_2.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_3.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_4.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_5.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_6.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_7.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_8.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133874_9.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133875_1.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133875_2.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133875_3.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133875_4.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133876_1.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133876_2.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133876_3.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133876_4.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_1.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_10.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_2.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_3.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_4.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_5.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_6.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_7.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_8.root", -#"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133877_9.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133881_1.root", -"file:/data4/Skimming/SkimResults/133/EWKMuSkim_L1TG04041_AllMuAtLeastThreeTracks133885_1.root", - - ) -) - -#import os -#dirname = "/data4/Skimming/SkimResults/133" -#dirlist = os.listdir(dirname) -#basenamelist = os.listdir(dirname + "/") -#for basename in basenamelist: -# process.source.file:Names.append("file::" + dirname + "/" + basename) -# print "Number of file:s to process is %s" % (len(process.source.file:Names)) - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 10000 - - -process.source.inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*", "drop L1GlobalTriggerObjectMapRecord_hltL1GtObjectMap__HLT") - -#process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(-1) -#) - -process.TFileService = cms.Service("TFileService", - fileName = cms.string('MuTriggerNew.root') -) - -# Muon filter, you can choose to add/remove/loose/tighten cuts (isolation cuts for example) - -### muon with all quality cuts except iso -process.goodMuonsNotIso = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('( isGlobalMuon=1 && isTrackerMuon ) && isolationR03().sumPt<1000.0 && abs(innerTrack().dxy)<0.5 && (globalTrack().hitPattern().numberOfValidMuonHits()>0) && (globalTrack.hitPattern().numberOfValidStripHits()>=10) && (globalTrack().normalizedChi2()<10) '), - filter = cms.bool(True) - ) - -### all quality cuts -process.goodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('( isGlobalMuon=1 && isTrackerMuon ) && isolationR03().sumPt<3.0 && abs(innerTrack().dxy)<0.5 && (globalTrack().hitPattern().numberOfValidMuonHits()>0) && (globalTrack.hitPattern().numberOfValidStripHits()>=10) && (globalTrack().normalizedChi2()<10) '), - filter = cms.bool(True) - ) - -#### no quality cuts -process.goodMuonsNoCuts = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('( isGlobalMuon=1 && isTrackerMuon ) '), - filter = cms.bool(True) - ) - - - -process.MuTriggerAnalyzerAllCuts = cms.EDAnalyzer( - "MuTriggerAnalyzer", - muons= cms.untracked.InputTag("goodMuons"), - TrigTag = cms.InputTag("TriggerResults::HLT"), - triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::HLT" ), - hltPath = cms.string("HLT_Mu9"), -##HLT_Mu9 - L3FilterName= cms.string("hltSingleMu9L3Filtered9"), - ### ("hltL2Mu9L2Filtered9"), -##hltSingleMu9L3Filtered9 - maxDPtRel = cms.double( 1.0 ), - maxDeltaR = cms.double( 0.5 ), - ptMuCut = cms.untracked.double( 5.0 ), - etaMuCut = cms.untracked.double( 2.1 ), - ptMax_=cms.double( 40.0 ) -) - -import copy -process.MuTriggerAnalyzerAllCutsButIso= copy.deepcopy(process.MuTriggerAnalyzerAllCuts) -process.MuTriggerAnalyzerAllCutsButIso.muons= cms.untracked.InputTag("goodMuonsNotIso") - -process.MuTriggerAnalyzerNoCuts= copy.deepcopy(process.MuTriggerAnalyzerAllCuts) -process.MuTriggerAnalyzerNoCuts.muons= cms.untracked.InputTag("goodMuonsNoCuts") - - - - - - -process.pAllCuts = cms.Path(process.goodMuons* process.MuTriggerAnalyzerAllCuts) -process.pAllCutsButIso = cms.Path(process.goodMuonsNotIso* process.MuTriggerAnalyzerAllCutsButIso) -process.pNoCuts = cms.Path(process.goodMuonsNoCuts* process.MuTriggerAnalyzerNoCuts) - - -# Output module configuration -from Configuration.EventContent.EventContent_cff import * -EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() - ) - -EventContent.outputCommands.extend(FEVTEventContent.outputCommands) - - -EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - 'pAllCuts','pAllCutsButIso','pNoCuts') - ) - ) - - -process.OutputModule = cms.OutputModule("PoolOutputModule", - EventContent, - EventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('pAllCuts'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('MuTriggerReco.root') - - ) - - -#process.outpath = cms.EndPath(process.OutputModule) diff --git a/ElectroWeakAnalysis/ZMuMu/test/PdfSystematicsAnalyzer.py b/ElectroWeakAnalysis/ZMuMu/test/PdfSystematicsAnalyzer.py deleted file mode 100644 index 23b28a8d8d626..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/PdfSystematicsAnalyzer.py +++ /dev/null @@ -1,128 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## produced the weigths according to the given pdf sets... After one needs to run the zPdfUnc.py and EvalPdfUnc.py - -#### intented to run with that prescription: -### cmsrel CMSSW_3_3_X -### cd CMSSW_3_3_X/src -### addpkg ElectroWeakAnalysis/Utilities V00-01-07 -### addpkg MuonAnalysis/MomentumScaleCalibration V00-03-03 -### scram setup lhapdffull -### scram b ToolUpdated -### emacs -nw ElectroWeakAnalysis/Utilities/BuildFile .... to change the build file ( Comment the and Uncomment the ) -### scram b -### cd ElectroWeakAnalysis/Utilities/test/ -### cmsenv -#### cmsRun PdfSystematicsAnalyzer.py - - -# Process name -process = cms.Process("PDFANA") - - - - -# Max events and printouts -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - -#process.options = cms.untracked.PSet( -# wantSummary = cms.untracked.bool(True) -#) - - -# Input files (on disk) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - fileNames = cms.untracked.vstring( - - #"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/38980FEC-C182-DE11-A3B5-003048D4767C.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/3AF703B9-AE82-DE11-9656-0015172C0925.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/46854F8E-BC82-DE11-80AA-003048D47673.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/8025F9B0-AC82-DE11-8C28-0015172560C6.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/88DDF58E-BC82-DE11-ADD8-003048D47679.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/9A115324-BB82-DE11-9C66-001517252130.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/FC279CAC-AD82-DE11-BAAA-001517357D36.root") -) -# Produce PDF weights (maximum is 3) -process.pdfWeights = cms.EDProducer("PdfWeightProducer", - PdfInfoTag = cms.untracked.InputTag("VtxSmeared"), - PdfSetNames = cms.untracked.vstring( - "cteq65.LHgrid", # 21 members - "MRST2006nnlo.LHgrid" # 31 members - , "MRST2007lomod.LHgrid" # 1 member - ) -) - -## other three pdf sets -# Produce PDF weights (maximum is 3) -#process.pdfWeights = cms.EDProducer("PdfWeightProducer", -# PdfInfoTag = cms.untracked.InputTag("VtxSmeared"), -# PdfSetNames = cms.untracked.vstring( -# "cteq61.LHgrid", # 21 members -# "MRST2004nlo.LHgrid" # 1 members -# , "MRST2004nnlo.LHgrid" # 1 member -# ) -#) - - - - -# Save PDF weights in the output file -process.load("Configuration.EventContent.EventContent_cff") -process.MyEventContent = cms.PSet( - outputCommands = process.AODSIMEventContent.outputCommands -) -process.MyEventContent.outputCommands.extend( - cms.untracked.vstring('drop *', - 'keep *_genParticles_*_*', - 'keep *_pdfWeights_*_*', - # 'keep *_MRST2007lomodewkPdfWeights_*_*', 'keep -# *_cteq6mLHewkPdfWeights_*_*', - # 'keep *_MRST2007lomodewkPdfWeights_*_*', 'kee -#p *_MRST2004nloewkPdfWeights_*_*', - # 'keep *_genEventWeight_*_*' - ) -) - -# Output (optionaly filtered by path) -process.pdfOutput = cms.OutputModule("PoolOutputModule", - process.MyEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('pdfana') - ), - fileName = cms.untracked.string('genParticlePlusCteq65AndMRST06NNLOAndMSTW2007LOmodWeigths.root') -) - - - - - - - -# Selector and parameters -# WMN fast selector (use W candidates in this example) -#process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") - -# Collect uncertainties for rate and acceptance -process.pdfSystematics = cms.EDFilter("PdfSystematicsAnalyzer", - SelectorPath = cms.untracked.string('pdfana'), - PdfWeightTags = cms.untracked.VInputTag( - "pdfWeights:cteq65" - , "pdfWeights:MRST2006nnlo" - , "pdfWeights:MRST2007lomod" - ) -) - -# Main path -process.pdfana = cms.Path( - process.pdfWeights - -) - -process.end = cms.EndPath(process.pdfSystematics * process.pdfOutput) diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuAnalysis_Ntuples_cfg.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMuAnalysis_Ntuples_cfg.py deleted file mode 100755 index d7bde3c986b5e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuAnalysis_Ntuples_cfg.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ZMuMuNtupla") - - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 100 - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -process.GlobalTag.globaltag = cms.string('START3X_V18::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100) -) - - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - - "file:testZMuMuSubskimUserData.root" - - ) - ) - - - -# replace ZSelection if wanted...... -## from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * -## zSelection.cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 0") - - - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequencesUserData_cff") - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("ewkZMuMuCategoriesTest.root") -) - - -### vertexing -#process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesVtxed_cff") - -### plots - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesPlots_cff") - -### ntuple - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuAnalysisNtupler_cff") - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuCategories_cfg.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMuCategories_cfg.py deleted file mode 100755 index 677133cfadace..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuCategories_cfg.py +++ /dev/null @@ -1,57 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EwkZMuMuCategories") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 100 - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -#process.GlobalTag.globaltag = cms.string('START3X_V26::All') -process.GlobalTag.globaltag = cms.string('START38_V12::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - "file:/tmp/fabozzi/testZMuMuSubskim.root" - ) -) - -# replace ZSelection if wanted...... -## from ElectroWeakAnalysis.ZMuMu.zSelection_cfi import * -## zSelection.cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 0") - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesSequences_cff") - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("ewkZMuMuCategories.root") -) - - -### vertexing -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesVtxed_cff") - -### plots - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesPlots_cff") - -### ntuple - -### Added UserData - -#process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuCategoriesNtuples_cff") -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuAnalysisNtupler_cff") -process.ntuplesOut.fileName = cms.untracked.string('file:/tmp/fabozzi/NtupleLooseTestNew.root') - diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuGolden_cfg.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMuGolden_cfg.py deleted file mode 100755 index 924bce534d48e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMuGolden_cfg.py +++ /dev/null @@ -1,94 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("EwkZMuMuGolden") - -process.load("ElectroWeakAnalysis.ZMuMu.ZMuMuGolden_cfi") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1 - -#process.load("Configuration.StandardSequences.Geometry_cff") -#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('') -#process.load("Configuration.StandardSequences.MagneticField_cff") - - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/1CD6D0A6-1E64-DF11-BB60-001D09FD0D10.root', - # 'rfio:/castor/cern.ch/cms/store/relval/CMSSW_3_4_0_pre1/RelValZMM/GEN-SIM-RECO/STARTUP31X_V8-v1/0007/CAE2081C-48B5-DE11-9161-001D09F29321.root', - ) -) - - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("ewkZMuMuGolden.root") -) - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - - - - -process.goodZToMuMuPlots = cms.EDFilter( - "CandViewHistoAnalyzer", - zPlots, -# src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - src = cms.InputTag("zmmCands"), - filter = cms.bool(False) -) - - - - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.ewkZMuMuGoldenPath = cms.Path( - process.ewkZMuMuGoldenSequence * - process.goodZToMuMuPlots -) - - - -process.endPath = cms.EndPath( - process.eventInfo -) diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_MCanalysis.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_MCanalysis.py deleted file mode 100644 index a10bf2925a5c1..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_MCanalysis.py +++ /dev/null @@ -1,157 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ZMuMuMCanalysis") -#process.load("ElectroWeakAnalysis.Skimming.mcTruthForDimuons_cff") -#process.load("ElectroWeakAnalysis/Skimming/zMuMu_SubskimPathsWithMCTruth_cff") -#adapting what we have in zMuMu_SubskimPathsWithMCTruth_cff, we don't need to add user data.... - - -process.load("ElectroWeakAnalysis.Skimming.patCandidatesForZMuMuSubskim_cff") -#### quality cut to apply or not -process.patAODTrackCands.cut = 'pt > 20.' -process.selectedPatTracks.cut = 'pt > 20. & abs(eta)<2.1 & ( track().hitPattern().numberOfValidStripHits + track().hitPattern().numberOfValidPixelHits)>= 10 & track().normalizedChi2()<10.' - -process.selectedPatMuons.cut = 'pt > 20. & abs(eta)<2.1 & ( (isGlobalMuon & (globalTrack().hitPattern().numberOfValidStripHits + globalTrack().hitPattern().numberOfValidPixelHits)>= 10 & globalTrack().normalizedChi2()<10. & outerTrack().hitPattern().numberOfValidMuonHits>0 ) || (isStandAloneMuon & outerTrack().normalizedChi2()<10. & outerTrack().hitPattern().numberOfValidMuonHits>0 ))' - - -### temporarly form 31X-->35X reprocessed spring10 data -process.patTrigger.processName = "REDIGI" -process.patTriggerEvent.processName = "REDIGI" -process.patTrigger.triggerResults = cms.InputTag( "TriggerResults::REDIGI" ) -process.patTrigger.triggerEvent = cms.InputTag( "hltTriggerSummaryAOD::REDIGI" ) - - - -process.load("ElectroWeakAnalysis.Skimming.dimuons_cfi") -process.load("ElectroWeakAnalysis.Skimming.dimuonsOneTrack_cfi") -process.load("ElectroWeakAnalysis.Skimming.dimuonsGlobal_cfi") -process.load("ElectroWeakAnalysis.Skimming.dimuonsOneStandAloneMuon_cfi") - -# MC matching sequence -process.load("ElectroWeakAnalysis.Skimming.mcTruthForDimuons_cff") -process.goodMuonMCMatch.src = 'selectedPatMuonsTriggerMatch' -process.goodTrackMCMatch.src = 'selectedPatTracks' - - - - - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - - - - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -#process.GlobalTag.globaltag = cms.string('START37_V1A::All') -process.GlobalTag.globaltag = cms.string('MC_3XY_V26::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -#'file:/tmp/degrutto/testDimuonSkim_all.root' -#'rfio:/castor/cern.ch/user/f/fabozzi/testsubskimMC/testZMuMuSubskim.root' -'rfio:/castor/cern.ch/user/f/fabozzi/mc7tev/spring10/38262142-DF46-DF11-8238-0030487C6A90.root' - -#'rfio:/castor/cern.ch/user/f/fabozzi/mc7tev/F8EE38AF-1EBE-DE11-8D19-00304891F14E.root' - - ) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) -process.TFileService = cms.Service("TFileService", - fileName = cms.string('zMuMu_MCanalysis.root') -) - -process.zToMuMu = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1 & charge=0'), -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("dimuonsOneStandAloneMuon"), - overlap = cms.InputTag("zToMuMu"), -) - -process.zToMuMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - src = cms.InputTag("dimuonsOneTrack"), - cut = cms.string('daughter(0).isGlobalMuon = 1 & charge=0'), -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("zToMuMu"), -) - - -process.zMuMu_MCanalyzer = cms.EDFilter("ZMuMu_MCanalyzer", - muons = cms.InputTag("selectedPatMuons"), - tracks = cms.InputTag("selectedPatTracks"), - zMuMu = cms.InputTag("zToMuMu"), - zMuStandAlone = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - zMuTrack = cms.InputTag("goodZToMuMuOneTrack"), - zMuMuMatchMap = cms.InputTag("allDimuonsMCMatch"), - zMuStandAloneMatchMap = cms.InputTag("allDimuonsMCMatch"), - zMuTrackMatchMap = cms.InputTag("dimuonsOneTrackMCMatch"), - genParticles = cms.InputTag("genParticles"), - bothMuons = cms.bool(True), - zMassMin = cms.untracked.double(60.0), - zMassMax = cms.untracked.double(120.0), - etamin = cms.untracked.double(0.0), - etamax = cms.untracked.double(2.1), - ptmin = cms.untracked.double(20.0), - hltPath = cms.untracked.string("HLT_Mu9"), - ###isolation block - isomax = cms.untracked.double(3.0), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation=cms.untracked.bool(False) -) - - -process.eventInfo = cms.OutputModule("AsciiOutputModule") - - -process.dimuonsPath = cms.Path( - process.goodMuonRecoForDimuon * - process.dimuons * - process.mcTruthForDimuons * - process.dimuonsGlobal * - process.dimuonsOneStandAloneMuon - ) - -process.dimuonsOneTrackPath = cms.Path( - process.goodMuonRecoForDimuon* - process.dimuonsOneTrack* - process.mcTruthForDimuonsOneTrack - ) - - - - -process.p = cms.Path(#process.mcTruthForDimuons * - process.zToMuMu * - process.goodZToMuMuOneStandAloneMuon * - process.zToMuMuOneTrack * - process.goodZToMuMuOneTrack * - process.zMuMu_MCanalyzer) -process.e = cms.EndPath(process.eventInfo) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_efficiencyAnalyzer.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_efficiencyAnalyzer.py deleted file mode 100644 index 83a5c513a75cb..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_efficiencyAnalyzer.py +++ /dev/null @@ -1,69 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("ZMuMuEfficiencyAnalyzer") -process.load("ElectroWeakAnalysis.ZReco.mcTruthForDimuons_cff") - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring('file:/scratch1/cms/data/summer08/skim/dimuons_skim_zmumu.root') -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) -process.TFileService = cms.Service("TFileService", - fileName = cms.string('zMuMu_efficiencyAnalyzer.root') -) - -process.zToMuMu = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1'), -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("dimuonsOneStandAloneMuon"), - overlap = cms.InputTag("zToMuMu"), -) - -process.zToMuMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - src = cms.InputTag("dimuonsOneTrack"), - cut = cms.string('daughter(0).isGlobalMuon = 1'), -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("zToMuMu"), -) - - -process.zMuMu_efficiencyAnalyzer = cms.EDFilter("ZMuMu_efficiencyAnalyzer", - muons = cms.InputTag("selectedLayer1Muons"), - tracks = cms.InputTag("selectedLayer1TrackCands"), - zMuMu = cms.InputTag("zToMuMu"), - zMuStandAlone = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - zMuTrack = cms.InputTag("goodZToMuMuOneTrack"), - zMuMuMatchMap = cms.InputTag("allDimuonsMCMatch"), - zMuStandAloneMatchMap = cms.InputTag("allDimuonsMCMatch"), - zMuTrackMatchMap = cms.InputTag("allDimuonsMCMatch"), - genParticles = cms.InputTag("genParticles"), - primaryVertices =cms.InputTag("offlinePrimaryVertices"), - bothMuons = cms.bool(True), - zMassMin = cms.untracked.double(20.0), - zMassMax = cms.untracked.double(200.0), - isomax = cms.untracked.double(3.0), - etamax = cms.untracked.double(2.0), - ptmin = cms.untracked.double(20.0), -) - -process.eventInfo = cms.OutputModule("AsciiOutputModule") - -process.p = cms.Path(process.mcTruthForDimuons * - process.zToMuMu * - process.goodZToMuMuOneStandAloneMuon * - process.zToMuMuOneTrack * - process.goodZToMuMuOneTrack * - process.zMuMu_efficiencyAnalyzer) -process.e = cms.EndPath(process.eventInfo) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_radiative_analysis.py b/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_radiative_analysis.py deleted file mode 100644 index 36fbde894f8fc..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/ZMuMu_radiative_analysis.py +++ /dev/null @@ -1,117 +0,0 @@ -########################### -# # -# author: Pasquale Noli # -# INFN Naples # -# Script to run radiative # -# analysis # -# # -########################### - - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("Diegol") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(False) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_1.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_2.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_3.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_4.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_6.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_7.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_8.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_9.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_10.root" - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("analysis_radiative_table.root") -) - - - - -#ZMuSta -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("dimuonsOneStandAloneMuon"), - overlap = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) -) - - -#ZMuTk -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(False) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuGlobalMuOneTrack"), - overlap = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) -) - - -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(False) -) - - -process.Analyzer = cms.EDAnalyzer( - "ZMuMu_Radiative_analyzer", - zMuMu = cms.InputTag("dimuonsGlobal"), - zMuMuMatchMap= cms.InputTag("allDimuonsMCMatch"), - zMuTk = cms.InputTag("goodZToMuMuOneTrackFirstHLT"), - zMuTkMatchMap= cms.InputTag("allDimuonsMCMatch"), - zMuSa = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - zMuSaMatchMap= cms.InputTag("allDimuonsMCMatch"), - veto = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - ptThreshold = cms.untracked.double(1.5) - ) - - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.path = cms.Path ( - process.goodZToMuMuOneStandAloneMuon+ - process.zToMuGlobalMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.Analyzer -) - - - -#process.endPath = cms.EndPath( -# process.eventInfo -#) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/crabZmmAnalysis.cfg b/ElectroWeakAnalysis/ZMuMu/test/crabZmmAnalysis.cfg deleted file mode 100644 index 0d14b7d206328..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/crabZmmAnalysis.cfg +++ /dev/null @@ -1,42 +0,0 @@ -[CRAB] - -jobtype = cmssw -scheduler = glite -server_name = pisa - -[CMSSW] - -datasetpath = /Zmumu/Spring10-START3X_V26_S09-v1/GEN-SIM-RECO - - - -pset=EWK_ZMuMuAnalysis.py -total_number_of_events=-1 -events_per_job = 1000 -get_edm_output = 1 - -[USER] -return_data = 0 -ui_working_dir= 35XSkimNewZmmv2 - -copy_data = 1 -storage_element = srm-cms.cern.ch -#storage_element =T2_IT_Legnaro - -storage_path=/srm/managerv2?SFN=/castor/cern.ch -user_remote_dir = /user/d/degrutto/35XSkimNew/zmm -#storage_path=/srm:/managerv2?SFN=/pnfs/lnl.infn.it/data/cms/store/ -#user_remote_dir = /user/d/degrutto/test/MinBiasEWKMuSkim_15Apr/ - - - -publish_data = 0 -#publish_with_import_all_parents=0 -publish_data_name = MinBiasEWKMuSkim_15Apr -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet - -[GRID] - -## RB/WMS management: -rb = CERN -#ce_white_list = t2-ce-01.lnl.infn.it,t2-ce-02.lnl.infn.it,t2-ce-03.lnl.infn.it diff --git a/ElectroWeakAnalysis/ZMuMu/test/crab_toymc.cfg b/ElectroWeakAnalysis/ZMuMu/test/crab_toymc.cfg deleted file mode 100644 index de84cd586dfb9..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/crab_toymc.cfg +++ /dev/null @@ -1,47 +0,0 @@ -[CRAB] - -jobtype = cmssw -scheduler = glite -#scheduler = lsf -server_name = legnaro - -[CMSSW] - -### The output files (comma separated list) -output_file = fitResult.txt, outputToy.tgz -datasetpath=None -pset=dummy.py -total_number_of_events=10000 -number_of_jobs=100 - -[USER] -debug_wrapper=1 -script_exe = testToyMC_crab.sh - -### OUTPUT files Management -## output back into UI -return_data = 1 - -#copy_data = 1 - -additional_input_files = toyMonteCarlo, zFitToyMc.txt, zFitToyMc, analysis_Z_133pb_trackIso_3.root - - -[EDG] -# -## RB/WMS management: -rb = CERN - -## Black and White Lists management: -## By Storage -#se_black_list = T0,T1 -#se_white_list = - -## By ComputingElement -#ce_black_list = -#ce_white_list = polgrid1.in2p3.fr,egeece01.ifca.es,t2-ce-01.lnl.infn.it,t2-ce-03.lnl.infn.it,t2-ce-03.lnl.infn.it -#ce_white_list = polgrid1.in2p3.fr - -[CONDORG] - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/dimuonStatistics.py b/ElectroWeakAnalysis/ZMuMu/test/dimuonStatistics.py deleted file mode 100644 index 4c08153d56b82..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/dimuonStatistics.py +++ /dev/null @@ -1,360 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("dimuonStatistics") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_1.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_10.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_11.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_12.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_13.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_14.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_15.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_16.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_17.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_18.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_19.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_2.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_20.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_21.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_22.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_23.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_24.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_25.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_26.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_27.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_28.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_29.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_3.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_30.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_31.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_32.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_33.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_34.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_35.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_36.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_37.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_38.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_39.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_4.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_40.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_41.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_42.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_43.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_44.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_45.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_46.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_47.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_48.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_49.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_5.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_50.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_51.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_52.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_53.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_54.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_55.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_56.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_57.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_58.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_59.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_6.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_60.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_61.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_62.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_63.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_64.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_65.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_66.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_67.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_68.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_69.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_7.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_70.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_71.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_72.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_73.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_74.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_75.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_76.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_77.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_78.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_79.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_8.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_80.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_81.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_82.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_83.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_84.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_85.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_86.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_87.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_88.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_89.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_9.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_90.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_91.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_92.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_93.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_94.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_95.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_96.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_97.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_98.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_99.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_100.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_101.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_102.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_103.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_104.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_105.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_106.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_107.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_108.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_109.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_110.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_111.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_112.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_113.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX/zmm_v2/testZMuMuSubSkim_114.root", - ) -) -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.0 & abs(daughter(1).eta)<2.0 & mass > 20"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - - - ) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) -#ZMuMu: richiedo almeno 1 HLT trigger match.Per la shape -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu1notIso: richiedo almeno un trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:richiedo che il muGlobal ha HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - - - -process.DimuGlobalNotIsoStat = cms.EDAnalyzer( - "DimuonStatistics", - src = cms.InputTag("dimuonsGlobal"), # dimuonsOneTrack, dimuonsOneStandAlone - ptMin = cms.untracked.double(20.0), - massMin = cms.untracked.double(60.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(2.0), - trkIso = cms.untracked.double(10000) - ) - -process.DimuGlobalIsoStat = cms.EDAnalyzer( - "DimuonStatistics", - src = cms.InputTag("dimuonsGlobal"), - ptMin = cms.untracked.double(20.0), - massMin = cms.untracked.double(60.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(2.0), - trkIso = cms.untracked.double(3.0) - ) - -process.DimuOneTrackIsoStat=cms.EDAnalyzer( - "DimuonStatistics", - src = cms.InputTag("dimuonsOneTrack"), - ptMin = cms.untracked.double(20.0), - massMin = cms.untracked.double(60.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(2.0), - trkIso = cms.untracked.double(3.0) - ) -process.DimuOneStaIsoStat=cms.EDAnalyzer( - "DimuonStatistics", - src = cms.InputTag("dimuonsOneStandAloneMuon"), - ptMin = cms.untracked.double(20.0), - massMin = cms.untracked.double(60.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(2.0), - trkIso = cms.untracked.double(3.0) - ) - - - - -process.OneHLTIsolatedPath = cms.Path( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.DimuGlobalIsoStat - ) - -process.TwoHLTIsolatedPath = cms.Path( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.DimuGlobalIsoStat - ) - -process.NonIsolatedPath = cms.Path( - process.nonIsolatedZToMuMu * - process.nonIsolatedZToMuMuAtLeast1HLT* - process.DimuGlobalNotIsoStat - ) - - -process.MuStaIsolatedPath=cms.Path( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.DimuOneStaIsoStat - ) - -process.MuTkIsolatedPath = cms.Path( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.DimuOneTrackIsoStat - - ) - - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/distortedMuonsFromDB.py b/ElectroWeakAnalysis/ZMuMu/test/distortedMuonsFromDB.py deleted file mode 100644 index 122d3fda2bebf..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/distortedMuonsFromDB.py +++ /dev/null @@ -1,138 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Process, how many events, inout files, ... -process = cms.Process("distortMuonsFromDB") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100) - #input = cms.untracked.int32(100) -) -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - #fileNames = cms.untracked.vstring("file:/data4/Wmunu_Summer09-MC_31X_V3-v1_GEN-SIM-RECO/0009/76E35258-507F-DE11-9A21-0022192311C5.root") - fileNames = cms.untracked.vstring( - -"file:../../ZMuMu/test/dimuons_100.root" - #rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/38980FEC-C182-DE11-A3B5-003048D4767C.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/3AF703B9-AE82-DE11-9656-0015172C0925.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/46854F8E-BC82-DE11-80AA-003048D47673.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/8025F9B0-AC82-DE11-8C28-0015172560C6.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/88DDF58E-BC82-DE11-ADD8-003048D47679.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/9A115324-BB82-DE11-9C66-001517252130.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/Zmumu7TeV/GEN-SIM_RECO/0014/FC279CAC-AD82-DE11-BAAA-001517357D36.root" -) -) - -# Debug/info printouts -process.MessageLogger = cms.Service("MessageLogger", - debugModules = cms.untracked.vstring('distortedMuons'), - cout = cms.untracked.PSet( - default = cms.untracked.PSet( limit = cms.untracked.int32(1000) ), - #threshold = cms.untracked.string('INFO') - threshold = cms.untracked.string('DEBUG') - ), - destinations = cms.untracked.vstring('cout') -) - -# Database for scale shift if process.distortedMuons.UseDBForMomentumScale = True -process.load("CondCore.DBCommon.CondDBCommon_cfi") -process.poolDBESSource1 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('oracle://cms_orcoff_prep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Scale_OctoberExercise_EWK_InnerTrack'), - label = cms.untracked.string('') - ) - ) -) -process.poolDBESSource2 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('oracle://cms_orcoff_prep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel') - ) - ) -) -process.poolDBESSource3 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('/afs/cern.ch/cms/DB/conddb') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('oracle://cms_orcoff_prep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel') - ) - ) -) - -# Create a new "distorted" Muon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducerFromDB", - MuonTag = cms.untracked.InputTag("muons"), - - DBScaleLabel = cms.untracked.string(''), - DBDataResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - DBMCResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), -) - -### NOTE: the following WMN selectors require the presence of -### the libraries and plugins fron the ElectroWeakAnalysis/WMuNu package -### So you need to process the ElectroWeakAnalysis/WMuNu package with -### some old CMSSW versions (at least <=3_1_2, <=3_3_0_pre4) -# - -# WMN fast selector (use W candidates in this example) -#process.load("ElectroWeakAnalysis.WMuNu.WMuNuSelection_cff") -#process.corMetWMuNus.MuonTag = cms.untracked.InputTag("distortedMuons") -#process.selcorMet.MuonTag = cms.untracked.InputTag("distortedMuons") - -# Output -process.load("Configuration.EventContent.EventContent_cff") -process.myEventContent = process.AODSIMEventContent -process.myEventContent.outputCommands.extend( - cms.untracked.vstring('drop *', - 'keep *_genParticles_*_*', - 'keep *_muons_*_*', - 'keep *_distortedMuons_*_*') - ) - -process.Output = cms.OutputModule("PoolOutputModule", - process.myEventContent, - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('distortMuons') - ), - fileName = cms.untracked.string('selectedEvents.root') -) - - - - - -# Steering the process -process.distortMuons = cms.Path( - process.distortedMuons - # *process.selectCaloMetWMuNus -) - -process.end = cms.EndPath(process.Output) diff --git a/ElectroWeakAnalysis/ZMuMu/test/errorMatrix.cpp b/ElectroWeakAnalysis/ZMuMu/test/errorMatrix.cpp deleted file mode 100644 index 510b450e7cccf..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/errorMatrix.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include -#include -#include -#include -#include -#include - -using namespace std; - -struct cov { - cov(unsigned int _ix, unsigned int _iy, double _cxy, double _rho) : - ix(_ix), iy(_iy), cxy(_cxy), rho(_rho) { } - unsigned int ix, iy; - double cxy, rho; -}; - -double operator<(const cov & c1, const cov & c2) { - return fabs(c1.rho) > fabs(c2.rho); -} - -int main() { - const unsigned int n = 24; - fstream file("error.txt"); - string name[n]; - double err[n][n]; - for(unsigned int i = 0; i < n; ++i) - file >> name[i]; - for(unsigned int i = 0; i < n; ++i) { - for(unsigned int j = 0; j < n; ++j) { - file >> err[i][j]; - } - } - - for(unsigned int i = 0; i < n; ++i) - for(unsigned int j = i; j < n; ++j) - if(fabs(err[i][j] - err[j][i])> 1.e-4) { - cerr << "error: asymmetric matrix"; - exit(1); - } - - for(unsigned int i = 0; i < n; ++i) { - cout << "err(" << name[i] << ") = " << sqrt(err[i][i]) << endl; - } - - vector covs; - for(unsigned int i = 0; i < n; ++i) - for(unsigned int j = i+1; j < n; ++j) { - double cxy = err[i][j]; - double ex = sqrt(err[i][i]), ey = sqrt(err[j][j]); - if(ex > 0 && ey > 0) { - double rho = cxy / (ex * ey); - covs.push_back(cov(i, j, cxy, rho)); - } - } - - sort(covs.begin(), covs.end()); - for(vector::const_iterator i = covs.begin(); i != covs.end(); ++i) { - cout << "cov(" << name[i->ix] << ", " << name[i->iy] << ") = " << i->cxy << ", " - << " correlation = " << i->rho << endl; - } - return 0; -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/gamma_analysis.py b/ElectroWeakAnalysis/ZMuMu/test/gamma_analysis.py deleted file mode 100644 index 9c5dae0ec641e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/gamma_analysis.py +++ /dev/null @@ -1,101 +0,0 @@ -########################### -# # -# author: Pasquale Noli # -# INFN Naples # -# Script to run gamma # -# analysis # -# # -########################### - - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("Pocho") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(False) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10000) - ) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_1.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_2.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_3.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_4.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_6.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_7.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_8.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_9.root", - "file:/data1/home/noli/roofile_SUMMER08/zMuMu_dimuons_10.root" - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("gamma_analysis.root") -) - - - - -#ZMuSta -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("dimuonsOneStandAloneMuon"), - overlap = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) -) - - -#ZMuTk -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(False) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuGlobalMuOneTrack"), - overlap = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) -) - - - -process.Analyzer = cms.EDAnalyzer( - "gamma_radiative_analyzer", - zMuMu = cms.InputTag("dimuonsGlobal"), - zMuMuMatchMap= cms.InputTag("allDimuonsMCMatch"), - zMuTk = cms.InputTag("goodZToMuMuOneTrack"), - zMuTkMatchMap= cms.InputTag("allDimuonsMCMatch"), - zMuSa = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - zMuSaMatchMap= cms.InputTag("allDimuonsMCMatch"), - ) - - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.path = cms.Path ( - process.goodZToMuMuOneStandAloneMuon+ - process.zToMuGlobalMuOneTrack + - process.goodZToMuMuOneTrack + - process.Analyzer -) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/isoSAEff.py b/ElectroWeakAnalysis/ZMuMu/test/isoSAEff.py deleted file mode 100644 index 63e6a11836695..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/isoSAEff.py +++ /dev/null @@ -1,47 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("IsoSAEff") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_1.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_2.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_3.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_4.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_5.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_6.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_7.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_8.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_9.root", - "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_10.root" - ) -) - -process.isoAnalyzer = cms.EDAnalyzer( - "ZGlobalVsSAIsolationAnalyzer", - src = cms.InputTag("goodZToMuMu"), - isoCut = cms.double(3), - veto = cms.double(0.001), - ptThreshold = cms.double(1.5), - etEcalThreshold = cms.double(0), - etHcalThreshold = cms.double(0), - deltaRTrk = cms.double(0.3), - deltaREcal = cms.double(0.3), - deltaRHcal = cms.double(0.3), - alpha = cms.double(0), - beta = cms.double(0) - ) - -process.path = cms.Path( - process.isoAnalyzer - ) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/AddFlatBkgToZGolden.C b/ElectroWeakAnalysis/ZMuMu/test/macros/AddFlatBkgToZGolden.C deleted file mode 100644 index 69cfcda78304d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/AddFlatBkgToZGolden.C +++ /dev/null @@ -1,65 +0,0 @@ -{ -gROOT->SetStyle("Plain"); -TFile * root_file = new TFile("Analysis_7TeV.root", "update"); - -TH1 * histoZMuMu = root_file->Get("goodZToMuMuPlots/zMass"); -TH1 * histoZMuMu1HLT = root_file->Get("goodZToMuMu1HLTPlots/zMass"); -TH1 * histoZMuMu2HLT = root_file->Get("goodZToMuMu2HLTPlots/zMass"); -double npercent = 1.; - -//histoZMuMu->Draw(); -double integ = (double) histoZMuMu->Integral(); -cout << "integ: " << integ << endl; -for(int i = 1; i <= histoZMuMu->GetNbinsX(); ++i) { - double cont = histoZMuMu->GetBinContent(i) ; - //cout << "cont: " << cont << endl; - // adding npercent flat content.... - double new_cont= cont + ( 0.01 * npercent * integ / histoZMuMu->GetNbinsX()); - //cout << "new_cont: " << new_cont << endl; - histoZMuMu->SetBinContent(i, new_cont); - histoZMuMu->SetBinError(i, sqrt(new_cont)); -} - - -integ = (double) histoZMuMu1HLT->Integral(); -cout << "integ: " << integ << endl; -for(int i = 1; i <= histoZMuMu1HLT->GetNbinsX(); ++i) { - double cont = histoZMuMu1HLT->GetBinContent(i) ; - //cout << "cont: " << cont << endl; - // adding npercent flat content.... - double new_cont= cont + ( 0.01 * npercent * integ / histoZMuMu1HLT->GetNbinsX()); - //cout << "new_cont: " << new_cont << endl; - histoZMuMu1HLT->SetBinContent(i, new_cont); - histoZMuMu1HLT->SetBinError(i, sqrt(new_cont)); -} - - -integ = (double) histoZMuMu2HLT->Integral(); -cout << "integ: " << integ << endl; -for(int i = 1; i <= histoZMuMu2HLT->GetNbinsX(); ++i) { - double cont = histoZMuMu2HLT->GetBinContent(i) ; - //cout << "cont: " << cont << endl; - // adding npercent flat content.... - double new_cont= cont + ( 0.01 * npercent * integ / histoZMuMu2HLT->GetNbinsX()); - //cout << "new_cont: " << new_cont << endl; - histoZMuMu2HLT->SetBinContent(i, new_cont); - histoZMuMu2HLT->SetBinError(i, sqrt(new_cont)); -} - - - -root_file->cd("goodZToMuMuPlots"); -histoZMuMu->Write(); - -root_file->cd("goodZToMuMu1HLTPlots"); -histoZMuMu1HLT->Write(); - -root_file->cd("goodZToMuMu2HLTPlots"); -histoZMuMu2HLT->Write(); -double new_integ = (double) histoZMuMu->Integral(); -cout << "new integ: " << new_integ << endl; -new_integ = (double) histoZMuMu1HLT->Integral(); -cout << "new integ: " << new_integ << endl; -new_integ = (double) histoZMuMu2HLT->Integral(); -cout << "new integ: " << new_integ << endl; -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/MCvsData.C b/ElectroWeakAnalysis/ZMuMu/test/macros/MCvsData.C deleted file mode 100644 index 6309214ab6dc3..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/MCvsData.C +++ /dev/null @@ -1,317 +0,0 @@ -{ - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - //TChain chain("Events"); // create the chain with tree "T" - // gStyle->SetOptStat(); - // gROOT->SetStyle("Plain"); - - TChain chainDATA("Events"); // create the chain with tree "T" - TChain chainMC("Events"); // create the chain with tree "T" - - chainMC.Add("MinBias2010_MC/NtupleLooseTestNew_oneshot_all_MCMinBias.root"); - chainMC.Add("MinBias2010_MC/NtupleLoose_all_15apr_23_0.root"); - chainMC.Add("MinBias2010_MC/NtupleLoose_all_15apr_23_1.root"); - - chainDATA.Add("MinBias2010_15Apr/NtupleLoose_all_15apr_23_2.root"); - chainDATA.Add("MinBias2010_15Apr/NtupleLoose_all_15apr_23_3.root"); - chainDATA.Add("MinBias2010_15Apr/NtupleLoose_all_15apr_23_4.root"); - chainDATA.Add("MinBias2010_15Apr/NtupleLoose_all_15apr_23_5.root"); - - - - /*chain.Add("NtupleLooseTestNew_oneshot_all_132653.root"); - */ - - TFile out("histo.root", "RECREATE"); - TCanvas c; - - std::string pt_cut1= "1"; - std::string pt_cut2= "1"; - std::string scut1 = string("zMuTrkDau1Pt>") + pt_cut1 ; - std::string scut2 = string("zMuTrkDau2Pt>") + pt_cut2 ; - - TH1F * muIsoDATA= new TH1F("zGoldenDauTrkIsoDATA", "zGoldenDauTrkIsoDATA", 100, 0, 50); - TH1F * trkIsoDATA = new TH1F("zMuTrkDau2TrkIsoDATA", "zMuTrkDau2TrkIsoDATA", 100, 0, 50); - TH1F * muStaIsoDATA = new TH1F("zMuStaDauTrkIsoDATA", "zMuStaDauTrkIsoDATA", 100, 0, 50); - TH1F * muTrkMuIsoDATA = new TH1F("zMuTrkMuDauTrkIsoDATA", "zMuTrkMuDauTrkIsoDATA", 100, 0, 50); - TH1F * muIsoMC= new TH1F("zGoldenDauTrkIsoMC", "zGoldenDauTrkIsoMC", 100, 0, 50); - TH1F * trkIsoMC = new TH1F("zMuTrkDau2TrkIsoMC", "zMuTrkDau2TrkIsoMC", 100, 0, 50); - TH1F * muStaIsoMC = new TH1F("zMuStaDauTrkIsoMC", "zMuStaDauTrkIsoMC", 100, 0, 50); - TH1F * muTrkMuIsoMC = new TH1F("zMuTrkMuDauTrkIsoMC", "zMuTrkMuDauTrkIsoMC", 100, 0, 50); - - - - chainDATA->Project("zGoldenDauTrkIsoDATA", "zGoldenDau1TrkIso", scut1.c_str() ); - chainDATA->Project("zGoldenDauTrkIsoDATA", "zGoldenDau2TrkIso", scut1.c_str() ); - chainDATA->Project("zMuTrkDau2TrkIsoDATA", "zMuTrkDau2TrkIso", scut2.c_str() ); - chainDATA->Project("zMuTrkMuDauTrkIsoDATA", "zMuTrkMuDau1TrkIso", scut2.c_str() ); - chainDATA->Project("zMuTrkMuDauTrkIsoDATA", "zMuTrkMuDau2TrkIso", scut2.c_str() ); - chainDATA->Project("zMuStaDauTrkIsoDATA", "zMuStaDau1TrkIso", scut2.c_str() ); - chainDATA->Project("zMuStaDauTrkIsoDATA", "zMuStaDau2TrkIso", scut2.c_str() ); - - - chainMC->Project("zGoldenDauTrkIsoMC", "zGoldenDau1TrkIso", scut1.c_str() ); - chainMC->Project("zGoldenDauTrkIsoMC", "zGoldenDau2TrkIso", scut1.c_str() ); - chainMC->Project("zMuTrkDau2TrkIsoMC", "zMuTrkDau2TrkIso", scut2.c_str() ); - chainMC->Project("zMuTrkMuDauTrkIsoMC", "zMuTrkMuDau1TrkIso", scut2.c_str() ); - chainMC->Project("zMuTrkMuDauTrkIsoMC", "zMuTrkMuDau2TrkIso", scut2.c_str() ); - chainMC->Project("zMuStaDauTrkIsoMC", "zMuStaDau1TrkIso", scut2.c_str() ); - chainMC->Project("zMuStaDauTrkIsoMC", "zMuStaDau2TrkIso", scut2.c_str() ); - - - muIsoMC->Sumw2(); - double scale = muIsoDATA->Integral()/ muIsoMC->Integral(); - muIsoMC->Scale(scale); - - muIsoDATA->SetMarkerColor(kBlack); - muIsoDATA->SetMarkerStyle(20); - muIsoDATA->SetMarkerSize(0.8); - muIsoDATA->SetLineWidth(2); - muIsoDATA->SetLineColor(kBlack); - muIsoMC->SetFillColor(kAzure+7); - muIsoMC->SetLineWidth(2); - muIsoMC->SetLineWidth(2); - muIsoMC->SetLineColor(kBlue+1); - - muIsoMC->SetMaximum(muIsoDATA->GetMaximum()*1.5 + 2); - c.SetLogy(); - - muIsoMC->Draw("HIST"); - muIsoDATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(muIsoDATA,"data"); - leg->AddEntry(muIsoMC,"MC","f"); - leg->Draw(); - - std::cout << "MC entries "<< muIsoMC->GetEntries()<< std::endl; - std::cout << "DATA entries "<< muIsoDATA->GetEntries()<< std::endl; - - c.SaveAs( "zGoldenDau1TrkIso.eps"); - leg->Clear(); - - - std::cout << "MC entries "<< trkIsoMC->GetEntries()<< std::endl; - std::cout << "DATA entries "<< trkIsoDATA->GetEntries()<< std::endl; - - trkIsoMC->Sumw2(); - scale = trkIsoDATA->Integral()/ trkIsoMC->Integral(); - trkIsoMC->Scale(scale); - - trkIsoDATA->SetMarkerColor(kBlack); - trkIsoDATA->SetMarkerStyle(20); - trkIsoDATA->SetMarkerSize(0.8); - trkIsoDATA->SetLineWidth(2); - trkIsoDATA->SetLineColor(kBlack); - trkIsoMC->SetFillColor(kAzure+7); - trkIsoMC->SetLineWidth(2); - trkIsoMC->SetLineWidth(2); - trkIsoMC->SetLineColor(kBlue+1); - - trkIsoMC->SetMaximum(trkIsoDATA->GetMaximum()*1.5 + 1); - trkIsoMC->Draw("HIST"); - trkIsoDATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(trkIsoDATA,"data"); - leg->AddEntry(trkIsoMC,"MC","f"); - leg->Draw(); - - c.SaveAs( "zMuTrkDau2TrkIso.eps"); - leg->Clear(); - - muStaIsoMC->Sumw2(); - scale = muStaIsoDATA->Integral()/ muStaIsoMC->Integral(); - muStaIsoMC->Scale(scale); - - muStaIsoDATA->SetMarkerColor(kBlack); - muStaIsoDATA->SetMarkerStyle(20); - muStaIsoDATA->SetMarkerSize(0.8); - muStaIsoDATA->SetLineWidth(2); - muStaIsoDATA->SetLineColor(kBlack); - muStaIsoMC->SetFillColor(kAzure+7); - muStaIsoMC->SetLineWidth(2); - muStaIsoMC->SetLineWidth(2); - muStaIsoMC->SetLineColor(kBlue+1); - - muStaIsoMC->SetMaximum(muStaIsoDATA->GetMaximum()*1.5 + 1); - muStaIsoMC->Draw("HIST"); - muStaIsoDATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(muStaIsoDATA,"data"); - leg->AddEntry(muStaIsoMC,"MC","f"); - leg->Draw(); - - c.SaveAs( "zMuStaDauTrkIso.eps"); - leg->Clear(); - - muTrkMuIsoMC->Sumw2(); - scale = muTrkMuIsoDATA->Integral()/ muTrkMuIsoMC->Integral(); - muTrkMuIsoMC->Scale(scale); - - muTrkMuIsoDATA->SetMarkerColor(kBlack); - muTrkMuIsoDATA->SetMarkerStyle(20); - muTrkMuIsoDATA->SetMarkerSize(0.8); - muTrkMuIsoDATA->SetLineWidth(2); - muTrkMuIsoDATA->SetLineColor(kBlack); - muTrkMuIsoMC->SetFillColor(kAzure+7); - muTrkMuIsoMC->SetLineWidth(2); - muTrkMuIsoMC->SetLineWidth(2); - muTrkMuIsoMC->SetLineColor(kBlue+1); - - muTrkMuIsoMC->SetMaximum(muTrkMuIsoDATA->GetMaximum()*1.5 + 1); - muTrkMuIsoMC->Draw("HIST"); - muTrkMuIsoDATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(muTrkMuIsoDATA,"data"); - leg->AddEntry(muTrkMuIsoMC,"MC","f"); - leg->Draw(); - - c.SaveAs( "zMuTrkMuDauTrkIso.eps"); - leg->Clear(); - - - std::string value[4] = {"zGolden", "zMuTrk", "zMuTrkMu", "zMuSta"}; - for (int z = 0; z<4; ++z ){ - int min_ = 0; - int max_ = 150; - int nBins =75; - - - - // std::string smass=(value[z]+"Mass"); - - TH1F * histoDATA = new TH1F(string(value[z]+"MassDATA").c_str(),string(value[z]+"MassDATA").c_str() , 100, min_, 20); - TH1F * histoMC = new TH1F(string(value[z]+"MassMC").c_str(),string(value[z]+"MassMC").c_str() , 100, min_, 20); - - // TH1F * histoDATA = new TH1F(string(value[z]+"MassDATA").c_str(),string(value[z]+"MassDATA").c_str() , 75, min_, 150); - // TH1F * histoMC = new TH1F(string(value[z]+"MassMC").c_str(),string(value[z]+"MassMC").c_str() , 75, min_, 150); - - - TH1F * histo2DATA = new TH1F(string(value[z] + "Dau1PtDATA").c_str(),string(value[z] + "Dau1PtDATA").c_str(), nBins, min_, max_); - TH1F * histo2MC = new TH1F(string(value[z] + "Dau1PtMC").c_str(),string(value[z] + "Dau1PtMC").c_str(), nBins, min_, max_); - - - TH1F * histo3DATA = new TH1F(string(value[z] + "Dau2PtDATA").c_str(),string(value[z] + "Dau2Pt").c_str(), nBins, min_, max_); - TH1F * histo3MC = new TH1F(string(value[z] + "Dau2PtMC").c_str(),string(value[z] + "Dau2PtMC").c_str(), nBins, min_, max_); - - - - std::string pt_cut1= "1"; - std::string pt_cut2= "1"; - - std::string scut = value[z] + "Dau1Pt>" + pt_cut1 + " && " + value[z] + "Dau2Pt> "+ pt_cut2; - TCut cut(scut.c_str()); - - chainDATA->Project(string(value[z] + "MassDATA").c_str(), string(value[z] + "Mass").c_str(), cut ); - chainMC->Project(string(value[z] + "MassMC").c_str(), string(value[z] + "Mass").c_str(), cut ); - - chainDATA->Project(string(value[z] + "Dau1PtDATA").c_str(), string(value[z] + "Dau1Pt").c_str(), cut ); - chainMC->Project(string(value[z] + "Dau1PtMC").c_str(), string(value[z] + "Dau1Pt").c_str(), cut ); - - chainDATA->Project(string(value[z] + "Dau2PtDATA").c_str(), string(value[z] + "Dau2Pt").c_str(), cut ); - chainMC->Project(string(value[z] + "Dau2PtMC").c_str(), string(value[z] + "Dau2Pt").c_str(), cut ); - - - histoMC->Sumw2(); - scale = histoDATA->Integral()/ histoMC->Integral(); - histoMC->Scale(scale); - - histoDATA->SetMarkerColor(kBlack); - histoDATA->SetMarkerStyle(20); - histoDATA->SetMarkerSize(0.8); - histoDATA->SetLineWidth(2); - histoDATA->SetLineColor(kBlack); - histoMC->SetFillColor(kAzure+7); - histoMC->SetLineWidth(2); - histoMC->SetLineWidth(2); - histoMC->SetLineColor(kBlue+1); - - histoMC->SetMaximum(histoDATA->GetMaximum()*1.5 + 1); - histoMC->Draw("HIST"); - histoDATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(histoDATA,"data"); - leg->AddEntry(histoMC,"MC","f"); - leg->Draw(); - - c.SaveAs( string(value[z] + "Mass.eps").c_str()); - leg->Clear(); - - histo2MC->Sumw2(); - scale = histo2DATA->Integral()/ histo2MC->Integral(); - histo2MC->Scale(scale); - - histo2DATA->SetMarkerColor(kBlack); - histo2DATA->SetMarkerStyle(20); - histo2DATA->SetMarkerSize(0.8); - histo2DATA->SetLineWidth(2); - histo2DATA->SetLineColor(kBlack); - histo2MC->SetFillColor(kAzure+7); - histo2MC->SetLineWidth(2); - histo2MC->SetLineWidth(2); - histo2MC->SetLineColor(kBlue+1); - - histo2MC->SetMaximum(histo2DATA->GetMaximum()*1.5 + 1); - histo2MC->Draw("HIST"); - histo2DATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(histo2DATA,"data"); - leg->AddEntry(histo2MC,"MC","f"); - leg->Draw(); - - c.SaveAs(string(value[z] + "Dau1Pt.eps").c_str()); - leg->Clear(); - - histo3MC->Sumw2(); - scale = histo3DATA->Integral()/ histo3MC->Integral(); - histo3MC->Scale(scale); - - histo3DATA->SetMarkerColor(kBlack); - histo3DATA->SetMarkerStyle(20); - histo3DATA->SetMarkerSize(0.8); - histo3DATA->SetLineWidth(2); - histo3DATA->SetLineColor(kBlack); - histo3MC->SetFillColor(kAzure+7); - histo3MC->SetLineWidth(2); - histo3MC->SetLineWidth(2); - histo3MC->SetLineColor(kBlue+1); - - histo3MC->SetMaximum(histo3DATA->GetMaximum()*1.5 + 1); - histo3MC->Draw("HIST"); - histo3DATA->Draw("esame"); - - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(histo3DATA,"data"); - leg->AddEntry(histo3MC,"MC","f"); - leg->Draw(); - - // c.SetLogy(0); - - c.SaveAs(string(value[z] + "Dau2Pt.eps").c_str()); - - - - - // c.Write(); - - - -} - - - - // out.Close(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/Start_ToyMC.csh b/ElectroWeakAnalysis/ZMuMu/test/macros/Start_ToyMC.csh deleted file mode 100755 index 56c2765236641..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/Start_ToyMC.csh +++ /dev/null @@ -1,11 +0,0 @@ -######################### -# # -# author: Pasquale Noli # -# INFN Naples # -# script to run ToyMC # -# # -######################### - -#!/bin/csh -runToyMC.csh 1000 5077000 0.75 0.75 0.75 0.75 100 140 -#0.998481 0.98935 0.979679 0.915384 10 140 diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/compareLONLO.C b/ElectroWeakAnalysis/ZMuMu/test/macros/compareLONLO.C deleted file mode 100644 index 65f806f61dea4..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/compareLONLO.C +++ /dev/null @@ -1,173 +0,0 @@ -{ - -gROOT->Reset(); -gROOT->SetStyle("Plain"); - -TCanvas *c1 = new TCanvas ("c1" , "Pythia6 vs MCatNLO"); - -int sec_LO = 19440; -int sec_NLO = 22740; -double w_LO_over_NLO= double (19440) / double (22740) ; - - -TFile *NLO = TFile::Open("ZNLO_10pb.root"); - - -//mass - -TH1D * ZMCNLOmass = (TH1D*) NLO->Get("zHistos/ZMCHisto/ZMCMass"); -ZMCNLOmass->SetLineColor(kBlue); -ZMCNLOmass->SetStats(kFALSE); -ZMCNLOmass-> Draw(); - -TFile *LO = TFile::Open("ZLO_10pb.root"); - -TH1D * ZMCLOmass = (TH1D*) LO->Get("zHistos/ZMCHisto/ZMCMass"); -ZMCLOmass->SetLineColor(kRed); - -ZMCLOmass->Draw("SAME"); -leg = new TLegend(.6,.6,0.9,0.9); -leg->AddEntry(ZMCNLOmass,"MCatNLO","l"); -leg->AddEntry(ZMCLOmass,"Pythia6","l"); -leg->SetFillColor(0); -leg->SetBorderSize(0); - -leg->Draw("SAME"); - -c1.SaveAs("LO_versus_NLO/ZMass_LO_vs_NLO_at10pb.eps"); - - -ZMCNLOmass->Scale(w_LO_over_NLO); -ZMCNLOmass->Draw(""); -ZMCLOmass->Draw("SAME"); -leg->Draw("SAME"); -c1.SaveAs("LO_versus_NLO/ZPt_LO_vs_NLO_at10pb_normalized.eps"); - - - //pt - - - -c1->SetLogy(1); - -TH1D * ZMCNLOpt = (TH1D*) NLO->Get("zHistos/ZMCHisto/ZMCPt"); -ZMCNLOpt->SetLineColor(kBlue); -ZMCNLOpt->Rebin(2); - - - -TFile *LO = TFile::Open("ZLO_10pb.root"); - -TH1D * ZMCLOpt = (TH1D*) LO->Get("zHistos/ZMCHisto/ZMCPt"); -ZMCLOpt->SetLineColor(kRed); -ZMCLOpt->Rebin(2); - -ZMCLOpt->Draw(); -ZMCLOpt->SetStats(kFALSE); -ZMCNLOpt-> Draw("same"); - -leg = new TLegend(.6,.6,0.9,0.9); -leg->AddEntry(ZMCNLOpt,"MCatNLO","l"); -leg->AddEntry(ZMCLOpt,"Pythia6","l"); -leg->SetFillColor(0); -leg->SetBorderSize(0); - -leg->Draw("SAME"); - -c1->SaveAs("LO_versus_NLO/ZPt_LO_vs_NLO_at10pb.eps"); - -// L0/NLO ratio -TH1D numLO = TH1D( *ZMCLOpt); -numLO.Sumw2(); - -TH1D denNLO = TH1D( *ZMCNLOpt); -denNLO.Sumw2(); - -numLO.Divide(&denNLO); -numLO.Draw("b"); -denNLO.Divide(&denNLO); -denNLO.Draw("same"); -c1->SetLogy(0); -c1.SaveAs("LO_versus_NLO/ratioLO_versus_NLO_pt_at10pb.eps"); - -numLO->Scale(1. / w_LO_over_NLO); -c1.SaveAs("LO_versus_NLO/ratioLO_versus_NLO_Pt_LO_vs_NLO_at10pb_normalized.eps"); - - -ZMCNLOpt->Scale(w_LO_over_NLO); -ZMCLOpt->Draw(""); -ZMCNLOpt->Draw("same"); -leg->Draw("SAME"); -c1->SetLogy(1); -c1.SaveAs("LO_versus_NLO_Pt_LO_vs_NLO_at10pb_normalized.eps"); - - - - //rapidity - -c1->SetLogy(0); - -TH1D * ZMCNLOrapidity = (TH1D*) NLO->Get("zHistos/ZMCHisto/ZMCRapidity"); -ZMCNLOrapidity->SetLineColor(kBlue); -ZMCNLOrapidity->Rebin(2); -ZMCNLOrapidity-> Draw(); -ZMCNLOrapidity->SetStats(kFALSE); - - -TFile *LO = TFile::Open("ZLO_10pb.root"); - -TH1D * ZMCLOrapidity = (TH1D*) LO->Get("zHistos/ZMCHisto/ZMCRapidity"); -ZMCLOrapidity->SetLineColor(kRed); -ZMCLOrapidity->Rebin(2); -ZMCLOrapidity->Draw(); -ZMCLOrapidity->SetStats(kFALSE); -ZMCNLOrapidity-> Draw("SAME"); -leg = new TLegend(.7,.7,0.9,0.9); -leg->AddEntry(ZMCNLOrapidity,"MCatNLO","l"); -leg->AddEntry(ZMCLOrapidity,"Pythia6","l"); -leg->SetFillColor(0); -leg->SetBorderSize(0); - -leg->Draw("SAME"); - -c1.SaveAs("LO_versus_NLO/ZRapidity_LO_vs_NLO_at10pb.eps"); - -// L0/NLO ratio -TH1D numLO = TH1D( *ZMCLOrapidity); -numLO.Sumw2(); - -TH1D denNLO = TH1D( *ZMCNLOrapidity); -denNLO.Sumw2(); - -numLO.Divide(&denNLO); -numLO.Draw("b"); -denNLO.Divide(&denNLO); -denNLO.Draw("same"); -c1->SetLogy(0); -c1.SaveAs("LO_versus_NLO/ratioLO_versus_NLO_rapidity_at10pb.eps"); - -numLO->Scale(1. / w_LO_over_NLO); -c1.SaveAs("LO_versus_NLO/ratioLO_versus_NLO_rapidity_LO_vs_NLO_at10pb_normalized.eps"); - - - - - -ZMCLOrapidity->Draw(); -ZMCNLOrapidity->Scale(w_LO_over_NLO); -ZMCNLOrapidity->Draw("SAME"); -leg->Draw("SAME"); -c1->SetLogy(1); -c1.SaveAs("LO_versus_NLO/ZRapidity_LO_vs_NLO_at10pb_normalized.eps"); - - - - -TFile * ZToLL_file = new TFile("CompareLONLO.root","recreate"); - - - - -ZToLL_file->Close(); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/create_tree_for_toyMC.C b/ElectroWeakAnalysis/ZMuMu/test/macros/create_tree_for_toyMC.C deleted file mode 100644 index 3b201447d52fc..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/create_tree_for_toyMC.C +++ /dev/null @@ -1,93 +0,0 @@ -/*************************/ -/* */ -/* author: Pasquale Noli */ -/* INFN Naples */ -/* Create TTree from */ -/* fit on Toy Montecarlo */ -/* */ -/*************************/ -#include -#include -#include -#include -#include -#include "TObjArray.h" -#include "TROOT.h" -#include "TTree.h" -#include "TFile.h" -#include -#include - -using namespace std; - -void create_tree_for_toyMC()() -{ - gROOT->Reset(); - - Double_t Y; - Double_t Y_true; - Double_t dY; - Double_t Tk; - Double_t Tk_true; - Double_t dTk; - Double_t Sa; - Double_t Sa_true; - Double_t dSa; - Double_t Iso; - Double_t Iso_true; - Double_t dIso; - Double_t Hlt; - Double_t Hlt_true; - Double_t dHlt; - Double_t chi2; - - TFile *f; - TTree *tree; - - f = new TFile("fitResult.root","RECREATE"); - tree = new TTree("tree"," C data from ASCII file"); - - tree->Branch("Y",&Y,"Y/D"); - tree->Branch("Y_true",&Y_true,"Y/D"); - tree->Branch("dY",&dY,"dY/D"); - tree->Branch("Tk",&Tk," Tk/D"); - tree->Branch("Tk_true",&Tk_true," Tk_true/D"); - tree->Branch("dTk",&dTk," dTk/D"); - tree->Branch("Sa",&Sa," Sa/D"); - tree->Branch("Sa_true",&Sa_true," Sa_true/D"); - tree->Branch("dSa",&dSa," dSa/D"); - tree->Branch("Iso",&Iso," Iso/D"); - tree->Branch("Iso_true",&Iso_true," Iso_true/D"); - tree->Branch("dIso",&dIso," dIso/D"); - tree->Branch("Hlt",&Hlt," Hlt/D"); - tree->Branch("Hlt_true",&Hlt_true," Hlt_true/D"); - tree->Branch("dHlt",&dHlt," dHlt/D"); - tree->Branch("chi2",&chi2," chi2/D"); - - ifstream fin; - fin.open("fitResult.txt"); - - char line[1024]; - - fin.getline(line, 1024); - cout << line << endl; - fin >> Y_true >> Tk_true >> Sa_true >> Iso_true >> Hlt_true; - cout << "Yield = " << Y_true; - cout << " eff_trk = " << Tk_true; - cout << " eff_sa = " << Sa_true; - cout << " eff_iso = " << Iso_true; - cout << " eff_hlt = " << Hlt_true << endl; - while(!(fin.eof())){ - Y = 0; - fin >> Y >> dY >> Tk >> dTk >> Sa >> - dSa >> Iso >> dIso >> Hlt >> dHlt >>chi2; - if(Y > 0) - tree->Fill(); - } - - tree->Print(); - f->Write(); - f->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/isoStudy.C b/ElectroWeakAnalysis/ZMuMu/test/macros/isoStudy.C deleted file mode 100644 index 125403cc46716..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/isoStudy.C +++ /dev/null @@ -1,110 +0,0 @@ -{ -gROOT->SetStyle("Plain"); -int n = 5; - -double isoCut[n] = { 1.0, 2.0, 3.0, 4.0, 5.0 }; -double isoCutErr[n] = { 0.0, 0.0, 0.0, 0.0, 0.0 }; -double chi2[n] = { 1.0813, 0.9948, 0.964385, 0.992457, 0.989026 }; -double zYield[n] = { 8818.69, 8832.02, 8827.16, 8804.38, 8802.99 }; -double zYieldErr[n] = { 102.324, 102.079, 98.0602, 97.502, 95.9208 }; -double effIso[n] = { 0.935329, 0.960251, 0.980071, 0.987804, 0.992889 }; -double effIsoErr[n] = { 0.00235985, 0.00187779, 0.00133067, 0.00113768, 0.000920907 }; -double effSa[n] = { 0.932455 , 0.932456, 0.933515, 0.934257, 0.93411 }; -double effSaErr[n] = { 0.0025364, 0.0024718, 0.00233289, 0.00219377, 0.00228775 }; -double effTk[n] = { 0.996802, 0.996852, 0.996798, 0.99686, 0.996899 }; -double effTkErr[n] = { 0.000584946, 0.000550869, 0.000529331, 0.000509021, 0.000526273 }; -double relErr[n]; -for(unsigned int i = 0; i < n; ++i) relErr[i] = zYieldErr[i] / zYield[i]; - -gStyle->SetOptStat(kFALSE); -TCanvas canvas ("canvas","Isolation Study", 200, 10, 700, 500); - -TH2D zYieldFrame("frame", "", 1, 0.5, 5.5, 1, 8500, 9200); -TGraphErrors zYieldGraph(n, isoCut, zYield, isoCutErr, zYieldErr); -double mcX[2] = { isoCut[0], isoCut[n-1] }; -double mcY[2] = { 8958, 8958 }; -TGraph mc(2, mcX, mcY); -mc.SetLineWidth(2); -mc.SetLineColor(kRed); -zYieldFrame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -zYieldFrame.GetYaxis()->SetTitle("Z yield from fit"); -zYieldGraph.SetMarkerStyle(21); -zYieldGraph.SetLineWidth(2); -zYieldFrame.Draw(); -zYieldGraph.Draw("LP"); -mc.Draw("L"); -canvas.Update(); -canvas.SaveAs("zYieldVsIso.eps"); - -TH2D effIsoFrame("frame", "", 1, 0.5, 5.5, 1, 0.92, 1); -TGraphErrors effIsoGraph(n, isoCut, effIso, isoCutErr, effIsoErr); -effIsoFrame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -effIsoFrame.GetYaxis()->SetTitle("isolation efficiency from fit"); -effIsoGraph.SetMarkerStyle(21); -effIsoGraph.SetLineWidth(2); -effIsoFrame.Draw(); -effIsoGraph.Draw("LP"); -canvas.Update(); -canvas.SaveAs("effIsoVsIso.eps"); -{ -TH2D effSaFrame("frame", "", 1, 0.5, 5.5, 1, 0.92, 0.95); -double mcX[2] = { isoCut[0], isoCut[n-1] }; -double mcY[2] = { .938, .938 }; -TGraph mc(2, mcX, mcY); -mc.SetLineWidth(2); -mc.SetLineColor(kRed); -TGraphErrors effSaGraph(n, isoCut, effSa, isoCutErr, effSaErr); -effSaFrame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -effSaFrame.GetYaxis()->SetTitle("stand-alone efficiency from fit"); -effSaGraph.SetMarkerStyle(21); -effSaGraph.SetLineWidth(2); -effSaFrame.Draw(); -effSaGraph.Draw("LP"); -mc.Draw("L"); -canvas.Update(); -canvas.SaveAs("effSaVsIso.eps"); -} -{ -TH2D effTkFrame("frame", "", 1, 0.5, 5.5, 1, 0.994, 1); -double mcX[2] = { isoCut[0], isoCut[n-1] }; -double mcY[2] = { .9956, .9956 }; -TGraph mc(2, mcX, mcY); -mc.SetLineWidth(2); -mc.SetLineColor(kRed); -TGraphErrors effTkGraph(n, isoCut, effTk, isoCutErr, effTkErr); -effTkFrame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -effTkFrame.GetYaxis()->SetTitle("tracker efficiency from fit"); -effTkGraph.SetMarkerStyle(21); -effTkGraph.SetLineWidth(2); -effTkFrame.Draw(); -effTkGraph.Draw("LP"); -mc.Draw("L"); -canvas.Update(); -canvas.SaveAs("effTkVsIso.eps"); -} -TH2D chi2Frame("frame", "", 1, 0.5, 5.5, 1, 0, 2.0); -TGraph chi2Graph(n, isoCut, chi2); -chi2Frame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -chi2Frame.GetYaxis()->SetTitle("fit #chi^{2}"); -chi2Graph.SetMarkerStyle(21); -chi2Graph.SetLineWidth(2); -chi2Frame.Draw(); -chi2Graph.Draw("LP"); -canvas.Update(); -canvas.SaveAs("chi2VsIso.eps"); - -TH2D relErrFrame("frame", "", 1, 0.5, 5.5, 1, 0.0105, 0.012); -TGraph relErrGraph(n, isoCut, relErr); -relErrFrame.GetXaxis()->SetTitle("isolation cut (GeV/c)"); -relErrFrame.GetXaxis()->SetTitleOffset(-0.2); -relErrFrame.GetYaxis()->SetTitle("zYield relative error"); -relErrGraph.SetMarkerStyle(21); -relErrGraph.SetLineWidth(2); -relErrFrame.Draw(); -relErrGraph.Draw("LP"); -canvas.Update(); -canvas.SaveAs("relErrVsIso.eps"); - - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotMuon.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotMuon.C deleted file mode 100644 index 93f3d9647d206..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotMuon.C +++ /dev/null @@ -1,874 +0,0 @@ -#include "TFile.h" -#include "TChain.h" -#include "TH1F.h" -#include "TH2F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -#include -//#endif - - - - - - - - - -void setGraphicsDATA(TH1F *histo){ -gStyle->SetOptStat(0); - histo->SetMarkerColor(kBlack); - histo->SetMarkerStyle(20); - histo->SetMarkerSize(0.8); - histo->SetLineWidth(2); - histo->SetLineColor(kBlack); - } - - - - - -void setGraphicsMC(TH1F *histo){ -gStyle->SetOptStat(0); - histo->SetFillColor(kAzure+7); - histo->SetLineWidth(2); - histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); - -} - - - - -void compareDATAMC( string name, TH1F * data, TH1F * mc , bool setLogY=kFALSE){ - TCanvas c; - gStyle->SetOptStat(0); - mc->Sumw2(); - double scale =1; - if (mc->Integral()>0) scale = data->Integral()/ mc->Integral(); - mc->Scale(scale); - mc->SetMaximum(data->GetMaximum()*1.5 + 1); - mc->Draw("HIST"); - data->Draw("esame"); - data->SetTitle(name.c_str()); - mc->SetTitle(name.c_str()); - leg = new TLegend(0.65,0.60,0.85,0.75); - leg->SetFillColor(kWhite); - leg->AddEntry(data,"data"); - leg->AddEntry(mc,"MC","f"); - leg->Draw(); - string plotname= name + ".gif"; - c.SetLogy(setLogY); - c.SetTitle(name.c_str()); - c.SaveAs(plotname.c_str()); - leg->Clear(); - - -} - - - - -void plotMuon(){ - -gStyle->SetOptStat(0); -gROOT->SetStyle("Plain"); -using namespace std; - -TChain * chainDATA = new TChain("Events"); // create the chain with tree "T" - -//chainMC.Add("MinBias2010_MC/NtupleLooseTestNew_oneshot_all_MCMinBias.root"); -// chainMC.Add("MinBias2010_MC/NtupleLoose_all_15apr_23_0.root"); -// chainMC.Add("MinBias2010_MC/NtupleLoose_all_15apr_23_1.root"); - - - int nFiles = 151; - - -for(int j=1;jAdd(name.c_str()); - } - - - -TChain * chainMC = new TChain("Events"); - - nFiles =220; - - -for(int j=1;jAdd(name.c_str()); - } - - - - -TFile * out = new TFile("histoMuons.root", "RECREATE"); - - - TCut qualCut ("MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2" ); - - - TCut qualCutButIso ("MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<1000.0 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2" ); - - TCut noQualCut ("MuGlobalMuonBit==1 && MuNofStripHits>=1 && MuNofMuonHits>-1 && MuChi2<1000 && MuTrkIso<1000.0 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2" ); - - - -TCut stdCut ("MuGlobalMuonBit==1 && MuTrkIso<3.0 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2" ); - - TCut qualCutHLT ("MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 &&abs(MuDxyFromBS)<0.2" ); - - TCut qualCutButIsoHLT ("MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<1000.0 && MuHLTBit==1 && abs(MuEta)<2.1 &&abs(MuDxyFromBS)<0.2" ); - - TCut noQualCutButHLT ("MuGlobalMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=1 && MuNofMuonHits>-2 && MuChi2<1000 && MuTrkIso<1000.0 && MuHLTBit==1 && abs(MuEta)<2.1 &&abs(MuDxyFromBS)<0.2" ); - - - - TCut qualCutNoHLT ("MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && abs(MuEta)<2.1 && MuHLTBit==0 &&abs(MuDxyFromBS)<0.2 && MuPt>10" ); - - //============== histo Data ===============/// - -TDirectory * dir = out->mkdir("MuDATAPlots"); - dir->cd(); - - - TH1F * muPtDATADen= new TH1F("muPtDATADen", "muPtDATADen", 100, 0, 100); - chainDATA->Project("muPtDATADen", "MuPt", qualCut); - setGraphicsDATA(muPtDATADen); - muPtDATADen->Write(); - delete muPtDATADen; - - TH1F * muEtaDATADen= new TH1F("muEtaDATADen", "muEtaDATADen", 100, -2.5, 2.5); - chainDATA->Project("muEtaDATADen", "MuEta", qualCut); - setGraphicsDATA(muEtaDATADen); - muEtaDATADen->Write(); - delete muEtaDATADen; - - - - - TH1F * muPtDATADenNotIso= new TH1F("muPtDATADenNotIso", "muPtDATADenNotIso", 100, 0, 100); - chainDATA->Project("muPtDATADenNotIso", "MuPt", qualCutButIso); - setGraphicsDATA(muPtDATADenNotIso); - muPtDATADenNotIso->Write(); - delete muPtDATADenNotIso; - - - - TH1F * muPtDATADenNoCut= new TH1F("muPtDATADenNoCut", "muPtDATADenNoCut", 100, 0, 100); - chainDATA->Project("muPtDATADenNoCut", "MuPt", noQualCut); - setGraphicsDATA(muPtDATADenNoCut); - muPtDATADenNoCut->Write(); - delete muPtDATADenNoCut; - - - - - - - - - TH1F * muEtaDATA= new TH1F("muEtaDATA", "muEtaDATA", 100, -2.5, 2.5); - chainDATA->Project("muEtaDATA", "MuEta", qualCut); - setGraphicsDATA(muEtaDATA); - muEtaDATA->Write(); - delete muEtaDATA; - - - TH1F * muPtDATANum= new TH1F("muPtDATANum", "muPtDATANum", 100, 0, 100); - chainDATA->Project("muPtDATANum", "MuPt", qualCutHLT); - setGraphicsDATA(muPtDATANum); - muPtDATANum->Write(); - delete muPtDATANum; - - TH1F * muEtaDATANum= new TH1F("muEtaDATANum", "muEtaDATANum", 100, -2.5, 2.5); - chainDATA->Project("muEtaDATANum", "MuEta", qualCutHLT + "MuPt>10"); - setGraphicsDATA(muEtaDATANum); - muEtaDATANum->Write(); - delete muEtaDATANum; - - - - - TH1F * muPtDATANumNotIso= new TH1F("muPtDATANumNotIso", "muPtDATANumNotIso", 100, 0, 100); - chainDATA->Project("muPtDATANumNotIso", "MuPt", qualCutButIsoHLT); - setGraphicsDATA(muPtDATANumNotIso); - muPtDATANumNotIso->Write(); - delete muPtDATANumNotIso; - - - - TH1F * muPtDATANumNoCut= new TH1F("muPtDATANumNoCut", "muPtDATANumNoCut", 100, 0, 100); - chainDATA->Project("muPtDATANumNoCut", "MuPt", noQualCutButHLT); - setGraphicsDATA(muPtDATANumNoCut); - muPtDATANumNoCut->Write(); - delete muPtDATANumNoCut; - - - - - TH2F * muPtEtaDATADen= new TH2F("muPtEtaDATADen", "muPtEtaDATADenEta", 100, -2.5, 2.5, 100, 0, 100); - chainDATA->Project("muPtEtaDATADen", "MuPt:MuEta", qualCut); - //setGraphics2dimDATA(muPtEtaDATADen); - muPtEtaDATADen->Write(); - delete muPtEtaDATADen; - - - TH2F * muPtEtaDATANum= new TH2F("muPtEtaDATANum", "muPtEtaDATANum", 100, -2.5, 2.5, 100, 0, 100); - chainDATA->Project("muPtEtaDATANum", "MuPt:MuEta", qualCutHLT); - // setGraphics2dimDATA(muPtEtaDATANum); - muPtEtaDATANum->Write(); - delete muPtEtaDATANum; - - - - TH1F * muNoHLTEta= new TH1F("muNoHLTEta", "muNoHLTEta", 100, -2.5, 2.5); - chainDATA->Project("muNoHLTEta", "MuEta", qualCutNoHLT); - setGraphicsDATA(muNoHLTEta); - muNoHLTEta->Write(); - delete muNoHLTEta; - - TH1F * muNoHLTChi2= new TH1F("muNoHLTChi2", "muNoHLTChi2", 100, 0, 100); - chainDATA->Project("muNoHLTChi2", "MuChi2", qualCutNoHLT); - setGraphicsDATA(muNoHLTChi2); - muNoHLTChi2->Write(); - delete muNoHLTChi2; - - - - TH1F * muNoHLTPixelHits= new TH1F("muNoHLTPixelHits", "muNoHLTPixelHits", 10, -0.5, 9.5); - chainDATA->Project("muNoHLTPixelHits", "MuNofPixelHits", qualCutNoHLT); - setGraphicsDATA(muNoHLTPixelHits); - muNoHLTPixelHits->Write(); - delete muNoHLTPixelHits; - - - TH1F * muNoHLTMuonHits= new TH1F("muNoHLTMuonHits", "muNoHLTMuonHits", 30, -0.5, 39.5); - chainDATA->Project("muNoHLTMuonHits", "MuNofMuonHits", qualCutNoHLT); - setGraphicsDATA(muNoHLTMuonHits); - muNoHLTMuonHits->Write(); - delete muNoHLTMuonHits; - - TH1F * muNoHLTMuMatches= new TH1F("muNoHLTMuMatches", "muNoHLTMuMatches", 15, -0.5, 14.5); - chainDATA->Project("muNoHLTMuMatches", "MuNofMuMatches", qualCutNoHLT); - setGraphicsDATA(muNoHLTMuMatches); - muNoHLTMuMatches->Write(); - delete muNoHLTMuMatches; - - - - - TH1F * muNoHLTMuEnergyEm= new TH1F("muNoHLTMuEnergyEm", "muNoHLTMuEnergyEm", 100, 0, 10); - chainDATA->Project("muNoHLTMuEnergyEm", "MuEnergyEm", qualCutNoHLT); - setGraphicsDATA(muNoHLTMuEnergyEm); - muNoHLTMuEnergyEm->Write(); - delete muNoHLTMuEnergyEm; - - - TH1F * muNoHLTMuEnergyHad= new TH1F("muNoHLTMuEnergyHad", "muNoHLTMuEnergyHad", 100, 0, 20); - chainDATA->Project("muNoHLTMuEnergyHad", "MuEnergyHad", qualCutNoHLT); - setGraphicsDATA(muNoHLTMuEnergyHad); - muNoHLTMuEnergyHad->Write(); - delete muNoHLTMuEnergyHad; - - - - - - - TH1F * muNofPixelHits= new TH1F("muNofPixelHits", "muNofPixelHits", 10, -0.5, 9.5); - chainDATA->Project("muNofPixelHits", "MuNofPixelHits", stdCut); - setGraphicsDATA(muNofPixelHits); - muNofPixelHits->Write(); - delete muNofPixelHits; - - TH1F * muNofStripHits= new TH1F("muNofStripHits", "muNofStripHits", 30, -0.5, 29.5); - chainDATA->Project("muNofStripHits", "MuNofStripHits", stdCut); - setGraphicsDATA(muNofStripHits); - muNofStripHits->Write(); - delete muNofStripHits; - - - TH1F * muNofMuonHits= new TH1F("muNofMuonHits", "muNofMuonHits", 40, -0.5, 39.5); - chainDATA->Project("muNofMuonHits", "MuNofMuonHits", stdCut); - setGraphicsDATA(muNofMuonHits); - muNofMuonHits->Write(); - delete muNofMuonHits; - - - TH1F * muNofMuMatches= new TH1F("muNofMuMatches", "muNofMuMatches", 15, -0.5, 14.5); - chainDATA->Project("muNofMuMatches", "MuNofMuMatches", stdCut); - setGraphicsDATA(muNofMuMatches); - muNofMuMatches->Write(); - delete muNofMuMatches; - - - - - TH1F * muEnergyEm= new TH1F("muEnergyEm", "muEnergyEm", 100, 0, 10); - chainDATA->Project("muEnergyEm", "MuEnergyEm", stdCut); - setGraphicsDATA(muEnergyEm); - muEnergyEm->Write(); - delete muEnergyEm; - - - TH1F * muEnergyHad= new TH1F("muEnergyHad", "muEnergyHad", 100, 0, 20); - chainDATA->Project("muEnergyHad", "MuEnergyHad", stdCut); - setGraphicsDATA(muEnergyHad); - muEnergyHad->Write(); - delete muEnergyHad; - - - - - TH1F * muChi2= new TH1F("muChi2", "muChi2", 100, 0, 100); - chainDATA->Project("muChi2", "MuChi2", stdCut); - setGraphicsDATA(muChi2); - muChi2->Write(); - delete muChi2; - - - /// after quality cuts - - - TH1F * muNofPixelHitsAfterCut= new TH1F("muNofPixelHitsAfterCut", "muNofPixelHits", 10, -0.5, 9.5); - chainDATA->Project("muNofPixelHitsAfterCut", "MuNofPixelHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && MuNofStripHits>=7 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 &&abs(MuDxyFromBS)<0.2"); - setGraphicsDATA(muNofPixelHitsAfterCut); - muNofPixelHitsAfterCut->Write(); - delete muNofPixelHitsAfterCut; - - TH1F * muNofStripHitsAfterCut= new TH1F("muNofStripHitsAfterCut", "muNofStripHitsAfterCut", 30, -0.5, 29.5); - chainDATA->Project("muNofStripHitsAfterCut", "MuNofStripHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && MuNofPixelHits>0 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsDATA(muNofStripHitsAfterCut); - muNofStripHitsAfterCut->Write(); - delete muNofStripHitsAfterCut; - - - TH1F * muNofMuonHitsAfterCut= new TH1F("muNofMuonHitsAfterCut", "muNofMuonHitsAfterCut", 15, -0.5, 14.5); - chainDATA->Project("muNofMuonHitsAfterCut", "MuNofMuonHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsDATA(muNofMuonHitsAfterCut); - muNofMuonHitsAfterCut->Write(); - delete muNofMuonHitsAfterCut; - - - TH1F * muNofMuMatchesAfterCut= new TH1F("muNofMuMatchesAfterCut", "muNofMuMatchesAfterCut", 15, -0.5, 14.5); - chainDATA->Project("muNofMuMatchesAfterCut", "MuNofMuMatches", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsDATA(muNofMuMatchesAfterCut); - muNofMuMatchesAfterCut->Write(); - delete muNofMuMatchesAfterCut; - - - - - TH1F * muEnergyEmAfterCut= new TH1F("muEnergyEmAfterCut", "muEnergyEmAfterCut", 100, 0, 10); - chainDATA->Project("muEnergyEmAfterCut", "MuEnergyEm", qualCutHLT); - setGraphicsDATA(muEnergyEmAfterCut); - muEnergyEmAfterCut->Write(); - delete muEnergyEmAfterCut; - - - TH1F * muEnergyHadAfterCut= new TH1F("muEnergyHadAfterCut", "muEnergyHadAfterCut", 100, 0, 20); - chainDATA->Project("muEnergyHadAfterCut", "MuEnergyHad", qualCutHLT); - setGraphicsDATA(muEnergyHadAfterCut); - muEnergyHadAfterCut->Write(); - delete muEnergyHadAfterCut; - - - - - TH1F * muChi2AfterCut= new TH1F("muChi2AfterCut", "muChi2AfterCut", 100, 0, 100); - chainDATA->Project("muChi2AfterCut", "MuChi2", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<1000 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsDATA(muChi2AfterCut); - muChi2AfterCut->Write(); - delete muChi2AfterCut; - - - - - - - - - - -out->cd("/"); - - - -//============== histo MC ===============/// -TDirectory * dir = out->mkdir("MuMCPlots"); - dir->cd(); - - TH1F * muPtMCDen= new TH1F("muPtMCDen", "muPtMCDen", 100, 0, 100); - chainMC->Project("muPtMCDen", "MuPt", qualCut); - setGraphicsMC(muPtMCDen); - muPtMCDen->Write(); - delete muPtMCDen; - - - TH1F * muEtaMCDen= new TH1F("muEtaMCDen", "muEtaMCDen", 100, -2.5, 2.5); - chainMC->Project("muEtaMCDen", "MuEta", qualCut); - setGraphicsMC(muEtaMCDen); - muEtaMCDen->Write(); - delete muEtaMCDen; - - - - TH1F * muPtMCDenNotIso= new TH1F("muPtMCDenNotIso", "muPtMCDenNotIso", 100, 0, 100); - chainMC->Project("muPtMCDenNotIso", "MuPt", qualCutButIso); - setGraphicsMC(muPtMCDenNotIso); - muPtMCDenNotIso->Write(); - delete muPtMCDenNotIso; - - - - TH1F * muPtMCDenNoCut= new TH1F("muPtMCDenNoCut", "muPtMCDenNoCut", 100, 0, 100); - chainMC->Project("muPtMCDenNoCut", "MuPt", noQualCut); - setGraphicsMC(muPtMCDenNoCut); - muPtMCDenNoCut->Write(); - delete muPtMCDenNoCut; - - - - - -TH1F * muEtaMC= new TH1F("muEtaMC", "muEtaMC", 100, -2.5, 2.5); - chainMC->Project("muEtaMC", "MuEta", qualCut); - setGraphicsMC(muEtaMC); - muEtaMC->Write(); - delete muEtaMC; - - TH1F * muPtMCNum= new TH1F("muPtMCNum", "muPtMCNum", 100, 0, 100); - chainMC->Project("muPtMCNum", "MuPt", qualCutHLT); - setGraphicsMC(muPtMCNum); - muPtMCNum->Write(); - delete muPtMCNum; - - TH1F * muEtaMCNum= new TH1F("muEtaMCNum", "muEtaMCNum", 100, -2.5, 2.5); - chainMC->Project("muEtaMCNum", "MuEta", qualCutHLT + "MuPt>10"); - setGraphicsMC(muEtaMCNum); - muEtaMCNum->Write(); - delete muEtaMCNum; - - - - TH1F * muPtMCNumNotIso= new TH1F("muPtMCNumNotIso", "muPtMCNumNotIso", 100, 0, 100); - chainMC->Project("muPtMCNumNotIso", "MuPt", qualCutButIsoHLT); - setGraphicsMC(muPtMCNumNotIso); - muPtMCNumNotIso->Write(); - delete muPtMCNumNotIso; - - - - TH1F * muPtMCNumNoCut= new TH1F("muPtMCNumNoCut", "muPtMCNumNoCut", 100, 0, 100); - chainMC->Project("muPtMCNumNoCut", "MuPt", noQualCutButHLT); - setGraphicsMC(muPtMCNumNoCut); - muPtMCNumNoCut->Write(); - delete muPtMCNumNoCut; - - - - TH2F * muPtEtaMCDen= new TH2F("muPtEtaMCDen", "muPtEtaMCDenEta", 100, -2.5, 2.5, 100, 0, 100); - chainMC->Project("muPtEtaMCDen", "MuPt:MuEta", qualCut); - //setGraphics2dimMC(muPtEtaMCDen); - muPtEtaMCDen->Write(); - delete muPtEtaMCDen; - - - TH2F * muPtEtaMCNum= new TH2F("muPtEtaMCNum", "muPtEtaMCNum", 100, -2.5, 2.5, 100, 0, 100); - chainMC->Project("muPtEtaMCNum", "MuPt:MuEta", qualCutHLT); - // setGraphics2dimMC(muPtEtaMCNum); - muPtEtaMCNum->Write(); - delete muPtEtaMCNum; - - - - TH1F * muNoHLTEta= new TH1F("muNoHLTEta", "muNoHLTEta", 100, -2.5, 2.5); - chainMC->Project("muNoHLTEta", "MuEta", qualCutNoHLT); - setGraphicsMC(muNoHLTEta); - muNoHLTEta->Write(); - delete muNoHLTEta; - - - TH1F * muNoHLTChi2= new TH1F("muNoHLTChi2", "muNoHLTChi2", 100, 0, 100); - chainMC->Project("muNoHLTChi2", "MuChi2", qualCutNoHLT); - setGraphicsMC(muNoHLTChi2); - muNoHLTChi2->Write(); - delete muNoHLTChi2; - - - - TH1F * muNoHLTPixelHits= new TH1F("muNoHLTPixelHits", "muNoHLTPixelHits", 10, -0.5, 9.5); - chainMC->Project("muNoHLTPixelHits", "MuNofPixelHits", qualCutNoHLT); - setGraphicsMC(muNoHLTPixelHits); - muNoHLTPixelHits->Write(); - delete muNoHLTPixelHits; - - - TH1F * muNoHLTMuonHits= new TH1F("muNoHLTMuonHits", "muNoHLTMuonHits", 40, -0.5, 39.5); - chainMC->Project("muNoHLTMuonHits", "MuNofMuonHits", qualCutNoHLT); - setGraphicsMC(muNoHLTMuonHits); - muNoHLTMuonHits->Write(); - delete muNoHLTMuonHits; - - - TH1F * muNoHLTMuMatches= new TH1F("muNoHLTMuMatches", "muNoHLTMuMatches", 15, -0.5, 14.5); - chainMC->Project("muNoHLTMuMatches", "MuNofMuMatches", qualCutNoHLT); - setGraphicsMC(muNoHLTMuMatches); - muNoHLTMuMatches->Write(); - delete muNoHLTMuMatches; - - - - TH1F * muNoHLTMuEnergyEm= new TH1F("muNoHLTMuEnergyEm", "muNoHLTMuEnergyEm", 100, 0, 10); - chainMC->Project("muNoHLTMuEnergyEm", "MuEnergyEm", qualCutNoHLT); - setGraphicsMC(muNoHLTMuEnergyEm); - muNoHLTMuEnergyEm->Write(); - delete muNoHLTMuEnergyEm; - - - TH1F * muNoHLTMuEnergyHad= new TH1F("muNoHLTMuEnergyHad", "muNoHLTMuEnergyHad", 100, 0, 20); - chainMC->Project("muNoHLTMuEnergyHad", "MuEnergyHad", qualCutNoHLT); - setGraphicsMC(muNoHLTMuEnergyHad); - muNoHLTMuEnergyHad->Write(); - delete muNoHLTMuEnergyHad; - - - - - TH1F * muNofPixelHits= new TH1F("muNofPixelHits", "muNofPixelHits", 10, -0.5, 9.5); - chainMC->Project("muNofPixelHits", "MuNofPixelHits", stdCut); - setGraphicsMC(muNofPixelHits); - muNofPixelHits->Write(); - delete muNofPixelHits; - - TH1F * muNofStripHits= new TH1F("muNofStripHits", "muNofStripHits", 30, -0.5, 29.5); - chainMC->Project("muNofStripHits", "MuNofStripHits", stdCut); - setGraphicsMC(muNofStripHits); - muNofStripHits->Write(); - delete muNofStripHits; - - - TH1F * muNofMuonHits= new TH1F("muNofMuonHits", "muNofMuonHits", 40, -0.5, 39.5); - chainMC->Project("muNofMuonHits", "MuNofMuonHits", stdCut); - setGraphicsMC(muNofMuonHits); - muNofMuonHits->Write(); - delete muNofMuonHits; - - - TH1F * muNofMuMatches= new TH1F("muNofMuMatches", "muNofMuMatches", 15, -0.5, 14.5); - chainMC->Project("muNofMuMatches", "MuNofMuMatches", stdCut); - setGraphicsMC(muNofMuMatches); - muNofMuMatches->Write(); - delete muNofMuMatches; - - - - TH1F * muEnergyEm= new TH1F("muEnergyEm", "muEnergyEm", 100, 0, 10); - chainMC->Project("muEnergyEm", "MuEnergyEm", stdCut); - setGraphicsMC(muEnergyEm); - muEnergyEm->Write(); - delete muEnergyEm; - - - TH1F * muEnergyHad= new TH1F("muEnergyHad", "muEnergyHad", 100, 0, 20); - chainMC->Project("muEnergyHad", "MuEnergyHad", stdCut); - setGraphicsMC(muEnergyHad); - muEnergyHad->Write(); - delete muEnergyHad; - - - - - TH1F * muChi2= new TH1F("muChi2", "muChi2", 100, 0, 100); - chainMC->Project("muChi2", "MuChi2", stdCut); - setGraphicsMC(muChi2); - muChi2->Write(); - delete muChi2; - - - /// after quality cuts - - - TH1F * muNofPixelHitsAfterCut= new TH1F("muNofPixelHitsAfterCut", "muNofPixelHits", 10, -0.5, 9.5); - chainMC->Project("muNofPixelHitsAfterCut", "MuNofPixelHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && MuNofStripHits>=7 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 &&abs(MuDxyFromBS)<0.2"); - setGraphicsMC(muNofPixelHitsAfterCut); - muNofPixelHitsAfterCut->Write(); - delete muNofPixelHitsAfterCut; - - TH1F * muNofStripHitsAfterCut= new TH1F("muNofStripHitsAfterCut", "muNofStripHitsAfterCut", 30, -0.5, 29.5); - chainMC->Project("muNofStripHitsAfterCut", "MuNofStripHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && MuNofPixelHits>0 && MuNofMuonHits>0 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 &&abs(MuDxyFromBS)<0.2"); - setGraphicsMC(muNofStripHitsAfterCut); - muNofStripHitsAfterCut->Write(); - delete muNofStripHitsAfterCut; - - - TH1F * muNofMuonHitsAfterCut= new TH1F("muNofMuonHitsAfterCut", "muNofMuonHitsAfterCut", 40, -0.5, 39.5); - chainMC->Project("muNofMuonHitsAfterCut", "MuNofMuonHits", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsMC(muNofMuonHitsAfterCut); - muNofMuonHitsAfterCut->Write(); - delete muNofMuonHitsAfterCut; - - - - - TH1F * muNofMuMatchesAfterCut= new TH1F("muNofMuMatchesAfterCut", "muNofMuMatchesAfterCut", 15, -0.5, 14.5); - chainMC->Project("muNofMuMatchesAfterCut", "MuNofMuMatches", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<10 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsMC(muNofMuMatchesAfterCut); - muNofMuMatchesAfterCut->Write(); - delete muNofMuMatchesAfterCut; - - - - - TH1F * muEnergyEmAfterCut= new TH1F("muEnergyEmAfterCut", "muEnergyEmAfterCut", 100, 0, 10); - chainMC->Project("muEnergyEmAfterCut", "MuEnergyEm", qualCutHLT); - setGraphicsMC(muEnergyEmAfterCut); - muEnergyEmAfterCut->Write(); - delete muEnergyEmAfterCut; - - - TH1F * muEnergyHadAfterCut= new TH1F("muEnergyHadAfterCut", "muEnergyHadAfterCut", 100, 0, 20); - chainMC->Project("muEnergyHadAfterCut", "MuEnergyHad", qualCutHLT); - setGraphicsMC(muEnergyHadAfterCut); - muEnergyHadAfterCut->Write(); - delete muEnergyHadAfterCut; - - - - - TH1F * muChi2AfterCut= new TH1F("muChi2AfterCut", "muChi2AfterCut", 100, 0, 100); - chainMC->Project("muChi2AfterCut", "MuChi2", "MuGlobalMuonBit==1 && MuTrackerMuonBit==1 && (MuNofStripHits + MuNofPixelHits)>=10 && MuNofMuonHits>-1 && MuChi2<1000 && MuTrkIso<3.0 && MuHLTBit==1 && abs(MuEta)<2.1 && MuPt>10 && abs(MuDxyFromBS)<0.2"); - setGraphicsMC(muChi2AfterCut); - muChi2AfterCut->Write(); - delete muChi2AfterCut; - - - - - - - - - -out->cd("/"); - - - - -//============== histo DATA vs MC ===============/// -TDirectory * dir = out->mkdir("DATAvsMCPlots"); - dir->cd(); - - TH1F * muPtDATADen= (TH1F*) out->Get("MuDATAPlots/muPtDATADen"); - TH1F * muPtMCDen= (TH1F*) out->Get("MuMCPlots/muPtMCDen"); - compareDATAMC( "PtDen", muPtDATADen, muPtMCDen, kTRUE ); - - TH1F * muPtDATANum= (TH1F*) out->Get("MuDATAPlots/muPtDATANum"); - TH1F * muPtMCNum= (TH1F*) out->Get("MuMCPlots/muPtMCNum"); - compareDATAMC( "PtNum", muPtDATANum, muPtMCNum , kTRUE); - - TH1F * muEtaDATADen= (TH1F*) out->Get("MuDATAPlots/muEtaDATADen"); - TH1F * muEtaMCDen= (TH1F*) out->Get("MuMCPlots/muEtaMCDen"); - compareDATAMC( "EtaDen", muEtaDATADen, muEtaMCDen , kTRUE); - - TH1F * muEtaDATANum= (TH1F*) out->Get("MuDATAPlots/muEtaDATANum"); - TH1F * muEtaMCNum= (TH1F*) out->Get("MuMCPlots/muEtaMCNum"); - compareDATAMC( "EtaNum", muEtaDATANum, muEtaMCNum , kTRUE); - - - - - TH1F * muPtDATADenNotIso= (TH1F*) out->Get("MuDATAPlots/muPtDATADenNotIso"); - TH1F * muPtMCDenNotIso= (TH1F*) out->Get("MuMCPlots/muPtMCDenNotIso"); - compareDATAMC( "PtDenNotIso", muPtDATADenNotIso, muPtMCDenNotIso, kTRUE ); - - TH1F * muPtDATANumNotIso= (TH1F*) out->Get("MuDATAPlots/muPtDATANumNotIso"); - TH1F * muPtMCNumNotIso= (TH1F*) out->Get("MuMCPlots/muPtMCNumNotIso"); - compareDATAMC( "PtNumNotIso", muPtDATANumNotIso, muPtMCNumNotIso , kTRUE); - - - - TH1F * muPtDATADenNoCut= (TH1F*) out->Get("MuDATAPlots/muPtDATADenNoCut"); - TH1F * muPtMCDenNoCut= (TH1F*) out->Get("MuMCPlots/muPtMCDenNoCut"); - compareDATAMC( "PtDenNoCut", muPtDATADenNoCut, muPtMCDenNoCut , kTRUE); - - TH1F * muPtDATANumNoCut= (TH1F*) out->Get("MuDATAPlots/muPtDATANumNoCut"); - TH1F * muPtMCNumNoCut= (TH1F*) out->Get("MuMCPlots/muPtMCNumNoCut"); - compareDATAMC( "PtNumNoCut", muPtDATANumNoCut, muPtMCNumNoCut , kTRUE); - - - - - TH1F * muEtaDATA= (TH1F*) out->Get("MuDATAPlots/muEtaDATA"); - TH1F * muEtaMC= (TH1F*) out->Get("MuMCPlots/muEtaMC"); - compareDATAMC( "Eta", muEtaDATA, muEtaMC , kTRUE); - - TH1F * muNoHLTEtaDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTEta"); - TH1F * muNoHLTEtaMC= (TH1F*) out->Get("MuMCPlots/muNoHLTEta"); - compareDATAMC( "NoHLTEta", muNoHLTEtaDATA, muNoHLTEtaMC, kTRUE ); - - - TH1F * muNoHLTChi2DATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTChi2"); - TH1F * muNoHLTChi2MC= (TH1F*) out->Get("MuMCPlots/muNoHLTChi2"); - compareDATAMC( "NoHLTChi2", muNoHLTChi2DATA, muNoHLTChi2MC, kTRUE ); - - - - - TH1F * muNoHLTPixelHitsDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTPixelHits"); - TH1F * muNoHLTPixelHitsMC= (TH1F*) out->Get("MuMCPlots/muNoHLTPixelHits"); - compareDATAMC( "NoHLTPixelHits", muNoHLTPixelHitsDATA, muNoHLTPixelHitsMC ); - - - - TH1F * muNoHLTMuonHitsDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTMuonHits"); - TH1F * muNoHLTMuonHitsMC= (TH1F*) out->Get("MuMCPlots/muNoHLTMuonHits"); - compareDATAMC( "NoHLTMuonHits", muNoHLTMuonHitsDATA, muNoHLTMuonHitsMC ); - - TH1F * muNoHLTMuMatchesDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTMuMatches"); - TH1F * muNoHLTMuMatchesMC= (TH1F*) out->Get("MuMCPlots/muNoHLTMuMatches"); - compareDATAMC( "NoHLTMuMatches", muNoHLTMuMatchesDATA, muNoHLTMuMatchesMC ); - - - - - TH1F * muNoHLTMuEnergyEmDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTMuEnergyEm"); - TH1F * muNoHLTMuEnergyEmMC= (TH1F*) out->Get("MuMCPlots/muNoHLTMuEnergyEm"); - compareDATAMC( "NoHLTMuEnergyEm", muNoHLTMuEnergyEmDATA, muNoHLTMuEnergyEmMC , kTRUE); - - - TH1F * muNoHLTMuEnergyHadDATA= (TH1F*) out->Get("MuDATAPlots/muNoHLTMuEnergyHad"); - TH1F * muNoHLTMuEnergyHadMC= (TH1F*) out->Get("MuMCPlots/muNoHLTMuEnergyHad"); - compareDATAMC( "NoHLTMuEnergyHad", muNoHLTMuEnergyHadDATA, muNoHLTMuEnergyHadMC , kTRUE); - - - - TH1F * muPixelHitsDATA= (TH1F*) out->Get("MuDATAPlots/muNofPixelHits"); - TH1F * muPixelHitsMC= (TH1F*) out->Get("MuMCPlots/muNofPixelHits"); - compareDATAMC( "PixelHits", muPixelHitsDATA, muPixelHitsMC ); - - - - TH1F * muStripHitsDATA= (TH1F*) out->Get("MuDATAPlots/muNofStripHits"); - TH1F * muStripHitsMC= (TH1F*) out->Get("MuMCPlots/muNofStripHits"); - compareDATAMC( "StripHits", muStripHitsDATA, muStripHitsMC ); - - - TH1F * muMuonHitsDATA= (TH1F*) out->Get("MuDATAPlots/muNofMuonHits"); - TH1F * muMuonHitsMC= (TH1F*) out->Get("MuMCPlots/muNofMuonHits"); - compareDATAMC( "MuonHits", muMuonHitsDATA, muMuonHitsMC ); - - - TH1F * muMuMatchesDATA= (TH1F*) out->Get("MuDATAPlots/muNofMuMatches"); - TH1F * muMuMatchesMC= (TH1F*) out->Get("MuMCPlots/muNofMuMatches"); - compareDATAMC( "MuMatches", muMuMatchesDATA, muMuMatchesMC ); - - - - TH1F * muEnergyEmDATA= (TH1F*) out->Get("MuDATAPlots/muEnergyEm"); - TH1F * muEnergyEmMC= (TH1F*) out->Get("MuMCPlots/muEnergyEm"); - compareDATAMC( "MuEnergyEm", muEnergyEmDATA, muEnergyEmMC , kTRUE); - - -TH1F * muEnergyHadDATA = (TH1F*) out->Get("MuDATAPlots/muEnergyHad"); - TH1F * muEnergyHadMC= (TH1F*) out->Get("MuMCPlots/muEnergyHad"); - compareDATAMC( "MuEnergyHad", muEnergyHadDATA, muEnergyHadMC , kTRUE); - - - - TH1F * muChi2DATA= (TH1F*) out->Get("MuDATAPlots/muChi2"); - TH1F * muChi2MC= (TH1F*) out->Get("MuMCPlots/muChi2"); - compareDATAMC( "Chi2", muChi2DATA, muChi2MC , kTRUE); - - - // after quality cuts - - - - TH1F * muPixelHitsAfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muNofPixelHitsAfterCut"); - TH1F * muPixelHitsAfterCutMC= (TH1F*) out->Get("MuMCPlots/muNofPixelHitsAfterCut"); - compareDATAMC( "PixelHitsAfterCut", muPixelHitsAfterCutDATA, muPixelHitsAfterCutMC ); - - - - TH1F * muStripHitsAfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muNofStripHitsAfterCut"); - TH1F * muStripHitsAfterCutMC= (TH1F*) out->Get("MuMCPlots/muNofStripHitsAfterCut"); - compareDATAMC( "StripHitsAfterCut", muStripHitsAfterCutDATA, muStripHitsAfterCutMC ); - - - TH1F * muMuonHitsAfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muNofMuonHitsAfterCut"); - TH1F * muMuonHitsAfterCutMC= (TH1F*) out->Get("MuMCPlots/muNofMuonHitsAfterCut"); - compareDATAMC( "MuonHitsAfterCut", muMuonHitsAfterCutDATA, muMuonHitsAfterCutMC ); - - - TH1F * muMuMatchesAfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muNofMuMatchesAfterCut"); - TH1F * muMuMatchesAfterCutMC= (TH1F*) out->Get("MuMCPlots/muNofMuMatchesAfterCut"); - compareDATAMC( "MuMatchesAfterCut", muMuMatchesAfterCutDATA, muMuMatchesAfterCutMC ); - - - - TH1F * muEnergyEmAfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muEnergyEmAfterCut"); - TH1F * muEnergyEmAfterCutMC= (TH1F*) out->Get("MuMCPlots/muEnergyEmAfterCut"); - compareDATAMC( "MuEnergyEmAfterCut", muEnergyEmAfterCutDATA, muEnergyEmAfterCutMC , kTRUE); - - -TH1F * muEnergyHadAfterCutDATA = (TH1F*) out->Get("MuDATAPlots/muEnergyHadAfterCut"); - TH1F * muEnergyHadAfterCutMC= (TH1F*) out->Get("MuMCPlots/muEnergyHadAfterCut"); - compareDATAMC( "MuEnergyHadAfterCut", muEnergyHadAfterCutDATA, muEnergyHadAfterCutMC , kTRUE); - - - - TH1F * muChi2AfterCutDATA= (TH1F*) out->Get("MuDATAPlots/muChi2AfterCut"); - TH1F * muChi2AfterCutMC= (TH1F*) out->Get("MuMCPlots/muChi2AfterCut"); - compareDATAMC( "Chi2AfterCut", muChi2AfterCutDATA, muChi2AfterCutMC , kTRUE); - - - TH2F * muPtEtaDATANum= (TH2F*) out->Get("MuDATAPlots/muPtEtaDATANum"); - TH2F * muPtEtaDATADen= (TH2F*) out->Get("MuDATAPlots/muPtEtaDATADen"); - - - muPtEtaDATANum->Divide(muPtEtaDATADen); - gStyle->SetPalette(1,0); - - muPtEtaDATANum->SetTitle("HLT_Mu9 pt vs eta efficiency"); - muPtEtaDATANum->GetYaxis()->SetRangeUser(9,49); - TCanvas c1; - muPtEtaDATANum->Draw("COLZ"); - - c1.SaveAs("MuHLT_Mu9_PtvsEtaEfficiency.gif"); - - - - - -out->cd("/"); - - - - - - - - - - - out->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plots.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plots.C deleted file mode 100644 index 05419b1aed820..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plots.C +++ /dev/null @@ -1,496 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plots(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - // #include ; - - // TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/incl15WithBsPv/NtupleLoose_test_inclu15_1_2.root"); - // TFile *file = TFile::Open("../NutpleLooseTestNew_oneshot_all_10_1.root"); -//TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/NtupleLoose_test.root"); -// TTree * Events = dynamic_cast< TTree *> (file->Get("Events")); - - TChain Events("Events"); - - Events.Add("../NutpleLooseTestNew_oneshot_all_10_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_11_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_12_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_13_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_4_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_5_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_6_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_7_1.root"); - Events.Add("../NutpleLooseTestNew_oneshot_all_8_1.root"); - - TFile * output_file = TFile::Open("histo.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", cut_zGolden ); - cout<<"Number of zGolden : "<GetEntries()<Write(); - delete zMass; - - - TCut cut_zGoldenPt15("zGoldenMass>20 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - dir->cd(); - - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - Events.Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - setGraphics(zMassPt15); - zMassPt15->Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT(" zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && ((zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==0) || (zGoldenDau1HLTBit==0 && zGoldenDau2HLTBit==1))"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - zMass->Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - TCut cut2_zGolden2HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && ((zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==1) ) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ((zGoldenDau1Iso> 3.0 && zGoldenDau2Iso < 3.0 ) || (zGoldenDau1Iso<3.0 && zGoldenDau2Iso > 3.0)) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( zGoldenDau1Iso> 3.0 && zGoldenDau2Iso > 3.0 ) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( zGoldenDau1Iso> 3.0 || zGoldenDau2Iso > 3.0 ) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - delete zMass; - output_file->cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>20 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso < 3.0 && zSameChargeDau2Iso < 3.0 )"); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso > 3.0 || zSameChargeDau2Iso > 3.0 ) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>60 && zMuTrkMass<120 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1Iso< 3.0 && zMuTrkDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>60 && zMuStaMass<120 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso< 3.0 && zMuStaDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - Events.Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - Events.Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - Events.Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - Events.Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - Events.Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - Events.Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - - Events.Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - Events.Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - Events.Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - Events.Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - Events.Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - Events.Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - Events.Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - Events.Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - Events.Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dua2Chi2", "dau2Chi2", 1000, 0, 100); - Events.Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, 0, 5); - Events.Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, 0, 5); - Events.Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - Events.Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - Events.Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - - /* - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - Events.Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - Events.Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - */ - - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - Events.Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - Events.Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - Events.Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - Events.Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - Events.Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - Events.Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - Events.Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - - - /* TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - Events.Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - */ - - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - Events.Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuCh->Add(h2); - staNofMuCh->Write(); - delete staNofMuCh; - delete h2; - - TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuMatches->Add(h2); - staNofMuMatches->Write(); - delete staNofMuMatches; - delete h2; - - TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - Events.Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->SetDrawOption("Box"); - MuChambersVsMuMatches->Write(); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plots31vs35.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plots31vs35.C deleted file mode 100644 index d4fb863413ed4..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plots31vs35.C +++ /dev/null @@ -1,461 +0,0 @@ -{ - // #include ; - -TChain chain("Events"); // create the chain with tree "T" -chain.Add("NtupleLooseTestNew_oneshot_all_35X_4_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_5_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_6_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_7_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_8_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_10_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_11_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_12_1.root"); - chain.Add("NtupleLooseTestNew_oneshot_all_35X_13_1.root"); - - - TFile * output_file = TFile::Open("histo.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && zGoldenMass>60 && zGoldenMass<120 "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events->Draw("zGoldenMass"); - chain->Project("zMass", "zGoldenMass", cut_zGolden ); - zMass->Write(); - delete zMass; - // zGolden with MuPt>15 - TCut cut_zGoldenPt15("zGoldenMass>20 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0"); - dir->cd(); - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - chain->Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - zMassPt15->Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && ((zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==0) || (zGoldenDau1HLTBit==0 && zGoldenDau2HLTBit==1))"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - zMass->Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - TCut cut2_zGolden2HLT("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && ((zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==1) )"); - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ((zGoldenDau1Iso> 3.0 && zGoldenDau2Iso < 3.0 ) || (zGoldenDau1Iso<3.0 && zGoldenDau2Iso > 3.0))"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( zGoldenDau1Iso> 3.0 && zGoldenDau2Iso > 3.0 )"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>20 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( zGoldenDau1Iso> 3.0 || zGoldenDau2Iso > 3.0 )"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - delete zMass; - output_file->cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>20 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso < 3.0 && zSameChargeDau2Iso < 3.0 )"); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>20 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso > 3.0 || zSameChargeDau2Iso > 3.0 )"); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>20 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1Iso< 3.0 && zMuTrkDau2Iso < 3.0"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>20 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso< 3.0 && zMuStaDau2Iso < 3.0"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - chain->Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - chain->Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - chain->Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - chain->Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - chain->Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - chain->Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - chain->Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - - chain->Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - chain->Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - chain->Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - chain->Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - chain->Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - chain->Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - chain->Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - chain->Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - chain->Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dau2Chi2", "dau2Chi2", 1000, 0, 100); - chain->Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, -5, 5); - chain->Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, -5, 5); - chain->Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - chain->Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - chain->Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - - - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - chain->Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - chain->Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - - - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - chain->Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - chain->Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - chain->Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - chain->Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - chain->Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - chain->Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - chain->Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - chain->Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - chain->Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - chain->Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - - - TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - chain->Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - - - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - chain->Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - //TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - // TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - // chain->Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - //chain->Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - //staNofMuCh->Add(h2); - //staNofMuCh->Write(); - //delete staNofMuCh; - //delete h2; - - // TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - //TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - //chain->Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - //chain->Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - //staNofMuMatches->Add(h2); - //staNofMuMatches->Write(); - //delete staNofMuMatches; - //delete h2; - - // TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - ///TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - //chain->Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - //chain->Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - ///MuChambersVsMuMatches->Add(hh2); - ///MuChambersVsMuMatches->SetDrawOption("Box"); - ///MuChambersVsMuMatches->Write(); - ///delete MuChambersVsMuMatches; - ///delete hh2; - ///output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - chain->Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - chain->Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - chain->Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - chain->Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - chain->Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - chain->Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - chain->Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts.C deleted file mode 100644 index 2752d16f40f99..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts.C +++ /dev/null @@ -1,529 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plotsAfterCuts(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - // #include ; - - // TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/incl15WithBsPv/NtupleLoose_test_inclu15_1_2.root"); - // TFile *file = TFile::Open("../NutpleLooseTestNew_oneshot_all_10_1.root"); -//TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/NtupleLoose_test.root"); -// TTree * Events = dynamic_cast< TTree *> (file->Get("Events")); - - TChain Events("Events"); - // one need 130 events... each file has 1000 ev - Events.Add("zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_1_None.root", 65); - Events.Add("zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_2_None.root", 65); - - - - TFile * output_file = TFile::Open("histoZmm.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", cut_zGolden ); - cout<<"Number of zGoldenAA : "<GetEntries()<Write(); - delete zMass; - - - TCut cut_zGoldenPt15("zGoldenMass>20 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1)"); - dir->cd(); - - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - Events.Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - setGraphics(zMassPt15); - cout<<"Number of zGoldenPt15 : "<GetEntries()<Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==0 || zGoldenDau2HLTBit ==0)"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - cout<<"Number of zGolden1HLT : "<GetEntries()<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - output_file->cd("/"); - - TCut cut2_zGoldenAB1HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && ( abs(zGoldenDau1Eta)<2.1 && 2.1=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuAB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - cout<<"Number of zGoldenAB1HLT : "<GetEntries()<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - TCut cut2_zGolden2HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 && zGoldenDau2HLTBit ==1)"); - - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - cout<<"Number of zGolden2HLT : "<GetEntries()<cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( (zGoldenDau1Iso> 3.0 && zGoldenDau2Iso < 3.0) || (zGoldenDau2Iso> 3.0 && zGoldenDau1Iso < 3.0)) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - cout<<"Number of zGoldenOneNotIso : "<GetEntries()<cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso> 3.0 && zGoldenDau2Iso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - cout<<"Number of zGoldenTwoNotIso : "<GetEntries()<cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso> 3.0 || zGoldenDau2Iso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - cout<<"Number of zGoldenNotIso : "<GetEntries()<cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && zSameChargeDau1Iso< 3.0 && zSameChargeDau2Iso < 3.0 && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<10 && zSameChargeDau2Chi2<10 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=10 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=10 && zSameChargeDau1NofMuonHits>0 && zSameChargeDau2NofMuonHits>0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - cout<<"Number of zGoldenSameCharge : "<GetEntries()<cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso> 3.0 || zSameChargeDau2Iso > 3.0) && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<10 && zSameChargeDau2Chi2<10 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=10 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=10 && zSameChargeDau1NofMuonHits>0 && zSameChargeDau2NofMuonHits>0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - cout<<"Number of zGoldenSameChargeNotIso : "<GetEntries()<cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>60 && zMuTrkMass<120 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1Iso< 3.0 && zMuTrkDau2Iso < 3.0 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && zMuTrkDau1Chi2<10 && zMuTrkDau2Chi2<10 && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<0.2 &&(zMuTrkDau1TrkNofStripHits + zMuTrkDau1TrkNofPixelHits)>=10 && (zMuTrkDau2TrkNofStripHits + zMuTrkDau2TrkNofPixelHits)>=10 && zMuTrkDau1NofMuonHits>0 && zMuTrkDau2NofMuonHits>0 && (zMuTrkDau1HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - cout<<"Number of zMuTrk : "<GetEntries()<cd("/"); - -// zMuTrkMu plots - TCut cut_zMuTrkMu("zMuTrkMuMass>60 && zMuTrkMuMass<120 && zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1Iso< 3.0 && zMuTrkMuDau2Iso < 3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau2Eta)<2.1 && zMuTrkMuDau1Chi2<10 && zMuTrkMuDau2Chi2<10 && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 &&(zMuTrkMuDau1NofStripHits + zMuTrkMuDau1NofPixelHits)>=10 && (zMuTrkMuDau2NofStripHits + zMuTrkMuDau2NofPixelHits)>=10 && zMuTrkMuDau1NofMuonHits>0 && zMuTrkMuDau2NofMuonHits>0 && (zMuTrkMuDau1HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackerMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMuMass", cut_zMuTrkMu ); - zMass->Write(); - cout<<"Number of zMuTrkMu : "<GetEntries()<cd("/"); - - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>60 && zMuStaMass<120 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso< 3.0 && zMuStaDau2Iso < 3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && zMuStaDau1Chi2<10 && zMuStaDau2Chi2<10 && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 &&(zMuStaDau1NofStripHits + zMuStaDau1NofPixelHits)>=10 && (zMuStaDau2NofStripHits + zMuStaDau2NofPixelHits)>=10 && zMuStaDau1NofMuonHits>0 && zMuStaDau2NofMuonHits>0 && (zMuStaDau1HLTBit==1 ) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - cout<<"Number of zMuSta : "<GetEntries()<cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso< 3.0 && zGoldenDau2Iso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && zGoldenDau1dxyFromBS<0.02 && zGoldenDau2dxyFromBS<0.02"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - Events.Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - Events.Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - Events.Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - Events.Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - Events.Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - Events.Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - - Events.Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - Events.Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - Events.Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - Events.Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - Events.Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - Events.Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - Events.Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - Events.Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - Events.Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dua2Chi2", "dau2Chi2", 1000, 0, 100); - Events.Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, 0, 5); - Events.Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, 0, 5); - Events.Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - Events.Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - Events.Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - - /* - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - Events.Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - Events.Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - */ - - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - Events.Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - Events.Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - Events.Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - Events.Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - Events.Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - Events.Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - Events.Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - - - /* TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - Events.Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - */ - - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - Events.Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuCh->Add(h2); - staNofMuCh->Write(); - delete staNofMuCh; - delete h2; - - TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuMatches->Add(h2); - staNofMuMatches->Write(); - delete staNofMuMatches; - delete h2; - - TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - Events.Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->SetDrawOption("Box"); - MuChambersVsMuMatches->Write(); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_BothLegs.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_BothLegs.C deleted file mode 100644 index 35c5c6ac42bc7..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_BothLegs.C +++ /dev/null @@ -1,255 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plotsAfterCuts_BothLegs(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - - TChain Events("Events"); - - // Events.Add("../../NtupleLoose_135_all.root") - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_132440_139790.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_139791-140159_v2.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140160-140182.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140183-140399.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140440-141961.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_142035-142664.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed//NtupleLoose_142665-143179.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_143180-143336.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_143337-144114.root"); - - - TFile * output_file = TFile::Open("histoZmm_2p88_afterCutsBothLegs.root", "RECREATE"); - - - TCut cut_1Iso("((zGoldenDau1Iso03SumPt + zGoldenDau1Iso03EmEt + zGoldenDau1Iso03HadEt)/ zGoldenDau1Pt ) < 0.15"); - TCut cutTk_1Iso("((zMuTrkDau1Iso03SumPt + zMuTrkDau1Iso03EmEt + zMuTrkDau1Iso03HadEt)/ zMuTrkDau1Pt ) < 0.15"); - TCut cutSa_1Iso("((zMuStaDau1Iso03SumPt + zMuStaDau1Iso03EmEt + zMuStaDau1Iso03HadEt)/ zMuStaDau1Pt ) < 0.15"); - - TCut cut_2Iso("((zGoldenDau2Iso03SumPt + zGoldenDau2Iso03EmEt + zGoldenDau2Iso03HadEt)/ zGoldenDau2Pt ) < 0.15"); - TCut cutTk_2Iso("((zMuTrkDau2Iso03SumPt + zMuTrkDau2Iso03EmEt + zMuTrkDau2Iso03HadEt)/ zMuTrkDau2Pt ) < 0.15"); - TCut cutSa_2Iso("((zMuStaDau2Iso03SumPt + zMuStaDau2Iso03EmEt + zMuStaDau2Iso03HadEt)/ zMuStaDau2Pt ) < 0.15"); - - - - - TCut cut_OneNotIso("((((zGoldenDau1Iso03SumPt + zGoldenDau1Iso03EmEt + zGoldenDau1Iso03HadEt)/ zGoldenDau1Pt ) > 0.15) && (((zGoldenDau2Iso03SumPt + zGoldenDau2Iso03EmEt + zGoldenDau2Iso03HadEt)/ zGoldenDau2Pt ) < 0.15)) || ((((zGoldenDau1Iso03SumPt + zGoldenDau1Iso03EmEt + zGoldenDau1Iso03HadEt)/ zGoldenDau1Pt ) < 0.15) && (((zGoldenDau2Iso03SumPt + zGoldenDau2Iso03EmEt + zGoldenDau2Iso03HadEt)/ zGoldenDau2Pt ) > 0.15))"); - -TCut cut_TwoNotIso("(((zGoldenDau1Iso03SumPt + zGoldenDau1Iso03EmEt + zGoldenDau1Iso03HadEt)/ zGoldenDau1Pt ) > 0.15) && ((zGoldenDau2Iso03SumPt + zGoldenDau2Iso03EmEt + zGoldenDau2Iso03HadEt)/ zGoldenDau2Pt ) > 0.15"); - -TCut cut_NotIso("(((zGoldenDau1Iso03SumPt + zGoldenDau1Iso03EmEt + zGoldenDau1Iso03HadEt)/ zGoldenDau1Pt ) > 0.15) || ((zGoldenDau2Iso03SumPt + zGoldenDau2Iso03EmEt + zGoldenDau2Iso03HadEt)/ zGoldenDau2Pt ) > 0.15"); - - -/// cuts common.... - TCut kin_common(" (zGoldenDau1Q * zGoldenDau2Q) ==-1 && zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); // - - -TCut dau1TightWP1_notChi2AndTrackerMuon("zGoldenDau1Chi2<10000 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1"); - -TCut dau2TightWP1_notChi2AndTrackerMuon("zGoldenDau2Chi2<10000 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1"); - - - - - // zGolden plots -// TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10000 && zGoldenDau2Chi2<10000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_1Iso + cut_2Iso); - cout<<"Number of zGoldenAA : "<GetEntries()<Write(); - delete zMass; - - - //TCut cut2_zGolden1HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==0 || zGoldenDau2HLTBit ==0)"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_1Iso + cut_2Iso + "zGoldenDau1HLTBit==0 || zGoldenDau2HLTBit==0" ); - cout<<"Number of zGolden1HLT : "<GetEntries()<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - - - - output_file->cd("/"); - - // TCut cut2_zGolden2HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 && zGoldenDau2HLTBit ==1)"); - - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_1Iso + cut_2Iso + "zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==1" ); - - zMass->Write(); - cout<<"Number of zGolden2HLT : "<GetEntries()<cd("/"); - - - // zGoldenOneNotIso plots - // TCut cut_zGoldenOneNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_OneNotIso); - zMass->Write(); - cout<<"Number of zGoldenOneNotIso : "<GetEntries()<cd("/"); - -// // zGoldenTwoNotIso plots -// TCut cut_zGoldenTwoNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_TwoNotIso); - zMass->Write(); - cout<<"Number of zGoldenTwoNotIso : "<GetEntries()<cd("/"); - - // zGoldenNotIso plots - // TCut cut_zGoldenNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", kin_common + dau1TightWP1_notChi2AndTrackerMuon + dau2TightWP1_notChi2AndTrackerMuon + cut_NotIso); - zMass->Write() ; - cout<<"Number of zGoldenNotIso : "<GetEntries()<cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && zSameChargeDau1TrkIso< 3.0 && zSameChargeDau1TrkIso < 3.0 && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>10 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>10 && zSameChargeDau1NofMuonHits>0 && zSameChargeDau2NofMuonHits>0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - cout<<"Number of zGoldenSameCharge : "<GetEntries()<cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1TrkIso> 3.0 || zSameChargeDau1TrkIso > 3.0) && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>10 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>10 && zSameChargeDau1NofMuonHits>0 && zSameChargeDau2NofMuonHits>0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - cout<<"Number of zGoldenSameChargeNotIso : "<GetEntries()<cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zGoldenMass@.size()==0 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && (zMuTrkDau1Chi2<1000) && ( zMuTrkDau2Chi2<1000) && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<0.2 && ((zMuTrkDau1TrkNofStripHits + zMuTrkDau1TrkNofPixelHits)>10) && ((zMuTrkDau2TrkNofStripHits + zMuTrkDau2TrkNofPixelHits)>10) && zMuTrkDau1TrkNofPixelHits>0 && zMuTrkDau2TrkNofPixelHits>0 && (zMuTrkDau1NofMuonHits>0 && zMuTrkDau1NofMuMatches>1) && (zMuTrkDau1HLTBit==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk + cutTk_1Iso + cutTk_2Iso ); - cout<<"Number of original zMuTrk : "<GetEntries()<20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10000 && zGoldenDau2Chi2<10000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofPixelHits>0 && ( ((zGoldenDau1NofMuonHits==0 || zGoldenDau1NofMuMatches<2 ) && (zGoldenDau2HLTBit==1 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1)) || ((zGoldenDau2NofMuonHits==0 || zGoldenDau2NofMuMatches<2 ) && (zGoldenDau1HLTBit==1 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1)) ) && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - TH1F * zMass2 = new TH1F("zMass2", "zMass2", 200, 0, 200); - Events.Project("zMass2", "zGoldenMass", cut_zGoldenNotGoodSta + cut_1Iso + cut_2Iso ); - - cout<<"Number of zMuTrk from zGolden: "<GetEntries()<Add(zMass2); - zMass->Write(); - delete zMass; - output_file->cd("/"); - -// zMuTrkMu plots - - TCut cut_zMuTrkMu("zMuTrkMuDau1Pt>20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1TrkIso< 3.0 && zMuTrkMuDau2TrkIso<3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau2Eta)<2.1 && (( zMuTrkMuDau1Chi2<1000 && zMuTrkMuDau1GlobalMuonBit==1 ) || ( zMuTrkMuDau2Chi2<1000 && zMuTrkMuDau2GlobalMuonBit==1)) && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 && (( zMuTrkMuDau1GlobalMuonBit==1 && (zMuTrkMuDau1TrkNofStripHits + zMuTrkMuDau1TrkNofPixelHits)>10) || ( zMuTrkMuDau2GlobalMuonBit==1 && (zMuTrkMuDau2TrkNofStripHits + zMuTrkMuDau2TrkNofPixelHits)>10) ) && (( zMuTrkMuDau1GlobalMuonBit==1 && zMuTrkMuDau1NofMuonHits>0) || ( zMuTrkMuDau2GlobalMuonBit==1 && zMuTrkMuDau2NofMuonHits>0 )) && ( (zMuTrkMuDau1HLTBit==1 && zMuTrkMuDau1GlobalMuonBit==1 ) || (zMuTrkMuDau2HLTBit==1 && zMuTrkMuDau2GlobalMuonBit==1 )) "); - - // TCut cut_zMuTrkMu("zMuTrkMuMass>60 && zMuTrkMuMass<120 && zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1TrkIso< 3.0 && zMuTrkMuDau2TrkIso < 3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau2Eta)<2.1 && ((( zMuTrkMuDau1GlobalMuonBit==1 && zMuTrkMuDau1Chi2<1000 && zMuTrkMuDau1NofMuonHits>0) || ( zMuTrkMuDau1GlobalMuonBit==0 && zMuTrkMuDau1TrkChi2<1000)) || (( zMuTrkMuDau2GlobalMuonBit==1 && zMuTrkMuDau2Chi2<1000) || ( zMuTrkMuDau2GlobalMuonBit==0 && zMuTrkMuDau1TrkChi2<1000 && zMuTrkMuDau2NofMuonHits>0)) && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 && ((zMuTrkMuDau1TrkNofStripHits + zMuTrkMuDau1TrkNofPixelHits)>=10) && ((zMuTrkMuDau2TrkNofStripHits + zMuTrkMuDau2TrkNofPixelHits)>=10)) && (zMuTrkMuDau1HLTBit==1 || zMuTrkMuDau2HLTBit==1 ) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackerMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMuMass", cut_zMuTrkMu ); - - Events.Project("zMass2", "zMuTrkMuMass", cut_zMuTrkMu ); - - zMass->Write(); - cout<<"Number of zMuTrkMu : "<GetEntries()<cd("/"); - - - - // zMuSta plots - - TCut cut_zMuSta("zGoldenMass@.size()==0 && zMuStaDau1Pt>20 && zMuStaDau2Pt>20 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 && ( (zMuStaDau1GlobalMuonBit==1 && (zMuStaDau1TrkNofStripHits + zMuStaDau1TrkNofPixelHits)>10 && zMuStaDau1TrkNofPixelHits>0) || ( zMuStaDau2GlobalMuonBit==1 && (zMuStaDau2TrkNofStripHits + zMuStaDau2TrkNofPixelHits)>10 && zMuStaDau2TrkNofPixelHits>0)) && (( zMuStaDau1SaNofMuonHits>0 && zMuStaDau1NofMuMatches>1 && zMuStaDau2SaNofMuonHits>0 && zMuStaDau2NofMuMatches>1 )) && ( (zMuStaDau1HLTBit==1 && zMuStaDau1GlobalMuonBit==1 ) || (zMuStaDau2HLTBit==1 && zMuStaDau2GlobalMuonBit==1 ))"); - -// TCut cut_zMuSta("zMuStaMass>60 && zMuStaMass<120 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1TrkIso< 3.0 && zMuStaDau1TrkIso < 3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 &&(zMuStaDau1NofStripHits + zMuStaDau1NofPixelHits)>=10 && (zMuStaDau2NofStripHits + zMuStaDau2NofPixelHits)>=10 && zMuStaDau1NofMuonHits>0 && zMuStaDau2NofMuonHits>0 && ((zMuStaDau1HLTBit==1 && zMuStaDau1GlobalMuonBit ==1 ) || ( zMuStaDau2HLTBit==1 && zMuStaDau2GlobalMuonBit ==1) ) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta + cutSa_1Iso + cutSa_2Iso ); - - // add events from zGolden with not a good trk -TCut cut_zGoldenNotGoodTrk("zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10000 && zGoldenDau2Chi2<10000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( (((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)<=10 || zGoldenDau1NofPixelHits==0) && (zGoldenDau2HLTBit==1 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0)) || (((zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)<=10 || zGoldenDau2NofPixelHits==0) && (zGoldenDau1HLTBit==1 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0))) && (zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1) && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1)"); - TH1F * zMass2 = new TH1F("zMass2", "zMass2", 200, 0, 200); - Events.Project("zMass2", "zGoldenMassSa", cut_zGoldenNotGoodTrk + cut_1Iso + cut_2Iso ); - - cout<<"Number of original zMuSta : "<GetEntries()<GetEntries()<Add(zMass2); - zMass->Write(); - - delete zMass; - delete zMass2; - - output_file->cd("/"); - - - - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && zGoldenDau1dxyFromBS<0.02 && zGoldenDau2dxyFromBS<0.02"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs.C deleted file mode 100644 index 9f6466d191c18..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs.C +++ /dev/null @@ -1,553 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plotsAfterCuts_NoLegs(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - // #include ; - - // TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/incl15WithBsPv/NtupleLoose_test_inclu15_1_2.root"); - // TFile *file = TFile::Open("../NutpleLooseTestNew_oneshot_all_10_1.root"); -//TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/NtupleLoose_test.root"); -// TTree * Events = dynamic_cast< TTree *> (file->Get("Events")); - - TChain Events("Events"); - // Events.Add("../../NtupleLoose_135_all.root") - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_132440_139790.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_139791-140159_v2.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140160-140182.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140183-140399.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140440-141961.root"); - Events.Add("../NtupleLoose_142035-142664.root"); - Events.Add("../NtupleLoose_142665-143179.root"); - Events.Add("../NtupleLoose_143180-143336.root"); - Events.Add("../NtupleLoose_143337-144114.root"); - Events.Add("../NtupleLoose_144114_v2.root"); - - - - TFile * output_file = TFile::Open("histo_3p07_noCuts_eta2p1.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", cut_zGolden ); - cout<<"Number of zGoldenAA : "<Integral(60,120)<Write(); - delete zMass; - - - TCut cut_zGoldenPt15("zGoldenMass>0 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1)"); - dir->cd(); - - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - Events.Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - setGraphics(zMassPt15); - cout<<"Number of zGoldenPt15 : "<Integral(60,120)<Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==0 || zGoldenDau2HLTBit ==0)"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - cout<<"Number of zGolden1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - output_file->cd("/"); - - TCut cut2_zGoldenAB1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && (( abs(zGoldenDau1Eta)>2.1 || abs(zGoldenDau2Eta)>2.1 ) ) && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuAB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGoldenAB1HLT ); - cout<<"Number of zGoldenAB1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - - TCut cut2_zGoldenBB1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && (( abs(zGoldenDau1Eta)>2.1 && abs(zGoldenDau2Eta)>2.1 ) ) && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuBB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGoldenBB1HLT ); - cout<<"Number of zGoldenBB1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - - TCut cut2_zGolden2HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 && zGoldenDau2HLTBit ==1)"); - - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - cout<<"Number of zGolden2HLT : "<Integral(60,120)<cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( (zGoldenDau1Iso03SumPt> 3.0 && zGoldenDau2Iso03SumPt < 3.0) || (zGoldenDau2Iso03SumPt> 3.0 && zGoldenDau1Iso03SumPt < 3.0)) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - cout<<"Number of zGoldenOneNotIso : "<Integral(60,120)<cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso03SumPt> 3.0 && zGoldenDau2Iso03SumPt > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - cout<<"Number of zGoldenTwoNotIso : "<Integral(60,120)<cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso03SumPt> 3.0 || zGoldenDau2Iso03SumPt > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - cout<<"Number of zGoldenNotIso : "<Integral(60,120)<cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>0 && zSameChargeMass<200 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && zSameChargeDau1Iso03SumPt< 3.0 && zSameChargeDau1Iso03SumPt < 3.0 && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=0 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=0 && zSameChargeDau1NofMuonHits>=0 && zSameChargeDau2NofMuonHits>=0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - cout<<"Number of zGoldenSameCharge : "<Integral(60,120)<cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>0 && zSameChargeMass<200 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1Iso03SumPt> 3.0 || zSameChargeDau1Iso03SumPt > 3.0) && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=0 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=0 && zSameChargeDau1NofMuonHits>=0 && zSameChargeDau2NofMuonHits>=0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - cout<<"Number of zGoldenSameChargeNotIso : "<Integral(60,120)<cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>0 && zMuTrkMass<200 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1Iso03SumPt< 3.0 && zMuTrkDau2Iso03SumPt < 3.0 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && zMuTrkDau1Chi2<1000 && zMuTrkDau2TrkChi2<1000 && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<.2 &&(zMuTrkDau1TrkNofStripHits + zMuTrkDau1TrkNofPixelHits)>=0 && (zMuTrkDau2TrkNofStripHits + zMuTrkDau2TrkNofPixelHits)>=0 && zMuTrkDau1NofMuonHits>=0 && (zMuTrkDau1HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - cout<<"Number of zMuTrk : "<Integral(60,120)<cd("/"); - -// zMuTrkMu plots - TCut cut_zMuTrkMu("zMuTrkMuMass>0 && zMuTrkMuMass<200 && zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1Iso03SumPt< 3.0 && zMuTrkMuDau2Iso03SumPt < 3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 && abs(zMuTrkMuDau2Eta)<2.1 && ( (zMuTrkMuDau1HLTBit==1 && zMuTrkMuDau1GlobalMuonBit ==1 ) || ( zMuTrkMuDau2HLTBit==1 && zMuTrkMuDau2GlobalMuonBit ==1))");// zMuTrkMuDau1Chi2<1000 && zMuTrkMuDau2Chi2<1000 && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 &&(zMuTrkMuDau1NofStripHits + zMuTrkMuDau1NofPixelHits)>=0 && (zMuTrkMuDau2NofStripHits + zMuTrkMuDau2NofPixelHits)>=0 && zMuTrkMuDau1NofMuonHits>=-1 && zMuTrkMuDau2NofMuonHits>=-1 "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackerMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMuMass", cut_zMuTrkMu ); - zMass->Write(); - cout<<"Number of zMuTrkMu : "<Integral(60,120)<cd("/"); - - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>0 && zMuStaMass<200 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso03SumPt< 3.0 && zMuStaDau2Iso03SumPt < 3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && ((zMuStaDau1HLTBit==1 && zMuStaDau1GlobalMuonBit ==1 && abs(zMuStaDau1dxyFromBS)<0.2 ) || ( zMuStaDau2HLTBit==1 && zMuStaDau2GlobalMuonBit ==1 && abs(zMuStaDau2dxyFromBS)<0.2) )");// zMuStaDau1Chi2<1000 && zMuStaDau2Chi2<1000 && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 &&(zMuStaDau1NofStripHits + zMuStaDau1NofPixelHits)>=0 && (zMuStaDau2NofStripHits + zMuStaDau2NofPixelHits)>=0 && zMuStaDau1NofMuonHits>=-1 && zMuStaDau2NofMuonHits>=-1 && "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - cout<<"Number of zMuSta : "<Integral(60,120)<cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau1Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && zGoldenDau1dxyFromBS<0.02 && zGoldenDau2dxyFromBS<0.02"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - /* - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - Events.Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - Events.Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - Events.Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - Events.Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - Events.Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - Events.Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - */ - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - /* - Events.Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - Events.Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - Events.Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - Events.Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - Events.Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - Events.Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - Events.Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - Events.Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - Events.Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dua2Chi2", "dau2Chi2", 1000, 0, 100); - Events.Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, 0, 5); - Events.Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, 0, 5); - Events.Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - Events.Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - Events.Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - */ - /* - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - Events.Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - Events.Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - */ - /* - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - Events.Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - Events.Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - Events.Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - Events.Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - Events.Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - Events.Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - Events.Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - */ - - /* TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - Events.Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - */ - /* - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - Events.Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuCh->Add(h2); - staNofMuCh->Write(); - delete staNofMuCh; - delete h2; - - TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuMatches->Add(h2); - staNofMuMatches->Write(); - delete staNofMuMatches; - delete h2; - - TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - Events.Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->SetDrawOption("Box"); - MuChambersVsMuMatches->Write(); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - */ - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs_oldIso.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs_oldIso.C deleted file mode 100644 index f6fc9489d57c5..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_NoLegs_oldIso.C +++ /dev/null @@ -1,553 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plotsAfterCuts_NoLegs_oldIso(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - // #include ; - - // TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/incl15WithBsPv/NtupleLoose_test_inclu15_1_2.root"); - // TFile *file = TFile::Open("../NutpleLooseTestNew_oneshot_all_10_1.root"); -//TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/NtupleLoose_test.root"); -// TTree * Events = dynamic_cast< TTree *> (file->Get("Events")); - - TChain Events("Events"); - // Events.Add("../../NtupleLoose_135_all.root") - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_132440_139790.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_139791-140159_v2.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140160-140182.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140183-140399.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_140440-141961.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_142035-142664.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_142665-143179.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_143180-143336.root"); - Events.Add("/scratch2/users/degruttola/data/OfficialJSON/blessed/NtupleLoose_143337-144114.root"); - // Events.Add("../NtupleLoose_144114_v2.root"); - - - - TFile * output_file = TFile::Open("histo_2p88_noCuts_oldIso.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", cut_zGolden ); - cout<<"Number of zGoldenAA : "<Integral(60,120)<Write(); - delete zMass; - - - TCut cut_zGoldenPt15("zGoldenMass>0 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1)"); - dir->cd(); - - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - Events.Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - setGraphics(zMassPt15); - cout<<"Number of zGoldenPt15 : "<Integral(60,120)<Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==0 || zGoldenDau2HLTBit ==0)"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - cout<<"Number of zGolden1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - output_file->cd("/"); - - TCut cut2_zGoldenAB1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && (( abs(zGoldenDau1Eta)>2.1 || abs(zGoldenDau2Eta)>2.1 ) ) && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuAB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGoldenAB1HLT ); - cout<<"Number of zGoldenAB1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - - TCut cut2_zGoldenBB1HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && (( abs(zGoldenDau1Eta)>2.1 && abs(zGoldenDau2Eta)>2.1 ) ) && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuBB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGoldenBB1HLT ); - cout<<"Number of zGoldenBB1HLT : "<Integral(60,120)<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - - TCut cut2_zGolden2HLT("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 && zGoldenDau2HLTBit ==1)"); - - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - cout<<"Number of zGolden2HLT : "<Integral(60,120)<cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( (zGoldenDau1TrkIso> 3.0 && zGoldenDau2TrkIso < 3.0) || (zGoldenDau2TrkIso> 3.0 && zGoldenDau1TrkIso < 3.0)) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - cout<<"Number of zGoldenOneNotIso : "<Integral(60,120)<cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1TrkIso> 3.0 && zGoldenDau2TrkIso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - cout<<"Number of zGoldenTwoNotIso : "<Integral(60,120)<cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>0 && zGoldenMass<200 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1TrkIso> 3.0 || zGoldenDau2TrkIso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&(zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=0 && zGoldenDau1NofMuonHits>=0 && zGoldenDau2NofMuonHits>=0 && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - cout<<"Number of zGoldenNotIso : "<Integral(60,120)<cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>0 && zSameChargeMass<200 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && zSameChargeDau1TrkIso< 3.0 && zSameChargeDau1TrkIso < 3.0 && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=0 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=0 && zSameChargeDau1NofMuonHits>=0 && zSameChargeDau2NofMuonHits>=0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - cout<<"Number of zGoldenSameCharge : "<Integral(60,120)<cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>0 && zSameChargeMass<200 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1TrkIso> 3.0 || zSameChargeDau1TrkIso > 3.0) && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<1000 && zSameChargeDau2Chi2<1000 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 &&(zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=0 && (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=0 && zSameChargeDau1NofMuonHits>=0 && zSameChargeDau2NofMuonHits>=0 && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - cout<<"Number of zGoldenSameChargeNotIso : "<Integral(60,120)<cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>0 && zMuTrkMass<200 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1TrkIso< 3.0 && zMuTrkDau2TrkIso < 3.0 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && zMuTrkDau1Chi2<1000 && zMuTrkDau2TrkChi2<1000 && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<.2 &&(zMuTrkDau1TrkNofStripHits + zMuTrkDau1TrkNofPixelHits)>=0 && (zMuTrkDau2TrkNofStripHits + zMuTrkDau2TrkNofPixelHits)>=0 && zMuTrkDau1NofMuonHits>=0 && (zMuTrkDau1HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - cout<<"Number of zMuTrk : "<Integral(60,120)<cd("/"); - -// zMuTrkMu plots - TCut cut_zMuTrkMu("zMuTrkMuMass>0 && zMuTrkMuMass<200 && zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1TrkIso< 3.0 && zMuTrkMuDau2TrkIso < 3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 && abs(zMuTrkMuDau2Eta)<2.1 && ( (zMuTrkMuDau1HLTBit==1 && zMuTrkMuDau1GlobalMuonBit ==1 ) || ( zMuTrkMuDau2HLTBit==1 && zMuTrkMuDau2GlobalMuonBit ==1))");// zMuTrkMuDau1Chi2<1000 && zMuTrkMuDau2Chi2<1000 && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 &&(zMuTrkMuDau1NofStripHits + zMuTrkMuDau1NofPixelHits)>=0 && (zMuTrkMuDau2NofStripHits + zMuTrkMuDau2NofPixelHits)>=0 && zMuTrkMuDau1NofMuonHits>=-1 && zMuTrkMuDau2NofMuonHits>=-1 "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackerMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMuMass", cut_zMuTrkMu ); - zMass->Write(); - cout<<"Number of zMuTrkMu : "<Integral(60,120)<cd("/"); - - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>0 && zMuStaMass<200 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1TrkIso< 3.0 && zMuStaDau2TrkIso < 3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && ((zMuStaDau1HLTBit==1 && zMuStaDau1GlobalMuonBit ==1 && abs(zMuStaDau1dxyFromBS)<0.2 ) || ( zMuStaDau2HLTBit==1 && zMuStaDau2GlobalMuonBit ==1 && abs(zMuStaDau2dxyFromBS)<0.2) )");// zMuStaDau1Chi2<1000 && zMuStaDau2Chi2<1000 && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 &&(zMuStaDau1NofStripHits + zMuStaDau1NofPixelHits)>=0 && (zMuStaDau2NofStripHits + zMuStaDau2NofPixelHits)>=0 && zMuStaDau1NofMuonHits>=-1 && zMuStaDau2NofMuonHits>=-1 && "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - cout<<"Number of zMuSta : "<Integral(60,120)<cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && zGoldenDau1dxyFromBS<0.02 && zGoldenDau2dxyFromBS<0.02"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - /* - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - Events.Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - Events.Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - Events.Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - Events.Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - Events.Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - Events.Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - */ - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - /* - Events.Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - Events.Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - Events.Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - Events.Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - Events.Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - Events.Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - Events.Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - Events.Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - Events.Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dua2Chi2", "dau2Chi2", 1000, 0, 100); - Events.Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, 0, 5); - Events.Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, 0, 5); - Events.Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - Events.Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - Events.Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - */ - /* - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - Events.Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - Events.Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - */ - /* - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - Events.Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - Events.Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - Events.Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - Events.Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - Events.Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - Events.Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - Events.Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - */ - - /* TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - Events.Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - */ - /* - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - Events.Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuCh->Add(h2); - staNofMuCh->Write(); - delete staNofMuCh; - delete h2; - - TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuMatches->Add(h2); - staNofMuMatches->Write(); - delete staNofMuMatches; - delete h2; - - TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - Events.Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->SetDrawOption("Box"); - MuChambersVsMuMatches->Write(); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - */ - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_OneLeg.C b/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_OneLeg.C deleted file mode 100644 index 82f9309933091..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/plotsAfterCuts_OneLeg.C +++ /dev/null @@ -1,543 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - //histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - - - - -void plotsAfterCuts_OneLeg(){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - // #include ; - - // TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/incl15WithBsPv/NtupleLoose_test_inclu15_1_2.root"); - // TFile *file = TFile::Open("../NutpleLooseTestNew_oneshot_all_10_1.root"); -//TFile *file = TFile::Open("rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/NtupleLoose_test.root"); -// TTree * Events = dynamic_cast< TTree *> (file->Get("Events")); - - TChain Events("Events"); - // one need 130 events... each file has 1000 ev - Events.Add("../zmmNtuple/NtupleLooseTestNew.root"); - /* Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_1_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_2_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_3_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_4_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_5_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_6_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_7_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_8_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_9_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_10_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_11_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_12_None.root"); - Events.Add("../zmmNtuple/NtupleLooseTestNew_oneshot_all_Test_13_None.root"); - */ - - - - TFile * output_file = TFile::Open("histoZmm_OneCut.root", "RECREATE"); - // TFile * output_file = TFile::Open("histo_test.root", "RECREATE"); - - // zGolden plots - TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - // Events.Draw("zGoldenMass"); - Events.Project("zMass", "zGoldenMass", cut_zGolden ); - cout<<"Number of zGoldenAA : "<GetEntries()<Write(); - delete zMass; - - - TCut cut_zGoldenPt15("zGoldenMass>20 && zGoldenDau1Pt> 15 && zGoldenDau2Pt>15 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1)"); - dir->cd(); - - TH1F * zMassPt15 = new TH1F("zMassPt15", "zMassPt15", 200, 0, 200); - Events.Project("zMassPt15", "zGoldenMass", cut_zGoldenPt15 ); - setGraphics(zMassPt15); - cout<<"Number of zGoldenPt15 : "<GetEntries()<Write(); - delete zMassPt15; - - - - output_file->cd("/"); - - TCut cut2_zGolden1HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || ((zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10)) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==0 || zGoldenDau2HLTBit ==0)"); - TDirectory * dir = output_file->mkdir("goodZToMuMu1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden1HLT ); - cout<<"Number of zGolden1HLT : "<GetEntries()<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - output_file->cd("/"); - - TCut cut2_zGoldenAB1HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && ( abs(zGoldenDau1Eta)>2.1 || abs(zGoldenDau2Eta)>2.1 ) && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("goodZToMuMuAB1HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGoldenAB1HLT ); - cout<<"Number of zGoldenAB1HLT : "<GetEntries()<Write(); - delete zMass; - //zMass2->Write(); - - output_file->cd("/"); - - - TCut cut2_zGolden2HLT("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==1 && zGoldenDau2HLTBit ==1)"); - - TDirectory * dir = output_file->mkdir("goodZToMuMu2HLTPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut2_zGolden2HLT ); - zMass->Write(); - cout<<"Number of zGolden2HLT : "<GetEntries()<cd("/"); - - - // zGoldenOneNotIso plots - TCut cut_zGoldenOneNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && ( (zGoldenDau1TrkIso> 3.0 && zGoldenDau2TrkIso < 3.0) || (zGoldenDau2TrkIso> 3.0 && zGoldenDau1TrkIso < 3.0)) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("oneNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenOneNotIso ); - zMass->Write(); - cout<<"Number of zGoldenOneNotIso : "<GetEntries()<cd("/"); - -// // zGoldenTwoNotIso plots - TCut cut_zGoldenTwoNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1TrkIso> 3.0 && zGoldenDau2TrkIso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("twoNonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass","zGoldenMass", cut_zGoldenTwoNotIso ); - zMass->Write(); - cout<<"Number of zGoldenTwoNotIso : "<GetEntries()<cd("/"); - - // zGoldenNotIso plots - TCut cut_zGoldenNotIso("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1TrkIso> 3.0 || zGoldenDau2TrkIso > 3.0) && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ((zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 || (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10) && (zGoldenDau1NofMuonHits>0 || zGoldenDau2NofMuonHits>0) && ( zGoldenDau1HLTBit ==1 || zGoldenDau2HLTBit ==1)"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMass", cut_zGoldenNotIso ); - zMass->Write() ; - cout<<"Number of zGoldenNotIso : "<GetEntries()<cd("/"); - - // zGoldenSameCharge plots........ - TCut cut_zSameCharge("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && zSameChargeDau1TrkIso< 3.0 && zSameChargeDau2TrkIso < 3.0 && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<10 && zSameChargeDau2Chi2<10 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 && ((zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=10 || (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=10) && (zSameChargeDau1NofMuonHits>0 || zSameChargeDau2NofMuonHits>0) && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargePlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameCharge ); - zMass->Write(); - cout<<"Number of zGoldenSameCharge : "<GetEntries()<cd("/"); - - // zGoldenSameChargeNotIso plots........ - TCut cut_zSameChargeNotIso("zSameChargeMass>60 && zSameChargeMass<120 && zSameChargeDau1Pt> 20 && zSameChargeDau2Pt>20 && ( zSameChargeDau1TrkIso> 3.0 || zSameChargeDau2TrkIso > 3.0) && abs(zSameChargeDau1Eta)<2.1 && abs(zSameChargeDau2Eta)<2.1 && zSameChargeDau1Chi2<10 && zSameChargeDau2Chi2<10 && abs(zSameChargeDau1dxyFromBS)<0.2 && abs(zSameChargeDau2dxyFromBS)<0.2 && ( (zSameChargeDau1NofStripHits + zSameChargeDau1NofPixelHits)>=10 || (zSameChargeDau2NofStripHits + zSameChargeDau2NofPixelHits)>=10) && (zSameChargeDau1NofMuonHits>0 || zSameChargeDau2NofMuonHits>0) && (zSameChargeDau1HLTBit==1 || zSameChargeDau2HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuSameChargeNotIsoPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zSameChargeMass", cut_zSameChargeNotIso ); - zMass->Write(); - cout<<"Number of zGoldenSameChargeNotIso : "<GetEntries()<cd("/"); - - -// zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>60 && zMuTrkMass<120 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1TrkIso< 3.0 && zMuTrkDau2TrkIso < 3.0 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && (zMuTrkDau1Chi2<10) && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<0.2 && ((zMuTrkDau1TrkNofStripHits + zMuTrkDau1TrkNofPixelHits)>=10) && (zMuTrkDau1NofMuonHits>0) && (zMuTrkDau1HLTBit==1) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMass", cut_zMuTrk ); - zMass->Write(); - cout<<"Number of zMuTrk : "<GetEntries()<cd("/"); - -// zMuTrkMu plots - TCut cut_zMuTrkMu("zMuTrkMuMass>60 && zMuTrkMuMass<120 && zMuTrkMuDau1Pt>20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1TrkIso< 3.0 && zMuTrkMuDau2TrkIso<3.0 && abs(zMuTrkMuDau1Eta)<2.1 && abs(zMuTrkMuDau2Eta)<2.1 && (( zMuTrkMuDau1Chi2<10 && zMuTrkMuDau1GlobalMuonBit==1 ) || ( zMuTrkMuDau2Chi2<10 && zMuTrkMuDau2GlobalMuonBit==1)) && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 && (( zMuTrkMuDau1GlobalMuonBit==1 && (zMuTrkMuDau1TrkNofStripHits + zMuTrkMuDau1TrkNofPixelHits)>=10) || ( zMuTrkMuDau2GlobalMuonBit==1 && (zMuTrkMuDau2TrkNofStripHits + zMuTrkMuDau2TrkNofPixelHits)>=10) ) && (( zMuTrkMuDau1GlobalMuonBit==1 && zMuTrkMuDau1NofMuonHits>0) || ( zMuTrkMuDau2GlobalMuonBit==1 && zMuTrkMuDau2NofMuonHits>0 )) && ( (zMuTrkMuDau1HLTBit==1 && zMuTrkMuDau1GlobalMuonBit==1 ) || (zMuTrkMuDau2HLTBit==1 && zMuTrkMuDau2GlobalMuonBit==1 )) "); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackerMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuTrkMuMass", cut_zMuTrkMu ); - zMass->Write(); - cout<<"Number of zMuTrkMu : "<GetEntries()<cd("/"); - - - - // zMuSta plots - TCut cut_zMuSta("zMuStaMass>60 && zMuStaMass<120 && zMuStaDau1Pt>20 && zMuStaDau2Pt>20 && zMuStaDau1TrkIso< 3.0 && zMuStaDau2TrkIso<3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && (( zMuStaDau1Chi2<10 && zMuStaDau1GlobalMuonBit==1 ) || ( zMuStaDau2Chi2<10 && zMuStaDau2GlobalMuonBit==1)) && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 && (( zMuStaDau1GlobalMuonBit==1 && (zMuStaDau1TrkNofStripHits + zMuStaDau1TrkNofPixelHits)>=10) || ( zMuStaDau2GlobalMuonBit==1 && (zMuStaDau2TrkNofStripHits + zMuStaDau2TrkNofPixelHits)>=10) ) && (( zMuStaDau1GlobalMuonBit==1 && zMuStaDau1NofMuonHits>0) || ( zMuStaDau2GlobalMuonBit==1 && zMuStaDau2NofMuonHits>0 )) && ( (zMuStaDau1HLTBit==1 && zMuStaDau1GlobalMuonBit==1 ) || (zMuStaDau2HLTBit==1 && zMuStaDau2GlobalMuonBit==1 )) "); - - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zMuStaMass", cut_zMuSta ); - zMass->Write(); - cout<<"Number of zMuSta : "<GetEntries()<cd("/"); - -// zMuSta plots - TCut cut_zMuMuSta("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1 && (zGoldenDau1Chi2<10 || zGoldenDau2Chi2<10) && zGoldenDau1dxyFromBS<0.02 && zGoldenDau2dxyFromBS<0.02"); - TDirectory * dir = output_file->mkdir("zmumuSaMassHistogram"); - dir->cd(); - TH1F * zMass = new TH1F("zMass", "zMass", 200, 0, 200); - Events.Project("zMass", "zGoldenMassSa", cut_zMuMuSta ); - zMass->Write(); - delete zMass; - output_file->cd("/"); - - - TDirectory * dir = output_file->mkdir("zPlots"); - dir->cd(); - TH1F * zGoldenPt = new TH1F("zGoldenPt", "zGoldenPt", 200, 0, 200); - Events.Project("zGoldenPt", "zGoldenPt", cut_zGolden ); - zGoldenPt->Write(); - delete zGoldenPt; - - - TH1F * zGoldenY = new TH1F("zGoldenY", "zGoldenY", 200, -5, 5); - Events.Project("zGoldenY", "zGoldenY", cut_zGolden ); - zGoldenY->Write(); - delete zGoldenY; - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("MuPlots"); - dir->cd(); - - - TH1F * muNotTriggeredEta = new TH1F("muNotTriggeredEta", "muNotTriggeredEta", 240, -6, 6.); - TH1F * h2 = new TH1F("h2", "h2", 240, -6, 6.); - - Events.Project("muNotTriggeredEta","zGoldenDau1Eta", "zGoldenDau1HLTBit==0"); - Events.Project("h2","zGoldenDau2Eta", "zGoldenDau2HLTBit==0"); - - muNotTriggeredEta->Add(h2); - muNotTriggeredEta->Write(); - delete muNotTriggeredEta; - delete h2; - - TH1F * zGoldenDauHighPt = new TH1F("zGoldenDauHighPt", "zGoldenDauHighPt", 200, 0, 200); - Events.Project("zGoldenDauHighPt", "max(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauHighPt->Write(); - delete zGoldenDauHighPt; - - TH1F * zGoldenDauLowPt = new TH1F("zGoldenDauLowPt", "zGoldenDauLowPt", 200, 0, 200); - Events.Project("zGoldenDauLowPt", "min(zGoldenDau1Pt, zGoldenDau2Pt)", cut_zGolden ); - zGoldenDauLowPt->Write(); - delete zGoldenDauLowPt; - - //(mu1.phi -mu2.phi) - TH1F * deltaPhi = new TH1F("deltaPhi", "deltaPhi", 120, 0, 6.); - TH1F * h2 = new TH1F("h2", "h2", 120, 0, 6. ); - TH1F * h3 = new TH1F("h3", "h3", 120, 0, 6. ); - - /* result = phi1 - phi2; -040 while (result > M_PI) result -= 2*M_PI; -041 while (result <= -M_PI) result += 2*M_PI; -042 return result; - */ - - Events.Project("deltaPhi", "abs(zGoldenDau1Phi - zGoldenDau2Phi)", "-TMath::Pi() < (zGoldenDau1Phi - zGoldenDau2Phi) < TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden); - Events.Project("h2", "abs(zGoldenDau1Phi - zGoldenDau2Phi - 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) > TMath::Pi()" , "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + + cut_zGolden); - Events.Project("h3", "abs(zGoldenDau1Phi - zGoldenDau2Phi + 2 * TMath::Pi())", "(zGoldenDau1Phi - zGoldenDau2Phi) <= -TMath::Pi()", "zGoldenDau1Pt>20 && zGoldenDau2Pt >20" + cut_zGolden ); - - deltaPhi->Add(h2, h3); - deltaPhi->Write(); - delete deltaPhi;; - delete h2; - delete h3; - - - - // mu1.eta -mu2.eta - TH1F * deltaEta = new TH1F("deltaEta", "deltaEta", 120, 0, 6.); - Events.Project("deltaEta", "abs(zGoldenDau1Eta - zGoldenDau2Eta)", cut_zGolden ); - deltaEta->Write(); - delete deltaEta; - - TH1F * dua1Phi = new TH1F("dau1Phi", "dau1Phi", 120, -6, 6.); - Events.Project("dau1Phi", "zGoldenDau1Phi" , cut_zGolden); - dau1Phi->Write(); - delete dau1Phi; - - TH1F * dua2Phi = new TH1F("dau2Phi", "dau2Phi", 120, -6, 6.); - Events.Project("dau2Phi", "zGoldenDau2Phi" , cut_zGolden); - dau2Phi->Write(); - delete dau2Phi; - - TH1F * dau1Eta = new TH1F("dua1Eta", "dau1Eta", 120, -6, 6.); - Events.Project("dau1Eta", "zGoldenDau1Eta", cut_zGolden ); - dau1Eta->Write(); - delete dau1Eta; - - TH1F * dau2Eta = new TH1F("dua2Eta", "dau2Eta", 120, -6, 6.); - Events.Project("dau2Eta", "zGoldenDau2Eta" , cut_zGolden); - dau2Eta->Write(); - delete dau2Eta; - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = new TH1F("dua1Chi2", "dau1Chi2", 1000, 0, 100); - Events.Project("dua1Chi2", "zGoldenDau1Chi2", cut_zGolden ); - dau1Chi2->Write(); - delete dau1Chi2; - - TH1F * dau2Chi2 = new TH1F("dua2Chi2", "dau2Chi2", 1000, 0, 100); - Events.Project("dau2Chi2", "zGoldenDau2Chi2", cut_zGolden ); - dau2Chi2->Write(); - delete dau2Chi2; - - - TH1F * dau1Dxy = new TH1F("dua1Dxy", "dau1Dxy", 500, 0, 5); - Events.Project("dua1Dxy", "zGoldenDau1dxyFromBS", cut_zGolden ); - dau1Dxy->Write(); - delete dau1Dxy; - - TH1F * dau2Dxy = new TH1F("dua2Dxy", "dau2Dxy", 500, 0, 5); - Events.Project("dua2Dxy", "zGoldenDau2dxyFromBS", cut_zGolden ); - dau2Dxy->Write(); - delete dau2Dxy; - - - TH1F * dau1Dz= new TH1F("dua1Dz", "dau1Dz", 500, 0, 20); - Events.Project("dua1Dz", "zGoldenDau1dzFromBS", cut_zGolden ); - dau1Dz->Write(); - delete dau1Dz; - - TH1F * dau2Dz = new TH1F("dua2Dz", "dau2Dz", 500, 0, 20); - Events.Project("dua2Dz", "zGoldenDau2dzFromBS", cut_zGolden); - dau2Dz->Write(); - delete dau2Dz; - - /* - TH1F * dau1NofHit = new TH1F("dua1NofHit", "dau1NofHit", 100, -0.5, 99.5); - Events.Project("dua1NofHit", "zGoldenDau1NofHit", cut_zGolden ); - dau1NofHit->Write(); - delete dau1NofHit; - - TH1F * dau2NofHit = new TH1F("dua2NofHit", "dau2NofHit", 100, -0.5, 99.5); - Events.Project("dua2NofHit", "zGoldenDau2NofHit", cut_zGolden ); - dau2NofHit->Write(); - delete dau2NofHit; - */ - - TH1F * dau1NofMuCh = new TH1F("dua1NofMuCh", "dau1NofMuCh", 20, -0.5, 19.5); - Events.Project("dua1NofMuCh", "zGoldenDau1NofMuChambers", cut_zGolden ); - dau1NofMuCh->Write(); - delete dau1NofMuCh; - - TH1F * dau2NofMuCh = new TH1F("dua2NofMuCh", "dau2NofMuCh", 20, -0.5, 19.5); - Events.Project("dua2NofMuCh", "zGoldenDau2NofMuChambers", cut_zGolden ); - dau2NofMuCh->Write(); - delete dau2NofMuCh; - - - TH1F * dau1NofMuMatches = new TH1F("dua1NofMuMatches", "dau1NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua1NofMuMatches", "zGoldenDau1NofMuMatches", cut_zGolden ); - dau1NofMuMatches->Write(); - delete dau1NofMuMatches; - - TH1F * dau2NofMuMatches = new TH1F("dua2NofMuMatches", "dau2NofMuMatches", 20, -0.5, 19.5); - Events.Project("dua2NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden ); - dau2NofMuMatches->Write(); - delete dau2NofMuMatches; - - TH1F * dau1EmEnergy = new TH1F("dua1EmEnergy", "dau1EmEnergy", 200, -0.1, 19.9); - Events.Project("dua1EmEnergy", "zGoldenDau1MuEnergyEm", cut_zGolden ); - dau1EmEnergy->Write(); - delete dau1EmEnergy; - - TH1F * dau2EmEnergy = new TH1F("dua2EmEnergy", "dau2EmEnergy", 200, -0.1, 19.9); - Events.Project("dua2EmEnergy", "zGoldenDau2MuEnergyEm", cut_zGolden ); - dau2EmEnergy->Write(); - delete dau2EmEnergy; - - TH1F * dau1HadEnergy = new TH1F("dua1HadEnergy", "dau1HadEnergy", 200, -0.1, 19.9); - Events.Project("dua1HadEnergy", "zGoldenDau1MuEnergyHad", cut_zGolden ); - dau1HadEnergy->Write(); - delete dau1HadEnergy; - - TH1F * dau2HadEnergy = new TH1F("dua2HadEnergy", "dau2HadEnergy", 200, -0.1, 19.9); - Events.Project("dua2HadEnergy", "zGoldenDau2MuEnergyHad", cut_zGolden ); - dau2HadEnergy->Write(); - delete dau2HadEnergy; - - - - - TH2F * MuChambersVsMuMatches = new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zGoldenDau1NofMuChambers:zGoldenDau1NofMuMatches", cut_zGolden); - Events.Project("hh2", "zGoldenDau2NofMuChambers:zGoldenDau2NofMuMatches", cut_zGolden); - - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->Write(); - MuChambersVsMuMatches->SetDrawOption("Box"); - // MuChambersVsMuMatches->Draw("BOX"); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - TDirectory * dir = output_file->mkdir("TrkPlots"); - dir->cd(); - - - - /* TH1F * nofHitTrk = new TH1F("nofHitTrk", "nofHitTrk", 100, -0.5, 99.5); - Events.Project("nofHitTrk", "zMuTrkDau2NofHitTk", cut_zMuTrk ); - nofHitTrk->Write(); - delete nofHitTrk; - */ - - TH1F * trkChi2 = new TH1F("trkChi2", "trkChi2", 100, -0.5, 99.5); - Events.Project("trkChi2", "zMuTrkDau2Chi2", cut_zMuTrk ); - trkChi2->Write(); - delete trkChi2; - - - output_file->cd("/"); - - - - TDirectory * dir = output_file->mkdir("StaPlots"); - dir->cd(); - - // sta as zDaudxyFromBS=-1 by construction.... - - TH1F * staNofMuCh = new TH1F("staNofMuCh", "staNofMuCh", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuCh", "zMuStaDau1NofMuChambers", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuChambers", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuCh->Add(h2); - staNofMuCh->Write(); - delete staNofMuCh; - delete h2; - - TH1F * staNofMuMatches = new TH1F("staNofMuMatches", "staNofMuMatches", 20, -0.5, 19.5); - TH1F * h2 = new TH1F("h2", "h2", 20, -0.5, 19.5); - Events.Project("staNofMuMatches", "zMuStaDau1NofMuMatches", cut_zMuSta + "zMuStaDau1dxyFromBS==-1" ); - Events.Project("h2", "zMuStaDau2NofMuMatches", cut_zMuSta + "zMuStaDau2dxyFromBS==-1" ); - staNofMuMatches->Add(h2); - staNofMuMatches->Write(); - delete staNofMuMatches; - delete h2; - - TH2F * MuChambersVsMuMatches= new TH2F("MuChambersVsMuMatches", "MuChambersVsMuMatches", 21, -0.5, 20.5, 21, -0.5, 20.5); - TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events.Project("MuChambersVsMuMatches", "zMuStaDau1NofMuChambers:zMuStaDau1NofMuMatches", cut_zMuSta); - Events.Project("hh2", "zMuStaDau2NofMuChambers:zMuStaDau2NofMuMatches", cut_zMuSta); - MuChambersVsMuMatches->Add(hh2); - MuChambersVsMuMatches->SetDrawOption("Box"); - MuChambersVsMuMatches->Write(); - delete MuChambersVsMuMatches; - delete hh2; - output_file->cd("/"); - - // isolations... - TDirectory * dir = output_file->mkdir("IsoPlots"); - dir->cd(); - - - TH1F * TrkIsoPt20= new TH1F("TrkIsoPt20", "TrkIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1TrkIso" , "zGoldenDau2Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>20" ); - TrkIsoPt20->Add(h2); - TrkIsoPt20->Write(); - delete TrkIsoPt20; - delete h2; - - TH1F * EcalIsoPt20 = new TH1F("EcalIsoPt20", "EcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>20" ); - EcalIsoPt20->Add(h2); - EcalIsoPt20->Write(); - delete EcalIsoPt20; - delete h2; - - TH1F * HcalIsoPt20 = new TH1F("HcalIsoPt20", "HcalIsoPt20", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt20", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>20"); - HcalIsoPt20->Add(h2); - HcalIsoPt20->Write(); - delete HcalIsoPt20; - delete h2; - - TH1F * TrkIsoPt15= new TH1F("TrkIsoPt15", "TrkIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1TrkIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2TrkIso", "zGoldenDau2Pt>15" ); - TrkIsoPt15->Add(h2); - TrkIsoPt15->Write(); - delete TrkIsoPt15; - delete h2; - - TH1F * EcalIsoPt15 = new TH1F("EcalIsoPt15", "EcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1EcalIso" , "zGoldenDau1Pt>20"); - Events.Project("h2", "zGoldenDau2EcalIso", "zGoldenDau2Pt>15" ); - EcalIsoPt15->Add(h2); - - EcalIsoPt15->Write(); - delete EcalIsoPt15; - delete h2; - - TH1F * HcalIsoPt15 = new TH1F("HcalIsoPt15", "HcalIsoPt15", 200, 0, 20); - TH1F * h2 = new TH1F("h2", "h2", 200, 0, 20); - Events.Project("TkIsoPt15", "zGoldenDau1HcalIso" , "zGoldenDau1Pt>20" ); - Events.Project("h2", "zGoldenDau2HcalIso" , "zGoldenDau2Pt>15"); - HcalIsoPt15->Add(h2); - - HcalIsoPt15->Write(); - delete HcalIsoPt15; - delete h2; - output_file->cd("/"); - - - - output_file->Close(); - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/pulls.C b/ElectroWeakAnalysis/ZMuMu/test/macros/pulls.C deleted file mode 100644 index f9ee37c79d06f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/pulls.C +++ /dev/null @@ -1,93 +0,0 @@ -/*************************/ -/* */ -/* author: Pasquale Noli */ -/* INFN Naples */ -/* macro to save the eps */ -/* of pulls */ -/* */ -/*************************/ - -{ - TFile *f = TFile::Open("fitResult.root"); - TH1D frameYield("frameYield", "Yield", 100, -10, 10); - TH1D frameTrk("frameTrk", "track eff.", 100, -10, 10); - TH1D frameSa("frameSa", "stand-alone eff.", 100, -10, 10); - TH1D frameIso("frameIso", "isolation eff.", 100, -10, 10); - TH1D frameHlt("frameHlt", "HLT eff.", 100, -10, 10); - TH1D frameErrYield("frameErrYield", "Err Yield", 100, 0, 100); - TH1D frameErrTrk("frameErrTrk", "Err track eff.", 100, 0, .01); - TH1D frameErrSa("frameErrSa", "Err stand-alone eff.", 100, 0, .01); - TH1D frameErrIso("frameErrIso", "Err isolation eff.", 100, 0, .01); - TH1D frameErrHlt("frameErrHlt", "Err HLT eff.", 100, 0, .01); - TH1D frameChi2("frameChi2", "chi2", 100, 0, 10); - - tree->Project("frameYield","(Y-Y_true)/dY", "abs((Y - Y_true)/dY)>5.e-3"); - tree->Project("frameTrk","(Tk-Tk_true)/dTk", "abs((Tk-Tk_true)/dTk)>5.e-3"); - tree->Project("frameSa","(Sa-Sa_true)/dSa", "abs((Sa-Sa_true)/dSa)>5.e-3"); - tree->Project("frameIso", "(Iso-Iso_true)/dIso", "abs((Iso-Iso_true)/dIso)>5.e-3"); - tree->Project("frameHlt", "(Hlt-Hlt_true)/dHlt", "abs((Hlt-Hlt_true)/dHlt)>5.e-3"); - - tree->Project("frameErrYield","dY", "abs(dY)>5.e-5"); - tree->Project("frameErrTrk","dTk", "abs(dTk)>5.e-5"); - tree->Project("frameErrSa","dSa", "abs(dSa)>5.e-5"); - tree->Project("frameErrIso", "dIso", "abs(dIso)>5.e-5"); - tree->Project("frameErrHlt", "dHlt", "abs(dHlt)>5.e-5"); - tree->Project("frameChi2", "chi2", "abs(chi2)>5.e-3"); - - - - frameYield.Fit("gaus"); - frameTrk.Fit("gaus"); - frameSa.Fit("gaus"); - frameIso.Fit("gaus"); - frameHlt.Fit("gaus"); - TCanvas *c1 = new TCanvas("c1","pulls",10,10,900,900); - gStyle->SetOptStat(1111111); - gStyle->SetStatFontSize(0.04); - gStyle->SetOptFit(kTRUE); - gStyle->SetFitFormat("5.3g"); - c1->Divide (3,2); - - c1->cd(1); - frameYield.Draw(); - - c1->cd(2); - frameTrk.Draw(); - - c1->cd(3); - - frameSa.Draw(); - c1->cd(4); - frameIso.Draw(); - c1->cd(5); - frameHlt.Draw(); - c1->Draw(); - c1->SaveAs("pulls.eps"); - - TCanvas *c2 = new TCanvas("c2","err",10,10,900,900); - c2->Divide (3,2); - c2->cd(1); - frameErrYield.Draw(); - - c2->cd(2); - frameErrTrk.Draw(); - - c2->cd(3); - - frameErrSa.Draw(); - c2->cd(4); - frameErrIso.Draw(); - c2->cd(5); - frameErrHlt.Draw(); - - - c2->cd(6); - frameChi2.Draw(); - c2->Draw(); - c2->SaveAs("Err.eps"); - - - - -} - diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/qualityStudies.C b/ElectroWeakAnalysis/ZMuMu/test/macros/qualityStudies.C deleted file mode 100644 index ce7083e9627c0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/qualityStudies.C +++ /dev/null @@ -1,1118 +0,0 @@ -#include "TFile.h" -#include "TH1F.h" -#include "TH2F.h" -#include "TTree.h" -#include "TAxis.h" -#include "TCanvas.h" -//#if !defined(__CINT__) && !defined(__MAKECINT__) -#include -#include -#include -//#endif - -void setGraphics(TH1F *histo){ - - histo->SetFillColor(kAzure+7); - histo->SetLineWidth(2); - histo->SetLineColor(kBlue+1); -} - -TH1F * getTH1Histo(TChain *Events, const char * name, const string varToPlot, unsigned int nBins, double fMin, double fMax, TCut cut) { - - TH1F * h = new TH1F(name, name, nBins, fMin, fMax); - // Events->Draw("zGoldenMass"); - Events->Project(name, varToPlot.c_str(), cut ); - cout<<"Number of entrie for "<< name << " : "<< h->GetEntries()<SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - - // zGolden plots - TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuPlots"); - dir->cd(); - - TH1F * zMass = getTH1Histo(Events, "zMass", "zGoldenMass", 200, 0, 200, cut_zGolden) ; - zMass->Write(); - delete zMass; - - //Quality checks - // Chi2 - - // quality variables - // caveat: I'm requiring isolations - TH1F * dauChi2 = getTH1Histo(Events, "dauChi2", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden) ; - TH1F * dau2Chi2 = getTH1Histo(Events, "dau2Chi2", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden) ; - dauChi2->Add(dau2Chi2); - dauChi2->Write(); - delete dauChi2; - delete dau2Chi2; - - - dir->cd(); - TH1F * zMassOneDauChi2Higher10 = getTH1Histo(Events, "zMassOneDauChi2Higher10", "zGoldenMass", 200, 0, 200, cut_zGolden +"zGoldenDau1Chi2>10 || zGoldenDau2Chi2>10") ; - zMassOneDauChi2Higher10->Write(); - delete zMassOneDauChi2Higher10; - - dir->cd(); - TH1F * zMassBothDauChi2Higher10 = getTH1Histo(Events, "zMassBothDauChi2Higher10", "zGoldenMass", 200, 0, 200, cut_zGolden +"zGoldenDau1Chi2>10 && zGoldenDau2Chi2>10") ; - zMassBothDauChi2Higher10->Write(); - delete zMassBothDauChi2Higher10; - - dir->cd(); - TH1F *dauChi2NofMuonHits0 = getTH1Histo(Events, "dauChi2NofMuonHits0", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1NofMuonHits==0") ; - TH1F *dau2Chi2NofMuonHits0 = getTH1Histo(Events, "dau2Chi2NofMuonHits0", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2NofMuonHits==0") ; - dauChi2NofMuonHits0->Add(dau2Chi2NofMuonHits0); - dauChi2NofMuonHits0->Write(); - delete dauChi2NofMuonHits0; - delete dau2Chi2NofMuonHits0; - - - dir->cd(); - - TH1F *dauSaChi2NofSaMuonHits0 = getTH1Histo(Events, "dauSaChi2NofSaMuonHits0", "zGoldenDau1SaChi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1SaNofMuonHits==0") ; - TH1F *dau2SaChi2NofSaMuonHits0 = getTH1Histo(Events, "dau2SaChi2NofSaMuonHits0", "zGoldenDau2SaChi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2SaNofMuonHits==0") ; - dauSaChi2NofSaMuonHits0->Add(dau2SaChi2NofSaMuonHits0); - dauSaChi2NofSaMuonHits0->Write(); - delete dauSaChi2NofSaMuonHits0; - delete dau2SaChi2NofSaMuonHits0; - - - - TH1F *dauChi2NofStripHits0 = getTH1Histo(Events, "dauChi2NofStripHits0", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1NofStripHits<10") ; - TH1F *dau2Chi2NofStripHits0 = getTH1Histo(Events, "dau2Chi2NofStripHits0", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2NofStripHits<10") ; - dauChi2NofStripHits0->Add(dau2Chi2NofStripHits0); - dauChi2NofStripHits0->Write(); - //cout<<"Number of zCandidate with at least one daughter with Chi2 higher: "<GetEntries()<cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofStripHits = getTH1Histo(Events, "dauNofStripHits", "zGoldenDau1NofStripHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofStripHits = getTH1Histo(Events, "dau2NofStripHits", "zGoldenDau2NofStripHits", 100, 0, 100, cut_zGolden ) ; - dauNofStripHits->Add(dau2NofStripHits); - dauNofStripHits->Write(); - delete dauNofStripHits; - delete dau2NofStripHits; - - - dir->cd(); - TH1F * zMassBothDauNofStripsHitsLower10 = getTH1Histo(Events, "zMassBothDauNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofStripHits<10 && zGoldenDau2NofStripHits<10" ); - zMassBothDauNofStripsHitsLower10->Write(); - delete zMassBothDauNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauNofStripsHitsLower10 = getTH1Histo(Events, "zMassOneDauNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofStripHits<10 || zGoldenDau2NofStripHits<10" ); - zMassOneDauNofStripsHitsLower10->Write(); - delete zMassOneDauNofStripsHitsLower10; - - - -// Number of Strips Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauTrkNofStripHits = getTH1Histo(Events, "dauTrkNofStripHits", "zGoldenDau1TrkNofStripHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2TrkNofStripHits = getTH1Histo(Events, "dau2TrkNofStripHits", "zGoldenDau2TrkNofStripHits", 100, 0, 100, cut_zGolden ) ; - dauTrkNofStripHits->Add(dau2TrkNofStripHits); - dauTrkNofStripHits->Write(); - delete dauTrkNofStripHits; - delete dau2TrkNofStripHits; - - - dir->cd(); - TH1F * zMassBothDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassBothDauTrkNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofStripHits<10 && zGoldenDau2TrkNofStripHits<10" ); - zMassBothDauTrkNofStripsHitsLower10->Write(); - delete zMassBothDauTrkNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassOneDauTrkNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofStripHits<10 || zGoldenDau2TrkNofStripHits<10" ); - zMassOneDauTrkNofStripsHitsLower10->Write(); - delete zMassOneDauTrkNofStripsHitsLower10; - - - - - // Number of Pixel Hits for global track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofPixelHits = getTH1Histo(Events, "dauNofPixelHits", "zGoldenDau1NofPixelHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofPixelHits = getTH1Histo(Events, "dau2NofPixelHits", "zGoldenDau2NofPixelHits", 100, 0, 100, cut_zGolden ) ; - dauNofPixelHits->Add(dau2NofPixelHits); - dauNofPixelHits->Write(); - delete dauNofPixelHits; - delete dau2NofPixelHits; - - - dir->cd(); - TH1F * zMassBothDauNofPixelsHitsLower10 = getTH1Histo(Events, "zMassBothDauNofPixelsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofPixelHits<10 && zGoldenDau2NofPixelHits<10" ); - zMassBothDauNofPixelsHitsLower10->Write(); - delete zMassBothDauNofPixelsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauNofPixelsHitsLower10 = getTH1Histo(Events, "zMassOneDauNofPixelsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofPixelHits<10 || zGoldenDau2NofPixelHits<10" ); - zMassOneDauNofPixelsHitsLower10->Write(); - delete zMassOneDauNofPixelsHitsLower10; - - - - - // Number of Pixel Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauTrkNofPixelHits = getTH1Histo(Events, "dauTrkNofPixelHits", "zGoldenDau1TrkNofPixelHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2TrkNofPixelHits = getTH1Histo(Events, "dau2TrkNofPixelHits", "zGoldenDau2TrkNofPixelHits", 100, 0, 100, cut_zGolden ) ; - dauTrkNofPixelHits->Add(dau2TrkNofPixelHits); - dauTrkNofPixelHits->Write(); - delete dauTrkNofPixelHits; - delete dau2TrkNofPixelHits; - - - dir->cd(); - TH1F * zMassBothDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassBothDauTrkNofPixelsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofPixelHits<1 && zGoldenDau2TrkNofPixelHits<1" ); - zMassBothDauTrkNofPixelsHitsLower1->Write(); - delete zMassBothDauTrkNofPixelsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassOneDauTrkNofPixelsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofPixelHits<1 || zGoldenDau2TrkNofPixelHits<1" ); - zMassOneDauTrkNofPixelsHitsLower1->Write(); - delete zMassOneDauTrkNofPixelsHitsLower1; - - - - - - - - // Number of Muon Hits for global track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofMuonHits = getTH1Histo(Events, "dauNofMuonHits", "zGoldenDau1NofMuonHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofMuonHits = getTH1Histo(Events, "dau2NofMuonHits", "zGoldenDau2NofMuonHits", 100, 0, 100, cut_zGolden ) ; - dauNofMuonHits->Add(dau2NofMuonHits); - dauNofMuonHits->Write(); - delete dauNofMuonHits; - delete dau2NofMuonHits; - - - dir->cd(); - TH1F * zMassBothDauNofMuonsHitsLower1 = getTH1Histo(Events, "zMassBothDauNofMuonsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofMuonHits<1 && zGoldenDau2NofMuonHits<1" ); - zMassBothDauNofMuonsHitsLower1->Write(); - delete zMassBothDauNofMuonsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauNofMuonsHitsLower1 = getTH1Histo(Events, "zMassOneDauNofMuonsHitsLowe10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofMuonHits<1 || zGoldenDau2NofMuonHits<1" ); - zMassOneDauNofMuonsHitsLower1->Write(); - delete zMassOneDauNofMuonsHitsLower1; - - - - // Number of Muon Hits for outer track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauSaNofMuonHits = getTH1Histo(Events, "dauSaNofMuonHits", "zGoldenDau1SaNofMuonHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2SaNofMuonHits = getTH1Histo(Events, "dau2SaNofMuonHits", "zGoldenDau2SaNofMuonHits", 100, 0, 100, cut_zGolden ) ; - dauSaNofMuonHits->Add(dau2SaNofMuonHits); - dauSaNofMuonHits->Write(); - delete dauSaNofMuonHits; - delete dau2SaNofMuonHits; - - - dir->cd(); - TH1F * zMassBothDauSaNofMuonsHitsLower1 = getTH1Histo(Events, "zMassBothDauSaNofMuonsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1SaNofMuonHits<1 && zGoldenDau2SaNofMuonHits<1" ); - zMassBothDauSaNofMuonsHitsLower1->Write(); - delete zMassBothDauSaNofMuonsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauSaNofMuonsHitsLower1 = getTH1Histo(Events, "zMassOneDauSaNofMuonsHitsLowe10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1SaNofMuonHits<1 || zGoldenDau2SaNofMuonHits<1" ); - zMassOneDauSaNofMuonsHitsLower1->Write(); - delete zMassOneDauSaNofMuonsHitsLower1; - - - - - - // dxyFromBS - dir->cd(); - - TH1F *dauDxy = getTH1Histo(Events, "dauDxy", "zGoldenDau1dxyFromBS", 200, -1, 1, cut_zGolden ) ; - TH1F *dau2Dxy = getTH1Histo(Events, "dau2Dxy", "zGoldenDau2dxyFromBS", 200, -1, 1, cut_zGolden ) ; - dauDxy->Add(dau2Dxy); - dauDxy->Write(); - delete dauDxy; - delete dau2Dxy; - - - TH1F * zMassBothDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassBothDaudxyFromBSHigher0_2", "zGoldenMass", 200, -1, 1, cut_zGolden + "zGoldenDau1dxyFromBS>0.2 && zGoldenDau2dxyFromBS>0.2" ) ; - zMassBothDaudxyFromBSHigher0_2->Write(); - delete zMassBothDaudxyFromBSHigher0_2; - - - - dir->cd(); - TH1F * zMassOneDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassOneDaudxyFromBSHigher0_2", "zGoldenMass", 200, -1, 1, cut_zGolden + "zGoldenDau1dxyFromBS>0.2 || zGoldenDau2dxyFromBS>0.2" ) ; - zMassOneDaudxyFromBSHigher0_2->Write(); - delete zMassOneDaudxyFromBSHigher0_2; - - - // isTrackerMuon - dir->cd(); - TH1F * zMassBothDauNoTrackerMuon = getTH1Histo(Events, "zMassBothDauNoTrackerMuon", "zGoldenMass", 200, 0, 200, cut_zGolden + "zGoldenDau1TrackerMuonBit==0 && zGoldenDau2TrackerMuonBit==0"); - zMassBothDauNoTrackerMuon->Write(); - delete zMassBothDauNoTrackerMuon; - - dir->cd(); - TH1F * zMassOneDauNoTrackerMuon = getTH1Histo(Events, "zMassOneDauNoTrackerMuon", "zGoldenMass", 200, 0, 200, cut_zGolden + "zGoldenDau1TrackerMuonBit==0 || zGoldenDau2TrackerMuonBit==0"); - zMassOneDauNoTrackerMuon->Write(); - delete zMassOneDauNoTrackerMuon; - - - - // Eta distribution if MuonHits is zero - - dir->cd(); - TH1F * dauEtaNofMuonHits0 = getTH1Histo(Events, "dauEtaNofMuonHits0", "zGoldenDau1Eta", 200, -5, 5, cut_zGolden + "zGoldenDau1NofMuonHits==0" ); - TH1F * dau2EtaNofMuonHits0 = getTH1Histo(Events, "dau2EtaNofMuonHits0", "zGoldenDau2Eta", 200, -5, 5, cut_zGolden + "zGoldenDau2NofMuonHits==0" ); - dauEtaNofMuonHits0->Add(dau2EtaNofMuonHits0); - dauEtaNofMuonHits0->Write(); - delete dauEtaNofMuonHits0; - delete dau2EtaNofMuonHits0; - - - // Correlation study - - // *** Chi2 vs MuonHits *** - - dir->cd(); - TH2F * Chi2VsMuonHits = new TH2F("Chi2VsMuonHits", "Chi2VsMuonHits", 100, 0, 60, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsMuonHits", "zGoldenDau1Chi2:zGoldenDau1NofMuonHits", cut_zGolden); - Chi2VsMuonHits->SetDrawOption("Box"); - - Chi2VsMuonHits->Write(); - - delete Chi2VsMuonHits; - - - // *** Chi2 vs StripHits *** - - dir->cd(); - TH2F * Chi2VsStripHits = new TH2F("Chi2VsStripHits", "Chi2VsStripHits", 100, 0, 30, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsStripHits", "zGoldenDau1Chi2:zGoldenDau1NofStripHits", cut_zGolden); - Chi2VsStripHits->SetDrawOption("Box"); - - Chi2VsStripHits->Write(); - - delete Chi2VsStripHits; - - // *** MuonHits vs Eta *** - - dir->cd(); - TH2F * MuonHitsVsEta = new TH2F("MuonHitsVsEta", "MuonHitsVsEta", 100, -2.5, 2.5, 100, 0, 60); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("MuonHitsVsEta", "zGoldenDau1NofMuonHits:zGoldenDau1Eta", cut_zGolden); - MuonHitsVsEta->SetDrawOption("Box"); - - MuonHitsVsEta->Write(); - - delete MuonHitsVsEta; - - - output_file->cd("/"); - - - - - // output_file->Close(); - -} - - -void qualityStudiesZMuSta(TFile * output_file, TChain *Events){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - - // zzMuSta plots - TCut cut_zMuSta("zMuStaMass>60 && zMuStaMass<120 && zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1TrkIso< 3.0 && zMuStaDau2TrkIso < 3.0 && zMuStaDau1Eta<2.1 && zMuStaDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneStandAloneMuonPlots"); - dir->cd(); - - TH1F * zMass = getTH1Histo(Events, "zMass", "zMuStaMass", 200, 0, 200, cut_zMuSta) ; - zMass->Write(); - delete zMass; - - //Quality checks - // Chi2 - - // quality variables - // caveat: I'm requiring isolations - TH1F * dauChi2 = getTH1Histo(Events, "dauChi2", "zMuStaDau1Chi2", 1000, 0, 100, cut_zMuSta) ; - TH1F * dau2Chi2 = getTH1Histo(Events, "dau2Chi2", "zMuStaDau2Chi2", 1000, 0, 100, cut_zMuSta) ; - dauChi2->Add(dau2Chi2); - dauChi2->Write(); - delete dauChi2; - delete dau2Chi2; - - - dir->cd(); - TH1F * zMassOneDauChi2Higher10 = getTH1Histo(Events, "zMassOneDauChi2Higher10", "zMuStaMass", 200, 0, 200, cut_zMuSta +"zMuStaDau1Chi2>10 || zMuStaDau2Chi2>10") ; - zMassOneDauChi2Higher10->Write(); - delete zMassOneDauChi2Higher10; - - dir->cd(); - TH1F * zMassBothDauChi2Higher10 = getTH1Histo(Events, "zMassBothDauChi2Higher10", "zMuStaMass", 200, 0, 200, cut_zMuSta +"zMuStaDau1Chi2>10 && zMuStaDau2Chi2>10") ; - zMassBothDauChi2Higher10->Write(); - delete zMassBothDauChi2Higher10; - - dir->cd(); - TH1F *dauChi2NofMuonHits0 = getTH1Histo(Events, "dauChi2NofMuonHits0", "zMuStaDau1Chi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau1NofMuonHits==0") ; - TH1F *dau2Chi2NofMuonHits0 = getTH1Histo(Events, "dau2Chi2NofMuonHits0", "zMuStaDau2Chi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau2NofMuonHits==0") ; - dauChi2NofMuonHits0->Add(dau2Chi2NofMuonHits0); - dauChi2NofMuonHits0->Write(); - delete dauChi2NofMuonHits0; - delete dau2Chi2NofMuonHits0; - - - dir->cd(); - - TH1F *dauSaChi2NofSaMuonHits0 = getTH1Histo(Events, "dauSaChi2NofSaMuonHits0", "zMuStaDau1SaChi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau1SaNofMuonHits==0") ; - TH1F *dau2SaChi2NofSaMuonHits0 = getTH1Histo(Events, "dau2SaChi2NofSaMuonHits0", "zMuStaDau2SaChi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau2SaNofMuonHits==0") ; - dauSaChi2NofSaMuonHits0->Add(dau2SaChi2NofSaMuonHits0); - dauSaChi2NofSaMuonHits0->Write(); - delete dauSaChi2NofSaMuonHits0; - delete dau2SaChi2NofSaMuonHits0; - - - - TH1F *dauChi2NofStripHits0 = getTH1Histo(Events, "dauChi2NofStripHits0", "zMuStaDau1Chi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau1NofStripHits<10") ; - TH1F *dau2Chi2NofStripHits0 = getTH1Histo(Events, "dau2Chi2NofStripHits0", "zMuStaDau2Chi2", 1000, 0, 100, cut_zMuSta + "zMuStaDau2NofStripHits<10") ; - dauChi2NofStripHits0->Add(dau2Chi2NofStripHits0); - dauChi2NofStripHits0->Write(); - //cout<<"Number of zCandidate with at least one daughter with Chi2 higher: "<GetEntries()<cd(); - // caveat: I'm requiring isolations - - TH1F *dauGlbNofStripHits = getTH1Histo(Events, "dauGlbNofStripHits", "zMuStaDau1NofStripHits", 100, 0, 100, cut_zMuSta && "zMuStaDau1GlobalMuonBit==1" ) ; - TH1F *dau2NofStripHits = getTH1Histo(Events, "dau2NofStripHits", "zMuStaDau2NofStripHits", 100, 0, 100, cut_zMuSta && "zMuStaDau2GlobalMuonBit==1") ; - dauGlbNofStripHits->Add(dau2NofStripHits); - dauGlbNofStripHits->Write(); - delete dauGlbNofStripHits; - delete dau2NofStripHits; - - - - - - - - // Number of Muon Hits for global - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauGlbNofMuonHits = getTH1Histo(Events, "dauGlbNofMuonHits", "zMuStaDau1NofMuonHits", 100, 0, 100, cut_zMuSta && "zMuStaDau1GlobalMuonBit==1") ; - TH1F *dau2NofMuonHits = getTH1Histo(Events, "dau2NofMuonHits", "zMuStaDau2NofMuonHits", 100, 0, 100, cut_zMuSta && "zMuStaDau2GlobalMuonBit==1") ; - dauGlbNofMuonHits->Add(dau2NofMuonHits); - dauGlbNofMuonHits->Write(); - delete dauGlbNofMuonHits; - delete dau2NofMuonHits; - - - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauStaNofMuonHits = getTH1Histo(Events, "dauStaNofMuonHits", "zMuStaDau1SaNofMuonHits", 100, 0, 100, cut_zMuSta && "zMuStaDau1StandAloneBit==1" && "zMuStaDau1GlobalMuonBit==0") ; - TH1F *dau2NofMuonHits = getTH1Histo(Events, "dau2NofMuonHits", "zMuStaDau2SaNofMuonHits", 100, 0, 100, cut_zMuSta && "zMuStaDau2StandAloneBit==1" && "zMuStaDau2GlobalMuonBit==0" ) ; - dauStaNofMuonHits->Add(dau2NofMuonHits); - dauStaNofMuonHits->Write(); - delete dauStaNofMuonHits; - delete dau2NofMuonHits; - - - - - - - // dxyFromBS - dir->cd(); - - TH1F *dauDxy = getTH1Histo(Events, "dauDxy", "zMuStaDau1dxyFromBS", 200, -1, 1, cut_zMuSta ) ; - TH1F *dau2Dxy = getTH1Histo(Events, "dau2Dxy", "zMuStaDau2dxyFromBS", 200, -1, 1, cut_zMuSta ) ; - dauDxy->Add(dau2Dxy); - dauDxy->Write(); - delete dauDxy; - delete dau2Dxy; - - - TH1F * zMassBothDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassBothDaudxyFromBSHigher0_2", "zMuStaMass", 200, -1, 1, cut_zMuSta + "zMuStaDau1dxyFromBS>0.2 && zMuStaDau2dxyFromBS>0.2" ) ; - zMassBothDaudxyFromBSHigher0_2->Write(); - delete zMassBothDaudxyFromBSHigher0_2; - - - - dir->cd(); - TH1F * zMassOneDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassOneDaudxyFromBSHigher0_2", "zMuStaMass", 200, -1, 1, cut_zMuSta + "zMuStaDau1dxyFromBS>0.2 || zMuStaDau2dxyFromBS>0.2" ) ; - zMassOneDaudxyFromBSHigher0_2->Write(); - delete zMassOneDaudxyFromBSHigher0_2; - - - - // Eta distribution if MuonHits is zero - - dir->cd(); - TH1F * dauEtaNofMuonHits0 = getTH1Histo(Events, "dauEtaNofMuonHits0", "zMuStaDau1Eta", 200, -5, 5, cut_zMuSta + "zMuStaDau1NofMuonHits==0" ); - TH1F * dau2EtaNofMuonHits0 = getTH1Histo(Events, "dau2EtaNofMuonHits0", "zMuStaDau2Eta", 200, -5, 5, cut_zMuSta + "zMuStaDau2NofMuonHits==0" ); - dauEtaNofMuonHits0->Add(dau2EtaNofMuonHits0); - dauEtaNofMuonHits0->Write(); - delete dauEtaNofMuonHits0; - delete dau2EtaNofMuonHits0; - - - // Correlation study - - // *** Chi2 vs MuonHits *** - - dir->cd(); - TH2F * Chi2VsMuonHits = new TH2F("Chi2VsMuonHits", "Chi2VsMuonHits", 100, 0, 60, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsMuonHits", "zMuStaDau1Chi2:zMuStaDau1NofMuonHits", cut_zMuSta); - Chi2VsMuonHits->SetDrawOption("Box"); - - Chi2VsMuonHits->Write(); - - delete Chi2VsMuonHits; - - - // *** Chi2 vs StripHits *** - - dir->cd(); - TH2F * Chi2VsStripHits = new TH2F("Chi2VsStripHits", "Chi2VsStripHits", 100, 0, 30, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsStripHits", "zMuStaDau1Chi2:zMuStaDau1NofStripHits", cut_zMuSta); - Chi2VsStripHits->SetDrawOption("Box"); - - Chi2VsStripHits->Write(); - - delete Chi2VsStripHits; - - // *** MuonHits vs Eta *** - - dir->cd(); - TH2F * MuonHitsVsEta = new TH2F("MuonHitsVsEta", "MuonHitsVsEta", 100, -2.5, 2.5, 100, 0, 60); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("MuonHitsVsEta", "zMuStaDau1NofMuonHits:zMuStaDau1Eta", cut_zMuSta); - MuonHitsVsEta->SetDrawOption("Box"); - - MuonHitsVsEta->Write(); - - delete MuonHitsVsEta; - - - output_file->cd("/"); - - - - - // output_file->Close(); - -} - - - - -void qualityStudiesZGoldenNotIso(TFile * output_file, TChain *Events){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - - // zGolden plots - TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1TrkIso> 3.0 || zGoldenDau2TrkIso > 3.0 ) && zGoldenDau1Eta<2.1 && zGoldenDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("nonIsolatedZToMuMuPlots"); - dir->cd(); - - TH1F * zMass = getTH1Histo(Events, "zMass", "zGoldenMass", 200, 0, 200, cut_zGolden) ; - zMass->Write(); - delete zMass; - - //Quality checks - // Chi2 - - // quality variables - // caveat: I'm requiring isolations - TH1F * dauChi2 = getTH1Histo(Events, "dauChi2", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden) ; - TH1F * dau2Chi2 = getTH1Histo(Events, "dau2Chi2", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden) ; - dauChi2->Add(dau2Chi2); - dauChi2->Write(); - delete dauChi2; - delete dau2Chi2; - - - dir->cd(); - TH1F * zMassOneDauChi2Higher10 = getTH1Histo(Events, "zMassOneDauChi2Higher10", "zGoldenMass", 200, 0, 200, cut_zGolden +"zGoldenDau1Chi2>10 || zGoldenDau2Chi2>10") ; - zMassOneDauChi2Higher10->Write(); - delete zMassOneDauChi2Higher10; - - dir->cd(); - TH1F * zMassBothDauChi2Higher10 = getTH1Histo(Events, "zMassBothDauChi2Higher10", "zGoldenMass", 200, 0, 200, cut_zGolden +"zGoldenDau1Chi2>10 && zGoldenDau2Chi2>10") ; - zMassBothDauChi2Higher10->Write(); - delete zMassBothDauChi2Higher10; - - dir->cd(); - TH1F *dauChi2NofMuonHits0 = getTH1Histo(Events, "dauChi2NofMuonHits0", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1NofMuonHits==0") ; - TH1F *dau2Chi2NofMuonHits0 = getTH1Histo(Events, "dau2Chi2NofMuonHits0", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2NofMuonHits==0") ; - dauChi2NofMuonHits0->Add(dau2Chi2NofMuonHits0); - dauChi2NofMuonHits0->Write(); - delete dauChi2NofMuonHits0; - delete dau2Chi2NofMuonHits0; - - - dir->cd(); - - TH1F *dauSaChi2NofSaMuonHits0 = getTH1Histo(Events, "dauSaChi2NofSaMuonHits0", "zGoldenDau1SaChi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1SaNofMuonHits==0") ; - TH1F *dau2SaChi2NofSaMuonHits0 = getTH1Histo(Events, "dau2SaChi2NofSaMuonHits0", "zGoldenDau2SaChi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2SaNofMuonHits==0") ; - dauSaChi2NofSaMuonHits0->Add(dau2SaChi2NofSaMuonHits0); - dauSaChi2NofSaMuonHits0->Write(); - delete dauSaChi2NofSaMuonHits0; - delete dau2SaChi2NofSaMuonHits0; - - - - TH1F *dauChi2NofStripHits0 = getTH1Histo(Events, "dauChi2NofStripHits0", "zGoldenDau1Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau1NofStripHits<10") ; - TH1F *dau2Chi2NofStripHits0 = getTH1Histo(Events, "dau2Chi2NofStripHits0", "zGoldenDau2Chi2", 1000, 0, 100, cut_zGolden + "zGoldenDau2NofStripHits<10") ; - dauChi2NofStripHits0->Add(dau2Chi2NofStripHits0); - dauChi2NofStripHits0->Write(); - //cout<<"Number of zCandidate with at least one daughter with Chi2 higher: "<GetEntries()<cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofStripHits = getTH1Histo(Events, "dauNofStripHits", "zGoldenDau1NofStripHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofStripHits = getTH1Histo(Events, "dau2NofStripHits", "zGoldenDau2NofStripHits", 100, 0, 100, cut_zGolden ) ; - dauNofStripHits->Add(dau2NofStripHits); - dauNofStripHits->Write(); - delete dauNofStripHits; - delete dau2NofStripHits; - - - dir->cd(); - TH1F * zMassBothDauNofStripsHitsLower10 = getTH1Histo(Events, "zMassBothDauNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofStripHits<10 && zGoldenDau2NofStripHits<10" ); - zMassBothDauNofStripsHitsLower10->Write(); - delete zMassBothDauNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauNofStripsHitsLower10 = getTH1Histo(Events, "zMassOneDauNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofStripHits<10 || zGoldenDau2NofStripHits<10" ); - zMassOneDauNofStripsHitsLower10->Write(); - delete zMassOneDauNofStripsHitsLower10; - - - -// Number of Strips Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauTrkNofStripHits = getTH1Histo(Events, "dauTrkNofStripHits", "zGoldenDau1TrkNofStripHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2TrkNofStripHits = getTH1Histo(Events, "dau2TrkNofStripHits", "zGoldenDau2TrkNofStripHits", 100, 0, 100, cut_zGolden ) ; - dauTrkNofStripHits->Add(dau2TrkNofStripHits); - dauTrkNofStripHits->Write(); - delete dauTrkNofStripHits; - delete dau2TrkNofStripHits; - - - dir->cd(); - TH1F * zMassBothDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassBothDauTrkNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofStripHits<10 && zGoldenDau2TrkNofStripHits<10" ); - zMassBothDauTrkNofStripsHitsLower10->Write(); - delete zMassBothDauTrkNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassOneDauTrkNofStripsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofStripHits<10 || zGoldenDau2TrkNofStripHits<10" ); - zMassOneDauTrkNofStripsHitsLower10->Write(); - delete zMassOneDauTrkNofStripsHitsLower10; - - - - - // Number of Pixel Hits for global track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofPixelHits = getTH1Histo(Events, "dauNofPixelHits", "zGoldenDau1NofPixelHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofPixelHits = getTH1Histo(Events, "dau2NofPixelHits", "zGoldenDau2NofPixelHits", 100, 0, 100, cut_zGolden ) ; - dauNofPixelHits->Add(dau2NofPixelHits); - dauNofPixelHits->Write(); - delete dauNofPixelHits; - delete dau2NofPixelHits; - - - dir->cd(); - TH1F * zMassBothDauNofPixelsHitsLower10 = getTH1Histo(Events, "zMassBothDauNofPixelsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofPixelHits<10 && zGoldenDau2NofPixelHits<10" ); - zMassBothDauNofPixelsHitsLower10->Write(); - delete zMassBothDauNofPixelsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauNofPixelsHitsLower10 = getTH1Histo(Events, "zMassOneDauNofPixelsHitsLower10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofPixelHits<10 || zGoldenDau2NofPixelHits<10" ); - zMassOneDauNofPixelsHitsLower10->Write(); - delete zMassOneDauNofPixelsHitsLower10; - - - - - // Number of Pixel Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauTrkNofPixelHits = getTH1Histo(Events, "dauTrkNofPixelHits", "zGoldenDau1TrkNofPixelHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2TrkNofPixelHits = getTH1Histo(Events, "dau2TrkNofPixelHits", "zGoldenDau2TrkNofPixelHits", 100, 0, 100, cut_zGolden ) ; - dauTrkNofPixelHits->Add(dau2TrkNofPixelHits); - dauTrkNofPixelHits->Write(); - delete dauTrkNofPixelHits; - delete dau2TrkNofPixelHits; - - - dir->cd(); - TH1F * zMassBothDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassBothDauTrkNofPixelsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofPixelHits<1 && zGoldenDau2TrkNofPixelHits<1" ); - zMassBothDauTrkNofPixelsHitsLower1->Write(); - delete zMassBothDauTrkNofPixelsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassOneDauTrkNofPixelsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1TrkNofPixelHits<1 || zGoldenDau2TrkNofPixelHits<1" ); - zMassOneDauTrkNofPixelsHitsLower1->Write(); - delete zMassOneDauTrkNofPixelsHitsLower1; - - - - - - - - // Number of Muon Hits for global track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauNofMuonHits = getTH1Histo(Events, "dauNofMuonHits", "zGoldenDau1NofMuonHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2NofMuonHits = getTH1Histo(Events, "dau2NofMuonHits", "zGoldenDau2NofMuonHits", 100, 0, 100, cut_zGolden ) ; - dauNofMuonHits->Add(dau2NofMuonHits); - dauNofMuonHits->Write(); - delete dauNofMuonHits; - delete dau2NofMuonHits; - - - dir->cd(); - TH1F * zMassBothDauNofMuonsHitsLower1 = getTH1Histo(Events, "zMassBothDauNofMuonsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofMuonHits<1 && zGoldenDau2NofMuonHits<1" ); - zMassBothDauNofMuonsHitsLower1->Write(); - delete zMassBothDauNofMuonsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauNofMuonsHitsLower1 = getTH1Histo(Events, "zMassOneDauNofMuonsHitsLowe10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1NofMuonHits<1 || zGoldenDau2NofMuonHits<1" ); - zMassOneDauNofMuonsHitsLower1->Write(); - delete zMassOneDauNofMuonsHitsLower1; - - - - // Number of Muon Hits for outer track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dauSaNofMuonHits = getTH1Histo(Events, "dauSaNofMuonHits", "zGoldenDau1SaNofMuonHits", 100, 0, 100, cut_zGolden ) ; - TH1F *dau2SaNofMuonHits = getTH1Histo(Events, "dau2SaNofMuonHits", "zGoldenDau2SaNofMuonHits", 100, 0, 100, cut_zGolden ) ; - dauSaNofMuonHits->Add(dau2SaNofMuonHits); - dauSaNofMuonHits->Write(); - delete dauSaNofMuonHits; - delete dau2SaNofMuonHits; - - - dir->cd(); - TH1F * zMassBothDauSaNofMuonsHitsLower1 = getTH1Histo(Events, "zMassBothDauSaNofMuonsHitsLower1","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1SaNofMuonHits<1 && zGoldenDau2SaNofMuonHits<1" ); - zMassBothDauSaNofMuonsHitsLower1->Write(); - delete zMassBothDauSaNofMuonsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauSaNofMuonsHitsLower1 = getTH1Histo(Events, "zMassOneDauSaNofMuonsHitsLowe10","zGoldenMass", 200, 0, 200,cut_zGolden +"zGoldenDau1SaNofMuonHits<1 || zGoldenDau2SaNofMuonHits<1" ); - zMassOneDauSaNofMuonsHitsLower1->Write(); - delete zMassOneDauSaNofMuonsHitsLower1; - - - - - - // dxyFromBS - dir->cd(); - - TH1F *dauDxy = getTH1Histo(Events, "dauDxy", "zGoldenDau1dxyFromBS", 200, -1, 1, cut_zGolden ) ; - TH1F *dau2Dxy = getTH1Histo(Events, "dau2Dxy", "zGoldenDau2dxyFromBS", 200, -1, 1, cut_zGolden ) ; - dauDxy->Add(dau2Dxy); - dauDxy->Write(); - delete dauDxy; - delete dau2Dxy; - - - TH1F * zMassBothDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassBothDaudxyFromBSHigher0_2", "zGoldenMass", 200, -1, 1, cut_zGolden + "zGoldenDau1dxyFromBS>0.2 && zGoldenDau2dxyFromBS>0.2" ) ; - zMassBothDaudxyFromBSHigher0_2->Write(); - delete zMassBothDaudxyFromBSHigher0_2; - - - - dir->cd(); - TH1F * zMassOneDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassOneDaudxyFromBSHigher0_2", "zGoldenMass", 200, -1, 1, cut_zGolden + "zGoldenDau1dxyFromBS>0.2 || zGoldenDau2dxyFromBS>0.2" ) ; - zMassOneDaudxyFromBSHigher0_2->Write(); - delete zMassOneDaudxyFromBSHigher0_2; - - - // isTrackerMuon - dir->cd(); - TH1F * zMassBothDauNoTrackerMuon = getTH1Histo(Events, "zMassBothDauNoTrackerMuon", "zGoldenMass", 200, 0, 200, cut_zGolden + "zGoldenDau1TrackerMuonBit==0 && zGoldenDau2TrackerMuonBit==0"); - zMassBothDauNoTrackerMuon->Write(); - delete zMassBothDauNoTrackerMuon; - - dir->cd(); - TH1F * zMassOneDauNoTrackerMuon = getTH1Histo(Events, "zMassOneDauNoTrackerMuon", "zGoldenMass", 200, 0, 200, cut_zGolden + "zGoldenDau1TrackerMuonBit==0 || zGoldenDau2TrackerMuonBit==0"); - zMassOneDauNoTrackerMuon->Write(); - delete zMassOneDauNoTrackerMuon; - - - - // Eta distribution if MuonHits is zero - - dir->cd(); - TH1F * dauEtaNofMuonHits0 = getTH1Histo(Events, "dauEtaNofMuonHits0", "zGoldenDau1Eta", 200, -5, 5, cut_zGolden + "zGoldenDau1NofMuonHits==0" ); - TH1F * dau2EtaNofMuonHits0 = getTH1Histo(Events, "dau2EtaNofMuonHits0", "zGoldenDau2Eta", 200, -5, 5, cut_zGolden + "zGoldenDau2NofMuonHits==0" ); - dauEtaNofMuonHits0->Add(dau2EtaNofMuonHits0); - dauEtaNofMuonHits0->Write(); - delete dauEtaNofMuonHits0; - delete dau2EtaNofMuonHits0; - - - // Correlation study - - // *** Chi2 vs MuonHits *** - - dir->cd(); - TH2F * Chi2VsMuonHits = new TH2F("Chi2VsMuonHits", "Chi2VsMuonHits", 100, 0, 60, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsMuonHits", "zGoldenDau1Chi2:zGoldenDau1NofMuonHits", cut_zGolden); - Chi2VsMuonHits->SetDrawOption("Box"); - - Chi2VsMuonHits->Write(); - - delete Chi2VsMuonHits; - - - // *** Chi2 vs StripHits *** - - dir->cd(); - TH2F * Chi2VsStripHits = new TH2F("Chi2VsStripHits", "Chi2VsStripHits", 100, 0, 30, 100, 0, 6); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("Chi2VsStripHits", "zGoldenDau1Chi2:zGoldenDau1NofStripHits", cut_zGolden); - Chi2VsStripHits->SetDrawOption("Box"); - - Chi2VsStripHits->Write(); - - delete Chi2VsStripHits; - - // *** MuonHits vs Eta *** - - dir->cd(); - TH2F * MuonHitsVsEta = new TH2F("MuonHitsVsEta", "MuonHitsVsEta", 100, -2.5, 2.5, 100, 0, 60); - //TH2F * hh2= new TH2F("hh2", "hh2", 21, -0.5, 20.5, 21, -0.5, 20.5); - Events->Project("MuonHitsVsEta", "zGoldenDau1NofMuonHits:zGoldenDau1Eta", cut_zGolden); - MuonHitsVsEta->SetDrawOption("Box"); - - MuonHitsVsEta->Write(); - - delete MuonHitsVsEta; - - - output_file->cd("/"); - - - - - // output_file->Close(); - -} - - - - - -void qualityStudiesZGlbTrk(TFile *output_file, TChain * Events){ - - gStyle->SetOptStat(); - gROOT->SetStyle("Plain"); - using namespace std; - - - - - // zMuTrk plots - TCut cut_zMuTrk("zMuTrkMass>60 && zMuTrkMass<120 && zMuTrkDau1Pt> 20 && zMuTrkDau2Pt>20 && zMuTrkDau1TrkIso< 3.0 && zMuTrkDau2TrkIso < 3.0 && zMuTrkDau1Eta<2.1 && zMuTrkDau2Eta<2.1"); - TDirectory * dir = output_file->mkdir("goodZToMuMuOneTrackPlots"); - dir->cd(); - - - - TH1F * zMass = getTH1Histo(Events, "zMass", "zMuTrkMass", 200, 0, 200, cut_zMuTrk) ; - zMass->Write(); - delete zMass; - - //Quality checks - // Chi2 - - // quality variables - // caveat: I'm requiring isolations - TH1F * dau1Chi2 = getTH1Histo(Events, "dau1Chi2", "zMuTrkDau1Chi2", 1000, 0, 100, cut_zMuTrk) ; - TH1F * dau2Chi2 = getTH1Histo(Events, "dau2Chi2", "zMuTrkDau2Chi2", 1000, 0, 100, cut_zMuTrk) ; - - dau1Chi2->Write(); - dau2Chi2->Write(); - delete dau1Chi2; - delete dau2Chi2; - - - dir->cd(); - TH1F * zMassDau1Chi2Higher10 = getTH1Histo(Events, "zMassDau1Chi2Higher10", "zMuTrkMass", 200, 0, 200, cut_zMuTrk +"zMuTrkDau1Chi2>10") ; - zMassDau1Chi2Higher10->Write(); - delete zMassDau1Chi2Higher10; - - dir->cd(); - TH1F * zMassOneDauChi2Higher10 = getTH1Histo(Events, "zMassOneDauChi2Higher10", "zMuTrkMass", 200, 0, 200, cut_zMuTrk +"zMuTrkDau1Chi2>10 || zMuTrkDau2Chi2>10") ; - zMassOneDauChi2Higher10->Write(); - delete zMassOneDauChi2Higher10; - - dir->cd(); - TH1F * zMassBothDauChi2Higher10 = getTH1Histo(Events, "zMassBothDauChi2Higher10", "zMuTrkMass", 200, 0, 200, cut_zMuTrk +"zMuTrkDau1Chi2>10 && zMuTrkDau2Chi2>10") ; - zMassBothDauChi2Higher10->Write(); - delete zMassBothDauChi2Higher10; - - - dir->cd(); - TH1F *dau1Chi2NofMuonHits0 = getTH1Histo(Events, "dau1Chi2NofMuonHits0", "zMuTrkDau1Chi2", 1000, 0, 100, cut_zMuTrk + "zMuTrkDau1NofMuonHits==0") ; - dau1Chi2NofMuonHits0->Write(); - delete dau1Chi2NofMuonHits0; - - - - dir->cd(); - TH1F *dau1SaChi2NofSaMuonHits0 = getTH1Histo(Events, "dau1SaChi2NofSaMuonHits0", "zMuTrkDau1SaChi2", 1000, 0, 100, cut_zMuTrk + "zMuTrkDau1SaNofMuonHits==0") ; - dau1SaChi2NofSaMuonHits0->Write(); - delete dau1SaChi2NofSaMuonHits0; - - - - TH1F *dau1Chi2NofStripHits0 = getTH1Histo(Events, "dau1Chi2NofStripHits0", "zMuTrkDau1Chi2", 1000, 0, 100, cut_zMuTrk + "zMuTrkDau1TrkNofStripHits<10") ; - dau1Chi2NofStripHits0->Write(); - delete dau1Chi2NofStripHits0; - - - - - - - - -// Number of Strips Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dau1TrkNofStripHits = getTH1Histo(Events, "dau1TrkNofStripHits", "zMuTrkDau1TrkNofStripHits", 100, 0, 100, cut_zMuTrk ) ; - TH1F *dau2TrkNofStripHits = getTH1Histo(Events, "dau2TrkNofStripHits", "zMuTrkDau2TrkNofStripHits", 100, 0, 100, cut_zMuTrk ) ; - dau1TrkNofStripHits->Write(); - dau2TrkNofStripHits->Write(); - delete dau2TrkNofStripHits; - delete dau2TrkNofStripHits; - - -dir->cd(); - TH1F * zMassDau1TrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassDau1TrkNofStripsHitsLower10","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofStripHits<10" ); - zMassDau1TrkNofStripsHitsLower10->Write(); - delete zMassDau1TrkNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassBothDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassBothDauTrkNofStripsHitsLower10","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofStripHits<10 && zMuTrkDau2TrkNofStripHits<10" ); - zMassBothDauTrkNofStripsHitsLower10->Write(); - delete zMassBothDauTrkNofStripsHitsLower10; - - dir->cd(); - TH1F * zMassOneDauTrkNofStripsHitsLower10 = getTH1Histo(Events, "zMassOneDauTrkNofStripsHitsLower10","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofStripHits<10 || zMuTrkDau2TrkNofStripHits<10" ); - zMassOneDauTrkNofStripsHitsLower10->Write(); - delete zMassOneDauTrkNofStripsHitsLower10; - - - - - - - // Number of Pixel Hits for inner track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dau1TrkNofPixelHits = getTH1Histo(Events, "dau1TrkNofPixelHits", "zMuTrkDau1TrkNofPixelHits", 100, 0, 100, cut_zMuTrk ) ; - TH1F *dau2TrkNofPixelHits = getTH1Histo(Events, "dau2TrkNofPixelHits", "zMuTrkDau1TrkNofPixelHits", 100, 0, 100, cut_zMuTrk ) ; - dau1TrkNofPixelHits->Write(); - dau2TrkNofPixelHits->Write(); - delete dau1TrkNofPixelHits; - delete dau2TrkNofPixelHits; - - - - dir->cd(); - TH1F * zMassDau1TrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassDau1TrkNofPixelsHitsLower1","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofPixelHits<1" ); - zMassDau1TrkNofPixelsHitsLower1->Write(); - delete zMassDau1TrkNofPixelsHitsLower1; - - dir->cd(); - TH1F * zMassBothDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassBothDauTrkNofPixelsHitsLower1","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofPixelHits<1 && zMuTrkDau2TrkNofPixelHits<1" ); - zMassBothDauTrkNofPixelsHitsLower1->Write(); - delete zMassBothDauTrkNofPixelsHitsLower1; - - dir->cd(); - TH1F * zMassOneDauTrkNofPixelsHitsLower1 = getTH1Histo(Events, "zMassOneDauTrkNofPixelsHitsLower1","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1TrkNofPixelHits<1 || zMuTrkDau2TrkNofPixelHits<1" ); - zMassOneDauTrkNofPixelsHitsLower1->Write(); - delete zMassOneDauTrkNofPixelsHitsLower1; - - - - - - - // Number of Muon Hits for global track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dau1NofMuonHits = getTH1Histo(Events, "dau1NofMuonHits", "zMuTrkDau1NofMuonHits", 100, 0, 100, cut_zMuTrk ) ; - dau1NofMuonHits->Write(); - delete dau1NofMuonHits; - - - dir->cd(); - TH1F * zMassDau1NofMuonsHitsLower1 = getTH1Histo(Events, "zMassDau1NofMuonsHitsLower1","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1NofMuonHits<1 " ); - zMassDau1NofMuonsHitsLower1->Write(); - delete zMassDau1NofMuonsHitsLower1; - - - // Number of Muon Hits for outer track - dir->cd(); - // caveat: I'm requiring isolations - - TH1F *dau1SaNofMuonHits = getTH1Histo(Events, "dau1SaNofMuonHits", "zMuTrkDau1SaNofMuonHits", 100, 0, 100, cut_zMuTrk ) ; - dau1SaNofMuonHits->Write(); - delete dau1SaNofMuonHits; - - - - dir->cd(); - TH1F * zMassDau1SaNofMuonsHitsLower1 = getTH1Histo(Events, "zMassDau1SaNofMuonsHitsLower1","zMuTrkMass", 200, 0, 200,cut_zMuTrk +"zMuTrkDau1SaNofMuonHits<1 " ); - zMassDau1SaNofMuonsHitsLower1->Write(); - delete zMassDau1SaNofMuonsHitsLower1; - - - - // dxyFromBS - dir->cd(); - - TH1F *dauDxy = getTH1Histo(Events, "dauDxy", "zMuTrkDau1dxyFromBS", 200, -1, 1, cut_zMuTrk ) ; - TH1F *dau2Dxy = getTH1Histo(Events, "dau2Dxy", "zMuTrkDau2dxyFromBS", 200, -1, 1, cut_zMuTrk ) ; - dauDxy->Add(dau2Dxy); - dauDxy->Write(); - delete dauDxy; - delete dau2Dxy; - - - TH1F * zMassBothDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassBothDaudxyFromBSHigher0_2", "zMuTrkMass", 200, -1, 1, cut_zMuTrk + "zMuTrkDau1dxyFromBS>0.2 && zMuTrkDau2dxyFromBS>0.2" ) ; - zMassBothDaudxyFromBSHigher0_2->Write(); - delete zMassBothDaudxyFromBSHigher0_2; - - - - dir->cd(); - TH1F * zMassOneDaudxyFromBSHigher0_2 = getTH1Histo(Events, "zMassOneDaudxyFromBSHigher0_2", "zMuTrkMass", 200, -1, 1, cut_zMuTrk + "zMuTrkDau1dxyFromBS>0.2 || zMuTrkDau2dxyFromBS>0.2" ) ; - zMassOneDaudxyFromBSHigher0_2->Write(); - delete zMassOneDaudxyFromBSHigher0_2; - - - // isTrackerMuon - dir->cd(); - - - TH1F * zMassDau1NoTrackerMuon = getTH1Histo(Events, "zMassDau1NoTrackerMuon", "zMuTrkMass", 200, 0, 200, cut_zMuTrk + "zMuTrkDau1TrackerMuonBit==0 "); - zMassDau1NoTrackerMuon->Write(); - delete zMassDau1NoTrackerMuon; - - - - // Eta distribution if MuonHits is zero - - dir->cd(); - TH1F * dau1EtaNofMuonHits0 = getTH1Histo(Events, "dau1EtaNofMuonHits0", "zMuTrkDau1Eta", 200, -5, 5, cut_zMuTrk + "zMuTrkDau1NofMuonHits==0" ); - dau1EtaNofMuonHits0->Write(); - delete dau1EtaNofMuonHits0; - - - - -} - - - - - - - - -void qualityStudies(){ - -TChain * Events= new TChain("Events"); - - int nFiles = 220; - - for(int j=1;jAdd(name.c_str()); - } - -TFile * output_file = TFile::Open("histo_qcd.root", "RECREATE"); -qualityStudiesZGolden(output_file, Events); - qualityStudiesZGoldenNotIso(output_file, Events); - qualityStudiesZGlbTrk(output_file, Events); - qualityStudiesZMuSta(output_file, Events); - output_file->Close(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/runToyMC.csh b/ElectroWeakAnalysis/ZMuMu/test/macros/runToyMC.csh deleted file mode 100755 index 16f9c3f75878c..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/runToyMC.csh +++ /dev/null @@ -1,47 +0,0 @@ -######################### -# # -# author: Pasquale Noli # -# INFN Naples # -# script to run ToyMC # -# # -######################### - -#!/bin/csh -if(-e outputToy) rm -rf outputToy -mkdir outputToy -set i=1 -set iterations = $1 -set nz = $2 -set eff_trk = $3 -set eff_sa = $4 -set eff_iso = $5 -set eff_hlt = $6 -set bkg_scale = $7 -set max_mass = $8 -rm -f fitResult.txt -echo "# Yield eff_trk eff_sa eff_iso eff_hlt" > fitResult.txt -echo "$nz $eff_trk $eff_sa $eff_iso $eff_hlt" >> fitResult.txt -while ($i <= $iterations) - echo $i - toyMonteCarlo -p Analysis_10pb.root -n 1 -s $i -y $nz -T $eff_trk -S $eff_sa -I $eff_iso -H $eff_hlt -f $bkg_scale -M $max_mass - # -S 1 -T 1 -H 1 - mergeTFileServiceHistograms -i zmm_1.root bkg_1.root - mv out.root analysis_$i.root - zChi2Fit -c -M 120 analysis_$i.root >& log_fit_$i.txt - #mv zmm_1.root zmm_$i.root - #zFitToyMc zmm_1.root >& log_fit_$i.txt - #mv analysis_$i.root outputToy - #mv zmm_$i.root outputToy - mv analysis_$i.root outputToy - mv *eps outputToy - mv log_fit_$i.txt outputToy - set i=`expr $i + 1` -end - root -l -q create_tree_for_toyMC.C - root -l -q pulls.C - mv fitResult.root outputToy - mv fitResult.txt outputToy - mv pulls.eps outputToy -echo "Pulls are saved into pulls.eps" - -#gv pulls.eps diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/start_toy.csh b/ElectroWeakAnalysis/ZMuMu/test/macros/start_toy.csh deleted file mode 100644 index 21f87ef3c08e8..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/start_toy.csh +++ /dev/null @@ -1,28 +0,0 @@ -######################### -# # -# author: Pasquale Noli # -# INFN Naples # -# script to run ToyMC # -# # -######################### - -#!/bin/csh -rm fitResalt* -mkdir outputToy -set i=1 -while ($i <= $1) - echo $i - toyMonteCarlo -n 1 -s $i - mergeTFileServiceHistograms -o analysis_$i.root -i zmm_1.root bkg_1.root - zFitToyMc analysis_$i.root >& log_fit_$i.txt - rm -f analysis_$i.root - mv *ps outputToy - mv log_fit_$i.txt outputToy - set i=`expr $i + 1` -end - root -l -q create_tree_for_toyMC.C - root -l -q pulls.C - mv pulls.eps outputToy -echo "Pulls are saved into pulls.eps" - -gv outputToy/pulls.eps diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/testToyMC_crab.sh b/ElectroWeakAnalysis/ZMuMu/test/macros/testToyMC_crab.sh deleted file mode 100755 index cbd7a29a13cd8..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/testToyMC_crab.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -######################### -# # -# author: Pasquale Noli # -# INFN Naples # -# script to run ToyMC # -# # -######################### - -if [ -e outputToy ]; then - rm -rf outputToy -fi -mkdir outputToy - -i="$1" -if [ "$i" = "" ]; then - echo "Error: missing job index" - exit 1; -fi -echo "max events from CRAB: $MaxEvents" -n="$MaxEvents" -if [ "$n" = "" ]; then - n="$2" -fi -if [ "$n" = "" ]; then - echo "Error: missing number of experiments" - exit 2; -fi - -iterations=1000 -nz=5077000 -eff_trk=0.75 -eff_sa=0.75 -eff_iso=0.75 -eff_hlt=0.75 -bkg_scale=100 -max_mass=140 -rm -f fitResult.txt -echo "# Yield eff_trk eff_sa eff_iso eff_hlt" > fitResult.txt -echo "$nz $eff_trk $eff_sa $eff_iso $eff_hlt" >> fitResult.txt -j=`expr \( $i - 1 \) \* $n + 1` -jmax=`expr $j + $n - 1` -echo "job number: #$i with $n experiments ($j to $jmax)" -while [ $j -le $jmax ]; do -echo "running toy MC : ./toyMonteCarlo -n 1 -s $j -y $nz -T $eff_trk -S $eff_sa -I $eff_iso -H $eff_hlt -f $bkg_scale -M $max_mass" - ./toyMonteCarlo -n 1 -s $j -y $nz -T $eff_trk -S $eff_sa -I $eff_iso -H $eff_hlt -f $bkg_scale -M $max_mass - echo "merging histograms: mergeTFileServiceHistograms -o analysis_$j.root -i zmm_1.root bkg_1.root" - mergeTFileServiceHistograms -o analysis_$j.root -i zmm_1.root bkg_1.root - echo "performing fit: zFitToyMc -M 140 analysis_$j.root >& log_fit_$j.txt" - ./zFitToyMc -M 140 analysis_$j.root >& log_fit_$j.txt - mv analysis_$j.root outputToy - mv *eps outputToy - mv log_fit_$j.txt outputToy - j=`expr $j + 1` -done -echo "pack the results" -tar cvfz outputToy.tgz outputToy/ - diff --git a/ElectroWeakAnalysis/ZMuMu/test/macros/toyRooFitAnalyze.C b/ElectroWeakAnalysis/ZMuMu/test/macros/toyRooFitAnalyze.C deleted file mode 100644 index 8a972280f9269..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/macros/toyRooFitAnalyze.C +++ /dev/null @@ -1,99 +0,0 @@ -//how to read the fit result in root after running several toys...., to be run interactively: root toyTooFitAnalyze.C..... -{ -#include "RooFitResult.h" -#include "TCanvas.h" -#include "TH1.h" -#include "TFile.h" -#include "RooAbsReal.h" -//#include - - - -using namespace RooFit; - int Lumi = 45; - double Y_true= 17000; - // 17000 for L= 45, - double emt_true= 0.998257; - double ems_true= 0.989785; - double emmNotIso_true= 0.982977; - double emmHlt_true= 0.916176; - - -TCanvas c1; TH1D h_Yield("h_Yield", "h_Yield", 30, -5, 5); -TH1D h_emt("h_emt", "h_emt", 30, -5, 5); -TH1D h_ems("h_ems", "h_ems", 30, -5, 5); -TH1D h_emmNotIso("h_emmNotIso", "h_emmNotIso", 30, -5, 5); -TH1D h_emmHlt("h_emmHlt", "h_emmHlt", 30, -5, 5); - -TH1D h_chi2("h_chi2", "h_chi2", 30, 0, 5); - -TF1 f1("f1","gaus",-3,3); -f1.SetLineColor(kRed); - -for (int i =1; i <= 1000; i++){ -TFile f(Form("outputToy_%d./out_%d.root",Lumi,i)); - if (f.IsZombie()) cout << "file not exist " << endl; - if (f.IsZombie()) continue; -RooFitResult* r = gDirectory->Get("totChi2;1"); - //r->floatParsFinal().Print("s"); - // without s return a list, can we get the number? - //RooFitResult* r = gDirectory->Get("toy_totChi2;1"); - // chi2 -std::cout << " chi2 " << r->minNll() << "distance from FCN " << r->edm()<< std::endl; - h_chi2.Fill(r->minNll()/55.); - //distamce form chi2..... - //r->edm(); - // yield -r->floatParsFinal()[0]->Print(); -RooRealVar * y = r->floatParsFinal().find("Yield"); -RooRealVar * e_mt = r->floatParsFinal().find("eff_tk"); -RooRealVar * e_ms = r->floatParsFinal().find("eff_sa"); -RooRealVar * e_mmNotIso = r->floatParsFinal().find("eff_iso"); -RooRealVar * e_mmHlt = r->floatParsFinal().find("eff_hlt"); - - // RooAbsReal * z = new RooAbsReal(y); -std::cout << " Yield value for the chi2 number " << i << " = " << y->getVal() << std::endl; -h_Yield.Fill((y->getVal() - Y_true )/ (y->getError()) ); -h_emt.Fill((e_mt->getVal() - emt_true )/ (e_mt->getError()) ); -h_ems.Fill((e_ms->getVal() - ems_true )/ (e_ms->getError()) ); -h_emmNotIso.Fill((e_mmNotIso->getVal() - emmNotIso_true )/ (e_mmNotIso->getError()) ); -h_emmHlt.Fill((e_mmHlt->getVal() - emmHlt_true )/ (e_mmHlt->getError()) ); -//delete f; -} - - - - gStyle->SetOptStat(1110); - gStyle->SetOptFit(1111); - gStyle->SetStatFontSize(0.04); - //gStyle->SetStatFontSize(0.1); -//gStyle->SetFitFormat("5.3g"); - h_Yield.Fit("f1","","", -3, 3); -h_Yield.Draw(); -f1.Draw("same"); - -c1.SaveAs(Form("outputToy_%d./toy_Yield_%d.eps",Lumi,Lumi)); -h_chi2.Draw(); - -//f1.Draw("same"); - -c1.SaveAs(Form("outputToy_%d./toy_chi2_%d.eps",Lumi,Lumi)); -h_emt.Draw(); -h_emt.Fit("f1","","", -3, 3); -f1.Draw("same"); -c1.SaveAs(Form("outputToy_%d./toy_eff_tk_%d.eps", Lumi, Lumi)); -h_ems.Draw(); - h_ems.Fit("f1","","", -3, 3); -f1.Draw("same"); -c1.SaveAs(Form("outputToy_%d./toy_eff_sa_%d.eps",Lumi,Lumi)); -h_emmNotIso.Draw(); -h_emmNotIso.Fit("f1","","", -3, 3); -f1.Draw("same"); -c1.SaveAs(Form("outputToy_%d./toy_eff_iso_%d.eps",Lumi,Lumi)); -h_emmHlt.Draw(); - h_emmHlt.Fit("f1","","", -3, 3); -f1.Draw("same"); -c1.SaveAs(Form("outputToy_%d./toy_eff_hlt_%d.eps",Lumi,Lumi)); - -} - diff --git a/ElectroWeakAnalysis/ZMuMu/test/mcAcceptance.py b/ElectroWeakAnalysis/ZMuMu/test/mcAcceptance.py deleted file mode 100644 index ed1fba1199871..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/mcAcceptance.py +++ /dev/null @@ -1,223 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("MCAcceptance") -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/1CD6D0A6-1E64-DF11-BB60-001D09FD0D10.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/46BC4EF2-B462-DF11-8FE0-0015178C4D14.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/48C1BEAB-1E64-DF11-8874-A4BADB3CF509.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/9E650E9F-1963-DF11-B7CE-0024E8768D1A.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/C28E2383-1D64-DF11-894B-A4BADB3CF8F5.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/D21A4219-1D64-DF11-A4EC-001D09FD0D10.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/F0D65D50-F162-DF11-93BB-A4BADB3CF208.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/F4A6969A-9562-DF11-8192-00E08142962E.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/F8CAC083-6462-DF11-9D7E-001C23C0E208.root', -'file:/scratch2/users/fabozzi/spring10/powheg_zmm_cteq66/FCD6E07C-9562-DF11-9C9A-001EC94BA3D1.root', - - - -) -) -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - - - -process.zToMuMuMC = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("genParticles"), - cut = cms.string('pdgId = 23 & status = 3 & abs(daughter(0).pdgId) = 13') -) - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('MC_36Y_V10::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - -process.goodMuons = cms.EDFilter("MuonSelector", - src = cms.InputTag("muons"), - cut = cms.string('isGlobalMuon = 1 && pt>15.'), - filter = cms.bool(False) -) - -# - - -process.dimuons = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(True), - cut = cms.string('mass > 0'), - decay = cms.string('goodMuons@+ goodMuons@-') -) - - - - -process.load("PhysicsTools.HepMCCandAlgos.goodMuonMCMatch_cfi") -process.goodMuonMCMatch.src = 'goodMuons' -process.goodMuonMCMatch.maxDPtRel = cms.double(0.1) -process.goodMuonMCMatch.resolveByMatchQuality = cms.bool(True) -process.goodMuonMCMatch.maxDeltaR = cms.double(0.1) -process.goodMuonMCMatch.checkCharge = cms.bool(True) -process.goodMuonMCMatch.resolveAmbiguities = cms.bool(True) - - - - -process.dimuonsMCMatch = cms.EDFilter("MCTruthCompositeMatcherNew", - src = cms.InputTag("dimuons"), - # - # comment PAT match because works only for layer-0 muons - # - # VInputTag matchMaps = { muonMatch } - matchPDGId = cms.vint32(23,13), - matchMaps = cms.VInputTag(cms.InputTag("goodMuonMCMatch")) -) - - - - -process.mcAcceptanceAA = cms.EDAnalyzer("MCAcceptanceAnalyzer", - zToMuMu = cms.InputTag("dimuons"), - zToMuMuMC = cms.InputTag("zToMuMuMC"), - zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), - massMin = cms.double(60.0), - massMax = cms.double(120.0), - etaDau0Min = cms.double(0.), - etaDau0Max = cms.double(2.1), - etaDau1Min = cms.double(0.), - etaDau1Max = cms.double(2.1), - ptMin = cms.double(20.0), - massMinZMC = cms.double(60.0), - massMaxZMC = cms.double(120.0) -) - -#process.mcAcceptanceBA = cms.EDAnalyzer("MCAcceptanceAnalyzer", -# zToMuMu = cms.InputTag("dimuons"), -# zToMuMuMC = cms.InputTag("zToMuMuMC"), -# zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), -# massMin = cms.double(60.0), -# massMax = cms.double(120.0), -# etaDau0Min = cms.double(2.1), -# etaDau0Max = cms.double(2.4), -# etaDau1Min = cms.double(0.), -# etaDau1Max = cms.double(2.1), -# ptMin = cms.double(20.0), -# massMinZMC = cms.double(60.0), -# massMaxZMC = cms.double(120.0) -#) - - -process.mcAcceptanceBar = cms.EDAnalyzer("MCAcceptanceAnalyzer", - zToMuMu = cms.InputTag("dimuons"), - zToMuMuMC = cms.InputTag("zToMuMuMC"), - zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), - massMin = cms.double(60.0), - massMax = cms.double(120.0), - etaDau0Min = cms.double(0.), - etaDau0Max = cms.double(0.9), - etaDau1Min = cms.double(0.), - etaDau1Max = cms.double(2.4), - ptMin = cms.double(20.0), - massMinZMC = cms.double(60.0), - massMaxZMC = cms.double(120.0) -) - -process.mcAcceptanceBarEnd = cms.EDAnalyzer("MCAcceptanceAnalyzer", - zToMuMu = cms.InputTag("dimuons"), - zToMuMuMC = cms.InputTag("zToMuMuMC"), - zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), - massMin = cms.double(60.0), - massMax = cms.double(120.0), - etaDau0Min = cms.double(0.9), - etaDau0Max = cms.double(1.2), - etaDau1Min = cms.double(0.), - etaDau1Max = cms.double(2.4), - ptMin = cms.double(20.0), - massMinZMC = cms.double(60.0), - massMaxZMC = cms.double(120.0) -) - - - -process.mcAcceptanceEnd = cms.EDAnalyzer("MCAcceptanceAnalyzer", - zToMuMu = cms.InputTag("dimuons"), - zToMuMuMC = cms.InputTag("zToMuMuMC"), - zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), - massMin = cms.double(60.0), - massMax = cms.double(120.0), - etaDau0Min = cms.double(1.2), - etaDau0Max = cms.double(2.1), - etaDau1Min = cms.double(0.), - etaDau1Max = cms.double(2.4), - ptMin = cms.double(20.0), - massMinZMC = cms.double(60.0), - massMaxZMC = cms.double(120.0) -) - - - - - - -process.mcPath = cms.Path( - process.zToMuMuMC + - process.goodMuons + - process.goodMuonMCMatch + - process.dimuons + - process.dimuonsMCMatch+ - process.mcAcceptanceAA - # process.mcAcceptanceBar + - # process.mcAcceptanceBarEnd + - # process.mcAcceptanceEnd - - ) - - - -from Configuration.EventContent.EventContent_cff import * - -process.EventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'drop *', - 'keep *_dimuons_*_*', - 'keep *_goodMuons_*_*', - 'keep *_genParticles_*_*', - 'keep *_goodMuonMCMatch_*_*', - 'keep *_dimuonsMCMatch_*_*', - ) -) - -AODSIMDimuonEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -AODSIMDimuonEventContent.outputCommands.extend(AODSIMEventContent.outputCommands) -AODSIMDimuonEventContent.outputCommands.extend(process.EventContent.outputCommands) - -process.dimuonsOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMDimuonEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('acceptance'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('dimuons_forAcceptance_1000.root') -) - - - - -process.end = cms.EndPath(process.dimuonsOutputModule) - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/mcAcceptanceForDistMuons.py b/ElectroWeakAnalysis/ZMuMu/test/mcAcceptanceForDistMuons.py deleted file mode 100644 index 5f940b800d1cd..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/mcAcceptanceForDistMuons.py +++ /dev/null @@ -1,219 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms - -process = cms.Process("MCAcceptance") -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - - - - -process.source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(0), - debugFlag = cms.untracked.bool(False), - fileNames = cms.untracked.vstring() -) -import os -dirname = "/data1/home/degruttola/CMSSW_3_3_5/src/ElectroWeakAnalysis/Utilities/test/DistMuonsv2/res/" -dirlist = os.listdir(dirname) -basenamelist = os.listdir(dirname + "/") -for basename in basenamelist: - process.source.fileNames.append("file:" + dirname + "/" + basename) -print("Number of files to process is %s" % (len(process.source.fileNames))) - - - - -## process.source = cms.Source("PoolSource", -## fileNames = cms.untracked.vstring( -## "file:/data1/home/degruttola/CMSSW_3_3_5/src/ElectroWeakAnalysis/Utilities/test/DistMuonsv2/res/selectedEvents_1818.root", -## "file:~/Zmumu7TeVGenSimReco/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -## "file:~/Zmumu7TeVGenSimReco/0ABB0814-C082-DE11-9AB7-003048D4767C.root", -## "file:~/Zmumu7TeVGenSimReco/38980FEC-C182-DE11-A3B5-003048D4767C.root", -## "file:~/Zmumu7TeVGenSimReco/3AF703B9-AE82-DE11-9656-0015172C0925.root", -## "file:~/Zmumu7TeVGenSimReco/46854F8E-BC82-DE11-80AA-003048D47673.root", -## "file:~/Zmumu7TeVGenSimReco/8025F9B0-AC82-DE11-8C28-0015172560C6.root", -## "file:~/Zmumu7TeVGenSimReco/88DDF58E-BC82-DE11-ADD8-003048D47679.root", -## "file:~/Zmumu7TeVGenSimReco/9A115324-BB82-DE11-9C66-001517252130.root", -## "file:~/Zmumu7TeVGenSimReco/FC279CAC-AD82-DE11-BAAA-001517357D36.root" -## ) -## ) - -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - - - - - -process.zToMuMuMC = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("genParticles"), - cut = cms.string('pdgId = 23 & status = 3 & abs(daughter(0).pdgId) = 13') -) - - -process.dimuons = cms.EDFilter("CandViewShallowCloneCombiner", - checkCharge = cms.bool(False), - cut = cms.string('mass > 0'), - decay = cms.string('distortedMuons@+ distortedMuons@-') -) - - - -process.load("PhysicsTools.HepMCCandAlgos.goodMuonMCMatch_cfi") -#goodMuonMCMatch.src = 'selectedLayer1Muons' -process.goodMuonMCMatch.src = 'distortedMuons' - - -process.dimuonsMCMatch = cms.EDFilter("MCTruthCompositeMatcherNew", - src = cms.InputTag("dimuons"), - # - # comment PAT match because works only for layer-0 muons - # - # VInputTag matchMaps = { muonMatch } - matchPDGId = cms.vint32(), - matchMaps = cms.VInputTag(cms.InputTag("goodMuonMCMatch")) -) - - - - -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = cms.string('MC_31X_V3::All') -process.load("Configuration.StandardSequences.MagneticField_cff") - - - -process.load("CondCore.DBCommon.CondDBCommon_cfi") -process.poolDBESSource1 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Scale_OctoberExercise_EWK_InnerTrack'), - label = cms.untracked.string('') - ) - ) -) -process.poolDBESSource2 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel') - ) - ) -) -process.poolDBESSource3 = cms.ESSource("PoolDBESSource", - BlobStreamerName = cms.untracked.string('TBufferBlobStreamingService'), - DBParameters = cms.PSet( - messageLevel = cms.untracked.int32(2), - authenticationPath = cms.untracked.string('.') - ), - timetype = cms.untracked.string('runnumber'), - connect = cms.string('frontier://FrontierPrep/CMS_COND_PHYSICSTOOLS'), - toGet = cms.VPSet( - cms.PSet( - record = cms.string('MuScleFitDBobjectRcd'), - tag = cms.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), - label = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel') - ) - ) -) - -# Create a new "distorted" Muon collection -process.distortedMuons = cms.EDFilter("DistortedMuonProducerFromDB", - MuonTag = cms.untracked.InputTag("muons"), - - DBScaleLabel = cms.untracked.string(''), - DBDataResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_EWK_InnerTrack_WithLabel'), - DBMCResolutionLabel = cms.untracked.string('MuScleFit_Resol_OctoberExercise_SherpaIdealMC_WithLabel'), -) - - - - - - - -process.mcAcceptance = cms.EDAnalyzer("MCAcceptanceAnalyzer", - zToMuMu = cms.InputTag("dimuons"), - zToMuMuMC = cms.InputTag("zToMuMuMC"), - zToMuMuMatched = cms.InputTag("dimuonsMCMatch"), - massMin = cms.double(60.0), - massMax = cms.double(120.0), - etaMin = cms.double(0.0), - etaMax = cms.double(2.1), - ptMin = cms.double(20.0), -# parameter for denominator - massMinZMC = cms.double(60.0) -) - -process.mcPath = cms.Path( - process.zToMuMuMC* -# process.distortedMuons * - process.goodMuonMCMatch * - process.dimuons * - process.dimuonsMCMatch* - process.mcAcceptance - ) - -from Configuration.EventContent.EventContent_cff import * - -process.EventContent = cms.PSet( - outputCommands = cms.untracked.vstring( - 'drop *', - 'keep *_dimuons_*_*', - 'keep *_muons_*_*', - 'keep *_genParticles_*_*', - 'keep *_muonMatch_*_*', - 'keep *_trackMuMatch_*_*', - 'keep *_allDimuonsMCMatch_*_*', - 'keep *_distortedMuons_*_*' -# 'keep patTriggerObjects_patTrigger_*_*', -# 'keep patTriggerFilters_patTrigger_*_*', -# 'keep patTriggerPaths_patTrigger_*_*', -# 'keep patTriggerEvent_patTriggerEvent_*_*', -# 'keep patTriggerObjectsedmAssociation_patTriggerEvent_*_*' - ) -) - -AODSIMDimuonEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -AODSIMDimuonEventContent.outputCommands.extend(AODSIMEventContent.outputCommands) -AODSIMDimuonEventContent.outputCommands.extend(process.EventContent.outputCommands) - -process.dimuonsOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMDimuonEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('acceptance'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('dimuons_testDistMuon.root') -) - - - - -process.end = cms.EndPath(process.dimuonsOutputModule) - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/merge.py b/ElectroWeakAnalysis/ZMuMu/test/merge.py deleted file mode 100644 index b370d6cee9aac..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/merge.py +++ /dev/null @@ -1,48 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("Merge") - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:NtupleLooseTestNew_oneshot_all_Test_10_1.root", - "file:NtupleLooseTestNew_oneshot_all_Test_11_1.root", - "file:NtupleLooseTestNew_oneshot_all_Test_12_1.root", - "file:NtupleLooseTestNew_oneshot_all_Test_13_1.root", - "file:NtupleLooseTestNew_oneshot_all_Test_14_1.root", - ) -) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('file:Ntuple_ZmmPowheg_36X.root'), -) - -process.dummy = cms.EDAnalyzer( - "EventContentAnalyzer" - ) - -process.path = cms.Path( - process.dummy - ) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_IsoDeposit.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_IsoDeposit.py deleted file mode 100644 index a51e894145a7b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_IsoDeposit.py +++ /dev/null @@ -1,368 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 -#modified by Annapaola de Cosa 18-12-2008 - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:testDimuonSkim_prova.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("Analysis_test.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - - - ) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) -#ZMuMu: richiedo almeno 1 HLT trigger match.Per la shape -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu1notIso: richiedo almeno un trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:richiedo che il muGlobal ha HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - -#### Plot ### - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - -#ZMuMu almeno 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu almeno 1 HLT + almeno 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -etaBounds = [-2, 2.0] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu almeno 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots, - "goodZToMuMu", "goodZToMuMu", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlots, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlots, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlots -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('file:./zMuSa-UML.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonPath" - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_zmm.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_zmm.py deleted file mode 100644 index be74149acd896..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuAnalysis_zmm.py +++ /dev/null @@ -1,311 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_1.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_2.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_3.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_4.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_5.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_6.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_7.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_8.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_9.root", - "rfio:/castor/cern.ch/user/n/noli/Summer08/reskimed/zmm/zmumu_reskim_10.root" - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("analysis_zmunu_reskim_10000evt.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(3.0), - isolationType = cms.string("track"), - ) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) -#ZMuMu: richiedo almeno 1 HLT trigger match.Per la shape -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -#ZMuMu: richiedo 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu1notIso: richiedo almeno un trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - -#### Plot ### - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - - -#ZMuMu almeno 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu almeno 1 HLT + almeno 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -etaBounds = [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2.0] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu almeno 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots, - "goodZToMuMu", "goodZToMuMu", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT+ - process.goodZToMuMu2HLTPlots, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT+ - process.goodZToMuMu1HLTPlots, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT+ - process.nonIsolatedZToMuMuPlots -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT+ - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT+ - process.goodZToMuMuOneTrackPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.endPath = cms.EndPath( - process.eventInfo -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuBackgroundAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuBackgroundAnalysis.py deleted file mode 100644 index 297a53666883d..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuBackgroundAnalysis.py +++ /dev/null @@ -1,205 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuBackgroundAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:/scratch1/users/fabozzi/patv2_skim/testSkim_v2.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("test.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(3.0), - isolationType = cms.string("track") -) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMu"), - filter = cms.bool(False) -) - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - - -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMu") -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMu") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -etaBounds = [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2.0] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuon") -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrack") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuPlots, - "goodZToMuMu", "goodZToMuMu", - "double") - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuPlots, -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.endPath = cms.EndPath( - process.eventInfo -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistos.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistos.py deleted file mode 100644 index 9009e69d9f373..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistos.py +++ /dev/null @@ -1,163 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuHistos") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:/data1/cmsdata/dimuons/S156/Zmumu_zMuMuSkimOut_1.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("dimuons_zmumu_histos.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(4.0), - muonIsolations1 = cms.InputTag("muonIsolations"), - muonIsolations2 = cms.InputTag("muonIsolations") -) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMu") -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMu") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuon") -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrack") - -process.goodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.goodZToMuMuPlots - ) - -process.nonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuPlots, -) - -process.zToMuMuOneStandAloneMuonPath = cms.Path( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonPlots - ) - -process.goodZToMuMuPath = cms.Path( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackPlots - ) - -process.endPath = cms.EndPath( - process.eventInfo -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistosFromSubSkim.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistosFromSubSkim.py deleted file mode 100644 index cee3fd106b583..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuHistosFromSubSkim.py +++ /dev/null @@ -1,160 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuHistosFromSubSkim") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:/data1/cmsdata/dimuons/s156-subSkim/Zmm.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("dimuons_zmumu_histos.root") -) - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMu") -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMu") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuon") -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrack") - -process.goodZToMuMuExists = cms.EDFilter( - "CandCollectionExistFilter", - src = process.nonIsolatedZToMuMuPlots.src - ) - -process.nonIsolatedZToMuMuExists = cms.EDFilter( - "CandCollectionExistFilter", - src = process.nonIsolatedZToMuMuPlots.src - ) - -process.goodZToMuMuOneStandAloneMuonExists = cms.EDFilter( - "CandCollectionExistFilter", - src = process.goodZToMuMuOneStandAloneMuonPlots.src - ) - -process.goodZToMuMuOneTrackExists = cms.EDFilter( - "CandCollectionExistFilter", - src = process.goodZToMuMuOneTrackPlots.src -) - -zSelection = cms.PSet( - cut = cms.string("1 > 0"), - isoCut = cms.double(3.0), - muonIsolations1 = cms.InputTag("muonIsolations"), - muonIsolations2 = cms.InputTag("muonIsolations") -) - -process.goodZToMuMuFilter = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.nonIsolatedZToMuMuFilter = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuonFilter = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackFilter = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("goodZToMuMuOneTrack"), - filter = cms.bool(True) -) - -process.goodZToMuMuPath = cms.Path( - process.goodZToMuMuExists * - process.goodZToMuMuFilter * - process.goodZToMuMuPlots -) - -process.nonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMuExists * - process.nonIsolatedZToMuMuFilter * - process.nonIsolatedZToMuMuPlots -) - -process.goodZToMuMuOneStandAloneMuonPath = cms.Path( - process.goodZToMuMuOneStandAloneMuonExists * - process.goodZToMuMuOneStandAloneMuonFilter * - process.goodZToMuMuOneStandAloneMuonPlots -) - -process.goodZToMuMuOneTrackPath = cms.Path( - process.goodZToMuMuOneTrackExists * - process.goodZToMuMuOneTrackFilter * - process.goodZToMuMuOneTrackPlots -) - -process.endPath = cms.EndPath( - process.eventInfo -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuMicroSkim.py b/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuMicroSkim.py deleted file mode 100644 index 65f4f6c1d73d7..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zToMuMuMicroSkim.py +++ /dev/null @@ -1,204 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("reskim") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:/scratch1/users/fabozzi/patv2_skim/testSkim_v2.root" - ) -) - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.GlobalTag.globaltag = 'IDEAL_V9::All' -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.prunedGenParticles = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "drop * ", # this is the default - "keep+ pdgId = {Z0}", - "keep+ pdgId = {W-}", - "keep++ pdgId = {mu-}" - ) -) - -process.load("ElectroWeakAnalysis.ZReco.dimuonsHLTFilter_cfi") -process.load("ElectroWeakAnalysis.ZReco.patCandidatesForDimuonsSequences_cff") -process.load("ElectroWeakAnalysis.ZReco.dimuons_cfi") -process.load("ElectroWeakAnalysis.ZReco.dimuonsOneTrack_cfi") -process.load("ElectroWeakAnalysis.ZReco.dimuonsGlobal_cfi") -process.load("ElectroWeakAnalysis.ZReco.dimuonsOneStandAloneMuon_cfi") -process.load("ElectroWeakAnalysis.ZReco.mcTruthForDimuons_cff") -process.load("ElectroWeakAnalysis.ZReco.dimuonsFilter_cfi") -process.load("ElectroWeakAnalysis.ZReco.dimuonsOneTrackFilter_cfi") - -process.muonMatch.matched = cms.InputTag("prunedGenParticles") -process.trackMuMatch.matched = cms.InputTag("prunedGenParticles") - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & " - "abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(100.0), - isolationType = cms.string("track"), -) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('file:zmm_reskim_v2.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_prunedGenParticles_*_reskim", - "keep *_selectedLayer1Muons_*_reskim", - "keep *_selectedLayer1TrackCands_*_reskim", - "keep *_dimuons_*_reskim", - "keep *_dimuonsOneTrack_*_reskim", - "keep *_dimuonsGlobal_*_reskim", - "keep *_dimuonsOneStandAloneMuon_*_reskim", - "keep *_muonMatch_*_reskim", - "keep *_allDimuonsMCMatch_*_reskim", - "keep *_goodZToMuMu_*_reskim", - "keep *_nonIsolatedZToMuMu_*_reskim", - "keep *_goodZToMuMuOneStandAloneMuon_*_reskim", - "keep *_goodZToMuMuOneTrack_*_reskim", - # "keep *_genParticles_*_*", - "keep L1MuRegionalCands_*_*_*", - "keep L1MuGMTCands_*_*_*", - "keep L1MuGMTReadoutCollection_*_*_*", - # "keep l1extraL1MuonParticles_*_*_*", - "keep TriggerResults_*_*_*", - "keep recoTracks_generalTracks_*_*", - "keep recoTracks_globalMuons_*_*", - "keep recoTracks_standAloneMuons_*_*", - "keep recoMuons_muons_*_*", - "keep *_selectedLayer1Muons_*_*", - "keep *_selectedLayer1TrackCands_*_*", -# "keep *_goodTracks_*_*", - "drop *_*_*_TestDimuonReco" - - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuPath", "nonIsolatedZToMuMuPath", - "zToMuMuOneStandAloneMuonPath", "goodZToMuMuOneTrackPath" - ) - ) -) - -process.genParticlesPath = cms.Path( - process.prunedGenParticles - ) - -process.dimuonsPath = cms.Path( - process.dimuonsHLTFilter + - process.goodMuonRecoForDimuon + - process.dimuons + - process.dimuonsGlobal + - process.dimuonsOneStandAloneMuon + - process.dimuonsFilter - ) - -process.dimuonsOneTrackPath = cms.Path( - process.dimuonsHLTFilter + - process.goodMuonRecoForDimuon + - process.dimuonsOneTrack + - process.dimuonsOneTrackFilter - ) - -process.dimuonsMCTruth = cms.Path( - process.dimuonsHLTFilter + - process.mcTruthForDimuons - ) - -process.goodZToMuMuPath = cms.Path( - process.goodZToMuMu -) - -process.nonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu -) - -process.zToMuMuOneStandAloneMuonPath = cms.Path( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon -) - -process.goodZToMuMuOneTrackPath = cms.Path( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack -) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/old/zUMLChi2Fit.txt b/ElectroWeakAnalysis/ZMuMu/test/old/zUMLChi2Fit.txt deleted file mode 100644 index de611cc0df4cb..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/old/zUMLChi2Fit.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# Z -> Mu Mu fit -# -# name value error min max free/fixed (optional) -#------------------------------------------------------------------------------ -par YieldZMuMu 3818 10 0 1000000 free -par YieldBkgZMuTk 1 10 0 1000000 fixed -par YieldBkgZMuSa 0 1 0 1000000 fixed -par YieldBkgZMuMuNotIso 1 10 0 1000000 fixed -par EfficiencyTk 0.99884 0.001 0 1 free -par EfficiencySa 0.988525 0.01 0 1 free -par EfficiencyIso 0.98186 0.01 0 1 free -par EfficiencyHLT 0.913146 0.01 0 1 free -par Lambda -0.01244 0.009 -100 0 free -par Alpha -0.0444 0.01 -100 0 free -par A0 45.57 0.1 0 2 free -par A1 -0.62464 0.001 -10000 10000 free -par A2 2.644e-3 0.0001 -1000 1000 free -par B0 137.9 0.1 0 2 free -par B1 0.16275 0.001 -10000 10000 free -par B2 2.119e-03 1 -1000 1000 free -migrad -print_all -release YieldBkgZMuSa -migrad -print_all diff --git a/ElectroWeakAnalysis/ZMuMu/test/rootlogon.C b/ElectroWeakAnalysis/ZMuMu/test/rootlogon.C deleted file mode 100755 index b04133420cba6..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/rootlogon.C +++ /dev/null @@ -1,14 +0,0 @@ -{ - std::string macroPath = gROOT->GetMacroPath(); - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_RELEASE_BASE/src/PhysicsTools/Utilities/macros"); - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_BASE/src/PhysicsTools/Utilities/macros"); - gROOT->SetMacroPath(macroPath.c_str()); - gSystem->AddIncludePath("$CMSSW_RELEASE_BASE/src"); - gSystem->AddIncludePath("$CMSSW_BASE/src"); - gROOT->ProcessLine(".L setTDRStyle.C"); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - setTDRStyle(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_qcd_2_4_all.root b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_qcd_2_4_all.root deleted file mode 100644 index a7e98104975de7cf2994c89b67ec9f39d7317912..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153048 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

@z3K1=C?KArZtaS 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∾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

&Dz?uDmM=D4lXP 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

jBsr@Gu5}zZb>~9PM@o}8H8XaXdJcXz zE`if^#4P;@S6`oJwURe#lj6Kr=|(1rb{nrh@MeGinuqMZH!W^D!3P@0KPs0x-KUSA zmN&lY;otSF$8xs3c%t{*){LCzB%nNWX=2H>N$>sV-q{YQ6W*1}GESTJ7Dys&xa@nROB5LSu(s6V#0E-OxQ-(=EiK~Cp(zx#r<@U`0Ik&)afpHs`y%WeCzjf#s4_5?1yR#T zQXf232k{JH1yFU}(1~3-xcv zp(t&&Q-MdMaR(AZI=*k@~C;r>Q~NZ;^r+sAJ)VWc@X@7;*JA zx9zY*Ni6Cdq#Ri4q#Z~R1Q)9mS{lW+!zI4}<}t440$?=8%OU}{>jRihf|c@X&epkH zqTqZ7`*L!&{vq6MUvCd|l`Hr`qJIbFaS!$PjeEaja{f%eMI$Kb=*ZY=sF4q0Q8HGw zXn)JW%4qBhCFZdDnsKZ{l9?2ZH7X+|iii5R!U?6pEm$cuR8#|Ngg=DaRMuuF5^sdk z4(Nk3=P=X7p!!Y`g8Cy-ykaHx`z zv6Z>)@RBnpx{FQ-D^L)R9_@v^skZlX9Gu7t$1ABcaQ7uJ;#&vIY0;3jO*s?le>qj&Md)svTV zwG^uA6_{69FsE{otm5=445o|4YK93lKg&6vUJZ^zUYB_}_$+5%JRh-Bhr^Q(zEt(~ z`%~|{IY{qh^TkM0^;4*AWq6~y#zC38YdhjDj@B^Qzr>s?Zhh$4o@(NGrTmrl<~!|9 zx)Q!=j`y5jwdDC49X&7GE3;8P*Emtm_dxDC8Maq4ZSg6)!^$7aoD0hGxZ>R|!=T&(ob~$_tmyDW`4Pt=)6Vb>FnynUstlY{cg|hUPCVQ+<(;2a&@}O-c=G0{sGBDvprAJtpWDmiFCKi8)^Pz?gctY? zqi+mfwi;GvLSWJ3#MOaZH6t-{hFcYpenc7*fd=mJ8>ViCOL!Js^m+7h=IP0IWo@V# z&T~>e6IM_6$Q|KmeY<1)Q!6IrT+(p*hT^)-4aEBr3op=?C_qFAEJWP8PXGBAa+OPh zhr=ihWE?dU7{rY?^XClkTnnJTM)=4S#z+R{|&4;Z8HsKJIH$LJJ7S=)A`lL z=?J|Y9z7g%YZhzp&$RTNk?_IobvL$6F3OH|pAx1Izq@MKMh!Wd52;f@(wPJY5b;M5 z)x#i2DPJoRAc^1336b2ti4e&jnRVc@`aP2WJ+nTKM^$ZD*r)RE78D+`c8{BQ;w%AV8J*L`? zkKJgefvMN4?-C=6avUFL&-JNluNkhQx2wGlAGBl9iC*KB%Y94Npq<`>i@PWva285e z$$0eCX$t+Vx~3X~7pJ{7n1KxGG93qm3>rg9NL2emATlYZt@}9Mv{LVt!y4wA+i`Cf0Nwb$saSLZst$i3Z zVqzmv@G1A~e0tk03+ZiRZt{_|l-Byjt&it5*PQc&U4sK5est7@J!vF5h z_PKb1e?&b33Hz5s8F<2SIT=uN`K$vdyi)%ML_WEmh%{ zP8LvM*=__-cG=c4D7!L~5L8&1x%0o%VQ7n>wWN`RT4}_!Obo z7DUI77e2ejx@F{2)NH<9E5b;>5gqM^+KgiBc5t?;d!JR9>$qlf)7lQM8XZ|a0obIo zCN3Z#6StER1_XrdU4U|V0Rg6ebDmpGT%Oxq=T05U;+XB8IXF4%@_Ig>%0i~h`M}p1 zdQsQ>eC}L|HXORf^cxiC(Y5&=-OQJ2KIGBa<#C)}GAp>gziQ#T8!o=j9YS#R1^$aZ z1QB%MrTzdIA_3eG5uRU-Kr9T=B61%%O#Y74w-mV4x7hNr?Q1~lTj#20iF=P8`eo`{ zB@c46p`1BaG`K6b_snw>3qtt`R1P!-|l>EPQ$a5(1_^%5ed#pD^_#e-%@I9G3{U_~~Z_QQ8k*B008C zr`USsS{RWbUUbPRR@E$m4^DS!EOp{Zc@A!VPe;I*WByF(f6z@ zkdT%J?r6)Lv=Q*`(SSyq--j0Q?jQe-Q?zdShfI$uh@HAGM64-2yrXuu%W<~VkY1HX(BQ0pURu&y3u|8G_(C z)07NS0ZNQNC)NWcvD(&#YMT@9*-!O8Q#q=IieTHG&=vx~8sdQ^V9Sr92!Z__TMjZO z{iQd`;$gkj-S-IO$vxN49(_d6Xg&+&lCbi-XXL^d`>0V8;h_aB7pvAExpahH?&3(s ziIU?}-bTU`z)lrx&@us#ZozLO1Wb5r@B*YuGU2eliwR$k%b7dtdp==n2!Q7jnbqA(8(-@ zF0O(Qx*u6@5aRv&Ac8;U05BO2x+^m`N$yxkKuW5KB4rg9TkwH&OWk8U2c3>1pODJx znp>(5uop;oa3sfEB27NpNcuuyXx&LM(=LeBLxUe6CyGaofZ&eD@n3UR&0>Ok<}W!g zT#eUU%D+6$i!j(JCobg>wtp7!^yB25ti_BtpdNh}STq-Qp|2Q}EpdHM%SR-IGq`^# zmIYOgV$+}$K4v=hj!h9{F*|Fci3Ny>EJo}&!0{Vm-?7=BmxI`!z-G_sdS6_t;-owK zg`|f?Z+mQ1@A%ba2l$wPUyGQ+8?`G7fD!Q4CqQQZdBAY%+7G-nP?7cjmQ=fa8N>x^ zg6#zIKT;g`xNljFcd^&Mx7pun>f}$ z3cYPpwgrGm<0Xs$u!Lwrz<%VUK|@GWjYFuNl3bZ|tOxEsgjK zx%>M&7QGK{$)hEix4&CofKXqpbu#{aIr{ZLe3|b@j?q=?HY8fH)*t6_RlZu=s-$I- zmER*h((N)jURRK2y}hP1bW`x9o#%}<=Uv!d>hhS5>|t@QZ^vu4p>l=7bT+2-{l${P z%338C1&;{4EO{<}ac_#c$BgdN7ZDPd>koxb^gnfWeo7Zr)?w*BG(B;by)tS-SBcC? zR`$uhfd|Kf&D0_o8PZ2a((A{y!K`sBj>NgWvaIRB!84+l0_ja-`v zON@CiHWBotH;2|gq*>KQ!=q}a|M^uy13pucEFd9nQZYLJWTXG;=ijHtjbGKv&c|wB zn5Be$swDFuV#iw48=}w5P1BTP2ME*m#!A2{+FGw#H8SIp>moP8ChM}Y>VxsgcPpoe zMmqZ+wJ_lG?gnX4}rvEQ_yn0#rj{g7>cn-)%#baICESI_y zOPU#|W~yJcZ5u7xK3F7HmQwZmRH~sq;8=0ZJ>_u#AU>BSA^n@` zz95N9(7!CpVH5v*`j;M;tM`f1W2$I2E81-ulI=R4g7de;v*?nQnuBY%myAPzoXF8m zl12sFp4_JnYPp_u@WwW_!RIgU;I1p3QL=m6CB?=Yyg`UGQ%kjtY|@mKhIynIwi)yg^EcXId2@o{QO85F7XVYh?d>b{3E4fr0f2C1p|^XJ)T<3hgimSdK8V zupl=-bWo?hhG2>542syMS)ImF{(ShfxD9EwuI6LvR(YexIy5(rrYM*L$MLGqed26# zQ#JNR355XCedL-a0C+zTr|FD1NPj|{il}QF={vi6d5YP)y4si-x$1c9crW}C$){xL zVq@ZH>#OeQ>E){6V(IMXZ|kuUY3J%}V+$f5@V9~fBaQ_O{=Xy?z!R41?*>Je@9qVK zSL*Iuc>eDle4yyRa&Lk9|Hg|0s;|sr0V=G_P6rj1ZJvU%%Qnmw$`Yv9zqCm}g_Y^# z|2th2yn1Ci3#jlz2H#)q&7i_c_99SxB}*+RE{W6135nB8VE>T>{FXSK{L2#ZRtLeY zHj}2EYkddt4Y-w*p1v_Mc<5(_jTAWQahk*7<@)*$&xg5fV1kW2HbXgE-MJx1Z-WZ( zUj3M4JS%&R)FXRbbVoNjvg$#V91%;%QfMP@R&AFf?;I)2?mk@b}`pYFl@_py}I zCtxfk+*qYvb-kcDiyTC(dSgzVrXGFThz+ z*CQ+PBB`kouYbeaJ+U?(l`tZ~Pwlqf8D`11aI=6wtQvRN|$ zjK?~>7!w?K&IWq$ycjQHMBn@+j3^LT93y)Eq3$4rvUy$+p*Gfd7a#kDP+iKKePbK# z0|YkP<$}j^%4cE>=^Q1KF)uR(h@sq4H0}-$JVb;<=sA@Ih<+eKL507B2*txx{^j2L zWVNeY@$MLhgNRbz=Y8{>eRm7y>JMi`mxfjd)c_SB(bi6MD;6_8;HCXAON z0{Sz@VF99_(4S*}Q%+zGDIEP-pTM;X@FQWfA+zEE23~UtYv{ryz65zFY&+CqV2oD+OCN99Wi0lN0{NIo=*sT|9dQ_JSA=Tjn z;~T(m#Pjasp8n}gso>rzH*f)H)Y>Q=YLzNv-~EO(D2fM-3&Wn%l?kZLyut-&mP2h4 z{k_yCUdA>SZ90X!`7_YNg0ITi`xi2X&vl}5)u4ttk^`$YhVfxvV}DfB5?p^%+osM8 zpj5?AN&+(TJfJ$hYAC-y`aAo#W*nZItX22e>A_^BGU-gxId%gdtIZv~RCHc$Oe^owWGFm);IbSLuc$l`#&lq)ZMO0WU^ zO=Kk=CzwRr8mf%r!A4(r4_a_1{7enbQS75pq!qWdyiT1c6{<*2>|n`D@u1CUBh+uH zPzk`|!fyZs{N&}N1+W(LlP{OUw*3hQaOV{YKjQ?fdW|!XCE*5dqtRbQR#{dCWh-Bh zQ%F=AvhEPqCWc)RQ}PDz@GOQW{~94Y-;t3(EB$@G=RbjroL5Vmt|%GYYk8`WchLPt z{lhc!B2<`J<@{Z;6EqX0D*{|#NmXNui$IM>qN&6*@=s-J!WerMiU39%@E8%;`UN2V zpI}}3fqw*=>F?>ZKjqwPB@9oeouBX_(!Z+^b|*VgrQ}z^Q_5}`A~DA6arcQk@JJ!R z8f<<_fdjyV&-X@nxhFXc(8yj=#5TMtxIOvvy zQ~-gsf|CHHil{(}PRmKFk+&n4ysA{@3X;}on)ll4Z#R8#&2Z5w^Y;~Ziim+h_7N%}Zv zwb5p(tA|{Sji7{7E-HpxmFX_brd zGJ5#phl@U=gkx`13D3%PbN~MK&&ojJsphR*YI#WP*GoL{pPui;e&`RBmw&zH7Z-W{ zoI6AVQt|z!w{X4tYq+6YkzvcW%7-EbpQZCpZ*`h>Ag7K&un5wHs&0)b^_ag)6>qD2p;N)B zm2)m~0t8EdcJxgrSj-jz5&S)Z|2bRu6+xOP4r*a%H@Ewb2Wvh$;P12!L9zY(u3nfw zkh}*OiF?P3?WLw;D!8Sc9svYL0fJPaKA&Ss4}3*Xlo%4BQUQJjVn@7EHFu~o7MC!$ z4DkOX0R-IOdIB2I&~mS>l7pp(y{&?mwymY7*8(r7ysT2oV-Nok(Ex-Y7S|WT<47y> zw1X!s*EjsN=(2pIpzun)g`moEJ!YWjzw#h~`v1ml0;;dfUjQns%y0%3mTf$Ovdgxl zK-ra96rjS&bZb!If23xDC#_6lS*pS>_h(RHCA$$QzLKRE6i4AECn0-yGZ}(N)qcw! zg7y5bI(A9qz|DfWzwyNhq_0eBLW_`%?ByTQCSWRwV0;q#l^YqKkPn~@-(aT?L3Z~_p9#EUKgV_0pp zFcgazLtsn)4QD8ELYmP=X1ZOdUmBuj?aq$aa>VY|520a~MtEta!+1 z?weINn{L~f+xoT*X9sjtIfM)G&^us}@J%R85X8vNhf55HBMa3E&)0XT6{-ZQ!yz(t z6&C;xKVEzYsKVM~3-J7eDg@q~zvuc;?CL`>Qci# zE(jvhJ^i-sIodj1`*E<+Be%CTz2xK>%9YG52+DvrBC^+a=B*ug%2;%0=MU*6ffb+I57VfGtS`=_aEC|lRKjW^39M0&i4+LeNYRQV_a8joo zhu^|WBdxT9->~%~v2o)^29ymlGoX^H0|GeC2GFRG2JVHQ@bBf%(Bsszq1y?a*vnwR zz`!sUz%_V_-u!*m-hz7DvCmpEl@Jv(uQgG#wi^mh1up;|bMlkcE~1aId(SvBw!A?k z56UDN`PX_BIU8w1ej89}{z`$RQnf#}O3R@j*!TXd(qEIoxS*2wOG~&`g)Hx}DT%p2 zjCb*7V50?vK<7`blfOg3#&X;7>~KCdxh#AL@34X>kckDe(_`Vln(K=)EyaQFap7Hm z0S;U+7-WbE?NtZ#+GKRY&vfRFenDp|f<6h2Clv6=K`XrP@7kU#pH9Mv64qx<;a_Ia zBQI5!OVhX|3%=EJFdyp)-oGZ`>lRk${0G|T0YQc;G z8Z9S)U={sYqrZdzVl;A?W4mKEnB{GWY0qvOz5N)f->g#(dy;VFf*% zmIb-Iu&?M>44eKna4#yfI{KITo&L3Ds)E?uijlJ~ViVNU1IswH^n>ZjWDg9(TTG8r z92Ah>n-*Xs?&(JNMErxU=;nd|U2|EH^LNTUT(;pqE0?93k~#5uhseXpDDzZQgh@x( zz7(xLI1s*M1hK+u%I(p-Y%(I4y4{C&d*%k(splkzQOm> zRa zhCUJs51dPN_WU*~dH=J;anEK`cUwAE2|CDz;OV2{F&EXS-}NmW`3xwCQJXhrsPy!+`P2U9F4) zO9^2OPtoMaXuiiKbiN|$SE+%&{lRQ-k%-$iZFJQd6#BtqbH8Woiw}N9?nk&bxF6bI za`C?Tw>wTF937x;5BcEzJUSON_5%kqm8lA610+kRx2#;}_kOEPc=96nsEExf;ZA*1 zmd!ms{vGob85v|mtq3lq%Tp4X%(3-b4*k|hx*$fs4s#B#qJ547ghx8rkHTDHq|wbs zLH7)fM^P$Cu;XO6sLYRB!5NW-a=j5*%1crL?LfYuPSlH*2G6;)n@fI31p;AbsFcu# zk2GchVgak>q(uQ&Kz?BP{TW#O*T@fQkVB%bQ&tYS)ZZR6?zNyf(|T_#rF!Y%KElN- z90eQOYSV#^I8;LG*GG*P#T3XUOn!@XQ~6~$b9M6l(?8SFQzwf)fg&>+hZMj$zg)fN z9oXtE#eF!b_g~|_@9MEtJKQzB`QDf8U+b%NPf z-o5$$^15*GVC|h6RtSV3d}H+5gU_?R<7hwKOAs$asEoz>*jA)?0^c(NrGEco-00pv z0s-LJ|4WBB_yk=2xL_#mE=@3awGKWo1y@fO7^;ANYX8*v1Lpr5#|N0cx@$j}u(}&C zn1J(L5RAq7ZUn}z?y3MLtj=x*6aGhLB>1G&*(G4YJblZ+_}ux?@A7XCVlZJf2hU2w zf3wqq;q!o71oP*JqW_#%-Vj7Y@JG4_Y>Kr-_j(yT+cnAU9s3+2Z(=JSh!2rUe6j~dtizB%vnFcPqJqCc-L6r2JKD(v?1%o zvtonE4&GpA4ycab^PWrd#%ehTqUey#2Es6*g~5(*d9!O#m}OA!-I{@V7;$bt^*Aj# zd;j%pi``+b8?&Zpe|S4dax^Qs9o&@fXFrrY$ZDXFzZ~7m1%0qq2FCjQiHKeK^sV)x zGQZ$?zzMZ>c%DV1>~&VWV;uzICyOn^qeJyPxqiRJA?2WiEdDZO0wp~F&0jYtSOAr% zG3y7b`ax&tqDo6xUi;c$dH!OAfwPQbY<&!bM0A_qo9>Sk{MCB}d~+@gAeZ56uQVKD zydsOvJC?!hG*}R?D`8O(Tp%7uqhF&XOfd`UwPxj3$h0TJwGMxuln5r8!#QXF)$ZJ5F3P@m>w_gab_+57^wtRo$cR;Dr_87-U=qUA; zi=gX4qlIuo5AgUE`4ix2IVJgnG*IGhl9xHiOR=nb`?9eLg*_BP6at*G9T-n(!_t&YhheP?nnIW#dvKVL>{Pd*tH zknSL`&1xsHg;c;r9&$TkxpIrDXEsrx@earFYxIkf48E+N#tW&l%n0(^YxKEk>oeBO*)X!1W{2eJORbw$FCm(NQ-}7>e|9*y&_X zHx!(o-SaG3x~%PNWopO3(1F1wIUPo?;3`!15lvx* z$2&w?q>mU$5NunP)HjNtu`A-Xv zd_@`uYF(^_EIhP>WBNUNqEMc#$Bq1B!z^_tPcWm)Cjt+LwJ2+!`yW``4t&Jzj4SVl zwCR`75DO5FRphZtU?uH_KxFL??Us``oV5Gz)9*0a>Bpwd34gs;FI}$PSnXQSg+75^ zme`YBpTC~3K$4Uea2zK2PB{Cu<%!%4UQ9KT_73mlCp=$G)5AkNiq5v(&rm*#BA`CYEvPc4^{ zG>B0~Pn!AnH^=-~bkQ5|pn}&*PAh@8QBanXh~SUlZ85uUW$?E6W8A>oKl0Ior~WUU z)!-9wb+Uq?xVs&}U<{jDg(nV7!PPAVhW;yu4VaH1F8|PD0j96+$_^&X<11XRv0wtu zw>mHu=i3e#ySf{|N)vu-7J~`@BU=%C(&|i*l_vc5+yxU>bJ(mj{5N|n819EY%COVw zCO(0!rSy;BO=_)mGb~1TGqi@s!LHNir}YwqiMq2GyKLUsgy}pZxgy$NV-;oV%-+)`%@FVESP*zAchCwJMAX7FBJ%Bg~ zv~%D{&p3<7Nl8-{AxJcHvg(^s+QP2i;$H@fEj4fe>er*y$L4rnoEO!{jpGF_aJ<1Y zg{p8_s*3mP$DZ6H{;*CV`*cfsm7}$-cdFJVe3CPA8%-?NQy;}EFKLt8En$xMg72}EGi7n^rLhd1abjr-2Ay4w2oVU0%Ba7o371Y5RTWjg%Lx`yW5*3ua-1~wD? z{I^;3o(a2ypL@`yD<8RNH#q*zvHMZ^CR?czYZiK2(YdN0*=n&f@ySt{G!^|q|~CN+dK zeBI|lg$mSSK3C^Eec`ELcop0h;j*#&vT`Hid9N*$cXtGSe$_aW=`1LHDeF#{eKhHa zZuP5-+qA8%$I3>|pK0gxd1SYrTTjw)>eTtBj|T3q_MFM}aZ;ap=d%BTBTZdj#nwA< z1_|H?nc1=R-F%aKeR%pcFLxyzbm)I*SaB^)OTP z?R;6&-6@d$x9~14VSyW9Ya-9D1iUp;ga=wSzAqqQ5HK^GG;1yxlbNq|wn>7i)@y0{ zM})fyDa<~7AL{xDBcAR6v>&9TP5fI%=xzHNk za~17L-5S)mav#MCHh6)&Jmi>`Y$EM;C)^tQ5VaHRiXRnS6N zFa`Sc{Y6Dsxc~qNm6irnAT>4wy>oN$EZPYAgxj%YNrsTGSEhrL2Ef#$Lg3b=_93MB zp?nlwrAW06Sxi)~V7vjh2rEuDB770T;;2|upt)@wn6{aqBH6)9bC z;$rx-l)6pZ9H)+Qc+xg(w0rvC8EY05?X8~n_=^vXr!}I?5Y(K*mH47^CBe~n7hkw% z@n+S`zV*@88W4>TcT2r9evbFarHLor4RNGe7MH&kJ#6jLus=VRl?!|I#2!|4oksck zzyWC%r?Gpd-xIZ?_|H-6tEKbpls|gg@WQpjEraI44`p85e&RCXAGK>NqoB!xc26d6u}1be5`Kk_ zK;m&)nVSJbRzpba1wEr6BlfQ+9AWjxH<4mu<~+R)rOV3akX7zr%hyW5^j!2Ua27#Z zwc$WsP0SYY<5~s71516uDp(Pn0^8uvbnvf1r$jsV=mVIilQAWN^em6n-qcMg$Vmg1Sm; z{X@wKn4k@p)By;ZZy%3UT^0tvf-UEA*a}*={#nkyCP8vu&idpp-Q-14Zjp0Se36=% z6u^}hB>-rFG2N&l)1)$ZDdJi~bI3-*_2AvN2W6a!VPW*B@#9}n2az8B&v@;M%VY&l zk?#>mgF)+)wZJI_Q^YLH9{>`DKd`9eQYZ^V{4;?33!v=0!FpRKdhlgI(d*)BGnC~+ zkI997bj1qo_~4F5=(YJ2d9r1F@Q7@7AY6e~A)o~*hGgd@)PtXaTQNX4;2Seo3<_YC z0eDpGc7$q9ybaI;;@u5EL`)nl97{w(bo}4^{TYb(6U8ONMZ~`#*>XX|F<#MhW%F0X zVzWKNj5oHSQQU@kiu-fZV8FH!J)%^u^t>ZQNR`ckLRUiq%2-kOOwf&kuKryFRQVRt zTCBA!NrGX9NH;2SYxp@bfVx|mH3@-$^GO9ia4(Dq^uNN|9+xF#a=>s%HvCI)Z|7S~ zlf$GJBZqgvkv3P2!*;l{5&yDSG=i25Mj;s6na;xUR!tP1LdZ#0f_U2ir7~Ff$O@9l z+fZ?;k*k!!LZZJ~@JAu2ipm=6WZ%p0>Ap|NJq+0v)t(r!94%{ra#giKW(G_j^MYeZ zOI(XB?Q&Yoii@;=2`$D*8z@XA`i-PdE7`O}LU zzuH+lJ`+UnzB8mYoIB!CHnKWXjj?o98hYN$=X$?2`rX!%uy=fr(tg7$U(Ec%3p2Mn z1}?EzosF;CB?I0(9q$@FesjWIV137q%VGCR?swd%%AKuKPX2t!nbZ2VK*Ra)qqD|Shr}uAiKnOP!uYa3yLvO;znRpK|6z;N_Af{7b;l+4$G*A! zZMJD3pYWKAmq1iq%pjM+AYr3NdrM-zFAd3ufyt*LiTh8}OEeZ;-mlrm^fl4y{&{$*!*r=*CTGivb56OlG2=TO zx}#=|ytpqgZx>m?#g}EgRUS@tE`{A6CVkvIoF5hTKh7QDXA794N-7Ax>74gqaD-gM z_~S|NX}MdeCMTtb4te*8#^1zi&b=AWTKn+mUHUgqW#ZCDJ@z_oHayH@UR6!s*v3^f zX00#n6kd@tlJrk8mxv1A$Ing@Y zy4C<+4L|J|jgZ9qsNE7{a(foYHqr#v5qff<&iN#b@cAhTgOv8TOwU?@HWp!1(k+_hJ4E6rK-3!KC@X{@S}B zu>a!^T88=R$_Bh7!kAJxz89H=g@1PS$ygaBQwcPg{L$gkAH2vV!Rm}aNA;yTl7Gb3 zaXA8~!9~aa9)U0D82o@sA zJZNZ=`tngOwzQmEs35wILutp24{q_hc6(UZmD-y)BRDlq`B^n zR5h+a8~lecHB-cqNMeDEg<5~#NY{H*TFq}8=wi25zA39*G8icSKE;!qNmkgA)!Nrf)wOAW>wJVWQI^=3cTvwd?o~Ag-nz^p zyxHq`v-sPLGT3>1iq9#eXS+0X>bUnxNwv$}Fa>2Jgq$*NTyG|i`S7GSRhxe*2r9@e z(U;I06eE%PzK(My{CBy=sfGaowLvcp~VDM@^;b01`4qY(xUwJFR z{D0$j1JhUMR{|4M(R%>So)a(uX9ocoi}O7gj9uN84@_9yMdp8JqJv+(I$H}&Se;P; zCamV*1jARelY`;&i}XigEsPF$Er>n-$oGZT8sCT6Zz2|LNp4)HgKxylz`$at*mRVx zHd+FGBZQRX_iT#(*=vE$b#YDFOi;@0)P>-W6FoHuHHU5^+)2z$*uANVLW@FJsL~1{ ztg=0eVb4|rGH#0G#^)tvmOd!KM-1ZZhTFvxX>Wq^PSQSyJ0Z{IX)Mo49t?nHV(hs_ClCldG^JJ%DaAruRoA`)@~K*=sTBp>c)`` zif&J~?kc^L%2Kgu)6HYMXeYNEHaNyz3b=k(Xq(mS6`v_#L>piJWvLmb3!o)Pg7^q` zra9pH?%j8rA6Ob&+V7jAK0O!nC56*;|JB{Ma-YAj;c4W2kRNs?g~_-n^G;4q+H?D> z;okcd&$A7h*3}IfiCjv3F?ccNsnye6_nxI*KcQ|^AAf)P$ziZdflT>7{D&g`1|!oj zp#aZuzB2lc>|PiX_}7KEX9>{<7-TI}?kz#TCl(D;!|jx*P`RmhM_PDBhYz}G9_xxR zFd)4*1+@C~$z}7DHo*&p>2^c3ftj+;kisEe(5Ng!*-1+VcF^nt#VyCiNlbveXK|E@ zd?%418FwU~aP<@5@}&BtiSAG(ggJeF6#0cQ8!k$@jOov4cK?N*=oVEWZY;#P^f74}mQm8klhuJOh__G~;&T!rxDmyHWL63+3*HDpZ2Q&e zfM`}|(Xav(VJwl0qWuEpbFV3s?=O5DB9xj#y}1AMHnmF>g}*LHBuwyUAy#tei=XL9uP{(-6WsW*}6}X9v#@TQdLuQhB6`&-e6`= zD(41*pg4ocEIvf_SXdzrwzN>7+zgN<;{jg~!esDsNqqz(nJ}9%%TXjh133-*wO}O- zxYrTh8wCV6!w8NA?h&`J1^*Mcr(3h&9wT@AWZpg^m2a~BLa_=3!DxRBD676w4HfOs z?hJ?_mYj;rU7D&GCeEBfkwR!Fb%DH@z^WVX%RAS84y6lvz3Z(f(-Mk-%Yv)}~ilma~oCeT-lV8*;<^Y{1 z1!>P;4KMzJU}8IpVnqn6QB>MMmQ?JwC@N3F;>2?=z|{z^uyF_o8bHL4H3EQ!nA;P! zhMP37HCztsfv5V<8vZ@79;4xYA?`a)P?!W4yThoEBs%qDC0h!8_D8vcvwvO8Aq$2S z+61OfK{W|AmWtpT1O)t4{G!|Z`vAWCU}?8$ETCHZBmM}{PT*X9tO=S_!Xz-p6BcFW zj9t`mDXJ&Lg);vQsD9oO4dbETJd=Ia8|nM@7X5>hW4}840cEBFjdYp9b~l!zZA?n( zBnouYh>d_hGK5l($fguhV>PLVaR+Lhreb8;2J!2vfh?K%EDUTw&((-6-A{lXyup8t za`+nn{k(KW5te?5d+j7dxrR^q<<-snM!KH?eThSy7r60K>aHWTLRh&PK#l9VOPfn; zm3rall3Pf+DD6P-QnV(zYP$huo9;!w8(7WI=JkN#;L;hRvJd{n14+ zM~$Slk!<%E*Te88qU4owjyDwrR0x=CsC96KA>b($FqJ?gaZz*8_|+z=y;SSDiCzS6 zgV{=;9OA@5m_uMn!&j{y(Q?aC3N6CgZ4B((nq=gV`%86jyMgI0)s@#CTi4}mo)H&a z{}win))i@=LsIC&4wVO9FEq3efB*7Vhl?z)f#~s%D?n@-z;c=H$I-8bZ*x7}cmgJ8<_x zc?8TD;@mcxe;>pHSk<9CA@}9O8 z6wbQ4ZjXO*^T2SyG z;UViW<&^`zkbXKa^5AvXq=<~qCZtMH(EDl^GQVkZ_Yk?n0|OCq8plsHHh&{z)o(!73bj8nr#%?jkY5A`lw( zWX`H(0^zXpf1d@u+N_tL*nNv}MuLD&ypMC8!rFOqe95u=U5X1skoaG?N#)P+f1k5b z-ROWfc;;-T_F3RfRzfd3Y#P4}q*pIodsd|Jz$da6lF%to%(9>+w9I{8SJ?^={proV zy+fZB^OqXhD;1Xg&fBx)pk{yfLr@tJqNOpwlJ?ZkwRy=#z*!R9vI}%_pXV;vDsDf7 zt>SVPPm7C+e*ueMP;nxCTc9?o+Al20iTJKU^U}SLqX560P{6|PL@l%JlAL|Ad@5H_ z$cazV!ormnvPv40jo6}6LsrR1@LlGG00((Ke8|^R36wy9#beea7L4bsSX6Tb7;lLS z?)|T;MEk=Vl&D-Yl#>s>=G^D!>-YT1Dc$C`rYaxMS`vULd8SZLOghryisbB#DpzX7 zs02zKTaB{wJNET-T(N&@K`P^uM{wD<(ml5&r9vc2Eak&B1*x2m<#rTmWJ+fTG_1yH zK*5ihW@KO#Yu{)}Tfe_E6h*lcu4Jt(mr1p~j=S7#+>1zTB04!Z2AQO=J?m9eYfPM2 zy0>dET|0 zNVS!u8DP_CM{W0Ltm7!-d492_Ir$Yx%DKz}5*dWWe4;*|E#)rPh%z$yz*?Dk0beTj zBUdqT`sQobjd^pzb!M801y$QoH~bvGST>W5%0cF@JI`)Vc(tzU?|%vozF08yU-=rr{D0#*1JhUM8v+wn=Li84aK7<_v6w;wxLk3; z*wx+Vz=YLZRQ`8nIQZ48v#h`bOz;NIMg*9!nsX8iU(N0fhGR1Kv2yES!fFsiviXnf zeR7QzwJwo`tb_bVeJO^0U6=bx?S9=<5nIu zDs*t@t*qirpxasWA&E`TMS>P}!;PM+tl{d`6nIq177bk09Kxv0!Fi@bRg>nAFpWfr zF^xos2niRfKeg=O7$Zy|-=zqD9~N+*J@M&gHySRV%!jsnoE92nC@qvV`bXc&5kt`7 zx2hoeY`!Qz0Tu`sqhEX^OF%eC9$XV394uNX@dI<+U$XF$VgjF0S8Zt0uw95XMt5wP z7aFV8GH>uLK*Ig9#@8p4od22&axXabSRWN=OK-%72F2yk)xbH>D;Fzq9VRZlDAO{? z4YIA)NaFf}R1Py51hyhOi6(+c`nQUE{x)+RG}1(!IqI)@8orC0+^-yxx+w>?wPlU$ zVG_XpUDy(T0kpw-T06C`S@6-h>4xXd>H6zXT;Ft>pG`yfm+3ybypLhPrA?uc7~K=y zDk?-~8QM8i$iX5+2D!y3po^%_SHk&G1REv^`2T`jOXxJHhliol9u^i}))wF<^sS_* zx2OnFTtpm%Dyl6iD%RN$6={=94qleR|yex>$C^JC7 z3&jc}!uRK-5=A)>Q=an#T`{?C#0L113AD|^(+Mgi(Ty`3%LFVk^8LTET#+9_0x&vI<-UL>f|(ybl`x_J z{a6SZ#lp=}zzO*Mbj1NT0~>#h*2A7(WCWc%=AdgVd=n};m-fhDLQXhNo$Qm_$jZQg z&uH+y)#!DQBYFX@Zo9{W>tQd)fV`b6_fmE1=N7z_c))rf;itH zSa@EleG`-j@3uLYrUPe&zMv~Z8?3aj(5-+g15(v8o<_CynQ`e;v|lK$CW6>R6w%J* z`I>B4;8*VSqEbu2FX#mPXL|WJfZqjkBByp|s)0ptpheEeu4|%q77DmzB^NvWWO~g9 z%_ZH4w9>am2NuSwXWGJTAc%FlTSYk|xa*QeQWYLs}HFo?<5H4&?Ox)N1vl&P)uVKL-Rf_~=*d>8ZA2k>vKH4K+ z1q8@O1#Do*KtW;Tw4iEqGU%Bspruy9eex<)Evp|~|0H!^QW-?hC=V*qFZ3S6l1gzF zTdL($7Obd0OZAsfSs)eR_FKF;=~y~GRsM^?1F8sp*WLVGgLG29E$hI^20 zc9ivjYFg!v0v8Vf`l!Put;$@BGOdoZW_>TU-NHXlTJ@=pU*zm-zDB4|WFV;BSpe0a z%zbM^)Ep!zTWXqo29IPkI@)pC?#*t9Y2u?fs7g`YLiV(hYOjyt*IlCKAti zm-@l8F5D~nTb^CPJEvn~CW6QBPbg%iy$s7Up3aV<1r2bUX$H;C5>OAnA{V|t6g;bO zu+QaKfypZZr#qX-P3?#KM_yE1Bsrs}Ulqh?{?W6<%4l>)0(f{^O%(n2y8tlw9$4mXW_F;O5(@8rkKUPrw;qiCpxQ) zo(#wT`QH|kgOR4N*~ANXM4nTj7Wkzh&D+DSFEoN?5cAW~Lyy@p%V~P zm85I{RyUAuIq)RGMZUiPcw*$6-p3br$BFi9O@WR{TVkitXEdY( z?!eN1Ob3X?e9U-}>Ln5}7;!+3sA6PoPm~_xDG}ABG&BcXT*zXS+JJ-@FFZ9C<=lO1 zQNk4{C*baXe;IE7K&XtmZyXlcv~8VKf-Ot-(DmWN`z;r)cNMPUn6@G-HxjmI#*1n@ zbKi?>Lz8l;RazPC!Pg|=E)43dy2|Q|*bA`}M7i>}Dv$_=yusvE|xEV~jr)DS|8h|LZ?yz3=_pZUVm$y zfC;NRkHLi1oIYUqYBpLheA!E_69TrBH~;_GVF27psKE;9-(V? z*D^a~L9@f{IfZD?@WbcM$OkVAmf?qa;~~Rbt~Vm9iV~(mfiRy#^|Pc8v88=t%JIga z!b3qt_N^k4U2e_vOQOth`WAH)SZV#vs>a}nu%n*{_93xXXYq+FL5F~dtqF7p)~pm^ zUDw-eGTxpdJ$g$m?hcP%`S*bTJ^6wx4PFDwiI-AHAtck?F6~`mAnu4qSmxw+d9ab8 zp4*~4%aCFJnn8wWi2z-lOMTa+de(9Jjm)L{jLx$M=T%znZ%C8tj6hHbmUoS3!ZqTr zY=%Jw*A)PUm_IGCGhp?j7UlT`FdSY}z)%#S2j5Nz7rp4#=?-a?b*4|YZWnvNgZ9kC z2Cv-Tw3Eet3tQtABokp=BPA&f^a)?_0FY{#31k4`-xrRIwFwJd-})Pz)?k18rLGX- z?Md>=w=93mhiUyvid}k%%m4wE6Osa27!C3>M9o;s(u(&(@n_(cJ0RKhC|95jCjN>5 z%jPqDxu^{;m8AjXTC1>dae>8|K~@qhm%iOHq#%gb4Cck8LI`xkSTWeF(3l-t$3L;cnKjD_fr{1*4vt5}0V`DI5%Qyb_3@WT z2WrNXGGu~TN74h|@zIxQQs^My9V03rw;#3{eIjDxFB6+Z5mzLIU`PA3;E?w# zE$S;O`Vt;c2Rz%60o23+{_z0;f!iN6|2?FT0z(QXE0bybbtaAtbm zraN)&NjJ{gzX@nQn;vXmN~FR81+yqHuOyUd1h!DiIU!C${XLuz2*n^cshGL}5LN0@ za{7ah?)*-tAkdpR4yHsy!;+H5RUv6~0|pH~l?PeL3%6@5OlWq0QK+Su5U}dCfe9B( z2&qw(?v8#Eu#l`GFAfak6C!-npB4|gk)a5Z8Rv~q>=0S= zAN&8(GR+@w5$JEAg!5*oFEvAj@K=hBC--}A^LqI^MyMnT;w~921o?|)!;GwIlg}|h z?hUf4K%RMz0oFy`Vq$UqtcVCfw9%ir*I$ANJBwhMY=L&>Q{;UNghWF1Ub5DW@P%sD zA$*+AmLWnKq68y*JLYS>XOr0>*+LYsx|h2$Kw0qb#ueI6`aKU;0I>;t394DFB{GOn z=%O?tv%iH5#6tF-e(+)I2C-iScYwyk%G^Xu(`2B}HG`8?%a>$!d4# zA?x${$WpIE>m7_d~Q}BeEen zJgBZpp$rJPw4)%*?l`u9%fa9pY0OK35pY5x`9->@)2!9yZ5y5?+#?!*$L!V;^8y{kH?IH9RV2=hwdJPak zI1z>jo)a;;D?Ikv%~fjHOYo6y&mU+O*&LOB%!|O6mjl~<14Z5`rPe4l)l{CE)HeT# zsJeoV&>}aK1c7*ROU1LF#ujfW3IxS6{w&^qjsh{_WzP^9KY2H9v|;*k{p07#YKIn% zHUD69V3=U-?*j!k+jPc9wEc5R}5DD3RxIKzh(5vi)6WFZ;&=mJO^w zaOw?kvD3>_Z~+|960P7u<=zkwUkr1ULMw>H0Xg=$xO^|!tLbd3>uKq1BkKgR2i3u< z#MJOb{c*%Uq=L8r1h5MJr2`#&0eh4^zWE;+jB0T;KWGn)f^AT6)Qj7>Eq$>|iQ^v&>DX?T1>nYOI_!m#$^)h(2aUf;B z!W#BcB+d?ZSem>=6Ty}UBvY*{H~8H@XE-FY93n>P3SN+@W@rW5@f~HQMxa&*S}klA z=mG+U7u3Ry1%fWemK^8?Ezb%yO0;MRKix$fyA`Ny4kb&3MsB%KS5=%MkQPT(Qe>g} zOtviU3tnHLHY9?fw76t~a2R+>O7Mj`H2bC9B4GZ^6O`2#t9lXn+H}Hupp5Prh zZ)taVG(lK+e!dbdtLJf~=(<3?179;ds}=g~AMD*KqRA)BH?VE+uT;cTOZ|*&xwGMsGxrH)CG7tcQ`=|tOO5|)B-foh_d zo&$JrI$~6203PTZs3aCBjGrXt)bPk9SAq-@r<6YhWTC@Y3s@C#-S;obvW)z_T`S}d zBaL01+3ubg^$F#p^#xk*rhL(_?nU4(XtWT<#IF_k6X0n%CHaG*Zp80Uxh3GAojNk`9LIU%+kTi3-nA~6ln?SYhNRIfntP#e)lIS8u-a3CWroKYb_DL}AlI{fokpl42USAZaxa35^GckscYAh_^7;O<xgQO(8smz8@zuT`vv5$|=bJFWj6_c;1{vY`%v7&7`R@u(>TbI7S*Mv8lg0`ZQq zD(?c~%^S;~ekA@K+PNs+ia4)lP2s#aYh>TF>Fss?eD`E_+`nnvZH^}J{*r`*E8t`F zhTenH9nP4Lf>ItU0+a${#q3pB@*D>7KMQLM?KxNUv?N9QWPs<~*3%MrWq=LvXWIGK zKs>ZOyE%MGfhFMbb0w2X3jm|Vh=X-0^8tQ@ z1#y;wJ8(L#32=w80Q~g3EB0y5wO*!wt^=TBghSu=zV=0PT& zUpN|b39rF+VjIsTJ++(KzdQXA;Piii@MKIs3socJTY)_Djvg#|e1Dw(=uPIkJd1d) z3m19*mc%^|GQt^;ANIvMkj?I7Mm!91=dNAOW-) zL%&bhOwJGFe=h7Xt7CFW-^ z8DD*cwn%9ooPj4o8viaLF`S>T!o%f&oDLmPXz65>>#_Wv4v(*%x1!Ik8#(nZT}NQ! zfsyg#bM%{CC?hNKa}WEle7>rEEAv{WFmpv+#+}VhL8ZApU25lJ+jUIuJhTz1+9CAy z%)PO8k4DldahhF6sk(BzV8E2)Bw-JD0AV@4b8G!cDO<&wY36dI=6Bs?Vi>YN)BfRi`db?nu@uqaCXK zmh3g{d9Y6-F)}`Rpz1+N+_&A+f_hu~?wUnYqvmt&eu3p$vQeX{ZcV2B!N2Ec|C677 zdP7hEb8p>i0Ur4>x0Qdz;v-)X!r{b_{(A_Ad;$=hlr!lafd_}29<)e&c%^(z2)&J( zu1m(HKPV$!RBTIw=XBc5B?w7N9)g~#swA(Z-Ell@?ba-R!)QlO`r*#h;p@%Pl{W5m zfdqc5(2gE2O0T8CV=^s#iFO&m5cD8V1*F~2R|v$;CJO|&iyyY$QvL?Q0soAU{_DD< zP%S^hxaIkWa|zW9AFn4?3JXtRf{;EM{UMbM!;#3IQu${$pS=D?$yW%w5pC&qd`NhQ z(wUV+3-Z7gZ7FxdNwoi(yJ19&Zsjjv#)}`^cknRLt^FU-t=MoB?F|s^#mT#KO1{EB ziN=Kwb>}I8AVB>29)k1bI*+4K+le%^XjrI??Prj-$KBF;zpeWsXOsHUQqIhK9-6q+*_EZAnMo_ulgx-kVp?^-JBQy&u*CwuYTvspI_`8;GU zcMrHU?LHO#&9?oRVe09@y++B;-J8ANN=!C6>K68ORCFsRf6aPRDB<>~NBg|@x{M$# z_FIH+l(-4w9qY@#m>1JiTHV|}Jy2N{hireJ#;BQSX~(W>&7izZszc_&n@!bYQP%gV z2)rr{Pd|;`cfgYE#l{M|BNtQ8AD(eaxE#tORiQp*u=88{Chj91mlWAzGwl-!--!B< zH950&9S*9ye?i0}mfNg!+vR=J8>*!~5in)B838=J4*k5aF<|p5F&1U%DaVUZzm} z$Dy)-_NXWeSbdc5SiZ|_ho6hA!Cg6gjz`41@GE75{A~FB$91ODdPRBk%k4%U8Qwat zSKYdMW7fXl&pJb0-@K;psB$?x2&yLLc_=y|%L~`;UB`;p{W-*;2=DeyXJI!%X#H)Y zo1IW&A{9}{(Y)esLmo2s3LBq(^v#!cg;&s4=_Y%pyOZbjB_}1Tv}7cb1UIU@A-#P3 zI9q9O&YTTHm2gp(cZmP7Jo6)01KB?A(I9$aJaYa?SR${qtEc!^0nWz{-o0vw{m|c@ zojJJ|GM7Zg<{y$eEjCUPxudR;n=MG=@KXJM z^M6HiT5pM7ZTA8x_b_|RtBXY%BMKIm!V=ObxX`b&M~7ddREx~_iuxXb00Rc-Alo`_dlm_Pv*Ao7ftf z<2iY=E$LKBLF*x|I??;y{dH|~V^#0FXE*S8d>wT?7Jb>)`#ra(xt~KgL5osl@w4&$ zdz_49_Y;T7ywos@q>qpjxsjxSw`?&cMexXok}i1$3V8l8uEfPjfHoybN73z}8Bg zQw~y)*LizNOVL0)tD^XB%{xu|ipJm7B_no4kq{)bp-4z;Plk#?JuLpm5pGEGE_mjq z5XutDs4{xgJJbgjf}~MUr-t2$0=_;ERzgTxJP6MWUJpTB8GGq~nrWC-i-kO+JQvmc z1@d%S=<=DPov#W9XU$Ht5C;XPZIszBh_ue;WaX?s6&7M};haSn19jIr-hzO)x+&}Q z&eU(wMA&ag^xQafw2JMGDc^d6$y}Fx`|P}jm8tG*q{6?^<~^FZmO51YkKPtnr%^F7|W#rovY90DbMe+Ca9KJf=S;?$Pixzy&U{tdNw z#ph|Z4xG*(?RCHVnE%kDZpdoymbQ^w57vc}N9?OI_xk$EcBoFQV2Zz>jG@Z>#kcde zQ>`5-!Y12~uo9hlT_APD6z~4kiKJs=&xT*Ki?)wu)JPB*pwig&0*`IlU|PsDQyye> z;6jhWxWD9~6LJGJ6B)75&jo9)9(Tyj5SBUILFPctFVs|Jtgc2`YG>oC(NyYlfv-P- zjZo-h?oQt?Gbj5iCq9X7Q>(FidPefR+pJS!>BlkQr!TLUj|RFudo3w_dQ5rWXQ#m< zJe`H(Y6(KypI&@(j@KRRBQR6+bHc7qe}-l8IW3{CAc1wES7@F_DT<1vyG+$2fHz5j zbdD-iIZLovyKf^C6Ro$(E^3{JR~5g()_2KlW0K}5gjfl(L*nx;*ajnHi;W&g+>>~) z^$k;(uENPa)=*ep$d^W|q~~#z6@~(B111qWUl`q~5O>?S_nT^rmHbyfiq-~yvIA2G zuG@uOY`9=rn?(}Wp$rd^HqG?@lA&^1B7D5ByI+qy$gqE;BB>?idaHns-sFA1me1zF z4`uWQW{rJO=US&M$Br>p>^qVf%|5q%=)!9gx})*^-L0~XzI;RV7m*6bZg!Ek$epF! z-6ZTNd@GYZBsSUl*1)z0rta1{JaIi{_k1)DC-d6h^u@Dl-A_AQE;(6w#37TzWSmG%=G4iRj{dxP*fX_kB; zhmn3}cW1P_X9~nT>T4MvR=?Y@xj3d)Cn1!MH-K`ZV$6tR#5GmqgCX|Idj@0+UWiK6 zU1m2Sc=@$G=fjJxMrlF;aet1t*{4#?0^DP03tn#wrJ(s5Q!bUn}${H=+G#u*vVoNV$ntE6EV~tDq?o*v#Y|qbS zk=-3U;a&3lal0O}aI|@l6<{p%Q~vh=iB5YdsNcAi9g%DcIR}e z$Z`|5W@~#r?0w|Kd+8kpf{D*-OIiH`T{EM#-`EdMJTzhvuFtAd8r%2i=ED}rF3~3L zo;S5>qf-=f&!rn>pnxnFknax*!aPE(ex&Clu^-`|D6-_5?MHeQog8}eeR@2oy1=;a zx_;fq9WwK^8s$AXmiL|C;>N;;M2fON;`}fb3CIl|M43vDDrfK)6ksm%_78!@lO^H9 zdgWUiXe-`A?*eOKBbHVu4q9npH>+}#9S7XT7wP6?g?w17K)J!2A{ANMLkAhXwD1GZ zKo7G=efj~TV~ZA_!HO`N1(%MSe@$*_FfT}%%qDx_t&fMak>eKJQr8r+kP*0CY5=1V z07lcpL96md)Cz&EC<<^YyJiv)^GD^vLnv)TCH=FQ{ROE?KktA>DWOdGnQw5;F$M(0 zN7*gke?<-k$(`2cS={-tRE-1Y_QI8LMTWg;LDf2)Ox02?S}A_vX0@>Jv&4f$DtbBj z6tjUU=gBBo(*w7csm;LMTsMTv=zI&k6G?iUkB_2DOk^`>T)Au?`EZBFQ>o$h^N9>4 zBKRlYu8W4{5r1irOJa@SuBsA^P(E7|ZgbZ|TH}U&-tjG6Ds7+6@m3^!nWfEo?av|H z_rO#=?ERH<*IGZ3rsNqA9e3F=LBU2pqP>rr-A}r`53^X~uV^|r+JmRVaS%-G&7 zL(n%Op(n?QfaYHB?$8&{PH&3HxcZ)wYqB=CtVsu6aX7S`(Y4lXO1j60SFQ1|lI2}$ z;+piF_CQ>9%#y`o;PJr!xghRR1`ce=Kl9$dp~fx7l-yoASm32UL>L@J zBBXlc{!4a1?evH-z*pj@7{PQXQMK0oP_E=D%4@--1dvLcogy zr;`sBDT5UMfm`vkvYuNFj{4tmoc@Y0PS^h|Q~qF-+=>PT!*O4bX#=eZZvR&TRG1QDo zh-dTW{3^ZO^3uAyj<@{`re0bOoqPUh&XiSa;+CJm#E#NK2QGUVo-*&O|1|RLvzJZa z`{dy8eBMI#M5wn zE24LBwZx$J z9BqD8xHgsVKmu2*Y9>90*Jimb>xAOryeiceXY04031JF39>*LaLiIR+$3QZ`^iI-6 zI$^r5#8$Pe-N)@aw@tsVOPqW^IJ<+Gl8X4arUIVR#f&oxQ&5@0@mFZTH#A^lmHo_VW%q$@}#EHWTX}-q$@= z*jZ)5B7N!L<-1LJ)-*o#$FeP9FSNUg1;&L*8~OIg(3V^>dp4fBU4jRHr&@$nk0i^0 z8At!!mnn7^I;S6=rrMwT;JqZzHqJW1umeMf3Y2FCZ8a+;yym{C4LTTTlFd4PC4BnE z>@HAy|5CLtg7{CYt#%p7=U=Y2bF$TK;t_m@=Qb1;9GeyKy!be_*dvSv$;)=Ov>D|Y z91d*uYHMvt3vsdAnRt}s>WO=`kK;v#pJvRh>ta>-zv`|7DvE5|HbIggIf?{9vgD{l z$&zzU5+pRSyP-)6DhLQDK_p3(oI#>Zk|bF&NR*s&h8}*yoAEKenKwG`|G)lUt9x~? zs(WkiI(6#Qx#ygF>&YTcAi(az)lS$&?~G_*Tf+@~8M}g$uGz07LA)bXy2VpM1Zpb> zWkOIt71mWeuvL$L{$DkdZk(;v0{7A~Z@y<$NwJWD9~&c=>+ewR8S1WkIQ zvTT|+InYD2r>d)~h*^3hHTR3c7ndQj>?wrHot0rKjTp%oo{Rc&VL$?6ZGc}z{d0u@ zm?(fi$MZV*C=okN2_pY)28PBpdi~oU?*VUz%Sb5Am z0@DuU&!-Z-GeYf1Ek?EWG9h?m%xve&NDtJrqG@n*e$yJp!`CecHm7L&3M^=+_= z?h6v0^pt?1p?h(sw4Zu|mOCFB1`I0Ws>m`nwg@Z|sBKK{x*T-1$e&FNzI%MoT`s`w z`~Jx44WY>4_R(9zjV9AFP*mEj-KGRRl9}+G(t{7hQEtf``@;9Rn)fv*JEYjwS`HW! zAB{0=Egv5YJr>)osqq$s#U0GQynrjmJ)f2gFHtV4VPi5#Rb3O@Fj9& zlkW6lG)-q?w5qh`>M@&6jq_26R|w88>(mR1M$`dxAa`0~imK*5KSTO1(2Poy_x-|i0|t=P`6iDTdDt=z9Z_>atkW z%(uDKXlfV$0MuV+7m;JRn4Wk!^DT zB*Wkf&0~+#$;7KkJL21%MURHhj7*3h7GOTSnXpDudv}ckR=%FZ_2T;0)_zZgt2rsT z^KzE+6W)mMZbNFN*f~MJ;e-&O2c=-=bSvnNWqlu&@<_l3nlk%B|KY)-`BmC@D`i6! z%8jCC)hAQ|&yfN7RbPQrphj$C413&F2_u4edS9&;p<%lX^HL#=H3^jrRXKyyYG;pG za)Qy8NJGl^s1RzLeJ0nvO2L7+XwC9cQ4fQLVD?m=miJ-(o4Ojg&i!0MeWD?)H~N@+ z4^v6FltX9KW?qDl9@EOa6r|$oo67Zqyvc<_lnwijC}zNICyNX=3e-+!6on#ek(J zc~49?QGf#$k0p!nrR4C5>G8}X2Jf@w^&O#Wqj|2JK1sh%H_X&EW@#F~y0$hKo;2OI z)`8HHiFFy2*Pa;Is2i%h06V-X>U_K;O<-A>KU=w`25x+u&Zx`qVaLuQ;JQ zZEo3yy7hJCytBPvjO6Z?O37P4nQ(MF5Pd?2Wu9|f`n+mqbZD8oNpNWZ2gu;<6}o&o z8xB%|yo^%t?FCDf`NkedZ+xTBP)U_l!fk>#Vj~9wg`MG{8?fDYS7py79&-C|RUVZU zE~6Pkkm59#a#%%;S7*eXTua_e+c*9>EywrSOBMUxV{Qi5Gb~W@B{~N+W;E#Ucy`mh&sZNhz?^YB=cf#pPE!c(nW=r~GnmL8_9MZCTeoqu zp6Xign|I~yAlauWCbASkNr);Ql?!M8A5}cA=T$se4(Hl(sfvf}56W~d=E)2E*^VEp z-1%Ec{{KALjCi2^XpR!m^vBa|h{ivgMM8A>(S!z~>3o3=N;sGS-9a`W6EOIJnTrXx2`{^g zqaz~m3IO0DzFFso0tgFlzg+^@BMx=`K^*FmWg_yhhuA|j%#_SPAUPWl*zuu@nLYO( zZKPq+SAr;g-;|lg$`NQ`>4G?H$|W$X3oyjA>ED6jU9xr;=8xn14S#L+W-p;+o}(Zu ze22ny>7XhOKzGCnCFk{$IyPWy#4IgEOAtuY+RTC5iHl24QS*X^>QDFhYo3Rfc*4$k zqHui2^X?^7O*h9&9A#ZB&A^r}zta3CV_xpx80-HBegB$!_9gBP=iE^d>4V>0Nuo>m z-$?QN(Z;`nhFJFCPtm?zw99DUHvTnQ$E9<7b$)JFJikM`b?G!T%T1tQw zEzLmSZ%9%<)atMK)Li0oUIGk2ll_j*=s48Dotj~RU1 z{nrdG+?Zd@6!=^Q=!jhU?=*na!O=k; zcbF821&#jfZ6|-e>u(@qGJlW!=Py$c`tx0Xjof(YoX=NwLagfa9rFLq%1-~H^H{0h z@wlw>2>botUiMymNfPHSJHlQ6j=}$c%Z`nGj(W@Q;>j+KKt(EjbB=mNQxWmx#nu2L z%)Y&)i@bxCBY~770f7I7m@w^8>1n1 zEtR~|bGz$;^5!3|L`J3CwLlE`ifmvu5$`KI*1LxLI=TdTN@|`NmtDa`mBT>I_R*H} zmcXFZx+mwIj4NSCuSuJLN1!4nOhixrtPusH{^0DPtD9AcvFG@c#-gsV{f?uq$0BEE zFG1i9yU1krdpw6eu6ChS6L10jM_gEJCBQ2x?qw>_WB$Fl02wYrul(aV@#p zTolc68JS&dY_qR9R06Egs_j=|VvM~g=?Z0n)a#P^wxY<6uW&ngX(w&S-+Ks52kE9V zXIQw0ncvkGm+D*eUW_XTTrc{d`b%IiL(Mra7QLVHlG+1eh=QUYf`jtfi@q?&@v>ZFv_gI2=_V5z6gPLhQ=?X!6Z?dncN@nNwJ%t;W)*t5Ih`in z@3kp>OtDX4lewOsrgpEUu|N1Tm9+6P>YPvp(QUg(zM3(TAQ)H(xxH#V-&=pAy9-w27)FQ5uaUsebH3)oken zBrXmmU2j&d#S`^rlmEPangYSut#FD7-RN-vYLSjP)_SYe z4C&WkBI&gxA4p{Df{^!3DS$nd4$KAW?7Bz|dih$-`@}3Q=4%dh+&N#WJ_QS!4HFU|HI6PlIT)pR|rrRvH(*u7Mx!Yi5}|-NQ>o`QjSB8i$9cM^L*JXV>m2EPKgaWpO0pURR>a#{m9E zN5==8CTLH^U|YO;^J|5DL36~nOQsmKB$T@2QRk!btb~DIj7;)vXO7}uxzNbp7jrbu z=$vAij(QAxys*Gk}qx!U- zZ!l59u|U6UC9XJZTx(!kkZGGtzBrHZY<89sCs^!+P_e~z+b!7g?vX+XeY7VVW_fnC zZs7236FhlJW#y3&W?W^ew~#hla@!S-D^~8$^98S>vNnHUg1&h2W?IeBIOVjGR;b7m z|Kr{5BcmkX6fun%^>tlhejI^5De4YGI34X|-79JAD{s&e9OiqGuua*WPhC+K`1DHm z85qNPn)TYDR0*UfM5q31=xv&-VG7Rolba9M1H$p*$6Muh%kr%J+2lWDzj2a}N}{Xr zj8Mo#50|7oV&=IQq?#$E{V*P-cYrL5N$w6ORV`+qWSpAlVy4xC6Rc+fz{amn*&QhJ zj=%g_1bJwP)kABv`RCdJ3wpO|4DflOET_qk)PpZO((RCjh7fq(6!h!x>}oRI{YPr% z8YR#Bzm~L+Xy*aiDw`?ibw)=WZ*O2|w01w~;s<@!;&$qnx4mDecM@N@{;XkvC{eQ& z>xFL#fjsXS6TViDfPKs(U5Z!^kCg`nvTKZ4*JgXymM2 z0b1NK6zeujTf*gv%{m#Gu}UTz)}}O)vU@cd)Y}nDH$tdO-dq;!!DU!H;mj-lFfkqE zZTnaO)`eft6wq4n=w=9%B1$hm61VwbscjXp0=8AtUTT1X{*Ca;8>%gRNyn%7J`Sy; zNS+h8Z6G-oxM?JZ(om&?%l#an`!I8i3Gi!Qh6uaX%{@-1{-D!9-VZ7_^EO%QTOjWU zkFsZPX^B+m&vh#kH0ZkPtrA6Jn?c&N!- zDu5<@==Fe@lvw@HRFc@jNcSVEhk^TQ_8R^SS&Wi;qY%pM=NgCH1}~4&4fx$n(R*Wg zE6tohOk(?KRke%|=8Twu)&~2&(%7(86KvP$e5Zcz>iZ{?^+Gf#Eea`WS-VVjS8tpo zmM?H*S4ofTgyhaK*(dXRgW^YwLZd^B{6(k<>w`{bvS&GWC0os6Ya%cxAZL3u)LSpe z;8%j@EjF~IQum-FwM*Ae0Vu?!iWJtijOfR{GO(l=ot$;k1bbTs?Svx-E$sw%N$m;E zv#D2+#+5rF{6|J)l%|{{36)DFp@*=sGqqouB5}6No*(Jp22>L$FdxY?YK?Y(*@+Kd zb&v~ktZ#SNEu+d_7b**0;@+<;o>`N2P0j5M*Ce)Q^oc+vQoR!d(bw`+C#QNEvvR`1 z%F4tvIHkHcj!$vVeB>!@vmT?rS=Mu#Y7IN=1a{^UD?Cv&=aASA1=@eyoC;Ks_p+W*;YhDy}QXrJ7 zrX+-SS%FKhAR>&;L;iH7ul0r}ULr^PVD7bG2Ja2B-U!jL_?rVneR1O3(N=droR_$KJiHxm)RPj8WxN z=p>*M7Nf1>faF{LCGPR#U*vfV=MO4m-U{gsha^1wWDjaHAVSDM>JsvGmMhMri>aWQuX?PIcH=T~F)=;C?8t}NtK z{o+-1E;;OZ@4(LO9j#aFbK*wq2uO}we2{S z>rtn6iB3*Z0Y6qTI?#ZQ4xMSMDX>tyv@wTIY7Cvd^}+Ao9?!m3Gl_ptA+{vpI&gzI zgiP#EM5>Vk$oNb8b+QT@95Fib*#LU&>#L#p(44$lff^EvMKKWO%pHW+uXZs4 Z!TM*Eul`~T^m9=@#1Nu>*Nra{@L%m#z&`*0 diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_wmn_2_4.root b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/Analysis_wmn_2_4.root deleted file mode 100644 index b2d419c68b40cd49d975e7d62b7c8ec2eda5ebe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107843 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

C9##>eg|Mq$$PTM#NJGYLXpc~ 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

rmj7)lGRR{g1I3k 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 O2QD5yhq@lS2K+zuDJOXV diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/data13XXXX.root b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/data13XXXX.root deleted file mode 100644 index f9a38d2479932561eba392b997d67bd955d84f6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26483 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 - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_RELEASE_BASE/src/PhysicsTools/Utilities/macros"); - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_BASE/src/PhysicsTools/Utilities/macros"); - gROOT->SetMacroPath(macroPath.c_str()); - gSystem->AddIncludePath("$CMSSW_RELEASE_BASE/src"); - gSystem->AddIncludePath("$CMSSW_BASE/src"); - gROOT->ProcessLine(".L setTDRStyle.C"); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - setTDRStyle(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_all.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_all.C deleted file mode 100644 index b12cce4d68d18..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_all.C +++ /dev/null @@ -1,19 +0,0 @@ -#include "stack_zGolden.C" -#include "stack_zmTrk.C" -#include "stack_zmTrkMu.C" -#include "stack_zmSta.C" -#include "stack_zmm1hlt.C" -#include "stack_zmm2hlt.C" -#include "stack_zmmNotIso.C" -#include "stack_zmm0neLess2p4.C" - -void stack_all() { - stack_zGolden(); - stack_zmTrk(); - stack_zmTrkMu(); - stack_zmSta(); - stack_zmm1hlt(); - stack_zmm2hlt(); - stack_zmmNotIso(); - stack_zmm0neLess2p4(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_common.h b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_common.h deleted file mode 100644 index 93a0bb72dc30a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_common.h +++ /dev/null @@ -1,257 +0,0 @@ -#ifndef STACK_COMMON_H -#define STACK_COMMON_H - -#include -#include "TChain.h" - - - -const int canvasSizeX = 500; -const int canvasSizeY = 500; - -const Color_t zLineColor = kAzure+2; -const Color_t zFillColor = kAzure+6; -const Color_t wLineColor = kAzure+4; -const Color_t wFillColor = kAzure+2; -const Color_t qcdLineColor = kGreen+3; -const Color_t qcdFillColor = kGreen+1; -const Color_t ttFillColor = kRed+1; -const Color_t ttLineColor = kRed+3; -const Color_t ztFillColor = kYellow-9; -const Color_t ztLineColor = kYellow-1; - - -const double lumi =.020 ; -const double lumiZ = 100. ; -const double lumiW = 100.; -const double lumiQ = 35.; -const double lumiT =100.; -const double lumiZT =100.; - - -const double mMin = 60; -const double mMax = 120; - - - - - -//TCanvas *c1 = new TCanvas("c1","Stack plot",10,10,canvasSizeX, canvasSizeY); -TCanvas *c1 = new TCanvas("c1","Stack plot"); - - - - - - - - - -void setHisto(TH1 * h, Color_t fill, Color_t line, double scale, int rebin) { - h->SetFillColor(fill); - h->SetLineColor(line); - h->Scale(scale); - h->Rebin(rebin); -} - -void stat(TH1 * h1, TH1 * h2, TH1 * h3, TH1 * h4, TH1 *h5, TH1 * hdata, int rebin) { - double a = mMin/rebin, b = mMax/rebin; - double i1 = h1->Integral(a, b); - double i2 = h2->Integral(a, b); - double i3 = h3->Integral(a, b); - double i4 = h4->Integral(a, b); - double i5 = h5->Integral(a, b); - - double idata = hdata != 0 ? hdata->Integral(a, b) : 0; - std::cout.setf(0,ios::floatfield); - std::cout.setf(ios::fixed,ios::floatfield); - std::cout.precision(1); - std::cout <<"Zmm (" << mMin << ", " << mMax << ") = "; - std::cout.precision(8); - std::cout << i1 <Add(h5); - hs->Add(h4); - hs->Add(h3); - hs->Add(h2); - hs->Add(h1); - - hs->Draw("HIST"); - if(hdata != 0) { - hdata->SetMarkerStyle(20); - hdata->SetMarkerSize(1.3); - hdata->SetMarkerColor(kBlack); - hdata->SetLineWidth(2); - hdata->SetLineColor(kBlack); - hdata->Rebin(rebin); - hdata->Draw("epsame"); - hdata->GetXaxis()->SetLabelSize(0); - hdata->GetYaxis()->SetLabelSize(0); - hs->SetMaximum( hdata->GetMaximum() + 5); - gStyle->SetErrorX(1); -} - hs->SetMinimum(min); - hs->GetXaxis()->SetTitle("m_{#mu^{+} #mu^{-}} (GeV/c^{2})"); - - std::string yTag = ""; - switch(rebin) { - case 1: yTag = "events/(GeV/c^{2})"; break; - case 2: yTag = "events/(2 GeV/c^{2})"; break; - case 3: yTag = "events/(3 GeV/c^{2})"; break; - case 4: yTag = "events/(4 GeV/c^{2})"; break; - case 5: yTag = "events/(5 GeV/c^{2})"; break; - case 10: yTag = "events/(10 GeV/c^{2})"; break; - default: - std::cerr << ">>> ERROR: set y tag for rebin = " << rebin << std::endl; - }; - - hs->GetYaxis()->SetTitle(yTag.c_str()); - hs->GetXaxis()->SetTitleSize(0.05); - hs->GetYaxis()->SetTitleSize(0.05); - hs->GetXaxis()->SetTitleOffset(1.2); - hs->GetYaxis()->SetTitleOffset(1.2); - hs->GetYaxis()->SetLabelOffset(0); - hs->GetXaxis()->SetLabelSize(.05); - hs->GetYaxis()->SetLabelSize(.05); - // leg = new TLegend(0.65,0.55,0.85,0.75); - leg = new TLegend(0.75,0.65,0.9,0.8); - if(hdata != 0) - leg->AddEntry(hdata,"data"); - leg->AddEntry(h1,"Z#rightarrow#mu #mu","f"); - leg->AddEntry(h2,"W#rightarrow#mu #nu","f"); - leg->AddEntry(h4,"QCD","f"); - leg->AddEntry(h3,"t#bar{t}","f"); - leg->AddEntry(h5,"Z#rightarrow#tau #tau","f"); - leg->SetFillColor(kWhite); - leg->SetFillColor(kWhite); - leg->SetShadowColor(kBlack); - leg->Draw(); - c1->SetLogy(); - TPaveText *pave = new TPaveText( 0.5 * (hdata->GetXaxis()->GetXmax() - (hdata->GetXaxis()->GetXmin())) , (hdata->GetMaximum()) + 1.5 , hdata->GetXaxis()->GetXmax() , hdata->GetMaximum() + 9 ); - pave->SetFillColor(kWhite); - pave->SetBorderSize(0); - TText * t1 = pave->AddText("CMS Preliminary 2010"); - TText * t2 = pave->AddText("L_{int} = 20 nb^{-1} #sqrt{s} = 7 TeV"); // change by hand, can be improved..... - t1->SetTextColor(kBlack); - t2->SetTextColor(kBlack); - pave->Draw(); - stat(h1, h2, h3, h4, h5,hdata, rebin); - c1->Update(); -c1->SetTickx(0); -c1->SetTicky(0); -} - - - - - -// allowing two variables, for plotting the muon variables... -void makePlots(const char * var1, const char * var2, TCut cut, int rebin, const char * plot, - double min = 0.001, unsigned int nbins, double xMin, double xMax, bool doData = false) { - - - -TChain * zEvents = new TChain("Events"); - -zEvents->Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_ZmmPowhegSpring10HLTRedigi_100pb.root"); -TChain * wEvents = new TChain("Events"); -wEvents->Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_wmunuPowhegSpring10HLTRedigi_100pb.root"); -// 100 pb -TChain * tEvents = new TChain("Events"); -tEvents->Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_ttbarSpring10HLTRedigi_100pb.root"); -// 100 pb -TChain * qEvents = new TChain("Events"); -qEvents->Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_incl15Spring10HLTRedigi_35pb.root"); -TChain * ztEvents = new TChain("Events"); -ztEvents->Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_ztautauSpring10HLTRedigi_100pb.root"); -// 35 pb - - -TChain * dataEvents= new TChain("Events"); - -dataEvents->Add("/scratch2/users/degruttola/data/NtupleLoose_135149.root"); -dataEvents->Add("/scratch2/users/degruttola/data/NtupleLoose_136033.root"); -dataEvents->Add("/scratch2/users/degruttola/data/NtupleLoose_136087.root"); -dataEvents->Add("/scratch2/users/degruttola/data/NtupleLoose_136100.root"); -dataEvents->Add("/scratch2/users/degruttola/data/NtupleLoose_137028.root"); - - - - -// .020 pb - - - - - - - TH1F *h1 = new TH1F ("h1", "h1", nbins, xMin, xMax); - // h1->Rebin(rebin); - TH1F *h2 = new TH1F ("h2", "h2", nbins, xMin, xMax); - // h2->Rebin(rebin); - TH1F *h3 = new TH1F ("h3", "h3", nbins, xMin, xMax); - //h3->Rebin(rebin); - TH1F *h4 = new TH1F ("h4", "h4", nbins, xMin, xMax); - //h4->Rebin(rebin); - TH1F *h5 = new TH1F ("h5", "h5", nbins, xMin, xMax); - - zEvents->Project("h1", var1, cut); - zEvents->Project("h1", var2, cut); - - wEvents->Project("h2", var1, cut); - wEvents->Project("h2", var2, cut); - - - tEvents->Project("h3", var1, cut); - tEvents->Project("h3", var2, cut); - - qEvents->Project("h4", var1, cut); - qEvents->Project("h4", var2, cut); - - ztEvents->Project("h5", var1, cut); - ztEvents->Project("h5", var2, cut); - - - // TH1F *hdata = doData? (TH1F*)data.Get(var) : 0; - if (doData) { - TH1F *hdata = new TH1F ("hdata", "hdata", nbins, xMin, xMax); - dataEvents->Project("hdata", var1, cut) ; - dataEvents->Project("hdata", var2, cut) ; - } - makeStack(h1, h2, h3, h4, h5, hdata, min, rebin); - c1->SaveAs((std::string(plot)+".eps").c_str()); - c1->SaveAs((std::string(plot)+".gif").c_str()); - c1->SaveAs((std::string(plot)+".pdf").c_str()); - -} -#endif diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGolden.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGolden.C deleted file mode 100644 index 7c2a0fd695ccf..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGolden.C +++ /dev/null @@ -1,16 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGolden() { - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>9 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenMass", "", cut_zGolden, 5, "zGolden", 0.001, 200, 0 ,200, true); - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenPt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenPt.C deleted file mode 100644 index 85b74d56dd9c3..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenPt.C +++ /dev/null @@ -1,17 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenPt() { -TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>9 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenPt", "", cut_zGolden, 5, "zGoldenPt", 0.001, 200, 0 ,200, true); - hs->GetXaxis()->SetTitle("p_{T #mu^{+} #mu^{-}} (GeV/c)"); - string yTag = "events/(5 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenPt.eps"); - c1->SaveAs("zGoldenPt.gif"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenY.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenY.C deleted file mode 100644 index 0f7b81d7fb954..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zGoldenY.C +++ /dev/null @@ -1,18 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - - -void stack_zGoldenY() { -TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>9 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenY", "", cut_zGolden, 1, "zGoldenY", 0.001, 30, -3 ,3, true); - hs->GetXaxis()->SetTitle("y_{#mu^{+} #mu^{-}}"); - string yTag = "events/0.2"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenY.eps"); - c1->SaveAs("zGoldenY.gif"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmSta.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmSta.C deleted file mode 100644 index f7f24a976c883..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmSta.C +++ /dev/null @@ -1,12 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - - -void stack_zmSta() { - makePlots("goodZToMuMuOneStandAloneMuonPlots/zMass", 5, "zmSta", - 0.0001); -} - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrk.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrk.C deleted file mode 100644 index 5beb120212269..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrk.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmTrk() { - makePlots("goodZToMuMuOneTrackPlots/zMass", 5, "zmTrk", - 0.0001, true); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrkMu.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrkMu.C deleted file mode 100644 index 93ee28061fadc..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmTrkMu.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmTrkMu() { - makePlots("goodZToMuMuOneTrackerMuonPlots/zMass", 5, "zmTrkMu", - 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm0neLess2p4.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm0neLess2p4.C deleted file mode 100644 index 45f2966ff85fb..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm0neLess2p4.C +++ /dev/null @@ -1,9 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm0neLess2p4() { - makePlots("goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLTPlots/zMass", 1, "zmm1hltEta24", 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm1hlt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm1hlt.C deleted file mode 100644 index 9f7f55c682754..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm1hlt.C +++ /dev/null @@ -1,15 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm1hlt() { - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>9 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==0 || zGoldenDau2HLTBit==0) "); - - makePlots("zGoldenMass", "", cut_zGolden, 5, "zGolden1hlt", 0.001, 200, 0 ,200, true); -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm2hlt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm2hlt.C deleted file mode 100644 index 4f617850d2997..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmm2hlt.C +++ /dev/null @@ -1,15 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm2hlt() { - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>9 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenMass", "", cut_zGolden, 5, "zGolden2hlt", 0.001, 200, 0 ,200, true); -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmmNotIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmmNotIso.C deleted file mode 100644 index bb6bdfbdf2d5b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlot10pb/stack_zmmNotIso.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmmNotIso() { - makePlots("nonIsolatedZToMuMuPlots/zMass", 5, "zmmNotIso", - 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/compareMCandDataShape.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/compareMCandDataShape.C deleted file mode 100644 index 4b3b1d38b3f25..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/compareMCandDataShape.C +++ /dev/null @@ -1,212 +0,0 @@ -#include -#include -#include "stack_common.h" - -void compareMCandDataShape(){ - - - -const Color_t zLineColor = kBlack; -const Color_t zFillColor = kOrange-2; - -const double lumi =0.077 ; -//const double lumi =0100.0 ; -const double lumiZ = 100. ; - -/// cuts common.... -TCut kin_common("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( abs(zGoldenDau1dxyFromBS)<0.1 || abs(zGoldenDau2dxyFromBS)<0.1 ) "); - - - -TCut dau1Loose(" (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 "); -TCut dau2Loose(" (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 "); - -TCut dau1TightWP1("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP1("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1"); - - -TCut dau1TightWP2("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP2("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1"); - -TCut dau1TightWP1_hltAlso("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau1HLTBit==1"); -TCut dau2TightWP1_hltAlso("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1 && zGoldenDau2HLTBit==1"); - - -TCut massCut("zGoldenMass>60 && zGoldenMass<120 "); - - -void makeStack(TH1 * h1, TH1 * hdata, - double min, int rebin) { - setHisto(h1, zFillColor, zLineColor, lumi/lumiZ, rebin); - - THStack * hs = new THStack("hs",""); - - - hs->Add(h1); - - hs->Draw("HIST"); - if(hdata != 0) { - hdata->SetMarkerStyle(20); - hdata->SetMarkerSize(1.0); - hdata->SetMarkerColor(kBlack); - hdata->SetLineWidth(2); - hdata->SetLineColor(kBlack); - hdata->Rebin(rebin); - hdata->Draw("epsame"); - hdata->GetXaxis()->SetLabelSize(0); - hdata->GetYaxis()->SetLabelSize(0); - // log plots, so the maximum should be one order of magnitude more... - // hs->SetMaximum( pow(10 , 0.0 + int(log( hdata->GetMaximum() ) ) )); - // lin plot - hs->SetMaximum( 4 + hdata->GetMaximum() ) ; - // gStyle->SetErrorX(.5); -} - hs->SetMinimum(min); - hs->GetXaxis()->SetTitle("m_{#mu^{+} #mu^{-}} (GeV/c^{2})"); - - std::string yTag = ""; - switch(rebin) { - case 1: yTag = "events/(GeV/c^{2})"; break; - case 2: yTag = "events/(GeV/c^{2})"; break; - case 3: yTag = "events/(3 GeV/c^{2})"; break; - case 4: yTag = "events/(4 GeV/c^{2})"; break; - case 5: yTag = "events/(5 GeV/c^{2})"; break; - case 10: yTag = "events/(10 GeV/c^{2})"; break; - default: - std::cerr << ">>> ERROR: set y tag for rebin = " << rebin << std::endl; - }; - - hs->GetYaxis()->SetTitle(yTag.c_str()); - hs->GetXaxis()->SetTitleSize(0.05); - hs->GetYaxis()->SetTitleSize(0.05); - hs->GetXaxis()->SetTitleOffset(1.2); - hs->GetYaxis()->SetTitleOffset(1.2); - //hs->GetYaxis()->SetLabelOffset(1.0); - hs->GetXaxis()->SetLabelSize(.05); - hs->GetYaxis()->SetLabelSize(.05); - - leg = new TLegend(0.75,0.55,0.90,0.7); - if(hdata != 0) - leg->AddEntry(hdata,"data"); - leg->AddEntry(h1,"Z#rightarrow#mu #mu","f"); - //leg->AddEntry(h5,"Z#rightarrow#tau #tau","f"); - leg->SetFillColor(kWhite); - leg->SetFillColor(kWhite); - leg->SetShadowColor(kBlack); - leg->Draw(); - // c1->SetLogy(); - // TPaveText *pave = new TPaveText( 0.5 * (hdata->GetXaxis()->GetXmax() - (hdata->GetXaxis()->GetXmin())) , (hdata->GetMaximum()) +1 , hdata->GetXaxis()->GetXmax() , 10 * hdata->GetMaximum() ); - - TPaveText *pave = new TPaveText( 0.6 , 0.75 , 0.9 , 0.8 , "NDC"); - pave->SetFillColor(kWhite); - pave->SetBorderSize(0); - // TText * t1 = pave->AddText("CMS Preliminary 2010"); - // TText * t2 = pave->AddText("L_{int} = 61 nb^{ -1} #sqrt{s} = 7 TeV"); // change by hand, can be improved........... - TText * t = pave->AddText("#int L dt = 77 nb^{ -1}"); - t->SetTextColor(kBlack); - // t2->SetTextColor(kBlack); - pave->Draw(); - - TPaveText *ppave = new TPaveText( 0.15 , 0.95 , 0.65 , 1.0 , "NDC"); - ppave->SetFillColor(kWhite); - ppave->SetBorderSize(0); - // TText * t1 = pave->AddText("CMS Preliminary 2010"); - // TText * t2 = pave->AddText("L_{int} = 61 nb^{ -1} #sqrt{s} = 7 TeV"); // change by hand, can be improved........... - TText * tt = ppave->AddText("CMS preliminary 2010"); - // hs->SetTitle(" #sqrt{s} = 7 TeV"); - tt->SetTextColor(kBlack); - // t2->SetTextColor(kBlack); - ppave->Draw(); - - TPaveText *pppave = new TPaveText( 0.6 , 0.95 , 1.0 , 1.0 , "NDC"); - pppave->SetFillColor(kWhite); - pppave->SetBorderSize(0); - TText * ttt = pppave->AddText("#sqrt{s} = 7 TeV"); - ttt->SetTextColor(kBlack); - // t2->SetTextColor(kBlack); - pppave->Draw(); - -} - -void setHisto(TH1 * h, Color_t fill, Color_t line, double scale, int rebin) { - h->SetFillColor(fill); - h->SetLineColor(line); - h->Scale(scale); - h->Rebin(rebin); -} - -// allowing two variables, for plotting the muon variables... -void comparePlots(const char * var1, const char * var2, TCut cut, int rebin, const char * plot, - double min = 0.001, unsigned int nbins, double xMin, double xMax, bool doData = true) { - - - -TChain * zEvents = new TChain("Events"); - - - zEvents->Add("/scratch2/users/degruttola/Spring10Ntuples_withIso03/NtupleLoose_zmmSpring10cteq66_100pb.root"); -TChain * wEvents = new TChain("Events"); - -TChain * dataEvents= new TChain("Events"); - - -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_132440_135802.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_135821-137731.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_138737-138751_promptreco_FF.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_138_919_939.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139020.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_096_103.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_195_239.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139347.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_356_360.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_362_365.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_368_370.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_372_375.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_399_411.root"); - -// .040 pb - - TH1F *h1 = new TH1F ("h1", "h1", nbins, xMin, xMax); - TH1F *hh1 = new TH1F ("hh1", "hh1", nbins, xMin, xMax); - - zEvents->Project("h1", var1, cut); - zEvents->Project("hh1", var2, cut); - h1->Add(hh1); - - TH1F *hdata = new TH1F ("hdata", "hdata", nbins, xMin, xMax); - TH1F *hhdata = new TH1F ("hhdata", "hhdata", nbins, xMin, xMax); - dataEvents->Project("hdata", var1, cut) ; - dataEvents->Project("hhdata", var2, cut) ; - hdata->Add(hhdata); - makeStack(h1, hdata, min, rebin); - c1->SaveAs((std::string(plot)+".eps").c_str()); - c1->SaveAs((std::string(plot)+".gif").c_str()); - c1->SaveAs((std::string(plot)+".pdf").c_str()); - - - hdata->KolmogorovTest(h1, "D"); - hdata->Chi2Test(h1, "UWP"); - - -} - - - - comparePlots("zGoldenMass", "", kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ,2 , "compareZGoldenMass_b2", 0.001, 70, 60 ,130, true); - - TCut kin_common_woPt("zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - comparePlots("zGoldenDau1Pt", "zGoldenDau2Pt", massCut + kin_common_woPt + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 2, "zGoldenDauPt", 0.01, 100, 0 ,100, true); - hs->GetXaxis()->SetTitle("p_{T #mu} [GeV]"); - string yTag = "events/2 [GeV]"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("compareZGoldenDauPt_b2.gif"); - - -} - - - -#endif diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/makeListOfCandidates.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/makeListOfCandidates.C deleted file mode 100644 index c75fb6496d24a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/makeListOfCandidates.C +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef STACK_COMMON_H -#define STACK_COMMON_H - -#include -using namespace std; -#include "TChain.h" - - - - -void makeListOfCandidates() { - - - -/// cuts common.... -TCut kin_common("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - -TCut kin_common_musta("zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso03SumPt< 3.0 && zMuStaDau2Iso03SumPt < 3.0 && abs(zMuStaDau1Eta)<2.4 && abs(zMuStaDau2Eta)<2.4 && (zMuStaDau1HLTBit==1 || zMuStaDau2HLTBit==1) && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 "); - -TCut kin_common_mutrkMu("zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1Iso03SumPt< 3.0 && zMuTrkMuDau2Iso03SumPt < 3.0 && abs(zMuTrkMuDau1Eta)<2.4 && abs(zMuTrkMuDau2Eta)<2.4 && (zMuTrkMuDau1HLTBit==1 || zMuTrkMuDau2HLTBit==1) && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2 "); - - -TCut kin_common_notIso("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso03SumPt> 3.0 || zGoldenDau2Iso03SumPt>3.0) && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - -TCut dau1Loose(" (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 "); -TCut dau2Loose(" (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 "); - - - -TCut dau1TightWP2("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP2("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1"); - -TCut dau1TightWP1_hltAlso("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && abs(zGoldenDau1Eta)<2.1 && zGoldenDau1HLTBit==1"); -TCut dau2TightWP1_hltAlso("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau2HLTBit==1"); - - - -TCut massCut("zGoldenMass>60 && zGoldenMass<120 "); - - - - -TChain * dataEvents= new TChain("Events"); - - - dataEvents->Add("../NtupleLoose_132440_139790.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_965_971.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_972_980.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_058_076.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_116_126.root"); - - - - - - - std::cout << " - -Z-->mu mu golden candidate in the mass range [60-120] " << std::endl; -Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenPt:zGoldenDau1Eta:zGoldenDau2Eta:zGoldenDau1Pt:zGoldenDau2Pt", "zGoldenMass>60 && zGoldenMass<120" + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ); - - std::cout << " - -run number Z-->mu mu golden candidate in the mass range [60-120] " << std::endl; -Events->Scan("zGoldenRunNumber", "zGoldenMass>60 && zGoldenMass<120" + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ); - - - std::cout << " - -Z-->mu mu candidate outside the mass range [60-120] " << std::endl; -Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenPt:zGoldenDau1Eta:zGoldenDau2Eta:zGoldenDau1Pt:zGoldenDau2Pt:zGoldenDau1Iso03SumPt:zGoldenDau2Iso03SumPt:zGoldenDau1Iso03EmEt:zGoldenDau2Iso03EmEt:zGoldenDau1Iso03HadEt:zGoldenDau2Iso03HadEt:zGoldenDau1NofMuonHits:zGoldenDau2NofMuonHits:zGoldenDau1NofPixelHits:zGoldenDau2NofPixelHits", "zGoldenMass<60 || zGoldenMass>120" + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ); - - std::cout << " - -Z-->mu mu candidate not isolated in the mass range [60-120] " << std::endl; -Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenPt:zGoldenDau1Iso03SumPt:zGoldenDau2Iso03SumPt:zGoldenDau1Eta:zGoldenDau2Eta:zGoldenDau1Pt:zGoldenDau2Pt", "zGoldenMass>60 && zGoldenMass<120" + kin_common_notIso + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ); - - std::cout << " - -Z-->mu sta candidate in the mass range [60-120] " << std::endl; -Events->Scan("zMuStaRunNumber:zMuStaLumiblock:zMuStaEventNumber:zMuStaMass:zMuStaPt:zMuStaDau1Eta:zMuStaDau2Eta:zMuStaDau1Pt:zMuStaDau2Pt", "zMuStaMass>60 && zMuStaMass<120" + kin_common_musta ); - - -std::cout << " - -Z-->mu trk candidate in the mass range [60-120] " << std::endl; -Events->Scan("zMuTrkRunNumber:zMuTrkLumiblock:zMuTrkEventNumber:zMuTrkMass:zMuTrkPt:zMuTrkDau1Eta:zMuTrkDau2Eta:zMuTrkDau1Pt:zMuTrkDau2Pt", "zMuTrkMass>60 && zMuTrkMass<120" + kin_common_mutrkMu ); - - -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/plotMuHLTBit.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/plotMuHLTBit.C deleted file mode 100644 index 3b0e77eda813e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/plotMuHLTBit.C +++ /dev/null @@ -1,58 +0,0 @@ -{ - - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau2TrkIso < 3.0 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=11 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=11 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 "); - -TChain * z = new TChain("Events"); -// z.Add("/scratch2/users/degruttola/Spring10Ntuples/NtupleLoose_ZmmPowhegSpring10HLTRedigi_100pb.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_132440_135802.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_135821-137731.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_138737-138751_promptreco_FF.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_138_919_939.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139020.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_096_103.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_195_239.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139347.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_356_360.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_362_365.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_368_370.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_372_375.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_399_411.root"); - z.Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_457_459.root"); - - - - TCut eta1cut(" abs(zGoldenDau1Eta)>2.1 && abs(zGoldenDau1Eta) <2.4 "); - TCut eta2cut("abs(zGoldenDau2Eta) < 2.4"); - - z.Project("hltBit", "zGoldenDau1HLTBit", cut_zGolden + eta1cut + eta2cut); - - - int N2 = hltBit.Integral() ; - int N1 = hltBit.Integral(0,1) ; - // cout << "hltBit.Integral()" << N2 << endl; - // cout << "hltBit.Integral(0,1)" << N1 << endl; - - - TCut eta1cut("abs(zGoldenDau1Eta) < 2.4"); - TCut eta2cut("abs(zGoldenDau2Eta)> 2.1 && abs(zGoldenDau2Eta) <2.4 "); - - z.Project("hltBit", "zGoldenDau2HLTBit", cut_zGolden + eta1cut + eta2cut); - - - // cout << "hltBit.Integral()" << hltBit.Integral() << endl; - // cout << "hltBit.Integral(0,1)" << hltBit.Integral(0,1) << endl; - N2 += hltBit.Integral(); - N1 += hltBit.Integral(0,1); - - - double eff= ((double) N2 - (double) (2 * N1)) / ((double) N2 - (double) ( N1)) ; - cout << "eff " << eff << endl; - - cout << "N2 --> number of reco glb muons passing all cut ==" << N2 << endl; - cout << "N2 - N1 --> number of reco glb muons passing the trigger path ==" << N2 - N1 << endl; - cout << " eff = N2 - 2N1 / N2 -N1" << endl; - cout << " N2 - 2N1 (successes) == " << N2 - 2 * N1<< endl; - cout << " N2 - N1 (trials) == " << N2 - N1<< endl; -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/qualityCutCheck.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/qualityCutCheck.C deleted file mode 100644 index e18ca9d1aa178..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/qualityCutCheck.C +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef STACK_COMMON_H -#define STACK_COMMON_H - -#include -using namespace std; -#include "TChain.h" - - - - -void qualityCutCheck() { - - - -/// cuts common.... -TCut kin_common("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - -TCut kin_common_musta("zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso03SumPt< 3.0 && zMuStaDau2Iso03SumPt < 3.0 && abs(zMuStaDau1Eta)<2.4 && abs(zMuStaDau2Eta)<2.4 && (zMuStaDau1HLTBit==1 || zMuStaDau2HLTBit==1) && abs(zMuStaDau1dxyFromBS)<0.2 && abs(zMuStaDau2dxyFromBS)<0.2 "); - -TCut kin_common_notIso("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso03SumPt> 3.0 || zGoldenDau2Iso03SumPt>3.0) && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - -TCut dau1Loose(" (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 "); -TCut dau2Loose(" (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 "); - -TCut dau1TightWP1("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP1("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1"); - - -TCut dau1TightWP2("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP2("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1"); - -TCut dau1TightWP1_hltAlso("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau1HLTBit==1 && (abs(zGoldenDau1Eta)<2.1)"); -TCut dau2TightWP1_hltAlso("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1&& zGoldenDau2HLTBit==0 && (abs(zGoldenDau2Eta)<2.1)"); - - - - -TCut massCut("zGoldenMass>60 && zGoldenMass<120 "); - - - - -TChain * dataEvents= new TChain("Events"); - - dataEvents->Add("/scratch2/users/degruttola/data/OfficialJSON/NtupleLoose_132440_139790.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_965_971.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_972_980.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_058_076.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_116_126.root"); - - - - - - std::cout << "muon with high chi2 " << std::endl; - - Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenDau1Pt:zGoldenDau1Eta:zGoldenDau1Iso03SumPt:zGoldenDau1Chi2:zGoldenDau1NofPixelHits:zGoldenDau1NofStripHits:zGoldenDau1NofMuonHits:zGoldenDau1HLTBit:zGoldenDau1TrackerMuonBit:zGoldenDau1NofMuMatches:zGoldenDau1TrkChi2:zGoldenDau1SaChi2", "zGoldenMass>60 && zGoldenMass<120" + kin_common + "zGoldenDau1Chi2>10 || zGoldenDau2Chi2>10"); - - std::cout << "muon with hit pixel 0 " << std::endl; - - - Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenDau1Pt:zGoldenDau1Eta:zGoldenDau1Iso03SumPt:zGoldenDau1Chi2:zGoldenDau1NofPixelHits:zGoldenDau1NofStripHits:zGoldenDau1NofMuonHits:zGoldenDau1HLTBit:zGoldenDau1TrackerMuonBit:zGoldenDau1NofMuMatches:zGoldenDau1dxyFromBS:zGoldenDau2dxyFromBS", "zGoldenMass>60 && zGoldenMass<120" + kin_common + "zGoldenDau1NofPixelHits==0 || zGoldenDau2NofPixelHits==0"); - - std::cout << "muon chamber <2 " << std::endl; - -Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenDau1Pt:zGoldenDau1Eta:zGoldenDau1Iso03SumPt:zGoldenDau1Chi2:zGoldenDau1NofPixelHits:zGoldenDau1NofStripHits:zGoldenDau1NofMuonHits:zGoldenDau1HLTBit:zGoldenDau1TrackerMuonBit:zGoldenDau1NofMuMatches:zGoldenDau1dxyFromBS:zGoldenDau2dxyFromBS", "zGoldenMass>60 && zGoldenMass<120" + kin_common + "zGoldenDau1NofMuMatches<2 || zGoldenDau2NofMuMatches<2"); - - //Events->Scan("zMuStaRunNumber:zMuStaLumiblock:zMuStaEventNumber:zMuStaMass:zMuStaDau1Pt:zMuStaDau1Eta:zMuStaDau2Pt:zMuStaDau2Eta:zMuStaDau1HLTBit:zMuStaDau1NofMuMatches:zMuStaDau2HLTBit:zMuStaDau2NofMuMatches:", "zMuStaMass>60 && zMuStaMass<120"+ kin_common_musta ); - - std::cout << "muon hit 0 " << std::endl; - -Events->Scan("zGoldenRunNumber:zGoldenLumiblock:zGoldenEventNumber:zGoldenMass:zGoldenDau1Pt:zGoldenDau1Eta:zGoldenDau1Iso03SumPt:zGoldenDau1Chi2:zGoldenDau1NofPixelHits:zGoldenDau1NofStripHits:zGoldenDau1NofMuonHits:zGoldenDau1HLTBit:zGoldenDau1TrackerMuonBit:zGoldenDau1NofMuMatches:zGoldenDau1dxyFromBS:zGoldenDau2dxyFromBS", "zGoldenMass>60 && zGoldenMass<120" + kin_common + "zGoldenDau1NofMuonHits==0 || zGoldenDau2NofMuonHits==0"); - - - -} - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/rootlogon.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/rootlogon.C deleted file mode 100755 index b04133420cba6..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/rootlogon.C +++ /dev/null @@ -1,14 +0,0 @@ -{ - std::string macroPath = gROOT->GetMacroPath(); - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_RELEASE_BASE/src/PhysicsTools/Utilities/macros"); - macroPath += ":"; - macroPath += gSystem->ExpandPathName("$CMSSW_BASE/src/PhysicsTools/Utilities/macros"); - gROOT->SetMacroPath(macroPath.c_str()); - gSystem->AddIncludePath("$CMSSW_RELEASE_BASE/src"); - gSystem->AddIncludePath("$CMSSW_BASE/src"); - gROOT->ProcessLine(".L setTDRStyle.C"); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - setTDRStyle(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stackAll.sh b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stackAll.sh deleted file mode 100755 index d36af76f1814b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stackAll.sh +++ /dev/null @@ -1,17 +0,0 @@ -root -b -q stack_zGolden.C -root -b -q stack_zGoldenDauChi2.C -root -b -q stack_zGoldenDauEcalIso.C -root -b -q stack_zGoldenDauHcalIso.C -root -b -q stack_zGoldenDauMaxPt.C -root -b -q stack_zGoldenDauMinPt.C -root -b -q stack_zGoldenDauNofMuMatches.C -root -b -q stack_zGoldenDauNofMuonHits.C -root -b -q stack_zGoldenDauNofPixelHits.C -root -b -q stack_zGoldenDauNofStripHits.C -root -b -q stack_zGoldenDauTrkIso.C -root -b -q stack_zGoldenPt.C -root -b -q stack_zGoldenY.C -root -b -q stack_zmm1hlt.C -root -b -q stack_zmm2hlt.C -root -b -q stack_zGoldenIsTrackerMuon.C - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_all.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_all.C deleted file mode 100644 index b12cce4d68d18..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_all.C +++ /dev/null @@ -1,19 +0,0 @@ -#include "stack_zGolden.C" -#include "stack_zmTrk.C" -#include "stack_zmTrkMu.C" -#include "stack_zmSta.C" -#include "stack_zmm1hlt.C" -#include "stack_zmm2hlt.C" -#include "stack_zmmNotIso.C" -#include "stack_zmm0neLess2p4.C" - -void stack_all() { - stack_zGolden(); - stack_zmTrk(); - stack_zmTrkMu(); - stack_zmSta(); - stack_zmm1hlt(); - stack_zmm2hlt(); - stack_zmmNotIso(); - stack_zmm0neLess2p4(); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_common.h b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_common.h deleted file mode 100644 index c739f027a41b5..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_common.h +++ /dev/null @@ -1,527 +0,0 @@ -#ifndef STACK_COMMON_H -#define STACK_COMMON_H - -#include -#include "TChain.h" - -#include "TGraphAsymmErrors.h" - -const int canvasSizeX = 500; -const int canvasSizeY = 500; -const Color_t zLineColor = kOrange+3; -const Color_t zFillColor = kOrange-2; -// ewk: W+ztt -const Color_t ewkLineColor = kOrange+3; -const Color_t ewkFillColor = kOrange+7; - -const Color_t qcdLineColor = kViolet+3; -const Color_t qcdFillColor = kViolet-5; - - -const Color_t ttLineColor = kRed+4; -const Color_t ttFillColor = kRed+2; - -//const Color_t ztFillColor = kYellow-9; -//const Color_t ztLineColor = kYellow-1; - - - - -// 78 -double intLumi = 177 ; -//double intLumi = 100000; - -const double lumi = intLumi * .001 ; -//const double lumi =0100.0 ; -const double lumiZ = 100. ; -const double lumiW = 100.; -//adjust to new filter efficiency -const double lumiQ = 60.; -//scaling ttbar from 94.3 to 162. -const double lumiT =100. * (94.3/162.); -const double lumiZT =100.; - - -const double mMin = 60; -const double mMax = 120; - - - - - -/// cuts common.... -TCut kin_common(" (zGoldenDau1Q * zGoldenDau2Q) ==-1 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && ( (zGoldenDau1HLTBit==1 && abs(zGoldenDau1Eta)<2.1) || ( zGoldenDau2HLTBit==1 && abs(zGoldenDau2Eta)<2.1)) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); // && ( abs(zGoldenDau1dxyFromBS)<0.1 || abs(zGoldenDau2dxyFromBS)<0.1 ) "); - - - -TCut dau1Loose(" (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 "); -TCut dau2Loose(" (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 "); - -TCut dau1TightWP1("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP1("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1"); - - -TCut dau1TightWP2("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1"); -TCut dau2TightWP2("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1"); - -TCut dau1TightWP1_hltAlso("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && abs(zGoldenDau1Eta)<2.1 && zGoldenDau1HLTBit==1");// 2.1 can bacome 2.4 later.... -TCut dau2TightWP1_hltAlso("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau2HLTBit==1"); - - - -TCut massCut("zGoldenMass>60 && zGoldenMass<120 "); - - - - -TCanvas *c1 = new TCanvas("c1","Stack plot", 300,300,479,510); - - c1->SetLeftMargin( 87./479 ); - c1->SetRightMargin( 42./479 ); - c1->SetTopMargin( 30./510 ); - c1->SetBottomMargin( 80./510 ); - c1->SetFillColor(0); - c1->SetTickx(1); - c1->SetTicky(1); - c1->SetFrameFillStyle(0); - c1->SetFrameLineWidth(2); - c1->SetFrameBorderMode(0); - - - - - int lineWidth(3); - -if( logScale ) - { - lineWidth = 1; - } - - // histogram limits, in linear and logarithmic - int nbin_(100); - float xmin_(0.), xmax_(100.); - float ymin_(0.), ymax_(40.); - float yminl_(0.1), ymaxl_(200.); - - // titles and axis, marker size - TString xtitle; - TString ytitle; -int ndivx(506); - int ndivy(506); - float markerSize(2.); - - // canvas name - TString cname("c"); - TString ctitle; - - // legend position and scale; - float xl_ = 0.; - float yl_ = 0.6; - float scalel_ = 0.05; - ndivx = 120; - -if( logScale ) - { - ndivx=506; - ndivy = 506; - } - else - { - ndivy = 506; - ndivx=506; - } - - if( logScale ) - { - markerSize = 1.2; - } - else - { - markerSize = 1.2; - } - - - if( logScale ) - { - xl_ = 0.60; - yl_ = 0.60; - } - else - { - xl_ = 0.60; - yl_ = 0.60; - scalel_ = 0.06; - } - - - - -void setHisto(TH1 * h, Color_t fill, Color_t line, double scale, int rebin) { - h->SetFillColor(fill); - h->SetLineColor(line); - h->Scale(scale); - h->Rebin(rebin); - -} - -void stat(TH1 * h1, TH1 * h2, TH1 * h3, TH1 * h4, TH1 *h5, TH1 * hdata, int rebin) { - double a = mMin/rebin +1, b = mMax/rebin; - double i1 = h1->Integral(a, b); - double err1 = sqrt(i1); - double i2 = h2->Integral(a, b); - double err2 = sqrt(i2); - double i3 = h3->Integral(a, b); - double err3 = sqrt(i3); - double i4 = h4->Integral(a, b); - double err4 = sqrt(i4); - double i5 = h5->Integral(a, b); - double err5 = sqrt(i5); - - double idata = hdata != 0 ? hdata->Integral(a, b) : 0; - double errData = sqrt(idata); - - std::cout.setf(0,ios::floatfield); - std::cout.setf(ios::fixed,ios::floatfield); - std::cout.precision(1); - std::cout <<"Zmm (" << mMin << ", " << mMax << ") = "; - std::cout.precision(8); - std::cout << i1 << "+/- " << err1 <Add(h5); - - THStack * hs = new THStack("hs",""); - - - - - if (logScale) { - - - - hs->Add(h4); - hs->Add(h3); - hs->Add(h2); - } - //hs->Add(h5); - hs->Add(h1); - - hs->Draw("HIST"); - if(hdata != 0) { - hdata->Rebin(rebin); - - /* TGraphAsymmErrors* dataGraph = (TGraphAsymmErrors*)hdata; - dataGraph->SetMarkerStyle(kFullCircle); - dataGraph->SetMarkerColor(kBlack); - dataGraph->SetMarkerSize(markerSize); - // Remove the horizontal bars (at Michael's request) - double x_(0), y_(0); - for( int ii=0; iiGetN(); ii++ ) - { - dataGraph->SetPointEXlow(ii,0); - dataGraph->SetPointEXhigh(ii,0); - dataGraph->GetPoint(ii,x_,y_ ); - if( y_==0 ) - { - dataGraph->RemovePoint( ii ); - ii--; - } - } -dataGraph->Draw("pesame"); - */ - - hdata->SetMarkerStyle(kFullCircle); - hdata->SetMarkerSize(markerSize); - hdata->SetMarkerColor(kBlack); - hdata->SetLineWidth(lineWidth); - hdata->SetLineColor(kBlack); - //gStyle->SetErrorX(.5); - gStyle->SetEndErrorSize(2); - - hdata->Draw("PE1SAME"); - hdata->GetXaxis()->SetLabelSize(0); - hdata->GetYaxis()->SetLabelSize(0); - hdata->GetXaxis()->SetNdivisions(ndivx); - hdata->GetYaxis()->SetNdivisions(ndivy); - hs->GetXaxis()->SetNdivisions(ndivx); - hs->GetYaxis()->SetNdivisions(ndivy); - // log plots, so the maximum should be one order of magnitude more... - - - - hs->SetMaximum( 8 + hdata->GetMaximum() ) ; - if (logScale) { - hs->SetMaximum( pow(10 , 2. + int(log( hdata->GetMaximum() ) ) )); - } - // lin plot - - // - } - hs->SetMinimum(min); - - hs->GetXaxis()->SetTitle("M(#mu^{+} #mu^{-}) [GeV]"); - - - - std::string yTag = ""; - switch(rebin) { - case 1: yTag = "number of events/ 1 GeV"; break; - case 2: yTag = "number of events/ 2 GeV"; break; - case 2.5: yTag = "number of events/ 2.5 GeV"; break; - case 3: yTag = "number of events/ 3 GeV"; break; - case 4: yTag = "number of events/ 4 GeV"; break; - case 5: yTag = "number of events/ 5 GeV"; break; - case 10: yTag = "number of events/ 10 GeV"; break; - default: - std::cerr << ">>> ERROR: set y tag for rebin = " << rebin << std::endl; - }; - - hs->GetYaxis()->SetTitle(yTag.c_str()); - - - /* - hs->GetXaxis()->SetTitleSize(0.05); - hs->GetYaxis()->SetTitleSize(0.05); - - */ - if (logScale) { - hs->GetXaxis()->SetTitleOffset(1.0); - hs->GetYaxis()->SetTitleOffset(1.1); - - hs->GetYaxis()->SetLabelOffset(0.0); - hs->GetXaxis()->SetLabelSize(.05); - hs->GetYaxis()->SetLabelSize(.05); - } - - -//leg = new TLegend(0.75,0.55,0.90,0.7); - - - int nChan =2; - if (logScale) nChan = 4; -float dxl_ = scalel_*5; - if (logScale) dxl_ = scalel_*4; - float dyl_ = scalel_*(nChan); - if (logScale) dyl_ = scalel_*(nChan-1); - // TLegend* legend=new TLegend(xl_,yl_,xl_+dxl_,yl_+dyl_); - // TLegend* legend=new TLegend(0.65,0.54,0.95,0.796); - // legend on the left - TLegend* legend=new TLegend(0.2,0.78,0.4,0.93); - legend->SetLineColor(0); - legend->SetFillColor(0); - - - - - - //leg = new TLegend(0.20,0.7,0.35,0.85); - if(hdata != 0) - legend->AddEntry(hdata,"data", "pl"); - legend->AddEntry(h1,"Z #rightarrow#mu #mu","f"); - if (logScale) { - - legend->AddEntry(h2,"EWK","f"); - legend->AddEntry(h4,"QCD","f"); - legend->AddEntry(h3,"t#bar{t}","f"); - //leg->AddEntry(h5,"Z#rightarrow#tau #tau","f"); - } - - // legend->SetFillColor(kWhite); - //legend->SetFillColor(kWhite); - - legend->SetShadowColor(kWhite); - legend->Draw(); - - - -TLatex latex; - latex.SetNDC(); - latex.SetTextSize(0.04); - - latex.SetTextAlign(31); // align right - latex.DrawLatex(0.90,0.96,"#sqrt{s} = 7 TeV"); - if (intLumi > 0.) { - latex.SetTextAlign(31); // align right - latex.DrawLatex(0.85,0.84,Form("#int #font[12]{L} dt = %.0f nb^{-1}",intLumi)); - } - latex.SetTextAlign(11); // align left - latex.DrawLatex(0.12,0.96,"CMS preliminary 2010"); - - - stat(h1, h2, h3, h4, h5,hdata, rebin); - - // c1->Update(); - // c1->SetTickx(0); - // c1->SetTicky(0); -} - - - - - -// allowing two variables, for plotting the muon variables... -void makePlots(const char * var1, const char * var2, TCut cut, int rebin, const char * plot, - double min = 0.001, unsigned int nbins, double xMin, double xMax, bool doData = false, bool logScale=false) { - - - -TChain * zEvents = new TChain("Events"); - - -// zEvents->Add("/scratch2/users/degruttola/Spring10Ntuples_withIso03/NtupleLoose_zmmSpring10cteq66_100pb.root"); - - - - zEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_ZmmPowheg_36X_100pb.root"); -TChain * wEvents = new TChain("Events"); - wEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_wplusPowheg_36X_100pb_v2.root"); - wEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_wminusPowheg36X_100pb.root"); - -// 100 pb -TChain * tEvents = new TChain("Events"); -tEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_ttbar_36X_100pb.root"); -// 100 pb -TChain * qEvents = new TChain("Events"); -qEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_incl15_36X_60pb.root"); -TChain * ztEvents = new TChain("Events"); - ztEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_ztautauPowheg36X_100pb.root"); -// 35 pb - - -TChain * dataEvents= new TChain("Events"); - - - dataEvents->Add("/scratch2/users/degruttola/data/OfficialJSON/NtupleLoose_132440_139790.root"); - dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_965_971.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_139_972_980.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_058_076.root"); -dataEvents->Add("/scratch2/users/degruttola/data/jun14rereco_and361p4PromptReco/NtupleLoose_140_116_126.root"); - -// .040 pb - - TH1F *h1 = new TH1F ("h1", "h1", nbins, xMin, xMax); - TH1F *hh1 = new TH1F ("hh1", "hh1", nbins, xMin, xMax); - - // h1->Rebin(rebin); - TH1F *h2 = new TH1F ("h2", "h2", nbins, xMin, xMax); - TH1F *hh2 = new TH1F ("hh2", "hh2", nbins, xMin, xMax); - - // h2->Rebin(rebin); - TH1F *h3 = new TH1F ("h3", "h3", nbins, xMin, xMax); - TH1F *hh3 = new TH1F ("hh3", "hh3", nbins, xMin, xMax); - - //h3->Rebin(rebin); - TH1F *h4 = new TH1F ("h4", "h4", nbins, xMin, xMax); - TH1F *hh4 = new TH1F ("hh4", "hh4", nbins, xMin, xMax); - - //h4->Rebin(rebin); - TH1F *h5 = new TH1F ("h5", "h5", nbins, xMin, xMax); - TH1F *hh5 = new TH1F ("hh5", "hh5", nbins, xMin, xMax); - - - zEvents->Project("h1", var1, cut); - zEvents->Project("hh1", var2, cut); - h1->Add(hh1); - - wEvents->Project("h2", var1, cut); - wEvents->Project("h2", var2, cut); - h2->Add(hh2); - - tEvents->Project("h3", var1, cut); - tEvents->Project("h3", var2, cut); - h3->Add(hh3); - - qEvents->Project("h4", var1, cut); - qEvents->Project("h4", var2, cut); - h4->Add(hh4); - - ztEvents->Project("h5", var1, cut); - ztEvents->Project("h5", var2, cut); - h5->Add(hh5); - - // TH1F *hdata = doData? (TH1F*)data.Get(var) : 0; - if (doData) { - TH1F *hdata = new TH1F ("hdata", "hdata", nbins, xMin, xMax); - TH1F *hhdata = new TH1F ("hhdata", "hhdata", nbins, xMin, xMax); - dataEvents->Project("hdata", var1, cut) ; - dataEvents->Project("hhdata", var2, cut) ; - hdata->Add(hhdata); - } - makeStack(h1, h2, h3, h4, h5, hdata, min, rebin, logScale); - - - - if (logScale) c1->SetLogy(); - - c1->SaveAs((std::string(plot)+".eps").c_str()); - c1->SaveAs((std::string(plot)+".gif").c_str()); - c1->SaveAs((std::string(plot)+".pdf").c_str()); - - TFile * out = new TFile("plot.root", "RECREATE"); - - c1->Write(); -} - - -void evalEff(const char * var1, const char * var2, TCut cut, TCut cut_Nminus1, unsigned int nbins, double xMin, double xMax) { - - -TChain * zEvents = new TChain("Events"); - -// zEvents->Add("/scratch2/users/degruttola/Spring10Ntuples_withIso03/NtupleLoose_zmmSpring10cteq66_100pb.root"); -zEvents->Add("/scratch2/users/degruttola/Summer10Ntuples/Ntuple_ZmmPowheg_36X_100pb.root"); - TH1F * htot1 = new TH1F("htot1", "htot1", nbins, xMin, xMax); - TH1F * htot2 = new TH1F("htot2", "htot2", nbins, xMin, xMax); - TH1F * hcut1 = new TH1F("hcut1", "hcut1", nbins, xMin, xMax); - TH1F * hcut2 = new TH1F("hcut2", "hcut2", nbins, xMin, xMax); - - - zEvents->Project("htot1", var1, cut); - zEvents->Project("hcut1", var1, cut_Nminus1); - zEvents->Project("htot2", var2, cut); - zEvents->Project("hcut2", var2, cut_Nminus1); - - int npass = hcut1->Integral() + hcut2->Integral() ; - int ntot = htot1->Integral() + htot2->Integral() ; - - double eff = (double) npass / ntot; - double err = sqrt(eff * (1 - eff ) / (ntot)); - std::cout << " efficiency for the given cut: " << eff; - std::cout << " npass: " << npass; - std::cout << " nTot: " << ntot; - std::cout << " binomial error: " << err << std::endl; - - -} - - - -#endif diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGolden.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGolden.C deleted file mode 100644 index 5e31e481c5a4f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGolden.C +++ /dev/null @@ -1,70 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGolden() { - - - // TCut kin_common("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - // TCut dau1Loose(" (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 "); - // TCut dau2Loose(" (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 "); - - // TCut dau1TightWP1("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1"); - //TCut dau2TightWP1("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau2NofMuMatches>1 && zGoldenDau2TrackerMuonBit==1"); - - - //TCut dau1TightWP2("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1"); - // TCut dau2TightWP2("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1"); - - // TCut dau1TightWP1_hltAlso("zGoldenDau1Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau1HLTBit==1"); - // TCut dau2TightWP1_hltAlso("zGoldenDau2Chi2<10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofMuonHits>0 && zGoldenDau2TrackerMuonBit==1 && zGoldenDau2HLTBit==1"); - - - - - - - //TCut cut_zGolden("zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits+ zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1"); - - - // makePlots("zGoldenMass", "", kin_common + dau1TightWP1 + dau2TightWP1, 5, "zGolden", 0.001, 200, 0 ,200, true); - - - - - // evaluateing now the total efficency of the qulaity cut - - //TCut massCut("zGoldenMass>60 && zGoldenMass<120 "); - - //evalEff("zGoldenMass", "", kin_common + massCut, kin_common + massCut + dau1TightWP1 + dau2TightWP1 ,200, 0, 200); - - - - //makePlots("zGoldenMass", "", kin_common + ( ( dau1Loose && dau2TightWP1 ) || ( dau2Loose && dau1TightWP1 )) , 5, "zGolden", 0.001, 200, 0 ,200, true); - - //evalEff("zGoldenMass", "", kin_common + massCut, kin_common + massCut + ( ( dau1Loose && dau2TightWP1 ) || ( dau2Loose && dau1TightWP1 )) ,200, 0, 200); - - // WP2 - - //makePlots("zGoldenMass", "", kin_common + dau1TightWP2 + dau1TightWP2 , 5, "zGolden", 0.001, 200, 0 ,200, true); - - //evalEff("zGoldenMass", "", kin_common + massCut, kin_common + massCut + dau2TightWP2 + dau1TightWP2,200, 0, 200); - - // makePlots("zGoldenMass", "", kin_common + ( ( dau1Loose && dau2TightWP2 ) || ( dau2Loose && dau1TightWP2 )) , 5, "zGolden", 0.001, 200, 0 ,200, true); - - // evalEff("zGoldenMass", "", kin_common + massCut, kin_common + massCut + ( ( dau1Loose && dau2TightWP2 ) || ( dau2Loose && dau1TightWP2 )) ,200, 0, 200); - - makePlots("zGoldenMass", "", kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ,5, "zGoldenLog_b5", 0.001, 200, 0 ,200, true, true); - - evalEff("zGoldenMass", "", kin_common + massCut, kin_common + massCut + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) ,200, 0, 200); - - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauChi2.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauChi2.C deleted file mode 100644 index 238718fbe5019..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauChi2.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauChi2() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<1000 && zGoldenDau2Chi2<1000 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1Chi2", "zGoldenDau2Chi2", massCut + kin_common , 1, "zGoldenDauChi2", 0.0001, 100, 0 ,100, true, true); - hs->GetXaxis()->SetTitle("#chi^{2}"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauChi2.eps"); - c1->SaveAs("zGoldenDauChi2.gif"); - // c1->SaveAs("zGoldenDauChi2.pdf"); - - //TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - //evalEff("zGoldenDau1Chi2", "zGoldenDau2Chi2", cut_zGolden, Ncut, 100, 0, 100); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauDxy.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauDxy.C deleted file mode 100644 index 117cb80185a63..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauDxy.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauDxy() { - - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TCut kin_common_woDxy("zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - - makePlots("zGoldenDau1dxyFromBS", "zGoldenDau2dxyFromBS", massCut + kin_common_woDxy + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 1, "zGoldenDauDxy", 0.001, 100, -0.2 ,0.2, true); - hs->GetXaxis()->SetTitle("dxy from beam spot (cm)"); - string yTag = "events/(.001 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauDxy.eps"); - c1->SaveAs("zGoldenDauDxy.gif"); - // c1->SaveAs("zGoldenDauPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEcalIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEcalIso.C deleted file mode 100644 index b7518bf61fb93..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEcalIso.C +++ /dev/null @@ -1,24 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauEcalIso() { - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1EcalIso< 3000.0 && zGoldenDau1EcalIso < 3000.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - TCut kin_common_woIso("zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - makePlots("zGoldenDau1Iso03EmEt", "zGoldenDau2Iso03EmEt", massCut + kin_common_woIso + ( ( dau1Loose && dau2TightWP1_hltAlso) || ( dau2Loose && dau1TightWP1_hltAlso )) , 1, "zGoldenDauEcalIso", 0.01, 50, 0 ,10, true); - hs->GetXaxis()->SetTitle("#sum Et (GeV/c) (ecal)"); - string yTag = "events/(.2 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - hs->GetYaxis()->SetTitleOffset(1.2); - c1->SaveAs("zGoldenDauEcalIso.eps"); - c1->SaveAs("zGoldenDauEcalIso.gif"); - c1->SaveAs("zGoldenDauEcalIso.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEta.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEta.C deleted file mode 100644 index 43762fa23a0ac..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEta.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauEta() { - - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - - - makePlots("zGoldenDau1Eta", "zGoldenDau2Eta", massCut + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 1, "zGoldenDauEta", 0.001, 18, -2.7 ,2.7, true, false); - hs->GetXaxis()->SetTitle("#eta_{#mu}"); - string yTag = "events/(0.1)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauEta.eps"); - c1->SaveAs("zGoldenDauEta.gif"); - // c1->SaveAs("zGoldenDauPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEtaNotTriggered.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEtaNotTriggered.C deleted file mode 100644 index 3b93b676881c8..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauEtaNotTriggered.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauEtaNotTriggered() { - - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - - - makePlots("zGoldenDau1Eta", "zGoldenDau2Eta", massCut + kin_common + ( (dau2TightWP1 && dau1TightWP1_hltAlso && "zGoldenDau2HLTBit==0") || ( dau2TightWP1_hltAlso && dau1TightWP1 && "zGoldenDau1HLTBit==0" )), 1, "zGoldenDauEtaNotTriggered", 0.001, 18, -2.7 ,2.7, true); - hs->GetXaxis()->SetTitle("#eta_{#mu}"); - string yTag = "events/(0.1)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauEtaNotTriggered.eps"); - c1->SaveAs("zGoldenDauEtaNotTriggered.gif"); - // c1->SaveAs("zGoldenDauPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauHcalIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauHcalIso.C deleted file mode 100644 index fba86ac784519..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauHcalIso.C +++ /dev/null @@ -1,24 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauHcalIso() { - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1HcalIso< 3000.0 && zGoldenDau1HcalIso < 3000.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - TCut kin_common_woIso("zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - makePlots("zGoldenDau1Iso03HadEt", "zGoldenDau2Iso03HadEt", massCut + kin_common_woIso + ( ( dau1Loose && dau2TightWP1_hltAlso) || ( dau2Loose && dau1TightWP1_hltAlso )) , 1, "zGoldenDauHcalIso", 0.01, 50, 0 ,10, true); - hs->GetXaxis()->SetTitle("#sum Et (GeV/c) (hcal)"); - string yTag = "events/(.2 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - hs->GetYaxis()->SetTitleOffset(1.2); - c1->SaveAs("zGoldenDauHcalIso.eps"); - c1->SaveAs("zGoldenDauHcalIso.gif"); - //c1->SaveAs("zGoldenDauHcalIso.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMaxPt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMaxPt.C deleted file mode 100644 index 19a9466a278ae..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMaxPt.C +++ /dev/null @@ -1,18 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauMaxPt() { -TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("max(zGoldenDau1Pt,zGoldenDau2Pt)", "", cut_zGolden, 5, "zGoldenDauMaxPt", 0.01, 200, 0 ,200, true); - hs->GetXaxis()->SetTitle("p_{T #mu} (GeV/c)"); - string yTag = "events/(5 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauMaxPt.eps"); - c1->SaveAs("zGoldenDauMaxPt.gif"); - c1->SaveAs("zGoldenDauMaxPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMinPt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMinPt.C deleted file mode 100644 index 1b20f76f3d4ef..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauMinPt.C +++ /dev/null @@ -1,19 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauMinPt() { -TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits) >9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("min(zGoldenDau1Pt,zGoldenDau2Pt)", "", cut_zGolden, 5, "zGoldenDauMinPt", 0.01, 200, 0 ,200, true); - hs->GetXaxis()->SetTitle("p_{T #mu} (GeV/c)"); - string yTag = "events/(5 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauMinPt.eps"); - c1->SaveAs("zGoldenDauMinPt.gif"); - c1->SaveAs("zGoldenDauMinPt.pdf"); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuMatches.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuMatches.C deleted file mode 100644 index d16a0499431bf..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuMatches.C +++ /dev/null @@ -1,29 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauNofMuMatches() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10&& zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>-1 && zGoldenDau2NofMuMatches>-1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1NofMuMatches", "zGoldenDau2NofMuMatches", massCut + kin_common , 1, "zGoldenDauNofMuMatches", 0.001, 12, -0.5 ,11.5, true, false); - hs->GetXaxis()->SetTitle("# of matched chambers"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauNofMuMatches.eps"); - c1->SaveAs("zGoldenDauNofMuMatches.gif"); - // c1->SaveAs("zGoldenDauNofMuMatches.pdf"); - - - //TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10&& zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - //TCut Invcut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10&& zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches<2 && zGoldenDau2NofMuMatches<2 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - //evalEff("zGoldenDau1NofMuMatches", "zGoldenDau2NofMuMatches", cut_zGolden, Ncut, 100, -0.5, 99.5); - //evalEff("zGoldenDau1HLTBit", "zGoldenDau2HLTBit", cut_zGolden, Invcut, 1, 0.5, 1.5); - //evalEff("zGoldenDau1HLTBit", "zGoldenDau2HLTBit", cut_zGolden, Invcut, 1, -0.5, 0.5); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuonHits.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuonHits.C deleted file mode 100644 index d07bb75895d1f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofMuonHits.C +++ /dev/null @@ -1,35 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauNofMuonHits() { - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10&& zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>-1 && zGoldenDau2NofMuonHits>-1 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1NofMuonHits", "zGoldenDau2NofMuonHits", massCut + kin_common, 1, "zGoldenDauNofMuonHits", 0.001, 70, -0.5 ,69.5, true, false); - hs->GetXaxis()->SetTitle("# of muon hits"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauNofMuonHits.eps"); - c1->SaveAs("zGoldenDauNofMuonHits.gif"); - // c1->SaveAs("zGoldenDauNofMuonHits.pdf"); - - - //TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - - - - - - //evalEff("zGoldenDau1NofMuonHits", "zGoldenDau2NofMuonHits" , cut_zGolden, Ncut, 70, -0.5, 69.6); - - - - - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofPixelHits.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofPixelHits.C deleted file mode 100644 index 044124d23cf86..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofPixelHits.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauNofPixelHits() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>-1 && ( zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>-1 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1NofPixelHits", "zGoldenDau2NofPixelHits", massCut + kin_common , 1, "zGoldenDauNofPixelHits", 0.01, 10, -0.5 ,9.5, true, false); - hs->GetXaxis()->SetTitle("# of pixel hits"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauNofPixelHits.eps"); - c1->SaveAs("zGoldenDauNofPixelHits.gif"); - c1->SaveAs("zGoldenDauNofPixelHits.pdf"); - - - //TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - //evalEff("zGoldenDau1NofPixelHits", "zGoldenDau2NofPixelHits", cut_zGolden, Ncut, 10, -0.5, 9.5); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofStripHits.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofStripHits.C deleted file mode 100644 index 9d86b6716dd30..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauNofStripHits.C +++ /dev/null @@ -1,25 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauNofStripHits() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && zGoldenDau1NofStripHits>0 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofStripHits>0 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1NofStripHits +zGoldenDau1NofPixelHits ", "zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits", massCut + kin_common, 1, "zGoldenDauNofTrkHits", 0.001, 40, -0.5 ,39.5, true, false); - hs->GetXaxis()->SetTitle("# of tracker hits"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauNofTrkHits.eps"); - c1->SaveAs("zGoldenDauNofTrkHits.gif"); - // c1->SaveAs("zGoldenDauNofTrkHits.pdf"); - - // TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - // evalEff("zGoldenDau1NofStripHits +zGoldenDau1NofPixelHits ", "zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits", cut_zGolden, Ncut, 40, -0.5, 39.5); - - evalEff("zGoldenDau1NofStripHits +zGoldenDau1NofPixelHits ", "zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits", massCut + kin_common , massCut + kin_common + "(zGoldenDau1NofStripHits +zGoldenDau1NofPixelHits) > 10 && (zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits)>10 " , 40, -0.5, 39.5); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPhi.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPhi.C deleted file mode 100644 index 9fc2282c4b8d0..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPhi.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauPhi() { - - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - - - - makePlots("zGoldenDau1Phi", "zGoldenDau2Phi", massCut + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 1, "zGoldenDauPhi", 0.001, 20, -3.1415 , +3.1415 , true, false); - hs->GetXaxis()->SetTitle("#phi_{#mu}"); - string yTag = "events/(20/6.28)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauPhi.eps"); - c1->SaveAs("zGoldenDauPhi.gif"); - // c1->SaveAs("zGoldenDauPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPt.C deleted file mode 100644 index c315c6a7a767c..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauPt.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauPt() { - - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 0 && zGoldenDau2Pt>0 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits )>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - TCut kin_common_woPt("zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - makePlots("zGoldenDau1Pt", "zGoldenDau2Pt", massCut + kin_common_woPt + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 2, "zGoldenDauPt", 0.01, 100, 0 ,100, true); - hs->GetXaxis()->SetTitle("p_{T #mu} (GeV/c)"); - string yTag = "events/(5 GeV/c)"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenDauPt.eps"); - c1->SaveAs("zGoldenDauPtLin_r2.gif"); - c1->SaveAs("zGoldenDauPt.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauTrkIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauTrkIso.C deleted file mode 100644 index 01fb471208d14..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenDauTrkIso.C +++ /dev/null @@ -1,23 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenDauTrkIso() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3000.0 && zGoldenDau1TrkIso < 3000.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - -TCut kin_common_woIso("zGoldenDau1Pt>20 && zGoldenDau2Pt>20 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - - makePlots("zGoldenDau1Iso03SumPt", "zGoldenDau2Iso03SumPt", massCut + kin_common_woIso + ( ( dau1Loose && dau2TightWP1_hltAlso) || ( dau2Loose && dau1TightWP1_hltAlso )) , 1, "zGoldenDauTrkIso", 0.01, 25, 0 ,5, true, false); - hs->GetXaxis()->SetTitle("#sum pt [GeV] (tracker)"); - string yTag = "events/ .2 GeV "; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - hs->GetYaxis()->SetTitleOffset(1.2); - c1->SaveAs("zGoldenDauTrkIso.eps"); - c1->SaveAs("zGoldenDauTrkIso.gif"); - // c1->SaveAs("zGoldenDauTrkIso.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenIsTrackerMuon.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenIsTrackerMuon.C deleted file mode 100644 index bc66468106714..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenIsTrackerMuon.C +++ /dev/null @@ -1,27 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenIsTrackerMuon() { - - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenDau1TrackerMuonBit", "zGoldenDau2TrackerMuonBit",massCut + kin_common , 1, "IsTrackerMuon", 0.1, 3, -0.5 ,2.5, true); - - hs->GetXaxis()->SetTitle("IsTrackerMuon"); - string yTag = "events"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("IsTrackerMuon.eps"); - c1->SaveAs("IsTrackerMuon.gif"); - //c1->SaveAs("IsTrackerMuon.pdf"); - - //TCut Ncut("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit ==1 && zGoldenDau2TrackerMuonBit ==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - //evalEff("zGoldenDau1TrackerMuonBit", "zGoldenDau2TrackerMuonBit", cut_zGolden, Ncut, 100, -0.5, 99.5); - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenPt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenPt.C deleted file mode 100644 index 599e44fa9fc3b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenPt.C +++ /dev/null @@ -1,18 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zGoldenPt() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits )>9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenPt", "", massCut + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 5, "zGoldenPt", 0.001, 120, 0 ,120, true, false); - hs->GetXaxis()->SetTitle("p_{T #mu^{+} #mu^{-}} [GeV]"); - string yTag = "events/ 5 GeV"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenPt.eps"); - c1->SaveAs("zGoldenPt.gif"); - -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenY.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenY.C deleted file mode 100644 index 056c661716987..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zGoldenY.C +++ /dev/null @@ -1,19 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - - -void stack_zGoldenY() { - //TCut cut_zGolden("zGoldenMass>60 && zGoldenMass<120 && zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>9 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits ) >9 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenY", "", massCut + kin_common + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )), 1, "zGoldenY", 0.001, 31, -3 ,3.2, true, false); - hs->GetXaxis()->SetTitle("y_{#mu^{+} #mu^{-}}"); - string yTag = "events/ 0.2"; // use the correct rebin - hs->GetYaxis()->SetTitle(yTag.c_str()); - c1->SaveAs("zGoldenY.eps"); - c1->SaveAs("zGoldenY.gif"); - c1->SaveAs("zGoldenY.pdf"); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuSta.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuSta.C deleted file mode 100644 index 11114f541e244..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuSta.C +++ /dev/null @@ -1,38 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zMuSta() { - - /// cuts common.... - TCut kin_common("zMuStaDau1Pt> 20 && zMuStaDau2Pt>20 && zMuStaDau1Iso03SumPt<3.0 && zMuStaDau2Iso03SumPt < 3.0 && abs(zMuStaDau1Eta)<2.1 && abs(zMuStaDau2Eta)<2.1 && (zMuStaDau1HLTBit==1 || zMuStaDau2HLTBit==1) && ( ( zMuStaDau1GlobalMuonBit==1 && abs(zMuStaDau1dxyFromBS)<0.2 ) || ( zMuStaDau2GlobalMuonBit==1 && abs(zMuStaDau2dxyFromBS)<0.2 ))"); - - - - - - TCut dau1Loose("zMuStaDau1GlobalMuonBit==0 && zMuStaDau1SaChi2<10 && zMuStaDau1SaNofMuonHits>0 && zMuStaDau1NofMuMatches>1"); - TCut dau2Loose("zMuStaDau1GlobalMuonBit==0 && zMuStaDau2SaChi2<10 && zMuStaDau2SaNofMuonHits>0 && zMuStaDau2NofMuMatches>1"); - - TCut dau1TightWP2_hltAlso("zMuStaDau1GlobalMuonBit==1 && zMuStaDau1Chi2<10 && (zMuStaDau1NofStripHits + zMuStaDau1NofPixelHits)>10 && zMuStaDau1NofMuonHits>0 && zMuStaDau1NofMuMatches>1 && zMuStaDau1TrackerMuonBit==1 && zMuStaDau1HLTBit==1"); - TCut dau2TightWP2_hltAlso("zMuStaDau2GlobalMuonBit==1 && zMuStaDau2Chi2<10 && (zMuStaDau2NofStripHits + zMuStaDau2NofPixelHits)>10 && zMuStaDau2NofMuonHits>0 && zMuStaDau2NofMuMatches>1 && zMuStaDau2TrackerMuonBit==1 && zMuStaDau2HLTBit==1"); - - - TCut massCut("zMuStaMass>60 && zMuStaMass<120 "); - - - - - makePlots("zMuStaMass", "", kin_common + (( dau1TightWP2_hltAlso && dau2Loose ) || (dau2TightWP2_hltAlso + dau1Loose)), 5, "zMuSta", 0.0001, 200, 0 ,200, true, true); - - // makePlots("zMuStaMass", "", kin_common + dau1TightWP1_hltAlso , 5, "zMuSta", 0.001, 200, 0 ,200, true); - - //makePlots("zMuStaMass", "", kin_common, 5, "zMuSta", 0.001, 200, 0 ,200, true); - - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrk.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrk.C deleted file mode 100644 index fdcae659be68a..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrk.C +++ /dev/null @@ -1,37 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zMuTrk() { - - /// cuts common.... - TCut kin_common("zMuTrkDau1Pt>20 && zMuTrkDau2Pt>20 && zMuTrkDau1TrkIso<3.0 && zMuTrkDau2TrkIso<3.0 && abs(zMuTrkDau1Eta)<2.1 && abs(zMuTrkDau2Eta)<2.1 && (zMuTrkDau1HLTBit==1) && abs(zMuTrkDau1dxyFromBS)<0.2 && abs(zMuTrkDau2dxyFromBS)<0.2"); - - - - - - - TCut dau2Loose("zMuTrkDau2TrkChi2<10 && (zMuTrkDau2TrkNofStripHits + zMuTrkDau2TrkNofPixelHits)>10 && zMuTrkDau2TrkNofPixelHits > 0"); - - TCut dau1TightWP2_hltAlso("zMuTrkDau1GlobalMuonBit==1 && zMuTrkDau1Chi2<10 && (zMuTrkDau1NofStripHits + zMuTrkDau1NofPixelHits)>10 && zMuTrkDau1NofMuonHits>0 && zMuTrkDau1NofMuMatches>1 && zMuTrkDau1TrackerMuonBit==1 && zMuTrkDau1HLTBit==1"); - - - - TCut massCut("zMuTrkMass>60 && zMuTrkMass<120 "); - - - - - makePlots("zMuTrkMass", "", kin_common + dau1TightWP2_hltAlso + dau2Loose, 5 , "zMuTrk" , 0.0001, 200, 0 ,200, true); - - makePlots("zMuTrkMass", "", kin_common , 5 , "zMuTrk" , 0.0001, 200, 0 ,200, true, true); - - - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrkMu.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrkMu.C deleted file mode 100644 index eacd7c6273d3b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zMuTrkMu.C +++ /dev/null @@ -1,38 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zMuTrkMu() { - - /// cuts common.... - TCut kin_common("zMuTrkMuDau1Pt> 20 && zMuTrkMuDau2Pt>20 && zMuTrkMuDau1Iso03SumPt<3.0 && zMuTrkMuDau2Iso03SumPt < 3.0 && abs(zMuTrkMuDau1Eta)<2.4 && abs(zMuTrkMuDau2Eta)<2.4 && (zMuTrkMuDau1HLTBit==1 || zMuTrkMuDau2HLTBit==1) && abs(zMuTrkMuDau1dxyFromBS)<0.2 && abs(zMuTrkMuDau2dxyFromBS)<0.2"); - - - - - - TCut dau1Loose("zMuTrkMuDau1GlobalMuonBit==0 && zMuTrkMuDau1TrkChi2<10 && (zMuTrkMuDau1TrkNofStripHits + zMuTrkMuDau1TrkNofPixelHits)>10 && zMuTrkMuDau1TrkNofPixelHits > 0"); - TCut dau2Loose("zMuTrkMuDau2GlobalMuonBit==0 && zMuTrkMuDau2TrkChi2<10 && (zMuTrkMuDau2TrkNofStripHits + zMuTrkMuDau2TrkNofPixelHits)>10 && zMuTrkMuDau2TrkNofPixelHits > 0"); - - TCut dau1TightWP2_hltAlso("zMuTrkMuDau1GlobalMuonBit==1 && zMuTrkMuDau1Chi2<10 && (zMuTrkMuDau1NofStripHits + zMuTrkMuDau1NofPixelHits)>10 && zMuTrkMuDau1NofMuonHits>0 && zMuTrkMuDau1NofMuMatches>1 && zMuTrkMuDau1TrackerMuonBit==1 && zMuTrkMuDau1HLTBit==1"); - TCut dau2TightWP2_hltAlso("zMuTrkMuDau2GlobalMuonBit==1 && zMuTrkMuDau2Chi2<10 && (zMuTrkMuDau2NofStripHits + zMuTrkMuDau2NofPixelHits)>10 && zMuTrkMuDau2NofMuonHits>0 && zMuTrkMuDau2NofMuMatches>1 && zMuTrkMuDau2TrackerMuonBit==1 && zMuTrkMuDau2HLTBit==1"); - - - TCut massCut("zMuTrkMuMass>60 && zMuTrkMuMass<120 "); - - - - - makePlots("zMuTrkMuMass", "", kin_common + (( dau1TightWP2_hltAlso && dau2Loose ) || (dau2TightWP2_hltAlso + dau1Loose)), 5, "zMuTrkMu", 0.0001, 200, 0 ,200, true, true); - - // makePlots("zMuTrkMuMass", "", kin_common + dau1TightWP1_hltAlso , 5, "zMuTrkMu", 0.001, 200, 0 ,200, true); - - //makePlots("zMuTrkMuMass", "", kin_common, 5, "zMuTrkMu", 0.001, 200, 0 ,200, true); - - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zNotIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zNotIso.C deleted file mode 100644 index 490a1f0294079..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zNotIso.C +++ /dev/null @@ -1,21 +0,0 @@ -// stack macro -// Pasquale Noli - -#include -#include -#include "stack_common.h" - -void stack_zNotIso() { - - -TCut kin_commonButIso("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && (zGoldenDau1Iso03SumPt> 3.0 || zGoldenDau2Iso03SumPt >3.0) && abs(zGoldenDau1Eta)<2.4 && abs(zGoldenDau2Eta)<2.4 && (zGoldenDau1HLTBit==1 || zGoldenDau2HLTBit==1) && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 "); - - - makePlots("zGoldenMass", "", kin_commonButIso + ( ( dau1Loose && dau2TightWP1_hltAlso ) || ( dau2Loose && dau1TightWP1_hltAlso )) , 5, "zNotIso", 0.001, 200, 0 ,200, true, true); - - - - -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmSta.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmSta.C deleted file mode 100644 index f7f24a976c883..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmSta.C +++ /dev/null @@ -1,12 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - - -void stack_zmSta() { - makePlots("goodZToMuMuOneStandAloneMuonPlots/zMass", 5, "zmSta", - 0.0001); -} - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrk.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrk.C deleted file mode 100644 index 5beb120212269..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrk.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmTrk() { - makePlots("goodZToMuMuOneTrackPlots/zMass", 5, "zmTrk", - 0.0001, true); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrkMu.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrkMu.C deleted file mode 100644 index 93ee28061fadc..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmTrkMu.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmTrkMu() { - makePlots("goodZToMuMuOneTrackerMuonPlots/zMass", 5, "zmTrkMu", - 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm0neLess2p4.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm0neLess2p4.C deleted file mode 100644 index 45f2966ff85fb..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm0neLess2p4.C +++ /dev/null @@ -1,9 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm0neLess2p4() { - makePlots("goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLTPlots/zMass", 1, "zmm1hltEta24", 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hlt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hlt.C deleted file mode 100644 index 2c46d315e1538..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hlt.C +++ /dev/null @@ -1,15 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm1hlt() { - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && ( zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>10 && zGoldenDau1NofPixelHits>0 && (zGoldenDau2NofStripHits+ zGoldenDau2NofPixelHits)>10 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==0 || zGoldenDau2HLTBit==0) "); - - makePlots("zGoldenMass", "", cut_zGolden, 5, "zGolden1hlt", 0.001, 200, 0 ,200, true, false); -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hltAB.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hltAB.C deleted file mode 100644 index 27cdf1c8868e7..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm1hltAB.C +++ /dev/null @@ -1,15 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm1hltAB() { - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1TrkIso< 3.0 && zGoldenDau1TrkIso < 3.0 && ( abs(zGoldenDau1Eta)>2.1 || abs(zGoldenDau2Eta)>2.1 ) && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 && (zGoldenDau1NofStripHits + zGoldenDau1NofPixelHits)>=10 && (zGoldenDau2NofStripHits + zGoldenDau2NofPixelHits)>=10 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==0 || zGoldenDau2HLTBit==0) "); - - makePlots("zGoldenMass", cut_zGolden, 5, "zGolden1hltAB", 0.001, 200, 0 ,200, true); -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm2hlt.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm2hlt.C deleted file mode 100644 index e89cfe1686835..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmm2hlt.C +++ /dev/null @@ -1,18 +0,0 @@ - - - -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmm2hlt() { - - -TCut cut_zGolden("zGoldenDau1Pt> 20 && zGoldenDau2Pt>20 && zGoldenDau1Iso03SumPt< 3.0 && zGoldenDau2Iso03SumPt < 3.0 && abs(zGoldenDau1Eta)<2.1 && abs(zGoldenDau2Eta)<2.1 && zGoldenDau1Chi2<10 && zGoldenDau2Chi2<10 && abs(zGoldenDau1dxyFromBS)<0.2 && abs(zGoldenDau2dxyFromBS)<0.2 &&( zGoldenDau1NofStripHits +zGoldenDau1NofPixelHits ) >10 && zGoldenDau1NofPixelHits>0 && ( zGoldenDau2NofStripHits +zGoldenDau2NofPixelHits ) >10 && zGoldenDau2NofPixelHits>0 && zGoldenDau1NofMuonHits>0 && zGoldenDau2NofMuonHits>0 && zGoldenDau1NofMuMatches>1 && zGoldenDau2NofMuMatches>1 && zGoldenDau1TrackerMuonBit==1 && zGoldenDau2TrackerMuonBit==1 && (zGoldenDau1HLTBit==1 && zGoldenDau2HLTBit==1) "); - - makePlots("zGoldenMass", "", cut_zGolden, 5, "zGolden2hlt", 0.001, 200, 0 ,200, true, false); -} - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmmNotIso.C b/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmmNotIso.C deleted file mode 100644 index bb6bdfbdf2d5b..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/stackPlots/stack_zmmNotIso.C +++ /dev/null @@ -1,10 +0,0 @@ -// stack macro -// Pasquale Noli -#include -#include -#include "stack_common.h" - -void stack_zmmNotIso() { - makePlots("nonIsolatedZToMuMuPlots/zMass", 5, "zmmNotIso", - 0.0001); -} diff --git a/ElectroWeakAnalysis/ZMuMu/test/triggerEfficiency.py b/ElectroWeakAnalysis/ZMuMu/test/triggerEfficiency.py deleted file mode 100644 index 47d92b4fc3a40..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/triggerEfficiency.py +++ /dev/null @@ -1,81 +0,0 @@ -# il file di iuput /tmp/noli/dimuons_allevt.root su lxplus204 - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("Lavezzi") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(False) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:dimuons_allevt.root" - # "file:dimuons_1000evt.root" - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("TriggerEfficiencyStudy.root") -) - - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20 & mass < 200"), - isoCut = cms.double(3.0), - muonIsolations1 = cms.InputTag("muonIsolations"), - muonIsolations2 = cms.InputTag("muonIsolations") -) - - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -process.testAnalyzer = cms.EDAnalyzer( - "testAnalyzer", - selectMuon = cms.InputTag("selectedLayer1MuonsTriggerMatch"), - ZMuMu = cms.InputTag("goodZToMuMu"), - pathName = cms.string("HLT_Mu9"), - EtaBins = cms.int32(40), - minEta = cms.double(-2.), - maxEta = cms.double(2.), - PtBins = cms.int32(10), - minPt = cms.double(20.), - maxPt = cms.double(100.), - EtaPt80Bins = cms.int32(10) - ) - - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - - - - -process.path = cms.Path ( - process.goodZToMuMu + - process.testAnalyzer -) - - - -process.endPath = cms.EndPath( - process.eventInfo -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zChi2Fit.txt b/ElectroWeakAnalysis/ZMuMu/test/zChi2Fit.txt deleted file mode 100644 index bcdd1ca0bff97..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zChi2Fit.txt +++ /dev/null @@ -1,27 +0,0 @@ -# -# Z -> Mu Mu fit -# -# name value error min max free/fixed (optional) -#------------------------------------------------------------------------------ -par YieldZMuMu 1000 10 0 1000000 free -par YieldBkgZMuTk 1 10 0 1000000 fixed -par YieldBkgZMuSa 1 1 0 1000000 fixed -par YieldBkgZMuMuNotIso 1 10 0 1000000 fixed -par EfficiencyTk 0.98 0.01 0 1 free -par EfficiencySa 0.98 0.01 0 1 free -par EfficiencyIso 0.98 0.01 0 1 free -par EfficiencyHLT 0.88 0.01 0 1 free -par Lambda -0. 0.001 -100 100 free -par Alpha -0. 0.001 -100 100 free -par Beta -0. 0.001 -100 100 free -par A0 1 0.1 0 1000 free -par A1 0 0.001 -10000 10000 free -par A2 0 0.0001 -1000 1000 fixed -par B0 1 0.1 0 1000 free -par B1 0 0.001 -10000 10000 free -par B2 0 1 -1000 1000 fixed -par C0 1 0.001 0 1000 free -par C1 0 0.0001 -10000 10000 fixed -par C2 0 1 -1000 1000 fixed -migrad -print_all diff --git a/ElectroWeakAnalysis/ZMuMu/test/zFitToyMc.txt b/ElectroWeakAnalysis/ZMuMu/test/zFitToyMc.txt deleted file mode 100644 index 6c1d3891bda95..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zFitToyMc.txt +++ /dev/null @@ -1,27 +0,0 @@ -# -# Z -> Mu Mu fit -# -# name value error min max free/fixed (optional) -#------------------------------------------------------------------------------ -par YieldZMuMu 600000 10 0 1000000 free -par YieldBkgZMuTk 1 10 0 1000000 fixed -par YieldBkgZMuSa 0 1 0 1000000 fixed -par YieldBkgZMuMuNotIso 1 10 0 1000000 fixed -par EfficiencyTk 0.9985 0.001 0 1 free -par EfficiencySa 0.988525 0.01 0 1 free -par EfficiencyIso 0.98186 0.01 0 1 free -par EfficiencyHLT 0.913146 0.01 0 1 free -par Lambda -0.01244 0.009 -100 0 free -par Alpha -0.036 0.01 -100 0 free -par Beta 0.0 0.01 -100 0 fixed -par A0 0 0.1 0 2 free -par A1 3 0.001 -10000 10000 free -par A2 -0.01 0.0001 -1000 1000 free -par B0 1 0.1 0 2 free -par B1 6.0 0.001 -10000 10000 free -par B2 0.0 1 -1000 1000 free -migrad -print_all - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zLONLO.py b/ElectroWeakAnalysis/ZMuMu/test/zLONLO.py deleted file mode 100644 index 1ed0cc1349784..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zLONLO.py +++ /dev/null @@ -1,67 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("zlonlo") -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_1.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_2.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_3.root' - - 'rfio:/castor/cern.ch/user/d/degrutto/zToMuMum20v2/dimuons_1.root', - 'rfio:/castor/cern.ch/user/d/degrutto/zToMuMum20v2/dimuons_2.root', - 'rfio:/castor/cern.ch/user/d/degrutto/zToMuMum20v2/dimuons_3.root' - - ) - ) - - -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - -process.TFileService = cms.Service("TFileService", - fileName = cms.string('ZLO_10pb.root') -) - - - -process.zHistos = cms.EDAnalyzer("ZLONLOHistogrammer", - RecZ = cms.InputTag("dimuons"), - genParticles = cms.InputTag("genParticles"), - weights = cms.InputTag("genEventWeight"), - nbinsMass=cms.untracked.uint32(200), - nbinsPt=cms.untracked.uint32(200), - nbinsAng=cms.untracked.uint32(200), - massMax = cms.untracked.double(200.), - ptMax= cms.untracked.double(200.), - angMax = cms.untracked.double(6.), - #parameter for the geometric acceptance - accPtMin = cms.untracked.double(0.0), - accMassMin = cms.untracked.double(40.0), - accMassMax = cms.untracked.double(12000.0), - accEtaMin = cms.untracked.double(0.0), - accEtaMax = cms.untracked.double(2.5), - isMCatNLO= cms.untracked.bool(False) - -) - - - - - - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - - - -process.maxEvents = cms.untracked.PSet( - input =cms.untracked.int32(19440) -) - -process.path=cms.Path(process.zHistos) - -process.end = cms.EndPath(process.evtInfo ) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zMuMuIsolationAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/zMuMuIsolationAnalysis.py deleted file mode 100644 index f759daf1a17d9..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zMuMuIsolationAnalysis.py +++ /dev/null @@ -1,142 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZMuMuIsolationAnalysis") - -process.TFileService=cms.Service( - "TFileService", - fileName=cms.string("Prova_W_Isolamento.root") - ) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) - ) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_1.root", - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_2.root", - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_2.root", - -# "file:/scratch1/cms/data/summer08/skim/dimuons_skim_zmumu.root", - "file:/scratch1/cms/data/summer08/skim/dimuons_skim_wmunu.root" - - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/qcd/noli/InclusiveMuPt15/InclusiveMuPt15SubSkim/d85f8e8eea12813d6b1603f1ce4b0f84/qcd_reskim_4.root", - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/qcd/noli/InclusiveMuPt15/InclusiveMuPt15SubSkim/d85f8e8eea12813d6b1603f1ce4b0f84/qcd_reskim_5.root", - # "rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/qcd/noli/InclusiveMuPt15/InclusiveMuPt15SubSkim/d85f8e8eea12813d6b1603f1ce4b0f84/qcd_reskim_6.root" - ) - ) - -process.zmumuNewIsolation = cms.EDAnalyzer( - "ZMuMuIsolationAnalyzer", - src = cms.InputTag("dimuonsOneTrack"), - ptThreshold = cms.untracked.double(1), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRTrk = cms.untracked.double(0.2), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - veto = cms.untracked.double(0.015), - alpha = cms.untracked.double(0.75), - beta = cms.untracked.double(-0.75), - pt = cms.untracked.double(20), - eta = cms.untracked.double(2), - isoCut = cms.untracked.double(1.7) - ) - -cut = [0.4,0.6,0.8,1.0,1.2] - -for i in range(len(cut)): - ptThreshold = cut[i] - print(i, ") cut = ", ptThreshold) - - plotModuleLabel = "isoPlots_ptTkr_" + str(i); - module = copy.deepcopy(process.zmumuNewIsolation) - setattr(module, "ptThreshold", ptThreshold) - setattr(process, plotModuleLabel, module) - - plotPathLabel = "isoPath_ptTkr_" + str(i); - path = cms.Path(module); - setattr(process, plotPathLabel, path) - - -ecal_cut = [0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.] - -for i in range(len(ecal_cut)): - etEcalThreshold = ecal_cut[i] - print(i, ") cut = ", etEcalThreshold) - - plotModuleLabel = "isoPlots_etEcal_" + str(i); - module = copy.deepcopy(process.zmumuNewIsolation) - setattr(module, "etEcalThreshold", etEcalThreshold) - setattr(process, plotModuleLabel, module) - - plotPathLabel = "isoPath_etEcal_" + str(i); - path = cms.Path(module); - setattr(process, plotPathLabel, path) - - -hcal_cut = [0.5,0.6,0.7,0.8,0.9,1.] - -for i in range(len(hcal_cut)): - etHcalThreshold = hcal_cut[i] - print(i, ") cut = ", etHcalThreshold) - - plotModuleLabel = "isoPlots_etHcal_" + str(i); - module = copy.deepcopy(process.zmumuNewIsolation) - setattr(module, "etHcalThreshold", etHcalThreshold) - setattr(process, plotModuleLabel, module) - - plotPathLabel = "isoPath_etHcal_" + str(i); - path = cms.Path(module); - setattr(process, plotPathLabel, path) - - -deltaR_ = [0.05,0.10,0.15,0.18,0.20,0.25,0.30,0.35] - -for i in range(len(deltaR_)): - deltaRTrk = deltaR_[i] - deltaREcal = deltaR_[i] - deltaRHcal = deltaR_[i] - - print(i, ") deltaR = ", deltaRTrk) - - plotModuleLabel = "isoPlots_DR_" + str(i); - module = copy.deepcopy(process.zmumuNewIsolation) - setattr(module, "deltaRTrk", deltaRTrk) - setattr(module, "deltaREcal", deltaREcal) - setattr(module, "deltaRHcal", deltaRHcal) - setattr(process, plotModuleLabel, module) - - plotPathLabel = "isoPath_DR_" + str(i); - path = cms.Path(module); - setattr(process, plotPathLabel, path) - - -alpha_array = [0.0,0.25,0.5,0.75,1.0] -beta_array = [-1.0,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1.0] - -for i in range(len(alpha_array)): - alpha = alpha_array[i] - print(i, ") alpha = ", alpha) - - for j in range(len(beta_array)): - beta = beta_array[j] - print(i,".", j, ") beta = ", beta) - - plotModuleLabel = "isoPlots_LinearComb_" + str(i)+"_" + str(j); - module = copy.deepcopy(process.zmumuNewIsolation) - setattr(module, "alpha", alpha) - setattr(module, "beta", beta) - setattr(process, plotModuleLabel, module) - - plotPathLabel = "isoPath_LineareComb_" + str(i) +"_"+ str(j); - path = cms.Path(module); - setattr(process, plotPathLabel, path) diff --git a/ElectroWeakAnalysis/ZMuMu/test/zMuMuRooFit.txt b/ElectroWeakAnalysis/ZMuMu/test/zMuMuRooFit.txt deleted file mode 100644 index cc913f0a9a03f..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zMuMuRooFit.txt +++ /dev/null @@ -1,22 +0,0 @@ -#"InitValue L (lo - hi) B(nBins)" for variable param. "Value C" for constant param. ORDER: Yield - nbkg_mutrk - nbkg_mumuNotIso - nbk_musa - eff_tk - eff_sa - eff_iso - eff_hlt - alpha - a0 - a1 - a2 - beta - b0 - b1 - b2 - gamma - c0 - c1## Default Yield value for signal and background at 45 pb-1, rescaled for tiy at the setted luminosity -30000 L (0 - 10000000) B(1000) -0 L (0 - 10000) B (100) -0 L (0 - 10000) B (100) -0 L (0 - 100) B (100) -0.99 L (0.001 - 1.0) B(100) -0.9 L (0.001 - 1.0) B(100) -0.9 L (0.001 - 1.0) B(100) -0.9 L (0.001 - 1.0) B(100) -0.0 L (-1. - 1.) B(200) -1 C -0 L (-100. - 100) B(200) -0 C -0.0 L (-1. - 1.) B(200) -1 C -0 L (-100. - 100) B(200) -0 C --0.01 L (-1. - 1.) B(200) -1 C -0 L (-100. - 100) B(200) -###### -PLEASE DO NOT ADD NEW LINES AND RESPECT THE ORDER diff --git a/ElectroWeakAnalysis/ZMuMu/test/zPdfUnc.py b/ElectroWeakAnalysis/ZMuMu/test/zPdfUnc.py deleted file mode 100644 index de15be1cac6db..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zPdfUnc.py +++ /dev/null @@ -1,127 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("zpdfsys") - -process.maxEvents = cms.untracked.PSet( - #input = cms.untracked.int32(-1) - input = cms.untracked.int32(-1) -) - - -## process.source = cms.Source("PoolSource", -## debugVerbosity = cms.untracked.uint32(0), -## debugFlag = cms.untracked.bool(False), -## fileNames = cms.untracked.vstring() -## ) -## import os -## dirname = "/scratch1/cms/data/summer08/Zmumu_M20/" -## dirlist = os.listdir(dirname) -## basenamelist = os.listdir(dirname + "/") -## for basename in basenamelist: -## process.source.fileNames.append("file:" + dirname + "/" + basename) -## print "Number of files to process is %s" % (len(process.source.fileNames)) - - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:genParticlePlusCteq65AndMRST06NNLOAndMSTW2007LOmodWeigths.root', -) -) -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - -process.TFileService = cms.Service("TFileService", - fileName = cms.string('cteq65AndMST06NLOABDMSTW2007lomod.root') -) - - -#for i in range(41): -# proc = "process.zpdf" + str(i) - # print "proc", proc -process.zpf = cms.EDAnalyzer("zPdfUnc", - genParticles = cms.InputTag("genParticles"), - pdfweights = cms.InputTag("pdfWeights:xxxxx"), - pdfmember = cms.untracked.uint32(0), - nbinsMass=cms.untracked.uint32(200), - nbinsPt=cms.untracked.uint32(200), - nbinsAng=cms.untracked.uint32(200), - massMax = cms.untracked.double(200.), - ptMax= cms.untracked.double(200.), - angMax = cms.untracked.double(6.), - #parameter for the geometric acceptance (numerator) - accPtMin = cms.untracked.double(20.0), - accMassMin = cms.untracked.double(60.0), - accMassMax = cms.untracked.double(120.0), - accEtaMin = cms.untracked.double(0.0), - accEtaMax = cms.untracked.double(2.1), - # for denominator - accMassMinDenominator=cms.untracked.double(40.0), - isMCatNLO= cms.untracked.bool(False), - outfilename= cms.untracked.string("xxxxx.txt") - ) - -pdf_1 = "cteq65" -pdf_2 = "MRST2006nnlo" -pdf_3= "MRST2007lomod" - - - -### cteq65 has 1 + 2*20 members ### -for i in range(41): - module = copy.deepcopy(process.zpf) - setattr(module, "pdfweights", "pdfWeights:cteq65") - setattr(module, "pdfmember", i) - setattr(module, "outfilename", "cteq65.txt") - moduleLabel = module.label() + pdf_1+ "_" + str(i) - setattr(process, moduleLabel, module) - if i == 0: - seq = module - else: - seq = seq + module - -### MRST2006nnlo has 1 + 2*30 members ### -for j in range(61): - module = copy.deepcopy(process.zpf) - setattr(module, "pdfweights", "pdfWeights:MRST2006nnlo") - setattr(module, "pdfmember", j) - setattr(module, "outfilename", "MRST2006nnlo.txt") - moduleLabel = module.label() + pdf_2+ "_" + str(j) - setattr(process, moduleLabel, module) - # needed only if the sequence is filled for the first time - # if j == 0: - # seq_2 = module - # else: - seq = seq + module - -### MRST2007lomod has 1 member ### -for k in range(1): - module = copy.deepcopy(process.zpf) - setattr(module, "pdfweights", "pdfWeights:MRST2007lomod") - setattr(module, "pdfmember", k) - setattr(module, "outfilename", "MRST2007lomod.txt") - moduleLabel = module.label() + pdf_3+ "_" + str(k) - setattr(process, moduleLabel, module) - # needed only if the sequence is filled for the first time - # if k == 0: - # seq_3 = module - # else: - seq = seq + module - - - -print("sequence", seq) - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - - - - -process.path=cms.Path(seq) -process.end = cms.EndPath(process.evtInfo ) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zPtScale.py b/ElectroWeakAnalysis/ZMuMu/test/zPtScale.py deleted file mode 100644 index 0cd253434c895..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zPtScale.py +++ /dev/null @@ -1,99 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("zptscale") -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_1.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_2.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/MCatNLOzToMuMum20/dimuons_3.root' - -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/086FD387-F97F-DF11-89A1-002618943957.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E2BB3FAB-F27F-DF11-98A9-003048678AE4.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/0CC6A6C5-3C80-DF11-B35E-003048678B92.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E4D7DBB0-EC7F-DF11-B0EE-00248C0BE016.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/1896BBB8-F97F-DF11-9F2F-001A92971B48.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E8576675-EC7F-DF11-91DA-002618943856.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/64DB4BB0-F97F-DF11-98C7-002618943926.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/EA9489E6-EB7F-DF11-9875-002354EF3BCE.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/70A33058-2F80-DF11-8EAB-002618943983.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/EC9C1993-EB7F-DF11-9206-00261894391C.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/802A2887-F97F-DF11-855C-002618943886.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/ECD82E7B-F37F-DF11-B775-002618943800.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/AC8B97B2-F97F-DF11-BD20-002618FDA263.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/EE04C8B3-F37F-DF11-9BD1-003048679044.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/BC8AF7A7-F97F-DF11-9F75-003048678FA6.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/EED4B178-F27F-DF11-BE1A-002618943899.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/CEC0C35C-2180-DF11-809E-0018F3D095FA.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/F2A31B46-F27F-DF11-A9BD-002618943860.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/D4A4F191-F27F-DF11-BE80-00261894380B.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/FA0ACF88-EC7F-DF11-85EE-003048678DD6.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/DE2AED38-F27F-DF11-B867-002618943901.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/FE2F8537-9A80-DF11-B80E-0026189438C9.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E05B3CBB-F27F-DF11-8E2E-002618FDA263.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/FEC277B8-F37F-DF11-A644-00261894380D.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E0AECCD7-F27F-DF11-9601-002618FDA262.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/FEEFF5AC-F97F-DF11-A5B6-0018F3D09626.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E0E68C3A-ED7F-DF11-8D04-003048678BE6.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E224964B-ED7F-DF11-B36B-00261894387E.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E2549BBA-F37F-DF11-BEA1-00261894382D.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E289C8C2-F27F-DF11-A41B-0018F3D0965A.root', -'file:/scratch2/users/fabozzi/summer10/zmmPowheg_cteq66/E28AE239-F27F-DF11-9AA3-00261894398A.root', - - - - ) - ) - - -process.evtInfo = cms.OutputModule("AsciiOutputModule") - - -process.TFileService = cms.Service("TFileService", - fileName = cms.string('ZptScale_100K_1xcent.root') -) - - - -process.zHistos = cms.EDAnalyzer("ZMuPtScaleAnalyzer", - genParticles = cms.InputTag("genParticles"), - nbinsMass=cms.untracked.uint32(200), - nbinsPt=cms.untracked.uint32(200), - nbinsAng=cms.untracked.uint32(200), - massMax = cms.untracked.double(200.), - ptMax= cms.untracked.double(200.), - angMax = cms.untracked.double(6.), - #parameter for the geometric acceptance - accPtMin = cms.untracked.double(20.0), - accMassMin = cms.untracked.double(60.0), - accMassMax = cms.untracked.double(120.0), - accMassMinDen = cms.untracked.double(60.0), - accMassMaxDen = cms.untracked.double(120.0), - accEtaMin = cms.untracked.double(0.0), - accEtaMax = cms.untracked.double(2.1), - muPdgStatus = cms.untracked.int32(1), - # scaling of 1% - ptScale = cms.untracked.double(0.006) - -) - - - - - - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - - - -process.maxEvents = cms.untracked.PSet( - input =cms.untracked.int32(-1) -) - -process.path=cms.Path(process.zHistos) - -process.end = cms.EndPath(process.evtInfo ) - - - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis.py deleted file mode 100644 index ea9a813615c45..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis.py +++ /dev/null @@ -1,892 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 -#modified by Annapaola de Cosa 18-12-2008 -#modified by Michele de Gruttola 08-10-2009 - - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.load("FWCore.MessageLogger.MessageLogger_cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(-1) -) - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - - - -#process.load("ElectroWeakAnalysis/ZMuMu/OCTSUBSKIM_cff") - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( -"file:/scratch2/users/degruttola/zmm_cteq66/skim/testZMuMuSubskim_oneshot_Test_1_1.root" -#"file:/tmp/degrutto/testZMuMuSubskim_doubleMu3.root", -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_1.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_2.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_3.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_4.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_5.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_6.root', -## 'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/wmn/zMuMuSubskim_7.root', - -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_1.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_2.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_3.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_5.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_6.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_7.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_8.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_9.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_10.root', -#'rfio:/castor/cern.ch/user/d/degrutto/eta2p4/qcd/zMuMuSubskim_11.root', - - -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_1.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_2.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_1.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_2.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_3.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_4.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_5.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_6.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/TTbar/testZMuMuSubSkim_1.root", - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("Analysis_zmmAllWithTrkMuon_2_4.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 20"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - ) - - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - - -##### enlarging the eta cut for gaining statistics -### one muon with eta <2.4 - -process.zToMuMuOnlyOneMuonWithEtaLessThan2p1 = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuMuOnlyOneMuonWithEtaLessThan2p1.cut= cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & ((abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.4) | (abs(daughter(0).eta)<2.4 & abs(daughter(1).eta)<2.1)) & mass > 20") - - - - - -### two muon with 2.1< eta < 2.4 -process.zToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p4 = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p4.cut= cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & ( (2.1 < abs(daughter(0).eta)<2.4) & (2.1< abs(daughter(1).eta)<2.4)) & mass > 20") - - - - - -process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p1 = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOnlyOneMuonWithEtaLessThan2p1"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - - - -# same charge dimuons.... -process.dimuonsGlobalSameCharge = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("userDataDimuons"), - cut = cms.string('mass > 20 & daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1') -) - -process.goodZToMuMuSameCharge = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobalSameCharge"), - filter = cms.bool(True) -) -process.goodZToMuMuSameCharge.cut=cms.string("charge!=0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 20") - - -#ZMuMu: requiring at least 1 HLT trigger match (for the shape) -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - -#ZMuMu: requiring 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: requiring 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - -process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOnlyOneMuonWithEtaLessThan2p1"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("zToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p4"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_DoubleMu3"), - filter = cms.bool(True) -) - - - - -#ZMuMu:at least one muon is not isolated -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu:1 muon is not isolated -process.oneNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuOneNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - -#ZMuMu: 2 muons are not isolated -process.twoNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuTwoNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - -#ZMuMunotIso: requiring at least 1 trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuOnenotIso: requiring at least 1 trigger -process.oneNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("oneNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuTwonotIso: requiring at least 1 trigger -process.twoNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("twoNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("userDataDimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -### already into the subskim - -## process.dimuonsOneTrackerMuon = cms.EDFilter("CandViewRefSelector", -## src = cms.InputTag("dimuons"), -## cut = cms.string('charge = 0 & mass > 20 & ( (daughter(0).isTrackerMuon = 1 & daughter(0).isGlobalMuon = 0 & daughter(1).isGlobalMuon = 1) | (daughter(1).isTrackerMuon = 1 & daughter(1).isGlobalMuon = 0 & daughter(0).isGlobalMuon = 1) )') -## ) - - - -## setting the filter to false, the HLT filter will be enable finally.. taht is needed for not losong events when looking at the 2.1 20 & daughter(1).pt > 20 & ((abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.4) | (abs(daughter(0).eta)<2.4 & abs(daughter(1).eta)<2.1)) & mass > 20") - - - - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackerMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackerMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(False) -) - -######## requiring non overlap with the 2.1 eta region -process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1 = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1"), - overlap = cms.InputTag("goodZToMuMuOneTrackerMuon"), - filter = cms.bool(True) -) - - - -#ZMuSta:requiring that the GlobalMuon has HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuTrkMuon:requiring that the GlobalMuon has HLT match -process.goodZToMuMuOneTrackerMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackerMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1FirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - - -#### Plot #### -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(2000.0), - nbins = cms.untracked.int32(2000), - name = cms.untracked.string("zMassUpToTwoTeV"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(-10.0), - max = cms.untracked.double(10.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zEta"), - description = cms.untracked.string("Z #eta"), - plotquantity = cms.untracked.string("eta") - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("zRapidity"), - description = cms.untracked.string("Z y"), - plotquantity = cms.untracked.string("rapidity") - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(200), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zPt"), - description = cms.untracked.string("Z p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("pt") - ), - cms.PSet( - min = cms.untracked.double(-4), - max = cms.untracked.double(4), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("zPhi"), - description = cms.untracked.string("Z #phi"), - plotquantity = cms.untracked.string("phi") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1Eta"), - description = cms.untracked.string("muon1 #eta"), - plotquantity = cms.untracked.string("daughter(0).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2Eta"), - description = cms.untracked.string("muon2 #eta"), - plotquantity = cms.untracked.string("daughter(1).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1y"), - description = cms.untracked.string("muon1 y"), - plotquantity = cms.untracked.string("daughter(0).rapidity"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2y"), - description = cms.untracked.string("muon2 y"), - plotquantity = cms.untracked.string("daughter(1).rapidity"), - ), -cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu1phi"), - description = cms.untracked.string("muon1 #phi"), - plotquantity = cms.untracked.string("daughter(0).phi"), - ), - cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu2phi"), - description = cms.untracked.string("muon2 #phi"), - plotquantity = cms.untracked.string("daughter(1).phi"), - ), - cms.PSet( - min = cms.untracked.double(-0.1), - max = cms.untracked.double(6.9), - nbins = cms.untracked.int32(7000), - name = cms.untracked.string("absMu1phiMinusMu2phi"), - description = cms.untracked.string("|mu1 #phi - mu2 #phi|"), - plotquantity = cms.untracked.string("abs(daughter(0).phi - daughter(1).phi)"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dxy"), - description = cms.untracked.string("muon1 dxy"), - plotquantity = cms.untracked.string("(- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dxy"), - description = cms.untracked.string("muon2 dxy"), - plotquantity = cms.untracked.string("(- daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dz"), - description = cms.untracked.string("muon1 dz"), - plotquantity = cms.untracked.string("daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dz"), - description = cms.untracked.string("muon2 dz"), - plotquantity = cms.untracked.string("daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt"), - ) - ) -) - -## # dxy constructed from the vtx position -## dxy0 = " (- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt " -## dxy1 = " ( - daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt " -## # dz constructed from vertex position -## dz0 = " daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt " -## dz1 = " daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt " - - -#ZMuMu at least 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu at least 1 HLT + at least 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "oneNonIsolatedZToMuMuPlots", oneNonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 2 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "twoNonIsolatedZToMuMuPlots", twoNonIsolatedZToMuMuPlots) - - - - -etaBounds = [2.1] -## if you want to perform studies on different eta bins... -##### etaBounds = [-2.1, -1.2, -0.8, 0.8, 1.2, 2.1] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu at least 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -#ZMuTrkMuon First HLT + 2 track-iso -process.goodZToMuMuOneTrackerMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackerMuonPlots.src = cms.InputTag("goodZToMuMuOneTrackerMuonFirstHLT") - -process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1Plots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1Plots.src = cms.InputTag("goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1FirstHLT") - - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - - -#ZMuMu same charge -process.goodZToMuMuSameChargeAtLeast1HLT = copy.deepcopy(process.goodZToMuMuAtLeast1HLT) -process.goodZToMuMuSameChargeAtLeast1HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameChargeAtLeast1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameChargeAtLeast1HLTPlots.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") -process.goodZToMuMuSameCharge2HLT = copy.deepcopy(process.goodZToMuMu2HLT) -process.goodZToMuMuSameCharge2HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameCharge2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameCharge2HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge2HLT") - -process.goodZToMuMuSameCharge1HLT = copy.deepcopy(process.goodZToMuMu1HLT) -process.goodZToMuMuSameCharge1HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameCharge1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameCharge1HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge1HLT") - - -process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLTPlots.src = cms.InputTag("goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLT") - -process.goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLTPlots.src = cms.InputTag("goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLT") - - - - - - -process.globalMuQualityCutsAnalysis= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots , -# process.globalMuQualityCutsAnalysis, - "goodZToMuMu", "goodZToMuMu", - "double") - - -addModulesFromTemplate( - process.zToMuMuOnlyOneMuonWithEtaLessThan2p1+ - process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p1+ - process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLT+ - process.goodZToMuMuOnlyOneMuonWithEtaLessThan2p11HLTPlots, - "goodZToMuMuOnlyOneMuonWithEtaLessThan2p1", "goodZToMuMuOnlyOneMuonWithEtaLessThan2p1", - "double") - -addModulesFromTemplate( - process.zToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p4 + - process.goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLT + - process.goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLTPlots, - "goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLT", "goodZToMuMuTwoMuonWithEtaGreaterThan2p1LessThan2p42HLT", - "double") - - - - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlots, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlots, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -process.globalMuQualityCutsAnalysisSameCharge = copy.deepcopy(process.globalMuQualityCutsAnalysis) -process.globalMuQualityCutsAnalysisSameCharge.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameChargeAtLeast1HLT+ - process.goodZToMuMuSameChargeAtLeast1HLTPlots, - # process.globalMuQualityCutsAnalysisSameCharge, - "goodZToMuMuSameCharge", "goodZToMuMuSameCharge", - "double") - - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameCharge2HLT + - process.goodZToMuMuSameCharge2HLTPlots, - "goodZToMuMuSameCharge2HLT", "goodZToMuMuSameCharge2HLT", - "double") - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameCharge1HLT + - process.goodZToMuMuSameCharge1HLTPlots, - "goodZToMuMuSameCharge1HLT", "goodZToMuMuSameCharge1HLT", - "double") - - - - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlots -) -process.oneNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMuAtLeast1HLT + - process.oneNonIsolatedZToMuMuPlots -) - -process.twoNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMuAtLeast1HLT + - process.twoNonIsolatedZToMuMuPlots -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + -# process.dimuonsOneTrackerMuon + - process.zToMuMuOneTrackerMuon + - process.goodZToMuMuOneTrackerMuon + - process.goodZToMuMuOneTrackerMuonFirstHLT + - process.goodZToMuMuOneTrackerMuonPlots, - "goodZToMuMuOneTrackerMuon", "goodZToMuMuOneTrackerMuon", - "single") - - -addModulesFromTemplate( - ~process.goodZToMuMu + -# process.dimuonsOneTrackerMuon + - process.zToMuMuOneTrackerMuon + - process.goodZToMuMuOneTrackerMuon + - process.zToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1 + - process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1+ - process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1FirstHLT + - process.goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1Plots, - "goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1", "goodZToMuMuOneTrackerMuonOnlyOneMuonWithEtaLessThan2p1", - "single") - - - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('zMuSa-UML_test.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonPath" - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo - + process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_EtaRegions.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_EtaRegions.py deleted file mode 100644 index f4f1f8635d6e6..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_EtaRegions.py +++ /dev/null @@ -1,638 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(1) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( -"rfio:/dpm/na.infn.it/home/cms/store/user/noli/reskim/zmm/zmumu_reskim_1.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("zMuMu_qcd.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.0 & abs(daughter(1).eta)<2.0 & mass > 20"), - # adjusting isolation values - isoCut = cms.double(3.0), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - # setting alpha=0 in order to have only tracker isolation - alpha = cms.untracked.double(0), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - ) - -#selecting endcap / endcap-barrel / barrel regions - -dict = {'Barrel':[0, 0.8],'BarrEnd':[0.8, 1.2],'EndCap':[1.2, 2.0] } - - -def addModuleEtaRegions(moduleToModify, region, src="", cut =""): - print("selection for: ", moduleToModify.label()+region) - etaMin = dict[region][0] - etaMax = dict[region][1] - module = copy.deepcopy(moduleToModify) - if cut=="": - cut = "mass>20 & charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & ( abs(daughter(0).eta) > %5.3f & abs( daughter(0).eta )< %5.3f) & ( abs(daughter(1).eta) > %5.3f & abs( daughter(1).eta )< %5.3f) " %(etaMin, etaMax, etaMin, etaMax) - print(region, ") cut = ", cut) - if 'cut' in module.parameters_(): - setattr(module, "cut", cut) - if 'src' in module.parameters_(): - setattr(module, "src", src) - copyModuleLabel = moduleToModify.label() + region - setattr(process, copyModuleLabel, module) - return module - - -def addPlotModuleEtaRegions(plotModuleToModify, region, src=""): - print("selection for: ", plotModuleToModify.label()) - etaMin = dict[region][0] - etaMax = dict[region][1] - plotModule = copy.deepcopy(plotModuleToModify) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "|#eta|: [%5.3f, %5.3f]" %(etaMin, etaMax)) - if 'src' in plotModule.parameters_(): - setattr(plotModule, "src", src) - copyPlotModuleLabel = plotModuleToModify.label() + region - setattr(process, copyPlotModuleLabel, plotModule) - return plotModule - - - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -for region in dict.keys(): - addModuleEtaRegions(process.goodZToMuMu, region,"dimuonsGlobal" ) - -#ZMuMu: richiedo almeno 1 HLT trigger match.Per la shape -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -## for region in dict.keys(): -## addModuleEtaRegions(process.goodZToMuMuAtLeast1HLT, region, addModuleEtaRegions(process.goodZToMuMu, region,"dimuonsGlobal" ) ) - - - -#ZMuMu: richiedo 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -## for region in dict.keys(): -## addModuleEtaRegions(process.goodZToMuMu2HLT, region,addModuleEtaRegions(process.goodZToMuMu, region,"dimuonsGlobal" ) ) - - - - -#ZMuMu: richiedo 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) -## for region in dict.keys(): -## addModuleEtaRegions(process.goodZToMuMu1HLT, region,addModuleEtaRegions(process.goodZToMuMu, region,"dimuonsGlobal" ) ) - - - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -for region in dict.keys(): - addModuleEtaRegions(process.nonIsolatedZToMuMu, region,"dimuonsGlobal" ) - - - -#ZMuMu1notIso: richiedo almeno un trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) -## for region in dict.keys(): -## addModuleEtaRegions(process.nonIsolatedZToMuMuAtLeast1HLT, region, addModuleEtaRegions(process.nonIsolatedZToMuMu, region,"dimuonsGlobal" )) - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - ## for region in dict.keys(): -## addModuleEtaRegions(process.zToMuGlobalMuOneTrack, region, "dimuonsOneTrack" ,"daughter(0).isGlobalMuon = 1") - - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) -for region in dict.keys(): - addModuleEtaRegions(process.zToMuMuOneTrack, region, "zToMuGlobalMuOneTrack" ) - - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -for region in dict.keys(): - addModuleEtaRegions(process.zToMuMuOneStandAloneMuon, region, "dimuonsOneStandAloneMuon" ) - - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackBarrel = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackBarrel"), - overlap = cms.InputTag("goodZToMuMuBarrel"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackEndCap = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackEndCap"), - overlap = cms.InputTag("goodZToMuMuEndCap"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackBarrEnd = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrackBarrEnd"), - overlap = cms.InputTag("goodZToMuMuBarrEnd"), - filter = cms.bool(True) -) - - -#ZMuTk:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackFirstHLTBarrel = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackBarrel"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackFirstHLTEndCap = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackEndCap"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) -process.goodZToMuMuOneTrackFirstHLTBarrEnd = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrackBarrEnd"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -## for region in dict.keys(): -## addModuleEtaRegions(process.goodZToMuMuOneStandAloneMuon, region, addModuleEtaRegions(process.zToMuMuOneStandAloneMuon, region, "dimuonsOneStandAloneMuon" )) - -#ZMuSta:richiedo che il muGlobal 'First' ha HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("firstMatched"), - hltPath = cms.string("hltSingleMuNoIsoL3PreFiltered"), - filter = cms.bool(True) -) -## for region in dict.keys(): -## addModuleEtaRegions(process.goodZToMuMuOneStandAloneMuonFirstHLT, region,addModuleEtaRegions(process.goodZToMuMuOneStandAloneMuon, region, addModuleEtaRegions(process.zToMuMuOneStandAloneMuon, region, "dimuonsOneStandAloneMuon" )) ) - - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) -# name = cms.untracked.string("zMass") - ) - -for region in dict.keys(): - addModuleEtaRegions(process.zmumuSaMassHistogram, region, addModuleEtaRegions(process.goodZToMuMu, region,"dimuonsGlobal" ) ) - - - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string(""), - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(False) -) - -### Plot ### - -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)") - ) - ) -) - -#ZMuMu almeno 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu almeno 1 HLT + almeno 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -for region in dict.keys(): - addPlotModuleEtaRegions(process.goodZToMuMuPlots, region, "goodZToMuMuAtLeast1HLT" ) - - -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) -for region in dict.keys(): - addPlotModuleEtaRegions(process.nonIsolatedZToMuMuPlots, region, "nonIsolatedZToMuMuAtLeast1HLT" ) - - - - - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu almeno 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -for region in dict.keys(): - addPlotModuleEtaRegions(process.goodZToMuMu1HLTPlots, region, "goodZToMuMuAtLeast1HLT" ) - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") -for region in dict.keys(): - addPlotModuleEtaRegions(process.goodZToMuMu2HLTPlots, region, "goodZToMuMuAtLeast1HLT" ) - - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") -for region in dict.keys(): - addPlotModuleEtaRegions(process.goodZToMuMuOneStandAloneMuonPlots, region, "goodZToMuMuOneStandAloneMuonFirstHLT" ) - - - - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -process.goodZToMuMuOneTrackPlotsBarrel = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlotsBarrel.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTBarrel") - -process.goodZToMuMuOneTrackPlotsEndCap = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlotsEndCap.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTEndCap") - -process.goodZToMuMuOneTrackPlotsBarrEnd = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlotsBarrEnd.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTBarrEnd") - - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -process.initialGoodZToMuMuBarrelPath = cms.Path( - process.goodZToMuMuBarrel+ - process.zmumuSaMassHistogramBarrel -) - -process.initialGoodZToMuMuEndCapPath = cms.Path( - process.goodZToMuMuEndCap+ - process.zmumuSaMassHistogramEndCap -) - -process.initialGoodZToMuMuBarEndCapPath = cms.Path( - process.goodZToMuMuBarrEnd+ - process.zmumuSaMassHistogramBarrEnd -) - - - -process.goodZToMuMuFinalPath = cms.Path ( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots - ) - -process.goodZToMuMuFinalBarrelPath = cms.Path ( - process.goodZToMuMuBarrel + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlotsBarrel - ) - -process.goodZToMuMuFinalEndCapPath = cms.Path ( - process.goodZToMuMuEndCap + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlotsEndCap - ) - -process.goodZToMuMuFinalBarrEndPath = cms.Path ( - process.goodZToMuMuBarrEnd + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlotsBarrEnd - ) - -process.goodZToMuMu2HLTFinalPath= cms.Path( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlots - ) - - -process.goodZToMuMu2HLTBarrelFinalPath= cms.Path( - process.goodZToMuMuBarrel + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlotsBarrel - ) - -process.goodZToMuMu2HLTEndCapFinalPath= cms.Path( - process.goodZToMuMuEndCap+ - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlotsEndCap - ) - -process.goodZToMuMu2HLTBarrEndFinalPath= cms.Path( - process.goodZToMuMuBarrEnd + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlotsBarrEnd - ) - - -process.goodZToMuMu1HLTFinalPath= cms.Path( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlots - ) - - -process.goodZToMuMu1HLTBarrelFinalPath= cms.Path( - process.goodZToMuMuBarrel + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlotsBarrel - ) - -process.goodZToMuMu1HLTEndCapFinalPath= cms.Path( - process.goodZToMuMuEndCap+ - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlotsEndCap - ) - -process.goodZToMuMu1HLTBarrEndFinalPath= cms.Path( - process.goodZToMuMuBarrEnd + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlotsBarrEnd - ) - - - -process.nonIsolatedZToMuMuFinalPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlots - ) - -process.nonIsolatedZToMuMuFinalBarrelPath = cms.Path ( - process.nonIsolatedZToMuMuBarrel + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlotsBarrel - ) - -process.nonIsolatedZToMuMuFinalEndCapPath = cms.Path ( - process.nonIsolatedZToMuMuEndCap + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlotsEndCap - ) - -process.nonIsolatedZToMuMuFinalBarrEndPath = cms.Path ( - process.nonIsolatedZToMuMuBarrEnd + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlotsBarrEnd - ) - - - - -process.goodZToMuMuOneStandAloneMuonFinalPath=cms.Path( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlots - ) - -process.goodZToMuMuOneStandAloneMuonFinalBarrelPath=cms.Path( - ~process.goodZToMuMuBarrel + - process.zToMuMuOneStandAloneMuonBarrel + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlotsBarrel - ) - -process.goodZToMuMuOneStandAloneMuonFinalEndCapPath=cms.Path( - ~process.goodZToMuMuEndCap + - process.zToMuMuOneStandAloneMuonEndCap + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlotsEndCap - ) - -process.goodZToMuMuOneStandAloneMuonFinalBarrEndPath=cms.Path( - ~process.goodZToMuMuBarrEnd + - process.zToMuMuOneStandAloneMuonBarrEnd + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlotsBarrEnd - ) - - - - -process.goodZToMuMuOneTrackFinalPath=cms.Path( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackPlots - ) - -process.goodZToMuMuOneTrackFinalBarrelPath=cms.Path( - ~process.goodZToMuMuBarrel + - ~process.zToMuMuOneStandAloneMuonBarrel + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrackBarrel + - process.goodZToMuMuOneTrackBarrel + - process.goodZToMuMuOneTrackFirstHLTBarrel + - process.goodZToMuMuOneTrackPlotsBarrel - ) - -process.goodZToMuMuOneTrackFinalEndCapPath=cms.Path( - ~process.goodZToMuMuEndCap + - ~process.zToMuMuOneStandAloneMuonEndCap + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrackEndCap + - process.goodZToMuMuOneTrackEndCap + - process.goodZToMuMuOneTrackFirstHLTEndCap + - process.goodZToMuMuOneTrackPlotsEndCap - ) - -process.goodZToMuMuOneTrackFinalBarrEndPath=cms.Path( - ~process.goodZToMuMuBarrEnd + - ~process.zToMuMuOneStandAloneMuonBarrEnd + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrackBarrEnd + - process.goodZToMuMuOneTrackBarrEnd + - process.goodZToMuMuOneTrackFirstHLTBarrEnd + - process.goodZToMuMuOneTrackPlotsBarrEnd - ) - - - - - - - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('file:./zMuSa-UML.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonFinalPath" - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_ntuple.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_ntuple.py deleted file mode 100644 index 4d3a734f0ead3..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_ntuple.py +++ /dev/null @@ -1,889 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 -#modified by Annapaola de Cosa 18-12-2008 -#modified by Michele de Gruttola 08-10-2009 - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(-1) -) - - -process.load("Configuration.StandardSequences.MagneticField_cff") - - - -#process.load("ElectroWeakAnalysis/ZMuMu/OCTSUBSKIM_cff") - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_1.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_2.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_3.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_4.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_5.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_6.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_7.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_8.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_9.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_10.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_11.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_12.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_13.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_14.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_15.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_16.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_17.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_18.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_19.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_20.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_21.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_22.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_23.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_24.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_25.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_26.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_27.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_28.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_29.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_30.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_31.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_32.root", -# "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_33.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_34.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_35.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_36.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_37.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_38.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_39.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_40.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_41.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_42.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_43.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_44.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_45.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_46.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_47.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_48.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_49.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_50.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_51.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_52.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_53.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_54.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_55.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_56.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_57.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_58.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_59.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_60.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_61.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_62.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_63.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_64.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_65.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_66.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_67.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_68.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_69.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_70.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_71.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_72.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_73.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_74.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_75.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_76.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_77.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_78.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_79.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_80.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_81.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_82.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_83.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_84.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_85.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_86.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_87.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_88.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_89.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_90.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_91.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_92.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_93.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_94.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_95.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_96.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_97.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_98.root", - "rfio:/castor/cern.ch/user/d/degrutto/zmmWithBsPv/testZMuMuSubSkim_99.root" - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("Analysis_zmm_10TeV_SameCharge.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 10 & daughter(1).pt > 10 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 0"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - ) - - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - - -# same charge dimuons.... -process.dimuonsGlobalSameCharge = cms.EDFilter("CandViewRefSelector", - src = cms.InputTag("dimuons"), - cut = cms.string('mass > 20 & daughter(0).isGlobalMuon = 1 & daughter(1).isGlobalMuon = 1') -) - -process.goodZToMuMuSameCharge = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobalSameCharge"), - filter = cms.bool(True) -) -process.goodZToMuMuSameCharge.cut=cms.string("charge!=0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 20") - - -#ZMuMu: requiring at least 1 HLT trigger match (for the shape) -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - - -#ZMuMu: requiring 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: requiring 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu:at least one muon is not isolated -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu:1 muon is not isolated -process.oneNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuOneNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - -#ZMuMu: 2 muons are not isolated -process.twoNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuTwoNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - -#ZMuMunotIso: requiring at least 1 trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuOnenotIso: requiring at least 1 trigger -process.oneNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("oneNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuTwonotIso: requiring at least 1 trigger -process.twoNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("twoNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:requiring that the GlobalMuon has HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - - -#### Plot #### -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(2000.0), - nbins = cms.untracked.int32(2000), - name = cms.untracked.string("zMassUpToTwoTeV"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(-10.0), - max = cms.untracked.double(10.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zEta"), - description = cms.untracked.string("Z #eta"), - plotquantity = cms.untracked.string("eta") - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("zRapidity"), - description = cms.untracked.string("Z y"), - plotquantity = cms.untracked.string("rapidity") - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(200), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zPt"), - description = cms.untracked.string("Z p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("pt") - ), - cms.PSet( - min = cms.untracked.double(-4), - max = cms.untracked.double(4), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("zPhi"), - description = cms.untracked.string("Z #phi"), - plotquantity = cms.untracked.string("phi") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1Eta"), - description = cms.untracked.string("muon1 #eta"), - plotquantity = cms.untracked.string("daughter(0).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2Eta"), - description = cms.untracked.string("muon2 #eta"), - plotquantity = cms.untracked.string("daughter(1).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1y"), - description = cms.untracked.string("muon1 y"), - plotquantity = cms.untracked.string("daughter(0).rapidity"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2y"), - description = cms.untracked.string("muon2 y"), - plotquantity = cms.untracked.string("daughter(1).rapidity"), - ), -cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu1phi"), - description = cms.untracked.string("muon1 #phi"), - plotquantity = cms.untracked.string("daughter(0).phi"), - ), - cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu2phi"), - description = cms.untracked.string("muon2 #phi"), - plotquantity = cms.untracked.string("daughter(1).phi"), - ), - cms.PSet( - min = cms.untracked.double(-0.1), - max = cms.untracked.double(6.9), - nbins = cms.untracked.int32(7000), - name = cms.untracked.string("absMu1phiMinusMu2phi"), - description = cms.untracked.string("|mu1 #phi - mu2 #phi|"), - plotquantity = cms.untracked.string("abs(daughter(0).phi - daughter(1).phi)"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dxy"), - description = cms.untracked.string("muon1 dxy"), - plotquantity = cms.untracked.string("(- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dxy"), - description = cms.untracked.string("muon2 dxy"), - plotquantity = cms.untracked.string("(- daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dz"), - description = cms.untracked.string("muon1 dz"), - plotquantity = cms.untracked.string("daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dz"), - description = cms.untracked.string("muon2 dz"), - plotquantity = cms.untracked.string("daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt"), - ) - ) -) - -## # dxy constructed from the vtx position -## dxy0 = " (- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt " -## dxy1 = " ( - daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt " -## # dz constructed from vertex position -## dz0 = " daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt " -## dz1 = " daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt " - - -#ZMuMu at least 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu at least 1 HLT + at least 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "oneNonIsolatedZToMuMuPlots", oneNonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 2 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "twoNonIsolatedZToMuMuPlots", twoNonIsolatedZToMuMuPlots) - - - - -etaBounds = [2.1] -## if you want to perform studies on different eta bins... -##### etaBounds = [-2.1, -1.2, -0.8, 0.8, 1.2, 2.1] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu at least 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - - -#ZMuMu same charge -process.goodZToMuMuSameChargeAtLeast1HLT = copy.deepcopy(process.goodZToMuMuAtLeast1HLT) -process.goodZToMuMuSameChargeAtLeast1HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameChargeAtLeast1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameChargeAtLeast1HLTPlots.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") -process.goodZToMuMuSameCharge2HLT = copy.deepcopy(process.goodZToMuMu2HLT) -process.goodZToMuMuSameCharge2HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameCharge2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameCharge2HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge2HLT") - -process.goodZToMuMuSameCharge1HLT = copy.deepcopy(process.goodZToMuMu1HLT) -process.goodZToMuMuSameCharge1HLT.src= cms.InputTag("goodZToMuMuSameCharge") - -process.goodZToMuMuSameCharge1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuSameCharge1HLTPlots.src = cms.InputTag("goodZToMuMuSameCharge1HLT") - - -## process.globalMuQualityCutsAnalysis= cms.EDAnalyzer( -## "GlbMuQualityCutsAnalysis", -## src = cms.InputTag("goodZToMuMuAtLeast1HLT"), -## ptMin = cms.untracked.double(0.0), -## massMin = cms.untracked.double(0.0), -## massMax = cms.untracked.double(120.0), -## etaMin = cms.untracked.double(-1.0), -## etaMax = cms.untracked.double(10.0), -## trkIso = cms.untracked.double(10000), -## chi2Cut = cms.untracked.double(10), -## nHitCut = cms.untracked.int32(10) -## ) - - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.goodZToMuMu2HLTVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMu2HLT") -) - -process.goodZToMuMu2HLTVtxedNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMu2HLTVtxed"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ), - cms.PSet( - tag = cms.untracked.string("vertexNdof"), - quantity = cms.untracked.string("vertexNdof") - ), - cms.PSet( - tag = cms.untracked.string("vertexNormalizedChi2"), - quantity = cms.untracked.string("vertexNormalizedChi2") - ), - ) -) - - - - - - - -process.goodZToMuMuEdmNtuple = cms.EDProducer( - "ZToLLEdmNtupleDumper", - zBlocks = cms.VPSet( - cms.PSet( - zName = cms.string("zGolden"), - z = cms.InputTag("goodZToMuMuAtLeast1HLT"), - zGenParticlesMatch = cms.InputTag(""), - beamSpot = cms.InputTag("offlineBeamSpot"), - primaryVertices = cms.InputTag("offlinePrimaryVerticesWithBS"), - ptThreshold = cms.double(1.5), - etEcalThreshold = cms.double(0.2), - etHcalThreshold = cms.double(0.5), - deltaRVetoTrk = cms.double(0.015), - deltaRTrk = cms.double(0.3), - deltaREcal = cms.double(0.25), - deltaRHcal = cms.double(0.25), - alpha = cms.double(0.), - beta = cms.double(-0.75), - relativeIsolation = cms.bool(False), - hltPath = cms.string("HLT_Mu9") - - ), - ) -) - - - -process.goodZToMuMu2HLTEdmNtuple = copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.goodZToMuMu2HLTEdmNtuple.zBlocks[0].z = cms.InputTag("goodZToMuMu2HLT") -process.goodZToMuMu2HLTEdmNtuple.zBlocks[0].zName = cms.string("zGolden2HLT") - - -process.goodZToMuMu1HLTEdmNtuple = copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.goodZToMuMu1HLTEdmNtuple.zBlocks[0].z = cms.InputTag("goodZToMuMu1HLT") -process.goodZToMuMu1HLTEdmNtuple.zBlocks[0].zName = cms.string("zGolden1HLT") - -process.oneNonIsolatedZToMuMuEdmNtuple = copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.oneNonIsolatedZToMuMuEdmNtuple.zBlocks[0].z = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -process.oneNonIsolatedZToMuMuEdmNtuple.zBlocks[0].zName = cms.string("z1NotIso") - -process.twoNonIsolatedZToMuMuEdmNtuple = copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.twoNonIsolatedZToMuMuEdmNtuple.zBlocks[0].z = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -process.twoNonIsolatedZToMuMuEdmNtuple.zBlocks[0].zName = cms.string("z2NotIso") - - -process.goodZToMuMuSameChargeEdmNtuple= copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.goodZToMuMuSameChargeEdmNtuple.zBlocks[0].z = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") -process.goodZToMuMuSameChargeEdmNtuple.zBlocks[0].zName = cms.string("zSameCharge") - - -process.goodZToMuMuOneStandAloneEdmNtuple= copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.goodZToMuMuOneStandAloneEdmNtuple.zBlocks[0].z=cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") -process.goodZToMuMuOneStandAloneEdmNtuple.zBlocks[0].zName=cms.string("zMuSta") - -process.goodZToMuMuOneTrackEdmNtuple= copy.deepcopy(process.goodZToMuMuEdmNtuple) -process.goodZToMuMuOneTrackEdmNtuple.zBlocks[0].z=cms.InputTag("goodZToMuMuOneTrackFirstHLT") -process.goodZToMuMuOneTrackEdmNtuple.zBlocks[0].zName=cms.string("zMuTrk") - - - - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots , -# process.goodZToMuMuEdmNtuple, - # process.globalMuQualityCutsAnalysis, - "goodZToMuMu", "goodZToMuMu", - "double") - - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlots + - process.goodZToMuMu2HLTEdmNtuple + - process.goodZToMuMu2HLTVtxed + - process.goodZToMuMu2HLTVtxedNtuple, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlots + - process.goodZToMuMu1HLTEdmNtuple, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -#process.globalMuQualityCutsAnalysisSameCharge = copy.deepcopy(process.globalMuQualityCutsAnalysis) -#process.globalMuQualityCutsAnalysisSameCharge.src = cms.InputTag("goodZToMuMuSameChargeAtLeast1HLT") - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameChargeAtLeast1HLT+ - process.goodZToMuMuSameChargeAtLeast1HLTPlots + - process.goodZToMuMuSameChargeEdmNtuple, -# process.globalMuQualityCutsAnalysisSameCharge, - "goodZToMuMuSameCharge", "goodZToMuMuSameCharge", - "double") - - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameCharge2HLT + - process.goodZToMuMuSameCharge2HLTPlots, - "goodZToMuMuSameCharge2HLT", "goodZToMuMuSameCharge2HLT", - "double") - -addModulesFromTemplate( - process.dimuonsGlobalSameCharge+ - process.goodZToMuMuSameCharge + - process.goodZToMuMuSameCharge1HLT + - process.goodZToMuMuSameCharge1HLTPlots, - "goodZToMuMuSameCharge1HLT", "goodZToMuMuSameCharge1HLT", - "double") - - - - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlots - # process.nonIsolatedZToMuMuEdmNtuple -) -process.oneNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMuAtLeast1HLT + - process.oneNonIsolatedZToMuMuPlots+ - process.oneNonIsolatedZToMuMuEdmNtuple -) - -process.twoNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMuAtLeast1HLT + - process.twoNonIsolatedZToMuMuPlots + - process.twoNonIsolatedZToMuMuEdmNtuple - -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneEdmNtuple + - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackPlots + - process.goodZToMuMuOneTrackEdmNtuple , - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('Ntuple_test_v2.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*", - "keep *_goodZToMuMuEdmNtuple_*_*", - "keep *_goodZToMuMu1HLTEdmNtuple_*_*", - "keep *_goodZToMuMu2HLTEdmNtuple_*_*", - "keep *_goodZToMuMuSameChargeEdmNtuple_*_*", - "keep *_nonIsolatedZToMuMuEdmNtuple_*_*", - "keep *_oneNonIsolatedZToMuMuEdmNtuple_*_*", - "keep *_twoNonIsolatedZToMuMuEdmNtuple_*_*", - "keep *_goodZToMuMuOneStandAloneEdmNtuple_*_*", - "keep *_goodZToMuMuOneTrackEdmNtuple_*_*", - "keep *_goodZToMuMu2HLTVtxedNtuple_*_*", - - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonPath", - "goodZToMuMuPath", - "goodZToMuMu1HLTPath", - "goodZToMuMu2HLTPath", - "goodZToMuMuSameChargePath", - "nonIsolatedZToMuMuPath", - "oneNonIsolatedZToMuMuPath", - "twoNonIsolatedZToMuMuPath", - "goodZToMuMuOneTrackPath", - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo - + process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_vtx.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_vtx.py deleted file mode 100644 index 6ba343e0636bb..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_vtx.py +++ /dev/null @@ -1,1005 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 -#modified by Annapaola de Cosa 18-12-2008 -#modified by Michele de Gruttola 08-10-2009 - - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(-1) -) - -process.MessageLogger.cerr.threshold = '' -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - -#process.load("ElectroWeakAnalysis/ZMuMu/OCTSUBSKIM_cff") - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_1.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_10.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_11.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_12.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_13.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_14.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_15.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_16.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_17.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_18.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_19.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_2.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_20.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_21.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_22.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_23.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_24.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_25.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_26.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_27.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_28.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_29.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_3.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_30.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_31.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_32.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_33.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_34.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_35.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_36.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_37.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_38.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_39.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_4.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_40.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_41.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_42.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_44.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_45.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_46.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_47.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_48.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_49.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_5.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_50.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_51.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_52.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_53.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_54.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_55.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_56.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_57.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_58.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_59.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_6.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_60.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_61.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_62.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_63.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_64.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_65.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_66.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_67.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_68.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_69.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_7.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_70.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_71.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_72.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_73.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_74.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_75.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_76.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_77.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_78.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_79.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_8.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_80.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_81.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_82.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_83.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_84.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_85.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_86.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_87.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_88.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_89.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_9.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_90.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_91.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_92.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_93.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_94.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_95.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_96.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_97.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_98.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_99.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_100.root", -## "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/inclusiveMu15/testZMuMuSubSkim_101.root" - -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_1.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_2.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_1.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_2.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_3.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_4.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_5.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_6.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/TTbar/testZMuMuSubSkim_1.root", - - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("Analysis_ttbar_7TeV_vtx.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 20"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - - - ) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - -#ZMuMu: requiring at least 1 HLT trigger match (for the shape) -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.goodZToMuMuVtxedAtLeast1HLT = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - - -#ZMuMu: requiring 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.goodZToMuMu2HLTVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMu2HLT") -) - - -#ZMuMu: requiring 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.goodZToMuMu1HLTVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMu1HLT") -) - - -#ZMuMu:at least one muon is not isolated -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - - - -#ZMuMu:1 muon is not isolated -process.oneNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuOneNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - - -#ZMuMu: 2 muons are not isolated -process.twoNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuTwoNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - - - -#ZMuMunotIso: requiring at least 1 trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - -process.nonIsolatedZToMuMuVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -) - - -#ZMuMuOnenotIso: requiring at least 1 trigger -process.oneNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("oneNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.oneNonIsolatedZToMuMuVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -) - - -#ZMuMuTwonotIso: requiring at least 1 trigger -process.twoNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("twoNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.twoNonIsolatedZToMuMuVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -) - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrackFirstHLTVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") -) - - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:requiring that the GlobalMuon has HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuonFirstHLTVtxed = cms.EDProducer( - "KalmanVertexFitCompositeCandProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") -) - - - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - - -#### Plot #### -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(2000.0), - nbins = cms.untracked.int32(2000), - name = cms.untracked.string("zMassUpToTwoTeV"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(-10.0), - max = cms.untracked.double(10.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zEta"), - description = cms.untracked.string("Z #eta"), - plotquantity = cms.untracked.string("eta") - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("zRapidity"), - description = cms.untracked.string("Z y"), - plotquantity = cms.untracked.string("rapidity") - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(200), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zPt"), - description = cms.untracked.string("Z p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("pt") - ), - cms.PSet( - min = cms.untracked.double(-4), - max = cms.untracked.double(4), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("zPhi"), - description = cms.untracked.string("Z #phi"), - plotquantity = cms.untracked.string("phi") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1Eta"), - description = cms.untracked.string("muon1 #eta"), - plotquantity = cms.untracked.string("daughter(0).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2Eta"), - description = cms.untracked.string("muon2 #eta"), - plotquantity = cms.untracked.string("daughter(1).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1y"), - description = cms.untracked.string("muon1 y"), - plotquantity = cms.untracked.string("daughter(0).rapidity"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2y"), - description = cms.untracked.string("muon2 y"), - plotquantity = cms.untracked.string("daughter(1).rapidity"), - ), -cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu1phi"), - description = cms.untracked.string("muon1 #phi"), - plotquantity = cms.untracked.string("daughter(0).phi"), - ), - cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu2phi"), - description = cms.untracked.string("muon2 #phi"), - plotquantity = cms.untracked.string("daughter(1).phi"), - ), - cms.PSet( - min = cms.untracked.double(-0.1), - max = cms.untracked.double(6.9), - nbins = cms.untracked.int32(7000), - name = cms.untracked.string("absMu1phiMinusMu2phi"), - description = cms.untracked.string("|mu1 #phi - mu2 #phi|"), - plotquantity = cms.untracked.string("abs(daughter(0).phi - daughter(1).phi)"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dxy"), - description = cms.untracked.string("muon1 dxy"), - plotquantity = cms.untracked.string("(- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dxy"), - description = cms.untracked.string("muon2 dxy"), - plotquantity = cms.untracked.string("(- daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dz"), - description = cms.untracked.string("muon1 dz"), - plotquantity = cms.untracked.string("daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dz"), - description = cms.untracked.string("muon2 dz"), - plotquantity = cms.untracked.string("daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt"), - ) - ) -) - -## # dxy constructed from the vtx position -## dxy0 = " (- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt " -## dxy1 = " ( - daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt " -## # dz constructed from vertex position -## dz0 = " daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt " -## dz1 = " daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt " - - -#### Plot #### -zVtxPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(2000.0), - nbins = cms.untracked.int32(2000), - name = cms.untracked.string("zMassUpToTwoTeV"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(-10.0), - max = cms.untracked.double(10.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zEta"), - description = cms.untracked.string("Z #eta"), - plotquantity = cms.untracked.string("eta") - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("zRapidity"), - description = cms.untracked.string("Z y"), - plotquantity = cms.untracked.string("rapidity") - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(200), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zPt"), - description = cms.untracked.string("Z p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("pt") - ), - cms.PSet( - min = cms.untracked.double(-4), - max = cms.untracked.double(4), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("zPhi"), - description = cms.untracked.string("Z #phi"), - plotquantity = cms.untracked.string("phi") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1Eta"), - description = cms.untracked.string("muon1 #eta"), - plotquantity = cms.untracked.string("daughter(0).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2Eta"), - description = cms.untracked.string("muon2 #eta"), - plotquantity = cms.untracked.string("daughter(1).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1y"), - description = cms.untracked.string("muon1 y"), - plotquantity = cms.untracked.string("daughter(0).rapidity"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2y"), - description = cms.untracked.string("muon2 y"), - plotquantity = cms.untracked.string("daughter(1).rapidity"), - ), -cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu1phi"), - description = cms.untracked.string("muon1 #phi"), - plotquantity = cms.untracked.string("daughter(0).phi"), - ), - cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu2phi"), - description = cms.untracked.string("muon2 #phi"), - plotquantity = cms.untracked.string("daughter(1).phi"), - ), - cms.PSet( - min = cms.untracked.double(-0.1), - max = cms.untracked.double(6.9), - nbins = cms.untracked.int32(7000), - name = cms.untracked.string("absMu1phiMinusMu2phi"), - description = cms.untracked.string("|mu1 #phi - mu2 #phi|"), - plotquantity = cms.untracked.string("abs(daughter(0).phi - daughter(1).phi)"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dxy"), - description = cms.untracked.string("muon1 dxy"), - plotquantity = cms.untracked.string("(- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dxy"), - description = cms.untracked.string("muon2 dxy"), - plotquantity = cms.untracked.string("(- daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dz"), - description = cms.untracked.string("muon1 dz"), - plotquantity = cms.untracked.string("daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dz"), - description = cms.untracked.string("muon2 dz"), - plotquantity = cms.untracked.string("daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt"), - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(100), - nbins = cms.untracked.int32(100), - name = cms.untracked.string("vertexNdof"), - description = cms.untracked.string("vertexNdof"), - plotquantity = cms.untracked.string("vertexNdof"), - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(100), - nbins = cms.untracked.int32(100), - name = cms.untracked.string("vertexNormalizedChi2"), - description = cms.untracked.string("vertexNormalizedChi2"), - plotquantity = cms.untracked.string("vertexNormalizedChi2"), - ) - ) -) - - -#ZMuMu at least 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -goodZToMuMuVtxPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zVtxPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - - -#ZMuMu at least 1 HLT + at least 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu at least 1HLT with vertex contraint -goodZToMuMuVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -goodZToMuMuVtxPlots.src = cms.InputTag("goodZToMuMuVtxedAtLeast1HLT") -setattr(process, "goodZToMuMuVtxPlots", goodZToMuMuVtxPlots) - - -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -nonIsolatedZToMuMuVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -nonIsolatedZToMuMuVtxPlots.src = cms.InputTag("nonIsolatedZToMuMuVtxed") -setattr(process, "nonIsolatedZToMuMuVtxPlots", nonIsolatedZToMuMuVtxPlots) - - - -#ZMuMu at least 1 HLT + 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "oneNonIsolatedZToMuMuPlots", oneNonIsolatedZToMuMuPlots) - -oneNonIsolatedZToMuMuVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -oneNonIsolatedZToMuMuVtxPlots.src = cms.InputTag("oneNonIsolatedZToMuMuVtxed") -setattr(process, "oneNonIsolatedZToMuMuVtxPlots", oneNonIsolatedZToMuMuVtxPlots) - - - -#ZMuMu at least 1 HLT + 2 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "twoNonIsolatedZToMuMuPlots", twoNonIsolatedZToMuMuPlots) - -twoNonIsolatedZToMuMuVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -twoNonIsolatedZToMuMuVtxPlots.src = cms.InputTag("twoNonIsolatedZToMuMuVtxed") -setattr(process, "twoNonIsolatedZToMuMuVtxPlots", twoNonIsolatedZToMuMuVtxPlots) - - - -etaBounds = [2.1] -## if you want to perform studies on different eta bins... -##### etaBounds = [-2.1, -1.2, -0.8, 0.8, 1.2, 2.1] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu at least 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -process.goodZToMuMu1HLTVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -process.goodZToMuMu1HLTVtxPlots.src = cms.InputTag("goodZToMuMu1HLTVtxed") - - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -process.goodZToMuMu2HLTVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -process.goodZToMuMu2HLTVtxPlots.src = cms.InputTag("goodZToMuMu2HLTVtxed") - - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - - -process.goodZToMuMuOneStandAloneMuonVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonVtxPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLTVtxed") - - - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - -process.goodZToMuMuOneTrackVtxPlots = copy.deepcopy(goodZToMuMuVtxPlotsTemplate) -process.goodZToMuMuOneTrackVtxPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLTVtxed") - - -## process.dimuonGlobalAnalysis= cms.EDAnalyzer( -## "DimuonsAnalysis", -## src = cms.InputTag("dimuonsGlobal"), # dimuonsOneTrack, dimuonsOneStandAlone -## ptMin = cms.untracked.double(0.0), -## massMin = cms.untracked.double(0.0), -## massMax = cms.untracked.double(120.0), -## etaMin = cms.untracked.double(-1.0), -## etaMax = cms.untracked.double(10.0), -## trkIso = cms.untracked.double(10000), -## chi2Cut = cms.untracked.double(10), -## nHitCut = cms.untracked.int32(10) -## ) - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuVtxedAtLeast1HLT + - process.goodZToMuMuPlots + -# process.dimuonGlobalAnalysis, - process.goodZToMuMuVtxPlots, - "goodZToMuMu", "goodZToMuMu", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTVtxed + - process.goodZToMuMu2HLTPlots + - process.goodZToMuMu2HLTVtxPlots, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTVtxed + - process.goodZToMuMu1HLTPlots+ - process.goodZToMuMu1HLTVtxPlots, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuVtxed + - process.nonIsolatedZToMuMuPlots+ - process.nonIsolatedZToMuMuVtxPlots -) -process.oneNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMuAtLeast1HLT + - process.oneNonIsolatedZToMuMuVtxed + - process.oneNonIsolatedZToMuMuPlots+ - process.oneNonIsolatedZToMuMuVtxPlots - -) - -process.twoNonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMuAtLeast1HLT + - process.twoNonIsolatedZToMuMuVtxed + - process.twoNonIsolatedZToMuMuPlots + - process.twoNonIsolatedZToMuMuVtxPlots -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonFirstHLTVtxed + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlots + - process.goodZToMuMuOneStandAloneMuonVtxPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackFirstHLTVtxed + - process.goodZToMuMuOneTrackPlots + - process.goodZToMuMuOneTrackVtxPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('zMuSa-UML_test.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonPath" - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_withGlbMuQualityCuts.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_withGlbMuQualityCuts.py deleted file mode 100644 index 98515af2b522e..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuAnalysis_withGlbMuQualityCuts.py +++ /dev/null @@ -1,610 +0,0 @@ -from __future__ import print_function -#analysis code. -#It produces plot for Fit study -#author Luca Lista -#modificated by Noli Pasquale 21-10-2008 -#modified by Annapaola de Cosa 18-12-2008 -#modified by Michele de Gruttola 08-10-2009 - - - -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuAnalysis") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( -# input = cms.untracked.int32(17810) - input = cms.untracked.int32(100) -) - -#process.load("ElectroWeakAnalysis/ZMuMu/OCTSUBSKIM_cff") - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_1.root", -"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/zmm/testZMuMuSubSkim_2.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_1.root", -# "rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_2.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_3.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_4.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_5.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/wmn/testZMuMuSubSkim_6.root", -#"rfio:/dpm/na.infn.it/home/cms/store/user/degrutto/EWK_ZMM_OCT_EX_7TeV/TTbar/testZMuMuSubSkim_1.root", - ) -) - -process.TFileService = cms.Service( - "TFileService", - fileName = cms.string("Analysis_zmm_7TeV_qualityCuts_test100ev.root") -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2.1 & abs(daughter(1).eta)<2.1 & mass > 20"), - isoCut = cms.double(3.), - ptThreshold = cms.untracked.double(1.5), - etEcalThreshold = cms.untracked.double(0.2), - etHcalThreshold = cms.untracked.double(0.5), - deltaRVetoTrk = cms.untracked.double(0.015), - deltaRTrk = cms.untracked.double(0.3), - deltaREcal = cms.untracked.double(0.25), - deltaRHcal = cms.untracked.double(0.25), - alpha = cms.untracked.double(0.), - beta = cms.untracked.double(-0.75), - relativeIsolation = cms.bool(False) - -# For standard isolation (I_Tkr<3GeV) choose this configuration: -# isoCut = cms.double(3.), -# ptThreshold = cms.untracked.double(1.5), -# etEcalThreshold = cms.untracked.double(0.2), -# etHcalThreshold = cms.untracked.double(0.5), -# deltaRVetoTrk = cms.untracked.double(0.015), -# deltaRTrk = cms.untracked.double(0.3), -# deltaREcal = cms.untracked.double(0.25), -# deltaRHcal = cms.untracked.double(0.25), -# alpha = cms.untracked.double(0.), -# beta = cms.untracked.double(-0.75), -# relativeIsolation = cms.bool(False) - - - ) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) -#ZMuMu: requiring at least 1 HLT trigger match (for the shape) -process.goodZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: requiring 2 HLT trigger match -process.goodZToMuMu2HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("bothMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu: requiring 1 HLT trigger match -process.goodZToMuMu1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMu"), - condition =cms.string("exactlyOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMu:at least one muon is not isolated -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -#ZMuMu:1 muon is not isolated -process.oneNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuOneNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - -#ZMuMu: 2 muons are not isolated -process.twoNonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuTwoNonIsolatedIDSelector", - zSelection, - src = cms.InputTag("nonIsolatedZToMuMu"), - filter = cms.bool(True) -) - - - -#ZMuMunotIso: requiring at least 1 trigger -process.nonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("nonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuOnenotIso: requiring at least 1 trigger -process.oneNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("oneNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -#ZMuMuTwonotIso: requiring at least 1 trigger -process.twoNonIsolatedZToMuMuAtLeast1HLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("twoNonIsolatedZToMuMu"), - condition =cms.string("atLeastOneMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - - - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedIDSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuTk:requiring that the GlobalMuon 'First' has HLT match -process.goodZToMuMuOneTrackFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneTrack"), - condition =cms.string("firstMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -#ZMuSta:requiring that the GlobalMuon has HLT match -process.goodZToMuMuOneStandAloneMuonFirstHLT = cms.EDFilter( - "ZHLTMatchFilter", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - condition =cms.string("globalisMatched"), - hltPath = cms.string("HLT_Mu9"), - filter = cms.bool(True) -) - -process.zmumuSaMassHistogram = cms.EDAnalyzer( - "ZMuMuSaMassHistogram", - src_m = cms.InputTag("goodZToMuMu"), - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbin = cms.untracked.int32(200) - # name = cms.untracked.string("zMass") - ) - -goodZToMuMuTemplate = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("replace this string with your cut"), - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), - filter = cms.bool(False) -) - - - -#### Plot #### -zPlots = cms.PSet( - histograms = cms.VPSet( - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zMass"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(2000.0), - nbins = cms.untracked.int32(2000), - name = cms.untracked.string("zMassUpToTwoTeV"), - description = cms.untracked.string("Z mass [GeV/c^{2}]"), - plotquantity = cms.untracked.string("mass") - ), - cms.PSet( - min = cms.untracked.double(-10.0), - max = cms.untracked.double(10.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zEta"), - description = cms.untracked.string("Z #eta"), - plotquantity = cms.untracked.string("eta") - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("zRapidity"), - description = cms.untracked.string("Z y"), - plotquantity = cms.untracked.string("rapidity") - ), - cms.PSet( - min = cms.untracked.double(0), - max = cms.untracked.double(200), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("zPt"), - description = cms.untracked.string("Z p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("pt") - ), - cms.PSet( - min = cms.untracked.double(-4), - max = cms.untracked.double(4), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("zPhi"), - description = cms.untracked.string("Z #phi"), - plotquantity = cms.untracked.string("phi") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu1Pt"), - description = cms.untracked.string("Highest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("max(daughter(0).pt,daughter(1).pt)") - ), - cms.PSet( - min = cms.untracked.double(0.0), - max = cms.untracked.double(200.0), - nbins = cms.untracked.int32(200), - name = cms.untracked.string("mu2Pt"), - description = cms.untracked.string("Lowest muon p_{t} [GeV/c]"), - plotquantity = cms.untracked.string("min(daughter(0).pt,daughter(1).pt)"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1Eta"), - description = cms.untracked.string("muon1 #eta"), - plotquantity = cms.untracked.string("daughter(0).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2Eta"), - description = cms.untracked.string("muon2 #eta"), - plotquantity = cms.untracked.string("daughter(1).eta"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu1y"), - description = cms.untracked.string("muon1 y"), - plotquantity = cms.untracked.string("daughter(0).rapidity"), - ), - cms.PSet( - min = cms.untracked.double(-6.0), - max = cms.untracked.double(6.0), - nbins = cms.untracked.int32(120), - name = cms.untracked.string("mu2y"), - description = cms.untracked.string("muon2 y"), - plotquantity = cms.untracked.string("daughter(1).rapidity"), - ), -cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu1phi"), - description = cms.untracked.string("muon1 #phi"), - plotquantity = cms.untracked.string("daughter(0).phi"), - ), - cms.PSet( - min = cms.untracked.double(-4.0), - max = cms.untracked.double(4.0), - nbins = cms.untracked.int32(80), - name = cms.untracked.string("mu2phi"), - description = cms.untracked.string("muon2 #phi"), - plotquantity = cms.untracked.string("daughter(1).phi"), - ), - cms.PSet( - min = cms.untracked.double(-0.1), - max = cms.untracked.double(6.9), - nbins = cms.untracked.int32(7000), - name = cms.untracked.string("absMu1phiMinusMu2phi"), - description = cms.untracked.string("|mu1 #phi - mu2 #phi|"), - plotquantity = cms.untracked.string("abs(daughter(0).phi - daughter(1).phi)"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dxy"), - description = cms.untracked.string("muon1 dxy"), - plotquantity = cms.untracked.string("(- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dxy"), - description = cms.untracked.string("muon2 dxy"), - plotquantity = cms.untracked.string("(- daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt "), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu1 dz"), - description = cms.untracked.string("muon1 dz"), - plotquantity = cms.untracked.string("daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt"), - ), - cms.PSet( - min = cms.untracked.double(-10), - max = cms.untracked.double(10), - nbins = cms.untracked.int32(1000), - name = cms.untracked.string("mu2 dz"), - description = cms.untracked.string("muon2 dz"), - plotquantity = cms.untracked.string("daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt"), - ) - ) -) - -## # dxy constructed from the vtx position -## dxy0 = " (- daughter(0).vx * daughter(0).py + daughter(0).vy * daughter(0).px) / daughter(0).pt " -## dxy1 = " ( - daughter(1).vx * daughter(1).py + daughter(1).vy * daughter(1).px) / daughter(1).pt " -## # dz constructed from vertex position -## dz0 = " daughter(0).vz - ( daughter(0).vx * daughter(0).px + daughter(0).vy * daughter(0).py) / daughter(0).pt * daughter(0).pz / daughter(0).pt " -## dz1 = " daughter(1).vz - ( daughter(1).vx * daughter(1).px + daughter(1).vy * daughter(1).py) / daughter(1).pt * daughter(1).pz / daughter(1).pt " - - - - -#ZMuMu at least 1 HLT + 2 track-iso (Shape) -goodZToMuMuPlotsTemplate = cms.EDAnalyzer( - "CandViewHistoAnalyzer", - zPlots, - src = cms.InputTag("goodZToMuMuAtLeast1HLT") -) - -#ZMuMu at least 1 HLT + at least 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -nonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -nonIsolatedZToMuMuPlots.src = cms.InputTag("nonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "nonIsolatedZToMuMuPlots", nonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 1 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -oneNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -oneNonIsolatedZToMuMuPlots.src = cms.InputTag("oneNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "oneNonIsolatedZToMuMuPlots", oneNonIsolatedZToMuMuPlots) - -#ZMuMu at least 1 HLT + 2 NON track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate -twoNonIsolatedZToMuMuPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -twoNonIsolatedZToMuMuPlots.src = cms.InputTag("twoNonIsolatedZToMuMuAtLeast1HLT") -setattr(process, "twoNonIsolatedZToMuMuPlots", twoNonIsolatedZToMuMuPlots) - - - - -etaBounds = [2.1] -## if you want to perform studies on different eta bins... -##### etaBounds = [-2.1, -1.2, -0.8, 0.8, 1.2, 2.1] - -def addModulesFromTemplate(sequence, moduleLabel, src, probeSelection): - print("selection for: ", moduleLabel) - for i in range(len(etaBounds)-1): - etaMin = etaBounds[i] - etaMax = etaBounds[i+1] - module = copy.deepcopy(goodZToMuMuTemplate) - if probeSelection == "single": - cut = "%5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax) - elif probeSelection == "double": - cut = "%5.3f < daughter(0).eta < %5.3f | %5.3f < daughter(1).eta < %5.3f" %(etaMin, etaMax, etaMin, etaMax) - print(i, ") cut = ", cut) - setattr(module, "cut", cut) - setattr(module, "src", cms.InputTag(src)) - copyModuleLabel = moduleLabel + str(i) - setattr(process, copyModuleLabel, module) - if sequence == None: - sequence = module - else: - sequence = sequence + module - plotModule = copy.deepcopy(goodZToMuMuPlotsTemplate) - setattr(plotModule, "src", cms.InputTag(copyModuleLabel)) - for h in plotModule.histograms: - h.description.setValue(h.description.value() + ": " + "#eta: [%5.3f, %5.3f]" %(etaMin, etaMax)) - plotModuleLabel = moduleLabel + "Plots" + str(i) - setattr(process, plotModuleLabel, plotModule) - sequence = sequence + plotModule - path = cms.Path(sequence) - setattr(process, moduleLabel+"Path", path) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -#ZMuMu at least 1 HLT + 2 track-iso -process.goodZToMuMuPlots = goodZToMuMuPlotsTemplate - -#ZMuMu 1 HLT + 2 track-iso -process.goodZToMuMu1HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu1HLTPlots.src = cms.InputTag("goodZToMuMu1HLT") - -#ZMuMu 2 HLT + 2 track-iso -process.goodZToMuMu2HLTPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMu2HLTPlots.src = cms.InputTag("goodZToMuMu2HLT") - -#ZMuSta First HLT + 2 track-iso -process.goodZToMuMuOneStandAloneMuonPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneStandAloneMuonPlots.src = cms.InputTag("goodZToMuMuOneStandAloneMuonFirstHLT") - -#ZMuTk First HLT + 2 track-iso -process.goodZToMuMuOneTrackPlots = copy.deepcopy(goodZToMuMuPlotsTemplate) -process.goodZToMuMuOneTrackPlots.src = cms.InputTag("goodZToMuMuOneTrackFirstHLT") - - - - - - -process.globalMuQualityCutsAnalysis= cms.EDAnalyzer( - "GlbMuQualityCutsAnalysis", - src = cms.InputTag("goodZToMuMuAtLeast1HLT"), # dimuonsOneTrack, dimuonsOneStandAlone - ptMin = cms.untracked.double(0.0), - massMin = cms.untracked.double(0.0), - massMax = cms.untracked.double(120.0), - etaMin = cms.untracked.double(-1.0), - etaMax = cms.untracked.double(10.0), - trkIso = cms.untracked.double(10000), - chi2Cut = cms.untracked.double(10), - nHitCut = cms.untracked.int32(10) - ) - - - - - - -# N-tuples - -process.goodZToMuMuOneStandAloneMuonNtuple = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag("goodZToMuMuOneStandAloneMuon"), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("mass"), - quantity = cms.untracked.string("mass") - ) - ) -) - -process.initialGoodZToMuMuPath = cms.Path( - process.goodZToMuMu + - process.zmumuSaMassHistogram -) - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMuAtLeast1HLT+ - process.goodZToMuMuPlots + - process.globalMuQualityCutsAnalysis, - "goodZToMuMu", "goodZToMuMu", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu2HLT + - process.goodZToMuMu2HLTPlots, - "goodZToMuMu2HLT", "goodZToMuMu2HLT", - "double") - -addModulesFromTemplate( - process.goodZToMuMu + - process.goodZToMuMu1HLT + - process.goodZToMuMu1HLTPlots, - "goodZToMuMu1HLT", "goodZToMuMu1HLT", - "double") - -process.nonIsolatedZToMuMuPath = cms.Path ( - process.nonIsolatedZToMuMu + - process.nonIsolatedZToMuMuAtLeast1HLT + - process.nonIsolatedZToMuMuPlots -) -process.oneNonIsolatedZToMuMuPath = cms.Path( - process.oneNonIsolatedZToMuMu + - process.oneNonIsolatedZToMuMuAtLeast1HLT + - process.oneNonIsolatedZToMuMuPlots -) - -process.twoNonIsolatedZToMuMuPath = cms.Path( - process.twoNonIsolatedZToMuMu + - process.twoNonIsolatedZToMuMuAtLeast1HLT + - process.twoNonIsolatedZToMuMuPlots -) - -addModulesFromTemplate( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuonFirstHLT + - process.goodZToMuMuOneStandAloneMuonNtuple + - process.goodZToMuMuOneStandAloneMuonPlots, - "goodZToMuMuOneStandAloneMuon", "goodZToMuMuOneStandAloneMuon", - "single") - -addModulesFromTemplate( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack + - process.goodZToMuMuOneTrackFirstHLT + - process.goodZToMuMuOneTrackPlots, - "goodZToMuMuOneTrack", "goodZToMuMuOneTrack", - "single") - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('zMuSa-UML_test.root'), - outputCommands = cms.untracked.vstring( - "drop *", - "keep *_goodZToMuMuOneStandAloneMuonNtuple_*_*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuOneStandAloneMuonPath" - ) - ) -) - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuSubSkim.py b/ElectroWeakAnalysis/ZMuMu/test/zToMuMuSubSkim.py deleted file mode 100644 index d5776bfc22da7..0000000000000 --- a/ElectroWeakAnalysis/ZMuMu/test/zToMuMuSubSkim.py +++ /dev/null @@ -1,146 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import copy - -process = cms.Process("ZToMuMuHistos") - -process.include("FWCore/MessageLogger/data/MessageLogger.cfi") - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(1000) -) - -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - "file:/scratch1/cms/data/summer08/skim/dimuons_skim_zmumu.root" - ) -) - -zSelection = cms.PSet( - cut = cms.string("charge = 0 & daughter(0).pt > 20 & daughter(1).pt > 20 & abs(daughter(0).eta)<2 & abs(daughter(1).eta)<2 & mass > 20"), - isoCut = cms.double(100.0), - isolationType = cms.string("track"), -) - -process.goodZToMuMu = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.nonIsolatedZToMuMu = cms.EDFilter( - "ZToMuMuNonIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsGlobal"), - filter = cms.bool(True) -) - -process.zToMuGlobalMuOneTrack = cms.EDFilter( - "CandViewRefSelector", - cut = cms.string("daughter(0).isGlobalMuon = 1"), - src = cms.InputTag("dimuonsOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneTrack = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("zToMuGlobalMuOneTrack"), - filter = cms.bool(True) -) - -process.zToMuMuOneStandAloneMuon = cms.EDFilter( - "ZToMuMuIsolatedSelector", - zSelection, - src = cms.InputTag("dimuonsOneStandAloneMuon"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneTrack = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneTrack"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.goodZToMuMuOneStandAloneMuon = cms.EDFilter( - "ZMuMuOverlapExclusionSelector", - src = cms.InputTag("zToMuMuOneStandAloneMuon"), - overlap = cms.InputTag("goodZToMuMu"), - filter = cms.bool(True) -) - -process.eventInfo = cms.OutputModule ( - "AsciiOutputModule" -) - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('file:./Zmm.root'), - outputCommands = cms.untracked.vstring( - "drop *", -# "keep *_genParticles_*_*", -# "keep L1MuRegionalCands_*_*_*", -# "keep L1MuGMTCands_*_*_*", -# "keep L1MuGMTReadoutCollection_*_*_*", - "keep TriggerResults_*_*_*", -# "keep recoTracks_generalTracks_*_*", -# "keep recoTracks_globalMuons_*_*", -# "keep recoTracks_standAloneMuons_*_*", -# "keep recoMuons_muons_*_*", - "keep *_selectedLayer1Muons_*_*", - "keep *_selectedLayer1TrackCands_*_*", - 'keep *_selectedLayer1MuonsTriggerMatch_*_*', -# "keep *_goodTracks_*_*", - "keep *_dimuons_*_*", - "keep *_dimuonsOneTrack_*_*", - "keep *_dimuonsGlobal_*_*", - "keep *_dimuonsOneStandAloneMuon_*_*", -# "keep *_muonMatch_*_*", -# "keep *_allDimuonsMCMatch_*_*", - "keep *_goodZToMuMu__*", - "keep *_nonIsolatedZToMuMu__*", - "keep *_goodZToMuMuOneStandAloneMuon__*", - "keep *_goodZToMuMuOneTrack__*" - ), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring( - "goodZToMuMuPath", "nonIsolatedZToMuMuPath", - "zToMuMuOneStandAloneMuonPath", "goodZToMuMuOneTrackPath" - ) - ) -) - -process.goodZToMuMuPath = cms.Path( - process.goodZToMuMu -) - -process.nonIsolatedZToMuMuPath = cms.Path( - process.nonIsolatedZToMuMu -) - -process.zToMuMuOneStandAloneMuonPath = cms.Path( - ~process.goodZToMuMu + - process.zToMuMuOneStandAloneMuon + - process.goodZToMuMuOneStandAloneMuon -) - -process.goodZToMuMuOneTrackPath = cms.Path( - ~process.goodZToMuMu + - ~process.zToMuMuOneStandAloneMuon + - process.zToMuGlobalMuOneTrack + - process.zToMuMuOneTrack + - process.goodZToMuMuOneTrack -) - - -process.endPath = cms.EndPath( - process.eventInfo + - process.out -) - diff --git a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_EventContent_cff.py b/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_EventContent_cff.py deleted file mode 100644 index e1067a75e366d..0000000000000 --- a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_EventContent_cff.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HeavyFlavorAnalysis event content -# -from HeavyFlavorAnalysis.Skimming.bToMuMu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.jpsiToMuMu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.upsilonToMuMu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.tauTo3Mu_EventContent_cff import * - -HeavyFlavorAnalysisEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -HeavyFlavorAnalysisEventContent.outputCommands.extend(bToMuMuEventContent.outputCommands) -HeavyFlavorAnalysisEventContent.outputCommands.extend(jpsiToMuMuEventContent.outputCommands) -HeavyFlavorAnalysisEventContent.outputCommands.extend(upsilonToMuMuEventContent.outputCommands) -HeavyFlavorAnalysisEventContent.outputCommands.extend(tauTo3MuEventContent.outputCommands) - diff --git a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_OutputModules_cff.py b/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_OutputModules_cff.py deleted file mode 100644 index e918c804a2882..0000000000000 --- a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_OutputModules_cff.py +++ /dev/null @@ -1,11 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -#tauTo3MuOutputModuleAODSIM & - -import FWCore.ParameterSet.Config as cms - -# -# HeavyFlavorAnalysis output modules -# -from HeavyFlavorAnalysis.Skimming.onia_OutputModules_cff import * - diff --git a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_SkimPaths_cff.py b/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_SkimPaths_cff.py deleted file mode 100644 index c58e0d79a3898..0000000000000 --- a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HeavyFlavorAnalysis skim paths -# -from HeavyFlavorAnalysis.Skimming.onia_SkimPaths_cff import * -from HeavyFlavorAnalysis.Skimming.tauTo3Mu_SkimPaths_cff import * - diff --git a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_cff.py b/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_cff.py deleted file mode 100644 index 29f89f2ca7027..0000000000000 --- a/HeavyFlavorAnalysis/Configuration/python/HeavyFlavorAnalysis_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HeavyFlavorAnalysis standard sequences -# -from HeavyFlavorAnalysis.Skimming.onia_Sequences_cff import * -from HeavyFlavorAnalysis.Skimming.tauTo3MuSequences_cff import * -heavyFlavorAnalysis = cms.Sequence(cms.SequencePlaceholder("onia")+cms.SequencePlaceholder("tauTo3Mu")) - diff --git a/HeavyFlavorAnalysis/Skimming/BuildFile.xml b/HeavyFlavorAnalysis/Skimming/BuildFile.xml deleted file mode 100644 index 7cf29fc51b3f4..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/BuildFile.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h b/HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h deleted file mode 100644 index 10ae79adfed51..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Combinatorics.h - * - * 03/04/2006 kasselmann@physik.rwth-aachen.de - * - */ - -#ifndef COMBINATORICS_H -#define COMBINATORICS_H - -// C++ header -#include - -// ROOT header -#include - -class Combinatorics { -public: - Combinatorics(Int_t Set, Int_t Subset); - virtual ~Combinatorics(); - - std::vector > GetPermutations(); - std::vector > GetCombinations(); - std::vector > GetCombinations_2_0(); - std::vector > GetCombinations_2_2(); - std::vector > GetCombinations_N_1(); - - Int_t EqualPermutation(const std::vector& permutation1, const std::vector& permutation2); - Int_t EqualPermutation_2_0(const std::vector& permutation1, const std::vector& permutation2); - Int_t EqualPermutation_2_2(const std::vector& permutation1, const std::vector& permutation2); - Int_t EqualPermutation_N_1(const std::vector& permutation1, const std::vector& permutation2); - - void Print(const std::vector& permutation); - void Print(const std::vector >& permutations); - -private: - Int_t CalculatePermutations(); - - void initial_permutation(int size, int* permutation); - Bool_t next_permutation(int size, int* permutation); - void initial_subset(int k, int* subset); - Bool_t next_subset(int n, int k, int* subset); - - void Skip_2_0(const std::vector >& permutation1, std::vector >& permutation2); - void Skip_2_2(const std::vector >& permutation1, std::vector >& permutation2); - - std::vector Rotate(const std::vector& permutation, UInt_t digits); - - const Int_t m_SetQuantity; - const Int_t m_SubsetQuantity; - - std::vector m_Subset; - std::vector > m_Permutations; - std::vector > m_Combinations; -}; - -#endif diff --git a/HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h b/HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h deleted file mode 100644 index 4b8cd32919946..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef TAU3MURECO_H -#define TAU3MURECO_H - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include -#include -#include - -class Tau3MuReco { -public: - Tau3MuReco(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC); - ~Tau3MuReco(); - - bool doTau3MuReco(const edm::Event& iEvent, - const edm::EventSetup& iSetup, - reco::MuonCollection* muonCollection, - reco::TrackCollection* trackCollection); - -private: - bool check4MuonTrack( - const reco::Track& track); //compares track with reconstructed muons and return true if they are equal - bool find3rdTrack( - const edm::Event& iEvent, - const edm::EventSetup& iSetup, - const reco::TrackCollection& Tracks); //try to find a 3rd muon in tracks, if this was not detected as a muon - bool findCorrectPairing(); //find the correct 3 muons, if more than 3 muons has been reconstructed - double getInvariantMass(const reco::TrackCollection* tracks, const double MuonMass = 0.106); - double getDeltaR(const reco::Track& track1, const reco::Track& track2); - bool removeIncorrectMuon(); //try to remove one muon, which seems to come not from a tau->3Mu decay - - const double m_kMatchingDeltaR; - const double m_kMatchingPt; - const double m_kTauMassCut; - const double m_kTauMass; - const double m_kMuonMass; - - const edm::EDGetTokenT m_kMuonSourceToken; - const edm::EDGetTokenT m_kTrackSourceToken; - - reco::MuonCollection* m_MuonCollection; - reco::TrackCollection* m_TrackCollection; -}; - -#endif diff --git a/HeavyFlavorAnalysis/Skimming/plugins/BuildFile.xml b/HeavyFlavorAnalysis/Skimming/plugins/BuildFile.xml deleted file mode 100644 index 996fee6d9943b..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/plugins/BuildFile.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.cc b/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.cc deleted file mode 100644 index 97096b5b26104..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.cc +++ /dev/null @@ -1,60 +0,0 @@ -// -*- C++ -*- -// -// Package: Tau3MuSkim -// Class: Tau3MuSkim -// -/**\class Tau3MuSkim Tau3MuSkim.cc HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Manuel Giffels -// Created: Mon Jul 23 10:19:11 CEST 2007 -// -// -// - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" - -#include "HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h" -#include "HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.h" - -Tau3MuSkim::Tau3MuSkim(const edm::ParameterSet& iConfig) { - m_Tau3MuReco = new Tau3MuReco(iConfig, consumesCollector()); - - produces("tau3MuCandidateMuons"); - produces("tau3MuCandidateTracks"); -} - -Tau3MuSkim::~Tau3MuSkim() { delete m_Tau3MuReco; } - -// -// member functions -// - -// ------------ method called on each new Event ------------ -bool Tau3MuSkim::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - std::unique_ptr tau3MuCandidateMuons(new reco::MuonCollection); - std::unique_ptr tau3MuCandidateTracks(new reco::TrackCollection); - - bool accept = m_Tau3MuReco->doTau3MuReco(iEvent, iSetup, tau3MuCandidateMuons.get(), tau3MuCandidateTracks.get()); - - iEvent.put(std::move(tau3MuCandidateMuons), "tau3MuCandidateMuons"); - iEvent.put(std::move(tau3MuCandidateTracks), "tau3MuCandidateTracks"); - - return accept; -} - -// ------------ method called once each job just before starting event loop ------------ -void Tau3MuSkim::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void Tau3MuSkim::endJob() {} - -//define this as a plug-in -DEFINE_FWK_MODULE(Tau3MuSkim); diff --git a/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.h b/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.h deleted file mode 100644 index f83574fd5f7c5..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/plugins/Tau3MuSkim.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef TAU3MUSKIM -#define TAU3MUSKIM - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -// -// class declaration -// - -class Tau3MuReco; - -class Tau3MuSkim : public edm::EDFilter { -public: - explicit Tau3MuSkim(const edm::ParameterSet&); - ~Tau3MuSkim() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - // ----------member data --------------------------- - Tau3MuReco* m_Tau3MuReco; -}; - -#endif diff --git a/HeavyFlavorAnalysis/Skimming/python/AODSIMTauTo3Mu_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/AODSIMTauTo3Mu_EventContent_cff.py deleted file mode 100644 index f96663f12346b..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/AODSIMTauTo3Mu_EventContent_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.tauTo3Mu_EventContent_cff import * -AODSIMTauTo3MuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -AODSIMTauTo3MuEventContent.outputCommands.extend(AODSIMEventContent.outputCommands) -AODSIMTauTo3MuEventContent.outputCommands.extend(tauTo3MuEventContent.outputCommands) - diff --git a/HeavyFlavorAnalysis/Skimming/python/CompactSkim_cff.py b/HeavyFlavorAnalysis/Skimming/python/CompactSkim_cff.py deleted file mode 100644 index 1a072842e0137..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/CompactSkim_cff.py +++ /dev/null @@ -1,117 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from PhysicsTools.PatAlgos.tools.helpers import getPatAlgosToolsTask - -def CompactSkim(process,inFileNames,outFileName,Global_Tag='auto:run2_mc',MC=True,Filter=True): - - patAlgosToolsTask = getPatAlgosToolsTask(process) - - process.load('Configuration.StandardSequences.Services_cff') - process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') - process.load('FWCore.MessageService.MessageLogger_cfi') - process.load('Configuration.EventContent.EventContent_cff') - process.load('Configuration.StandardSequences.GeometryRecoDB_cff') - process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') - process.load('Configuration.StandardSequences.EndOfProcess_cff') - patAlgosToolsTask.add(process.MEtoEDMConverter) - process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - - process.MessageLogger.cerr.FwkReport.reportEvery = 100 - process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - process.source = cms.Source('PoolSource', fileNames = cms.untracked.vstring(inFileNames)) - process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - from Configuration.AlCa.GlobalTag import GlobalTag - process.GlobalTag = GlobalTag(process.GlobalTag, Global_Tag, '') - - # make patCandidates, select and clean them - process.load('PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff') - patAlgosToolsTask.add(process.patCandidatesTask) - process.load('PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff') - patAlgosToolsTask.add(process.selectedPatCandidatesTask) - process.load('PhysicsTools.PatAlgos.cleaningLayer1.cleanPatCandidates_cff') - patAlgosToolsTask.add(process.cleanPatCandidatesTask) - process.patMuons.embedTrack = True - - process.selectedPatMuons.cut = cms.string('muonID(\"TMOneStationTight\")' - ' && abs(innerTrack.dxy) < 0.3' - ' && abs(innerTrack.dz) < 20.' - ' && innerTrack.hitPattern.trackerLayersWithMeasurement > 5' - ' && innerTrack.hitPattern.pixelLayersWithMeasurement > 0' - ' && innerTrack.quality(\"highPurity\")' - ) - - #make patTracks - from PhysicsTools.PatAlgos.tools.trackTools import makeTrackCandidates - makeTrackCandidates(process, - label = 'TrackCands', # output collection - tracks = cms.InputTag('generalTracks'), # input track collection - particleType = 'pi+', # particle type (for assigning a mass) - preselection = 'pt > 0.7', # preselection cut on candidates - selection = 'pt > 0.7', # selection on PAT Layer 1 objects - isolation = {}, # isolations to use (set to {} for None) - isoDeposits = [], - mcAs = None # replicate MC match as the one used for Muons - ) - process.patTrackCands.embedTrack = True - - # dimuon = Onia2MUMU - process.load('HeavyFlavorAnalysis.Onia2MuMu.onia2MuMuPAT_cfi') - patAlgosToolsTask.add(process.onia2MuMuPAT) - process.onia2MuMuPAT.muons=cms.InputTag('cleanPatMuons') - process.onia2MuMuPAT.primaryVertexTag=cms.InputTag('offlinePrimaryVertices') - process.onia2MuMuPAT.beamSpotTag=cms.InputTag('offlineBeamSpot') - - process.onia2MuMuPATCounter = cms.EDFilter('CandViewCountFilter', - src = cms.InputTag('onia2MuMuPAT'), - minNumber = cms.uint32(1), - ) - - # reduce MC genParticles a la miniAOD - process.load('PhysicsTools.PatAlgos.slimming.genParticles_cff') - patAlgosToolsTask.add(process.genParticlesTask) - process.packedGenParticles.inputVertices = cms.InputTag('offlinePrimaryVertices') - - # make photon candidate conversions for P-wave studies - process.load('HeavyFlavorAnalysis.Onia2MuMu.OniaPhotonConversionProducer_cfi') - patAlgosToolsTask.add(process.PhotonCandidates) - - # add v0 with tracks embed - process.load('HeavyFlavorAnalysis.Onia2MuMu.OniaAddV0TracksProducer_cfi') - patAlgosToolsTask.add(process.oniaV0Tracks) - - # Pick branches you want to keep - SlimmedEventContent = [ - 'keep recoVertexs_offlinePrimaryVertices_*_*', - 'keep *_inclusiveSecondaryVertices_*_*', - 'keep *_offlineBeamSpot_*_*', - 'keep *_TriggerResults_*_HLT', - 'keep *_gtDigis_*_RECO', - 'keep *_cleanPatTrackCands_*_*', - 'keep *_PhotonCandidates_*_*', - 'keep *_onia2MuMuPAT_*_*', - 'keep *_generalV0Candidates_*_*', - 'keep *_oniaV0Tracks_*_*', - 'keep PileupSummaryInfos_*_*_*' - ] - - if not MC: - from PhysicsTools.PatAlgos.tools.coreTools import runOnData - runOnData( process, outputModules = [] ) - else : - SlimmedEventContent += [ - 'keep patPackedGenParticles_packedGenParticles_*_*', - 'keep recoGenParticles_prunedGenParticles_*_*', - 'keep GenFilterInfo_*_*_*', - 'keep GenEventInfoProduct_generator_*_*', - 'keep GenRunInfoProduct_*_*_*' - ] - - process.FilterOutput = cms.Path(process.onia2MuMuPATCounter) - - process.out = cms.OutputModule('PoolOutputModule', - fileName = cms.untracked.string(outFileName), - outputCommands = cms.untracked.vstring('drop *', *SlimmedEventContent), - SelectEvents = cms.untracked.PSet(SelectEvents = cms.vstring('FilterOutput')) if Filter else cms.untracked.PSet() - ) - - process.outpath = cms.EndPath(process.out, patAlgosToolsTask) diff --git a/HeavyFlavorAnalysis/Skimming/python/bToMuMuOutputModuleAODSIM_cfi.py b/HeavyFlavorAnalysis/Skimming/python/bToMuMuOutputModuleAODSIM_cfi.py deleted file mode 100644 index d93b46ca9f0bd..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/bToMuMuOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#include "Configuration/EventContent/data/EventContent.cff" -from HeavyFlavorAnalysis.Skimming.onia_EventContent_cff import * -bToMuMuOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - bToMuMuEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('bToMuMu'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('bToMuMu.root') -) - - diff --git a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/bToMuMu_EventContent_cff.py deleted file mode 100644 index af91d61c0a659..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# keep essential info used to construct b to Jpsi -bToMuMuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -bToMuMuEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('bToMuMuHLTPath') - ) -) - diff --git a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_HLTPath_cfi.py b/HeavyFlavorAnalysis/Skimming/python/bToMuMu_HLTPath_cfi.py deleted file mode 100644 index 873a4b6fd9663..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_HLTPath_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -bToMuMuHLTFilter = copy.deepcopy(hltHighLevel) -bToMuMuHLTFilter.HLTPaths = ['HLT_DoubleMu3', 'HLT_DoubleMu4_BJPsi', 'HLT_DoubleMu3_SameSign'] - diff --git a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_SkimPath_cff.py b/HeavyFlavorAnalysis/Skimming/python/bToMuMu_SkimPath_cff.py deleted file mode 100644 index 081024b15ab1b..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/bToMuMu_SkimPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.bToMuMu_HLTPath_cfi import * -bToMuMuHLTPath = cms.Path(bToMuMuHLTFilter) - diff --git a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMuOutputModuleAODSIM_cfi.py b/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMuOutputModuleAODSIM_cfi.py deleted file mode 100644 index 4479cc2b0ecf2..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMuOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#include "Configuration/EventContent/data/EventContent.cff" -from HeavyFlavorAnalysis.Skimming.onia_EventContent_cff import * -jpsiToMuMuOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - jpsiToMuMuEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('jpsiToMuMu'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('jpsiToMuMu.root') -) - - diff --git a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_EventContent_cff.py deleted file mode 100644 index 90a9565e691c9..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -jpsiToMuMuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) - -jpsiToMuMuEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('jpsiToMuMuHLTPath') - ) -) - diff --git a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_HLTPath_cfi.py b/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_HLTPath_cfi.py deleted file mode 100644 index bbaa6124b21ef..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_HLTPath_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -jpsiToMuMuHLTFilter = copy.deepcopy(hltHighLevel) -jpsiToMuMuHLTFilter.HLTPaths = ['HLT_DoubleMu3_JPsi'] - diff --git a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_SkimPath_cff.py b/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_SkimPath_cff.py deleted file mode 100644 index 157297610609f..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/jpsiToMuMu_SkimPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.jpsiToMuMu_HLTPath_cfi import * -jpsiToMuMuHLTPath = cms.Path(jpsiToMuMuHLTFilter) - diff --git a/HeavyFlavorAnalysis/Skimming/python/onia_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/onia_EventContent_cff.py deleted file mode 100644 index 2285588858ead..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/onia_EventContent_cff.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.jpsiToMuMu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.upsilonToMuMu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.bToMuMu_EventContent_cff import * -from Configuration.EventContent.EventContent_cff import * -oniaMuMuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring('keep *_source_*_*', - 'keep recoCandidatesOwned_genParticleCandidates_*_*', - 'keep recoTracks_ctfWithMaterialTracks_*_*', - 'keep recoTracks_globalMuons_*_*', - 'keep recoTracks_standAloneMuons_*_*', - 'keep recoMuons_muons_*_*', - 'keep recoCandidatesOwned_allMuons_*_*', - 'keep recoCandidatesOwned_allTracks_*_*', - 'keep recoCandidatesOwned_allStandAloneMuonTracks_*_*') -) -AODSIMEventContent.outputCommands.extend(oniaMuMuEventContent.outputCommands) -AODSIMEventContent.outputCommands.extend(bToMuMuEventContent.outputCommands) - diff --git a/HeavyFlavorAnalysis/Skimming/python/onia_OutputModules_cff.py b/HeavyFlavorAnalysis/Skimming/python/onia_OutputModules_cff.py deleted file mode 100644 index 752e29b69d655..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/onia_OutputModules_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.jpsiToMuMuOutputModuleAODSIM_cfi import * -from HeavyFlavorAnalysis.Skimming.upsilonToMuMuOutputModuleAODSIM_cfi import * -from HeavyFlavorAnalysis.Skimming.bToMuMuOutputModuleAODSIM_cfi import * - diff --git a/HeavyFlavorAnalysis/Skimming/python/onia_Sequences_cff.py b/HeavyFlavorAnalysis/Skimming/python/onia_Sequences_cff.py deleted file mode 100644 index 1d27c22c07af0..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/onia_Sequences_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.jpsiToMuMu_HLTPath_cfi import * -from HeavyFlavorAnalysis.Skimming.upsilonToMuMu_HLTPath_cfi import * -from HeavyFlavorAnalysis.Skimming.bToMuMu_HLTPath_cfi import * - diff --git a/HeavyFlavorAnalysis/Skimming/python/onia_SkimPaths_cff.py b/HeavyFlavorAnalysis/Skimming/python/onia_SkimPaths_cff.py deleted file mode 100644 index 0bdf93d926a06..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/onia_SkimPaths_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.jpsiToMuMu_SkimPath_cff import * -from HeavyFlavorAnalysis.Skimming.upsilonToMuMu_SkimPath_cff import * -from HeavyFlavorAnalysis.Skimming.bToMuMu_SkimPath_cff import * - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuFilter_cfi.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3MuFilter_cfi.py deleted file mode 100644 index 3ca3164a8c51b..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuFilter_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -tauTo3MuFilter = cms.EDFilter("Tau3MuSkim", - RecoAnalysisMuonMass = cms.double(0.1057), - RecoAnalysisTauMass = cms.double(1.777), - TrackSourceTag = cms.InputTag("ctfWithMaterialTracks"), - RecoAnalysisMatchingDeltaR = cms.double(0.01), - MuonSourceTag = cms.InputTag("muons"), - RecoAnalysisMatchingPt = cms.double(0.1), - RecoAnalysisTauMassCut = cms.double(0.2) -) - - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuHLTPath_cfi.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3MuHLTPath_cfi.py deleted file mode 100644 index 9664d5fea2ca5..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuHLTPath_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -tauTo3MuHLTFilter = copy.deepcopy(hltHighLevel) -tauTo3MuHLTFilter.HLTPaths = ['HLT_IsoMu11', 'HLT_Mu15_L1Mu7', 'HLT_DoubleMu3', 'HLT_TripleMu3'] - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuOutputModule_cfi.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3MuOutputModule_cfi.py deleted file mode 100644 index ac639d19c1545..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuOutputModule_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.tauTo3Mu_EventContent_cff import * -from HeavyFlavorAnalysis.Skimming.AODSIMTauTo3Mu_EventContent_cff import * -tauTo3MuOutputModule = cms.OutputModule("PoolOutputModule", - AODSIMTauTo3MuEventContent, - tauTo3MuEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('tauTo3Mu'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('tauTo3Mu.root') -) - - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuSequences_cff.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3MuSequences_cff.py deleted file mode 100644 index de14812da4cba..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3MuSequences_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.tauTo3MuHLTPath_cfi import * -from HeavyFlavorAnalysis.Skimming.tauTo3MuFilter_cfi import * -tauTo3MuSkim = cms.Sequence(tauTo3MuHLTFilter+tauTo3MuFilter) - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_EventContent_cff.py deleted file mode 100644 index b1e783e9d80f7..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_EventContent_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -tauTo3MuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring('keep recoTracks_ctfWithMaterialTracks_*_*', - 'keep recoTracks_globalMuons_*_*', - 'keep recoTracks_standAloneMuons_*_*', - 'keep recoMuons_muons_*_*', - 'keep recoCandidatesOwned_genParticle_*_*', - 'keep *_tauTo3MuFilter_*_*') -) -tauTo3MuEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('tauTo3MuPath') - ) -) - diff --git a/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_SkimPaths_cff.py b/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_SkimPaths_cff.py deleted file mode 100644 index 30fe63d9d1a5a..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/tauTo3Mu_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.tauTo3MuSequences_cff import * -tauTo3MuPath = cms.Path(tauTo3MuSkim) - diff --git a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMuOutputModuleAODSIM_cfi.py b/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMuOutputModuleAODSIM_cfi.py deleted file mode 100644 index f9351f21ed82c..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMuOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#include "Configuration/EventContent/data/EventContent.cff" -from HeavyFlavorAnalysis.Skimming.onia_EventContent_cff import * -upsilonToMuMuOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - upsilonToMuMuEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('upsilonToMuMu'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('upsilonToMuMu.root') -) - - diff --git a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_EventContent_cff.py b/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_EventContent_cff.py deleted file mode 100644 index d3e746482e301..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -upsilonToMuMuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) - -upsilonToMuMuEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('upsilonToMuMuHLTPath') - ) -) - diff --git a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_HLTPath_cfi.py b/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_HLTPath_cfi.py deleted file mode 100644 index dd67b2b8c3812..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_HLTPath_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -upsilonToMuMuHLTFilter = copy.deepcopy(hltHighLevel) -upsilonToMuMuHLTFilter.HLTPaths = ['HLT_DoubleMu3_Upsilon'] - diff --git a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_SkimPath_cff.py b/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_SkimPath_cff.py deleted file mode 100644 index 730a2aa007eb0..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/python/upsilonToMuMu_SkimPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HeavyFlavorAnalysis.Skimming.upsilonToMuMu_HLTPath_cfi import * -upsilonToMuMuHLTPath = cms.Path(upsilonToMuMuHLTFilter) - diff --git a/HeavyFlavorAnalysis/Skimming/src/Combinatorics.cc b/HeavyFlavorAnalysis/Skimming/src/Combinatorics.cc deleted file mode 100644 index 8ac52973951dd..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/src/Combinatorics.cc +++ /dev/null @@ -1,426 +0,0 @@ -/* - * Combinatorics.cpp - * - * 03/04/2006 kasselmann@physik.rwth-aachen.de - * 19/08/2007 giffels@physik.rwth-aachen.de - * - */ -//framework -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -// Own header -#include "HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h" - -using namespace std; - -// ************************************************************************** -// Class Constructor -// ************************************************************************** -Combinatorics::Combinatorics(Int_t SetQuantity, Int_t SubsetQuantity) - : - - m_SetQuantity(SetQuantity), - m_SubsetQuantity(SubsetQuantity) { - // Get permutations - CalculatePermutations(); -} - -// ************************************************************************** -// Class Destructor -// ************************************************************************** -Combinatorics::~Combinatorics() {} - -// ************************************************************************** -// Get subset permutations -// ************************************************************************** -vector > Combinatorics::GetPermutations() { return m_Permutations; } - -// ************************************************************************** -// Calculate all subset permutations -// ************************************************************************** -Int_t Combinatorics::CalculatePermutations() { - if (m_SetQuantity < 1 || m_SubsetQuantity < 1 || (m_SetQuantity < m_SubsetQuantity)) { - edm::LogWarning("Combinatorics") << "[Combinatorics] No valid choice of set or subset!" << endl; - return -1; - } - - Int_t* currentSubset = new Int_t[m_SubsetQuantity]; - Int_t* currentMapping = new Int_t[m_SetQuantity]; - - initial_subset(m_SubsetQuantity, currentSubset); - do { - initial_permutation(m_SetQuantity, currentMapping); - do { - for (UShort_t i = 0; i < m_SubsetQuantity; i++) { - m_Subset.push_back(currentSubset[currentMapping[i]]); - } - m_Permutations.push_back(m_Subset); - m_Subset.clear(); - } while (next_permutation(m_SubsetQuantity, currentMapping)); - } while (next_subset(m_SetQuantity, m_SubsetQuantity, currentSubset)); - - delete[] currentSubset; - delete[] currentMapping; - - return 0; -} - -// ************************************************************************** -// Build initial permutation -// ************************************************************************** -void Combinatorics::initial_permutation(int size, int* permutation) { - for (int i = 0; i < size; i++) { - permutation[i] = i; - } -} - -// ************************************************************************** -// Build initial subset -// ************************************************************************** -void Combinatorics::initial_subset(int k, int* subset) { - for (int i = 0; i < k; i++) { - subset[i] = i; - } -} - -// ************************************************************************** -// Get next permutation if a next permutation exists -// ************************************************************************** -Bool_t Combinatorics::next_permutation(int size, int* permutation) { - int i, j, k; - if (size < 2) - return false; - i = size - 2; - - while ((permutation[i] > permutation[i + 1]) && (i != 0)) { - i--; - } - if ((i == 0) && (permutation[0] > permutation[1])) - return false; - - k = i + 1; - for (j = i + 2; j < size; j++) { - if ((permutation[j] > permutation[i]) && (permutation[j] < permutation[k])) { - k = j; - } - } - - // swap i and k - { - int tmp = permutation[i]; - permutation[i] = permutation[k]; - permutation[k] = tmp; - } - - for (j = i + 1; j <= ((size + i) / 2); j++) { - int tmp = permutation[j]; - permutation[j] = permutation[size + i - j]; - permutation[size + i - j] = tmp; - } - - // return whether a next permutation exists - return true; -} - -// ************************************************************************** -// Get next subset if a next subset exists -// -// n: the size of the set -// k: the size of the subset -// ************************************************************************** -Bool_t Combinatorics::next_subset(int n, int k, int* subset) { - int i; - int j; - int jsave; - bool done; - - if (subset[0] < n - k) { - done = false; - jsave = k - 1; - for (j = 0; j < k - 1; j++) { - if (subset[j] + 1 < subset[j + 1]) { - jsave = j; - break; - } - } - for (i = 0; i < jsave; i++) - subset[i] = i; - subset[jsave] = subset[jsave] + 1; - } else { - done = true; - } - // return whether a next subset exists - return !done; -} - -// ************************************************************************** -// Get all subset combinations -// ************************************************************************** -vector > Combinatorics::GetCombinations() { - if (m_Permutations.empty()) { - LogDebug("Combinatorics") << "Nothing to do." << endl; - return m_Combinations; - } - - m_Combinations.push_back(m_Permutations.at(0)); - - for (UInt_t i = 1; i < m_Permutations.size(); i++) { - if (!EqualPermutation(m_Combinations.back(), m_Permutations.at(i))) { - m_Combinations.push_back(m_Permutations.at(i)); - } - } - return m_Combinations; -} - -// ************************************************************************** -// Returns true if two permutations of four "int" are equal -// (Equal means e.g.: 0123 = 1023 = 0132 = 1032) -// ************************************************************************** -Int_t Combinatorics::EqualPermutation(const vector& p1, const vector& p2) { - if (p1.size() != p2.size()) { - edm::LogWarning("Combinatorics") << "[Combinatorics::EqualPermutation] permutations have different size!" << endl; - return -1; - } - - Float_t p1_sum = 0.0; - Float_t p2_sum = 0.0; - - // Check whether permutations are equal (2^index) - for (UInt_t i = 0; i < p1.size(); i++) - p1_sum += (1 << p1.at(i)); - for (UInt_t i = 0; i < p2.size(); i++) - p2_sum += (1 << p2.at(i)); - - return (p1_sum == p2_sum ? 1 : 0); -} - -// ************************************************************************** -// Get combinations: 4 out of n -// -// (The order of the first and second two is not important! -// 0123 = 1023 = 0132 = 1032 are equal therefore) -// ************************************************************************** -vector > Combinatorics::GetCombinations_2_2() { - // combination vector returned - vector > FinalCombinations; - - if (m_Permutations.empty()) { - LogDebug("Combinatorics") << "[Combinatorics::GetCombinations_2_2] Nothing to do." << endl; - return FinalCombinations; - } - - // So far only for subsets of four indices - if (m_SubsetQuantity != 4) { - edm::LogWarning("Combinatorics") << "[Combinatorics::GetCombinations_2_2] Subset must be 4." << endl; - return FinalCombinations; - } - - // Skip specific permutations - Skip_2_2(m_Permutations, FinalCombinations); - - return FinalCombinations; -} - -// ************************************************************************** -// Get combinations: 4 out of n -// -// (The order of the last two is important only: -// 0123 = 1023 are equal therefore) -// ************************************************************************** -vector > Combinatorics::GetCombinations_2_0() { - // combination vector returned - vector > FinalCombinations; - - if (m_Permutations.empty()) { - LogDebug("Combinatorics") << "[Combinatorics::GetCombinations_2_0] Nothing to do." << endl; - return FinalCombinations; - } - - // So far only for subsets of four indices - if (m_SubsetQuantity != 4) { - edm::LogWarning("Combinatorics") << "[Combinatorics::GetCombinations_2_0] Subset must be 4." << endl; - return FinalCombinations; - } - - // Skip specific permutations - Skip_2_0(m_Permutations, FinalCombinations); - - return FinalCombinations; -} - -// ************************************************************************** -// Skip permutation from p1 if already existing in p2 -// ************************************************************************** -void Combinatorics::Skip_2_0(const vector >& p1, vector >& p2) { - Bool_t Skip = kFALSE; - - p2.push_back(p1.at(0)); - - for (UShort_t i = 1; i < p1.size(); i++) { - for (UShort_t j = 0; j < p2.size(); j++) { - if (EqualPermutation_2_0(p1.at(i), p2.at(j))) { - Skip = kTRUE; - } - } - if (!Skip) - p2.push_back(p1.at(i)); - - Skip = kFALSE; - } -} - -// ************************************************************************** -// Skip permutation from p1 if already existing in p2 -// ************************************************************************** -void Combinatorics::Skip_2_2(const vector >& p1, vector >& p2) { - Bool_t Skip = kFALSE; - - p2.push_back(p1.at(0)); - - for (UShort_t i = 1; i < p1.size(); i++) { - for (UShort_t j = 0; j < p2.size(); j++) { - if (EqualPermutation_2_2(p1.at(i), p2.at(j))) { - Skip = kTRUE; - } - } - if (!Skip) - p2.push_back(p1.at(i)); - - Skip = kFALSE; - } -} - -// ************************************************************************** -// Returns true if the two first digm_ of two permutations are equal -// e.g.: 0123 = 1023 -// ************************************************************************** -Int_t Combinatorics::EqualPermutation_2_0(const vector& p1, const vector& p2) { - if (p1.size() < 2) { - edm::LogWarning("Combinatorics") << "[Combinatorics::EqualPermutation_2_0] permutation has wrong size!" << endl; - return -1; - } - - // Check whether permutations are equal - if (((1 << p1.at(0)) + (1 << p1.at(1)) == (1 << p2.at(0)) + (1 << p2.at(1))) && p1.at(2) == p2.at(2) && - p1.at(3) == p2.at(3)) { - return 1; - } - return 0; -} - -// ************************************************************************** -// Returns true if two permutations of four "int" are equal -// e.g.: 0123 = 1023 = 0132 = 1032 -// ************************************************************************** -Int_t Combinatorics::EqualPermutation_2_2(const vector& p1, const vector& p2) { - // Returns true if two permutations of four "int" are equal - // (equal means e.g.: 0123 = 1023 = 0132 = 1032) - - if (p1.size() != 4 && p2.size() != 4) { - edm::LogWarning("Combinatorics") << "[Combinatorics::EqualPermutationTwoByTwo] permutation(s) have wrong size!" - << endl; - return -1; - } - - // Check whether permutations are equal (2^index) - if (((1 << p1.at(0)) + (1 << p1.at(1)) == (1 << p2.at(0)) + (1 << p2.at(1))) && - ((1 << p1.at(2)) + (1 << p1.at(3)) == (1 << p2.at(2)) + (1 << p2.at(3)))) { - return 1; - } - return 0; -} - -// ************************************************************************** -// Returns true if two permutations of four are "equal" -// e.g.: 0123 = 1023 -// ************************************************************************** -Int_t Combinatorics::EqualPermutation_N_1(const vector& p1, const vector& p2) { - // Returns true if two permutations of four "int" are equal - // (equal means e.g.: 012 = 102) - - if (p1.size() != p2.size()) { - edm::LogWarning("Combinatorics") << "[Combinatorics::EqualPermutationTwoByTwo] permutation(s) have wrong size!" - << endl; - return -1; - } - - return (EqualPermutation(p1, p2) && p1.back() == p2.back() ? 1 : 0); -} - -// ************************************************************************** -// Get combinations "N by 1" -// ************************************************************************** -vector > Combinatorics::GetCombinations_N_1() { - // Get combinations - m_Combinations.clear(); - GetCombinations(); - - // combination vector returned - vector > FinalCombinations; - - if (m_Combinations.empty()) { - LogDebug("Combinatorics") << "[Combinatorics::GetCombinationsThreeByOne] Nothing to do." << endl; - return FinalCombinations; - } - - for (UInt_t i = 0; i < m_Combinations.size(); i++) { - vector RotatingPermutation = m_Combinations.at(i); - FinalCombinations.push_back(m_Combinations.at(i)); - - for (UInt_t j = 1; j < RotatingPermutation.size(); j++) { - FinalCombinations.push_back(Rotate(RotatingPermutation, j)); - } - } - return FinalCombinations; -} - -// ************************************************************************** -// Rotate permutation to the "left" by n digm_ -// ************************************************************************** -vector Combinatorics::Rotate(const vector& permutation, UInt_t digm_) { - vector p; - vector tmp; - - if (permutation.size() <= digm_) { - edm::LogWarning("Combinatorics") << "[Combinatorics::Rotate] WARNING: More rotations than digm_ in permutation!" - << endl; - } - - // Save the first i digm_ - for (UInt_t i = 0; i < digm_; i++) { - tmp.push_back(permutation.at(i)); - } - for (UInt_t j = 0; j < permutation.size() - digm_; j++) { - p.push_back(permutation.at(j + digm_)); - } - for (UInt_t k = 0; k < digm_; k++) - p.push_back(tmp.at(k)); - - return p; -} - -// ************************************************************************** -// Print one permutation -// ************************************************************************** -void Combinatorics::Print(const vector& p) { - // Print permutations - for (UShort_t i = 0; i < p.size(); i++) { - LogDebug("Combinatorics") << (p.at(i)); - } - LogDebug("Combinatorics") << endl; -} - -// ************************************************************************** -// Print permutations -// ************************************************************************** -void Combinatorics::Print(const vector >& p) { - LogDebug("Combinatorics") << "**************" << endl; - LogDebug("Combinatorics") << "Permutations: " << p.size() << endl; - - // Print permutations - for (UShort_t i = 0; i < p.size(); i++) { - for (UShort_t j = 0; j < (p.at(0)).size(); j++) - LogDebug("Combinatorics") << (p.at(i)).at(j); - LogDebug("Combinatorics") << endl; - } -} diff --git a/HeavyFlavorAnalysis/Skimming/src/Tau3MuReco.cc b/HeavyFlavorAnalysis/Skimming/src/Tau3MuReco.cc deleted file mode 100644 index f23ad72dd5437..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/src/Tau3MuReco.cc +++ /dev/null @@ -1,292 +0,0 @@ -#include - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "HeavyFlavorAnalysis/Skimming/interface/Combinatorics.h" - -#include "HeavyFlavorAnalysis/Skimming/interface/Tau3MuReco.h" - -Tau3MuReco::Tau3MuReco(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) - : m_kMatchingDeltaR(iConfig.getParameter("RecoAnalysisMatchingDeltaR")), - m_kMatchingPt(iConfig.getParameter("RecoAnalysisMatchingPt")), - m_kTauMassCut(iConfig.getParameter("RecoAnalysisTauMassCut")), - m_kTauMass(iConfig.getParameter("RecoAnalysisTauMass")), - m_kMuonMass(iConfig.getParameter("RecoAnalysisMuonMass")), - m_kMuonSourceToken(iC.consumes(iConfig.getParameter("MuonSourceTag"))), - m_kTrackSourceToken(iC.consumes(iConfig.getParameter("TrackSourceTag"))) {} - -Tau3MuReco::~Tau3MuReco() {} - -bool Tau3MuReco::doTau3MuReco(const edm::Event& iEvent, - const edm::EventSetup& iSetup, - reco::MuonCollection* muonCollection, - reco::TrackCollection* trackCollection) { - m_MuonCollection = muonCollection; - m_TrackCollection = trackCollection; - - edm::Handle muons; - edm::Handle tracks; - - reco::MuonCollection::const_iterator muon; - - iEvent.getByToken(m_kMuonSourceToken, muons); - iEvent.getByToken(m_kTrackSourceToken, tracks); - - for (muon = muons->begin(); muon != muons->end(); ++muon) { - m_TrackCollection->push_back(*(muon->track().get())); - m_MuonCollection->push_back(*muon); - } - - if (m_TrackCollection->size() > 3) { - //find the right three ones coming from tau - if (findCorrectPairing() == false) { //maybe implement something like in ==3 (throw away ....) - LogDebug("Tau3MuReco") << "Could not find correct combination!" << std::endl; - return false; - } - - return true; - } - - if (m_TrackCollection->size() == 3) { - if (fabs(getInvariantMass(m_TrackCollection, m_kMuonMass) - m_kTauMass) <= m_kTauMassCut) - return true; - else //throw away one muon which don't match - removeIncorrectMuon(); - } - - if (m_TrackCollection->size() == 2) { - //search the third track - - //get 3rd muon canidate from tracks - if (find3rdTrack(iEvent, iSetup, *(tracks.product())) == false) { - LogDebug("Tau3MuReco") << "A 3rd Track can not be assigned!" << std::endl; - return false; - } else - return true; - } - - // cannot use this event, because less than 2 muons have been found - - LogDebug("Tau3MuReco") << "Not enough (" << m_TrackCollection->size() << ") muons found! Event skipped!" << std::endl; - - return false; -} - -//private -bool Tau3MuReco::check4MuonTrack(const reco::Track& track) { - reco::TrackCollection::const_iterator iter; - - for (iter = m_TrackCollection->begin(); iter != m_TrackCollection->end(); iter++) { - //check if the track has the right charge - //and check if dR is smaller than fMatchingDeltaR - if ((*iter).charge() == track.charge() && getDeltaR(*iter, track) < m_kMatchingDeltaR && - fabs(((*iter).pt()) - (track.pt())) <= (track.pt() * m_kMatchingPt)) { - LogDebug("Tau3MuReco") << "Found muon track in Tracks with DeltaR: " << getDeltaR(*iter, track) - << " Pt: " << track.pt() << " Muons Pt is: " << (*iter).pt() << std::endl; - return true; - } - } - return false; -} - -bool Tau3MuReco::find3rdTrack(const edm::Event& iEvent, - const edm::EventSetup& iSetup, - const reco::TrackCollection& Tracks) { - //check size of TrackVector (should be two!) - if (m_TrackCollection->size() != 2) - return false; - - //more then two tracks should be in the event - if (Tracks.size() <= 2) - return false; - - double SumDeltaR = 0; - - double MuonDeltaR = getDeltaR(m_TrackCollection->at(0), m_TrackCollection->at(1)); - - //Loop overall tracks - - LogDebug("Tau3MuReco") << "Number of tracks found: " << Tracks.size() << std::endl; - - std::multimap TrackMultiMap; - - unsigned short muonCounter = 0; - - reco::TrackCollection::const_iterator track; - - for (track = Tracks.begin(); track != Tracks.end(); track++) { - if (check4MuonTrack(*track)) { - muonCounter++; - continue; - } - - SumDeltaR = MuonDeltaR; - - SumDeltaR += getDeltaR(m_TrackCollection->at(1), *track); - SumDeltaR += getDeltaR(*track, m_TrackCollection->at(0)); - - std::pair actTrack(SumDeltaR, *track); - - TrackMultiMap.insert(actTrack); - } - - //two tracks should be clearly identified as muons by check4MuonTrack - //else event is not useable - if (muonCounter < 2) { - LogDebug("Tau3MuReco") << "Not enough muons (" << muonCounter << ") assigned to a track! Event skipped!" - << std::endl; - return false; - } - - std::multimap::iterator it = TrackMultiMap.begin(); - - if (it == TrackMultiMap.end()) { - LogDebug("Tau3MuReco") << "Not enough tracks (0) left! Event skipped!" << std::endl; - return false; - } - - //get 2mu+track with minimal DeltaR Sum (MultiMaps are sorted) - m_TrackCollection->push_back((*it).second); - - //and check charge of this track - //and check invariant mass of this combination - //and make a vertex fit - - char Charge = m_TrackCollection->at(0).charge() * m_TrackCollection->at(1).charge(); - - unsigned int count = 0; - - //Charge > 0 means the two muons have same charge, so the third track has to have the opposit charge - while ((Charge > 0 && ((*it).second).charge() == (m_TrackCollection->at(0)).charge()) || - fabs(getInvariantMass(m_TrackCollection) - m_kTauMass) > m_kTauMassCut) { - count++; - - LogDebug("Tau3MuReco") << "Track canidate: " << count << std::endl; - - if (Charge > 0 && ((*it).second).charge() != (m_TrackCollection->at(0)).charge()) - LogDebug("Tau3MuReco") << "\tWrong charge!" << std::endl; - LogDebug("Tau3MuReco") << "\tInvariant Mass deviation! " << fabs(getInvariantMass(m_TrackCollection) - m_kTauMass) - << std::endl; - LogDebug("Tau3MuReco") << "\tTrack Pt: " << (*it).second.pt() << std::endl; - LogDebug("Tau3MuReco") << "\tDelta R: " << (*it).first << std::endl; - LogDebug("Tau3MuReco") << "\tChi2: " << ((*it).second).normalizedChi2() << std::endl; - - ++it; - - //was not the best canidate - m_TrackCollection->pop_back(); - - if (it == TrackMultiMap.end()) - return false; - - //get next to minimal (Delta R Sum) track - m_TrackCollection->push_back((*it).second); - } - - LogDebug("Tau3MuReco") << "Found corresponding 3rd track: " << std::endl; - LogDebug("Tau3MuReco") << "Track canidate: " << count << std::endl; - LogDebug("Tau3MuReco") << "\tInvariant Mass deviation! " << fabs(getInvariantMass(m_TrackCollection) - m_kTauMass) - << std::endl; - LogDebug("Tau3MuReco") << "\tDelta R: " << (*it).first << std::endl; - LogDebug("Tau3MuReco") << "\tNormChi2: " << ((*it).second).normalizedChi2() << std::endl; - - //choose this track, because it is the best canidate - return true; -} - -bool Tau3MuReco::findCorrectPairing() { - Combinatorics myCombinatorics(m_TrackCollection->size(), 3); - - std::vector > CombinationVec = myCombinatorics.GetCombinations(); - - std::vector >::iterator it = CombinationVec.begin(); - - char Charge = 0; - - reco::TrackCollection tempTrackCollection; - reco::MuonCollection tempMuonCollection; - - do { - if (it == CombinationVec.end()) - return false; - - Charge = 0; - - tempMuonCollection.clear(); - tempTrackCollection.clear(); - - for (UInt_t i = 0; i < (*it).size(); i++) { - Charge += m_TrackCollection->at((*it).at(i)).charge(); - tempTrackCollection.push_back(m_TrackCollection->at((*it).at(i))); - tempMuonCollection.push_back(m_MuonCollection->at((*it).at(i))); - } - - LogDebug("Tau3MuReco") << "Charge is: " << (int)Charge << " Have to be -1 or 1!!!" << std::endl; - LogDebug("Tau3MuReco") << "Invariant mass is: " << fabs(getInvariantMass(&tempTrackCollection) - m_kTauMass) - << " Have to be smaller than " << m_kTauMassCut << std::endl; - - it++; - } while (abs(Charge) != 1 || fabs(getInvariantMass(&tempTrackCollection) - m_kTauMass) > m_kTauMassCut); - - *m_MuonCollection = tempMuonCollection; - *m_TrackCollection = tempTrackCollection; - - return true; -} - -bool Tau3MuReco::removeIncorrectMuon() { - double deltaR12 = getDeltaR(m_TrackCollection->at(0), m_TrackCollection->at(1)); - double deltaR23 = getDeltaR(m_TrackCollection->at(1), m_TrackCollection->at(2)); - double deltaR31 = getDeltaR(m_TrackCollection->at(2), m_TrackCollection->at(0)); - - //if DeltaR12 is the smallest, than the 3rd one seems to be wrong - //if DeltaR23 is the smallest, than the 2nd one seems to be wrong - //if DeltaR31 is the smallest, than the 1st one seems to be wrong - - unsigned char temp; - double junk; - - deltaR12 < deltaR23 ? temp = 3 : temp = 1; - deltaR12 < deltaR23 ? junk = deltaR12 : junk = deltaR23; - - if (deltaR31 < junk) - temp = 2; - - m_TrackCollection->erase(m_TrackCollection->begin() + temp - 1); - - return true; -} - -double Tau3MuReco::getInvariantMass(const reco::TrackCollection* tracks, const double MuonMass) { - unsigned int numOfParticles = tracks->size(); - - double SumPx = 0; - double SumPy = 0; - double SumPz = 0; - - double SumE = 0; - - for (unsigned int i = 0; i < numOfParticles; i++) { - SumPx += tracks->at(i).px(); - SumPy += tracks->at(i).py(); - SumPz += tracks->at(i).pz(); - - SumE += sqrt(pow(tracks->at(i).p(), 2) + pow(MuonMass, 2)); - } - - double invmass = sqrt(pow(SumE, 2) - pow(SumPx, 2) - pow(SumPy, 2) - pow(SumPz, 2)); - - return invmass; -} - -double Tau3MuReco::getDeltaR(const reco::Track& track1, const reco::Track& track2) { - double dEta = track1.eta() - track2.eta(); - double dPhi = track1.phi() - track2.phi(); - - while (dPhi >= TMath::Pi()) - dPhi -= (2.0 * TMath::Pi()); - while (dPhi < (-1.0 * TMath::Pi())) - dPhi += (2.0 * TMath::Pi()); - - return sqrt(pow(dEta, 2) + pow(dPhi, 2)); -} diff --git a/HeavyFlavorAnalysis/Skimming/test/runCompactSkim.py b/HeavyFlavorAnalysis/Skimming/test/runCompactSkim.py deleted file mode 100644 index dc126265a270e..0000000000000 --- a/HeavyFlavorAnalysis/Skimming/test/runCompactSkim.py +++ /dev/null @@ -1,15 +0,0 @@ -from FWCore.ParameterSet.VarParsing import VarParsing -opt = VarParsing ('analysis') -opt.parseArguments() - -outFileName = opt.outputFile -inFileNames = opt.inputFiles -Global_Tag = 'auto:run2_mc' -MC = True -Filter = True - -import FWCore.ParameterSet.Config as cms -process = cms.Process('PAT') - -from HeavyFlavorAnalysis.Skimming.CompactSkim_cff import CompactSkim -CompactSkim(process,inFileNames,outFileName,Global_Tag,MC,Filter) diff --git a/HiggsAnalysis/Configuration/python/HiggsAnalysis_EventContent_cff.py b/HiggsAnalysis/Configuration/python/HiggsAnalysis_EventContent_cff.py deleted file mode 100644 index 25d89f1539d51..0000000000000 --- a/HiggsAnalysis/Configuration/python/HiggsAnalysis_EventContent_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HiggsAnalysis event content -# -# Dominique Fortin - UC Riverside -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_EventContent_cff import * -# include "HiggsAnalysis/Skimming/data/rsTo2Gamma_EventContent.cff" -HiggsAnalysisEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -HiggsAnalysisEventContent.outputCommands.extend(heavyChHiggsToTauNuEventContent.outputCommands) -HiggsAnalysisEventContent.outputCommands.extend(higgsTo2GammaEventContent.outputCommands) -HiggsAnalysisEventContent.outputCommands.extend(higgsToInvisibleEventContent.outputCommands) -HiggsAnalysisEventContent.outputCommands.extend(higgsToTauTauLeptonTauEventContent.outputCommands) -HiggsAnalysisEventContent.outputCommands.extend(higgsToWW2LeptonsEventContent.outputCommands) -HiggsAnalysisEventContent.outputCommands.extend(higgsToZZ4LeptonsEventContent.outputCommands) - diff --git a/HiggsAnalysis/Configuration/python/HiggsAnalysis_OutputModules_cff.py b/HiggsAnalysis/Configuration/python/HiggsAnalysis_OutputModules_cff.py deleted file mode 100644 index c63c0090099ff..0000000000000 --- a/HiggsAnalysis/Configuration/python/HiggsAnalysis_OutputModules_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HiggsAnalysis output modules -# -# Dominique Fortin - UC Riverside -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_OutputModule_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_OutputModule_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_OutputModule_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_OutputModule_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_OutputModule_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_OutputModule_cff import * -# include "HiggsAnalysis/Skimming/data/rsTo2Gamma_OutputModule.cff" -HiggsAnalysisOutput = cms.Sequence(heavyChHiggsToTauNuOutputModuleRECOSIM+higgsTo2GammaOutputModuleRECOSIM+higgsToInvisibleOutputModuleRECOSIM+higgsToTauTauLeptonTauOutputModuleAODSIM+higgsToWW2LeptonsOutputModuleAODSIM+higgsToZZ4LeptonsOutputModuleRECOSIM) - diff --git a/HiggsAnalysis/Configuration/python/HiggsAnalysis_SkimPaths_cff.py b/HiggsAnalysis/Configuration/python/HiggsAnalysis_SkimPaths_cff.py deleted file mode 100644 index b775ed31f242b..0000000000000 --- a/HiggsAnalysis/Configuration/python/HiggsAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HiggsAnalysis skim paths -# -# Dominique Fortin - UC Riverside -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_SkimPaths_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_SkimPaths_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_SkimPaths_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_SkimPaths_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_SkimPaths_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_SkimPaths_cff import * - diff --git a/HiggsAnalysis/Configuration/python/HiggsAnalysis_cff.py b/HiggsAnalysis/Configuration/python/HiggsAnalysis_cff.py deleted file mode 100644 index 382d73f86eabc..0000000000000 --- a/HiggsAnalysis/Configuration/python/HiggsAnalysis_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# HiggsAnalysis standard sequences -# -# Dominique Fortin - UC Riverside -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_Sequences_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_Sequences_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_Sequences_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_Sequences_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_Sequences_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_Sequences_cff import * -# include "HiggsAnalysis/Skimming/data/rsTo2Gamma_Sequences.cff" -higgsAnalysis = cms.Sequence(heavyChHiggsToTauNuSequence+higgsTo2GammaSequence+higgsToInvisibleSequence+higgsToTauTauLeptonTauSequence+higgsToWW2LeptonsSequence+higgsToZZ4LeptonsSequence) - diff --git a/HiggsAnalysis/HiggsToGammaGamma/BuildFile.xml b/HiggsAnalysis/HiggsToGammaGamma/BuildFile.xml deleted file mode 100644 index 68e49f7627d2e..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/BuildFile.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h b/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h deleted file mode 100644 index 553ab98ef661c..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef PhotonFix_Defined_hh -#define PhotonFix_Defined_hh - -//-------------------------------------------------------// -// Project: PhotonFix -// Author: Paul Dauncey (p.dauncey@imperial.ac.uk) -// Modified: 11/07/2011 -// Admins: Paul Dauncey (p.dauncey@imperial.ac.uk) -// Matt Kenzie (matthew.william.kenzie@cern.ch) -//-------------------------------------------------------// - -/* - Does post-reco fixes to ECAL photon energy and estimates resolution. - This can run outside of the usual CMS software framework but requires - access to a file 'EcalGaps.dat' which must be in the same directory as - that used to run. - - To run within CMSSW use PhotonFixCMS.h (which can access the geometry - directly - go to "RecoEcal/EgammaCoreTools/plugins/PhotonFixCMS.h" - for details. - - Before instantiating any objects of PhotonFix, the constants must be - initialised in the first event using - PhotonFix::initialise("3_8"); - - The string gives the reco version used. Valid strings are - "3_8", "3_11", "4_2" and "Nominal", where the latter gives no correction - to the energy and a nominal resolution value. There is also "4_2e" which - provides corrections for electrons which are reconstructed as photons (to - aid with testing the performance of these corrections in data). - - Make objects using - PhotonFix a(energy,eta,phi,r9); - where energy is the photon energy, eta and phi are the ECAL - cluster positions (NB from the Supercluster object, _not_ the - Photon object, as the latter gives eta and phi directions, - not positions), and r9 is the R9 value of the SC. - - Get the corrected energy using - a.fixedEnergy(); - and the resolution using - a.sigmaEnergy(); - -*/ - -#include -#include - -class PhotonFix { -public: - PhotonFix(double e, double eta, double phi, double r9); - - // Must be called before instantiating any PhotonFix objects - static bool initialise(const std::string &s = "Nominal"); - static bool initialised(); - - // Used by above; do not call directly - static bool initialiseParameters(const std::string &s); - static bool initialiseGeometry(const std::string &s); - - void setup(); - - // Corrected energy and sigma - double fixedEnergy() const; - double sigmaEnergy() const; - - // Input values - double rawEnergy() const; - double eta() const; - double phi() const; - double r9() const; - - // Derived EB crystal, submodule and module relative coordinates - double etaC() const; - double etaS() const; - double etaM() const; - - double phiC() const; - double phiS() const; - double phiM() const; - - // Derived EE zeta, crystal, subcrystal and D-module relative coordinates - double xZ() const; - double xC() const; - double xS() const; - double xM() const; - - double yZ() const; - double yC() const; - double yS() const; - double yM() const; - - // Return arrays containing positions of ecal gaps - static void barrelCGap(unsigned i, unsigned j, unsigned k, double c); - static void barrelSGap(unsigned i, unsigned j, unsigned k, double c); - static void barrelMGap(unsigned i, unsigned j, unsigned k, double c); - static void endcapCrystal(unsigned i, unsigned j, bool c); - static void endcapCGap(unsigned i, unsigned j, unsigned k, double c); - static void endcapSGap(unsigned i, unsigned j, unsigned k, double c); - static void endcapMGap(unsigned i, unsigned j, unsigned k, double c); - - void print() const; - - // Input and output the fit parameters - static void setParameters(unsigned be, unsigned hl, const double *p); - static void getParameters(unsigned be, unsigned hl, double *p); - - static void dumpParameters(std::ostream &o); - static void printParameters(std::ostream &o); - - // Utility functions - static double GetaPhi(double f0, double f1); - static double asinh(double s); - static void dumpGaps(std::ostream &o); - -private: - // Utility functions - static double dPhi(double f0, double f1); - static double aPhi(double f0, double f1); - - static double expCorrection(double a, const double *p); - static double gausCorrection(double a, const double *p); - - // Actual data for each instantiated object - unsigned _be, _hl; - double _e, _eta, _phi, _r9; - double _aC, _aS, _aM, _bC, _bS, _bM; - - // Constants - static const double _onePi; - static const double _twoPi; - - // Initialisation flag - static bool _initialised; - - // Parameters for fixes - static double _meanScale[2][2][4]; - static double _meanAT[2][2][4]; - static double _meanAC[2][2][4]; - static double _meanAS[2][2][4]; - static double _meanAM[2][2][4]; - static double _meanBT[2][2][4]; - static double _meanBC[2][2][4]; - static double _meanBS[2][2][4]; - static double _meanBM[2][2][4]; - static double _meanR9[2][2][4]; - - // Parameters for resolution - static double _sigmaScale[2][2][4]; - static double _sigmaAT[2][2][4]; - static double _sigmaAC[2][2][4]; - static double _sigmaAS[2][2][4]; - static double _sigmaAM[2][2][4]; - static double _sigmaBT[2][2][4]; - static double _sigmaBC[2][2][4]; - static double _sigmaBS[2][2][4]; - static double _sigmaBM[2][2][4]; - static double _sigmaR9[2][2][4]; - - // EB gap positions - static double _barrelCGap[169][360][2]; - static double _barrelSGap[33][180][2]; - static double _barrelMGap[7][18][2]; - - // EE crystal existence and gap positions - static bool _endcapCrystal[100][100]; - static double _endcapCGap[2][7080][2]; - static double _endcapSGap[2][264][2]; - static double _endcapMGap[2][1][2]; -}; - -#endif diff --git a/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFixCMS.h b/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFixCMS.h deleted file mode 100644 index 1678534a3a652..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFixCMS.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef PhotonFixCMS_Defined_hh -#define PhotonFixCMS_Defined_hh - -//-------------------------------------------------------// -// Project: PhotonFix -// Author: Paul Dauncey (p.dauncey@imperial.ac.uk) -// Modified: 11/07/2011 -// Admins: Paul Dauncey (p.dauncey@imperial.ac.uk) -// Matt Kenzie (matthew.william.kenzie@cern.ch) -//-------------------------------------------------------// - -/* - Does post-reco fixes to ECAL photon energy and estimates resolution. - This can run outside of the usual CMS software framework but requires - access to a file 'PhotonFix.dat' which must be in the same directory as - that used to run. - - To run independently of CMSSW use PhotonFix.h directly - go to - "RecoEcal/EgammaCoreTools/plugins/PhotonFix.h" for details. - - Before instantiating any objects of PhotonFix, the constants must be - initialised in the first event using - PhotonFixCMS::initialise("3_8"); - - The string gives the reco version used. Valid strings are - "3_8", "3_11", "4_2" and "Nominal", where the latter gives no correction - to the energy and a nominal resolution value. There is also "4_2e" which - provides corrections for electrons which are reconstructed as photons (to - aid with testing the performance of these corrections in data). - - - Make objects using - PhotonFixCMS a(p); - where p is a reco::Photon reference - - Get the corrected energy using - a.fixedEnergy(); - and the resolution using - a.sigmaEnergy(); - -*/ - -#include -#include -#include "HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h" -#include "DataFormats/EgammaCandidates/interface/Photon.h" -#include "FWCore/Framework/interface/EventSetup.h" - -class PhotonFixCMS { -public: - PhotonFixCMS(const reco::Photon &p); - - // Must be called before instantiating any PhotonFix objects - static bool initialise(const edm::EventSetup &iSetup, const std::string &s = "Nominal"); - - // Corrected energy and sigma - double fixedEnergy() const; - double sigmaEnergy() const; - - const PhotonFix &photonFix() const; - -private: - PhotonFix pf; -}; -#endif diff --git a/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFix.cc b/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFix.cc deleted file mode 100644 index 8a1a67494db72..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFix.cc +++ /dev/null @@ -1,2158 +0,0 @@ -#include -#include -#include -#include - -// ensure that this include points to the appropriate location for PhotonFix.h -#include "HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFix.h" - -PhotonFix::PhotonFix(double e, double eta, double phi, double r9) : _e(e), _eta(eta), _phi(phi), _r9(r9) { setup(); } - -void PhotonFix::setup() { - // Check constants have been set up - assert(_initialised); - - // Determine if EB or EE - _be = (fabs(_eta) < 1.48 ? 0 : 1); - - // Determine if high or low R9 - if (_be == 0) - _hl = (_r9 >= 0.94 ? 0 : 1); - else - _hl = (_r9 >= 0.95 ? 0 : 1); - - // Coordinates relative to cracks - double r2Min; - if (_be == 0) { - r2Min = 1.0e6; - for (unsigned i(0); i < 169; i++) { - for (unsigned j(0); j < 360; j++) { - double de(_eta - _barrelCGap[i][j][0]); - double df(dPhi(_phi, _barrelCGap[i][j][1])); - double r2(de * de + df * df); - - if (r2 < r2Min) { - r2Min = r2; - if (i >= 84) { - _aC = de; - _bC = -df; - } else { - _aC = -de; - _bC = df; - } - } - } - } - - r2Min = 1.0e6; - for (unsigned i(0); i < 33; i++) { - for (unsigned j(0); j < 180; j++) { - double de(_eta - _barrelSGap[i][j][0]); - double df(dPhi(_phi, _barrelSGap[i][j][1])); - double r2(de * de + df * df); - - if (r2 < r2Min) { - r2Min = r2; - if (i >= 16) { - _aS = de; - _bS = -df; - } else { - _aS = -de; - _bS = df; - } - } - } - } - - r2Min = 1.0e6; - for (unsigned i(0); i < 7; i++) { - for (unsigned j(0); j < 18; j++) { - double de(_eta - _barrelMGap[i][j][0]); - double df(dPhi(_phi, _barrelMGap[i][j][1])); - double r2(de * de + df * df); - - if (r2 < r2Min) { - r2Min = r2; - if (i >= 3) { - _aM = de; - _bM = -df; - } else { - _aM = -de; - _bM = df; - } - } - } - } - - } else { - unsigned iz(_eta >= 0.0 ? 0 : 1); - double r[2] = {xZ(), yZ()}; - - r2Min = 1.0e6; - for (unsigned i(0); i < 7080; i++) { - double dx(r[0] - _endcapCGap[iz][i][0]); - double dy(r[1] - _endcapCGap[iz][i][1]); - double r2(dx * dx + dy * dy); - - if (r2 < r2Min) { - r2Min = r2; - if (r[0] > 0.0) - _aC = dx; - else - _aC = -dx; - if (r[1] > 0.0) - _bC = dy; - else - _bC = -dy; - } - } - - r2Min = 1.0e6; - for (unsigned i(0); i < 264; i++) { - double dx(r[0] - _endcapSGap[iz][i][0]); - double dy(r[1] - _endcapSGap[iz][i][1]); - double r2(dx * dx + dy * dy); - - if (r2 < r2Min) { - r2Min = r2; - if (r[0] > 0.0) - _aS = dx; - else - _aS = -dx; - if (r[1] > 0.0) - _bS = dy; - else - _bS = -dy; - } - } - - r2Min = 1.0e6; - for (unsigned i(0); i < 1; i++) { - double dx(r[0] - _endcapMGap[iz][i][0]); - double dy(r[1] - _endcapMGap[iz][i][1]); - double r2(dx * dx + dy * dy); - - if (r2 < r2Min) { - r2Min = r2; - if (iz == 0) { - _aM = dx; - _bM = dy; - } else { - _aM = -dx; - _bM = -dy; - } - } - } - } -} - -double PhotonFix::fixedEnergy() const { - double f(0.0); - - // Overall scale and energy(T) dependence - f = _meanScale[_be][_hl][0]; - f += _meanScale[_be][_hl][1] * _e; - f += _meanScale[_be][_hl][2] * _e / cosh(_eta); - f += _meanScale[_be][_hl][3] * cosh(_eta) / _e; - - // General eta or zeta dependence - if (_be == 0) { - f += _meanAT[_be][_hl][0] * _eta * _eta; - f += expCorrection(_eta, _meanBT[_be][_hl]); - } else { - f += _meanAT[_be][_hl][0] * xZ() * xZ(); - f += _meanBT[_be][_hl][0] * yZ() * yZ(); - } - - // Eta or x crystal, submodule and module dependence - f += expCorrection(_aC, _meanAC[_be][_hl]); - f += expCorrection(_aS, _meanAS[_be][_hl]); - f += expCorrection(_aM, _meanAM[_be][_hl]); - - // Phi or y crystal, submodule and module dependence - f += expCorrection(_bC, _meanBC[_be][_hl]); - f += expCorrection(_bS, _meanBS[_be][_hl]); - f += expCorrection(_bM, _meanBM[_be][_hl]); - - // R9 dependence - if (_hl == 0) { - f += _meanR9[_be][_hl][1] * (_r9 - _meanR9[_be][_hl][0]) * (_r9 - _meanR9[_be][_hl][0]) + - _meanR9[_be][_hl][2] * (_r9 - _meanR9[_be][_hl][0]) * (_r9 - _meanR9[_be][_hl][0]) * - (_r9 - _meanR9[_be][_hl][0]); - } else { - f += _meanR9[_be][_hl][0] * _r9 + _meanR9[_be][_hl][1] * _r9 * _r9 + _meanR9[_be][_hl][2] * _r9 * _r9 * _r9; - } - - return _e * f; -} - -double PhotonFix::sigmaEnergy() const { - // Overall resolution scale vs energy - double sigma; - if (_be == 0) { - sigma = _sigmaScale[_be][_hl][0] * _sigmaScale[_be][_hl][0]; - //std::cout << "PhotonFix::sigmaEnergy 1 sigma = " << sigma << std::endl; - sigma += _sigmaScale[_be][_hl][1] * _sigmaScale[_be][_hl][1] * _e; - //std::cout << "PhotonFix::sigmaEnergy 2 sigma = " << sigma << std::endl; - sigma += _sigmaScale[_be][_hl][2] * _sigmaScale[_be][_hl][2] * _e * _e; - //std::cout << "PhotonFix::sigmaEnergy 3 sigma = " << sigma << std::endl; - } else { - sigma = _sigmaScale[_be][_hl][0] * _sigmaScale[_be][_hl][0] * cosh(_eta) * cosh(_eta); - sigma += _sigmaScale[_be][_hl][1] * _sigmaScale[_be][_hl][1] * _e; - sigma += _sigmaScale[_be][_hl][2] * _sigmaScale[_be][_hl][2] * _e * _e; - } - sigma = sqrt(sigma); - - double f(1.0); - - // General eta or zeta dependence - if (_be == 0) { - f += _sigmaAT[_be][_hl][0] * _eta * _eta; - //std::cout << "PhotonFix::sigmaEnergy 4 f = " << f << std::endl; - f += expCorrection(_eta, _sigmaBT[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 5 f = " << f << std::endl; - } else { - f += _sigmaAT[_be][_hl][0] * xZ() * xZ(); - f += _sigmaBT[_be][_hl][0] * yZ() * yZ(); - } - - // Eta or x crystal, submodule and module dependence - f += expCorrection(_aC, _sigmaAC[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 6 f = " << f << std::endl; - f += expCorrection(_aS, _sigmaAS[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 7 f = " << f << std::endl; - f += expCorrection(_aM, _sigmaAM[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 8 f = " << f << std::endl; - - // Phi or y crystal, submodule and module dependence - f += expCorrection(_bC, _sigmaBC[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 9 f = " << f << std::endl; - f += expCorrection(_bS, _sigmaBS[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 10 f = " << f << std::endl; - f += expCorrection(_bM, _sigmaBM[_be][_hl]); - //std::cout << "PhotonFix::sigmaEnergy 11 f = " << f << std::endl; - - // R9 dependence - if (_hl == 0) { - f += _sigmaR9[_be][_hl][1] * (_r9 - _sigmaR9[_be][_hl][0]) * (_r9 - _sigmaR9[_be][_hl][0]) + - _sigmaR9[_be][_hl][2] * (_r9 - _sigmaR9[_be][_hl][0]) * (_r9 - _sigmaR9[_be][_hl][0]) * - (_r9 - _sigmaR9[_be][_hl][0]); - //std::cout << "PhotonFix::sigmaEnergy 12 f = " << f << std::endl; - } else { - f += _sigmaR9[_be][_hl][0] * _r9 + _sigmaR9[_be][_hl][1] * _r9 * _r9; - //std::cout << "PhotonFix::sigmaEnergy 13 f = " << f << std::endl; - } - - return sigma * f; -} - -double PhotonFix::rawEnergy() const { return _e; } - -double PhotonFix::eta() const { return _eta; } - -double PhotonFix::phi() const { return _phi; } - -double PhotonFix::r9() const { return _r9; } - -double PhotonFix::etaC() const { - assert(_be == 0); - return _aC; -} - -double PhotonFix::etaS() const { - assert(_be == 0); - return _aS; -} - -double PhotonFix::etaM() const { - assert(_be == 0); - return _aM; -} - -double PhotonFix::phiC() const { - assert(_be == 0); - return _bC; -} - -double PhotonFix::phiS() const { - assert(_be == 0); - return _bS; -} - -double PhotonFix::phiM() const { - assert(_be == 0); - return _bM; -} - -double PhotonFix::xZ() const { - assert(_be == 1); - return asinh(cos(_phi) / sinh(_eta)); -} - -double PhotonFix::xC() const { - assert(_be == 1); - return _aC; -} - -double PhotonFix::xS() const { - assert(_be == 1); - return _aS; -} - -double PhotonFix::xM() const { - assert(_be == 1); - return _aM; -} - -double PhotonFix::yZ() const { - assert(_be == 1); - return asinh(sin(_phi) / sinh(_eta)); -} - -double PhotonFix::yC() const { - assert(_be == 1); - return _bC; -} - -double PhotonFix::yS() const { - assert(_be == 1); - return _bS; -} - -double PhotonFix::yM() const { - assert(_be == 1); - return _bM; -} - -double PhotonFix::GetaPhi(double f0, double f1) { return aPhi(f0, f1); } - -void PhotonFix::barrelCGap(unsigned i, unsigned j, unsigned k, double c) { _barrelCGap[i][j][k] = c; } -void PhotonFix::barrelSGap(unsigned i, unsigned j, unsigned k, double c) { _barrelSGap[i][j][k] = c; } -void PhotonFix::barrelMGap(unsigned i, unsigned j, unsigned k, double c) { _barrelMGap[i][j][k] = c; } -void PhotonFix::endcapCrystal(unsigned i, unsigned j, bool c) { _endcapCrystal[i][j] = c; } -void PhotonFix::endcapCGap(unsigned i, unsigned j, unsigned k, double c) { _endcapCGap[i][j][k] = c; } -void PhotonFix::endcapSGap(unsigned i, unsigned j, unsigned k, double c) { _endcapSGap[i][j][k] = c; } -void PhotonFix::endcapMGap(unsigned i, unsigned j, unsigned k, double c) { _endcapMGap[i][j][k] = c; } - -void PhotonFix::print() const { - std::cout << "PhotonFix: e,eta,phi,r9 = " << _e << ", " << _eta << ", " << _phi << ", " << _r9 << ", gaps " << _aC - << ", " << _aS << ", " << _aM << ", " << _bC << ", " << _bS << ", " << _bM << std::endl; -} - -void PhotonFix::setParameters(unsigned be, unsigned hl, const double *p) { - for (unsigned i(0); i < 4; i++) { - _meanScale[be][hl][i] = p[i + 0 * 4]; - _meanAT[be][hl][i] = p[i + 1 * 4]; - _meanAC[be][hl][i] = p[i + 2 * 4]; - _meanAS[be][hl][i] = p[i + 3 * 4]; - _meanAM[be][hl][i] = p[i + 4 * 4]; - _meanBT[be][hl][i] = p[i + 5 * 4]; - _meanBC[be][hl][i] = p[i + 6 * 4]; - _meanBS[be][hl][i] = p[i + 7 * 4]; - _meanBM[be][hl][i] = p[i + 8 * 4]; - _meanR9[be][hl][i] = p[i + 9 * 4]; - - _sigmaScale[be][hl][i] = p[i + 10 * 4]; - _sigmaAT[be][hl][i] = p[i + 11 * 4]; - _sigmaAC[be][hl][i] = p[i + 12 * 4]; - _sigmaAS[be][hl][i] = p[i + 13 * 4]; - _sigmaAM[be][hl][i] = p[i + 14 * 4]; - _sigmaBT[be][hl][i] = p[i + 15 * 4]; - _sigmaBC[be][hl][i] = p[i + 16 * 4]; - _sigmaBS[be][hl][i] = p[i + 17 * 4]; - _sigmaBM[be][hl][i] = p[i + 18 * 4]; - _sigmaR9[be][hl][i] = p[i + 19 * 4]; - } -} - -void PhotonFix::getParameters(unsigned be, unsigned hl, double *p) { - for (unsigned i(0); i < 4; i++) { - p[i + 0 * 4] = _meanScale[be][hl][i]; - p[i + 1 * 4] = _meanAT[be][hl][i]; - p[i + 2 * 4] = _meanAC[be][hl][i]; - p[i + 3 * 4] = _meanAS[be][hl][i]; - p[i + 4 * 4] = _meanAM[be][hl][i]; - p[i + 5 * 4] = _meanBT[be][hl][i]; - p[i + 6 * 4] = _meanBC[be][hl][i]; - p[i + 7 * 4] = _meanBS[be][hl][i]; - p[i + 8 * 4] = _meanBM[be][hl][i]; - p[i + 9 * 4] = _meanR9[be][hl][i]; - - p[i + 10 * 4] = _sigmaScale[be][hl][i]; - p[i + 11 * 4] = _sigmaAT[be][hl][i]; - p[i + 12 * 4] = _sigmaAC[be][hl][i]; - p[i + 13 * 4] = _sigmaAS[be][hl][i]; - p[i + 14 * 4] = _sigmaAM[be][hl][i]; - p[i + 15 * 4] = _sigmaBT[be][hl][i]; - p[i + 16 * 4] = _sigmaBC[be][hl][i]; - p[i + 17 * 4] = _sigmaBS[be][hl][i]; - p[i + 18 * 4] = _sigmaBM[be][hl][i]; - p[i + 19 * 4] = _sigmaR9[be][hl][i]; - } -} - -void PhotonFix::dumpParameters(std::ostream &o) { - for (unsigned be(0); be < 2; be++) { - for (unsigned hl(0); hl < 2; hl++) { - for (unsigned i(0); i < 4; i++) { - o << " _meanScale[" << be << "][" << hl << "][" << i << "]=" << _meanScale[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanAT[" << be << "][" << hl << "][" << i << "]=" << _meanAT[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanAC[" << be << "][" << hl << "][" << i << "]=" << _meanAC[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanAS[" << be << "][" << hl << "][" << i << "]=" << _meanAS[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanAM[" << be << "][" << hl << "][" << i << "]=" << _meanAM[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanBT[" << be << "][" << hl << "][" << i << "]=" << _meanBT[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanBC[" << be << "][" << hl << "][" << i << "]=" << _meanBC[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanBS[" << be << "][" << hl << "][" << i << "]=" << _meanBS[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanBM[" << be << "][" << hl << "][" << i << "]=" << _meanBM[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _meanR9[" << be << "][" << hl << "][" << i << "]=" << _meanR9[be][hl][i] << ";" << std::endl; - } - o << std::endl; - - for (unsigned i(0); i < 4; i++) { - o << " _sigmaScale[" << be << "][" << hl << "][" << i << "]=" << _sigmaScale[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaAT[" << be << "][" << hl << "][" << i << "]=" << _sigmaAT[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaAC[" << be << "][" << hl << "][" << i << "]=" << _sigmaAC[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaAS[" << be << "][" << hl << "][" << i << "]=" << _sigmaAS[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaAM[" << be << "][" << hl << "][" << i << "]=" << _sigmaAM[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaBT[" << be << "][" << hl << "][" << i << "]=" << _sigmaBT[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaBC[" << be << "][" << hl << "][" << i << "]=" << _sigmaBC[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaBS[" << be << "][" << hl << "][" << i << "]=" << _sigmaBS[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaBM[" << be << "][" << hl << "][" << i << "]=" << _sigmaBM[be][hl][i] << ";" << std::endl; - } - for (unsigned i(0); i < 4; i++) { - o << " _sigmaR9[" << be << "][" << hl << "][" << i << "]=" << _sigmaR9[be][hl][i] << ";" << std::endl; - } - o << std::endl; - } - } -} - -void PhotonFix::printParameters(std::ostream &o) { - o << "PhotonFix::printParameters()" << std::endl; - - for (unsigned be(0); be < 2; be++) { - for (unsigned hl(0); hl < 2; hl++) { - o << " Parameters for " << (be == 0 ? "barrel" : "endcap") << ", " << (hl == 0 ? "high" : "low") << " R9" - << std::endl; - - o << " Mean scaling "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanScale[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Eta " : "ZetaX") << " total "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanAT[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Eta " : "ZetaX") << " crystal "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanAC[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Eta " : "ZetaX") << " submodule"; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanAS[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Eta " : "ZetaX") << " module "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanAM[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Eta zero " : "ZetaY total "); - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanBT[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Phi " : "ZetaY") << " crystal "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanBC[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Phi " : "ZetaY") << " submodule"; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanBS[be][hl][i]; - o << std::endl; - o << " Mean " << (be == 0 ? "Phi " : "ZetaY") << " module "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanBM[be][hl][i]; - o << std::endl; - o << " Mean R9 "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _meanR9[be][hl][i]; - o << std::endl; - - o << " Sigma scaling "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaScale[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaX") << " total "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaAT[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaX") << " crystal "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaAC[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaX") << " submodule"; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaAS[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaX") << " module "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaAM[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaY") << " total "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaBT[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Eta " : "ZetaY") << " crystal "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaBC[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Phi " : "ZetaY") << " submodule"; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaBS[be][hl][i]; - o << std::endl; - o << " Sigma " << (be == 0 ? "Phi " : "ZetaY") << " module "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaBM[be][hl][i]; - o << std::endl; - o << " Sigma R9 "; - for (unsigned i(0); i < 4; i++) - o << std::setw(14) << _sigmaR9[be][hl][i]; - o << std::endl; - } - } -} - -double PhotonFix::asinh(double s) { - if (s >= 0.0) - return log(sqrt(s * s + 1.0) + s); - else - return -log(sqrt(s * s + 1.0) - s); -} - -void PhotonFix::dumpGaps(std::ostream &o) { - o << std::setprecision(15); - - for (unsigned i(0); i < 169; i++) { - for (unsigned j(0); j < 360; j++) { - for (unsigned k(0); k < 2; k++) { - o << _barrelCGap[i][j][k] << std::endl; - } - } - } - - for (unsigned i(0); i < 33; i++) { - for (unsigned j(0); j < 180; j++) { - for (unsigned k(0); k < 2; k++) { - o << _barrelSGap[i][j][k] << std::endl; - } - } - } - - for (unsigned i(0); i < 7; i++) { - for (unsigned j(0); j < 18; j++) { - for (unsigned k(0); k < 2; k++) { - o << _barrelMGap[i][j][k] << std::endl; - } - } - } - - for (unsigned i(0); i < 100; i++) { - for (unsigned j(0); j < 100; j++) { - if (_endcapCrystal[i][j]) - o << 0 << std::endl; - else - o << 1 << std::endl; - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 7080; j++) { - for (unsigned k(0); k < 2; k++) { - o << _endcapCGap[i][j][k] << std::endl; - } - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 264; j++) { - for (unsigned k(0); k < 2; k++) { - o << _endcapSGap[i][j][k] << std::endl; - } - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 1; j++) { - for (unsigned k(0); k < 2; k++) { - o << _endcapMGap[i][j][k] << std::endl; - } - } - } -} - -double PhotonFix::dPhi(double f0, double f1) { - double df(f0 - f1); - if (df > _onePi) - df -= _twoPi; - if (df < -_onePi) - df += _twoPi; - return df; -} - -double PhotonFix::aPhi(double f0, double f1) { - double af(0.5 * (f0 + f1)); - if (fabs(dPhi(af, f0)) > 0.5 * _onePi) { - if (af >= 0.0) - af -= _onePi; - else - af += _onePi; - } - - assert(fabs(dPhi(af, f0)) < 0.5 * _onePi); - assert(fabs(dPhi(af, f1)) < 0.5 * _onePi); - - return af; -} - -double PhotonFix::expCorrection(double a, const double *p) { - if (p[1] == 0.0 || p[2] == 0.0 || p[3] == 0.0) - return 0.0; - - double b(a - p[0]); - if (b >= 0.0) - return p[1] * exp(-fabs(p[2]) * b); - else - return p[1] * exp(fabs(p[3]) * b); -} - -double PhotonFix::gausCorrection(double a, const double *p) { - if (p[1] == 0.0 || p[2] == 0.0 || p[3] == 0.0) - return 0.0; - - double b(a - p[0]); - if (b >= 0.0) - return p[1] * exp(-0.5 * p[2] * p[2] * b * b); - else - return p[1] * exp(-0.5 * p[3] * p[3] * b * b); -} -bool PhotonFix::initialised() { return _initialised; } -bool PhotonFix::initialise(const std::string &s) { - if (_initialised) - return false; - - initialiseParameters(s); - initialiseGeometry(s); - return true; -} - -bool PhotonFix::initialiseParameters(const std::string &s) { - _initialised = false; - - if (s == "Nominal") { - for (unsigned be(0); be < 2; be++) { - for (unsigned hl(0); hl < 2; hl++) { - for (unsigned i(0); i < 4; i++) { - _meanScale[be][hl][i] = 0; - _meanAT[be][hl][i] = 0; - _meanAC[be][hl][i] = 0; - _meanAS[be][hl][i] = 0; - _meanAM[be][hl][i] = 0; - _meanBT[be][hl][i] = 0; - _meanBC[be][hl][i] = 0; - _meanBS[be][hl][i] = 0; - _meanBM[be][hl][i] = 0; - _meanR9[be][hl][i] = 0; - - _sigmaScale[be][hl][i] = 0; - _sigmaAT[be][hl][i] = 0; - _sigmaAC[be][hl][i] = 0; - _sigmaAS[be][hl][i] = 0; - _sigmaAM[be][hl][i] = 0; - _sigmaBT[be][hl][i] = 0; - _sigmaBC[be][hl][i] = 0; - _sigmaBS[be][hl][i] = 0; - _sigmaBM[be][hl][i] = 0; - _sigmaR9[be][hl][i] = 0; - } - - _meanScale[be][hl][0] = 1.0; - if (be == 0) { - _sigmaScale[be][hl][0] = 0.2; - _sigmaScale[be][hl][1] = 0.03; - _sigmaScale[be][hl][2] = 0.006; - } else { - _sigmaScale[be][hl][0] = 0.25; - _sigmaScale[be][hl][1] = 0.05; - _sigmaScale[be][hl][2] = 0.010; - } - } - } - - _initialised = true; - } - - if (s == "3_8") { - _meanScale[0][0][0] = 0.994724; - _meanScale[0][0][1] = 1.98102e-06; - _meanScale[0][0][2] = 1.43015e-05; - _meanScale[0][0][3] = -0.0908525; - _meanAT[0][0][0] = 0.0; - _meanAT[0][0][1] = 0.0; - _meanAT[0][0][2] = 0.0; - _meanAT[0][0][3] = 0.0; - _meanAC[0][0][0] = -0.00352041; - _meanAC[0][0][1] = 0.00982015; - _meanAC[0][0][2] = 434.32; - _meanAC[0][0][3] = 529.508; - _meanAS[0][0][0] = -1.1; - _meanAS[0][0][1] = 0.00135995; - _meanAS[0][0][2] = 295.712; - _meanAS[0][0][3] = 5.13202e+07; - _meanAM[0][0][0] = -0.00140562; - _meanAM[0][0][1] = 0.156322; - _meanAM[0][0][2] = 263.097; - _meanAM[0][0][3] = 222.294; - _meanBT[0][0][0] = 0.0; - _meanBT[0][0][1] = 0.0; - _meanBT[0][0][2] = 0.0; - _meanBT[0][0][3] = 0.0; - _meanBC[0][0][0] = -0.00294295; - _meanBC[0][0][1] = 0.011533; - _meanBC[0][0][2] = 562.905; - _meanBC[0][0][3] = 421.097; - _meanBS[0][0][0] = -0.00204373; - _meanBS[0][0][1] = 0.00347592; - _meanBS[0][0][2] = 36.5614; - _meanBS[0][0][3] = 1265.25; - _meanBM[0][0][0] = -0.00275381; - _meanBM[0][0][1] = 0.0812447; - _meanBM[0][0][2] = 216.885; - _meanBM[0][0][3] = 264.754; - _meanR9[0][0][0] = 0.952584; - _meanR9[0][0][1] = 22.7119; - _meanR9[0][0][2] = 402.816; - _meanR9[0][0][3] = 0; - - _sigmaScale[0][0][0] = 0.167184; - _sigmaScale[0][0][1] = 6.14323e-11; - _sigmaScale[0][0][2] = 0.00769693; - _sigmaScale[0][0][3] = 0; - _sigmaAT[0][0][0] = 0.228255; - _sigmaAT[0][0][1] = 0; - _sigmaAT[0][0][2] = 0; - _sigmaAT[0][0][3] = 0; - _sigmaAC[0][0][0] = -0.00411906; - _sigmaAC[0][0][1] = 0.077799; - _sigmaAC[0][0][2] = 23.1033; - _sigmaAC[0][0][3] = -3e+17; - _sigmaAS[0][0][0] = 0; - _sigmaAS[0][0][1] = 0; - _sigmaAS[0][0][2] = 0; - _sigmaAS[0][0][3] = 0; - _sigmaAM[0][0][0] = -0.000130695; - _sigmaAM[0][0][1] = 11.2121; - _sigmaAM[0][0][2] = 468.535; - _sigmaAM[0][0][3] = 407.652; - _sigmaBT[0][0][0] = 1.33384e-05; - _sigmaBT[0][0][1] = 8.77098; - _sigmaBT[0][0][2] = 324.048; - _sigmaBT[0][0][3] = 239.868; - _sigmaBC[0][0][0] = -0.00281964; - _sigmaBC[0][0][1] = 0.125811; - _sigmaBC[0][0][2] = 538.949; - _sigmaBC[0][0][3] = 1358.76; - _sigmaBS[0][0][0] = 0; - _sigmaBS[0][0][1] = 0; - _sigmaBS[0][0][2] = 0; - _sigmaBS[0][0][3] = 0; - _sigmaBM[0][0][0] = -0.00293676; - _sigmaBM[0][0][1] = 8.88276; - _sigmaBM[0][0][2] = 350.032; - _sigmaBM[0][0][3] = 580.354; - _sigmaR9[0][0][0] = 0.955876; - _sigmaR9[0][0][1] = 2254.5; - _sigmaR9[0][0][2] = 14627; - _sigmaR9[0][0][3] = 0; - - _meanScale[0][1][0] = 0.888348; - _meanScale[0][1][1] = 1.20452e-05; - _meanScale[0][1][2] = -1.04458e-05; - _meanScale[0][1][3] = -0.542383; - _meanAT[0][1][0] = 0.0; - _meanAT[0][1][1] = 0.0; - _meanAT[0][1][2] = 0.0; - _meanAT[0][1][3] = 0.0; - _meanAC[0][1][0] = -0.00320856; - _meanAC[0][1][1] = 0.0240109; - _meanAC[0][1][2] = 115.145; - _meanAC[0][1][3] = 205.859; - _meanAS[0][1][0] = 0.0349736; - _meanAS[0][1][1] = -0.00232864; - _meanAS[0][1][2] = 318.584; - _meanAS[0][1][3] = 1.4e+09; - _meanAM[0][1][0] = -0.00104798; - _meanAM[0][1][1] = 0.208249; - _meanAM[0][1][2] = 297.049; - _meanAM[0][1][3] = 220.609; - _meanBT[0][1][0] = 0.0; - _meanBT[0][1][1] = 0.0; - _meanBT[0][1][2] = 0.0; - _meanBT[0][1][3] = 0.0; - _meanBC[0][1][0] = -0.00420429; - _meanBC[0][1][1] = 0.00203991; - _meanBC[0][1][2] = 172.278; - _meanBC[0][1][3] = 410.677; - _meanBS[0][1][0] = -0.0430854; - _meanBS[0][1][1] = 0.0961883; - _meanBS[0][1][2] = 0.196958; - _meanBS[0][1][3] = 11442.2; - _meanBM[0][1][0] = -0.00389457; - _meanBM[0][1][1] = 0.0449086; - _meanBM[0][1][2] = 78.9252; - _meanBM[0][1][3] = 103.237; - _meanR9[0][1][0] = 0.0182102; - _meanR9[0][1][1] = -0.03752; - _meanR9[0][1][2] = 0.0198881; - _meanR9[0][1][3] = 0; - - _sigmaScale[0][1][0] = 0.386681; - _sigmaScale[0][1][1] = 0.0913412; - _sigmaScale[0][1][2] = 0.00119232; - _sigmaScale[0][1][3] = 0; - _sigmaAT[0][1][0] = 1.36562; - _sigmaAT[0][1][1] = 0; - _sigmaAT[0][1][2] = 0; - _sigmaAT[0][1][3] = 0; - _sigmaAC[0][1][0] = -0.00504613; - _sigmaAC[0][1][1] = -1.09115; - _sigmaAC[0][1][2] = 8.57406; - _sigmaAC[0][1][3] = 57.1351; - _sigmaAS[0][1][0] = 0; - _sigmaAS[0][1][1] = 0; - _sigmaAS[0][1][2] = 0; - _sigmaAS[0][1][3] = 0; - _sigmaAM[0][1][0] = -0.00014319; - _sigmaAM[0][1][1] = 5.39527; - _sigmaAM[0][1][2] = 432.566; - _sigmaAM[0][1][3] = 265.165; - _sigmaBT[0][1][0] = -0.040161; - _sigmaBT[0][1][1] = 2.65711; - _sigmaBT[0][1][2] = -0.398357; - _sigmaBT[0][1][3] = -0.440649; - _sigmaBC[0][1][0] = 0.00580015; - _sigmaBC[0][1][1] = -0.631833; - _sigmaBC[0][1][2] = 18594.3; - _sigmaBC[0][1][3] = 4.00955e+08; - _sigmaBS[0][1][0] = 0; - _sigmaBS[0][1][1] = 0; - _sigmaBS[0][1][2] = 0; - _sigmaBS[0][1][3] = 0; - _sigmaBM[0][1][0] = -0.00376665; - _sigmaBM[0][1][1] = 3.74316; - _sigmaBM[0][1][2] = 102.72; - _sigmaBM[0][1][3] = 157.396; - _sigmaR9[0][1][0] = -3.12696; - _sigmaR9[0][1][1] = 1.75114; - _sigmaR9[0][1][2] = 0; - _sigmaR9[0][1][3] = 0; - - _meanScale[1][0][0] = 0.999461; - _meanScale[1][0][1] = 4.37414e-06; - _meanScale[1][0][2] = 4.92078e-06; - _meanScale[1][0][3] = -0.121609; - _meanAT[1][0][0] = 0.0; - _meanAT[1][0][1] = 0.0; - _meanAT[1][0][2] = 0.0; - _meanAT[1][0][3] = 0.0; - _meanAC[1][0][0] = -0.000396058; - _meanAC[1][0][1] = 0.0144837; - _meanAC[1][0][2] = 1374.93; - _meanAC[1][0][3] = 945.634; - _meanAS[1][0][0] = -0.000871036; - _meanAS[1][0][1] = 0.0442747; - _meanAS[1][0][2] = 645.709; - _meanAS[1][0][3] = 962.845; - _meanAM[1][0][0] = 0.000434298; - _meanAM[1][0][1] = 0.0658628; - _meanAM[1][0][2] = 1928.49; - _meanAM[1][0][3] = 728.522; - _meanBT[1][0][0] = 0.0; - _meanBT[1][0][1] = 0.0; - _meanBT[1][0][2] = 0.0; - _meanBT[1][0][3] = 0.0; - _meanBC[1][0][0] = -0.000452212; - _meanBC[1][0][1] = 0.0129968; - _meanBC[1][0][2] = 1056.08; - _meanBC[1][0][3] = 759.102; - _meanBS[1][0][0] = -0.000786157; - _meanBS[1][0][1] = 0.0346555; - _meanBS[1][0][2] = 592.239; - _meanBS[1][0][3] = 854.285; - _meanBM[1][0][0] = -0.0665038; - _meanBM[1][0][1] = -0.00211713; - _meanBM[1][0][2] = 4.84395; - _meanBM[1][0][3] = 11.6644; - _meanR9[1][0][0] = 0.971355; - _meanR9[1][0][1] = 47.2751; - _meanR9[1][0][2] = 536.907; - _meanR9[1][0][3] = 0; - - _sigmaScale[1][0][0] = 0.254641; - _sigmaScale[1][0][1] = 0.00264818; - _sigmaScale[1][0][2] = 0.0114953; - _sigmaScale[1][0][3] = 0; - _sigmaAT[1][0][0] = 0.935839; - _sigmaAT[1][0][1] = 0; - _sigmaAT[1][0][2] = 0; - _sigmaAT[1][0][3] = 0; - _sigmaAC[1][0][0] = -0.00476475; - _sigmaAC[1][0][1] = 2.14548; - _sigmaAC[1][0][2] = 29937; - _sigmaAC[1][0][3] = 2.6e+11; - _sigmaAS[1][0][0] = -8.17285e-05; - _sigmaAS[1][0][1] = 1.5821; - _sigmaAS[1][0][2] = 1928.83; - _sigmaAS[1][0][3] = 902.519; - _sigmaAM[1][0][0] = 0.0278577; - _sigmaAM[1][0][1] = 0.58439; - _sigmaAM[1][0][2] = 43.3575; - _sigmaAM[1][0][3] = 19.7836; - _sigmaBT[1][0][0] = -0.456051; - _sigmaBT[1][0][1] = 0; - _sigmaBT[1][0][2] = 0; - _sigmaBT[1][0][3] = 0; - _sigmaBC[1][0][0] = -0.00264527; - _sigmaBC[1][0][1] = 0.696043; - _sigmaBC[1][0][2] = 7.49509e+12; - _sigmaBC[1][0][3] = 96843; - _sigmaBS[1][0][0] = 0.000258933; - _sigmaBS[1][0][1] = 1.28387; - _sigmaBS[1][0][2] = 1668.71; - _sigmaBS[1][0][3] = 730.716; - _sigmaBM[1][0][0] = 0.00121506; - _sigmaBM[1][0][1] = 0.938541; - _sigmaBM[1][0][2] = 9003.57; - _sigmaBM[1][0][3] = 288.897; - _sigmaR9[1][0][0] = 1.01207; - _sigmaR9[1][0][1] = -816.244; - _sigmaR9[1][0][2] = -16283.8; - _sigmaR9[1][0][3] = 0; - - _meanScale[1][1][0] = 0.324634; - _meanScale[1][1][1] = 9.48206e-05; - _meanScale[1][1][2] = 1.0e-12; - _meanScale[1][1][3] = 1.0e-12; - _meanAT[1][1][0] = 0.0; - _meanAT[1][1][1] = 0.0; - _meanAT[1][1][2] = 0.0; - _meanAT[1][1][3] = 0.0; - _meanAC[1][1][0] = -0.00158311; - _meanAC[1][1][1] = 0.0106161; - _meanAC[1][1][2] = 338.964; - _meanAC[1][1][3] = 797.172; - _meanAS[1][1][0] = -0.00960269; - _meanAS[1][1][1] = -0.00496491; - _meanAS[1][1][2] = 934.472; - _meanAS[1][1][3] = 8.32667e-16; - _meanAM[1][1][0] = -0.00219814; - _meanAM[1][1][1] = 0.653906; - _meanAM[1][1][2] = 0.0949848; - _meanAM[1][1][3] = 0.0977831; - _meanBT[1][1][0] = 0.0; - _meanBT[1][1][1] = 0.0; - _meanBT[1][1][2] = 0.0; - _meanBT[1][1][3] = 0.0; - _meanBC[1][1][0] = -0.00423472; - _meanBC[1][1][1] = 0.0279695; - _meanBC[1][1][2] = 28073.7; - _meanBC[1][1][3] = 118612; - _meanBS[1][1][0] = -0.0012476; - _meanBS[1][1][1] = 0.02744; - _meanBS[1][1][2] = 390.697; - _meanBS[1][1][3] = 727.861; - _meanBM[1][1][0] = -1.36573e-05; - _meanBM[1][1][1] = 0.0667504; - _meanBM[1][1][2] = -80154.4; - _meanBM[1][1][3] = 576.637; - _meanR9[1][1][0] = 0.113317; - _meanR9[1][1][1] = 0.0142669; - _meanR9[1][1][2] = -0.125721; - _meanR9[1][1][3] = 0; - - _sigmaScale[1][1][0] = 0.471767; - _sigmaScale[1][1][1] = 0.211196; - _sigmaScale[1][1][2] = 0.0240124; - _sigmaScale[1][1][3] = 0; - _sigmaAT[1][1][0] = 0.404395; - _sigmaAT[1][1][1] = 0; - _sigmaAT[1][1][2] = 0; - _sigmaAT[1][1][3] = 0; - _sigmaAC[1][1][0] = 0.00173151; - _sigmaAC[1][1][1] = -0.479291; - _sigmaAC[1][1][2] = 11583.5; - _sigmaAC[1][1][3] = -7e+09; - _sigmaAS[1][1][0] = 0.000450387; - _sigmaAS[1][1][1] = 0.662978; - _sigmaAS[1][1][2] = 924.051; - _sigmaAS[1][1][3] = 448.417; - _sigmaAM[1][1][0] = 0.00335603; - _sigmaAM[1][1][1] = 0.648407; - _sigmaAM[1][1][2] = 134.672; - _sigmaAM[1][1][3] = 27.4139; - _sigmaBT[1][1][0] = 0.602402; - _sigmaBT[1][1][1] = 0; - _sigmaBT[1][1][2] = 0; - _sigmaBT[1][1][3] = 0; - _sigmaBC[1][1][0] = -0.00256192; - _sigmaBC[1][1][1] = 2.01276; - _sigmaBC[1][1][2] = 114558; - _sigmaBC[1][1][3] = 2.15421e+06; - _sigmaBS[1][1][0] = 0.00151576; - _sigmaBS[1][1][1] = 0.359084; - _sigmaBS[1][1][2] = 329.414; - _sigmaBS[1][1][3] = 154.509; - _sigmaBM[1][1][0] = -0.0452587; - _sigmaBM[1][1][1] = 1.26253; - _sigmaBM[1][1][2] = 1.9e+09; - _sigmaBM[1][1][3] = 1058.76; - _sigmaR9[1][1][0] = 4.59667; - _sigmaR9[1][1][1] = -5.14404; - _sigmaR9[1][1][2] = 0; - _sigmaR9[1][1][3] = 0; - - _initialised = true; - } - - if (s == "3_11") { - _meanScale[0][0][0] = 0.994363; - _meanScale[0][0][1] = 4.84904e-07; - _meanScale[0][0][2] = 1.54475e-05; - _meanScale[0][0][3] = -0.103309; - _meanAT[0][0][0] = 0.0; - _meanAT[0][0][1] = 0.0; - _meanAT[0][0][2] = 0.0; - _meanAT[0][0][3] = 0.0; - _meanAC[0][0][0] = -0.00360057; - _meanAC[0][0][1] = 0.00970858; - _meanAC[0][0][2] = 409.406; - _meanAC[0][0][3] = 527.952; - _meanAS[0][0][0] = -1.1; - _meanAS[0][0][1] = 0.00135995; - _meanAS[0][0][2] = 295.712; - _meanAS[0][0][3] = 5.13202e+07; - _meanAM[0][0][0] = -0.00129854; - _meanAM[0][0][1] = 0.151466; - _meanAM[0][0][2] = 261.828; - _meanAM[0][0][3] = 214.662; - _meanBT[0][0][0] = 0.0; - _meanBT[0][0][1] = 0.0; - _meanBT[0][0][2] = 0.0; - _meanBT[0][0][3] = 0.0; - _meanBC[0][0][0] = -0.00286864; - _meanBC[0][0][1] = 0.0114118; - _meanBC[0][0][2] = 563.962; - _meanBC[0][0][3] = 412.922; - _meanBS[0][0][0] = -0.00210996; - _meanBS[0][0][1] = 0.00327867; - _meanBS[0][0][2] = 23.617; - _meanBS[0][0][3] = 1018.45; - _meanBM[0][0][0] = -0.002287; - _meanBM[0][0][1] = 0.0848984; - _meanBM[0][0][2] = 235.575; - _meanBM[0][0][3] = 260.773; - _meanR9[0][0][0] = 0.951724; - _meanR9[0][0][1] = 23.7181; - _meanR9[0][0][2] = 177.34; - _meanR9[0][0][3] = 0; - - _sigmaScale[0][0][0] = 0.187578; - _sigmaScale[0][0][1] = -0.000901045; - _sigmaScale[0][0][2] = 0.00673186; - _sigmaScale[0][0][3] = 0; - _sigmaAT[0][0][0] = 0.183777; - _sigmaAT[0][0][1] = 0; - _sigmaAT[0][0][2] = 0; - _sigmaAT[0][0][3] = 0; - _sigmaAC[0][0][0] = -0.00430202; - _sigmaAC[0][0][1] = 0.122501; - _sigmaAC[0][0][2] = 51.9772; - _sigmaAC[0][0][3] = -3e+17; - _sigmaAS[0][0][0] = 0; - _sigmaAS[0][0][1] = 0; - _sigmaAS[0][0][2] = 0; - _sigmaAS[0][0][3] = 0; - _sigmaAM[0][0][0] = 0.00101883; - _sigmaAM[0][0][1] = 11.2009; - _sigmaAM[0][0][2] = 593.111; - _sigmaAM[0][0][3] = 345.433; - _sigmaBT[0][0][0] = -6.02356e-05; - _sigmaBT[0][0][1] = 6.99896; - _sigmaBT[0][0][2] = 235.996; - _sigmaBT[0][0][3] = 196; - _sigmaBC[0][0][0] = -0.00282254; - _sigmaBC[0][0][1] = 0.18764; - _sigmaBC[0][0][2] = 509.825; - _sigmaBC[0][0][3] = 1400.14; - _sigmaBS[0][0][0] = 0; - _sigmaBS[0][0][1] = 0; - _sigmaBS[0][0][2] = 0; - _sigmaBS[0][0][3] = 0; - _sigmaBM[0][0][0] = -0.00252199; - _sigmaBM[0][0][1] = 39.1544; - _sigmaBM[0][0][2] = 612.481; - _sigmaBM[0][0][3] = 905.994; - _sigmaR9[0][0][0] = 0.95608; - _sigmaR9[0][0][1] = 2203.31; - _sigmaR9[0][0][2] = -22454.2; - _sigmaR9[0][0][3] = 0; - - _meanScale[0][1][0] = 0.889415; - _meanScale[0][1][1] = 1.21788e-05; - _meanScale[0][1][2] = -4.3438e-06; - _meanScale[0][1][3] = -0.629968; - _meanAT[0][1][0] = 0.0; - _meanAT[0][1][1] = 0.0; - _meanAT[0][1][2] = 0.0; - _meanAT[0][1][3] = 0.0; - _meanAC[0][1][0] = -0.00313701; - _meanAC[0][1][1] = 0.0227998; - _meanAC[0][1][2] = 128.653; - _meanAC[0][1][3] = 234.333; - _meanAS[0][1][0] = 0.0346198; - _meanAS[0][1][1] = -0.00261336; - _meanAS[0][1][2] = 177.983; - _meanAS[0][1][3] = 1.19839e+14; - _meanAM[0][1][0] = -0.00100745; - _meanAM[0][1][1] = 0.264247; - _meanAM[0][1][2] = 337.255; - _meanAM[0][1][3] = 251.454; - _meanBT[0][1][0] = 0.0; - _meanBT[0][1][1] = 0.0; - _meanBT[0][1][2] = 0.0; - _meanBT[0][1][3] = 0.0; - _meanBC[0][1][0] = -0.00397794; - _meanBC[0][1][1] = 0.00219079; - _meanBC[0][1][2] = 176.842; - _meanBC[0][1][3] = 450.29; - _meanBS[0][1][0] = -2e+07; - _meanBS[0][1][1] = 0.0957598; - _meanBS[0][1][2] = -8.88573e-27; - _meanBS[0][1][3] = 11442.2; - _meanBM[0][1][0] = -0.00366315; - _meanBM[0][1][1] = 0.0622186; - _meanBM[0][1][2] = 94.5155; - _meanBM[0][1][3] = 126.404; - _meanR9[0][1][0] = 0.00636789; - _meanR9[0][1][1] = 0.000336062; - _meanR9[0][1][2] = -0.0092699; - _meanR9[0][1][3] = 0; - - _sigmaScale[0][1][0] = 0.685096; - _sigmaScale[0][1][1] = 0.129065; - _sigmaScale[0][1][2] = -0.00212486; - _sigmaScale[0][1][3] = 0; - _sigmaAT[0][1][0] = 0.898865; - _sigmaAT[0][1][1] = 0; - _sigmaAT[0][1][2] = 0; - _sigmaAT[0][1][3] = 0; - _sigmaAC[0][1][0] = -0.00492979; - _sigmaAC[0][1][1] = -1.20123; - _sigmaAC[0][1][2] = 2.89231; - _sigmaAC[0][1][3] = 18.2059; - _sigmaAS[0][1][0] = 0; - _sigmaAS[0][1][1] = 0; - _sigmaAS[0][1][2] = 0; - _sigmaAS[0][1][3] = 0; - _sigmaAM[0][1][0] = -0.000727825; - _sigmaAM[0][1][1] = 8.42395; - _sigmaAM[0][1][2] = 512.032; - _sigmaAM[0][1][3] = 415.962; - _sigmaBT[0][1][0] = -0.0336364; - _sigmaBT[0][1][1] = 2.45182; - _sigmaBT[0][1][2] = -0.284353; - _sigmaBT[0][1][3] = -0.31679; - _sigmaBC[0][1][0] = 0.00510553; - _sigmaBC[0][1][1] = -0.953869; - _sigmaBC[0][1][2] = 113872; - _sigmaBC[0][1][3] = 1.35966e+09; - _sigmaBS[0][1][0] = 0; - _sigmaBS[0][1][1] = 0; - _sigmaBS[0][1][2] = 0; - _sigmaBS[0][1][3] = 0; - _sigmaBM[0][1][0] = -0.0034071; - _sigmaBM[0][1][1] = 4.19719; - _sigmaBM[0][1][2] = 128.952; - _sigmaBM[0][1][3] = 180.604; - _sigmaR9[0][1][0] = -3.38988; - _sigmaR9[0][1][1] = 2.0714; - _sigmaR9[0][1][2] = 0; - _sigmaR9[0][1][3] = 0; - - _meanScale[1][0][0] = 1.0009; - _meanScale[1][0][1] = -4.79805e-06; - _meanScale[1][0][2] = 3.34625e-05; - _meanScale[1][0][3] = -0.194267; - _meanAT[1][0][0] = 0.0; - _meanAT[1][0][1] = 0.0; - _meanAT[1][0][2] = 0.0; - _meanAT[1][0][3] = 0.0; - _meanAC[1][0][0] = -0.000177563; - _meanAC[1][0][1] = 0.0122839; - _meanAC[1][0][2] = 1798.92; - _meanAC[1][0][3] = 776.856; - _meanAS[1][0][0] = -0.000533039; - _meanAS[1][0][1] = 0.0642604; - _meanAS[1][0][2] = 969.596; - _meanAS[1][0][3] = 1004.15; - _meanAM[1][0][0] = 0.000163185; - _meanAM[1][0][1] = 0.085936; - _meanAM[1][0][2] = 1593.17; - _meanAM[1][0][3] = 681.623; - _meanBT[1][0][0] = 0.0; - _meanBT[1][0][1] = 0.0; - _meanBT[1][0][2] = 0.0; - _meanBT[1][0][3] = 0.0; - _meanBC[1][0][0] = -0.000518186; - _meanBC[1][0][1] = 0.0121868; - _meanBC[1][0][2] = 1112.53; - _meanBC[1][0][3] = 933.281; - _meanBS[1][0][0] = -0.000750734; - _meanBS[1][0][1] = 0.03859; - _meanBS[1][0][2] = 547.579; - _meanBS[1][0][3] = 775.887; - _meanBM[1][0][0] = -0.190395; - _meanBM[1][0][1] = -0.00362647; - _meanBM[1][0][2] = 5.25687; - _meanBM[1][0][3] = -2.8e+08; - _meanR9[1][0][0] = 0.972346; - _meanR9[1][0][1] = 53.9185; - _meanR9[1][0][2] = 1354.5; - _meanR9[1][0][3] = 0; - - _sigmaScale[1][0][0] = 0.348019; - _sigmaScale[1][0][1] = -6.43731e-11; - _sigmaScale[1][0][2] = 0.0158647; - _sigmaScale[1][0][3] = 0; - _sigmaAT[1][0][0] = 0.215239; - _sigmaAT[1][0][1] = 0; - _sigmaAT[1][0][2] = 0; - _sigmaAT[1][0][3] = 0; - _sigmaAC[1][0][0] = -0.00492298; - _sigmaAC[1][0][1] = -3.40058; - _sigmaAC[1][0][2] = 17263.9; - _sigmaAC[1][0][3] = 2.6e+11; - _sigmaAS[1][0][0] = -0.000237998; - _sigmaAS[1][0][1] = 3.0258; - _sigmaAS[1][0][2] = 1811.25; - _sigmaAS[1][0][3] = 1846.79; - _sigmaAM[1][0][0] = 0.0210134; - _sigmaAM[1][0][1] = 0.328359; - _sigmaAM[1][0][2] = 22.49; - _sigmaAM[1][0][3] = 14.5021; - _sigmaBT[1][0][0] = -0.495072; - _sigmaBT[1][0][1] = 0; - _sigmaBT[1][0][2] = 0; - _sigmaBT[1][0][3] = 0; - _sigmaBC[1][0][0] = -0.00265007; - _sigmaBC[1][0][1] = 0.970549; - _sigmaBC[1][0][2] = -6.89119e+07; - _sigmaBC[1][0][3] = 180110; - _sigmaBS[1][0][0] = 0.00045833; - _sigmaBS[1][0][1] = 2.16342; - _sigmaBS[1][0][2] = 3582.4; - _sigmaBS[1][0][3] = 1100.36; - _sigmaBM[1][0][0] = 0.00188871; - _sigmaBM[1][0][1] = 1.66177; - _sigmaBM[1][0][2] = 3.2e+08; - _sigmaBM[1][0][3] = 2163.81; - _sigmaR9[1][0][0] = -220.415; - _sigmaR9[1][0][1] = 5.19136e-08; - _sigmaR9[1][0][2] = 3.04028e-10; - _sigmaR9[1][0][3] = 0; - - _meanScale[1][1][0] = 0.338011; - _meanScale[1][1][1] = 9.47815e-05; - _meanScale[1][1][2] = -0.000238735; - _meanScale[1][1][3] = -0.846414; - _meanAT[1][1][0] = 0.0; - _meanAT[1][1][1] = 0.0; - _meanAT[1][1][2] = 0.0; - _meanAT[1][1][3] = 0.0; - _meanAC[1][1][0] = -0.00125367; - _meanAC[1][1][1] = 0.013324; - _meanAC[1][1][2] = 203.988; - _meanAC[1][1][3] = 431.951; - _meanAS[1][1][0] = 0.000282607; - _meanAS[1][1][1] = 0.0307431; - _meanAS[1][1][2] = 343.509; - _meanAS[1][1][3] = 274.957; - _meanAM[1][1][0] = 0.0020258; - _meanAM[1][1][1] = 0.643913; - _meanAM[1][1][2] = 0.0693877; - _meanAM[1][1][3] = 0.0816029; - _meanBT[1][1][0] = 0.0; - _meanBT[1][1][1] = 0.0; - _meanBT[1][1][2] = 0.0; - _meanBT[1][1][3] = 0.0; - _meanBC[1][1][0] = -0.00513833; - _meanBC[1][1][1] = 5.94424e+08; - _meanBC[1][1][2] = -62814.9; - _meanBC[1][1][3] = 118612; - _meanBS[1][1][0] = -0.00152129; - _meanBS[1][1][1] = 0.0234694; - _meanBS[1][1][2] = 186.483; - _meanBS[1][1][3] = 754.201; - _meanBM[1][1][0] = -0.000404987; - _meanBM[1][1][1] = 0.156384; - _meanBM[1][1][2] = -1.7e+08; - _meanBM[1][1][3] = 1793.83; - _meanR9[1][1][0] = 0.0645278; - _meanR9[1][1][1] = 0.161614; - _meanR9[1][1][2] = -0.215822; - _meanR9[1][1][3] = 0; - - _sigmaScale[1][1][0] = 1.07376; - _sigmaScale[1][1][1] = 7.47238e-13; - _sigmaScale[1][1][2] = 0.0289594; - _sigmaScale[1][1][3] = 0; - _sigmaAT[1][1][0] = -0.520907; - _sigmaAT[1][1][1] = 0; - _sigmaAT[1][1][2] = 0; - _sigmaAT[1][1][3] = 0; - _sigmaAC[1][1][0] = 0.00165941; - _sigmaAC[1][1][1] = -0.351422; - _sigmaAC[1][1][2] = 8968.94; - _sigmaAC[1][1][3] = -7e+09; - _sigmaAS[1][1][0] = 0.000490279; - _sigmaAS[1][1][1] = 0.554531; - _sigmaAS[1][1][2] = 469.111; - _sigmaAS[1][1][3] = 457.541; - _sigmaAM[1][1][0] = 0.00102079; - _sigmaAM[1][1][1] = 0.628055; - _sigmaAM[1][1][2] = 53.9452; - _sigmaAM[1][1][3] = 72.911; - _sigmaBT[1][1][0] = -0.461542; - _sigmaBT[1][1][1] = 0; - _sigmaBT[1][1][2] = 0; - _sigmaBT[1][1][3] = 0; - _sigmaBC[1][1][0] = -0.00219303; - _sigmaBC[1][1][1] = 0.874327; - _sigmaBC[1][1][2] = 71353.2; - _sigmaBC[1][1][3] = 2.09924e+08; - _sigmaBS[1][1][0] = 0.00104021; - _sigmaBS[1][1][1] = 0.236098; - _sigmaBS[1][1][2] = 482.954; - _sigmaBS[1][1][3] = 191.984; - _sigmaBM[1][1][0] = -0.000116086; - _sigmaBM[1][1][1] = 2.4438; - _sigmaBM[1][1][2] = 1.9e+09; - _sigmaBM[1][1][3] = -700.271; - _sigmaR9[1][1][0] = 4.59374; - _sigmaR9[1][1][1] = -5.06202; - _sigmaR9[1][1][2] = 0; - _sigmaR9[1][1][3] = 0; - - _initialised = true; - } - - if (s == "4_2") { - _meanScale[0][0][0] = 0.996757; - _meanScale[0][0][1] = -1.02729e-05; - _meanScale[0][0][2] = 2.92397e-05; - _meanScale[0][0][3] = -0.0892806; - _meanAT[0][0][0] = 0.000616189; - _meanAT[0][0][1] = 0; - _meanAT[0][0][2] = 0; - _meanAT[0][0][3] = 0; - _meanAC[0][0][0] = -0.00343502; - _meanAC[0][0][1] = 0.0102123; - _meanAC[0][0][2] = 460.294; - _meanAC[0][0][3] = 510.925; - _meanAS[0][0][0] = 0; - _meanAS[0][0][1] = 0; - _meanAS[0][0][2] = 0; - _meanAS[0][0][3] = 0; - _meanAM[0][0][0] = -0.0010363; - _meanAM[0][0][1] = 0.147364; - _meanAM[0][0][2] = 280.742; - _meanAM[0][0][3] = 200.903; - _meanBT[0][0][0] = 0; - _meanBT[0][0][1] = 0.0290516; - _meanBT[0][0][2] = -113.185; - _meanBT[0][0][3] = -176099; - _meanBC[0][0][0] = -0.00262961; - _meanBC[0][0][1] = 0.0134481; - _meanBC[0][0][2] = 699.825; - _meanBC[0][0][3] = 401.452; - _meanBS[0][0][0] = 0; - _meanBS[0][0][1] = 0; - _meanBS[0][0][2] = 0; - _meanBS[0][0][3] = 0; - _meanBM[0][0][0] = -0.00170238; - _meanBM[0][0][1] = 0.0751873; - _meanBM[0][0][2] = 232.9; - _meanBM[0][0][3] = 225.712; - _meanR9[0][0][0] = 0.946441; - _meanR9[0][0][1] = 19.5162; - _meanR9[0][0][2] = 173.503; - _meanR9[0][0][3] = 0; - - _sigmaScale[0][0][0] = 0.196245; - _sigmaScale[0][0][1] = 0.0191932; - _sigmaScale[0][0][2] = 0.00660053; - _sigmaScale[0][0][3] = 0; - _sigmaAT[0][0][0] = 0.179417; - _sigmaAT[0][0][1] = 0; - _sigmaAT[0][0][2] = 0; - _sigmaAT[0][0][3] = 0; - _sigmaAC[0][0][0] = -0.00383752; - _sigmaAC[0][0][1] = 0.0881981; - _sigmaAC[0][0][2] = 88.6384; - _sigmaAC[0][0][3] = -3e+17; - _sigmaAS[0][0][0] = 0; - _sigmaAS[0][0][1] = 0; - _sigmaAS[0][0][2] = 0; - _sigmaAS[0][0][3] = 0; - _sigmaAM[0][0][0] = 0.000932441; - _sigmaAM[0][0][1] = 10.1637; - _sigmaAM[0][0][2] = 610.691; - _sigmaAM[0][0][3] = 290.271; - _sigmaBT[0][0][0] = -0.00599323; - _sigmaBT[0][0][1] = 1.71943; - _sigmaBT[0][0][2] = 90.7352; - _sigmaBT[0][0][3] = 164.449; - _sigmaBC[0][0][0] = -0.00167802; - _sigmaBC[0][0][1] = 0.303306; - _sigmaBC[0][0][2] = 1326.56; - _sigmaBC[0][0][3] = 765.552; - _sigmaBS[0][0][0] = 0; - _sigmaBS[0][0][1] = 0; - _sigmaBS[0][0][2] = 0; - _sigmaBS[0][0][3] = 0; - _sigmaBM[0][0][0] = -0.00252598; - _sigmaBM[0][0][1] = 52.0947; - _sigmaBM[0][0][2] = 660.313; - _sigmaBM[0][0][3] = 1052.64; - _sigmaR9[0][0][0] = 0.952982; - _sigmaR9[0][0][1] = 1961.39; - _sigmaR9[0][0][2] = 22382.1; - _sigmaR9[0][0][3] = 0; - - _meanScale[0][1][0] = 0.88802; - _meanScale[0][1][1] = 1.61e-05; - _meanScale[0][1][2] = -1.08e-05; - _meanScale[0][1][3] = -0.489; - _meanAT[0][1][0] = -0.00165; - _meanAT[0][1][1] = 0; - _meanAT[0][1][2] = 0; - _meanAT[0][1][3] = 0; - _meanAC[0][1][0] = -0.003195; - _meanAC[0][1][1] = 0.02012; - _meanAC[0][1][2] = 151.6; - _meanAC[0][1][3] = 255; - _meanAS[0][1][0] = 0; - _meanAS[0][1][1] = 0; - _meanAS[0][1][2] = 0; - _meanAS[0][1][3] = 0; - _meanAM[0][1][0] = -0.00055; - _meanAM[0][1][1] = 0.1515; - _meanAM[0][1][2] = 534; - _meanAM[0][1][3] = 330; - _meanBT[0][1][0] = 0; - _meanBT[0][1][1] = 0.187; - _meanBT[0][1][2] = 299.298; - _meanBT[0][1][3] = 428.221; - _meanBC[0][1][0] = -0.00366; - _meanBC[0][1][1] = 0.0038; - _meanBC[0][1][2] = 760; - _meanBC[0][1][3] = 760; - _meanBS[0][1][0] = 0; - _meanBS[0][1][1] = 0; - _meanBS[0][1][2] = 0; - _meanBS[0][1][3] = 0; - _meanBM[0][1][0] = -0.00316; - _meanBM[0][1][1] = 0.0404; - _meanBM[0][1][2] = 137; - _meanBM[0][1][3] = 146; - _meanR9[0][1][0] = 0.02573; - _meanR9[0][1][1] = -0.03722; - _meanR9[0][1][2] = 0.0144; - _meanR9[0][1][3] = 0; - - _sigmaScale[0][1][0] = 0.66; - _sigmaScale[0][1][1] = 0.07465; - _sigmaScale[0][1][2] = -0.00373; - _sigmaScale[0][1][3] = 0; - _sigmaAT[0][1][0] = 1.363; - _sigmaAT[0][1][1] = 0; - _sigmaAT[0][1][2] = 0; - _sigmaAT[0][1][3] = 0; - _sigmaAC[0][1][0] = -0.00342; - _sigmaAC[0][1][1] = -1.667; - _sigmaAC[0][1][2] = 6.6; - _sigmaAC[0][1][3] = 14; - _sigmaAS[0][1][0] = 0; - _sigmaAS[0][1][1] = 0; - _sigmaAS[0][1][2] = 0; - _sigmaAS[0][1][3] = 0; - _sigmaAM[0][1][0] = -0.00094; - _sigmaAM[0][1][1] = 12.0228; - _sigmaAM[0][1][2] = 536; - _sigmaAM[0][1][3] = 464; - _sigmaBT[0][1][0] = 0.022; - _sigmaBT[0][1][1] = 3.223; - _sigmaBT[0][1][2] = -0.361; - _sigmaBT[0][1][3] = -0.318; - _sigmaBC[0][1][0] = 0.00567264; - _sigmaBC[0][1][1] = -1.184; - _sigmaBC[0][1][2] = 76000; - _sigmaBC[0][1][3] = 2.14748e+08; - _sigmaBS[0][1][0] = 0; - _sigmaBS[0][1][1] = 0; - _sigmaBS[0][1][2] = 0; - _sigmaBS[0][1][3] = 0; - _sigmaBM[0][1][0] = -0.00236; - _sigmaBM[0][1][1] = 5.78; - _sigmaBM[0][1][2] = 166; - _sigmaBM[0][1][3] = 203.5; - _sigmaR9[0][1][0] = -2.94; - _sigmaR9[0][1][1] = 1.53445; - _sigmaR9[0][1][2] = 0; - _sigmaR9[0][1][3] = 0; - - _meanScale[1][0][0] = 0.993921; - _meanScale[1][0][1] = -8.11417e-06; - _meanScale[1][0][2] = 3.23086e-05; - _meanScale[1][0][3] = -0.0976369; - _meanAT[1][0][0] = 0.0691979; - _meanAT[1][0][1] = 0; - _meanAT[1][0][2] = 0; - _meanAT[1][0][3] = 0; - _meanAC[1][0][0] = -0.000310485; - _meanAC[1][0][1] = 0.0169478; - _meanAC[1][0][2] = 1301.97; - _meanAC[1][0][3] = 796.53; - _meanAS[1][0][0] = -0.0005425; - _meanAS[1][0][1] = 0.0676613; - _meanAS[1][0][2] = 790.284; - _meanAS[1][0][3] = 970; - _meanAM[1][0][0] = 0.000134362; - _meanAM[1][0][1] = 0.364822; - _meanAM[1][0][2] = 3396.04; - _meanAM[1][0][3] = 2407.2; - _meanBT[1][0][0] = 0.0456649; - _meanBT[1][0][1] = 0; - _meanBT[1][0][2] = 0; - _meanBT[1][0][3] = 0; - _meanBC[1][0][0] = -0.000356413; - _meanBC[1][0][1] = 0.0167018; - _meanBC[1][0][2] = 1394.52; - _meanBC[1][0][3] = 823.035; - _meanBS[1][0][0] = -0.000484; - _meanBS[1][0][1] = 0.0542618; - _meanBS[1][0][2] = 798.07; - _meanBS[1][0][3] = 1019.88; - _meanBM[1][0][0] = -0.175333; - _meanBM[1][0][1] = -0.00324513; - _meanBM[1][0][2] = 2.87972; - _meanBM[1][0][3] = 7.58712e+12; - _meanR9[1][0][0] = 0.96393; - _meanR9[1][0][1] = 29.6072; - _meanR9[1][0][2] = 334.89; - _meanR9[1][0][3] = 0; - - _sigmaScale[1][0][0] = 0.337911; - _sigmaScale[1][0][1] = 1.03419e-11; - _sigmaScale[1][0][2] = 0.0153846; - _sigmaScale[1][0][3] = 0; - _sigmaAT[1][0][0] = 1.12; - _sigmaAT[1][0][1] = 0; - _sigmaAT[1][0][2] = 0; - _sigmaAT[1][0][3] = 0; - _sigmaAC[1][0][0] = 48.1275; - _sigmaAC[1][0][1] = 1.50005e+08; - _sigmaAC[1][0][2] = 21231.6; - _sigmaAC[1][0][3] = 2.6e+11; - _sigmaAS[1][0][0] = -0.00036952; - _sigmaAS[1][0][1] = 2.75194; - _sigmaAS[1][0][2] = 1045.06; - _sigmaAS[1][0][3] = 1420.87; - _sigmaAM[1][0][0] = 0.05567; - _sigmaAM[1][0][1] = 0.32; - _sigmaAM[1][0][2] = 420; - _sigmaAM[1][0][3] = 12.8233; - _sigmaBT[1][0][0] = -0.22312; - _sigmaBT[1][0][1] = 0; - _sigmaBT[1][0][2] = 0; - _sigmaBT[1][0][3] = 0; - _sigmaBC[1][0][0] = -0.00320087; - _sigmaBC[1][0][1] = 59.2836; - _sigmaBC[1][0][2] = 7.49509e+12; - _sigmaBC[1][0][3] = 1.32714e+07; - _sigmaBS[1][0][0] = 0.000189384; - _sigmaBS[1][0][1] = 2.89111; - _sigmaBS[1][0][2] = 2468.02; - _sigmaBS[1][0][3] = 1294.69; - _sigmaBM[1][0][0] = 0.00154629; - _sigmaBM[1][0][1] = 16.9762; - _sigmaBM[1][0][2] = 1.05e+07; - _sigmaBM[1][0][3] = -9e+06; - _sigmaR9[1][0][0] = 99.68; - _sigmaR9[1][0][1] = -9.37265e-08; - _sigmaR9[1][0][2] = 6.91613e-09; - _sigmaR9[1][0][3] = 0; - - _meanScale[1][1][0] = 0.340125; - _meanScale[1][1][1] = -5.02007e-05; - _meanScale[1][1][2] = 0.000208216; - _meanScale[1][1][3] = -1.32063; - _meanAT[1][1][0] = -0.092494; - _meanAT[1][1][1] = 0; - _meanAT[1][1][2] = 0; - _meanAT[1][1][3] = 0; - _meanAC[1][1][0] = -0.00131984; - _meanAC[1][1][1] = 0.00950668; - _meanAC[1][1][2] = 259.804; - _meanAC[1][1][3] = 705.003; - _meanAS[1][1][0] = -0.00705787; - _meanAS[1][1][1] = -0.00581517; - _meanAS[1][1][2] = 7.10951e+10; - _meanAS[1][1][3] = -68.7322; - _meanAM[1][1][0] = -0.00496966; - _meanAM[1][1][1] = 0.655834; - _meanAM[1][1][2] = 0.0491064; - _meanAM[1][1][3] = 0.0632471; - _meanBT[1][1][0] = -0.158344; - _meanBT[1][1][1] = 0; - _meanBT[1][1][2] = 0; - _meanBT[1][1][3] = 0; - _meanBC[1][1][0] = -0.00498431; - _meanBC[1][1][1] = -18315.4; - _meanBC[1][1][2] = 50760; - _meanBC[1][1][3] = 118612; - _meanBS[1][1][0] = -0.000620577; - _meanBS[1][1][1] = 0.0247672; - _meanBS[1][1][2] = 437.005; - _meanBS[1][1][3] = 374.823; - _meanBM[1][1][0] = 0.000431046; - _meanBM[1][1][1] = 0.0224695; - _meanBM[1][1][2] = -1.06e+07; - _meanBM[1][1][3] = -135.039; - _meanR9[1][1][0] = 0.151826; - _meanR9[1][1][1] = 0.00348896; - _meanR9[1][1][2] = -0.161781; - _meanR9[1][1][3] = 0; - - _sigmaScale[1][1][0] = 1.19993; - _sigmaScale[1][1][1] = 1.38778e-17; - _sigmaScale[1][1][2] = 0.0251314; - _sigmaScale[1][1][3] = 0; - _sigmaAT[1][1][0] = -0.791929; - _sigmaAT[1][1][1] = 0; - _sigmaAT[1][1][2] = 0; - _sigmaAT[1][1][3] = 0; - _sigmaAC[1][1][0] = 0.0015505; - _sigmaAC[1][1][1] = -0.530085; - _sigmaAC[1][1][2] = 33506.7; - _sigmaAC[1][1][3] = -7e+09; - _sigmaAS[1][1][0] = 7.98682e-05; - _sigmaAS[1][1][1] = 0.875124; - _sigmaAS[1][1][2] = 483.102; - _sigmaAS[1][1][3] = 1005.71; - _sigmaAM[1][1][0] = -0.00510653; - _sigmaAM[1][1][1] = 1.05312; - _sigmaAM[1][1][2] = 49.6466; - _sigmaAM[1][1][3] = 7.11474e+12; - _sigmaBT[1][1][0] = -1.30079; - _sigmaBT[1][1][1] = 0; - _sigmaBT[1][1][2] = 0; - _sigmaBT[1][1][3] = 0; - _sigmaBC[1][1][0] = -0.00202301; - _sigmaBC[1][1][1] = 4.19368; - _sigmaBC[1][1][2] = -1.08161e+07; - _sigmaBC[1][1][3] = -6e+09; - _sigmaBS[1][1][0] = 0.00182147; - _sigmaBS[1][1][1] = 0.25995; - _sigmaBS[1][1][2] = 881.576; - _sigmaBS[1][1][3] = 304.891; - _sigmaBM[1][1][0] = -0.0454995; - _sigmaBM[1][1][1] = 7.63845; - _sigmaBM[1][1][2] = 1.9e+09; - _sigmaBM[1][1][3] = 150001; - _sigmaR9[1][1][0] = 5.69741; - _sigmaR9[1][1][1] = -6.23853; - _sigmaR9[1][1][2] = 0; - _sigmaR9[1][1][3] = 0; - - _initialised = true; - } - - if (s == "4_2e") { - _meanScale[0][0][0] = 1.02133; - _meanScale[0][0][1] = -0.000183073; - _meanScale[0][0][2] = 0.000252052; - _meanScale[0][0][3] = 0.300892; - _meanAT[0][0][0] = 0.016876; - _meanAT[0][0][1] = 0; - _meanAT[0][0][2] = 0; - _meanAT[0][0][3] = 0; - _meanAC[0][0][0] = -0.00327969; - _meanAC[0][0][1] = 0.00932112; - _meanAC[0][0][2] = 430.176; - _meanAC[0][0][3] = 440.94; - _meanAS[0][0][0] = 0; - _meanAS[0][0][1] = 0; - _meanAS[0][0][2] = 0; - _meanAS[0][0][3] = 0; - _meanAM[0][0][0] = -0.000876726; - _meanAM[0][0][1] = 0.128953; - _meanAM[0][0][2] = 262.609; - _meanAM[0][0][3] = 204.869; - _meanBT[0][0][0] = 0; - _meanBT[0][0][1] = 0; - _meanBT[0][0][2] = 0; - _meanBT[0][0][3] = 0; - _meanBC[0][0][0] = -0.00316342; - _meanBC[0][0][1] = 0.00801235; - _meanBC[0][0][2] = 552.944; - _meanBC[0][0][3] = 507.239; - _meanBS[0][0][0] = 0; - _meanBS[0][0][1] = 0; - _meanBS[0][0][2] = 0; - _meanBS[0][0][3] = 0; - _meanBM[0][0][0] = -0.00171652; - _meanBM[0][0][1] = 0.0746995; - _meanBM[0][0][2] = 190.606; - _meanBM[0][0][3] = 210.147; - _meanR9[0][0][0] = 0.847311; - _meanR9[0][0][1] = -10.0049; - _meanR9[0][0][2] = 67.613; - _meanR9[0][0][3] = 0; - - _sigmaScale[0][0][0] = 0.345777; - _sigmaScale[0][0][1] = 0.0375747; - _sigmaScale[0][0][2] = -0.00516299; - _sigmaScale[0][0][3] = 0; - _sigmaAT[0][0][0] = 0.994444; - _sigmaAT[0][0][1] = 0; - _sigmaAT[0][0][2] = 0; - _sigmaAT[0][0][3] = 0; - _sigmaAC[0][0][0] = -0.00380373; - _sigmaAC[0][0][1] = -1.00415; - _sigmaAC[0][0][2] = 110274; - _sigmaAC[0][0][3] = -3e+17; - _sigmaAS[0][0][0] = 0; - _sigmaAS[0][0][1] = 0; - _sigmaAS[0][0][2] = 0; - _sigmaAS[0][0][3] = 0; - _sigmaAM[0][0][0] = -0.000881147; - _sigmaAM[0][0][1] = 8.76414; - _sigmaAM[0][0][2] = 455.387; - _sigmaAM[0][0][3] = 412.382; - _sigmaBT[0][0][0] = 0.00578517; - _sigmaBT[0][0][1] = 2.28008; - _sigmaBT[0][0][2] = -3.36e+07; - _sigmaBT[0][0][3] = -152.696; - _sigmaBC[0][0][0] = -0.00161997; - _sigmaBC[0][0][1] = 50513.8; - _sigmaBC[0][0][2] = -1.26888e+07; - _sigmaBC[0][0][3] = 3.75561e+07; - _sigmaBS[0][0][0] = 0; - _sigmaBS[0][0][1] = 0; - _sigmaBS[0][0][2] = 0; - _sigmaBS[0][0][3] = 0; - _sigmaBM[0][0][0] = -0.00168415; - _sigmaBM[0][0][1] = 6.89324; - _sigmaBM[0][0][2] = 272.169; - _sigmaBM[0][0][3] = 315.424; - _sigmaR9[0][0][0] = 0.952571; - _sigmaR9[0][0][1] = 0; - _sigmaR9[0][0][2] = 0; - _sigmaR9[0][0][3] = 0; - - _meanScale[0][1][0] = 0.870259; - _meanScale[0][1][1] = 0.000234598; - _meanScale[0][1][2] = -0.000262422; - _meanScale[0][1][3] = 0.277914; - _meanAT[0][1][0] = 1e-06; - _meanAT[0][1][1] = 0; - _meanAT[0][1][2] = 0; - _meanAT[0][1][3] = 0; - _meanAC[0][1][0] = -0.00324258; - _meanAC[0][1][1] = 0.0209948; - _meanAC[0][1][2] = 167.983; - _meanAC[0][1][3] = 305.464; - _meanAS[0][1][0] = 0.0333341; - _meanAS[0][1][1] = -591.066; - _meanAS[0][1][2] = 1.48079e+11; - _meanAS[0][1][3] = 1.61987e+07; - _meanAM[0][1][0] = -0.000991417; - _meanAM[0][1][1] = 0.121994; - _meanAM[0][1][2] = 367.004; - _meanAM[0][1][3] = 289.22; - _meanBT[0][1][0] = 0; - _meanBT[0][1][1] = 0.187; - _meanBT[0][1][2] = 299.298; - _meanBT[0][1][3] = 428.221; - _meanBC[0][1][0] = -0.00437016; - _meanBC[0][1][1] = 0.00235015; - _meanBC[0][1][2] = 759.85; - _meanBC[0][1][3] = -5018.79; - _meanBS[0][1][0] = -1.2e+08; - _meanBS[0][1][1] = 0.0934286; - _meanBS[0][1][2] = -1.226e-16; - _meanBS[0][1][3] = 11442.2; - _meanBM[0][1][0] = -0.000153536; - _meanBM[0][1][1] = 0.0101487; - _meanBM[0][1][2] = 60.0003; - _meanBM[0][1][3] = -4.4e+08; - _meanR9[0][1][0] = 0.0853634; - _meanR9[0][1][1] = -0.263819; - _meanR9[0][1][2] = 0.200892; - _meanR9[0][1][3] = 0; - - _sigmaScale[0][1][0] = 0.705452; - _sigmaScale[0][1][1] = -0.0781086; - _sigmaScale[0][1][2] = 0.0039561; - _sigmaScale[0][1][3] = 0; - _sigmaAT[0][1][0] = 1.46888; - _sigmaAT[0][1][1] = 0; - _sigmaAT[0][1][2] = 0; - _sigmaAT[0][1][3] = 0; - _sigmaAC[0][1][0] = -0.00537924; - _sigmaAC[0][1][1] = -0.740685; - _sigmaAC[0][1][2] = 1.59714; - _sigmaAC[0][1][3] = 31.9922; - _sigmaAS[0][1][0] = 0; - _sigmaAS[0][1][1] = 0; - _sigmaAS[0][1][2] = 0; - _sigmaAS[0][1][3] = 0; - _sigmaAM[0][1][0] = 0.000163134; - _sigmaAM[0][1][1] = 7.30822; - _sigmaAM[0][1][2] = 632.013; - _sigmaAM[0][1][3] = 373.003; - _sigmaBT[0][1][0] = 0.00253725; - _sigmaBT[0][1][1] = 2.97332; - _sigmaBT[0][1][2] = -0.516548; - _sigmaBT[0][1][3] = -0.50994; - _sigmaBC[0][1][0] = 0.00578715; - _sigmaBC[0][1][1] = -0.473225; - _sigmaBC[0][1][2] = 8363.08; - _sigmaBC[0][1][3] = 2.36808e+19; - _sigmaBS[0][1][0] = 0; - _sigmaBS[0][1][1] = 0; - _sigmaBS[0][1][2] = 0; - _sigmaBS[0][1][3] = 0; - _sigmaBM[0][1][0] = 0.000184199; - _sigmaBM[0][1][1] = 3.82105; - _sigmaBM[0][1][2] = 93.4062; - _sigmaBM[0][1][3] = 95.4072; - _sigmaR9[0][1][0] = 1.20664; - _sigmaR9[0][1][1] = -3.43548; - _sigmaR9[0][1][2] = 0; - _sigmaR9[0][1][3] = 0; - - _meanScale[1][0][0] = 0.966787; - _meanScale[1][0][1] = 4.77112e-05; - _meanScale[1][0][2] = -4.47768e-05; - _meanScale[1][0][3] = 0.0854689; - _meanAT[1][0][0] = 0.0691979; - _meanAT[1][0][1] = 0; - _meanAT[1][0][2] = 0; - _meanAT[1][0][3] = 0; - _meanAC[1][0][0] = -0.000985244; - _meanAC[1][0][1] = 0.0132327; - _meanAC[1][0][2] = 530.13; - _meanAC[1][0][3] = 1008.64; - _meanAS[1][0][0] = -0.000571197; - _meanAS[1][0][1] = 0.0579624; - _meanAS[1][0][2] = 687.722; - _meanAS[1][0][3] = 836.21; - _meanAM[1][0][0] = 0.00052402; - _meanAM[1][0][1] = 0.402941; - _meanAM[1][0][2] = 3615.29; - _meanAM[1][0][3] = 1495.1; - _meanBT[1][0][0] = 0.0456649; - _meanBT[1][0][1] = 0; - _meanBT[1][0][2] = 0; - _meanBT[1][0][3] = 0; - _meanBC[1][0][0] = -0.000675969; - _meanBC[1][0][1] = 0.0118283; - _meanBC[1][0][2] = 1050.1; - _meanBC[1][0][3] = 1329.8; - _meanBS[1][0][0] = -0.000254569; - _meanBS[1][0][1] = 0.0576783; - _meanBS[1][0][2] = 853.571; - _meanBS[1][0][3] = 938.698; - _meanBM[1][0][0] = -0.186506; - _meanBM[1][0][1] = -0.00654349; - _meanBM[1][0][2] = 1.09286; - _meanBM[1][0][3] = -5.8e+08; - _meanR9[1][0][0] = 0.951164; - _meanR9[1][0][1] = -0.323083; - _meanR9[1][0][2] = 506.054; - _meanR9[1][0][3] = 0; - - _sigmaScale[1][0][0] = 0.443288; - _sigmaScale[1][0][1] = 1.73472e-18; - _sigmaScale[1][0][2] = 0.0134633; - _sigmaScale[1][0][3] = 0; - _sigmaAT[1][0][0] = 6.60294; - _sigmaAT[1][0][1] = 0; - _sigmaAT[1][0][2] = 0; - _sigmaAT[1][0][3] = 0; - _sigmaAC[1][0][0] = 48.1275; - _sigmaAC[1][0][1] = 1.50005e+08; - _sigmaAC[1][0][2] = 21231.6; - _sigmaAC[1][0][3] = 2.6e+11; - _sigmaAS[1][0][0] = 0.000112234; - _sigmaAS[1][0][1] = 2.38201; - _sigmaAS[1][0][2] = 1368.36; - _sigmaAS[1][0][3] = 1014.58; - _sigmaAM[1][0][0] = 0.0227945; - _sigmaAM[1][0][1] = 1.35035; - _sigmaAM[1][0][2] = 34.8078; - _sigmaAM[1][0][3] = 41.2653; - _sigmaBT[1][0][0] = 4.6512; - _sigmaBT[1][0][1] = 0; - _sigmaBT[1][0][2] = 0; - _sigmaBT[1][0][3] = 0; - _sigmaBC[1][0][0] = -0.00385034; - _sigmaBC[1][0][1] = 9860.11; - _sigmaBC[1][0][2] = 7.49509e+12; - _sigmaBC[1][0][3] = 5.55794e+07; - _sigmaBS[1][0][0] = 0.000287389; - _sigmaBS[1][0][1] = 2.22754; - _sigmaBS[1][0][2] = 2066.43; - _sigmaBS[1][0][3] = 926.247; - _sigmaBM[1][0][0] = 0.00110983; - _sigmaBM[1][0][1] = 4.70582; - _sigmaBM[1][0][2] = 8.47552e+10; - _sigmaBM[1][0][3] = -4572.21; - _sigmaR9[1][0][0] = 141.283; - _sigmaR9[1][0][1] = -6.07621e-07; - _sigmaR9[1][0][2] = 1.40907e-08; - _sigmaR9[1][0][3] = 0; - - _meanScale[1][1][0] = 0.290862; - _meanScale[1][1][1] = -5.93303e-05; - _meanScale[1][1][2] = 0.000431058; - _meanScale[1][1][3] = 0.350738; - _meanAT[1][1][0] = -0.092494; - _meanAT[1][1][1] = 0; - _meanAT[1][1][2] = 0; - _meanAT[1][1][3] = 0; - _meanAC[1][1][0] = -0.00105099; - _meanAC[1][1][1] = 0.0195863; - _meanAC[1][1][2] = 162.87; - _meanAC[1][1][3] = 259.479; - _meanAS[1][1][0] = -0.00820192; - _meanAS[1][1][1] = -0.00404515; - _meanAS[1][1][2] = -9e+12; - _meanAS[1][1][3] = -12.1537; - _meanAM[1][1][0] = 0.00430129; - _meanAM[1][1][1] = 0.647006; - _meanAM[1][1][2] = 0.0524654; - _meanAM[1][1][3] = 0.057336; - _meanBT[1][1][0] = -0.158344; - _meanBT[1][1][1] = 0; - _meanBT[1][1][2] = 0; - _meanBT[1][1][3] = 0; - _meanBC[1][1][0] = -0.00661496; - _meanBC[1][1][1] = -0.0551321; - _meanBC[1][1][2] = 1286.49; - _meanBC[1][1][3] = 118612; - _meanBS[1][1][0] = -0.000517633; - _meanBS[1][1][1] = 0.0294134; - _meanBS[1][1][2] = 414.964; - _meanBS[1][1][3] = 487.294; - _meanBM[1][1][0] = 0.00298075; - _meanBM[1][1][1] = 0.0146853; - _meanBM[1][1][2] = -7.17525e+06; - _meanBM[1][1][3] = 41.9253; - _meanR9[1][1][0] = 0.213804; - _meanR9[1][1][1] = -0.395466; - _meanR9[1][1][2] = 0.202973; - _meanR9[1][1][3] = 0; - - _sigmaScale[1][1][0] = 1.29656; - _sigmaScale[1][1][1] = 9.61084e-11; - _sigmaScale[1][1][2] = 0.0270649; - _sigmaScale[1][1][3] = 0; - _sigmaAT[1][1][0] = -0.0115339; - _sigmaAT[1][1][1] = 0; - _sigmaAT[1][1][2] = 0; - _sigmaAT[1][1][3] = 0; - _sigmaAC[1][1][0] = 0.0013797; - _sigmaAC[1][1][1] = -0.445789; - _sigmaAC[1][1][2] = 29539.8; - _sigmaAC[1][1][3] = -3.6e+08; - _sigmaAS[1][1][0] = 0.000213606; - _sigmaAS[1][1][1] = 0.547654; - _sigmaAS[1][1][2] = 892.47; - _sigmaAS[1][1][3] = 408.826; - _sigmaAM[1][1][0] = -0.00121353; - _sigmaAM[1][1][1] = 1.10052; - _sigmaAM[1][1][2] = 31.303; - _sigmaAM[1][1][3] = 80.0479; - _sigmaBT[1][1][0] = 0.470361; - _sigmaBT[1][1][1] = 0; - _sigmaBT[1][1][2] = 0; - _sigmaBT[1][1][3] = 0; - _sigmaBC[1][1][0] = -0.00222463; - _sigmaBC[1][1][1] = 18440.6; - _sigmaBC[1][1][2] = 5.80805e+07; - _sigmaBC[1][1][3] = -4.43323e+17; - _sigmaBS[1][1][0] = 0.00156455; - _sigmaBS[1][1][1] = 0.337173; - _sigmaBS[1][1][2] = 281.318; - _sigmaBS[1][1][3] = 252.457; - _sigmaBM[1][1][0] = -0.0455886; - _sigmaBM[1][1][1] = 1.47875; - _sigmaBM[1][1][2] = 1.9e+09; - _sigmaBM[1][1][3] = 1193.93; - _sigmaR9[1][1][0] = 8.89993; - _sigmaR9[1][1][1] = -9.8386; - _sigmaR9[1][1][2] = 0; - _sigmaR9[1][1][3] = 0; - - _initialised = true; - } - - assert(_initialised); - return true; -} - -// Get the geometry of cracks and gaps from file -bool PhotonFix::initialiseGeometry(const std::string &s) { - std::ifstream fin("../test/PhotonFix.dat"); - assert(fin); - - std::cout << "Reading in here" << std::endl; - for (unsigned i(0); i < 169; i++) { - for (unsigned j(0); j < 360; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _barrelCGap[i][j][k]; - } - } - } - - for (unsigned i(0); i < 33; i++) { - for (unsigned j(0); j < 180; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _barrelSGap[i][j][k]; - } - } - } - - for (unsigned i(0); i < 7; i++) { - for (unsigned j(0); j < 18; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _barrelMGap[i][j][k]; - } - } - } - for (unsigned i(0); i < 100; i++) { - for (unsigned j(0); j < 100; j++) { - unsigned k; - fin >> k; - _endcapCrystal[i][j] = (k == 0); - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 7080; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _endcapCGap[i][j][k]; - } - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 264; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _endcapSGap[i][j][k]; - } - } - } - - for (unsigned i(0); i < 2; i++) { - for (unsigned j(0); j < 1; j++) { - for (unsigned k(0); k < 2; k++) { - fin >> _endcapMGap[i][j][k]; - } - } - } - - assert(fin); - - return true; -} - -const double PhotonFix::_onePi(acos(-1.0)); -const double PhotonFix::_twoPi(2.0 * acos(-1.0)); - -bool PhotonFix::_initialised = false; - -double PhotonFix::_meanScale[2][2][4]; -double PhotonFix::_meanAT[2][2][4]; -double PhotonFix::_meanAC[2][2][4]; -double PhotonFix::_meanAS[2][2][4]; -double PhotonFix::_meanAM[2][2][4]; -double PhotonFix::_meanBT[2][2][4]; -double PhotonFix::_meanBC[2][2][4]; -double PhotonFix::_meanBS[2][2][4]; -double PhotonFix::_meanBM[2][2][4]; -double PhotonFix::_meanR9[2][2][4]; - -double PhotonFix::_sigmaScale[2][2][4]; -double PhotonFix::_sigmaAT[2][2][4]; -double PhotonFix::_sigmaAC[2][2][4]; -double PhotonFix::_sigmaAS[2][2][4]; -double PhotonFix::_sigmaAM[2][2][4]; -double PhotonFix::_sigmaBT[2][2][4]; -double PhotonFix::_sigmaBC[2][2][4]; -double PhotonFix::_sigmaBS[2][2][4]; -double PhotonFix::_sigmaBM[2][2][4]; -double PhotonFix::_sigmaR9[2][2][4]; - -double PhotonFix::_barrelCGap[169][360][2]; -double PhotonFix::_barrelSGap[33][180][2]; -double PhotonFix::_barrelMGap[7][18][2]; - -bool PhotonFix::_endcapCrystal[100][100]; -double PhotonFix::_endcapCGap[2][7080][2]; -double PhotonFix::_endcapSGap[2][264][2]; -double PhotonFix::_endcapMGap[2][1][2]; diff --git a/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFixCMS.cc b/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFixCMS.cc deleted file mode 100644 index e6e793e37c53c..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/src/PhotonFixCMS.cc +++ /dev/null @@ -1,172 +0,0 @@ -#include -#include -#include -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/DetId/interface/DetId.h" -#include "Geometry/Records/interface/CaloGeometryRecord.h" -#include "Geometry/Records/interface/EcalBarrelGeometryRecord.h" -#include "Geometry/EcalAlgo/interface/EcalBarrelGeometry.h" -#include "Geometry/Records/interface/EcalEndcapGeometryRecord.h" -#include "Geometry/EcalAlgo/interface/EcalEndcapGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/TruncatedPyramid.h" -#include "DataFormats/EgammaReco/interface/SuperCluster.h" - -#include "HiggsAnalysis/HiggsToGammaGamma/interface/PhotonFixCMS.h" - -PhotonFixCMS::PhotonFixCMS(const reco::Photon &p) - : pf(p.energy(), p.superCluster()->eta(), p.superCluster()->phi(), p.r9()) {} - -bool PhotonFixCMS::initialise(const edm::EventSetup &iSetup, const std::string &s) { - if (PhotonFix::initialised()) - return false; - - PhotonFix::initialiseParameters(s); - - // Get ECAL geometry - edm::ESHandle geoHandle; - iSetup.get().get(geoHandle); - const CaloGeometry &geometry = *geoHandle; - - // EB - const CaloSubdetectorGeometry *barrelGeometry = geometry.getSubdetectorGeometry(DetId::Ecal, EcalBarrel); - - double bc[170][360][2]; - for (int iz(0); iz < 2; iz++) { - for (int ie(0); ie < 85; ie++) { - int id = ie + 1; - if (iz == 0) - id = ie - 85; - for (int ip(0); ip < 360; ip++) { - EBDetId eb(id, ip + 1); - - auto cellGeometry = barrelGeometry->getGeometry(eb); - const GlobalPoint &crystalPos = cellGeometry->getPosition(); - bc[85 * iz + ie][ip][0] = crystalPos.eta(); - bc[85 * iz + ie][ip][1] = crystalPos.phi(); - } - } - } - - for (unsigned i(0); i < 169; i++) { - for (unsigned j(0); j < 360; j++) { - unsigned k((j + 1) % 360); - - double eta = 0.25 * (bc[i][j][0] + bc[i + 1][j][0] + bc[i][k][0] + bc[i + 1][k][0]); - double phi = PhotonFix::GetaPhi(PhotonFix::GetaPhi(bc[i][j][1], bc[i + 1][j][1]), - PhotonFix::GetaPhi(bc[i][k][1], bc[i + 1][k][1])); - - PhotonFix::barrelCGap(i, j, 0, eta); - PhotonFix::barrelCGap(i, j, 1, phi); - - if ((i % 5) == 4 && (j % 2) == 1) { - PhotonFix::barrelSGap(i / 5, j / 2, 0, eta); - PhotonFix::barrelSGap(i / 5, j / 2, 1, phi); - } - - if ((j % 20) == 19) { - if (i == 19) { - PhotonFix::barrelMGap(0, j / 20, 0, eta); - PhotonFix::barrelMGap(0, j / 20, 1, phi); - } - if (i == 39) { - PhotonFix::barrelMGap(1, j / 20, 0, eta); - PhotonFix::barrelMGap(1, j / 20, 1, phi); - } - if (i == 59) { - PhotonFix::barrelMGap(2, j / 20, 0, eta); - PhotonFix::barrelMGap(2, j / 20, 1, phi); - } - if (i == 84) { - PhotonFix::barrelMGap(3, j / 20, 0, eta); - PhotonFix::barrelMGap(3, j / 20, 1, phi); - } - if (i == 109) { - PhotonFix::barrelMGap(4, j / 20, 0, eta); - PhotonFix::barrelMGap(4, j / 20, 1, phi); - } - if (i == 129) { - PhotonFix::barrelMGap(5, j / 20, 0, eta); - PhotonFix::barrelMGap(5, j / 20, 1, phi); - } - if (i == 149) { - PhotonFix::barrelMGap(6, j / 20, 0, eta); - PhotonFix::barrelMGap(6, j / 20, 1, phi); - } - } - } - } - - // EE - const CaloSubdetectorGeometry *endcapGeometry = geometry.getSubdetectorGeometry(DetId::Ecal, EcalEndcap); - - double ec[2][100][100][2]; - bool valid[100][100]; - int val_count = 0; - for (int iz(0); iz < 2; iz++) { - for (int ix(0); ix < 100; ix++) { - for (int iy(0); iy < 100; iy++) { - valid[ix][iy] = EEDetId::validDetId(ix + 1, iy + 1, 2 * iz - 1); - if (iz == 0) - PhotonFix::endcapCrystal(ix, iy, valid[ix][iy]); - if (valid[ix][iy]) { - EEDetId ee(ix + 1, iy + 1, 2 * iz - 1); - val_count += 1; - - auto cellGeometry = endcapGeometry->getGeometry(ee); - const GlobalPoint &crystalPos = cellGeometry->getPosition(); - ec[iz][ix][iy][0] = asinh(crystalPos.x() / fabs(crystalPos.z())); - ec[iz][ix][iy][1] = asinh(crystalPos.y() / fabs(crystalPos.z())); - } - } - } - } - std::cout << "GG valid " << val_count << std::endl; - double c[2]; - for (unsigned iz(0); iz < 2; iz++) { - unsigned nC(0), nS(0); - for (unsigned i(0); i < 99; i++) { - for (unsigned j(0); j < 99; j++) { - if (valid[i][j] && valid[i + 1][j] && valid[i][j + 1] && valid[i + 1][j + 1]) { - for (unsigned k(0); k < 2; k++) { - c[k] = 0.25 * (ec[iz][i][j][k] + ec[iz][i + 1][j][k] + ec[iz][i][j + 1][k] + ec[iz][i + 1][j + 1][k]); - - PhotonFix::endcapCGap(iz, nC, k, c[k]); - } - - if ((i % 5) == 4 && (j % 5) == 4) { - for (unsigned k(0); k < 2; k++) { - PhotonFix::endcapSGap(iz, nS, k, c[k]); - } - nS++; - } - nC++; - } - } - } - std::cout << "Endcap number of crystal, submodule boundaries = " << nC << ", " << nS << std::endl; - } - - // Hardcode EE D-module gap to 0,0 - PhotonFix::endcapMGap(0, 0, 0, 0.0); - PhotonFix::endcapMGap(0, 0, 1, 0.0); - PhotonFix::endcapMGap(1, 0, 0, 0.0); - PhotonFix::endcapMGap(1, 0, 1, 0.0); - - return true; -} - -double PhotonFixCMS::fixedEnergy() const { return pf.fixedEnergy(); } - -double PhotonFixCMS::sigmaEnergy() const { return pf.sigmaEnergy(); } - -const PhotonFix &PhotonFixCMS::photonFix() const { return pf; } diff --git a/HiggsAnalysis/HiggsToGammaGamma/test/PhotonFix.dat b/HiggsAnalysis/HiggsToGammaGamma/test/PhotonFix.dat deleted file mode 100644 index 13c61d207dfd0..0000000000000 --- a/HiggsAnalysis/HiggsToGammaGamma/test/PhotonFix.dat +++ /dev/null @@ -1,173192 +0,0 @@ --1.46862989664 --0.15601734072 --1.46860229969 --0.138757757842 --1.46857792139 --0.121498476714 --1.46855676174 --0.104239817709 --1.46853888035 --0.0869813524186 --1.46852421761 --0.0697233742103 --1.46851277351 --0.0524654565379 --1.46850457787 --0.0352079104632 --1.46849957109 --0.0179503036197 --1.46849781275 --0.000692945672197 --1.46849936247 -0.0165645941161 --1.46850413084 -0.0338220098056 --1.46851202846 -0.0510797258466 --1.46852326393 -0.0683374460786 --1.46853777766 -0.0855955947191 --1.46855551004 -0.102853864431 --1.46857640147 -0.120112676173 --1.46860057116 -0.137371733785 --1.46862789989 -0.154631458223 --1.46864336729 -0.173840790987 --1.46862989664 -0.1930485107 --1.46860229969 -0.210308093577 --1.46857795119 -0.22756736353 --1.46855682134 -0.24482601881 --1.46853888034 -0.262084484101 --1.4685241878 -0.279342472553 --1.46851274371 -0.296600401402 --1.46850451827 -0.31385795027 --1.46849954128 -0.331115543843 --1.46849781275 -0.348372891545 --1.46849930286 -0.365630432963 --1.46850410104 -0.382887855172 --1.46851211787 -0.400145582855 --1.46852332354 -0.417403303087 --1.46853777766 -0.434661440551 --1.46855551004 -0.451919712126 --1.46857640147 -0.469178535044 --1.46860057116 -0.48643759638 --1.46862789989 -0.503697313368 --1.46864339709 -0.522906631231 --1.46862992644 -0.542114362121 --1.46860232949 -0.559373959899 --1.46857795119 -0.576633229852 --1.46855679154 -0.593891888857 --1.46853891015 -0.611150354147 --1.46852421761 -0.6284083426 --1.46851274371 -0.645666256547 --1.46850451827 -0.662923797965 --1.46849957108 -0.680181398988 --1.46849787235 -0.697438746691 --1.46849936247 -0.714696288109 --1.46850410104 -0.731953710318 --1.46851208806 -0.74921143055 --1.46852335334 -0.76646913588 --1.46853780746 -0.783727273345 --1.46855551004 -0.800985559821 --1.46857640147 -0.818244382739 --1.46860057116 -0.835503429175 --1.46862792969 -0.852763161063 --1.46864339709 -0.871972501278 --1.46862989664 -0.891180217266 --1.46860232949 -0.908439800143 --1.46857795119 -0.925699070096 --1.46855679154 -0.942957744002 --1.46853888034 -0.960216209293 --1.4685242176 -0.977474167943 --1.46851277351 -0.99473206699 --1.46850451827 -1.01198962331 --1.46849957108 -1.02924725413 --1.46849787235 -1.04650461674 --1.46849936247 -1.06376215816 --1.46850410104 -1.08101958036 --1.46851208806 -1.09827730059 --1.46852332354 -1.11553499103 --1.46853777766 -1.13279312849 --1.46855551004 -1.15005141497 --1.46857640147 -1.16731023789 --1.46860057116 -1.18456932903 --1.46862789989 -1.20182904601 --1.46864336729 -1.22103834152 --1.46862989664 -1.24024602771 --1.46860229969 -1.25750562548 --1.46857792139 -1.27476492524 --1.46855679154 -1.29202356934 --1.46853888034 -1.30928203464 --1.4685241878 -1.32654002309 --1.46851274371 -1.34379795194 --1.46850454807 -1.36105549336 --1.46849960089 -1.37831309438 --1.46849787235 -1.39557045698 --1.46849936247 -1.4128279984 --1.46850413084 -1.43008542061 --1.46851211787 -1.44734314084 --1.46852332354 -1.46460083127 --1.46853774786 -1.48185896874 --1.46855548024 -1.49911725521 --1.46857643127 -1.51637604832 --1.46860060096 -1.53363510966 --1.46862795949 -1.55089488626 --1.4686434567 -1.57010424137 --1.46862989664 -1.58931192755 --1.46860229969 -1.60657146573 --1.46857795119 -1.62383076548 --1.46855682134 -1.64108946919 --1.46853896975 -1.65834793449 --1.46852427721 -1.67560589313 --1.46851277351 -1.69286379218 --1.46850451827 -1.7101213336 --1.46849954128 -1.72737893462 --1.46849784255 -1.74463629723 --1.46849936247 -1.76189383864 --1.46850413084 -1.77915126085 --1.46851211787 -1.79640898108 --1.46852332354 -1.81366670131 --1.46853777766 -1.83092483878 --1.46855553985 -1.84818312526 --1.46857643127 -1.86544194817 --1.46860054135 -1.88270100951 --1.46862787009 -1.8999607265 --1.46864336729 -1.91917002201 --1.46862989664 -1.9383777678 --1.46860232949 -1.95563736558 --1.46857795119 -1.97289660573 --1.46855679154 -1.99015524983 --1.46853888034 -2.00741371513 --1.4685242176 -2.02467173338 --1.46851277351 -2.04192966222 --1.46850451827 -2.05918717385 --1.46849954128 -2.07644474507 --1.46849784255 -2.09370213747 --1.46849936247 -2.11095970869 --1.46850410104 -2.1282171607 --1.46851208806 -2.14547485113 --1.46852332354 -2.16273254156 --1.46853777766 -2.17999070883 --1.46855551004 -2.1972489953 --1.46857640147 -2.21450781822 --1.46860057116 -2.23176681995 --1.46862792969 -2.24902653694 --1.46864339709 -2.26823586226 --1.46862989664 -2.28744357824 --1.46860232949 -2.30470317602 --1.46857798099 -2.32196247578 --1.46855682134 -2.33922117949 --1.46853888034 -2.35647964477 --1.4685241878 -2.37373757362 --1.46851274371 -2.39099544286 --1.46850454807 -2.40825301409 --1.46849957109 -2.42551070452 --1.46849787235 -2.44276803732 --1.46849939227 -2.46002548933 --1.46850413084 -2.47728294134 --1.46851211787 -2.49454069138 --1.46852332354 -2.51179838181 --1.46853777766 -2.52905648947 --1.46855551004 -2.54631477594 --1.46857640147 -2.56357365846 --1.46860057116 -2.5808327198 --1.46862789989 -2.59809243679 --1.46864333749 -2.6173017621 --1.46862986684 -2.63650947809 --1.46860229969 -2.65376907587 --1.46857792139 -2.67102831602 --1.46855679154 -2.68828696012 --1.46853888034 -2.70554548502 --1.4685241878 -2.72280347347 --1.46851274371 -2.74006140232 --1.46850451827 -2.75731891393 --1.46849957108 -2.77457648515 --1.46849784255 -2.79183381796 --1.46849933267 -2.80909132958 --1.46850410104 -2.82634878159 --1.46851208806 -2.84360653162 --1.46852332354 -2.86086422205 --1.46853777766 -2.87812238932 --1.46855553985 -2.89538067579 --1.46857643127 -2.9126394391 --1.46860054135 -2.92989856004 --1.46862789989 -2.94715833664 --1.46864339709 -2.96636766195 --1.46862989664 -2.98557531834 --1.46860229969 -3.00283485651 --1.46857792139 -3.02009415626 --1.46855676174 -3.03735280037 --1.46853888035 -3.05461126566 --1.46852421761 -3.07186931372 --1.46851277351 -3.08912724257 --1.46850457787 -3.10638475418 --1.46849957109 -3.1236423254 --1.46849781275 -3.14089968999 --1.46849936247 --3.12502801418 --1.46850413084 --3.10777062178 --1.46851202846 --3.09051293135 --1.46852326393 --3.07325524092 --1.46853777766 --3.05599707365 --1.46855551004 --3.03873878717 --1.46857640147 --3.02148002386 --1.46860057116 --3.00422090292 --1.46862789989 --2.98696118593 --1.46864336729 --2.96775186062 --1.46862989664 --2.94854414463 --1.46860229969 --2.93128460646 --1.46857795119 --2.9140253067 --1.46855682134 --2.8967666626 --1.46853888034 --2.87950819731 --1.4685241878 --2.86225014925 --1.46851274371 --2.8449922204 --1.46850451827 --2.82773470878 --1.46849954128 --2.81047713756 --1.46849781275 --2.79321974516 --1.46849930286 --2.77596217394 --1.46850410104 --2.75870484114 --1.46851211787 --2.74144715071 --1.46852332354 --2.72418934107 --1.46853777766 --2.7069311738 --1.46855551004 --2.68967294693 --1.46857640147 --2.67241412401 --1.46860057116 --2.65515506268 --1.46862789989 --2.63789534569 --1.46864339709 --2.61868602038 --1.46862992644 --2.59947824478 --1.46860232949 --2.582218647 --1.46857795119 --2.56495940685 --1.46855679154 --2.54770076275 --1.46853891015 --2.53044235706 --1.46852421761 --2.51318436861 --1.46851274371 --2.49592643976 --1.46850451827 --2.47866886854 --1.46849957108 --2.46141123772 --1.46849787235 --2.44415390491 --1.46849936247 --2.4268963933 --1.46850410104 --2.40963894129 --1.46851208806 --2.39238119126 --1.46852335334 --2.37512350083 --1.46853780746 --2.35786539316 --1.46855551004 --2.34060710668 --1.46857640147 --2.32334822417 --1.46860057116 --2.30608922243 --1.46862792969 --2.28882950544 --1.46864339709 --2.26962012052 --1.46862989664 --2.25041240454 --1.46860232949 --2.23315286636 --1.46857795119 --2.21589362621 --1.46855679154 --2.1986349225 --1.46853888034 --2.18137639761 --1.4685242176 --2.16411846876 --1.46851277351 --2.14686059952 --1.46850451827 --2.1296030283 --1.46849957108 --2.11234539747 --1.46849787235 --2.09508806467 --1.46849936247 --2.07783055306 --1.46850410104 --2.06057310105 --1.46851208806 --2.04331535101 --1.46852332354 --2.02605766058 --1.46853777766 --2.00879955292 --1.46855551004 --1.99154126644 --1.46857640147 --1.97428244352 --1.46860057116 --1.95702338219 --1.46862789989 --1.9397636354 --1.46864336729 --1.92055428028 --1.46862989664 --1.9013465941 --1.46860229969 --1.88408699632 --1.46857792139 --1.86682769656 --1.46855679154 --1.84956905246 --1.46853888034 --1.83231058717 --1.4685241878 --1.81505259872 --1.46851274371 --1.79779469967 --1.46850454807 --1.78053715825 --1.46849960089 --1.76327955723 --1.46849787235 --1.74602222443 --1.46849936247 --1.72876468301 --1.46850413084 --1.7115072608 --1.46851211787 --1.69424954057 --1.46852332354 --1.67699182034 --1.46853774786 --1.65973368287 --1.46855548024 --1.6424753964 --1.46857643127 --1.62521657348 --1.46860060096 --1.60795751214 --1.46862795949 --1.59069779515 --1.4686434567 --1.57148849964 --1.46862989664 --1.55228075385 --1.46860229969 --1.53502115607 --1.46857795119 --1.51776191592 --1.46855682134 --1.50050324202 --1.46853896975 --1.48324474693 --1.46852427721 --1.46598678827 --1.46851277351 --1.44872888923 --1.46850451827 --1.43147131801 --1.46849954128 --1.41421368718 --1.46849784255 --1.39695632458 --1.46849936247 --1.37969878316 --1.46850413084 --1.36244139075 --1.46851211787 --1.34518370032 --1.46852332354 --1.32792598009 --1.46853777766 --1.31066781283 --1.46855553985 --1.29340955615 --1.46857643127 --1.27615073323 --1.46860054135 --1.2588916719 --1.46862787009 --1.24163195491 --1.46864336729 --1.22242259979 --1.46862989664 --1.20321491361 --1.46860232949 --1.18595531583 --1.46857795119 --1.16869601607 --1.46855679154 --1.15143737197 --1.46853888034 --1.13417890668 --1.4685242176 --1.11692091823 --1.46851277351 --1.09966298938 --1.46850451827 --1.08240544796 --1.46849954128 --1.06514787674 --1.46849784255 --1.04789054394 --1.46849936247 --1.03063297272 --1.46850410104 --1.0133755207 --1.46851208806 --0.996117815374 --1.46852332354 --0.978860110045 --1.46853777766 --0.961601942778 --1.46855551004 --0.944343656301 --1.46857640147 --0.927084878087 --1.46860057116 --0.909825831652 --1.46862792969 --0.892566084862 --1.46864339709 --0.873356759548 --1.46862989664 --0.854149058461 --1.46860232949 --0.836889475584 --1.46857798099 --0.819630205631 --1.46855682134 --0.802371531725 --1.46853888034 --0.785113036633 --1.4685241878 --0.767855063081 --1.46851274371 --0.750597164035 --1.46850454807 --0.733339607715 --1.46849957109 --0.716081991792 --1.46849787235 --0.698824644089 --1.46849939227 --0.681567102671 --1.46850413084 --0.664309695363 --1.46851211787 --0.647051975131 --1.46852332354 --0.629794254899 --1.46853777766 --0.612536117434 --1.46855551004 --0.59527784586 --1.46857640147 --0.578019022942 --1.46860057116 --0.560759946704 --1.46862789989 --0.543500214815 --1.46864333749 --0.524290904403 --1.46862986684 --0.505083210766 --1.46860229969 --0.487823605538 --1.46857792139 --0.470564328134 --1.46855679154 --0.45330568403 --1.46853888034 --0.436047203839 --1.4685241878 --0.418789222837 --1.46851274371 --0.40153130889 --1.46850451827 --0.384273760021 --1.46849957108 --0.367016166448 --1.46849784255 --0.349758811295 --1.46849933267 --0.332501254975 --1.46850410104 --0.315243832767 --1.46851208806 --0.297986119986 --1.46852332354 --0.280728399754 --1.46853777766 --0.263470247388 --1.46855553985 --0.246211990714 --1.46857643127 --0.228953186423 --1.46860054135 --0.211694110185 --1.46862789989 --0.194434378296 --1.46864339709 --0.175225049257 --1.45152050256 --0.156015470624 --1.45149305463 --0.138755898923 --1.45146879554 --0.121496632695 --1.45144769549 --0.104237979278 --1.4514298737 --0.0869795158505 --1.45141524076 --0.0697215422987 --1.45140382648 --0.0524636311456 --1.45139566064 --0.0352060929872 --1.45139068365 --0.0179484942928 --1.45138895512 --0.000691143563018 --1.45139050484 -0.0165663890075 --1.45139527321 -0.0338237984106 --1.45140314103 -0.0510815083981 --1.45141431689 -0.0683392193168 --1.45142877102 -0.0855973605067 --1.45144644379 -0.102855622768 --1.45146727562 -0.12011442706 --1.4514913559 -0.137373477221 --1.45151859522 -0.154633197933 --1.45153400302 -0.173842597753 --1.45152056217 -0.193050377071 --1.45149308443 -0.210309952497 --1.45146879554 -0.227569215 --1.45144772529 -0.24482787028 --1.4514298737 -0.262086331845 --1.45141524076 -0.279344305396 --1.45140382647 -0.296602219343 --1.45139563084 -0.313859760761 --1.45139068365 -0.331117354333 --1.45138895512 -0.348374694586 --1.45139044523 -0.365632228553 --1.4513951838 -0.382889643311 --1.45140314103 -0.400147356093 --1.4514143467 -0.417405068875 --1.45142877102 -0.434663206339 --1.45144644379 -0.451921463013 --1.45146727562 -0.469180271029 --1.4514913559 -0.486439332366 --1.45151859522 -0.503699071705 --1.45153400302 -0.522908464074 --1.45152053237 -0.542116239667 --1.45149305463 -0.559375807643 --1.45146879554 -0.576635062695 --1.45144772529 -0.593893721699 --1.4514299035 -0.61115218699 --1.45141527056 -0.628410175443 --1.45140382647 -0.645668074489 --1.45139563084 -0.662925601006 --1.45139068365 -0.68018321693 --1.45138895512 -0.697440564633 --1.45139044523 -0.714698091149 --1.45139521361 -0.731955513358 --1.45140317083 -0.749213218689 --1.4514143765 -0.766470909119 --1.45142880082 -0.783729046583 --1.45144644379 -0.800987318158 --1.45146724581 -0.818246141076 --1.45149132609 -0.835505187512 --1.45151859522 -0.852764889598 --1.45153400302 -0.871974304318 --1.45152053237 -0.891182079911 --1.45149305463 -0.908441647887 --1.45146879554 -0.92570091784 --1.45144772529 -0.942959576845 --1.4514298737 -0.960218042135 --1.45141521096 -0.977476000786 --1.45140379668 -0.994733899831 --1.45139563084 -1.01199144125 --1.45139068365 -1.02924907207 --1.45138898492 -1.04650643468 --1.45139050483 -1.06376394629 --1.45139521361 -1.0810213685 --1.45140314103 -1.09827908873 --1.4514143765 -1.11553677916 --1.45142880082 -1.13279491663 --1.45144644379 -1.15005320311 --1.45146727562 -1.16731199622 --1.4514913559 -1.18457105756 --1.45151859522 -1.20183077455 --1.45153400302 -1.22104012966 --1.45152053237 -1.24024790525 --1.45149302482 -1.25750750303 --1.45146876574 -1.27476677298 --1.45144772529 -1.29202541709 --1.4514298737 -1.30928388238 --1.45141521096 -1.32654187084 --1.45140379668 -1.34379979968 --1.45139563084 -1.3610573113 --1.45139068365 -1.37831488252 --1.45138898492 -1.39557224512 --1.45139047503 -1.41282978654 --1.45139521361 -1.43008720875 --1.45140317083 -1.44734492898 --1.4514143467 -1.46460261941 --1.45142877102 -1.48186075687 --1.45144644379 -1.49911901355 --1.45146727562 -1.51637780666 --1.4514913559 -1.533636868 --1.45151862502 -1.55089661479 --1.45153403282 -1.57010602951 --1.45152056217 -1.5893137753 --1.45149308443 -1.60657331347 --1.45146879554 -1.62383261323 --1.4514477551 -1.64109131694 --1.45142993331 -1.65834978223 --1.45141527056 -1.67560771108 --1.45140382647 -1.69286558032 --1.45139560103 -1.71012315154 --1.45139065385 -1.72738078237 --1.45138895512 -1.74463811517 --1.45139044523 -1.76189562678 --1.45139521361 -1.77915304899 --1.45140317083 -1.79641076922 --1.4514143765 -1.81366845965 --1.45142880082 -1.83092659712 --1.4514464736 -1.8481848836 --1.45146730542 -1.86544367671 --1.45149132609 -1.88270273805 --1.45151856542 -1.89996245503 --1.45153400302 -1.91917183995 --1.45152053237 -1.93837964534 --1.45149305463 -1.95563921332 --1.45146879554 -1.97289845347 --1.45144772529 -1.99015709758 --1.4514298737 -2.00741556287 --1.45141524076 -2.02467352152 --1.45140382647 -2.04193145037 --1.45139563084 -2.05918902159 --1.45139068365 -2.07644659281 --1.45138895512 -2.09370392561 --1.45139044523 -2.11096149683 --1.45139521361 -2.12821894884 --1.45140317083 -2.14547663927 --1.4514143467 -2.1627343297 --1.45142877102 -2.17999249697 --1.45144644379 -2.19725078344 --1.45146724581 -2.21450954676 --1.45149132609 -2.23176854849 --1.45151859522 -2.24902826548 --1.45153400302 -2.26823771 --1.45152053237 -2.2874455452 --1.45149305463 -2.30470508337 --1.45146879554 -2.32196432352 --1.45144772529 -2.33922296763 --1.4514298737 -2.35648143291 --1.45141524076 -2.37373942136 --1.45140382647 -2.39099729061 --1.45139563084 -2.40825480223 --1.45139068365 -2.42551243305 --1.45138898492 -2.44276982546 --1.45139047503 -2.46002733707 --1.45139521361 -2.47728472948 --1.45140317083 -2.49454241991 --1.4514143467 -2.51180011034 --1.45142877102 -2.5290582776 --1.45144644379 -2.54631656408 --1.45146727562 -2.563575387 --1.4514913559 -2.58083444834 --1.45151859522 -2.59809416533 --1.45153397322 -2.61730355024 --1.45152053237 -2.63651132583 --1.45149305463 -2.65377092362 --1.45146876574 -2.67103016376 --1.45144772529 -2.68828880787 --1.4514298737 -2.70554733277 --1.45141524076 -2.72280532122 --1.45140382647 -2.74006325006 --1.45139563084 -2.75732076168 --1.45139068365 -2.7745783329 --1.45138895512 -2.7918356657 --1.45139044523 -2.80909311771 --1.45139521361 -2.82635051012 --1.45140317083 -2.84360831976 --1.4514143467 -2.86086606979 --1.45142877102 -2.87812417745 --1.4514464736 -2.89538240432 --1.45146727562 -2.91264122724 --1.45149129629 -2.92990034819 --1.45151859522 -2.94716006517 --1.45153400302 -2.96636945009 --1.45152050256 -2.98557716608 --1.45149305463 -3.00283670426 --1.45146879554 -3.02009600401 --1.45144769549 -3.03735464812 --1.4514298737 -3.0546131134 --1.45141524076 -3.07187110185 --1.45140382648 -3.0891290307 --1.45139566064 -3.10638660192 --1.45139068365 -3.12364417315 --1.45138895512 -3.14090153773 --1.45139050484 --3.12502622605 --1.45139527321 --3.10776889324 --1.45140314103 --3.09051114321 --1.45141431689 --3.07325339318 --1.45142877102 --3.05599528551 --1.45144644379 --3.03873705864 --1.45146727562 --3.02147823572 --1.4514913559 --3.00421911478 --1.45151859522 --2.98695939779 --1.45153400302 --2.96775001287 --1.45152056217 --2.94854229689 --1.45149308443 --2.93128275871 --1.45146879554 --2.91402345896 --1.45144772529 --2.89676481485 --1.4514298737 --2.87950634956 --1.45141524076 --2.86224836111 --1.45140382647 --2.84499043226 --1.45139563084 --2.82773286104 --1.45139068365 --2.81047528982 --1.45138895512 --2.79321795702 --1.45139044523 --2.7759603858 --1.4513951838 --2.7587029934 --1.45140314103 --2.74144530297 --1.4514143467 --2.72418755293 --1.45142877102 --2.70692938566 --1.45144644379 --2.68967115879 --1.45146727562 --2.67241239548 --1.4514913559 --2.65515333414 --1.45151859522 --2.63789361715 --1.45153400302 --2.61868423224 --1.45152053237 --2.59947639704 --1.45149305463 --2.58221679926 --1.45146879554 --2.56495755911 --1.45144772529 --2.54769891501 --1.4514299035 --2.53044050932 --1.45141527056 --2.51318252087 --1.45140382647 --2.49592459202 --1.45139563084 --2.4786670804 --1.45139068365 --2.46140944958 --1.45138895512 --2.44415211678 --1.45139044523 --2.42689460516 --1.45139521361 --2.40963715315 --1.45140317083 --2.39237946272 --1.4514143765 --2.37512177229 --1.45142880082 --2.35786360502 --1.45144644379 --2.34060531855 --1.45146724581 --2.32334649563 --1.45149132609 --2.30608749389 --1.45151859522 --2.28882777691 --1.45153400302 --2.26961833239 --1.45152053237 --2.25041055679 --1.45149305463 --2.23315101862 --1.45146879554 --2.21589177847 --1.45144772529 --2.19863307476 --1.4514298737 --2.18137454987 --1.45141521096 --2.16411662102 --1.45140379668 --2.14685881138 --1.45139563084 --2.12960129976 --1.45139068365 --2.11234360933 --1.45138898492 --2.09508621692 --1.45139050483 --2.07782876492 --1.45139521361 --2.06057137251 --1.45140314103 --2.04331362247 --1.4514143765 --2.02605593204 --1.45142880082 --2.00879782438 --1.45144644379 --1.99153953791 --1.45146727562 --1.97428068519 --1.4514913559 --1.95702162385 --1.45151859522 --1.93976190686 --1.45153400302 --1.92055249214 --1.45152053237 --1.90134474635 --1.45149302482 --1.88408514857 --1.45146876574 --1.86682584882 --1.45144772529 --1.84956720471 --1.4514298737 --1.83230873942 --1.45141521096 --1.81505075097 --1.45140379668 --1.79779288173 --1.45139563084 --1.78053537011 --1.45139068365 --1.76327773929 --1.45138898492 --1.74602040648 --1.45139047503 --1.72876289487 --1.45139521361 --1.71150547266 --1.45140317083 --1.69424775243 --1.4514143467 --1.67699003219 --1.45142877102 --1.65973189473 --1.45144644379 --1.64247363806 --1.45146727562 --1.62521481514 --1.4514913559 --1.6079557538 --1.45151862502 --1.59069603682 --1.45153403282 --1.5714866519 --1.45152056217 --1.5522788763 --1.45149308443 --1.53501930833 --1.45146879554 --1.51776003838 --1.4514477551 --1.50050139427 --1.45142993331 --1.48324292898 --1.45141527056 --1.46598494053 --1.45140382647 --1.44872704148 --1.45139560103 --1.43146950006 --1.45139065385 --1.41421189904 --1.45138895512 --1.39695453644 --1.45139044523 --1.37969699502 --1.45139521361 --1.36243960261 --1.45140317083 --1.34518191218 --1.4514143765 --1.32792419195 --1.45142880082 --1.31066605449 --1.4514464736 --1.29340779782 --1.45146730542 --1.2761489749 --1.45149132609 --1.25888991356 --1.45151856542 --1.24163019658 --1.45153400302 --1.22242081166 --1.45152053237 --1.20321303606 --1.45149305463 --1.18595343828 --1.45146879554 --1.16869416833 --1.45144772529 --1.15143552422 --1.4514298737 --1.13417705893 --1.45141524076 --1.11691907048 --1.45140382647 --1.09966114163 --1.45139563084 --1.08240363002 --1.45139068365 --1.0651460588 --1.45138895512 --1.047888726 --1.45139044523 --1.03063118458 --1.45139521361 --1.01337376237 --1.45140317083 --0.996116057038 --1.4514143467 --0.978858321905 --1.45142877102 --0.961600169539 --1.45144644379 --0.944341897964 --1.45146724581 --0.92708311975 --1.45149132609 --0.909824088216 --1.45151859522 --0.892564341426 --1.45153400302 --0.873354941607 --1.45152053237 --0.854147166014 --1.45149305463 --0.836887583137 --1.45146879554 --0.819628313184 --1.45144772529 --0.80236966908 --1.4514298737 --0.785111203789 --1.45141524076 --0.767853215337 --1.45140382647 --0.750595331192 --1.45139563084 --0.733337804675 --1.45139068365 --0.716080188751 --1.45138898492 --0.698822841048 --1.45139047503 --0.68156529963 --1.45139521361 --0.664307892322 --1.45140317083 --0.647050201893 --1.4514143467 --0.629792496562 --1.45142877102 --0.612534344196 --1.45144644379 --0.595276087522 --1.45146727562 --0.578017279506 --1.4514913559 --0.560758203268 --1.45151859522 --0.543498471379 --1.45153397322 --0.524289086461 --1.45152053237 --0.50508133322 --1.45149305463 --0.487821750343 --1.45146876574 --0.470562472939 --1.45144772529 --0.453303828835 --1.4514298737 --0.436045363545 --1.45141524076 --0.418787389994 --1.45140382647 --0.401529490948 --1.45139563084 --0.38427194953 --1.45139068365 --0.367014355957 --1.45138895512 --0.349757008254 --1.45139044523 --0.332499459386 --1.45139521361 --0.315242052078 --1.45140317083 --0.297984346747 --1.4514143467 --0.280726633966 --1.45142877102 --0.263468489051 --1.4514464736 --0.246210228652 --1.45146727562 --0.228951431811 --1.45149129629 --0.211692370475 --1.45151859522 --0.194432646036 --1.45153400302 --0.175223246217 --1.43438383937 --0.156013578177 --1.43435648084 --0.1387540102 --1.43433231115 --0.121494755149 --1.43431130052 --0.104236109182 --1.43429356813 --0.0869776513427 --1.434278965 --0.0697196843102 --1.43426755071 --0.0524617796764 --1.43425944447 --0.0352042503655 --1.43425449729 --0.0179466602858 --1.43425276875 --0.000689316540957 --1.43425431847 -0.0165682078805 --1.43425905705 -0.033825609833 --1.43426692486 -0.0510833142325 --1.43427807093 -0.0683410158381 --1.43429243564 -0.0855991467833 --1.43431001901 -0.102857401594 --1.43433076143 -0.120116198435 --1.4343547523 -0.137375246733 --1.43438190222 -0.154634959996 --1.43439725041 -0.17384441942 --1.43438386917 -0.193052265793 --1.43435648084 -0.210311837494 --1.43433228135 -0.227571099996 --1.43431130052 -0.244829751551 --1.43429350853 -0.26208820194 --1.43427893519 -0.279346168041 --1.43426758051 -0.296604074538 --1.43425944447 -0.313861601055 --1.43425449729 -0.331119187176 --1.43425276875 -0.348376527429 --1.43425425887 -0.365634053945 --1.43425896764 -0.382891453803 --1.43426689506 -0.400149151683 --1.43427807093 -0.417406857014 --1.43429243564 -0.434664994478 --1.43431004882 -0.451923251152 --1.43433082104 -0.469182044267 --1.43435478211 -0.486441090703 --1.43438190222 -0.503700822592 --1.43439725041 -0.522910282016 --1.43438380956 -0.542118132114 --1.43435645103 -0.559377700091 --1.43433228135 -0.576636940241 --1.43431127071 -0.593895584345 --1.43429356813 -0.611154049635 --1.4342790246 -0.628412023187 --1.43426761031 -0.645669922233 --1.43425941467 -0.66292744875 --1.43425446749 -0.680185034871 --1.43425276875 -0.697442382574 --1.43425425887 -0.714699909091 --1.43425899744 -0.731957316399 --1.43426692486 -0.74921502173 --1.43427807093 -0.766472727061 --1.43429243564 -0.783730849624 --1.43431001901 -0.800989091396 --1.43433076143 -0.818247914314 --1.4343547523 -0.835506975651 --1.43438190222 -0.852766662836 --1.43439725041 -0.87197612226 --1.43438383937 -0.891183972358 --1.43435648084 -0.908443525433 --1.43433231115 -0.925702780485 --1.43431130052 -0.94296143949 --1.43429350853 -0.96021990478 --1.43427890539 -0.977477863431 --1.43426755071 -0.994735747576 --1.43425944447 -1.01199325919 --1.43425449729 -1.02925089002 --1.43425276875 -1.04650825262 --1.43425428867 -1.06376576423 --1.43425899744 -1.08102318644 --1.43426689506 -1.09828087688 --1.43427810073 -1.11553856731 --1.43429246545 -1.13279670477 --1.43431004882 -1.15005496144 --1.43433082104 -1.16731375456 --1.43435478211 -1.18457281589 --1.43438190222 -1.20183253288 --1.43439725041 -1.22104197741 --1.43438383937 -1.24024981261 --1.43435645103 -1.25750938058 --1.43433228135 -1.27476865053 --1.43431130052 -1.29202729463 --1.43429350853 -1.30928575993 --1.43427890539 -1.32654374838 --1.43426755071 -1.34380164743 --1.43425944447 -1.36105915904 --1.43425449729 -1.37831673026 --1.43425276875 -1.39557406306 --1.43425425887 -1.41283157468 --1.43425899744 -1.43008899689 --1.43426692486 -1.44734674692 --1.43427807093 -1.46460443735 --1.43429243564 -1.48186254501 --1.43431001901 -1.49912080169 --1.43433076143 -1.51637959481 --1.4343547523 -1.53363862634 --1.43438190222 -1.55089834333 --1.43439725041 -1.57010781765 --1.43438386917 -1.58931565285 --1.43435651064 -1.60657522082 --1.43433231115 -1.62383449078 --1.43431136012 -1.64109316468 --1.43429356813 -1.65835162997 --1.434278965 -1.67560955882 --1.43426758051 -1.69286742807 --1.43425938487 -1.71012499929 --1.43425446749 -1.72738263011 --1.43425276875 -1.74463996291 --1.43425425887 -1.76189747453 --1.43425899744 -1.77915486693 --1.43426692486 -1.79641255736 --1.43427810073 -1.81367024779 --1.43429246545 -1.83092838526 --1.43431004882 -1.84818664193 --1.43433082104 -1.86544543505 --1.43435478211 -1.88270449639 --1.43438190222 -1.89996421337 --1.43439725041 -1.91917368769 --1.43438383937 -1.93838152289 --1.43435645103 -1.95564106107 --1.43433228135 -1.97290033102 --1.43431130052 -1.99015897512 --1.43429350853 -2.00741741061 --1.43427893519 -2.02467536927 --1.43426758051 -2.04193329811 --1.43425944447 -2.05919086933 --1.43425449729 -2.07644844055 --1.43425276875 -2.09370577335 --1.43425428867 -2.11096334457 --1.43425902724 -2.12822073698 --1.43426692486 -2.14547842741 --1.43427807093 -2.16273611784 --1.43429243564 -2.1799942851 --1.43431004882 -2.19725257158 --1.43433079123 -2.2145113349 --1.4343547523 -2.23177033663 --1.43438190222 -2.24903005361 --1.43439725041 -2.26823955774 --1.43438380956 -2.28744739294 --1.43435645103 -2.30470693112 --1.43433231115 -2.32196617127 --1.43431130052 -2.33922481537 --1.43429353833 -2.35648334027 --1.43427896499 -2.37374132872 --1.43426758051 -2.39099913836 --1.43425944447 -2.40825664997 --1.43425449729 -2.4255142808 --1.43425276875 -2.4427716732 --1.43425428867 -2.46002918482 --1.43425902724 -2.47728651762 --1.43426692486 -2.49454420805 --1.43427807093 -2.51180189848 --1.43429243564 -2.52906006574 --1.43431001901 -2.54631835222 --1.43433079123 -2.56357711554 --1.43435478211 -2.58083623648 --1.43438190222 -2.59809595347 --1.43439725041 -2.61730539799 --1.43438386917 -2.63651323319 --1.43435648084 -2.65377277136 --1.43433228135 -2.67103201151 --1.43431130052 -2.68829065561 --1.43429350853 -2.70554918051 --1.43427893519 -2.72280710936 --1.43426758051 -2.74006503821 --1.43425944447 -2.75732260943 --1.43425452709 -2.77458018064 --1.43425279855 -2.79183751345 --1.43425428867 -2.80909496546 --1.43425902724 -2.82635235786 --1.43426692486 -2.8436101079 --1.43427807093 -2.86086785793 --1.43429243564 -2.8781259656 --1.43431004882 -2.89538419246 --1.43433079123 -2.91264301539 --1.4343547523 -2.92990207672 --1.43438190222 -2.94716179371 --1.43439725041 -2.96637123823 --1.43438383937 -2.98557907343 --1.43435648084 -3.00283867121 --1.43433231115 -3.02009797096 --1.43431130052 -3.03735661507 --1.43429356813 -3.05461502076 --1.434278965 -3.0718729496 --1.43426755071 -3.08913087844 --1.43425944447 -3.10638839006 --1.43425449729 -3.12364596128 --1.43425276875 -3.14090332587 --1.43425431847 --3.12502449751 --1.43425905705 --3.10776710511 --1.43426692486 --3.09050935507 --1.43427807093 --3.07325160503 --1.43429243564 --3.05599349737 --1.43431001901 --3.0387352705 --1.43433076143 --3.02147644758 --1.4343547523 --3.00421738625 --1.43438190222 --2.98695766926 --1.43439725041 --2.96774822473 --1.43438386917 --2.94854038954 --1.43435648084 --2.93128079176 --1.43433228135 --2.91402149201 --1.43431130052 --2.8967628479 --1.43429350853 --2.87950444222 --1.43427893519 --2.86224651337 --1.43426758051 --2.84498858452 --1.43425944447 --2.8277310729 --1.43425449729 --2.81047350168 --1.43425276875 --2.79321616888 --1.43425425887 --2.77595859766 --1.43425896764 --2.75870114565 --1.43426689506 --2.74144345522 --1.43427807093 --2.72418576479 --1.43429243564 --2.70692765713 --1.43431004882 --2.68966937065 --1.43433082104 --2.67241054773 --1.43435478211 --2.655151546 --1.43438190222 --2.63789182901 --1.43439725041 --2.6186823845 --1.43438380956 --2.59947454929 --1.43435645103 --2.58221495152 --1.43433228135 --2.56495571137 --1.43431127071 --2.54769706726 --1.43429356813 --2.53043860197 --1.4342790246 --2.51318061352 --1.43426761031 --2.49592274428 --1.43425941467 --2.47866523266 --1.43425446749 --2.46140760183 --1.43425276875 --2.44415026903 --1.43425425887 --2.42689275741 --1.43425899744 --2.40963536501 --1.43426692486 --2.39237767458 --1.43427807093 --2.37511992455 --1.43429243564 --2.35786175728 --1.43431001901 --2.34060353041 --1.43433076143 --2.32334476709 --1.4343547523 --2.30608570576 --1.43438190222 --2.28882598877 --1.43439725041 --2.26961654425 --1.43438383937 --2.25040870905 --1.43435648084 --2.23314917087 --1.43433231115 --2.21588993072 --1.43431130052 --2.19863122701 --1.43429350853 --2.18137270212 --1.43427890539 --2.16411477327 --1.43426755071 --2.14685696363 --1.43425944447 --2.12959945202 --1.43425449729 --2.11234176159 --1.43425276875 --2.09508436918 --1.43425428867 --2.07782691717 --1.43425899744 --2.06056952477 --1.43426689506 --2.04331183434 --1.43427810073 --2.02605414391 --1.43429246545 --2.00879597664 --1.43431004882 --1.99153771997 --1.43433082104 --1.97427892685 --1.43435478211 --1.95701986551 --1.43438190222 --1.93976014853 --1.43439725041 --1.92055070401 --1.43438383937 --1.90134286881 --1.43435645103 --1.88408327103 --1.43433228135 --1.86682400107 --1.43431130052 --1.84956535697 --1.43429350853 --1.83230689168 --1.43427890539 --1.81504893303 --1.43426755071 --1.79779103399 --1.43425944447 --1.78053349257 --1.43425449729 --1.76327589154 --1.43425276875 --1.74601855874 --1.43425425887 --1.72876104712 --1.43425899744 --1.71150365472 --1.43426692486 --1.69424596429 --1.43427807093 --1.67698824406 --1.43429243564 --1.65973007679 --1.43431001901 --1.64247184992 --1.43433076143 --1.62521305681 --1.4343547523 --1.60795399546 --1.43438190222 --1.59069427848 --1.43439725041 --1.57148480416 --1.43438386917 --1.55227696896 --1.43435651064 --1.53501743078 --1.43433231115 --1.51775816083 --1.43431136012 --1.50049951672 --1.43429356813 --1.48324105143 --1.434278965 --1.46598306298 --1.43426758051 --1.44872519374 --1.43425938487 --1.43146768212 --1.43425446749 --1.4142100811 --1.43425276875 --1.39695271849 --1.43425425887 --1.37969517708 --1.43425899744 --1.36243775487 --1.43426692486 --1.34518006444 --1.43427810073 --1.32792237401 --1.43429246545 --1.31066426635 --1.43431004882 --1.29340600967 --1.43433082104 --1.27614718676 --1.43435478211 --1.25888812542 --1.43438190222 --1.24162840843 --1.43439725041 --1.22241896391 --1.43438383937 --1.20321112871 --1.43435645103 --1.18595156073 --1.43433228135 --1.16869232058 --1.43431130052 --1.15143367648 --1.43429350853 --1.13417521119 --1.43427893519 --1.11691722274 --1.43426758051 --1.09965929389 --1.43425944447 --1.08240178228 --1.43425449729 --1.06514421106 --1.43425276875 --1.04788687825 --1.43425428867 --1.03062936663 --1.43425902724 --1.01337197423 --1.43426692486 --0.996114253998 --1.43427807093 --0.978856518864 --1.43429243564 --0.9615983814 --1.43431004882 --0.944340139627 --1.43433079123 --0.927081346512 --1.4343547523 --0.909822300076 --1.43438190222 --0.892562583089 --1.43439725041 --0.873353123665 --1.43438380956 --0.854145288468 --1.43435645103 --0.836885720491 --1.43433231115 --0.819626450539 --1.43431130052 --0.802367806435 --1.43429353833 --0.785109341145 --1.43427896499 --0.767851367593 --1.43426758051 --0.750593483448 --1.43425944447 --0.733335956931 --1.43425449729 --0.716078355908 --1.43425276875 --0.698821008205 --1.43425428867 --0.681563481688 --1.43425902724 --0.664306089282 --1.43426692486 --0.647048398852 --1.43427807093 --0.629790708423 --1.43429243564 --0.612532570958 --1.43431001901 --0.595274314284 --1.43433079123 --0.578015506267 --1.43435478211 --0.56075643003 --1.43438190222 --0.543496713042 --1.43439725041 --0.524287253618 --1.43438386917 --0.505079433322 --1.43435648084 --0.487819872796 --1.43433228135 --0.470560595393 --1.43431130052 --0.45330195874 --1.43429350853 --0.436043508351 --1.43427893519 --0.418785534799 --1.43426758051 --0.401527628303 --1.43425944447 --0.384270101786 --1.43425452709 --0.367012523115 --1.43425279855 --0.349755175411 --1.43425428867 --0.332497633993 --1.43425902724 --0.315240241587 --1.43426692486 --0.297982551157 --1.43427807093 --0.280724845827 --1.43429243564 --0.263466708362 --1.43431004882 --0.246208447963 --1.43433079123 --0.228949647397 --1.4343547523 --0.211690600961 --1.43438190222 --0.194430883974 --1.43439725041 --0.175221417099 --1.41721609235 --0.156011663377 --1.41718885302 --0.138752102852 --1.41716477275 --0.121492851526 --1.41714385152 --0.104234209284 --1.41712611913 --0.0869757588953 --1.4171115756 --0.069717801176 --1.41710028052 --0.0524599067867 --1.41709220409 --0.0352023844607 --1.4170872569 --0.0179448015988 --1.41708552837 --0.000687464838847 --1.41708704829 -0.0165700518992 --1.41709175706 -0.0338274454698 --1.41709962487 -0.0510851424187 --1.41711074114 -0.0683428384364 --1.41712501645 -0.0856009591371 --1.41714251042 -0.102859202772 --1.41716316342 -0.120117994025 --1.41718706489 -0.137377038598 --1.41721412539 -0.15463674441 --1.41722941399 -0.173846270889 --1.41721609235 -0.193054184317 --1.41718879342 -0.210313748568 --1.41716468334 -0.22757300362 --1.41714379191 -0.244831647724 --1.41712608933 -0.262090101838 --1.4171115756 -0.279348053038 --1.41710025072 -0.296605937183 --1.41709217429 -0.3138634637 --1.4170872569 -0.331121049821 --1.41708552837 -0.348378375173 --1.41708701849 -0.365635894239 --1.41709172726 -0.382893286645 --1.41709962487 -0.400150977075 --1.41711074114 -0.417408682406 --1.41712501645 -0.434666804969 --1.41714254022 -0.451925054192 --1.41716322303 -0.469183847308 --1.41718709469 -0.486442886293 --1.41721412539 -0.503702588379 --1.41722941399 -0.522912114858 --1.41721603274 -0.542120054364 --1.41718879342 -0.55937962234 --1.41716471314 -0.576638862491 --1.41714376211 -0.593897506595 --1.41712611913 -0.611155956984 --1.41711166501 -0.628413900733 --1.41710034013 -0.645671799779 --1.41709217429 -0.662929326296 --1.41708722711 -0.680186867714 --1.41708552837 -0.697444230318 --1.41708701849 -0.714701771736 --1.41709172726 -0.731959149242 --1.41709962487 -0.749216854572 --1.41711074114 -0.766474559903 --1.41712501645 -0.783732667565 --1.41714251042 -0.800990894437 --1.41716319323 -0.818249702454 --1.41718709469 -0.83550876379 --1.41721412539 -0.852768465877 --1.41722941399 -0.871977970004 --1.41721606254 -0.891185894609 --1.41718879342 -0.908445462584 --1.41716471315 -0.925704687834 --1.41714382171 -0.942963331938 --1.41712611913 -0.960221812129 --1.4171115756 -0.977479770779 --1.41710028052 -0.994737640023 --1.41709220409 -1.01199513674 --1.4170872569 -1.02925273776 --1.41708552837 -1.04651007056 --1.41708701849 -1.06376758218 --1.41709172726 -1.08102500439 --1.41709962487 -1.09828269482 --1.41711074114 -1.11554038525 --1.41712501645 -1.13279849291 --1.41714254022 -1.15005674958 --1.41716322303 -1.1673155725 --1.41718709469 -1.18457460403 --1.41721412539 -1.20183429122 --1.41722941399 -1.22104382515 --1.41721606254 -1.24025171995 --1.41718876362 -1.25751128793 --1.41716468334 -1.27477055788 --1.41714382171 -1.29202920198 --1.41712611913 -1.30928766728 --1.4171115756 -1.32654562593 --1.41710025072 -1.34380352497 --1.41709217429 -1.36106103659 --1.4170872569 -1.37831860781 --1.41708552837 -1.39557594061 --1.41708701849 -1.41283345222 --1.41709172726 -1.43009084463 --1.41709962487 -1.44734856486 --1.41711074114 -1.46460625529 --1.41712501645 -1.48186436296 --1.41714251042 -1.49912261963 --1.41716319323 -1.51638138294 --1.41718709469 -1.53364041448 --1.41721412539 -1.55090013146 --1.41722944379 -1.57010966539 --1.41721609235 -1.58931759 --1.41718882322 -1.60657715797 --1.41716477275 -1.62383639812 --1.41714385152 -1.64109504223 --1.41712608933 -1.65835350752 --1.4171115756 -1.67561143637 --1.41710025073 -1.69286930561 --1.41709214449 -1.71012687683 --1.4170872569 -1.72738447786 --1.41708552837 -1.74464181066 --1.41708701849 -1.76189932227 --1.41709172726 -1.77915668488 --1.41709962487 -1.7964143753 --1.41711074114 -1.81367206573 --1.41712501645 -1.8309301734 --1.41714254022 -1.84818843007 --1.41716322303 -1.86544725299 --1.41718709469 -1.88270628452 --1.41721412539 -1.89996600151 --1.41722941399 -1.91917556524 --1.41721609235 -1.93838343024 --1.41718879342 -1.95564296841 --1.41716468334 -1.97290223837 --1.41714379191 -1.99016088247 --1.41712608933 -2.00741934776 --1.4171115756 -2.02467733622 --1.41710025072 -2.04193520546 --1.41709217429 -2.05919271708 --1.4170872569 -2.0764502883 --1.41708552837 -2.0937076211 --1.41708704829 -2.11096519232 --1.41709175706 -2.12822258472 --1.41709962487 -2.14548027515 --1.41711074114 -2.16273796558 --1.41712501645 -2.17999613285 --1.41714254022 -2.19725435973 --1.41716322303 -2.21451312304 --1.41718709469 -2.23177212477 --1.41721412539 -2.24903178215 --1.41722941399 -2.26824134588 --1.41721603274 -2.28744930029 --1.41718876362 -2.30470889807 --1.41716471315 -2.32196813822 --1.41714379191 -2.33922678232 --1.41712611913 -2.35648524761 --1.41711160541 -2.37374317646 --1.41710025072 -2.3910010457 --1.41709214449 -2.40825861692 --1.4170872271 -2.42551624775 --1.41708552837 -2.44277352094 --1.41708704829 -2.46003097296 --1.41709175706 -2.47728836536 --1.41709962487 -2.49454605579 --1.41711074114 -2.51180374622 --1.41712501645 -2.52906191349 --1.41714251042 -2.54632019997 --1.41716319323 -2.56357896328 --1.41718709469 -2.58083802462 --1.41721412539 -2.59809774161 --1.41722941399 -2.61730724573 --1.41721609235 -2.63651514053 --1.41718879342 -2.65377467871 --1.41716468334 -2.67103391886 --1.41714382171 -2.68829256296 --1.41712611913 -2.70555102825 --1.4171115756 -2.7228089571 --1.41710025072 -2.74006688595 --1.41709214449 -2.75732445717 --1.4170872569 -2.77458202839 --1.41708555817 -2.79183936119 --1.41708701849 -2.8090968132 --1.41709172726 -2.82635420561 --1.41709962487 -2.84361189604 --1.41711074114 -2.86086958647 --1.41712501645 -2.87812775373 --1.41714254022 -2.89538604021 --1.41716322303 -2.91264480352 --1.41718709469 -2.92990380526 --1.41721412539 -2.94716352224 --1.41722941399 -2.96637308597 --1.41721609235 -2.98558104038 --1.41718885302 -3.00284057856 --1.41716477275 -3.0200998187 --1.41714385152 -3.03735846281 --1.41712611913 -3.0546169281 --1.4171115756 -3.07187485695 --1.41710028052 -3.08913272619 --1.41709220409 -3.10639023781 --1.4170872569 -3.12364780903 --1.41708552837 -3.14090517361 --1.41708704829 --3.12502264976 --1.41709175706 --3.10776525736 --1.41709962487 --3.09050750733 --1.41711074114 --3.0732498169 --1.41712501645 --3.05599170923 --1.41714251042 --3.03873342276 --1.41716316342 --3.02147465944 --1.41718706489 --3.00421565771 --1.41721412539 --2.98695594073 --1.41722941399 --2.96774637699 --1.41721609235 --2.94853842258 --1.41718879342 --2.93127888441 --1.41716468334 --2.91401964426 --1.41714379191 --2.89676100016 --1.41712608933 --2.87950253487 --1.4171115756 --2.86224460602 --1.41710025072 --2.84498673677 --1.41709217429 --2.82772922516 --1.4170872569 --2.81047165394 --1.41708552837 --2.79321432114 --1.41708701849 --2.77595674992 --1.41709172726 --2.75869935751 --1.41709962487 --2.74144166708 --1.41711074114 --2.72418397665 --1.41712501645 --2.70692592859 --1.41714254022 --2.68966764211 --1.41716322303 --2.67240875959 --1.41718709469 --2.65514975786 --1.41721412539 --2.63789010048 --1.41722941399 --2.61868053675 --1.41721603274 --2.59947258234 --1.41718879342 --2.58221298456 --1.41716471314 --2.56495374441 --1.41714376211 --2.54769510031 --1.41712611913 --2.53043663502 --1.41711166501 --2.51317870617 --1.41710034013 --2.49592083692 --1.41709217429 --2.47866332531 --1.41708722711 --2.46140581369 --1.41708552837 --2.44414842129 --1.41708701849 --2.42689085007 --1.41709172726 --2.40963351727 --1.41709962487 --2.39237582684 --1.41711074114 --2.3751180768 --1.41712501645 --2.35785990953 --1.41714251042 --2.34060174227 --1.41716319323 --2.32334297895 --1.41718709469 --2.30608385801 --1.41721412539 --2.28882414103 --1.41722941399 --2.26961469651 --1.41721606254 --2.2504068017 --1.41718879342 --2.23314720392 --1.41716471315 --2.21588796377 --1.41714382171 --2.19862931967 --1.41712611913 --2.18137085438 --1.4171115756 --2.16411292553 --1.41710028052 --2.14685505628 --1.41709220409 --2.12959754467 --1.4170872569 --2.11233991385 --1.41708552837 --2.09508252144 --1.41708701849 --2.07782506943 --1.41709172726 --2.06056767702 --1.41709962487 --2.04330998659 --1.41711074114 --2.02605229616 --1.41712501645 --2.00879412889 --1.41714254022 --1.99153587222 --1.41716322303 --1.97427710891 --1.41718709469 --1.95701807737 --1.41721412539 --1.93975836038 --1.41722941399 --1.92054885626 --1.41721606254 --1.90134093166 --1.41718876362 --1.88408136368 --1.41716468334 --1.86682212353 --1.41714382171 --1.84956347942 --1.41712611913 --1.83230501413 --1.4171115756 --1.81504705549 --1.41710025072 --1.79778915644 --1.41709217429 --1.78053161502 --1.4170872569 --1.7632740438 --1.41708552837 --1.746016711 --1.41708701849 --1.72875919938 --1.41709172726 --1.71150180697 --1.41709962487 --1.69424411655 --1.41711074114 --1.67698642612 --1.41712501645 --1.65972825885 --1.41714251042 --1.64247003197 --1.41716319323 --1.62521126866 --1.41718709469 --1.60795220733 --1.41721412539 --1.59069249034 --1.41722944379 --1.57148295641 --1.41721609235 --1.55227503181 --1.41718882322 --1.53501549363 --1.41716477275 --1.51775625348 --1.41714385152 --1.50049760937 --1.41712608933 --1.48323917389 --1.4171115756 --1.46598121524 --1.41710025073 --1.4487233162 --1.41709214449 --1.43146580458 --1.4170872569 --1.41420820355 --1.41708552837 --1.39695087075 --1.41708701849 --1.37969335914 --1.41709172726 --1.36243593693 --1.41709962487 --1.3451782465 --1.41711074114 --1.32792055607 --1.41712501645 --1.31066244841 --1.41714254022 --1.29340419173 --1.41716322303 --1.27614539862 --1.41718709469 --1.25888636708 --1.41721412539 --1.24162665009 --1.41722941399 --1.22241711616 --1.41721609235 --1.20320922136 --1.41718879342 --1.18594965339 --1.41716468334 --1.16869041324 --1.41714379191 --1.15143179894 --1.41712608933 --1.13417333364 --1.4171115756 --1.11691534519 --1.41710025072 --1.09965744615 --1.41709217429 --1.08239993453 --1.4170872569 --1.06514236331 --1.41708552837 --1.04788503051 --1.41708704829 --1.03062748909 --1.41709175706 --1.01337009669 --1.41709962487 --0.996112406254 --1.41711074114 --0.978854700923 --1.41712501645 --0.961596563458 --1.41714254022 --0.944338336587 --1.41716322303 --0.927079558372 --1.41718709469 --0.909820511937 --1.41721412539 --0.892560824752 --1.41722941399 --0.873351290822 --1.41721603274 --0.854143366218 --1.41718876362 --0.836883813143 --1.41716471315 --0.819624558091 --1.41714379191 --0.802365913987 --1.41712611913 --0.785107448697 --1.41711160541 --0.767849490047 --1.41710025072 --0.750591605902 --1.41709214449 --0.733334079385 --1.4170872271 --0.716076478362 --1.41708552837 --0.69881914556 --1.41708704829 --0.681561648845 --1.41709175706 --0.664304256439 --1.41709962487 --0.647046566009 --1.41711074114 --0.629788890481 --1.41712501645 --0.612530767918 --1.41714251042 --0.595272496343 --1.41716319323 --0.578013688326 --1.41718709469 --0.560754656792 --1.41721412539 --0.543494954705 --1.41722941399 --0.524285405874 --1.41721609235 --0.505077518523 --1.41718879342 --0.487817965448 --1.41716468334 --0.470558688044 --1.41714382171 --0.453300066292 --1.41712611913 --0.436041623354 --1.4171115756 --0.418783657253 --1.41710025072 --0.401525758207 --1.41709214449 --0.384268239141 --1.4170872569 --0.36701066792 --1.41708555817 --0.349753320217 --1.41708701849 --0.332495801151 --1.41709172726 --0.315238408744 --1.41709962487 --0.297980710864 --1.41711074114 --0.280723020434 --1.41712501645 --0.26346489042 --1.41714254022 --0.246206637472 --1.41716322303 --0.228947848082 --1.41718709469 --0.211688809097 --1.41721412539 --0.19442909956 --1.41722941399 --0.175219569355 --1.40005332232 --0.156007699668 --1.4000261724 --0.138748154044 --1.40000221133 --0.121488917619 --1.39998140931 --0.104230294004 --1.39996373653 --0.0869718585163 --1.39994925261 --0.0697139166295 --1.39993801713 --0.0524560390041 --1.3999299407 --0.0351985311136 --1.39992502332 --0.0179409640841 --1.39992332459 --0.000683643389492 --1.3999247849 -0.0165738575161 --1.39992946386 -0.0338312350214 --1.39993733168 -0.0510889152065 --1.39994841814 -0.0683465991169 --1.39996266365 -0.0856047049165 --1.39998009801 -0.102862929925 --1.40000069142 -0.120121711865 --1.40002447367 -0.137380741536 --1.40005141497 -0.154640432447 --1.40006664395 -0.173850100487 --1.40005332232 -0.193058148026 --1.4000261426 -0.210317693651 --1.40000215173 -0.227576933801 --1.3999813497 -0.244835559279 --1.39996373653 -0.262093998492 --1.39994928241 -0.279351934791 --1.39993798733 -0.296609804034 --1.3999299109 -0.313867323101 --1.39992502332 -0.331124894321 --1.39992332459 -0.348382197321 --1.3999248147 -0.365639701485 --1.39992949367 -0.382897078991 --1.39993736148 -0.400154754519 --1.39994844794 -0.417412444949 --1.39996266365 -0.434670552611 --1.39998009801 -0.451928786934 --1.40000069142 -0.469187565148 --1.40002447367 -0.486446589231 --1.40005138516 -0.503706276417 --1.40006661415 -0.522915944457 --1.40005332232 -0.542124003172 --1.4000262022 -0.559383556247 --1.40000224113 -0.576642796397 --1.39998137951 -0.593901410699 --1.39996373653 -0.611159846186 --1.39994931221 -0.628417789936 --1.39993804693 -0.64567565918 --1.3999299407 -0.662933170795 --1.39992502332 -0.680190727115 --1.39992332459 -0.697448059917 --1.3999247849 -0.714705586434 --1.39992949367 -0.731962949038 --1.39993739128 -0.749220624566 --1.39994844794 -0.766478314996 --1.39996266365 -0.783736392856 --1.39998009801 -0.800994604826 --1.40000066161 -0.818253397942 --1.40002444387 -0.835512444377 --1.40005138516 -0.852772146463 --1.40006661415 -0.871981799603 --1.40005329251 -0.891189858317 --1.40002611279 -0.908449411392 --1.40000215173 -0.925708621741 --1.39998137951 -0.942967250944 --1.39996376633 -0.960225701332 --1.39994928241 -0.977483645081 --1.39993801713 -0.994741514324 --1.3999299407 -1.01199901104 --1.39992502332 -1.02925658226 --1.39992332459 -1.04651388526 --1.3999248147 -1.06377136707 --1.39992952347 -1.08102875948 --1.39993736148 -1.09828644991 --1.39994841814 -1.11554414034 --1.39996266365 -1.132802248 --1.39998009801 -1.15006047487 --1.40000069142 -1.16731926799 --1.40002447367 -1.18457829952 --1.40005138516 -1.20183798671 --1.40006661415 -1.22104763985 --1.40005332232 -1.24025568366 --1.4000261426 -1.25751525164 --1.40000215173 -1.27477449179 --1.39998137951 -1.29203310609 --1.39996376633 -1.30929154158 --1.39994928241 -1.32654950023 --1.39993798733 -1.34380739927 --1.3999299109 -1.36106488108 --1.39992502332 -1.3783224523 --1.39992332459 -1.39557978511 --1.3999248147 -1.41283726692 --1.39992952347 -1.43009462952 --1.39993739128 -1.44735231995 --1.39994847775 -1.46461001038 --1.39996269346 -1.48186811805 --1.39998009801 -1.49912634492 --1.40000066161 -1.51638510823 --1.40002447367 -1.53364413977 --1.40005141497 -1.55090382695 --1.40006664395 -1.57011350989 --1.40005332232 -1.58932155371 --1.4000261426 -1.60658109188 --1.40000221133 -1.62384033203 --1.39998137951 -1.64109894633 --1.39996370673 -1.65835741162 --1.39994925261 -1.67561534047 --1.39993798733 -1.69287320972 --1.3999299109 -1.71013075113 --1.39992499351 -1.72738829255 --1.39992329478 -1.74464559555 --1.3999247849 -1.76190310716 --1.39992949367 -1.77916046977 --1.39993736148 -1.7964181304 --1.39994841814 -1.81367582083 --1.39996266365 -1.83093392849 --1.39998009801 -1.84819215536 --1.40000069142 -1.86545094847 --1.40002447367 -1.88270998001 --1.40005138516 -1.899969697 --1.40006661415 -1.91917937994 --1.40005332232 -1.93838739395 --1.4000261426 -1.95564693213 --1.40000215173 -1.97290617228 --1.3999813497 -1.99016481638 --1.39996373653 -2.00742328167 --1.39994928241 -2.02468121052 --1.39993798733 -2.04193907976 --1.3999299109 -2.05919659138 --1.39992502332 -2.07645410299 --1.39992332459 -2.09371137619 --1.3999248147 -2.11096894741 --1.39992952347 -2.12822639942 --1.39993736148 -2.14548408985 --1.39994841814 -2.16274178028 --1.39996266365 -2.17999988794 --1.39998009801 -2.19725805521 --1.40000066161 -2.21451681852 --1.40002444387 -2.23177582025 --1.40005138516 -2.24903547764 --1.40006661415 -2.26824522018 --1.40005329251 -2.2874532938 --1.40002611279 -2.30471283197 --1.40000215173 -2.32197207212 --1.3999813497 -2.33923071623 --1.39996373653 -2.35648912191 --1.39994928241 -2.37374705076 --1.39993798733 -2.39100497961 --1.3999298811 -2.40826249123 --1.39992499351 -2.42552006245 --1.39992332459 -2.44277733564 --1.3999247849 -2.46003478765 --1.39992949367 -2.47729218006 --1.39993739128 -2.49454987049 --1.39994844794 -2.51180756092 --1.39996266365 -2.52906566858 --1.39998009801 -2.54632389546 --1.40000069142 -2.56358265877 --1.40002447367 -2.5808416605 --1.40005138516 -2.59810137749 --1.40006661415 -2.61731106043 --1.40005335212 -2.63651913404 --1.4000261724 -2.65377867222 --1.40000215173 -2.67103785276 --1.39998137951 -2.68829649687 --1.39996376633 -2.70555496216 --1.39994928241 -2.72281289101 --1.39993798733 -2.74007076025 --1.3999298811 -2.75732827187 --1.39992499351 -2.77458584309 --1.39992332459 -2.79184317589 --1.3999247849 -2.8091006279 --1.39992949367 -2.8263579607 --1.39993736148 -2.84361565113 --1.39994841814 -2.86087334156 --1.39996266365 -2.87813150883 --1.39998009801 -2.8953897953 --1.40000066161 -2.91264855861 --1.40002444387 -2.92990756035 --1.40005141497 -2.94716721773 --1.40006664395 -2.96637690067 --1.40005332232 -2.98558497429 --1.4000261724 -3.00284451246 --1.40000221133 -3.02010375261 --1.39998140931 -3.03736233711 --1.39996373653 -3.0546208024 --1.39994925261 -3.07187873125 --1.39993801713 -3.08913654089 --1.3999299407 -3.10639411211 --1.39992502332 -3.12365168333 --1.39992332459 -3.14090898831 --1.3999247849 --3.12501883507 --1.39992946386 --3.10776150226 --1.39993733168 --3.09050375223 --1.39994841814 --3.0732460618 --1.39996266365 --3.05598795414 --1.39998009801 --3.03872966766 --1.40000069142 --3.02147090435 --1.40002447367 --3.00421190262 --1.40005141497 --2.98695224523 --1.40006664395 --2.96774256229 --1.40005332232 --2.94853448868 --1.4000261426 --2.93127495051 --1.40000215173 --2.91401571035 --1.3999813497 --2.89675712585 --1.39996373653 --2.87949866057 --1.39994928241 --2.86224073172 --1.39993798733 --2.84498292208 --1.3999299109 --2.82772535086 --1.39992502332 --2.81046777964 --1.39992332459 --2.79321050644 --1.3999248147 --2.77595293522 --1.39992949367 --2.75869554281 --1.39993736148 --2.74143791199 --1.39994844794 --2.72418028116 --1.39996266365 --2.7069221735 --1.39998009801 --2.68966388702 --1.40000069142 --2.67240506411 --1.40002447367 --2.65514606238 --1.40005138516 --2.63788640499 --1.40006661415 --2.61867672205 --1.40005332232 --2.59946864843 --1.4000262022 --2.58220905066 --1.40000224113 --2.56494981051 --1.39998137951 --2.54769122601 --1.39996373653 --2.53043282032 --1.39994931221 --2.51317483187 --1.39993804693 --2.49591690302 --1.3999299407 --2.47865945101 --1.39992502332 --2.461401999 --1.39992332459 --2.44414460659 --1.3999247849 --2.42688703537 --1.39992949367 --2.40962970257 --1.39993739128 --2.39237201214 --1.39994844794 --2.37511432171 --1.39996266365 --2.35785621405 --1.39998009801 --2.34059804678 --1.40000066161 --2.32333928347 --1.40002444387 --2.30608022213 --1.40005138516 --2.28882050514 --1.40006661415 --2.2696108222 --1.40005329251 --2.25040274859 --1.40002611279 --2.23314321041 --1.40000215173 --2.21588402987 --1.39998137951 --2.19862538576 --1.39996376633 --2.18136698008 --1.39994928241 --2.16410905123 --1.39993801713 --2.14685112238 --1.3999299407 --2.12959367037 --1.39992502332 --2.11233609915 --1.39992332459 --2.09507870674 --1.3999248147 --2.07782125473 --1.39992952347 --2.06056392193 --1.39993736148 --2.0433062315 --1.39994841814 --2.02604854107 --1.39996266365 --2.00879043341 --1.39998009801 --1.99153217673 --1.40000069142 --1.97427338362 --1.40002447367 --1.95701438189 --1.40005138516 --1.9397546947 --1.40006661415 --1.92054501176 --1.40005332232 --1.90133693814 --1.4000261426 --1.88407739997 --1.40000215173 --1.86681815982 --1.39998137951 --1.84955954552 --1.39996376633 --1.83230111003 --1.39994928241 --1.81504315138 --1.39993798733 --1.79778528213 --1.3999299109 --1.78052777052 --1.39992502332 --1.7632702291 --1.39992332459 --1.7460128963 --1.3999248147 --1.72875538468 --1.39992952347 --1.71149802208 --1.39993739128 --1.69424033165 --1.39994847775 --1.67698264122 --1.39996269346 --1.65972453356 --1.39998009801 --1.64246630669 --1.40000066161 --1.62520754337 --1.40002447367 --1.60794851184 --1.40005141497 --1.59068879485 --1.40006664395 --1.57147914171 --1.40005332232 --1.5522710979 --1.4000261426 --1.53501155973 --1.40000221133 --1.51775231958 --1.39998137951 --1.50049367547 --1.39996370673 --1.48323526978 --1.39994925261 --1.46597734094 --1.39993798733 --1.44871944189 --1.3999299109 --1.43146193027 --1.39992499351 --1.41420435905 --1.39992329478 --1.39694705605 --1.3999247849 --1.37968954444 --1.39992949367 --1.36243215203 --1.39993736148 --1.34517449141 --1.39994841814 --1.32791683078 --1.39996266365 --1.31065872311 --1.39998009801 --1.29340046644 --1.40000069142 --1.27614170313 --1.40002447367 --1.25888267159 --1.40005138516 --1.24162298441 --1.40006661415 --1.22241333127 --1.40005332232 --1.20320525766 --1.4000261426 --1.18594568968 --1.40000215173 --1.16868644953 --1.3999813497 --1.15142786503 --1.39996373653 --1.13416942954 --1.39994928241 --1.11691144109 --1.39993798733 --1.09965357184 --1.3999299109 --1.08239609003 --1.39992502332 --1.06513854861 --1.39992332459 --1.04788121581 --1.3999248147 --1.03062367439 --1.39992952347 --1.01336631179 --1.39993736148 --0.996108636259 --1.39994841814 --0.97885094583 --1.39996266365 --0.961592838168 --1.39998009801 --0.944334611297 --1.40000066161 --0.927075862884 --1.40002444387 --0.909816861153 --1.40005138516 --0.892557159067 --1.40006661415 --0.873347446322 --1.40005329251 --0.854139387608 --1.40002611279 --0.836879864335 --1.40000215173 --0.819620609284 --1.3999813497 --0.80236196518 --1.39996373653 --0.785103529692 --1.39994928241 --0.767845585942 --1.39993798733 --0.750587731599 --1.3999298811 --0.733330234885 --1.39992499351 --0.716072648764 --1.39992332459 --0.698815345764 --1.3999247849 --0.681557863951 --1.39992949367 --0.664300471544 --1.39993739128 --0.647042781114 --1.39994844794 --0.629785120487 --1.39996266365 --0.612527012825 --1.39998009801 --0.595268756151 --1.40000069142 --0.578009963036 --1.40002447367 --0.560750961304 --1.40005138516 --0.54349128902 --1.40006661415 --0.524281591177 --1.40005335212 --0.505073547363 --1.4000261724 --0.487814001739 --1.40000215173 --0.470554746687 --1.39998137951 --0.453296139836 --1.39996376633 --0.43603771925 --1.39994928241 --0.4187797755 --1.39993798733 --0.401521891355 --1.3999298811 --0.38426437974 --1.39992499351 --0.367006823421 --1.39992332459 --0.34974950552 --1.3999247849 --0.332491993904 --1.39992949367 --0.315234608948 --1.39993736148 --0.297976925969 --1.39994841814 --0.280719250441 --1.39996266365 --0.263461142778 --1.39998009801 --0.246202912181 --1.40000066161 --0.228944141418 --1.40002444387 --0.211685117334 --1.40005141497 --0.194425422698 --1.40006664395 --0.175215750932 --1.3829408586 --0.156003635377 --1.38291382789 --0.138744100929 --1.38288998604 --0.12148488313 --1.38286927342 --0.104226281866 --1.38285169005 --0.0869678631425 --1.38283723593 --0.0697099361569 --1.38282603025 --0.0524520743639 --1.38281801343 --0.0351945837029 --1.38281312585 --0.0179370320402 --1.38281142712 --0.000679727643727 --1.38281285763 -0.016577756498 --1.38281747699 -0.0338351172395 --1.382825315 -0.0510927801952 --1.38283637166 -0.0683504473418 --1.38285058737 -0.0856085401028 --1.38286796212 -0.102866752073 --1.38288843632 -0.120125520975 --1.38291212916 -0.137384533882 --1.38293898106 -0.154644209891 --1.38295415044 -0.173854023218 --1.3829408586 -0.193062208593 --1.38291379809 -0.21032173559 --1.38288992643 -0.22758096084 --1.38286921382 -0.244839563966 --1.38285166025 -0.262097977102 --1.38283726573 -0.27935590595 --1.38282606006 -0.296613782644 --1.38281798363 -0.31387128681 --1.38281309605 -0.331128828228 --1.38281142712 -0.348386123776 --1.38281288743 -0.36564361304 --1.38281753659 -0.382900975644 --1.38282540441 -0.400158636272 --1.38283646107 -0.417416289449 --1.38285061717 -0.43467438221 --1.38286799192 -0.451932609082 --1.38288849592 -0.469191364944 --1.38291215896 -0.486450374127 --1.38293895125 -0.503710061311 --1.38295409083 -0.522919878363 --1.3829408586 -0.542128056288 --1.3829138577 -0.559387594461 --1.38288998604 -0.576646819711 --1.38286924362 -0.59390540421 --1.38285166025 -0.611163824797 --1.38283723593 -0.628421768546 --1.38282600045 -0.645679622889 --1.38281795383 -0.662937104702 --1.38281309605 -0.680194661021 --1.38281142712 -0.697451964021 --1.38281285763 -0.714709460735 --1.38281753659 -0.73196682334 --1.38282543421 -0.749224483967 --1.38283643127 -0.766482144594 --1.38285058737 -0.783740222454 --1.38286799192 -0.800998434425 --1.38288846612 -0.818257197738 --1.38291212916 -0.835516214371 --1.38293895125 -0.852775901556 --1.38295409083 -0.871985718608 --1.3829408288 -0.891193911433 --1.38291379809 -0.908453434706 --1.38288995623 -0.925712645054 --1.38286924362 -0.942971259355 --1.38285166025 -0.960229665041 --1.38283726573 -0.977487578988 --1.38282603025 -0.994745463133 --1.38281795383 -1.01200297475 --1.38281309605 -1.02926051616 --1.38281139732 -1.04651781917 --1.38281285763 -1.06377530098 --1.38281756639 -1.08103266358 --1.38282540441 -1.09829032421 --1.38283643127 -1.11554801464 --1.38285061717 -1.1328061223 --1.38286799192 -1.15006428957 --1.38288846612 -1.16732305288 --1.38291212916 -1.18458208442 --1.38293895125 -1.2018417716 --1.38295412064 -1.22105157376 --1.38294091821 -1.24025976658 --1.3829138577 -1.25751930475 --1.38288995623 -1.2747785151 --1.38286924362 -1.2920370996 --1.38285166025 -1.30929550528 --1.38283723593 -1.32655346393 --1.38282603025 -1.34381133318 --1.38281798363 -1.36106881499 --1.38281309605 -1.37832638621 --1.38281142712 -1.39558368921 --1.38281288743 -1.41284114122 --1.38281753659 -1.43009850383 --1.3828253746 -1.44735619426 --1.38283643127 -1.46461385489 --1.38285061717 -1.48187193274 --1.38286799192 -1.49913015961 --1.38288843632 -1.51638892293 --1.38291212916 -1.53364792466 --1.38293898106 -1.55090761185 --1.38295409083 -1.5701174438 --1.3829408288 -1.58932560683 --1.38291379809 -1.6065851152 --1.38288992643 -1.62384435535 --1.38286924362 -1.64110296965 --1.38285169005 -1.65836140513 --1.38283723593 -1.67561933398 --1.38282603025 -1.69287720322 --1.38281798363 -1.71013468504 --1.38281306625 -1.72739219665 --1.38281136752 -1.74464949966 --1.38281282783 -1.76190701127 --1.38281753659 -1.77916437388 --1.38282540441 -1.7964220047 --1.38283640147 -1.81367969513 --1.38285058737 -1.83093780279 --1.38286799192 -1.84819597006 --1.38288849592 -1.86545473337 --1.38291215896 -1.88271376491 --1.38293895125 -1.89997345209 --1.38295409083 -1.91918325424 --1.3829408288 -1.93839144707 --1.38291379809 -1.95565098524 --1.38288995623 -1.97291019559 --1.38286924362 -1.99016880989 --1.38285166025 -2.00742721557 --1.38283723593 -2.02468514442 --1.38282603025 -2.04194307327 --1.38281798363 -2.05920058489 --1.38281309605 -2.0764580965 --1.38281142712 -2.0937153697 --1.38281288743 -2.11097288132 --1.38281756639 -2.12823027373 --1.38282540441 -2.14548796415 --1.38283643127 -2.16274565459 --1.38285061717 -2.18000370264 --1.38286799192 -2.19726186991 --1.38288846612 -2.21452063322 --1.38291212916 -2.23177963496 --1.38293895125 -2.24903929234 --1.38295412064 -2.26824915409 --1.3829408586 -2.28745734692 --1.38291382789 -2.30471682548 --1.38288998604 -2.32197600603 --1.38286924362 -2.33923465014 --1.38285166025 -2.35649311543 --1.38283726573 -2.37375104428 --1.38282603025 -2.39100891352 --1.38281795383 -2.40826636553 --1.38281309605 -2.42552393675 --1.38281139732 -2.44278126955 --1.38281282783 -2.46003872156 --1.38281753659 -2.47729605436 --1.38282543421 -2.4945537448 --1.38283643127 -2.51181143523 --1.38285058737 -2.52906948328 --1.38286799192 -2.54632765054 --1.38288849592 -2.56358641386 --1.38291215896 -2.58084541559 --1.38293895125 -2.59810513258 --1.38295409083 -2.61731499434 --1.3829408586 -2.63652318716 --1.38291382789 -2.65378272533 --1.38288995623 -2.67104190588 --1.38286924362 -2.68830049038 --1.38285166025 -2.70555895567 --1.38283723593 -2.72281688452 --1.38282603025 -2.74007469416 --1.38281798363 -2.75733220577 --1.38281309605 -2.77458977699 --1.38281139732 -2.79184705019 --1.38281285763 -2.8091045022 --1.38281753659 -2.82636183501 --1.3828253746 -2.84361952543 --1.38283643127 -2.86087721586 --1.38285061717 -2.87813532353 --1.38286799192 -2.89539361 --1.38288843632 -2.91265237331 --1.38291209936 -2.92991137505 --1.38293898106 -2.94717103243 --1.38295415044 -2.96638077498 --1.3829408586 -2.9855889678 --1.38291382789 -3.00284856558 --1.38288998604 -3.02010780573 --1.38286927342 -3.03736639023 --1.38285169005 -3.05462479591 --1.38283723593 -3.07188272476 --1.38282603025 -3.08914059401 --1.38281801343 -3.10639810562 --1.38281312585 -3.12365561724 --1.38281142712 -3.14091286262 --1.38281285763 --3.12501496077 --1.38281747699 --3.10775762796 --1.382825315 --3.09049993753 --1.38283637166 --3.07324224711 --1.38285058737 --3.05598413944 --1.38286796212 --3.03872585297 --1.38288843632 --3.02146708966 --1.38291212916 --3.00420808792 --1.38293898106 --2.98694843054 --1.38295415044 --2.96773862838 --1.3829408586 --2.94853043556 --1.38291379809 --2.93127089739 --1.38288992643 --2.91401165724 --1.38286921382 --2.89675307274 --1.38285166025 --2.87949466705 --1.38283726573 --2.8622367382 --1.38282606006 --2.84497886896 --1.38281798363 --2.82772135735 --1.38281309605 --2.81046384573 --1.38281142712 --2.79320657253 --1.38281288743 --2.77594900131 --1.38281753659 --2.7586916089 --1.38282540441 --2.74143403768 --1.38283646107 --2.72417646646 --1.38285061717 --2.7069182992 --1.38286799192 --2.68966001272 --1.38288849592 --2.67240124941 --1.38291215896 --2.65514224768 --1.38293895125 --2.63788259029 --1.38295409083 --2.61867278814 --1.3829408586 --2.59946459532 --1.3829138577 --2.58220505715 --1.38288998604 --2.5649458766 --1.38286924362 --2.5476872921 --1.38285166025 --2.53042888642 --1.38283723593 --2.51317089796 --1.38282600045 --2.49591296911 --1.38281795383 --2.4786555171 --1.38281309605 --2.46139800549 --1.38281142712 --2.44414067268 --1.38281285763 --2.42688316106 --1.38281753659 --2.40962582826 --1.38282543421 --2.39236813784 --1.38283643127 --2.3751104474 --1.38285058737 --2.35785239935 --1.38286799192 --2.34059423208 --1.38288846612 --2.32333546877 --1.38291212916 --2.30607646704 --1.38293895125 --2.28881675005 --1.38295409083 --2.26960688829 --1.3829408288 --2.25039869547 --1.38291379809 --2.2331392169 --1.38288995623 --2.21588003636 --1.38286924362 --2.19862139225 --1.38285166025 --2.18136298656 --1.38283726573 --2.16410505772 --1.38282603025 --2.14684718847 --1.38281795383 --2.12958973646 --1.38281309605 --2.11233216524 --1.38281139732 --2.09507483244 --1.38281285763 --2.07781738043 --1.38281756639 --2.06056004763 --1.38282540441 --2.04330235719 --1.38283643127 --2.02604466676 --1.38285061717 --2.00878661871 --1.38286799192 --1.99152839184 --1.38288846612 --1.97426956892 --1.38291212916 --1.95701056719 --1.38293895125 --1.93975090981 --1.38295412064 --1.92054107785 --1.38294091821 --1.90133288502 --1.3829138577 --1.88407334686 --1.38288995623 --1.86681410671 --1.38286924362 --1.8495555222 --1.38285166025 --1.83229711652 --1.38283723593 --1.81503918767 --1.38282603025 --1.79778131842 --1.38281798363 --1.78052383661 --1.38281309605 --1.76326629519 --1.38281142712 --1.74600896239 --1.38281288743 --1.72875148058 --1.38281753659 --1.71149414777 --1.3828253746 --1.69423645735 --1.38283643127 --1.67697876692 --1.38285061717 --1.65972071886 --1.38286799192 --1.64246249199 --1.38288843632 --1.62520372868 --1.38291212916 --1.60794472695 --1.38293898106 --1.59068503976 --1.38295409083 --1.57147526741 --1.3829408288 --1.55226707459 --1.38291379809 --1.53500753641 --1.38288992643 --1.51774829626 --1.38286924362 --1.50048965216 --1.38285169005 --1.48323124647 --1.38283723593 --1.46597334742 --1.38282603025 --1.44871547818 --1.38281798363 --1.43145796657 --1.38281306625 --1.41420042515 --1.38281136752 --1.39694315195 --1.38281282783 --1.37968564034 --1.38281753659 --1.36242824793 --1.38282540441 --1.3451706171 --1.38283640147 --1.32791298628 --1.38285058737 --1.31065487861 --1.38286799192 --1.29339665174 --1.38288849592 --1.27613788843 --1.38291215896 --1.2588788569 --1.38293895125 --1.24161919952 --1.38295409083 --1.22240939736 --1.3829408288 --1.20320117474 --1.38291379809 --1.18594163656 --1.38288995623 --1.16868242621 --1.38286924362 --1.15142384172 --1.38285166025 --1.13416543603 --1.38283723593 --1.11690747738 --1.38282603025 --1.09964960813 --1.38281798363 --1.08239212632 --1.38281309605 --1.0651345849 --1.38281142712 --1.0478772819 --1.38281288743 --1.03061980009 --1.38281756639 --1.01336243749 --1.38282540441 --0.996104747055 --1.38283643127 --0.97884708643 --1.38285061717 --0.96158900857 --1.38286799192 --0.9443307966 --1.38288846612 --0.927072063088 --1.38291212916 --0.909813061357 --1.38293895125 --0.89255335927 --1.38295412064 --0.873343512416 --1.3829408586 --0.854135334491 --1.38291382789 --0.83687582612 --1.38288998604 --0.81961658597 --1.38286924362 --0.802357956767 --1.38285166025 --0.78509953618 --1.38283726573 --0.767841622233 --1.38282603025 --0.750583767891 --1.38281795383 --0.733326286077 --1.38281309605 --0.716068729758 --1.38281139732 --0.69881144166 --1.38281282783 --0.681553959847 --1.38281753659 --0.664296582341 --1.38282543421 --0.647038906812 --1.38283643127 --0.629781231284 --1.38285058737 --0.612523138523 --1.38286799192 --0.595264926553 --1.38288849592 --0.578006163239 --1.38291215896 --0.560747176409 --1.38293895125 --0.543487519026 --1.38295409083 --0.524277672172 --1.3829408586 --0.505069471895 --1.38291382789 --0.487809941172 --1.38288995623 --0.470550715924 --1.38286924362 --0.453292123973 --1.38285166025 --0.436033718288 --1.38283723593 --0.41877578944 --1.38282603025 --0.401517920196 --1.38281798363 --0.384260430932 --1.38281309605 --0.367002889514 --1.38281139732 --0.349745586514 --1.38281285763 --0.3324880898 --1.38281753659 --0.315230719745 --1.3828253746 --0.297973059117 --1.38283643127 --0.280715405941 --1.38285061717 --0.26345731318 --1.38286799192 --0.246199097484 --1.38288843632 --0.228940334171 --1.38291209936 --0.211681321263 --1.38293898106 --0.194421645254 --1.38295415044 --0.175211831927 --1.36584559083 --0.15600149706 --1.36581867933 --0.138741970062 --1.36579492688 --0.121482757852 --1.36577430368 --0.104224162176 --1.36575680971 --0.0869657564908 --1.36574238539 --0.0697078378871 --1.36573120952 --0.052449981682 --1.3657232821 --0.0351925003343 --1.36571842432 --0.0179349572864 --1.36571669579 --0.000677661038932 --1.3657181561 -0.0165798154194 --1.36572277546 -0.0338371675462 --1.36573055386 -0.0510948225856 --1.36574155092 -0.0683524794876 --1.36575570703 -0.0856105647981 --1.36577302217 -0.102868771181 --1.36579337716 -0.120127525181 --1.36581695079 -0.137386526913 --1.36584371328 -0.154646199196 --1.36585882306 -0.173856090754 --1.36584559083 -0.193064350635 --1.36581864953 -0.210323873907 --1.36579486728 -0.227583084256 --1.36577424407 -0.24484167248 --1.36575677991 -0.262100085616 --1.36574241519 -0.279358007014 --1.36573123932 -0.296615868807 --1.3657232225 -0.313873358071 --1.36571836472 -0.331130892038 --1.36571672559 -0.348388187587 --1.3657181561 -0.36564566195 --1.36572274566 -0.382903024554 --1.36573058367 -0.400160685182 --1.36574161053 -0.417418323458 --1.36575570703 -0.434676416219 --1.36577302217 -0.451934628189 --1.36579343676 -0.469193369151 --1.3658169806 -0.486452378333 --1.36584368348 -0.503712050617 --1.36585876345 -0.522921934724 --1.36584556102 -0.542130202055 --1.36581864953 -0.559389740229 --1.36579486728 -0.576648935676 --1.36577421427 -0.593907520175 --1.36575675011 -0.611165940761 --1.36574241519 -0.628423854709 --1.36573120952 -0.645681709051 --1.36572319269 -0.662939190864 --1.36571836472 -0.680196732282 --1.36571669579 -0.697454035282 --1.3657181263 -0.714711517096 --1.36572277546 -0.7319688797 --1.36573061347 -0.749226540327 --1.36574158072 -0.766484171152 --1.36575567723 -0.783742249012 --1.36577302217 -0.801000460982 --1.36579343676 -0.818259209395 --1.3658169806 -0.835518211127 --1.36584371328 -0.852777883411 --1.36585879326 -0.871987774968 --1.36584556102 -0.891196042299 --1.36581864953 -0.908455565572 --1.36579489708 -0.92571477592 --1.36577424407 -0.94297337532 --1.36575675011 -0.960231795907 --1.36574241519 -0.977489709854 --1.36573120952 -0.994747564197 --1.36572319269 -1.01200506091 --1.36571836472 -1.02926260233 --1.36571666598 -1.04651990533 --1.36571809649 -1.06377738714 --1.36572274566 -1.08103471994 --1.36573058367 -1.09829235077 --1.36574161053 -1.1155500412 --1.36575570703 -1.13280814886 --1.36577302217 -1.15006631612 --1.36579340696 -1.16732507944 --1.36581695079 -1.18458408118 --1.36584371328 -1.20184373856 --1.36585882306 -1.22105363012 --1.36584562063 -1.24026191235 --1.36581867933 -1.25752145052 --1.36579489708 -1.27478063107 --1.36577424407 -1.29203921556 --1.36575675011 -1.30929762125 --1.36574241519 -1.3265555501 --1.36573123932 -1.34381341934 --1.3657232225 -1.36107090115 --1.36571836472 -1.37832844257 --1.36571669579 -1.39558574558 --1.3657181263 -1.41284322739 --1.36572274566 -1.43010058999 --1.36573055386 -1.44735825062 --1.36574155092 -1.46461588144 --1.36575567723 -1.4818739593 --1.36577302217 -1.49913218617 --1.36579340696 -1.51639091969 --1.36581695079 -1.53364992142 --1.36584371328 -1.5509096086 --1.36585879326 -1.57011950016 --1.36584553122 -1.58932775259 --1.36581861972 -1.60658726096 --1.36579486728 -1.62384650111 --1.36577424407 -1.64110511541 --1.36575677991 -1.6583635211 --1.36574238539 -1.67562142014 --1.36573120952 -1.69287928939 --1.3657232523 -1.7101367712 --1.36571842432 -1.72739428282 --1.36571669578 -1.74465158582 --1.36571809649 -1.76190906763 --1.36572277546 -1.77916640043 --1.36573061347 -1.79642406106 --1.36574158072 -1.81368175149 --1.36575567723 -1.83093982935 --1.36577302217 -1.84819799662 --1.36579343676 -1.86545675993 --1.3658169806 -1.88271576166 --1.36584368348 -1.89997541905 --1.36585876345 -1.9191853404 --1.36584556102 -1.93839362264 --1.36581864953 -1.95565313101 --1.36579489708 -1.97291231155 --1.36577424407 -1.99017089605 --1.36575675011 -2.00742933154 --1.36574238539 -2.02468729019 --1.36573120952 -2.04194515943 --1.3657232225 -2.05920261144 --1.36571836472 -2.07646018266 --1.36571672559 -2.09371751547 --1.3657181561 -2.11097496748 --1.36572277546 -2.12823230028 --1.36573061347 -2.14548999071 --1.36574161053 -2.16274768114 --1.36575570703 -2.1800057292 --1.36577302217 -2.19726389646 --1.36579346657 -2.21452265978 --1.3658170402 -2.23178166151 --1.36584371328 -2.24904125929 --1.36585879326 -2.26825118065 --1.36584559083 -2.28745949268 --1.36581867933 -2.30471897125 --1.36579492688 -2.3219781518 --1.36577424407 -2.3392367959 --1.36575675011 -2.35649526119 --1.36574244499 -2.37375313044 --1.36573123932 -2.39101094008 --1.3657232225 -2.40826845169 --1.36571839452 -2.42552602291 --1.36571669579 -2.44278329611 --1.3657181561 -2.46004074812 --1.36572280526 -2.47729808092 --1.36573061347 -2.49455577135 --1.36574158072 -2.51181346178 --1.36575567723 -2.52907150984 --1.36577302217 -2.54632967711 --1.36579343676 -2.56358844042 --1.3658169806 -2.58084744215 --1.36584368348 -2.59810715914 --1.36585876345 -2.6173170805 --1.36584556102 -2.63652533293 --1.36581864953 -2.6537848711 --1.36579489708 -2.67104405165 --1.36577424407 -2.68830263614 --1.36575675011 -2.70556104183 --1.36574238539 -2.72281897068 --1.36573120952 -2.74007683992 --1.3657232225 -2.75733435154 --1.36571836472 -2.77459186315 --1.36571669579 -2.79184907675 --1.3657181263 -2.80910658836 --1.36572271586 -2.82636398077 --1.36573055386 -2.8436216116 --1.36574161053 -2.86087924242 --1.36575570703 -2.87813729048 --1.36577302217 -2.89539557695 --1.36579340696 -2.91265434027 --1.36581695079 -2.929913342 --1.36584368348 -2.94717305899 --1.36585879326 -2.96638286114 --1.36584559083 -2.98559111357 --1.36581867933 -3.00285065174 --1.36579492688 -3.02010989189 --1.36577430368 -3.037368536 --1.36575680971 -3.05462694168 --1.36574238539 -3.07188487053 --1.36573120952 -3.08914273978 --1.3657232821 -3.10640019179 --1.36571842432 -3.1236577034 --1.36571669579 -3.14091494878 --1.3657181561 --3.1250128746 --1.36572277546 --3.1077554822 --1.36573055386 --3.09049785137 --1.36574155092 --3.07324022055 --1.36575570703 --3.05598217249 --1.36577302217 --3.03872388602 --1.36579337716 --3.0214651227 --1.36581695079 --3.00420612096 --1.36584371328 --2.98694640398 --1.36585882306 --2.96773654222 --1.36584559083 --2.94852828979 --1.36581864953 --2.93126881122 --1.36579486728 --2.91400957107 --1.36577424407 --2.89675092697 --1.36575677991 --2.87949252129 --1.36574241519 --2.86223459244 --1.36573123932 --2.84497672319 --1.3657232225 --2.82771927118 --1.36571836472 --2.81046175957 --1.36571672559 --2.79320442676 --1.3657181561 --2.77594691515 --1.36572274566 --2.75868958235 --1.36573058367 --2.74143201113 --1.36574161053 --2.7241743803 --1.36575570703 --2.70691621303 --1.36577302217 --2.68965798617 --1.36579343676 --2.67239922285 --1.3658169806 --2.65514022112 --1.36584368348 --2.63788062334 --1.36585876345 --2.61867076159 --1.36584556102 --2.59946244955 --1.36581864953 --2.58220291138 --1.36579486728 --2.56494373083 --1.36577421427 --2.54768514633 --1.36575675011 --2.53042674065 --1.36574241519 --2.5131688118 --1.36573120952 --2.49591094255 --1.36572319269 --2.47865349054 --1.36571836472 --2.46139591933 --1.36571669579 --2.44413858652 --1.3657181263 --2.42688113451 --1.36572277546 --2.40962380171 --1.36573061347 --2.39236611128 --1.36574158072 --2.37510842085 --1.36575567723 --2.35785037279 --1.36577302217 --2.34059220553 --1.36579343676 --2.32333344221 --1.3658169806 --2.30607444048 --1.36584371328 --2.28881478309 --1.36585879326 --2.26960486173 --1.36584556102 --2.2503966093 --1.36581864953 --2.23313713074 --1.36579489708 --2.21587789059 --1.36577424407 --2.19861924649 --1.36575675011 --2.1813608408 --1.36574241519 --2.16410291195 --1.36573120952 --2.1468450427 --1.36572319269 --2.12958759069 --1.36571836472 --2.11233007908 --1.36571666598 --2.09507274628 --1.36571809649 --2.07781529427 --1.36572274566 --2.06055796146 --1.36573058367 --2.04330027103 --1.36574161053 --2.02604264021 --1.36575570703 --2.00878459215 --1.36577302217 --1.99152636528 --1.36579340696 --1.97426757217 --1.36581695079 --1.95700857043 --1.36584371328 --1.93974891305 --1.36585882306 --1.92053902149 --1.36584562063 --1.90133076906 --1.36581867933 --1.88407123089 --1.36579489708 --1.86681199074 --1.36577424407 --1.84955340624 --1.36575675011 --1.83229500055 --1.36574241519 --1.8150370717 --1.36573123932 --1.79777920246 --1.3657232225 --1.78052175045 --1.36571836472 --1.76326420903 --1.36571669579 --1.74600690603 --1.3657181263 --1.72874945402 --1.36572274566 --1.71149209141 --1.36573055386 --1.69423440099 --1.36574155092 --1.67697674036 --1.36575567723 --1.6597186923 --1.36577302217 --1.64246046543 --1.36579340696 --1.62520170212 --1.36581695079 --1.60794273019 --1.36584371328 --1.59068307281 --1.36585879326 --1.57147318125 --1.36584553122 --1.55226489902 --1.36581861972 --1.53500539064 --1.36579486728 --1.5177461803 --1.36577424407 --1.50048756599 --1.36575677991 --1.48322913051 --1.36574238539 --1.46597123146 --1.36573120952 --1.44871339202 --1.3657232523 --1.4314558804 --1.36571842432 --1.41419833898 --1.36571669578 --1.39694106579 --1.36571809649 --1.37968358398 --1.36572277546 --1.36242622137 --1.36573061347 --1.34516859054 --1.36574158072 --1.32791092992 --1.36575567723 --1.31065282225 --1.36577302217 --1.29339462519 --1.36579343676 --1.27613586187 --1.3658169806 --1.25887686014 --1.36584368348 --1.24161720276 --1.36585876345 --1.2224073112 --1.36584556102 --1.20319902897 --1.36581864953 --1.1859394908 --1.36579489708 --1.16868031025 --1.36577424407 --1.15142172575 --1.36575675011 --1.13416332006 --1.36574238539 --1.11690539121 --1.36573120952 --1.09964752197 --1.3657232225 --1.08239004016 --1.36571836472 --1.06513249874 --1.36571672559 --1.04787522554 --1.3657181561 --1.03061774373 --1.36572277546 --1.01336035132 --1.36573061347 --0.996102690694 --1.36574161053 --0.978845044971 --1.36575570703 --0.961586967111 --1.36577302217 --0.944328770041 --1.36579346657 --0.927070036531 --1.3658170402 --0.909811034799 --1.36584371328 --0.892551362514 --1.36585879326 --0.873341456055 --1.36584559083 --0.854133173823 --1.36581867933 --0.836873665452 --1.36579492688 --0.819614470005 --1.36577424407 --0.802355855703 --1.36575675011 --0.785097435117 --1.36574244499 --0.767839536071 --1.36573123932 --0.750581666827 --1.3657232225 --0.733324199915 --1.36571839452 --0.716066658497 --1.36571669579 --0.698809340596 --1.3657181561 --0.681551873684 --1.36572280526 --0.664294525981 --1.36573061347 --0.647036865354 --1.36574158072 --0.629779189825 --1.36575567723 --0.612521111966 --1.36577302217 --0.595262929797 --1.36579343676 --0.578004181385 --1.3658169806 --0.560745194554 --1.36584368348 --0.54348552227 --1.36585876345 --0.52427560091 --1.36584556102 --0.505067333579 --1.36581864953 --0.487807817757 --1.36579489708 --0.470548599959 --1.36577424407 --0.453290015459 --1.36575675011 --0.436031609773 --1.36574238539 --0.418773680926 --1.36573120952 --0.401515826583 --1.3657232225 --0.384258344769 --1.36571836472 --0.367000803351 --1.36571669579 --0.349743515253 --1.3657181263 --0.33248604089 --1.36572271586 --0.315228678286 --1.36573055386 --0.297971025109 --1.36574161053 --0.280713379383 --1.36575570703 --0.263455294073 --1.36577302217 --0.246197082102 --1.36579340696 --0.228938322514 --1.36581695079 --0.211679320782 --1.36584368348 --0.194419652223 --1.36585879326 --0.175209764391 --1.34872514009 --0.155999328941 --1.34869834781 --0.138739809394 --1.34867468476 --0.121480602771 --1.34865412116 --0.104222014546 --1.3486367464 --0.0869636181742 --1.34862247109 --0.0697057107463 --1.34861129523 --0.0524478610605 --1.348603338 --0.035190386232 --1.34859853983 --0.0179328531958 --1.34859681129 --0.000675566261633 --1.34859827161 -0.0165819020476 --1.34860292077 -0.0338392457924 --1.34861066937 -0.051096893847 --1.34862160683 -0.0683545432985 --1.34863567353 -0.0856126174331 --1.34865292907 -0.10287081264 --1.34867322445 -0.120129553601 --1.34869664907 -0.13738854602 --1.34872329235 -0.154648210853 --1.34873834252 -0.173858176917 --1.34872514009 -0.193066518754 --1.34869834781 -0.210326042026 --1.34867468476 -0.227585241198 --1.34865412116 -0.244843818247 --1.3486367464 -0.262102231384 --1.34862244129 -0.27936013788 --1.34861129523 -0.296617977321 --1.348603338 -0.313875459134 --1.34859851002 -0.331132993102 --1.34859684109 -0.3483902812 --1.34859827161 -0.365647740662 --1.34860286117 -0.382905088365 --1.34861063957 -0.400162748992 --1.34862160683 -0.417420394719 --1.34863564372 -0.434678465128 --1.34865289926 -0.451936669648 --1.34867325425 -0.46919541806 --1.34869667888 -0.486454419792 --1.34872326255 -0.503714069724 --1.34873831272 -0.522924020886 --1.34872514009 -0.542132377624 --1.34869831801 -0.559391900897 --1.34867465496 -0.576651081443 --1.34865412116 -0.593909665942 --1.3486367464 -0.611168086529 --1.34862247109 -0.628426000476 --1.34861132503 -0.645683839917 --1.348603338 -0.66294130683 --1.34859851002 -0.680198833346 --1.34859681129 -0.697456121445 --1.3485982418 -0.714713603258 --1.34860289097 -0.731970950961 --1.34861066937 -0.749228596687 --1.34862160683 -0.766486257315 --1.34863564372 -0.783744320273 --1.34865286946 -0.801002502441 --1.34867322445 -0.818261250854 --1.34869667888 -0.835520252586 --1.34872329235 -0.852779924869 --1.34873834252 -0.871989876032 --1.34872514009 -0.891198217869 --1.34869834781 -0.908457741141 --1.34867468476 -0.925716936588 --1.34865409136 -0.942975521087 --1.3486367166 -0.960233941674 --1.34862244129 -0.977491855621 --1.34861129523 -0.994749680162 --1.348603338 -1.01200714707 --1.34859851002 -1.02926471829 --1.34859681129 -1.04652202129 --1.3485982418 -1.06377947331 --1.34860286117 -1.08103680611 --1.34861063957 -1.09829443693 --1.34862160683 -1.11555209756 --1.34863564372 -1.13281017542 --1.34865289926 -1.15006834269 --1.34867325425 -1.167327106 --1.34869667888 -1.18458610773 --1.34872329235 -1.20184576511 --1.34873834252 -1.22105574608 --1.34872514009 -1.24026408792 --1.34869834781 -1.25752359629 --1.34867471456 -1.27478277683 --1.34865415096 -1.29204136133 --1.3486367464 -1.30929976701 --1.34862247109 -1.32655769587 --1.34861132503 -1.34381556511 --1.3486033082 -1.36107301712 --1.34859848022 -1.37833052874 --1.34859681129 -1.39558783174 --1.3485982418 -1.41284531355 --1.34860289097 -1.43010264635 --1.34861066937 -1.44736027718 --1.34862160683 -1.4646179378 --1.34863564372 -1.48187604546 --1.34865289926 -1.49913424253 --1.34867325425 -1.51639294624 --1.34869670868 -1.53365194798 --1.34872329235 -1.55091160536 --1.34873831272 -1.57012155652 --1.34872511029 -1.58932992816 --1.3486982882 -1.60658946633 --1.34867468476 -1.62384867668 --1.34865415096 -1.64110726118 --1.3486367464 -1.65836566686 --1.34862244129 -1.67562353611 --1.34861126542 -1.69288137555 --1.3486033082 -1.71013888717 --1.34859853982 -1.72739642859 --1.34859684109 -1.74465370178 --1.3485982418 -1.7619111538 --1.34860289097 -1.7791684866 --1.34861066937 -1.79642614722 --1.34862160683 -1.81368380785 --1.34863564372 -1.83094185591 --1.34865289926 -1.84820005298 --1.34867325425 -1.86545881629 --1.34869667888 -1.88271778822 --1.34872326255 -1.8999774456 --1.34873831272 -1.91918745637 --1.34872514009 -1.93839579821 --1.34869834781 -1.95565527677 --1.34867468476 -1.97291448712 --1.34865409136 -1.99017307162 --1.3486367166 -2.00743147731 --1.34862244129 -2.02468937636 --1.34861129523 -2.04194718599 --1.3486033082 -2.05920469761 --1.34859848022 -2.07646226883 --1.34859684109 -2.09371954203 --1.34859827161 -2.11097699404 --1.34860292077 -2.12823432684 --1.34861069917 -2.14549201727 --1.34862160683 -2.1627497077 --1.34863564372 -2.18000775576 --1.34865289926 -2.19726592302 --1.34867328405 -2.21452468634 --1.34869673848 -2.23178368807 --1.34872329235 -2.24904328585 --1.34873831272 -2.26825326681 --1.3487251699 -2.28746163845 --1.34869834781 -2.30472111702 --1.34867465496 -2.32198035717 --1.34865412116 -2.33923900127 --1.3486367464 -2.35649740696 --1.34862247109 -2.3737552762 --1.34861132503 -2.39101308584 --1.348603338 -2.40827059746 --1.34859851002 -2.42552810908 --1.34859684109 -2.44278532267 --1.34859830141 -2.46004283428 --1.34860295058 -2.47730022669 --1.34861069917 -2.49455785751 --1.34862160683 -2.51181548834 --1.34863564372 -2.5290735364 --1.34865289926 -2.54633170366 --1.34867325425 -2.56359046697 --1.34869667888 -2.58084946871 --1.34872326255 -2.5981091857 --1.34873831272 -2.61731916666 --1.34872514009 -2.63652747869 --1.34869834781 -2.65378701687 --1.34867468476 -2.67104619741 --1.34865412116 -2.68830478191 --1.3486367464 -2.7055631876 --1.34862244129 -2.72282111645 --1.34861129523 -2.74007898569 --1.3486033082 -2.7573364377 --1.34859848022 -2.77459394932 --1.34859684109 -2.79185122251 --1.34859827161 -2.80910873413 --1.34860286117 -2.82636612654 --1.34861063957 -2.84362369776 --1.34862160683 -2.86088126898 --1.34863564372 -2.87813937664 --1.34865289926 -2.89539766312 --1.34867325425 -2.91265636682 --1.34869670868 -2.92991536855 --1.34872329235 -2.94717508554 --1.34873831272 -2.9663850069 --1.34872514009 -2.98559331894 --1.34869834781 -3.00285279751 --1.34867468476 -3.02011203766 --1.34865412116 -3.03737068176 --1.3486367464 -3.05462908745 --1.34862247109 -3.07188695669 --1.34861129523 -3.08914476633 --1.348603338 -3.10640221834 --1.34859853983 -3.12365978956 --1.34859681129 -3.14091709455 --1.34859827161 --3.12501072883 --1.34860292077 --3.10775333643 --1.34861066937 --3.09049576521 --1.34862160683 --3.07323819399 --1.34863567353 --3.05598008633 --1.34865292907 --3.03872179985 --1.34867322445 --3.02146309614 --1.34869664907 --3.00420409441 --1.34872329235 --2.98694437742 --1.34873834252 --2.96773445606 --1.34872514009 --2.94852608442 --1.34869834781 --2.93126660585 --1.34867468476 --2.91400742531 --1.34865412116 --2.8967487812 --1.3486367464 --2.87949037552 --1.34862244129 --2.86223250627 --1.34861129523 --2.84497469664 --1.348603338 --2.82771718502 --1.34859851002 --2.8104596138 --1.34859684109 --2.7932023406 --1.34859827161 --2.77594488859 --1.34860286117 --2.75868755579 --1.34861063957 --2.74142992497 --1.34862160683 --2.72417223454 --1.34863564372 --2.70691412687 --1.34865289926 --2.68965595961 --1.34867325425 --2.67239719629 --1.34869667888 --2.65513819456 --1.34872326255 --2.63787859678 --1.34873831272 --2.61866867542 --1.34872514009 --2.59946030378 --1.34869831801 --2.58220076561 --1.34867465496 --2.56494158507 --1.34865412116 --2.54768300056 --1.3486367464 --2.53042459488 --1.34862247109 --2.51316666603 --1.34861132503 --2.49590879679 --1.348603338 --2.47865134478 --1.34859851002 --2.46139383316 --1.34859681129 --2.44413655996 --1.3485982418 --2.42687910795 --1.34860289097 --2.40962177515 --1.34861066937 --2.39236408472 --1.34862160683 --2.37510639429 --1.34863564372 --2.35784834623 --1.34865286946 --2.34059017897 --1.34867322445 --2.32333141565 --1.34869667888 --2.30607241392 --1.34872329235 --2.28881275654 --1.34873834252 --2.26960277557 --1.34872514009 --2.25039446354 --1.34869834781 --2.23313492537 --1.34867468476 --2.21587568522 --1.34865409136 --2.19861710072 --1.3486367166 --2.18135869503 --1.34862244129 --2.16410076618 --1.34861129523 --2.14684289694 --1.348603338 --2.12958544493 --1.34859851002 --2.11232793331 --1.34859681129 --2.09507060051 --1.3485982418 --2.0778131485 --1.34860286117 --2.06055581569 --1.34861063957 --2.04329818487 --1.34862160683 --2.02604061365 --1.34863564372 --2.00878256559 --1.34865289926 --1.99152433872 --1.34867325425 --1.97426557541 --1.34869667888 --1.95700657368 --1.34872329235 --1.9397469163 --1.34873834252 --1.92053696513 --1.34872514009 --1.90132859349 --1.34869834781 --1.88406905532 --1.34867471456 --1.86680984497 --1.34865415096 --1.84955126047 --1.3486367464 --1.83229285478 --1.34862247109 --1.81503495574 --1.34861132503 --1.7977771163 --1.3486033082 --1.78051963449 --1.34859848022 --1.76326209307 --1.34859681129 --1.74600481987 --1.3485982418 --1.72874736786 --1.34860289097 --1.71149000525 --1.34861066937 --1.69423234463 --1.34862160683 --1.6769747138 --1.34863564372 --1.65971663594 --1.34865289926 --1.64245840907 --1.34867325425 --1.62519967556 --1.34869670868 --1.60794070363 --1.34872329235 --1.59068104625 --1.34873831272 --1.57147106528 --1.34872511029 --1.55226272345 --1.3486982882 --1.53500324488 --1.34867468476 --1.51774403453 --1.34865415096 --1.50048545003 --1.3486367464 --1.48322701454 --1.34862244129 --1.46596908569 --1.34861126542 --1.44871127605 --1.3486033082 --1.43145379424 --1.34859853982 --1.41419625282 --1.34859684109 --1.39693894982 --1.3485982418 --1.37968149781 --1.34860289097 --1.36242416501 --1.34861066937 --1.34516650438 --1.34862160683 --1.32790884375 --1.34863564372 --1.31065076589 --1.34865289926 --1.29339259863 --1.34867325425 --1.27613383532 --1.34869667888 --1.25887483358 --1.34872326255 --1.2416151762 --1.34873831272 --1.22240519524 --1.34872514009 --1.2031968534 --1.34869834781 --1.18593734503 --1.34867468476 --1.16867816448 --1.34865409136 --1.15141957998 --1.3486367166 --1.1341611743 --1.34862244129 --1.11690324545 --1.34861129523 --1.09964540601 --1.3486033082 --1.082387954 --1.34859848022 --1.06513041258 --1.34859684109 --1.04787313938 --1.34859827161 --1.03061565757 --1.34860292077 --1.01335829496 --1.34861069917 --0.996100649235 --1.34862160683 --0.97884298861 --1.34863564372 --0.961584925651 --1.34865289926 --0.944326728582 --1.34867328405 --0.927067995071 --1.34869673848 --0.909809023141 --1.34872329235 --0.892549365758 --1.34873831272 --0.873339384794 --1.3487251699 --0.854131013155 --1.34869834781 --0.836871504784 --1.34867465496 --0.819612309337 --1.34865412116 --0.802353709936 --1.3486367464 --0.785095304251 --1.34862247109 --0.767837390303 --1.34861132503 --0.750579550862 --1.348603338 --0.733322098851 --1.34859851002 --0.716064557433 --1.34859684109 --0.698807254434 --1.34859830141 --0.681549787521 --1.34860295058 --0.664292439818 --1.34861069917 --0.647034794092 --1.34862160683 --0.629777148366 --1.34863564372 --0.612519070506 --1.34865289926 --0.595260888338 --1.34867325425 --0.578002154827 --1.34869667888 --0.560743153095 --1.34872326255 --0.543483480811 --1.34873831272 --0.524273514748 --1.34872514009 --0.505065172911 --1.34869834781 --0.487805649638 --1.34867468476 --0.470546454191 --1.34865412116 --0.453287877142 --1.3486367464 --0.436029471457 --1.34862244129 --0.418771550059 --1.34861129523 --0.401513703168 --1.3486033082 --0.384256228805 --1.34859848022 --0.366998687386 --1.34859684109 --0.349741414189 --1.34859827161 --0.332483954728 --1.34860286117 --0.315226599574 --1.34861063957 --0.297968953848 --1.34862160683 --0.280711315572 --1.34863564372 --0.263453237713 --1.34865289926 --0.246195033193 --1.34867325425 --0.228936288506 --1.34869670868 --0.21167729795 --1.34872329235 --0.194417636842 --1.34873831272 --0.175207670778 --1.33157590032 --0.15599712357 --1.33154922724 --0.138737615198 --1.3315256834 --0.121478419751 --1.33150523901 --0.104219840839 --1.33148792386 --0.0869614500552 --1.33147370815 --0.069703550078 --1.33146262169 --0.052445711568 --1.33145469427 --0.0351882451214 --1.3314499259 --0.0179307213984 --1.33144822716 --0.000673443078995 --1.33144965768 -0.016584015917 --1.33145430684 -0.0338413515128 --1.33146205544 -0.0510989902541 --1.33147290349 -0.068356629461 --1.33148688078 -0.085614696145 --1.33150404692 -0.102872883901 --1.33152425289 -0.120131621138 --1.33154758811 -0.13739060238 --1.33157408237 -0.154650248587 --1.33158904314 -0.173860296607 --1.33157593012 -0.193068724126 --1.33154925704 -0.210328236223 --1.33152571321 -0.227587427944 --1.33150526881 -0.244846001268 --1.33148792386 -0.262104392052 --1.33147367835 -0.279362283647 --1.33146265149 -0.296620123088 --1.33145475388 -0.313877597451 --1.3314499259 -0.331135123968 --1.33144822716 -0.348392404616 --1.33144965768 -0.365649856627 --1.33145427704 -0.382907189428 --1.33146202564 -0.400164835155 --1.33147290349 -0.41742247343 --1.33148685098 -0.434680528939 --1.33150401712 -0.451938733458 --1.3315242827 -0.469197489321 --1.33154761791 -0.486456468701 --1.33157408237 -0.503716111183 --1.33158904314 -0.522926151752 --1.33157593012 -0.542134582996 --1.33154922724 -0.559394091368 --1.3315256536 -0.576653271914 --1.33150526881 -0.593911841512 --1.33148798346 -0.611170247197 --1.33147370815 -0.628428161144 --1.33146265149 -0.645685985684 --1.33145475388 -0.662943452597 --1.3314499259 -0.680200979114 --1.33144822716 -0.697458252311 --1.33144965768 -0.714715719223 --1.33145427704 -0.731973037124 --1.33146202564 -0.749230667949 --1.33147290349 -0.766488343477 --1.33148685098 -0.783746421337 --1.33150398731 -0.801004603505 --1.33152425289 -0.818263322115 --1.33154764772 -0.835522308945 --1.33157411218 -0.852781981229 --1.33158904314 -0.871992006898 --1.33157593012 -0.891200423241 --1.33154925704 -0.908459931612 --1.3315256834 -0.925719112157 --1.33150520921 -0.942977696657 --1.33148789406 -0.960236102343 --1.33147367835 -0.977494001389 --1.33146265149 -0.994751825929 --1.33145475388 -1.01200926304 --1.3314499259 -1.02926683426 --1.33144822716 -1.04652416706 --1.33144965768 -1.06378158927 --1.33145427704 -1.08103889227 --1.33146202564 -1.0982965529 --1.33147290349 -1.11555421353 --1.33148685098 -1.13281226158 --1.33150401712 -1.15007042885 --1.3315243125 -1.16732916236 --1.33154764772 -1.18458816409 --1.33157408237 -1.20184782147 --1.33158904314 -1.22105786204 --1.33157593012 -1.24026629329 --1.33154925704 -1.25752580166 --1.33152571321 -1.2747849822 --1.33150526881 -1.2920435369 --1.33148795366 -1.30930191278 --1.33147370815 -1.32655984163 --1.33146265149 -1.34381771088 --1.33145472407 -1.36107516289 --1.33144989609 -1.3783326745 --1.33144822716 -1.3955899477 --1.33144968748 -1.41284739971 --1.33145430684 -1.43010473251 --1.33146199584 -1.44736236334 --1.33147287369 -1.46462002396 --1.33148685098 -1.48187810183 --1.33150401712 -1.49913626909 --1.3315242827 -1.5163950026 --1.33154767752 -1.53365400434 --1.33157411217 -1.55091366172 --1.33158901334 -1.57012370229 --1.33157593012 -1.58933213353 --1.33154922724 -1.6065916419 --1.33152571321 -1.62385082245 --1.33150529861 -1.64110940695 --1.33148792386 -1.65836781263 --1.33147367835 -1.67562568188 --1.33146262169 -1.69288349152 --1.33145466447 -1.71014100313 --1.33144986629 -1.72739857435 --1.33144822716 -1.74465584755 --1.33144965768 -1.76191329956 --1.33145427704 -1.77917063236 --1.33146202564 -1.79642826319 --1.33147290349 -1.81368589401 --1.33148685098 -1.83094394207 --1.33150401712 -1.84820213914 --1.3315242827 -1.86546087265 --1.33154761791 -1.88271984458 --1.33157408237 -1.89997950196 --1.33158904314 -1.91918954253 --1.33157590032 -1.93839797377 --1.33154922724 -1.95565748214 --1.33152571321 -1.9729166925 --1.33150523901 -1.99017524719 --1.33148789406 -2.00743362308 --1.33147367835 -2.02469152212 --1.33146265149 -2.04194933176 --1.33145472407 -2.05920684338 --1.33144989609 -2.0764644146 --1.33144822716 -2.0937216878 --1.33144965768 -2.1109790802 --1.33145430684 -2.128236413 --1.33146205544 -2.14549410343 --1.33147290349 -2.16275173426 --1.33148685098 -2.18000978231 --1.33150401712 -2.19726794958 --1.3315242827 -2.21452671289 --1.33154764772 -2.23178571463 --1.33157411218 -2.24904531241 --1.33158904314 -2.26825535297 --1.33157595992 -2.28746384382 --1.33154925704 -2.30472332239 --1.3315256536 -2.32198250294 --1.33150526881 -2.33924114704 --1.33148795366 -2.35649955273 --1.33147367835 -2.37375742197 --1.33146265149 -2.39101523161 --1.33145472407 -2.40827268362 --1.33144989609 -2.42553019524 --1.33144822716 -2.44278746843 --1.33144965768 -2.46004498005 --1.33145433664 -2.47730237246 --1.33146208525 -2.49456000328 --1.33147290349 -2.5118175745 --1.33148685098 -2.52907562256 --1.33150401712 -2.54633384943 --1.3315242827 -2.56359255314 --1.33154764772 -2.58085149527 --1.33157411218 -2.59811121225 --1.33158901334 -2.61732125282 --1.33157590032 -2.63652962446 --1.33154925704 -2.65378922224 --1.3315256834 -2.67104846239 --1.33150523901 -2.68830698729 --1.33148792386 -2.70556533337 --1.33147367835 -2.72282326222 --1.33146265149 -2.74008113146 --1.33145472407 -2.75733858347 --1.33144989609 -2.77459609509 --1.33144822716 -2.79185336828 --1.33144965768 -2.80911082029 --1.33145427704 -2.8263681531 --1.33146202564 -2.84362578392 --1.33147290349 -2.86088341475 --1.33148688078 -2.87814152241 --1.33150404692 -2.89539974928 --1.3315242827 -2.91265845299 --1.33154767752 -2.92991745472 --1.33157414198 -2.9471771121 --1.33158904314 -2.96638715267 --1.33157590032 -2.98559552431 --1.33154922724 -3.00285500288 --1.3315256834 -3.02011424303 --1.33150523901 -3.03737282753 --1.33148792386 -3.05463123322 --1.33147370815 -3.07188910246 --1.33146262169 -3.0891469121 --1.33145469427 -3.10640436411 --1.3314499259 -3.12366187572 --1.33144822716 -3.14091918071 --1.33144965768 --3.12500864267 --1.33145430684 --3.10775130987 --1.33146205544 --3.09049367905 --1.33147290349 --3.07323604822 --1.33148688078 --3.05597794056 --1.33150404692 --3.03871971369 --1.33152425289 --3.02146100998 --1.33154758811 --3.00420200825 --1.33157408237 --2.98694235086 --1.33158904314 --2.9677323103 --1.33157593012 --2.94852387905 --1.33154925704 --2.93126440049 --1.33152571321 --2.91400521994 --1.33150526881 --2.89674663544 --1.33148792386 --2.87948822975 --1.33147367835 --2.86223036051 --1.33146265149 --2.84497255087 --1.33145475388 --2.82771503925 --1.3314499259 --2.81045746803 --1.33144822716 --2.79320025444 --1.33144965768 --2.77594280243 --1.33145427704 --2.75868541002 --1.33146202564 --2.7414277792 --1.33147290349 --2.72417014837 --1.33148685098 --2.70691210031 --1.33150401712 --2.68965393305 --1.3315242827 --2.67239516974 --1.33154761791 --2.655136168 --1.33157408237 --2.63787657022 --1.33158904314 --2.61866652966 --1.33157593012 --2.59945803881 --1.33154922724 --2.58219856024 --1.3315256536 --2.5649394393 --1.33150526881 --2.5476808548 --1.33148798346 --2.53042244911 --1.33147370815 --2.51316452026 --1.33146265149 --2.49590665102 --1.33145475388 --2.47864919901 --1.3314499259 --2.46139168739 --1.33144822716 --2.4441344142 --1.33144965768 --2.42687696219 --1.33145427704 --2.40961962938 --1.33146202564 --2.39236199856 --1.33147290349 --2.37510436773 --1.33148685098 --2.35784626007 --1.33150398731 --2.3405880332 --1.33152425289 --2.32332932949 --1.33154764772 --2.30607038736 --1.33157411218 --2.28881067037 --1.33158904314 --2.26960062981 --1.33157593012 --2.25039225817 --1.33154925704 --2.23313271999 --1.3315256834 --2.21587353945 --1.33150520921 --2.19861495495 --1.33148789406 --2.18135654926 --1.33147367835 --2.16409862041 --1.33146265149 --2.14684075117 --1.33145475388 --2.12958329916 --1.3314499259 --2.11232578755 --1.33144822716 --2.09506851435 --1.33144965768 --2.07781106234 --1.33145427704 --2.06055372953 --1.33146202564 --2.04329609871 --1.33147290349 --2.02603846788 --1.33148685098 --2.00878041982 --1.33150401712 --1.99152225256 --1.3315243125 --1.97426351905 --1.33154764772 --1.95700451732 --1.33157408237 --1.93974485994 --1.33158904314 --1.92053481937 --1.33157593012 --1.90132638812 --1.33154925704 --1.88406687975 --1.33152571321 --1.8668076694 --1.33150526881 --1.8495490849 --1.33148795366 --1.83229070902 --1.33147370815 --1.81503280997 --1.33146265149 --1.79777497053 --1.33145472407 --1.78051748872 --1.33144989609 --1.7632599473 --1.33144822716 --1.74600267411 --1.33144968748 --1.72874522209 --1.33145430684 --1.71148788929 --1.33146199584 --1.69423025846 --1.33147287369 --1.67697262764 --1.33148685098 --1.65971454978 --1.33150401712 --1.64245635271 --1.3315242827 --1.6251976192 --1.33154767752 --1.60793861747 --1.33157411217 --1.59067898989 --1.33158901334 --1.57146894932 --1.33157593012 --1.55226051807 --1.33154922724 --1.5350010395 --1.33152571321 --1.51774182916 --1.33150529861 --1.50048324466 --1.33148792386 --1.48322483897 --1.33147367835 --1.46596693992 --1.33146262169 --1.44870913029 --1.33145466447 --1.43145167827 --1.33144986629 --1.41419416666 --1.33144822716 --1.39693686366 --1.33144965768 --1.37967941165 --1.33145427704 --1.36242207884 --1.33146202564 --1.34516441822 --1.33147290349 --1.32790678739 --1.33148685098 --1.31064870953 --1.33150401712 --1.29339051247 --1.3315242827 --1.27613177895 --1.33154761791 --1.25887280703 --1.33157408237 --1.24161314965 --1.33158904314 --1.22240307927 --1.33157590032 --1.20319467783 --1.33154922724 --1.18593519926 --1.33152571321 --1.16867598891 --1.33150523901 --1.15141740441 --1.33148789406 --1.13415902853 --1.33147367835 --1.11690109968 --1.33146265149 --1.09964326024 --1.33145472407 --1.08238580823 --1.33144989609 --1.06512826681 --1.33144822716 --1.04787099361 --1.33144965768 --1.0306135416 --1.33145430684 --1.0133562088 --1.33146205544 --0.996098563075 --1.33147290349 --0.978840917349 --1.33148685098 --0.96158285439 --1.33150401712 --0.944324657321 --1.3315242827 --0.92706592381 --1.33154764772 --0.90980695188 --1.33157411218 --0.892547309398 --1.33158904314 --0.873337268829 --1.33157595992 --0.854128837585 --1.33154925704 --0.836869329214 --1.3315256536 --0.819610133767 --1.33150526881 --0.802351549268 --1.33148795366 --0.785093143582 --1.33147367835 --0.767835229635 --1.33146265149 --0.750577405095 --1.33145472407 --0.733319953084 --1.33144989609 --0.716062426567 --1.33144822716 --0.69880515337 --1.33144965768 --0.681547686458 --1.33145433664 --0.664290338755 --1.33146208525 --0.647032693028 --1.33147290349 --0.629775062203 --1.33148685098 --0.612517014146 --1.33150401712 --0.595258817077 --1.3315242827 --0.578000083566 --1.33154764772 --0.560741096735 --1.33157411218 --0.543481439352 --1.33158901334 --0.524271398783 --1.33157590032 --0.505062967539 --1.33154925704 --0.487803451717 --1.3315256834 --0.470544263721 --1.33150523901 --0.453285686671 --1.33148792386 --0.436027295887 --1.33147367835 --0.418769396841 --1.33146265149 --0.40151154995 --1.33145472407 --0.384254083037 --1.33144989609 --0.36699655652 --1.33144822716 --0.349739290773 --1.33144965768 --0.332481838762 --1.33145427704 --0.31522449106 --1.33146202564 --0.297966852784 --1.33147290349 --0.28070922941 --1.33148688078 --0.263451159 --1.33150404692 --0.246192961931 --1.3315242827 --0.228934232146 --1.33154767752 --0.211675245315 --1.33157414198 --0.194415595382 --1.33158904314 --0.175205551088 --1.31439909339 --0.155993212015 --1.31437250972 --0.138733718545 --1.31434908509 --0.121474539861 --1.31432878971 --0.104215977714 --1.31431153417 --0.0869576018304 --1.31429737806 --0.069699715823 --1.3142863512 --0.0524418931455 --1.31427845359 --0.0351844420657 --1.31427368522 --0.0179269339424 --1.31427201629 --0.000669670756908 --1.3142734468 -0.0165877726395 --1.31427806616 -0.03384509217 --1.31428575516 -0.0511027136818 --1.3142965436 -0.0683603370562 --1.31431049109 -0.085618391633 --1.31432756782 -0.102876564488 --1.31434765458 -0.120135283098 --1.31437090039 -0.137394249439 --1.31439724564 -0.154653880745 --1.3144120872 -0.173864074051 --1.31439909339 -0.193072639406 --1.31437253952 -0.210332129151 --1.31434911489 -0.227591305972 --1.31432881951 -0.244849864394 --1.31431153417 -0.262108244002 --1.31429737806 -0.279366128147 --1.31428638101 -0.296623952687 --1.31427848339 -0.313881404698 --1.31427368522 -0.331138916314 --1.31427201629 -0.348396189511 --1.3142734468 -0.365653634071 --1.31427803635 -0.382910944521 --1.31428575516 -0.400168560445 --1.3142965734 -0.41742618382 --1.31431046128 -0.434684231877 --1.31432753802 -0.451942414045 --1.31434768438 -0.469201140106 --1.31437093019 -0.486460104585 --1.31439724564 -0.503719739616 --1.314412117 -0.522929921746 --1.31439912319 -0.5421384871 --1.31437253952 -0.559397980571 --1.31434908509 -0.576657146216 --1.31432878971 -0.593915700913 --1.31431156397 -0.611174091697 --1.31429737806 -0.628431975842 --1.3142863512 -0.645689785481 --1.31427848339 -0.662947252393 --1.31427368522 -0.68020477891 --1.31427201629 -0.697462037206 --1.3142734468 -0.714719489217 --1.31427803635 -0.731976792216 --1.31428575516 -0.74923440814 --1.3142965734 -0.766492053866 --1.31431046128 -0.783750116825 --1.31432753802 -0.801008284092 --1.31434768438 -0.818266972899 --1.31437096 -0.835525929928 --1.31439727544 -0.852785587311 --1.314412117 -0.871995776892 --1.31439912319 -0.891204327345 --1.31437253952 -0.908463835716 --1.31434908509 -0.925723016262 --1.31432875991 -0.94298158586 --1.31431150436 -0.960239976645 --1.31429737806 -0.977497845888 --1.31428638101 -0.994755655526 --1.31427848339 -1.01201310754 --1.31427368522 -1.02927064896 --1.31427201629 -1.04652792215 --1.3142734468 -1.06378531456 --1.31427803635 -1.08104261756 --1.31428575516 -1.09830027819 --1.3142965734 -1.11555790902 --1.31431046128 -1.13281595707 --1.31432753802 -1.15007412434 --1.31434771419 -1.16733282805 --1.31437096 -1.18459182978 --1.31439724564 -1.20185145736 --1.3144120872 -1.22106161714 --1.31439909339 -1.24027019739 --1.31437253952 -1.25752970576 --1.31434908509 -1.27478888631 --1.31432875991 -1.2920474112 --1.31431153417 -1.30930575728 --1.31429740787 -1.32656365633 --1.31428638101 -1.34382149577 --1.31427848339 -1.36107894778 --1.31427368522 -1.3783364594 --1.31427201629 -1.3955937326 --1.3142734766 -1.41285118461 --1.31427806616 -1.43010848761 --1.31428572535 -1.44736611843 --1.3142965436 -1.46462374925 --1.31431046128 -1.48188176751 --1.31432753802 -1.49913993478 --1.31434765458 -1.51639866829 --1.31437093019 -1.53365764022 --1.31439727544 -1.5509172976 --1.3144120872 -1.57012748718 --1.31439909339 -1.58933603763 --1.31437253952 -1.60659551621 --1.31434911489 -1.62385469675 --1.31432875991 -1.64111328125 --1.31431147456 -1.65837165713 --1.31429737806 -1.67562952637 --1.31428638101 -1.69288733602 --1.31427845359 -1.71014481783 --1.31427365542 -1.72740235925 --1.31427201629 -1.74465960264 --1.3142734468 -1.76191705465 --1.31427803635 -1.77917438745 --1.31428575516 -1.79643198848 --1.3142965734 -1.8136895895 --1.31431046128 -1.83094763756 --1.31432753802 -1.84820583463 --1.31434768438 -1.86546453834 --1.31437093019 -1.88272351027 --1.31439724564 -1.89998313785 --1.314412117 -1.91919329762 --1.31439909339 -1.93840187788 --1.31437250972 -1.95566138625 --1.31434911489 -1.9729205668 --1.31432878971 -1.99017912149 --1.31431150436 -2.00743752718 --1.31429737806 -2.02469539642 --1.31428638101 -2.04195320606 --1.3142785132 -2.05921065807 --1.31427371502 -2.07646816969 --1.31427201629 -2.09372544289 --1.3142734468 -2.11098283529 --1.31427803635 -2.12824016809 --1.31428575516 -2.14549779892 --1.3142965734 -2.16275537014 --1.31431049109 -2.1800134182 --1.31432756782 -2.19727158547 --1.31434768438 -2.21453034878 --1.31437096 -2.23178935051 --1.31439727544 -2.24904894829 --1.314412117 -2.26825916767 --1.31439912319 -2.28746777773 --1.31437253952 -2.3047272563 --1.31434908509 -2.32198637724 --1.31432878971 -2.33924496174 --1.31431153417 -2.35650336742 --1.31429737806 -2.37376123667 --1.31428638101 -2.39101904631 --1.31427848339 -2.40827643871 --1.31427368522 -2.42553395033 --1.31427201629 -2.44279128313 --1.3142734468 -2.46004873514 --1.31427806616 -2.47730606794 --1.31428578496 -2.49456375837 --1.3142965734 -2.51182132959 --1.31431049109 -2.52907937765 --1.31432756782 -2.54633760453 --1.31434768438 -2.56359624863 --1.31437096 -2.58085513115 --1.31439730525 -2.59811478853 --1.3144120872 -2.61732500792 --1.31439906359 -2.63653355837 --1.31437253952 -2.65379309654 --1.31434908509 -2.67105233669 --1.31432875991 -2.68831086159 --1.31431150436 -2.70556914806 --1.31429737806 -2.72282707691 --1.31428638101 -2.74008494616 --1.31427848339 -2.75734239817 --1.31427368522 -2.77459990978 --1.31427201629 -2.79185712338 --1.3142734468 -2.80911457539 --1.31427803635 -2.82637190819 --1.31428575516 -2.84362953901 --1.3142965734 -2.86088716984 --1.31431049109 -2.8781452179 --1.31432756782 -2.89540338516 --1.31434768438 -2.91266208887 --1.31437096 -2.9299210906 --1.31439727544 -2.94718074798 --1.314412117 -2.96639090776 --1.31439909339 -2.98559945822 --1.31437250972 -3.00285893679 --1.31434908509 -3.02011811733 --1.31432878971 -3.03737670183 --1.31431153417 -3.05463510752 --1.31429737806 -3.07189297676 --1.3142863512 -3.0891507864 --1.31427845359 -3.10640823841 --1.31427368522 -3.12366569042 --1.31427201629 -3.1409229358 --1.3142734468 --3.12500488758 --1.31427806616 --3.10774755478 --1.31428575516 --3.09048992395 --1.3142965436 --3.07323229313 --1.31431049109 --3.05597424507 --1.31432756782 --3.03871607781 --1.31434765458 --3.0214573741 --1.31437090039 --3.00419837236 --1.31439724564 --2.98693871498 --1.3144120872 --2.96772855521 --1.31439909339 --2.94852000475 --1.31437253952 --2.93126052618 --1.31434911489 --2.91400134564 --1.31432881951 --2.89674282074 --1.31431153417 --2.87948441505 --1.31429737806 --2.86222648621 --1.31428638101 --2.84496867657 --1.31427848339 --2.82771122456 --1.31427368522 --2.81045371294 --1.31427201629 --2.79319649935 --1.3142734468 --2.77593904734 --1.31427803635 --2.75868165493 --1.31428575516 --2.74142408371 --1.3142965734 --2.72416651249 --1.31431046128 --2.70690846443 --1.31432753802 --2.68965029717 --1.31434768438 --2.67239153385 --1.31437093019 --2.65513253212 --1.31439724564 --2.63787293434 --1.314412117 --2.61866271496 --1.31439912319 --2.5994541049 --1.31437253952 --2.58219462633 --1.31434908509 --2.56493550539 --1.31432878971 --2.5476769805 --1.31431156397 --2.53041857481 --1.31429737806 --2.51316070557 --1.3142863512 --2.49590289593 --1.31427848339 --2.47864544392 --1.31427368522 --2.4613879323 --1.31427201629 --2.4441305995 --1.3142734468 --2.42687314749 --1.31427803635 --2.40961587429 --1.31428575516 --2.39235824347 --1.3142965734 --2.37510061264 --1.31431046128 --2.35784250498 --1.31432753802 --2.3405842781 --1.31434768438 --2.323325634 --1.31437096 --2.30606675148 --1.31439727544 --2.2888070941 --1.314412117 --2.26959687471 --1.31439912319 --2.25038832426 --1.31437253952 --2.23312884569 --1.31434908509 --2.21586966515 --1.31432875991 --2.19861108065 --1.31431150436 --2.18135273457 --1.31429737806 --2.16409480572 --1.31428638101 --2.14683693647 --1.31427848339 --2.12957948446 --1.31427368522 --2.11232197285 --1.31427201629 --2.09506475926 --1.3142734468 --2.07780730725 --1.31427803635 --2.06054997444 --1.31428575516 --2.04329234362 --1.3142965734 --2.02603471279 --1.31431046128 --2.00877666473 --1.31432753802 --1.99151852727 --1.31434771419 --1.97425982356 --1.31437096 --1.95700085163 --1.31439724564 --1.93974122405 --1.3144120872 --1.92053100467 --1.31439909339 --1.90132245421 --1.31437253952 --1.88406300545 --1.31434908509 --1.8668037951 --1.31432875991 --1.8495452106 --1.31431153417 --1.83228686452 --1.31429740787 --1.81502896547 --1.31428638101 --1.79777112603 --1.31427848339 --1.78051367402 --1.31427368522 --1.76325616241 --1.31427201629 --1.74599891901 --1.3142734766 --1.728741467 --1.31427806616 --1.7114841342 --1.31428572535 --1.69422653317 --1.3142965436 --1.67696890235 --1.31431046128 --1.65971085429 --1.31432753802 --1.64245268702 --1.31434765458 --1.62519395351 --1.31437093019 --1.60793498159 --1.31439727544 --1.59067535401 --1.3144120872 --1.57146516442 --1.31439909339 --1.55225658417 --1.31437253952 --1.5349971056 --1.31434911489 --1.51773795485 --1.31432875991 --1.50047940016 --1.31431147456 --1.48322099447 --1.31429737806 --1.46596309542 --1.31428638101 --1.44870528579 --1.31427845359 --1.43144786358 --1.31427365542 --1.41419038177 --1.31427201629 --1.39693310857 --1.3142734468 --1.37967565656 --1.31427803635 --1.36241832375 --1.31428575516 --1.34516069293 --1.3142965734 --1.32790309191 --1.31431046128 --1.31064501405 --1.31432753802 --1.29338681698 --1.31434768438 --1.27612811327 --1.31437093019 --1.25886917114 --1.31439724564 --1.24160954356 --1.314412117 --1.22239932418 --1.31439909339 --1.20319077373 --1.31437250972 --1.18593132496 --1.31434911489 --1.16867211461 --1.31432878971 --1.15141353011 --1.31431150436 --1.13415518403 --1.31429737806 --1.11689728499 --1.31428638101 --1.09963944554 --1.3142785132 --1.08238199353 --1.31427371502 --1.06512448191 --1.31427201629 --1.04786723852 --1.3142734468 --1.03060978651 --1.31427803635 --1.01335245371 --1.31428575516 --0.996094837786 --1.3142965734 --0.978837221861 --1.31431049109 --0.961579173803 --1.31432756782 --0.944320991635 --1.31434768438 --0.927062258124 --1.31437096 --0.909803286195 --1.31439727544 --0.892543673515 --1.314412117 --0.873333498835 --1.31439912319 --0.85412491858 --1.31437253952 --0.83686542511 --1.31434908509 --0.819606259465 --1.31432878971 --0.802347674966 --1.31431153417 --0.785089284182 --1.31429737806 --0.767831400037 --1.31428638101 --0.750573575497 --1.31427848339 --0.733316138387 --1.31427368522 --0.716058641672 --1.31427201629 --0.698801383376 --1.3142734468 --0.681543931365 --1.31427806616 --0.664286598563 --1.31428578496 --0.647028967738 --1.3142965734 --0.629771351814 --1.31431049109 --0.612513318658 --1.31432756782 --0.59525513649 --1.31434768438 --0.57799641788 --1.31437096 --0.560737460851 --1.31439730525 --0.54347781837 --1.3144120872 --0.524267613888 --1.31439906359 --0.505059041083 --1.31437253952 --0.487799569965 --1.31434908509 --0.470540396869 --1.31432875991 --0.45328181982 --1.31431150436 --0.436023443937 --1.31429737806 --0.418765567243 --1.31428638101 --0.401507735252 --1.31427848339 --0.384250275791 --1.31427368522 --0.366992771626 --1.31427201629 --0.34973552078 --1.3142734468 --0.33247808367 --1.31427803635 --0.315220758319 --1.31428575516 --0.297963134944 --1.3142965734 --0.280705519021 --1.31431049109 --0.263447463513 --1.31432756782 --0.24618928507 --1.31434768438 --0.228930570185 --1.31437096 --0.211671598256 --1.31439727544 --0.194411963224 --1.314412117 --0.175201781094 --1.29726266861 --0.155989196151 --1.29723623395 --0.138729713857 --1.29721295834 --0.121470550075 --1.29719269276 --0.104212004691 --1.29717549681 --0.0869536418468 --1.29716145992 --0.0696957735345 --1.29715049267 --0.0524379676208 --1.29714262486 --0.0351805319078 --1.29713785649 --0.0179230393842 --1.29713621736 --0.000665792031215 --1.29713764787 -0.0165916352998 --1.29714217782 -0.0338489385322 --1.29714980721 -0.0511065442115 --1.29716059565 -0.0683641545474 --1.29717451334 -0.0856221932917 --1.29719150066 -0.10288034752 --1.29721146822 -0.120139047503 --1.29723462462 -0.137398000806 --1.29726085067 -0.154657620937 --1.29727560282 -0.173867955804 --1.29726263881 -0.19307666272 --1.29723623395 -0.210336133838 --1.29721295834 -0.227595295757 --1.29719269276 -0.244853839278 --1.29717549681 -0.262112207711 --1.29716145992 -0.279370084405 --1.29715046286 -0.296627894044 --1.29714259505 -0.313885331154 --1.29713782668 -0.331142820418 --1.29713615775 -0.348400078714 --1.29713761806 -0.365657508373 --1.29714220762 -0.382914796472 --1.29714989662 -0.400172397494 --1.29716065526 -0.417430005968 --1.29717448354 -0.434688039124 --1.29719147086 -0.45194619894 --1.29721149802 -0.469204895199 --1.29723465443 -0.486463852227 --1.29726082087 -0.503723479807 --1.29727560282 -0.522933796048 --1.29726266861 -0.542142510414 --1.29723623395 -0.559401988983 --1.29721295834 -0.576661139727 --1.29719269276 -0.593919694424 --1.29717549681 -0.611178070307 --1.29716143012 -0.62843593955 --1.29715043306 -0.645693734288 --1.29714259505 -0.662951171398 --1.29713785649 -0.680208668113 --1.29713621736 -0.697465911508 --1.29713764787 -0.714723348617 --1.29714220762 -0.731980636716 --1.29714989662 -0.74923825264 --1.29716065526 -0.766495868564 --1.29717451334 -0.78375390172 --1.29719150066 -0.801012054086 --1.29721149802 -0.818270742893 --1.29723465443 -0.835529685021 --1.29726085067 -0.852789327502 --1.29727563262 -0.871999680996 --1.29726266861 -0.89120836556 --1.29723620415 -0.908467844129 --1.29721289873 -0.925727009773 --1.29719266295 -0.942985549569 --1.29717549681 -0.960243925452 --1.29716145992 -0.977501794696 --1.29715049267 -0.994759589434 --1.29714262486 -1.01201704145 --1.29713785649 -1.02927455306 --1.29713618756 -1.04653176665 --1.29713761806 -1.06378915906 --1.29714220762 -1.08104649186 --1.29714986682 -1.09830412269 --1.29716062546 -1.11556169391 --1.29717448354 -1.13281971216 --1.29719147086 -1.15007787943 --1.29721149802 -1.16733658314 --1.29723465443 -1.18459555507 --1.29726085067 -1.20185518265 --1.29727560282 -1.22106552124 --1.29726263881 -1.2402742207 --1.29723623395 -1.25753369927 --1.29721295834 -1.27479287982 --1.29719269276 -1.29205140472 --1.29717549681 -1.3093097508 --1.29716145992 -1.32656762004 --1.29715049267 -1.34382542967 --1.29714262486 -1.36108288169 --1.29713785649 -1.3783403635 --1.29713618756 -1.3955976069 --1.29713761806 -1.41285505891 --1.29714217782 -1.4301123321 --1.29714983702 -1.44736993313 --1.29716062546 -1.46462756395 --1.29717448354 -1.4818855822 --1.29719147086 -1.49914374947 --1.29721146822 -1.51640245318 --1.29723462462 -1.53366139531 --1.29726085067 -1.55092102289 --1.29727560282 -1.57013133168 --1.29726266861 -1.58934006095 --1.29723626375 -1.60659953952 --1.29721292854 -1.62385869026 --1.29719263315 -1.64111727476 --1.29717546701 -1.65837562084 --1.29716145992 -1.67563346028 --1.29715049267 -1.69289126992 --1.29714259505 -1.71014872193 --1.29713782668 -1.72740623355 --1.29713618756 -1.74466347695 --1.29713764787 -1.76192089915 --1.29714223742 -1.77917820215 --1.29714986682 -1.79643580318 --1.29716062546 -1.8136934042 --1.29717448354 -1.83095145225 --1.29719147086 -1.84820961952 --1.29721149802 -1.86546832323 --1.29723465443 -1.88272726536 --1.29726085067 -1.89998686313 --1.29727563262 -1.91919720173 --1.29726266861 -1.93840590119 --1.29723623395 -1.95566537976 --1.29721295834 -1.97292456031 --1.29719269276 -1.990183115 --1.29717549681 -2.00744152069 --1.29716145992 -2.02469933033 --1.29715046286 -2.04195708036 --1.29714262485 -2.05921453237 --1.29713785649 -2.07647204399 --1.29713615775 -2.09372925758 --1.29713761806 -2.11098664999 --1.29714220762 -2.12824398279 --1.29714989662 -2.14550161362 --1.29716065526 -2.16275918484 --1.29717451334 -2.18001717329 --1.29719150066 -2.19727540016 --1.29721149802 -2.21453416348 --1.29723465443 -2.2317931056 --1.29726085067 -2.24905270338 --1.29727563262 -2.26826304198 --1.29726266861 -2.28747177124 --1.29723623395 -2.30473124981 --1.29721295834 -2.32199037075 --1.29719269276 -2.33924895525 --1.29717549681 -2.35650736093 --1.29716145992 -2.37376523018 --1.29715046286 -2.39102303982 --1.29714259505 -2.40828043222 --1.29713785649 -2.42553788423 --1.29713618756 -2.44279515743 --1.29713761806 -2.46005260945 --1.29714220762 -2.47730994225 --1.29714989662 -2.49456757307 --1.29716065526 -2.51182514429 --1.29717451334 -2.52908319235 --1.29719150066 -2.54634135961 --1.29721149802 -2.56360000372 --1.29723465443 -2.58085888624 --1.29726085067 -2.59811854363 --1.29727560282 -2.61732888222 --1.29726263881 -2.63653755188 --1.29723623395 -2.65379703045 --1.29721295834 -2.67105621099 --1.29719269276 -2.68831479549 --1.29717549681 -2.70557314157 --1.29716145992 -2.72283101082 --1.29715046286 -2.74008882046 --1.29714259505 -2.75734627247 --1.29713785649 -2.77460378408 --1.29713618756 -2.79186099768 --1.29713761806 -2.80911844969 --1.29714220762 -2.82637578249 --1.29714989662 -2.84363335371 --1.29716065526 -2.86089092493 --1.29717448354 -2.87814897299 --1.29719147086 -2.89540714026 --1.29721149802 -2.91266584397 --1.29723462462 -2.9299248457 --1.29726082087 -2.94718450308 --1.29727563262 -2.96639478207 --1.29726266861 -2.98560345173 --1.29723623395 -3.0028629303 --1.29721295834 -3.02012211084 --1.29719269276 -3.03738069534 --1.29717549681 -3.05463904142 --1.29716145992 -3.07189685106 --1.29715049267 -3.0891546607 --1.29714262486 -3.10641211271 --1.29713785649 -3.12366962433 --1.29713621736 -3.14092686971 --1.29713764787 --3.12500101328 --1.29714217782 --3.10774368048 --1.29714980721 --3.09048610926 --1.29716059565 --3.07322853803 --1.29717451334 --3.05597048998 --1.29719150066 --3.03871232271 --1.29721146822 --3.021453619 --1.29723462462 --3.00419461727 --1.29726085067 --2.98693495989 --1.29727560282 --2.9677246809 --1.29726263881 --2.94851601124 --1.29723623395 --2.93125653267 --1.29721295834 --2.91399735213 --1.29719269276 --2.89673882723 --1.29717549681 --2.87948048115 --1.29716145992 --2.8622226119 --1.29715046286 --2.84496480227 --1.29714259505 --2.82770735026 --1.29713782668 --2.81044983864 --1.29713615775 --2.79319256544 --1.29713761806 --2.77593517304 --1.29714220762 --2.75867789984 --1.29714989662 --2.74142026901 --1.29716065526 --2.72416263819 --1.29717448354 --2.70690464974 --1.29719147086 --2.68964654207 --1.29721149802 --2.67238777876 --1.29723465443 --2.65512877703 --1.29726082087 --2.63786917925 --1.29727560282 --2.61865884066 --1.29726266861 --2.59945011139 --1.29723623395 --2.58219063282 --1.29721295834 --2.56493151188 --1.29719269276 --2.54767298699 --1.29717549681 --2.5304145813 --1.29716143012 --2.51315671206 --1.29715043306 --2.49589890242 --1.29714259505 --2.47864145041 --1.29713785649 --2.4613839984 --1.29713621736 --2.44412672519 --1.29713764787 --2.42686927318 --1.29714220762 --2.4096120596 --1.29714989662 --2.39235442877 --1.29716065526 --2.37509673834 --1.29717451334 --2.35783869028 --1.29719150066 --2.34058052301 --1.29721149802 --2.32332187891 --1.29723465443 --2.30606299639 --1.29726085067 --2.288803339 --1.29727563262 --2.26959294081 --1.29726266861 --2.25038427115 --1.29723620415 --2.23312485218 --1.29721289873 --2.21586567164 --1.29719266295 --2.19860714674 --1.29717549681 --2.18134880066 --1.29716145992 --2.16409087181 --1.29715049267 --2.14683306217 --1.29714262486 --2.12957561016 --1.29713785649 --2.11231809855 --1.29713618756 --2.09506088495 --1.29713761806 --2.07780343294 --1.29714220762 --2.06054610014 --1.29714986682 --2.04328852892 --1.29716062546 --2.0260309577 --1.29717448354 --2.00877290964 --1.29719147086 --1.99151474238 --1.29721149802 --1.97425603867 --1.29723465443 --1.95699709654 --1.29726085067 --1.93973749876 --1.29727560282 --1.92052713037 --1.29726263881 --1.9013184011 --1.29723623395 --1.88405898214 --1.29721295834 --1.86679983139 --1.29719269276 --1.84954124689 --1.29717549681 --1.83228287101 --1.29716145992 --1.81502500177 --1.29715049267 --1.79776722193 --1.29714262486 --1.78050979972 --1.29713785649 --1.7632522881 --1.29713618756 --1.74599504471 --1.29713761806 --1.72873759269 --1.29714217782 --1.7114802897 --1.29714983702 --1.69422271848 --1.29716062546 --1.67696508765 --1.29717448354 --1.6597070396 --1.29719147086 --1.64244890213 --1.29721146822 --1.62519019842 --1.29723462462 --1.60793122649 --1.29726085067 --1.59067159891 --1.29727560282 --1.57146129012 --1.29726266861 --1.55225259065 --1.29723626375 --1.53499311209 --1.29721292854 --1.51773396135 --1.29719263315 --1.50047543645 --1.29717546701 --1.48321706057 --1.29716145992 --1.46595916152 --1.29715049267 --1.44870135188 --1.29714259505 --1.43144392967 --1.29713782668 --1.41418644786 --1.29713618756 --1.39692920446 --1.29713764787 --1.37967178225 --1.29714223742 --1.36241444945 --1.29714986682 --1.34515681863 --1.29716062546 --1.32789924741 --1.29717448354 --1.31064122915 --1.29719147086 --1.29338306189 --1.29721149802 --1.27612435818 --1.29723465443 --1.25886541605 --1.29726085067 --1.24160578847 --1.29727563262 --1.22239542008 --1.29726266861 --1.20318672061 --1.29723623395 --1.18592727184 --1.29721295834 --1.1686681211 --1.29719269276 --1.1514095664 --1.29717549681 --1.13415119052 --1.29716145992 --1.11689332128 --1.29715046286 --1.09963554144 --1.29714262485 --1.08237811923 --1.29713785649 --1.06512060761 --1.29713615775 --1.04786336422 --1.29713761806 --1.03060591221 --1.29714220762 --1.01334860921 --1.29714989662 --0.996091008186 --1.29716065526 --0.978833407164 --1.29717451334 --0.96157540381 --1.29719150066 --0.944317221642 --1.29721149802 --0.92705848813 --1.29723465443 --0.909799546003 --1.29726085067 --0.892539948225 --1.29727563262 --0.873329609633 --1.29726266861 --0.854120880365 --1.29723623395 --0.836861401796 --1.29721295834 --0.819602236151 --1.29719269276 --0.802343666553 --1.29717549681 --0.785085305572 --1.29716145992 --0.767827451229 --1.29715046286 --0.75056964159 --1.29714259505 --0.733312219381 --1.29713785649 --0.716054737568 --1.29713618756 --0.698797494173 --1.29713761806 --0.681540071964 --1.29714220762 --0.664282754064 --1.29714989662 --0.64702513814 --1.29716065526 --0.629767537117 --1.29717451334 --0.61250950396 --1.29719150066 --0.595251336694 --1.29721149802 --0.577992632985 --1.29723465443 --0.560733705759 --1.29726085067 --0.543474078178 --1.29727560282 --0.524263739586 --1.29726263881 --0.505055040121 --1.29723623395 --0.487795569003 --1.29721295834 --0.470536410809 --1.29719269276 --0.453277856112 --1.29717549681 --0.436019487679 --1.29716145992 --0.418761625886 --1.29715046286 --0.401503816247 --1.29714259505 --0.384246371686 --1.29713785649 --0.366988889873 --1.29713618756 --0.349731639028 --1.29713761806 --0.332474209368 --1.29714220762 --0.315216913819 --1.29714989662 --0.297959312797 --1.29716065526 --0.280701696873 --1.29717448354 --0.263443648815 --1.29719147086 --0.246185492724 --1.29721149802 --0.228926796466 --1.29723462462 --0.211667846888 --1.29726082087 --0.194408226759 --1.29727563262 --0.175197903067 --1.28016805649 --0.15598673746 --1.28014177084 --0.138727270067 --1.28011861444 --0.121468117461 --1.28009843827 --0.104209579527 --1.28008136153 --0.0869512241334 --1.28006738424 --0.069693364203 --1.28005650639 --0.0524355713278 --1.28004869819 --0.035178147722 --1.28004392982 --0.0179206633475 --1.28004232049 --0.000663425773382 --1.280043751 -0.016593991546 --1.28004825115 -0.033851286862 --1.28005588054 -0.0511088846251 --1.28006663918 -0.0683664865792 --1.28008046746 -0.0856245160103 --1.28009730577 -0.1028826572 --1.28011718392 -0.120141346008 --1.28014025092 -0.137400288135 --1.28016632795 -0.154659900814 --1.2801810205 -0.173870321364 --1.28016808629 -0.19307911396 --1.28014180064 -0.210338577628 --1.28011861444 -0.227597735822 --1.28009843827 -0.244856275618 --1.28008136153 -0.262114621699 --1.28006738424 -0.279372483492 --1.28005647659 -0.296630293131 --1.28004863858 -0.313887715339 --1.28004387021 -0.331145182252 --1.28004226089 -0.348402425647 --1.2800437212 -0.365659847856 --1.28004825115 -0.382917135954 --1.28005591035 -0.400174736977 --1.28006663918 -0.417432337999 --1.28008040786 -0.434690363705 --1.28009727597 -0.45194850862 --1.28011718392 -0.469207204878 --1.28014025092 -0.486466154456 --1.28016629815 -0.503725759685 --1.2801809907 -0.522936165333 --1.28016808629 -0.542144969106 --1.28014180064 -0.559404447675 --1.28011861444 -0.576663598418 --1.28009843827 -0.593922138214 --1.28008136153 -0.611180499196 --1.28006738424 -0.628438353538 --1.28005647659 -0.645696148276 --1.28004863858 -0.662953570485 --1.28004390001 -0.680211052299 --1.28004232049 -0.697468280792 --1.280043751 -0.7147256881 --1.28004825115 -0.731982991099 --1.28005591035 -0.749240592122 --1.28006663918 -0.766498178244 --1.28008043766 -0.783756196499 --1.28009730577 -0.801014363766 --1.28011718392 -0.818273067475 --1.28014028072 -0.8355319947 --1.28016635776 -0.852791622281 --1.2801810205 -0.872002065182 --1.28016808629 -0.891210839152 --1.28014177084 -0.908470287919 --1.28011855483 -0.925729438662 --1.28009840846 -0.942987948656 --1.28008136153 -0.960246309638 --1.28006738424 -0.977504193783 --1.28005650639 -0.994761988522 --1.28004869819 -1.01201942563 --1.28004392982 -1.02927690744 --1.28004229069 -1.04653412104 --1.2800437212 -1.06379151344 --1.28004825115 -1.08104881644 --1.28005588054 -1.09830644727 --1.28006660938 -1.11556404829 --1.28008040786 -1.13282203674 --1.28009727597 -1.15008017421 --1.28011718392 -1.16733887792 --1.28014028072 -1.18459782004 --1.28016635776 -1.20185744762 --1.2801810205 -1.22106787562 --1.28016808629 -1.2402766645 --1.28014180064 -1.25753614307 --1.28011861444 -1.27479532361 --1.28009843827 -1.2920538485 --1.28008136153 -1.30931219458 --1.28006738424 -1.32657006383 --1.28005650639 -1.34382784366 --1.28004866839 -1.36108526587 --1.28004390001 -1.37834274769 --1.28004229069 -1.39559996128 --1.2800437212 -1.41285738349 --1.28004822135 -1.43011468649 --1.28005585074 -1.44737225771 --1.28006660938 -1.46462985873 --1.28008040786 -1.48188790679 --1.28009730577 -1.49914607406 --1.28011721372 -1.51640477777 --1.28014028072 -1.53366371989 --1.28016635776 -1.55092331767 --1.2801810205 -1.57013371587 --1.28016811609 -1.58934253454 --1.28014183044 -1.60660198331 --1.28011858464 -1.62386110425 --1.28009840846 -1.64111968875 --1.28008136153 -1.65837803483 --1.28006738424 -1.67563584447 --1.28005650639 -1.69289365411 --1.28004863858 -1.71015110612 --1.28004387021 -1.72740858793 --1.28004229069 -1.74466583133 --1.280043751 -1.76192325354 --1.28004828095 -1.77918052673 --1.28005588054 -1.79643812776 --1.28006660938 -1.81369575858 --1.28008040786 -1.83095380664 --1.28009727597 -1.8482119143 --1.28011718392 -1.86547058821 --1.28014025092 -1.88272953034 --1.28016632795 -1.89998912811 --1.2801810205 -1.91919955611 --1.28016808629 -1.93840834499 --1.28014180064 -1.95566782355 --1.28011861444 -1.9729270041 --1.28009843827 -1.99018552899 --1.28008136153 -2.00744387507 --1.28006738424 -2.02470171452 --1.28005647659 -2.04195946455 --1.28004863858 -2.05921691656 --1.28004387021 -2.07647442817 --1.28004226089 -2.09373164177 --1.2800437212 -2.11098903418 --1.28004825115 -2.12824630737 --1.28005591035 -2.1455039382 --1.28006663918 -2.16276156902 --1.28008040786 -2.18001955748 --1.28009727597 -2.19727772474 --1.28011718392 -2.21453642845 --1.28014025092 -2.23179537058 --1.28016632795 -2.24905502796 --1.2801810205 -2.26826542616 --1.28016808629 -2.28747421503 --1.28014180064 -2.3047336936 --1.28011861444 -2.32199281454 --1.28009843827 -2.33925139904 --1.28008136153 -2.35650974512 --1.28006738424 -2.37376755476 --1.28005647659 -2.3910253644 --1.28004866839 -2.40828281641 --1.28004392982 -2.42554032802 --1.28004229069 -2.44279754162 --1.2800437212 -2.46005493403 --1.28004825115 -2.47731226683 --1.28005591035 -2.49456989765 --1.28006663918 -2.51182746887 --1.28008040786 -2.52908545732 --1.28009727597 -2.54634362459 --1.28011718392 -2.5636023283 --1.28014025092 -2.58086121082 --1.28016629815 -2.59812086821 --1.2801809907 -2.6173312664 --1.28016808629 -2.63653999567 --1.28014180064 -2.65379947424 --1.28011864424 -2.67105859518 --1.28009846807 -2.68831717968 --1.28008136153 -2.70557558537 --1.28006738424 -2.72283345461 --1.28005647659 -2.74009126425 --1.28004866839 -2.75734865665 --1.28004392982 -2.77460610867 --1.28004229069 -2.79186338186 --1.2800437212 -2.80912083387 --1.28004825115 -2.82637810707 --1.28005591035 -2.84363567829 --1.28006663918 -2.86089324951 --1.28008040786 -2.87815129757 --1.28009727597 -2.89540946484 --1.28011718392 -2.91266816854 --1.28014022112 -2.92992717028 --1.28016629815 -2.94718676806 --1.2801810205 -2.96639716625 --1.28016805649 -2.98560595512 --1.28014177084 -3.00286537409 --1.28011861444 -3.02012455463 --1.28009843827 -3.03738307953 --1.28008136153 -3.054641366 --1.28006738424 -3.07189923525 --1.28005650639 -3.08915704489 --1.28004869819 -3.1064144969 --1.28004392982 -3.12367200852 --1.28004232049 -3.14092919429 --1.280043751 --3.1249986887 --1.28004825115 --3.1077413559 --1.28005588054 --3.09048378468 --1.28006663918 --3.07322621346 --1.28008046746 --3.0559681654 --1.28009730577 --3.03870999813 --1.28011718392 --3.02145129442 --1.28014025092 --3.0041923523 --1.28016632795 --2.98693275452 --1.2801810205 --2.96772229672 --1.28016808629 --2.94851356745 --1.28014180064 --2.93125414849 --1.28011861444 --2.91399490834 --1.28009843827 --2.89673638344 --1.28008136153 --2.87947809696 --1.28006738424 --2.86222022772 --1.28005647659 --2.84496241808 --1.28004863858 --2.82770496607 --1.28004387021 --2.81044745445 --1.28004226089 --2.79319018125 --1.2800437212 --2.77593278885 --1.28004825115 --2.75867557526 --1.28005591035 --2.74141794443 --1.28006663918 --2.724160254 --1.28008040786 --2.70690226555 --1.28009727597 --2.68964421749 --1.28011718392 --2.67238551378 --1.28014025092 --2.65512651205 --1.28016629815 --2.63786691427 --1.2801809907 --2.61865651608 --1.28016808629 --2.5994476676 --1.28014180064 --2.58218818903 --1.28011861444 --2.56492906809 --1.28009843827 --2.5476705432 --1.28008136153 --2.53041213751 --1.28006738424 --2.51315426826 --1.28005647659 --2.49589645863 --1.28004863858 --2.47863900661 --1.28004390001 --2.4613815546 --1.28004232049 --2.44412434101 --1.280043751 --2.4268669486 --1.28004825115 --2.40960967541 --1.28005591035 --2.39235210419 --1.28006663918 --2.37509447336 --1.28008043766 --2.3578364253 --1.28009730577 --2.34057825804 --1.28011718392 --2.32331955433 --1.28014028072 --2.30606067181 --1.28016635776 --2.28880101442 --1.2801810205 --2.26959055662 --1.28016808629 --2.25038182736 --1.28014177084 --2.23312240839 --1.28011855483 --2.21586328745 --1.28009840846 --2.19860476256 --1.28008136153 --2.18134635687 --1.28006738424 --2.16408848763 --1.28005650639 --2.14683067799 --1.28004869819 --2.12957322598 --1.28004392982 --2.11231577397 --1.28004229069 --2.09505856037 --1.2800437212 --2.07780116796 --1.28004825115 --2.06054383516 --1.28005588054 --2.04328620434 --1.28006660938 --2.02602863312 --1.28008040786 --2.00877058506 --1.28009727597 --1.9915124178 --1.28011718392 --1.97425374389 --1.28014028072 --1.95699480176 --1.28016635776 --1.93973520398 --1.2801810205 --1.92052477598 --1.28016808629 --1.90131595731 --1.28014180064 --1.88405650854 --1.28011861444 --1.8667973876 --1.28009843827 --1.8495388329 --1.28008136153 --1.83228045702 --1.28006738424 --1.81502258778 --1.28005650639 --1.79776480794 --1.28004866839 --1.78050741553 --1.28004390001 --1.76324993372 --1.28004229069 --1.74599269033 --1.2800437212 --1.72873523831 --1.28004822135 --1.71147793531 --1.28005585074 --1.69422036409 --1.28006660938 --1.67696276307 --1.28008040786 --1.65970471501 --1.28009730577 --1.64244657755 --1.28011721372 --1.62518790364 --1.28014028072 --1.60792896151 --1.28016635776 --1.59066933393 --1.2801810205 --1.57145890594 --1.28016811609 --1.55225014687 --1.28014183044 --1.5349906981 --1.28011858464 --1.51773151755 --1.28009840846 --1.50047299266 --1.28008136153 --1.48321464658 --1.28006738424 --1.46595677733 --1.28005650639 --1.44869896769 --1.28004863858 --1.43144151568 --1.28004387021 --1.41418403387 --1.28004229069 --1.39692682028 --1.280043751 --1.37966942787 --1.28004828095 --1.36241212487 --1.28005588054 --1.34515449404 --1.28006660938 --1.32789692282 --1.28008040786 --1.31063893437 --1.28009727597 --1.29338076711 --1.28011718392 --1.2761220634 --1.28014025092 --1.25886312127 --1.28016632795 --1.24160349369 --1.2801810205 --1.22239306569 --1.28016808629 --1.20318427682 --1.28014180064 --1.18592479825 --1.28011861444 --1.16866567731 --1.28009843827 --1.15140715242 --1.28008136153 --1.13414874673 --1.28006738424 --1.11689087749 --1.28005647659 --1.09963312745 --1.28004863858 --1.08237573504 --1.28004387021 --1.06511822343 --1.28004226089 --1.04786098003 --1.2800437212 --1.03060355783 --1.28004825115 --1.01334628463 --1.28005591035 --0.996088698505 --1.28006663918 --0.978831067681 --1.28008040786 --0.961573049426 --1.28009727597 --0.94431489706 --1.28011718392 --0.927056193352 --1.28014025092 --0.909797266126 --1.28016632795 --0.892537653446 --1.2801810205 --0.873327225447 --1.28016808629 --0.854118436575 --1.28014180064 --0.836858958006 --1.28011861444 --0.819599792361 --1.28009843827 --0.802341252565 --1.28008136153 --0.785082921386 --1.28006738424 --0.767825067044 --1.28005647659 --0.750567257404 --1.28004866839 --0.733309835195 --1.28004392982 --0.716052338481 --1.28004229069 --0.698795095086 --1.2800437212 --0.68153770268 --1.28004825115 --0.664280414581 --1.28005591035 --0.647022813558 --1.28006663918 --0.629765227437 --1.28008040786 --0.612507194281 --1.28009727597 --0.595249041915 --1.28011718392 --0.577990353107 --1.28014025092 --0.560731425881 --1.28016629815 --0.543471813202 --1.2801809907 --0.524261385202 --1.28016808629 --0.50505258888 --1.28014180064 --0.487793125212 --1.28011864424 --0.470533974468 --1.28009846807 --0.453275434673 --1.28008136153 --0.436017073691 --1.28006738424 --0.418759219349 --1.28005647659 --0.40150142461 --1.28004866839 --0.384243994951 --1.28004392982 --0.366986520589 --1.28004229069 --0.349729269743 --1.2800437212 --0.332471847534 --1.28004825115 --0.315214551985 --1.28005591035 --0.297956958413 --1.28006663918 --0.28069935739 --1.28008040786 --0.263441324234 --1.28009727597 --0.24618318677 --1.28011718392 --0.228924497962 --1.28014022112 --0.21166555956 --1.28016629815 --0.194405950606 --1.2801810205 --0.175195533782 --1.26305007935 --0.155984245241 --1.26302394271 --0.138724792749 --1.26300087571 --0.121465647593 --1.26298081875 --0.104207120836 --1.26296386123 --0.0869487803429 --1.26294997335 --0.0696909287945 --1.2629391253 --0.0524331443012 --1.26293131709 --0.0351757300086 --1.26292660832 --0.0179182549473 --1.262924999 --0.000661027850583 --1.26292642951 -0.0165963806212 --1.26293095946 -0.0338536668569 --1.26293852925 -0.0511112539098 --1.26294919849 -0.0683688428253 --1.26296293735 -0.0856268629432 --1.26297971606 -0.102884998545 --1.26299953461 -0.12014367804 --1.2630224526 -0.137402612716 --1.26304835081 -0.154662217945 --1.26306292415 -0.17387272045 --1.26305010915 -0.193081598729 --1.26302400231 -0.210341058671 --1.26300087571 -0.22760020569 --1.26298081875 -0.244858723134 --1.26296386123 -0.262117065489 --1.26294997335 -0.279374927282 --1.2629391253 -0.29663271457 --1.26293128729 -0.313890121877 --1.26292654872 -0.33114758879 --1.2629249692 -0.348404824734 --1.26292642951 -0.365662232042 --1.26293092966 -0.382919512689 --1.26293852925 -0.400177106261 --1.26294919849 -0.417434692383 --1.26296287775 -0.434692710638 --1.26297965646 -0.451950848102 --1.26299950481 -0.46920953691 --1.2630224526 -0.486468471587 --1.26304835081 -0.503728061915 --1.26306292415 -0.52293856442 --1.26305010915 -0.5421474576 --1.26302400231 -0.559406936169 --1.26300087571 -0.576666072011 --1.26298081875 -0.593924582005 --1.26296386123 -0.611182928085 --1.26294997335 -0.628440782428 --1.2629391551 -0.645698577166 --1.26293131709 -0.662955984473 --1.26292657852 -0.680213466287 --1.262924999 -0.697470679879 --1.26292642951 -0.714728072285 --1.26293089986 -0.731985375285 --1.26293846965 -0.749242946505 --1.26294916868 -0.766500532627 --1.26296287775 -0.783758550882 --1.26297968626 -0.801016703248 --1.26299950481 -0.818275392055 --1.2630224526 -0.835534304381 --1.26304838061 -0.85279391706 --1.26306295395 -0.872004434466 --1.26305013895 -0.891213312745 --1.26302400231 -0.908472761512 --1.26300087571 -0.925731897354 --1.26298081875 -0.942990422249 --1.26296383143 -0.96024876833 --1.26294991374 -0.977506607771 --1.2629390955 -0.99476441741 --1.26293131709 -1.01202183962 --1.26292657852 -1.02927929163 --1.2629249692 -1.04653653502 --1.26292642951 -1.06379392743 --1.26293092966 -1.08105120063 --1.26293849945 -1.09830880165 --1.26294916868 -1.11556640267 --1.26296287775 -1.13282442093 --1.26297965646 -1.15008252859 --1.262999475 -1.1673412025 --1.26302242279 -1.18460014463 --1.26304835081 -1.2018597424 --1.26306295395 -1.22107025981 --1.26305010915 -1.24027913809 --1.26302397251 -1.25753858685 --1.26300087571 -1.2747977674 --1.26298081875 -1.2920562923 --1.26296386123 -1.30931463838 --1.26294997335 -1.32657250762 --1.2629391253 -1.34383025766 --1.26293128729 -1.36108765006 --1.26292657852 -1.37834513187 --1.262924999 -1.39560234547 --1.26292639971 -1.41285976768 --1.26293089986 -1.43011707068 --1.26293849945 -1.4473746419 --1.26294916868 -1.46463224292 --1.26296287775 -1.48189026117 --1.26297971606 -1.49914839864 --1.26299953461 -1.51640710235 --1.2630224526 -1.53366604447 --1.26304838061 -1.55092564225 --1.26306295395 -1.57013612986 --1.26305010915 -1.58934500814 --1.26302397251 -1.6066044569 --1.26300087571 -1.62386357784 --1.26298081875 -1.64112213254 --1.26296386123 -1.65838047862 --1.26294997335 -1.67563828826 --1.2629391551 -1.6928960979 --1.26293131709 -1.71015354991 --1.26292657852 -1.72741100192 --1.262924999 -1.74466821551 --1.26292642951 -1.76192563772 --1.26293089986 -1.77918291092 --1.26293849945 -1.79644048214 --1.26294919849 -1.81369808316 --1.26296287775 -1.83095613122 --1.26297965646 -1.84821426869 --1.26299950481 -1.86547294259 --1.2630224526 -1.88273185492 --1.26304835081 -1.89999142289 --1.26306295395 -1.9192019403 --1.26305013895 -1.93841084838 --1.26302400231 -1.95567032695 --1.26300087571 -1.97292947769 --1.26298081875 -1.99018797279 --1.26296386123 -2.00744625926 --1.26294997335 -2.02470415831 --1.2629391253 -2.04196196795 --1.26293128729 -2.05921936035 --1.26292654872 -2.07647681236 --1.2629249692 -2.09373402595 --1.26292642951 -2.11099147796 --1.26293089986 -2.12824875116 --1.26293846965 -2.14550632239 --1.26294916868 -2.16276395321 --1.26296287775 -2.18002200127 --1.26297965646 -2.19728010893 --1.26299950481 -2.21453875303 --1.2630224526 -2.23179769516 --1.26304832101 -2.24905735254 --1.26306292415 -2.26826786995 --1.26305013895 -2.28747671842 --1.26302397251 -2.30473619699 --1.26300084591 -2.32199531794 --1.26298081875 -2.33925378323 --1.26296386123 -2.35651212931 --1.26294997335 -2.37376999855 --1.2629391253 -2.39102774859 --1.26293131709 -2.40828514099 --1.26292660832 -2.42554271221 --1.262924999 -2.44279992581 --1.26292642951 -2.46005725861 --1.26293092966 -2.47731459141 --1.26293849945 -2.49457222223 --1.26294916868 -2.51182979345 --1.26296287775 -2.52908778191 --1.26297965646 -2.54634594917 --1.26299950481 -2.56360465288 --1.2630224526 -2.58086353541 --1.26304835081 -2.59812313318 --1.26306295395 -2.61733365059 --1.26305013895 -2.63654249906 --1.26302400231 -2.65380197764 --1.26300090552 -2.67106115818 --1.26298084855 -2.68831968308 --1.26296386123 -2.70557802916 --1.26294997335 -2.7228358984 --1.2629391253 -2.74009370804 --1.26293131709 -2.75735110044 --1.26292657852 -2.77460855246 --1.2629249692 -2.79186582565 --1.26292642951 -2.80912321806 --1.26293092966 -2.82638043165 --1.26293849945 -2.84363806248 --1.26294916868 -2.8608956337 --1.26296287775 -2.87815362215 --1.26297968626 -2.89541178942 --1.26299953461 -2.91267049312 --1.2630224526 -2.92992949486 --1.26304835081 -2.94718909264 --1.26306295395 -2.96639955044 --1.26305007935 -2.98560845852 --1.26302394271 -3.00286787748 --1.26300087571 -3.02012699842 --1.26298081875 -3.03738552332 --1.26296386123 -3.0546438098 --1.26294997335 -3.07190167904 --1.2629391253 -3.08915948868 --1.26293131709 -3.10641694069 --1.26292660832 -3.1236743927 --1.262924999 -3.14093157848 --1.26292642951 --3.12499624491 --1.26293095946 --3.10773897171 --1.26293852925 --3.09048140049 --1.26294919849 --3.07322376967 --1.26296293735 --3.05596578121 --1.26297971606 --3.03870767355 --1.26299953461 --3.02144896984 --1.2630224526 --3.00419002771 --1.26304835081 --2.98693042993 --1.26306292415 --2.96771991253 --1.26305010915 --2.94851106405 --1.26302400231 --2.93125164509 --1.26300087571 --2.91399246454 --1.26298081875 --2.89673393965 --1.26296386123 --2.87947565317 --1.26294997335 --2.86221778393 --1.2629391253 --2.84495997429 --1.26293128729 --2.82770252228 --1.26292654872 --2.81044507027 --1.2629249692 --2.79318785667 --1.26292642951 --2.77593040466 --1.26293092966 --2.75867313147 --1.26293852925 --2.74141556025 --1.26294919849 --2.72415792942 --1.26296287775 --2.70689988136 --1.26297965646 --2.6896417737 --1.26299950481 --2.67238312959 --1.2630224526 --2.65512418747 --1.26304835081 --2.63786458969 --1.26306292415 --2.61865407229 --1.26305010915 --2.59944516421 --1.26302400231 --2.58218574524 --1.26300087571 --2.5649266243 --1.26298081875 --2.5476680994 --1.26296386123 --2.53040969372 --1.26294997335 --2.51315182447 --1.2629391551 --2.49589407444 --1.26293131709 --2.47863668203 --1.26292657852 --2.46137917042 --1.262924999 --2.44412195683 --1.26292642951 --2.42686462402 --1.26293089986 --2.40960729122 --1.26293846965 --2.39234972 --1.26294916868 --2.37509214878 --1.26296287775 --2.35783410072 --1.26297968626 --2.34057593346 --1.26299950481 --2.32331722975 --1.2630224526 --2.30605834723 --1.26304838061 --2.28879874945 --1.26306295395 --2.26958823204 --1.26305013895 --2.25037938356 --1.26302400231 --2.233119905 --1.26300087571 --2.21586078405 --1.26298081875 --2.19860225916 --1.26296383143 --2.18134385347 --1.26294991374 --2.16408604383 --1.2629390955 --2.14682823419 --1.26293131709 --2.12957078218 --1.26292657852 --2.11231333017 --1.2629249692 --2.09505611658 --1.26292642951 --2.07779878378 --1.26293092966 --2.06054151058 --1.26293849945 --2.04328387976 --1.26294916868 --2.02602630854 --1.26296287775 --2.00876826048 --1.26297965646 --1.99151009321 --1.262999475 --1.97425141931 --1.26302242279 --1.95699247718 --1.26304835081 --1.9397328794 --1.26306295395 --1.920522362 --1.26305010915 --1.90131348372 --1.26302397251 --1.88405403495 --1.26300087571 --1.8667948842 --1.26298081875 --1.84953635931 --1.26296386123 --1.83227804303 --1.26294997335 --1.81502017379 --1.2629391253 --1.79776236415 --1.26293128729 --1.78050497174 --1.26292657852 --1.76324751973 --1.262924999 --1.74599030614 --1.26292639971 --1.72873288393 --1.26293089986 --1.71147558093 --1.26293849945 --1.69421797991 --1.26294916868 --1.67696040869 --1.26296287775 --1.65970239043 --1.26297971606 --1.64244422317 --1.26299953461 --1.62518554926 --1.2630224526 --1.60792663693 --1.26304838061 --1.59066703915 --1.26306295395 --1.57145652175 --1.26305010915 --1.55224764347 --1.26302397251 --1.5349881947 --1.26300087571 --1.51772904396 --1.26298081875 --1.50047051907 --1.26296386123 --1.48321217298 --1.26294997335 --1.46595433354 --1.2629391551 --1.44869652391 --1.26293131709 --1.4314391017 --1.26292657852 --1.41418164968 --1.262924999 --1.39692440629 --1.26292642951 --1.37966701389 --1.26293089986 --1.36240974068 --1.26293849945 --1.34515213966 --1.26294919849 --1.32789456844 --1.26296287775 --1.31063657999 --1.26297965646 --1.29337844252 --1.26299950481 --1.27611973882 --1.2630224526 --1.25886079669 --1.26304835081 --1.24160119891 --1.26306295395 --1.22239068151 --1.26305013895 --1.20318180323 --1.26302400231 --1.18592235446 --1.26300087571 --1.16866320371 --1.26298081875 --1.15140467882 --1.26296386123 --1.13414630294 --1.26294997335 --1.1168884337 --1.2629391253 --1.09963068366 --1.26293128729 --1.08237329125 --1.26292654872 --1.06511580944 --1.2629249692 --1.04785859585 --1.26292642951 --1.03060117364 --1.26293089986 --1.01334387064 --1.26293846965 --0.996086314321 --1.26294916868 --0.978828713298 --1.26296287775 --0.961570680141 --1.26297965646 --0.944312557578 --1.26299950481 --0.927053883672 --1.2630224526 --0.909794941544 --1.26304832101 --0.892535328865 --1.26306292415 --0.87332482636 --1.26305013895 --0.854115948081 --1.26302397251 --0.836856484413 --1.26300084591 --0.81959733367 --1.26298081875 --0.802338823676 --1.26296386123 --0.785080507398 --1.26294997335 --0.767822638154 --1.2629391253 --0.750564843416 --1.26293131709 --0.733307436108 --1.26292660832 --0.716049939394 --1.262924999 --0.6987927109 --1.26292642951 --0.681535318494 --1.26293092966 --0.664278030395 --1.26293849945 --0.647020444274 --1.26294916868 --0.629762873053 --1.26296287775 --0.612504854798 --1.26297965646 --0.595246717334 --1.26299950481 --0.577988028526 --1.2630224526 --0.560729086399 --1.26304835081 --0.543469503522 --1.26306295395 --0.524258986116 --1.26305013895 --0.505050085485 --1.26302400231 --0.487790651619 --1.26300090552 --0.470531515777 --1.26298084855 --0.453272975981 --1.26296386123 --0.43601462245 --1.26294997335 --0.418756775558 --1.2629391253 --0.401498995721 --1.26293131709 --0.384241580963 --1.26292657852 --0.3669841066 --1.2629249692 --0.349726870656 --1.26292642951 --0.332469463349 --1.26293092966 --0.31521217525 --1.26293849945 --0.297954581678 --1.26294916868 --0.280697003007 --1.26296287775 --0.263438992202 --1.26297968626 --0.246180854738 --1.26299953461 --0.228922169656 --1.2630224526 --0.211663238704 --1.26304835081 --0.194403637201 --1.26306295395 --0.175193127245 --1.24590530991 --0.15598173067 --1.24587932229 --0.138722285629 --1.2458563447 --0.121463146061 --1.24583637714 --0.104204630479 --1.24581947923 --0.0869462992996 --1.24580568076 --0.069688458927 --1.24579489231 --0.0524306846783 --1.24578711391 --0.0351732792333 --1.24578246474 --0.0179158153478 --1.24578088522 --0.000658598262818 --1.24578231573 -0.0165988004301 --1.24578681588 -0.0338560775854 --1.24579432607 -0.0511136548594 --1.24580490589 -0.0683712288737 --1.24581855536 -0.0856292378157 --1.24583527446 -0.10288736783 --1.2458550036 -0.120146043599 --1.24587777257 -0.137404970825 --1.24590349198 -0.154664561152 --1.2459179759 -0.173875153065 --1.24590525031 -0.193084120751 --1.24587929249 -0.210343569517 --1.2458563149 -0.22760270536 --1.24583637714 -0.244861211628 --1.24581950903 -0.262119546533 --1.24580571056 -0.279377400875 --1.24579489231 -0.296635173261 --1.24578711391 -0.313892565668 --1.24578243494 -0.33115003258 --1.24578082562 -0.348407253623 --1.24578228593 -0.365664646029 --1.24578681588 -0.382921919227 --1.24579435587 -0.400179497898 --1.2458049357 -0.417437076569 --1.24581852555 -0.434695087373 --1.24583521485 -0.451953217387 --1.24585497379 -0.469211891293 --1.24587777257 -0.486470811069 --1.24590349198 -0.503730393946 --1.2459179759 -0.522940993309 --1.24590528011 -0.542149975896 --1.24587932229 -0.559409439564 --1.2458563149 -0.576668575406 --1.24583640695 -0.5939270854 --1.24581953883 -0.611185401678 --1.24580571056 -0.628443226218 --1.24579492211 -0.645701020956 --1.24578714371 -0.662958443165 --1.24578246474 -0.680215910077 --1.24578085542 -0.697473108768 --1.24578228593 -0.714730501175 --1.24578678608 -0.731987774372 --1.24579429626 -0.749245345592 --1.24580490589 -0.766502946615 --1.24581852555 -0.783760949969 --1.24583524466 -0.801019072533 --1.24585497379 -0.818277746439 --1.24587774277 -0.835536658764 --1.24590349198 -0.852796241641 --1.24591800571 -0.872006833553 --1.24590528011 -0.891215831041 --1.24587932229 -0.908475279808 --1.2458563447 -0.925734385848 --1.24583640695 -0.942992925644 --1.24581950903 -0.960251271725 --1.24580565095 -0.977509081364 --1.24579486251 -0.9947668761 --1.24578711391 -1.01202428341 --1.24578243494 -1.02928173542 --1.24578085542 -1.04653897882 --1.24578231573 -1.06379637122 --1.24578681588 -1.08105364442 --1.24579432607 -1.09831121564 --1.24580487609 -1.11556878686 --1.24581849575 -1.13282680511 --1.24583521485 -1.15008491278 --1.24585494399 -1.16734358668 --1.24587771297 -1.18460249901 --1.24590346217 -1.20186209679 --1.24591800571 -1.2210727334 --1.24590525031 -1.24028167128 --1.24587926268 -1.25754109025 --1.2458563149 -1.2748002708 --1.24583640695 -1.29205879569 --1.24581953883 -1.30931711197 --1.24580571056 -1.32657495141 --1.24579489231 -1.34383270144 --1.24578711391 -1.36109009385 --1.24578246474 -1.37834757566 --1.24578085542 -1.39560478926 --1.24578225613 -1.41286218166 --1.24578678608 -1.43011945486 --1.24579432607 -1.44737702608 --1.24580487609 -1.46463462711 --1.24581849575 -1.48189264536 --1.24583524466 -1.49915078282 --1.24585494399 -1.51640945673 --1.24587774277 -1.53366836906 --1.24590352178 -1.55092796684 --1.24591800571 -1.57013854385 --1.24590525031 -1.58934751153 --1.24587926268 -1.6066069901 --1.2458563149 -1.62386611104 --1.24583637714 -1.64112460613 --1.24581950903 -1.65838295221 --1.24580571056 -1.67564079165 --1.24579492211 -1.69289857149 --1.24578714371 -1.7101559937 --1.24578246474 -1.72741344571 --1.24578085542 -1.7446706593 --1.24578228593 -1.76192805171 --1.24578678608 -1.77918532491 --1.24579432607 -1.79644289613 --1.2458049357 -1.81370046735 --1.24581852555 -1.8309584856 --1.24583521485 -1.84821662306 --1.24585497379 -1.86547532677 --1.24587777257 -1.8827342391 --1.24590349198 -1.89999377728 --1.24591800571 -1.91920438409 --1.24590528011 -1.93841338158 --1.24587932229 -1.95567283035 --1.2458563447 -1.97293198109 --1.24583637714 -1.99019047618 --1.24581950903 -2.00744879246 --1.24580571056 -2.0247066617 --1.24579489231 -2.04196441173 --1.24578711391 -2.05922180414 --1.24578243494 -2.07647925615 --1.24578085542 -2.09373646975 --1.24578231573 -2.11099392176 --1.24578678608 -2.12825119495 --1.24579429626 -2.14550876618 --1.24580490589 -2.1627663374 --1.24581852555 -2.18002432585 --1.24583521485 -2.19728249311 --1.24585497379 -2.21454119682 --1.24587780237 -2.23180007935 --1.24590352178 -2.24905961752 --1.24591800571 -2.26827025414 --1.24590528011 -2.28747922182 --1.24587929249 -2.30473864079 --1.2458563149 -2.32199776173 --1.24583640695 -2.33925622702 --1.24581953883 -2.3565146327 --1.24580571056 -2.37377256155 --1.24579489231 -2.39103031159 --1.24578711391 -2.40828764439 --1.24578246474 -2.425545156 --1.24578085542 -2.44280236959 --1.24578225613 -2.4600597024 --1.24578678608 -2.4773170352 --1.24579432607 -2.49457460642 --1.24580490589 -2.51183217764 --1.24581852555 -2.5290902257 --1.24583521485 -2.54634833336 --1.24585497379 -2.56360697746 --1.24587777257 -2.58086585999 --1.24590352178 -2.59812545776 --1.24591803551 -2.61733609438 --1.24590528011 -2.63654506207 --1.24587932229 -2.65380454063 --1.2458563447 -2.67106372118 --1.24583640695 -2.68832224607 --1.24581953883 -2.70558053255 --1.24580571056 -2.72283834219 --1.24579489231 -2.74009615183 --1.24578711391 -2.75735354424 --1.24578243494 -2.77461099625 --1.24578082562 -2.79186820984 --1.24578228593 -2.80912554264 --1.24578681588 -2.82638281584 --1.24579432607 -2.84364044666 --1.24580490589 -2.86089801788 --1.24581852555 -2.87815600634 --1.24583524466 -2.895414114 --1.2458550036 -2.91267281771 --1.24587777257 -2.92993181944 --1.24590352178 -2.94719141722 --1.24591806531 -2.96640193462 --1.24590530991 -2.98561090231 --1.24587932229 -3.00287038088 --1.2458563447 -3.02012950182 --1.24583637714 -3.03738802671 --1.24581947923 -3.05464631319 --1.24580568076 -3.07190412283 --1.24579489231 -3.08916193247 --1.24578711391 -3.10641938448 --1.24578246474 -3.12367683649 --1.24578088522 -3.14093402226 --1.24578231573 --3.12499386072 --1.24578681588 --3.10773658752 --1.24579432607 --3.0904790163 --1.24580490589 --3.07322138548 --1.24581855536 --3.05596339702 --1.24583527446 --3.03870534897 --1.2458550036 --3.02144664526 --1.24587777257 --3.00418764353 --1.24590349198 --2.98692804575 --1.2459179759 --2.96771752834 --1.24590525031 --2.94850856066 --1.24587929249 --2.93124908209 --1.2458563149 --2.91398996115 --1.24583637714 --2.89673143625 --1.24581950903 --2.87947314977 --1.24580571056 --2.86221534014 --1.24579489231 --2.8449575305 --1.24578711391 --2.82770007849 --1.24578243494 --2.81044262647 --1.24578082562 --2.79318541288 --1.24578228593 --2.77592796087 --1.24578681588 --2.75867068768 --1.24579435587 --2.74141311645 --1.2458049357 --2.72415554523 --1.24581852555 --2.70689755678 --1.24583521485 --2.68963938951 --1.24585497379 --2.67238068581 --1.24587777257 --2.65512180328 --1.24590349198 --2.63786226511 --1.2459179759 --2.61865162849 --1.24590528011 --2.59944266081 --1.24587932229 --2.58218330145 --1.2458563149 --2.56492418051 --1.24583640695 --2.54766565561 --1.24581953883 --2.53040724993 --1.24580571056 --2.51314938069 --1.24579492211 --2.49589163065 --1.24578714371 --2.47863423824 --1.24578246474 --2.46137672663 --1.24578085542 --2.44411951304 --1.24578228593 --2.42686218024 --1.24578678608 --2.40960490703 --1.24579429626 --2.39234733581 --1.24580490589 --2.37508970499 --1.24581852555 --2.35783165693 --1.24583524466 --2.34057354927 --1.24585497379 --2.32331490517 --1.24587774277 --2.30605602264 --1.24590349198 --2.28879642486 --1.24591800571 --2.26958578825 --1.24590528011 --2.25037682056 --1.24587932229 --2.23311734199 --1.2458563447 --2.21585822105 --1.24583640695 --2.19859969616 --1.24581950903 --2.18134135008 --1.24580565095 --2.16408354044 --1.24579486251 --2.1468257308 --1.24578711391 --2.12956833839 --1.24578243494 --2.11231088638 --1.24578085542 --2.09505367279 --1.24578231573 --2.07779633999 --1.24578681588 --2.06053906679 --1.24579432607 --2.04328149557 --1.24580487609 --2.02602392435 --1.24581849575 --2.00876587629 --1.24583521485 --1.99150773883 --1.24585494399 --1.97424906492 --1.24587771297 --1.95699015259 --1.24590346217 --1.93973055482 --1.24591800571 --1.920519948 --1.24590525031 --1.90131098032 --1.24587926268 --1.88405153155 --1.2458563149 --1.86679238081 --1.24583640695 --1.84953385592 --1.24581953883 --1.83227553964 --1.24580571056 --1.8150177002 --1.24579489231 --1.79775992036 --1.24578711391 --1.78050252795 --1.24578246474 --1.76324507594 --1.24578085542 --1.74598786235 --1.24578225613 --1.72873046994 --1.24578678608 --1.71147319675 --1.24579432607 --1.69421559572 --1.24580487609 --1.6769580245 --1.24581849575 --1.65970003605 --1.24583524466 --1.64244189859 --1.24585494399 --1.62518319487 --1.24587774277 --1.60792425275 --1.24590352178 --1.59066468477 --1.24591800571 --1.57145410776 --1.24590525031 --1.55224514007 --1.24587926268 --1.53498569131 --1.2458563149 --1.51772654057 --1.24583637714 --1.50046801567 --1.24581950903 --1.48320969939 --1.24580571056 --1.46595188975 --1.24579492211 --1.44869408011 --1.24578714371 --1.4314366579 --1.24578246474 --1.4141792059 --1.24578085542 --1.3969219625 --1.24578228593 --1.37966457009 --1.24578678608 --1.36240729689 --1.24579432607 --1.34514972567 --1.2458049357 --1.32789215445 --1.24581852555 --1.310634166 --1.24583521485 --1.29337605834 --1.24585497379 --1.27611735463 --1.24587777257 --1.2588584125 --1.24590349198 --1.24159884453 --1.24591800571 --1.22238823772 --1.24590528011 --1.20317927003 --1.24587932229 --1.18591985106 --1.2458563447 --1.16866070032 --1.24583637714 --1.15140217542 --1.24581950903 --1.13414382935 --1.24580571056 --1.11688598991 --1.24579489231 --1.09962823987 --1.24578711391 --1.08237084746 --1.24578243494 --1.06511339545 --1.24578085542 --1.04785618186 --1.24578231573 --1.03059875965 --1.24578678608 --1.01334145666 --1.24579429626 --0.996083885433 --1.24580490589 --0.978826314211 --1.24581852555 --0.961568310857 --1.24583521485 --0.944310188293 --1.24585497379 --0.927051514387 --1.24587780237 --0.909792587161 --1.24590352178 --0.892533004284 --1.24591800571 --0.873322412371 --1.24590528011 --0.854113429785 --1.24587929249 --0.836853995919 --1.2458563149 --0.819594860077 --1.24583640695 --0.802336335182 --1.24581953883 --0.785078004003 --1.24580571056 --0.76782014966 --1.24579489231 --0.750562369823 --1.24578711391 --0.733304977417 --1.24578246474 --0.716047510505 --1.24578085542 --0.698790311813 --1.24578225613 --0.681532919407 --1.24578678608 --0.664275616407 --1.24579432607 --0.647018030286 --1.24580490589 --0.629760459065 --1.24581852555 --0.612502470612 --1.24583521485 --0.595244348049 --1.24585497379 --0.577985659242 --1.24587777257 --0.560726732016 --1.24590352178 --0.54346716404 --1.24591803551 --0.524256572127 --1.24590528011 --0.50504758209 --1.24587932229 --0.487788140774 --1.2458563447 --0.470529004931 --1.24583640695 --0.453270480037 --1.24581953883 --0.436012148857 --1.24580571056 --0.418754316867 --1.24579489231 --0.40149653703 --1.24578711391 --0.384239129722 --1.24578243494 --0.36698167026 --1.24578082562 --0.349724441767 --1.24578228593 --0.332467034459 --1.24578681588 --0.315209768713 --1.24579432607 --0.297952197492 --1.24580490589 --0.280694618821 --1.24581852555 --0.263436615467 --1.24583524466 --0.246178485453 --1.2458550036 --0.228919807822 --1.24587777257 --0.211660884321 --1.24590352178 --0.194401293993 --1.24591806531 --0.175190698355 --1.22875928879 --0.155977711082 --1.22873342037 --0.138718284667 --1.2287105918 --0.121459161863 --1.22869077325 --0.104200657457 --1.22867396474 --0.086942339316 --1.22866022587 --0.0696845166385 --1.22864949703 --0.0524267591536 --1.22864174843 --0.0351693700068 --1.22863709927 --0.0179119217209 --1.22863554955 --0.000654720468448 --1.22863698006 -0.0166026616935 --1.2286414206 -0.0338599225506 --1.22864890098 -0.0511174844578 --1.22865945101 -0.0683750445023 --1.22867301107 -0.0856330357492 --1.22868961096 -0.102891148999 --1.22870922089 -0.120149813592 --1.22873187065 -0.137408722192 --1.22875744104 -0.154668290168 --1.22877189517 -0.173879027367 --1.22875922918 -0.193088136614 --1.22873336077 -0.210347566754 --1.22871056199 -0.227606698871 --1.22869074345 -0.244865193963 --1.22867396474 -0.26212349534 --1.22866025567 -0.279381327331 --1.22864949703 -0.296639099717 --1.22864177823 -0.313896477223 --1.22863712907 -0.331153921783 --1.22863551975 -0.348411120474 --1.22863695025 -0.365668497979 --1.22864145041 -0.382925763726 --1.22864893079 -0.400183327496 --1.22865945101 -0.417440898717 --1.22867301107 -0.43469888717 --1.22868961096 -0.451956994831 --1.22870922089 -0.469215653836 --1.22873187065 -0.486474566161 --1.22875744104 -0.503734134137 --1.22877189517 -0.522944867611 --1.22875925899 -0.54215399921 --1.22873339057 -0.559413433075 --1.22871053219 -0.576672554016 --1.22869077325 -0.59393106401 --1.22867402435 -0.611189365387 --1.22866025567 -0.628447160125 --1.22864949703 -0.64570492506 --1.22864177823 -0.662962347269 --1.22863712907 -0.68021979928 --1.22863551975 -0.69747698307 --1.22863695025 -0.714734360576 --1.22864145041 -0.731991618872 --1.22864893079 -0.749249190092 --1.22865945101 -0.766506776214 --1.22867301107 -0.783764764667 --1.22868961096 -0.801022857428 --1.22870922089 -0.818281501532 --1.22873187065 -0.835540398956 --1.22875744104 -0.852799981833 --1.22877189517 -0.872010737657 --1.22875922918 -0.891219869256 --1.22873339057 -0.90847928822 --1.2287105918 -0.925738379359 --1.22869077325 -0.942996904254 --1.22867399454 -0.960255235433 --1.22866025567 -0.977513030171 --1.22864949703 -0.994770780205 --1.22864177823 -1.01202818751 --1.22863712907 -1.02928563953 --1.22863554955 -1.04654282332 --1.22863698006 -1.06380021572 --1.22864145041 -1.08105748892 --1.22864893079 -1.09831503033 --1.2286594212 -1.11557260156 --1.22867298126 -1.13283059001 --1.22868961096 -1.15008869767 --1.22870922089 -1.16734737158 --1.22873187065 -1.1846062541 --1.22875744104 -1.20186585188 --1.22877189517 -1.2210766077 --1.22875925899 -1.2402856946 --1.22873339057 -1.25754511356 --1.22871056199 -1.27480426431 --1.22869077325 -1.2920627892 --1.22867399454 -1.30932107568 --1.22866025567 -1.32657888532 --1.22864949703 -1.34383663535 --1.22864177823 -1.36109402776 --1.22863712907 -1.37835150957 --1.22863554955 -1.39560869336 --1.22863695025 -1.41286602616 --1.2286414206 -1.43012329936 --1.22864893079 -1.44738087058 --1.2286594212 -1.464638412 --1.22867298126 -1.48189643025 --1.22868961096 -1.49915456772 --1.22870919109 -1.51641321182 --1.22873187065 -1.53367212415 --1.22875750065 -1.55093169212 --1.22877192497 -1.57014241815 --1.22875922918 -1.58935153484 --1.22873336077 -1.60661098361 --1.22871053219 -1.62387010455 --1.22869074345 -1.64112856984 --1.22867399454 -1.65838691592 --1.22866025567 -1.67564475536 --1.22864949703 -1.6929025054 --1.22864177823 -1.71015989781 --1.22863712907 -1.72741732002 --1.22863551975 -1.74467453361 --1.22863695025 -1.76193192601 --1.22864145041 -1.77918916941 --1.22864893079 -1.79644674063 --1.22865945101 -1.81370431185 --1.22867301107 -1.8309623003 --1.22868961096 -1.84822040796 --1.22870922089 -1.86547905207 --1.22873187065 -1.88273796439 --1.22875744104 -1.89999753237 --1.22877189517 -1.91920825839 --1.22875922918 -1.93841737509 --1.22873339057 -1.95567679405 --1.2287105918 -1.9729359448 --1.22869074345 -1.99019446969 --1.22867396474 -2.00745278597 --1.22866025567 -2.02471059561 --1.22864949703 -2.04196828604 --1.22864177823 -2.05922567845 --1.22863712907 -2.07648313046 --1.22863554955 -2.09374034405 --1.22863698006 -2.11099779606 --1.22864145041 -2.12825500965 --1.22864893079 -2.14551258087 --1.22865945101 -2.16277015209 --1.22867301107 -2.18002808094 --1.22868961096 -2.19728624821 --1.22870922089 -2.21454495192 --1.22873190045 -2.23180383444 --1.22875750065 -2.24906337261 --1.22877192497 -2.26827412844 --1.22875922918 -2.28748321533 --1.22873339057 -2.3047426343 --1.2287105918 -2.32200175524 --1.22869080305 -2.33926022053 --1.22867402435 -2.35651856661 --1.22866025567 -2.37377643585 --1.22864949703 -2.39103424549 --1.22864177823 -2.4082916379 --1.22863712907 -2.42554908991 --1.22863551975 -2.4428063035 --1.22863692045 -2.4600636363 --1.2286413908 -2.4773209095 --1.22864890098 -2.49457848072 --1.22865945101 -2.51183605194 --1.22867301107 -2.52909404039 --1.22868961096 -2.54635208845 --1.22870922089 -2.56361073256 --1.22873187065 -2.58086961508 --1.22875747084 -2.59812921286 --1.22877192497 -2.61733996868 --1.22875922918 -2.63654911518 --1.22873339057 -2.65380859375 --1.2287105918 -2.67106765508 --1.22869080305 -2.68832612037 --1.22867402435 -2.70558446645 --1.22866025567 -2.7228423357 --1.22864949703 -2.74010008574 --1.22864177823 -2.75735741854 --1.22863712907 -2.77461487055 --1.22863551975 -2.79187208414 --1.22863695025 -2.80912941694 --1.22864145041 -2.82638669014 --1.22864893079 -2.84364426136 --1.22865945101 -2.86090183258 --1.22867301107 -2.87815988064 --1.22868961096 -2.89541792869 --1.22870922089 -2.9126765728 --1.22873187065 -2.92993551492 --1.22875747084 -2.9471950531 --1.22877195478 -2.96640580893 --1.22875928879 -2.98561495543 --1.22873342037 -3.00287437439 --1.2287105918 -3.02013349533 --1.22869077325 -3.03739202022 --1.22867396474 -3.0546503067 --1.22866022587 -3.07190811634 --1.22864949703 -3.08916586637 --1.22864174843 -3.10642325878 --1.22863709927 -3.12368071079 --1.22863554955 -3.14093789657 --1.22863698006 --3.12499004603 --1.2286414206 --3.10773277283 --1.22864890098 --3.09047520161 --1.22865945101 --3.07321763039 --1.22867301107 --3.05595958233 --1.22868961096 --3.03870153427 --1.22870922089 --3.02144289017 --1.22873187065 --3.00418388843 --1.22875744104 --2.98692435026 --1.22877189517 --2.96771365404 --1.22875922918 --2.94850450754 --1.22873336077 --2.93124508858 --1.22871056199 --2.91398596764 --1.22869074345 --2.89672744274 --1.22867396474 --2.87946915626 --1.22866025567 --2.86221134663 --1.22864949703 --2.84495359659 --1.22864177823 --2.82769620419 --1.22863712907 --2.81043875217 --1.22863551975 --2.79318153858 --1.22863695025 --2.77592408657 --1.22864145041 --2.75866687298 --1.22864893079 --2.74140936136 --1.22865945101 --2.72415179014 --1.22867301107 --2.70689380169 --1.22868961096 --2.68963563442 --1.22870922089 --2.67237693071 --1.22873187065 --2.65511804819 --1.22875744104 --2.63785851002 --1.22877189517 --2.61864775419 --1.22875925899 --2.5994386673 --1.22873339057 --2.58217930794 --1.22871053219 --2.564920187 --1.22869077325 --2.5476616621 --1.22867402435 --2.53040331602 --1.22866025567 --2.51314550638 --1.22864949703 --2.49588769675 --1.22864177823 --2.47863030434 --1.22863712907 --2.46137285232 --1.22863551975 --2.44411563873 --1.22863695025 --2.42685830593 --1.22864145041 --2.40960103273 --1.22864893079 --2.39234346151 --1.22865945101 --2.37508583069 --1.22867301107 --2.35782784223 --1.22868961096 --2.34056979418 --1.22870922089 --2.32331115007 --1.22873187065 --2.30605226755 --1.22875744104 --2.28879266977 --1.22877189517 --2.26958191395 --1.22875922918 --2.25037276745 --1.22873339057 --2.23311328888 --1.2287105918 --2.21585422754 --1.22869077325 --2.19859570265 --1.22867399454 --2.18133735657 --1.22866025567 --2.16407960654 --1.22864949703 --2.1468218565 --1.22864177823 --2.12956446409 --1.22863712907 --2.11230701208 --1.22863554955 --2.09504985809 --1.22863698006 --2.07779252529 --1.22864145041 --2.06053519249 --1.22864893079 --2.04327762127 --1.2286594212 --2.02602005005 --1.22867298126 --2.0087620616 --1.22868961096 --1.99150395393 --1.22870922089 --1.97424528003 --1.22873187065 --1.95698639751 --1.22875744104 --1.93972682953 --1.22877189517 --1.92051610351 --1.22875925899 --1.90130695701 --1.22873339057 --1.88404750824 --1.22871056199 --1.8667884171 --1.22869077325 --1.84952992201 --1.22867399454 --1.83227157593 --1.22866025567 --1.81501373649 --1.22864949703 --1.79775598645 --1.22864177823 --1.78049862385 --1.22863712907 --1.76324117183 --1.22863554955 --1.74598395825 --1.22863695025 --1.72872659564 --1.2286414206 --1.71146935224 --1.22864893079 --1.69421178102 --1.2286594212 --1.6769542098 --1.22867298126 --1.65969622135 --1.22868961096 --1.64243811369 --1.22870919109 --1.62517943979 --1.22873187065 --1.60792052746 --1.22875750065 --1.59066095948 --1.22877192497 --1.57145020365 --1.22875922918 --1.55224111676 --1.22873336077 --1.5349816978 --1.22871053219 --1.51772254705 --1.22869074345 --1.50046405196 --1.22867399454 --1.48320576549 --1.22866025567 --1.46594795585 --1.22864949703 --1.44869017601 --1.22864177823 --1.4314327538 --1.22863712907 --1.41417530179 --1.22863551975 --1.396918118 --1.22863695025 --1.37966072559 --1.22864145041 --1.3624034524 --1.22864893079 --1.34514591098 --1.22865945101 --1.32788833976 --1.22867301107 --1.3106303513 --1.22868961096 --1.29337224364 --1.22870922089 --1.27611356974 --1.22873187065 --1.25885465741 --1.22875744104 --1.24159508944 --1.22877189517 --1.22238436341 --1.22875922918 --1.20317524671 --1.22873339057 --1.18591582775 --1.2287105918 --1.16865670681 --1.22869074345 --1.15139818191 --1.22867396474 --1.13413986564 --1.22866025567 --1.116882056 --1.22864949703 --1.09962430596 --1.22864177823 --1.08236694336 --1.22863712907 --1.06510949135 --1.22863554955 --1.04785227776 --1.22863698006 --1.03059491515 --1.22864145041 --1.01333767176 --1.22864893079 --0.996080085635 --1.22865945101 --0.978822484612 --1.22867301107 --0.96156449616 --1.22868961096 --0.944306388498 --1.22870922089 --0.927047729492 --1.22873190045 --0.909788832068 --1.22875750065 --0.892529264092 --1.22877192497 --0.873318523169 --1.22875922918 --0.854109406471 --1.22873339057 --0.836849987507 --1.2287105918 --0.819590866566 --1.22869080305 --0.802332341671 --1.22867402435 --0.785074025393 --1.22866025567 --0.767816215754 --1.22864949703 --0.750558465719 --1.22864177823 --0.733301073313 --1.22863712907 --0.716043621302 --1.22863551975 --0.69878642261 --1.22863692045 --0.681529030203 --1.2286413908 --0.664271771907 --1.22864890098 --0.647014215589 --1.22865945101 --0.629756644368 --1.22867301107 --0.612498655915 --1.22868961096 --0.595240548253 --1.22870922089 --0.577981904149 --1.22873187065 --0.560723006725 --1.22875747084 --0.543463423848 --1.22877192497 --0.524252697825 --1.22875922918 --0.505043573678 --1.22873339057 --0.487784132361 --1.2287105918 --0.47052501142 --1.22869080305 --0.453266508877 --1.22867402435 --0.43600820005 --1.22866025567 --0.41875038296 --1.22864949703 --0.401492618024 --1.22864177823 --0.384235218167 --1.22863712907 --0.366977773607 --1.22863551975 --0.349720567465 --1.22863695025 --0.332463175058 --1.22864145041 --0.315205924213 --1.22864893079 --0.297948375344 --1.22865945101 --0.280690796673 --1.22867301107 --0.26343280077 --1.22868961096 --0.246174700558 --1.22870922089 --0.228916037828 --1.22873187065 --0.211657125503 --1.22875747084 --0.194397553801 --1.22877195478 --0.175186820328 --1.21164864301 --0.155973561108 --1.21162295342 --0.138714157045 --1.21160030365 --0.12145505473 --1.21158063412 --0.104196565226 --1.21156391501 --0.0869382638484 --1.21155023575 --0.0696804570034 --1.21153956651 --0.0524227134883 --1.21153187752 --0.0351653406397 --1.21152722836 --0.0179079081863 --1.21152564883 --0.000650723464785 --1.21152707934 -0.0166066419333 --1.21153151989 -0.0338638853282 --1.21153897047 -0.0511214304715 --1.21154946089 -0.0683789784089 --1.21156293154 -0.085636952892 --1.21157944202 -0.102895047516 --1.21159893274 -0.120153695345 --1.2116214633 -0.137412589043 --1.21164691448 -0.154672142118 --1.2116612494 -0.173883024603 --1.21164861321 -0.193092282862 --1.21162292361 -0.21035169065 --1.21160030365 -0.227610804141 --1.21158060431 -0.244869291782 --1.21156391501 -0.262127585709 --1.21155026555 -0.279385395348 --1.21153956651 -0.296643137932 --1.21153190732 -0.313900507986 --1.21152725816 -0.331157937646 --1.21152567864 -0.348415121436 --1.21152710914 -0.36567248404 --1.21153154969 -0.382929734885 --1.21153900027 -0.400187283754 --1.21154946089 -0.417444832623 --1.21156293154 -0.434702798724 --1.21157944202 -0.451960891485 --1.21159893274 -0.46921954304 --1.2116214633 -0.486478440463 --1.21164691448 -0.503737993538 --1.2116612494 -0.522948861122 --1.21164864301 -0.542158141732 --1.21162295342 -0.559417545795 --1.21160024405 -0.576676636934 --1.21158057451 -0.593935146928 --1.21156394482 -0.611193448305 --1.21155026555 -0.628451257944 --1.21153956651 -0.645708993077 --1.21153190732 -0.662966355681 --1.21152725816 -0.680223792791 --1.21152567864 -0.697480976582 --1.21152710914 -0.714738339186 --1.21153154969 -0.731995582581 --1.21153900027 -0.749253123999 --1.21154946089 -0.766510680318 --1.21156293154 -0.78376866877 --1.21157944202 -0.80102674663 --1.21159893274 -0.818285375834 --1.2116214633 -0.835544273257 --1.21164691448 -0.852803856134 --1.2116612494 -0.872014760971 --1.21164861321 -0.891224011779 --1.21162292361 -0.908483400941 --1.21160030365 -0.92574249208 --1.21158060431 -0.943000987172 --1.21156388521 -0.96025930345 --1.21155023575 -0.977517098188 --1.21153956651 -0.994774818421 --1.21153190732 -1.01203221083 --1.21152725816 -1.02928966284 --1.21152564883 -1.04654681682 --1.21152710914 -1.06380417943 --1.21153157949 -1.08106145262 --1.21153900027 -1.09831896424 --1.21154946089 -1.11557650566 --1.21156293154 -1.13283449411 --1.21157944202 -1.15009260178 --1.21159893274 -1.16735124588 --1.2116214633 -1.1846101284 --1.21164691448 -1.20186969638 --1.2116612494 -1.22108057141 --1.21164864301 -1.24028983712 --1.21162295342 -1.25754925608 --1.21160030365 -1.27480837703 --1.21158060431 -1.29206687212 --1.21156391501 -1.3093251586 --1.21155026555 -1.32658296824 --1.21153956651 -1.34384071827 --1.21153190732 -1.36109808088 --1.21152725816 -1.37835550308 --1.21152567863 -1.39561268687 --1.21152707934 -1.41287004947 --1.21153151989 -1.43012729287 --1.21153900027 -1.44738483429 --1.21154946089 -1.4646423757 --1.21156293154 -1.48190036416 --1.21157944202 -1.49915844202 --1.21159893274 -1.51641708613 --1.2116214633 -1.53367599845 --1.21164694428 -1.55093553662 --1.211661309 -1.57014641166 --1.21164864301 -1.58935567736 --1.21162292361 -1.60661509633 --1.21160027385 -1.62387418747 --1.21158060431 -1.64113265276 --1.21156394482 -1.65839096904 --1.21155026555 -1.67564877868 --1.21153956651 -1.69290652871 --1.21153187752 -1.71016392112 --1.21152722836 -1.72742131353 --1.21152564883 -1.74467849732 --1.21152707934 -1.76193588972 --1.21153154969 -1.77919313312 --1.21153900027 -1.79645070434 --1.21154946089 -1.81370824575 --1.21156290174 -1.8309662044 --1.21157941222 -1.84822431207 --1.21159893274 -1.86548292637 --1.2116214633 -1.88274180889 --1.21164691448 -1.90000137687 --1.2116612494 -1.9192122519 --1.21164864301 -1.93842151761 --1.21162295342 -1.95568093658 --1.21160030365 -1.97294005752 --1.21158060431 -1.99019855261 --1.21156391501 -2.00745686889 --1.21155026555 -2.02471464872 --1.21153956651 -2.04197233915 --1.21153190732 -2.05922973156 --1.21152725816 -2.07648718357 --1.21152564883 -2.09374433756 --1.21152710914 -2.11100172997 --1.21153157949 -2.12825900316 --1.21153900027 -2.14551657438 --1.21154946089 -2.162774086 --1.21156293154 -2.18003201485 --1.21157944202 -2.19729018212 --1.21159893274 -2.21454882622 --1.2116214633 -2.23180770874 --1.21164691448 -2.24906730652 --1.2116612792 -2.26827818155 --1.21164867282 -2.28748738766 --1.21162295342 -2.30474680662 --1.21160030365 -2.32200592756 --1.21158063412 -2.33926439285 --1.21156391501 -2.35652267933 --1.21155023575 -2.37378048897 --1.21153956651 -2.391038239 --1.21153190732 -2.40829563141 --1.21152725816 -2.42555308342 --1.21152567864 -2.44281029701 --1.21152710914 -2.46006762981 --1.21153151989 -2.47732484341 --1.21153897047 -2.49458241463 --1.21154946089 -2.51183998585 --1.21156293154 -2.5290979147 --1.21157944202 -2.54635596276 --1.21159893274 -2.56361460686 --1.2116214633 -2.58087348938 --1.21164691448 -2.59813308716 --1.2116612494 -2.61734396219 --1.21164861321 -2.6365532279 --1.21162292361 -2.65381264687 --1.21160027385 -2.6710717082 --1.21158060431 -2.68833017349 --1.21156391501 -2.70558851957 --1.21155023575 -2.72284638882 --1.21153956651 -2.74010407925 --1.21153190732 -2.75736141205 --1.21152725816 -2.77461886406 --1.21152564883 -2.79187607765 --1.21152707934 -2.80913341045 --1.21153154969 -2.82639062405 --1.21153900027 -2.84364819527 --1.21154946089 -2.86090576649 --1.21156293154 -2.87816381455 --1.21157944202 -2.8954218626 --1.21159893274 -2.9126805067 --1.2116214633 -2.92993938923 --1.21164691448 -2.9471988678 --1.2116612494 -2.96640980244 --1.21164864301 -2.98561906815 --1.21162295342 -3.00287848711 --1.21160030365 -3.02013760805 --1.21158063412 -3.03739607334 --1.21156391501 -3.05465435982 --1.21155023575 -3.07191216946 --1.21153956651 -3.08916991949 --1.21153187752 -3.10642731189 --1.21152722836 -3.12368476391 --1.21152564883 -3.14094194968 --1.21152707934 --3.12498605252 --1.21153151989 --3.10772883892 --1.21153897047 --3.0904712677 --1.21154946089 --3.07321369648 --1.21156293154 --3.05595564842 --1.21157944202 --3.03869760037 --1.21159893274 --3.02143895626 --1.2116214633 --3.00418001413 --1.21164691448 --2.98692053556 --1.2116612494 --2.96770966053 --1.21164861321 --2.94850039482 --1.21162292361 --2.93124097586 --1.21160030365 --2.91398185491 --1.21158060431 --2.89672338962 --1.21156391501 --2.87946510315 --1.21155026555 --2.86220729351 --1.21153956651 --2.84494954347 --1.21153190732 --2.82769215107 --1.21152725816 --2.81043469906 --1.21152567864 --2.79317754507 --1.21152710914 --2.77592015266 --1.21153154969 --2.75866287947 --1.21153900027 --2.74140536785 --1.21154946089 --2.72414785624 --1.21156293154 --2.70688986778 --1.21157944202 --2.68963170052 --1.21159893274 --2.67237305641 --1.2116214633 --2.65511417389 --1.21164691448 --2.63785463572 --1.2116612494 --2.61864376068 --1.21164864301 --2.59943449497 --1.21162295342 --2.58217513561 --1.21160024405 --2.56491601467 --1.21158057451 --2.54765748978 --1.21156394482 --2.5303992033 --1.21155026555 --2.51314139366 --1.21153956651 --2.49588364363 --1.21153190732 --2.47862631082 --1.21152725816 --2.46136885881 --1.21152567864 --2.44411164522 --1.21152710914 --2.42685431242 --1.21153154969 --2.40959703922 --1.21153900027 --2.392339468 --1.21154946089 --2.37508189678 --1.21156293154 --2.35782396793 --1.21157944202 --2.34056591987 --1.21159893274 --2.32330727577 --1.2116214633 --2.30604839325 --1.21164691448 --2.28878879547 --1.2116612494 --2.26957792044 --1.21164861321 --2.25036865473 --1.21162292361 --2.23310923576 --1.21160030365 --2.21585017443 --1.21158060431 --2.19859164953 --1.21156388521 --2.18133330345 --1.21155023575 --2.16407555342 --1.21153956651 --2.14681786299 --1.21153190732 --2.12956047058 --1.21152725816 --2.11230301857 --1.21152564883 --2.09504586458 --1.21152710914 --2.07778853178 --1.21153157949 --2.06053125858 --1.21153900027 --2.04327368736 --1.21154946089 --2.02601611614 --1.21156293154 --2.00875818729 --1.21157944202 --1.99150007963 --1.21159893274 --1.97424137593 --1.2116214633 --1.9569824934 --1.21164691448 --1.93972295523 --1.2116612494 --1.92051208019 --1.21164864301 --1.90130278468 --1.21162295342 --1.88404339552 --1.21160030365 --1.86678433418 --1.21158060431 --1.84952583909 --1.21156391501 --1.83226752281 --1.21155026555 --1.81500968337 --1.21153956651 --1.79775193334 --1.21153190732 --1.78049460053 --1.21152725816 --1.76323714852 --1.21152567863 --1.74597996473 --1.21152707934 --1.72872263193 --1.21153151989 --1.71146538853 --1.21153900027 --1.69420781731 --1.21154946089 --1.6769502759 --1.21156293154 --1.65969231724 --1.21157944202 --1.64243420958 --1.21159893274 --1.62517556548 --1.2116214633 --1.60791668296 --1.21164694428 --1.59065711498 --1.211661309 --1.57144621015 --1.21164864301 --1.55223697424 --1.21162292361 --1.53497755527 --1.21160027385 --1.51771843433 --1.21158060431 --1.50045996905 --1.21156394482 --1.48320168257 --1.21155026555 --1.46594387293 --1.21153956651 --1.4486861229 --1.21153187752 --1.43142873049 --1.21152722836 --1.41417130828 --1.21152564883 --1.39691415429 --1.21152707934 --1.37965676189 --1.21153154969 --1.36239948869 --1.21153900027 --1.34514197707 --1.21154946089 --1.32788443565 --1.21156290174 --1.3106264472 --1.21157941222 --1.29336833954 --1.21159893274 --1.27610969544 --1.2116214633 --1.25885081291 --1.21164691448 --1.24159124493 --1.2116612494 --1.2223803699 --1.21164864301 --1.20317110419 --1.21162295342 --1.18591168523 --1.21160030365 --1.16865256429 --1.21158060431 --1.15139406919 --1.21156391501 --1.13413578272 --1.21155026555 --1.11687797308 --1.21153956651 --1.09962025285 --1.21153190732 --1.08236292005 --1.21152725816 --1.06510546804 --1.21152564883 --1.04784825444 --1.21152710914 --1.03059092164 --1.21153157949 --1.01333370805 --1.21153900027 --0.996076136828 --1.21154946089 --0.978818565607 --1.21156293154 --0.961560592056 --1.21157944202 --0.944302484393 --1.21159893274 --0.927043840289 --1.2116214633 --0.909784972668 --1.21164691448 --0.892525404692 --1.2116612792 --0.873314499855 --1.21164867282 --0.854105249047 --1.21162295342 --0.836845844984 --1.21160030365 --0.819586724043 --1.21158063412 --0.802328228951 --1.21156391501 --0.785069957376 --1.21155023575 --0.767812177539 --1.21153956651 --0.750554442406 --1.21153190732 --0.733297064901 --1.21152725816 --0.716039627791 --1.21152567864 --0.698782414198 --1.21152710914 --0.681525036692 --1.21153151989 --0.6642678231 --1.21153897047 --0.647010281682 --1.21154946089 --0.629752725363 --1.21156293154 --0.61249473691 --1.21157944202 --0.595236629247 --1.21159893274 --0.577978014946 --1.2116214633 --0.560719132424 --1.21164691448 --0.543459549546 --1.2116612494 --0.524248674512 --1.21164861321 --0.505039416254 --1.21162292361 --0.487779997289 --1.21160027385 --0.4705208987 --1.21158060431 --0.453262403608 --1.21156391501 --0.436004109681 --1.21155023575 --0.418746314943 --1.21153956651 --0.401488564909 --1.21153190732 --0.384231187403 --1.21152725816 --0.366973757744 --1.21152564883 --0.349716566503 --1.21152707934 --0.332459196448 --1.21153154969 --0.315201960504 --1.21153900027 --0.297944419086 --1.21154946089 --0.280686862767 --1.21156293154 --0.263428889215 --1.21157944202 --0.246170800179 --1.21159893274 --0.22891215235 --1.2116214633 --0.211653258652 --1.21164691448 --0.194393701851 --1.2116612494 --0.175182815641 --1.19455015659 --0.15597075969 --1.19452464581 --0.138711366803 --1.19450214505 --0.121452275664 --1.19448259473 --0.104193799198 --1.19446596503 --0.0869355089962 --1.19445234537 --0.0696777114645 --1.19444176555 --0.0524199781939 --1.19443416596 --0.0351626160554 --1.1944295466 --0.0179051957093 --1.19442793727 --0.000648021930827 --1.19442936778 -0.0166093318258 --1.19443383813 -0.0338665642776 --1.19444122911 -0.0511240996421 --1.19445160031 -0.0683816354722 --1.19446498156 -0.0856395978481 --1.19448143244 -0.102897681296 --1.19450080395 -0.120156314224 --1.19452318549 -0.137415196746 --1.19454851747 -0.154674746096 --1.19456273317 -0.173885732889 --1.19455015659 -0.19309509173 --1.19452464581 -0.210354484618 --1.19450214505 -0.227613575757 --1.19448259473 -0.244872055948 --1.19446599483 -0.262130357325 --1.19445237517 -0.279388159513 --1.19444176555 -0.296645872295 --1.19443416596 -0.313903227449 --1.1944295466 -0.331160657108 --1.19442796707 -0.348417833447 --1.19442939758 -0.36567518115 --1.19443383813 -0.382932409644 --1.19444122911 -0.400189951062 --1.19445163012 -0.41744749248 --1.19446501136 -0.434705451131 --1.19448143244 -0.451963536442 --1.19450080395 -0.469222173095 --1.19452318549 -0.486481048167 --1.19454848766 -0.503740593791 --1.19456270337 -0.522951573133 --1.19455018639 -0.542160943151 --1.19452467561 -0.559420332312 --1.19450211525 -0.576679423452 --1.19448256492 -0.593937933445 --1.19446596503 -0.611196219921 --1.19445234537 -0.628454014659 --1.19444176555 -0.645711749792 --1.19443416596 -0.662969097495 --1.1944295466 -0.680226504803 --1.19442796707 -0.697483673692 --1.19442939758 -0.714741036296 --1.19443383813 -0.73199826479 --1.19444122911 -0.749255776405 --1.19445160031 -0.766513317823 --1.19446498156 -0.783771306276 --1.19448143244 -0.801029384136 --1.19450080395 -0.818287998438 --1.19452318549 -0.835546895861 --1.19454848766 -0.852806478739 --1.19456270337 -0.872017458081 --1.19455012679 -0.891226798296 --1.194524616 -0.908486187458 --1.19450214505 -0.925745263696 --1.19448256493 -0.943003728986 --1.19446593523 -0.960262045264 --1.19445234537 -0.977519854903 --1.19444176555 -0.994777575136 --1.19443416596 -1.01203495264 --1.1944295466 -1.02929237485 --1.19442793727 -1.04654952883 --1.19442939758 -1.06380686164 --1.19443383813 -1.08106410503 --1.1944411993 -1.09832164645 --1.19445163012 -1.11557918787 --1.19446501136 -1.13283714652 --1.19448143244 -1.15009522438 --1.19450080395 -1.16735386849 --1.19452318549 -1.18461275101 --1.19454851747 -1.20187228918 --1.19456273317 -1.22108328343 --1.19455015659 -1.24029263854 --1.19452464581 -1.2575520277 --1.19450211525 -1.27481114865 --1.19448256492 -1.29206961393 --1.19446599483 -1.30932790041 --1.19445237517 -1.32658571005 --1.19444176555 -1.34384343028 --1.19443416596 -1.36110076309 --1.1944295466 -1.37835818529 --1.19442796707 -1.39561539888 --1.19442936778 -1.41287276149 --1.19443377852 -1.43012997508 --1.1944411993 -1.4473874867 --1.19445160031 -1.46464502812 --1.19446498156 -1.48190301657 --1.19448143244 -1.49916109442 --1.19450080395 -1.51641973853 --1.19452318549 -1.53367862105 --1.19454848766 -1.55093815923 --1.19456273317 -1.57014912367 --1.19455018639 -1.58935847878 --1.19452464581 -1.60661789775 --1.19450214505 -1.62387695909 --1.19448259473 -1.64113542438 --1.19446599483 -1.65839371085 --1.19445240497 -1.67565152049 --1.19444179535 -1.69290927052 --1.19443416596 -1.71016663313 --1.1944295764 -1.72742402553 --1.19442799687 -1.74468117952 --1.19442939758 -1.76193857193 --1.19443383813 -1.77919581532 --1.19444125891 -1.79645335674 --1.19445165992 -1.81371089816 --1.19446498156 -1.83096882701 --1.19448140264 -1.84822690487 --1.19450080395 -1.86548554897 --1.19452318549 -1.8827444315 --1.19454848766 -1.90000396967 --1.19456270337 -1.91921496392 --1.19455018639 -1.93842434883 --1.19452467561 -1.95568373799 --1.19450214505 -1.97294282913 --1.19448259473 -1.99020129442 --1.19446599483 -2.0074596107 --1.19445237517 -2.02471739054 --1.19444176555 -2.04197508097 --1.19443416596 -2.05923247338 --1.1944295466 -2.07648992539 --1.19442793727 -2.09374707937 --1.19442939758 -2.11100441217 --1.19443386793 -2.12826168537 --1.19444122911 -2.14551925659 --1.19445160031 -2.16277676821 --1.19446498156 -2.18003469705 --1.19448143244 -2.19729280472 --1.19450080395 -2.21455144882 --1.19452318549 -2.23181033134 --1.19454848766 -2.24906986952 --1.19456273317 -2.26828086376 --1.1945502162 -2.28749024868 --1.19452467561 -2.30474960804 --1.19450214505 -2.32200866938 --1.19448259473 -2.33926719427 --1.19446596503 -2.35652548075 --1.19445234537 -2.37378329039 --1.19444176555 -2.39104104042 --1.19443416596 -2.40829831362 --1.1944295466 -2.42555570602 --1.19442796707 -2.44281291962 --1.19442939758 -2.46007025242 --1.19443383813 -2.47732746601 --1.19444122911 -2.49458503723 --1.19445163012 -2.51184260845 --1.19446501136 -2.5291005373 --1.19448143244 -2.54635858536 --1.19450080395 -2.56361722946 --1.19452318549 -2.58087611198 --1.19454848766 -2.59813570976 --1.19456270337 -2.617346704 --1.19455015659 -2.63655602932 --1.19452464581 -2.65381538868 --1.19450211525 -2.67107450962 --1.19448256492 -2.68833303451 --1.19446596503 -2.70559132099 --1.19445234537 -2.72284913063 --1.19444176555 -2.74010682106 --1.19443416596 -2.75736415386 --1.1944295466 -2.77462160587 --1.19442796707 -2.79187875986 --1.19442939758 -2.80913609266 --1.19443383813 -2.82639336586 --1.19444122911 -2.84365087748 --1.19445163012 -2.86090838909 --1.19446501136 -2.87816643715 --1.19448143244 -2.89542448521 --1.19450080395 -2.9126830697 --1.19452318549 -2.92994195223 --1.19454848766 -2.9472014904 --1.19456270337 -2.96641248464 --1.19455015659 -2.98562180996 --1.19452464581 -3.00288128853 --1.19450214505 -3.02014040947 --1.19448259473 -3.03739881515 --1.19446596503 -3.05465710163 --1.19445234537 -3.07191491127 --1.19444176555 -3.0891726613 --1.19443416596 -3.10643005371 --1.1944295466 -3.12368750572 --1.19442793727 -3.1409446915 --1.19442936778 --3.1249833107 --1.19443383813 --3.10772609711 --1.19444122911 --3.09046858549 --1.19445160031 --3.07321107388 --1.19446498156 --3.05595302582 --1.19448143244 --3.03869491816 --1.19450080395 --3.02143627405 --1.19452318549 --3.00417745113 --1.19454851747 --2.98691797256 --1.19456273317 --2.96770697832 --1.19455015659 --2.94849765301 --1.19452464581 --2.93123817444 --1.19450214505 --2.91397905349 --1.19448259473 --2.89672064781 --1.19446599483 --2.87946236133 --1.19445237517 --2.8622045517 --1.19444176555 --2.84494680166 --1.19443416596 --2.82768940926 --1.1944295466 --2.81043195725 --1.19442796707 --2.79317480326 --1.19442939758 --2.77591747046 --1.19443383813 --2.75866019726 --1.19444122911 --2.74140262604 --1.19445163012 --2.72414511442 --1.19446501136 --2.70688718557 --1.19448143244 --2.68962907791 --1.19450080395 --2.67237043381 --1.19452318549 --2.65511155128 --1.19454848766 --2.63785207271 --1.19456270337 --2.61864107847 --1.19455018639 --2.59943163395 --1.19452467561 --2.58217227459 --1.19450211525 --2.56491321325 --1.19448256492 --2.54765474796 --1.19446596503 --2.53039646149 --1.19445234537 --2.51313865185 --1.19444176555 --2.49588096142 --1.19443416596 --2.47862356901 --1.1944295466 --2.461366117 --1.19442796707 --2.44410896301 --1.19442939758 --2.42685163021 --1.19443383813 --2.40959441662 --1.19444122911 --2.3923368454 --1.19445160031 --2.37507927418 --1.19446498156 --2.35782134533 --1.19448143244 --2.34056329727 --1.19450080395 --2.32330465317 --1.19452318549 --2.30604577064 --1.19454848766 --2.28878617287 --1.19456270337 --2.26957517862 --1.19455012679 --2.25036585331 --1.194524616 --2.23310649395 --1.19450214505 --2.21584743261 --1.19448256493 --2.19858890772 --1.19446593523 --2.18133056164 --1.19445234537 --2.164072752 --1.19444176555 --2.14681506157 --1.19443416596 --2.12955772877 --1.1944295466 --2.11230033636 --1.19442793727 --2.09504318237 --1.19442939758 --2.07778578997 --1.19443383813 --2.06052851677 --1.1944411993 --2.04327100515 --1.19445163012 --2.02601349354 --1.19446501136 --2.00875556469 --1.19448143244 --1.99149745703 --1.19450080395 --1.97423875332 --1.19452318549 --1.9569798708 --1.19454851747 --1.93972033262 --1.19456273317 --1.92050933838 --1.19455015659 --1.90129998327 --1.19452464581 --1.88404062391 --1.19450211525 --1.86678153277 --1.19448256492 --1.84952303768 --1.19446599483 --1.83226475119 --1.19445237517 --1.81500694156 --1.19444176555 --1.79774922133 --1.19443416596 --1.78049188852 --1.1944295466 --1.76323443651 --1.19442796707 --1.74597728252 --1.19442936778 --1.72871994972 --1.19443377852 --1.71146267653 --1.1944411993 --1.69420513511 --1.19445160031 --1.67694762349 --1.19446498156 --1.65968966484 --1.19448143244 --1.64243158698 --1.19450080395 --1.62517297268 --1.19452318549 --1.60791409015 --1.19454848766 --1.59065452218 --1.19456273317 --1.57144352794 --1.19455018639 --1.55223417282 --1.19452464581 --1.53497475386 --1.19450214505 --1.51771566272 --1.19448259473 --1.50045719743 --1.19446599483 --1.48319891095 --1.19445240497 --1.46594113111 --1.19444179535 --1.44868338108 --1.19443416596 --1.43142598868 --1.1944295764 --1.41416859627 --1.19442799687 --1.39691144228 --1.19442939758 --1.37965407967 --1.19443383813 --1.36239683628 --1.19444125891 --1.34513929487 --1.19445165992 --1.32788175344 --1.19446498156 --1.31062379479 --1.19448140264 --1.29336571693 --1.19450080395 --1.27610707283 --1.19452318549 --1.25884819031 --1.19454848766 --1.24158865213 --1.19456270337 --1.22237765789 --1.19455018639 --1.20316830277 --1.19452467561 --1.18590891361 --1.19450214505 --1.16864979267 --1.19448259473 --1.15139132738 --1.19446599483 --1.13413304091 --1.19445237517 --1.11687523127 --1.19444176555 --1.09961754084 --1.19443416596 --1.08236020804 --1.1944295466 --1.06510275602 --1.19442793727 --1.04784554243 --1.19442939758 --1.03058820963 --1.19443386793 --1.01333099604 --1.19444122911 --0.99607345462 --1.19445160031 --0.978815928102 --1.19446498156 --0.96155795455 --1.19448143244 --0.944299861789 --1.19450080395 --0.927041232586 --1.19452318549 --0.909782364965 --1.19454848766 --0.89252281189 --1.19456273317 --0.873311817646 --1.1945502162 --0.85410246253 --1.19452467561 --0.836843058467 --1.19450214505 --0.819583952427 --1.19448259473 --0.802325472235 --1.19446596503 --0.785067215562 --1.19445234537 --0.767809420824 --1.19444176555 --0.75055167079 --1.19443416596 --0.733294337988 --1.1944295466 --0.71603693068 --1.19442796707 --0.698779731989 --1.19442939758 --0.681522369385 --1.19443383813 --0.664265155793 --1.19444122911 --0.647007614374 --1.19445163012 --0.629750072956 --1.19446501136 --0.612492099404 --1.19448143244 --0.595233991742 --1.19450080395 --0.577975362539 --1.19452318549 --0.560716494918 --1.19454848766 --0.543456956745 --1.19456270337 --0.524245962501 --1.19455015659 --0.505036592483 --1.19452464581 --0.487777203321 --1.19450211525 --0.470518119633 --1.19448256492 --0.453259639442 --1.19446596503 --0.436001352966 --1.19445234537 --0.418743565679 --1.19444176555 --0.401485830546 --1.19443416596 --0.384228467941 --1.1944295466 --0.366971053183 --1.19442796707 --0.349713869393 --1.19442939758 --0.332456506788 --1.19443383813 --0.315199278295 --1.19444122911 --0.297941744327 --1.19445163012 --0.28068421036 --1.19446501136 --0.26342625171 --1.19448143244 --0.246168170124 --1.19450080395 --0.228909537196 --1.19452318549 --0.211650654674 --1.19454848766 --0.194391105324 --1.19456270337 --0.175180114805 --1.17742952704 --0.155967924744 --1.17740416527 --0.138708539307 --1.17738181353 --0.121449459344 --1.17736241221 --0.104190995917 --1.17734593153 --0.0869327187538 --1.17733237147 --0.0696749296039 --1.17732185126 --0.0524172075093 --1.17731428146 --0.0351598570123 --1.17730966211 --0.0179024478421 --1.17730811238 --0.000645285472275 --1.17730954289 -0.0166120571085 --1.17731395364 -0.0338692772202 --1.17732128501 -0.0511268014088 --1.17733159661 -0.0683843269944 --1.17734488845 -0.0856422781944 --1.17736124992 -0.102900352329 --1.17738050222 -0.120158972219 --1.17740270495 -0.137417841703 --1.17742788792 -0.154677379876 --1.17744204402 -0.173888467252 --1.17742955685 -0.193097926676 --1.17740419507 -0.210357315838 --1.17738181353 -0.227616395801 --1.17736238241 -0.244874853641 --1.17734590172 -0.262133136391 --1.17733237147 -0.279390931129 --1.17732185126 -0.296648643911 --1.17731428146 -0.313905991614 --1.17730969191 -0.331163406372 --1.17730814219 -0.348420567811 --1.17730954289 -0.365677908063 --1.17731395364 -0.382935121655 --1.17732131481 -0.400192655623 --1.17733165622 -0.41745018959 --1.17734491825 -0.43470813334 --1.17736124992 -0.451966203749 --1.17738050222 -0.469224818051 --1.17740270495 -0.486483678222 --1.17742785811 -0.503743223846 --1.17744201422 -0.522954314947 --1.17742955685 -0.542163789272 --1.17740419507 -0.559423178435 --1.17738181353 -0.576682239771 --1.17736238241 -0.593940719962 --1.17734584212 -0.611199006439 --1.17733231187 -0.628456786275 --1.17732185126 -0.645714506507 --1.17731431127 -0.66297185421 --1.17730969191 -0.680229261517 --1.17730811238 -0.697486415506 --1.17730954289 -0.714743763209 --1.17731395364 -0.732000976801 --1.17732128501 -0.749258488417 --1.17733159661 -0.766516014933 --1.17734488845 -0.783773988485 --1.17736124992 -0.801032081246 --1.17738050222 -0.818290665746 --1.17740270495 -0.835549518466 --1.17742785811 -0.852809101343 --1.17744201422 -0.872020184994 --1.17742952704 -0.891229614616 --1.17740416527 -0.908489003777 --1.17738184333 -0.925748080015 --1.17736238241 -0.943006545305 --1.17734587192 -0.960264831781 --1.17733237147 -0.977522626519 --1.17732185126 -0.994780346751 --1.17731431127 -1.01203769446 --1.17730972171 -1.02929508686 --1.17730814219 -1.04655224085 --1.17730954289 -1.06380960346 --1.17731392384 -1.08106681705 --1.17732128501 -1.09832435847 --1.17733165622 -1.11558189988 --1.17734491825 -1.13283982873 --1.17736124992 -1.15009790659 --1.17738050222 -1.16735655069 --1.17740270495 -1.18461543321 --1.17742788792 -1.20187494159 --1.17744204402 -1.22108602524 --1.17742955685 -1.24029546976 --1.17740419507 -1.25755482912 --1.17738178373 -1.27481395006 --1.17736235261 -1.29207241535 --1.17734590172 -1.30933067202 --1.17733237147 -1.32658848166 --1.17732185126 -1.3438462019 --1.17731431127 -1.3611035347 --1.17730972171 -1.37836095691 --1.17730817199 -1.3956181407 --1.1773095429 -1.4128754735 --1.17731389403 -1.43013268709 --1.17732125521 -1.44739019871 --1.17733159661 -1.46464771032 --1.17734488845 -1.48190566897 --1.17736122012 -1.49916374683 --1.17738047242 -1.51642239094 --1.17740270495 -1.53368127346 --1.17742785811 -1.55094081164 --1.17744201422 -1.57015186548 --1.17742955685 -1.58936131 --1.17740419507 -1.60662072897 --1.17738181353 -1.62387979031 --1.17736238241 -1.6411382556 --1.17734587192 -1.65839654207 --1.17733237147 -1.67565432191 --1.17732188106 -1.69291204214 --1.17731434107 -1.71016937494 --1.17730978131 -1.72742679715 --1.17730820179 -1.74468395114 --1.1773095727 -1.76194131374 --1.17731395364 -1.77919852733 --1.17732134461 -1.79645603895 --1.17733168602 -1.81371361018 --1.17734491825 -1.83097153902 --1.17736124992 -1.84822958708 --1.17738050222 -1.86548820138 --1.17740273476 -1.8827470839 --1.17742788792 -1.90000662208 --1.17744201422 -1.91921770573 --1.17742955685 -1.93842718005 --1.17740419507 -1.95568653941 --1.17738181353 -1.97294563055 --1.17736238241 -1.99020409584 --1.17734587192 -2.00746238232 --1.17733234167 -2.02472019196 --1.17732185126 -2.04197788239 --1.17731431127 -2.05923521519 --1.17730972171 -2.07649260759 --1.17730814219 -2.09374976158 --1.17730954289 -2.11100715399 --1.17731395364 -2.12826442718 --1.17732131481 -2.1455219388 --1.17733162641 -2.16277945041 --1.17734488845 -2.18003737926 --1.17736124992 -2.19729542732 --1.17738050222 -2.21455407143 --1.17740270495 -2.23181295395 --1.17742788792 -2.24907243252 --1.17744204402 -2.26828354597 --1.17742955685 -2.2874931097 --1.17740419507 -2.30475246906 --1.17738181353 -2.3220114708 --1.17736238241 -2.33926993609 --1.17734587192 -2.35652822256 --1.17733234167 -2.3737860322 --1.17732185126 -2.39104378224 --1.17731431127 -2.40830105543 --1.17730972171 -2.42555844784 --1.17730814219 -2.44281566143 --1.17730954289 -2.46007299423 --1.17731395364 -2.47733020782 --1.17732131481 -2.49458771944 --1.17733165622 -2.51184523106 --1.17734491825 -2.52910321951 --1.17736124992 -2.54636132717 --1.17738050222 -2.56361991167 --1.17740270495 -2.58087873459 --1.17742785811 -2.59813833237 --1.17744201422 -2.61734944582 --1.17742955685 -2.63655889034 --1.17740419507 -2.6538182497 --1.17738181353 -2.67107731104 --1.17736238241 -2.68833583593 --1.17734590172 -2.70559412241 --1.17733237147 -2.72285187245 --1.17732185126 -2.74010956288 --1.17731431127 -2.75736695528 --1.17730972171 -2.77462440729 --1.17730817199 -2.79188150167 --1.1773095727 -2.80913883448 --1.17731395364 -2.82639610767 --1.17732131481 -2.84365361929 --1.17733165622 -2.8609111309 --1.17734491825 -2.87816911936 --1.17736124992 -2.89542716741 --1.17738050222 -2.91268575192 --1.17740273476 -2.92994463444 --1.17742788792 -2.94720417261 --1.17744201422 -2.96641522646 --1.17742952704 -2.98562467098 --1.17740416527 -3.00288414955 --1.17738181353 -3.02014327049 --1.17736241221 -3.03740167618 --1.17734593153 -3.05465996266 --1.17733237147 -3.0719177723 --1.17732185126 -3.08917546272 --1.17731428146 -3.10643279552 --1.17730966211 -3.12369018793 --1.17730811238 -3.14094737371 --1.17730954289 --3.12498056889 --1.17731395364 --3.1077233553 --1.17732128501 --3.09046584368 --1.17733159661 --3.07320833206 --1.17734488845 --3.05595034361 --1.17736124992 --3.03869223595 --1.17738050222 --3.02143359184 --1.17740270495 --3.00417476893 --1.17742788792 --2.98691529036 --1.17744204402 --2.96770423651 --1.17742955685 --2.94849479199 --1.17740419507 --2.93123531342 --1.17738181353 --2.91397619247 --1.17736238241 --2.89671778679 --1.17734590172 --2.87945950031 --1.17733237147 --2.86220169067 --1.17732185126 --2.84494400024 --1.17731428146 --2.82768666744 --1.17730969191 --2.81042927504 --1.17730814219 --2.79317212105 --1.17730954289 --2.77591472864 --1.17731395364 --2.75865751505 --1.17732131481 --2.74140000343 --1.17733165622 --2.72414243221 --1.17734491825 --2.70688450336 --1.17736124992 --2.68962645531 --1.17738050222 --2.6723678112 --1.17740270495 --2.65510892868 --1.17742785811 --2.63784945011 --1.17744201422 --2.61863833666 --1.17742955685 --2.59942877293 --1.17740419507 --2.58216941357 --1.17738181353 --2.56491041183 --1.17736238241 --2.54765200615 --1.17734584212 --2.53039371967 --1.17733231187 --2.51313591003 --1.17732185126 --2.4958782196 --1.17731431127 --2.4786208272 --1.17730969191 --2.46136337519 --1.17730811238 --2.4441062212 --1.17730954289 --2.4268488884 --1.17731395364 --2.40959167481 --1.17732128501 --2.39233416319 --1.17733159661 --2.37507665158 --1.17734488845 --2.35781866312 --1.17736124992 --2.34056055546 --1.17738050222 --2.32330197096 --1.17740270495 --2.30604314804 --1.17742785811 --2.28878355026 --1.17744201422 --2.26957243681 --1.17742952704 --2.25036299229 --1.17740416527 --2.23310363293 --1.17738184333 --2.21584463119 --1.17736238241 --2.1985861063 --1.17734587192 --2.18132776022 --1.17733237147 --2.16407001018 --1.17732185126 --2.14681231975 --1.17731431127 --2.12955498695 --1.17730972171 --2.11229759455 --1.17730814219 --2.09504044056 --1.17730954289 --2.07778304816 --1.17731392384 --2.06052577496 --1.17732128501 --2.04326826334 --1.17733165622 --2.02601075173 --1.17734491825 --2.00875282288 --1.17736124992 --1.99149477482 --1.17738050222 --1.97423613071 --1.17740270495 --1.95697724819 --1.17742788792 --1.93971771002 --1.17744204402 --1.92050662637 --1.17742955685 --1.90129718184 --1.17740419507 --1.88403779268 --1.17738178373 --1.86677870154 --1.17736235261 --1.84952023626 --1.17734590172 --1.83226194978 --1.17733237147 --1.81500416994 --1.17732185126 --1.79774647951 --1.17731431127 --1.78048914671 --1.17730972171 --1.7632316947 --1.17730817199 --1.74597451091 --1.1773095429 --1.72871717811 --1.17731389403 --1.71145993471 --1.17732125521 --1.6942024231 --1.17733159661 --1.67694491148 --1.17734488845 --1.65968695283 --1.17736122012 --1.64242890477 --1.17738047242 --1.62517029047 --1.17740270495 --1.60791140795 --1.17742785811 --1.59065186977 --1.17744201422 --1.57144078612 --1.17742955685 --1.5522313118 --1.17740419507 --1.53497192264 --1.17738181353 --1.5177128613 --1.17736238241 --1.50045439601 --1.17734587192 --1.48319610953 --1.17733237147 --1.46593832969 --1.17732188106 --1.44868060946 --1.17731434107 --1.43142324686 --1.17730978131 --1.41416585445 --1.17730820179 --1.39690870047 --1.1773095727 --1.37965136767 --1.17731395364 --1.36239415407 --1.17732134461 --1.34513661266 --1.17733168602 --1.32787907124 --1.17734491825 --1.31062111259 --1.17736124992 --1.29336303473 --1.17738050222 --1.27610442042 --1.17740273476 --1.2588455677 --1.17742788792 --1.24158602953 --1.17744201422 --1.22237491608 --1.17742955685 --1.20316547155 --1.17740419507 --1.1859061122 --1.17738181353 --1.16864702106 --1.17736238241 --1.15138855577 --1.17734587192 --1.13413026929 --1.17733234167 --1.11687248945 --1.17732185126 --1.09961476922 --1.17731431127 --1.08235740662 --1.17730972171 --1.0650999844 --1.17730814219 --1.04784280062 --1.17730954289 --1.03058546781 --1.17731395364 --1.01332825422 --1.17732131481 --0.996070742607 --1.17733162641 --0.978813245893 --1.17734488845 --0.961555272341 --1.17736124992 --0.94429717958 --1.17738050222 --0.927038565278 --1.17740270495 --0.909779697656 --1.17742788792 --0.892520174384 --1.17744204402 --0.873309105634 --1.17742955685 --0.854099631309 --1.17740419507 --0.836840212345 --1.17738181353 --0.819581136107 --1.17736238241 --0.802322685719 --1.17734587192 --0.785064414144 --1.17733234167 --0.767806619406 --1.17732185126 --0.750548899174 --1.17731431127 --0.733291566372 --1.17730972171 --0.716034173965 --1.17730814219 --0.698777005076 --1.17730954289 --0.681519642473 --1.17731395364 --0.664262443781 --1.17732131481 --0.647004917264 --1.17733165622 --0.629747375846 --1.17734491825 --0.612489417195 --1.17736124992 --0.595231324434 --1.17738050222 --0.577972695231 --1.17740270495 --0.560713842511 --1.17742785811 --0.543454319239 --1.17744201422 --0.524243220687 --1.17742955685 --0.505033753812 --1.17740419507 --0.487774379551 --1.17738181353 --0.470515310764 --1.17736238241 --0.453256852925 --1.17734590172 --0.4359985739 --1.17733237147 --0.418740786612 --1.17732185126 --0.40148306638 --1.17731431127 --0.384225711227 --1.17730972171 --0.366968296468 --1.17730817199 --0.34971113503 --1.1773095727 --0.332453787327 --1.17731395364 --0.315196566284 --1.17732131481 --0.297939047217 --1.17733165622 --0.28068151325 --1.17734491825 --0.26342356205 --1.17736124992 --0.246165502816 --1.17738050222 --0.228906884789 --1.17740273476 --0.211648009717 --1.17742788792 --0.194388467818 --1.17744201422 --0.175177380442 --1.16028353572 --0.155965052545 --1.16025832295 --0.138705678284 --1.16023612023 --0.121446609497 --1.16021683812 --0.104188157245 --1.16020044685 --0.0869298912584 --1.160187006 --0.0696721123531 --1.16017657518 --0.0524144014344 --1.160169065 --0.0351570625789 --1.16016447544 --0.0178996645845 --1.16016295552 --0.000642513856293 --1.16016438603 -0.0166148180142 --1.16016870737 -0.0338720269501 --1.16017597914 -0.0511295385659 --1.16018626094 -0.0683870529756 --1.16019949317 -0.0856449957937 --1.16021570563 -0.102903058752 --1.16023480892 -0.120161665604 --1.16025686264 -0.137420520187 --1.16028186679 -0.154680043459 --1.16029596329 -0.173891235143 --1.16028353572 -0.193100798875 --1.16025832295 -0.210360176861 --1.16023609042 -0.227619245648 --1.16021677852 -0.244877703488 --1.16020044685 -0.262135975062 --1.1601870358 -0.279393739998 --1.16017657518 -0.29665145278 --1.160169065 -0.313908793032 --1.16016450524 -0.331166185438 --1.16016295552 -0.348423339426 --1.16016435623 -0.365680672228 --1.16016870737 -0.38293787837 --1.16017600894 -0.400195389986 --1.16018629074 -0.417452909052 --1.16019949317 -0.434710845351 --1.16021570563 -0.451968900859 --1.16023480892 -0.469227515161 --1.16025686264 -0.486486367881 --1.16028186679 -0.503745891154 --1.16029593349 -0.522957086563 --1.16028350592 -0.542166665197 --1.16025832295 -0.559426039457 --1.16023609042 -0.576685085893 --1.16021677852 -0.593943536281 --1.16020041704 -0.611201792956 --1.160187006 -0.628459572792 --1.16017657518 -0.645717293024 --1.1601690948 -0.662974625826 --1.16016450524 -0.680232048035 --1.16016292572 -0.697489202023 --1.16016432643 -0.714746519924 --1.16016867757 -0.732003718615 --1.16017597914 -0.74926123023 --1.16018626094 -0.766518741846 --1.16019946337 -0.783776685596 --1.16021567583 -0.801034778357 --1.16023480892 -0.818293362856 --1.16025686264 -0.835552200675 --1.16028186679 -0.85281175375 --1.16029596329 -0.872022941709 --1.16028353572 -0.89123249054 --1.16025832295 -0.908491879702 --1.16023615003 -0.925750941038 --1.16021680832 -0.943009391427 --1.16020038724 -0.960267648101 --1.160187006 -0.977525427937 --1.16017657518 -0.99478316307 --1.1601690948 -1.01204049587 --1.16016453504 -1.02929788828 --1.16016298532 -1.04655501246 --1.16016438603 -1.06381237507 --1.16016867757 -1.08106961846 --1.16017597914 -1.09832710028 --1.16018629074 -1.11558458209 --1.16019946337 -1.13284254074 --1.16021567583 -1.1501006484 --1.16023480892 -1.16735926271 --1.16025689244 -1.18461811542 --1.16028189659 -1.2018776238 --1.16029596329 -1.22108879686 --1.16028353572 -1.24029836059 --1.16025832295 -1.25755771994 --1.16023609042 -1.27481678128 --1.16021677852 -1.29207524658 --1.16020044685 -1.30933350325 --1.1601870358 -1.32659128308 --1.16017657518 -1.34384900331 --1.1601690948 -1.36110633612 --1.16016453504 -1.37836372852 --1.16016295552 -1.39562088251 --1.16016432643 -1.41287821532 --1.16016867757 -1.43013542891 --1.16017597914 -1.44739294052 --1.16018626094 -1.46465045214 --1.16019946337 -1.48190838098 --1.16021564603 -1.49916642904 --1.16023474932 -1.51642507314 --1.16025686264 -1.53368395567 --1.16028189659 -1.55094346404 --1.16029593349 -1.5701546371 --1.16028350592 -1.58936420083 --1.16025829315 -1.60662358999 --1.16023609042 -1.62388265133 --1.16021680832 -1.64114111662 --1.16020041704 -1.6583994031 --1.160187006 -1.67565715313 --1.16017657518 -1.69291484356 --1.160169065 -1.71017217636 --1.16016450525 -1.72742959857 --1.16016298532 -1.74468675256 --1.16016435623 -1.76194408536 --1.16016867757 -1.77920129895 --1.16017600894 -1.79645881057 --1.16018629074 -1.81371632218 --1.16019946337 -1.83097425103 --1.16021567583 -1.84823232889 --1.16023480892 -1.86549091339 --1.16025692224 -1.88274976611 --1.16028192639 -1.90000930429 --1.16029596329 -1.91922047734 --1.16028353572 -1.93843004107 --1.16025832295 -1.95568940043 --1.16023609042 -1.97294849157 --1.16021677852 -1.99020695687 --1.16020038724 -2.00746524334 --1.16018697619 -2.02472305298 --1.16017657518 -2.04198074341 --1.160169065 -2.05923807621 --1.16016450525 -2.07649540901 --1.16016295552 -2.09375250339 --1.16016435623 -2.1110098958 --1.16016870737 -2.128267169 --1.16017600894 -2.14552468062 --1.16018629074 -2.16278213263 --1.16019946337 -2.18004006147 --1.16021567583 -2.19729816914 --1.16023480892 -2.21455675364 --1.16025689244 -2.23181557655 --1.16028192639 -2.24907511473 --1.16029596329 -2.26828634739 --1.16028350592 -2.28749597072 --1.16025832295 -2.30475533009 --1.16023609042 -2.32201433182 --1.16021677852 -2.3392727375 --1.16020041704 -2.35653102398 --1.160187006 -2.37378883362 --1.16017657518 -2.39104652405 --1.1601690948 -2.40830385685 --1.16016453504 -2.42556124926 --1.16016295552 -2.44281840324 --1.16016432643 -2.46007579565 --1.16016864776 -2.47733300924 --1.16017597914 -2.49459046126 --1.16018629074 -2.51184797287 --1.16019949317 -2.52910596132 --1.16021570563 -2.54636406898 --1.16023480892 -2.56362265348 --1.16025686264 -2.5808814764 --1.16028186679 -2.59814101458 --1.16029596329 -2.61735218764 --1.16028353572 -2.63656175136 --1.16025832295 -2.65382111073 --1.16023609042 -2.67108011246 --1.16021677852 -2.68833863735 --1.16020044685 -2.70559692383 --1.1601870358 -2.72285461426 --1.16017657518 -2.74011230469 --1.160169065 -2.7573696971 --1.16016450525 -2.77462714911 --1.16016295552 -2.79188430309 --1.16016432643 -2.80914163589 --1.16016867757 -2.82639884948 --1.16017600894 -2.8436563611 --1.16018629074 -2.86091387272 --1.16019949317 -2.87817180157 --1.16021570563 -2.89542984962 --1.16023480892 -2.91268849373 --1.16025692224 -2.92994737625 --1.16028192639 -2.94720685482 --1.16029596329 -2.96641802788 --1.16028353572 -2.98562759161 --1.16025832295 -3.00288701057 --1.16023612023 -3.02014613151 --1.16021683812 -3.0374045372 --1.16020044685 -3.05466282368 --1.160187006 -3.07192063332 --1.16017657518 -3.08917832375 --1.160169065 -3.10643565655 --1.16016447544 -3.12369298935 --1.16016295552 -3.14095011552 --1.16016438603 --3.12497782707 --1.16016870737 --3.10772061348 --1.16017597914 --3.09046310186 --1.16018626094 --3.07320559025 --1.16019949317 --3.0559476614 --1.16021570563 --3.03868961334 --1.16023480892 --3.02143096924 --1.16025686264 --3.00417208672 --1.16028186679 --2.98691260815 --1.16029596329 --2.96770143509 --1.16028353572 --2.94849187136 --1.16025832295 --2.9312324524 --1.16023609042 --2.91397333145 --1.16021677852 --2.89671492577 --1.16020044685 --2.87945663929 --1.1601870358 --2.86219882965 --1.16017657518 --2.84494113922 --1.160169065 --2.82768380642 --1.16016450524 --2.81042647362 --1.16016295552 --2.79316937923 --1.16016435623 --2.77591198683 --1.16016870737 --2.75865477323 --1.16017600894 --2.74139732122 --1.16018629074 --2.72413980961 --1.16019949317 --2.70688182116 --1.16021570563 --2.6896237731 --1.16023480892 --2.6723651886 --1.16025686264 --2.65510630608 --1.16028186679 --2.6378467679 --1.16029593349 --2.61863553524 --1.16028350592 --2.59942591191 --1.16025832295 --2.58216655254 --1.16023609042 --2.56490755081 --1.16021677852 --2.54764914512 --1.16020041704 --2.53039085865 --1.160187006 --2.51313304901 --1.16017657518 --2.49587535858 --1.1601690948 --2.47861802578 --1.16016450524 --2.46136057377 --1.16016292572 --2.44410341978 --1.16016432643 --2.42684614658 --1.16016867757 --2.40958893299 --1.16017597914 --2.39233142137 --1.16018626094 --2.37507390976 --1.16019946337 --2.35781592131 --1.16021567583 --2.34055781364 --1.16023480892 --2.32329928875 --1.16025686264 --2.30604046583 --1.16028186679 --2.28878086805 --1.16029596329 --2.26956969499 --1.16028353572 --2.25036013126 --1.16025832295 --2.2331007719 --1.16023615003 --2.21584177017 --1.16021680832 --2.19858324528 --1.16020038724 --2.1813249588 --1.160187006 --2.16406726837 --1.16017657518 --2.14680957794 --1.1601690948 --2.12955224514 --1.16016453504 --2.11229479313 --1.16016298532 --2.09503763914 --1.16016438603 --2.07778030634 --1.16016867757 --2.06052303314 --1.16017597914 --2.04326552152 --1.16018629074 --2.02600800991 --1.16019946337 --2.00875008106 --1.16021567583 --1.99149206281 --1.16023480892 --1.97423344851 --1.16025689244 --1.95697456598 --1.16028189659 --1.93971505761 --1.16029596329 --1.92050388455 --1.16028353572 --1.90129432082 --1.16025832295 --1.88403493166 --1.16023609042 --1.86677587033 --1.16021677852 --1.84951740504 --1.16020044685 --1.83225911856 --1.1601870358 --1.81500136852 --1.16017657518 --1.79774367809 --1.1601690948 --1.78048634529 --1.16016453504 --1.76322892308 --1.16016295552 --1.74597173929 --1.16016432643 --1.72871440649 --1.16016867757 --1.7114571929 --1.16017597914 --1.69419968128 --1.16018626094 --1.67694216967 --1.16019946337 --1.65968424082 --1.16021564603 --1.64242619276 --1.16023474932 --1.62516757846 --1.16025686264 --1.60790872574 --1.16028189659 --1.59064918756 --1.16029593349 --1.5714380145 --1.16028350592 --1.55222845077 --1.16025829315 --1.53496906161 --1.16023609042 --1.51771000028 --1.16021680832 --1.50045156479 --1.16020041704 --1.48319330811 --1.160187006 --1.46593549847 --1.16017657518 --1.44867777824 --1.160169065 --1.43142044544 --1.16016450525 --1.41416305304 --1.16016298532 --1.39690592885 --1.16016435623 --1.37964862585 --1.16016867757 --1.36239141226 --1.16017600894 --1.34513390065 --1.16018629074 --1.32787638903 --1.16019946337 --1.31061840057 --1.16021567583 --1.29336032271 --1.16023480892 --1.27610173821 --1.16025692224 --1.25884288549 --1.16028192639 --1.24158334732 --1.16029596329 --1.22237214446 --1.16028353572 --1.20316261053 --1.16025832295 --1.18590325117 --1.16023609042 --1.16864418984 --1.16021677852 --1.15138572455 --1.16020038724 --1.13412743807 --1.16018697619 --1.11686968803 --1.16017657518 --1.0996119678 --1.160169065 --1.0823546052 --1.16016450525 --1.06509721279 --1.16016295552 --1.0478400588 --1.16016435623 --1.030582726 --1.16016870737 --1.01332551241 --1.16017600894 --0.996068000794 --1.16018629074 --0.97881051898 --1.16019946337 --0.961552575231 --1.16021567583 --0.94429448247 --1.16023480892 --0.927035868168 --1.16025689244 --0.909777015448 --1.16028192639 --0.892517492175 --1.16029596329 --0.873306304216 --1.16028350592 --0.854096740484 --1.16025832295 --0.836837366223 --1.16023609042 --0.819578304887 --1.16021677852 --0.802319854498 --1.16020041704 --0.785061582923 --1.160187006 --0.767803803086 --1.16017657518 --0.750546112657 --1.1601690948 --0.733288764954 --1.16016453504 --0.716031372547 --1.16016295552 --0.698774233461 --1.16016432643 --0.681516885758 --1.16016864776 --0.664259687066 --1.16017597914 --0.647002160549 --1.16018629074 --0.629744634032 --1.16019949317 --0.612486690283 --1.16021570563 --0.595228627324 --1.16023480892 --0.577970027923 --1.16025686264 --0.560711175204 --1.16028186679 --0.54345163703 --1.16029596329 --0.524240449071 --1.16028353572 --0.50503090024 --1.16025832295 --0.487771518529 --1.16023609042 --0.470512449741 --1.16021677852 --0.453254006803 --1.16020044685 --0.435995750129 --1.1601870358 --0.418737977743 --1.16017657518 --0.401480257511 --1.160169065 --0.384222909808 --1.16016450525 --0.3669655025 --1.16016295552 --0.349708355963 --1.16016432643 --0.332451030612 --1.16016867757 --0.31519382447 --1.16017600894 --0.297936312855 --1.16018629074 --0.280678786337 --1.16019949317 --0.263420842588 --1.16021570563 --0.24616279453 --1.16023480892 --0.228904187679 --1.16025692224 --0.211645323783 --1.16028192639 --0.194385796785 --1.16029596329 --0.175174608826 --1.14051029086 --0.155960150063 --1.14048522711 --0.138700790703 --1.14046317339 --0.121441736817 --1.1404440403 --0.104183305055 --1.14042776823 --0.0869250614196 --1.14041447639 --0.069667304866 --1.14040410519 --0.052409613505 --1.1403966248 --0.0351522923447 --1.14039215445 --0.0178949129768 --1.14039066434 --0.00063778180629 --1.14039203525 -0.0166195309721 --1.14039632678 -0.0338767222129 --1.14040356875 -0.0511342156679 --1.14041376114 -0.0683917067945 --1.14042687416 -0.0856496281922 --1.14044293761 -0.102907672524 --1.14046189189 -0.120166260749 --1.1404838264 -0.137425098568 --1.14050862193 -0.154684603215 --1.14052256942 -0.173895969987 --1.14051026106 -0.193105708808 --1.14048525691 -0.210365064442 --1.14046317339 -0.227624114603 --1.14044401049 -0.244882550091 --1.14042779803 -0.262140795589 --1.1404145062 -0.279398553074 --1.14040410519 -0.296656250954 --1.14039665461 -0.313913568855 --1.14039218426 -0.33117094636 --1.14039063454 -0.348428077996 --1.14039203525 -0.365685395896 --1.14039632678 -0.382942587137 --1.14040350914 -0.4002000615 --1.14041373134 -0.417457550764 --1.14042690396 -0.434715479612 --1.14044296741 -0.451973520219 --1.14046189189 -0.469232112169 --1.1404838264 -0.486490957439 --1.14050862193 -0.503750450909 --1.14052253962 -0.522961810231 --1.14051023126 -0.542171567678 --1.14048522711 -0.559430927038 --1.14046314359 -0.576689973473 --1.14044401049 -0.59394839406 --1.14042779803 -0.611206635833 --1.14041447639 -0.628464400768 --1.14040407538 -0.645722076297 --1.14039665461 -0.662979394197 --1.14039218426 -0.680236801505 --1.14039060474 -0.697493925691 --1.14039197564 -0.714751213789 --1.14039629698 -0.732008397579 --1.14040350914 -0.749265909195 --1.14041373134 -0.76652340591 --1.14042687416 -0.783781319857 --1.14044296741 -0.801039367914 --1.14046192169 -0.818297937512 --1.1404838264 -0.835556790233 --1.14050862193 -0.852816313505 --1.14052256942 -0.872027665377 --1.14051026106 -0.891237407923 --1.14048525691 -0.908496782183 --1.14046320319 -0.925755813718 --1.14044401049 -0.943014234305 --1.14042773843 -0.960272476077 --1.14041447639 -0.977530241012 --1.14040410519 -0.994787961245 --1.14039665461 -1.01204526425 --1.14039218426 -1.02930262685 --1.14039066434 -1.04655975103 --1.14039206505 -1.06381708384 --1.14039629698 -1.08107429743 --1.14040347934 -1.09833174944 --1.14041373134 -1.11558923125 --1.14042684436 -1.1328471899 --1.14044290781 -1.15010523796 --1.14046189189 -1.16736382246 --1.1404838562 -1.18462264538 --1.14050865173 -1.20188215375 --1.14052256942 -1.22109353543 --1.14051026106 -1.24030327797 --1.14048522711 -1.25756263733 --1.14046314359 -1.27482166887 --1.14044401049 -1.29208010435 --1.14042779803 -1.30933836103 --1.1404145062 -1.32659608126 --1.14040410519 -1.34385374189 --1.14039665461 -1.36111107469 --1.14039218426 -1.37836846709 --1.14039060474 -1.39562559128 --1.14039194584 -1.41288292408 --1.14039626718 -1.43014013767 --1.14040350914 -1.44739761949 --1.14041373134 -1.4646551013 --1.14042687416 -1.48191300035 --1.14044293761 -1.4991710484 --1.14046186209 -1.5164296627 --1.14048379659 -1.53368851542 --1.14050865173 -1.5509480238 --1.14052256942 -1.57015937567 --1.14051023126 -1.58936911821 --1.14048519731 -1.60662847757 --1.14046314359 -1.62388750911 --1.1404440403 -1.6411459446 --1.14042779803 -1.65840420127 --1.14041447639 -1.6756619513 --1.14040407538 -1.69291964173 --1.14039662481 -1.71017697453 --1.14039215446 -1.72743433714 --1.14039066434 -1.74469146132 --1.14039200544 -1.76194879413 --1.14039626718 -1.77920597792 --1.14040350914 -1.79646345973 --1.14041373134 -1.81372094154 --1.14042687416 -1.83097887039 --1.14044293761 -1.84823694825 --1.14046189189 -1.86549553275 --1.1404838562 -1.88275435567 --1.14050865173 -1.90001386404 --1.14052256942 -1.91922521591 --1.14051026106 -1.93843495846 --1.14048525691 -1.95569431782 --1.14046317339 -1.97295337915 --1.14044401049 -1.99021181464 --1.14042776823 -2.00747007131 --1.14041447639 -2.02472782135 --1.14040410519 -2.04198551178 --1.14039662481 -2.05924284458 --1.14039215446 -2.07650017739 --1.14039063454 -2.09375727177 --1.14039203525 -2.11101460457 --1.14039632678 -2.12827181816 --1.14040353894 -2.14552932978 --1.14041376114 -2.16278678179 --1.14042684436 -2.18004471063 --1.14044293761 -2.1973028183 --1.14046192169 -2.21456134319 --1.1404838264 -2.23182016611 --1.14050862193 -2.24907970429 --1.14052253962 -2.26829105616 --1.14051023126 -2.2875007987 --1.14048525691 -2.30476015806 --1.14046317339 -2.3220192194 --1.14044401049 -2.33927762508 --1.14042779803 -2.35653585195 --1.14041447639 -2.37379366159 --1.14040407538 -2.39105135202 --1.14039665461 -2.40830868483 --1.14039218426 -2.42556607723 --1.14039063454 -2.44282317162 --1.14039200544 -2.46008050442 --1.14039626718 -2.47733765841 --1.14040347934 -2.49459511042 --1.14041373134 -2.51185268164 --1.14042690396 -2.52911061048 --1.14044296741 -2.54636859894 --1.14046189189 -2.56362724304 --1.1404838264 -2.58088612556 --1.14050862193 -2.59814560414 --1.14052256942 -2.61735695601 --1.14051026106 -2.63656669855 --1.14048525691 -2.65382599831 --1.14046317339 -2.67108500004 --1.14044401049 -2.68834352493 --1.14042779803 -2.70560181141 --1.1404145062 -2.72285950184 --1.14040410519 -2.74011713266 --1.14039662481 -2.75737446547 --1.14039215446 -2.77463191748 --1.14039060474 -2.79188907146 --1.14039197564 -2.80914634466 --1.14039629698 -2.82640355825 --1.14040350914 -2.84366106987 --1.14041373134 -2.86091852188 --1.14042690396 -2.87817639112 --1.14044296741 -2.89543443918 --1.14046189189 -2.91269308329 --1.1404838562 -2.9299519062 --1.14050865173 -2.94721138477 --1.14052259922 -2.96642279625 --1.14051029086 -2.9856325388 --1.14048522711 -3.00289189816 --1.14046317339 -3.02015095949 --1.1404440403 -3.03740936517 --1.14042776823 -3.05466765165 --1.14041447639 -3.07192540169 --1.14040410519 -3.08918309212 --1.1403966248 -3.10644042492 --1.14039215445 -3.12369775772 --1.14039066434 -3.14095488389 --1.14039203525 --3.12497311831 --1.14039632678 --3.10771590471 --1.14040356875 --3.0904583931 --1.14041376114 --3.07320094109 --1.14042687416 --3.05594307185 --1.14044293761 --3.03868502378 --1.14046189189 --3.02142637968 --1.1404838264 --3.00416755676 --1.14050862193 --2.98690807819 --1.14052256942 --2.96769666672 --1.14051026106 --2.94848692417 --1.14048525691 --2.93122756481 --1.14046317339 --2.91396850348 --1.14044401049 --2.89671009779 --1.14042779803 --2.87945181131 --1.1404145062 --2.86219406128 --1.14040410519 --2.84493637085 --1.14039665461 --2.82767903805 --1.14039218426 --2.81042170525 --1.14039063454 --2.79316461086 --1.14039203525 --2.77590727806 --1.14039632678 --2.75865006447 --1.14040350914 --2.74139261246 --1.14041373134 --2.72413516045 --1.14042690396 --2.70687717199 --1.14044296741 --2.68961912394 --1.14046189189 --2.67236059904 --1.1404838264 --2.65510171652 --1.14050862193 --2.63784217835 --1.14052253962 --2.61863082647 --1.14051023126 --2.59942108393 --1.14048522711 --2.58216172457 --1.14046314359 --2.56490266323 --1.14044401049 --2.54764425755 --1.14042779803 --2.53038603068 --1.14041447639 --2.51312822104 --1.14040407538 --2.4958705306 --1.14039665461 --2.47861325741 --1.14039218426 --2.461355865 --1.14039060474 --2.44409877062 --1.14039197564 --2.42684149742 --1.14039629698 --2.40958428383 --1.14040350914 --2.39232677221 --1.14041373134 --2.3750692606 --1.14042687416 --2.35781133175 --1.14044296741 --2.34055328369 --1.14046192169 --2.3232947588 --1.1404838264 --2.30603587627 --1.14050862193 --2.28877627849 --1.14052256942 --2.26956498623 --1.14051026106 --2.25035524368 --1.14048525691 --2.23309588432 --1.14046320319 --2.21583688259 --1.14044401049 --2.1985784173 --1.14042773843 --2.18132019043 --1.14041447639 --2.1640624404 --1.14040410519 --2.14680474997 --1.14039665461 --2.12954741716 --1.14039218426 --2.11229002476 --1.14039066434 --2.09503293037 --1.14039206505 --2.07777559758 --1.14039629698 --2.06051832437 --1.14040347934 --2.04326081276 --1.14041373134 --2.02600336075 --1.14042684436 --2.00874549151 --1.14044290781 --1.99148747325 --1.14046189189 --1.97422882914 --1.1404838562 --1.95696997642 --1.14050865173 --1.93971049785 --1.14052256942 --1.92049914598 --1.14051026106 --1.90128940344 --1.14048522711 --1.88403004408 --1.14046314359 --1.86677101255 --1.14044401049 --1.84951254725 --1.14042779803 --1.83225429058 --1.1404145062 --1.81499657035 --1.14040410519 --1.79773887992 --1.14039665461 --1.78048154712 --1.14039218426 --1.76322415471 --1.14039060474 --1.74596703052 --1.14039194584 --1.72870972753 --1.14039626718 --1.71145251393 --1.14040350914 --1.69419500232 --1.14041373134 --1.67693752051 --1.14042687416 --1.65967962146 --1.14044293761 --1.6424215734 --1.14046186209 --1.6251629889 --1.14048379659 --1.60790416598 --1.14050865173 --1.59064465761 --1.14052256942 --1.57143330574 --1.14051023126 --1.5522235632 --1.14048519731 --1.53496417403 --1.14046314359 --1.5177051127 --1.1404440403 --1.50044670701 --1.14042779803 --1.48318848014 --1.14041447639 --1.4659307003 --1.14040407538 --1.44867298007 --1.14039662481 --1.43141567707 --1.14039215446 --1.41415831447 --1.14039066434 --1.39690119028 --1.14039200544 --1.37964388728 --1.14039626718 --1.36238670349 --1.14040350914 --1.34512922168 --1.14041373134 --1.32787171006 --1.14042687416 --1.31061375141 --1.14044293761 --1.29335573315 --1.14046189189 --1.27609714865 --1.1404838562 --1.25883826613 --1.14050865173 --1.24157875776 --1.14052256942 --1.22236743569 --1.14051026106 --1.20315772295 --1.14048525691 --1.18589836359 --1.14046317339 --1.16863933206 --1.14044401049 --1.15138086677 --1.14042776823 --1.13412258029 --1.14041447639 --1.11686483025 --1.14040410519 --1.09960713983 --1.14039662481 --1.08234983683 --1.14039215446 --1.06509247422 --1.14039063454 --1.04783535004 --1.14039203525 --1.03057801723 --1.14039632678 --1.01332080364 --1.14040353894 --0.996063321829 --1.14041376114 --0.978805854916 --1.14042684436 --0.961547940969 --1.14044293761 --0.944289878011 --1.14046192169 --0.92703127861 --1.1404838264 --0.909772440791 --1.14050862193 --0.89251293242 --1.14052253962 --0.873301550746 --1.14051023126 --0.854091823101 --1.14048525691 --0.836832493544 --1.14046317339 --0.819573432207 --1.14044401049 --0.80231499672 --1.14042779803 --0.785056754947 --1.14041447639 --0.767798990011 --1.14040407538 --0.750541314483 --1.14039665461 --0.733283981681 --1.14039218426 --0.716026604176 --1.14039063454 --0.698769494891 --1.14039200544 --0.68151217699 --1.14039626718 --0.664254978299 --1.14040347934 --0.646997466683 --1.14041373134 --0.629739969969 --1.14042690396 --0.612482070923 --1.14044296741 --0.595224037766 --1.14046189189 --0.577965438366 --1.1404838264 --0.560706600547 --1.14050862193 --0.543447092175 --1.14052256942 --0.524235725403 --1.14051026106 --0.505025990307 --1.14048525691 --0.487766630947 --1.14046317339 --0.470507577062 --1.14044401049 --0.453249149025 --1.14042779803 --0.435990907252 --1.1404145062 --0.418733157218 --1.14040410519 --0.401475466788 --1.14039662481 --0.384218133986 --1.14039215446 --0.366960756481 --1.14039060474 --0.349703624845 --1.14039197564 --0.332446314395 --1.14039629698 --0.315189130604 --1.14040350914 --0.29793163389 --1.14041373134 --0.280674137175 --1.14042690396 --0.263416215777 --1.14044296741 --0.246158178896 --1.14046189189 --0.22889958322 --1.1404838562 --0.211640741676 --1.14050865173 --0.194381240755 --1.14052259922 --0.175169881433 --1.12076309324 --0.155955117196 --1.1207382381 --0.138695776463 --1.12071633339 --0.121436741203 --1.12069737911 --0.104178331792 --1.12068128586 --0.0869201067835 --1.12066808343 --0.0696623697877 --1.12065777183 --0.0524046998471 --1.12065035105 --0.0351473991759 --1.1206459403 --0.0178900395986 --1.12064445019 --0.000632927985863 --1.12064576149 -0.0166243650019 --1.12065005303 -0.0338815357536 --1.12065726519 -0.0511390101165 --1.12066736817 -0.0683964826167 --1.12068036199 -0.0856543835253 --1.12069627642 -0.102912405506 --1.12071511149 -0.120170971379 --1.12073689699 -0.13742979616 --1.1207614541 -0.154689285904 --1.12077525258 -0.173900824041 --1.12076306343 -0.19311073795 --1.1207382977 -0.210370078683 --1.12071639299 -0.227629113943 --1.12069734931 -0.244887523353 --1.12068125605 -0.262145735324 --1.12066808343 -0.279403477907 --1.12065777183 -0.296661160886 --1.12065038085 -0.313918463886 --1.1206459403 -0.331175819039 --1.12064442038 -0.348432920873 --1.12064579129 -0.365690223872 --1.12065002322 -0.382947400212 --1.12065720558 -0.400204859674 --1.12066736817 -0.417462326586 --1.12068039179 -0.434720233083 --1.12069633603 -0.451978258789 --1.12071511149 -0.469236820936 --1.12073686719 -0.486495643854 --1.1207614541 -0.503755122423 --1.12077525258 -0.522966653108 --1.12076306343 -0.54217658937 --1.1207382381 -0.559435933828 --1.12071633339 -0.576694965362 --1.12069737911 -0.593953371048 --1.12068128586 -0.611211597919 --1.12066805363 -0.628469347954 --1.12065774202 -0.645727008581 --1.12065038085 -0.662984311581 --1.1206459701 -0.680241674185 --1.12064442038 -0.697498768568 --1.12064576149 -0.714756041765 --1.12065005303 -0.732013210654 --1.12065720558 -0.74927072227 --1.12066733837 -0.766528189182 --1.12068039179 -0.783786073327 --1.12069636583 -0.801044106484 --1.1207151413 -0.818302676082 --1.12073686719 -0.835561499 --1.1207614839 -0.85282099247 --1.12077528238 -0.872032538056 --1.12076306343 -0.891242444515 --1.1207382679 -0.908501788974 --1.12071636319 -0.925760820508 --1.12069737911 -0.943019211292 --1.12068128586 -0.960277438164 --1.12066808343 -0.977535188198 --1.12065777183 -0.994792863726 --1.12065038085 -1.01205015183 --1.1206459701 -1.02930748463 --1.12064445019 -1.04656460881 --1.12064579129 -1.06382191181 --1.12065002322 -1.0810790658 --1.12065720558 -1.09833654761 --1.12066736817 -1.11559402943 --1.12068036199 -1.13285192847 --1.12069630623 -1.15010994673 --1.12071511149 -1.16736853123 --1.12073686719 -1.18462735414 --1.1207614541 -1.20188683272 --1.12077525258 -1.2210983932 --1.12076306343 -1.24030831456 --1.1207382381 -1.25756764412 --1.12071633339 -1.27482667565 --1.12069734931 -1.29208508134 --1.12068125605 -1.30934330821 --1.12066808343 -1.32660102844 --1.12065777183 -1.34385868907 --1.12065038085 -1.36111599207 --1.1206459403 -1.37837335468 --1.12064442038 -1.39563047886 --1.12064576149 -1.41288778186 --1.12065002322 -1.43014496565 --1.12065720558 -1.44740241766 --1.12066733837 -1.46465986967 --1.12068036198 -1.48191776872 --1.12069630623 -1.49917581678 --1.12071511149 -1.51643437147 --1.12073683738 -1.53369316459 --1.1207614839 -1.55095267296 --1.12077531218 -1.57016420365 --1.12076306343 -1.589374125 --1.1207382381 -1.60663348436 --1.12071633339 -1.6238925159 --1.12069737911 -1.64115092158 --1.12068128586 -1.65840914845 --1.12066808343 -1.67566689849 --1.12065777182 -1.69292455911 --1.12065038085 -1.71018186212 --1.1206459403 -1.72743919492 --1.12064442038 -1.7446962893 --1.12064579129 -1.7619536221 --1.12065005303 -1.77921077609 --1.12065723538 -1.7964682281 --1.12066736817 -1.81372570991 --1.12068039179 -1.83098360896 --1.12069633603 -1.84824165702 --1.12071514129 -1.86550024152 --1.12073689699 -1.88275906444 --1.1207614541 -1.90001854301 --1.12077525258 -1.91923007369 --1.12076306343 -1.93843999505 --1.1207382679 -1.95569935441 --1.12071636319 -1.97295838595 --1.12069734931 -1.99021679163 --1.12068125605 -2.0074750185 --1.12066808343 -2.02473270893 --1.12065777183 -2.04199039936 --1.12065038085 -2.05924773216 --1.1206459403 -2.07650506496 --1.12064445019 -2.09376215935 --1.1206458509 -2.11101949215 --1.12065008283 -2.12827664614 --1.12065723539 -2.14553409815 --1.12066736817 -2.16279160976 --1.12068036199 -2.18004947901 --1.12069633603 -2.19730746746 --1.1207151711 -2.21456605196 --1.12073686719 -2.23182493448 --1.1207614243 -2.24908441305 --1.12077525258 -2.26829588414 --1.12076306343 -2.28750580549 --1.1207382679 -2.30476516485 --1.12071636319 -2.32202422619 --1.12069734931 -2.33928263188 --1.12068125605 -2.35654079914 --1.12066805363 -2.37379854917 --1.12065774202 -2.3910562396 --1.12065038085 -2.4083135724 --1.1206459701 -2.42557096481 --1.12064445019 -2.4428280592 --1.12064579129 -2.46008533239 --1.12065002322 -2.47734248638 --1.12065720558 -2.49459993839 --1.12066736817 -2.51185745001 --1.12068039179 -2.52911537886 --1.12069630623 -2.54637336731 --1.12071508169 -2.56363195181 --1.12073686719 -2.58089077473 --1.1207614541 -2.5981502533 --1.12077525258 -2.61736184359 --1.12076306343 -2.63657176494 --1.1207382679 -2.6538310051 --1.12071636319 -2.67109000683 --1.12069734931 -2.68834847212 --1.12068125605 -2.70560675859 --1.12066808343 -2.72286450863 --1.12065777183 -2.74012207985 --1.12065038085 -2.75737935305 --1.1206459403 -2.77463680506 --1.12064439058 -2.79189389944 --1.12064576149 -2.80915111303 --1.12065005303 -2.82640832663 --1.12065720558 -2.84366583824 --1.12066736817 -2.86092329025 --1.12068042159 -2.8781811595 --1.12069633603 -2.89543920756 --1.12071511149 -2.91269779205 --1.12073686719 -2.92995655537 --1.1207614541 -2.94721603393 --1.12077528238 -2.96642762422 --1.12076309324 -2.98563754558 --1.1207382381 -3.00289690495 --1.12071633339 -3.02015590668 --1.12069737911 -3.03741431236 --1.12068128586 -3.05467259884 --1.12066808343 -3.07193028927 --1.12065777183 -3.0891879797 --1.12065035105 -3.1064453125 --1.1206459403 -3.1237026453 --1.12064445019 -3.14095971186 --1.12064576149 --3.12496834994 --1.12065005303 --3.10771113634 --1.12065726519 --3.09045362473 --1.12066736817 --3.07319617272 --1.12068036199 --3.05593830347 --1.12069627642 --3.03868025541 --1.12071511149 --3.02142167091 --1.12073689699 --3.0041629076 --1.1207614541 --2.98690342903 --1.12077525258 --2.96769183874 --1.12076306343 --2.94848191738 --1.1207382977 --2.93122255802 --1.12071639299 --2.91396349669 --1.12069734931 --2.896705091 --1.12068125605 --2.87944686413 --1.12066808343 --2.8621891737 --1.12065777183 --2.84493148327 --1.12065038085 --2.82767415047 --1.1206459403 --2.81041681766 --1.12064442038 --2.79315972328 --1.12064579129 --2.77590245009 --1.12065002322 --2.7586452961 --1.12065720558 --2.74138778448 --1.12066736817 --2.72413033247 --1.12068039179 --2.70687246323 --1.12069633603 --2.68961441517 --1.12071511149 --2.67235583067 --1.12073686719 --2.65509694815 --1.1207614541 --2.63783746958 --1.12077525258 --2.6186259985 --1.12076306343 --2.59941607714 --1.1207382381 --2.58215671777 --1.12071633339 --2.56489765644 --1.12069737911 --2.54763925076 --1.12068128586 --2.53038108349 --1.12066805363 --2.51312333345 --1.12065774202 --2.49586564303 --1.12065038085 --2.47860836983 --1.1206459701 --2.46135103703 --1.12064442038 --2.44409394264 --1.12064576149 --2.42683660984 --1.12065005303 --2.40957939625 --1.12065720558 --2.39232194424 --1.12066733837 --2.37506449223 --1.12068039179 --2.35780656338 --1.12069636583 --2.34054857493 --1.1207151413 --2.32329005003 --1.12073686719 --2.30603116751 --1.1207614839 --2.28877162933 --1.12077528238 --2.26956009864 --1.12076306343 --2.25035017729 --1.1207382679 --2.23309087753 --1.12071636319 --2.2158318758 --1.12069737911 --2.19857347011 --1.12068128586 --2.18131524325 --1.12066808343 --2.16405743361 --1.12065777183 --2.14679980278 --1.12065038085 --2.12954252959 --1.1206459701 --2.11228519678 --1.12064445019 --2.0950281024 --1.12064579129 --2.0777707696 --1.12065002322 --2.060513556 --1.12065720558 --2.04325604439 --1.12066736817 --2.02599859238 --1.12068036199 --2.00874072313 --1.12069630623 --1.99148270488 --1.12071511149 --1.97422409057 --1.12073686719 --1.95696529746 --1.1207614541 --1.93970581889 --1.12077525258 --1.92049428821 --1.12076306343 --1.90128439665 --1.1207382381 --1.88402503729 --1.12071633339 --1.86676600575 --1.12069734931 --1.84950757026 --1.12068125605 --1.8322493434 --1.12066808343 --1.81499162317 --1.12065777183 --1.79773396254 --1.12065038085 --1.78047665954 --1.1206459403 --1.76321926713 --1.12064442038 --1.74596217275 --1.12064576149 --1.72870489955 --1.12065002322 --1.71144771576 --1.12065720558 --1.69419023395 --1.12066733837 --1.67693275213 --1.12068036198 --1.65967488289 --1.12069630623 --1.64241686463 --1.12071511149 --1.62515828013 --1.12073683738 --1.60789945722 --1.1207614839 --1.59063997865 --1.12077531218 --1.57142844796 --1.12076306343 --1.5522185266 --1.1207382381 --1.53495916724 --1.12071633339 --1.51770013571 --1.12069737911 --1.50044173002 --1.12068128586 --1.48318350315 --1.12066808343 --1.46592578292 --1.12065777182 --1.44866809249 --1.12065038085 --1.43141078949 --1.1206459403 --1.41415345669 --1.12064442038 --1.3968963325 --1.12064579129 --1.3796390295 --1.12065005303 --1.36238187552 --1.12065723538 --1.3451243937 --1.12066736817 --1.32786691189 --1.12068039179 --1.31060901284 --1.12069633603 --1.29335099459 --1.12071514129 --1.27609241008 --1.12073689699 --1.25883355737 --1.1207614541 --1.2415740788 --1.12077525258 --1.22236257792 --1.12076306343 --1.20315265656 --1.1207382679 --1.185893327 --1.12071636319 --1.16863432526 --1.12069734931 --1.15137588978 --1.12068125605 --1.13411763311 --1.12066808343 --1.11685988307 --1.12065777183 --1.09960219264 --1.12065038085 --1.08234491944 --1.1206459403 --1.06508758664 --1.12064445019 --1.04783049226 --1.1206458509 --1.03057318926 --1.12065008283 --1.01331600547 --1.12065723539 --0.996058553458 --1.12066736817 --0.978801071644 --1.12068036199 --0.961543172598 --1.12069633603 --0.944285139441 --1.1207151711 --0.927026554942 --1.12073686719 --0.909767746925 --1.1207614243 --0.892508268356 --1.12077525258 --0.87329672277 --1.12076306343 --0.854086816311 --1.1207382679 --0.836827471852 --1.12071636319 --0.819568425417 --1.12069734931 --0.802310019731 --1.12068125605 --0.78505179286 --1.12066805363 --0.767794057727 --1.12065774202 --0.7505363971 --1.12065038085 --0.733279079199 --1.1206459701 --0.716021731496 --1.12064445019 --0.698764637113 --1.12064579129 --0.681507334113 --1.12065002322 --0.664250150323 --1.12065720558 --0.646992668509 --1.12066736817 --0.629735201597 --1.12068039179 --0.612477317453 --1.12069630623 --0.595219299197 --1.12071508169 --0.577960714698 --1.12073686719 --0.560701906681 --1.1207614541 --0.543442428112 --1.12077525258 --0.524230867624 --1.12076306343 --0.505020938814 --1.1207382679 --0.487761609256 --1.12071636319 --0.470502592623 --1.12069734931 --0.453244172037 --1.12068125605 --0.435985937715 --1.12066808343 --0.418728217483 --1.12065777183 --0.401470556855 --1.12065038085 --0.384213246405 --1.1206459403 --0.366955883801 --1.12064439058 --0.349698774517 --1.12064576149 --0.332441486419 --1.12065005303 --0.315184317529 --1.12065720558 --0.297926835716 --1.12066736817 --0.280669361353 --1.12068042159 --0.263411469757 --1.12069633603 --0.246153447777 --1.12071511149 --0.228894863278 --1.12073686719 --0.211636044085 --1.1207614541 --0.194376561791 --1.12077528238 --0.175165023655 --1.10364598036 --0.155951950699 --1.10362133384 --0.138692624867 --1.10359957814 --0.121433600784 --1.10358074307 --0.104175204411 --1.10356476903 --0.0869169887155 --1.10355165601 --0.0696592647582 --1.10354146362 --0.0524016087875 --1.10353416204 --0.0351443211548 --1.1035297513 --0.0178869748488 --1.10352817177 --0.000629875808953 --1.10352951288 -0.0166274048388 --1.10353380442 -0.0338845620863 --1.10354092717 -0.051142022945 --1.10355097055 -0.0683994842693 --1.10356390476 -0.0856573730707 --1.10357972979 -0.102915383875 --1.10359841585 -0.120173942298 --1.10362002253 -0.13743275404 --1.10364437103 -0.154692232609 --1.1036580801 -0.173903878778 --1.10364595056 -0.193113900721 --1.10362136364 -0.210373230279 --1.10359963775 -0.227632254362 --1.10358071327 -0.244890656322 --1.10356476903 -0.262148857117 --1.10355168581 -0.279406577349 --1.10354146362 -0.296664245427 --1.10353413224 -0.313921540976 --1.10352969169 -0.331178881228 --1.10352817177 -0.348435968161 --1.10352951288 -0.365693248808 --1.10353374481 -0.382950410247 --1.10354092717 -0.400207877159 --1.10355100035 -0.417465344071 --1.10356390476 -0.434723228216 --1.1035797596 -0.451981239021 --1.10359841585 -0.469239793718 --1.10361999273 -0.486498601735 --1.10364440083 -0.503758065403 --1.10365810991 -0.522969707847 --1.10364595056 -0.542179763317 --1.10362133384 -0.559439092874 --1.10359960795 -0.576698109508 --1.10358074307 -0.593956500292 --1.10356476903 -0.611214697361 --1.10355165601 -0.628472432494 --1.10354146362 -0.645730108023 --1.10353413224 -0.662987411022 --1.10352972149 -0.680244728923 --1.10352820158 -0.697501823306 --1.10352951288 -0.714759111404 --1.10353377462 -0.732016250491 --1.10354092717 -0.749273732305 --1.10355097055 -0.766531199217 --1.10356390476 -0.783789068461 --1.1035797596 -0.801047086716 --1.10359841585 -0.818305656314 --1.10361996293 -0.83556444943 --1.10364440083 -0.852823927999 --1.10365813971 -0.872035592794 --1.10364595056 -0.891245603561 --1.10362133384 -0.908504933119 --1.10359960795 -0.925763949752 --1.10358074307 -0.943022325635 --1.10356476903 -0.960280552506 --1.10355165601 -0.97753828764 --1.10354146362 -0.994795933364 --1.10353413224 -1.01205322146 --1.10352972149 -1.02931058407 --1.10352820158 -1.04656767845 --1.10352951288 -1.06382492184 --1.10353374481 -1.08108207583 --1.10354092717 -1.09833958745 --1.10355100035 -1.11559703946 --1.10356390476 -1.13285490871 --1.1035797596 -1.15011292696 --1.10359841585 -1.16737148166 --1.10361996293 -1.18463030457 --1.10364437103 -1.20188978314 --1.10365810991 -1.22110143304 --1.10364595056 -1.24031147361 --1.10362133384 -1.25757080317 --1.10359960795 -1.2748298049 --1.10358071327 -1.29208818078 --1.10356476903 -1.30934640765 --1.10355168581 -1.32660415768 --1.10354146362 -1.34386181831 --1.10353413224 -1.36111909151 --1.10352969169 -1.37837642431 --1.10352823138 -1.3956335485 --1.10352957249 -1.4128908217 --1.10353377462 -1.43014797568 --1.10354092717 -1.44740542769 --1.10355100035 -1.46466287971 --1.10356390476 -1.48192077875 --1.10357972979 -1.49917879701 --1.10359838605 -1.51643735171 --1.10361996293 -1.53369614482 --1.10364440083 -1.55095562339 --1.10365810991 -1.57016727329 --1.10364598036 -1.58937728405 --1.10362136364 -1.60663661361 --1.10359960795 -1.62389564514 --1.10358074307 -1.64115405083 --1.10356476903 -1.6584122777 --1.10355168581 -1.67566999793 --1.10354149341 -1.69292762876 --1.10353413224 -1.71018493176 --1.10352969169 -1.72744229436 --1.10352817177 -1.74469935894 --1.10352954269 -1.76195666194 --1.10353380442 -1.77921381593 --1.10354095697 -1.79647126794 --1.10355100035 -1.81372871995 --1.10356390476 -1.83098658919 --1.1035797596 -1.84824463725 --1.10359844565 -1.86550319195 --1.10361999273 -1.88276198506 --1.10364437103 -1.90002146363 --1.10365810991 -1.91923311353 --1.10364595056 -1.9384431541 --1.10362133384 -1.95570251345 --1.10359960795 -1.97296151519 --1.10358071327 -1.99021992087 --1.10356476903 -2.00747811794 --1.10355168581 -2.02473580837 --1.10354146362 -2.0419934988 --1.10353413224 -2.0592508316 --1.10352969169 -2.07650816441 --1.10352820158 -2.09376525879 --1.10352957249 -2.11102259159 --1.10353380442 -2.12827968597 --1.10354092717 -2.14553713799 --1.10355097055 -2.1627946496 --1.10356390476 -2.18005245924 --1.1035797596 -2.19731044769 --1.10359844565 -2.2145690918 --1.10362002253 -2.23182791472 --1.10364440083 -2.24908733368 --1.10365810991 -2.26829898358 --1.10364595056 -2.28750902414 --1.10362133384 -2.30476832389 --1.10359960795 -2.32202732563 --1.10358071327 -2.33928573132 --1.10356476903 -2.35654395819 --1.10355168581 -2.37380164862 --1.10354146362 -2.39105927944 --1.10353413224 -2.40831661224 --1.10352972149 -2.42557394504 --1.10352820158 -2.44283103943 --1.10352951288 -2.46008837223 --1.10353374481 -2.47734552622 --1.10354092717 -2.49460297823 --1.10355100035 -2.51186043024 --1.10356390476 -2.52911829948 --1.10357972979 -2.54637634754 --1.10359835625 -2.56363493204 --1.10361996293 -2.58089369536 --1.10364440083 -2.59815317392 --1.10365810991 -2.61736488342 --1.10364595056 -2.63657492399 --1.10362133384 -2.65383416414 --1.10359960795 -2.67109316587 --1.10358071327 -2.68835157156 --1.10356476903 -2.70560979843 --1.10355168581 -2.72286760807 --1.10354146362 -2.74012523889 --1.10353413224 -2.75738245249 --1.10352969169 -2.77463984489 --1.10352817177 -2.79189693927 --1.10352951288 -2.80915415287 --1.10353380442 -2.82641136646 --1.10354095697 -2.84366881847 --1.10355100035 -2.86092627048 --1.10356393456 -2.87818419934 --1.1035797596 -2.89544218779 --1.10359838605 -2.91270071268 --1.10361996293 -2.9299595356 --1.10364440083 -2.94721901417 --1.10365810991 -2.96643066406 --1.10364598036 -2.98564070463 --1.10362133384 -3.00290006399 --1.10359957814 -3.02015906573 --1.10358074307 -3.03741747141 --1.10356476903 -3.05467569828 --1.10355165601 -3.07193338871 --1.10354146362 -3.08919107914 --1.10353416204 -3.10644835234 --1.1035297513 -3.12370568514 --1.10352817177 -3.1409627517 --1.10352951288 --3.1249653101 --1.10353380442 --3.10770809651 --1.10354092717 --3.0904506445 --1.10355097055 --3.07319319249 --1.10356390476 --3.05593526363 --1.10357972979 --3.03867727518 --1.10359841585 --3.02141875029 --1.10362002253 --3.00415992737 --1.10364437103 --2.9869004488 --1.1036580801 --2.9676887989 --1.10364595056 --2.94847875833 --1.10362136364 --2.93121939898 --1.10359963775 --2.91396033764 --1.10358071327 --2.89670193195 --1.10356476903 --2.87944376469 --1.10355168581 --2.86218607426 --1.10354146362 --2.84492838383 --1.10353413224 --2.82767105103 --1.10352969169 --2.81041371822 --1.10352817177 --2.79315668344 --1.10352951288 --2.77589941025 --1.10353374481 --2.75864225626 --1.10354092717 --2.74138474464 --1.10355100035 --2.72412729263 --1.10356390476 --2.70686948299 --1.1035797596 --2.68961143494 --1.10359841585 --2.67235285043 --1.10361999273 --2.65509402752 --1.10364440083 --2.63783454895 --1.10365810991 --2.61862295866 --1.10364595056 --2.59941291809 --1.10362133384 --2.58215355873 --1.10359960795 --2.564894557 --1.10358074307 --2.54763615131 --1.10356476903 --2.53037792444 --1.10355165601 --2.51312023401 --1.10354146362 --2.49586260319 --1.10353413224 --2.47860527039 --1.10352972149 --2.46134793758 --1.10352820158 --2.4440908432 --1.10352951288 --2.4268335104 --1.10353377462 --2.40957635641 --1.10354092717 --2.3923189044 --1.10355097055 --2.37506145239 --1.10356390476 --2.35780358315 --1.1035797596 --2.34054559469 --1.10359841585 --2.32328701019 --1.10361996293 --2.30602818727 --1.10364440083 --2.2887687087 --1.10365813971 --2.26955699921 --1.10364595056 --2.25034701824 --1.10362133384 --2.23308777809 --1.10359960795 --2.21582877636 --1.10358074307 --2.19857037067 --1.10356476903 --2.1813120842 --1.10355165601 --2.16405433416 --1.10354146362 --2.14679670334 --1.10353413224 --2.12953943014 --1.10352972149 --2.11228209734 --1.10352820158 --2.09502500295 --1.10352951288 --2.07776772976 --1.10353374481 --2.06051057577 --1.10354092717 --2.04325312376 --1.10355100035 --2.02599561215 --1.10356390476 --2.0087376833 --1.1035797596 --1.99147969484 --1.10359841585 --1.97422114015 --1.10361996293 --1.95696234703 --1.10364437103 --1.93970286846 --1.10365810991 --1.92049121857 --1.10364595056 --1.9012812078 --1.10362133384 --1.88402187825 --1.10359960795 --1.86676284671 --1.10358071327 --1.84950444102 --1.10356476903 --1.83224624396 --1.10355168581 --1.81498852372 --1.10354146362 --1.79773086309 --1.10353413224 --1.7804735601 --1.10352969169 --1.76321619749 --1.10352823138 --1.74595910311 --1.10352957249 --1.72870182991 --1.10353377462 --1.71144467592 --1.10354092717 --1.69418722391 --1.10355100035 --1.6769297421 --1.10356390476 --1.65967187285 --1.10357972979 --1.6424138844 --1.10359838605 --1.6251552999 --1.10361996293 --1.60789647698 --1.10364440083 --1.59063702822 --1.10365810991 --1.57142537832 --1.10364598036 --1.55221533775 --1.10362136364 --1.5349560082 --1.10359960795 --1.51769700646 --1.10358074307 --1.50043860078 --1.10356476903 --1.48318037391 --1.10355168581 --1.46592268348 --1.10354149341 --1.44866502285 --1.10353413224 --1.43140771985 --1.10352969169 --1.41415038705 --1.10352817177 --1.39689329267 --1.10352954269 --1.37963601947 --1.10353380442 --1.36237886548 --1.10354095697 --1.34512138367 --1.10355100035 --1.32786393166 --1.10356390476 --1.31060603261 --1.1035797596 --1.29334798455 --1.10359844565 --1.27608942985 --1.10361999273 --1.25883063674 --1.10364437103 --1.24157115817 --1.10365810991 --1.22235950828 --1.10364595056 --1.20314949751 --1.10362133384 --1.18589016795 --1.10359960795 --1.16863113642 --1.10358071327 --1.15137276054 --1.10356476903 --1.13411456346 --1.10355168581 --1.11685681343 --1.10354146362 --1.099599123 --1.10353413224 --1.0823418498 --1.10352969169 --1.065084517 --1.10352820158 --1.04782742262 --1.10352957249 --1.03057014942 --1.10353380442 --1.01331299543 --1.10354092717 --0.996055543423 --1.10355097055 --0.978798061609 --1.10356390476 --0.961540162563 --1.1035797596 --0.944282159209 --1.10359844565 --0.927023589611 --1.10362002253 --0.909764796495 --1.10364440083 --0.892505332827 --1.10365810991 --0.873293682933 --1.10364595056 --0.854083672166 --1.10362133384 --0.836824327708 --1.10359960795 --0.819565296173 --1.10358071327 --0.802306905389 --1.10356476903 --0.785048693418 --1.10355168581 --0.767790973187 --1.10354146362 --0.750533312559 --1.10353413224 --0.73327600956 --1.10352972149 --0.716018676758 --1.10352820158 --0.698761582375 --1.10352951288 --0.681504294276 --1.10353374481 --0.664247125387 --1.10354092717 --0.646989658475 --1.10355100035 --0.629732206464 --1.10356390476 --0.612474322319 --1.10357972979 --0.595216318965 --1.10359835625 --0.577957749367 --1.10361996293 --0.560698956251 --1.10364440083 --0.543439492583 --1.10365810991 --0.524227827788 --1.10364595056 --0.505017787218 --1.10362133384 --0.48775845021 --1.10359960795 --0.470499448478 --1.10358071327 --0.453241042793 --1.10356476903 --0.435982823372 --1.10355168581 --0.41872511059 --1.10354146362 --0.401467457414 --1.10353413224 --0.384210169315 --1.10352969169 --0.366952821612 --1.10352817177 --0.349695727229 --1.10352951288 --0.332438454032 --1.10353380442 --0.315181292594 --1.10354095697 --0.297923825681 --1.10355100035 --0.28066637367 --1.10356393456 --0.263408482075 --1.1035797596 --0.24615046382 --1.10359838605 --0.228891897947 --1.10361996293 --0.211633093655 --1.10364440083 --0.194373622537 --1.10365810991 --0.175161965191 --1.08650758862 --0.155948743224 --1.08648315072 --0.138689428568 --1.08646157384 --0.121430421248 --1.08644285798 --0.104172034189 --1.08642697334 --0.0869138296694 --1.08641394973 --0.0696561206132 --1.08640387655 --0.0523984795436 --1.08639666438 --0.0351412054151 --1.08639225363 --0.0178838709835 --1.08639070391 --0.000626784283665 --1.08639207482 -0.0166304835584 --1.08639630675 -0.0338876284659 --1.0864033699 -0.051145077683 --1.08641335368 -0.0684025269002 --1.08642616868 -0.0856604017317 --1.0864418745 -0.10291840136 --1.08646041155 -0.120176948607 --1.08648183942 -0.137435745448 --1.08650603891 -0.154695209115 --1.08651962877 -0.173906967044 --1.08650758862 -0.193117108196 --1.08648318052 -0.210376422852 --1.08646160364 -0.227635424584 --1.08644285798 -0.244893819094 --1.08642703295 -0.262152016163 --1.08641403914 -0.279409721494 --1.08640390635 -0.296667374671 --1.08639663458 -0.313924655319 --1.08639225363 -0.33118198812 --1.08639073372 -0.348439067602 --1.08639204502 -0.365696333349 --1.08639627695 -0.382953472436 --1.0864033699 -0.400210924447 --1.08641332388 -0.417468383908 --1.08642613888 -0.434726253152 --1.0864418745 -0.451984249055 --1.08646041155 -0.469242788851 --1.08648183942 -0.486501596868 --1.08650603891 -0.503761045635 --1.08651962876 -0.522972792387 --1.08650758862 -0.542182967067 --1.08648318052 -0.559442296624 --1.08646160364 -0.576701298356 --1.08644285798 -0.593959674239 --1.08642700315 -0.611217871308 --1.08641400933 -0.628475576639 --1.08640390635 -0.645733222365 --1.08639663458 -0.662990510464 --1.08639222383 -0.680247828364 --1.08639070391 -0.697504907847 --1.08639204502 -0.714762181044 --1.08639627695 -0.73201932013 --1.0864033699 -0.749276772142 --1.08641332388 -0.766534224153 --1.08642616868 -0.783792093396 --1.08644190431 -0.801050096751 --1.08646041155 -0.818308651447 --1.08648180962 -0.835567444563 --1.0865060091 -0.852826908231 --1.08651962876 -0.872038662434 --1.08650758862 -0.89124879241 --1.08648318052 -0.908508107066 --1.08646160364 -0.925767108798 --1.08644285798 -0.943025499583 --1.08642700315 -0.960283711553 --1.08641400933 -0.977541431785 --1.08640390635 -0.994799062609 --1.08639663458 -1.0120563209 --1.08639222383 -1.02931368351 --1.08639070391 -1.04657077789 --1.08639204502 -1.06382802129 --1.08639627695 -1.08108517528 --1.0864033699 -1.09834265709 --1.08641332388 -1.1156001091 --1.08642613888 -1.13285797834 --1.0864418745 -1.15011593699 --1.08646041155 -1.16737446189 --1.08648180962 -1.18463328481 --1.0865060091 -1.20189276338 --1.08651962876 -1.22110453248 --1.08650755882 -1.24031466246 --1.08648315072 -1.25757399202 --1.08646160364 -1.27483299375 --1.08644285798 -1.29209136963 --1.08642703295 -1.3093495965 --1.08641403914 -1.32660731673 --1.08640390635 -1.34386494756 --1.08639663458 -1.36112222076 --1.08639222383 -1.37837955356 --1.08639073372 -1.39563664794 --1.08639207482 -1.41289389133 --1.08639627695 -1.43015101552 --1.0864033401 -1.44740846753 --1.08641332388 -1.46466591954 --1.08642619848 -1.48192378879 --1.08644190431 -1.49918177724 --1.08646038175 -1.51644036174 --1.08648180962 -1.53369918466 --1.08650603891 -1.55095863343 --1.08651962877 -1.57017037273 --1.08650761843 -1.5893805027 --1.08648321033 -1.60663983226 --1.08646160364 -1.62389883399 --1.08644285798 -1.64115720988 --1.08642697334 -1.65841540694 --1.08641397953 -1.67567309737 --1.08640390635 -1.6929307282 --1.08639660477 -1.71018803119 --1.08639222383 -1.7274453938 --1.08639073372 -1.74470245838 --1.08639204502 -1.76195973158 --1.08639627695 -1.77921688557 --1.0864033699 -1.79647433758 --1.08641332388 -1.81373178959 --1.08642616868 -1.83098965883 --1.08644190431 -1.84824767709 --1.08646041155 -1.86550620198 --1.08648180962 -1.8827649653 --1.08650603891 -1.90002444387 --1.08651965857 -1.91923621297 --1.08650758862 -1.93844634295 --1.08648318052 -1.9557056725 --1.08646160364 -1.97296467423 --1.08644285798 -1.99022307992 --1.08642703295 -2.00748127699 --1.08641403914 -2.02473896742 --1.08640390635 -2.04199659824 --1.08639663458 -2.05925387144 --1.08639222383 -2.07651120424 --1.08639073372 -2.09376829863 --1.08639207482 -2.11102563143 --1.08639627695 -2.12828278542 --1.0864033699 -2.14554023743 --1.08641332388 -2.16279768944 --1.08642616868 -2.18005549908 --1.08644190431 -2.19731348753 --1.08646041155 -2.21457207203 --1.08648183942 -2.23183083534 --1.08650606871 -2.24909025431 --1.08651965857 -2.26830208302 --1.08650758862 -2.28751224279 --1.08648318052 -2.30477148294 --1.08646160364 -2.32203048468 --1.08644285798 -2.33928889036 --1.08642703295 -2.35654711724 --1.08641403914 -2.37380480766 --1.08640390635 -2.39106243849 --1.08639663458 -2.40831977129 --1.08639222383 -2.42557710409 --1.08639070391 -2.44283419847 --1.08639204502 -2.46009147167 --1.08639627695 -2.47734856606 --1.0864033699 -2.49460601807 --1.08641332388 -2.51186347008 --1.08642616868 -2.52912133932 --1.08644190431 -2.54637932777 --1.08646038175 -2.56363791227 --1.08648180962 -2.58089673519 --1.08650606871 -2.59815615416 --1.08651965857 -2.61736792326 --1.08650758862 -2.63657808304 --1.08648318052 -2.65383738279 --1.08646160364 -2.67109638452 --1.08644285798 -2.68835479021 --1.08642703295 -2.70561301708 --1.08641403914 -2.72287076712 --1.08640390635 -2.74012839794 --1.08639663458 -2.75738561153 --1.08639222383 -2.77464294433 --1.08639070391 -2.79190003872 --1.08639204502 -2.80915725231 --1.08639630675 -2.8264144063 --1.0864033997 -2.84367185831 --1.08641335368 -2.86092931032 --1.08642616868 -2.87818723917 --1.0864418745 -2.89544522762 --1.08646038175 -2.91270375252 --1.08648180962 -2.92996257543 --1.08650606871 -2.947222054 --1.08651965857 -2.9664337635 --1.08650758862 -2.98564392328 --1.08648315072 -3.00290328264 --1.08646157384 -3.02016228438 --1.08644285798 -3.03742069006 --1.08642697334 -3.05467885733 --1.08641394973 -3.07193654776 --1.08640387655 -3.08919417858 --1.08639666438 -3.10645139217 --1.08639225363 -3.12370872497 --1.08639070391 -3.14096585114 --1.08639207482 --3.12496221066 --1.08639630675 --3.10770505667 --1.0864033699 --3.09044760466 --1.08641335368 --3.07319015265 --1.08642616868 --3.0559322238 --1.0864418745 --3.03867423534 --1.08646041155 --3.02141571045 --1.08648183942 --3.00415688753 --1.08650603891 --2.98689740896 --1.08651962877 --2.96768569946 --1.08650758862 --2.94847553968 --1.08648318052 --2.93121618033 --1.08646160364 --2.91395717859 --1.08644285798 --2.89669877291 --1.08642703295 --2.87944060564 --1.08641403914 --2.86218291521 --1.08640390635 --2.84492528438 --1.08639663458 --2.82766801119 --1.08639225363 --2.81041067838 --1.08639073372 --2.79315364361 --1.08639204502 --2.7758963108 --1.08639627695 --2.75863909721 --1.0864033699 --2.7413816452 --1.08641332388 --2.72412419319 --1.08642613888 --2.70686638355 --1.0864418745 --2.6896083951 --1.08646041155 --2.6723498702 --1.08648183942 --2.65509110689 --1.08650603891 --2.63783162832 --1.08651962876 --2.61861985921 --1.08650758862 --2.59940969944 --1.08648318052 --2.58215039969 --1.08646160364 --2.56489139795 --1.08644285798 --2.54763299227 --1.08642700315 --2.53037476539 --1.08641400933 --2.51311707496 --1.08640390635 --2.49585944414 --1.08639663458 --2.47860211134 --1.08639222383 --2.46134477854 --1.08639070391 --2.44408774376 --1.08639204502 --2.42683047056 --1.08639627695 --2.40957331657 --1.0864033699 --2.39231586456 --1.08641332388 --2.37505841255 --1.08642616868 --2.35780060291 --1.08644190431 --2.34054261446 --1.08646041155 --2.32328397035 --1.08648180962 --2.30602514744 --1.0865060091 --2.28876572848 --1.08651962876 --2.26955395937 --1.08650758862 --2.2503438592 --1.08648318052 --2.23308461905 --1.08646160364 --2.21582561731 --1.08644285798 --2.19856721163 --1.08642700315 --2.18130898475 --1.08641400933 --2.16405123472 --1.08640390635 --2.14679354429 --1.08639663458 --2.12953627109 --1.08639222383 --2.11227893829 --1.08639070391 --2.09502184391 --1.08639204502 --2.07776463032 --1.08639627695 --2.06050753593 --1.0864033699 --2.04325008392 --1.08641332388 --2.02599257231 --1.08642613888 --2.00873464346 --1.0864418745 --1.99147668481 --1.08646041155 --1.97421815991 --1.08648180962 --1.956959337 --1.0865060091 --1.93969988823 --1.08651962876 --1.92048811913 --1.08650755882 --1.90127795935 --1.08648315072 --1.88401865959 --1.08646160364 --1.86675965786 --1.08644285798 --1.84950128198 --1.08642703295 --1.83224311471 --1.08641403914 --1.81498539448 --1.08640390635 --1.79772773385 --1.08639663458 --1.78047043085 --1.08639222383 --1.76321309805 --1.08639073372 --1.74595603347 --1.08639207482 --1.72869876027 --1.08639627695 --1.71144160628 --1.0864033401 --1.69418415427 --1.08641332388 --1.67692670226 --1.08642619848 --1.65966883302 --1.08644190431 --1.64241084456 --1.08646038175 --1.62515228987 --1.08648180962 --1.60789349675 --1.08650603891 --1.59063404799 --1.08651962877 --1.57142227888 --1.08650761843 --1.5522121489 --1.08648321033 --1.53495284915 --1.08646160364 --1.51769384742 --1.08644285798 --1.50043544173 --1.08642697334 --1.48317721486 --1.08641397953 --1.46591952443 --1.08640390635 --1.44866189361 --1.08639660477 --1.43140462041 --1.08639222383 --1.41414728761 --1.08639073372 --1.39689019322 --1.08639204502 --1.37963292003 --1.08639627695 --1.36237576604 --1.0864033699 --1.34511831403 --1.08641332388 --1.32786089182 --1.08642616868 --1.31060299277 --1.08644190431 --1.29334497452 --1.08646041155 --1.27608644962 --1.08648180962 --1.25882765651 --1.08650603891 --1.24156820774 --1.08651965857 --1.22235643864 --1.08650758862 --1.20314630866 --1.08648318052 --1.1858869791 --1.08646160364 --1.16862794757 --1.08644285798 --1.15136960149 --1.08642703295 --1.13411143422 --1.08641403914 --1.11685368419 --1.08640390635 --1.09959599375 --1.08639663458 --1.08233872056 --1.08639222383 --1.06508138776 --1.08639073372 --1.04782432318 --1.08639207482 --1.03056704998 --1.08639627695 --1.01330989599 --1.0864033699 --0.996052473784 --1.08641332388 --0.978795021772 --1.08642616868 --0.961537137627 --1.08644190431 --0.944279134273 --1.08646041155 --0.927020579576 --1.08648183942 --0.909761801362 --1.08650606871 --0.892502352595 --1.08651965857 --0.873290583492 --1.08650758862 --0.854080438614 --1.08648318052 --0.836821123958 --1.08646160364 --0.819562122226 --1.08644285798 --0.802303746343 --1.08642703295 --0.785045549274 --1.08641403914 --0.767787829042 --1.08640390635 --0.750530183316 --1.08639663458 --0.733272910118 --1.08639222383 --0.716015577317 --1.08639070391 --0.698758482933 --1.08639204502 --0.681501209736 --1.08639627695 --0.664244070649 --1.0864033699 --0.646986618638 --1.08641332388 --0.629729166627 --1.08642616868 --0.612471297383 --1.08644190431 --0.59521330893 --1.08646038175 --0.577954754233 --1.08648180962 --0.560695961118 --1.08650606871 --0.543436512351 --1.08651965857 --0.524224743247 --1.08650758862 --0.505014590919 --1.08648318052 --0.487755268812 --1.08646160364 --0.47049626708 --1.08644285798 --0.453237868846 --1.08642703295 --0.435979664326 --1.08641403914 --0.418721958995 --1.08640390635 --0.401464320719 --1.08639663458 --0.384207054973 --1.08639222383 --0.366949722171 --1.08639070391 --0.349692627788 --1.08639204502 --0.332435362041 --1.08639630675 --0.315178222954 --1.0864033997 --0.297920778394 --1.08641335368 --0.280663341284 --1.08642616868 --0.263405457139 --1.0864418745 --0.24614745006 --1.08646038175 --0.228888902813 --1.08648180962 --0.211630109698 --1.08650606871 --0.194370649755 --1.08651965857 --0.175158880651 --1.06934481859 --0.155945494771 --1.06932061911 --0.138686198741 --1.06929922104 --0.121427206322 --1.06928062439 --0.104168830439 --1.06926485896 --0.0869106370956 --1.06925192476 --0.0696529392153 --1.06924191118 --0.0523953102529 --1.06923475862 --0.0351380496286 --1.06923037767 --0.0178807280026 --1.06922888756 --0.000623654341323 --1.06923025846 -0.0166336006951 --1.06923443079 -0.0338907320984 --1.06924143434 -0.0511481678113 --1.06925135851 -0.0684056049213 --1.0692640841 -0.0856634695083 --1.06927964092 -0.102921456098 --1.06929799915 -0.120179986581 --1.0693192482 -0.137438770384 --1.06934329868 -0.154698215425 --1.06935676932 -0.173910092563 --1.06934484839 -0.193120356649 --1.06932064891 -0.210379656404 --1.06929922104 -0.227638643235 --1.06928062439 -0.244897022844 --1.06926488877 -0.262155205012 --1.06925201416 -0.279412895441 --1.06924197078 -0.296670533717 --1.06923475862 -0.313927799464 --1.06923040748 -0.331185132265 --1.06922888756 -0.348442211747 --1.06923019886 -0.365699455142 --1.06923440099 -0.382956571877 --1.06924143434 -0.400214008987 --1.06925132871 -0.417471453547 --1.0692640543 -0.43472931534 --1.06927964092 -0.451987296343 --1.06929799915 -0.469245821238 --1.0693192482 -0.486504621804 --1.06934326887 -0.503764078021 --1.06935673952 -0.522975936532 --1.06934481859 -0.542186185717 --1.06932061911 -0.559445500374 --1.06929922104 -0.576704502106 --1.06928062439 -0.593962877989 --1.06926491857 -0.611221075058 --1.06925201416 -0.628478765488 --1.06924194098 -0.645736381412 --1.06923475862 -0.662993654609 --1.06923037767 -0.68025097251 --1.06922885775 -0.697508022189 --1.06923022866 -0.714765265584 --1.06923446059 -0.732022404671 --1.06924146414 -0.749279856682 --1.06925132871 -0.766537278891 --1.0692640841 -0.783795148134 --1.06927967072 -0.801053166389 --1.06929799915 -0.818311706186 --1.0693192482 -0.8355704844 --1.06934326887 -0.852829933166 --1.06935673952 -0.872041806579 --1.06934484839 -0.891252055764 --1.06932064891 -0.908511340618 --1.06929922104 -0.925770327449 --1.06928062439 -0.943028718233 --1.06926488877 -0.960286900401 --1.06925201416 -0.977544605732 --1.06924197078 -0.994802266359 --1.06923475862 -1.01205950976 --1.06923037767 -1.02931681275 --1.06922885775 -1.04657390713 --1.06923022866 -1.06383118034 --1.06923443079 -1.08108830452 --1.06924143434 -1.09834572673 --1.06925132871 -1.11560317874 --1.0692640245 -1.13286104799 --1.06927961111 -1.15011900663 --1.06929799915 -1.16737753153 --1.0693192482 -1.18463632465 --1.06934326887 -1.20189580321 --1.06935673952 -1.22110769152 --1.06934481859 -1.24031791091 --1.0693205893 -1.25757721066 --1.06929919124 -1.2748362124 --1.06928062439 -1.29209458828 --1.06926488877 -1.30935278535 --1.06925201416 -1.32661047578 --1.06924197078 -1.34386810661 --1.06923475862 -1.3611253798 --1.06923037767 -1.3783827126 --1.06922885775 -1.39563977718 --1.06923019886 -1.41289699078 --1.06923440099 -1.43015411496 --1.06924140453 -1.44741156697 --1.0692512989 -1.46466901898 --1.0692640543 -1.48192688823 --1.06927964092 -1.49918484688 --1.06929799915 -1.51644340158 --1.0693192482 -1.5337022245 --1.06934329868 -1.55096164346 --1.06935679913 -1.57017347217 --1.0693448484 -1.58938375115 --1.06932061911 -1.60664308071 --1.06929922104 -1.62390205264 --1.06928062439 -1.64116042852 --1.06926488876 -1.65841862559 --1.06925201416 -1.67567631602 --1.06924197078 -1.69293394685 --1.06923472881 -1.71019119024 --1.06923037767 -1.72744849324 --1.06922888756 -1.74470558762 --1.06923022866 -1.76196286082 --1.06923443079 -1.77921998501 --1.06924143434 -1.79647740722 --1.06925132871 -1.81373485923 --1.0692640841 -1.83099272847 --1.06927967072 -1.84825071693 --1.06929799915 -1.86550924182 --1.0693192482 -1.88276800513 --1.06934329868 -1.9000274837 --1.06935676932 -1.91923937201 --1.06934484839 -1.9384495914 --1.06932064891 -1.95570889115 --1.06929922104 -1.97296789289 --1.06928062439 -1.99022626877 --1.06926488877 -2.00748449564 --1.06925201416 -2.02474218607 --1.06924197078 -2.04199975729 --1.06923475862 -2.05925697088 --1.06923037767 -2.07651430368 --1.06922888756 -2.09377139807 --1.06923022866 -2.11102867127 --1.06923440099 -2.12828588486 --1.06924143434 -2.14554333687 --1.06925132871 -2.16280072928 --1.0692640543 -2.18005853892 --1.06927964092 -2.19731652737 --1.06929799915 -2.21457505226 --1.0693192482 -2.23183381558 --1.06934329868 -2.24909329414 --1.06935676932 -2.26830518246 --1.06934481859 -2.28751546144 --1.06932061911 -2.3047747612 --1.06929922104 -2.32203376293 --1.06928062439 -2.33929210901 --1.06926488877 -2.35655027628 --1.06925198436 -2.37380796671 --1.06924194098 -2.39106559753 --1.06923475862 -2.40832293034 --1.06923037767 -2.42558026314 --1.06922885775 -2.44283735752 --1.06923022866 -2.46009463072 --1.06923443079 -2.4773517251 --1.06924143434 -2.49460911751 --1.06925132871 -2.51186656952 --1.0692640543 -2.52912449837 --1.06927964092 -2.54638242721 --1.06929799915 -2.56364095211 --1.0693192482 -2.58089977503 --1.06934329868 -2.59815913439 --1.06935676932 -2.6173710227 --1.06934481859 -2.63658130169 --1.0693205893 -2.65384060144 --1.06929919124 -2.67109960317 --1.06928062439 -2.68835800886 --1.06926491857 -2.70561623573 --1.06925201416 -2.72287392616 --1.06924194098 -2.74013155699 --1.06923475862 -2.75738877058 --1.06923037767 -2.77464604378 --1.06922885775 -2.79190313816 --1.06923022866 -2.80916041136 --1.06923443079 -2.82641750574 --1.06924143434 -2.84367495775 --1.06925135851 -2.86093240977 --1.0692640543 -2.87819027901 --1.06927961111 -2.89544826746 --1.06929799915 -2.91270679235 --1.0693192482 -2.92996555567 --1.06934329868 -2.94722503424 --1.06935676932 -2.96643692255 --1.06934481859 -2.98564714193 --1.06932061911 -3.00290644169 --1.06929922104 -3.02016544342 --1.06928062439 -3.03742384911 --1.06926485896 -3.05468201637 --1.06925192476 -3.0719397068 --1.06924191118 -3.08919733763 --1.06923475862 -3.10645455122 --1.06923037767 -3.12371188402 --1.06922888756 -3.14096901019 --1.06923025846 --3.12495905161 --1.06923443079 --3.10770195723 --1.06924143434 --3.09044450522 --1.06925135851 --3.0731870532 --1.0692640841 --3.05592918396 --1.06927964092 --3.0386711955 --1.06929799915 --3.02141267061 --1.0693192482 --3.00415384769 --1.06934329868 --2.98689436913 --1.06935676932 --2.96768254042 --1.06934484839 --2.94847226143 --1.06932064891 --2.93121296168 --1.06929922104 --2.91395401955 --1.06928062439 --2.89669561386 --1.06926488877 --2.87943744659 --1.06925201416 --2.86217975617 --1.06924197078 --2.84492212534 --1.06923475862 --2.82766491174 --1.06923040748 --2.81040757895 --1.06922888756 --2.79315048456 --1.06923019886 --2.77589321136 --1.06923440099 --2.75863605737 --1.06924143434 --2.74137860536 --1.06925132871 --2.72412115336 --1.0692640543 --2.70686334371 --1.06927964092 --2.68960535526 --1.06929799915 --2.67234683036 --1.0693192482 --2.65508806705 --1.06934326887 --2.63782858849 --1.06935673952 --2.61861670017 --1.06934481859 --2.59940642118 --1.06932061911 --2.58214712143 --1.06929922104 --2.5648881197 --1.06928062439 --2.54762977362 --1.06926491857 --2.53037160635 --1.06925201416 --2.51311391592 --1.06924194098 --2.49585628509 --1.06923475862 --2.47859895229 --1.06923037767 --2.46134161949 --1.06922885775 --2.44408464432 --1.06923022866 --2.42682743072 --1.06923446059 --2.40957021713 --1.06924146414 --2.39231276512 --1.06925132871 --2.37505537271 --1.0692640841 --2.35779750347 --1.06927967072 --2.34053951502 --1.06929799915 --2.32328093052 --1.0693192482 --2.3060221076 --1.06934326887 --2.28876274824 --1.06935673952 --2.26955085993 --1.06934484839 --2.25034058094 --1.06932064891 --2.23308134079 --1.06929922104 --2.21582233906 --1.06928062439 --2.19856393338 --1.06926488877 --2.1813057661 --1.06925201416 --2.16404801607 --1.06924197078 --2.14679032564 --1.06923475862 --2.12953311205 --1.06923037767 --2.11227583885 --1.06922885775 --2.09501874447 --1.06923022866 --2.07776147127 --1.06923443079 --2.06050437689 --1.06924143434 --2.04324692488 --1.06925132871 --2.02598947287 --1.0692640245 --2.00873160362 --1.06927961111 --1.99147361517 --1.06929799915 --1.97421509028 --1.0693192482 --1.95695629716 --1.06934326887 --1.9396968782 --1.06935673952 --1.92048501969 --1.06934481859 --1.9012747407 --1.0693205893 --1.88401544094 --1.06929919124 --1.86675646901 --1.06928062439 --1.84949809313 --1.06926488877 --1.83223989606 --1.06925201416 --1.81498217583 --1.06924197078 --1.797724545 --1.06923475862 --1.78046727181 --1.06923037767 --1.76320996881 --1.06922885775 --1.74595293403 --1.06923019886 --1.72869566083 --1.06923440099 --1.71143850684 --1.06924140453 --1.69418105483 --1.0692512989 --1.67692363262 --1.0692640543 --1.65966579318 --1.06927964092 --1.64240780473 --1.06929799915 --1.62514927984 --1.0693192482 --1.60789051652 --1.06934329868 --1.59063103795 --1.06935679913 --1.57141914964 --1.0693448484 --1.55220893025 --1.06932061911 --1.5349496305 --1.06929922104 --1.51769062877 --1.06928062439 --1.50043225289 --1.06926488876 --1.48317405582 --1.06925201416 --1.46591636539 --1.06924197078 --1.44865873456 --1.06923472881 --1.43140146136 --1.06923037767 --1.41414412856 --1.06922888756 --1.39688703418 --1.06923022866 --1.37962979079 --1.06923443079 --1.3623726666 --1.06924143434 --1.34511521458 --1.06925132871 --1.32785779237 --1.0692640841 --1.31059992314 --1.06927967072 --1.29334193468 --1.06929799915 --1.27608340979 --1.0693192482 --1.25882461667 --1.06934329868 --1.24156519771 --1.06935676932 --1.22235330939 --1.06934484839 --1.2031430304 --1.06932064891 --1.18588373065 --1.06929922104 --1.16862472892 --1.06928062439 --1.15136638284 --1.06926488877 --1.13410821557 --1.06925201416 --1.11685049534 --1.06924197078 --1.09959283471 --1.06923475862 --1.08233556152 --1.06923037767 --1.06507825852 --1.06922888756 --1.04782122373 --1.06923022866 --1.03056395054 --1.06923440099 --1.01330679655 --1.06924143434 --0.996049374343 --1.06925132871 --0.978791952133 --1.0692640543 --0.961534097791 --1.06927964092 --0.944276094437 --1.06929799915 --0.927017554641 --1.0693192482 --0.909758776426 --1.06934329868 --0.892499327659 --1.06935676932 --0.873287439346 --1.06934481859 --0.854077175259 --1.06932061911 --0.836817890406 --1.06929922104 --0.819558918476 --1.06928062439 --0.802300542593 --1.06926488877 --0.785042360425 --1.06925198436 --0.767784655094 --1.06924194098 --0.750527009368 --1.06923475862 --0.733269751072 --1.06923037767 --0.716012433171 --1.06922885775 --0.698755353689 --1.06923022866 --0.681498080492 --1.06923443079 --0.664240956306 --1.06924143434 --0.646983519196 --1.06925132871 --0.629726082087 --1.0692640543 --0.612468227744 --1.06927964092 --0.595210254192 --1.06929799915 --0.577951744199 --1.0693192482 --0.560692951083 --1.06934329868 --0.543433502317 --1.06935676932 --0.524221614003 --1.06934481859 --0.505011335015 --1.0693205893 --0.48775203526 --1.06929919124 --0.47049304843 --1.06928062439 --0.453234665096 --1.06926491857 --0.435976468027 --1.06925201416 --0.418718777597 --1.06924194098 --0.401461154223 --1.06923475862 --0.384203895927 --1.06923037767 --0.366946578026 --1.06922885775 --0.349689498544 --1.06923022866 --0.332432240248 --1.06923443079 --0.315175116062 --1.06924143434 --0.297917686403 --1.06925135851 --0.280660256743 --1.0692640543 --0.2634023875 --1.06927961111 --0.246144395321 --1.06929799915 --0.228885862976 --1.0693192482 --0.211627081037 --1.06934329868 --0.19436763227 --1.06935676932 --0.175155747682 --1.05218559504 --0.155940756202 --1.05216157436 --0.138681482524 --1.05214032531 --0.121422505006 --1.05212190748 --0.104164149612 --1.05210629106 --0.0869059786201 --1.05209347606 --0.0696482984349 --1.05208352208 --0.0523906843737 --1.05207639933 --0.0351334428414 --1.05207204819 --0.017876141239 --1.05207055807 --0.000619086902585 --1.05207189917 -0.0166381490417 --1.0520760715 -0.0338952620514 --1.05208304524 -0.0511526782066 --1.05209288001 -0.0684100948274 --1.05210548639 -0.0856679398567 --1.052120924 -0.102925909683 --1.05213913322 -0.12018442899 --1.05216020346 -0.137443196028 --1.05218407512 -0.154702618718 --1.05219742656 -0.173914667219 --1.05218556523 -0.193125095218 --1.05216154456 -0.210384372622 --1.05214032531 -0.227643344552 --1.05212190748 -0.244901698083 --1.05210629106 -0.262159861624 --1.05209353566 -0.279417544603 --1.05208358169 -0.296675160527 --1.05207639933 -0.313932403922 --1.05207204819 -0.331189714372 --1.05207055807 -0.348446771502 --1.05207186937 -0.365703999996 --1.0520760417 -0.382961109281 --1.05208304524 -0.40021853149 --1.05209288001 -0.417475953698 --1.05210548639 -0.434733793139 --1.052120924 -0.45199175924 --1.05213913322 -0.469250276685 --1.05216020346 -0.486509039998 --1.05218407512 -0.503768481314 --1.05219742656 -0.52298052609 --1.05218556523 -0.542190939188 --1.05216157437 -0.559450224042 --1.05214035511 -0.57670918107 --1.05212190748 -0.593967527151 --1.05210632086 -0.61122572422 --1.05209350586 -0.62848341465 --1.05208352208 -0.645741000772 --1.05207639933 -0.662998244166 --1.05207204819 -0.680255547166 --1.05207055807 -0.697512596846 --1.05207189917 -0.714769840241 --1.0520760715 -0.732026949525 --1.05208304524 -0.749284371733 --1.05209288001 -0.766541793942 --1.05210548639 -0.783799648285 --1.052120924 -0.801057636738 --1.05213913322 -0.818316146731 --1.05216020346 -0.835574895144 --1.05218407512 -0.852834329009 --1.05219742656 -0.872046381235 --1.05218556523 -0.891256794334 --1.05216157437 -0.908516064286 --1.05214035511 -0.925775036216 --1.05212190748 -0.943033397198 --1.05210629106 -0.960291564465 --1.05209353566 -0.977549239993 --1.05208358169 -0.99480688572 --1.05207639933 -1.01206412912 --1.05207207799 -1.02932140231 --1.05207058787 -1.04657846689 --1.05207189917 -1.06383574009 --1.0520760417 -1.08109283447 --1.05208301544 -1.09835022688 --1.05209288001 -1.11560764909 --1.05210545659 -1.13286548853 --1.05212089419 -1.15012347698 --1.05213913322 -1.16738200188 --1.05216020346 -1.18464076519 --1.05218407512 -1.20190021396 --1.05219742656 -1.22111225128 --1.05218556523 -1.24032264948 --1.05216154456 -1.25758194923 --1.05214032531 -1.27484092116 --1.05212190748 -1.29209923744 --1.05210629106 -1.30935740471 --1.05209350586 -1.32661509514 --1.05208355189 -1.34387272596 --1.05207639933 -1.36112996936 --1.05207204819 -1.37838727236 --1.05207058787 -1.39564433694 --1.05207189917 -1.41290155053 --1.0520760119 -1.43015867472 --1.05208301544 -1.44741609693 --1.05209288001 -1.46467351913 --1.05210545659 -1.48193138838 --1.05212089419 -1.49918931723 --1.05213913322 -1.51644781232 --1.05216020346 -1.53370660544 --1.05218407512 -1.5509660244 --1.05219745636 -1.57017806172 --1.05218556523 -1.58938848972 --1.05216151476 -1.60664775967 --1.05214032531 -1.6239067316 --1.05212190748 -1.64116510748 --1.05210632086 -1.65842330456 --1.05209356547 -1.67568099499 --1.05208358169 -1.69293859601 --1.05207639933 -1.71019580961 --1.05207204819 -1.7274530828 --1.05207055807 -1.74471014738 --1.05207189917 -1.76196742058 --1.0520760417 -1.77922451496 --1.05208301544 -1.79648190737 --1.05209288001 -1.81373932958 --1.05210548639 -1.83099716902 --1.052120924 -1.84825515747 --1.05213913322 -1.86551368237 --1.05216020346 -1.88277244568 --1.05218407512 -1.90003189445 --1.05219742656 -1.91924393177 --1.05218559504 -1.93845432997 --1.05216160417 -1.95571362972 --1.05214035511 -1.97297260165 --1.05212190748 -1.99023094773 --1.05210629106 -2.00748917461 --1.05209353566 -2.02474683523 --1.05208358169 -2.04200440645 --1.05207639933 -2.05926162005 --1.05207204819 -2.07651889324 --1.05207055807 -2.09377598762 --1.05207186937 -2.11103326082 --1.0520760417 -2.12829041481 --1.05208304524 -2.14554780722 --1.05209288001 -2.16280519962 --1.05210545659 -2.18006306887 --1.05212089419 -2.19732105732 --1.05213913322 -2.21457952261 --1.05216020346 -2.23183828592 --1.05218407512 -2.24909776449 --1.05219742656 -2.26830977201 --1.05218556523 -2.28752017021 --1.05216157437 -2.30477946997 --1.05214035511 -2.3220384717 --1.05212190748 -2.33929681778 --1.05210629106 -2.35655498505 --1.05209350586 -2.37381261587 --1.05208355189 -2.39107018709 --1.05207639933 -2.40832751989 --1.05207204819 -2.4255848527 --1.05207055807 -2.44284188747 --1.05207189917 -2.46009916067 --1.0520760417 -2.47735625506 --1.05208301544 -2.49461364746 --1.05209288001 -2.51187109947 --1.05210545659 -2.52912896871 --1.05212089419 -2.54638689757 --1.05213913322 -2.56364536285 --1.05216020346 -2.58090412617 --1.05218407512 -2.59816354513 --1.05219742656 -2.61737561226 --1.05218556523 -2.63658607006 --1.05216154456 -2.65384531021 --1.05214032531 -2.67110425234 --1.05212190748 -2.68836265802 --1.05210632086 -2.70562082529 --1.05209353566 -2.72287851572 --1.05208355189 -2.74013614655 --1.05207639933 -2.75739336014 --1.05207207799 -2.77465063333 --1.05207058787 -2.79190766811 --1.05207189917 -2.80916494131 --1.0520760417 -2.8264220953 --1.05208301544 -2.84367954731 --1.05209288001 -2.86093693972 --1.05210545659 -2.87819474935 --1.05212089419 -2.8954526782 --1.05213913322 -2.9127112031 --1.05216020346 -2.92996996641 --1.05218407512 -2.94722938538 --1.05219742656 -2.96644151211 --1.05218559504 -2.98565191031 --1.05216157436 -3.00291115046 --1.05214032531 -3.02017015219 --1.05212190748 -3.03742849827 --1.05210629106 -3.05468660593 --1.05209347606 -3.07194429636 --1.05208352208 -3.08920198679 --1.05207639933 -3.10645920038 --1.05207204819 -3.12371647358 --1.05207055807 -3.14097354014 --1.05207189917 --3.12495452165 --1.0520760715 --3.10769736767 --1.05208304524 --3.09043991566 --1.05209288001 --3.07318252325 --1.05210548639 --3.05592471361 --1.052120924 --3.03866678476 --1.05213913322 --3.02140825987 --1.05216020346 --3.00414943695 --1.05218407512 --2.98689001798 --1.05219742656 --2.96767795086 --1.05218556523 --2.94846749306 --1.05216154456 --2.93120825291 --1.05214032531 --2.91394931078 --1.05212190748 --2.8966909647 --1.05210629106 --2.87943279743 --1.05209353566 --2.862175107 --1.05208358169 --2.84491747618 --1.05207639933 --2.82766026258 --1.05207204819 --2.81040298939 --1.05207055807 --2.793145895 --1.05207186937 --2.7758886218 --1.0520760417 --2.75863152742 --1.05208304524 --2.74137413502 --1.05209288001 --2.72411674261 --1.05210548639 --2.70685893297 --1.052120924 --2.68960088491 --1.05213913322 --2.67234236002 --1.05216020346 --2.65508365631 --1.05218407512 --2.63782417774 --1.05219742656 --2.61861211061 --1.05218556523 --2.59940171242 --1.05216157437 --2.58214241266 --1.05214035511 --2.56488341093 --1.05212190748 --2.54762512446 --1.05210632086 --2.53036695719 --1.05209350586 --2.51310926676 --1.05208352208 --2.49585169554 --1.05207639933 --2.47859442234 --1.05207204819 --2.46133708954 --1.05207055807 --2.44408005476 --1.05207189917 --2.42682284116 --1.0520760715 --2.40956568718 --1.05208304524 --2.39230829477 --1.05209288001 --2.37505090237 --1.05210548639 --2.35779297352 --1.052120924 --2.34053498507 --1.05213913322 --2.32327651977 --1.05216020346 --2.30601775646 --1.05218407512 --2.2887583375 --1.05219742656 --2.26954627037 --1.05218556523 --2.25033587217 --1.05216157437 --2.23307663202 --1.05214035511 --2.21581763029 --1.05212190748 --2.19855922461 --1.05210629106 --2.18130105734 --1.05209353566 --2.16404336691 --1.05208358169 --2.14678573608 --1.05207639933 --2.12952852249 --1.05207207799 --2.11227124929 --1.05207058787 --2.09501421452 --1.05207189917 --2.07775694132 --1.0520760417 --2.06049984693 --1.05208301544 --2.04324239492 --1.05209288001 --2.02598494291 --1.05210545659 --2.00872713328 --1.05212089419 --1.99146914482 --1.05213913322 --1.97421064973 --1.05216020346 --1.95695191622 --1.05218407512 --1.93969249725 --1.05219742656 --1.92048045993 --1.05218556523 --1.90127000212 --1.05216154456 --1.88401073217 --1.05214032531 --1.86675179005 --1.05212190748 --1.84949341416 --1.05210629106 --1.8322352171 --1.05209350586 --1.81497752666 --1.05208355189 --1.79771992564 --1.05207639933 --1.78046268225 --1.05207204819 --1.76320537925 --1.05207058787 --1.74594834447 --1.05207189917 --1.72869110107 --1.0520760119 --1.71143397689 --1.05208301544 --1.69417655468 --1.05209288001 --1.67691913247 --1.05210545659 --1.65966132283 --1.05212089419 --1.64240336418 --1.05213913322 --1.62514483928 --1.05216020346 --1.60788607598 --1.05218407512 --1.59062662721 --1.05219745636 --1.57141458988 --1.05218556523 --1.55220419168 --1.05216151476 --1.53494489193 --1.05214032531 --1.5176858902 --1.05212190748 --1.50042754412 --1.05210632086 --1.48316940665 --1.05209356547 --1.46591174603 --1.05208358169 --1.4486541152 --1.05207639933 --1.431396842 --1.05207204819 --1.414139539 --1.05207055807 --1.39688247442 --1.05207189917 --1.37962526083 --1.0520760417 --1.36236816645 --1.05208301544 --1.34511074423 --1.05209288001 --1.32785332203 --1.05210548639 --1.31059545278 --1.052120924 --1.29333746433 --1.05213913322 --1.27607896924 --1.05216020346 --1.25882023573 --1.05218407512 --1.24156078697 --1.05219742656 --1.22234871984 --1.05218559504 --1.20313829183 --1.05216160417 --1.18587899208 --1.05214035511 --1.16862002015 --1.05212190748 --1.15136170387 --1.05210629106 --1.13410353661 --1.05209353566 --1.11684584618 --1.05208358169 --1.09958821535 --1.05207639933 --1.08233097196 --1.05207204819 --1.06507369876 --1.05207055807 --1.04781663418 --1.05207186937 --1.03055939079 --1.0520760417 --1.0133022666 --1.05208304524 --0.996044829489 --1.05209288001 --0.978787437082 --1.05210545659 --0.96152959764 --1.05212089419 --0.944271638989 --1.05213913322 --0.927013128996 --1.05216020346 --0.909754350782 --1.05218407512 --0.892494931817 --1.05219742656 --0.873282879591 --1.05218556523 --0.854072451592 --1.05216157437 --0.836813166738 --1.05214035511 --0.819554209709 --1.05212190748 --0.802295863629 --1.05210629106 --0.785037696362 --1.05209350586 --0.767780020833 --1.05208355189 --0.750522390008 --1.05207639933 --0.733265131712 --1.05207204819 --0.716007828712 --1.05207055807 --0.698750779033 --1.05207189917 --0.681493535638 --1.0520760417 --0.664236411452 --1.05208301544 --0.646978989243 --1.05209288001 --0.629721581936 --1.05210545659 --0.612463757396 --1.05212089419 --0.595205798745 --1.05213913322 --0.577947303653 --1.05216020346 --0.560688540339 --1.05218407512 --0.543429091573 --1.05219742656 --0.524217039347 --1.05218556523 --0.505006603897 --1.05216154456 --0.487747311592 --1.05214032531 --0.470488347113 --1.05212190748 --0.453230001032 --1.05210632086 --0.435971818864 --1.05209353566 --0.418714135885 --1.05208355189 --0.401456534863 --1.05207639933 --0.384199291468 --1.05207207799 --0.366941995919 --1.05207058787 --0.349684938788 --1.05207189917 --0.332427695394 --1.0520760417 --0.315170586109 --1.05208301544 --0.2979131639 --1.05209288001 --0.280655749142 --1.05210545659 --0.26339790225 --1.05212089419 --0.246139928699 --1.05213913322 --0.228881418705 --1.05216020346 --0.211622662842 --1.05218407512 --0.194363228976 --1.05219742656 --0.1751511693 --1.03506866097 --0.155935868621 --1.03504481911 --0.13867661357 --1.03502374887 --0.121417658403 --1.03500550985 --0.104159321636 --1.03499001265 --0.0869011711329 --1.03497734666 --0.0696435114369 --1.03496751189 --0.0523859178647 --1.03496044874 --0.0351286958903 --1.0349561274 --0.0178714133799 --1.03495460749 --0.00061437790282 --1.03495588899 -0.016642838018 --1.03496003151 -0.0338999317028 --1.03496697545 -0.0511573292315 --1.03497672081 -0.0684147272259 --1.03498920798 -0.0856725517661 --1.03500452637 -0.102930501104 --1.03502261639 -0.120189005509 --1.03504350781 -0.137447752058 --1.03506717086 -0.154707159847 --1.03508043289 -0.173919383436 --1.03506866097 -0.193129975349 --1.03504478931 -0.210389230401 --1.03502374887 -0.227648183703 --1.03500550985 -0.244906529784 --1.03499004245 -0.26216468215 --1.03497740627 -0.279422342777 --1.03496754169 -0.296679936349 --1.03496041894 -0.313937157393 --1.0349560976 -0.331194445491 --1.03495460749 -0.34845148027 --1.03495591879 -0.365708693862 --1.03496009111 -0.382965788245 --1.03496703505 -0.400223188102 --1.03497675061 -0.417480587959 --1.03498920798 -0.434738397598 --1.03500452637 -0.451996348798 --1.03502261639 -0.469254858792 --1.03504350781 -0.486513584852 --1.03506717086 -0.503772996366 --1.03508043289 -0.522985234857 --1.03506869077 -0.54219584167 --1.03504484892 -0.559455111623 --1.03502377868 -0.576714023948 --1.03500550985 -0.593972340226 --1.03499001265 -0.611230522394 --1.03497734666 -0.628488197923 --1.03496751189 -0.645745784044 --1.03496044874 -0.663002997637 --1.0349561274 -0.680260285735 --1.03495460749 -0.697517320514 --1.03495591879 -0.714774549008 --1.03496006131 -0.732031643391 --1.03496697545 -0.749289035797 --1.03497672081 -0.766546443105 --1.03498920798 -0.783804252744 --1.03500452637 -0.801062211394 --1.03502261639 -0.818320721388 --1.03504350781 -0.835579454899 --1.03506717086 -0.852838858962 --1.03508040309 -0.872051075101 --1.03506863117 -0.891261667013 --1.03504484892 -0.908520922065 --1.03502380848 -0.925779879093 --1.03500553966 -0.943038225174 --1.03499007225 -0.96029637754 --1.03497740627 -0.977554023266 --1.03496754169 -0.994811624289 --1.03496041894 -1.01206886769 --1.0349561274 -1.02932614088 --1.03495463729 -1.04658317566 --1.03495591879 -1.06384041905 --1.03496006131 -1.08109751344 --1.03496697545 -1.09835490584 --1.03497672081 -1.11561229825 --1.03498920798 -1.13287010789 --1.03500452637 -1.15012806654 --1.03502261639 -1.16738656163 --1.03504350781 -1.18464529514 --1.03506717086 -1.20190471411 --1.03508040309 -1.22111693025 --1.03506863117 -1.24032753706 --1.03504481911 -1.25758680701 --1.03502377868 -1.27484574914 --1.03500553966 -1.29210406542 --1.03499007225 -1.30936220288 --1.03497737646 -1.32661986351 --1.03496751189 -1.34387749434 --1.03496044874 -1.36113470793 --1.0349561274 -1.37839198113 --1.03495463729 -1.3956490457 --1.03495591879 -1.4129062593 --1.03496003151 -1.43016335368 --1.03496697545 -1.44742071628 --1.03497672081 -1.46467810869 --1.03498920798 -1.48193597794 --1.03500452637 -1.49919390678 --1.03502261639 -1.51645237207 --1.03504350781 -1.53371113539 --1.03506717086 -1.55097055435 --1.03508043289 -1.57018280029 --1.03506866097 -1.5893933773 --1.03504478931 -1.60665261745 --1.03502374887 -1.62391158938 --1.03500550985 -1.64116993546 --1.03499004245 -1.65842810273 --1.03497740627 -1.67568576336 --1.03496754169 -1.69294333458 --1.03496041894 -1.71020054818 --1.0349560976 -1.72745782137 --1.03495460749 -1.74471485615 --1.03495591879 -1.76197209954 --1.03496006131 -1.77922919393 --1.03496697545 -1.79648658633 --1.03497672081 -1.81374397874 --1.03498920798 -1.83100178838 --1.03500452637 -1.84825974703 --1.03502261639 -1.86551827192 --1.03504350781 -1.88277703523 --1.03506717086 -1.9000364244 --1.03508043289 -1.91924861073 --1.03506869077 -1.93845921755 --1.03504487872 -1.9557185173 --1.03502380848 -1.97297745943 --1.03500553966 -1.99023577571 --1.03499007225 -2.00749397278 --1.03497740627 -2.0247516036 --1.03496754169 -2.04200917482 --1.03496044874 -2.05926638842 --1.0349561274 -2.07652360201 --1.03495460749 -2.09378069639 --1.03495591879 -2.11103796959 --1.03496009111 -2.12829506397 --1.03496700525 -2.14555245638 --1.03497672081 -2.16280984878 --1.03498920798 -2.18006771803 --1.03500452637 -2.19732564688 --1.03502261639 -2.21458411217 --1.03504350781 -2.23184287548 --1.03506717086 -2.24910229444 --1.03508040309 -2.26831448078 --1.03506866097 -2.28752505779 --1.03504484892 -2.30478435755 --1.03502377868 -2.32204329967 --1.03500550985 -2.33930164575 --1.03499004245 -2.35655981302 --1.03497740627 -2.37381738424 --1.03496754169 -2.39107495546 --1.03496041894 -2.40833228827 --1.0349560976 -2.42558962107 --1.03495460749 -2.44284659624 --1.03495591879 -2.46010380983 --1.03496006131 -2.47736090422 --1.03496697545 -2.49461829662 --1.03497672081 -2.51187568903 --1.03498920798 -2.52913349867 --1.03500452637 -2.54639142752 --1.03502261639 -2.56364989281 --1.03504350781 -2.58090865612 --1.03506717086 -2.59816807508 --1.03508043289 -2.61738032103 --1.03506869077 -2.63659095764 --1.03504484892 -2.65385019779 --1.03502377868 -2.67110908031 --1.03500550985 -2.68836742639 --1.03499004245 -2.70562559366 --1.03497740627 -2.72288328409 --1.03496754169 -2.74014091492 --1.03496044874 -2.75739812851 --1.0349561572 -2.77465540171 --1.03495463729 -2.79191237688 --1.03495591879 -2.80916959047 --1.03496006131 -2.82642674446 --1.03496697545 -2.84368413687 --1.03497672081 -2.86094152927 --1.03498920798 -2.87819933891 --1.03500452637 -2.89545726776 --1.03502261639 -2.91271579266 --1.03504350781 -2.92997455597 --1.03506717086 -2.94723397494 --1.03508040309 -2.96644622087 --1.03506866097 -2.98565679788 --1.03504481911 -3.00291603804 --1.03502374887 -3.02017503977 --1.03500550985 -3.03743338585 --1.03499001265 -3.05469149351 --1.03497734666 -3.07194912434 --1.03496751189 -3.08920675516 --1.03496044874 -3.10646396875 --1.0349561274 -3.12372118235 --1.03495460749 -3.14097818931 --1.03495588899 --3.12494987249 --1.03496003151 --3.10769271851 --1.03496697545 --3.0904353261 --1.03497672081 --3.07317793369 --1.03498920798 --3.05592006445 --1.03500452637 --3.0386621356 --1.03502261639 --3.02140367031 --1.03504350781 --3.00414490699 --1.03506717086 --2.98688548803 --1.03508043289 --2.96767324209 --1.03506866097 --2.94846266508 --1.03504478931 --2.93120342493 --1.03502374887 --2.9139444232 --1.03500550985 --2.89668607712 --1.03499004245 --2.87942790985 --1.03497740627 --2.86217027903 --1.03496754169 --2.84491270781 --1.03496041894 --2.82765549421 --1.0349560976 --2.81039828062 --1.03495460749 --2.79314118624 --1.03495591879 --2.77588391304 --1.03496009111 --2.75862681866 --1.03496703505 --2.74136942625 --1.03497675061 --2.72411209345 --1.03498920798 --2.70685428381 --1.03500452637 --2.68959629535 --1.03502261639 --2.67233777046 --1.03504350781 --2.65507906675 --1.03506717086 --2.63781964779 --1.03508043289 --2.61860740185 --1.03506869077 --2.59939682484 --1.03504484892 --2.58213758469 --1.03502377868 --2.56487864256 --1.03500550985 --2.54762029648 --1.03499001265 --2.53036212921 --1.03497734666 --2.51310443878 --1.03496751189 --2.49584686756 --1.03496044874 --2.47858965397 --1.0349561274 --2.46133238077 --1.03495460749 --2.44407534599 --1.03495591879 --2.4268180728 --1.03496006131 --2.40956097841 --1.03496697545 --2.39230364561 --1.03497672081 --2.3750462532 --1.03498920798 --2.35778838396 --1.03500452637 --2.34053039551 --1.03502261639 --2.32327193022 --1.03504350781 --2.30601322651 --1.03506717086 --2.28875380755 --1.03508040309 --2.2695415616 --1.03506863117 --2.25033098459 --1.03504484892 --2.23307174444 --1.03502380848 --2.21581280231 --1.03500553966 --2.19855445623 --1.03499007225 --2.18129628897 --1.03497740627 --2.16403859854 --1.03496754169 --2.14678096771 --1.03496041894 --2.12952375412 --1.0349561274 --2.11226648092 --1.03495463729 --2.09500950575 --1.03495591879 --2.07775229216 --1.03496006131 --2.06049519777 --1.03496697545 --2.04323780536 --1.03497672081 --2.02598035336 --1.03498920798 --2.00872254372 --1.03500452637 --1.99146458507 --1.03502261639 --1.97420608997 --1.03504350781 --1.95694738626 --1.03506717086 --1.9396879673 --1.03508040309 --1.92047572136 --1.03506863117 --1.90126511455 --1.03504481911 --1.8840058744 --1.03502377868 --1.86674693227 --1.03500553966 --1.84948858619 --1.03499007225 --1.83223041892 --1.03497737646 --1.81497275829 --1.03496751189 --1.79771518707 --1.03496044874 --1.78045797348 --1.0349561274 --1.76320067048 --1.03495463729 --1.7459436357 --1.03495591879 --1.72868642211 --1.03496003151 --1.71142932772 --1.03496697545 --1.69417193532 --1.03497672081 --1.67691451311 --1.03498920798 --1.65965670347 --1.03500452637 --1.64239877462 --1.03502261639 --1.62514024973 --1.03504350781 --1.60788148642 --1.03506717086 --1.59062206745 --1.03508043289 --1.57140988111 --1.03506866097 --1.5521993041 --1.03504478931 --1.53494000435 --1.03502374887 --1.51768103242 --1.03500550985 --1.50042271614 --1.03499004245 --1.48316457867 --1.03497740627 --1.46590691805 --1.03496754169 --1.44864931703 --1.03496041894 --1.43139207363 --1.0349560976 --1.41413480043 --1.03495460749 --1.39687776565 --1.03495591879 --1.37962055206 --1.03496006131 --1.36236345768 --1.03496697545 --1.34510606527 --1.03497672081 --1.32784867287 --1.03498920798 --1.31059083343 --1.03500452637 --1.29333287477 --1.03502261639 --1.27607440949 --1.03504350781 --1.25881570578 --1.03506717086 --1.24155625701 --1.03508043289 --1.22234401107 --1.03506869077 --1.20313340425 --1.03504487872 --1.1858741343 --1.03502380848 --1.16861522198 --1.03500553966 --1.1513569057 --1.03499007225 --1.13409873843 --1.03497740627 --1.1168410778 --1.03496754169 --1.09958347678 --1.03496044874 --1.08232626319 --1.0349561274 --1.06506898999 --1.03495460749 --1.04781192541 --1.03495591879 --1.03055471182 --1.03496009111 --1.01329761744 --1.03496700525 --0.996040195227 --1.03497672081 --0.97878280282 --1.03498920798 --0.96152497828 --1.03500452637 --0.94426703453 --1.03502261639 --0.927008539439 --1.03504350781 --0.909749805927 --1.03506717086 --0.892490401864 --1.03508040309 --0.873278170824 --1.03506866097 --0.854067578912 --1.03504484892 --0.836808294058 --1.03502377868 --0.81954935193 --1.03500550985 --0.802291035652 --1.03499004245 --0.785032883287 --1.03497740627 --0.76777523756 --1.03496754169 --0.750517636537 --1.03496041894 --0.733260393143 --1.0349560976 --0.716003105044 --1.03495460749 --0.698746070265 --1.03495591879 --0.681488856673 --1.03496006131 --0.664231747389 --1.03496697545 --0.646974340081 --1.03497672081 --0.629716962576 --1.03498920798 --0.612459152937 --1.03500452637 --0.595201209188 --1.03502261639 --0.577942714095 --1.03504350781 --0.560683965683 --1.03506717086 --0.543424546718 --1.03508043289 --0.52421233058 --1.03506869077 --0.505001738667 --1.03504484892 --0.487742461264 --1.03502377868 --0.470483504236 --1.03500550985 --0.453225173056 --1.03499004245 --0.435967020691 --1.03497740627 --0.418709360063 --1.03496754169 --0.401451766491 --1.03496044874 --0.384194545448 --1.0349561572 --0.3669372648 --1.03495463729 --0.349680230022 --1.03495591879 --0.332423016429 --1.03496006131 --0.315165914595 --1.03496697545 --0.297908507288 --1.03497672081 --0.280651107431 --1.03498920798 --0.263393282891 --1.03500452637 --0.246135339141 --1.03502261639 --0.228876847774 --1.03504350781 --0.211618110537 --1.03506717086 --0.194358691573 --1.03508040309 --0.175146456808 --1.0179682672 --0.155932288617 --1.01794463396 --0.138673044741 --1.01792377234 --0.121414106339 --1.01790568232 --0.104155784473 --1.01789033413 --0.0868976470083 --1.01787778735 --0.0696400022134 --1.01786801219 --0.0523824244738 --1.01786100864 --0.0351252164692 --1.01785677671 --0.0178679479286 --1.0178552866 --0.000610925955697 --1.0178565681 -0.016646276461 --1.01786065101 -0.0339033547789 --1.01786747575 -0.0511607369408 --1.0178771317 -0.0684181218967 --1.01788952947 -0.0856759343296 --1.01790472865 -0.102933870629 --1.01792266965 -0.120192356408 --1.01794338226 -0.137451086193 --1.01796680689 -0.154710486531 --1.01797994971 -0.173922840506 --1.017968297 -0.193133555353 --1.01794463396 -0.210392799229 --1.01792377234 -0.227651741356 --1.01790568232 -0.244910072535 --1.01789036393 -0.262168213725 --1.01787781716 -0.279425859452 --1.01786801219 -0.296683430672 --1.01786097884 -0.313940629363 --1.01785674691 -0.331197910011 --1.0178552568 -0.348454937339 --1.0178565383 -0.36571212858 --1.01786068082 -0.382969200611 --1.01786753535 -0.400226585567 --1.0178771615 -0.417483970523 --1.01788952947 -0.434741772711 --1.01790469885 -0.45199970901 --1.01792263985 -0.469258196652 --1.01794338226 -0.486516915262 --1.01796680689 -0.503776319325 --1.01797994971 -0.522988677025 --1.017968297 -0.542199403047 --1.01794463396 -0.559458673001 --1.01792380214 -0.576717600226 --1.01790571213 -0.593975916505 --1.01789033413 -0.611234068871 --1.01787778735 -0.628491714597 --1.01786801219 -0.645749285817 --1.01786100864 -0.663006484508 --1.01785677671 -0.680263757706 --1.0178552866 -0.697520762682 --1.0178565979 -0.714777961374 --1.01786071062 -0.732035040855 --1.01786750555 -0.749292418361 --1.0178771019 -0.766549825668 --1.01788949967 -0.783807635307 --1.01790472865 -0.801065564156 --1.01792266965 -0.818324059248 --1.01794335246 -0.835582792759 --1.01796677708 -0.852842181921 --1.01797991991 -0.872054517269 --1.0179682672 -0.891265243292 --1.01794466376 -0.908524483442 --1.01792380214 -0.925783425569 --1.01790571213 -0.943041756749 --1.01789039373 -0.960299894213 --1.01787781716 -0.977557525039 --1.01786801219 -0.994815096259 --1.01786097884 -1.01207232475 --1.01785674691 -1.02932959795 --1.0178552568 -1.04658663273 --1.0178565383 -1.06384384632 --1.01786068082 -1.0811009109 --1.01786750555 -1.09835830331 --1.0178771317 -1.11561569571 --1.01788952947 -1.13287347555 --1.01790469885 -1.1501314044 --1.01792263985 -1.16738989949 --1.01794335246 -1.1846486032 --1.01796677708 -1.20190799236 --1.01797991991 -1.22112035751 --1.0179682672 -1.24033111334 --1.01794463396 -1.25759035349 --1.01792380214 -1.27484926581 --1.01790574193 -1.2921076119 --1.01789039373 -1.30936574936 --1.01787781716 -1.32662338019 --1.01786804199 -1.34388098121 --1.01786103844 -1.3611381948 --1.01785677671 -1.378395468 --1.0178552568 -1.39565250278 --1.01785650849 -1.41290968656 --1.01786065101 -1.43016675115 --1.01786753535 -1.44742411375 --1.0178771615 -1.46468150616 --1.01788952947 -1.4819393456 --1.01790472865 -1.49919727445 --1.01792266965 -1.51645573974 --1.01794338226 -1.53371447325 --1.01796680689 -1.55097389221 --1.01797994971 -1.57018625736 --1.017968297 -1.58939695358 --1.01794463396 -1.60665619373 --1.01792377234 -1.62391513586 --1.01790568232 -1.64117345214 --1.01789036393 -1.6584315896 --1.01787781716 -1.67568925023 --1.01786801219 -1.69294682145 --1.01786097884 -1.71020400524 --1.01785674691 -1.72746127844 --1.0178552568 -1.74471831322 --1.0178565681 -1.76197552681 --1.01786071062 -1.77923262119 --1.01786750555 -1.7964900136 --1.0178771317 -1.8137473762 --1.01788952947 -1.83100518584 --1.01790469885 -1.84826311469 --1.01792263985 -1.86552160978 --1.01794338226 -1.8827803731 --1.01796680689 -1.90003973246 --1.01797994971 -1.9192520678 --1.017968297 -1.93846282363 --1.01794466376 -1.95572209358 --1.01792380214 -1.97298103571 --1.01790571213 -1.99023932218 --1.01789039373 -2.00749745965 --1.01787781716 -2.02475512028 --1.01786804199 -2.0420126915 --1.01786103844 -2.05926984549 --1.01785677671 -2.07652705908 --1.0178552568 -2.09378415346 --1.0178565681 -2.11104136705 --1.01786071062 -2.12829846144 --1.01786753535 -2.14555591345 --1.0178771615 -2.16281324625 --1.01788952947 -2.18007105589 --1.01790469885 -2.19732898473 --1.01792263985 -2.21458745003 --1.01794335246 -2.23184621334 --1.01796677708 -2.2491055727 --1.01797991991 -2.26831787824 --1.0179682672 -2.28752863407 --1.01794466376 -2.30478793382 --1.01792383194 -2.32204687595 --1.01790571213 -2.33930516243 --1.01789036393 -2.35656327009 --1.01787781716 -2.37382090092 --1.01786801219 -2.39107847214 --1.01786097884 -2.40833574534 --1.01785674691 -2.42559307814 --1.0178552568 -2.44285005331 --1.0178565681 -2.4601072073 --1.01786071062 -2.47736430168 --1.01786750555 -2.49462169409 --1.0178771317 -2.51187902689 --1.01788952947 -2.52913683653 --1.01790469885 -2.54639476538 --1.01792263985 -2.56365329027 --1.01794338226 -2.58091205359 --1.01796680689 -2.59817141294 --1.01797994971 -2.61738377809 --1.017968297 -2.63659447431 --1.01794463396 -2.65385371446 --1.01792377234 -2.67111265659 --1.01790568232 -2.68837100267 --1.01789036393 -2.70562916994 --1.01787781716 -2.72288680077 --1.01786801219 -2.74014443159 --1.01786100864 -2.75740164518 --1.01785677671 -2.77465885878 --1.0178552568 -2.79191583395 --1.0178565681 -2.80917304754 --1.01786071062 -2.82643014192 --1.01786750555 -2.84368747473 --1.0178771317 -2.86094492674 --1.01788955927 -2.87820273638 --1.01790472865 -2.89546066522 --1.01792263985 -2.91271919012 --1.01794338226 -2.92997789383 --1.01796680689 -2.9472373128 --1.01797991991 -2.96644967795 --1.0179682672 -2.98566037417 --1.01794463396 -3.00291961432 --1.01792377234 -3.02017855644 --1.01790568232 -3.03743690252 --1.01789033413 -3.05469506979 --1.01787778735 -3.07195264101 --1.01786801219 -3.08921021223 --1.01786100864 -3.10646742583 --1.01785677671 -3.12372463942 --1.0178552866 -3.14098164638 --1.0178565681 --3.12494641542 --1.01786065101 --3.10768932104 --1.01786747575 --3.09043198824 --1.0178771317 --3.07317453623 --1.01788952947 --3.05591666698 --1.01790472865 --3.03865873814 --1.01792266965 --3.02140027285 --1.01794338226 --3.00414156914 --1.01796680689 --2.98688215018 --1.01797994971 --2.96766978503 --1.017968297 --2.9484590888 --1.01794463396 --2.93119984865 --1.01792377234 --2.91394090653 --1.01790568232 --2.89668256044 --1.01789036393 --2.87942439318 --1.01787781716 --2.86216676236 --1.01786801219 --2.84490919114 --1.01786097884 --2.82765203715 --1.01785674691 --2.81039482355 --1.0178552568 --2.79313772917 --1.0178565383 --2.77588051558 --1.01786068082 --2.7586234212 --1.01786753535 --2.74136596918 --1.0178771615 --2.72410863638 --1.01788952947 --2.70685088634 --1.01790469885 --2.6895929575 --1.01792263985 --2.67233443261 --1.01794338226 --2.65507572889 --1.01796680689 --2.63781636953 --1.01797994971 --2.61860400438 --1.017968297 --2.59939324856 --1.01794463396 --2.58213400841 --1.01792380214 --2.56487506628 --1.01790571213 --2.5476167202 --1.01789033413 --2.53035861254 --1.01787778735 --2.51310092211 --1.01786801219 --2.49584335089 --1.01786100864 --2.47858613729 --1.01785677671 --2.4613288641 --1.0178552866 --2.44407188892 --1.0178565979 --2.42681467533 --1.01786071062 --2.40955758095 --1.01786750555 --2.39230018854 --1.0178771019 --2.37504285574 --1.01788949967 --2.3577850461 --1.01790472865 --2.34052705765 --1.01792266965 --2.32326859236 --1.01794335246 --2.30600988865 --1.01796677708 --2.28875046968 --1.01797991991 --2.26953810454 --1.0179682672 --2.25032740831 --1.01794466376 --2.23306816816 --1.01792380214 --2.21580922604 --1.01790571213 --2.19855093956 --1.01789039373 --2.18129277229 --1.01787781716 --2.16403508186 --1.01786801219 --2.14677745104 --1.01786097884 --2.12952023744 --1.01785674691 --2.11226302385 --1.0178552568 --2.09500604868 --1.0178565383 --2.07774883509 --1.01786068082 --2.0604917407 --1.01786750555 --2.0432344079 --1.0178771317 --2.0259770155 --1.01788952947 --2.00871920586 --1.01790469885 --1.99146124721 --1.01792263985 --1.97420275212 --1.01794335246 --1.95694404841 --1.01796677708 --1.93968462944 --1.01797991991 --1.92047226429 --1.0179682672 --1.90126156807 --1.01794463396 --1.88400232792 --1.01792380214 --1.86674338579 --1.01790574193 --1.84948503971 --1.01789039373 --1.83222687244 --1.01787781716 --1.81496924162 --1.01786804199 --1.7977116704 --1.01786103844 --1.78045445681 --1.01785677671 --1.76319721341 --1.0178552568 --1.74594020843 --1.01785650849 --1.72868299484 --1.01786065101 --1.71142590046 --1.01786753535 --1.69416850805 --1.0178771615 --1.67691111565 --1.01788952947 --1.65965330601 --1.01790472865 --1.64239537716 --1.01792266965 --1.62513688207 --1.01794338226 --1.60787814855 --1.01796680689 --1.59061872959 --1.01797994971 --1.57140639424 --1.017968297 --1.55219569802 --1.01794463396 --1.53493642807 --1.01792377234 --1.51767748594 --1.01790568232 --1.50041919947 --1.01789036393 --1.483161062 --1.01787781716 --1.46590340137 --1.01786801219 --1.44864583015 --1.01786097884 --1.43138861656 --1.01785674691 --1.41413134337 --1.0178552568 --1.39687430859 --1.0178565681 --1.37961709499 --1.01786071062 --1.36236003041 --1.01786750555 --1.34510266781 --1.0178771317 --1.3278452754 --1.01788952947 --1.31058746576 --1.01790469885 --1.29332953691 --1.01792263985 --1.27607107163 --1.01794338226 --1.25881233811 --1.01796680689 --1.24155291915 --1.01797994971 --1.2223405838 --1.017968297 --1.20312982798 --1.01794466376 --1.18587055802 --1.01792380214 --1.1686116755 --1.01790571213 --1.15135335922 --1.01789039373 --1.13409519195 --1.01787781716 --1.11683756113 --1.01786804199 --1.09957998991 --1.01786103844 --1.08232277632 --1.01785677671 --1.06506550312 --1.0178552568 --1.04780846834 --1.0178565681 --1.03055128455 --1.01786071062 --1.01329421997 --1.01786753535 --0.996036797762 --1.0178771615 --0.978779405356 --1.01788952947 --0.961521610618 --1.01790469885 --0.944263666868 --1.01792263985 --0.927005186677 --1.01794335246 --0.909746482968 --1.01796677708 --0.892487078905 --1.01797991991 --0.873274713755 --1.0179682672 --0.854064002633 --1.01794466376 --0.836804747581 --1.01792383194 --0.819545805454 --1.01790571213 --0.802287489176 --1.01789036393 --0.785029366612 --1.01787781716 --0.767771735787 --1.01786801219 --0.750514134765 --1.01786097884 --0.733256921172 --1.01785674691 --0.715999662876 --1.0178552568 --0.698742628097 --1.0178565681 --0.681485429406 --1.01786071062 --0.664228335023 --1.01786750555 --0.646970927715 --1.0178771317 --0.629713565111 --1.01788952947 --0.612455770373 --1.01790469885 --0.595197856426 --1.01792263985 --0.577939361334 --1.01794338226 --0.56068059802 --1.01796680689 --0.543421208858 --1.01797994971 --0.52420887351 --1.017968297 --0.504998162389 --1.01794463396 --0.487738907337 --1.01792377234 --0.47047995776 --1.01790568232 --0.45322163403 --1.01789036393 --0.435963504016 --1.01787781716 --0.418705865741 --1.01786801219 --0.401448279619 --1.01786100864 --0.384191073477 --1.01785677671 --0.36693380028 --1.0178552568 --0.349676780403 --1.0178565681 --0.332419581711 --1.01786071062 --0.315162487328 --1.01786750555 --0.297905102372 --1.0178771317 --0.280647717416 --1.01788955927 --0.263389907777 --1.01790472865 --0.246131982655 --1.01792263985 --0.228873498738 --1.01794338226 --0.211614768952 --1.01796680689 --0.194355368614 --1.01797991991 --0.175143010914 --1.00084793567 --0.155928667635 --1.00082451105 --0.138669434935 --1.00080385804 --0.121410511434 --1.00078593194 --0.104152206332 --1.00077074766 --0.0868940837681 --1.00075830519 --0.0696364538744 --1.00074857473 --0.052378888242 --1.00074163079 --0.0351216932758 --1.00073745847 --0.017864440335 --1.00073601306 --0.00060743233189 --1.00073730946 -0.0166497563477 --1.00074137747 -0.0339068216272 --1.0007481128 -0.0511641893536 --1.00075764954 -0.068421558477 --1.0007699281 -0.0856793541461 --1.00078499317 -0.102937279269 --1.00080277026 -0.120195748284 --1.00082330406 -0.137454461306 --1.00084650516 -0.154713850468 --1.00085948407 -0.173926331102 --1.00084793567 -0.19313718006 --1.00082451105 -0.21039641276 --1.00080385804 -0.227655336261 --1.00078593194 -0.244913645088 --1.00077074766 -0.262171775103 --1.00075830519 -0.279429413378 --1.00074857473 -0.296686962247 --1.00074163079 -0.313944146037 --1.00073745847 -0.331201404333 --1.00073598325 -0.348458409309 --1.00073724985 -0.3657155931 --1.00074131787 -0.382972665131 --1.00074808299 -0.400230035186 --1.00075764954 -0.41748739779 --1.0007699281 -0.434745199978 --1.00078496337 -0.452003121376 --1.00080274045 -0.469261594117 --1.00082330406 -0.486520305276 --1.00084650516 -0.503779694438 --1.00085949898 -0.522992178798 --1.00084795058 -0.54220302403 --1.00082451105 -0.559462279082 --1.00080388785 -0.576721206308 --1.00078599155 -0.593979507685 --1.00077077746 -0.611237630248 --1.00075830519 -0.628495261073 --1.00074857473 -0.645752817392 --1.00074163079 -0.663010001182 --1.00073745847 -0.680267259478 --1.00073601306 -0.697524249554 --1.00073730946 -0.714781433344 --1.00074137747 -0.732038497925 --1.0007481128 -0.749295860529 --1.00075761974 -0.766553267837 --1.0007698983 -0.783811092377 --1.00078499317 -0.801068991423 --1.00080277026 -0.818327441811 --1.00082327425 -0.835586160421 --1.00084647536 -0.852845549583 --1.00085949898 -0.872058019042 --1.00084795058 -0.891268864274 --1.00082451105 -0.908528089523 --1.00080385804 -0.92578703165 --1.00078593194 -0.943045347929 --1.00077074766 -0.960303455591 --1.00075830519 -0.977561071515 --1.00074858964 -0.994818627834 --1.00074164569 -1.01207584143 --1.00073745847 -1.02933311462 --1.00073598325 -1.0465901196 --1.00073724985 -1.06384730339 --1.00074131787 -1.08110436797 --1.00074808299 -1.09836176038 --1.00075764954 -1.11561912298 --1.0007699281 -1.13287687302 --1.00078494847 -1.15013480187 --1.00080275536 -1.16739329696 --1.00082330406 -1.18465200066 --1.00084647536 -1.20191138983 --1.00085949898 -1.22112387419 --1.00084795058 -1.24033471942 --1.00082451105 -1.25759395957 --1.00080388785 -1.2748528719 --1.00078596175 -1.29211118818 --1.00077074766 -1.30936932564 --1.00075830519 -1.32662695646 --1.00074861944 -1.34388452768 --1.0007416755 -1.36114174127 --1.00073745847 -1.37839898467 --1.00073598325 -1.39565598965 --1.00073724985 -1.41291317344 --1.00074134767 -1.43017020822 --1.0007481724 -1.44742757082 --1.00075770915 -1.46468496323 --1.0007699281 -1.48194277287 --1.00078499317 -1.49920070171 --1.00080277026 -1.51645916701 --1.00082330406 -1.53371787071 --1.00084650516 -1.55097725988 --1.00085948407 -1.57018974423 --1.00084792077 -1.58940058947 --1.00082449615 -1.60665979982 --1.00080387294 -1.62391871214 --1.00078597665 -1.64117702842 --1.00077077746 -1.65843516588 --1.00075830519 -1.67569279671 --1.00074857473 -1.69295033813 --1.00074163079 -1.71020752192 --1.00073745847 -1.72746479511 --1.00073598325 -1.74472180009 --1.00073727965 -1.76197898388 --1.00074134767 -1.77923607826 --1.00074808299 -1.79649347067 --1.00075764954 -1.81375080347 --1.0007699281 -1.83100858331 --1.00078496337 -1.84826651215 --1.00080274045 -1.86552497745 --1.00082330406 -1.88278371096 --1.00084650516 -1.90004310012 --1.00085948407 -1.91925558448 --1.00084793567 -1.93846642971 --1.00082451105 -1.95572566986 --1.00080385804 -1.97298461199 --1.00078593194 -1.99024289846 --1.00077074766 -2.00750103593 --1.00075830519 -2.02475869656 --1.00074861944 -2.04201626777 --1.0007416755 -2.05927342176 --1.00073745847 -2.07653063536 --1.00073598325 -2.09378767014 --1.00073727965 -2.11104482412 --1.00074134767 -2.12830191851 --1.0007481128 -2.14555937052 --1.00075767934 -2.16281670332 --1.0007699281 -2.18007445336 --1.00078494847 -2.1973323822 --1.00080272555 -2.21459084749 --1.00082327425 -2.2318495512 --1.00084647536 -2.24910891056 --1.00085949898 -2.26832139492 --1.00084795058 -2.28753226995 --1.00082457065 -2.3047915101 --1.00080394745 -2.32205045223 --1.00078596175 -2.33930873871 --1.00077074766 -2.35656684637 --1.00075830519 -2.37382447719 --1.00074857473 -2.39108204841 --1.00074163079 -2.40833926201 --1.00073745847 -2.4255965352 --1.00073598325 -2.44285351038 --1.00073727965 -2.46011066437 --1.00074137747 -2.47736775875 --1.0007481426 -2.49462515116 --1.00075767934 -2.51188248396 --1.0007699281 -2.5291402936 --1.00078496337 -2.54639822245 --1.00080274045 -2.56365668774 --1.00082330406 -2.58091545105 --1.00084650516 -2.59817481041 --1.00085949898 -2.61738723517 --1.00084795058 -2.63659805059 --1.00082451105 -2.65385729074 --1.00080385804 -2.67111629248 --1.00078593194 -2.68837463856 --1.00077074766 -2.70563274622 --1.00075830519 -2.72289037705 --1.00074857473 -2.74014794827 --1.00074163079 -2.75740510225 --1.00073745847 -2.77466231585 --1.00073598325 -2.79191935063 --1.00073727965 -2.80917656422 --1.00074134767 -2.826433599 --1.00074808299 -2.8436909318 --1.00075764954 -2.86094838381 --1.0007699579 -2.87820619345 --1.00078499317 -2.89546406269 --1.00080274045 -2.91272258758 --1.00082330406 -2.92998129129 --1.00084653497 -2.94724065065 --1.00085951388 -2.96645313501 --1.00084793567 -2.98566401005 --1.00082451105 -3.0029232502 --1.00080385804 -3.02018213272 --1.00078593194 -3.0374404192 --1.00077074766 -3.05469852686 --1.00075830519 -3.07195615768 --1.00074857473 -3.0892137289 --1.00074163079 -3.1064709425 --1.00073745847 -3.12372821569 --1.00073601306 -3.14098522265 --1.00073730946 --3.12494289875 --1.00074137747 --3.10768586397 --1.0007481128 --3.09042853117 --1.00075764954 --3.07317107916 --1.0007699281 --3.05591326952 --1.00078499317 --3.03865540028 --1.00080277026 --3.02139687538 --1.00082330406 --3.00413817167 --1.00084650516 --2.98687881231 --1.00085948407 --2.96766626835 --1.00084793567 --2.94845539332 --1.00082451105 --2.93119621277 --1.00080385804 --2.91393733025 --1.00078593194 --2.89667898416 --1.00077074766 --2.8794208765 --1.00075830519 --2.86216324568 --1.00074857473 --2.84490567446 --1.00074163079 --2.82764852047 --1.00073745847 --2.81039124727 --1.00073598325 --2.79313421249 --1.00073724985 --2.7758770585 --1.00074131787 --2.75861996412 --1.00074808299 --2.74136251211 --1.00075764954 --2.72410517931 --1.0007699281 --2.70684748888 --1.00078496337 --2.68958956003 --1.00080274045 --2.67233103514 --1.00082330406 --2.65507239103 --1.00084650516 --2.63781303167 --1.00085949898 --2.61860048771 --1.00084795058 --2.59938961268 --1.00082451105 --2.58213037252 --1.00080388785 --2.5648714304 --1.00078599155 --2.54761314392 --1.00077077746 --2.53035503626 --1.00075830519 --2.51309740543 --1.00074857473 --2.49583983421 --1.00074163079 --2.47858262062 --1.00073745847 --2.46132534742 --1.00073601306 --2.44406837225 --1.00073730946 --2.42681121826 --1.00074137747 --2.40955412388 --1.0007481128 --2.39229673147 --1.00075761974 --2.37503939867 --1.0007698983 --2.35778158903 --1.00078499317 --2.34052366018 --1.00080277026 --2.3232652545 --1.00082327425 --2.30600649119 --1.00084647536 --2.28874707222 --1.00085949898 --2.26953464746 --1.00084795058 --2.25032383204 --1.00082451105 --2.23306459189 --1.00080385804 --2.21580559016 --1.00078593194 --2.19854730368 --1.00077074766 --2.18128919601 --1.00075830519 --2.16403156519 --1.00074858964 --2.14677399397 --1.00074164569 --2.12951678038 --1.00073745847 --2.11225956679 --1.00073598325 --2.09500259161 --1.00073724985 --2.07774537802 --1.00074131787 --2.06048828364 --1.00074808299 --2.04323095083 --1.00075764954 --2.02597361803 --1.0007699281 --2.00871580839 --1.00078494847 --1.99145781994 --1.00080275536 --1.97419935465 --1.00082330406 --1.95694065094 --1.00084647536 --1.93968126178 --1.00085949898 --1.92046877742 --1.00084795058 --1.90125793219 --1.00082451105 --1.88399872184 --1.00080388785 --1.86673980952 --1.00078596175 --1.84948146343 --1.00077074766 --1.83222329617 --1.00075830519 --1.81496566534 --1.00074861944 --1.79770812392 --1.0007416755 --1.78045094013 --1.00073745847 --1.76319369674 --1.00073598325 --1.74593669176 --1.00073724985 --1.72867947817 --1.00074134767 --1.71142241359 --1.0007481724 --1.69416505098 --1.00075770915 --1.67690765858 --1.0007699281 --1.65964984894 --1.00078499317 --1.64239194989 --1.00080277026 --1.6251334846 --1.00082330406 --1.60787478089 --1.00084650516 --1.59061539173 --1.00085948407 --1.57140290737 --1.00084792077 --1.55219209194 --1.00082449615 --1.53493285179 --1.00080387294 --1.51767390967 --1.00078597665 --1.50041562319 --1.00077077746 --1.48315751553 --1.00075830519 --1.4658998847 --1.00074857473 --1.44864231348 --1.00074163079 --1.43138509989 --1.00073745847 --1.41412782669 --1.00073598325 --1.39687082171 --1.00073727965 --1.37961363792 --1.00074134767 --1.36235657335 --1.00074808299 --1.34509921074 --1.00075764954 --1.32784184813 --1.0007699281 --1.3105840683 --1.00078496337 --1.29332613945 --1.00080274045 --1.27606767416 --1.00082330406 --1.25880894065 --1.00084650516 --1.24154955149 --1.00085948407 --1.22233709693 --1.00084793567 --1.2031262219 --1.00082451105 --1.18586695194 --1.00080385804 --1.16860803962 --1.00078593194 --1.15134975314 --1.00077074766 --1.13409161568 --1.00075830519 --1.11683398485 --1.00074861944 --1.09957641363 --1.0007416755 --1.08231922984 --1.00073745847 --1.06506198644 --1.00073598325 --1.04780495167 --1.00073727965 --1.03054779768 --1.00074134767 --1.0132907629 --1.0007481128 --0.996033355595 --1.00075767934 --0.978775963187 --1.0007699281 --0.96151818335 --1.00078494847 --0.944260269403 --1.00080272555 --0.927001804113 --1.00082327425 --0.909743100405 --1.00084647536 --0.892483711243 --1.00085949898 --0.873271211982 --1.00084795058 --0.85406036675 --1.00082457065 --0.836801156402 --1.00080394745 --0.819542229176 --1.00078596175 --0.802283912897 --1.00077074766 --0.785025805235 --1.00075830519 --0.76776817441 --1.00074857473 --0.750510573387 --1.00074163079 --0.733253389597 --1.00073745847 --0.715996146202 --1.00073598325 --0.698739126324 --1.00073727965 --0.681481957435 --1.00074137747 --0.664224892855 --1.0007481426 --0.646967500448 --1.00075767934 --0.629710137844 --1.0007699281 --0.612452358008 --1.00078496337 --0.595194444061 --1.00080274045 --0.577935948968 --1.00082330406 --0.560677200556 --1.00084650516 --0.543417826295 --1.00085949898 --0.524205371738 --1.00084795058 --0.504994533956 --1.00082451105 --0.487735293806 --1.00080385804 --0.47047636658 --1.00078593194 --0.453218057752 --1.00077074766 --0.435959935188 --1.00075830519 --0.418702311814 --1.00074857473 --0.401444748044 --1.00074163079 --0.384187556803 --1.00073745847 --0.366930298507 --1.00073598325 --0.34967328608 --1.00073727965 --0.332416094839 --1.00074134767 --0.315159022808 --1.00074808299 --0.297901652753 --1.00075764954 --0.280644282698 --1.0007699579 --0.263386487961 --1.00078499317 --0.246128574014 --1.00080274045 --0.228870108723 --1.00082330406 --0.211611393839 --1.00084653497 --0.194352008402 --1.00085951388 --0.175139524042 --0.983704805374 --0.155925001949 --0.983681619167 --0.13866578415 --0.983661144972 --0.121406877413 --0.983643382788 --0.104148585349 --0.983628362417 --0.0868904776871 --0.983616039157 --0.0696328626946 --0.983606413006 --0.0523753110319 --0.98359952867 --0.0351181295701 --0.983595371246 --0.017860890599 --0.983593940735 --0.00060389726423 --0.983595192432 -0.0166532769799 --0.983599230647 -0.033910327591 --0.983605965972 -0.0511676818133 --0.983615398407 -0.0684250378981 --0.983627542853 -0.0856828186661 --0.983642444014 -0.1029407233 --0.983660057187 -0.120199175551 --0.983680397272 -0.137457877397 --0.983703374863 -0.154717251658 --0.983716249466 -0.173929862678 --0.983704805374 -0.193140845746 --0.983681619167 -0.210400063544 --0.983661159873 -0.227658972144 --0.983643382788 -0.244917266071 --0.983628347516 -0.262175381184 --0.983616039157 -0.279432997108 --0.983606413006 -0.296690538525 --0.98359952867 -0.313947722316 --0.983595371246 -0.33120495826 --0.983593940735 -0.348461948335 --0.983595192432 -0.365719117224 --0.983599200845 -0.382976174355 --0.98360593617 -0.400233529508 --0.983615398407 -0.41749086976 --0.983627557755 -0.434748657048 --0.983642458916 -0.452006570995 --0.983660057187 -0.469265036285 --0.983680427074 -0.486523732543 --0.983703404665 -0.503783114254 --0.983716264367 -0.522995725274 --0.983704820275 -0.542206689716 --0.983681619167 -0.559465914965 --0.983661159873 -0.57672482729 --0.983643427491 -0.593983128667 --0.983628377318 -0.611241221428 --0.983616024256 -0.628498837352 --0.983606398105 -0.645756408572 --0.983599513769 -0.663013577461 --0.983595356345 -0.680270805955 --0.983593925834 -0.69752779603 --0.983595222235 -0.71478497982 --0.983599260449 -0.732042044401 --0.983605965972 -0.749299392104 --0.983615398407 -0.766556754708 --0.983627542853 -0.783814549446 --0.983642473817 -0.801072448492 --0.983660057187 -0.81833088398 --0.98368036747 -0.835589572787 --0.983703374863 -0.852848947048 --0.983716264367 -0.872061565518 --0.983704820275 -0.891272544861 --0.983681619167 -0.908531755209 --0.983661159873 -0.925790682435 --0.983643397689 -0.943048968911 --0.983628362417 -0.960307061672 --0.983616039157 -0.977564677596 --0.983606413007 -0.994822219014 --0.983599528671 -1.0120794177 --0.983595371246 -1.0293366909 --0.983593940735 -1.04659366607 --0.983595222235 -1.06385082006 --0.983599230647 -1.08110788464 --0.98360593617 -1.09836524725 --0.983615398407 -1.11562258005 --0.983627542853 -1.13288033009 --0.983642458916 -1.15013825893 --0.983660101891 -1.16739672423 --0.983680427074 -1.18465542794 --0.983703374863 -1.2019148171 --0.983716249466 -1.22112742067 --0.983704805374 -1.24033838511 --0.983681619167 -1.25759759546 --0.983661144972 -1.27485650778 --0.983643382788 -1.29211479425 --0.983628362417 -1.30937290192 --0.983616039157 -1.32663053274 --0.983606427908 -1.34388810396 --0.983599543572 -1.36114528775 --0.983595356345 -1.37840250135 --0.983593896031 -1.39565950632 --0.983595192432 -1.41291669011 --0.983599260449 -1.43017372489 --0.983605995775 -1.4474310875 --0.983615443111 -1.4646884501 --0.983627572656 -1.48194622993 --0.983642458916 -1.49920415878 --0.983660027384 -1.51646262407 --0.98368036747 -1.53372129798 --0.983703374863 -1.55098065734 --0.983716234565 -1.57019329071 --0.983704775572 -1.58940428496 --0.983681604266 -1.6066634655 --0.983661174774 -1.62392234803 --0.983643442392 -1.6411806643 --0.983628392219 -1.65843880177 --0.983616054058 -1.67569640279 --0.983606413007 -1.69295394421 --0.983599513769 -1.710211128 --0.983595356345 -1.72746837139 --0.983593925834 -1.74472534656 --0.983595222235 -1.76198250055 --0.983599230647 -1.77923956514 --0.98360593617 -1.79649692774 --0.983615398407 -1.81375429034 --0.983627557755 -1.83101207018 --0.983642488718 -1.84826996922 --0.98366008699 -1.86552840471 --0.983680427074 -1.88278710842 --0.983703404665 -1.90004649758 --0.983716234565 -1.91925910115 --0.983704790473 -1.9384700656 --0.983681619167 -1.95572930575 --0.983661159873 -1.97298824787 --0.983643397689 -1.99024653435 --0.983628362417 -2.00750464201 --0.983616039157 -2.02476227283 --0.983606413007 -2.04201984405 --0.983599528671 -2.05927699804 --0.983595356345 -2.07653421164 --0.983593925834 -2.09379118681 --0.983595222235 -2.1110483408 --0.983599230647 -2.12830543518 --0.98360593617 -2.14556282759 --0.983615398407 -2.16282016039 --0.983627557755 -2.18007791042 --0.983642473817 -2.19733583927 --0.983660072088 -2.21459430456 --0.983680397272 -2.23185294866 --0.983703374863 -2.24911230802 --0.983716264367 -2.2683249712 --0.983704820275 -2.28753596544 --0.98368164897 -2.30479520559 --0.983661189675 -2.32205408812 --0.983643397689 -2.33931237459 --0.983628362417 -2.35657048225 --0.983616039157 -2.37382805348 --0.983606398105 -2.3910856247 --0.983599513769 -2.40834283828 --0.983595356345 -2.42560011148 --0.983593925834 -2.44285708666 --0.983595222235 -2.46011424064 --0.983599260449 -2.47737127542 --0.983605995775 -2.49462860823 --0.983615428209 -2.51188594103 --0.983627542853 -2.52914375067 --0.983642444014 -2.54640167952 --0.983660057187 -2.5636600852 --0.983680397272 -2.58091884852 --0.983703374863 -2.59817820788 --0.983716264367 -2.61739075184 --0.983704820275 -2.63660174608 --0.983681619167 -2.65386098623 --0.983661159873 -2.67111992836 --0.983643397689 -2.68837821484 --0.983628362417 -2.7056363225 --0.983616039157 -2.72289395332 --0.983606398105 -2.74015152454 --0.983599513769 -2.75740867853 --0.983595356345 -2.77466589212 --0.983593925834 -2.7919229269 --0.983595222235 -2.80918008089 --0.983599230647 -2.82643711567 --0.98360593617 -2.84369450808 --0.983615413308 -2.86095190048 --0.983627557755 -2.87820965052 --0.983642473817 -2.89546746016 --0.98366008699 -2.91272598505 --0.983680397272 -2.92998474836 --0.983703404665 -2.94724410772 --0.983716279268 -2.96645665169 --0.983704805374 -2.98566764593 --0.983681619167 -3.00292688608 --0.983661144972 -3.0201857686 --0.983643382788 -3.03744405508 --0.983628362417 -3.05470210314 --0.983616039157 -3.07195979357 --0.983606413006 -3.08921736479 --0.98359952867 -3.10647451878 --0.983595371246 -3.12373179197 --0.983593940735 -3.14098879893 --0.983595192432 --3.12493938208 --0.983599230647 --3.1076823473 --0.983605965972 --3.09042495489 --0.983615398407 --3.07316756249 --0.983627542853 --3.05590981245 --0.983642444014 --3.03865200281 --0.983660057187 --3.02139347792 --0.983680397272 --3.0041347146 --0.983703374863 --2.98687535524 --0.983716249466 --2.96766275168 --0.983704805374 --2.94845175743 --0.983681619167 --2.93119257688 --0.983661159873 --2.91393369436 --0.983643382788 --2.89667534828 --0.983628347516 --2.87941730022 --0.983616039157 --2.862159729 --0.983606413006 --2.84490215778 --0.98359952867 --2.82764494419 --0.983595371246 --2.81038767099 --0.983593940735 --2.79313069582 --0.983595192432 --2.77587354183 --0.983599200845 --2.75861644745 --0.98360593617 --2.74135905504 --0.983615398407 --2.72410172224 --0.983627557755 --2.70684397221 --0.983642458916 --2.68958604336 --0.983660057187 --2.67232757807 --0.983680427074 --2.65506893396 --0.983703404665 --2.6378095746 --0.983716264367 --2.61859691143 --0.983704820275 --2.59938591718 --0.983681619167 --2.58212673664 --0.983661159873 --2.56486785412 --0.983643427491 --2.54760950804 --0.983628377318 --2.53035140037 --0.983616024256 --2.51309382915 --0.983606398105 --2.49583625793 --0.983599513769 --2.47857910395 --0.983595356345 --2.46132189035 --0.983593925834 --2.44406485558 --0.983595222235 --2.42680764198 --0.983599260449 --2.4095506072 --0.983605965972 --2.3922932744 --0.983615398407 --2.3750359416 --0.983627542853 --2.35777813196 --0.983642473817 --2.34052020311 --0.983660057187 --2.32326179743 --0.98368036747 --2.30600309372 --0.983703374863 --2.28874373436 --0.983716264367 --2.26953113079 --0.983704820275 --2.25032013655 --0.983681619167 --2.2330608964 --0.983661159873 --2.21580195427 --0.983643397689 --2.19854366779 --0.983628362417 --2.18128556013 --0.983616039157 --2.16402798891 --0.983606413007 --2.1467704773 --0.983599528671 --2.12951326371 --0.983595371246 --2.11225599051 --0.983593940735 --2.09499901533 --0.983595222235 --2.07774186135 --0.983599230647 --2.06048482657 --0.98360593617 --2.04322749376 --0.983615398407 --2.02597010136 --0.983627542853 --2.00871229172 --0.983642458916 --1.99145436287 --0.983660101891 --1.97419589758 --0.983680427074 --1.95693719387 --0.983703374863 --1.93967783451 --0.983716249466 --1.92046523094 --0.983704805374 --1.9012542367 --0.983681619167 --1.88399505615 --0.983661144972 --1.86673617363 --0.983643382788 --1.84947785735 --0.983628362417 --1.83221971989 --0.983616039157 --1.81496208906 --0.983606427908 --1.79770454764 --0.983599543572 --1.78044739366 --0.983595356345 --1.76319015026 --0.983593896031 --1.74593314528 --0.983595192432 --1.7286759615 --0.983599260449 --1.71141889691 --0.983605995775 --1.69416156411 --0.983615443111 --1.67690420151 --0.983627572656 --1.65964639187 --0.983642458916 --1.64238852263 --0.983660027384 --1.62513005733 --0.98368036747 --1.60787135362 --0.983703374863 --1.59061199427 --0.983716234565 --1.5713993907 --0.983704775572 --1.55218845606 --0.983681604266 --1.53492921591 --0.983661174774 --1.51767027378 --0.983643442392 --1.5004119873 --0.983628392219 --1.48315387964 --0.983616054058 --1.46589627862 --0.983606413007 --1.4486387372 --0.983599513769 --1.43138152361 --0.983595356345 --1.41412428021 --0.983593925834 --1.39686730504 --0.983595222235 --1.37961012125 --0.983599230647 --1.36235305667 --0.98360593617 --1.34509569406 --0.983615398407 --1.32783836126 --0.983627557755 --1.31058058143 --0.983642488718 --1.29332265258 --0.98366008699 --1.27606421709 --0.983680427074 --1.25880551339 --0.983703404665 --1.24154615402 --0.983716234565 --1.22233355046 --0.983704790473 --1.20312255621 --0.983681619167 --1.18586334586 --0.983661159873 --1.16860443354 --0.983643397689 --1.15134614706 --0.983628362417 --1.1340880394 --0.983616039157 --1.11683040857 --0.983606413007 --1.09957283735 --0.983599528671 --1.08231568337 --0.983595356345 --1.06505846977 --0.983593925834 --1.04780143499 --0.983595222235 --1.0305442512 --0.983599230647 --1.01328721643 --0.98360593617 --0.996029868722 --0.983615398407 --0.978772506118 --0.983627557755 --0.961514726281 --0.983642473817 --0.944256827235 --0.983660072088 --0.926998376846 --0.983680397272 --0.909739688039 --0.983703374863 --0.892480298877 --0.983716264367 --0.873267665505 --0.983704820275 --0.854056686163 --0.98368164897 --0.836797490716 --0.983661189675 --0.819538593292 --0.983643397689 --0.802280291915 --0.983628362417 --0.785022199154 --0.983616039157 --0.76776458323 --0.983606398105 --0.75050701201 --0.983599513769 --0.733249828219 --0.983595356345 --0.715992569923 --0.983593925834 --0.698735579848 --0.983595222235 --0.68147842586 --0.983599260449 --0.664221376181 --0.983605995775 --0.646964013577 --0.983615428209 --0.629706665873 --0.983627542853 --0.612448886037 --0.983642444014 --0.59519097209 --0.983660057187 --0.5779325068 --0.983680397272 --0.56067378819 --0.983703374863 --0.543414428831 --0.983716264367 --0.524201840163 --0.983704820275 --0.50499086082 --0.983681619167 --0.487731635571 --0.983661159873 --0.470472723246 --0.983643397689 --0.453214421868 --0.983628362417 --0.435956321657 --0.983616039157 --0.418698713183 --0.983606398105 --0.401441156864 --0.983599513769 --0.384183980524 --0.983595356345 --0.36692674458 --0.983593925834 --0.349669754505 --0.983595222235 --0.332412578166 --0.983599230647 --0.315155513585 --0.98360593617 --0.29789815098 --0.983615413308 --0.280640803277 --0.983627557755 --0.263383023441 --0.983642473817 --0.246125116944 --0.98366008699 --0.228866670281 --0.983680397272 --0.211607974023 --0.983703404665 --0.194348603487 --0.983716279268 --0.175135988742 --0.966561347246 --0.155920118094 --0.966538384557 --0.138660918921 --0.966518089175 --0.121402027086 --0.966500520706 --0.104143749923 --0.966485649347 --0.0868856590241 --0.966473430395 --0.0696280635893 --0.966463908553 --0.0523705342784 --0.96645706892 --0.0351133733056 --0.9664529562 --0.017856152961 --0.966451570392 --0.000599179416895 --0.966452807188 -0.0166579762008 --0.966456770897 -0.0339150065556 --0.966463431716 -0.0511723412201 --0.966472819448 -0.0684296805412 --0.966484874487 -0.0856874454766 --0.966499596834 -0.102945324033 --0.966517031193 -0.120203753933 --0.966537177563 -0.137462440878 --0.966559916735 -0.154721796513 --0.966572672128 -0.173934582621 --0.966561317444 -0.193145733327 --0.966538354755 -0.210404932499 --0.966518104076 -0.227663826197 --0.966500520706 -0.244922094047 --0.966485634446 -0.262180179357 --0.966473445296 -0.27943778038 --0.966463938356 -0.296695321798 --0.966457113624 -0.313952490687 --0.966452971101 -0.33120970428 --0.966451570391 -0.348466679454 --0.966452822089 -0.365723825991 --0.966456770897 -0.382980845869 --0.966463446617 -0.400238193572 --0.966472804547 -0.417495526374 --0.966484844685 -0.434753283858 --0.966499611735 -0.452011175454 --0.966517046094 -0.469269610941 --0.966537207365 -0.486528292298 --0.966559946537 -0.503787651658 --0.966572672128 -0.523000434041 --0.966561317444 -0.542211577296 --0.966538354755 -0.559470772743 --0.966518104076 -0.576729670167 --0.966500535608 -0.593987956643 --0.966485634446 -0.611246034503 --0.966473415494 -0.628503620625 --0.966463908553 -0.645761162043 --0.966457098723 -0.66301831603 --0.966452971101 -0.680275544524 --0.966451555491 -0.697532534599 --0.96645283699 -0.714789688587 --0.966456800699 -0.732046738267 --0.966463446617 -0.749304056167 --0.966472804547 -0.766561374068 --0.966484829784 -0.783819139004 --0.966499626637 -0.80107703805 --0.966517031193 -0.818335473537 --0.966537132859 -0.835594132543 --0.966559916735 -0.852853491902 --0.966572672128 -0.872066274285 --0.966561317444 -0.891277432442 --0.966538354755 -0.90853664279 --0.966518104076 -0.925795525312 --0.966500535608 -0.943053781986 --0.966485649347 -0.960311889649 --0.966473430395 -0.977569490671 --0.966463893652 -0.994827002287 --0.966457083821 -1.01208418608 --0.966452986002 -1.02934139967 --0.966451570392 -1.04659837484 --0.96645283699 -1.06385555863 --0.966456800699 -1.08111256361 --0.966463446617 -1.09836986661 --0.966472804547 -1.11562719941 --0.966484829784 -1.13288494945 --0.966499626637 -1.15014284849 --0.966517075897 -1.16740131378 --0.966537177563 -1.18466001749 --0.966559946537 -1.20191934705 --0.96657268703 -1.22113209963 --0.966561302543 -1.24034327269 --0.966538354755 -1.25760248303 --0.966518089175 -1.27486136556 --0.966500520706 -1.29211962223 --0.966485664249 -1.30937770009 --0.966473445296 -1.32663530111 --0.966463908553 -1.34389284253 --0.96645706892 -1.36114999652 --0.966452941298 -1.37840721011 --0.966451525688 -1.39566421509 --0.966452807188 -1.41292136907 --0.966456800699 -1.43017840385 --0.966463431716 -1.44743576646 --0.966472804547 -1.46469309926 --0.966484874487 -1.48195084929 --0.966499611735 -1.49920874834 --0.96651700139 -1.51646718383 --0.96653714776 -1.53372582793 --0.966559946537 -1.55098518729 --0.96657268703 -1.57019799948 --0.966561302543 -1.58940914273 --0.966538354755 -1.60666832328 --0.966518104076 -1.6239272058 --0.966500535608 -1.64118549228 --0.966485664249 -1.65844359994 --0.966473460198 -1.67570120096 --0.966463908553 -1.69295874238 --0.966457083821 -1.71021589637 --0.966452971101 -1.72747310996 --0.966451555491 -1.74473008514 --0.96645283699 -1.76198723912 --0.966456800699 -1.7792442441 --0.966463446617 -1.7965015769 --0.966472834349 -1.81375893951 --0.966484874487 -1.83101671934 --0.966499626637 -1.84827458858 --0.966517060995 -1.86553299427 --0.966537222266 -1.88279169798 --0.966559961438 -1.90005102753 --0.966572657227 -1.91926380992 --0.966561302543 -1.93847498298 --0.966538354755 -1.95573419333 --0.966518104076 -1.97299310565 --0.966500535608 -1.99025136232 --0.966485649347 -2.00750944018 --0.966473430395 -2.02476704121 --0.966463893652 -2.04202455282 --0.966457054019 -2.05928170681 --0.966452941298 -2.0765389204 --0.966451555491 -2.09379589558 --0.96645283699 -2.11105310917 --0.966456800699 -2.12831014395 --0.966463446617 -2.14556747675 --0.966472804547 -2.16282480955 --0.966484859586 -2.18008255959 --0.966499656439 -2.19734048844 --0.966517075897 -2.21459889412 --0.966537177563 -2.23185753822 --0.966559916735 -2.24911689758 --0.966572672128 -2.26832967996 --0.966561317444 -2.28754085302 --0.966538384557 -2.30480009318 --0.966518133879 -2.3220589757 --0.966500535608 -2.33931720257 --0.966485649347 -2.35657525063 --0.966473445296 -2.37383288145 --0.966463923454 -2.39109045267 --0.96645706892 -2.40834760666 --0.966452941298 -2.42560487985 --0.966451555491 -2.44286185503 --0.96645283699 -2.46011894941 --0.966456800699 -2.47737592459 --0.966463446617 -2.49463325739 --0.966472804547 -2.51189059019 --0.966484829784 -2.52914834023 --0.966499596834 -2.54640626907 --0.966517046094 -2.56366473437 --0.966537177563 -2.58092343807 --0.966559916735 -2.59818273783 --0.966572672128 -2.61739546061 --0.966561317444 -2.63660663366 --0.966538384557 -2.65386587381 --0.966518133879 -2.67112475634 --0.966500535608 -2.68838304281 --0.966485664249 -2.70564115047 --0.966473445296 -2.7228987217 --0.966463908553 -2.74015629292 --0.96645706892 -2.7574134469 --0.966452941298 -2.77467066049 --0.966451555491 -2.79192763567 --0.96645283699 -2.80918473005 --0.966456800699 -2.82644182444 --0.966463446617 -2.84369921684 --0.96647284925 -2.86095649004 --0.966484874487 -2.87821424007 --0.966499611735 -2.89547210932 --0.966517060995 -2.91273057461 --0.966537177563 -2.92998927832 --0.966559916735 -2.94724863768 --0.966572672128 -2.96646142006 --0.966561347246 -2.98567253351 --0.966538384557 -3.00293171406 --0.966518089175 -3.02019059658 --0.966500520706 -3.03744888306 --0.966485649347 -3.05470699072 --0.966473430395 -3.07196462154 --0.966463908553 -3.08922213316 --0.96645706892 -3.10647928715 --0.9664529562 -3.12373650074 --0.966451570392 -3.14099344809 --0.966452807188 --3.12493473291 --0.966456770897 --3.10767763853 --0.966463431716 --3.09042024612 --0.966472819448 --3.07316291333 --0.966484874487 --3.05590516329 --0.966499596834 --3.03864735365 --0.966517031193 --3.02138888836 --0.966537177563 --3.00413018465 --0.966559916735 --2.98687082529 --0.966572672128 --2.96765804291 --0.966561317444 --2.94844692946 --0.966538354755 --2.93118774891 --0.966518104076 --2.91392886639 --0.966500520706 --2.89667057991 --0.966485634446 --2.87941247225 --0.966473445296 --2.86215490103 --0.966463938356 --2.84489738941 --0.966457113624 --2.82764017582 --0.966452971101 --2.81038296223 --0.966451570391 --2.79312598705 --0.966452822089 --2.77586877346 --0.966456770897 --2.75861173868 --0.966463446617 --2.74135440588 --0.966472804547 --2.72409707308 --0.966484844685 --2.70683932305 --0.966499611735 --2.6895814538 --0.966517046094 --2.67232304812 --0.966537207365 --2.65506434441 --0.966559946537 --2.63780498505 --0.966572672128 --2.61859220266 --0.966561317444 --2.5993810296 --0.966538354755 --2.58212184906 --0.966518104076 --2.56486296654 --0.966500535608 --2.54760468006 --0.966485634446 --2.53034663201 --0.966473415494 --2.51308906078 --0.966463908553 --2.49583154917 --0.966457098723 --2.47857439518 --0.966452971101 --2.46131712198 --0.966451555491 --2.4440600872 --0.96645283699 --2.42680293321 --0.966456800699 --2.40954595804 --0.966463446617 --2.39228862524 --0.966472804547 --2.37503129244 --0.966484829784 --2.3577735424 --0.966499626637 --2.34051561356 --0.966517031193 --2.32325720787 --0.966537132859 --2.30599856377 --0.966559916735 --2.28873920441 --0.966572672128 --2.26952642203 --0.966561317444 --2.25031524897 --0.966538354755 --2.23305600881 --0.966518104076 --2.21579712629 --0.966500535608 --2.19853883982 --0.966485649347 --2.18128073216 --0.966473430395 --2.16402316094 --0.966463893652 --2.14676564932 --0.966457083821 --2.12950849533 --0.966452986002 --2.11225122213 --0.966451570392 --2.09499424696 --0.96645283699 --2.07773715258 --0.966456800699 --2.0604801774 --0.966463446617 --2.0432228446 --0.966472804547 --2.02596539259 --0.966484829784 --2.00870758295 --0.966499626637 --1.99144974351 --0.966517075897 --1.97419133782 --0.966537177563 --1.95693266392 --0.966559946537 --1.93967330456 --0.96657268703 --1.92046052217 --0.966561302543 --1.90124934912 --0.966538354755 --1.88399016857 --0.966518089175 --1.86673128605 --0.966500520706 --1.84947299957 --0.966485664249 --1.83221492171 --0.966473445296 --1.81495732069 --0.966463908553 --1.79769977927 --0.96645706892 --1.78044262529 --0.966452941298 --1.76318541169 --0.966451525688 --1.74592843652 --0.966452807188 --1.72867128253 --0.966456800699 --1.71141421795 --0.966463431716 --1.69415688515 --0.966472804547 --1.67689955235 --0.966484874487 --1.65964177251 --0.966499611735 --1.64238390327 --0.96651700139 --1.62512546778 --0.96653714776 --1.60786679387 --0.966559946537 --1.59060743451 --0.96657268703 --1.57139465213 --0.966561302543 --1.55218353868 --0.966538354755 --1.53492432833 --0.966518104076 --1.517665416 --0.966500535608 --1.50040712952 --0.966485664249 --1.48314902186 --0.966473460198 --1.46589145064 --0.966463908553 --1.44863393903 --0.966457083821 --1.43137675524 --0.966452971101 --1.41411954164 --0.966451555491 --1.39686256647 --0.96645283699 --1.37960541248 --0.966456800699 --1.36234840751 --0.966463446617 --1.34509107471 --0.966472834349 --1.3278337419 --0.966484874487 --1.31057596207 --0.966499626637 --1.29331806302 --0.966517060995 --1.27605962753 --0.966537222266 --1.25880092382 --0.966559961438 --1.24154159427 --0.966572657227 --1.22232881188 --0.966561302543 --1.20311763883 --0.966538354755 --1.18585848808 --0.966518104076 --1.16859960556 --0.966500535608 --1.15134131909 --0.966485649347 --1.13408324122 --0.966473430395 --1.1168256402 --0.966463893652 --1.09956809878 --0.966457054019 --1.0823109448 --0.966452941298 --1.0650537312 --0.966451555491 --1.04779672623 --0.96645283699 --1.03053954244 --0.966456800699 --1.01328250766 --0.966463446617 --0.996025189757 --0.966472804547 --0.978767871857 --0.966484859586 --0.961510121822 --0.966499656439 --0.944252222777 --0.966517075897 --0.926993787289 --0.966537177563 --0.909735113382 --0.966559916735 --0.892475739121 --0.966572672128 --0.873262971639 --0.966561317444 --0.854051813483 --0.966538384557 --0.836792588234 --0.966518133879 --0.819533720612 --0.966500535608 --0.802275463939 --0.966485649347 --0.785017386079 --0.966473445296 --0.767759785056 --0.966463923454 --0.750502243638 --0.96645706892 --0.73324508965 --0.966452941298 --0.715987861156 --0.966451555491 --0.698730885982 --0.96645283699 --0.681473731995 --0.966456800699 --0.664216697216 --0.966463446617 --0.646959349513 --0.966472804547 --0.62970200181 --0.966484829784 --0.612444251776 --0.966499596834 --0.595186367631 --0.966517046094 --0.577927917242 --0.966537177563 --0.560669243336 --0.966559916735 --0.543409898877 --0.966572672128 --0.524197116494 --0.966561317444 --0.504985973239 --0.966538384557 --0.487726770341 --0.966518133879 --0.470467865467 --0.966500535608 --0.453209586442 --0.966485664249 --0.435951516032 --0.966473445296 --0.41869392246 --0.966463908553 --0.401436381042 --0.96645706892 --0.384179219603 --0.966452941298 --0.366922006011 --0.966451555491 --0.349665038288 --0.96645283699 --0.332407876849 --0.966456800699 --0.31515083462 --0.966463446617 --0.297893486917 --0.96647284925 --0.280636161566 --0.966484874487 --0.263378411531 --0.966499611735 --0.246120516211 --0.966517060995 --0.228862080723 --0.966537177563 --0.211603403091 --0.966559916735 --0.194344051182 --0.966572672128 --0.175131268799 --0.949451312423 --0.155915070325 --0.949428588152 --0.138655889779 --0.949408501387 --0.121397012845 --0.949391126633 --0.104138758033 --0.949376374483 --0.0868806857616 --0.949364259839 --0.0696231098846 --0.949354842305 --0.0523656019941 --0.949348062277 --0.035108460579 --0.949344024062 --0.0178512609564 --0.949342653155 --0.000594307901337 --0.949343889952 -0.0166628274601 --0.949347808957 -0.0339198382571 --0.949354365468 -0.0511771533638 --0.949363678694 -0.0684344731271 --0.949375629425 -0.0856922157109 --0.949390202761 -0.102950075641 --0.949407443404 -0.12020849064 --0.949427396059 -0.137467153371 --0.949449911714 -0.154726486653 --0.949462518096 -0.173939451575 --0.94945128262 -0.19315077737 --0.949428543448 -0.210409957916 --0.949408486486 -0.227668832988 --0.94939109683 -0.244927078485 --0.949376359582 -0.262185141444 --0.949364289641 -0.279442735016 --0.949354887009 -0.296700261533 --0.949348121881 -0.313957393169 --0.949344009161 -0.33121458441 --0.949342623353 -0.348471544683 --0.949343904853 -0.36572868377 --0.949347823858 -0.382985688746 --0.949354410171 -0.400243014097 --0.949363678694 -0.417500324548 --0.949375584722 -0.43475805223 --0.949390217662 -0.452015921474 --0.949407473206 -0.46927433461 --0.949427396059 -0.486533001065 --0.949449911714 -0.503792338073 --0.949462518096 -0.523005306721 --0.94945128262 -0.542216643691 --0.94942855835 -0.559475824237 --0.949408516288 -0.576734691858 --0.949391111731 -0.593992933631 --0.949376374483 -0.61125099659 --0.949364289641 -0.628508582712 --0.949354872108 -0.645766094327 --0.949348121881 -0.663023233414 --0.949344053865 -0.680280447006 --0.949342653155 -0.697537407279 --0.949343889952 -0.714794531465 --0.949347808957 -0.732051536441 --0.94935439527 -0.749308854341 --0.949363678694 -0.766566172242 --0.949375584722 -0.783823907375 --0.949390217662 -0.801081776619 --0.949407458305 -0.818340197205 --0.949427381158 -0.835598856211 --0.949449911714 -0.852858200669 --0.949462518096 -0.872071146965 --0.94945128262 -0.891282469034 --0.94942855835 -0.908541664481 --0.949408501387 -0.925800532103 --0.94939109683 -0.943058788776 --0.949376359582 -0.960316866636 --0.94936427474 -0.977574422956 --0.949354857206 -0.994831934572 --0.949348136783 -1.01208910346 --0.949344053865 -1.02934628725 --0.949342623353 -1.04660323262 --0.949343889952 -1.06386038661 --0.949347808957 -1.08111739159 --0.94935439527 -1.09837469458 --0.949363678694 -1.11563202739 --0.949375599623 -1.13288974762 --0.949390232563 -1.15014761686 --0.949407473206 -1.16740608215 --0.949427396059 -1.18466475606 --0.949449941516 -1.20192405582 --0.949462547898 -1.22113698721 --0.94945128262 -1.24034833908 --0.949428543448 -1.25760754943 --0.949408486486 -1.27486643195 --0.94939109683 -1.29212465882 --0.949376374483 -1.30938270688 --0.949364289641 -1.3266402781 --0.949354857206 -1.34389778972 --0.949348077178 -1.3611549139 --0.94934399426 -1.37841209769 --0.949342623353 -1.39566907287 --0.949343889952 -1.41292622686 --0.949347823858 -1.43018323183 --0.94935439527 -1.44744053483 --0.949363663793 -1.46469786763 --0.949375614524 -1.48195561766 --0.949390232563 -1.49921348691 --0.949407458305 -1.51647189259 --0.949427396059 -1.5337305367 --0.949449941516 -1.55098989606 --0.949462547898 -1.57020285725 --0.94945128262 -1.58941414952 --0.949428543448 -1.60667333007 --0.949408486486 -1.62393221259 --0.94939109683 -1.64119046927 --0.949376389384 -1.65844854712 --0.949364304543 -1.67570611835 --0.949354857206 -1.69296362996 --0.94934810698 -1.71022078395 --0.949344024062 -1.72747799754 --0.949342623353 -1.74473497271 --0.949343889952 -1.7619920969 --0.949347808957 -1.77924907208 --0.94935439527 -1.79650640488 --0.949363708496 -1.81376373768 --0.949375629425 -1.83102148771 --0.949390217662 -1.84827932715 --0.949407458305 -1.86553773284 --0.94942741096 -1.88279643655 --0.949449926615 -1.9000557363 --0.949462518096 -1.9192686975 --0.94945128262 -1.93848004937 --0.94942855835 -1.95573922992 --0.949408501387 -1.97299811244 --0.94939109683 -1.99025633931 --0.949376359582 -2.00751441717 --0.94936427474 -2.02477198839 --0.949354857206 -2.0420294404 --0.949348077178 -2.05928659439 --0.94934399426 -2.07654380798 --0.949342608452 -2.09380078316 --0.949343875051 -2.11105793715 --0.949347808957 -2.12831491232 --0.94935439527 -2.14557224512 --0.949363678694 -2.16282957792 --0.949375599623 -2.18008732796 --0.949390232563 -2.19734525681 --0.949407473206 -2.21460366249 --0.949427396059 -2.2318623066 --0.949449911714 -2.24912160635 --0.949462518096 -2.26833450794 --0.94945128262 -2.28754585981 --0.949428588152 -2.30480509996 --0.949408531189 -2.32206398249 --0.94939109683 -2.33932214975 --0.949376359582 -2.35658019781 --0.949364289641 -2.37383782864 --0.949354887009 -2.39109539986 --0.949348092079 -2.40835249424 --0.94934399426 -2.42560970783 --0.949342623353 -2.44286668301 --0.949343889952 -2.46012377739 --0.949347808957 -2.47738081217 --0.949354380369 -2.49463814497 --0.949363663793 -2.51189541817 --0.949375599623 -2.5291531086 --0.949390232563 -2.54641103745 --0.949407473206 -2.56366950274 --0.949427396059 -2.58092814684 --0.949449911714 -2.59818744659 --0.949462518096 -2.61740040779 --0.94945128262 -2.63661175966 --0.949428588152 -2.65387094021 --0.949408531189 -2.67112976313 --0.94939109683 -2.6883880496 --0.949376374483 -2.70564615726 --0.949364289641 -2.72290372848 --0.949354872108 -2.7401612401 --0.949348092079 -2.75741833449 --0.94934399426 -2.77467554808 --0.949342623353 -2.79193252325 --0.949343889952 -2.80918961763 --0.949347808957 -2.82644665241 --0.94935439527 -2.84370398521 --0.949363708496 -2.86096125841 --0.949375614524 -2.87821900845 --0.94939020276 -2.89547687769 --0.949407458305 -2.91273528338 --0.949427396059 -2.92999392748 --0.949449911714 -2.94725328684 --0.949462518096 -2.96646630764 --0.949451312423 -2.98567759991 --0.949428588152 -3.00293672085 --0.949408501387 -3.02019560337 --0.949391126633 -3.03745388985 --0.949376374483 -3.05471199751 --0.949364259839 -3.07196956873 --0.949354842305 -3.08922702074 --0.949348062277 -3.10648417473 --0.949344024062 -3.12374138832 --0.949342653155 -3.14099833568 --0.949343889952 --3.12492984533 --0.949347808957 --3.10767281055 --0.949354365468 --3.09041547775 --0.949363678694 --3.07315814495 --0.949375629425 --3.05590039492 --0.949390202761 --3.03864258528 --0.949407443404 --3.02138417959 --0.949427396059 --3.00412553549 --0.949449911714 --2.98686617613 --0.949462518096 --2.96765315533 --0.94945128262 --2.94844186306 --0.949428543448 --2.93118274212 --0.949408486486 --2.9139238596 --0.94939109683 --2.89666557312 --0.949376359582 --2.87940746546 --0.949364289641 --2.86214989424 --0.949354887009 --2.84489244222 --0.949348121881 --2.82763528824 --0.949344009161 --2.81037807465 --0.949342623353 --2.79312109947 --0.949343904853 --2.77586394548 --0.949347823858 --2.75860697031 --0.949354410171 --2.74134963751 --0.949363678694 --2.72409230471 --0.949375584722 --2.70683455467 --0.949390217662 --2.68957674503 --0.949407473206 --2.67231833935 --0.949427396059 --2.65505963564 --0.949449911714 --2.63780033589 --0.949462518096 --2.61858737469 --0.94945128262 --2.59937602282 --0.94942855835 --2.58211678266 --0.949408516288 --2.56485790014 --0.949391111731 --2.54759973288 --0.949376374483 --2.53034168482 --0.949364289641 --2.5130841136 --0.949354872108 --2.49582660198 --0.949348121881 --2.478569448 --0.949344053865 --2.4613122344 --0.949342653155 --2.44405525923 --0.949343889952 --2.42679810524 --0.949347808957 --2.40954113006 --0.94935439527 --2.39228379726 --0.949363678694 --2.37502646446 --0.949375584722 --2.35776877403 --0.949390217662 --2.34051084518 --0.949407458305 --2.3232524395 --0.949427381158 --2.30599379539 --0.949449911714 --2.28873443603 --0.949462518096 --2.26952153444 --0.94945128262 --2.25031024217 --0.94942855835 --2.23305100203 --0.949408501387 --2.2157921195 --0.94939109683 --2.19853383303 --0.949376359582 --2.18127578497 --0.94936427474 --2.16401827335 --0.949354857206 --2.14676070213 --0.949348136783 --2.12950354815 --0.949344053865 --2.11224633455 --0.949342623353 --2.09498935938 --0.949343889952 --2.07773226499 --0.949347808957 --2.06047528982 --0.94935439527 --2.04321795702 --0.949363678694 --2.02596056461 --0.949375599623 --2.00870281458 --0.949390232563 --1.99144500494 --0.949407473206 --1.97418662906 --0.949427396059 --1.95692798495 --0.949449941516 --1.93966862559 --0.949462547898 --1.92045566439 --0.94945128262 --1.90124431252 --0.949428543448 --1.88398513198 --0.949408486486 --1.86672627926 --0.94939109683 --1.84946799278 --0.949376374483 --1.83220991492 --0.949364289641 --1.8149523437 --0.949354857206 --1.79769486189 --0.949348077178 --1.7804377377 --0.94934399426 --1.76318052411 --0.949342623353 --1.74592354894 --0.949343889952 --1.72866639495 --0.949347823858 --1.71140938997 --0.94935439527 --1.69415208697 --0.949363663793 --1.67689475417 --0.949375614524 --1.65963700413 --0.949390232563 --1.64237913489 --0.949407458305 --1.62512072921 --0.949427396059 --1.60786208511 --0.949449941516 --1.59060275555 --0.949462547898 --1.57138979435 --0.94945128262 --1.55217847228 --0.949428543448 --1.53491929174 --0.949408486486 --1.51766040921 --0.94939109683 --1.50040215254 --0.949376389384 --1.48314407468 --0.949364304543 --1.46588650346 --0.949354857206 --1.44862899185 --0.94934810698 --1.43137183785 --0.949344024062 --1.41411462426 --0.949342623353 --1.39685767889 --0.949343889952 --1.3796005845 --0.949347808957 --1.36234357953 --0.94935439527 --1.34508624673 --0.949363708496 --1.32782894373 --0.949375629425 --1.31057122349 --0.949390217662 --1.29331335425 --0.949407458305 --1.27605491877 --0.94942741096 --1.25879624486 --0.949449926615 --1.2415369153 --0.949462518096 --1.2223239243 --0.94945128262 --1.20311257243 --0.94942855835 --1.18585342169 --0.949408501387 --1.16859456897 --0.94939109683 --1.1513363123 --0.949376359582 --1.13407823443 --0.94936427474 --1.11682066321 --0.949354857206 --1.0995631516 --0.949348077178 --1.08230602741 --0.94934399426 --1.06504884362 --0.949342608452 --1.04779186845 --0.949343875051 --1.03053471446 --0.949347808957 --1.01327770949 --0.94935439527 --0.996020391585 --0.949363678694 --0.978763073683 --0.949375599623 --0.961505353451 --0.949390232563 --0.944247469306 --0.949407473206 --0.92698904872 --0.949427396059 --0.909730389714 --0.949449911714 --0.892471045256 --0.949462518096 --0.873258113861 --0.94945128262 --0.854046791792 --0.949428588152 --0.836787581444 --0.949408531189 --0.819528713823 --0.94939109683 --0.80227047205 --0.949376359582 --0.78501239419 --0.949364289641 --0.767754808068 --0.949354887009 --0.750497296453 --0.949348092079 --0.733240187168 --0.94934399426 --0.715982988477 --0.949342623353 --0.698726013303 --0.949343889952 --0.681468889118 --0.949347808957 --0.664211884141 --0.949354380369 --0.64695456624 --0.949363663793 --0.629697233439 --0.949375599623 --0.612439498306 --0.949390232563 --0.595181629062 --0.949407473206 --0.577923178673 --0.949427396059 --0.560664534569 --0.949449911714 --0.543405219913 --0.949462518096 --0.524192243815 --0.94945128262 --0.504980914295 --0.949428588152 --0.487721741199 --0.949408531189 --0.470462858677 --0.94939109683 --0.453204602003 --0.949376374483 --0.435946546495 --0.949364289641 --0.418688967824 --0.949354872108 --0.401431448758 --0.949348092079 --0.384174317121 --0.94934399426 --0.366917125881 --0.949342623353 --0.349660165608 --0.949343889952 --0.332403019071 --0.949347808957 --0.315145999193 --0.94935439527 --0.297888681293 --0.949363708496 --0.280631378293 --0.949375614524 --0.26337365061 --0.94939020276 --0.246115773916 --0.949407458305 --0.228857349604 --0.949427396059 --0.211598686874 --0.949449911714 --0.194339353591 --0.949462518096 --0.175126396119 --0.932354003191 --0.155911043286 --0.932331517339 --0.138651877641 --0.932311654091 --0.121393013746 --0.932294458151 --0.104134773835 --0.932279869914 --0.0868767220527 --0.93226788938 --0.0696191629395 --0.932258576155 --0.0523616690189 --0.932251900435 --0.0351045443676 --0.932247892022 --0.0178473603446 --0.932246491313 --0.000590422889217 --0.932247698307 -0.0166666964069 --0.932251617313 -0.0339236930013 --0.932258144021 -0.0511809941381 --0.932267308235 -0.068438295275 --0.932279109955 -0.0856960192323 --0.932293564081 -0.102953869849 --0.93231061101 -0.120212273672 --0.932330340147 -0.137470919639 --0.932352632284 -0.154730234295 --0.932365104556 -0.173943340778 --0.932354003191 -0.193154811859 --0.932331502438 -0.210413977504 --0.932311654091 -0.227672837675 --0.932294443249 -0.244931068272 --0.932279855013 -0.262189120054 --0.932267904282 -0.279446691275 --0.932258591056 -0.296704187989 --0.932251900435 -0.313961304724 --0.932247847319 -0.331218488515 --0.93224646151 -0.348475426435 --0.932247728109 -0.365732550621 --0.932251647115 -0.382989548147 --0.932258144021 -0.400246843696 --0.932267308235 -0.417504139245 --0.932279095054 -0.434761866928 --0.932293564081 -0.45201972127 --0.932310625911 -0.469278112054 --0.932330325246 -0.486536763608 --0.932352647185 -0.503796093166 --0.932365134358 -0.523009181023 --0.93235398829 -0.542220652104 --0.932331502438 -0.559479832649 --0.932311683893 -0.576738685369 --0.932294458151 -0.593996927142 --0.932279869914 -0.6112549752 --0.932267934084 -0.628512531519 --0.932258605957 -0.645770043135 --0.932251900435 -0.663027182221 --0.932247877121 -0.680284351111 --0.932246491313 -0.697541281581 --0.932247728109 -0.714798405767 --0.932251632214 -0.732055395841 --0.932258144021 -0.749312713742 --0.932267323136 -0.766570016742 --0.932279095054 -0.783827736974 --0.932293578982 -0.801085576415 --0.932310640812 -0.818343952298 --0.932330340147 -0.835602611303 --0.932352632284 -0.852861940861 --0.932365089655 -0.872075036168 --0.93235398829 -0.891286492348 --0.932331517339 -0.908545672894 --0.932311654091 -0.925804540515 --0.932294428348 -0.943062767386 --0.932279855013 -0.960320815444 --0.932267904282 -0.977578371763 --0.932258591056 -0.994835883379 --0.932251930237 -1.01209300756 --0.932247877121 -1.02935019135 --0.932246476412 -1.04660710692 --0.932247713208 -1.06386423111 --0.932251602411 -1.08112126589 --0.932258144021 -1.09837856889 --0.932267323136 -1.11563587188 --0.932279109955 -1.13289356232 --0.932293578982 -1.15015143156 --0.932310625911 -1.16740986705 --0.932330340147 -1.18466851115 --0.932352632284 -1.20192781091 --0.932365104556 -1.22114089131 --0.93235398829 -1.24035236239 --0.932331487537 -1.25761154294 --0.93231163919 -1.27487042546 --0.932294428348 -1.29212865233 --0.932279855013 -1.30938670039 --0.932267904282 -1.32664427161 --0.932258591056 -1.34390175343 --0.932251900435 -1.36115884781 --0.932247847319 -1.3784160316 --0.93224646151 -1.39567297697 --0.932247698307 -1.41293010115 --0.932251617312 -1.43018707633 --0.932258144021 -1.44744434953 --0.932267308235 -1.46470168233 --0.932279109955 -1.48195943236 --0.932293593883 -1.49921727181 --0.932310640812 -1.51647567749 --0.932330340147 -1.53373432159 --0.932352662087 -1.55099365115 --0.932365134358 -1.57020676136 --0.932354003191 -1.58941820264 --0.932331502438 -1.60667735338 --0.93231163919 -1.6239362061 --0.932294428348 -1.64119443298 --0.932279869914 -1.65845248104 --0.932267919183 -1.67571005225 --0.932258591056 -1.69296756387 --0.932251915336 -1.71022471786 --0.93224786222 -1.72748190165 --0.93224646151 -1.74473884702 --0.932247728109 -1.7619959414 --0.932251632214 -1.77925291657 --0.932258144021 -1.79651024938 --0.932267323136 -1.81376755237 --0.932279109955 -1.83102527261 --0.932293578982 -1.84828311205 --0.932310640812 -1.86554151773 --0.932330355048 -1.88280019164 --0.932352632284 -1.9000594914 --0.932365089655 -1.9192725718 --0.932353973388 -1.93848407269 --0.93233153224 -1.95574325323 --0.932311698794 -1.97300210595 --0.932294443249 -1.99026033282 --0.932279855013 -2.00751835108 --0.932267904282 -2.0247759223 --0.932258591056 -2.04203343391 --0.932251900435 -2.0592905283 --0.932247847319 -2.07654768228 --0.932246446609 -2.09380465746 --0.932247713208 -2.11106181145 --0.932251632214 -2.12831878662 --0.93225812912 -2.14557605982 --0.932267308235 -2.16283333302 --0.932279095054 -2.18009114265 --0.932293564081 -2.1973490715 --0.932310625911 -2.21460741758 --0.932330325246 -2.23186606169 --0.932352617383 -2.24912536144 --0.932365104556 -2.26833838225 --0.93235398829 -2.28754985332 --0.93233153224 -2.30480909347 --0.932311698794 -2.322067976 --0.932294443249 -2.33932614326 --0.932279855013 -2.35658419132 --0.932267904282 -2.37384176254 --0.932258591056 -2.39109927416 --0.932251900435 -2.40835636854 --0.932247847319 -2.42561358213 --0.93224646151 -2.44287055731 --0.932247728109 -2.46012765169 --0.932251632214 -2.47738468647 --0.932258114219 -2.49464201927 --0.932267293334 -2.51189929247 --0.932279109955 -2.5291569829 --0.932293578982 -2.54641485214 --0.932310625911 -2.56367325783 --0.932330340147 -2.58093190193 --0.932352632284 -2.59819120169 --0.932365104556 -2.6174043417 --0.93235398829 -2.63661581278 --0.932331502438 -2.65387493372 --0.932311668992 -2.67113375664 --0.932294443249 -2.68839204311 --0.932279855013 -2.70565015077 --0.932267904282 -2.72290766239 --0.932258591056 -2.7401651144 --0.932251900435 -2.75742226839 --0.932247832417 -2.77467948198 --0.932246446609 -2.79193639755 --0.932247698307 -2.80919349194 --0.932251602411 -2.82645046711 --0.93225812912 -2.84370779991 --0.932267308235 -2.86096513271 --0.932279095054 -2.87822282314 --0.932293564081 -2.89548063278 --0.932310640812 -2.91273903847 --0.932330355048 -2.92999768257 --0.932352632284 -2.94725704193 --0.932365104556 -2.96647018194 --0.932354003191 -2.98568165302 --0.932331517339 -3.00294077396 --0.932311654091 -3.02019959688 --0.932294458151 -3.03745788336 --0.932279869914 -3.05471593142 --0.93226788938 -3.07197350264 --0.932258576155 -3.08923101425 --0.932251900435 -3.10648810864 --0.932247892022 -3.12374526262 --0.932246491313 -3.14100220998 --0.932247698307 --3.12492597103 --0.932251617313 --3.10766899586 --0.932258144021 --3.09041166305 --0.932267308235 --3.07315433025 --0.932279109955 --3.05589663982 --0.932293564081 --3.03863883019 --0.93231061101 --3.0213804245 --0.932330340147 --3.00412178039 --0.932352632284 --2.98686242104 --0.932365104556 --2.96764928103 --0.932354003191 --2.94843780994 --0.932331502438 --2.931178689 --0.932311654091 --2.91391986609 --0.932294443249 --2.89666157961 --0.932279855013 --2.87940353155 --0.932267904282 --2.86214596033 --0.932258591056 --2.84488844871 --0.932251900435 --2.82763135433 --0.932247847319 --2.81037420035 --0.93224646151 --2.79311728478 --0.932247728109 --2.77586013079 --0.932251647115 --2.75860309601 --0.932258144021 --2.74134582281 --0.932267308235 --2.72408854962 --0.932279095054 --2.70683079958 --0.932293564081 --2.68957293034 --0.932310625911 --2.67231452465 --0.932330325246 --2.65505588055 --0.932352647185 --2.63779658079 --0.932365134358 --2.61858350039 --0.93235398829 --2.5993720293 --0.932331502438 --2.58211278915 --0.932311683893 --2.56485390663 --0.932294458151 --2.54759573937 --0.932279869914 --2.53033769131 --0.932267934084 --2.51308012008 --0.932258605957 --2.49582260847 --0.932251900435 --2.47856551409 --0.932247877121 --2.4613083601 --0.932246491313 --2.44405138493 --0.932247728109 --2.42679423094 --0.932251632214 --2.40953725576 --0.932258144021 --2.39227992296 --0.932267323136 --2.37502259016 --0.932279095054 --2.35776489973 --0.932293578982 --2.34050703049 --0.932310640812 --2.3232486844 --0.932330340147 --2.3059900403 --0.932352632284 --2.28873068094 --0.932365089655 --2.26951760053 --0.93235398829 --2.25030618906 --0.932331517339 --2.23304700851 --0.932311654091 --2.21578812599 --0.932294428348 --2.19852989912 --0.932279855013 --2.18127185106 --0.932267904282 --2.16401433945 --0.932258591056 --2.14675682783 --0.932251930237 --2.12949961424 --0.932247877121 --2.11224240065 --0.932246476412 --2.09498548508 --0.932247713208 --2.07772839069 --0.932251602411 --2.06047141552 --0.932258144021 --2.04321408272 --0.932267323136 --2.02595674992 --0.932279109955 --2.00869905949 --0.932293578982 --1.99144124985 --0.932310625911 --1.97418284416 --0.932330340147 --1.95692420006 --0.932352632284 --1.9396648705 --0.932365104556 --1.92045176029 --0.93235398829 --1.90124028921 --0.932331487537 --1.88398113847 --0.93231163919 --1.86672228575 --0.932294428348 --1.84946399927 --0.932279855013 --1.83220595122 --0.932267904282 --1.8149484098 --0.932258591056 --1.79769092798 --0.932251900435 --1.78043380379 --0.932247847319 --1.76317662001 --0.93224646151 --1.74591967464 --0.932247698307 --1.72866252064 --0.932251617312 --1.71140554547 --0.932258144021 --1.69414827228 --0.932267308235 --1.67689096928 --0.932279109955 --1.65963321924 --0.932293593883 --1.64237535 --0.932310640812 --1.62511697412 --0.932330340147 --1.60785833001 --0.932352662087 --1.59059903026 --0.932365134358 --1.57138594985 --0.932354003191 --1.55217444897 --0.932331502438 --1.53491526842 --0.93231163919 --1.5176564157 --0.932294428348 --1.50039818883 --0.932279869914 --1.48314014077 --0.932267919183 --1.46588256955 --0.932258591056 --1.44862505794 --0.932251915336 --1.43136793375 --0.93224786222 --1.41411074996 --0.93224646151 --1.39685383439 --0.932247728109 --1.37959674001 --0.932251632214 --1.36233970523 --0.932258144021 --1.34508237243 --0.932267323136 --1.32782509923 --0.932279109955 --1.3105674088 --0.932293578982 --1.29330953956 --0.932310640812 --1.27605113387 --0.932330355048 --1.25879251957 --0.932352632284 --1.24153319001 --0.932365089655 --1.22232005 --0.932353973388 --1.20310857892 --0.93233153224 --1.18584939838 --0.932311698794 --1.16859054565 --0.932294443249 --1.15133231878 --0.932279855013 --1.13407424092 --0.932267904282 --1.1168166697 --0.932258591056 --1.09955918789 --0.932251900435 --1.08230209351 --0.932247847319 --1.06504490972 --0.932246446609 --1.04778796434 --0.932247713208 --1.03053084015 --0.932251632214 --1.01327386498 --0.93225812912 --0.996016576888 --0.932267308235 --0.978759258985 --0.932279095054 --0.961501523852 --0.932293564081 --0.944243654609 --0.932310625911 --0.926985263824 --0.932330325246 --0.909726634622 --0.932352617383 --0.892467319965 --0.932365104556 --0.873254224658 --0.93235398829 --0.854042753577 --0.93233153224 --0.836783587933 --0.932311698794 --0.819524720311 --0.932294443249 --0.802266478538 --0.932279855013 --0.785008430481 --0.932267904282 --0.767750874162 --0.932258591056 --0.750493377447 --0.932251900435 --0.733236253262 --0.932247847319 --0.715979069472 --0.93224646151 --0.6987221241 --0.932247728109 --0.681465014816 --0.932251632214 --0.66420802474 --0.932258114219 --0.646950721741 --0.932267293334 --0.62969340384 --0.932279109955 --0.612435683608 --0.932293578982 --0.595177844167 --0.932310625911 --0.57791942358 --0.932330340147 --0.560660779476 --0.932352632284 --0.54340146482 --0.932365104556 --0.52418833971 --0.93235398829 --0.504976868629 --0.932331502438 --0.487717725337 --0.932311668992 --0.470458872616 --0.932294443249 --0.453200623393 --0.932279855013 --0.435942575336 --0.932267904282 --0.418685011566 --0.932258591056 --0.401427514851 --0.932251900435 --0.384170405566 --0.932247832417 --0.366913221776 --0.932246446609 --0.349656276405 --0.932247698307 --0.332399152219 --0.932251602411 --0.315142147243 --0.93225812912 --0.297884851694 --0.932267308235 --0.280627563596 --0.932279095054 --0.263369843364 --0.932293564081 --0.246111989021 --0.932310640812 --0.228853579611 --0.932330355048 --0.211594931781 --0.932352632284 --0.194335617125 --0.932365104556 --0.175122514367 --0.915237620473 --0.155906971544 --0.915215358138 --0.1386478208 --0.915195703507 --0.121388973668 --0.915178701282 --0.104130748659 --0.915164276958 --0.0868727136403 --0.915152445436 --0.069615171291 --0.915143221617 --0.0523576904088 --0.915136620402 --0.0351005820557 --0.915132641792 --0.017843414098 --0.915131226182 --0.00058649247512 --0.915132433176 -0.0166706107557 --0.915136337281 -0.0339275919832 --0.915142804385 -0.0511848777533 --0.915151849389 -0.068442161195 --0.915163531899 -0.0856998711825 --0.915177851915 -0.102957706898 --0.915194705129 -0.120216092095 --0.915214195847 -0.13747472316 --0.915236234665 -0.154734026641 --0.915248572826 -0.173947274685 --0.915237575769 -0.193158887327 --0.915215328336 -0.21041803807 --0.915195718408 -0.22767688334 --0.915178716183 -0.244935099036 --0.915164276958 -0.262193135918 --0.915152445436 -0.279450684786 --0.915143221617 -0.296708159149 --0.915136605501 -0.313965275883 --0.915132626891 -0.331222444773 --0.915131241083 -0.348479352892 --0.915132477879 -0.365736454725 --0.915136352182 -0.38299343735 --0.915142774582 -0.400250717998 --0.91515186429 -0.417508013547 --0.9151635468 -0.434765733779 --0.915177837014 -0.452023565769 --0.915194690228 -0.469281941652 --0.915214166045 -0.486540570855 --0.915236249566 -0.503799878061 --0.915248602629 -0.523013114929 --0.915237560868 -0.542224720121 --0.915215313435 -0.559483870864 --0.915195718408 -0.576742723584 --0.91517868638 -0.594000965357 --0.915164247155 -0.611258998513 --0.915152460337 -0.62851652503 --0.915143251419 -0.645774006844 --0.915136620402 -0.663031131029 --0.915132626891 -0.680288299918 --0.915131241083 -0.697545215487 --0.915132477879 -0.714802324772 --0.915136352182 -0.732059314847 --0.915142789483 -0.749316602945 --0.915151849389 -0.766573876142 --0.915163502097 -0.783831596374 --0.915177837014 -0.801089420914 --0.91519472003 -0.818347766995 --0.915214195847 -0.835606396198 --0.915236234665 -0.852865710855 --0.915248557925 -0.872078970075 --0.915237560868 -0.891290590167 --0.915215328336 -0.908549755812 --0.915195703507 -0.925808578729 --0.915178671479 -0.943066775799 --0.915164247155 -0.960324823856 --0.915152415633 -0.977582380176 --0.915143191814 -0.994839876889 --0.915136605501 -1.01209697127 --0.915132626891 -1.02935412526 --0.915131255984 -1.04661104083 --0.915132462978 -1.06386816501 --0.915136322379 -1.08112516999 --0.915142789483 -1.09838244319 --0.915151849389 -1.11563971639 --0.915163502097 -1.13289740682 --0.915177822113 -1.15015524626 --0.915194690228 -1.16741365194 --0.915214180946 -1.18467229605 --0.915236234665 -1.2019315958 --0.915248572826 -1.22114482522 --0.915237560868 -1.24035641551 --0.915215328336 -1.25761556625 --0.915195718408 -1.27487441897 --0.915178701282 -1.29213264585 --0.915164276958 -1.3093906939 --0.915152445436 -1.32664823532 --0.915143236518 -1.34390568733 --0.915136605501 -1.36116281151 --0.91513261199 -1.37842002511 --0.915131226182 -1.39567694068 --0.915132433176 -1.41293403506 --0.915136322379 -1.43019098043 --0.915142789483 -1.44744825363 --0.915151879192 -1.46470558643 --0.915163531899 -1.48196330666 --0.915177837014 -1.4992211163 --0.91519472003 -1.51647949219 --0.91521422565 -1.53373813629 --0.91523629427 -1.55099743605 --0.91524861753 -1.57021069527 --0.915237620473 -1.58942231536 --0.915215373039 -1.6066814363 --0.915195718408 -1.62394025922 --0.915178701282 -1.64119848609 --0.915164276958 -1.65845653415 --0.915152445436 -1.67571407557 --0.915143221617 -1.69297155738 --0.915136620402 -1.71022868156 --0.915132641792 -1.72748583555 --0.915131241083 -1.74474275112 --0.915132477879 -1.7619998455 --0.915136352182 -1.77925682068 --0.915142789483 -1.79651412368 --0.915151849389 -1.81377139687 --0.915163516998 -1.83102908731 --0.915177837014 -1.84828692675 --0.91519472003 -1.86554533243 --0.915214240551 -1.88280397654 --0.915236264467 -1.90006327629 --0.915248557925 -1.91927650571 --0.915237545967 -1.9384881556 --0.915215343237 -1.95574733615 --0.91519574821 -1.97300612926 --0.91517868638 -1.99026432633 --0.915164247155 -2.00752234459 --0.915152445436 -2.02477991581 --0.915143236518 -2.04203742742 --0.915136620402 -2.05929452181 --0.915132626891 -2.0765516758 --0.915131241083 -2.09380859137 --0.915132477879 -2.11106574535 --0.915136352182 -2.12832272053 --0.915142774582 -2.14557993412 --0.915151834488 -2.16283720732 --0.915163502097 -2.18009495735 --0.915177822113 -2.19735282659 --0.915194690228 -2.21461117268 --0.915214166045 -2.23186981678 --0.915236219764 -2.24912917614 --0.915248572826 -2.26834237576 --0.915237560868 -2.28755396605 --0.915215343237 -2.30481314659 --0.91519574821 -2.32207202911 --0.915178716183 -2.33933019638 --0.915164276958 -2.35658824444 --0.915152445436 -2.37384581566 --0.915143236518 -2.39110326767 --0.915136620402 -2.40836036205 --0.915132626891 -2.42561751604 --0.915131241083 -2.44287449121 --0.915132477879 -2.4601315856 --0.915136352182 -2.47738856077 --0.915142774582 -2.49464589357 --0.91515186429 -2.51190316677 --0.915163531899 -2.5291608572 --0.915177822113 -2.54641866684 --0.915194705129 -2.56367707252 --0.91521422565 -2.58093571663 --0.915236264467 -2.59819495678 --0.915248572826 -2.617408216 --0.915237560868 -2.63661980629 --0.915215313435 -2.65387892723 --0.915195718408 -2.67113780975 --0.91517868638 -2.68839609623 --0.915164247155 -2.70565414429 --0.915152445436 -2.7229115963 --0.915143236518 -2.74016904831 --0.915136620402 -2.7574262619 --0.91513261199 -2.77468341589 --0.915131226182 -2.79194027186 --0.915132448077 -2.80919736624 --0.915136322379 -2.82645434141 --0.915142774582 -2.84371167422 --0.91515186429 -2.86096894741 --0.9151635468 -2.87822663784 --0.915177837014 -2.89548450708 --0.915194705129 -2.91274291277 --0.91521422565 -2.93000149727 --0.915236264467 -2.94726079702 --0.915248587728 -2.96647405624 --0.915237620473 -2.98568570614 --0.915215358138 -3.00294488668 --0.915195703507 -3.02020365 --0.915178701282 -3.03746187687 --0.915164276958 -3.05471992493 --0.915152445436 -3.07197749615 --0.915143221617 -3.08923500776 --0.915136620402 -3.10649210215 --0.915132641792 -3.12374925613 --0.915131226182 -3.14100614388 --0.915132433176 --3.12492209673 --0.915136337281 --3.10766512155 --0.915142804385 --3.09040778875 --0.915151849389 --3.07315051556 --0.915163531899 --3.05589282513 --0.915177851915 --3.03863495588 --0.915194705129 --3.0213765502 --0.915214195847 --3.0041179657 --0.915236234665 --2.98685866594 --0.915248572826 --2.96764540672 --0.915237575769 --2.94843375683 --0.915215328336 --2.93117457628 --0.915195718408 --2.91391581297 --0.915178716183 --2.8966575861 --0.915164276958 --2.87939953804 --0.915152445436 --2.86214196682 --0.915143221617 --2.8448844552 --0.915136605501 --2.82762736082 --0.915132626891 --2.81037020683 --0.915131241083 --2.79311335087 --0.915132477879 --2.77585619688 --0.915136352182 --2.7585991621 --0.915142774582 --2.74134194851 --0.91515186429 --2.72408467531 --0.9151635468 --2.70682698488 --0.915177837014 --2.68956911564 --0.915194690228 --2.67231070995 --0.915214166045 --2.65505206585 --0.915236249566 --2.63779270649 --0.915248602629 --2.61857950687 --0.915237560868 --2.59936791658 --0.915215313435 --2.58210873604 --0.915195718408 --2.56484985352 --0.91517868638 --2.54759168625 --0.915164247155 --2.5303336978 --0.915152460337 --2.51307612657 --0.915143251419 --2.49581867456 --0.915136620402 --2.47856158018 --0.915132626891 --2.46130436659 --0.915131241083 --2.44404739141 --0.915132477879 --2.42679029703 --0.915136352182 --2.40953332186 --0.915142789483 --2.39227598905 --0.915151849389 --2.37501871586 --0.915163502097 --2.35776102543 --0.915177837014 --2.34050321579 --0.91519472003 --2.32324492931 --0.915214195847 --2.30598628521 --0.915236234665 --2.28872692585 --0.915248557925 --2.26951366663 --0.915237560868 --2.25030207634 --0.915215328336 --2.2330429554 --0.915195703507 --2.21578407288 --0.915178671479 --2.19852584601 --0.915164247155 --2.18126779795 --0.915152415633 --2.16401028633 --0.915143191814 --2.14675283432 --0.915136605501 --2.12949568033 --0.915132626891 --2.11223852635 --0.915131255984 --2.09498161078 --0.915132462978 --2.07772451639 --0.915136322379 --2.06046754122 --0.915142789483 --2.04321020842 --0.915151849389 --2.02595293522 --0.915163502097 --2.00869524479 --0.915177822113 --1.99143740535 --0.915194690228 --1.97417902947 --0.915214180946 --1.95692038536 --0.915236234665 --1.93966108561 --0.915248572826 --1.92044782639 --0.915237560868 --1.90123620629 --0.915215328336 --1.88397708535 --0.915195718408 --1.86671823263 --0.915178701282 --1.84945997596 --0.915164276958 --1.8322019577 --0.915152445436 --1.81494444609 --0.915143236518 --1.79768696427 --0.915136605501 --1.78042984009 --0.91513261199 --1.7631726861 --0.915131226182 --1.74591577053 --0.915132433176 --1.72865864634 --0.915136322379 --1.71140167117 --0.915142789483 --1.69414439797 --0.915151879192 --1.67688712478 --0.915163531899 --1.65962937474 --0.915177837014 --1.6423715055 --0.91519472003 --1.62511315942 --0.91521422565 --1.60785454512 --0.91523629427 --1.59059524536 --0.91524861753 --1.57138201594 --0.915237620473 --1.55217036605 --0.915215373039 --1.5349111855 --0.915195718408 --1.51765236258 --0.915178701282 --1.50039416552 --0.915164276958 --1.48313614726 --0.915152445436 --1.46587857604 --0.915143221617 --1.44862106442 --0.915136620402 --1.43136397004 --0.915132641792 --1.41410681605 --0.915131241083 --1.39684990048 --0.915132477879 --1.3795928061 --0.915136352182 --1.36233580112 --0.915142789483 --1.34507849812 --0.915151849389 --1.32782122493 --0.915163516998 --1.3105635345 --0.915177837014 --1.29330569505 --0.91519472003 --1.27604728937 --0.915214240551 --1.25878867507 --0.915236264467 --1.24152940512 --0.915248557925 --1.22231614589 --0.915237545967 --1.2031045258 --0.915215343237 --1.18584537506 --0.91519574821 --1.16858652234 --0.91517868638 --1.15132829547 --0.915164247155 --1.13407024741 --0.915152445436 --1.116812706 --0.915143236518 --1.09955522418 --0.915136620402 --1.08229809999 --0.915132626891 --1.06504094601 --0.915131241083 --1.04778406024 --0.915132477879 --1.03052696586 --0.915136352182 --1.01326999068 --0.915142774582 --0.996012702584 --0.915151834488 --0.978755399584 --0.915163502097 --0.961497679353 --0.915177822113 --0.944239839912 --0.915194690228 --0.926981464029 --0.915214166045 --0.909722834826 --0.915236219764 --0.892463520169 --0.915248572826 --0.87325027585 --0.915237560868 --0.854038655758 --0.915215343237 --0.836779519916 --0.91519574821 --0.819520696997 --0.915178716183 --0.802262470126 --0.915164276958 --0.785004422068 --0.915152445436 --0.767746880651 --0.915143236518 --0.750489383936 --0.915136620402 --0.73323225975 --0.915132626891 --0.715975120664 --0.915131241083 --0.698718205094 --0.915132477879 --0.68146109581 --0.915136352182 --0.664204120636 --0.915142774582 --0.646946832538 --0.91515186429 --0.629689529538 --0.915163531899 --0.612431839108 --0.915177822113 --0.595174014568 --0.915194705129 --0.577915608883 --0.91521422565 --0.560656994581 --0.915236264467 --0.543397694826 --0.915248572826 --0.524184405803 --0.915237560868 --0.504972793162 --0.915215313435 --0.487713672221 --0.915195718408 --0.470454834401 --0.91517868638 --0.453196600079 --0.915164247155 --0.435938566923 --0.915152445436 --0.418681025505 --0.915143236518 --0.401423543692 --0.915136620402 --0.384166434407 --0.91513261199 --0.366909258067 --0.915131226182 --0.349652342498 --0.915132448077 --0.332395248115 --0.915136322379 --0.31513826549 --0.915142774582 --0.297880977392 --0.91515186429 --0.280623696744 --0.9151635468 --0.263365991414 --0.915177837014 --0.246108151972 --0.915194705129 --0.228849761188 --0.91521422565 --0.211591131985 --0.915236264467 --0.194331828505 --0.915248587728 --0.17511858046 --0.898099437356 --0.155902843923 --0.898077428341 --0.138643704355 --0.898058012128 --0.121384879574 --0.898041203618 --0.10412667878 --0.898026928306 --0.0868686567992 --0.898015245795 --0.0696111302823 --0.898006126285 --0.0523536670953 --0.897999584675 --0.0350965731777 --0.897995680571 --0.0178394222166 --0.897994309664 --0.000582517357543 --0.897995501757 -0.0166745693423 --0.897999316454 -0.0339315324091 --0.898005694151 -0.0511888004839 --0.89801466465 -0.0684460690245 --0.89802621305 -0.0857037641108 --0.898040354252 -0.1029615812 --0.898057028651 -0.12021994777 --0.898076310754 -0.137478563935 --0.898098126054 -0.154737856239 --0.898110315203 -0.173951249569 --0.898099392652 -0.193163003773 --0.898077428341 -0.210422139615 --0.89805804193 -0.227680966258 --0.898041203618 -0.244939163327 --0.898026928306 -0.262197189033 --0.898015230894 -0.279454723001 --0.898006111383 -0.296712182462 --0.897999569774 -0.313969284296 --0.897995650768 -0.331226430833 --0.897994294762 -0.348483324051 --0.897995516657 -0.365740418434 --0.897999316454 -0.382997386158 --0.898005694151 -0.400254659355 --0.898014709354 -0.417511940002 --0.898026242852 -0.434769622981 --0.898040354252 -0.452027440071 --0.898057028651 -0.469285815954 --0.898076310754 -0.486544430256 --0.898098111153 -0.50380371511 --0.898110300302 -0.523017093539 --0.898099392652 -0.542228847742 --0.898077398539 -0.559487983584 --0.898058027029 -0.576746821404 --0.898041188717 -0.594005033374 --0.898026898503 -0.611263051629 --0.898015230894 -0.628520578146 --0.898006141186 -0.645778030157 --0.897999614477 -0.66303512454 --0.89799566567 -0.680292278528 --0.897994294762 -0.697549179196 --0.897995501757 -0.714806273579 --0.897999316454 -0.732063248753 --0.898005694151 -0.749320521951 --0.89801466465 -0.766577780247 --0.898026198149 -0.783835470676 --0.898040339351 -0.801093280315 --0.898057043552 -0.818351641297 --0.898076325655 -0.835610255599 --0.898098111153 -0.852869540453 --0.898110300302 -0.872082948685 --0.898099392652 -0.89129473269 --0.898077398539 -0.908553868532 --0.898058012128 -0.925812661648 --0.898041173816 -0.943070858717 --0.898026898503 -0.960328891873 --0.898015201092 -0.97758641839 --0.898006081581 -0.994843900204 --0.897999584675 -1.01210099458 --0.89799566567 -1.02935811877 --0.897994294762 -1.04661503434 --0.897995516657 -1.06387212872 --0.897999331355 -1.0811290741 --0.898005709052 -1.09838634729 --0.898014679551 -1.11564362049 --0.898026198149 -1.13290131092 --0.898040339351 -1.15015912056 --0.89805701375 -1.16741749644 --0.898076295853 -1.18467614055 --0.898098111153 -1.2019354403 --0.898110285401 -1.22114881873 --0.898099377751 -1.24036055803 --0.89807741344 -1.25761967897 --0.898058027029 -1.27487850189 --0.898041203618 -1.29213672877 --0.898026928306 -1.30939474702 --0.898015230894 -1.32665225864 --0.898006141186 -1.34390971065 --0.897999584675 -1.36116683483 --0.897995635867 -1.37842401862 --0.897994294763 -1.39568090439 --0.897995501757 -1.41293799877 --0.897999301553 -1.43019494415 --0.898005709053 -1.44745218754 --0.898014724255 -1.46470949053 --0.898026227951 -1.48196718096 --0.898040339351 -1.49922499061 --0.898057028651 -1.51648336649 --0.898076340556 -1.53374198079 --0.898098140955 -1.55100125074 --0.898110315203 -1.57021465897 --0.898099437356 -1.58942642808 --0.898077443242 -1.60668554902 --0.89805804193 -1.62394437194 --0.898041203618 -1.64120256901 --0.898026913405 -1.65846061706 --0.898015230894 -1.67571812868 --0.898006111383 -1.69297558069 --0.897999569774 -1.71023267507 --0.897995650768 -1.72748979926 --0.897994294762 -1.74474671483 --0.897995501757 -1.76200380921 --0.897999316454 -1.77926078439 --0.898005694151 -1.79651805758 --0.89801466465 -1.81377530098 --0.89802621305 -1.83103299141 --0.898040354252 -1.84829080105 --0.898057028651 -1.86554917693 --0.898076340556 -1.88280782104 --0.898098140955 -1.90006712079 --0.898110300302 -1.91928049922 --0.898099407554 -1.93849226833 --0.89807741344 -1.95575141907 --0.898058027029 -1.97301021218 --0.898041188717 -1.99026840925 --0.898026898503 -2.0075264275 --0.898015230894 -2.02478396893 --0.898006141186 -2.04204142094 --0.897999599576 -2.05929851532 --0.897995650768 -2.07655566931 --0.897994294762 -2.09381252527 --0.897995516657 -2.11106961965 --0.897999331355 -2.12832659483 --0.898005709052 -2.14558386803 --0.898014679551 -2.16284114122 --0.898026198149 -2.18009883165 --0.898040339351 -2.1973567009 --0.89805701375 -2.21461504698 --0.898076295853 -2.23187363148 --0.898098111153 -2.24913299084 --0.898110285401 -2.26834636927 --0.898099377751 -2.28755807877 --0.898077398539 -2.30481719971 --0.898058027029 -2.32207608223 --0.898041218519 -2.3393343091 --0.898026943207 -2.35659229755 --0.898015245795 -2.37384980917 --0.898006126285 -2.39110726118 --0.897999584675 -2.40836435556 --0.897995650768 -2.42562150955 --0.897994294762 -2.44287848473 --0.897995501757 -2.46013557911 --0.897999316454 -2.47739249468 --0.898005694151 -2.49464976788 --0.898014694453 -2.51190704107 --0.898026227951 -2.5291647315 --0.898040339351 -2.54642254114 --0.898057028651 -2.56368094683 --0.898076340556 -2.58093953133 --0.898098140955 -2.59819877148 --0.898110300302 -2.61741220951 --0.898099392652 -2.63662397862 --0.898077428341 -2.65388309956 --0.89805804193 -2.67114192247 --0.898041173816 -2.68840014934 --0.898026898503 -2.7056581974 --0.898015230894 -2.72291570902 --0.898006141186 -2.74017316103 --0.897999614477 -2.75743031502 --0.89799566567 -2.7746874094 --0.897994294762 -2.79194426537 --0.897995501757 -2.80920135975 --0.897999316454 -2.82645833492 --0.898005694151 -2.84371560812 --0.898014694453 -2.86097282171 --0.898026242852 -2.87823051214 --0.898040354252 -2.89548838139 --0.89805701375 -2.91274678707 --0.898076325655 -2.93000537157 --0.898098140955 -2.94726461172 --0.898110315203 -2.96647799015 --0.898099437356 -2.98568981886 --0.898077428341 -3.00294899941 --0.898058012128 -3.02020776272 --0.898041203618 -3.03746592998 --0.898026928306 -3.05472397804 --0.898015245795 -3.07198154926 --0.898006126285 -3.08923900127 --0.897999584675 -3.10649609566 --0.897995680571 -3.12375324965 --0.897994309664 -3.14101013739 --0.897995501757 --3.12491810322 --0.897999316454 --3.10766112804 --0.898005694151 --3.09040385485 --0.89801466465 --3.07314664126 --0.89802621305 --3.05588895083 --0.898040354252 --3.03863108158 --0.898057028651 --3.0213726759 --0.898076310754 --3.0041140914 --0.898098126054 --2.98685485125 --0.898110315203 --2.96764147282 --0.898099392652 --2.94842964411 --0.898077428341 --2.93117046356 --0.89805804193 --2.91391170025 --0.898041203618 --2.89665353298 --0.898026928306 --2.87939548492 --0.898015230894 --2.8621379137 --0.898006111383 --2.84488046169 --0.897999569774 --2.82762336731 --0.897995650768 --2.81036621332 --0.897994294762 --2.79310935736 --0.897995516657 --2.77585226297 --0.897999316454 --2.7585952878 --0.898005694151 --2.7413380146 --0.898014709354 --2.72408074141 --0.898026242852 --2.70682305098 --0.898040354252 --2.68956524134 --0.898057028651 --2.67230689526 --0.898076310754 --2.65504825115 --0.898098111153 --2.63778889179 --0.898110300302 --2.61857551336 --0.898099392652 --2.59936380386 --0.898077398539 --2.58210468292 --0.898058027029 --2.5648458004 --0.898041188717 --2.54758757353 --0.898026898503 --2.53032964468 --0.898015230894 --2.51307213306 --0.898006141186 --2.49581468105 --0.897999614477 --2.47855758667 --0.89799566567 --2.46130037308 --0.897994294762 --2.44404345751 --0.897995501757 --2.42678636313 --0.897999316454 --2.40952938795 --0.898005694151 --2.39227211475 --0.89801466465 --2.37501484156 --0.898026198149 --2.35775715113 --0.898040339351 --2.34049934149 --0.898057043552 --2.32324099541 --0.898076325655 --2.30598241091 --0.898098111153 --2.28872311115 --0.898110300302 --2.26950967312 --0.898099392652 --2.25029790401 --0.898077398539 --2.23303878307 --0.898058012128 --2.21577996016 --0.898041173816 --2.19852173329 --0.898026898503 --2.18126368523 --0.898015201092 --2.16400623321 --0.898006081581 --2.1467487812 --0.897999584675 --2.12949168682 --0.89799566567 --2.11223459244 --0.897994294762 --2.09497761726 --0.897995516657 --2.07772052288 --0.897999331355 --2.0604635477 --0.898005709052 --2.04320627451 --0.898014679551 --2.02594906092 --0.898026198149 --2.00869137049 --0.898040339351 --1.99143353104 --0.89805701375 --1.97417518496 --0.898076295853 --1.95691657066 --0.898098111153 --1.93965727091 --0.898110285401 --1.92044386268 --0.898099377751 --1.90123209357 --0.89807741344 --1.88397297263 --0.898058027029 --1.86671414971 --0.898041203618 --1.84945595265 --0.898026928306 --1.83219790459 --0.898015230894 --1.81494036317 --0.898006141186 --1.79768291116 --0.897999584675 --1.78042584658 --0.897995635867 --1.76316869259 --0.897994294763 --1.74591177702 --0.897995501757 --1.72865471244 --0.897999301553 --1.71139773726 --0.898005709053 --1.69414046406 --0.898014724255 --1.67688319087 --0.898026227951 --1.65962547064 --0.898040339351 --1.64236763119 --0.898057028651 --1.62510928511 --0.898076340556 --1.60785070062 --0.898098140955 --1.59059140086 --0.898110315203 --1.57137802243 --0.898099437356 --1.55216625333 --0.898077443242 --1.53490707278 --0.89805804193 --1.51764824987 --0.898041203618 --1.5003900826 --0.898026913405 --1.48313209414 --0.898015230894 --1.46587455273 --0.898006111383 --1.44861707091 --0.897999569774 --1.43135997653 --0.897995650768 --1.41410282254 --0.897994294762 --1.39684590697 --0.897995501757 --1.37958881259 --0.897999316454 --1.36233186722 --0.898005694151 --1.34507459402 --0.89801466465 --1.32781732082 --0.89802621305 --1.31055963039 --0.898040354252 --1.29330182075 --0.898057028651 --1.27604344487 --0.898076340556 --1.25878483057 --0.898098140955 --1.24152559042 --0.898110300302 --1.22231218219 --0.898099407554 --1.20310038328 --0.89807741344 --1.18584126234 --0.898058027029 --1.16858243942 --0.898041188717 --1.15132421255 --0.898026898503 --1.13406619429 --0.898015230894 --1.11680868268 --0.898006141186 --1.09955120087 --0.897999599576 --1.08229407668 --0.897995650768 --1.0650369823 --0.897994294762 --1.04778012633 --0.897995516657 --1.03052303195 --0.897999331355 --1.01326605678 --0.898005709052 --0.996008768676 --0.898014679551 --0.978751495481 --0.898026198149 --0.961493790149 --0.898040339351 --0.94423596561 --0.89805701375 --0.926977619529 --0.898076295853 --0.909719005227 --0.898098111153 --0.892459690571 --0.898110285401 --0.87324629724 --0.898099377751 --0.854034528136 --0.898077398539 --0.836775407195 --0.898058027029 --0.81951661408 --0.898041218519 --0.802258402109 --0.898026943207 --0.785000354052 --0.898015245795 --0.767742827534 --0.898006126285 --0.750485360622 --0.897999584675 --0.733228266239 --0.897995650768 --0.715971127152 --0.897994294762 --0.698714211583 --0.897995501757 --0.681457132101 --0.897999316454 --0.664200171828 --0.898005694151 --0.646942913532 --0.898014694453 --0.629685640335 --0.898026227951 --0.612427949906 --0.898040339351 --0.595170140266 --0.898057028651 --0.577911749482 --0.898076340556 --0.560653150081 --0.898098140955 --0.543393880129 --0.898110300302 --0.524180456996 --0.898099392652 --0.504968680441 --0.898077428341 --0.4877095595 --0.89805804193 --0.470450744033 --0.898041173816 --0.453192532062 --0.898026898503 --0.435934513807 --0.898015230894 --0.41867698729 --0.898006141186 --0.401419520378 --0.897999614477 --0.384162425995 --0.89799566567 --0.366905264556 --0.897994294762 --0.349648371339 --0.897995501757 --0.332391299307 --0.897999316454 --0.315134331584 --0.898005694151 --0.297877050936 --0.898014694453 --0.28061978519 --0.898026242852 --0.263362102211 --0.898040354252 --0.24610427022 --0.89805701375 --0.228845898062 --0.898076325655 --0.211587287485 --0.898098140955 --0.194327998906 --0.898110315203 --0.175114605576 --0.880940705537 --0.155898101628 --0.880918979644 --0.138638980687 --0.880899816751 --0.121380176395 --0.880883187055 --0.104121992364 --0.880869090557 --0.0868639908731 --0.880857557058 --0.0696064857766 --0.880848556757 --0.0523490421474 --0.880842089653 --0.0350919673219 --0.880838230252 --0.0178348349873 --0.880836904049 --0.000577948754653 --0.880838081241 -0.0166791193187 --0.880841836333 -0.0339360632934 --0.880848139525 -0.0511933127418 --0.880857020617 -0.0684505626559 --0.880868420005 -0.0857082419097 --0.880882367492 -0.102966040373 --0.880898833275 -0.120224386453 --0.880917906761 -0.137482985854 --0.880939483643 -0.154742252081 --0.88095150888 -0.173955816776 --0.880940705537 -0.193167746067 --0.880919009447 -0.210426859558 --0.880899846554 -0.227685663849 --0.880883187055 -0.244943846017 --0.880869090557 -0.262201853097 --0.880857512355 -0.279459357262 --0.880848512054 -0.296716801822 --0.880842074752 -0.313973888755 --0.880838185549 -0.331231020391 --0.880836844444 -0.348487891257 --0.88083806634 -0.365744963288 --0.880841836333 -0.38300191611 --0.880848139525 -0.400259174406 --0.880857020617 -0.417516432702 --0.880868390202 -0.43477409333 --0.880882367492 -0.452031895518 --0.880898863077 -0.4692902565 --0.880917921662 -0.486548855901 --0.880939468742 -0.503808118403 --0.880951493978 -0.523021653295 --0.880940720439 -0.54223357141 --0.880918994546 -0.559492707253 --0.880899831652 -0.576751530171 --0.880883201956 -0.594009712338 --0.880869090557 -0.611267715692 --0.880857542157 -0.628525227308 --0.880848556757 -0.645782664418 --0.880842104554 -0.663039743901 --0.88083820045 -0.680296868086 --0.880836844444 -0.697553738952 --0.880838021636 -0.714810803533 --0.880841806531 -0.732067763805 --0.880848124623 -0.749325037003 --0.880856990814 -0.766582280397 --0.880868390202 -0.783839941025 --0.880882367492 -0.801097750663 --0.880898863077 -0.818356096745 --0.880917921662 -0.835614681244 --0.880939468742 -0.852873951197 --0.880951493978 -0.87208750844 --0.880940705537 -0.891299456358 --0.880918979644 -0.908558577299 --0.880899816751 -0.925817370415 --0.880883172154 -0.943075552583 --0.880869075656 -0.960333555937 --0.880857542157 -0.977591067553 --0.880848541856 -0.994848519566 --0.880842089653 -1.01210558414 --0.88083820045 -1.02936267853 --0.880836859345 -1.0466195941 --0.880838081241 -1.06387668848 --0.880841851234 -1.08113360405 --0.880848154426 -1.09839084744 --0.880857020617 -1.11564809084 --0.880868390202 -1.13290578127 --0.880882367492 -1.15016359091 --0.880898848176 -1.16742193699 --0.880917906761 -1.18468055129 --0.880939468742 -1.20193982124 --0.880951479077 -1.22115337849 --0.880940705538 -1.2403652966 --0.880918994546 -1.25762438774 --0.880899816751 -1.27488321066 --0.880883187055 -1.29214143753 --0.880869090557 -1.30939942598 --0.880857542157 -1.32665690779 --0.880848556757 -1.34391435981 --0.880842089653 -1.36117145419 --0.880838185549 -1.37842857837 --0.880836874247 -1.39568543434 --0.880838081241 -1.41294249892 --0.88084179163 -1.4301994741 --0.880848094821 -1.44745671749 --0.880857005716 -1.46471396088 --0.880868405104 -1.48197162151 --0.880882382393 -1.49922943115 --0.880898863077 -1.51648780703 --0.880917906761 -1.53374639153 --0.88093945384 -1.55100566149 --0.880951493978 -1.57021921873 --0.880940720439 -1.58943113685 --0.880918979645 -1.60669025779 --0.880899846554 -1.6239490509 --0.880883216858 -1.64120721817 --0.880869075656 -1.65846526622 --0.880857542157 -1.67572277784 --0.880848556757 -1.69298020005 --0.880842089653 -1.71023729443 --0.880838185549 -1.72749441862 --0.880836844444 -1.74475130439 --0.880838051439 -1.76200836897 --0.880841836333 -1.77926531434 --0.880848124623 -1.79652258754 --0.880856990814 -1.81377983093 --0.880868390202 -1.83103749156 --0.880882367492 -1.8482952714 --0.880898848176 -1.86555361748 --0.880917906761 -1.88281226158 --0.880939468742 -1.90007153153 --0.880951493978 -1.91928505897 --0.88094073534 -1.9384970069 --0.880918994546 -1.95575612783 --0.880899816751 -1.97301492095 --0.880883201956 -1.99027311802 --0.880869090557 -2.00753110647 --0.880857542157 -2.02478861809 --0.880848556757 -2.0420460701 --0.880842089653 -2.05930316448 --0.880838185549 -2.07656025886 --0.880836844444 -2.09381711483 --0.88083806634 -2.11107420921 --0.880841851234 -2.12833112478 --0.880848154426 -2.14558839798 --0.880857020617 -2.16284567117 --0.880868390202 -2.18010336161 --0.88088235259 -2.19736117124 --0.880898833275 -2.21461945772 --0.880917906761 -2.23187804222 --0.880939468742 -2.24913740158 --0.880951479077 -2.26835095882 --0.880940705538 -2.28756284714 --0.880918979645 -2.30482196808 --0.880899816751 -2.32208079099 --0.880883201956 -2.33933901786 --0.880869105458 -2.35659694671 --0.880857557058 -2.37385439872 --0.880848541856 -2.39111185074 --0.880842074752 -2.40836894512 --0.880838185549 -2.42562609911 --0.880836859345 -2.44288301468 --0.880838036537 -2.46014010906 --0.880841806531 -2.47739702463 --0.880848124623 -2.49465423823 --0.880856990814 -2.51191151142 --0.880868390202 -2.52916920185 --0.880882367492 -2.54642701149 --0.880898848176 -2.56368535757 --0.880917906761 -2.58094388247 --0.880939468742 -2.59820318222 --0.880951493978 -2.61741679907 --0.880940720439 -2.63662874699 --0.880919024348 -2.65388786793 --0.880899846554 -2.67114663124 --0.880883187055 -2.68840479851 --0.880869090557 -2.70566284657 --0.880857542157 -2.72292035818 --0.880848556757 -2.74017781019 --0.880842104554 -2.75743490457 --0.88083820045 -2.77469199896 --0.880836859345 -2.79194885493 --0.880838036537 -2.8092058897 --0.880841776728 -2.82646286488 --0.880848094821 -2.84372013808 --0.880856990814 -2.86097735166 --0.880868390202 -2.87823498249 --0.88088235259 -2.89549279213 --0.880898833275 -2.91275119782 --0.880917906761 -2.93000978231 --0.880939468742 -2.94726902246 --0.880951493978 -2.96648257971 --0.880940705537 -2.98569452763 --0.880918979644 -3.00295364857 --0.880899816751 -3.02021241188 --0.880883187055 -3.03747057915 --0.880869090557 -3.0547286272 --0.880857557058 -3.07198619842 --0.880848556757 -3.08924365043 --0.880842089653 -3.10650068521 --0.880838230252 -3.1237577796 --0.880836904049 -3.14101466735 --0.880838081241 --3.12491357326 --0.880841836333 --3.10765659809 --0.880848139525 --3.09039932489 --0.880857020617 --3.07314211131 --0.880868420005 --3.05588442088 --0.880882367492 --3.03862661123 --0.880898833275 --3.02136826516 --0.880917906761 --3.00410962105 --0.880939483643 --2.9868503809 --0.88095150888 --2.96763688326 --0.880940705537 --2.94842493534 --0.880919009447 --2.9311658144 --0.880899846554 --2.91390705108 --0.880883187055 --2.89664888382 --0.880869090557 --2.87939083576 --0.880857512355 --2.86213326454 --0.880848512054 --2.84487581253 --0.880842074752 --2.82761877776 --0.880838185549 --2.81036168337 --0.880836844444 --2.7931047678 --0.88083806634 --2.77584767341 --0.880841836333 --2.75859075784 --0.880848139525 --2.74133348465 --0.880857020617 --2.72407627106 --0.880868390202 --2.70681858063 --0.880882367492 --2.68956077099 --0.880898863077 --2.67230248451 --0.880917921662 --2.65504384041 --0.880939468742 --2.63778454065 --0.880951493978 --2.61857098341 --0.880940720439 --2.5993590951 --0.880918994546 --2.58209997415 --0.880899831652 --2.56484109163 --0.880883201956 --2.54758286476 --0.880869090557 --2.53032493591 --0.880857542157 --2.5130674839 --0.880848556757 --2.49581003189 --0.880842104554 --2.47855293751 --0.88083820045 --2.46129578352 --0.880836844444 --2.44403892755 --0.880838021636 --2.42678183317 --0.880841806531 --2.409524858 --0.880848124623 --2.3922676444 --0.880856990814 --2.37501037121 --0.880868390202 --2.35775268078 --0.880882367492 --2.34049487114 --0.880898863077 --2.32323652506 --0.880917921662 --2.30597800017 --0.880939468742 --2.28871870041 --0.880951493978 --2.26950508356 --0.880940705537 --2.25029313564 --0.880918979644 --2.2330340147 --0.880899816751 --2.21577525139 --0.880883172154 --2.19851708412 --0.880869075656 --2.18125903607 --0.880857542157 --2.16400158405 --0.880848541856 --2.14674419165 --0.880842089653 --2.12948709726 --0.88083820045 --2.11222994328 --0.880836859345 --2.09497302771 --0.880838081241 --2.07771599292 --0.880841851234 --2.06045901775 --0.880848154426 --2.04320174456 --0.880857020617 --2.02594453097 --0.880868390202 --2.00868690014 --0.880882367492 --1.9914290905 --0.880898848176 --1.97417071462 --0.880917906761 --1.95691213012 --0.880939468742 --1.93965286017 --0.880951479077 --1.92043927312 --0.880940705538 --1.901227355 --0.880918994546 --1.88396826386 --0.880899816751 --1.86670944095 --0.880883187055 --1.84945124388 --0.880869090557 --1.83219322562 --0.880857542157 --1.81493571401 --0.880848556757 --1.7976782918 --0.880842089653 --1.78042122722 --0.880838185549 --1.76316407323 --0.880836874247 --1.74590718746 --0.880838081241 --1.72865015268 --0.88084179163 --1.71139320731 --0.880848094821 --1.69413593411 --0.880857005716 --1.67687866092 --0.880868405104 --1.65962100029 --0.880882382393 --1.64236322045 --0.880898863077 --1.62510487437 --0.880917906761 --1.60784628987 --0.88093945384 --1.59058701992 --0.880951493978 --1.57137346268 --0.880940720439 --1.55216151476 --0.880918979645 --1.53490236401 --0.880899846554 --1.5176435709 --0.880883216858 --1.50038540364 --0.880869075656 --1.48312741518 --0.880857542157 --1.46586990357 --0.880848556757 --1.44861245156 --0.880842089653 --1.43135538697 --0.880838185549 --1.41409826279 --0.880836844444 --1.39684134722 --0.880838051439 --1.37958425283 --0.880841836333 --1.36232733727 --0.880848124623 --1.34507009387 --0.880856990814 --1.32781285047 --0.880868390202 --1.31055516005 --0.880882367492 --1.29329735041 --0.880898848176 --1.27603900433 --0.880917906761 --1.25878041983 --0.880939468742 --1.24152117968 --0.880951493978 --1.22230759263 --0.88094073534 --1.20309564471 --0.880918994546 --1.18583655357 --0.880899816751 --1.16857773066 --0.880883201956 --1.15131950378 --0.880869090557 --1.13406151533 --0.880857542157 --1.11680403352 --0.880848556757 --1.09954661131 --0.880842089653 --1.08228951692 --0.880838185549 --1.06503239274 --0.880836844444 --1.04777553677 --0.88083806634 --1.03051844239 --0.880841851234 --1.01326149702 --0.880848154426 --0.996004253626 --0.880857020617 --0.978746980429 --0.880868390202 --0.961489275098 --0.88088235259 --0.94423148036 --0.880898833275 --0.926973178983 --0.880917906761 --0.909714579582 --0.880939468742 --0.892455279827 --0.880951479077 --0.873241722584 --0.880940705538 --0.854029789567 --0.880918979645 --0.836770683527 --0.880899816751 --0.819511890411 --0.880883201956 --0.802253693342 --0.880869105458 --0.784995689988 --0.880857557058 --0.767738193273 --0.880848541856 --0.750480756164 --0.880842074752 --0.733223661781 --0.880838185549 --0.715966522694 --0.880836859345 --0.698709651828 --0.880838036537 --0.681452602148 --0.880841806531 --0.664195656776 --0.880848124623 --0.64693839848 --0.880856990814 --0.629681140184 --0.880868390202 --0.612423464656 --0.880882367492 --0.595165669918 --0.880898848176 --0.577907323837 --0.880917906761 --0.560648724437 --0.880939468742 --0.543389454484 --0.880951493978 --0.524175897241 --0.880940720439 --0.504963949323 --0.880919024348 --0.487704835832 --0.880899846554 --0.470446042717 --0.880883187055 --0.453187853098 --0.880869090557 --0.435929849744 --0.880857542157 --0.418672330677 --0.880848556757 --0.401414886117 --0.880842104554 --0.384157814086 --0.88083820045 --0.366900674999 --0.880836859345 --0.349643804133 --0.880838036537 --0.332386739552 --0.880841776728 --0.31512978673 --0.880848094821 --0.297872535885 --0.880856990814 --0.28061529249 --0.880868390202 --0.263357616961 --0.88088235259 --0.246099807322 --0.880898833275 --0.228841461241 --0.880917906761 --0.211582873017 --0.880939468742 --0.194323606789 --0.880951493978 --0.17511003837 --0.863786056637 --0.155893176794 --0.863764613867 --0.138634085655 --0.863745689392 --0.121375305578 --0.863729253411 --0.104117132723 --0.863715350628 --0.0868591535836 --0.863703951239 --0.0696016689762 --0.863695040345 --0.0523442402482 --0.863688647747 --0.0350871849805 --0.863684818149 --0.0178300722037 --0.863683506847 --0.000573205063118 --0.863684684038 -0.0166838434525 --0.863688394427 -0.0339407674037 --0.863694608212 -0.0511979972944 --0.863703384996 -0.0684552295134 --0.863714650273 -0.0857128892094 --0.863728433847 -0.102970669046 --0.863744705915 -0.120228998363 --0.863763540983 -0.137487575412 --0.863784834743 -0.154746819288 --0.863796710968 -0.17396055907 --0.863786056637 -0.193172667175 --0.863764613867 -0.210431758314 --0.863745689392 -0.227690543979 --0.863729253411 -0.244948714972 --0.863715335727 -0.262206695974 --0.863703891635 -0.279464177787 --0.863694995642 -0.296721607447 --0.863688632846 -0.313978664577 --0.863684773445 -0.331235781312 --0.863683462143 -0.348492644727 --0.863684669137 -0.365749686956 --0.863688394427 -0.383006609976 --0.863694623113 -0.40026383847 --0.863703384996 -0.417521074414 --0.863714620471 -0.434778727591 --0.863728433847 -0.452036507428 --0.863744720817 -0.469294846058 --0.863763540983 -0.486553430557 --0.863784834743 -0.503812670708 --0.863796710968 -0.523026406765 --0.863786071539 -0.542238503695 --0.863764628768 -0.559497594834 --0.863745689392 -0.576756402851 --0.863729253411 -0.594014570117 --0.863715335727 -0.61127255857 --0.863703921437 -0.628530055284 --0.863695025444 -0.645787477493 --0.863688647747 -0.663044542074 --0.863684788346 -0.680301636457 --0.863683462143 -0.697558477521 --0.863684639335 -0.714815527201 --0.863688364625 -0.732072457671 --0.863694608212 -0.749329701066 --0.863703370094 -0.766586944461 --0.863714620471 -0.783844605088 --0.863728433847 -0.801102399826 --0.863744720817 -0.818360701203 --0.863763540983 -0.8356192559 --0.863784834743 -0.852878525853 --0.863796710968 -0.872092261911 --0.863786056637 -0.891304373741 --0.863764598966 -0.908563479781 --0.863745674491 -0.925822257996 --0.86372923851 -0.943080410362 --0.863715320826 -0.960338398815 --0.863703921437 -0.977595895529 --0.863695025444 -0.994853302838 --0.863688632846 -1.01211035252 --0.863684788346 -1.0293674469 --0.863683491945 -1.04662433266 --0.863684684038 -1.06388142705 --0.863688409328 -1.08113834262 --0.863694638014 -1.09839555621 --0.863703384996 -1.1156527698 --0.863714620471 -1.13291043043 --0.863728448748 -1.15016821026 --0.863744735718 -1.16742652655 --0.863763540983 -1.18468511105 --0.863784834743 -1.2019443512 --0.863796710968 -1.22115811706 --0.863786071539 -1.24037021398 --0.863764628768 -1.25762927532 --0.863745689392 -1.27488809824 --0.863729253411 -1.29214629531 --0.863715335727 -1.30940425396 --0.863703921437 -1.32666170597 --0.863695025444 -1.34391915798 --0.863688632846 -1.36117622256 --0.863684788346 -1.37843331694 --0.863683491945 -1.39569017291 --0.863684684038 -1.41294720769 --0.863688364625 -1.43020418286 --0.863694578409 -1.44746142626 --0.863703370094 -1.46471863985 --0.863714650273 -1.48197627067 --0.863728478551 -1.49923405051 --0.86374476552 -1.51649239659 --0.863763540983 -1.53375098109 --0.863784790039 -1.55101025105 --0.863796696067 -1.5702239573 --0.863786071539 -1.58943605423 --0.863764598966 -1.60669517517 --0.863745689392 -1.62395393849 --0.863729268312 -1.64121207595 --0.863715320825 -1.6584700942 --0.863703936338 -1.67572760582 --0.863695040345 -1.69298499822 --0.863688647747 -1.7102420628 --0.863684788346 -1.72749918699 --0.863683462143 -1.74475604296 --0.863684669137 -1.76201310754 --0.863688394427 -1.77927002311 --0.863694608212 -1.7965272665 --0.863703370094 -1.8137845099 --0.863714620471 -1.83104214072 --0.863728448748 -1.84829992056 --0.863744735718 -1.86555823684 --0.863763540983 -1.88281682134 --0.863784834743 -1.90007606149 --0.863796710968 -1.91928979754 --0.863786071539 -1.93850192428 --0.863764613867 -1.95576101542 --0.86374565959 -1.97301980853 --0.86372923851 -1.9902779758 --0.863715335727 -2.00753596425 --0.863703921437 -2.02479344606 --0.863695025444 -2.04205083847 --0.863688647747 -2.05930793285 --0.863684788346 -2.07656502724 --0.863683462143 -2.0938218832 --0.863684669137 -2.11107897759 --0.863688394427 -2.12833583355 --0.863694623113 -2.14559304714 --0.863703384996 -2.16285032034 --0.863714620471 -2.18010801077 --0.863728418946 -2.1973657608 --0.863744705915 -2.21462404728 --0.863763540983 -2.23188269138 --0.863784834743 -2.24914199114 --0.863796710968 -2.26835572719 --0.863786071539 -2.28756779432 --0.863764613867 -2.30482685566 --0.863745674491 -2.32208567858 --0.863729253411 -2.33934384584 --0.863715335727 -2.35660177469 --0.863703921437 -2.37385928631 --0.863695010543 -2.39111673832 --0.863688632846 -2.4083737731 --0.863684803247 -2.42563086748 --0.863683491945 -2.44288772345 --0.863684654236 -2.46014475823 --0.863688379526 -2.4774016738 --0.863694623113 -2.49465888739 --0.863703370094 -2.51191616058 --0.863714620471 -2.52917385101 --0.863728433847 -2.54643160105 --0.863744720817 -2.56368988752 --0.863763540983 -2.58094847202 --0.863784834743 -2.59820777178 --0.863796710968 -2.61742150783 --0.863786071539 -2.63663363457 --0.863764613867 -2.65389275551 --0.863745674491 -2.67115151882 --0.86372923851 -2.68840968609 --0.863715320825 -2.70566767454 --0.863703921437 -2.72292512655 --0.863695025444 -2.74018257856 --0.863688647747 -2.75743961334 --0.863684803247 -2.77469670773 --0.863683491945 -2.79195356369 --0.863684654236 -2.80921059847 --0.863688349723 -2.82646757364 --0.863694578409 -2.84372484684 --0.863703355193 -2.86098206043 --0.863714620471 -2.87823963165 --0.863728433847 -2.89549744129 --0.863744720816 -2.91275584698 --0.863763540983 -2.93001437187 --0.863784834743 -2.94727361202 --0.863796710968 -2.96648734808 --0.863786056637 -2.98569941521 --0.863764613867 -3.00295853615 --0.863745689392 -3.02021729946 --0.863729253411 -3.03747546673 --0.863715350628 -3.05473351479 --0.863703951239 -3.0719910264 --0.863695040345 -3.08924841881 --0.863688647747 -3.10650545359 --0.863684818149 -3.12376254797 --0.863683506847 -3.14101937612 --0.863684684038 --3.1249088645 --0.863688394427 --3.10765188932 --0.863694608212 --3.09039461613 --0.863703384996 --3.07313740254 --0.863714650273 --3.05587977171 --0.863728433847 --3.03862196207 --0.863744705915 --3.02136361599 --0.863763540983 --3.00410503149 --0.863784834743 --2.98684579134 --0.863796710968 --2.96763211489 --0.863786056637 --2.94842004776 --0.863764613867 --2.93116092682 --0.863745689392 --2.9139021635 --0.863729253411 --2.89664399624 --0.863715335727 --2.87938594818 --0.863703891635 --2.86212843657 --0.863694995642 --2.84487104416 --0.863688632846 --2.82761400938 --0.863684773445 --2.810356915 --0.863683462143 --2.79309999943 --0.863684669137 --2.77584290504 --0.863688394427 --2.75858604908 --0.863694623113 --2.74132883549 --0.863703384996 --2.7240716219 --0.863714620471 --2.70681393147 --0.863728433847 --2.68955612183 --0.863744720817 --2.67229783535 --0.863763540983 --2.65503925085 --0.863784834743 --2.6377800107 --0.863796710968 --2.61856621504 --0.863786071539 --2.59935414791 --0.863764628768 --2.58209508657 --0.863745689392 --2.56483620405 --0.863729253411 --2.54757803679 --0.863715335727 --2.53032010794 --0.863703921437 --2.51306265593 --0.863695025444 --2.49580520392 --0.863688647747 --2.47854810953 --0.863684788346 --2.46129101515 --0.863683462143 --2.44403415918 --0.863684639335 --2.4267771244 --0.863688364625 --2.40952020883 --0.863694608212 --2.39226299524 --0.863703370094 --2.37500572205 --0.863714620471 --2.35774803162 --0.863728433847 --2.34049028158 --0.863744720817 --2.32323199511 --0.863763540983 --2.30597341061 --0.863784834743 --2.28871411085 --0.863796710968 --2.2695003748 --0.863786056637 --2.25028824806 --0.863764598966 --2.23302912712 --0.863745674491 --2.21577036381 --0.86372923851 --2.19851225614 --0.863715320826 --2.18125426769 --0.863703921437 --2.16399675608 --0.863695025444 --2.14673936367 --0.863688632846 --2.12948232889 --0.863684788346 --2.1122251749 --0.863683491945 --2.09496831894 --0.863684684038 --2.07771128416 --0.863688409328 --2.06045430899 --0.863694638014 --2.04319703579 --0.863703384996 --2.0259398222 --0.863714620471 --2.00868225098 --0.863728448748 --1.99142447114 --0.863744735718 --1.97416609526 --0.863763540983 --1.95690751076 --0.863784834743 --1.93964827061 --0.863796710968 --1.92043453455 --0.863786071539 --1.90122243762 --0.863764628768 --1.88396334648 --0.863745689392 --1.86670455337 --0.863729253411 --1.8494463563 --0.863715335727 --1.83218836784 --0.863703921437 --1.81493091583 --0.863695025444 --1.79767352343 --0.863688632846 --1.78041645884 --0.863684788346 --1.76315930486 --0.863683491945 --1.74590244889 --0.863684684038 --1.72864541411 --0.863688364625 --1.71138849854 --0.863694578409 --1.69413125515 --0.863703370094 --1.67687401176 --0.863714650273 --1.65961638093 --0.863728478551 --1.64235860109 --0.86374476552 --1.62510025501 --0.863763540983 --1.60784167051 --0.863784790039 --1.59058243036 --0.863796696067 --1.57136869431 --0.863786071539 --1.55215656757 --0.863764598966 --1.53489747643 --0.863745689392 --1.51763871312 --0.863729268312 --1.50038054586 --0.863715320825 --1.4831225574 --0.863703936338 --1.46586504578 --0.863695040345 --1.44860762358 --0.863688647747 --1.4313505888 --0.863684788346 --1.41409349441 --0.863683462143 --1.39683660865 --0.863684669137 --1.37957954407 --0.863688394427 --1.3623226285 --0.863694608212 --1.34506541491 --0.863703370094 --1.32780820131 --0.863714620471 --1.31055051088 --0.863728448748 --1.29329273105 --0.863744735718 --1.27603441477 --0.863763540983 --1.25877583027 --0.863784834743 --1.24151659012 --0.863796710968 --1.22230285406 --0.863786071539 --1.20309075713 --0.863764613867 --1.18583166599 --0.86374565959 --1.16857287288 --0.86372923851 --1.15131467581 --0.863715335727 --1.13405668735 --0.863703921437 --1.11679923534 --0.863695025444 --1.09954181313 --0.863688647747 --1.08228474855 --0.863684788346 --1.06502762437 --0.863683462143 --1.0477707386 --0.863684669137 --1.03051367402 --0.863688394427 --1.01325675845 --0.863694623113 --0.99599954486 --0.863703384996 --0.978742301464 --0.863714620471 --0.961484625936 --0.863728418946 --0.944226861 --0.863744705915 --0.926968559623 --0.863763540983 --0.909709960222 --0.863784834743 --0.892450690269 --0.863796710968 --0.873236969114 --0.863786071539 --0.854024887085 --0.863764613867 --0.836765795946 --0.863745674491 --0.819507002831 --0.863729253411 --0.802248820663 --0.863715335727 --0.78499083221 --0.863703921437 --0.767733350396 --0.863695010543 --0.750475943088 --0.863688632846 --0.733218878508 --0.863684803247 --0.715961769223 --0.863683491945 --0.69870492816 --0.863684654236 --0.68144787848 --0.863688379526 --0.664190962911 --0.863694623113 --0.646933719516 --0.863703370094 --0.629676476121 --0.863714620471 --0.612418830395 --0.863728433847 --0.595161035657 --0.863744720817 --0.577902704477 --0.863763540983 --0.560644119978 --0.863784834743 --0.543384879828 --0.863796710968 --0.524171158671 --0.863786071539 --0.50495903939 --0.863764613867 --0.487699948251 --0.863745674491 --0.470441155135 --0.86372923851 --0.453182980418 --0.863715320825 --0.435925006866 --0.863703921437 --0.418667517602 --0.863695025444 --0.401410087943 --0.863688647747 --0.384153030813 --0.863684803247 --0.366895921529 --0.863683491945 --0.349639065563 --0.863684654236 --0.332382008433 --0.863688349723 --0.315125077963 --0.863694578409 --0.297867849469 --0.863703355193 --0.280610620975 --0.863714620471 --0.263352960348 --0.863728433847 --0.246095176786 --0.863744720816 --0.228836856782 --0.863763540983 --0.211578287184 --0.863784834743 --0.194319039583 --0.863796710968 --0.17510529235 --0.846635684371 --0.155888650566 --0.84661449492 --0.138629578054 --0.846595808864 --0.121370814741 --0.8465795964 --0.104112660512 --0.84656585753 --0.0868546981364 --0.846554577351 --0.0695972256362 --0.846545800567 --0.0523398155347 --0.846539512277 --0.0350827788934 --0.84653571248 --0.0178256831132 --0.846534401178 --0.000568834133445 --0.846535548568 -0.0166881969199 --0.846539214253 -0.0339451027103 --0.846545338631 -0.0512023139745 --0.846554011106 -0.0684595294297 --0.846565157175 -0.085717169568 --0.846578776836 -0.102974932641 --0.846594840288 -0.120233245194 --0.846613436937 -0.137491803616 --0.846634462476 -0.154751032591 --0.846646189689 -0.173964928835 --0.846635684371 -0.193177197129 --0.84661449492 -0.210436277092 --0.846595808864 -0.22769504413 --0.846579581499 -0.24495319277 --0.846565827727 -0.262211151421 --0.846554547548 -0.279468618334 --0.846545770764 -0.296726033091 --0.846539467573 -0.31398306787 --0.846535652876 -0.331240162253 --0.846534371376 -0.348497018218 --0.846535548568 -0.365754045546 --0.846539214253 -0.383010953665 --0.846545383334 -0.400268167257 --0.84655405581 -0.417525380849 --0.846565142274 -0.434783011675 --0.846578761935 -0.452040761709 --0.846594840288 -0.469299085438 --0.846613436937 -0.486557655036 --0.846634462476 -0.503816865384 --0.846646189689 -0.523030772805 --0.846635684371 -0.542243048549 --0.84661449492 -0.559502094984 --0.846595808864 -0.576760873199 --0.846579581499 -0.594019055367 --0.846565827727 -0.611277028918 --0.846554547548 -0.628534480929 --0.846545770764 -0.645791888237 --0.846539482474 -0.663048952818 --0.846535682678 -0.6803060323 --0.846534386277 -0.697562858462 --0.846535548568 -0.714819893241 --0.846539214253 -0.732076793909 --0.846545353532 -0.749334007502 --0.846554026008 -0.766591235996 --0.846565157175 -0.783848881722 --0.846578776836 -0.801106661558 --0.84659487009 -0.818364962936 --0.846613466739 -0.835623502731 --0.846634477377 -0.852882742882 --0.846646204591 -0.872096642852 --0.846635699272 -0.891308903694 --0.84661449492 -0.908567979932 --0.846595793963 -0.925826743245 --0.846579581499 -0.943084895611 --0.846565827727 -0.960342869163 --0.846554547548 -0.977600336075 --0.846545770764 -0.994857743382 --0.846539482474 -1.01211479306 --0.846535697579 -1.02937188744 --0.846534401178 -1.04662871361 --0.846535563469 -1.06388574839 --0.846539244055 -1.08114266396 --0.846545368433 -1.09839987755 --0.846554026008 -1.11565709114 --0.846565142274 -1.13291472196 --0.846578776836 -1.150172472 --0.846594884991 -1.16743075848 --0.846613466739 -1.18468934298 --0.846634477377 -1.20194858313 --0.846646189689 -1.2211624682 --0.84663566947 -1.24037474394 --0.84661449492 -1.25763383508 --0.846595808864 -1.27489262819 --0.846579581499 -1.29215076566 --0.846565827727 -1.30940869451 --0.846554547548 -1.32666614652 --0.846545770764 -1.34392356872 --0.846539482474 -1.3611806035 --0.846535697579 -1.37843769789 --0.846534386277 -1.39569455385 --0.846535518765 -1.41295158863 --0.846539199352 -1.43020853401 --0.846545383334 -1.44746574759 --0.846554040909 -1.46472296119 --0.846565142274 -1.48198059201 --0.846578776836 -1.49923834204 --0.846594855189 -1.51649665833 --0.846613422036 -1.53375521303 --0.846634417772 -1.55101445318 --0.846646159887 -1.57022833824 --0.846635684371 -1.58944058418 --0.84661449492 -1.60669967532 --0.846595793963 -1.62395843863 --0.846579566598 -1.6412165761 --0.846565812826 -1.65847456455 --0.84655456245 -1.67573204636 --0.846545770764 -1.69298943877 --0.846539482474 -1.71024647355 --0.846535697579 -1.72750356793 --0.846534386277 -1.7447603941 --0.846535563469 -1.76201745868 --0.846539229154 -1.77927437425 --0.846545353532 -1.79653155804 --0.846554026008 -1.81378877163 --0.846565157175 -1.83104640245 --0.846578791737 -1.84830418229 --0.846594884991 -1.86556246877 --0.846613466739 -1.88282102346 --0.846634477377 -1.90008026362 --0.846646189689 -1.91929417849 --0.84663566947 -1.93850645423 --0.84661449492 -1.95576551557 --0.846595793963 -1.97302430868 --0.846579566598 -1.99028247595 --0.846565842628 -2.0075404644 --0.846554562449 -2.02479791641 --0.846545770764 -2.04205524921 --0.846539497375 -2.05931228399 --0.846535697579 -2.07656937838 --0.846534386277 -2.09382623434 --0.846535563469 -2.11108332873 --0.846539229154 -2.12834018469 --0.846545383334 -2.14559733868 --0.84655405581 -2.16285455227 --0.846565157175 -2.1801122427 --0.846578776836 -2.19737005234 --0.84659487009 -2.21462833881 --0.846613466739 -2.23188692331 --0.846634477377 -2.24914616346 --0.846646204591 -2.26836007833 --0.846635699272 -2.28757232428 --0.846614509821 -2.30483132601 --0.846595808864 -2.32209014892 --0.846579581499 -2.33934831619 --0.846565842628 -2.35660624504 --0.846554562449 -2.37386375666 --0.846545755863 -2.39112120867 --0.846539482474 -2.40837824345 --0.84653571248 -2.42563527823 --0.846534401178 -2.44289207459 --0.846535548568 -2.46014910937 --0.846539229154 -2.47740602494 --0.846545398235 -2.49466323852 --0.84655405581 -2.51192051172 --0.846565157175 -2.52917814255 --0.846578776836 -2.54643583298 --0.846594840288 -2.56369411945 --0.846613436937 -2.58095270395 --0.846634477377 -2.5982119441 --0.846646189689 -2.61742585897 --0.846635684371 -2.63663816452 --0.84661449492 -2.65389728546 --0.846595793963 -2.67115604877 --0.846579566598 -2.68841415644 --0.846565827727 -2.70567208529 --0.846554562449 -2.7229295373 --0.846545770764 -2.74018698931 --0.846539497375 -2.75744402409 --0.846535697579 -2.77470111847 --0.846534386277 -2.79195797443 --0.846535548568 -2.80921500921 --0.846539229154 -2.82647192478 --0.846545383334 -2.84372913837 --0.846554040909 -2.86098635197 --0.846565142274 -2.87824392319 --0.846578776836 -2.89550167322 --0.846594855189 -2.91276007891 --0.846613436937 -2.93001866341 --0.846634477377 -2.94727784395 --0.846646204591 -2.96649169922 --0.846635684371 -2.98570394516 --0.84661449492 -3.0029630661 --0.846595808864 -3.02022182941 --0.8465795964 -3.03747999668 --0.84656585753 -3.05473804474 --0.846554577351 -3.07199549675 --0.846545800567 -3.08925282955 --0.846539512277 -3.10650986433 --0.84653571248 -3.12376695871 --0.846534401178 -3.14102378686 --0.846535548568 --3.12490445375 --0.846539214253 --3.10764753818 --0.846545338631 --3.09039032459 --0.846554011106 --3.073133111 --0.846565157175 --3.05587548018 --0.846578776836 --3.03861767054 --0.846594840288 --3.02135932446 --0.846613436937 --3.00410079956 --0.846634462476 --2.98684155941 --0.846646189689 --2.96762770414 --0.846635684371 --2.94841551781 --0.84661449492 --2.93115639687 --0.846595808864 --2.91389763355 --0.846579581499 --2.89663946628 --0.846565827727 --2.87938141823 --0.846554547548 --2.86212396622 --0.846545770764 --2.84486663342 --0.846539467573 --2.82760959864 --0.846535652876 --2.81035250425 --0.846534371376 --2.79309564829 --0.846535548568 --2.77583861351 --0.846539214253 --2.75858175754 --0.846545383334 --2.74132454395 --0.84655405581 --2.72406733036 --0.846565142274 --2.70680963993 --0.846578761935 --2.68955183029 --0.846594840288 --2.67229354382 --0.846613436937 --2.65503501892 --0.846634462476 --2.63777577877 --0.846646189689 --2.61856180429 --0.846635684371 --2.59934955835 --0.84661449492 --2.58209055662 --0.846595808864 --2.5648317337 --0.846579581499 --2.54757356644 --0.846565827727 --2.53031563759 --0.846554547548 --2.51305818558 --0.846545770764 --2.49580079317 --0.846539482474 --2.47854369879 --0.846535682678 --2.4612866044 --0.846534386277 --2.44402980804 --0.846535548568 --2.42677277326 --0.846539214253 --2.40951585769 --0.846545353532 --2.3922586441 --0.846554026008 --2.37500137091 --0.846565157175 --2.35774374008 --0.846578776836 --2.34048604965 --0.84659487009 --2.32322776318 --0.846613466739 --2.30596917868 --0.846634477377 --2.28870993853 --0.846646204591 --2.26949602366 --0.846635699272 --2.25028371811 --0.84661449492 --2.23302465677 --0.846595793963 --2.21576589346 --0.846579581499 --2.1985077858 --0.846565827727 --2.18124985695 --0.846554547548 --2.16399234533 --0.846545770764 --2.14673489332 --0.846539482474 --2.12947785855 --0.846535697579 --2.11222076416 --0.846534401178 --2.0949639082 --0.846535563469 --2.07770687341 --0.846539244055 --2.06044995785 --0.846545368433 --2.04319274426 --0.846554026008 --2.02593553066 --0.846565142274 --2.00867795944 --0.846578776836 --1.99142020941 --0.846594884991 --1.97416186333 --0.846613466739 --1.95690330863 --0.846634477377 --1.93964406848 --0.846646189689 --1.92043018341 --0.84663566947 --1.90121793747 --0.84661449492 --1.88395884633 --0.846595808864 --1.86670008302 --0.846579581499 --1.84944191575 --0.846565827727 --1.8321839273 --0.846554547548 --1.81492647529 --0.846545770764 --1.79766908288 --0.846539482474 --1.7804120481 --0.846535697579 --1.76315492391 --0.846534386277 --1.74589806795 --0.846535518765 --1.72864103317 --0.846539199352 --1.71138414741 --0.846545383334 --1.69412696362 --0.846554040909 --1.67686975002 --0.846565142274 --1.6596121192 --0.846578776836 --1.64235433936 --0.846594855189 --1.62509599328 --0.846613422036 --1.60783740878 --0.846634417772 --1.59057819843 --0.846646159887 --1.57136431337 --0.846635684371 --1.55215203762 --0.84661449492 --1.53489297629 --0.846595793963 --1.51763421297 --0.846579566598 --1.5003760457 --0.846565812826 --1.48311808705 --0.84655456245 --1.46586060524 --0.846545770764 --1.44860318303 --0.846539482474 --1.43134614825 --0.846535697579 --1.41408908367 --0.846534386277 --1.39683225751 --0.846535563469 --1.37957522273 --0.846539229154 --1.36231830717 --0.846545353532 --1.34506109357 --0.846554026008 --1.32780387997 --0.846565157175 --1.31054621935 --0.846578791737 --1.29328846931 --0.846594884991 --1.27603018284 --0.846613466739 --1.25877159834 --0.846634477377 --1.24151235819 --0.846646189689 --1.22229847312 --0.84663566947 --1.20308619737 --0.84661449492 --1.18582710624 --0.846595793963 --1.16856834293 --0.846579566598 --1.15131020546 --0.846565842628 --1.13405224681 --0.846554562449 --1.1167947948 --0.846545770764 --1.09953737259 --0.846539497375 --1.08228033781 --0.846535697579 --1.06502324342 --0.846534386277 --1.04776635766 --0.846535563469 --1.03050932288 --0.846539229154 --1.01325240731 --0.846545383334 --0.995995208622 --0.84655405581 --0.97873802483 --0.846565157175 --0.961480364203 --0.846578776836 --0.944222599268 --0.84659487009 --0.926964297891 --0.846613466739 --0.909705728292 --0.846634477377 --0.892446503043 --0.846646204591 --0.873232617974 --0.846635699272 --0.854020372033 --0.846614509821 --0.836761295795 --0.846595808864 --0.819502517581 --0.846579581499 --0.802244350314 --0.846565842628 --0.784986376762 --0.846554562449 --0.76772890985 --0.846545755863 --0.750471502542 --0.846539482474 --0.733214467764 --0.84653571248 --0.715957388282 --0.846534401178 --0.698700547218 --0.846535548568 --0.681443497539 --0.846539229154 --0.664186596871 --0.846545398235 --0.646929398179 --0.84655405581 --0.629672184586 --0.846565157175 --0.612414553762 --0.846578776836 --0.595156788826 --0.846594840288 --0.577898457646 --0.846613436937 --0.560639888048 --0.846634477377 --0.5433806777 --0.846646189689 --0.524166792631 --0.846635684371 --0.504954516888 --0.84661449492 --0.487695433199 --0.846595793963 --0.470436654985 --0.846579566598 --0.453178495169 --0.846565827727 --0.435920536518 --0.846554562449 --0.418663077057 --0.846545770764 --0.401405669749 --0.846539497375 --0.384148634971 --0.846535697579 --0.366891540587 --0.846534386277 --0.349634692073 --0.846535548568 --0.332377657294 --0.846539229154 --0.315120741725 --0.846545383334 --0.297863528132 --0.846554040909 --0.28060631454 --0.846565142274 --0.263348676264 --0.846578776836 --0.246090915054 --0.846594855189 --0.228832606226 --0.846613436937 --0.211574051529 --0.846634477377 --0.19431482628 --0.846646204591 --0.175100926309 --0.829466477036 --0.155884072185 --0.829445585608 --0.138625018299 --0.829427137971 --0.121366271749 --0.829411134124 --0.104108134285 --0.829397544265 --0.0868501868099 --0.829386383295 --0.0695927292109 --0.829377755523 --0.0523353405297 --0.82937155664 --0.0350783234462 --0.829367801547 --0.0178212451283 --0.829366520047 --0.000564414774997 --0.829367667437 -0.016692598816 --0.829371318221 -0.033949488774 --0.829377382994 -0.0512066828087 --0.829385921359 -0.0684638759121 --0.829396903515 -0.0857214983553 --0.829410359264 -0.102979244664 --0.829426184297 -0.120237534866 --0.829444512725 -0.137496072799 --0.829465284944 -0.154755286872 --0.829476848244 -0.173969350755 --0.829466477036 -0.193181782961 --0.829445570707 -0.210440844298 --0.82942712307 -0.227699588984 --0.829411119223 -0.244957718998 --0.829397544265 -0.262215659022 --0.829386413098 -0.279473111034 --0.829377755523 -0.29673050344 --0.829371541739 -0.313987523317 --0.829367801547 -0.331244602799 --0.829366520047 -0.348501428962 --0.829367652536 -0.365758433938 --0.829371288419 -0.383015334606 --0.829377397895 -0.400272548199 --0.829385951161 -0.41752974689 --0.829396873712 -0.434787355363 --0.82941031456 -0.452045083046 --0.829426199198 -0.469303384423 --0.829444557428 -0.48656193167 --0.829465299845 -0.503821127117 --0.829476878047 -0.52303519845 --0.829466506839 -0.542247638107 --0.829445585608 -0.55950666964 --0.829427137971 -0.576765432954 --0.829411119223 -0.594023600221 --0.829397544265 -0.611281529069 --0.829386413098 -0.628538966179 --0.829377770424 -0.645796358585 --0.82937155664 -0.663053393364 --0.829367801547 -0.680310487747 --0.829366520047 -0.697567299009 --0.829367652536 -0.714824303985 --0.829371288419 -0.732081189752 --0.829377368092 -0.749338388443 --0.829385921359 -0.766595587135 --0.829396888614 -0.783853203058 --0.829410329461 -0.801110967994 --0.829426229 -0.818369269371 --0.829444587231 -0.835627794266 --0.829465314746 -0.852887004614 --0.829476863146 -0.872101068497 --0.829466491938 -0.891313493252 --0.82944560051 -0.908572539687 --0.829427137971 -0.925831273198 --0.829411119223 -0.943089425564 --0.829397529364 -0.960347369313 --0.829386398197 -0.977604821324 --0.829377755523 -0.994862213729 --0.82937155664 -1.01211923361 --0.829367816448 -1.02937632799 --0.829366520047 -1.04663312435 --0.829367682338 -1.06389012933 --0.829371318221 -1.0811470449 --0.82937733829 -1.09840422868 --0.829385891557 -1.11566141247 --0.829396873712 -1.1329190433 --0.82941031456 -1.15017679334 --0.829426229 -1.16743507982 --0.829444572329 -1.18469363451 --0.829465299845 -1.20195284486 --0.829476878047 -1.22116687894 --0.829466491937 -1.2403793335 --0.829445585608 -1.25763842463 --0.829427137971 -1.27489715814 --0.829411119223 -1.29215526581 --0.829397544265 -1.30941319466 --0.829386413098 -1.32667064667 --0.829377755523 -1.34392803907 --0.82937155664 -1.36118507385 --0.829367816448 -1.37844216824 --0.829366505146 -1.3956989944 --0.829367622733 -1.41295599938 --0.829371273517 -1.43021288514 --0.829377397895 -1.44747009873 --0.829385921359 -1.46472731232 --0.82939684391 -1.48198491335 --0.82941031456 -1.49924266338 --0.829426199198 -1.51650094986 --0.829444527626 -1.53375947476 --0.829465270042 -1.55101871491 --0.829476833343 -1.57023277879 --0.829466491938 -1.58944517374 --0.829445615411 -1.60670420528 --0.82942712307 -1.62396296859 --0.829411104322 -1.64122113585 --0.829397544265 -1.65847909451 --0.829386413098 -1.67573654652 --0.829377770424 -1.69299393892 --0.82937155664 -1.7102509439 --0.829367816448 -1.72750800848 --0.829366520047 -1.74476480484 --0.829367667437 -1.76202183962 --0.829371318221 -1.77927875519 --0.829377368092 -1.79653590917 --0.829385921359 -1.81379309296 --0.829396903515 -1.83105072379 --0.829410359264 -1.84830847382 --0.829426243901 -1.8655667603 --0.829444587231 -1.8828253448 --0.829465299845 -1.90008455515 --0.829476833343 -1.91929858923 --0.829466462135 -1.93851104379 --0.829445585608 -1.95577010512 --0.829427137971 -1.97302883863 --0.829411119223 -1.9902869761 --0.829397559166 -2.00754496455 --0.829386427999 -2.02480244637 --0.829377755523 -2.04205977917 --0.82937155664 -2.05931675434 --0.829367816448 -2.07657384872 --0.829366520047 -2.09383064509 --0.829367682338 -2.11108767987 --0.829371333122 -2.12834459543 --0.829377412796 -2.14560174942 --0.829385951161 -2.16285896301 --0.829396888614 -2.18011659384 --0.829410344362 -2.19737434387 --0.829426243901 -2.21463263035 --0.829444587231 -2.23189115524 --0.829465314746 -2.24915039539 --0.829476892948 -2.26836448908 --0.82946652174 -2.28757691384 --0.829445585608 -2.30483591557 --0.82942712307 -2.32209467888 --0.829411119223 -2.33935284615 --0.829397559166 -2.356610775 --0.829386427999 -2.37386822701 --0.829377770424 -2.39112567902 --0.829371571541 -2.40838271379 --0.829367816448 -2.42563968897 --0.829366520047 -2.44289648533 --0.829367652536 -2.46015352011 --0.829371288419 -2.47741043568 --0.829377368092 -2.49466764927 --0.829385921359 -2.51192486286 --0.829396903515 -2.52918249369 --0.829410359264 -2.54644018412 --0.829426229 -2.56369847059 --0.829444572329 -2.58095699549 --0.829465314746 -2.59821617603 --0.829476848244 -2.61743026972 --0.829466477036 -2.63664275408 --0.829445585608 -2.65390187502 --0.82942712307 -2.67116057873 --0.829411119223 -2.68841862679 --0.829397559166 -2.70567655564 --0.829386427999 -2.72293400765 --0.829377770424 -2.74019145966 --0.829371571541 -2.75744849443 --0.829367816448 -2.77470552921 --0.829366520047 -2.79196238518 --0.829367667437 -2.80921941995 --0.829371318221 -2.82647627592 --0.829377412796 -2.84373342991 --0.829385951161 -2.8609906435 --0.829396888614 -2.87824827433 --0.829410344362 -2.89550596476 --0.829426214099 -2.91276431084 --0.829444542527 -2.93002295494 --0.829465299845 -2.94728213549 --0.829476863146 -2.96649610996 --0.829466477036 -2.98570853472 --0.829445585608 -3.00296765566 --0.829427137971 -3.02022641897 --0.829411134124 -3.03748452663 --0.829397544265 -3.05474251509 --0.829386383295 -3.0719999671 --0.829377755523 -3.0892572999 --0.82937155664 -3.10651433468 --0.829367801547 -3.12377142906 --0.829366520047 -3.14102825721 --0.829367667437 --3.12490004301 --0.829371318221 --3.10764318704 --0.829377382994 --3.09038597346 --0.829385921359 --3.07312875986 --0.829396903515 --3.05587112904 --0.829410359264 --3.0386133194 --0.829426184297 --3.02135503292 --0.829444512725 --3.00409650803 --0.829465284944 --2.98683726787 --0.829476848244 --2.9676232934 --0.829466477036 --2.94841092825 --0.829445570707 --2.93115180731 --0.82942712307 --2.913893044 --0.829411119223 --2.89663487673 --0.829397544265 --2.87937688827 --0.829386413098 --2.86211943626 --0.829377755523 --2.84486210346 --0.829371541739 --2.82760512829 --0.829367801547 --2.8103480339 --0.829366520047 --2.79309123754 --0.829367652536 --2.77583426237 --0.829371288419 --2.7585773468 --0.829377397895 --2.74132013321 --0.829385951161 --2.72406297922 --0.829396873712 --2.7068053484 --0.82941031456 --2.68954753876 --0.829426199198 --2.67228925228 --0.829444557428 --2.65503072739 --0.829465299845 --2.63777148723 --0.829476878047 --2.61855739355 --0.829466506839 --2.5993449688 --0.829445585608 --2.58208596706 --0.829427137971 --2.56482720375 --0.829411119223 --2.54756903649 --0.829397544265 --2.53031110764 --0.829386413098 --2.51305365562 --0.829377770424 --2.49579632282 --0.82937155664 --2.47853928804 --0.829367801547 --2.46128219366 --0.829366520047 --2.4440253973 --0.829367652536 --2.42676830292 --0.829371288419 --2.40951138735 --0.829377368092 --2.39225423336 --0.829385921359 --2.37499701977 --0.829396888614 --2.35773938894 --0.829410329461 --2.34048169851 --0.829426229 --2.32322341204 --0.829444587231 --2.30596488714 --0.829465314746 --2.28870570659 --0.829476863146 --2.26949161291 --0.829466491938 --2.25027912855 --0.82944560051 --2.23302012682 --0.829427137971 --2.21576142311 --0.829411119223 --2.19850325584 --0.829397529364 --2.181245327 --0.829386398197 --2.16398787498 --0.829377755523 --2.14673042297 --0.82937155664 --2.1294733882 --0.829367816448 --2.11221635342 --0.829366520047 --2.09495949745 --0.829367682338 --2.07770246268 --0.829371318221 --2.06044560671 --0.82937733829 --2.04318845272 --0.829385891557 --2.02593123913 --0.829396873712 --2.0086736083 --0.82941031456 --1.99141585827 --0.829426229 --1.97415754199 --0.829444572329 --1.9568990171 --0.829465299845 --1.93963980675 --0.829476878047 --1.92042574287 --0.829466491937 --1.90121334791 --0.829445585608 --1.88395428657 --0.829427137971 --1.86669552326 --0.829411119223 --1.8494373858 --0.829397544265 --1.83217942715 --0.829386413098 --1.81492197513 --0.829377755523 --1.79766458273 --0.82937155664 --1.78040757776 --0.829367816448 --1.76315048337 --0.829366505146 --1.7458936274 --0.829367622733 --1.72863662243 --0.829371273517 --1.71137976647 --0.829377397895 --1.69412261248 --0.829385921359 --1.67686539888 --0.82939684391 --1.65960776806 --0.82941031456 --1.64235004782 --0.829426199198 --1.62509173155 --0.829444527626 --1.60783317685 --0.829465270042 --1.5905739665 --0.829476833343 --1.57135990262 --0.829466491938 --1.55214747787 --0.829445615411 --1.53488841653 --0.82942712307 --1.51762965321 --0.829411104322 --1.50037151575 --0.829397544265 --1.4831135869 --0.829386413098 --1.46585613489 --0.829377770424 --1.44859871268 --0.82937155664 --1.4313416779 --0.829367816448 --1.41408464312 --0.829366520047 --1.39682784676 --0.829367667437 --1.37957081199 --0.829371318221 --1.36231389642 --0.829377368092 --1.34505671263 --0.829385921359 --1.32779952883 --0.829396903515 --1.31054189801 --0.829410359264 --1.29328414798 --0.829426243901 --1.2760258615 --0.829444587231 --1.25876730681 --0.829465299845 --1.24150809646 --0.829476833343 --1.22229403258 --0.829466462135 --1.20308157802 --0.829445585608 --1.18582251668 --0.829427137971 --1.16856378317 --0.829411119223 --1.15130567551 --0.829397559166 --1.13404774666 --0.829386427999 --1.11679029464 --0.829377755523 --1.09953290224 --0.82937155664 --1.08227589727 --0.829367816448 --1.06501880288 --0.829366520047 --1.04776194692 --0.829367682338 --1.03050494194 --0.829371333122 --1.01324805618 --0.829377412796 --0.995990872383 --0.829385951161 --0.978733673691 --0.829396888614 --0.961476042867 --0.829410344362 --0.944218307734 --0.829426243901 --0.926960006356 --0.829444587231 --0.909701451659 --0.829465314746 --0.892442256212 --0.829476892948 --0.87322820723 --0.82946652174 --0.854015782476 --0.829445585608 --0.83675673604 --0.82942712307 --0.819497972727 --0.829411119223 --0.802239820361 --0.829397559166 --0.784981876612 --0.829386427999 --0.7677244246 --0.829377770424 --0.750467017293 --0.829371571541 --0.733209997416 --0.829367816448 --0.715952932835 --0.829366520047 --0.698696106672 --0.829367652536 --0.681439101696 --0.829371288419 --0.664182201028 --0.829377368092 --0.646925002337 --0.829385921359 --0.629667833447 --0.829396903515 --0.612410217524 --0.829410359264 --0.595152467489 --0.829426229 --0.577894166112 --0.829444572329 --0.560635611415 --0.829465314746 --0.543376415968 --0.829476848244 --0.524162366986 --0.829466477036 --0.50494992733 --0.829445585608 --0.487690858543 --0.82942712307 --0.470432110131 --0.829411119223 --0.453173972666 --0.829397559166 --0.435916021466 --0.829386427999 --0.418658576906 --0.829377770424 --0.401401199401 --0.829371571541 --0.384144186974 --0.829367816448 --0.366887100041 --0.829366520047 --0.349630266428 --0.829367667437 --0.332373254001 --0.829371318221 --0.315116353333 --0.829377412796 --0.297859162092 --0.829385951161 --0.280601978302 --0.829396888614 --0.263344362378 --0.829410344362 --0.246086616069 --0.829426214099 --0.228828310966 --0.829444542527 --0.211569771171 --0.829465299845 --0.194310564548 --0.829476863146 --0.17509650439 --0.812276124954 --0.155879437923 --0.812255531549 --0.138620402664 --0.812237352133 --0.121361674741 --0.812221542001 --0.104103557765 --0.812208145857 --0.0868456270546 --0.812197163701 --0.0695881899446 --0.812188625336 --0.0523308198899 --0.812182500958 --0.0350738200359 --0.812178820371 --0.0178167605773 --0.812177568674 --0.000559948384763 --0.812178701162 -0.0166970468126 --0.812182292342 -0.0339539190754 --0.81218829751 -0.051211095415 --0.812196716666 -0.0684682689607 --0.812207549811 -0.0857258737087 --0.812220811844 -0.102983601391 --0.81223641336 -0.120241876691 --0.812254503369 -0.137500397861 --0.812274992466 -0.154759593308 --0.812286391854 -0.173973824828 --0.812276124954 -0.193186417222 --0.812255516648 -0.210445452482 --0.812237337232 -0.227704178542 --0.8122215271 -0.24496229738 --0.812208145857 -0.262220226228 --0.812197178602 -0.279477663338 --0.812188640237 -0.296735025943 --0.812182530761 -0.313992030919 --0.812178835273 -0.33124910295 --0.812177553773 -0.34850589931 --0.81217867136 -0.365762881935 --0.81218226254 -0.383019760251 --0.812188282609 -0.400276951492 --0.812196701765 -0.417534127831 --0.812207490206 -0.434791728854 --0.812220752239 -0.452049449086 --0.812236428261 -0.469307728112 --0.812254548073 -0.486566260457 --0.812274992466 -0.503825441003 --0.812286406755 -0.5230396837 --0.812276169658 -0.542252287269 --0.812255546451 -0.559511303902 --0.812237337232 -0.576770052314 --0.8122215271 -0.594028174877 --0.812208160758 -0.611286073923 --0.812197193503 -0.628543511033 --0.812188655138 -0.645800888538 --0.812182530761 -0.663057893515 --0.812178820372 -0.680314958096 --0.812177538872 -0.697571754456 --0.81217867136 -0.714828759432 --0.81218226254 -0.732085630297 --0.812188267707 -0.749342799187 --0.812196686864 -0.766599968076 --0.812207490206 -0.783857569099 --0.812220752239 -0.801115304232 --0.812236428261 -0.818373575807 --0.812254548073 -0.8356320858 --0.812275007367 -0.852891296148 --0.812286391854 -0.872105538845 --0.812276124954 -0.891318127513 --0.812255531549 -0.908577159047 --0.812237352133 -0.925835862756 --0.812221542001 -0.943093985319 --0.812208160758 -0.960351914168 --0.812197193503 -0.977609351277 --0.812188640237 -0.99486671388 --0.812182515859 -1.01212370395 --0.812178820372 -1.02938076854 --0.812177538872 -1.0466375649 --0.812178686261 -1.06389459968 --0.812182277441 -1.08115151525 --0.812188252806 -1.09840866923 --0.812196671963 -1.11566582322 --0.812207490206 -1.13292342424 --0.812220752239 -1.15018114447 --0.812236428261 -1.16743943096 --0.812254533172 -1.18469795585 --0.812274992466 -1.20195713639 --0.812286421657 -1.22117137909 --0.812276169658 -1.24038398266 --0.812255546451 -1.25764301419 --0.812237352133 -1.2749017179 --0.812221542001 -1.29215982556 --0.812208160758 -1.30941775441 --0.812197193503 -1.32667520643 --0.812188640237 -1.34393259883 --0.812182515859 -1.3611896038 --0.812178820372 -1.37844666839 --0.81217752397 -1.39570346475 --0.812178656459 -1.41296043992 --0.81218226254 -1.43021729588 --0.812188282609 -1.44747447967 --0.812196686864 -1.46473166347 --0.812207460404 -1.48198926449 --0.812220752239 -1.49924701452 --0.812236443162 -1.5165052712 --0.812254533172 -1.53376379609 --0.812274992466 -1.55102300644 --0.812286391854 -1.57023721934 --0.812276139855 -1.5894498229 --0.812255516648 -1.60670885444 --0.812237307429 -1.62396758795 --0.8122215271 -1.64122572541 --0.812208175659 -1.65848365426 --0.812197208404 -1.67574107647 --0.812188655138 -1.69299843907 --0.812182515859 -1.71025544405 --0.812178820372 -1.72751250863 --0.812177538872 -1.74476930499 --0.81217867136 -1.76202630996 --0.812182277441 -1.77928319573 --0.812188282609 -1.79654034972 --0.812196701765 -1.81379750371 --0.812207505107 -1.83105510473 --0.812220782042 -1.84831282496 --0.812236443162 -1.86557111144 --0.812254548073 -1.88282966614 --0.812274977565 -1.90008884669 --0.812286362052 -1.91930305958 --0.812276139855 -1.93851566315 --0.812255546451 -1.95577472448 --0.812237352133 -1.973033458 --0.812221542001 -1.99029153585 --0.812208160758 -2.0075494647 --0.812197193503 -2.02480691672 --0.812188640237 -2.04206424952 --0.812182515859 -2.05932128429 --0.812178820372 -2.07657837868 --0.812177538872 -2.09383511543 --0.812178686261 -2.11109209061 --0.812182292342 -2.12834900618 --0.81218829751 -2.14560621977 --0.812196716666 -2.16286343336 --0.812207505107 -2.18012100458 --0.81222076714 -2.19737869501 --0.812236443162 -2.21463698149 --0.812254548073 -2.23189550638 --0.812275007367 -2.24915468693 --0.812286421657 -2.26836889982 --0.812276169658 -2.28758150339 --0.812255531549 -2.30484050512 --0.812237337232 -2.32209926844 --0.812221542001 -2.3393574357 --0.812208175659 -2.35661530495 --0.812197208404 -2.37387275696 --0.812188655138 -2.39113020897 --0.812182530761 -2.40838718414 --0.812178820372 -2.42564415932 --0.812177538872 -2.44290095568 --0.81217867136 -2.46015793085 --0.81218226254 -2.47741478682 --0.812188252806 -2.49467200041 --0.812196671963 -2.511929214 --0.812207505107 -2.52918684483 --0.812220782042 -2.54644453526 --0.812236458063 -2.56370282173 --0.812254562974 -2.58096134663 --0.812275007367 -2.59822052717 --0.812286391854 -2.61743479967 --0.812276139855 -2.63664740324 --0.812255531549 -2.65390646458 --0.812237337232 -2.67116516829 --0.812221542001 -2.68842321634 --0.812208160758 -2.70568114519 --0.812197193503 -2.7229385972 --0.812188655138 -2.74019598961 --0.812182530761 -2.75745296478 --0.812178835273 -2.77470999956 --0.812177553773 -2.79196685553 --0.812178686261 -2.8092238903 --0.812182292342 -2.82648074627 --0.81218829751 -2.84373784065 --0.812196701765 -2.86099499464 --0.812207505107 -2.87825262547 --0.812220782042 -2.8955103755 --0.812236443162 -2.91276866197 --0.812254533172 -2.93002724647 --0.812274977565 -2.94728648662 --0.812286376953 -2.96650063992 --0.812276124954 -2.98571318388 --0.812255531549 -3.00297224522 --0.812237352133 -3.02023100853 --0.812221542001 -3.03748911619 --0.812208145857 -3.05474704504 --0.812197163701 -3.07200443744 --0.812188625336 -3.08926177025 --0.812182500958 -3.10651880503 --0.812178820371 -3.12377589941 --0.812177568674 -3.14103272756 --0.812178701162 --3.12489557266 --0.812182292342 --3.1076387167 --0.81218829751 --3.09038156271 --0.812196716666 --3.07312440872 --0.812207549811 --3.0558667779 --0.812220811844 --3.03860896826 --0.81223641336 --3.02135074139 --0.812254503369 --3.00409221649 --0.812274992466 --2.98683297634 --0.812286391854 --2.96761882305 --0.812276124954 --2.94840627909 --0.812255516648 --2.93114721775 --0.812237337232 --2.91388845444 --0.8122215271 --2.89663028717 --0.812208145857 --2.87937235832 --0.812197178602 --2.86211496591 --0.812188640237 --2.84485763311 --0.812182530761 --2.82760059834 --0.812178835273 --2.81034350395 --0.812177553773 --2.7930867672 --0.81217867136 --2.77582979202 --0.81218226254 --2.75857287645 --0.812188282609 --2.74131566286 --0.812196701765 --2.72405850887 --0.812207490206 --2.70680093765 --0.812220752239 --2.68954318762 --0.812236428261 --2.67228490114 --0.812254548073 --2.65502637625 --0.812274992466 --2.6377671957 --0.812286406755 --2.61855298281 --0.812276169658 --2.59934037924 --0.812255546451 --2.58208137751 --0.812237337232 --2.56482261419 --0.8122215271 --2.54756444693 --0.812208160758 --2.53030657768 --0.812197193503 --2.51304912567 --0.812188655138 --2.49579173326 --0.812182530761 --2.47853475809 --0.812178820372 --2.46127772331 --0.812177538872 --2.44402092695 --0.81217867136 --2.42676389218 --0.81218226254 --2.40950703621 --0.812188267707 --2.39224988222 --0.812196686864 --2.37499266863 --0.812207490206 --2.3577350378 --0.812220752239 --2.34047734737 --0.812236428261 --2.3232190609 --0.812254548073 --2.305960536 --0.812275007367 --2.28870135546 --0.812286391854 --2.26948714256 --0.812276124954 --2.250274539 --0.812255531549 --2.23301547766 --0.812237352133 --2.21575677395 --0.812221542001 --2.19849866629 --0.812208160758 --2.18124073744 --0.812197193503 --2.16398328543 --0.812188640237 --2.14672589302 --0.812182515859 --2.12946891785 --0.812178820372 --2.11221194267 --0.812177538872 --2.09495508671 --0.812178686261 --2.07769799233 --0.812182277441 --2.06044113636 --0.812188252806 --2.04318404198 --0.812196671963 --2.02592688799 --0.812207490206 --2.00866919756 --0.812220752239 --1.99141144752 --0.812236428261 --1.97415319085 --0.812254533172 --1.95689466596 --0.812274992466 --1.93963551521 --0.812286421657 --1.92042130232 --0.812276169658 --1.90120869875 --0.812255546451 --1.88394963741 --0.812237352133 --1.8666909039 --0.812221542001 --1.84943279624 --0.812208160758 --1.83217486739 --0.812197193503 --1.81491744519 --0.812188640237 --1.79766008258 --0.812182515859 --1.7804030776 --0.812178820372 --1.76314598322 --0.81217752397 --1.74588915706 --0.812178656459 --1.72863218189 --0.81218226254 --1.71137532592 --0.812188282609 --1.69411817193 --0.812196686864 --1.67686098814 --0.812207460404 --1.65960338712 --0.812220752239 --1.64234566688 --0.812236443162 --1.62508738041 --0.812254533172 --1.60782888532 --0.812274992466 --1.59056967497 --0.812286391854 --1.57135543227 --0.812276139855 --1.55214285851 --0.812255516648 --1.53488382697 --0.812237307429 --1.51762506366 --0.8122215271 --1.500366956 --0.812208175659 --1.48310905695 --0.812197208404 --1.46585160494 --0.812188655138 --1.44859421253 --0.812182515859 --1.43133720755 --0.812178820372 --1.41408017278 --0.812177538872 --1.39682337642 --0.81217867136 --1.37956637144 --0.812182277441 --1.36230948567 --0.812188282609 --1.34505230188 --0.812196701765 --1.32779511809 --0.812207505107 --1.31053751707 --0.812220782042 --1.29327979684 --0.812236443162 --1.27602151037 --0.812254548073 --1.25876298547 --0.812274977565 --1.24150380493 --0.812286362052 --1.22228956223 --0.812276139855 --1.20307695866 --0.812255546451 --1.18581792712 --0.812237352133 --1.16855922341 --0.812221542001 --1.15130111575 --0.812208160758 --1.1340431869 --0.812197193503 --1.11678573489 --0.812188640237 --1.09952837229 --0.812182515859 --1.08227139711 --0.812178820372 --1.06501430273 --0.812177538872 --1.04775747657 --0.812178686261 --1.0305005014 --0.812182292342 --1.01324364543 --0.81218829751 --0.99598647654 --0.812196716666 --0.978729277849 --0.812207505107 --0.961471676826 --0.81222076714 --0.944213956595 --0.812236443162 --0.926955655217 --0.812254548073 --0.909697115421 --0.812275007367 --0.892437934875 --0.812286421657 --0.873223721981 --0.812276169658 --0.854011118412 --0.812255531549 --0.836752101779 --0.812237337232 --0.819493368268 --0.812221542001 --0.802235245704 --0.812208175659 --0.784977331757 --0.812197208404 --0.767719894647 --0.812188655138 --0.750462517142 --0.812182530761 --0.733205527067 --0.812178820372 --0.715948462486 --0.812177538872 --0.698691636324 --0.81217867136 --0.68143466115 --0.81218226254 --0.664177790284 --0.812188252806 --0.646920591593 --0.812196671963 --0.629663422704 --0.812207505107 --0.612405836582 --0.812220782042 --0.595148101449 --0.812236458063 --0.577889829874 --0.812254562974 --0.560631290078 --0.812275007367 --0.543372094631 --0.812286391854 --0.524157881737 --0.812276139855 --0.504945285618 --0.812255531549 --0.487686246634 --0.812237337232 --0.470427513122 --0.812221542001 --0.45316939801 --0.812208160758 --0.435911476612 --0.812197193503 --0.418654054403 --0.812188655138 --0.401396684349 --0.812182530761 --0.384139679372 --0.812178835273 --0.366882622242 --0.812177553773 --0.349625810981 --0.812178686261 --0.332368806005 --0.812182292342 --0.315111927688 --0.81218829751 --0.297854758799 --0.812196701765 --0.280597597361 --0.812207505107 --0.263339996338 --0.812220782042 --0.246082257479 --0.812236443162 --0.228823974729 --0.812254533172 --0.211565453559 --0.812274977565 --0.194306258112 --0.812286376953 --0.175092030317 --0.792548984289 --0.155873045325 --0.792528688908 --0.138614024967 --0.792510807514 --0.121355315671 --0.792495280504 --0.104097232223 --0.792482107877 --0.0868393294513 --0.792471304536 --0.0695819184184 --0.792462930083 --0.052324575372 --0.792456924915 --0.0350676011294 --0.792453274131 --0.0178105658852 --0.792452022433 --0.000553778838367 --0.792453154922 -0.016703190282 --0.792456686497 -0.0339600369334 --0.792462557554 -0.051217187196 --0.792470872402 -0.0684743383899 --0.792481556535 -0.0857319198549 --0.792494550348 -0.102989617735 --0.792509913445 -0.120247868821 --0.792527735233 -0.137506373227 --0.792547866702 -0.154765538871 --0.792559087277 -0.173979990184 --0.792548984289 -0.193192813545 --0.792528703809 -0.210451826453 --0.792510822415 -0.227710526437 --0.792495250702 -0.244968622923 --0.792482092977 -0.26222653687 --0.792471319437 -0.279483936727 --0.792462930083 -0.296741269529 --0.792456924915 -0.313998259604 --0.79245325923 -0.331255301833 --0.792451992631 -0.348512083292 --0.792453125119 -0.365769051015 --0.792456656694 -0.383025892079 --0.792462557554 -0.400283046067 --0.792470827699 -0.417540192604 --0.792481467128 -0.434797771275 --0.792494535446 -0.452055476605 --0.792509928346 -0.469313725829 --0.792527735233 -0.486572228372 --0.792547851801 -0.503831394017 --0.792559072375 -0.52304585278 --0.79254899919 -0.542258679867 --0.79252871871 -0.5595176965 --0.792510807514 -0.576776400208 --0.792495250702 -0.594034478068 --0.792482107878 -0.611292377114 --0.792471334338 -0.628549799323 --0.792462930083 -0.645807147026 --0.792456910014 -0.663064107299 --0.79245325923 -0.680321127176 --0.792451992631 -0.697577923536 --0.792453125119 -0.71483489871 --0.792456656694 -0.732091739774 --0.792462527752 -0.749348893762 --0.792470797896 -0.766606032848 --0.792481467128 -0.783863604069 --0.792494535446 -0.8011213094 --0.792509943247 -0.818379566074 --0.792527750134 -0.835638046265 --0.792547866702 -0.852897211909 --0.792559072375 -0.872111678124 --0.792548969388 -0.89132450521 --0.792528703809 -0.908583521843 --0.792510822415 -0.92584221065 --0.792495265603 -0.943100318313 --0.792482122779 -0.96035823226 --0.792471349239 -0.977615624666 --0.792462930083 -0.994872972369 --0.792456910014 -1.01212993264 --0.79245325923 -1.02938696742 --0.792451992631 -1.04664376378 --0.792453125119 -1.06390073895 --0.792456656694 -1.08115759492 --0.792462557554 -1.09841474891 --0.7924708426 -1.11567190289 --0.792481482029 -1.13292947412 --0.792494535446 -1.15018716455 --0.792509928346 -1.16744542122 --0.792527735233 -1.18470391631 --0.792547866702 -1.20196306706 --0.792559087277 -1.22117754817 --0.79254899919 -1.24039036035 --0.79252871871 -1.25764936209 --0.792510822415 -1.2749080658 --0.792495265603 -1.29216614365 --0.792482107878 -1.3094240725 --0.792471334338 -1.32668149471 --0.792462930083 -1.34393885732 --0.792456910014 -1.36119583249 --0.79245325923 -1.37845283747 --0.79245197773 -1.39570960402 --0.792453125119 -1.4129665792 --0.792456686497 -1.43022343516 --0.792462557554 -1.44748058915 --0.792470812798 -1.46473774314 --0.792481452227 -1.48199531436 --0.792494505644 -1.49925303459 --0.792509928346 -1.51651129127 --0.792527750134 -1.53376978636 --0.792547866702 -1.5510289371 --0.792559072375 -1.57024335861 --0.792548954487 -1.5894562006 --0.792528659105 -1.60671523214 --0.792510792613 -1.62397393585 --0.792495250702 -1.64123204351 --0.792482107877 -1.65848994255 --0.792471349239 -1.67574733496 --0.792462930083 -1.69300466776 --0.792456924915 -1.71026167273 --0.79245325923 -1.72751873732 --0.79245197773 -1.74477550387 --0.792453125119 -1.76203244924 --0.792456656694 -1.77928930521 --0.792462557554 -1.7965464592 --0.7924708426 -1.81380358338 --0.792481482029 -1.8310611546 --0.792494535446 -1.84831884504 --0.792509943247 -1.86557710171 --0.792527750134 -1.8828356266 --0.792547851801 -1.90009480715 --0.792559072375 -1.91930925846 --0.79254899919 -1.93852207064 --0.79252871871 -1.95578110218 --0.792510822415 -1.97303980589 --0.792495265603 -1.99029785395 --0.792482107878 -2.00755572319 --0.792471334338 -2.0248131156 --0.792462930083 -2.0420704484 --0.792456910014 -2.05932748318 --0.79245325923 -2.07658457756 --0.792451992631 -2.09384131432 --0.792453125119 -2.11109822988 --0.792456656694 -2.12835508585 --0.792462557554 -2.14561229944 --0.7924708426 -2.16286945343 --0.792481482029 -2.18012702465 --0.792494535446 -2.19738471508 --0.792509928346 -2.21464294195 --0.792527735233 -2.23190146684 --0.792547866702 -2.24916064739 --0.792559087277 -2.2683750987 --0.79254899919 -2.28758794069 --0.79252871871 -2.30484694242 --0.792510837316 -2.32210564613 --0.792495280504 -2.3393637538 --0.792482122779 -2.35662162304 --0.792471349239 -2.37387901545 --0.792462930083 -2.39113640785 --0.792456910014 -2.40839338302 --0.79245325923 -2.4256503582 --0.792451992631 -2.44290715456 --0.792453125119 -2.46016412973 --0.792456656694 -2.47742092609 --0.792462542653 -2.49467808008 --0.792470827699 -2.51193529368 --0.792481482029 -2.5291928649 --0.792494535446 -2.54645055533 --0.792509943247 -2.5637088418 --0.792527750134 -2.58096730709 --0.792547866702 -2.59822648763 --0.792559087277 -2.61744099855 --0.79254899919 -2.63665378094 --0.79252871871 -2.65391278267 --0.792510822415 -2.67117148638 --0.792495265603 -2.68842953443 --0.792482107878 -2.70568746328 --0.792471334338 -2.72294491529 --0.792462930083 -2.74020224809 --0.792456910014 -2.75745922327 --0.79245325923 -2.77471625805 --0.792451992631 -2.79197305441 --0.792453125119 -2.80923002958 --0.792456656694 -2.82648688555 --0.792462542653 -2.84374397993 --0.792470812798 -2.86100107432 --0.792481467128 -2.87825864554 --0.792494535446 -2.89551639557 --0.792509943247 -2.91277468204 --0.792527750134 -2.93003320694 --0.792547851801 -2.94729238748 --0.792559072375 -2.96650677919 --0.792548984289 -2.98571956158 --0.792528688908 -3.00297856331 --0.792510807514 -3.02023732662 --0.792495280504 -3.03749549389 --0.792482107877 -3.05475336313 --0.792471304536 -3.07201069593 --0.792462930083 -3.08926802873 --0.792456924915 -3.10652500391 --0.792453274131 -3.12378209829 --0.792452022433 -3.14103892644 --0.792453154922 --3.12488943338 --0.792456686497 --3.10763257742 --0.792462557554 --3.09037548304 --0.792470872402 --3.07311838865 --0.792481556535 --3.05586075783 --0.792494550348 --3.03860300779 --0.792509913445 --3.02134478092 --0.792527735233 --3.00408625603 --0.792547866702 --2.98682707548 --0.792559087277 --2.96761268378 --0.792548984289 --2.94839990139 --0.792528703809 --2.93114089966 --0.792510822415 --2.91388213634 --0.792495250702 --2.89662396908 --0.792482092977 --2.87936609983 --0.792471319437 --2.86210876703 --0.792462930083 --2.84485143423 --0.792456924915 --2.82759439945 --0.79245325923 --2.81033730507 --0.792451992631 --2.79308056832 --0.792453125119 --2.77582365275 --0.792456656694 --2.75856679678 --0.792462557554 --2.74130958319 --0.792470827699 --2.7240524292 --0.792481467128 --2.70679485798 --0.792494535446 --2.68953716755 --0.792509928346 --2.67227894068 --0.792527735233 --2.65502041578 --0.792547851801 --2.63776123524 --0.792559072375 --2.61854678392 --0.79254899919 --2.59933394194 --0.79252871871 --2.5820749402 --0.792510807514 --2.5648162365 --0.792495250702 --2.54755812883 --0.792482107878 --2.53030025959 --0.792471334338 --2.51304280758 --0.792462930083 --2.49578541517 --0.792456910014 --2.4785284996 --0.79245325923 --2.46127152443 --0.792451992631 --2.44401472807 --0.792453125119 --2.4267577529 --0.792456656694 --2.40950095654 --0.792462527752 --2.39224380255 --0.792470797896 --2.37498658895 --0.792481467128 --2.35772901773 --0.792494535446 --2.3404713273 --0.792509943247 --2.32321304083 --0.792527750134 --2.30595457554 --0.792547866702 --2.28869539499 --0.792559072375 --2.26948094368 --0.792548969388 --2.2502681613 --0.792528703809 --2.23300909996 --0.792510822415 --2.21575039625 --0.792495265603 --2.19849234819 --0.792482122779 --2.18123441934 --0.792471349239 --2.16397696734 --0.792462930083 --2.14671963453 --0.792456910014 --2.12946265936 --0.79245325923 --2.11220568418 --0.792451992631 --2.09494888782 --0.792453125119 --2.07769185305 --0.792456656694 --2.06043499708 --0.792462557554 --2.0431779027 --0.7924708426 --2.02592080831 --0.792481482029 --2.00866317749 --0.792494535446 --1.99140545726 --0.792509928346 --1.97414720059 --0.792527735233 --1.95688870549 --0.792547866702 --1.93962958455 --0.792559087277 --1.92041513324 --0.79254899919 --1.90120229125 --0.79252871871 --1.88394328952 --0.792510822415 --1.86668458581 --0.792495265603 --1.84942647815 --0.792482107878 --1.8321685791 --0.792471334338 --1.8149111867 --0.792462930083 --1.79765385389 --0.792456910014 --1.78039684892 --0.79245325923 --1.76313978434 --0.79245197773 --1.74588301778 --0.792453125119 --1.7286260426 --0.792456686497 --1.71136918664 --0.792462557554 --1.69411206245 --0.792470812798 --1.67685493827 --0.792481452227 --1.65959736705 --0.792494505644 --1.64233964681 --0.792509928346 --1.62508139014 --0.792527750134 --1.60782289505 --0.792547866702 --1.59056371451 --0.792559072375 --1.57134926319 --0.792548954487 --1.55213645101 --0.792528659105 --1.53487744928 --0.792510792613 --1.51761871577 --0.792495250702 --1.5003606379 --0.792482107877 --1.48310276866 --0.792471349239 --1.46584534645 --0.792462930083 --1.44858798385 --0.792456924915 --1.43133100867 --0.79245325923 --1.4140740037 --0.79245197773 --1.39681720734 --0.792453125119 --1.37956023216 --0.792456656694 --1.362303406 --0.792462557554 --1.34504622221 --0.7924708426 --1.32778903842 --0.792481482029 --1.3105314672 --0.792494535446 --1.29327377677 --0.792509943247 --1.2760155201 --0.792527750134 --1.258757025 --0.792547851801 --1.24149787426 --0.792559072375 --1.22228339315 --0.79254899919 --1.20307058096 --0.79252871871 --1.18581157923 --0.792510822415 --1.16855287552 --0.792495265603 --1.15129479766 --0.792482107878 --1.13403686881 --0.792471334338 --1.1167794466 --0.792462930083 --1.0995221436 --0.792456910014 --1.08226516843 --0.79245325923 --1.06500810385 --0.792451992631 --1.04775133729 --0.792453125119 --1.03049436211 --0.792456656694 --1.01323750615 --0.792462557554 --0.995980367064 --0.7924708426 --0.978723213077 --0.792481482029 --0.961465626955 --0.792494535446 --0.944207921624 --0.792509928346 --0.92694966495 --0.792527735233 --0.909691140056 --0.792547866702 --0.892431974411 --0.792559087277 --0.873217537999 --0.79254899919 --0.854004710913 --0.79252871871 --0.836745709181 --0.792510837316 --0.819487005472 --0.792495280504 --0.802228927612 --0.792482122779 --0.784971043467 --0.792471349239 --0.76771363616 --0.792462930083 --0.750456288457 --0.792456910014 --0.733199313283 --0.79245325923 --0.715942263603 --0.792451992631 --0.698685467243 --0.792453125119 --0.68142850697 --0.792456656694 --0.664171665907 --0.792462542653 --0.646914511919 --0.792470827699 --0.629657357931 --0.792481482029 --0.61239978671 --0.792494535446 --0.59514208138 --0.792509943247 --0.577883839607 --0.792527750134 --0.560625329614 --0.792547866702 --0.543366149068 --0.792559087277 --0.524151697755 --0.79254899919 --0.50493888557 --0.79252871871 --0.487679876387 --0.792510822415 --0.470421157777 --0.792495265603 --0.453163072467 --0.792482107878 --0.435905180871 --0.792471334338 --0.418647781015 --0.792462930083 --0.401390433311 --0.792456910014 --0.384133450687 --0.79245325923 --0.366876423359 --0.792451992631 --0.34961964935 --0.792453125119 --0.332362666726 --0.792456656694 --0.315105810762 --0.792462542653 --0.297848664224 --0.792470812798 --0.280591517687 --0.792481467128 --0.263333939016 --0.792494535446 --0.246076226235 --0.792509943247 --0.228817977011 --0.792527750134 --0.211559481919 --0.792547851801 --0.194300312549 --0.792559072375 --0.175085861236 --0.772867918015 --0.155866496265 --0.772847980261 --0.138607509434 --0.77283038199 --0.12134882249 --0.7728151232 --0.104090757668 --0.772802203893 --0.0868328846991 --0.772791579366 --0.0695755006746 --0.772783339023 --0.0523181818426 --0.772777453065 --0.0350612350739 --0.772773846984 --0.0178042261396 --0.772772610188 --0.00054746470414 --0.772773742676 -0.016709478572 --0.772777199745 -0.0339662991464 --0.772782951593 -0.0512234224006 --0.772791147232 -0.0684805493802 --0.77280163765 -0.0857381038368 --0.772814422846 -0.102995773777 --0.772829562426 -0.120253998786 --0.77284707129 -0.137512478978 --0.772866860032 -0.154771618545 --0.77287787199 -0.173986300826 --0.772867947817 -0.193199358881 --0.772848010063 -0.210458353162 --0.772830411792 -0.227717030794 --0.7728151232 -0.244975090027 --0.772802203894 -0.262232966721 --0.772791609168 -0.279490344227 --0.772783353925 -0.296747662127 --0.772777438164 -0.3140046224 --0.772773832083 -0.331261627376 --0.772772610188 -0.348518386483 --0.772773727774 -0.365775339305 --0.772777169943 -0.383032150566 --0.772782966494 -0.400289274752 --0.772791132331 -0.417546406388 --0.772801592946 -0.434803955257 --0.772814437747 -0.452061638236 --0.772829577327 -0.469319857657 --0.77284707129 -0.486578322947 --0.772866860032 -0.503837488592 --0.77287787199 -0.523052170873 --0.772867947817 -0.542265206575 --0.772847995162 -0.559524208307 --0.772830396891 -0.576782882213 --0.7728151232 -0.594040930271 --0.772802203894 -0.611298814416 --0.772791609168 -0.628556206823 --0.772783353925 -0.645813524723 --0.772777438164 -0.663070470095 --0.772773832083 -0.680327475071 --0.772772610188 -0.697584241629 --0.772773712873 -0.714841187 --0.772777155042 -0.732098013163 --0.772782936692 -0.749355137348 --0.772791087627 -0.766612246632 --0.772801578045 -0.783869788051 --0.772814437747 -0.801127478481 --0.772829592228 -0.818385720253 --0.772847086191 -0.835644185543 --0.772866860032 -0.852903306484 --0.772877842188 -0.872117981314 --0.772867918014 -0.89133104682 --0.772848010063 -0.908590048552 --0.772830411792 -0.925848722458 --0.7728151232 -0.943106800318 --0.772802203894 -0.960364684462 --0.772791624069 -0.977622032166 --0.772783353925 -0.994879350066 --0.772777423262 -1.01213631034 --0.772773832083 -1.02939334512 --0.772772610188 -1.04665011167 --0.772773727774 -1.06390702724 --0.772777169943 -1.08116385341 --0.772782951593 -1.09842097759 --0.77279111743 -1.11567810178 --0.772801592946 -1.132935673 --0.772814437747 -1.15019333363 --0.772829577327 -1.16745153069 --0.77284707129 -1.18470999599 --0.772866845131 -1.20196914673 --0.772877857089 -1.22118386626 --0.772867947817 -1.24039691686 --0.772848010063 -1.2576558888 --0.772830396891 -1.2749145627 --0.772815108299 -1.29217261076 --0.772802188993 -1.3094305098 --0.772791594267 -1.32668790221 --0.772783339023 -1.34394523501 --0.772777423262 -1.36120218039 --0.772773832083 -1.37845915556 --0.772772625089 -1.39571592211 --0.772773742676 -1.41297289729 --0.772777184844 -1.43022972345 --0.772782951593 -1.44748684764 --0.772791087627 -1.46474397183 --0.772801578045 -1.48200148344 --0.772814422846 -1.49925917387 --0.772829562426 -1.51651743054 --0.772847086191 -1.53377589583 --0.772866889834 -1.55103501677 --0.77287787199 -1.5702496767 --0.772867918014 -1.58946272731 --0.772847995162 -1.60672172904 --0.772830411792 -1.62398043275 --0.772815108299 -1.64123851061 --0.772802174091 -1.65849637985 --0.772791609168 -1.67575377226 --0.772783353925 -1.69301107526 --0.772777438164 -1.71026802063 --0.772773832083 -1.72752505541 --0.772772595287 -1.74478179216 --0.772773712873 -1.76203870773 --0.772777184844 -1.7792955637 --0.772782981395 -1.79655268789 --0.77279111743 -1.81380978227 --0.772801592946 -1.83106735349 --0.772814437747 -1.84832501411 --0.772829592228 -1.86558324098 --0.772847086191 -1.88284176588 --0.772866860032 -1.90010091662 --0.77287787199 -1.91931557655 --0.772867947817 -1.93852862716 --0.772848010063 -1.95578759909 --0.772830411792 -1.97304624319 --0.7728151232 -1.99030432105 --0.772802203894 -2.00756219029 --0.772791609168 -2.0248195529 --0.772783339023 -2.0420768857 --0.772777423262 -2.05933386087 --0.772773832083 -2.07659089565 --0.772772610188 -2.09384763241 --0.772773727774 -2.11110454798 --0.772777199745 -2.12836140394 --0.772782981395 -2.14561855793 --0.772791102528 -2.16287565231 --0.772801578045 -2.18013322353 --0.772814437747 -2.19739091397 --0.772829577327 -2.21464908123 --0.772847056389 -2.23190754652 --0.772866845131 -2.24916672706 --0.77287787199 -2.2683814168 --0.772867947817 -2.28759449721 --0.772848010063 -2.30485349894 --0.772830426693 -2.32211214304 --0.772815138101 -2.3393701911 --0.772802203894 -2.35662806034 --0.772791609168 -2.37388539314 --0.772783339023 -2.39114272594 --0.772777423262 -2.40839970112 --0.772773832083 -2.42565667629 --0.772772610188 -2.44291347265 --0.772773727774 -2.46017044783 --0.772777169943 -2.47742724419 --0.772782936692 -2.49468433857 --0.772791102529 -2.51194149256 --0.772801592946 -2.52919906378 --0.772814437747 -2.54645675421 --0.772829592228 -2.56371498108 --0.772847086191 -2.58097338676 --0.772866860032 -2.59823256731 --0.77287787199 -2.61744725704 --0.772867947817 -2.63666027784 --0.772848010063 -2.65391927958 --0.772830411792 -2.67117792368 --0.7728151232 -2.68843597174 --0.772802203894 -2.70569390059 --0.772791609168 -2.7229513526 --0.772783339023 -2.7402086854 --0.772777423262 -2.75746560097 --0.772773846984 -2.77472257614 --0.772772625089 -2.7919793129 --0.772773727774 -2.80923622847 --0.772777169943 -2.82649308443 --0.772782936692 -2.84375023842 --0.772791087627 -2.8610073328 --0.772801578045 -2.87826484442 --0.772814437747 -2.89552253485 --0.772829592228 -2.91278082132 --0.772847086191 -2.93003934622 --0.772866860032 -2.94729846716 --0.772877857089 -2.96651309729 --0.772867918015 -2.98572611809 --0.772847980261 -3.00298511982 --0.77283038199 -3.02024388313 --0.7728151232 -3.0375019908 --0.772802203893 -3.05475980043 --0.772791579366 -3.07201713324 --0.772783339023 -3.08927446604 --0.772777453065 -3.10653144121 --0.772773846984 -3.12378847599 --0.772772610188 -3.14104524453 --0.772773742676 --3.1248831749 --0.772777199745 --3.10762637854 --0.772782951593 --3.09036922455 --0.772791147232 --3.07311213016 --0.77280163765 --3.05585461855 --0.772814422846 --3.03859692812 --0.772829562426 --3.02133864164 --0.77284707129 --3.00408011675 --0.772866860032 --2.98682099581 --0.77287787199 --2.96760636568 --0.772867947817 --2.94839334488 --0.772848010063 --2.93113434315 --0.772830411792 --2.91387557983 --0.7728151232 --2.89661747217 --0.772802203894 --2.87935966253 --0.772791609168 --2.86210232973 --0.772783353925 --2.84484499693 --0.772777438164 --2.82758802176 --0.772773832083 --2.81033098698 --0.772772610188 --2.79307425022 --0.772773727774 --2.77581733465 --0.772777169943 --2.75856053829 --0.772782966494 --2.74130338431 --0.772791132331 --2.72404623032 --0.772801592946 --2.7067886591 --0.772814437747 --2.68953102827 --0.772829577327 --2.672272861 --0.77284707129 --2.65501433611 --0.772866860032 --2.63775515557 --0.77287787199 --2.61854046583 --0.772867947817 --2.59932738543 --0.772847995162 --2.58206838369 --0.772830396891 --2.56480973959 --0.7728151232 --2.54755169153 --0.772802203894 --2.53029382229 --0.772791609168 --2.51303642988 --0.772783353925 --2.49577909708 --0.772777438164 --2.47852218151 --0.772773832083 --2.46126520634 --0.772772610188 --2.44400840998 --0.772773712873 --2.4267514348 --0.772777155042 --2.40949463844 --0.772782936692 --2.39223754406 --0.772791087627 --2.37498039007 --0.772801578045 --2.35772281885 --0.772814437747 --2.34046512842 --0.772829592228 --2.32320690155 --0.772847086191 --2.30594849587 --0.772866860032 --2.28868937493 --0.772877842188 --2.26947468519 --0.772867918014 --2.25026160478 --0.772848010063 --2.23300260306 --0.772830411792 --2.21574395895 --0.7728151232 --2.19848591089 --0.772802203894 --2.18122798204 --0.772791624069 --2.16397058964 --0.772783353925 --2.14671331644 --0.772777423262 --2.12945634127 --0.772773832083 --2.11219930649 --0.772772610188 --2.09494256973 --0.772773727774 --2.07768565416 --0.772777169943 --2.0604287982 --0.772782951593 --2.04317170382 --0.77279111743 --2.02591460943 --0.772801592946 --2.00865703821 --0.772814437747 --1.99139934778 --0.772829577327 --1.97414109111 --0.77284707129 --1.95688262582 --0.772866845131 --1.93962350488 --0.772877857089 --1.92040881515 --0.772867947817 --1.90119576454 --0.772848010063 --1.88393679261 --0.772830396891 --1.8666780889 --0.772815108299 --1.84942001104 --0.772802188993 --1.8321621418 --0.772791594267 --1.81490474939 --0.772783339023 --1.79764741659 --0.772777423262 --1.78039047122 --0.772773832083 --1.76313346624 --0.772772625089 --1.74587672949 --0.772773742676 --1.72861978411 --0.772777184844 --1.71136292815 --0.772782951593 --1.69410580396 --0.772791087627 --1.67684870958 --0.772801578045 --1.65959116816 --0.772814422846 --1.64233347774 --0.772829562426 --1.62507525086 --0.772847086191 --1.60781675577 --0.772866889834 --1.59055760503 --0.77287787199 --1.5713429451 --0.772867918014 --1.5521298945 --0.772847995162 --1.53487089276 --0.772830411792 --1.51761221886 --0.772815108299 --1.5003541708 --0.772802174091 --1.48309630156 --0.772791609168 --1.46583893895 --0.772783353925 --1.44858160615 --0.772777438164 --1.43132463097 --0.772773832083 --1.4140676558 --0.772772595287 --1.39681088924 --0.772773712873 --1.37955391407 --0.772777184844 --1.36229711771 --0.772782981395 --1.34503999352 --0.77279111743 --1.32778286934 --0.772801592946 --1.31052529812 --0.772814437747 --1.29326760769 --0.772829592228 --1.27600938082 --0.772847086191 --1.25875091553 --0.772866860032 --1.24149179459 --0.77287787199 --1.22227707505 --0.772867947817 --1.20306402445 --0.772848010063 --1.18580505252 --0.772830411792 --1.16854637861 --0.7728151232 --1.15128833055 --0.772802203894 --1.13403043151 --0.772791609168 --1.1167730391 --0.772783339023 --1.0995157361 --0.772777423262 --1.08225879073 --0.772773832083 --1.06500178576 --0.772772610188 --1.0477450192 --0.772773727774 --1.03048807382 --0.772777199745 --1.01323124766 --0.772782981395 --0.995974123479 --0.772791102528 --0.978717014194 --0.772801578045 --0.961459442973 --0.772814437747 --0.944201752543 --0.772829577327 --0.926943540573 --0.772847056389 --0.909685045481 --0.772866845131 --0.892425909638 --0.77287787199 --0.873211234808 --0.772867947817 --0.853998169303 --0.772848010063 --0.836739182472 --0.772830426693 --0.819480493665 --0.772815138101 --0.802222460508 --0.772802203894 --0.784964606166 --0.772791609168 --0.76770721376 --0.772783339023 --0.750449880957 --0.772777423262 --0.733192920685 --0.772773832083 --0.715935915709 --0.772772610188 --0.698679164052 --0.772773727774 --0.681422233582 --0.772777169943 --0.66416540742 --0.772782936692 --0.646908268333 --0.772791102529 --0.629651144147 --0.772801592946 --0.612393602729 --0.772814437747 --0.5951359272 --0.772829592228 --0.577877700329 --0.772847086191 --0.560619220137 --0.772866860032 --0.543360069394 --0.77287787199 --0.524145394563 --0.772867947817 --0.50493234396 --0.772848010063 --0.487673342228 --0.772830411792 --0.470414660871 --0.7728151232 --0.453156605363 --0.772802203894 --0.435898736119 --0.772791609168 --0.418641358614 --0.772783339023 --0.401384033263 --0.772777423262 --0.384127080441 --0.772773846984 --0.366870082915 --0.772772625089 --0.349613338709 --0.772773727774 --0.332356378436 --0.772777169943 --0.315099544823 --0.772782936692 --0.297842420637 --0.772791087627 --0.280585296452 --0.772801578045 --0.263327747583 --0.772814437747 --0.24607006833 --0.772829592228 --0.228811845183 --0.772847086191 --0.211553372443 --0.772866860032 --0.19429422915 --0.772877857089 --0.175079543143 --0.755750209093 --0.155861515552 --0.755730569363 --0.138602554798 --0.755713239312 --0.12134388648 --0.755698204041 --0.104085838422 --0.755685508251 --0.0868279859424 --0.755675077438 --0.0695706224069 --0.755666926503 --0.0523133194074 --0.755661100149 --0.0350563903339 --0.755657583475 --0.0177994037513 --0.755656376481 --0.000542662106455 --0.755657449365 -0.0167142616119 --0.755660861731 -0.0339710619301 --0.755666553974 -0.0512281665578 --0.7556745857 -0.0684852749109 --0.755684897303 -0.0857428051531 --0.755697533488 -0.103000456467 --0.755712464452 -0.120258664712 --0.755729705095 -0.137517120689 --0.755749180913 -0.15477624163 --0.755759999156 -0.173991106451 --0.755750223994 -0.193204339594 --0.755730614066 -0.210463311523 --0.755713284016 -0.227721966803 --0.755698218942 -0.24498000741 --0.755685508251 -0.262237869203 --0.755675077438 -0.279495231807 --0.755666956306 -0.296752534807 --0.755661144853 -0.314009465277 --0.755657613278 -0.331266440451 --0.755656406283 -0.348523169756 --0.755657494068 -0.365780100226 --0.755660876632 -0.383036904037 --0.755666568875 -0.400294013321 --0.755674615503 -0.417551130057 --0.755684912205 -0.434808656573 --0.755697563291 -0.45206630975 --0.755712479353 -0.46932451427 --0.755729705095 -0.486582964659 --0.755749195814 -0.503842107952 --0.755760028959 -0.523056969047 --0.755750238895 -0.542270183563 --0.755730599165 -0.559529155492 --0.755713284016 -0.576787814498 --0.755698248744 -0.594045847654 --0.755685523152 -0.611303701997 --0.755675077438 -0.628561064601 --0.755666956306 -0.645818367601 --0.75566111505 -0.663075298071 --0.755657568574 -0.680332288146 --0.755656376481 -0.697589054704 --0.755657434464 -0.714845985174 --0.755660831928 -0.732102781534 --0.755666553974 -0.749359875917 --0.7556745857 -0.7666169703 --0.755684897303 -0.783874511719 --0.755697563291 -0.801132172346 --0.755712479353 -0.818390369415 --0.755729705095 -0.835648834705 --0.755749195814 -0.852907955647 --0.755760014057 -0.87212279439 --0.755750223994 -0.891336023807 --0.755730614066 -0.908595025539 --0.755713298917 -0.925853684545 --0.755698233843 -0.9431117028 --0.755685508251 -0.960369557142 --0.755675092339 -0.977626919746 --0.755666941404 -0.994884222745 --0.755661085248 -1.01214113832 --0.755657583475 -1.02939814329 --0.755656391382 -1.04665490985 --0.755657479167 -1.06391182542 --0.755660876632 -1.08116865158 --0.755666539073 -1.09842574597 --0.755674570799 -1.11568281055 --0.755684897303 -1.13294035196 --0.755697563291 -1.15019801259 --0.755712479353 -1.16745620966 --0.755729705095 -1.18471467495 --0.755749180913 -1.20197382569 --0.755759999156 -1.22118869424 --0.755750223994 -1.24040192365 --0.755730614066 -1.25766086578 --0.755713284016 -1.27491950989 --0.755698233843 -1.29217755794 --0.755685508251 -1.30943539739 --0.755675062537 -1.32669275999 --0.755666926503 -1.34395009279 --0.755661085248 -1.36120700836 --0.755657568574 -1.37846398354 --0.755656406283 -1.3957207501 --0.755657494068 -1.41297769547 --0.755660861731 -1.43023449183 --0.755666539073 -1.44749158621 --0.755674570799 -1.46474868059 --0.755684897303 -1.48200619221 --0.755697563291 -1.49926385283 --0.755712464452 -1.51652204991 --0.755729705095 -1.5337805152 --0.755749225616 -1.55103963614 --0.75576004386 -1.57025447488 --0.755750253797 -1.5894677043 --0.755730599165 -1.60672670603 --0.755713269114 -1.62398537994 --0.755698248744 -1.64124342799 --0.755685508251 -1.65850129723 --0.755675062537 -1.67575865984 --0.755666926503 -1.69301593304 --0.75566111505 -1.7102728486 --0.755657598377 -1.72752985358 --0.755656391382 -1.74478659034 --0.755657449365 -1.76204350591 --0.755660861731 -1.77930033207 --0.755666568875 -1.79655742645 --0.755674570799 -1.81381452084 --0.755684897303 -1.83107206225 --0.755697563291 -1.84832969308 --0.755712494254 -1.86558791995 --0.755729719997 -1.88284638524 --0.755749195814 -1.90010550618 --0.755760014057 -1.91932037473 --0.755750223994 -1.93853360414 --0.755730614066 -1.95579254627 --0.755713298917 -1.97305119038 --0.755698233843 -1.99030926824 --0.755685508251 -2.00756710768 --0.755675077438 -2.02482444048 --0.755666941404 -2.04208177328 --0.755661129951 -2.05933874845 --0.755657598377 -2.07659572363 --0.755656376481 -2.09385246039 --0.755657479167 -2.11110937596 --0.755660906434 -2.12836617232 --0.755666583776 -2.14562326669 --0.7556745857 -2.16288036108 --0.755684897303 -2.1801379323 --0.755697563291 -2.19739562273 --0.755712479353 -2.21465379 --0.755729690194 -2.23191219568 --0.755749180913 -2.24917131662 --0.755760014057 -2.26838618517 --0.755750223994 -2.28759944439 --0.755730614066 -2.30485844612 --0.755713298917 -2.32211709023 --0.755698233843 -2.33937507868 --0.755685508251 -2.35663294792 --0.755675077438 -2.37389028072 --0.755666926503 -2.39114755392 --0.755661085248 -2.40840452909 --0.755657568574 -2.42566150427 --0.755656391382 -2.44291824102 --0.755657494068 -2.4601752162 --0.755660876632 -2.47743201256 --0.755666553974 -2.49468910694 --0.7556745857 -2.51194620132 --0.755684897303 -2.52920371294 --0.755697563291 -2.54646140337 --0.755712479353 -2.56371957064 --0.755729705095 -2.58097797632 --0.755749195814 -2.59823715687 --0.755760028959 -2.61745202541 --0.755750238895 -2.63666522503 --0.755730614066 -2.65392422676 --0.755713298917 -2.67118287087 --0.755698233843 -2.68844091893 --0.755685508251 -2.70569884777 --0.755675077438 -2.72295624018 --0.755666941404 -2.74021351338 --0.755661129951 -2.75747036934 --0.755657613278 -2.77472740412 --0.755656391382 -2.79198414087 --0.755657449365 -2.80924099684 --0.755660846829 -2.8264978528 --0.755666553974 -2.84375500679 --0.7556745857 -2.86101210117 --0.755684897303 -2.87826961279 --0.755697563291 -2.89552724361 --0.755712479353 -2.91278547048 --0.755729705095 -2.93004399538 --0.755749195814 -2.94730311632 --0.755760014057 -2.96651792526 --0.755750209093 -2.98573112488 --0.755730569363 -3.00299012661 --0.755713239312 -3.02024883032 --0.755698204041 -3.03750687837 --0.755685508251 -3.05476468802 --0.755675077438 -3.07202202082 --0.755666926503 -3.08927935362 --0.755661100149 -3.10653632879 --0.755657583475 -3.12379330396 --0.755656376481 -3.1410500129 --0.755657449365 --3.12487840652 --0.755660861731 --3.10762161016 --0.755666553974 --3.09036445618 --0.7556745857 --3.07310736179 --0.755684897303 --3.05584985018 --0.755697533488 --3.03859221935 --0.755712464452 --3.02133399248 --0.755729705095 --3.00407546759 --0.755749180913 --2.98681634665 --0.755759999156 --2.9676015377 --0.755750223994 --2.94838833809 --0.755730614066 --2.93112933636 --0.755713284016 --2.91387063265 --0.755698218942 --2.89661258459 --0.755685508251 --2.87935477495 --0.755675077438 --2.86209744215 --0.755666956306 --2.84484010935 --0.755661144853 --2.82758313417 --0.755657613278 --2.810326159 --0.755656406283 --2.79306942224 --0.755657494068 --2.77581250667 --0.755660876632 --2.75855576992 --0.755666568875 --2.74129867554 --0.755674615503 --2.72404152155 --0.755684912205 --2.70678395033 --0.755697563291 --2.6895263195 --0.755712479353 --2.67226815224 --0.755729705095 --2.65500968695 --0.755749195814 --2.63775056601 --0.755760028959 --2.61853569746 --0.755750238895 --2.59932243824 --0.755730599165 --2.58206349611 --0.755713284016 --2.56480485201 --0.755698248744 --2.54754680395 --0.755685523152 --2.53028899431 --0.755675077438 --2.51303166151 --0.755666956306 --2.49577432871 --0.75566111505 --2.47851735354 --0.755657568574 --2.46126037836 --0.755656376481 --2.4440036416 --0.755657434464 --2.42674666643 --0.755660831928 --2.40948987007 --0.755666553974 --2.39223277569 --0.7556745857 --2.37497568131 --0.755684897303 --2.35771816969 --0.755697563291 --2.34046047926 --0.755712479353 --2.32320231199 --0.755729705095 --2.30594390631 --0.755749195814 --2.28868478537 --0.755760014057 --2.26946991682 --0.755750223994 --2.2502566576 --0.755730614066 --2.23299765587 --0.755713298917 --2.21573901176 --0.755698233843 --2.19848102331 --0.755685508251 --2.18122309446 --0.755675092339 --2.16396570206 --0.755666941404 --2.14670848847 --0.755661085248 --2.1294515729 --0.755657583475 --2.11219453812 --0.755656391382 --2.09493780136 --0.755657479167 --2.07768088579 --0.755660876632 --2.06042402983 --0.755666539073 --2.04316693544 --0.755674570799 --2.02590984106 --0.755684897303 --2.00865226984 --0.755697563291 --1.99139463902 --0.755712479353 --1.97413647175 --0.755729705095 --1.95687800646 --0.755749180913 --1.93961888552 --0.755759999156 --1.92040401697 --0.755750223994 --1.90119078755 --0.755730614066 --1.88393181563 --0.755713284016 --1.86667311192 --0.755698233843 --1.84941509366 --0.755685508251 --1.83215725422 --0.755675062537 --1.81489986181 --0.755666926503 --1.79764255881 --0.755661085248 --1.78038564324 --0.755657568574 --1.76312866807 --0.755656406283 --1.74587193131 --0.755657494068 --1.72861501574 --0.755660861731 --1.71135818958 --0.755666539073 --1.6941010654 --0.755674570799 --1.67684397102 --0.755684897303 --1.6595864296 --0.755697563291 --1.64232876897 --0.755712464452 --1.6250705719 --0.755729705095 --1.60781210661 --0.755749225616 --1.59055298567 --0.75576004386 --1.57133814693 --0.755750253797 --1.55212491751 --0.755730599165 --1.53486594558 --0.755713269114 --1.51760730148 --0.755698248744 --1.50034925342 --0.755685508251 --1.48309138417 --0.755675062537 --1.46583405137 --0.755666926503 --1.44857674837 --0.75566111505 --1.43131977319 --0.755657598377 --1.41406279802 --0.755656391382 --1.39680609107 --0.755657449365 --1.3795491457 --0.755660861731 --1.36229234934 --0.755666568875 --1.34503525495 --0.755674570799 --1.32777816057 --0.755684897303 --1.31052061916 --0.755697563291 --1.29326292872 --0.755712494254 --1.27600470185 --0.755729719997 --1.25874626636 --0.755749195814 --1.24148717523 --0.755760014057 --1.22227227688 --0.755750223994 --1.20305904746 --0.755730614066 --1.18580010533 --0.755713298917 --1.16854146123 --0.755698233843 --1.15128341317 --0.755685508251 --1.13402554393 --0.755675077438 --1.11676818132 --0.755666941404 --1.09951084852 --0.755661129951 --1.08225393296 --0.755657598377 --1.06499698758 --0.755656376481 --1.04774022102 --0.755657479167 --1.03048327565 --0.755660906434 --1.01322647929 --0.755666583776 --0.99596938491 --0.7556745857 --0.978712290525 --0.755684897303 --0.961454734206 --0.755697563291 --0.944197073579 --0.755712479353 --0.926938891411 --0.755729690194 --0.909680426121 --0.755749180913 --0.892421290278 --0.755760014057 --0.873206421733 --0.755750223994 --0.853993177414 --0.755730614066 --0.836734205484 --0.755713298917 --0.81947556138 --0.755698233843 --0.802217543125 --0.755685508251 --0.784959688783 --0.755675077438 --0.767702326179 --0.755666926503 --0.750445023179 --0.755661085248 --0.733188077807 --0.755657568574 --0.715931087732 --0.755656391382 --0.698674350977 --0.755657494068 --0.681417450309 --0.755660876632 --0.664160653949 --0.755666553974 --0.646903514862 --0.7556745857 --0.629646405578 --0.755684897303 --0.612388893962 --0.755697563291 --0.595131248236 --0.755712479353 --0.577873051167 --0.755729705095 --0.560614585876 --0.755749195814 --0.543355450034 --0.755760028959 --0.52414059639 --0.755750238895 --0.504927366972 --0.755730614066 --0.487668387592 --0.755713298917 --0.470409728587 --0.755698233843 --0.45315169543 --0.755685508251 --0.435893848538 --0.755675077438 --0.418636478483 --0.755666941404 --0.401379168033 --0.755661129951 --0.384122245014 --0.755657613278 --0.366865262389 --0.755656391382 --0.349608525634 --0.755657449365 --0.332351587713 --0.755660846829 --0.315094776452 --0.755666553974 --0.297837674618 --0.7556745857 --0.280580580234 --0.755684897303 --0.263323053718 --0.755697563291 --0.246065389365 --0.755712479353 --0.22880718112 --0.755729705095 --0.211548727006 --0.755749195814 --0.194289606064 --0.755760014057 --0.175074741244 --0.738614454866 --0.155856490135 --0.73859512806 --0.138597540558 --0.73857806623 --0.121338892728 --0.738563284278 --0.104080868885 --0.738550767302 --0.0868230331689 --0.738540500402 --0.0695656891912 --0.738532498479 --0.0523084076121 --0.73852674663 --0.0350514985621 --0.738523289561 --0.0177945317701 --0.73852211237 --0.000537810614333 --0.738523170352 -0.0167190933134 --0.738526538014 -0.0339758726768 --0.738532140851 -0.0512329582125 --0.738540023565 -0.0684900451452 --0.738550171256 -0.0857475567609 --0.738562613726 -0.103005193174 --0.73857729137 -0.120263377204 --0.738594263792 -0.137521814555 --0.738613426686 -0.154780920595 --0.738624081016 -0.173995964229 --0.738614469767 -0.193209376186 --0.738595157862 -0.210468322039 --0.738578096032 -0.227726954967 --0.738563284278 -0.244984980673 --0.738550767302 -0.26224283129 --0.738540500402 -0.279500171542 --0.73853251338 -0.296757444739 --0.738526791334 -0.314014352858 --0.738523334265 -0.331271313131 --0.738522142172 -0.348528034985 --0.738523200154 -0.365784943104 --0.738526538014 -0.383041717112 --0.738532140851 -0.400298804045 --0.738540038466 -0.417555898428 --0.738550186157 -0.434813410044 --0.738562643528 -0.452071048319 --0.738577306271 -0.469329237938 --0.738594263792 -0.486587665975 --0.738613441586 -0.503846764564 --0.738624110818 -0.523061797023 --0.738614484668 -0.542275205255 --0.738595157862 -0.559534162283 --0.738578110934 -0.576792791486 --0.73856331408 -0.594050809741 --0.738550782203 -0.611308664083 --0.738540500402 -0.628566011786 --0.73853251338 -0.645823284984 --0.738526761532 -0.663080185652 --0.738523289561 -0.680337145925 --0.738522097469 -0.697593897581 --0.73852314055 -0.71485081315 --0.738526508212 -0.732107579708 --0.738532140851 -0.74936465919 --0.738540038466 -0.766621738672 --0.738550186157 -0.783879265189 --0.738562643528 -0.801136896014 --0.738577306271 -0.818395078183 --0.738594263792 -0.835653528571 --0.738613441586 -0.852912634611 --0.738624081016 -0.872127667069 --0.738614454866 -0.8913410604 --0.738595157862 -0.90860003233 --0.738578110934 -0.925858676434 --0.738563299179 -0.943116664887 --0.738550767302 -0.960374489427 --0.738540500402 -0.977631852031 --0.738532498479 -0.99488914013 --0.73852674663 -1.0121460259 --0.738523304463 -1.02940300107 --0.73852211237 -1.04665973782 --0.738523170352 -1.0639166534 --0.738526538014 -1.08117344976 --0.73853212595 -1.09843051433 --0.738540023565 -1.11568757892 --0.738550186157 -1.13294509053 --0.738562643528 -1.15020275116 --0.738577306271 -1.16746094823 --0.738594263792 -1.18471938372 --0.738613441586 -1.20197850466 --0.738624095917 -1.22119352222 --0.738614469767 -1.24040693045 --0.738595157862 -1.25766587257 --0.738578110934 -1.27492451668 --0.73856331408 -1.29218256474 --0.738550782203 -1.30944037438 --0.738540500402 -1.32669770718 --0.738532498479 -1.34395501018 --0.73852674663 -1.36121192575 --0.738523289561 -1.37846890092 --0.73852211237 -1.39572560787 --0.738523185253 -1.41298249364 --0.738526538014 -1.43023929 --0.738532140851 -1.44749638438 --0.738540038466 -1.46475344896 --0.738550186157 -1.48201096058 --0.738562643528 -1.4992685914 --0.738577306271 -1.51652675867 --0.738594263792 -1.53378522396 --0.738613441586 -1.5510443151 --0.738624110818 -1.57025933266 --0.738614499569 -1.58947274089 --0.738595142961 -1.60673171282 --0.738578081131 -1.62399035692 --0.73856331408 -1.64124837518 --0.738550782203 -1.65850621462 --0.738540500403 -1.67576354742 --0.738532498479 -1.69302082062 --0.738526791334 -1.71027773619 --0.738523334265 -1.72753471136 --0.73852211237 -1.74479144811 --0.738523155451 -1.76204836368 --0.738526508212 -1.77930513024 --0.73853212595 -1.79656219482 --0.738540038466 -1.81381928921 --0.738550201058 -1.83107680082 --0.738562643528 -1.84833443165 --0.73857730627 -1.86559262872 --0.738594263792 -1.8828510344 --0.738613426685 -1.90011015535 --0.738624051213 -1.91932523251 --0.738614439965 -1.93853864074 --0.738595157862 -1.95579758287 --0.738578110934 -1.97305622697 --0.738563299179 -1.99031424523 --0.738550767302 -2.00757208467 --0.738540500402 -2.02482938767 --0.73853251338 -2.04208666086 --0.738526791334 -2.05934363603 --0.738523319364 -2.07660061121 --0.738522097469 -2.09385734797 --0.738523170352 -2.11111420393 --0.738526538014 -2.12837094068 --0.738532140851 -2.14562803507 --0.738540038466 -2.16288512945 --0.738550186157 -2.18014264107 --0.738562643528 -2.19740027189 --0.738577291369 -2.21465849876 --0.738594248891 -2.23191690445 --0.738613441586 -2.24917596579 --0.738624095917 -2.26839107275 --0.738614469767 -2.28760451079 --0.738595157862 -2.30486345291 --0.738578110934 -2.32212209702 --0.738563299179 -2.33938008547 --0.738550767302 -2.35663795471 --0.738540500402 -2.37389528751 --0.738532498479 -2.39115250111 --0.738526761531 -2.40840941668 --0.738523304462 -2.42566639185 --0.73852211237 -2.4429231286 --0.738523185253 -2.46018004417 --0.738526538014 -2.47743678093 --0.738532140851 -2.49469387531 --0.738540053367 -2.5119509697 --0.738550201058 -2.52920848131 --0.738562658429 -2.54646617174 --0.738577321172 -2.56372433901 --0.738594263792 -2.5809827447 --0.738613441586 -2.59824186563 --0.738624081016 -2.61745691299 --0.738614454866 -2.63667029142 --0.738595157862 -2.65392923355 --0.738578110934 -2.67118787765 --0.738563284278 -2.68844592571 --0.738550752401 -2.70570379496 --0.738540500402 -2.72296112776 --0.73853251338 -2.74021834135 --0.738526791334 -2.75747519732 --0.738523319364 -2.77473223209 --0.738522097469 -2.79198896885 --0.73852314055 -2.80924588442 --0.738526508212 -2.82650268078 --0.738532140851 -2.84375977516 --0.738540053367 -2.86101686955 --0.738550201058 -2.87827438116 --0.738562643528 -2.89553201199 --0.738577291369 -2.91279017925 --0.738594248891 -2.93004864454 --0.738613441586 -2.94730776548 --0.738624081016 -2.96652275324 --0.738614454866 -2.98573613167 --0.73859512806 -3.0029951334 --0.73857806623 -3.0202537775 --0.738563284278 -3.03751176596 --0.738550767302 -3.0547695756 --0.738540500402 -3.0720269084 --0.738532498479 -3.0892842412 --0.73852674663 -3.10654121637 --0.738523289561 -3.12379819155 --0.73852211237 -3.14105484088 --0.738523170352 --3.12487357855 --0.738526538014 --3.10761678219 --0.738532140851 --3.0903596878 --0.738540023565 --3.07310259342 --0.738550171256 --3.05584508181 --0.738562613726 --3.03858745098 --0.73857729137 --3.02132928372 --0.738594263792 --3.00407081843 --0.738613426686 --2.98681169748 --0.738624081016 --2.96759670973 --0.738614469767 --2.9483833313 --0.738595157862 --2.93112432957 --0.738578096032 --2.91386568546 --0.738563284278 --2.89660769701 --0.738550767302 --2.87934988737 --0.738540500402 --2.86209255457 --0.73853251338 --2.84483522177 --0.738526791334 --2.82757824659 --0.738523334265 --2.81032127142 --0.738522142172 --2.79306453467 --0.738523200154 --2.7758076787 --0.738526538014 --2.75855094194 --0.738532140851 --2.74129384756 --0.738540038466 --2.72403675318 --0.738550186157 --2.70677924156 --0.738562643528 --2.68952161074 --0.738577306271 --2.67226338386 --0.738594263792 --2.65500497818 --0.738613441586 --2.63774591684 --0.738624110818 --2.61853086948 --0.738614484668 --2.59931743145 --0.738595157862 --2.58205848932 --0.738578110934 --2.56479990482 --0.73856331408 --2.54754185677 --0.738550782203 --2.53028398752 --0.738540500402 --2.51302665472 --0.73853251338 --2.49576938152 --0.738526761532 --2.47851246596 --0.738523289561 --2.46125549078 --0.738522097469 --2.44399875402 --0.73852314055 --2.42674183846 --0.738526508212 --2.4094851017 --0.738532140851 --2.39222800732 --0.738540038466 --2.37497091293 --0.738550186157 --2.35771340132 --0.738562643528 --2.34045577049 --0.738577306271 --2.32319760323 --0.738594263792 --2.30593913793 --0.738613441586 --2.28868001699 --0.738624081016 --2.26946496963 --0.738614454866 --2.25025159121 --0.738595157862 --2.23299264908 --0.738578110934 --2.21573400497 --0.738563299179 --2.19847601652 --0.738550767302 --2.18121814728 --0.738540500402 --2.16396075487 --0.738532498479 --2.14670354128 --0.73852674663 --2.12944668532 --0.738523304463 --2.11218971014 --0.73852211237 --2.09493297338 --0.738523170352 --2.07767599821 --0.738526538014 --2.06041920185 --0.73853212595 --2.04316210747 --0.738540023565 --2.02590501308 --0.738550186157 --2.00864750147 --0.738562643528 --1.99138990044 --0.738577306271 --1.97413176298 --0.738594263792 --1.95687329769 --0.738613441586 --1.93961417675 --0.738624095917 --1.92039912939 --0.738614469767 --1.90118572116 --0.738595157862 --1.88392677903 --0.738578110934 --1.86666813493 --0.73856331408 --1.84941014647 --0.738550782203 --1.83215230703 --0.738540500402 --1.81489494443 --0.738532498479 --1.79763767123 --0.73852674663 --1.78038075566 --0.738523289561 --1.76312381029 --0.73852211237 --1.74586707354 --0.738523185253 --1.72861015797 --0.738526538014 --1.71135339141 --0.738532140851 --1.69409629703 --0.738540038466 --1.67683920264 --0.738550186157 --1.65958169103 --0.738562643528 --1.6423240602 --0.738577306271 --1.62506586313 --0.738594263792 --1.60780742765 --0.738613441586 --1.5905483365 --0.738624110818 --1.57133328915 --0.738614499569 --1.55211988091 --0.738595142961 --1.53486093879 --0.738578081131 --1.51760229469 --0.73856331408 --1.50034427643 --0.738550782203 --1.48308643699 --0.738540500403 --1.46582910419 --0.738532498479 --1.44857183099 --0.738526791334 --1.43131488561 --0.738523334265 --1.41405791044 --0.73852211237 --1.39680123329 --0.738523155451 --1.37954434752 --0.738526508212 --1.36228755116 --0.73853212595 --1.34503045678 --0.738540038466 --1.3277733624 --0.738550201058 --1.31051585078 --0.738562643528 --1.29325819015 --0.73857730627 --1.27599999309 --0.738594263792 --1.2587415874 --0.738613426685 --1.24148249626 --0.738624051213 --1.2222674489 --0.738614439965 --1.20305404067 --0.738595157862 --1.18579509854 --0.738578110934 --1.16853645444 --0.738563299179 --1.15127840638 --0.738550767302 --1.13402056694 --0.738540500402 --1.11676323414 --0.73853251338 --1.09950593114 --0.738526791334 --1.08224904537 --0.738523319364 --1.0649921298 --0.738522097469 --1.04773539305 --0.738523170352 --1.03047844767 --0.738526538014 --1.01322165132 --0.738532140851 --0.995964586734 --0.738540038466 --0.978707507252 --0.738550186157 --0.961449980736 --0.738562643528 --0.944192364812 --0.738577291369 --0.926934182644 --0.738594248891 --0.909675732255 --0.738613441586 --0.892416611314 --0.738624095917 --0.873201563954 --0.738614469767 --0.853988155723 --0.738595157862 --0.836729213596 --0.738578110934 --0.819470584392 --0.738563299179 --0.802212566137 --0.738550767302 --0.784954726696 --0.738540500402 --0.767697393894 --0.738532498479 --0.750440135598 --0.738526761531 --0.733183205128 --0.738523304462 --0.715926215053 --0.73852211237 --0.698669493199 --0.738523185253 --0.681412607432 --0.738526538014 --0.664155840873 --0.738532140851 --0.646898731589 --0.738540053367 --0.629641652107 --0.738550201058 --0.612384155393 --0.738562658429 --0.595126509667 --0.738577321172 --0.577868327498 --0.738594263792 --0.560609892011 --0.738613441586 --0.543350785971 --0.738624081016 --0.524135753513 --0.738614454866 --0.504922352731 --0.738595157862 --0.487663388252 --0.738578110934 --0.470404744148 --0.738563284278 --0.453146733343 --0.738550752401 --0.435888901353 --0.738540500402 --0.418631538749 --0.73853251338 --0.401374258101 --0.738526791334 --0.384117357433 --0.738523319364 --0.366860382259 --0.738522097469 --0.349603667855 --0.73852314055 --0.332346759736 --0.738526508212 --0.315089978278 --0.738532140851 --0.297832898796 --0.738540053367 --0.280575811863 --0.738550201058 --0.263318300247 --0.738562643528 --0.246060661972 --0.738577291369 --0.228802472353 --0.738594248891 --0.21154403314 --0.738613441586 --0.194284930825 --0.738624081016 --0.175069894641 --0.721458718181 --0.155851412564 --0.7214397192 --0.138592477888 --0.721422940493 --0.12133385241 --0.72140841186 --0.104075852782 --0.721396073699 --0.0868180338293 --0.721385955811 --0.0695607066154 --0.721378102899 --0.0523034473881 --0.72137247026 --0.0350465606898 --0.721369072795 --0.0177896129899 --0.721367910504 --0.000532911624758 --0.721368968487 -0.0167239727452 --0.721372276544 -0.0339807327837 --0.721377760172 -0.0512377964333 --0.721385508776 -0.0684948610142 --0.721395522356 -0.0857523567975 --0.72140775621 -0.103009974584 --0.721422165632 -0.120268139988 --0.721438869834 -0.1375265643 --0.721457734704 -0.154785651714 --0.721468195319 -0.174000866711 --0.721458718181 -0.193214450032 --0.7214397192 -0.210473380983 --0.721422940492 -0.227732002735 --0.721408396959 -0.244990002364 --0.721396073699 -0.262247815729 --0.721385955811 -0.279505133629 --0.721378087998 -0.296762391925 --0.721372440457 -0.314019285143 --0.721369057894 -0.331276237965 --0.721367910504 -0.348532944918 --0.721368953586 -0.365789830685 --0.721372246742 -0.383046582341 --0.721377760172 -0.400303646922 --0.721385538578 -0.417560711503 --0.721395537257 -0.434818200767 --0.721407771111 -0.452075824142 --0.721422195435 -0.469333998859 --0.721438869834 -0.486592411995 --0.721457719803 -0.503851488233 --0.721468195319 -0.523066699505 --0.721458718181 -0.542280286551 --0.7214397192 -0.559539213777 --0.721422955394 -0.576797828078 --0.721408382058 -0.594055846334 --0.721396043897 -0.611313670874 --0.721385970712 -0.628570973873 --0.721378102899 -0.645828232169 --0.721372455359 -0.663085132837 --0.721369057894 -0.680342078209 --0.721367880702 -0.697598785162 --0.721368938685 -0.714855670929 --0.721372246742 -0.732112437487 --0.721377760172 -0.749369487166 --0.721385538578 -0.766626536846 --0.721395537257 -0.783884048462 --0.721407771111 -0.801141664386 --0.721422180533 -0.818399831653 --0.721438869834 -0.835658252239 --0.721457734704 -0.852917343378 --0.721468165517 -0.872132584453 --0.72145870328 -0.891346156597 --0.7214397192 -0.908605083823 --0.721422925591 -0.925863713026 --0.721408396959 -0.943121701479 --0.721396073699 -0.960379511118 --0.721385955811 -0.97763684392 --0.721378102899 -0.994894102216 --0.721372455359 -1.01215097308 --0.721369042992 -1.02940791845 --0.721367880702 -1.04666462541 --0.721368938685 -1.06392154098 --0.721372246742 -1.08117830753 --0.721377760172 -1.09843534231 --0.721385538578 -1.1156924069 --0.721395537257 -1.13294988871 --0.721407771111 -1.15020751953 --0.721422180533 -1.1674657166 --0.721438869834 -1.18472412229 --0.721457734704 -1.20198321343 --0.72146821022 -1.22119840979 --0.721458733082 -1.24041199684 --0.7214397192 -1.25767093897 --0.721422940492 -1.27492955327 --0.721408396959 -1.29218757152 --0.7213960886 -1.30944538116 --0.721385970712 -1.32670271397 --0.721378102899 -1.34395998716 --0.721372455359 -1.36121687293 --0.721369042992 -1.3784738183 --0.721367880702 -1.39573049545 --0.721368953586 -1.41298735142 --0.721372261643 -1.43024411798 --0.721377775073 -1.44750121236 --0.721385553479 -1.46475827694 --0.721395537257 -1.48201575875 --0.721407771111 -1.49927335978 --0.721422195435 -1.51653152704 --0.721438884735 -1.53378996253 --0.721457734704 -1.55104902387 --0.72146821022 -1.57026425004 --0.721458733082 -1.58947783709 --0.721439704299 -1.60673674941 --0.721422940493 -1.62399539351 --0.72140841186 -1.64125341177 --0.721396073699 -1.65851122141 --0.721385985613 -1.67576852441 --0.721378132701 -1.6930257678 --0.721372485161 -1.71028268337 --0.721369087696 -1.72753965855 --0.721367880702 -1.7447963655 --0.721368923783 -1.76205325127 --0.721372246742 -1.77930998802 --0.721377760172 -1.7965670228 --0.721385553479 -1.81382411718 --0.721395552158 -1.8310816288 --0.721407771111 -1.84833922982 --0.721422165632 -1.86559736728 --0.721438840032 -1.88285577297 --0.721457704902 -1.90011489392 --0.721468165517 -1.91933014989 --0.721458718181 -1.93854373694 --0.721439734101 -1.95580264926 --0.721422940492 -1.97306126356 --0.721408396959 -1.99031925201 --0.721396073699 -2.00757709145 --0.721385970712 -2.02483439446 --0.7213781178 -2.04209160805 --0.72137247026 -2.05934852362 --0.721369072795 -2.07660549879 --0.721367895603 -2.09386223555 --0.721368938685 -2.11111909151 --0.721372246742 -2.12837582827 --0.721377760172 -2.14563292265 --0.721385538578 -2.16289001703 --0.721395537257 -2.18014746905 --0.721407771111 -2.19740504027 --0.721422180533 -2.21466326714 --0.721438854933 -2.23192167282 --0.721457704902 -2.24918067455 --0.721468195319 -2.26839590073 --0.721458733082 -2.28760957718 --0.721439704299 -2.3048685193 --0.721422940493 -2.32212716341 --0.72140841186 -2.33938515186 --0.7213960886 -2.3566429019 --0.721385970712 -2.3739002347 --0.721378087998 -2.3911575079 --0.72137247026 -2.40841436386 --0.721369087696 -2.42567127943 --0.721367895603 -2.44292801619 --0.721368938685 -2.46018493176 --0.721372261643 -2.47744166851 --0.721377775073 -2.49469870329 --0.721385553479 -2.51195579767 --0.721395552158 -2.52921330929 --0.721407786012 -2.54647094011 --0.721422195434 -2.56372910738 --0.721438869834 -2.58098751307 --0.721457719803 -2.59824663401 --0.721468165517 -2.61746186018 --0.721458703279 -2.63667541742 --0.721439704299 -2.65393429994 --0.721422940493 -2.67119294405 --0.721408396959 -2.68845099211 --0.721396073699 -2.70570880175 --0.721385985613 -2.72296613455 --0.7213781178 -2.74022334814 --0.72137247026 -2.75748020411 --0.721369072795 -2.77473717928 --0.721367880702 -2.79199385643 --0.721368923783 -2.809250772 --0.721372246742 -2.82650750876 --0.721377760172 -2.84376454353 --0.721385553479 -2.86102163792 --0.721395552158 -2.87827914953 --0.721407771111 -2.89553678036 --0.721422165632 -2.91279494762 --0.721438854933 -2.93005335331 --0.721457734704 -2.94731241465 --0.721468180418 -2.96652764082 --0.721458718181 -2.98574119806 --0.7214397192 -3.00300014019 --0.721422940493 -3.02025878429 --0.72140841186 -3.03751677274 --0.721396073699 -3.05477458238 --0.721385955811 -3.07203191519 --0.721378102899 -3.08928918838 --0.72137247026 -3.10654610395 --0.721369072795 -3.12380307913 --0.721367910504 -3.14105972846 --0.721368968487 --3.12486869097 --0.721372276544 --3.10761195421 --0.721377760172 --3.09035491943 --0.721385508776 --3.07309782505 --0.721395522356 --3.05584031343 --0.72140775621 --3.03858268261 --0.721422165632 --3.02132451534 --0.721438869834 --3.00406610966 --0.721457734704 --2.98680704832 --0.721468195319 --2.96759182215 --0.721458718181 --2.94837826491 --0.7214397192 --2.93111932278 --0.721422940492 --2.91386067867 --0.721408396959 --2.89660269022 --0.721396073699 --2.87934488058 --0.721385955811 --2.86208754778 --0.721378087998 --2.84483027458 --0.721372440457 --2.82757335901 --0.721369057894 --2.81031638384 --0.721367910504 --2.79305964708 --0.721368953586 --2.77580279112 --0.721372246742 --2.75854605436 --0.721377760172 --2.74128895998 --0.721385538578 --2.7240319252 --0.721395537257 --2.70677447319 --0.721407771111 --2.68951684237 --0.721422195435 --2.6722586155 --0.721438869834 --2.65500020981 --0.721457719803 --2.63774114847 --0.721468195319 --2.6185259819 --0.721458718181 --2.59931236506 --0.7214397192 --2.58205336332 --0.721422955394 --2.56479483843 --0.721408382058 --2.54753684997 --0.721396043897 --2.53027898073 --0.721385970712 --2.51302164793 --0.721378102899 --2.49576437473 --0.721372455359 --2.47850751877 --0.721369057894 --2.4612506032 --0.721367880702 --2.44399386644 --0.721368938685 --2.42673701048 --0.721372246742 --2.40948027372 --0.721377760172 --2.39222317934 --0.721385538578 --2.37496608496 --0.721395537257 --2.35770857334 --0.721407771111 --2.34045100212 --0.721422180533 --2.32319283485 --0.721438869834 --2.30593436957 --0.721457734704 --2.28867524863 --0.721468165517 --2.26946002245 --0.72145870328 --2.25024646521 --0.7214397192 --2.23298758268 --0.721422925591 --2.21572893858 --0.721408396959 --2.19847089052 --0.721396073699 --2.18121308088 --0.721385955811 --2.16395574808 --0.721378102899 --2.14669853449 --0.721372455359 --2.12944167853 --0.721369042992 --2.11218476296 --0.721367880702 --2.0949280858 --0.721368938685 --2.07767111063 --0.721372246742 --2.06041437387 --0.721377760172 --2.04315733909 --0.721385538578 --2.02590024471 --0.721395537257 --2.0086427331 --0.721407771111 --1.99138510227 --0.721422180533 --1.97412696481 --0.721438869834 --1.95686852932 --0.721457734704 --1.93960943818 --0.72146821022 --1.92039424181 --0.721458733082 --1.90118065476 --0.7214397192 --1.88392171264 --0.721422940492 --1.86666309834 --0.721408396959 --1.84940510988 --0.7213960886 --1.83214727044 --0.721385970712 --1.81488996744 --0.721378102899 --1.79763272405 --0.721372455359 --1.78037580848 --0.721369042992 --1.7631188631 --0.721367880702 --1.74586215615 --0.721368953586 --1.72860527039 --0.721372261643 --1.71134853363 --0.721377775073 --1.69409146905 --0.721385553479 --1.67683437467 --0.721395537257 --1.65957689285 --0.721407771111 --1.64231929183 --0.721422195435 --1.62506109476 --0.721438884735 --1.60780268908 --0.721457734704 --1.59054362774 --0.72146821022 --1.57132837176 --0.721458733082 --1.55211478472 --0.721439704299 --1.53485587239 --0.721422940493 --1.51759725809 --0.72140841186 --1.50033926964 --0.721396073699 --1.48308146 --0.721385985613 --1.4658241272 --0.721378132701 --1.448566854 --0.721372485161 --1.43130996823 --0.721369087696 --1.41405302286 --0.721367880702 --1.39679634571 --0.721368923783 --1.37953948975 --0.721372246742 --1.36228269339 --0.721377760172 --1.345025599 --0.721385553479 --1.32776853442 --0.721395552158 --1.31051105261 --0.721407771111 --1.29325342178 --0.721422165632 --1.27599525452 --0.721438840032 --1.25873684883 --0.721457704902 --1.24147772789 --0.721468165517 --1.22226253152 --0.721458718181 --1.20304897427 --0.721439734101 --1.18579003215 --0.721422940492 --1.16853138804 --0.721408396959 --1.15127336979 --0.721396073699 --1.13401556015 --0.721385970712 --1.11675822735 --0.7213781178 --1.09950098395 --0.72137247026 --1.08224412799 --0.721369072795 --1.06498718262 --0.721367895603 --1.04773047566 --0.721368938685 --1.0304735899 --0.721372246742 --1.01321682334 --0.721377760172 --0.995959758759 --0.721385538578 --0.978702679276 --0.721395537257 --0.961445182562 --0.721407771111 --0.944187581539 --0.721422180533 --0.926929399371 --0.721438854933 --0.909670978785 --0.721457704902 --0.892411917448 --0.721468195319 --0.873196706176 --0.721458733082 --0.853983104229 --0.721439704299 --0.836724191904 --0.721422940493 --0.8194655478 --0.72140841186 --0.802207529545 --0.7213960886 --0.784949734807 --0.721385970712 --0.767692416906 --0.721378087998 --0.750435173512 --0.72137247026 --0.733178272844 --0.721369087696 --0.71592131257 --0.721367895603 --0.698664620519 --0.721368938685 --0.681407734752 --0.721372261643 --0.664150968194 --0.721377775073 --0.646893888712 --0.721385553479 --0.629636824131 --0.721395552158 --0.612379357219 --0.721407786012 --0.595121726394 --0.721422195434 --0.577863544226 --0.721438869834 --0.56060513854 --0.721457719803 --0.543346062303 --0.721468165517 --0.524130851031 --0.721458703279 --0.504917263985 --0.721439704299 --0.487658321858 --0.721422940493 --0.470399707556 --0.721408396959 --0.453141711652 --0.721396073699 --0.435883887112 --0.721385985613 --0.41862655431 --0.7213781178 --0.401369303465 --0.72137247026 --0.384112410247 --0.721369072795 --0.366855457425 --0.721367880702 --0.349598772824 --0.721368923783 --0.332341887057 --0.721372246742 --0.315085120499 --0.721377760172 --0.297828063369 --0.721385553479 --0.280570998788 --0.721395552158 --0.263313494623 --0.721407771111 --0.246055882424 --0.721422165632 --0.228797722608 --0.721438854933 --0.211539298296 --0.721457734704 --0.194280210882 --0.721468180418 --0.175064995885 --0.704306840896 --0.155845291912 --0.704288139939 --0.138586383313 --0.704271659255 --0.12132778205 --0.704257398844 --0.104069806636 --0.704245269298 --0.0868120137602 --0.704235315323 --0.0695547107607 --0.704227596521 --0.0522974748165 --0.704222068191 --0.0350406127982 --0.704218715429 --0.0177836886141 --0.70421756804 --0.000527010764928 --0.704218611121 -0.0167298486922 --0.704221859574 -0.0339865852148 --0.704227253795 -0.0512436255813 --0.704234883189 -0.0685006668791 --0.704244732857 -0.0857581365854 --0.704256743193 -0.103015726432 --0.704270899296 -0.120273869485 --0.704287305474 -0.13753226772 --0.70430585742 -0.154791332781 --0.704316139221 -0.174006767571 --0.704306811094 -0.193220563233 --0.704288139939 -0.210479468107 --0.704271659255 -0.227738063782 --0.704257383942 -0.244996037334 --0.704245269298 -0.262253828347 --0.704235315323 -0.279511131346 --0.70422758162 -0.296768374741 --0.704222038388 -0.314025238157 --0.704218715429 -0.331282161176 --0.70421756804 -0.348538838327 --0.70421859622 -0.365795694291 --0.704221859575 -0.383052431047 --0.704227268696 -0.400309480726 --0.704234912992 -0.417566522956 --0.704244747758 -0.434823982418 --0.704256758094 -0.452081568539 --0.704270929098 -0.469339713454 --0.704287320376 -0.486598111689 --0.70430585742 -0.503857180476 --0.70431612432 -0.523072615266 --0.704306796193 -0.542286410928 --0.704288154841 -0.559545308352 --0.704271689058 -0.576803922653 --0.70425735414 -0.594061911106 --0.704245224595 -0.611319676042 --0.704235330224 -0.62857696414 --0.704227596521 -0.645834222436 --0.704222038388 -0.663091093302 --0.704218685627 -0.680348023772 --0.704217538237 -0.697604700923 --0.70421859622 -0.714861541986 --0.704221844673 -0.732118293643 --0.704227253795 -0.749375328422 --0.704234912992 -0.766632348299 --0.704244747758 -0.783889830113 --0.704256758094 -0.801147431135 --0.704270914197 -0.818405568599 --0.704287320376 -0.835663959384 --0.704305872321 -0.852923020721 --0.704316139221 -0.872138485313 --0.704306825995 -0.891352280974 --0.704288154841 -0.908611178398 --0.704271659255 -0.925869777799 --0.704257369041 -0.94312773645 --0.704245269298 -0.960385546089 --0.704235330224 -0.977642849088 --0.704227596521 -0.994900062681 --0.704222053289 -1.01215690375 --0.704218685627 -1.02941381931 --0.704217553139 -1.04667052626 --0.704218611121 -1.06392741203 --0.704221844673 -1.08118414879 --0.704227253795 -1.09844118357 --0.704234912992 -1.11569821835 --0.704244732857 -1.13295567036 --0.704256743193 -1.15021327138 --0.704270914197 -1.16747143865 --0.704287320376 -1.18472981453 --0.704305872321 -1.20198887587 --0.704316139221 -1.22120431066 --0.704306811094 -1.24041810632 --0.704288154841 -1.25767704845 --0.704271674156 -1.27493563295 --0.704257369041 -1.2921935916 --0.704245269299 -1.30945140124 --0.704235330224 -1.32670870424 --0.704227596521 -1.34396594763 --0.704222053289 -1.36122280359 --0.704218685627 -1.37847971916 --0.704217538237 -1.39573639631 --0.704218626022 -1.41299325228 --0.704221889377 -1.43024995923 --0.704227268696 -1.44750699401 --0.704234912992 -1.46476405859 --0.704244747758 -1.4820215404 --0.704256772995 -1.49927914143 --0.704270943999 -1.51653727889 --0.704287335277 -1.53379565478 --0.704305872321 -1.55105471611 --0.704316154122 -1.5702701807 --0.704306811094 -1.58948397636 --0.704288125038 -1.60674285889 --0.704271674156 -1.62400147319 --0.704257383943 -1.64125949145 --0.704245254397 -1.65851727128 --0.704235330224 -1.67577454448 --0.704227611422 -1.69303175807 --0.70422205329 -1.71028864384 --0.704218700528 -1.72754558921 --0.704217538237 -1.74480223656 --0.704218581319 -1.76205909252 --0.704221844673 -1.77931582928 --0.704227253795 -1.79657286406 --0.704234912992 -1.81382992864 --0.704244747758 -1.83108741045 --0.704256772995 -1.84834498167 --0.704270929098 -1.86560308933 --0.704287305474 -1.88286149502 --0.70430585742 -1.90012058616 --0.704316154122 -1.91933602094 --0.704306840896 -1.93854981661 --0.704288169742 -1.95580872894 --0.704271674156 -1.97306731344 --0.704257369041 -1.99032527208 --0.704245269298 -2.00758308172 --0.704235345125 -2.02484041452 --0.704227611422 -2.04209762812 --0.70422205329 -2.05935448408 --0.704218715429 -2.07661139965 --0.70421756804 -2.0938680768 --0.70421859622 -2.11112493277 --0.704221844673 -2.12838166952 --0.704227253795 -2.1456387639 --0.704234898091 -2.16289579868 --0.704244732857 -2.1801532507 --0.704256758094 -2.19741082192 --0.704270929098 -2.21466898918 --0.704287320376 -2.23192739487 --0.704305842519 -2.2491863966 --0.70431612432 -2.26840180159 --0.704306811094 -2.28761565685 --0.704288139939 -2.30487459898 --0.704271674156 -2.32213318348 --0.704257383943 -2.33939111232 --0.704245269299 -2.35664886236 --0.704235330224 -2.37390619517 --0.70422758162 -2.39116346836 --0.704222038388 -2.40842032433 --0.704218715429 -2.4256772399 --0.70421756804 -2.44293391705 --0.70421859622 -2.46019083262 --0.704221859574 -2.47744756937 --0.704227268696 -2.49470454454 --0.704234912992 -2.51196163893 --0.704244732857 -2.52921909094 --0.704256743193 -2.54647666216 --0.704270914197 -2.56373482942 --0.704287320376 -2.58099323511 --0.70430585742 -2.59825229645 --0.704316139221 -2.61746770144 --0.704306825995 -2.6366814971 --0.704288125038 -2.65394037962 --0.704271659255 -2.67119902372 --0.704257383943 -2.68845707178 --0.704245269299 -2.70571488142 --0.704235345125 -2.72297215462 --0.704227611422 -2.74022936821 --0.704222068191 -2.75748622418 --0.704218715429 -2.77474313974 --0.704217553139 -2.7919998169 --0.70421859622 -2.80925667286 --0.704221844673 -2.82651335001 --0.704227253795 -2.84377032518 --0.704234898091 -2.86102741957 --0.704244732857 -2.87828493118 --0.704256758094 -2.8955425024 --0.704270914197 -2.91280066967 --0.704287320376 -2.93005907535 --0.704305872321 -2.94731813669 --0.704316154122 -2.96653360128 --0.704306840896 -2.98574739695 --0.704288139939 -3.00300627947 --0.704271659255 -3.02026486397 --0.704257398844 -3.03752285242 --0.704245269298 -3.05478066206 --0.704235315323 -3.07203799486 --0.704227596521 -3.08929520845 --0.704222068191 -3.10655200481 --0.704218715429 -3.12380892038 --0.70421756804 -3.14106562932 --0.704218611121 --3.12486279011 --0.704221859574 --3.10760611296 --0.704227253795 --3.09034913778 --0.704234883189 --3.0730920434 --0.704244732857 --3.05583453178 --0.704256743193 --3.03857696056 --0.704270899296 --3.02131879329 --0.704287305474 --3.00406038761 --0.70430585742 --2.98680132628 --0.704316139221 --2.96758586169 --0.704306811094 --2.94837206602 --0.704288139939 --2.9311131835 --0.704271659255 --2.913854599 --0.704257383942 --2.89659661055 --0.704245269298 --2.8793388009 --0.704235315323 --2.8620814681 --0.70422758162 --2.84482425451 --0.704222038388 --2.82756745815 --0.704218715429 --2.81031054258 --0.70421756804 --2.79305380583 --0.70421859622 --2.77579694986 --0.704221859575 --2.75854021311 --0.704227268696 --2.74128311872 --0.704234912992 --2.72402614355 --0.704244747758 --2.70676869154 --0.704256758094 --2.68951106071 --0.704270929098 --2.67225295305 --0.704287320376 --2.65499454737 --0.70430585742 --2.63773542643 --0.70431612432 --2.61852002144 --0.704306796193 --2.59930622578 --0.704288154841 --2.58204728365 --0.704271689058 --2.56478869915 --0.70425735414 --2.5475307703 --0.704245224595 --2.53027302027 --0.704235330224 --2.51301568746 --0.704227596521 --2.49575841427 --0.704222038388 --2.4785015583 --0.704218685627 --2.46124464273 --0.704217538237 --2.44398796558 --0.70421859622 --2.42673110962 --0.704221844673 --2.40947437286 --0.704227253795 --2.39221733808 --0.704234912992 --2.37496030331 --0.704244747758 --2.3577028513 --0.704256758094 --2.34044522047 --0.704270914197 --2.32318705321 --0.704287320376 --2.30592870713 --0.704305872321 --2.28866964579 --0.704316139221 --2.26945418119 --0.704306825995 --2.25024038553 --0.704288154841 --2.23298150301 --0.704271659255 --2.2157228589 --0.704257369041 --2.19846487045 --0.704245269298 --2.18120706081 --0.704235330224 --2.16394972801 --0.704227596521 --2.14669257402 --0.704222053289 --2.12943571806 --0.704218685627 --2.11217880249 --0.704217553139 --2.09492218494 --0.704218611121 --2.07766526937 --0.704221844673 --2.06040853262 --0.704227253795 --2.04315155745 --0.704234912992 --2.02589446306 --0.704244732857 --2.00863695145 --0.704256743193 --1.99137935042 --0.704270914197 --1.97412121296 --0.704287320376 --1.95686283708 --0.704305872321 --1.93960377574 --0.704316139221 --1.92038834095 --0.704306811094 --1.90117454529 --0.704288154841 --1.88391563296 --0.704271674156 --1.86665701866 --0.704257369041 --1.84939903021 --0.704245269299 --1.83214125037 --0.704235330224 --1.81488397718 --0.704227596521 --1.79762673378 --0.704222053289 --1.78036984801 --0.704218685627 --1.76311290264 --0.704217538237 --1.74585622549 --0.704218626022 --1.72859939933 --0.704221889377 --1.71134269237 --0.704227268696 --1.6940856576 --0.704234912992 --1.67682859302 --0.704244747758 --1.6595711112 --0.704256772995 --1.64231353998 --0.704270943999 --1.62505537272 --0.704287335277 --1.60779696703 --0.704305872321 --1.59053793549 --0.704316154122 --1.5713224709 --0.704306811094 --1.55210864544 --0.704288125038 --1.53484976291 --0.704271674156 --1.51759117842 --0.704257383943 --1.50033321977 --0.704245254397 --1.48307543993 --0.704235330224 --1.46581813693 --0.704227611422 --1.44856089354 --0.70422205329 --1.43130403757 --0.704218700528 --1.414047122 --0.704217538237 --1.39679044485 --0.704218581319 --1.37953358889 --0.704221844673 --1.36227682233 --0.704227253795 --1.34501975775 --0.704234912992 --1.32776272297 --0.704244747758 --1.31050527096 --0.704256772995 --1.29324766993 --0.704270929098 --1.27598953247 --0.704287305474 --1.25873112678 --0.70430585742 --1.24147203565 --0.704316154122 --1.22225663066 --0.704306840896 --1.2030428648 --0.704288169742 --1.18578395247 --0.704271674156 --1.16852533817 --0.704257369041 --1.15126734972 --0.704245269298 --1.13400954008 --0.704235345125 --1.11675223708 --0.704227611422 --1.09949502349 --0.70422205329 --1.08223816752 --0.704218715429 --1.06498122215 --0.70421756804 --1.047724545 --0.70421859622 --1.03046771884 --0.704221844673 --1.01321098208 --0.704227253795 --0.995953932405 --0.704234898091 --0.978696882725 --0.704244732857 --0.961439415813 --0.704256758094 --0.944181829691 --0.704270929098 --0.926923662424 --0.704287320376 --0.90966527164 --0.704305842519 --0.892406225205 --0.70431612432 --0.873190805316 --0.704306811094 --0.853977009654 --0.704288139939 --0.836718112231 --0.704271674156 --0.819459497929 --0.704257383943 --0.802201494574 --0.704245269299 --0.784943714738 --0.704235330224 --0.767686426639 --0.70422758162 --0.750429183245 --0.704222038388 --0.733172312379 --0.704218715429 --0.715915381908 --0.70421756804 --0.698658719659 --0.70421859622 --0.681401848793 --0.704221859574 --0.664145112037 --0.704227268696 --0.646888077259 --0.704234912992 --0.629631012678 --0.704244732857 --0.612373560667 --0.704256743193 --0.595115959644 --0.704270914197 --0.577857807279 --0.704287320376 --0.560599416495 --0.70430585742 --0.543340370059 --0.704316139221 --0.524124935269 --0.704306825995 --0.504911124706 --0.704288125038 --0.487652227283 --0.704271659255 --0.470393627882 --0.704257383943 --0.453135646879 --0.704245269299 --0.435877852142 --0.704235345125 --0.418620556593 --0.704227611422 --0.401363328099 --0.704222068191 --0.384106464684 --0.704218715429 --0.366849541664 --0.704217553139 --0.349592871964 --0.70421859622 --0.332336008548 --0.704221844673 --0.315079256892 --0.704227253795 --0.297822214663 --0.704234898091 --0.280565187335 --0.704244732857 --0.263307712972 --0.704256758094 --0.246050115675 --0.704270914197 --0.228791981935 --0.704287320376 --0.211533587426 --0.704305872321 --0.194274526089 --0.704316154122 --0.1750590913 --0.687192499637 --0.155838996172 --0.687174156308 --0.13858011365 --0.687157973647 --0.121321542189 --0.687143936753 --0.104063589126 --0.687132030726 --0.0868058223277 --0.687122285366 --0.0695485463366 --0.687114685774 --0.0522913327441 --0.68710924685 --0.0350344940089 --0.687105938792 --0.0177775952034 --0.687104806304 --0.000520942732692 --0.687105834484 -0.0167358918115 --0.687109023333 -0.0339926024899 --0.687114343047 -0.051249618642 --0.687121838331 -0.0685066366568 --0.687131494284 -0.0857640802861 --0.687143296003 -0.103021645919 --0.687157213688 -0.120279759169 --0.687173321843 -0.137538127601 --0.687191531062 -0.154797170311 --0.687201634049 -0.174012832344 --0.687192469835 -0.193226855248 --0.687174126506 -0.21048573032 --0.687157943845 -0.227744296193 --0.687143906951 -0.245002247393 --0.687132030726 -0.26226002723 --0.687122285366 -0.279517315328 --0.687114685774 -0.296774528921 --0.68710924685 -0.314031362534 --0.687105953693 -0.331288255751 --0.687104806304 -0.348544903099 --0.687105849385 -0.365801736712 --0.687109068036 -0.383058443666 --0.687114357948 -0.400315463543 --0.687121838331 -0.417572490871 --0.687131494284 -0.434829927981 --0.687143296003 -0.452087499201 --0.687157213688 -0.469345614314 --0.687173336744 -0.486603975296 --0.687191545964 -0.503863029182 --0.687201619148 -0.52307869494 --0.687192454934 -0.542292699218 --0.687174141407 -0.559551566839 --0.687157988548 -0.57681016624 --0.687143921852 -0.59406812489 --0.687132015825 -0.611325860023 --0.687122285366 -0.628583148122 --0.687114685774 -0.645840391517 --0.687109231949 -0.66309723258 --0.687105923891 -0.680354133248 --0.687104791403 -0.697610780596 --0.687105819583 -0.714867591858 --0.687109023333 -0.732124298811 --0.687114343047 -0.74938133359 --0.687121838331 -0.766638338566 --0.687131494284 -0.783895775676 --0.687143296003 -0.801153361797 --0.687157213688 -0.818411484361 --0.687173336744 -0.835669845342 --0.687191545964 -0.852928876877 --0.687201634049 -0.872144550085 --0.687192499637 -0.891358569265 --0.687174171209 -0.908617451787 --0.687157988548 -0.925876021385 --0.687143921852 -0.943133950234 --0.687132030726 -0.960391730071 --0.687122270465 -0.977649003268 --0.687114655971 -0.994906187059 --0.68710924685 -1.01216301322 --0.687105938792 -1.02941992879 --0.687104806304 -1.04667660594 --0.687105834484 -1.0639334321 --0.687109023333 -1.08119013906 --0.687114343047 -1.09844717383 --0.687121838331 -1.11570420861 --0.687131479382 -1.13296166062 --0.687143281102 -1.15021920204 --0.687157213688 -1.1674773097 --0.687173336744 -1.18473568559 --0.687191545964 -1.20199471712 --0.687201619148 -1.22121036053 --0.687192484736 -1.2404243648 --0.687174171209 -1.25768327713 --0.687157958746 -1.27494186163 --0.68714389205 -1.29219982028 --0.687132015825 -1.30945760012 --0.687122285366 -1.32671484351 --0.687114685774 -1.3439720571 --0.68710924685 -1.36122891307 --0.687105938792 -1.37848579883 --0.687104791403 -1.39574244618 --0.687105834484 -1.41299930215 --0.687109053135 -1.4302560091 --0.687114387751 -1.44751298427 --0.687121868133 -1.46476998925 --0.687131494284 -1.48202747107 --0.687143340707 -1.49928507209 --0.687157258391 -1.51654317975 --0.687173336744 -1.53380152583 --0.687191545964 -1.55106058717 --0.687201634049 -1.57027626038 --0.687192484736 -1.58949026465 --0.687174156308 -1.60674914717 --0.687157988548 -1.62400773167 --0.687143921852 -1.64126569033 --0.687132015825 -1.65852344036 --0.687122285366 -1.67578071356 --0.687114655972 -1.69303789735 --0.687109202147 -1.71029475331 --0.687105923891 -1.72755166888 --0.687104791403 -1.74480828643 --0.687105819583 -1.76206511259 --0.687109023333 -1.77932181955 --0.687114372849 -1.79657885432 --0.687121868133 -1.8138358891 --0.687131494284 -1.83109334111 --0.687143310904 -1.84835088253 --0.687157228589 -1.86560899019 --0.687173336744 -1.88286739588 --0.687191545964 -1.90012642741 --0.687201634049 -1.91934207082 --0.687192469835 -1.9385560751 --0.687174141407 -1.95581495762 --0.687157988548 -1.97307354212 --0.687143921852 -1.99033150077 --0.687132030726 -2.00758928061 --0.687122270465 -2.0248465538 --0.687114655971 -2.04210376739 --0.687109231949 -2.05936062336 --0.687105938792 -2.07661747932 --0.687104806304 -2.09387409687 --0.687105819583 -2.11113095283 --0.687109023333 -2.12838768959 --0.687114343047 -2.14564472437 --0.68712182343 -2.16290169954 --0.687131479383 -2.18015915155 --0.687143325806 -2.19741672277 --0.68715724349 -2.21467489004 --0.687173336744 -2.23193329573 --0.687191545964 -2.24919229746 --0.687201619148 -2.26840794086 --0.687192484736 -2.28762197494 --0.687174171209 -2.30488085747 --0.687157958746 -2.32213938236 --0.68714389205 -2.33939731121 --0.687132015825 -2.35665506125 --0.687122285366 -2.37391239405 --0.687114685774 -2.39116960764 --0.687109231949 -2.408426404 --0.687105938792 -2.42568337917 --0.687104806304 -2.44294005632 --0.687105849385 -2.46019685268 --0.687109053135 -2.47745352983 --0.687114372849 -2.49471056461 --0.687121868133 -2.51196759939 --0.687131479382 -2.5292250514 --0.687143281102 -2.54648262262 --0.687157213688 -2.56374073028 --0.687173336744 -2.58099913597 --0.687191545964 -2.5982581377 --0.687201634049 -2.61747372151 --0.687192469835 -2.63668775559 --0.687174126506 -2.65394663811 --0.687157973647 -2.67120522261 --0.687143921852 -2.68846321106 --0.687132015825 -2.7057210207 --0.687122285366 -2.7229782939 --0.687114685774 -2.74023544788 --0.68710924685 -2.75749230385 --0.687105938792 -2.77474921942 --0.687104806304 -2.79200589657 --0.687105864286 -2.80926275253 --0.687109053135 -2.82651942968 --0.687114372849 -2.84377640486 --0.687121853232 -2.86103343964 --0.687131479383 -2.87829089165 --0.687143325806 -2.89554846287 --0.68715724349 -2.91280657053 --0.687173336744 -2.93006491661 --0.687191545964 -2.94732397795 --0.687201634049 -2.96653968096 --0.687192499637 -2.98575371504 --0.687174156308 -3.00301259756 --0.687157973647 -3.02027112246 --0.687143936753 -3.0375290513 --0.687132030726 -3.05478686095 --0.687122285366 -3.07204413414 --0.687114685774 -3.08930134773 --0.68710924685 -3.10655814409 --0.687105938792 -3.12381500006 --0.687104806304 -3.14107170899 --0.687105834484 --3.12485671043 --0.687109023333 --3.10760003328 --0.687114343047 --3.09034305811 --0.687121838331 --3.07308602333 --0.687131494284 --3.05582857132 --0.687143296003 --3.0385710001 --0.687157213688 --3.02131289244 --0.687173321843 --3.00405454635 --0.687191531062 --2.98679548502 --0.687201634049 --2.96757978201 --0.687192469835 --2.94836574793 --0.687174126506 --2.93110686541 --0.687157943845 --2.91384834051 --0.687143906951 --2.89659041166 --0.687132030726 --2.87933260202 --0.687122285366 --2.86207532883 --0.687114685774 --2.84481811523 --0.68710924685 --2.82756131887 --0.687105953693 --2.81030446291 --0.687104806304 --2.79304778576 --0.687105849385 --2.77579092979 --0.687109068036 --2.75853419304 --0.687114357948 --2.74127715826 --0.687121838331 --2.72402018309 --0.687131494284 --2.70676273107 --0.687143296003 --2.68950515985 --0.687157213688 --2.67224705219 --0.687173336744 --2.65498864651 --0.687191545964 --2.63772958517 --0.687201619148 --2.61851394176 --0.687192454934 --2.59929996729 --0.687174141407 --2.58204108477 --0.687157988548 --2.56478244066 --0.687143921852 --2.54752451181 --0.687132015825 --2.53026682138 --0.687122285366 --2.51300948858 --0.687114685774 --2.49575227499 --0.687109231949 --2.47849547863 --0.687105923891 --2.46123850346 --0.687104791403 --2.44398182631 --0.687105819583 --2.42672502995 --0.687109023333 --2.40946835279 --0.687114343047 --2.39221131802 --0.687121838331 --2.37495434284 --0.687131494284 --2.35769695044 --0.687143296003 --2.34043931961 --0.687157213688 --2.32318115235 --0.687173336744 --2.30592280626 --0.687191545964 --2.28866380453 --0.687201634049 --2.26944816113 --0.687192499637 --2.25023412705 --0.687174171209 --2.23297524452 --0.687157988548 --2.21571666002 --0.687143921852 --2.19845873118 --0.687132030726 --2.18120092153 --0.687122270465 --2.16394358873 --0.687114655971 --2.14668643475 --0.68710924685 --2.12942957878 --0.687105938792 --2.11217266321 --0.687104806304 --2.09491604567 --0.687105834484 --2.0776591897 --0.687109023333 --2.06040251255 --0.687114343047 --2.04314553738 --0.687121838331 --2.02588844299 --0.687131479382 --2.00863099098 --0.687143281102 --1.99137344957 --0.687157213688 --1.9741153419 --0.687173336744 --1.95685699582 --0.687191545964 --1.93959793449 --0.687201619148 --1.92038226127 --0.687192484736 --1.901168257 --0.687174171209 --1.88390937447 --0.687157958746 --1.86665078998 --0.68714389205 --1.84939283133 --0.687132015825 --1.83213508129 --0.687122285366 --1.81487780809 --0.687114685774 --1.7976205647 --0.68710924685 --1.78036370873 --0.687105938792 --1.76310682297 --0.687104791403 --1.74585017562 --0.687105834484 --1.72859334946 --0.687109053135 --1.71133667231 --0.687114387751 --1.69407966733 --0.687121868133 --1.67682263255 --0.687131494284 --1.65956518054 --0.687143340707 --1.64230760932 --0.687157258391 --1.62504947185 --0.687173336744 --1.60779109597 --0.687191545964 --1.59053209424 --0.687201634049 --1.57131642103 --0.687192484736 --1.55210235715 --0.687174156308 --1.53484347462 --0.687157988548 --1.51758491993 --0.687143921852 --1.50032699108 --0.687132015825 --1.48306924104 --0.687122285366 --1.46581196785 --0.687114655972 --1.44855475426 --0.687109202147 --1.4312979281 --0.687105923891 --1.41404101253 --0.687104791403 --1.39678433538 --0.687105819583 --1.37952750921 --0.687109023333 --1.36227080226 --0.687114372849 --1.34501376748 --0.687121868133 --1.3277567327 --0.687131494284 --1.31049931049 --0.687143310904 --1.29324176908 --0.687157228589 --1.27598366141 --0.687173336744 --1.25872528553 --0.687191545964 --1.24146622419 --0.687201634049 --1.22225058079 --0.687192469835 --1.20303657651 --0.687174141407 --1.18577769398 --0.687157988548 --1.16851910949 --0.687143921852 --1.15126112104 --0.687132030726 --1.1340033412 --0.687122270465 --1.1167460978 --0.687114655971 --1.09948888421 --0.687109231949 --1.08223202824 --0.687105938792 --1.06497514248 --0.687104806304 --1.04771849513 --0.687105819583 --1.03046166897 --0.687109023333 --1.01320493221 --0.687114343047 --0.995947912335 --0.68712182343 --0.978690907359 --0.687131479383 --0.961433470249 --0.687143325806 --0.94417591393 --0.68715724349 --0.926917776465 --0.687173336744 --0.909659415484 --0.687191545964 --0.892400369048 --0.687201619148 --0.873184710741 --0.687192484736 --0.853970706463 --0.687174171209 --0.83671182394 --0.687157958746 --0.819453254342 --0.68714389205 --0.80219528079 --0.687132015825 --0.784937515855 --0.687122285366 --0.767680257559 --0.687114685774 --0.750423029065 --0.687109231949 --0.733166188002 --0.687105938792 --0.715909287334 --0.687104806304 --0.698652639985 --0.687105849385 --0.681395798922 --0.687109053135 --0.664139106869 --0.687114372849 --0.646882101893 --0.687121868133 --0.629625067115 --0.687131479382 --0.612367615104 --0.687143281102 --0.595110028982 --0.687157213688 --0.57785192132 --0.687173336744 --0.560593545437 --0.687191545964 --0.543334513903 --0.687201634049 --0.524118870497 --0.687192469835 --0.504904843867 --0.687174126506 --0.487645968795 --0.687157973647 --0.470387391746 --0.687143921852 --0.453129425645 --0.687132015825 --0.435871660709 --0.687122285366 --0.418614394963 --0.687114685774 --0.401357188821 --0.68710924685 --0.384100347757 --0.687105938792 --0.366843447089 --0.687104806304 --0.349586799741 --0.687105864286 --0.332329958677 --0.687109053135 --0.315073244274 --0.687114372849 --0.297816224396 --0.687121853232 --0.280559211969 --0.687131479383 --0.263301774859 --0.687143325806 --0.246044203639 --0.68715724349 --0.228786084801 --0.687173336744 --0.211527716368 --0.687191545964 --0.194268677384 --0.687201634049 --0.175053019077 --0.670093148947 --0.15583351627 --0.670075148344 --0.138574648648 --0.670059278607 --0.121316103265 --0.670045495033 --0.104058176279 --0.670033797622 --0.0868004299701 --0.670024245977 --0.069543177262 --0.670016780495 --0.0522859860212 --0.670011430979 --0.0350291682408 --0.670008212328 --0.0177722920198 --0.670007094741 --0.000515661668032 --0.67000810802 -0.0167411516886 --0.670011252165 -0.0339978411794 --0.670016467571 -0.0512548349798 --0.670023813844 -0.0685118287802 --0.670033276081 -0.085769250989 --0.670044869185 -0.103026799858 --0.67005854845 -0.120284890756 --0.670074373484 -0.137543234974 --0.670092225075 -0.154802255332 --0.670102119446 -0.17401811108 --0.670093119144 -0.193232331425 --0.670075118542 -0.210491191596 --0.670059248805 -0.227749738842 --0.670045465231 -0.245007667691 --0.670033827424 -0.26226542145 --0.670024275779 -0.279522679746 --0.670016810298 -0.296779870987 --0.670011460781 -0.314036682248 --0.670008212328 -0.331293560564 --0.670007094741 -0.348550185561 --0.670008122921 -0.365806996823 --0.670011267066 -0.383063688874 --0.670016467571 -0.4003206864 --0.670023813844 -0.417577691376 --0.670033276081 -0.434835106135 --0.670044869185 -0.452092655003 --0.67005854845 -0.469350747764 --0.670074373484 -0.486609086394 --0.670092225075 -0.503868110478 --0.670102119446 -0.523083969951 --0.670093119144 -0.542298182845 --0.670075118542 -0.559557035565 --0.670059278607 -0.576815590262 --0.670045495033 -0.594073519111 --0.670033827424 -0.611331254244 --0.670024275779 -0.628588527441 --0.670016810298 -0.645845741034 --0.670011460781 -0.663102552295 --0.670008212328 -0.680359423161 --0.670007124543 -0.697616055608 --0.670008122921 -0.714872837067 --0.670011237264 -0.732129514218 --0.670016467571 -0.749386534095 --0.670023813844 -0.76664352417 --0.670033276081 -0.783900946378 --0.670044869185 -0.801158502698 --0.67005854845 -0.81841661036 --0.670074373484 -0.835674956441 --0.670092225075 -0.852933973074 --0.670102119446 -0.872149839997 --0.670093148947 -0.891364067793 --0.670075148344 -0.908622920513 --0.670059278607 -0.925881445408 --0.670045495033 -0.943139389157 --0.670033827424 -0.960397124291 --0.670024245977 -0.977654367685 --0.670016780495 -0.994911566377 --0.670011460781 -1.01216837764 --0.670008212328 -1.02942526341 --0.670007124543 -1.04668191076 --0.670008122921 -1.06393870712 --0.670011237264 -1.08119538426 --0.670016467571 -1.09845238924 --0.670023813844 -1.11570939422 --0.670033276081 -1.13296681642 --0.670044869185 -1.15022432804 --0.67005854845 -1.1674824357 --0.670074373484 -1.18474081159 --0.670092225075 -1.20199981332 --0.670102119446 -1.22121563554 --0.670093148947 -1.24042984843 --0.670075148344 -1.25768873096 --0.670059248805 -1.27494728565 --0.670045465231 -1.2922052443 --0.670033827424 -1.30946299434 --0.670024275779 -1.32672020793 --0.670016810298 -1.34397739172 --0.670011460781 -1.36123421788 --0.670008212328 -1.37849110365 --0.670007124543 -1.3957477212 --0.670008122921 -1.41300454736 --0.670011237264 -1.43026125431 --0.670016497373 -1.44751822948 --0.670023873448 -1.46477520466 --0.670033305884 -1.48203262687 --0.670044898987 -1.49929019809 --0.670058578253 -1.51654830575 --0.670074373484 -1.53380665183 --0.670092225075 -1.55106568337 --0.670102119446 -1.57028153539 --0.670093148947 -1.58949574828 --0.670075178146 -1.606754601 --0.670059293508 -1.6240131557 --0.670045480132 -1.64127108455 --0.670033827424 -1.65852883458 --0.670024275779 -1.67578610778 --0.670016780495 -1.69304326177 --0.670011430979 -1.71030008793 --0.670008212328 -1.7275569737 --0.670007124543 -1.74481359124 --0.670008137822 -1.7620703876 --0.670011252165 -1.77932706475 --0.670016497373 -1.79658406973 --0.670023873448 -1.81384107471 --0.670033335686 -1.83109852671 --0.670044898987 -1.84835603833 --0.67005854845 -1.86561411619 --0.670074373484 -1.88287249207 --0.670092225075 -1.90013149381 --0.670102119446 -1.91934737563 --0.670093119144 -1.93856158852 --0.670075148344 -1.95582041144 --0.67005930841 -1.97307896614 --0.670045495033 -1.99033692479 --0.670033827424 -2.00759470463 --0.670024245977 -2.02485191822 --0.670016780495 -2.04210907221 --0.670011460781 -2.05936592818 --0.670008212328 -2.07662278414 --0.670007124543 -2.09387940168 --0.670008122921 -2.11113625765 --0.670011237264 -2.1283929348 --0.670016467571 -2.14564990997 --0.670023813844 -2.16290688515 --0.670033305884 -2.18016433716 --0.670044928789 -2.19742190838 --0.670058578253 -2.21468001604 --0.670074373484 -2.23193836212 --0.670092225075 -2.24919736385 --0.670102119446 -2.26841324568 --0.670093148947 -2.28762745857 --0.670075148344 -2.30488628149 --0.670059248805 -2.32214480638 --0.670045465231 -2.33940273523 --0.670033827424 -2.35666048527 --0.670024275779 -2.37391775847 --0.670016810298 -2.39117497206 --0.670011460781 -2.40843176842 --0.670008212328 -2.42568868399 --0.670007094741 -2.44294536114 --0.670008137822 -2.46020209789 --0.670011281967 -2.47745871544 --0.670016497373 -2.49471575021 --0.670023873448 -2.51197272539 --0.670033305884 -2.5292301774 --0.670044869185 -2.54648774862 --0.67005854845 -2.56374579668 --0.670074373484 -2.58100420237 --0.670092225075 -2.5982632041 --0.670102119446 -2.61747902632 --0.670093119144 -2.63669329882 --0.670075118542 -2.65395212173 --0.670059278607 -2.67121064663 --0.670045495033 -2.68846857548 --0.670033827424 -2.70572632551 --0.670024275779 -2.72298365831 --0.670016810298 -2.7402408123 --0.670011490583 -2.75749760866 --0.670008242131 -2.77475452423 --0.670007094741 -2.79201114178 --0.670008137822 -2.80926799774 --0.670011281967 -2.8265247345 --0.670016497373 -2.84378170967 --0.670023843646 -2.86103868485 --0.670033305884 -2.87829607725 --0.670044928789 -2.89555364847 --0.670058578253 -2.91281175613 --0.670074373484 -2.93007004261 --0.670092225075 -2.94732904434 --0.670102119446 -2.96654492617 --0.670093148947 -2.98575913906 --0.670075148344 -3.00301802158 --0.670059278607 -3.02027654648 --0.670045495033 -3.03753447533 --0.670033797622 -3.05479222536 --0.670024245977 -3.07204943895 --0.670016780495 -3.08930665254 --0.670011430979 -3.10656350851 --0.670008212328 -3.12382036448 --0.670007094741 -3.1410769542 --0.67000810802 --3.12485146522 --0.670011252165 --3.10759472847 --0.670016467571 --3.0903377533 --0.670023813844 --3.07308077812 --0.670033276081 --3.05582338571 --0.670044869185 --3.0385658145 --0.67005854845 --3.02130770683 --0.670074373484 --3.00404942036 --0.670092225075 --2.98679041863 --0.670102119446 --2.9675745368 --0.670093119144 --2.9483603239 --0.670075118542 --2.93110144138 --0.670059248805 --2.91384291649 --0.670045465231 --2.89658498764 --0.670033827424 --2.87932723761 --0.670024275779 --2.86207002401 --0.670016810298 --2.84481281042 --0.670011460781 --2.82755595445 --0.670008212328 --2.81029909849 --0.670007094741 --2.79304248094 --0.670008122921 --2.77578562498 --0.670011267066 --2.75852894783 --0.670016467571 --2.74127197265 --0.670023813844 --2.72401499748 --0.670033276081 --2.70675754547 --0.670044869185 --2.68949997425 --0.67005854845 --2.67224186659 --0.670074373484 --2.65498352051 --0.670092225075 --2.63772451878 --0.670102119446 --2.61850869655 --0.670093119144 --2.59929454326 --0.670075118542 --2.58203566074 --0.670059278607 --2.56477707625 --0.670045495033 --2.5475191474 --0.670033827424 --2.53026139736 --0.670024275779 --2.51300412417 --0.670016810298 --2.49574691057 --0.670011460781 --2.47849011421 --0.670008212328 --2.46123319864 --0.670007124543 --2.44397652149 --0.670008122921 --2.42671978474 --0.670011237264 --2.40946316719 --0.670016467571 --2.39220613241 --0.670023813844 --2.37494915724 --0.670033276081 --2.35769176483 --0.670044869185 --2.34043419361 --0.67005854845 --2.32317608595 --0.670074373484 --2.30591768026 --0.670092225075 --2.28865867853 --0.670102119446 --2.26944285631 --0.670093148947 --2.25022858381 --0.670075148344 --2.2329697609 --0.670059278607 --2.215711236 --0.670045495033 --2.19845324755 --0.670033827424 --2.18119549751 --0.670024245977 --2.16393822432 --0.670016780495 --2.14668101072 --0.670011460781 --2.12942421436 --0.670008212328 --2.1121673584 --0.670007124543 --2.09491074085 --0.670008122921 --2.07765394449 --0.670011237264 --2.06039726734 --0.670016467571 --2.04314029216 --0.670023813844 --2.02588325739 --0.670033276081 --2.00862580538 --0.670044869185 --1.99136829376 --0.67005854845 --1.9741102159 --0.670074373484 --1.95685186982 --0.670092225075 --1.93959283829 --0.670102119446 --1.92037698626 --0.670093148947 --1.90116277337 --0.670075148344 --1.88390392065 --0.670059248805 --1.86664536595 --0.670045465231 --1.8493874371 --0.670033827424 --1.83212968707 --0.670024275779 --1.81487241388 --0.670016810298 --1.79761523008 --0.670011460781 --1.78035840392 --0.670008212328 --1.76310154796 --0.670007124543 --1.74584493041 --0.670008122921 --1.72858810425 --0.670011237264 --1.7113314271 --0.670016497373 --1.69407442212 --0.670023873448 --1.67681741714 --0.670033305884 --1.65955999493 --0.670044898987 --1.64230242372 --0.670058578253 --1.62504431605 --0.670074373484 --1.60778599977 --0.670092225075 --1.59052699805 --0.670102119446 --1.57131111622 --0.670093148947 --1.55209690333 --0.670075178146 --1.5348380506 --0.670059293508 --1.51757949591 --0.670045480132 --1.50032156706 --0.670033827424 --1.48306384682 --0.670024275779 --1.46580660343 --0.670016780495 --1.44854938984 --0.670011430979 --1.43129259348 --0.670008212328 --1.41403570771 --0.670007124543 --1.39677903056 --0.670008137822 --1.3795222342 --0.670011252165 --1.36226555705 --0.670016497373 --1.34500855207 --0.670023873448 --1.3277515471 --0.670033335686 --1.31049412489 --0.670044898987 --1.29323661327 --0.67005854845 --1.27597853541 --0.670074373484 --1.25872018933 --0.670092225075 --1.2414611578 --0.670102119446 --1.22224530578 --0.670093119144 --1.20303109288 --0.670075148344 --1.18577221036 --0.67005930841 --1.16851365566 --0.670045495033 --1.15125572682 --0.670033827424 --1.13399797678 --0.670024245977 --1.11674073338 --0.670016780495 --1.09948354959 --0.670011460781 --1.08222672343 --0.670008212328 --1.06496983767 --0.670007124543 --1.04771322012 --0.670008122921 --1.03045639396 --0.670011237264 --1.013199687 --0.670016467571 --0.995942696928 --0.670023813844 --0.978685691952 --0.670033305884 --0.961428284645 --0.670044928789 --0.944170758128 --0.670058578253 --0.926912665367 --0.670074373484 --0.909654319286 --0.670092225075 --0.892395302653 --0.670102119446 --0.873179450631 --0.670093148947 --0.853965222836 --0.670075148344 --0.836706355214 --0.670059248805 --0.819447815418 --0.670045465231 --0.802189871669 --0.670033827424 --0.784932121634 --0.670024275779 --0.767674878239 --0.670016810298 --0.750417679548 --0.670011460781 --0.733160868287 --0.670008212328 --0.71590398252 --0.670007094741 --0.698647350073 --0.670008137822 --0.681390538812 --0.670011281967 --0.664133861661 --0.670016497373 --0.646876886487 --0.670023873448 --0.629619896412 --0.670033305884 --0.612362444401 --0.670044869185 --0.59510487318 --0.67005854845 --0.577846810222 --0.670074373484 --0.56058844924 --0.670092225075 --0.543329417706 --0.670102119446 --0.524113580585 --0.670093119144 --0.50489936769 --0.670075118542 --0.48764051497 --0.670059278607 --0.470381967723 --0.670045495033 --0.453124031424 --0.670033827424 --0.43586628139 --0.670024275779 --0.418609023094 --0.670016810298 --0.401351846754 --0.670011490583 --0.384095028043 --0.670008242131 --0.366838127375 --0.670007094741 --0.349581502378 --0.670008137822 --0.332324691116 --0.670011281967 --0.315068006515 --0.670016497373 --0.297811016441 --0.670023843646 --0.280554018914 --0.670033305884 --0.263296604156 --0.670044928789 --0.246039055288 --0.670058578253 --0.228780958802 --0.670074373484 --0.211522612721 --0.670092225075 --0.194263588637 --0.670102119446 --0.175047736615 --0.65297627449 --0.155827987939 --0.652958646417 --0.138569146395 --0.652943074703 --0.121310617775 --0.65292955935 --0.104052711278 --0.652918085456 --0.0867949873209 --0.652908682823 --0.0695377569646 --0.652901381254 --0.0522805908695 --0.652896150947 --0.0350237949751 --0.652893006801 --0.0177669394761 --0.652891948819 --0.000510331243278 --0.652892947197 -0.0167464599945 --0.652896001935 -0.0340031282976 --0.652901127934 -0.051260101609 --0.652908354997 -0.068517071195 --0.652917608619 -0.0857744719833 --0.652928963304 -0.103032004088 --0.652942374348 -0.120290080085 --0.652957871556 -0.137548398226 --0.652975395322 -0.154807392508 --0.652985095978 -0.174023445696 --0.65297627449 -0.193237856031 --0.652958646417 -0.210496697575 --0.652943074703 -0.227755226195 --0.65292955935 -0.245013128966 --0.65291814506 -0.262270852923 --0.652908742428 -0.279528088868 --0.652901411057 -0.296785265207 --0.652896180749 -0.314042046666 --0.652893006801 -0.331298902631 --0.652891919017 -0.348555520177 --0.652892902493 -0.365812309086 --0.652895987034 -0.383068978786 --0.652901098132 -0.40032595396 --0.652908325195 -0.417582929134 --0.652917608619 -0.434840328992 --0.652928963304 -0.452097855508 --0.652942374348 -0.469355925917 --0.652957871556 -0.486614242196 --0.652975395322 -0.503873236478 --0.652985095978 -0.523089304566 --0.65297627449 -0.542303726077 --0.652958616614 -0.559562548995 --0.652943044901 -0.576821058989 --0.65292955935 -0.594078958035 --0.652918115258 -0.611336693168 --0.652908712625 -0.628593936562 --0.652901411057 -0.645851105452 --0.652896180749 -0.663107901812 --0.652893006801 -0.680364757776 --0.652891948819 -0.697621375322 --0.652892932296 -0.71487814188 --0.652895987034 -0.73213480413 --0.652901127934 -0.749391794205 --0.652908354997 -0.766648769379 --0.652917608619 -0.783906176686 --0.652928963304 -0.801163703203 --0.652942374348 -0.818421795964 --0.652957871556 -0.835680127144 --0.652975395322 -0.852939113974 --0.652985095978 -0.872155159712 --0.65297627449 -0.891369581223 --0.652958616614 -0.908628404141 --0.652943044901 -0.925886914134 --0.65292955935 -0.943144842982 --0.65291814506 -0.960402563214 --0.652908742428 -0.977659776807 --0.652901411057 -0.994916960596 --0.652896180749 -1.01217380166 --0.652893006801 -1.02943062782 --0.652891948819 -1.04668721556 --0.652892932296 -1.06394401192 --0.652895987034 -1.08120065927 --0.652901127934 -1.09845763445 --0.652908354997 -1.11571460962 --0.652917608619 -1.13297200203 --0.652928963304 -1.15022951364 --0.652942374348 -1.16748759151 --0.652957871556 -1.18474593759 --0.652975395322 -1.20200493932 --0.652985095978 -1.22122097015 --0.65297627449 -1.24043539166 --0.652958646417 -1.25769424439 --0.652943074703 -1.27495276928 --0.65292955935 -1.29221069813 --0.652918115258 -1.30946841836 --0.652908712625 -1.32672563195 --0.652901411057 -1.34398278594 --0.652896180749 -1.3612395823 --0.652893006801 -1.37849646807 --0.652891948819 -1.39575305581 --0.652892932296 -1.41300985217 --0.652895987034 -1.43026652932 --0.652901127934 -1.44752350449 --0.6529083848 -1.46478047967 --0.652917668224 -1.48203787208 --0.652928993106 -1.49929541349 --0.652942374348 -1.51655349135 --0.652957871556 -1.53381180763 --0.652975365519 -1.55107080937 --0.652985066175 -1.57028687 --0.65297627449 -1.58950129151 --0.652958646417 -1.60676011444 --0.652943059802 -1.62401863933 --0.652929544449 -1.64127653837 --0.65291814506 -1.65853425861 --0.652908742428 -1.6757915318 --0.652901411057 -1.69304868579 --0.652896180749 -1.71030545235 --0.652893006801 -1.72756230831 --0.652891948819 -1.74481892586 --0.652892947197 -1.76207572222 --0.652896001935 -1.77933239937 --0.652901098132 -1.79658934474 --0.652908354997 -1.81384631992 --0.652917668223 -1.83110374212 --0.652928993106 -1.84836122394 --0.652942374348 -1.86561927199 --0.652957871556 -1.88287761807 --0.652975395322 -1.90013661981 --0.652985095978 -1.91935271025 --0.65297627449 -1.93856713176 --0.652958676219 -1.95582595467 --0.652943104505 -1.97308447957 --0.65292955935 -1.99034237862 --0.65291814506 -2.00760012865 --0.652908742428 -2.02485734225 --0.652901411057 -2.04211449623 --0.652896180749 -2.05937129259 --0.652893006801 -2.07662814856 --0.652891948819 -2.0938847661 --0.652892932296 -2.11114156246 --0.652895987034 -2.12839823961 --0.652901127934 -2.14565521479 --0.652908354997 -2.16291218996 --0.652917638421 -2.18016958237 --0.652928993106 -2.19742709398 --0.652942374348 -2.21468520165 --0.652957871556 -2.23194348812 --0.652975395322 -2.24920243025 --0.652985095978 -2.26841855049 --0.65297627449 -2.2876329422 --0.652958646417 -2.30489176512 --0.652943074703 -2.32215029001 --0.65292955935 -2.33940815926 --0.652918115258 -2.35666590929 --0.652908712625 -2.37392312288 --0.652901411057 -2.39118033648 --0.652896180749 -2.40843719244 --0.652893006801 -2.42569404841 --0.652891919017 -2.44295066595 --0.652892917395 -2.46020740271 --0.652896001935 -2.47746402025 --0.652901127934 -2.49472099543 --0.6529083848 -2.5119779706 --0.652917638421 -2.52923542261 --0.652928963304 -2.54649293423 --0.652942374348 -2.56375098229 --0.652957871556 -2.58100938797 --0.652975395322 -2.5982683897 --0.652985095978 -2.61748439074 --0.65297627449 -2.63669884205 --0.652958616614 -2.65395766497 --0.652943044901 -2.67121618986 --0.65292955935 -2.68847411871 --0.65291814506 -2.70573180914 --0.652908742428 -2.72298908234 --0.652901411057 -2.74024623633 --0.652896210551 -2.75750297308 --0.652893036604 -2.77475982905 --0.652891919017 -2.79201644659 --0.652892917395 -2.80927330256 --0.652896001935 -2.82652997971 --0.652901127934 -2.84378695488 --0.652908354997 -2.86104393005 --0.652917638421 -2.87830126286 --0.652928993106 -2.89555883408 --0.652942374348 -2.91281694174 --0.652957871556 -2.93007522821 --0.652975395322 -2.94733422995 --0.652985095978 -2.96655029058 --0.65297627449 -2.98576468229 --0.652958646417 -3.00302350521 --0.652943074703 -3.02028203011 --0.65292955935 -3.03753995895 --0.652918085456 -3.05479764938 --0.652908682823 -3.07205486298 --0.652901381254 -3.08931207657 --0.652896150947 -3.10656887293 --0.652893006801 -3.12382572889 --0.652891948819 -3.14108231862 --0.652892947197 --3.12484616041 --0.652896001935 --3.10758948326 --0.652901127934 --3.09033250808 --0.652908354997 --3.07307553291 --0.652917608619 --3.05581820011 --0.652928963304 --3.03856062889 --0.652942374348 --3.02130252123 --0.652957871556 --3.00404423475 --0.652975395322 --2.98678523302 --0.652985095978 --2.96756917238 --0.65297627449 --2.94835478067 --0.652958646417 --2.93109595775 --0.652943074703 --2.91383743286 --0.65292955935 --2.89657950401 --0.65291814506 --2.87932181359 --0.652908742428 --2.86206459999 --0.652901411057 --2.8448073864 --0.652896180749 --2.82755059004 --0.652893006801 --2.81029373407 --0.652891919017 --2.79303711653 --0.652892902493 --2.77578032017 --0.652895987034 --2.75852364302 --0.652901098132 --2.74126666784 --0.652908325195 --2.72400975227 --0.652917608619 --2.70675235987 --0.652928963304 --2.68949478865 --0.652942374348 --2.67223674059 --0.652957871556 --2.65497845411 --0.652975395322 --2.63771945238 --0.652985095978 --2.61850339174 --0.65297627449 --2.59928900003 --0.652958616614 --2.58203017711 --0.652943044901 --2.56477165222 --0.65292955935 --2.54751372338 --0.652918115258 --2.53025597334 --0.652908712625 --2.51299875974 --0.652901411057 --2.49574154615 --0.652896180749 --2.47848469019 --0.652893006801 --2.46122783422 --0.652891948819 --2.44397121668 --0.652892932296 --2.42671447992 --0.652895987034 --2.40945786238 --0.652901127934 --2.3922008872 --0.652908354997 --2.37494391203 --0.652917608619 --2.35768646002 --0.652928963304 --2.3404289484 --0.652942374348 --2.32317090035 --0.652957871556 --2.30591249466 --0.652975395322 --2.28865349293 --0.652985095978 --2.26943749189 --0.65297627449 --2.25022304058 --0.652958616614 --2.23296421767 --0.652943044901 --2.21570569277 --0.65292955935 --2.19844776392 --0.65291814506 --2.18119007349 --0.652908742428 --2.1639328599 --0.652901411057 --2.14667570591 --0.652896180749 --2.12941890955 --0.652893006801 --2.11216205358 --0.652891948819 --2.09490543604 --0.652892932296 --2.07764869928 --0.652895987034 --2.06039202213 --0.652901127934 --2.04313504696 --0.652908354997 --2.02587807178 --0.652917608619 --2.00862061977 --0.652928963304 --1.99136310816 --0.652942374348 --1.9741050303 --0.652957871556 --1.95684671402 --0.652975395322 --1.93958771229 --0.652985095978 --1.92037165165 --0.65297627449 --1.90115723014 --0.652958646417 --1.88389840722 --0.652943074703 --1.86663988233 --0.65292955935 --1.84938195348 --0.652918115258 --1.83212423325 --0.652908712625 --1.81486698985 --0.652901411057 --1.79760983586 --0.652896180749 --1.78035306931 --0.652893006801 --1.76309621334 --0.652891948819 --1.74583959579 --0.652892932296 --1.72858279943 --0.652895987034 --1.71132612228 --0.652901127934 --1.69406914711 --0.6529083848 --1.67681217193 --0.652917668224 --1.65955477953 --0.652928993106 --1.64229723811 --0.652942374348 --1.62503913045 --0.652957871556 --1.60778084398 --0.652975365519 --1.59052187205 --0.652985066175 --1.5713057816 --0.65297627449 --1.55209138989 --0.652958646417 --1.53483256698 --0.652943059802 --1.51757401228 --0.652929544449 --1.50031611324 --0.65291814506 --1.483058393 --0.652908742428 --1.46580117941 --0.652901411057 --1.44854399562 --0.652896180749 --1.43128719926 --0.652893006801 --1.41403034329 --0.652891948819 --1.39677369594 --0.652892947197 --1.37951692939 --0.652896001935 --1.36226028204 --0.652901098132 --1.34500330687 --0.652908354997 --1.32774633169 --0.652917668223 --1.31048890948 --0.652928993106 --1.29323139787 --0.652942374348 --1.27597334981 --0.652957871556 --1.25871500373 --0.652975395322 --1.241456002 --0.652985095978 --1.22223997116 --0.65297627449 --1.20302554965 --0.652958676219 --1.18576669693 --0.652943104505 --1.16850817204 --0.65292955935 --1.15125027299 --0.65291814506 --1.13399255276 --0.652908742428 --1.11673530936 --0.652901411057 --1.09947815537 --0.652896180749 --1.08222138881 --0.652893006801 --1.06496450305 --0.652891948819 --1.0477078855 --0.652892932296 --1.03045108914 --0.652895987034 --1.01319441199 --0.652901127934 --0.995937451719 --0.652908354997 --0.978680461645 --0.652917638421 --0.961423069239 --0.652928993106 --0.944165557623 --0.652942374348 --0.926907479763 --0.652957871556 --0.909649148583 --0.652975395322 --0.892390161753 --0.652985095978 --0.873174116016 --0.65297627449 --0.853959694505 --0.652958646417 --0.836700856685 --0.652943074703 --0.819442331791 --0.65292955935 --0.802184417844 --0.652918115258 --0.784926697612 --0.652908712625 --0.767669469118 --0.652901411057 --0.750412285328 --0.652896180749 --0.733155503869 --0.652893006801 --0.715898647904 --0.652891919017 --0.698642030358 --0.652892917395 --0.681385233999 --0.652896001935 --0.664128571749 --0.652901127934 --0.646871611476 --0.6529083848 --0.629614651203 --0.652917638421 --0.612357228994 --0.652928963304 --0.595099672675 --0.652942374348 --0.577841624618 --0.652957871556 --0.560583293438 --0.652975395322 --0.543324276805 --0.652985095978 --0.524108231068 --0.65297627449 --0.504893839359 --0.652958616614 --0.48763500154 --0.652943044901 --0.470376461744 --0.65292955935 --0.453118555247 --0.65291814506 --0.435860835016 --0.652908742428 --0.418603606522 --0.652901411057 --0.401346445084 --0.652896210551 --0.384089656174 --0.652893036604 --0.366832777858 --0.652891919017 --0.349576167762 --0.652892917395 --0.332319386303 --0.652896001935 --0.315062716603 --0.652901127934 --0.29780574888 --0.652908354997 --0.280548773706 --0.652917638421 --0.263291373849 --0.652928993106 --0.246033847332 --0.652942374348 --0.228775776923 --0.652957871556 --0.211517456919 --0.652975395322 --0.194258458912 --0.652985095978 --0.175042405724 --0.635840222239 --0.15582241118 --0.635822951794 --0.138563595712 --0.635807693005 --0.121305087581 --0.635794460773 --0.104047199711 --0.635783240199 --0.0867894999683 --0.635774016381 --0.0695322938263 --0.635766863823 --0.052275147289 --0.635761752724 --0.0350183723495 --0.635758653283 --0.017761539435 --0.635757610202 --0.000504952855408 --0.635758578777 -0.0167518162634 --0.635761573911 -0.0340084629133 --0.635766640306 -0.0512654148042 --0.635773733258 -0.0685223629698 --0.635782763362 -0.0857797395438 --0.635793879628 -0.103037245572 --0.635807007551 -0.120295304805 --0.635822162032 -0.137553606182 --0.635839357972 -0.154812578112 --0.635848879814 -0.17402882874 --0.635840252041 -0.19324343279 --0.635823011398 -0.210502248258 --0.635807722807 -0.227760754526 --0.635794460773 -0.24501863867 --0.635783270002 -0.262276344001 --0.635774046183 -0.279533557594 --0.635766863823 -0.296790704131 --0.635761752724 -0.314047463238 --0.635758653283 -0.331304296851 --0.635757580399 -0.348560892046 --0.635758548975 -0.365817666054 --0.635761573911 -0.383074313402 --0.635766580701 -0.400331258774 --0.635773673654 -0.417588211596 --0.635782793164 -0.434845596552 --0.635793909431 -0.452103100717 --0.635807037353 -0.469361156225 --0.635822221637 -0.486619450152 --0.635839387774 -0.503878414631 --0.635848879814 -0.523094683885 --0.635840252041 -0.542309299111 --0.635822981596 -0.559568092227 --0.635807693005 -0.576826587319 --0.635794460773 -0.594084486365 --0.635783240199 -0.611342191696 --0.635774016381 -0.628599390388 --0.635766863823 -0.645856544375 --0.635761752724 -0.663113325834 --0.635758653283 -0.680370151997 --0.635757580399 -0.697626754642 --0.635758548975 -0.714883521199 --0.635761603713 -0.732140153646 --0.635766640306 -0.749397113919 --0.635773703456 -0.766654074192 --0.635782793164 -0.783911466598 --0.635793909431 -0.801168978214 --0.635807037353 -0.818427026272 --0.635822221637 -0.835685312748 --0.635839387774 -0.852944284677 --0.635848879814 -0.87216052413 --0.635840252041 -0.891375124455 --0.635822981596 -0.908633947373 --0.635807693005 -0.925892457366 --0.635794460773 -0.943150341511 --0.635783270002 -0.960408046842 --0.635774046183 -0.977665245533 --0.635766863823 -0.99492238462 --0.635761752724 -1.01217919588 --0.635758653283 -1.02943602204 --0.635757580399 -1.04669257998 --0.635758548975 -1.06394934654 --0.635761573911 -1.08120599389 --0.635766610503 -1.09846293926 --0.635773703456 -1.11571988463 --0.635782793164 -1.13297727704 --0.635793909431 -1.15023478866 --0.635807037353 -1.16749283672 --0.635822221637 -1.18475115299 --0.635839387774 -1.20201012492 --0.635848879814 -1.22122636437 --0.635840252041 -1.2404409945 --0.635823011398 -1.25769978762 --0.635807722807 -1.27495828271 --0.635794460773 -1.29221621156 --0.635783240199 -1.30947390199 --0.635774016381 -1.32673108578 --0.635766863823 -1.34398823976 --0.635761752724 -1.36124503612 --0.635758653283 -1.37850186228 --0.635757580399 -1.39575842023 --0.635758548975 -1.41301521659 --0.635761603713 -1.43027186394 --0.635766640306 -1.44752880931 --0.635773703456 -1.46478578448 --0.635782822967 -1.48204317689 --0.635793939233 -1.4993006587 --0.635807007551 -1.51655870676 --0.635822191834 -1.53381699324 --0.635839357972 -1.55107596517 --0.635848850012 -1.57029223442 --0.635840252041 -1.58950683474 --0.635822981596 -1.60676565767 --0.635807693005 -1.62402418256 --0.635794460773 -1.64128205181 --0.635783270002 -1.65853974223 --0.635774046183 -1.67579698563 --0.635766863823 -1.69305410981 --0.635761752724 -1.71031084657 --0.635758653283 -1.72756770253 --0.635757580399 -1.74482432008 --0.635758548975 -1.76208108664 --0.635761603713 -1.77933773398 --0.635766640306 -1.79659467936 --0.635773703456 -1.81385162473 --0.635782793164 -1.83110898733 --0.635793909431 -1.84836646915 --0.635807037353 -1.8656245172 --0.635822221637 -1.88288283348 --0.635839387774 -1.90014183521 --0.635848879814 -1.91935810447 --0.635840222239 -1.93857270479 --0.635822951794 -1.95583152771 --0.635807693005 -1.9730900228 --0.635794460773 -1.99034789205 --0.635783270002 -2.00760558248 --0.635774046183 -2.02486276627 --0.635766863823 -2.04211992025 --0.635761752724 -2.05937665701 --0.635758653283 -2.07663351297 --0.635757580399 -2.09389013052 --0.635758548975 -2.11114686728 --0.635761603713 -2.12840354442 --0.635766640306 -2.1456605196 --0.635773703456 -2.16291749477 --0.635782793164 -2.18017482758 --0.635793909431 -2.19743227959 --0.635807037353 -2.21469038725 --0.635822221637 -2.23194867373 --0.635839387774 -2.24920761585 --0.635848879814 -2.26842391491 --0.635840252041 -2.28763854504 --0.635823011398 -2.30489736796 --0.635807722807 -2.32215583325 --0.635794460773 -2.33941370249 --0.635783240199 -2.35667139292 --0.635774016381 -2.37392860651 --0.635766863823 -2.3911858201 --0.635761752724 -2.40844261646 --0.635758653283 -2.42569941282 --0.635757580399 -2.44295597076 --0.635758548975 -2.46021276712 --0.635761573911 -2.47746938467 --0.635766610503 -2.49472630024 --0.635773703456 -2.51198327541 --0.635782793164 -2.52924072742 --0.635793909431 -2.54649823904 --0.635807037353 -2.5637562871 --0.635822221637 -2.58101463318 --0.635839387774 -2.5982735753 --0.635848879814 -2.61748975515 --0.635840252041 -2.63670438528 --0.635822981596 -2.6539632082 --0.635807693005 -2.67122173309 --0.635794460773 -2.68847966194 --0.635783270002 -2.70573735237 --0.635774046183 -2.72299456596 --0.635766863823 -2.74025166035 --0.635761752724 -2.7575083971 --0.635758653283 -2.77476525307 --0.635757580399 -2.79202187061 --0.635758548975 -2.80927866697 --0.635761603713 -2.82653528452 --0.635766640306 -2.84379225969 --0.635773703456 -2.86104917526 --0.635782793164 -2.87830650806 --0.635793909431 -2.89556407929 --0.635807037353 -2.91282212734 --0.635822221637 -2.93008041382 --0.635839387774 -2.94733941555 --0.635848879814 -2.966555655 --0.635840222239 -2.98577022553 --0.635822951794 -3.00302904845 --0.635807693005 -3.02028757334 --0.635794460773 -3.03754544258 --0.635783240199 -3.05480313301 --0.635774016381 -3.0720603466 --0.635766863823 -3.08931750059 --0.635761752724 -3.10657423735 --0.635758653283 -3.12383109331 --0.635757610202 -3.14108774264 --0.635758578777 --3.124840796 --0.635761573911 --3.10758417845 --0.635766640306 --3.09032720327 --0.635773733258 --3.0730702281 --0.635782763362 --3.0558128953 --0.635793879628 --3.03855538368 --0.635807007551 --3.02129733562 --0.635822162032 --3.00403904915 --0.635839357972 --2.98678004742 --0.635848879814 --2.96756380797 --0.635840252041 --2.94834923744 --0.635823011398 --2.93109041452 --0.635807722807 --2.91383188963 --0.635794460773 --2.89657402038 --0.635783270002 --2.87931632995 --0.635774046183 --2.86205911636 --0.635766863823 --2.84480196238 --0.635761752724 --2.82754522562 --0.635758653283 --2.81028836966 --0.635757580399 --2.79303175211 --0.635758548975 --2.77577501536 --0.635761573911 --2.75851833821 --0.635766580701 --2.74126136303 --0.635773673654 --2.72400444746 --0.635782793164 --2.70674711466 --0.635793909431 --2.68948960304 --0.635807037353 --2.67223155498 --0.635822221637 --2.65497326851 --0.635839387774 --2.63771426678 --0.635848879814 --2.61849796772 --0.635840252041 --2.59928333759 --0.635822981596 --2.58202457428 --0.635807693005 --2.56476610899 --0.635794460773 --2.54750818014 --0.635783240199 --2.53025048971 --0.635774016381 --2.51299333572 --0.635766863823 --2.49573612213 --0.635761752724 --2.47847926617 --0.635758653283 --2.46122246981 --0.635757580399 --2.44396591186 --0.635758548975 --2.42670911551 --0.635761603713 --2.40945249796 --0.635766640306 --2.39219558239 --0.635773703456 --2.37493860722 --0.635782793164 --2.35768115521 --0.635793909431 --2.34042364359 --0.635807037353 --2.32316559553 --0.635822221637 --2.30590730906 --0.635839387774 --2.28864836693 --0.635848879814 --2.26943212748 --0.635840252041 --2.25021749735 --0.635822981596 --2.23295867443 --0.635807693005 --2.21570014954 --0.635794460773 --2.19844228029 --0.635783270002 --2.18118458986 --0.635774046183 --2.16392737627 --0.635766863823 --2.14667028189 --0.635761752724 --2.12941348553 --0.635758653283 --2.11215662956 --0.635757580399 --2.09490001202 --0.635758548975 --2.07764327526 --0.635761573911 --2.06038665772 --0.635766610503 --2.04312968254 --0.635773703456 --2.02587276697 --0.635782793164 --2.00861537457 --0.635793909431 --1.99135783315 --0.635807037353 --1.97409978509 --0.635822221637 --1.95684149861 --0.635839387774 --1.93958252668 --0.635848879814 --1.92036628723 --0.635840252041 --1.90115168691 --0.635823011398 --1.88389286399 --0.635807722807 --1.86663433909 --0.635794460773 --1.84937644005 --0.635783240199 --1.83211874962 --0.635774016381 --1.81486153602 --0.635766863823 --1.79760438204 --0.635761752724 --1.78034764528 --0.635758653283 --1.76309081912 --0.635757580399 --1.74583420158 --0.635758548975 --1.72857743502 --0.635761603713 --1.71132078767 --0.635766640306 --1.6940638423 --0.635773703456 --1.67680689693 --0.635782822967 --1.65954953432 --0.635793939233 --1.6422920227 --0.635807007551 --1.62503394484 --0.635822191834 --1.60777565837 --0.635839357972 --1.59051668644 --0.635848850012 --1.57130041719 --0.635840252041 --1.55208581686 --0.635822981596 --1.53482699394 --0.635807693005 --1.51756846905 --0.635794460773 --1.50031059981 --0.635783270002 --1.48305287957 --0.635774046183 --1.46579566598 --0.635766863823 --1.44853854179 --0.635761752724 --1.43128177523 --0.635758653283 --1.41402491927 --0.635757580399 --1.39676833153 --0.635758548975 --1.37951159477 --0.635761603713 --1.36225494743 --0.635766640306 --1.34499800205 --0.635773703456 --1.32774105668 --0.635782793164 --1.31048366427 --0.635793909431 --1.29322615266 --0.635807037353 --1.2759681046 --0.635822221637 --1.25870978832 --0.635839387774 --1.24145081639 --0.635848879814 --1.22223457694 --0.635840222239 --1.20301994682 --0.635822951794 --1.1857611537 --0.635807693005 --1.16850265861 --0.635794460773 --1.15124475956 --0.635783270002 --1.13398706913 --0.635774046183 --1.11672985554 --0.635766863823 --1.09947270155 --0.635761752724 --1.08221596479 --0.635758653283 --1.06495913863 --0.635757580399 --1.04770252109 --0.635758548975 --1.03044572473 --0.635761603713 --1.01318907738 --0.635766640306 --0.995932146908 --0.635773703456 --0.978675186634 --0.635782793164 --0.961417809129 --0.635793909431 --0.944160297513 --0.635807037353 --0.926902234554 --0.635822221637 --0.909643933177 --0.635839387774 --0.892384976149 --0.635848879814 --0.873168736696 --0.635840252041 --0.85395412147 --0.635823011398 --0.836695298553 --0.635807722807 --0.819436788559 --0.635794460773 --0.802178904414 --0.635783240199 --0.784921213984 --0.635774016381 --0.767664000392 --0.635766863823 --0.750406831503 --0.635761752724 --0.733150064945 --0.635758653283 --0.715893253684 --0.635757580399 --0.69863666594 --0.635758548975 --0.68137986958 --0.635761573911 --0.664123237133 --0.635766610503 --0.646866291762 --0.635773703456 --0.629609331489 --0.635782793164 --0.612351953983 --0.635793909431 --0.595094442367 --0.635807037353 --0.57783639431 --0.635822221637 --0.560578092933 --0.635839387774 --0.543319106102 --0.635848879814 --0.524102851748 --0.635840252041 --0.504888258874 --0.635822981596 --0.487629443407 --0.635807693005 --0.470370925963 --0.635794460773 --0.453113041818 --0.635783270002 --0.435855343938 --0.635774046183 --0.418598145246 --0.635766863823 --0.40134100616 --0.635761752724 --0.384084224701 --0.635758653283 --0.366827376187 --0.635757580399 --0.349570788443 --0.635758548975 --0.332314029336 --0.635761603713 --0.315057389438 --0.635766640306 --0.297800436616 --0.635773703456 --0.280543491244 --0.635782793164 --0.263286113739 --0.635793909431 --0.246028602124 --0.635807037353 --0.228770550341 --0.635822221637 --0.211512252688 --0.635839387774 --0.194253280759 --0.635848879814 --0.175037026405 --0.618704646826 --0.155816007406 --0.618687704206 --0.138557210565 --0.618672788143 --0.121298730373 --0.618659839034 --0.104040872305 --0.61864887178 --0.0867831986398 --0.618639871478 --0.0695260176435 --0.618632867932 --0.0522688962519 --0.618627846241 --0.0350121473893 --0.618624806404 --0.0177553386893 --0.618623748422 --0.000498776789755 --0.618624687195 -0.0167579671834 --0.618627622724 -0.0340145882219 --0.61863258481 -0.0512715140357 --0.618639528751 -0.0685284389183 --0.618648380041 -0.0857857894152 --0.618659287691 -0.103043265641 --0.618672132492 -0.120301296935 --0.618686974049 -0.137559577823 --0.618703827262 -0.154818531126 --0.61871317029 -0.174035008997 --0.61870470643 -0.193249840289 --0.618687793613 -0.21050862968 --0.618672817945 -0.227767109871 --0.618659839034 -0.245024975389 --0.61864887178 -0.262282662094 --0.618639871478 -0.279539845884 --0.618632867932 -0.296796955168 --0.618627846241 -0.314053691924 --0.618624806404 -0.331310503185 --0.618623748422 -0.348567068577 --0.618624687195 -0.365823812783 --0.618627652526 -0.383080430329 --0.61863258481 -0.400337360799 --0.618639498949 -0.41759429127 --0.618648409844 -0.434851638973 --0.618659317494 -0.452109120786 --0.618672162295 -0.469367161393 --0.618687033653 -0.486625425517 --0.618703827262 -0.503884352744 --0.618713140488 -0.523100838065 --0.61870470643 -0.542315676809 --0.61868776381 -0.559574455023 --0.618672788143 -0.576832950115 --0.618659839034 -0.594090819359 --0.61864887178 -0.611348494887 --0.618639871478 -0.628605678678 --0.618632867932 -0.645862817764 --0.618627846241 -0.663119569421 --0.618624806404 -0.68037635088 --0.618623763323 -0.697632923723 --0.618624702096 -0.714889675379 --0.618627682328 -0.732146278024 --0.618632614612 -0.749403193593 --0.618639498949 -0.766660138965 --0.618648409844 -0.78391751647 --0.618659317494 -0.801174998284 --0.618672162295 -0.818433016539 --0.618687033653 -0.835691273212 --0.618703827262 -0.852950230241 --0.618713140488 -0.872166708112 --0.61870470643 -0.891381531954 --0.618687793613 -0.908640339971 --0.618672817945 -0.925898820162 --0.618659839034 -0.943156674505 --0.61864887178 -0.960414350033 --0.618639841676 -0.977671518922 --0.61863283813 -0.994928643109 --0.618627846241 -1.01218539476 --0.618624806404 -1.02944222093 --0.618623748422 -1.04669877887 --0.618624687195 -1.06395548582 --0.618627652526 -1.08121213317 --0.61863258481 -1.09846907854 --0.618639498949 -1.11572599411 --0.618648409844 -1.13298335672 --0.618659317494 -1.15024083853 --0.618672162295 -1.16749885678 --0.618687033653 -1.18475714326 --0.618703857064 -1.20201608538 --0.61871317029 -1.22123256326 --0.61870470643 -1.2404474318 --0.618687793613 -1.25770619511 --0.618672817945 -1.2749646306 --0.618659839034 -1.29222252965 --0.61864887178 -1.30948022008 --0.618639871478 -1.32673737406 --0.618632867932 -1.34399449825 --0.618627846241 -1.36125126481 --0.618624806404 -1.37850806117 --0.618623748422 -1.39576461911 --0.618624716997 -1.41302138567 --0.618627682328 -1.43027797341 --0.61863258481 -1.44753488898 --0.618639528751 -1.46479183435 --0.618648454547 -1.48204919696 --0.618659332395 -1.49930667877 --0.618672132492 -1.51656472683 --0.618687003851 -1.5338229835 --0.618703857064 -1.55108189583 --0.618713140488 -1.5702983737 --0.618704676628 -1.58951321244 --0.618687793613 -1.60677203536 --0.618672817945 -1.62403053045 --0.618659839034 -1.6412883699 --0.61864887178 -1.65854606032 --0.618639841676 -1.67580324411 --0.618632808328 -1.6930603385 --0.618627816438 -1.71031707525 --0.618624806404 -1.72757390141 --0.618623748422 -1.74483048916 --0.618624687195 -1.76208722592 --0.618627652526 -1.77934384346 --0.618632614613 -1.79660078883 --0.618639558554 -1.8138577044 --0.618648439646 -1.83111503721 --0.618659317494 -1.84837251902 --0.618672162295 -1.86563053727 --0.618687033653 -1.88288882375 --0.618703827262 -1.90014779567 --0.618713140488 -1.91936427354 --0.618704676628 -1.93857911229 --0.618687734008 -1.95583790541 --0.618672788143 -1.9730963707 --0.618659839034 -1.99035423994 --0.61864887178 -2.00761190057 --0.618639871478 -2.02486908436 --0.618632867932 -2.04212617874 --0.618627846241 -2.0593829155 --0.618624806404 -2.07663977146 --0.618623748422 -2.09389632941 --0.618624687195 -2.11115306616 --0.618627682328 -2.1284096837 --0.618632614612 -2.14566659927 --0.618639498949 -2.16292351484 --0.618648409844 -2.18018084765 --0.618659317494 -2.19743829966 --0.618672162295 -2.21469634771 --0.618687033653 -2.23195463419 --0.618703827262 -2.24921357632 --0.618713140488 -2.26843011379 --0.61870470643 -2.28764498234 --0.61868776381 -2.30490374565 --0.618672788143 -2.32216221094 --0.618659839034 -2.33942008019 --0.61864887178 -2.35667771101 --0.618639841676 -2.3739349246 --0.61863283813 -2.3911921382 --0.618627846241 -2.40844887495 --0.618624806404 -2.42570561171 --0.618623748422 -2.44296211004 --0.618624687195 -2.4602189064 --0.618627652526 -2.47747552395 --0.61863258481 -2.49473237991 --0.618639528751 -2.51198935509 --0.618648439646 -2.52924674749 --0.618659317494 -2.54650425911 --0.618672162295 -2.56376230717 --0.618687033653 -2.58102053404 --0.618703857064 -2.59827947616 --0.618713140488 -2.61749595403 --0.618704676628 -2.63671076298 --0.61868776381 -2.65396952629 --0.618672788143 -2.67122805119 --0.618659839034 -2.68848592043 --0.61864887178 -2.70574361086 --0.618639871478 -2.72300082445 --0.618632867932 -2.74025791883 --0.618627846241 -2.75751465559 --0.618624806404 -2.77477145195 --0.618623748422 -2.7920280695 --0.618624687195 -2.80928480625 --0.618627682328 -2.8265413642 --0.618632614612 -2.84379833937 --0.618639498949 -2.86105525494 --0.618648409844 -2.87831258774 --0.618659317494 -2.89557009935 --0.618672162295 -2.91282808781 --0.618687033653 -2.93008637428 --0.618703827262 -2.94734537601 --0.618713140488 -2.96656179428 --0.618704646826 -2.98577660322 --0.618687704206 -3.00303542614 --0.618672788143 -3.02029389143 --0.618659839034 -3.03755176067 --0.61864887178 -3.0548094511 --0.618639871478 -3.07206660509 --0.618632867932 -3.08932369947 --0.618627846241 -3.10658043623 --0.618624806404 -3.12383729219 --0.618623748422 -3.14109394153 --0.618624687195 --3.12483465672 --0.618627622724 --3.10757809877 --0.61863258481 --3.0903211236 --0.618639528751 --3.07306414842 --0.618648380041 --3.05580681562 --0.618659287691 --3.03854936361 --0.618672132492 --3.02129137516 --0.618686974049 --3.00403308868 --0.618703827262 --2.98677408696 --0.61871317029 --2.96755766869 --0.61870470643 --2.94834285975 --0.618687793613 --2.93108397722 --0.618672817945 --2.91382551193 --0.618659839034 --2.89656770229 --0.61864887178 --2.87931001186 --0.618639871478 --2.86205285788 --0.618632867932 --2.8447957635 --0.618627846241 --2.82753902674 --0.618624806404 --2.81028217077 --0.618623748422 --2.79302555323 --0.618624687195 --2.77576887607 --0.618627652526 --2.75851225853 --0.61863258481 --2.74125528335 --0.618639498949 --2.72399836778 --0.618648409844 --2.70674103498 --0.618659317494 --2.68948358297 --0.618672162295 --2.67222553491 --0.618687033653 --2.65496724844 --0.618703827262 --2.63770830631 --0.618713140488 --2.61849176884 --0.61870470643 --2.59927690029 --0.61868776381 --2.58201813698 --0.618672788143 --2.56475967169 --0.618659839034 --2.54750180244 --0.61864887178 --2.53024417162 --0.618639871478 --2.51298701763 --0.618632867932 --2.49572980404 --0.618627846241 --2.47847300768 --0.618624806404 --2.46121627093 --0.618623763323 --2.44395977258 --0.618624702096 --2.42670297623 --0.618627682328 --2.40944635868 --0.618632614612 --2.39218950271 --0.618639498949 --2.37493252754 --0.618648409844 --2.35767513514 --0.618659317494 --2.34041768313 --0.618672162295 --2.32315963507 --0.618687033653 --2.3059014082 --0.618703827262 --2.28864246607 --0.618713140488 --2.2694259286 --0.61870470643 --2.25021111965 --0.618687793613 --2.23295235634 --0.618672817945 --2.21569383144 --0.618659839034 --2.1984359622 --0.61864887178 --2.18117827177 --0.618639841676 --2.16392105818 --0.61863283813 --2.1466639638 --0.618627846241 --2.12940722704 --0.618624806404 --2.11215043068 --0.618623748422 --2.09489387274 --0.618624687195 --2.07763713598 --0.618627652526 --2.06038051844 --0.61863258481 --2.04312354326 --0.618639498949 --2.02586662769 --0.618648409844 --2.00860929489 --0.618659317494 --1.99135178327 --0.618672162295 --1.97409376502 --0.618687033653 --1.95683550835 --0.618703857064 --1.93957656622 --0.61871317029 --1.92036011815 --0.61870470643 --1.90114530921 --0.618687793613 --1.88388648629 --0.618672817945 --1.8666279912 --0.618659839034 --1.84937015176 --0.61864887178 --1.83211246132 --0.618639871478 --1.81485524773 --0.618632867932 --1.79759812355 --0.618627846241 --1.78034138679 --0.618624806404 --1.76308459043 --0.618623748422 --1.74582803249 --0.618624716997 --1.72857129574 --0.618627682328 --1.71131467819 --0.61863258481 --1.69405773282 --0.618639528751 --1.67680081725 --0.618648454547 --1.65954348445 --0.618659332395 --1.64228600264 --0.618672132492 --1.62502798438 --0.618687003851 --1.6077696979 --0.618703857064 --1.59051072597 --0.618713140488 --1.57129424811 --0.618704676628 --1.55207940936 --0.618687793613 --1.53482061624 --0.618672817945 --1.51756212115 --0.618659839034 --1.50030425191 --0.61864887178 --1.48304659128 --0.618639841676 --1.46578940749 --0.618632808328 --1.44853228331 --0.618627816438 --1.43127554655 --0.618624806404 --1.41401872039 --0.618623748422 --1.39676216245 --0.618624687195 --1.37950545549 --0.618627652526 --1.36224880814 --0.618632614613 --1.34499189258 --0.618639558554 --1.32773497701 --0.618648439646 --1.3104775846 --0.618659317494 --1.29322010279 --0.618672162295 --1.27596208453 --0.618687033653 --1.25870382786 --0.618703827262 --1.24144488573 --0.618713140488 --1.22222837806 --0.618704676628 --1.20301353931 --0.618687734008 --1.185754776 --0.618672788143 --1.16849628091 --0.618659839034 --1.15123841167 --0.61864887178 --1.13398075104 --0.618639871478 --1.11672356725 --0.618632867932 --1.09946644306 --0.618627846241 --1.08220970631 --0.618624806404 --1.06495290995 --0.618623748422 --1.0476963222 --0.618624687195 --1.03043955565 --0.618627682328 --1.0131829381 --0.618632614612 --0.995926037431 --0.618639498949 --0.978669121862 --0.618648409844 --0.961411759257 --0.618659317494 --0.944154277444 --0.618672162295 --0.926896259188 --0.618687033653 --0.909637987614 --0.618703827262 --0.892379030585 --0.618713140488 --0.873162552714 --0.61870470643 --0.853947713971 --0.61868776381 --0.836688920856 --0.618672788143 --0.819430440664 --0.618659839034 --0.802172586322 --0.61864887178 --0.784914910793 --0.618639841676 --0.767657727003 --0.61863283813 --0.750400587916 --0.618627846241 --0.733143821359 --0.618624806404 --0.715887024999 --0.618623748422 --0.698630467057 --0.618624687195 --0.6813737154 --0.618627652526 --0.664117112756 --0.61863258481 --0.646860197187 --0.618639528751 --0.629603251815 --0.618648439646 --0.612345904112 --0.618659317494 --0.595088437199 --0.618672162295 --0.577830404043 --0.618687033653 --0.560572132468 --0.618703857064 --0.54331317544 --0.618713140488 --0.524096682667 --0.618704676628 --0.504881843924 --0.61868776381 --0.48762306571 --0.618672788143 --0.47036459297 --0.618659839034 --0.453106731177 --0.61864887178 --0.435849048197 --0.618639871478 --0.418591864407 --0.618632867932 --0.401334747672 --0.618627846241 --0.384077988565 --0.618624806404 --0.366821169853 --0.618623748422 --0.349564611912 --0.618624687195 --0.332307875156 --0.618627682328 --0.31505125761 --0.618632614612 --0.29779432714 --0.618639498949 --0.280537411571 --0.618648409844 --0.263280063868 --0.618659317494 --0.246022574604 --0.618672162295 --0.228764545173 --0.618687033653 --0.211506273598 --0.618703827262 --0.19424732402 --0.618713140488 --0.175030846149 --0.601598754525 --0.155809432268 --0.601582214236 --0.13855066523 --0.601567611098 --0.121292209253 --0.60155493021 --0.104034375399 --0.601544201374 --0.0867767259478 --0.601535394788 --0.069519566372 --0.601528540253 --0.0522624738514 --0.60152362287 --0.0350057529286 --0.601520657539 --0.0177489700727 --0.60151964426 --0.000492434715852 --0.601520568132 -0.0167642834131 --0.601523444057 -0.0340208788402 --0.601528257132 -0.0512777781114 --0.60153503716 -0.0685346778482 --0.601543754339 -0.0857920069248 --0.601554438472 -0.103049458936 --0.601567000151 -0.120307458565 --0.601581528783 -0.137565709651 --0.601597994566 -0.154824633151 --0.601607114077 -0.174041345715 --0.60159881413 -0.193256419152 --0.601582244039 -0.210515182465 --0.601567611098 -0.22777363658 --0.60155493021 -0.245031472296 --0.601544201374 -0.262289129198 --0.601535394788 -0.279546290636 --0.601528570056 -0.296803377569 --0.601523652672 -0.314060091973 --0.601520657539 -0.331316880882 --0.60151964426 -0.348573416471 --0.601520568132 -0.365830123425 --0.601523473859 -0.383086718619 --0.601528286934 -0.400343634188 --0.60153503716 -0.417600534856 --0.601543754339 -0.434857845306 --0.601554408669 -0.452115304768 --0.601566970348 -0.469373315573 --0.601581528783 -0.486631557346 --0.601597964764 -0.50389046967 --0.601607084274 -0.52310718596 --0.60159881413 -0.542322263122 --0.601582214236 -0.559581026435 --0.601567581296 -0.576839491725 --0.60155493021 -0.594097316265 --0.601544201374 -0.61135494709 --0.601535394788 -0.628612115979 --0.601528570056 -0.645869240164 --0.601523652672 -0.663125962019 --0.601520657539 -0.680382728577 --0.601519659161 -0.697639256716 --0.601520583033 -0.71489597857 --0.601523473859 -0.732152566314 --0.601528316736 -0.749409452081 --0.601535066962 -0.766666382551 --0.601543754339 -0.783923715353 --0.601554408669 -0.801181152463 --0.601566970348 -0.818439140916 --0.601581528783 -0.83569739759 --0.601597964764 -0.852956354618 --0.601607084274 -0.872173056006 --0.60159881413 -0.891388118267 --0.601582244039 -0.908646896481 --0.601567611098 -0.925905346871 --0.60155493021 -0.943163171411 --0.601544201374 -0.960420817137 --0.601535364985 -0.977677971125 --0.601528540253 -0.994935065508 --0.601523652672 -1.01219180227 --0.601520687341 -1.02944859863 --0.601519674063 -1.04670512676 --0.601520568132 -1.06396180391 --0.601523473859 -1.08121839165 --0.601528316736 -1.09847533703 --0.601535066962 -1.1157322526 --0.601543754339 -1.1329895854 --0.601554438472 -1.15024703741 --0.601567000151 -1.16750502586 --0.601581528783 -1.18476328254 --0.601597994566 -1.20202219486 --0.601607084274 -1.22123891115 --0.601598784327 -1.24045398832 --0.601582244039 -1.25771272182 --0.601567611098 -1.27497115731 --0.60155493021 -1.29222902656 --0.601544201374 -1.30948668718 --0.601535394788 -1.32674384117 --0.601528570056 -1.34400093555 --0.601523652672 -1.36125764251 --0.601520657539 -1.37851443887 --0.60151964426 -1.39577099681 --0.601520597935 -1.41302770376 --0.601523473859 -1.4302842617 --0.601528257132 -1.44754117727 --0.601535066962 -1.46479806304 --0.601543799043 -1.48205536604 --0.601554423571 -1.49931284785 --0.601566970348 -1.51657086611 --0.601581528783 -1.53382909298 --0.601598024368 -1.5510880053 --0.601607084274 -1.57030472159 --0.601598754525 -1.58951979875 --0.601582244039 -1.60677859187 --0.601567611098 -1.62403705716 --0.601554900408 -1.6412948668 --0.601544171572 -1.65855252743 --0.601535364985 -1.67580968142 --0.601528480649 -1.6930667758 --0.601523593068 -1.71032351256 --0.601520657539 -1.72758027911 --0.60151964426 -1.74483680725 --0.601520568132 -1.76209354401 --0.601523414254 -1.77935013175 --0.601528257132 -1.79660701752 --0.601535096765 -1.81386393309 --0.601543784142 -1.83112126589 --0.601554408669 -1.8483787179 --0.601566970348 -1.86563670635 --0.601581528783 -1.88289496303 --0.601597964764 -1.90015387535 --0.601607084274 -1.91937059164 --0.60159881413 -1.9385856986 --0.601582244039 -1.95584446192 --0.601567611098 -1.97310289741 --0.60155493021 -1.99036073685 --0.601544231176 -2.00761839747 --0.60153542459 -2.02487558126 --0.601528570056 -2.04213267565 --0.601523652672 -2.0593894124 --0.601520657539 -2.07664620876 --0.60151964426 -2.0939027071 --0.601520568132 -2.11115944386 --0.601523473859 -2.1284160614 --0.601528286934 -2.14567291737 --0.60153503716 -2.16292977333 --0.601543754339 -2.18018710613 --0.601554438472 -2.19744455814 --0.601567000151 -2.2147025466 --0.601581528783 -2.23196077347 --0.601597964764 -2.2492197156 --0.601607084274 -2.26843649149 --0.60159881413 -2.28765153885 --0.601582214236 -2.30491030216 --0.601567581296 -2.32216876745 --0.60155493021 -2.33942657709 --0.601544201374 -2.35668420792 --0.601535364985 -2.3739413619 --0.601528540253 -2.39119851589 --0.601523652672 -2.40845525265 --0.601520657539 -2.4257119894 --0.60151964426 -2.44296848774 --0.601520568132 -2.4602252245 --0.601523473859 -2.47748184204 --0.601528316736 -2.49473869801 --0.601535096765 -2.51199561358 --0.601543784142 -2.52925294638 --0.601554408669 -2.54651039839 --0.601566970348 -2.56376844645 --0.601581528783 -2.58102661372 --0.601597994566 -2.59828555584 --0.601607054472 -2.61750233173 --0.601598754525 -2.63671731949 --0.601582214236 -2.6539760828 --0.601567581296 -2.6712346077 --0.60155493021 -2.68849241734 --0.601544201374 -2.70575004816 --0.601535394788 -2.72300720215 --0.601528540253 -2.74026429653 --0.60152362287 -2.75752103329 --0.601520657539 -2.77477782965 --0.60151964426 -2.79203438759 --0.601520568132 -2.80929106474 --0.601523473859 -2.82654762268 --0.601528286934 -2.84380459786 --0.60153503716 -2.86106151343 --0.601543754339 -2.87831878662 --0.601554408669 -2.89557623863 --0.601566970348 -2.91283422709 --0.601581528783 -2.93009251356 --0.601597964764 -2.94735145569 --0.601607054472 -2.96656811237 --0.601598754525 -2.98578321934 --0.601582214236 -3.00304198265 --0.601567611098 -3.02030038834 --0.60155493021 -3.03755825758 --0.601544201374 -3.05481594801 --0.601535394788 -3.072073102 --0.601528540253 -3.08933013678 --0.60152362287 -3.10658681393 --0.601520657539 -3.12384366989 --0.60151964426 -3.14110025962 --0.601520568132 --3.12482839823 --0.601523444057 --3.10757184029 --0.601528257132 --3.09031486511 --0.60153503716 --3.07305794954 --0.601543754339 --3.05580067635 --0.601554438472 --3.03854322434 --0.601567000151 --3.02128523588 --0.601581528783 --3.00402694941 --0.601597994566 --2.98676800728 --0.601607114077 --2.96755135059 --0.60159881413 --2.94833624363 --0.601582244039 --2.93107742071 --0.601567611098 --2.91381901503 --0.60155493021 --2.89656120539 --0.601544201374 --2.87930351496 --0.601535394788 --2.86204636097 --0.601528570056 --2.84478932619 --0.601523652672 --2.82753258943 --0.601520657539 --2.81027573347 --0.60151964426 --2.79301917553 --0.601520568132 --2.77576249838 --0.601523473859 --2.75850594044 --0.601528286934 --2.74124902487 --0.60153503716 --2.7239921093 --0.601543754339 --2.7067347765 --0.601554408669 --2.68947732449 --0.601566970348 --2.67221933603 --0.601581528783 --2.65496110916 --0.601597964764 --2.63770222664 --0.601607084274 --2.61848545075 --0.60159881413 --2.59927034378 --0.601582214236 --2.58201158047 --0.601567581296 --2.56475311518 --0.60155493021 --2.54749530554 --0.601544201374 --2.53023767471 --0.601535394788 --2.51298052073 --0.601528570056 --2.49572336674 --0.601523652672 --2.47846662998 --0.601520657539 --2.46120989322 --0.601519659161 --2.44395339489 --0.601520583033 --2.42669665813 --0.601523473859 --2.40944004059 --0.601528316736 --2.39218318462 --0.601535066962 --2.37492626905 --0.601543754339 --2.35766893625 --0.601554408669 --2.34041154385 --0.601566970348 --2.32315355539 --0.601581528783 --2.30589526892 --0.601597964764 --2.28863626719 --0.601607084274 --2.2694195509 --0.60159881413 --2.25020456314 --0.601582244039 --2.23294579983 --0.601567611098 --2.21568727493 --0.60155493021 --2.19842946529 --0.601544201374 --2.18117183447 --0.601535364985 --2.16391468048 --0.601528540253 --2.1466575861 --0.601523652672 --2.12940084934 --0.601520687341 --2.11214411259 --0.601519674063 --2.09488761425 --0.601520568132 --2.07763087749 --0.601523473859 --2.06037425995 --0.601528316736 --2.04311734438 --0.601535066962 --2.02586042881 --0.601543754339 --2.00860309601 --0.601554438472 --1.991345644 --0.601567000151 --1.97408762574 --0.601581528783 --1.95682936907 --0.601597994566 --1.93957045674 --0.601607084274 --1.92035377026 --0.601598784327 --1.9011387229 --0.601582244039 --1.88387992978 --0.601567611098 --1.86662146449 --0.60155493021 --1.84936365485 --0.601544201374 --1.83210599422 --0.601535394788 --1.81484881044 --0.601528570056 --1.79759171605 --0.601523652672 --1.7803349793 --0.601520657539 --1.76307821274 --0.60151964426 --1.7458217144 --0.601520597935 --1.72856497764 --0.601523473859 --1.7113083601 --0.601528257132 --1.69405147433 --0.601535066962 --1.67679458856 --0.601543799043 --1.65953725576 --0.601554423571 --1.64227980375 --0.601566970348 --1.6250218153 --0.601581528783 --1.60776355863 --0.601598024368 --1.5905046165 --0.601607084274 --1.57128790021 --0.601598754525 --1.55207282305 --0.601582244039 --1.53481405973 --0.601567611098 --1.51755562424 --0.601554900408 --1.5002977848 --0.601544171572 --1.48304012417 --0.601535364985 --1.46578297019 --0.601528480649 --1.44852587581 --0.601523593068 --1.43126916886 --0.601520657539 --1.4140123725 --0.60151964426 --1.39675581455 --0.601520568132 --1.3794991374 --0.601523414254 --1.36224254965 --0.601528257132 --1.34498563409 --0.601535096765 --1.32772871852 --0.601543784142 --1.31047135591 --0.601554408669 --1.2932139039 --0.601566970348 --1.27595591545 --0.601581528783 --1.25869768858 --0.601597964764 --1.24143877625 --0.601607084274 --1.22222203016 --0.60159881413 --1.2030069828 --0.601582244039 --1.18574824929 --0.601567611098 --1.1684897542 --0.60155493021 --1.15123188496 --0.601544231176 --1.13397425413 --0.60153542459 --1.11671712995 --0.601528570056 --1.09946003556 --0.601523652672 --1.08220329881 --0.601520657539 --1.06494653225 --0.60151964426 --1.04769000411 --0.601520568132 --1.03043326735 --0.601523473859 --1.01317664981 --0.601528286934 --0.99591976404 --0.60153503716 --0.978662878275 --0.601543754339 --0.961405530572 --0.601554438472 --0.944148093462 --0.601567000151 --0.92689011991 --0.601581528783 --0.909631878138 --0.601597964764 --0.892372921109 --0.601607084274 --0.873156189918 --0.60159881413 --0.853941142559 --0.601582214236 --0.836682379246 --0.601567581296 --0.819423913955 --0.60155493021 --0.802166089415 --0.601544201374 --0.784908428788 --0.601535364985 --0.7676512748 --0.601528540253 --0.750394180417 --0.601523652672 --0.733137443662 --0.601520657539 --0.715880662203 --0.60151964426 --0.698624104262 --0.601520568132 --0.681367397308 --0.601523473859 --0.664110824466 --0.601528316736 --0.646853908897 --0.601535096765 --0.629597008228 --0.601543784142 --0.612339690328 --0.601554408669 --0.595082238317 --0.601566970348 --0.577824234963 --0.601581528783 --0.560566008091 --0.601597994566 --0.543307080865 --0.601607054472 --0.524090334773 --0.601598754525 --0.504875265062 --0.601582214236 --0.4876165241 --0.601567581296 --0.470358073712 --0.60155493021 --0.45310022682 --0.601544201374 --0.435842566192 --0.601535394788 --0.418585412204 --0.601528540253 --0.401328325271 --0.60152362287 --0.384071603417 --0.601520657539 --0.366814814508 --0.60151964426 --0.349558278918 --0.601520568132 --0.332301564515 --0.601523473859 --0.31504496187 --0.601528286934 --0.297788061202 --0.60153503716 --0.280531175435 --0.601543754339 --0.263273850084 --0.601554408669 --0.246016386896 --0.601566970348 --0.228758387268 --0.601581528783 --0.21150014177 --0.601597964764 --0.194241214544 --0.601607054472 --0.17502450198 --0.584503859281 --0.155803464353 --0.584487721324 --0.138544719667 --0.584473446011 --0.121286287904 --0.584461063146 --0.104028480127 --0.584450557828 --0.0867708493024 --0.584441944957 --0.0695137130096 --0.584435239434 --0.0522566447034 --0.584430426359 --0.0349999470636 --0.584427535534 --0.0177431893535 --0.584426537156 --0.000486677046865 --0.584427446127 -0.016770017799 --0.584430277348 -0.0340265906416 --0.584434956312 -0.0512834666297 --0.584441572427 -0.0685403412208 --0.584450095892 -0.0857976470143 --0.584460541606 -0.103055074811 --0.584472835064 -0.120313053951 --0.584487050771 -0.13757128641 --0.584503114223 -0.154830180108 --0.584511980414 -0.174047101289 --0.584503889084 -0.193262390792 --0.584487721324 -0.210521131754 --0.584473416209 -0.227779563516 --0.584461033344 -0.245037376881 --0.584450557828 -0.262295000255 --0.584441915154 -0.279552131891 --0.584435239434 -0.296809203923 --0.584430456161 -0.314065903425 --0.584427535534 -0.331322669983 --0.584426566959 -0.34857917577 --0.58442747593 -0.365835860372 --0.584430277348 -0.383092433214 --0.584434971213 -0.40034931153 --0.584441617131 -0.417606197297 --0.584450125694 -0.434863500297 --0.584460511804 -0.452120929956 --0.584472805262 -0.469378910959 --0.584487050771 -0.48663713038 --0.584503114223 -0.503896027804 --0.584511980414 -0.523112952709 --0.584503889084 -0.542328238487 --0.584487721324 -0.5595869869 --0.584473416209 -0.576845422387 --0.584461033344 -0.594103232026 --0.584450557828 -0.611360833049 --0.584441915154 -0.628617957234 --0.584435239434 -0.645875051618 --0.584430456161 -0.663131773472 --0.584427535534 -0.680388540029 --0.584426537156 -0.697645023465 --0.584427446127 -0.714901715517 --0.584430277348 -0.73215828836 --0.584435001016 -0.749415144324 --0.584441646933 -0.766672030091 --0.584450125694 -0.783929347992 --0.584460511804 -0.801186770201 --0.584472805262 -0.818444728851 --0.584487050771 -0.835702970624 --0.584503114223 -0.85296189785 --0.584511980414 -0.872178822756 --0.584503889084 -0.891394093632 --0.584487721324 -0.908652827144 --0.584473446011 -0.925911262632 --0.584461033344 -0.94316907227 --0.584450528026 -0.960426703095 --0.584441944957 -0.977683842182 --0.584435269236 -0.994940906763 --0.584430456161 -1.01219761372 --0.584427565336 -1.02945438028 --0.584426566958 -1.04671087861 --0.584427446127 -1.06396755576 --0.584430277348 -1.0812241137 --0.584434986114 -1.09848099947 --0.584441632032 -1.11573788523 --0.584450125694 -1.13299518823 --0.584460541606 -1.15025264025 --0.584472835064 -1.1675106287 --0.584487050771 -1.18476885557 --0.584503114223 -1.20202773809 --0.584511950612 -1.221244663 --0.584503859281 -1.24045994878 --0.584487721324 -1.25771865248 --0.584473416209 -1.27497708797 --0.584461033344 -1.29223492742 --0.584450557828 -1.30949255824 --0.584441915154 -1.32674971223 --0.584435239434 -1.34400677681 --0.584430456161 -1.36126345396 --0.584427535534 -1.37852022052 --0.584426537156 -1.39577674866 --0.584427446127 -1.41303342581 --0.584430277348 -1.43028998375 --0.584434971213 -1.44754689932 --0.584441617131 -1.46480375528 --0.584450125694 -1.48206102848 --0.584460511804 -1.49931845069 --0.584472805262 -1.51657643914 --0.584487050771 -1.53383466601 --0.584503144026 -1.55109357834 --0.584511980414 -1.57031050324 --0.584503859281 -1.58952575922 --0.584487721324 -1.60678452253 --0.584473416209 -1.62404298782 --0.584461003542 -1.64130079746 --0.584450528026 -1.65855839848 --0.584441915154 -1.67581552267 --0.584435209632 -1.69307261706 --0.584430426359 -1.71032932401 --0.584427535534 -1.72758606076 --0.584426566959 -1.7448425591 --0.58442747593 -1.76209926605 --0.584430247545 -1.77935582399 --0.584434956312 -1.79661267996 --0.584441632032 -1.81386956572 --0.584450125694 -1.83112689852 --0.584460511804 -1.84838435054 --0.584472820163 -1.86564230919 --0.584487065673 -1.88290053606 --0.584503114223 -1.90015941858 --0.584511980414 -1.91937634348 --0.584503889084 -1.93859165907 --0.584487721324 -1.95585039258 --0.584473416209 -1.97310879826 --0.584461033344 -1.9903666079 --0.58445058763 -2.00762423873 --0.584441944957 -2.02488136291 --0.584435239434 -2.0421384573 --0.584430456161 -2.05939519405 --0.584427535534 -2.07665193081 --0.584426566959 -2.09390842915 --0.58442747593 -2.1111651659 --0.584430277348 -2.12842172384 --0.584434956312 -2.14567857981 --0.584441572427 -2.16293543577 --0.584450095892 -2.18019270897 --0.584460541606 -2.19745016098 --0.584472835064 -2.21470814944 --0.584487050771 -2.23196637631 --0.584503114223 -2.24922531843 --0.584511980414 -2.26844227314 --0.584503889084 -2.28765749931 --0.584487721324 -2.30491620302 --0.584473446011 -2.32217460871 --0.584461063146 -2.33943241835 --0.584450557828 -2.35669010878 --0.584441915154 -2.37394726276 --0.584435239434 -2.39120429754 --0.584430456161 -2.4084609747 --0.584427535534 -2.42571777105 --0.584426537156 -2.44297426939 --0.584427446127 -2.46023094654 --0.584430277348 -2.47748756409 --0.584434986114 -2.49474442005 --0.584441632032 -2.51200127602 --0.584450125694 -2.52925860882 --0.584460511804 -2.54651600122 --0.584472805262 -2.56377398968 --0.584487050771 -2.58103221655 --0.584503114223 -2.59829109907 --0.584511950612 -2.61750805378 --0.584503859281 -2.63672333956 --0.584487721324 -2.65398210287 --0.584473416209 -2.67124056816 --0.584461033344 -2.6884983778 --0.584450557828 -2.70575594902 --0.584441915154 -2.7230130434 --0.584435209632 -2.74027013779 --0.584430426359 -2.75752687454 --0.584427535534 -2.7747836709 --0.584426566959 -2.79204010964 --0.58442747593 -2.80929672718 --0.584430277348 -2.82655334473 --0.584434956312 -2.8438102603 --0.58444160223 -2.86106711626 --0.584450125694 -2.87832438946 --0.584460511804 -2.89558184147 --0.584472805262 -2.91283982992 --0.584487050771 -2.93009805679 --0.584503114223 -2.94735699892 --0.584511950612 -2.96657389402 --0.584503859281 -2.9857891798 --0.584487721324 -3.00304794312 --0.584473446011 -3.0203063488 --0.584461063146 -3.03756415844 --0.584450557828 -3.05482178927 --0.584441944957 -3.07207894325 --0.584435239434 -3.08933597803 --0.584430426359 -3.10659265518 --0.584427535534 -3.12384945154 --0.584426537156 -3.14110598166 --0.584427446127 --3.12482267618 --0.584430277348 --3.10756611824 --0.584434956312 --3.09030914307 --0.584441572427 --3.0730522871 --0.584450095892 --3.05579507351 --0.584460541606 --3.0385376215 --0.584472835064 --3.02127957344 --0.584487050771 --3.00402134657 --0.584503114223 --2.98676246405 --0.584511980414 --2.96754556894 --0.584503889084 --2.94833028316 --0.584487721324 --2.93107151985 --0.584473416209 --2.91381311417 --0.584461033344 --2.89655530453 --0.584450557828 --2.8792976737 --0.584441915154 --2.86204051971 --0.584435239434 --2.84478348493 --0.584430456161 --2.82752674818 --0.584427535534 --2.81026995182 --0.584426566959 --2.79301345348 --0.58442747593 --2.77575671673 --0.584430277348 --2.75850021839 --0.584434971213 --2.74124336243 --0.584441617131 --2.72398644686 --0.584450125694 --2.70672917366 --0.584460511804 --2.68947172165 --0.584472805262 --2.67221373319 --0.584487050771 --2.65495556593 --0.584503114223 --2.63769668341 --0.584511980414 --2.6184796691 --0.584503889084 --2.59926438332 --0.584487721324 --2.58200567961 --0.584473416209 --2.56474727392 --0.584461033344 --2.54748946428 --0.584450557828 --2.53023177385 --0.584441915154 --2.51297467947 --0.584435239434 --2.49571764469 --0.584430456161 --2.47846090793 --0.584427535534 --2.46120411157 --0.584426537156 --2.44394761324 --0.584427446127 --2.42669093609 --0.584430277348 --2.40943431854 --0.584435001016 --2.39217746258 --0.584441646933 --2.37492060661 --0.584450125694 --2.35766327381 --0.584460511804 --2.34040588141 --0.584472805262 --2.32314795255 --0.584487050771 --2.30588966608 --0.584503114223 --2.28863072395 --0.584511980414 --2.26941382885 --0.584503889084 --2.25019860268 --0.584487721324 --2.23293983936 --0.584473446011 --2.21568131447 --0.584461033344 --2.19842350483 --0.584450528026 --2.18116593361 --0.584441944957 --2.16390883923 --0.584435269236 --2.14665174484 --0.584430456161 --2.12939506769 --0.584427565336 --2.11213833094 --0.584426566958 --2.0948818326 --0.584427446127 --2.07762515545 --0.584430277348 --2.0603685379 --0.584434986114 --2.04311168194 --0.584441632032 --2.02585482597 --0.584450125694 --2.00859749317 --0.584460541606 --1.99134007096 --0.584472835064 --1.97408205271 --0.584487050771 --1.95682379603 --0.584503114223 --1.93956491351 --0.584511950612 --1.92034801841 --0.584503859281 --1.90113276243 --0.584487721324 --1.88387399912 --0.584473416209 --1.86661553383 --0.584461033344 --1.84935772419 --0.584450557828 --1.83210009336 --0.584441915154 --1.81484296918 --0.584435239434 --1.7975859046 --0.584430456161 --1.78032919764 --0.584427535534 --1.76307246089 --0.584426537156 --1.74581596255 --0.584427446127 --1.7285592556 --0.584430277348 --1.71130266786 --0.584434971213 --1.69404581189 --0.584441617131 --1.67678892612 --0.584450125694 --1.65953159332 --0.584460511804 --1.64227417111 --0.584472805262 --1.62501621246 --0.584487050771 --1.60775798559 --0.584503144026 --1.59049907327 --0.584511980414 --1.57128214836 --0.584503859281 --1.55206686258 --0.584487721324 --1.53480812907 --0.584473416209 --1.51754972339 --0.584461003542 --1.50029191374 --0.584450528026 --1.48303425312 --0.584441915154 --1.46577709913 --0.584435209632 --1.44852006436 --0.584430426359 --1.43126338721 --0.584427535534 --1.41400659085 --0.584426566959 --1.3967500627 --0.58442747593 --1.37949338555 --0.584430247545 --1.36223682761 --0.584434956312 --1.34497994184 --0.584441632032 --1.32772305607 --0.584450125694 --1.31046575308 --0.584460511804 --1.29320830107 --0.584472820163 --1.27595031262 --0.584487065673 --1.25869211555 --0.584503114223 --1.24143323302 --0.584511980414 --1.22221627831 --0.584503889084 --1.20300099254 --0.584487721324 --1.18574228882 --0.584473416209 --1.16848385334 --0.584461033344 --1.15122601389 --0.58445058763 --1.13396838307 --0.584441944957 --1.11671125889 --0.584435239434 --1.09945419431 --0.584430456161 --1.08219748736 --0.584427535534 --1.0649407506 --0.584426566959 --1.04768425226 --0.58442747593 --1.03042754531 --0.584430277348 --1.01317095756 --0.584434956312 --0.995914056897 --0.584441572427 --0.978657200933 --0.584450095892 --0.961399912834 --0.584460541606 --0.944142490625 --0.584472835064 --0.926884517074 --0.584487050771 --0.909626290202 --0.584503114223 --0.892367377877 --0.584511980414 --0.87315043807 --0.584503889084 --0.853935167193 --0.584487721324 --0.836676433682 --0.584473446011 --0.819417998195 --0.584461063146 --0.802160188555 --0.584450557828 --0.78490254283 --0.584441915154 --0.767645403743 --0.584435239434 --0.750388354063 --0.584430456161 --0.73313164711 --0.584427535534 --0.715874880552 --0.584426537156 --0.698618352413 --0.584427446127 --0.681361660361 --0.584430277348 --0.66410510242 --0.584434986114 --0.646848201752 --0.584441632032 --0.629591345787 --0.584450125694 --0.612334057689 --0.584460511804 --0.595076620579 --0.584472805262 --0.577818647027 --0.584487050771 --0.560560435057 --0.584503114223 --0.543301537633 --0.584511950612 --0.524084582925 --0.584503859281 --0.504869297147 --0.584487721324 --0.487610578537 --0.584473416209 --0.470352143049 --0.584461033344 --0.45309432596 --0.584450557828 --0.435836695135 --0.584441915154 --0.418579563498 --0.584435209632 --0.401322498917 --0.584430426359 --0.384065799415 --0.584427535534 --0.366809047759 --0.584426566959 --0.349552534521 --0.58442747593 --0.332295835018 --0.584430277348 --0.315039254725 --0.584434956312 --0.297782376409 --0.58444160223 --0.280525512993 --0.584450125694 --0.263268202543 --0.584460511804 --0.246010765433 --0.584472805262 --0.228752795607 --0.584487050771 --0.21149457246 --0.584503114223 --0.194235667586 --0.584511950612 --0.175018742681 --0.567391619086 --0.15579744801 --0.567375838756 --0.138538721949 --0.567361906171 --0.121280316263 --0.567349806428 --0.104022534564 --0.567339524627 --0.0867649242282 --0.567331135273 --0.0695078140125 --0.567324623465 --0.0522507699206 --0.567319914698 --0.0349940946326 --0.567317083478 --0.0177373597398 --0.567316114902 --0.000480871181938 --0.567317008972 -0.0167757994495 --0.567319765687 -0.0340323476121 --0.567324340343 -0.0512892007828 --0.567330777645 -0.0685460530221 --0.567339062691 -0.0858033336699 --0.567349284887 -0.103060737252 --0.567361310124 -0.120318695903 --0.567375198006 -0.137576907873 --0.567390903831 -0.154835782945 --0.567399546504 -0.174052916467 --0.567391619086 -0.193268407136 --0.567375838756 -0.210527125746 --0.567361876368 -0.227785538882 --0.567349776626 -0.245043329895 --0.567339554429 -0.262300930918 --0.567331135273 -0.279558032752 --0.567324593663 -0.296815082431 --0.567319914698 -0.314071759581 --0.567317083478 -0.331328488886 --0.567316144705 -0.348584972322 --0.567317038775 -0.365841649473 --0.567319765687 -0.383098192513 --0.567324355245 -0.400355041027 --0.567330852151 -0.417611904442 --0.567339122295 -0.43486918509 --0.567349284887 -0.452126592397 --0.567361310124 -0.469384551048 --0.567375183105 -0.486642748118 --0.56739088893 -0.50390163064 --0.567399546504 -0.523118764162 --0.567391619086 -0.542334243655 --0.567375838756 -0.559592962265 --0.567361876368 -0.576851382852 --0.567349776626 -0.594109177589 --0.567339554429 -0.611366763711 --0.567331135273 -0.628623858094 --0.567324593663 -0.645880922675 --0.567319914698 -0.663137629628 --0.567317083478 -0.680394366383 --0.567316114902 -0.697650834918 --0.567317008972 -0.714907497167 --0.567319765687 -0.732164055109 --0.567324355245 -0.749420896172 --0.567330852151 -0.766677737236 --0.567339122295 -0.783935025334 --0.567349284887 -0.801192432642 --0.567361310124 -0.818450391293 --0.567375198006 -0.835708603263 --0.567390903831 -0.852967485786 --0.567399546504 -0.872184634209 --0.567391619086 -0.891400113702 --0.567375853657 -0.908658802509 --0.567361921072 -0.925917223096 --0.567349776626 -0.943175017834 --0.567339524627 -0.960432633758 --0.567331165075 -0.977689757943 --0.567324623465 -0.994946822525 --0.567319914698 -1.01220348478 --0.567317083478 -1.02946019173 --0.567316114902 -1.04671669006 --0.567317008972 -1.06397336721 --0.567319765687 -1.08122989536 --0.567324340343 -1.09848675132 --0.56733083725 -1.11574360728 --0.567339122295 -1.13300088048 --0.567349284887 -1.15025830269 --0.567361310124 -1.16751626134 --0.567375183105 -1.18477448821 --0.567390859127 -1.20203337074 --0.567399516702 -1.22125047446 --0.567391619086 -1.24046596885 --0.567375838756 -1.25772467255 --0.567361876368 -1.27498307824 --0.567349776626 -1.29224088788 --0.567339554429 -1.3094984889 --0.567331135273 -1.32675561309 --0.567324593663 -1.34401264787 --0.567319914698 -1.36126932502 --0.567317083478 -1.37852606178 --0.567316114902 -1.39578253031 --0.567317008972 -1.41303917765 --0.567319765687 -1.4302957356 --0.567324355245 -1.44755262136 --0.567330852151 -1.46480947733 --0.567339152098 -1.48206675053 --0.567349299789 -1.49932414293 --0.567361295223 -1.51658210159 --0.567375198006 -1.53384029865 --0.567390903831 -1.55109918118 --0.567399531603 -1.57031631469 --0.567391604185 -1.58953177929 --0.567375838756 -1.6067905128 --0.567361876368 -1.62404894829 --0.567349776626 -1.64130672813 --0.567339554429 -1.65856432915 --0.567331135273 -1.67582142353 --0.567324593663 -1.69307848812 --0.567319914698 -1.71033516527 --0.567317083478 -1.72759187222 --0.567316144705 -1.74484837055 --0.567317038775 -1.7621050477 --0.567319765687 -1.77936157584 --0.567324340343 -1.79661843181 --0.56733083725 -1.81387528777 --0.567339152098 -1.83113259077 --0.56734931469 -1.84839001298 --0.567361325026 -1.86564794183 --0.567375212908 -1.8829061389 --0.567390903831 -1.90016502142 --0.567399546504 -1.91938218474 --0.567391619086 -1.93859767914 --0.567375838756 -1.95585635305 --0.567361876368 -1.97311475873 --0.567349776626 -1.99037256837 --0.567339554429 -2.00763016939 --0.567331135273 -2.02488726378 --0.567324593663 -2.04214429856 --0.567319914698 -2.05940097571 --0.567317083478 -2.07665771246 --0.567316144705 -2.0939142108 --0.567317038775 -2.11117088795 --0.567319765687 -2.12842744589 --0.567324340343 -2.14568430185 --0.567330777645 -2.16294109821 --0.567339062691 -2.18019837141 --0.567349284887 -2.19745582342 --0.567361310124 -2.21471381188 --0.567375198006 -2.23197203875 --0.567390903831 -2.24923086166 --0.567399546504 -2.26844799518 --0.567391619086 -2.28766351938 --0.567375838756 -2.30492216349 --0.567361906171 -2.32218056917 --0.567349806428 -2.33943837881 --0.567339554429 -2.35669600964 --0.567331135273 -2.37395316362 --0.567324593663 -2.3912101388 --0.567319914698 -2.40846681595 --0.567317083478 -2.42572361231 --0.567316114902 -2.44298005104 --0.567317008972 -2.46023672819 --0.567319765687 -2.47749334574 --0.567324340343 -2.4947501421 --0.56733083725 -2.51200699806 --0.567339122295 -2.52926433086 --0.567349284887 -2.54652166366 --0.567361310124 -2.56377959251 --0.567375198006 -2.58103781939 --0.567390874028 -2.59829670191 --0.567399516702 -2.61751383543 --0.567391619086 -2.63672935963 --0.567375838756 -2.65398812294 --0.567361876368 -2.67124652863 --0.567349776626 -2.68850433827 --0.567339554429 -2.70576190949 --0.567331135273 -2.72301900387 --0.567324593663 -2.74027609825 --0.567319914698 -2.7575327754 --0.567317083478 -2.77478945255 --0.567316144705 -2.79204589129 --0.567317038775 -2.80930256844 --0.567319765687 -2.82655912638 --0.567324340343 -2.84381598234 --0.56733083725 -2.86107283831 --0.567339122295 -2.8783301115 --0.567349284887 -2.89558750391 --0.567361310124 -2.91284543276 --0.567375198006 -2.93010365963 --0.567390903831 -2.94736260176 --0.567399546504 -2.96657973528 --0.567391619086 -2.98579519987 --0.567375838756 -3.00305390358 --0.567361906171 -3.02031230927 --0.567349806428 -3.03757011891 --0.567339524627 -3.05482769013 --0.567331135273 -3.07208478451 --0.567324623465 -3.08934187889 --0.567319914698 -3.10659855604 --0.567317083478 -3.1238552928 --0.567316114902 -3.14111182292 --0.567317008972 --3.12481683493 --0.567319765687 --3.10756033659 --0.567324340343 --3.09030342102 --0.567330777645 --3.07304656505 --0.567339062691 --3.05578935147 --0.567349284887 --3.03853195906 --0.567361310124 --3.0212739706 --0.567375198006 --3.00401574373 --0.567390903831 --2.98675686121 --0.567399546504 --2.96753972769 --0.567391619086 --2.9483242631 --0.567375838756 --2.93106555939 --0.567361876368 --2.9138071537 --0.567349776626 --2.89654934406 --0.567339554429 --2.87929171324 --0.567331135273 --2.86203461885 --0.567324593663 --2.84477758407 --0.567319914698 --2.82752090692 --0.567317083478 --2.81026417017 --0.567316144705 --2.79300767183 --0.567317038775 --2.77575099468 --0.567319765687 --2.75849449634 --0.567324355245 --2.74123764038 --0.567330852151 --2.72398078442 --0.567339122295 --2.70672357082 --0.567349284887 --2.68946611881 --0.567361310124 --2.67220807075 --0.567375183105 --2.65494990349 --0.56739088893 --2.63769102097 --0.567399546504 --2.61847382784 --0.567391619086 --2.59925836325 --0.567375838756 --2.58199971914 --0.567361876368 --2.56474131346 --0.567349776626 --2.54748350382 --0.567339554429 --2.53022587299 --0.567331135273 --2.51296877861 --0.567324593663 --2.49571180343 --0.567319914698 --2.47845506668 --0.567317083478 --2.46119827032 --0.567316114902 --2.44394183159 --0.567317008972 --2.42668521404 --0.567319765687 --2.4094285965 --0.567324355245 --2.39217174053 --0.567330852151 --2.37491488457 --0.567339122295 --2.35765755177 --0.567349284887 --2.34040021896 --0.567361310124 --2.32314229011 --0.567375198006 --2.30588406324 --0.567390903831 --2.28862518072 --0.567399546504 --2.2694080472 --0.567391619086 --2.25019258261 --0.567375853657 --2.23293381929 --0.567361921072 --2.215675354 --0.567349776626 --2.19841760397 --0.567339524627 --2.18116003275 --0.567331165075 --2.16390287876 --0.567324623465 --2.14664578438 --0.567319914698 --2.12938916683 --0.567317083478 --2.11213243007 --0.567316114902 --2.09487593174 --0.567317008972 --2.07761931419 --0.567319765687 --2.06036275625 --0.567324340343 --2.04310590029 --0.56733083725 --2.02584904432 --0.567339122295 --2.00859177113 --0.567349284887 --1.99133437872 --0.567361310124 --1.97407639027 --0.567375183105 --1.9568181932 --0.567390859127 --1.93955934048 --0.567399516702 --1.92034220696 --0.567391619086 --1.90112671256 --0.567375838756 --1.88386797905 --0.567361876368 --1.86660957336 --0.567349776626 --1.84935179352 --0.567339554429 --1.8320941627 --0.567331135273 --1.81483703852 --0.567324593663 --1.79758000374 --0.567319914698 --1.78032335639 --0.567317083478 --1.76306664943 --0.567316114902 --1.7458101511 --0.567317008972 --1.72855347395 --0.567319765687 --1.71129691601 --0.567324355245 --1.69404006004 --0.567330852151 --1.67678320408 --0.567339152098 --1.65952590108 --0.567349299789 --1.64226850867 --0.567361295223 --1.62501057982 --0.567375198006 --1.60775235295 --0.567390903831 --1.59049347043 --0.567399531603 --1.57127633691 --0.567391604185 --1.55206084251 --0.567375838756 --1.5348021388 --0.567361876368 --1.51754373312 --0.567349776626 --1.50028595328 --0.567339554429 --1.48302835226 --0.567331135273 --1.46577122807 --0.567324593663 --1.4485141933 --0.567319914698 --1.43125751615 --0.567317083478 --1.41400074959 --0.567316144705 --1.39674428105 --0.567317038775 --1.3794876039 --0.567319765687 --1.36223104596 --0.567324340343 --1.34497419 --0.56733083725 --1.32771733403 --0.567339152098 --1.31046009064 --0.56734931469 --1.29320266843 --0.567361325026 --1.27594467997 --0.567375212908 --1.2586865127 --0.567390903831 --1.24142765999 --0.567399546504 --1.22221049667 --0.567391619086 --1.20299497247 --0.567375838756 --1.18573626876 --0.567361876368 --1.16847786307 --0.567349776626 --1.15122005343 --0.567339554429 --1.13396245241 --0.567331135273 --1.11670532823 --0.567324593663 --1.09944829345 --0.567319914698 --1.0821916163 --0.567317083478 --1.06493487954 --0.567316144705 --1.04767841101 --0.567317038775 --1.03042176366 --0.567319765687 --1.01316520572 --0.567324340343 --0.99590831995 --0.567330777645 --0.978651493788 --0.567339062691 --0.961394235492 --0.567349284887 --0.944136828184 --0.567361310124 --0.926878869533 --0.567375198006 --0.909620657563 --0.567390903831 --0.892361789942 --0.567399546504 --0.87314465642 --0.567391619086 --0.853929147124 --0.567375838756 --0.836670443416 --0.567361906171 --0.819412022829 --0.567349806428 --0.802154228091 --0.567339554429 --0.784896627069 --0.567331135273 --0.767639517784 --0.567324593663 --0.750382483006 --0.567319914698 --0.733125790954 --0.567317083478 --0.715869054198 --0.567316114902 --0.698612570763 --0.567317008972 --0.681355893612 --0.567319765687 --0.664099335671 --0.567324340343 --0.646842479706 --0.56733083725 --0.629585653543 --0.567339122295 --0.612328380346 --0.567349284887 --0.595070973039 --0.567361310124 --0.577813014388 --0.567375198006 --0.560554802418 --0.567390874028 --0.543295934797 --0.567399516702 --0.524078786373 --0.567391619086 --0.504863284528 --0.567375838756 --0.487604573369 --0.567361876368 --0.470346160233 --0.567349776626 --0.453088372946 --0.567339554429 --0.435830771923 --0.567331135273 --0.418573662639 --0.567324593663 --0.401316620409 --0.567319914698 --0.384059950709 --0.567317083478 --0.366803221405 --0.567316144705 --0.349546730519 --0.567317038775 --0.332290053368 --0.567319765687 --0.315033495426 --0.567324340343 --0.297776639462 --0.56733083725 --0.280519798398 --0.567339122295 --0.26326251775 --0.567349284887 --0.246005110443 --0.567361310124 --0.228747155517 --0.567375198006 --0.211488950997 --0.567390903831 --0.1942300722 --0.567399546504 --0.175012938679 --0.550260588526 --0.155791386962 --0.550245136022 --0.138532683253 --0.550231531262 --0.121274296195 --0.550219744444 --0.104016533122 --0.550209730864 --0.0867589507252 --0.550201565028 --0.0695018675178 --0.550195202231 --0.0522448467091 --0.550190627575 --0.034988196101 --0.55018787086 --0.0177314840257 --0.550186917186 --0.000475019216537 --0.550187811255 -0.0167816276662 --0.550190508366 -0.034038150683 --0.550194963813 -0.0512949796393 --0.550201237202 -0.0685518076643 --0.550209313631 -0.0858090668916 --0.550219282508 -0.103066449985 --0.550231024623 -0.120324380696 --0.550244554877 -0.137582562864 --0.550259873271 -0.154841415584 --0.550268307328 -0.174058768898 --0.550260558724 -0.193274475634 --0.550245165825 -0.210533164441 --0.550231561065 -0.227791551501 --0.550219744444 -0.245049316436 --0.550209760666 -0.262306891382 --0.55020159483 -0.279563978315 --0.550195202231 -0.296821005643 --0.550190627575 -0.314077652991 --0.55018787086 -0.331334352493 --0.550186917186 -0.348590813577 --0.550187781453 -0.365847468376 --0.550190478563 -0.383103996515 --0.550194963813 -0.400360830128 --0.550201281905 -0.41761765629 --0.550209358334 -0.434874907136 --0.550219282508 -0.452132292092 --0.550231024623 -0.46939022094 --0.550244539976 -0.486648403108 --0.55025985837 -0.50390727073 --0.550268307328 -0.523124620318 --0.550260558724 -0.542340323329 --0.550245165825 -0.559599012136 --0.550231561065 -0.576857402921 --0.550219744444 -0.594115167856 --0.550209760666 -0.611372739077 --0.550201565028 -0.62862983346 --0.550195172429 -0.645886868238 --0.550190597773 -0.663143515586 --0.550187841057 -0.680400207639 --0.550186917186 -0.697656676173 --0.550187811255 -0.714913323521 --0.550190508366 -0.73216985166 --0.550194963813 -0.749426677823 --0.550201281905 -0.766683503986 --0.550209358334 -0.78394074738 --0.550219282508 -0.801198109984 --0.550231024623 -0.818456068635 --0.550244554877 -0.835714265704 --0.550259873271 -0.852973133325 --0.550268307328 -0.872190490365 --0.550260558724 -0.891406178474 --0.550245180726 -0.908664852381 --0.550231575966 -0.925923228264 --0.550219744444 -0.943180993199 --0.550209760666 -0.960438579321 --0.550201565028 -0.977695688605 --0.550195172429 -0.994952723385 --0.550190627575 -1.01220935583 --0.55018787086 -1.02946606279 --0.550186917186 -1.04672253132 --0.550187781453 -1.06397917867 --0.550190478563 -1.08123570681 --0.550194963813 -1.09849253297 --0.550201281905 -1.11574935913 --0.550209358334 -1.13300663233 --0.550219282508 -1.15026402473 --0.550231024623 -1.16752195358 --0.550244539976 -1.18478015065 --0.550259828567 -1.20203900337 --0.550268277526 -1.22125631571 --0.550260528922 -1.24047201872 --0.550245136023 -1.25773072243 --0.550231561065 -1.27498912811 --0.550219744444 -1.29224690795 --0.550209760666 -1.30950447917 --0.55020159483 -1.32676154375 --0.550195202231 -1.34401854873 --0.550190597773 -1.36127522588 --0.550187841057 -1.37853193283 --0.550186917186 -1.39578837156 --0.550187811255 -1.41304501891 --0.550190508366 -1.43030154705 --0.550194963813 -1.44755837322 --0.550201281905 -1.46481522918 --0.550209388137 -1.48207250237 --0.550219297409 -1.49932986498 --0.550231009722 -1.51658776403 --0.550244554877 -1.53384593129 --0.550259873271 -1.55110481381 --0.550268322229 -1.57032218576 --0.550260543823 -1.58953788877 --0.550245136023 -1.60679656267 --0.550231546164 -1.62405493856 --0.550219729543 -1.64131268859 --0.550209760666 -1.65857028961 --0.55020159483 -1.675827384 --0.550195202231 -1.69308441878 --0.550190627575 -1.71034106612 --0.55018787086 -1.72759774328 --0.550186917186 -1.74485424161 --0.550187781453 -1.76211088896 --0.550190478563 -1.7793673873 --0.550194963813 -1.79662424326 --0.550201281905 -1.81388106942 --0.550209388137 -1.83113831282 --0.55021931231 -1.84839570522 --0.550231024623 -1.86565363407 --0.550244554877 -1.88291180134 --0.550259873271 -1.90017065406 --0.550268307328 -1.919388026 --0.550260558724 -1.93860372901 --0.550245165825 -1.95586240292 --0.550231561065 -1.9731208086 --0.550219744444 -1.99037858844 --0.550209760666 -2.00763618946 --0.55020159483 -2.02489328385 --0.550195202231 -2.04215025902 --0.550190627575 -2.05940687657 --0.55018787086 -2.07666361332 --0.550186917186 -2.09392011166 --0.550187811255 -2.1111767292 --0.550190508366 -2.12843328715 --0.550194963813 -2.14569014311 --0.550201252103 -2.16294687987 --0.550209328532 -2.18020415306 --0.550219282508 -2.19746160507 --0.550231024623 -2.21471953392 --0.550244554877 -2.23197770119 --0.550259873271 -2.2492365241 --0.550268307328 -2.26845383644 --0.550260558724 -2.28766953945 --0.550245165825 -2.30492824316 --0.550231561065 -2.32218664885 --0.550219744444 -2.33944439888 --0.550209760666 -2.3567019701 --0.55020159483 -2.37395906449 --0.550195202231 -2.39121603966 --0.550190627575 -2.40847271681 --0.55018787086 -2.42572945357 --0.550186917186 -2.44298589229 --0.550187811255 -2.46024256945 --0.550190508366 -2.47749912739 --0.550194963813 -2.49475592375 --0.550201281905 -2.51201277971 --0.550209358334 -2.52927005291 --0.550219282508 -2.54652738571 --0.550231024623 -2.56378531456 --0.550244554877 -2.58104348183 --0.550259843468 -2.59830236435 --0.550268307328 -2.61751973629 --0.550260558724 -2.6367354393 --0.550245136023 -2.65399414301 --0.550231561065 -2.67125248909 --0.550219744444 -2.68851029873 --0.550209760666 -2.70576786995 --0.55020159483 -2.72302490473 --0.550195202231 -2.74028199911 --0.550190597773 -2.75753867626 --0.550187841057 -2.77479529381 --0.550186917186 -2.79205173254 --0.550187781453 -2.8093084693 --0.550190478563 -2.82656496763 --0.550194963813 -2.84382176399 --0.550201281905 -2.86107861996 --0.550209358334 -2.87833583355 --0.550219282508 -2.89559316635 --0.550231024623 -2.9128510952 --0.550244554877 -2.93010932207 --0.550259873271 -2.94736820459 --0.55026833713 -2.96658557653 --0.550260588526 -2.98580127954 --0.550245136022 -3.00305992365 --0.550231531262 -3.02031832933 --0.550219744444 -3.03757613898 --0.550209730864 -3.0548337102 --0.550201565028 -3.07209080457 --0.550195202231 -3.08934783935 --0.550190627575 -3.1066044569 --0.55018787086 -3.12386119366 --0.550186917186 -3.14111766417 --0.550187811255 --3.12481099367 --0.550190508366 --3.10755449533 --0.550194963813 --3.09029769897 --0.550201237202 --3.07304084301 --0.550209313631 --3.05578356981 --0.550219282508 --3.03852623701 --0.550231024623 --3.02126836777 --0.550244554877 --3.0040101409 --0.550259873271 --2.98675125837 --0.550268307328 --2.96753388643 --0.550260558724 --2.94831818342 --0.550245165825 --2.93105953932 --0.550231561065 --2.91380113363 --0.550219744444 --2.89654332399 --0.550209760666 --2.87928569317 --0.55020159483 --2.86202859878 --0.550195202231 --2.84477162361 --0.550190627575 --2.82751500606 --0.55018787086 --2.81025826931 --0.550186917186 --2.79300183058 --0.550187781453 --2.77574521303 --0.550190478563 --2.75848865509 --0.550194963813 --2.74123179912 --0.550201281905 --2.72397500276 --0.550209358334 --2.70671778917 --0.550219282508 --2.68946033716 --0.550231024623 --2.67220234871 --0.550244539976 --2.65494418144 --0.55025985837 --2.63768535853 --0.550268307328 --2.61846804619 --0.550260558724 --2.59925234318 --0.550245165825 --2.58199363947 --0.550231561065 --2.56473523378 --0.550219744444 --2.54747748375 --0.550209760666 --2.53021991253 --0.550201565028 --2.51296281814 --0.550195172429 --2.49570584297 --0.550190597773 --2.47844916582 --0.550187841057 --2.46119242906 --0.550186917186 --2.44393599033 --0.550187811255 --2.42667937279 --0.550190508366 --2.40942281484 --0.550194963813 --2.39216595888 --0.550201281905 --2.37490910292 --0.550209358334 --2.35765182972 --0.550219282508 --2.34039449692 --0.550231024623 --2.32313656807 --0.550244554877 --2.3058784008 --0.550259873271 --2.28861951828 --0.550268307328 --2.26940214634 --0.550260558724 --2.25018644333 --0.550245180726 --2.23292773962 --0.550231575966 --2.21566939354 --0.550219744444 --2.19841170311 --0.550209760666 --2.18115413189 --0.550201565028 --2.1638969779 --0.550195172429 --2.14663988352 --0.550190627575 --2.12938326597 --0.55018787086 --2.11212658882 --0.550186917186 --2.09487009049 --0.550187781453 --2.07761341333 --0.550190478563 --2.06035691499 --0.550194963813 --2.04310011863 --0.550201281905 --2.02584326267 --0.550209358334 --2.00858601928 --0.550219282508 --1.99132865667 --0.550231024623 --1.97407069802 --0.550244539976 --1.95681253075 --0.550259828567 --1.93955370784 --0.550268277526 --1.9203363359 --0.550260528922 --1.90112060309 --0.550245136023 --1.88386189938 --0.550231561065 --1.8666035533 --0.550219744444 --1.84934583306 --0.550209760666 --1.83208823204 --0.55020159483 --1.81483110785 --0.550195202231 --1.79757407308 --0.550190597773 --1.78031742573 --0.550187841057 --1.76306074858 --0.550186917186 --1.74580428004 --0.550187811255 --1.72854763269 --0.550190508366 --1.71129110455 --0.550194963813 --1.69403424859 --0.550201281905 --1.67677745223 --0.550209388137 --1.65952020884 --0.550219297409 --1.64226281643 --0.550231009722 --1.62500488758 --0.550244554877 --1.60774669051 --0.550259873271 --1.59048783779 --0.550268322229 --1.57127049565 --0.550260543823 --1.55205479264 --0.550245136023 --1.53479608893 --0.550231546164 --1.51753768325 --0.550219729543 --1.50027993321 --0.550209760666 --1.48302236199 --0.55020159483 --1.46576526761 --0.550195202231 --1.44850826264 --0.550190627575 --1.43125161529 --0.55018787086 --1.41399487853 --0.550186917186 --1.3967384398 --0.550187781453 --1.37948179245 --0.550190478563 --1.36222526431 --0.550194963813 --1.34496843815 --0.550201281905 --1.32771158219 --0.550209388137 --1.31045433879 --0.55021931231 --1.29319694638 --0.550231024623 --1.27593898773 --0.550244554877 --1.25868082046 --0.550259873271 --1.24142199755 --0.550268307328 --1.22220465541 --0.550260558724 --1.2029889226 --0.550245165825 --1.18573021889 --0.550231561065 --1.1684718132 --0.550219744444 --1.15121403337 --0.550209760666 --1.13395649195 --0.55020159483 --1.11669942737 --0.550195202231 --1.09944239259 --0.550190627575 --1.08218571544 --0.55018787086 --1.06492900849 --0.550186917186 --1.04767256975 --0.550187811255 --1.0304159224 --0.550190508366 --1.01315939427 --0.550194963813 --0.995902568103 --0.550201252103 --0.978645756841 --0.550209328532 --0.961388498545 --0.550219282508 --0.944131106138 --0.550231024623 --0.926873192191 --0.550244554877 --0.909615010023 --0.550259873271 --0.892356157303 --0.550268307328 --0.873138815165 --0.550260558724 --0.853923097253 --0.550245165825 --0.836664408445 --0.550231561065 --0.819405987859 --0.550219744444 --0.802148222923 --0.550209760666 --0.784890666604 --0.55020159483 --0.767633572221 --0.550195202231 --0.750376552343 --0.550190627575 --0.733119890094 --0.55018787086 --0.715863183141 --0.550186917186 --0.698606729507 --0.550187811255 --0.681350082159 --0.550190508366 --0.664093539119 --0.550194963813 --0.646836712957 --0.550201281905 --0.629579901695 --0.550209358334 --0.612322643399 --0.550219282508 --0.595065250993 --0.550231024623 --0.577807322145 --0.550244554877 --0.560549154878 --0.550259843468 --0.543290302157 --0.550268307328 --0.524072945118 --0.550260558724 --0.504857219756 --0.550245136023 --0.487598516047 --0.550231561065 --0.470340132713 --0.550219744444 --0.453082367777 --0.550209760666 --0.435824789107 --0.55020159483 --0.418567702174 --0.550195202231 --0.401310697198 --0.550190597773 --0.3840540573 --0.550187841057 --0.366797335446 --0.550186917186 --0.349540866911 --0.550187781453 --0.332284219563 --0.550190478563 --0.315027698874 --0.550194963813 --0.297770872712 --0.550201281905 --0.28051404655 --0.550209358334 --0.263256788254 --0.550219282508 --0.245999403298 --0.550231024623 --0.228741466999 --0.550244554877 --0.211483284831 --0.550259873271 --0.194224432111 --0.55026833713 --0.175007089973 --0.533095642924 --0.155785348267 --0.533080592751 --0.13852667436 --0.533067345619 --0.121268311516 --0.533055871725 --0.104010572657 --0.533046141267 --0.0867530182004 --0.533038184047 --0.0694959582761 --0.533031955361 --0.0522389598191 --0.533027485013 --0.0349823324941 --0.533024817705 --0.0177256441675 --0.533023878932 --0.000469203805547 --0.533024728298 -0.0167874193285 --0.533027350903 -0.0340439183638 --0.533031687141 -0.0513007231057 --0.53303784132 -0.0685575269163 --0.533045724034 -0.0858147609979 --0.53305542469 -0.103072123602 --0.533066868782 -0.120330031961 --0.533080041408 -0.137588184327 --0.53309494257 -0.15484701097 --0.53310315311 -0.174064576626 --0.533095613122 -0.193280506879 --0.533080622554 -0.21053917706 --0.533067375422 -0.227797530591 --0.533055871725 -0.245055273175 --0.533046141267 -0.262312822044 --0.533038154244 -0.279569886625 --0.533031925559 -0.296826891601 --0.533027485013 -0.314083516598 --0.533024787903 -0.331340201199 --0.53302384913 -0.348596639931 --0.533024698496 -0.365853264928 --0.533027350902 -0.383109770715 --0.533031731844 -0.400366581976 --0.533037871122 -0.417623378336 --0.533045738936 -0.43488060683 --0.53305542469 -0.452137976885 --0.533066868782 -0.469395875931 --0.533080041408 -0.486654028296 --0.53309494257 -0.503912873566 --0.53310315311 -0.523130446672 --0.533095613122 -0.542346358299 --0.533080622554 -0.559605017304 --0.533067375422 -0.576863393188 --0.533055871725 -0.594121128321 --0.533046141267 -0.61137868464 --0.533038124442 -0.628635764122 --0.533031895757 -0.645892754197 --0.53302745521 -0.663149371743 --0.5330247581 -0.680406063795 --0.53302384913 -0.697662502527 --0.533024728298 -0.714919120073 --0.533027380705 -0.73217561841 --0.533031731844 -0.74943241477 --0.533037871122 -0.76668921113 --0.533045738936 -0.783946454525 --0.53305542469 -0.801203802228 --0.533066868782 -0.818461731076 --0.533080041408 -0.835719898343 --0.53309494257 -0.852978721261 --0.53310315311 -0.872196286917 --0.533095613122 -0.891412183642 --0.533080622554 -0.908670857549 --0.533067375422 -0.925929218531 --0.533055871725 -0.943186953664 --0.533046141267 -0.960444509983 --0.533038124442 -0.977701574564 --0.533031895757 -0.994958579541 --0.533027485013 -1.01221522689 --0.533024817705 -1.02947193384 --0.533023878932 -1.04672834277 --0.533024698496 -1.06398493051 --0.533027350902 -1.08124145866 --0.533031731844 -1.09849825501 --0.533037871122 -1.11575505137 --0.533045738936 -1.13301232457 --0.53305542469 -1.15026968717 --0.533066868782 -1.16752758622 --0.533080041408 -1.18478575349 --0.53309494257 -1.20204457641 --0.53310315311 -1.22126212716 --0.53309558332 -1.24047806859 --0.533080592752 -1.2577367425 --0.533067375422 -1.27499511838 --0.533055871725 -1.29225286841 --0.533046141267 -1.30951040983 --0.533038154244 -1.32676744461 --0.533031925559 -1.34402441979 --0.53302745521 -1.36128106714 --0.5330247581 -1.37853774428 --0.53302384913 -1.39579418302 --0.533024728298 -1.41305083036 --0.533027350903 -1.4303073287 --0.533031687141 -1.44756412506 --0.533037856221 -1.46482095122 --0.533045738936 -1.48207819462 --0.533055394888 -1.49933552742 --0.53306683898 -1.51659342647 --0.533080041408 -1.53385156393 --0.53309494257 -1.55111041665 --0.533103182912 -1.57032799721 --0.533095613122 -1.58954390884 --0.533080592752 -1.60680258274 --0.533067360521 -1.62406092882 --0.533055856824 -1.64131864906 --0.533046141267 -1.65857622028 --0.533038154244 -1.67583331466 --0.533031925559 -1.69309031963 --0.533027485013 -1.71034693718 --0.533024787903 -1.72760361433 --0.53302384913 -1.74486005306 --0.533024698496 -1.76211667061 --0.533027350902 -1.77937316895 --0.533031731844 -1.79662999511 --0.533037871122 -1.81388679147 --0.533045738936 -1.83114400506 --0.533055394888 -1.84840136766 --0.53306683898 -1.86565926671 --0.533080041408 -1.88291743397 --0.53309494257 -1.9001762569 --0.53310315311 -1.91939380765 --0.533095613122 -1.93860974908 --0.533080622554 -1.95586842299 --0.533067375422 -1.97312679887 --0.533055871725 -1.9903845489 --0.533046141267 -2.00764212012 --0.533038154244 -2.0248991847 --0.533031925559 -2.04215615988 --0.533027485013 -2.05941277742 --0.533024787903 -2.07666945458 --0.53302384913 -2.09392589331 --0.533024728298 -2.11118251085 --0.533027350903 -2.12843900919 --0.533031702042 -2.14569586515 --0.533037871122 -2.16295266151 --0.533045738936 -2.18020987511 --0.53305542469 -2.19746726751 --0.533066868782 -2.21472513676 --0.533080041408 -2.23198330402 --0.53309494257 -2.24924218654 --0.53310315311 -2.26845967769 --0.533095613122 -2.28767555952 --0.533080622554 -2.30493426323 --0.533067375422 -2.32219260931 --0.533055871725 -2.33945035935 --0.533046141267 -2.35670793057 --0.533038154244 -2.37396496534 --0.533031925559 -2.39122194052 --0.533027485013 -2.40847855807 --0.533024787903 -2.42573529482 --0.53302384913 -2.44299179316 --0.533024728298 -2.4602483511 --0.533027380705 -2.47750484943 --0.533031716943 -2.4947617054 --0.533037856221 -2.51201850176 --0.533045738936 -2.52927571535 --0.53305542469 -2.54653304816 --0.533066868782 -2.563790977 --0.533080041408 -2.58104914427 --0.53309494257 -2.59830796718 --0.533103182912 -2.61752557754 --0.533095613122 -2.63674151898 --0.533080592752 -2.65400016308 --0.533067375422 -2.67125844956 --0.533055871725 -2.68851619959 --0.533046141267 -2.70577377081 --0.533038184047 -2.72303080559 --0.533031955361 -2.74028784037 --0.53302745521 -2.75754451752 --0.533024787903 -2.77480119467 --0.533023878932 -2.79205757379 --0.533024698496 -2.80931425095 --0.533027350902 -2.82657074928 --0.533031731844 -2.84382748604 --0.533037871122 -2.8610842824 --0.533045738936 -2.87834149599 --0.53305542469 -2.8955988884 --0.533066868782 -2.91285681725 --0.533080041408 -2.93011492491 --0.53309494257 -2.94737374782 --0.533103182912 -2.96659135819 --0.533095642924 -2.98580729961 --0.533080592751 -3.00306594372 --0.533067345619 -3.02032434941 --0.533055871725 -3.03758209944 --0.533046141267 -3.05483967066 --0.533038184047 -3.07209676504 --0.533031955361 -3.08935374021 --0.533027485013 -3.10661035776 --0.533024817705 -3.12386703491 --0.533023878932 -3.14112344582 --0.533024728298 --3.12480521202 --0.533027350903 --3.10754871368 --0.533031687141 --3.09029197693 --0.53303784132 --3.07303518057 --0.533045724034 --3.05577790737 --0.53305542469 --3.03852051497 --0.533066868782 --3.02126264572 --0.533080041408 --3.00400453806 --0.53309494257 --2.98674571514 --0.53310315311 --2.96752810478 --0.533095613122 --2.94831216335 --0.533080622554 --2.93105351925 --0.533067375422 --2.91379511356 --0.533055871725 --2.89653736353 --0.533046141267 --2.87927979231 --0.533038154244 --2.86202269793 --0.533031925559 --2.84476572275 --0.533027485013 --2.8275091052 --0.533024787903 --2.81025242805 --0.53302384913 --2.79299604893 --0.533024698496 --2.77573943138 --0.533027350902 --2.75848287344 --0.533031731844 --2.74122601747 --0.533037871122 --2.72396922111 --0.533045738936 --2.70671200752 --0.53305542469 --2.68945461511 --0.533066868782 --2.67219674587 --0.533080041408 --2.65493857861 --0.53309494257 --2.63767975569 --0.53310315311 --2.61846226454 --0.533095613122 --2.59924638271 --0.533080622554 --2.581987679 --0.533067375422 --2.56472927332 --0.533055871725 --2.54747152328 --0.533046141267 --2.53021395206 --0.533038124442 --2.51295691728 --0.533031895757 --2.49569994211 --0.53302745521 --2.47844332457 --0.5330247581 --2.46118658781 --0.53302384913 --2.44393008947 --0.533024728298 --2.42667353153 --0.533027380705 --2.4094170332 --0.533031731844 --2.39216017723 --0.533037871122 --2.37490338087 --0.533045738936 --2.35764616728 --0.53305542469 --2.34038883448 --0.533066868782 --2.32313090563 --0.533080041408 --2.30587273836 --0.53309494257 --2.28861391545 --0.53310315311 --2.26939636469 --0.533095613122 --2.25018042326 --0.533080622554 --2.23292171955 --0.533067375422 --2.21566343307 --0.533055871725 --2.19840574264 --0.533046141267 --2.18114817142 --0.533038124442 --2.16389113665 --0.533031895757 --2.14663410187 --0.533027485013 --2.12937742472 --0.533024817705 --2.11212074757 --0.533023878932 --2.09486430883 --0.533024698496 --2.07760763168 --0.533027350902 --2.06035113334 --0.533031731844 --2.04309439659 --0.533037871122 --2.02583760023 --0.533045738936 --2.00858035684 --0.53305542469 --1.99132299423 --0.533066868782 --1.97406506538 --0.533080041408 --1.95680689812 --0.53309494257 --1.9395480752 --0.53310315311 --1.92033049464 --0.53309558332 --1.90111458302 --0.533080592752 --1.88385590911 --0.533067375422 --1.86659756303 --0.533055871725 --1.8493398726 --0.533046141267 --1.83208230137 --0.533038154244 --1.81482520699 --0.533031925559 --1.79756820202 --0.53302745521 --1.78031155467 --0.5330247581 --1.76305487752 --0.53302384913 --1.74579846859 --0.533024728298 --1.72854185104 --0.533027350903 --1.71128535271 --0.533031687141 --1.69402852654 --0.533037856221 --1.67677173019 --0.533045738936 --1.6595145166 --0.533055394888 --1.64225712418 --0.53306683898 --1.62499922514 --0.533080041408 --1.60774108768 --0.53309494257 --1.59048226476 --0.533103182912 --1.571264714 --0.533095613122 --1.55204877258 --0.533080592752 --1.53479009867 --0.533067360521 --1.51753172278 --0.533055856824 --1.50027397275 --0.533046141267 --1.48301643133 --0.533038154244 --1.46575936675 --0.533031925559 --1.44850236178 --0.533027485013 --1.43124574423 --0.533024787903 --1.41398903727 --0.53302384913 --1.39673259854 --0.533024698496 --1.379475981 --0.533027350902 --1.36221948266 --0.533031731844 --1.3449626863 --0.533037871122 --1.32770586014 --0.533045738936 --1.31044861675 --0.533055394888 --1.29319125414 --0.53306683898 --1.27593335509 --0.533080041408 --1.25867518783 --0.53309494257 --1.24141636491 --0.53310315311 --1.22219881415 --0.533095613122 --1.20298290253 --0.533080622554 --1.18572422862 --0.533067375422 --1.16846585274 --0.533055871725 --1.1512081027 --0.533046141267 --1.13395056129 --0.533038154244 --1.11669352651 --0.533031925559 --1.09943652153 --0.533027485013 --1.08217987418 --0.533024787903 --1.06492319703 --0.53302384913 --1.0476667583 --0.533024728298 --1.03041011095 --0.533027350903 --1.01315361262 --0.533031702042 --0.995896816255 --0.533037871122 --0.978640034795 --0.533045738936 --0.961382806301 --0.53305542469 --0.944125428796 --0.533066868782 --0.92686752975 --0.533080041408 --0.909609377384 --0.53309494257 --0.892350539565 --0.53310315311 --0.873132973909 --0.533095613122 --0.853917047381 --0.533080622554 --0.836658388376 --0.533067375422 --0.819400012493 --0.533055871725 --0.802142262459 --0.533046141267 --0.78488470614 --0.533038154244 --0.767627641559 --0.533031925559 --0.750370666385 --0.533027485013 --0.733114033937 --0.533024787903 --0.715857326984 --0.53302384913 --0.698600888252 --0.533024728298 --0.681344285607 --0.533027380705 --0.66408778727 --0.533031716943 --0.646830976009 --0.533037856221 --0.629574179649 --0.533045738936 --0.612316936255 --0.53305542469 --0.595059558749 --0.533066868782 --0.577801674604 --0.533080041408 --0.56054353714 --0.53309494257 --0.543284699321 --0.533103182912 --0.524067133665 --0.533095613122 --0.504851192236 --0.533080592752 --0.487592510879 --0.533067375422 --0.470334157348 --0.533055871725 --0.453076414764 --0.533046141267 --0.435818850994 --0.533038184047 --0.418561793864 --0.533031955361 --0.401304803788 --0.53302745521 --0.384048171341 --0.533024787903 --0.36679147929 --0.533023878932 --0.349535048008 --0.533024698496 --0.332278430462 --0.533027350902 --0.315021932125 --0.533031731844 --0.297765128315 --0.533037871122 --0.280508324504 --0.533045738936 --0.26325108856 --0.53305542469 --0.245993729681 --0.533066868782 --0.228735815734 --0.533080041408 --0.211477655918 --0.53309494257 --0.194218832999 --0.533103182912 --0.175001271069 --0.515892714262 --0.155779093504 --0.515878096223 --0.138520453125 --0.515865236521 --0.121262121946 --0.51585406065 --0.104004405439 --0.515844583511 --0.0867468751967 --0.515836820006 --0.0694898376241 --0.515830785036 --0.0522328633815 --0.515826433897 --0.0349762616679 --0.515823811292 --0.0177195982542 --0.515822947025 --0.000463183503597 --0.515823766589 -0.0167934147176 --0.515826299787 -0.0340498886071 --0.515830546618 -0.0513066696003 --0.515836551786 -0.0685634529218 --0.515844210982 -0.0858206581324 --0.515853613615 -0.103077994659 --0.51586471498 -0.120335880667 --0.515877559781 -0.137594006956 --0.515892088413 -0.154852811247 --0.515900075435 -0.174070596695 --0.515892714262 -0.193286750466 --0.515878096223 -0.210545398295 --0.515865236521 -0.227803725749 --0.51585406065 -0.245061445981 --0.515844583511 -0.262318976223 --0.515836805105 -0.279576011002 --0.515830740332 -0.296832986176 --0.515826404094 -0.314089596272 --0.51582378149 -0.33134625107 --0.515822917223 -0.34860266 --0.515823766589 -0.365859270096 --0.515826314688 -0.383115746081 --0.515830546617 -0.40037252754 --0.515836536884 -0.417629301548 --0.515844210982 -0.43488650769 --0.515853613615 -0.452143847942 --0.515864744782 -0.469401724637 --0.515877589583 -0.486659862101 --0.515892088413 -0.503918677569 --0.515900075435 -0.523136466742 --0.515892714262 -0.542352586985 --0.515878096223 -0.559611231088 --0.515865236521 -0.576869592071 --0.51585406065 -0.594127297401 --0.515844583511 -0.611384823918 --0.515836805105 -0.628641873598 --0.515830740332 -0.645898833871 --0.515826418996 -0.663155421615 --0.515823796391 -0.680412113667 --0.515822917223 -0.697668522596 --0.515823766589 -0.71492511034 --0.515826314688 -0.732181593776 --0.515830546617 -0.749438375234 --0.515836536884 -0.766695141792 --0.515844210982 -0.783952355385 --0.515853613615 -0.801209703088 --0.515864744782 -0.818467587233 --0.515877589583 -0.835725709796 --0.515892088413 -0.852984502911 --0.515900075435 -0.872202292084 --0.515892714262 -0.891418427229 --0.515878096223 -0.908677086234 --0.515865206719 -0.925935432315 --0.515854030848 -0.943193137646 --0.515844583511 -0.960450664163 --0.515836790204 -0.977707698941 --0.515830725431 -0.994964689017 --0.515826404094 -1.01222130656 --0.515823811292 -1.02947795391 --0.515822947025 -1.04673436284 --0.515823766589 -1.06399095058 --0.515826314688 -1.08124741912 --0.515830546617 -1.09850418568 --0.515836536884 -1.11576098204 --0.515844225883 -1.13301822543 --0.515853628516 -1.15027555823 --0.515864744782 -1.16753342748 --0.515877589583 -1.18479156494 --0.515892058611 -1.20205038786 --0.515900045633 -1.22126817703 --0.515892714262 -1.24048432708 --0.515878096223 -1.25774294138 --0.515865236521 -1.27500128746 --0.51585406065 -1.2922590375 --0.515844583511 -1.30951654911 --0.515836805105 -1.32677358389 --0.515830740332 -1.34403052926 --0.515826404094 -1.36128711701 --0.51582378149 -1.37854379416 --0.51582288742 -1.39580020309 --0.515823736787 -1.41305679083 --0.515826284885 -1.43031328916 --0.515830501914 -1.44757008552 --0.515836521983 -1.46482685208 --0.515844210982 -1.48208406568 --0.515853583813 -1.49934139848 --0.51586471498 -1.51659929752 --0.515877589583 -1.53385740518 --0.515892088413 -1.5511161983 --0.515900075435 -1.57033398747 --0.515892714262 -1.58955013752 --0.515878096223 -1.60680881143 --0.515865236521 -1.62406712771 --0.51585406065 -1.64132481814 --0.515844583511 -1.65858235955 --0.515836805105 -1.67583942413 --0.515830740332 -1.6930963993 --0.515826404094 -1.71035301685 --0.51582378149 -1.727609694 --0.515822917223 -1.74486607313 --0.515823766589 -1.76212266087 --0.515826314688 -1.77937912941 --0.515830546617 -1.79663592577 --0.515836536884 -1.81389272213 --0.515844210982 -1.83114990592 --0.515853583813 -1.84840723872 --0.515864685177 -1.86566510796 --0.515877559781 -1.88292324543 --0.515892088413 -1.90018206835 --0.515900075435 -1.91939985752 --0.515892714262 -1.93861600757 --0.515878096223 -1.95587465167 --0.515865236521 -1.97313299775 --0.51585406065 -1.99039071798 --0.515844583511 -2.0076482594 --0.515836805105 -2.02490526438 --0.515830740332 -2.04216223955 --0.515826404094 -2.0594188571 --0.51582378149 -2.07667547464 --0.515822917223 -2.09393185377 --0.515823736787 -2.11118847132 --0.515826255083 -2.12844496965 --0.515830516815 -2.14570176601 --0.515836536884 -2.16295856237 --0.515844210982 -2.18021577596 --0.515853613615 -2.19747310877 --0.515864744782 -2.21473091841 --0.515877589583 -2.23198908567 --0.515892088413 -2.2492479682 --0.515900075435 -2.26846569777 --0.515892714262 -2.28768181801 --0.515878096223 -2.30494046211 --0.515865206719 -2.32219880819 --0.515854030848 -2.33945655823 --0.515844583511 -2.35671406984 --0.515836805105 -2.37397110462 --0.515830740332 -2.39122807979 --0.515826404094 -2.40848463774 --0.51582378149 -2.42574131489 --0.515822917223 -2.44299781323 --0.515823736787 -2.46025437117 --0.515826284885 -2.4775108099 --0.515830531716 -2.49476760626 --0.515836521983 -2.51202434301 --0.515844210982 -2.5292815566 --0.515853613615 -2.54653888941 --0.515864744782 -2.56379681826 --0.515877589583 -2.58105498552 --0.515892088413 -2.59831374884 --0.515900075435 -2.61753153801 --0.515892714262 -2.63674771786 --0.515878096223 -2.65400636196 --0.515865206719 -2.67126464844 --0.515854030848 -2.68852233886 --0.515844583511 -2.70577991008 --0.515836834907 -2.72303700447 --0.515830770135 -2.74029392004 --0.515826404094 -2.75755053758 --0.515823811292 -2.77480727434 --0.515822947025 -2.79206365347 --0.515823766589 -2.80932021141 --0.515826314688 -2.82657670975 --0.515830546617 -2.84383350611 --0.515836507082 -2.86109024286 --0.51584418118 -2.87834745646 --0.515853613615 -2.89560484887 --0.515864744782 -2.91286271811 --0.515877589583 -2.93012076616 --0.515892088413 -2.94737952948 --0.515900075435 -2.96659737825 --0.515892714262 -2.9858135581 --0.515878096223 -3.00307220221 --0.515865236521 -3.02033054829 --0.51585406065 -3.03758823872 --0.515844583511 -3.05484580994 --0.515836820006 -3.07210284472 --0.515830785036 -3.08935981989 --0.515826433897 -3.10661643743 --0.515823811292 -3.12387305498 --0.515822947025 -3.14112946589 --0.515823766589 --3.12479925156 --0.515826299787 --3.10754275322 --0.515830546618 --3.09028595686 --0.515836551786 --3.07302922011 --0.515844210982 --3.05577200651 --0.515853613615 --3.0385146141 --0.51586471498 --3.02125674486 --0.515877559781 --3.00399869681 --0.515892088413 --2.98673993349 --0.515900075435 --2.96752208471 --0.515892714262 --2.94830590487 --0.515878096223 --2.93104726076 --0.515865236521 --2.91378891468 --0.51585406065 --2.89653122425 --0.515844583511 --2.87927365303 --0.515836805105 --2.86201661825 --0.515830740332 --2.84475964308 --0.515826404094 --2.82750302553 --0.51582378149 --2.81024640798 --0.515822917223 --2.79299002886 --0.515823766589 --2.77573341131 --0.515826314688 --2.75847691298 --0.515830546617 --2.74122011662 --0.515836536884 --2.72396332026 --0.515844210982 --2.70670610667 --0.515853613615 --2.68944877386 --0.515864744782 --2.67219096422 --0.515877589583 --2.65493279696 --0.515892088413 --2.63767391443 --0.515900075435 --2.61845618486 --0.515892714262 --2.59924012423 --0.515878096223 --2.58198148012 --0.515865236521 --2.56472307444 --0.51585406065 --2.5474653244 --0.515844583511 --2.53020781279 --0.515836805105 --2.51295077801 --0.515830740332 --2.49569380283 --0.515826418996 --2.47843724489 --0.515823796391 --2.46118056774 --0.515822917223 --2.44392412901 --0.515823766589 --2.42666757107 --0.515826314688 --2.40941107273 --0.515830546617 --2.39215427637 --0.515836536884 --2.37489753962 --0.515844210982 --2.35764032602 --0.515853613615 --2.34038299322 --0.515864744782 --2.32312506437 --0.515877589583 --2.30586689711 --0.515892088413 --2.28860813379 --0.515900075435 --2.26939040422 --0.515892714262 --2.25017422437 --0.515878096223 --2.23291552067 --0.515865206719 --2.21565723419 --0.515854030848 --2.19839954376 --0.515844583511 --2.18114203214 --0.515836790204 --2.16388499737 --0.515830725431 --2.1466280222 --0.515826404094 --2.12937134505 --0.515823811292 --2.11211460829 --0.515822947025 --2.09485822916 --0.515823766589 --2.07760167122 --0.515826314688 --2.06034523249 --0.515830546617 --2.04308849573 --0.515836536884 --2.02583169937 --0.515844225883 --2.00857445598 --0.515853628516 --1.99131712317 --0.515864744782 --1.97405922413 --0.515877589583 --1.95680105686 --0.515892058611 --1.93954223394 --0.515900045633 --1.92032447457 --0.515892714262 --1.90110835433 --0.515878096223 --1.88384971023 --0.515865236521 --1.86659139395 --0.51585406065 --1.84933370352 --0.515844583511 --1.8320761323 --0.515836805105 --1.81481906772 --0.515830740332 --1.79756212235 --0.515826404094 --1.7803055048 --0.51582378149 --1.76304882765 --0.51582288742 --1.74579244852 --0.515823736787 --1.72853586078 --0.515826284885 --1.71127936244 --0.515830501914 --1.69402256608 --0.515836521983 --1.67676579952 --0.515844210982 --1.65950861574 --0.515853583813 --1.64225125313 --0.51586471498 --1.62499338388 --0.515877589583 --1.60773527622 --0.515892088413 --1.5904764533 --0.515900075435 --1.57125866413 --0.515892714262 --1.55204251409 --0.515878096223 --1.53478386998 --0.515865236521 --1.5175255239 --0.51585406065 --1.50026780367 --0.515844583511 --1.48301029205 --0.515836805105 --1.46575325727 --0.515830740332 --1.4484962523 --0.515826404094 --1.43123966456 --0.51582378149 --1.41398301721 --0.515822917223 --1.39672657847 --0.515823766589 --1.37946996092 --0.515826314688 --1.36221349239 --0.515830546617 --1.34495672584 --0.515836536884 --1.32769992948 --0.515844210982 --1.31044271588 --0.515853583813 --1.29318538308 --0.515864685177 --1.27592751384 --0.515877559781 --1.25866937637 --0.515892088413 --1.24141055345 --0.515900075435 --1.22219279408 --0.515892714262 --1.20297667384 --0.515878096223 --1.18571802974 --0.515865236521 --1.16845968366 --0.51585406065 --1.15120196343 --0.515844583511 --1.13394442201 --0.515836805105 --1.11668738723 --0.515830740332 --1.09943044186 --0.515826404094 --1.08217382431 --0.51582378149 --1.06491714716 --0.515822917223 --1.04766073823 --0.515823736787 --1.03040412068 --0.515826255083 --1.01314762235 --0.515830516815 --0.995890855789 --0.515836536884 --0.978634104133 --0.515844210982 --0.961376905442 --0.515853613615 --0.944119557738 --0.515864744782 --0.926861673594 --0.515877589583 --0.90960355103 --0.515892088413 --0.892344743014 --0.515900075435 --0.87312695384 --0.515892714262 --0.853910803795 --0.515878096223 --0.836652159691 --0.515865206719 --0.81939381361 --0.515854030848 --0.802136093378 --0.515844583511 --0.784878566861 --0.515836805105 --0.767621532082 --0.515830740332 --0.75036457181 --0.515826404094 --0.733107969165 --0.51582378149 --0.715851292014 --0.515822917223 --0.698594868183 --0.515823736787 --0.681338280439 --0.515826284885 --0.664081826806 --0.515830531716 --0.646825045347 --0.515836521983 --0.629568263888 --0.515844210982 --0.612311050296 --0.515853613615 --0.595053702593 --0.515864744782 --0.577795818448 --0.515877589583 --0.560537680983 --0.515892088413 --0.543278872967 --0.515900075435 --0.524061098695 --0.515892714262 --0.50484496355 --0.515878096223 --0.487586311996 --0.515865206719 --0.470327973366 --0.515854030848 --0.453070260584 --0.515844583511 --0.435812726617 --0.515836834907 --0.418555691838 --0.515830770135 --0.401298716664 --0.515826404094 --0.384042099118 --0.515823811292 --0.366785429418 --0.515822947025 --0.349529027939 --0.515823766589 --0.332272440195 --0.515826314688 --0.31501595676 --0.515830546617 --0.297759175301 --0.515836507082 --0.280502408743 --0.51584418118 --0.26324519515 --0.515853613615 --0.245987854898 --0.515864744782 --0.228729974479 --0.515877589583 --0.211471840739 --0.515892088413 --0.194213043898 --0.515900075435 --0.174995251 --0.498667411506 --0.155772559345 --0.498653195798 --0.138513941318 --0.498640708625 --0.121255636215 --0.498629838228 --0.103997945786 --0.498620614409 --0.086740437895 --0.498613066971 --0.0694834236055 --0.498607210815 --0.0522264773026 --0.498603008688 --0.0349699035287 --0.498600453138 --0.0177132664249 --0.498599626124 --0.000456877285615 --0.498600430786 -0.016799695557 --0.498602896929 -0.0340561447665 --0.4986070171 -0.051312899217 --0.498612836003 -0.0685696555301 --0.498620301485 -0.085826838389 --0.498629420996 -0.103084148839 --0.498640179634 -0.120342006907 --0.498652681708 -0.137600108981 --0.49866681546 -0.154858887196 --0.498674571514 -0.174076907337 --0.498667411506 -0.19329328835 --0.498653195798 -0.210551906377 --0.498640686274 -0.227810211479 --0.498629815876 -0.245067905635 --0.498620614409 -0.262325413525 --0.498613104224 -0.279582418501 --0.498607218265 -0.296839363873 --0.498602978885 -0.314095944166 --0.498600453138 -0.331352576613 --0.498599626124 -0.348608970642 --0.498600430786 -0.365865550935 --0.498602882027 -0.383121989667 --0.498606994748 -0.400378748775 --0.498612828553 -0.417635507882 --0.498620301485 -0.434892691672 --0.498629420996 -0.452150002122 --0.498640209436 -0.469407856465 --0.498652711511 -0.486665971578 --0.49866681546 -0.503924749792 --0.498674571514 -0.523142755031 --0.498667411506 -0.542359113693 --0.498653195798 -0.559617742896 --0.498640708625 -0.576876074076 --0.498629838228 -0.594133764505 --0.498620614409 -0.61139126122 --0.498613104224 -0.628648266197 --0.498607218265 -0.645905211568 --0.498602993787 -0.663161784411 --0.498600468039 -0.680418431759 --0.498599626124 -0.697674825787 --0.498600430786 -0.71493139863 --0.498602882027 -0.732187837362 --0.498606994748 -0.749444589019 --0.498612828553 -0.766701340675 --0.498620301485 -0.783958524466 --0.498629420996 -0.801215842366 --0.498640209436 -0.818473696709 --0.498652711511 -0.835731804371 --0.49866681546 -0.852990582585 --0.498674571514 -0.872208610177 --0.498667411506 -0.891424998641 --0.498653195798 -0.908683612942 --0.498640678823 -0.925941929221 --0.498629808426 -0.943199619651 --0.498620614409 -0.960457101464 --0.498613089323 -0.97771410644 --0.498607203364 -0.994971081615 --0.498602978885 -1.01222765446 --0.498600453138 -1.029484272 --0.498599626124 -1.04674068093 --0.498600430786 -1.06399726868 --0.498602882027 -1.08125370741 --0.498606994748 -1.09851044416 --0.498612828553 -1.11576721072 --0.498620316386 -1.13302439451 --0.498629435897 -1.15028169751 --0.498640209436 -1.16753956675 --0.498652711511 -1.18479767441 --0.498666785658 -1.20205646753 --0.498674541712 -1.22127449513 --0.498667411506 -1.24049085379 --0.498653195798 -1.25774943828 --0.498640708625 -1.27500775456 --0.498629838228 -1.2922654748 --0.498620614409 -1.30952298641 --0.498613104224 -1.32677999139 --0.498607218265 -1.34403690696 --0.498602978885 -1.3612934649 --0.498600453138 -1.37855011225 --0.498599596322 -1.39580649138 --0.498600400984 -1.41306304932 --0.498602882027 -1.43031951785 --0.498606994748 -1.44757628441 --0.498612828553 -1.46483305097 --0.498620301485 -1.48209026456 --0.498629420996 -1.49934756756 --0.498640231788 -1.516605407 --0.498652711511 -1.53386351466 --0.498666793108 -1.55112227797 --0.498674571514 -1.57034027577 --0.498667411506 -1.58955669403 --0.498653195798 -1.60681533814 --0.498640708625 -1.62407362461 --0.498629838228 -1.64133131504 --0.498620614409 -1.65858879685 --0.498613081872 -1.67584580183 --0.498607195914 -1.693102777 --0.498602978885 -1.71035936474 --0.498600453138 -1.72761601209 --0.498599626124 -1.74487239122 --0.498600430786 -1.76212894917 --0.498602882027 -1.7793853879 --0.498606994748 -1.79664215445 --0.498612828553 -1.81389892101 --0.498620301485 -1.831156075 --0.498629420996 -1.848413378 --0.498640201985 -1.86567124724 --0.49865270406 -1.8829293549 --0.49866681546 -1.90018814802 --0.498674571514 -1.91940617561 --0.498667411506 -1.93862253428 --0.498653195798 -1.95588114858 --0.498640708625 -1.97313946485 --0.498629838228 -1.99039715528 --0.498620614409 -2.0076546967 --0.498613104224 -2.02491170168 --0.498607218265 -2.04216861725 --0.498602978885 -2.05942517519 --0.498600453138 -2.07668179273 --0.498599626124 -2.09393817186 --0.498600400984 -2.11119478941 --0.498602852225 -2.12845128774 --0.498606994748 -2.1457080245 --0.498612828553 -2.16296476126 --0.498620301485 -2.18022191524 --0.498629420996 -2.19747924805 --0.498640231788 -2.21473711729 --0.498652733862 -2.23199522495 --0.49866681546 -2.24925404787 --0.498674571514 -2.26847201586 --0.498667411506 -2.28768831492 --0.498653195798 -2.30494695902 --0.498640678823 -2.3222053051 --0.498629808426 -2.33946299553 --0.498620614409 -2.35672050714 --0.498613081872 -2.37397754192 --0.498607195914 -2.39123445749 --0.498602978885 -2.40849101543 --0.498600453138 -2.42574769258 --0.498599626124 -2.44300413132 --0.498600400984 -2.46026068926 --0.498602852225 -2.47751706839 --0.498606994748 -2.49477380514 --0.498612828553 -2.51203054189 --0.498620301485 -2.52928775549 --0.498629420996 -2.54654508829 --0.498640231788 -2.56380295754 --0.498652733862 -2.5810610652 --0.49866681546 -2.59831982851 --0.498674571514 -2.6175378561 --0.498667411506 -2.63675427437 --0.498653195798 -2.65401285887 --0.498640678823 -2.67127114534 --0.498629808426 -2.68852883577 --0.498620614409 -2.70578634739 --0.498613081872 -2.72304338217 --0.498607195914 -2.74030029774 --0.498602978885 -2.75755691528 --0.498600453138 -2.77481359243 --0.498599626124 -2.79206997156 --0.498600430786 -2.8093264699 --0.498602882027 -2.82658290863 --0.498606994748 -2.84383970499 --0.498612798751 -2.86109644174 --0.498620271683 -2.87835365534 --0.498629420996 -2.89561098814 --0.498640209436 -2.91286879778 --0.498652711511 -2.93012684584 --0.49866681546 -2.94738560915 --0.498674571514 -2.96660369634 --0.498667411506 -2.98582011461 --0.498653195798 -3.00307875871 --0.498640708625 -3.02033704519 --0.498629838228 -3.03759467602 --0.498620614409 -3.05485218763 --0.498613066971 -3.07210922241 --0.498607210815 -3.08936619759 --0.498603008688 -3.10662275553 --0.498600453138 -3.12387937307 --0.498599626124 -3.14113578399 --0.498600430786 --3.12479299307 --0.498602896929 --3.10753655434 --0.4986070171 --3.09027975798 --0.498612836003 --3.07302302122 --0.498620301485 --3.05576580763 --0.498629420996 --3.03850847483 --0.498640179634 --3.02125066519 --0.498652681708 --3.00399261713 --0.49866681546 --2.98673385382 --0.498674571514 --2.96751576662 --0.498667411506 --2.94829934835 --0.498653195798 --2.93104070425 --0.498640686274 --2.91378241777 --0.498629815876 --2.89652478695 --0.498620614409 --2.87926727534 --0.498613104224 --2.86201024056 --0.498607218265 --2.84475326538 --0.498602978885 --2.82749670744 --0.498600453138 --2.81024008989 --0.498599626124 --2.79298371076 --0.498600430786 --2.77572709322 --0.498602882027 --2.75847059488 --0.498606994748 --2.74121385813 --0.498612828553 --2.72395712137 --0.498620301485 --2.70669996739 --0.498629420996 --2.68944269419 --0.498640209436 --2.67218482494 --0.498652711511 --2.65492665768 --0.49866681546 --2.63766783476 --0.498674571514 --2.61844986677 --0.498667411506 --2.59923356772 --0.498653195798 --2.58197492361 --0.498640708625 --2.56471657753 --0.498629838228 --2.5474588871 --0.498620614409 --2.53020137548 --0.498613104224 --2.5129443407 --0.498607218265 --2.49568742514 --0.498602993787 --2.4784308672 --0.498600468039 --2.46117424965 --0.498599626124 --2.44391787052 --0.498600430786 --2.42666125298 --0.498602882027 --2.40940481425 --0.498606994748 --2.39214807749 --0.498612828553 --2.37489134073 --0.498620301485 --2.35763412714 --0.498629420996 --2.34037679434 --0.498640209436 --2.32311892509 --0.498652711511 --2.30586081743 --0.49866681546 --2.28860205412 --0.498674571514 --2.26938402653 --0.498667411506 --2.25016760826 --0.498653195798 --2.23290902376 --0.498640678823 --2.21565073729 --0.498629808426 --2.19839304686 --0.498620614409 --2.18113559484 --0.498613089323 --2.16387856007 --0.498607203364 --2.14662158489 --0.498602978885 --2.12936496735 --0.498600453138 --2.1121082902 --0.498599626124 --2.09485191107 --0.498600430786 --2.07759541273 --0.498602882027 --2.06033903361 --0.498606994748 --2.04308229685 --0.498612828553 --2.02582550049 --0.498620316386 --2.0085682571 --0.498629435897 --1.99131095409 --0.498640209436 --1.97405311465 --0.498652711511 --1.95679497719 --0.498666785658 --1.93953615427 --0.498674541712 --1.92031815648 --0.498667411506 --1.90110179782 --0.498653195798 --1.88384318352 --0.498640708625 --1.86658489704 --0.498629838228 --1.84932720661 --0.498620614409 --1.83206966519 --0.498613104224 --1.81481266022 --0.498607218265 --1.79755574465 --0.498602978885 --1.7802991569 --0.498600453138 --1.76304250956 --0.498599596322 --1.74578613043 --0.498600400984 --1.72852957248 --0.498602882027 --1.71127310395 --0.498606994748 --1.69401633739 --0.498612828553 --1.67675960064 --0.498620301485 --1.65950244665 --0.498629420996 --1.64224511385 --0.498640231788 --1.6249872446 --0.498652711511 --1.60772916674 --0.498666793108 --1.59047037363 --0.498674571514 --1.57125234604 --0.498667411506 --1.55203598738 --0.498653195798 --1.53477737308 --0.498640708625 --1.5175190568 --0.498629838228 --1.50026136637 --0.498620614409 --1.48300385475 --0.498613081872 --1.46574681997 --0.498607195914 --1.4484898746 --0.498602978885 --1.43123331666 --0.498600453138 --1.41397666931 --0.498599626124 --1.39672026038 --0.498600430786 --1.37946367264 --0.498602882027 --1.3622072339 --0.498606994748 --1.34495049715 --0.498612828553 --1.32769373059 --0.498620301485 --1.3104365468 --0.498629420996 --1.29317924381 --0.498640201985 --1.27592137456 --0.49865270406 --1.25866326689 --0.49866681546 --1.24140450359 --0.498674571514 --1.2221865058 --0.498667411506 --1.20297011733 --0.498653195798 --1.18571150303 --0.498640708625 --1.16845318675 --0.498629838228 --1.15119549632 --0.498620614409 --1.1339379847 --0.498613104224 --1.11668097973 --0.498607218265 --1.09942406416 --0.498602978885 --1.08216744661 --0.498600453138 --1.06491079926 --0.498599626124 --1.04765444994 --0.498600400984 --1.0303978622 --0.498602852225 --1.01314139366 --0.498606994748 --0.995884642005 --0.498612828553 --0.978627890349 --0.498620301485 --0.96137072146 --0.498629420996 --0.94411341846 --0.498640231788 --0.926855564117 --0.498652733862 --0.909597456455 --0.49866681546 --0.892338678241 --0.498674571514 --0.87312066555 --0.498667411506 --0.853904277086 --0.498653195798 --0.836645632982 --0.498640678823 --0.819387316704 --0.498629808426 --0.802129656076 --0.498620614409 --0.784872174263 --0.498613081872 --0.767615139484 --0.498607195914 --0.750358179211 --0.498602978885 --0.733101606369 --0.498600453138 --0.715844959021 --0.498599626124 --0.698588564992 --0.498600400984 --0.681332007051 --0.498602852225 --0.664075568319 --0.498606994748 --0.646818801761 --0.498612828553 --0.629562050104 --0.498620301485 --0.612304881215 --0.498629420996 --0.595047563315 --0.498640231788 --0.577789679169 --0.498652733862 --0.560531571507 --0.49866681546 --0.543272793293 --0.498674571514 --0.524054780602 --0.498667411506 --0.50483842194 --0.498653195798 --0.487579800188 --0.498640678823 --0.47032148391 --0.498629808426 --0.453063800931 --0.498620614409 --0.435806304216 --0.498613081872 --0.418549291789 --0.498607195914 --0.401292338967 --0.498602978885 --0.384035751223 --0.498600453138 --0.366779111326 --0.498599626124 --0.349522724748 --0.498600430786 --0.332266159356 --0.498602882027 --0.315009705722 --0.498606994748 --0.297752946615 --0.498612798751 --0.280496202409 --0.498620271683 --0.263239018619 --0.498629420996 --0.245981704444 --0.498640209436 --0.228723846376 --0.498652711511 --0.211465742439 --0.49866681546 --0.19420696795 --0.498674571514 --0.174988944084 --0.481424294412 --0.155765976757 --0.481410525739 --0.138507384807 --0.481398396194 --0.121249103919 --0.481387853622 --0.103991439566 --0.481378912926 --0.0867339577526 --0.481371581554 --0.0694769695401 --0.481365889311 --0.0522200483829 --0.481361806393 --0.034963499289 --0.481359347701 --0.0177068889607 --0.481358513236 --0.000450526131315 --0.481359258294 -0.0168060199357 --0.481361664832 -0.0340624446981 --0.481365665794 -0.0513191726059 --0.481371305883 -0.0685759019106 --0.4813785851 -0.0858330633491 --0.481387466192 -0.10309034586 --0.481397911906 -0.120348175988 --0.4814100191 -0.137606251985 --0.481423713267 -0.154865004122 --0.481431238353 -0.174083262682 --0.481424294412 -0.193299874663 --0.481410525739 -0.210558470339 --0.481398373842 -0.227816749364 --0.481387801468 -0.245074413717 --0.481378883123 -0.26233189553 --0.481371581554 -0.279588870704 --0.481365866959 -0.296845793724 --0.481361784041 -0.314102336764 --0.481359347701 -0.33135894686 --0.481358513236 -0.348615325987 --0.481359280646 -0.365871876478 --0.481361687184 -0.383128292859 --0.481365688146 -0.400385029614 --0.481371328235 -0.417641766369 --0.4813785851 -0.434898920357 --0.481387466192 -0.452156201005 --0.481397911906 -0.469414025545 --0.4814100191 -0.486672110856 --0.481423713267 -0.503930866718 --0.481431238353 -0.523149102926 --0.481424294412 -0.542365700006 --0.481410525739 -0.559624314308 --0.481398396194 -0.576882615686 --0.48138782382 -0.594140276313 --0.481378883123 -0.611397743225 --0.481371603906 -0.628654718399 --0.481365889311 -0.64591164887 --0.481361784041 -0.663168206811 --0.481359347701 -0.680424809456 --0.481358513236 -0.697681173682 --0.481359280646 -0.714937716722 --0.481361687184 -0.732194125652 --0.481365688146 -0.749450862408 --0.481371328235 -0.766707584262 --0.4813785851 -0.78396473825 --0.481387466192 -0.801222026348 --0.481397911906 -0.818479865789 --0.4814100191 -0.83573795855 --0.481423713267 -0.852996706962 --0.481431238353 -0.872214972973 --0.481424294412 -0.891431584954 --0.481410503388 -0.908690154552 --0.481398373842 -0.92594845593 --0.48138782382 -0.943206131458 --0.481378883123 -0.960463583469 --0.481371603906 -0.977720558643 --0.481365889311 -0.994977518917 --0.481361784041 -1.01223409176 --0.481359347701 -1.0294906795 --0.481358513236 -1.04674702883 --0.481359280646 -1.06400358677 --0.481361687184 -1.0812600255 --0.481365688146 -1.09851673245 --0.481371328235 -1.1157734394 --0.481378562748 -1.13303059339 --0.48138744384 -1.15028786659 --0.481397911906 -1.16754570603 --0.4814100191 -1.18480381369 --0.481423713267 -1.20206257701 --0.481431238353 -1.22128081322 --0.481424294412 -1.2404974103 --0.481410525739 -1.2577559948 --0.481398396194 -1.27501428127 --0.48138782382 -1.2922719717 --0.481378883123 -1.30952945351 --0.481371603906 -1.32678642869 --0.481365911662 -1.34404334426 --0.481361806393 -1.3612998724 --0.481359347701 -1.37855648994 --0.481358513236 -1.39581286907 --0.481359280646 -1.41306939721 --0.481361687184 -1.43032580614 --0.481365688146 -1.44758254289 --0.481371328235 -1.46483930945 --0.481378562748 -1.48209649324 --0.48138744384 -1.49935376644 --0.481397934258 -1.51661157608 --0.4814100191 -1.53386965394 --0.481423690915 -1.55112841725 --0.481431238353 -1.57034665346 --0.481424294412 -1.58956328034 --0.481410503388 -1.60682189464 --0.481398373842 -1.62408018112 --0.48138782382 -1.64133784175 --0.481378883123 -1.65859529376 --0.481371559203 -1.67585226893 --0.481365866959 -1.6931092143 --0.481361806393 -1.71036577225 --0.481359347701 -1.72762235999 --0.481358513236 -1.74487870932 --0.481359280646 -1.76213526726 --0.481361687184 -1.77939170599 --0.481365688146 -1.79664844275 --0.481371328235 -1.8139051795 --0.4813785851 -1.83116233349 --0.481387466192 -1.84841957689 --0.481397934258 -1.86567741633 --0.481410041452 -1.88293552399 --0.481423713267 -1.90019425749 --0.481431238353 -1.9194124937 --0.481424294412 -1.93862909078 --0.481410503388 -1.95588767529 --0.481398373842 -1.97314596176 --0.48138782382 -1.99040365219 --0.481378883123 -2.00766116381 --0.481371603906 -2.02491813898 --0.481365911662 -2.04217505455 --0.481361806393 -2.05943161249 --0.481359347701 -2.07668823004 --0.481358513236 -2.09394454956 --0.481359280646 -2.1112011075 --0.481361687184 -2.12845760584 --0.481365688146 -2.14571434259 --0.481371328235 -2.16297107935 --0.4813785851 -2.18022817373 --0.481387466192 -2.19748544693 --0.481397934258 -2.21474331617 --0.481410041452 -2.23200136423 --0.481423713267 -2.24926012754 --0.481431238353 -2.26847833395 --0.481424294412 -2.28769487142 --0.481410525739 -2.30495351553 --0.481398396194 -2.322211802 --0.48138782382 -2.33946949244 --0.481378883123 -2.35672706366 --0.481371559203 -2.37398403883 --0.481365844607 -2.39124089479 --0.481361784041 -2.40849745273 --0.481359347701 -2.42575412989 --0.481358513236 -2.44301050902 --0.481359280646 -2.46026700735 --0.481361687184 -2.47752338648 --0.481365688146 -2.49478012323 --0.481371328235 -2.51203685999 --0.481378562748 -2.52929401398 --0.48138744384 -2.54655128718 --0.481397934258 -2.56380909682 --0.481410041452 -2.58106720448 --0.481423713267 -2.59832596779 --0.481431238353 -2.6175442338 --0.481424294412 -2.63676089048 --0.481410503388 -2.65401941538 --0.481398373842 -2.67127770185 --0.48138782382 -2.68853539228 --0.481378883123 -2.70579284429 --0.481371581554 -2.72304981947 --0.481365866959 -2.74030673504 --0.481361761689 -2.75756329298 --0.481359325349 -2.77481991053 --0.481358513236 -2.79207628966 --0.481359280646 -2.80933278799 --0.481361687184 -2.82658916712 --0.481365688146 -2.84384590387 --0.481371328235 -2.86110264063 --0.481378562748 -2.87835985422 --0.48138744384 -2.89561718702 --0.481397911906 -2.91287499666 --0.4814100191 -2.93013304472 --0.481423713267 -2.94739180803 --0.481431238353 -2.96661007404 --0.481424294412 -2.98582667112 --0.481410525739 -3.00308531523 --0.481398396194 -3.02034360171 --0.481387853622 -3.03760117293 --0.481378912926 -3.05485862494 --0.481371581554 -3.07211565972 --0.481365889311 -3.08937263489 --0.481361806393 -3.10662919283 --0.481359347701 -3.12388575077 --0.481358513236 -3.14114210208 --0.481359258294 --3.12478667498 --0.481361664832 --3.10753029585 --0.481365665794 --3.09027355909 --0.481371305883 --3.07301682234 --0.4813785851 --3.05575960875 --0.481387466192 --3.03850227594 --0.481397911906 --3.0212444663 --0.4814100191 --3.00398641825 --0.481423713267 --2.98672765494 --0.481431238353 --2.96750938893 --0.481424294412 --2.94829279184 --0.481410525739 --2.93103414774 --0.481398373842 --2.91377586126 --0.481387801468 --2.89651829004 --0.481378883123 --2.87926083803 --0.481371581554 --2.86200380325 --0.481365866959 --2.84474682808 --0.481361784041 --2.82749027014 --0.481359347701 --2.8102337122 --0.481358513236 --2.79297739267 --0.481359280646 --2.77572077513 --0.481361687184 --2.75846427679 --0.481365688146 --2.74120754004 --0.481371328235 --2.72395086289 --0.4813785851 --2.7066937685 --0.481387466192 --2.6894364953 --0.481397911906 --2.67217862606 --0.4814100191 --2.6549205184 --0.481423713267 --2.63766175509 --0.481431238353 --2.61844354868 --0.481424294412 --2.5992270112 --0.481410525739 --2.5819683671 --0.481398396194 --2.56471008063 --0.48138782382 --2.5474523902 --0.481378883123 --2.53019487858 --0.481371603906 --2.5129379034 --0.481365889311 --2.49568098784 --0.481361784041 --2.4784244299 --0.481359347701 --2.46116781235 --0.481358513236 --2.44391143322 --0.481359280646 --2.42665487528 --0.481361687184 --2.40939849615 --0.481365688146 --2.3921417594 --0.481371328235 --2.37488502264 --0.4813785851 --2.35762786865 --0.481387466192 --2.34037059545 --0.481397911906 --2.32311278582 --0.4814100191 --2.30585473776 --0.481423713267 --2.28859597445 --0.481431238353 --2.26937764883 --0.481424294412 --2.25016099215 --0.481410503388 --2.23290246725 --0.481398373842 --2.21564418078 --0.48138782382 --2.19838649034 --0.481378883123 --2.18112903833 --0.481371603906 --2.16387206316 --0.481365889311 --2.14661514759 --0.481361784041 --2.12935858965 --0.481359347701 --2.1121019721 --0.481358513236 --2.09484559297 --0.481359280646 --2.07758909464 --0.481361687184 --2.06033271551 --0.481365688146 --2.04307597876 --0.481371328235 --2.025819242 --0.481378562748 --2.00856205821 --0.48138744384 --1.99130475521 --0.481397911906 --1.97404694557 --0.4814100191 --1.95678883791 --0.481423713267 --1.9395300448 --0.481431238353 --1.92031180859 --0.481424294412 --1.90109521151 --0.481410525739 --1.88383662701 --0.481398396194 --1.86657834053 --0.48138782382 --1.8493206799 --0.481378883123 --1.83206319809 --0.481371603906 --1.81480622292 --0.481365911662 --1.79754930734 --0.481361806393 --1.78029274941 --0.481359347701 --1.76303613186 --0.481358513236 --1.74577975273 --0.481359280646 --1.72852322459 --0.481361687184 --1.71126681566 --0.481365688146 --1.69401007891 --0.481371328235 --1.67675334215 --0.481378562748 --1.65949618816 --0.48138744384 --1.64223888517 --0.481397934258 --1.62498104573 --0.4814100191 --1.60772299767 --0.481423690915 --1.59046426415 --0.481431238353 --1.57124599814 --0.481424294412 --1.55202937126 --0.481410503388 --1.53477078676 --0.481398373842 --1.51751253009 --0.48138782382 --1.50025486946 --0.481378883123 --1.48299735784 --0.481371559203 --1.46574035287 --0.481365866959 --1.4484834373 --0.481361806393 --1.43122687936 --0.481359347701 --1.41397026181 --0.481358513236 --1.39671391249 --0.481359280646 --1.37945735454 --0.481361687184 --1.36220091581 --0.481365688146 --1.34494420886 --0.481371328235 --1.32768750191 --0.4813785851 --1.31043034792 --0.481387466192 --1.29317307472 --0.481397934258 --1.27591523528 --0.481410041452 --1.25865715742 --0.481423713267 --1.24139842391 --0.481431238353 --1.2221801579 --0.481424294412 --1.20296353102 --0.481410503388 --1.18570494652 --0.481398373842 --1.16844666004 --0.48138782382 --1.15118896961 --0.481378883123 --1.1339314878 --0.481371603906 --1.11667451262 --0.481365911662 --1.09941759705 --0.481361806393 --1.08216103911 --0.481359347701 --1.06490442157 --0.481358513236 --1.04764807224 --0.481359280646 --1.03039154411 --0.481361687184 --1.01313513517 --0.481365688146 --0.995878383516 --0.481371328235 --0.978621646762 --0.4813785851 --0.961364507675 --0.481387466192 --0.944107234478 --0.481397934258 --0.926849395037 --0.481410041452 --0.909591302276 --0.481423713267 --0.892332553864 --0.481431238353 --0.873114317655 --0.481424294412 --0.853897705674 --0.481410525739 --0.836639076471 --0.481398396194 --0.819380789995 --0.48138782382 --0.80212315917 --0.481378883123 --0.784865677357 --0.481371559203 --0.767608672381 --0.481365844607 --0.750351756811 --0.481361784041 --0.733095213771 --0.481359347701 --0.715838581323 --0.481358513236 --0.698582217097 --0.481359280646 --0.681325703859 --0.481361687184 --0.664069265127 --0.481365688146 --0.64681251347 --0.481371328235 --0.629555791616 --0.481378562748 --0.612298637629 --0.48138744384 --0.59504134953 --0.481397934258 --0.577783510089 --0.481410041452 --0.560525432229 --0.481423713267 --0.543266683817 --0.481431238353 --0.524048432708 --0.481424294412 --0.504831820727 --0.481410503388 --0.487573236227 --0.481398373842 --0.470314957201 --0.48138782382 --0.453057289123 --0.481378883123 --0.435799814761 --0.481371581554 --0.418542839587 --0.481365866959 --0.401285909116 --0.481361761689 --0.384029351175 --0.481359325349 --0.366772741079 --0.481358513236 --0.349516376853 --0.481359280646 --0.332259833813 --0.481361687184 --0.315003409982 --0.481365688146 --0.297746680677 --0.481371328235 --0.280489951372 --0.481378562748 --0.263232797384 --0.48138744384 --0.245975513011 --0.481397911906 --0.228717669845 --0.4814100191 --0.211459591985 --0.481423713267 --0.194200839848 --0.481431238353 --0.174982585013 --0.464162230492 --0.15575933829 --0.464148901403 --0.138500779867 --0.464137151837 --0.121242528781 --0.46412691474 --0.10398488678 --0.464118264616 --0.086727431044 --0.464111171663 --0.0694704726339 --0.464105643332 --0.052213575691 --0.464101679623 --0.0349570512772 --0.464099287987 --0.0177004672587 --0.464098468423 --0.000444130972028 --0.46409920603 -0.0168123887852 --0.464101545513 -0.0340687874705 --0.464105427265 -0.0513254897669 --0.46411088109 -0.0685821920633 --0.464117921889 -0.0858393255621 --0.464126557112 -0.103096580133 --0.464136697352 -0.12035438791 --0.464148409665 -0.137612443418 --0.464161664248 -0.154871173203 --0.464168965816 -0.174089666456 --0.464162252843 -0.193306509406 --0.464148901403 -0.210565075278 --0.464137129485 -0.227823331952 --0.464126907289 -0.245080970228 --0.464118257165 -0.262338422239 --0.464111149311 -0.27959536761 --0.464105598628 -0.296852260828 --0.464101657271 -0.314108788967 --0.464099287987 -0.33136536926 --0.464098468423 -0.348621711135 --0.464099228382 -0.365878246724 --0.464101567865 -0.383134640753 --0.464105449617 -0.400391347706 --0.464110925793 -0.417648054659 --0.464117944241 -0.434905171394 --0.464126557112 -0.45216242969 --0.464136697352 -0.469420239329 --0.464148409665 -0.486678294838 --0.4641616866 -0.503937028349 --0.464168988168 -0.523155510426 --0.464162252843 -0.542372345924 --0.464148901403 -0.559630930424 --0.464137129485 -0.576889201999 --0.464126884937 -0.594146832824 --0.464118234813 -0.611404284835 --0.464111171663 -0.628661230207 --0.46410562098 -0.645918115973 --0.464101657271 -0.663174644112 --0.464099287987 -0.680431216955 --0.464098468423 -0.697687551379 --0.464099228382 -0.714944064617 --0.464101567865 -0.732200458646 --0.464105449617 -0.7494571805 --0.464110925793 -0.766713872552 --0.464117944241 -0.783970996737 --0.464126557112 -0.801228269935 --0.464136697352 -0.818486079574 --0.464148409665 -0.835744127631 --0.464161664248 -0.853002846241 --0.464168965816 -0.87222135067 --0.464162252843 -0.89143820107 --0.464148901403 -0.908696755766 --0.464137129485 -0.925955027342 --0.464126907289 -0.943212673068 --0.464118257165 -0.960470110178 --0.464111171663 -0.977727070451 --0.46410562098 -0.994983986021 --0.464101657271 -1.01224052906 --0.464099287987 -1.029497087 --0.464098468423 -1.04675340652 --0.464099228382 -1.06400996447 --0.464101567865 -1.08126637339 --0.464105427265 -1.09852305054 --0.464110903442 -1.11577972769 --0.464117944241 -1.13303685188 --0.464126557112 -1.15029409528 --0.464136697352 -1.16755190492 --0.464148409665 -1.18481001258 --0.464161664248 -1.20206874609 --0.464168965816 -1.22128719091 --0.464162252843 -1.24050402641 --0.464148923754 -1.25776261091 --0.464137151837 -1.27502086759 --0.464126907289 -1.29227849841 --0.464118257165 -1.30953595042 --0.464111171663 -1.3267929256 --0.464105643332 -1.34404984117 --0.464101679623 -1.3613063395 --0.464099287987 -1.37856292724 --0.464098468423 -1.39581927657 --0.464099228382 -1.41307577491 --0.464101567865 -1.43033215404 --0.464105427265 -1.44758886099 --0.464110903442 -1.46484559774 --0.464117944241 -1.48210275173 --0.464126557112 -1.49935999513 --0.464136697352 -1.51661777496 --0.464148409665 -1.53387582302 --0.464161664248 -1.55113458633 --0.464168965816 -1.57035309076 --0.464162252843 -1.58956992626 --0.464148879051 -1.60682848096 --0.464137107134 -1.62408673763 --0.464126884937 -1.64134436846 --0.464118234813 -1.65860182047 --0.464111149311 -1.67585879564 --0.46410562098 -1.69311568141 --0.464101709425 -1.71037220955 --0.464099317789 -1.72762879729 --0.464098468423 -1.74488511682 --0.464099228382 -1.76214164496 --0.464101567865 -1.77939805389 --0.464105427265 -1.79665476084 --0.464110903442 -1.81391146779 --0.464117944241 -1.83116859198 --0.464126557112 -1.84842583537 --0.464136697352 -1.86568364501 --0.464148409665 -1.88294172287 --0.464161664248 -1.90020042658 --0.464168965816 -1.9194188714 --0.464162230492 -1.9386357069 --0.464148856699 -1.9558942914 --0.464137107134 -1.97315257788 --0.464126907289 -1.9904102385 --0.464118257165 -2.00766766071 --0.464111171663 -2.02492457628 --0.464105643332 -2.04218149185 --0.464101679623 -2.05943804979 --0.464099287987 -2.07669466734 --0.464098468423 -2.09395098686 --0.464099228382 -2.1112074852 --0.464101567865 -2.12846392393 --0.464105427265 -2.14572066069 --0.464110903442 -2.16297733784 --0.464117944241 -2.18023443222 --0.464126557112 -2.19749170542 --0.464136697352 -2.21474951505 --0.464148409665 -2.23200756311 --0.4641616866 -2.24926632643 --0.464168988168 -2.26848477125 --0.464162230492 -2.28770154714 --0.464148901403 -2.30496013165 --0.464137151837 -2.32221841812 --0.464126884937 -2.33947610855 --0.464118234813 -2.35673362017 --0.464111149311 -2.37399059534 --0.464105598628 -2.3912474513 --0.464101657271 -2.40850394964 --0.464099287987 -2.42576050759 --0.464098468423 -2.44301682711 --0.464099228382 -2.46027332544 --0.464101567865 -2.47752970457 --0.464105427265 -2.49478644133 --0.464110903442 -2.51204317808 --0.464117944241 -2.52930027246 --0.464126557112 -2.54655748606 --0.464136697352 -2.56381529569 --0.464148409665 -2.58107340336 --0.464161664248 -2.59833216667 --0.464168965816 -2.6175506115 --0.464162252843 -2.63676744699 --0.464148879051 -2.65402603149 --0.464137107134 -2.67128431797 --0.464126884937 -2.6885419488 --0.464118234813 -2.70579940081 --0.464111171663 -2.72305637598 --0.46410562098 -2.74031323195 --0.46410163492 -2.75756973028 --0.464099265635 -2.77482634783 --0.464098468423 -2.79208266735 --0.464099228382 -2.80933916568 --0.464101567865 -2.82659554481 --0.464105427265 -2.84385222197 --0.464110903442 -2.86110895872 --0.464117921889 -2.87836617231 --0.46412653476 -2.89562344551 --0.464136697352 -2.91288119554 --0.464148409665 -2.9301392436 --0.464161664248 -2.94739800692 --0.464168965816 -2.96661651134 --0.464162230492 -2.98583334684 --0.464148901403 -3.00309193134 --0.464137151837 -3.02035015821 --0.46412691474 -3.03760772944 --0.464118264616 -3.05486518145 --0.464111171663 -3.07212215662 --0.464105643332 -3.08937907219 --0.464101679623 -3.10663563013 --0.464099287987 -3.12389218807 --0.464098468423 -3.14114847978 --0.46409920603 --3.12478029728 --0.464101545513 --3.10752391815 --0.464105427265 --3.090267241 --0.46411088109 --3.07301050425 --0.464117921889 --3.05575329065 --0.464126557112 --3.03849601745 --0.464136697352 --3.02123826742 --0.464148409665 --3.00398021937 --0.464161664248 --2.98672145605 --0.464168965816 --2.96750295162 --0.464162252843 --2.94828611612 --0.464148901403 --2.93102753162 --0.464137129485 --2.91376930475 --0.464126907289 --2.89651173353 --0.464118257165 --2.87925428152 --0.464111149311 --2.86199730634 --0.464105598628 --2.84474039078 --0.464101657271 --2.82748383284 --0.464099287987 --2.8102272749 --0.464098468423 --2.79297095537 --0.464099228382 --2.77571439743 --0.464101567865 --2.7584579587 --0.464105449617 --2.74120122194 --0.464110925793 --2.7239446044 --0.464117944241 --2.70668751002 --0.464126557112 --2.68943017721 --0.464136697352 --2.67217236757 --0.464148409665 --2.65491437912 --0.4641616866 --2.63765567541 --0.464168988168 --2.61843717098 --0.464162252843 --2.59922033548 --0.464148901403 --2.58196175099 --0.464137129485 --2.56470346451 --0.464126884937 --2.54744577408 --0.464118234813 --2.53018832207 --0.464111171663 --2.5129314065 --0.46410562098 --2.49567449093 --0.464101657271 --2.47841799259 --0.464099287987 --2.46116143465 --0.464098468423 --2.44390505552 --0.464099228382 --2.42664855718 --0.464101567865 --2.40939217806 --0.464105449617 --2.3921354413 --0.464110925793 --2.37487876415 --0.464117944241 --2.35762166977 --0.464126557112 --2.34036439657 --0.464136697352 --2.32310658693 --0.464148409665 --2.30584853888 --0.464161664248 --2.28858983517 --0.464168965816 --2.26937133074 --0.464162252843 --2.25015443564 --0.464148901403 --2.23289591074 --0.464137129485 --2.21563762426 --0.464126907289 --2.19837993383 --0.464118257165 --2.18112248182 --0.464111171663 --2.16386550665 --0.46410562098 --2.14660865068 --0.464101657271 --2.12935215235 --0.464099287987 --2.1120955944 --0.464098468423 --2.09483927488 --0.464099228382 --2.07758271694 --0.464101567865 --2.06032633781 --0.464105427265 --2.04306966066 --0.464110903442 --2.02581292391 --0.464117944241 --2.00855576992 --0.464126557112 --1.99129852653 --0.464136697352 --1.97404071689 --0.464148409665 --1.95678263903 --0.464161664248 --1.93952390551 --0.464168965816 --1.92030543089 --0.464162252843 --1.90108859539 --0.464148923754 --1.88383004069 --0.464137151837 --1.86657178402 --0.464126907289 --1.84931415319 --0.464118257165 --1.83205670118 --0.464111171663 --1.81479972601 --0.464105643332 --1.79754281044 --0.464101679623 --1.7802862823 --0.464099287987 --1.76302969456 --0.464098468423 --1.74577334523 --0.464099228382 --1.7285168469 --0.464101567865 --1.71126046777 --0.464105427265 --1.69400376081 --0.464110903442 --1.67674705386 --0.464117944241 --1.65948992968 --0.464126557112 --1.64223265648 --0.464136697352 --1.62497484684 --0.464148409665 --1.60771679878 --0.464161664248 --1.59045809507 --0.464168965816 --1.57123962045 --0.464162252843 --1.55202275515 --0.464148879051 --1.53476417065 --0.464137107134 --1.51750591397 --0.464126884937 --1.50024828315 --0.464118234813 --1.48299080133 --0.464111149311 --1.46573385596 --0.46410562098 --1.44847697019 --0.464101709425 --1.43122041225 --0.464099317789 --1.41396385431 --0.464098468423 --1.39670753479 --0.464099228382 --1.37945100665 --0.464101567865 --1.36219459772 --0.464105427265 --1.34493789077 --0.464110903442 --1.32768121362 --0.464117944241 --1.31042408943 --0.464126557112 --1.29316684604 --0.464136697352 --1.2759090364 --0.464148409665 --1.25865098834 --0.464161664248 --1.24139225483 --0.464168965816 --1.2221737504 --0.464162230492 --1.2029569149 --0.464148856699 --1.1856983304 --0.464137107134 --1.16844007373 --0.464126907289 --1.1511824429 --0.464118257165 --1.13392499089 --0.464111171663 --1.11666801572 --0.464105643332 --1.09941110015 --0.464101679623 --1.08215460181 --0.464099287987 --1.06489801407 --0.464098468423 --1.04764166474 --0.464099228382 --1.03038516641 --0.464101567865 --1.01312878728 --0.464105427265 --0.995872080325 --0.464110903442 --0.978615373373 --0.464117944241 --0.961358249187 --0.464126557112 --0.944100990892 --0.464136697352 --0.926843181253 --0.464148409665 --0.909585118294 --0.4641616866 --0.892326369882 --0.464168988168 --0.873107895255 --0.464162230492 --0.853891074658 --0.464148901403 --0.836632475257 --0.464137151837 --0.819374203682 --0.464126884937 --0.802116587758 --0.464118234813 --0.784859120846 --0.464111149311 --0.767602145672 --0.464105598628 --0.750345274806 --0.464101657271 --0.733088761568 --0.464099287987 --0.715832173824 --0.464098468423 --0.6985758394 --0.464099228382 --0.681319326163 --0.464101567865 --0.664062932134 --0.464105427265 --0.646806225181 --0.464110903442 --0.629549518228 --0.464117944241 --0.612292379141 --0.464126557112 --0.595035120845 --0.464136697352 --0.577777311206 --0.464148409665 --0.560519248247 --0.464161664248 --0.543260529637 --0.464168965816 --0.52404204011 --0.464162252843 --0.504825182259 --0.464148879051 --0.487566627562 --0.464137107134 --0.470308378339 --0.464126884937 --0.453050732612 --0.464118234813 --0.435793288052 --0.464111171663 --0.41853634268 --0.46410562098 --0.401279434562 --0.46410163492 --0.384022898972 --0.464099265635 --0.366766303778 --0.464098468423 --0.349509969354 --0.464099228382 --0.332253456116 --0.464101567865 --0.314997062087 --0.464105427265 --0.297740362584 --0.464110903442 --0.280483648181 --0.464117921889 --0.263226516545 --0.46412653476 --0.245969265699 --0.464136697352 --0.228711456061 --0.464148409665 --0.211453404278 --0.464161664248 --0.194194678217 --0.464168965816 --0.174976184964 --0.444510489702 --0.155752532184 --0.444497652352 --0.138493999839 --0.44448634237 --0.12123577483 --0.444476462901 --0.103978158906 --0.44446811825 --0.0867207311094 --0.444461300969 --0.0694637997076 --0.444455973804 --0.0522069288418 --0.444452166558 --0.0349504328333 --0.444449864328 --0.017693876056 --0.444449074567 --0.0004375660792 --0.444449797273 -0.0168189264368 --0.444452047348 -0.0340752960183 --0.444455787539 -0.0513319727033 --0.444461047649 -0.068588649854 --0.444467812776 -0.0858457535505 --0.444476135075 -0.103102982044 --0.444485917687 -0.120360763744 --0.444497197866 -0.137618795038 --0.444509960711 -0.154877498746 --0.444516979158 -0.174096226692 --0.444510512054 -0.193313311786 --0.44449763 -0.210571851582 --0.444486275315 -0.227830082178 --0.444476462901 -0.245087690651 --0.444468140602 -0.26234511286 --0.444461300969 -0.27960203588 --0.444455973804 -0.296858906746 --0.444452166558 -0.314115419984 --0.444449864328 -0.331371977925 --0.444449074567 -0.348628282547 --0.444449797273 -0.365884780884 --0.444452047348 -0.38314114511 --0.444455809891 -0.400397822261 --0.444461092353 -0.417654499412 --0.444467835128 -0.434911593795 --0.444476112723 -0.452168829739 --0.444485895335 -0.469426624477 --0.444497197866 -0.486684657633 --0.444509983063 -0.503943353891 --0.44451700151 -0.523162081838 --0.444510512054 -0.542379170656 --0.44449763 -0.559637710452 --0.444486275315 -0.576895937324 --0.444476440549 -0.594153553247 --0.44446811825 -0.611410990357 --0.444461300969 -0.628667905927 --0.444455973804 -0.64592474699 --0.444452166558 -0.663181245327 --0.444449864328 -0.680437818169 --0.444449074567 -0.697694137692 --0.444449819625 -0.714950606227 --0.4444520697 -0.732206970453 --0.444455809891 -0.749463662505 --0.444461092353 -0.766720324755 --0.444467835128 -0.783977434039 --0.444476112723 -0.801234692336 --0.444485895335 -0.818492472172 --0.444497197866 -0.835750490427 --0.444509960711 -0.853009194136 --0.444516979158 -0.872227922082 --0.444510512054 -0.8914450109 --0.444497652351 -0.908703550696 --0.444486320019 -0.925961792469 --0.444476485252 -0.943219423294 --0.444468140602 -0.960476830601 --0.444461300969 -0.977733746171 --0.444455973804 -0.994990617036 --0.444452166558 -1.01224711537 --0.444449864328 -1.02950367331 --0.444449074567 -1.04675999284 --0.444449819625 -1.06401649118 --0.4444520697 -1.0812728405 --0.444455787539 -1.09852951765 --0.444461070001 -1.1157861948 --0.44446785748 -1.13304328918 --0.444476157427 -1.15030050278 --0.444485917687 -1.16755831241 --0.444497197866 -1.18481639027 --0.444509960711 -1.20207506418 --0.444516979158 -1.22129377723 --0.444510512054 -1.24051088095 --0.444497674703 -1.25776943564 --0.44448634237 -1.27502763271 --0.444476485252 -1.29228520393 --0.444468140602 -1.30954265595 --0.444461300969 -1.32679960132 --0.444455973804 -1.34405648709 --0.444452166558 -1.36131298542 --0.444449864328 -1.37856951356 --0.444449074567 -1.39582580328 --0.444449819625 -1.41308230162 --0.4444520697 -1.43033868075 --0.444455787539 -1.4475953579 --0.444461070001 -1.46485206485 --0.44446785748 -1.48210918903 --0.444476135075 -1.49936640262 --0.444485895335 -1.51662415266 --0.444497197866 -1.53388217091 --0.444509960711 -1.55114090442 --0.444516979158 -1.57035964728 --0.444510512054 -1.58957672119 --0.44449763 -1.60683524609 --0.444486297667 -1.62409347296 --0.444476462901 -1.64135110378 --0.44446811825 -1.65860852599 --0.444461300969 -1.67586547136 --0.444455973804 -1.69312232733 --0.44445219636 -1.71037879586 --0.444449894131 -1.72763538361 --0.444449074567 -1.74489170313 --0.444449797273 -1.76214817167 --0.444452047348 -1.77940455079 --0.444455787539 -1.79666122794 --0.444461070001 -1.81391787529 --0.444467835128 -1.83117496967 --0.444476112723 -1.84843221307 --0.444485895335 -1.86569002271 --0.444497197866 -1.88294807076 --0.444509960711 -1.90020674467 --0.444516979158 -1.91942545772 --0.444510489702 -1.93864256144 --0.444497607648 -1.95590111614 --0.444486297667 -1.97315934301 --0.444476485252 -1.99041694403 --0.444468140602 -2.00767436624 --0.444461300969 -2.02493131161 --0.444455973804 -2.04218816757 --0.444452166558 -2.05944466591 --0.444449864328 -2.07670122385 --0.444449074567 -2.09395754337 --0.444449797273 -2.11121404171 --0.444452047348 -2.12847042084 --0.444455787539 -2.14572709799 --0.444461070001 -2.16298371553 --0.444467835128 -2.18024080991 --0.444476135075 -2.19749808311 --0.444485917687 -2.21475589275 --0.444497197866 -2.23201394081 --0.444509983063 -2.24927264452 --0.44451700151 -2.26849132777 --0.444510489702 -2.28770840168 --0.444497652352 -2.30496692658 --0.44448634237 -2.32222515345 --0.444476462901 -2.33948284388 --0.44446811825 -2.35674029589 --0.444461300969 -2.37399721145 --0.444455973804 -2.39125406742 --0.444452166558 -2.40851056576 --0.444449864328 -2.42576706409 --0.444449074567 -2.44302332401 --0.444449819625 -2.46027988195 --0.4444520697 -2.47753626108 --0.444455787539 -2.49479293823 --0.444461070001 -2.51204961539 --0.44446785748 -2.52930670977 --0.444476135075 -2.54656392336 --0.444485895335 -2.56382167339 --0.444497197866 -2.58107972145 --0.444509960711 -2.59833848476 --0.444516979158 -2.61755716801 --0.444510512054 -2.63677418232 --0.444497652351 -2.65403282642 --0.444486297667 -2.6712911129 --0.444476440549 -2.68854868412 --0.44446811825 -2.70580607653 --0.444461300969 -2.7230629921 --0.444455973804 -2.74031984806 --0.444452166558 -2.7575763464 --0.444449864328 -2.77483296395 --0.444449074567 -2.79208922386 --0.444449819625 -2.80934572219 --0.4444520697 -2.82660210132 --0.444455787539 -2.84385871887 --0.444461070001 -2.86111545563 --0.444467835128 -2.87837260961 --0.444476112723 -2.89562982321 --0.444485895335 -2.91288757324 --0.444497197866 -2.93014556169 --0.444509960711 -2.9474042654 --0.444516979158 -2.96662306786 --0.444510489702 -2.98584020138 --0.444497652352 -3.00309872627 --0.44448634237 -3.02035689354 --0.444476462901 -3.03761446476 --0.44446811825 -3.05487191677 --0.444461300969 -3.07212889195 --0.444455973804 -3.08938574791 --0.444452166558 -3.10664218665 --0.444449864328 -3.12389874458 --0.444449074567 -3.14115503629 --0.444449797273 --3.12477374077 --0.444452047348 --3.10751736164 --0.444455787539 --3.0902607441 --0.444461047649 --3.07300400734 --0.444467812776 --3.05574685335 --0.444476135075 --3.03848963976 --0.444485917687 --3.02123188973 --0.444497197866 --3.00397390128 --0.444509960711 --2.98671519757 --0.444516979158 --2.96749639511 --0.444510512054 --2.94827926159 --0.44449763 --2.93102073669 --0.444486275315 --2.91376256942 --0.444476462901 --2.8965049982 --0.444468140602 --2.87924754619 --0.444461300969 --2.86199057102 --0.444455973804 --2.84473371505 --0.444452166558 --2.82747721672 --0.444449864328 --2.81022065878 --0.444449074567 --2.79296433926 --0.444449797273 --2.77570784092 --0.444452047348 --2.7584515214 --0.444455809891 --2.74119484424 --0.444461092353 --2.7239381671 --0.444467835128 --2.70668107271 --0.444476112723 --2.68942379951 --0.444485895335 --2.67216598987 --0.444497197866 --2.65490800142 --0.444509983063 --2.63764935732 --0.44451700151 --2.61843061447 --0.444510512054 --2.59921348095 --0.44449763 --2.58195495606 --0.444486275315 --2.56469672918 --0.444476440549 --2.54743909835 --0.44446811825 --2.53018164634 --0.444461300969 --2.51292473078 --0.444455973804 --2.49566787481 --0.444452166558 --2.47841137647 --0.444449864328 --2.46115487814 --0.444449074567 --2.44389855862 --0.444449819625 --2.42664206028 --0.4444520697 --2.40938568115 --0.444455809891 --2.3921289444 --0.444461092353 --2.37487232685 --0.444467835128 --2.35761523247 --0.444476112723 --2.34035795927 --0.444485895335 --2.32310020924 --0.444497197866 --2.30584216118 --0.444509960711 --2.28858345747 --0.444516979158 --2.26936477423 --0.444510512054 --2.25014770031 --0.444497652351 --2.23288917541 --0.444486320019 --2.21563088893 --0.444476485252 --2.19837319851 --0.444468140602 --2.1811158061 --0.444461300969 --2.16385889054 --0.444455973804 --2.14660203457 --0.444452166558 --2.12934553623 --0.444449864328 --2.11208897829 --0.444449074567 --2.09483271838 --0.444449819625 --2.07757622004 --0.4444520697 --2.06031984091 --0.444455787539 --2.04306316376 --0.444461070001 --2.025806427 --0.44446785748 --2.00854930282 --0.444476157427 --1.99129211903 --0.444485917687 --1.97403433919 --0.444497197866 --1.95677632093 --0.444509960711 --1.93951761722 --0.444516979158 --1.92029887438 --0.444510512054 --1.90108180046 --0.444497674703 --1.88382327557 --0.44448634237 --1.8665650487 --0.444476485252 --1.84930741787 --0.444468140602 --1.83204999566 --0.444461300969 --1.81479305029 --0.444455973804 --1.79753616452 --0.444452166558 --1.78027966618 --0.444449864328 --1.76302310824 --0.444449074567 --1.74576681852 --0.444449819625 --1.72851032019 --0.4444520697 --1.71125394106 --0.444455787539 --1.69399726391 --0.444461070001 --1.67674058676 --0.44446785748 --1.65948352218 --0.444476135075 --1.64222627878 --0.444485895335 --1.62496846915 --0.444497197866 --1.60771045089 --0.444509960711 --1.59045177698 --0.444516979158 --1.57123306394 --0.444510512054 --1.55201596022 --0.44449763 --1.53475740552 --0.444486297667 --1.51749914885 --0.444476462901 --1.50024154782 --0.44446811825 --1.48298412561 --0.444461300969 --1.46572721004 --0.444455973804 --1.44847035408 --0.44445219636 --1.43121382594 --0.444449894131 --1.413957268 --0.444449074567 --1.39670094848 --0.444449797273 --1.37944447994 --0.444452047348 --1.36218810081 --0.444455787539 --1.34493139386 --0.444461070001 --1.32767474652 --0.444467835128 --1.31041765213 --0.444476112723 --1.29316043854 --0.444485895335 --1.2759026587 --0.444497197866 --1.25864461064 --0.444509960711 --1.24138590693 --0.444516979158 --1.22216716409 --0.444510489702 --1.20295009017 --0.444497607648 --1.18569156528 --0.444486297667 --1.16843333841 --0.444476485252 --1.15117573739 --0.444468140602 --1.13391831517 --0.444461300969 --1.1166613698 --0.444455973804 --1.09940445423 --0.444452166558 --1.08214795589 --0.444449864328 --1.06489142775 --0.444449074567 --1.04763510823 --0.444449797273 --1.0303786099 --0.444452047348 --1.01312226057 --0.444455787539 --0.995865598319 --0.444461070001 --0.978608906269 --0.444467835128 --0.961351796985 --0.444476135075 --0.944094568491 --0.444485917687 --0.926836773753 --0.444497197866 --0.909578740597 --0.444509983063 --0.892320036888 --0.44451700151 --0.873101323843 --0.444510489702 --0.853884249926 --0.444497652352 --0.836625695229 --0.44448634237 --0.819367468357 --0.444476462901 --0.802109852433 --0.44446811825 --0.784852415323 --0.444461300969 --0.767595484853 --0.444455973804 --0.750338628888 --0.444452166558 --0.733082130551 --0.444449864328 --0.715825587511 --0.444449074567 --0.698569282889 --0.444449819625 --0.68131275475 --0.4444520697 --0.664056405425 --0.444455787539 --0.646799743176 --0.444461070001 --0.629543051124 --0.44446785748 --0.612285941839 --0.444476135075 --0.595028713346 --0.444485895335 --0.577770933509 --0.444497197866 --0.560512900353 --0.444509960711 --0.543254211545 --0.444516979158 --0.524035483599 --0.444510512054 --0.50481838733 --0.444497652351 --0.487559847534 --0.444486297667 --0.470301613211 --0.444476440549 --0.453043997288 --0.44446811825 --0.43578658998 --0.444461300969 --0.41852966696 --0.444455973804 --0.401272781193 --0.444452166558 --0.384016275406 --0.444449864328 --0.366759710014 --0.444449074567 --0.349503405392 --0.444449819625 --0.332246921956 --0.4444520697 --0.31499055773 --0.444455787539 --0.297733873129 --0.444461070001 --0.280477181077 --0.444467835128 --0.263220086694 --0.444476112723 --0.245962865651 --0.444485895335 --0.228705082089 --0.444497197866 --0.211447056383 --0.444509960711 --0.194188356399 --0.444516979158 --0.174969621003 --0.424822583795 --0.155745543539 --0.424810253083 --0.138487033546 --0.424799382686 --0.121228832752 --0.424789920449 --0.103971244767 --0.424781903624 --0.0867138467729 --0.424775339663 --0.0694569414482 --0.424770206213 --0.0522000975907 --0.424766562879 --0.0349436304532 --0.424764379859 --0.0176871011499 --0.4247636199 --0.000430818181485 --0.424764297903 -0.0168256463949 --0.42476644367 -0.0340819871053 --0.424770049751 -0.0513386363164 --0.424775116146 -0.0685952883214 --0.424781605601 -0.0858523659408 --0.424789577722 -0.103109566495 --0.424798972905 -0.120367318392 --0.424809828401 -0.13762531802 --0.424822106958 -0.154883991927 --0.424828827381 -0.174102969468 --0.424822583795 -0.193320304156 --0.424810230732 -0.210578817875 --0.424799315631 -0.227837022394 --0.424789875746 -0.245094608516 --0.424781881273 -0.262351997197 --0.424775317311 -0.279608897865 --0.424770228564 -0.296865753829 --0.424766585231 -0.314122229814 --0.424764357508 -0.331378757954 --0.424763575196 -0.348635032773 --0.424764275551 -0.365891493857 --0.42476644367 -0.383147835732 --0.424770049751 -0.40040449053 --0.424775116146 -0.417661137879 --0.424781605601 -0.43491820991 --0.424789555371 -0.452175416052 --0.424798950553 -0.469433180988 --0.424809828401 -0.486691191792 --0.424822106958 -0.503949858248 --0.424828827381 -0.523168832063 --0.424822583795 -0.542386159301 --0.424810230732 -0.559644669294 --0.424799315631 -0.576902866364 --0.424789875746 -0.594160452485 --0.424781881273 -0.611417844891 --0.424775317311 -0.62867474556 --0.424770206213 -0.645931586623 --0.424766562879 -0.663188055158 --0.424764379859 -0.680444613099 --0.424763597548 -0.69770090282 --0.424764297903 -0.714957341552 --0.424766466021 -0.732213675976 --0.424770049751 -0.749470338225 --0.424775116146 -0.766726985574 --0.424781605601 -0.783984065056 --0.424789555371 -0.801241278648 --0.424798950553 -0.818499028683 --0.424809828401 -0.835757032037 --0.424822106958 -0.853015720844 --0.424828827381 -0.87223470211 --0.424822583795 -0.891452029348 --0.424810230732 -0.90871052444 --0.424799337983 -0.925968721509 --0.424789898098 -0.943226337433 --0.424781881273 -0.960483729839 --0.424775317311 -0.977740615606 --0.424770228564 -0.994997456669 --0.424766585231 -1.0122539103 --0.424764357508 -1.02951043844 --0.424763575196 -1.04676672816 --0.424764297903 -1.0640231967 --0.424766466021 -1.08127951622 --0.424770049751 -1.09853616357 --0.424775116146 -1.11579284072 --0.424781605601 -1.1330499351 --0.424789577722 -1.15030711889 --0.424798972905 -1.16756486893 --0.424809828401 -1.18482288718 --0.424822106958 -1.20208156109 --0.424828827381 -1.22130054235 --0.424822583795 -1.24051788449 --0.424810253083 -1.25777640939 --0.424799360335 -1.27503457665 --0.424789875746 -1.29229214788 --0.424781881273 -1.30954957008 --0.424775339663 -1.32680645585 --0.424770206213 -1.34406331181 --0.424766562879 -1.36131981015 --0.424764357508 -1.37857630849 --0.424763575196 -1.39583256841 --0.424764275551 -1.41308903694 --0.42476644367 -1.43034538627 --0.424770049751 -1.44760206342 --0.424775116146 -1.46485871077 --0.424781605601 -1.48211577535 --0.424789555371 -1.49937298894 --0.424798950553 -1.51663073898 --0.424809828401 -1.53388872742 --0.424822106958 -1.55114740133 --0.424828849733 -1.5703663826 --0.424822606147 -1.58958372474 --0.424810230732 -1.60684221983 --0.424799360335 -1.6241004169 --0.424789898098 -1.64135801792 --0.424781881273 -1.65861541033 --0.424775339663 -1.6758723259 --0.424770228564 -1.69312915206 --0.424766562879 -1.71038559079 --0.424764357508 -1.72764214873 --0.424763597548 -1.74489843845 --0.424764253199 -1.76215487719 --0.424766421318 -1.77941122651 --0.424770049751 -1.79666787386 --0.424775116146 -1.81392452121 --0.424781605601 -1.83118161559 --0.424789555371 -1.84843879938 --0.424798950553 -1.86569654942 --0.424809828401 -1.88295456767 --0.424822106958 -1.90021324158 --0.424828827381 -1.91943222284 --0.424822583795 -1.93864956498 --0.424810230732 -1.95590808988 --0.424799360335 -1.97316625715 --0.424789920449 -1.99042382836 --0.424781881273 -2.00768128037 --0.424775317311 -2.02493822575 --0.424770206213 -2.04219502211 --0.424766562879 -2.05945146084 --0.424764357508 -2.07670801878 --0.424763575196 -2.0939642787 --0.424764275551 -2.11122071743 --0.42476644367 -2.12847709656 --0.424770049751 -2.1457337141 --0.424775116146 -2.16299033165 --0.424781605601 -2.18024742603 --0.424789577722 -2.19750463962 --0.424798972905 -2.21476244926 --0.424809828401 -2.23202043772 --0.424822106958 -2.24927908182 --0.424828827381 -2.26849806309 --0.424822583795 -2.28771537542 --0.424810253083 -2.30497390032 --0.424799382686 -2.32223212719 --0.424789898098 -2.33948975802 --0.424781881273 -2.35674715042 --0.424775339663 -2.37400400639 --0.424770206213 -2.39126086235 --0.424766540527 -2.40851736069 --0.424764357508 -2.42577385902 --0.424763597548 -2.44303011894 --0.424764297903 -2.46028661728 --0.424766466021 -2.4775429368 --0.424770049751 -2.49479961396 --0.424775116146 -2.5120562315 --0.424781605601 -2.52931326628 --0.424789555371 -2.54657047987 --0.424798950553 -2.5638282299 --0.424809828401 -2.58108627796 --0.424822106958 -2.59834498167 --0.424828827381 -2.61756390333 --0.424822583795 -2.63678121567 --0.424810253083 -2.65403980017 --0.424799360335 -2.67129802704 --0.424789898098 -2.68855559826 --0.424781881273 -2.70581293106 --0.424775317311 -2.72306978703 --0.424770206213 -2.74032664299 --0.424766562879 -2.75758314133 --0.424764357508 -2.77483969927 --0.424763575196 -2.79209595919 --0.424764297903 -2.80935245752 --0.424766466021 -2.82660883665 --0.424770049751 -2.8438654542 --0.424775116146 -2.86112213135 --0.424781605601 -2.87837922573 --0.424789555371 -2.89563643932 --0.424798950553 -2.91289418935 --0.424809828401 -2.93015211821 --0.424822106958 -2.94741076231 --0.424828827381 -2.96662980318 --0.424822583795 -2.98584717512 --0.424810253083 -3.00310564041 --0.424799382686 -3.02036380768 --0.424789920449 -3.0376213789 --0.424781903624 -3.05487883091 --0.424775339663 -3.07213580608 --0.424770206213 -3.08939260244 --0.424766562879 -3.10664898157 --0.424764379859 -3.12390547991 --0.4247636199 -3.14116177161 --0.424764297903 --3.12476700544 --0.42476644367 --3.10751062632 --0.424770049751 --3.09025400877 --0.424775116146 --3.07299733162 --0.424781605601 --3.05574023723 --0.424789577722 --3.03848302364 --0.424798972905 --3.02122527361 --0.424809828401 --3.00396734476 --0.424822106958 --2.98670870066 --0.424828827381 --2.96748965979 --0.424822583795 --2.94827228785 --0.424810230732 --2.93101382256 --0.424799315631 --2.91375565529 --0.424789875746 --2.89649808407 --0.424781881273 --2.87924069166 --0.424775317311 --2.86198371649 --0.424770228564 --2.84472686052 --0.424766585231 --2.82747042179 --0.424764357508 --2.81021386385 --0.424763575196 --2.79295760393 --0.424764275551 --2.7757011652 --0.42476644367 --2.75844484568 --0.424770049751 --2.74118822813 --0.424775116146 --2.72393155098 --0.424781605601 --2.7066744566 --0.424789555371 --2.689417243 --0.424798950553 --2.67215949297 --0.424809828401 --2.65490150452 --0.424822106958 --2.63764280081 --0.424828827381 --2.61842381954 --0.424822583795 --2.59920650721 --0.424810230732 --2.58194798231 --0.424799315631 --2.56468981504 --0.424789875746 --2.54743224382 --0.424781881273 --2.53017479181 --0.424775317311 --2.51291787624 --0.424770206213 --2.49566102028 --0.424766562879 --2.47840452194 --0.424764379859 --2.46114802361 --0.424763597548 --2.44389176369 --0.424764297903 --2.42663532495 --0.424766466021 --2.40937900543 --0.424770049751 --2.39212226868 --0.424775116146 --2.37486565113 --0.424781605601 --2.35760861635 --0.424789555371 --2.34035140276 --0.424798950553 --2.32309365273 --0.424809828401 --2.30583560467 --0.424822106958 --2.28857690096 --0.424828827381 --2.2693579793 --0.424822583795 --2.25014066696 --0.424810230732 --2.23288214207 --0.424799337983 --2.21562391519 --0.424789898098 --2.19836628437 --0.424781881273 --2.18110895157 --0.424775317311 --2.1638520956 --0.424770228564 --2.14659523964 --0.424766585231 --2.1293387413 --0.424764357508 --2.11208218336 --0.424763575196 --2.09482592345 --0.424764297903 --2.07756948471 --0.424766466021 --2.06031316518 --0.424770049751 --2.04305648803 --0.424775116146 --2.02579975128 --0.424781605601 --2.0085426867 --0.424789577722 --1.99128553271 --0.424798972905 --1.97402778268 --0.424809828401 --1.95676979422 --0.424822106958 --1.93951112032 --0.424828827381 --1.92029213905 --0.424822583795 --1.90107479692 --0.424810253083 --1.88381630183 --0.424799360335 --1.86655810475 --0.424789875746 --1.84930047393 --0.424781881273 --1.83204308152 --0.424775339663 --1.81478619575 --0.424770206213 --1.79752936959 --0.424766562879 --1.78027290106 --0.424764357508 --1.76301634312 --0.424763575196 --1.7457600832 --0.424764275551 --1.72850361467 --0.42476644367 --1.71124726534 --0.424770049751 --1.69399061799 --0.424775116146 --1.67673394084 --0.424781605601 --1.65947687626 --0.424789555371 --1.64221969247 --0.424798950553 --1.62496191264 --0.424809828401 --1.60770392418 --0.424822106958 --1.59044528008 --0.424828849733 --1.57122629881 --0.424822606147 --1.55200895667 --0.424810230732 --1.53475043178 --0.424799360335 --1.5174922049 --0.424789898098 --1.50023463369 --0.424781881273 --1.48297724128 --0.424775339663 --1.46572032571 --0.424770228564 --1.44846349955 --0.424766562879 --1.43120703101 --0.424764357508 --1.41395050287 --0.424763597548 --1.39669421315 --0.424764253199 --1.37943777442 --0.424766421318 --1.36218142509 --0.424770049751 --1.34492474794 --0.424775116146 --1.3276681304 --0.424781605601 --1.31041106581 --0.424789555371 --1.29315385222 --0.424798950553 --1.27589610219 --0.424809828401 --1.25863808393 --0.424822106958 --1.24137941003 --0.424828827381 --1.22216042876 --0.424822583795 --1.20294308662 --0.424810230732 --1.18568459153 --0.424799360335 --1.16842639446 --0.424789920449 --1.15116879344 --0.424781881273 --1.13391140103 --0.424775317311 --1.11665451527 --0.424770206213 --1.0993976593 --0.424766562879 --1.08214119077 --0.424764357508 --1.06488466263 --0.424763575196 --1.0476283431 --0.424764275551 --1.03037187457 --0.42476644367 --1.01311555505 --0.424770049751 --0.9958589077 --0.424775116146 --0.97860224545 --0.424781605601 --0.961345165968 --0.424789577722 --0.944087982178 --0.424798972905 --0.926830202341 --0.424809828401 --0.909572213888 --0.424822106958 --0.892313569784 --0.424828827381 --0.873094588518 --0.424822583795 --0.85387724638 --0.424810253083 --0.836618736387 --0.424799382686 --0.819360539317 --0.424789898098 --0.802102938294 --0.424781881273 --0.784845545888 --0.424775339663 --0.767588660121 --0.424770206213 --0.750331833959 --0.424766540527 --0.733075350523 --0.424764357508 --0.715818807483 --0.424763597548 --0.698562517762 --0.424764297903 --0.681306034327 --0.424766466021 --0.664049714804 --0.424770049751 --0.646793067456 --0.424775116146 --0.629536405206 --0.424781605601 --0.612279325724 --0.424789555371 --0.595022127033 --0.424798950553 --0.577764391899 --0.424809828401 --0.560506388545 --0.424822106958 --0.543247714639 --0.424828827381 --0.524028733372 --0.424822583795 --0.504811391234 --0.424810253083 --0.487552881241 --0.424799360335 --0.470294676721 --0.424789898098 --0.4530370906 --0.424781881273 --0.435779698193 --0.424775317311 --0.418522797525 --0.424770206213 --0.401265949011 --0.424766562879 --0.384009480476 --0.424764357508 --0.366752944887 --0.424763575196 --0.349496670067 --0.424764297903 --0.332240216434 --0.424766466021 --0.314983867109 --0.424770049751 --0.29772721231 --0.424775116146 --0.280470564962 --0.424781605601 --0.26321349293 --0.424789555371 --0.245956286788 --0.424798950553 --0.228698529303 --0.424809828401 --0.211440529674 --0.424822106958 --0.194181852042 --0.424828827381 --0.174962874501 --0.407470025122 --0.15573849529 --0.407458133996 --0.138480007648 --0.407447651029 --0.121221827343 --0.407438546419 --0.103964271024 --0.407430820167 --0.0867069009691 --0.407424487173 --0.0694500254467 --0.407419562339 --0.0521932132542 --0.407416045666 --0.0349367726594 --0.407413944602 --0.017680269666 --0.407413244247 --0.000424014870077 --0.407413907349 -0.0168324224651 --0.407415948808 -0.0340887359343 --0.407419405878 -0.0513453576714 --0.407424293459 -0.0686019798741 --0.407430537045 -0.0858590286225 --0.407438218593 -0.1031162031 --0.407447271049 -0.120373928919 --0.407457731664 -0.137631896883 --0.407469570637 -0.154890544713 --0.407476045191 -0.174109779298 --0.407470025122 -0.193327359855 --0.407458133996 -0.210585843772 --0.407447628677 -0.227844022214 --0.407438524067 -0.245101582259 --0.407430820167 -0.262358948589 --0.407424487173 -0.279615819454 --0.407419584691 -0.296872638166 --0.407416068017 -0.314129084349 --0.40741392225 -0.331385582686 --0.407413199544 -0.348641827703 --0.407413884997 -0.365898266435 --0.40741597116 -0.383154593408 --0.40741942823 -0.400411225855 --0.407424293459 -0.417667835951 --0.407430559397 -0.434924870729 --0.407438240945 -0.452182047069 --0.407447271049 -0.469439774752 --0.407457731664 -0.486697755754 --0.407469570637 -0.503956422209 --0.407476045191 -0.523175641894 --0.407470025122 -0.542393192649 --0.407458133996 -0.55965167284 --0.407447628677 -0.576909869909 --0.407438524067 -0.594167441129 --0.407430820167 -0.611424788833 --0.407424487173 -0.628681659699 --0.407419562339 -0.645938500762 --0.407416045666 -0.663194939494 --0.407413944602 -0.68045142293 --0.407413221896 -0.697707682848 --0.407413884997 -0.71496412158 --0.407415948808 -0.732220426202 --0.407419405878 -0.749477058649 --0.407424293459 -0.766733691096 --0.407430559397 -0.783990740776 --0.407438240945 -0.801247909665 --0.407447271049 -0.818505614996 --0.407457731664 -0.835763588548 --0.407469570637 -0.853022247553 --0.407476045191 -0.87224149704 --0.407470025122 -0.891459092498 --0.407458133996 -0.908717557788 --0.407447628677 -0.925975710153 --0.407438524067 -0.943233281374 --0.407430797815 -0.960490658879 --0.407424464822 -0.977747529745 --0.407419584691 -0.995004355905 --0.407416068017 -1.01226079464 --0.40741392225 -1.02951729298 --0.407413199544 -1.04677355289 --0.407413884997 -1.06402999163 --0.407415948808 -1.08128628135 --0.407419405878 -1.09854289889 --0.407424293459 -1.11579954624 --0.407430537045 -1.13305661082 --0.407438218593 -1.15031376481 --0.407447271049 -1.16757148504 --0.407457731664 -1.1848294735 --0.407469570637 -1.2020881176 --0.407476045191 -1.22130733729 --0.407470025122 -1.24052491784 --0.407458133996 -1.25778341293 --0.407447628677 -1.2750415802 --0.407438501716 -1.29229915142 --0.407430797815 -1.30955651402 --0.407424487173 -1.32681336999 --0.407419562339 -1.34407019615 --0.407416045666 -1.36132666468 --0.40741392225 -1.37858316303 --0.407413177192 -1.39583939314 --0.407413817942 -1.41309583187 --0.407415904105 -1.43035215139 --0.407419405878 -1.44760879874 --0.407424293459 -1.46486541629 --0.407430559397 -1.48212245107 --0.407438218593 -1.49937963486 --0.407447248697 -1.51663735509 --0.407457731664 -1.53389531374 --0.407469570637 -1.55115395784 --0.407476067543 -1.57037320733 --0.407470047474 -1.58959078789 --0.407458133996 -1.60684925318 --0.407447651029 -1.62410742045 --0.407438524067 -1.64136496186 --0.407430820167 -1.65862235427 --0.407424509525 -1.67587924003 --0.407419584691 -1.6931360364 --0.407416068017 -1.71039247513 --0.407413944602 -1.72764900327 --0.407413199544 -1.74490526318 --0.407413817942 -1.76216167211 --0.407415926456 -1.77941796184 --0.40741942823 -1.79667457938 --0.407424293459 -1.81393122673 --0.407430559397 -1.83118829131 --0.407438240945 -1.8484454453 --0.407447293401 -1.86570316553 --0.407457754016 -1.88296115398 --0.407469570637 -1.90021979809 --0.407476045191 -1.91943901777 --0.407470025122 -1.93865659833 --0.407458133996 -1.95591509342 --0.407447651029 -1.97317326069 --0.407438546419 -1.99043083191 --0.407430797815 -2.00768825412 --0.407424464822 -2.02494513989 --0.407419562339 -2.04220187664 --0.407416068017 -2.05945825577 --0.407413944602 -2.07671481371 --0.407413199544 -2.09397107363 --0.407413884997 -2.11122751236 --0.407415948808 -2.12848383188 --0.407419405878 -2.14574038982 --0.407424293459 -2.16299706697 --0.407430559397 -2.18025416136 --0.407438240945 -2.19751131534 --0.407447271049 -2.21476906538 --0.407457731664 -2.23202699423 --0.407469570637 -2.24928563833 --0.407476045191 -2.26850491762 --0.407470025122 -2.28772246837 --0.407458133996 -2.30498093367 --0.407447651029 -2.32223916054 --0.407438524067 -2.33949673176 --0.407430820167 -2.35675406456 --0.407424509525 -2.37401092052 --0.407419562339 -2.39126777649 --0.407416023314 -2.40852427482 --0.40741392225 -2.42578071356 --0.407413199544 -2.44303691387 --0.407413862646 -2.4602933526 --0.407415948808 -2.47754967213 --0.407419405878 -2.49480634928 --0.407424293459 -2.51206296682 --0.407430559397 -2.529319942 --0.407438240945 -2.54657709599 --0.407447271049 -2.56383484602 --0.407457731664 -2.58109283447 --0.407469570637 -2.59835147858 --0.407476045191 -2.61757069826 --0.407470025122 -2.63678830862 --0.407458133996 -2.65404683351 --0.407447651029 -2.67130500078 --0.407438546419 -2.6885625124 --0.407430820167 -2.7058198452 --0.407424487173 -2.72307670117 --0.407419562339 -2.74033355713 --0.407416045666 -2.75759005547 --0.40741392225 -2.7748465538 --0.407413199544 -2.79210281372 --0.407413884997 -2.80935925245 --0.40741597116 -2.82661557198 --0.40741942823 -2.84387218952 --0.407424293459 -2.86112880707 --0.407430559397 -2.87838590145 --0.407438240945 -2.89564305544 --0.407447271049 -2.91290074587 --0.407457731664 -2.93015873432 --0.407469570637 -2.94741737843 --0.407476045191 -2.96663659811 --0.407470025122 -2.98585414886 --0.407458133996 -3.00311261415 --0.407447651029 -3.02037078142 --0.407438546419 -3.03762835264 --0.407430820167 -3.05488580465 --0.407424487173 -3.07214272022 --0.407419562339 -3.08939945698 --0.407416045666 -3.10665583611 --0.407413944602 -3.12391233444 --0.407413244247 -3.14116862614 --0.407413907349 --3.12476021051 --0.407415948808 --3.10750389099 --0.407419405878 --3.09024727344 --0.407424293459 --3.0729906559 --0.407430537045 --3.05573362112 --0.407438218593 --3.03847640753 --0.407447271049 --3.02121865749 --0.407457731664 --3.00396072864 --0.407469570637 --2.98670208454 --0.407476045191 --2.96748286486 --0.407470025122 --2.9482653141 --0.407458133996 --2.93100684881 --0.407447628677 --2.91374868154 --0.407438524067 --2.89649111032 --0.407430820167 --2.87923371792 --0.407424487173 --2.86197680235 --0.407419584691 --2.84472000599 --0.407416068017 --2.82746362686 --0.40741392225 --2.81020706892 --0.407413199544 --2.792950809 --0.407413884997 --2.77569442988 --0.40741597116 --2.75843811035 --0.40741942823 --2.74118149281 --0.407424293459 --2.72392487526 --0.407430559397 --2.70666778087 --0.407438240945 --2.68941056728 --0.407447271049 --2.67215287685 --0.407457731664 --2.654894948 --0.407469570637 --2.6376362443 --0.407476045191 --2.61841696501 --0.407470025122 --2.59919941425 --0.407458133996 --2.58194094896 --0.407447628677 --2.56468278169 --0.407438524067 --2.54742521047 --0.407430820167 --2.53016781807 --0.407424487173 --2.5129109621 --0.407419562339 --2.49565410614 --0.407416045666 --2.47839766741 --0.407413944602 --2.46114122868 --0.407413221896 --2.44388496876 --0.407413884997 --2.42662853002 --0.407415948808 --2.4093722105 --0.407419405878 --2.39211553335 --0.407424293459 --2.3748589158 --0.407430559397 --2.35760194063 --0.407438240945 --2.34034478665 --0.407447271049 --2.32308703661 --0.407457731664 --2.30582904816 --0.407469570637 --2.28857040405 --0.407476045191 --2.26935118437 --0.407470025122 --2.25013357401 --0.407458133996 --2.23287504912 --0.407447628677 --2.21561688185 --0.407438524067 --2.19835937023 --0.407430797815 --2.18110203743 --0.407424464822 --2.16384518146 --0.407419584691 --2.1465883255 --0.407416068017 --2.12933182717 --0.40741392225 --2.11207532883 --0.407413199544 --2.09481906891 --0.407413884997 --2.07756263018 --0.407415948808 --2.06030637026 --0.407419405878 --2.04304975271 --0.407424293459 --2.02579307556 --0.407430537045 --2.00853604078 --0.407438218593 --1.99127888679 --0.407447271049 --1.97402116656 --0.407457731664 --1.95676320791 --0.407469570637 --1.93950456381 --0.407476045191 --1.92028531432 --0.407470025122 --1.90106770396 --0.407458133996 --1.88380923867 --0.407447628677 --1.8665510714 --0.407438501716 --1.84929350018 --0.407430797815 --1.83203613758 --0.407424487173 --1.81477928161 --0.407419562339 --1.79752248526 --0.407416045666 --1.78026604652 --0.40741392225 --1.76300951839 --0.407413177192 --1.74575325847 --0.407413817942 --1.72849681973 --0.407415904105 --1.71124050021 --0.407419405878 --1.69398391247 --0.407424293459 --1.67672729492 --0.407430559397 --1.65947023034 --0.407438218593 --1.64221307635 --0.407447248697 --1.62495532632 --0.407457731664 --1.60769733786 --0.407469570637 --1.59043869376 --0.407476067543 --1.57121947408 --0.407470047474 --1.55200192332 --0.407458133996 --1.53474342823 --0.407447651029 --1.51748523116 --0.407438524067 --1.50022765994 --0.407430820167 --1.48297026754 --0.407424509525 --1.46571338177 --0.407419584691 --1.44845658541 --0.407416068017 --1.43120014667 --0.407413944602 --1.41394367814 --0.407413199544 --1.39668744803 --0.407413817942 --1.37943100929 --0.407415926456 --1.36217468977 --0.40741942823 --1.34491804242 --0.407424293459 --1.32766142488 --0.407430559397 --1.31040439009 --0.407438240945 --1.29314720631 --0.407447293401 --1.27588948608 --0.407457754016 --1.25863152742 --0.407469570637 --1.24137288332 --0.407476045191 --1.22215363383 --0.407470025122 --1.20293602347 --0.407458133996 --1.18567752838 --0.407447651029 --1.16841936111 --0.407438546419 --1.15116181969 --0.407430797815 --1.13390445709 --0.407424464822 --1.11664757132 --0.407419562339 --1.09939077496 --0.407416068017 --1.08213436604 --0.407413944602 --1.0648778379 --0.407413199544 --1.04762154818 --0.407413884997 --1.03036510944 --0.407415948808 --1.01310878992 --0.407419405878 --0.995852187277 --0.407424293459 --0.978595554829 --0.407430559397 --0.961338490248 --0.407438240945 --0.944081351161 --0.407447271049 --0.926823630929 --0.407457731664 --0.909565657377 --0.407469570637 --0.892307013273 --0.407476045191 --0.873087793588 --0.407470025122 --0.853870198131 --0.407458133996 --0.836611703038 --0.407447651029 --0.819353535772 --0.407438524067 --0.802095964551 --0.407430820167 --0.784838601947 --0.407424509525 --0.767581745982 --0.407419562339 --0.750324949622 --0.407416023314 --0.733068495989 --0.40741392225 --0.71581196785 --0.407413199544 --0.698555707932 --0.407413862646 --0.681299269199 --0.407415948808 --0.664042979479 --0.407419405878 --0.646786361933 --0.407424293459 --0.629529729486 --0.407430559397 --0.612272664905 --0.407438240945 --0.595015496016 --0.407447271049 --0.577757790685 --0.407457731664 --0.560499817133 --0.407469570637 --0.543241173029 --0.407476045191 --0.524021923542 --0.407470025122 --0.504804328084 --0.407458133996 --0.487545855343 --0.407447651029 --0.470287680626 --0.407438546419 --0.453030116856 --0.407430820167 --0.435772746801 --0.407424487173 --0.418515883386 --0.407419562339 --0.401259064674 --0.407416045666 --0.384002618492 --0.40741392225 --0.366746112704 --0.407413199544 --0.349489867687 --0.407413884997 --0.332233443856 --0.40741597116 --0.314977116883 --0.40741942823 --0.297720499337 --0.407424293459 --0.28046388179 --0.407430559397 --0.26320682466 --0.407438240945 --0.245949648321 --0.407447271049 --0.228691920638 --0.407457731664 --0.211433947086 --0.407469570637 --0.194175299257 --0.407476045191 --0.174956072121 --0.390100173652 --0.155731402337 --0.390088751912 --0.138472940773 --0.390078656375 --0.121214784682 --0.390069887042 --0.103957260027 --0.390062443912 --0.0866999141872 --0.390056371689 --0.0694430666044 --0.390051662922 --0.0521862860769 --0.390048250556 --0.0349298720248 --0.390046201646 --0.0176733972039 --0.390045538544 --0.000417170813305 --0.390046194196 -0.0168392383493 --0.39004817605 -0.0340955238789 --0.39005150646 -0.0513521190733 --0.390056200326 -0.068608712405 --0.390062205494 -0.0858657322824 --0.39006960392 -0.103122880682 --0.390078321099 -0.120380578563 --0.390088379383 -0.137638520449 --0.390099734068 -0.154897142201 --0.390105940402 -0.174116626382 --0.390100151301 -0.193334460259 --0.390088707209 -0.210592914372 --0.390078634024 -0.227851059287 --0.390069887042 -0.245108585805 --0.390062466264 -0.262365929783 --0.390056371689 -0.279622770846 --0.39005164057 -0.296879559755 --0.390048250556 -0.314135983586 --0.390046201646 -0.331392452121 --0.390045538544 -0.348648682237 --0.390046194196 -0.365905098617 --0.390048198402 -0.383161388338 --0.390051528812 -0.400417983532 --0.390056200326 -0.417674563825 --0.390062227845 -0.434931568801 --0.390069626272 -0.452188715339 --0.390078298747 -0.469446413219 --0.390088334679 -0.486704356968 --0.390099734068 -0.503962993621 --0.390105962754 -0.523182466626 --0.390100173652 -0.542400285602 --0.390088751912 -0.559658750892 --0.390078656375 -0.576916918158 --0.390069887042 -0.594174459576 --0.390062481165 -0.611431792378 --0.39005638659 -0.628688633442 --0.39005164057 -0.645945429802 --0.390048250556 -0.663201838732 --0.390046201646 -0.680458292365 --0.390045538544 -0.697714537382 --0.390046194196 -0.714970946312 --0.39004817605 -0.732227221131 --0.39005150646 -0.749483808875 --0.390056200326 -0.76674041152 --0.390062227845 -0.783997446299 --0.390069626272 -0.801254570484 --0.390078298747 -0.818512260914 --0.390088357031 -0.835770219565 --0.39009975642 -0.853028833866 --0.390105962754 -0.872248306871 --0.390100173652 -0.891466140747 --0.390088751912 -0.908724606037 --0.390078656375 -0.925982758403 --0.390069887042 -0.94324028492 --0.390062443912 -0.960497632623 --0.390056349337 -0.977754473686 --0.39005164057 -0.995011284947 --0.390048250556 -1.01226770878 --0.390046201646 -1.02952417731 --0.390045538544 -1.04678040743 --0.390046194196 -1.06403678656 --0.39004817605 -1.08129304647 --0.39005150646 -1.09854966402 --0.390056200326 -1.11580628157 --0.390062205494 -1.13306328654 --0.39006960392 -1.15032041073 --0.390078298747 -1.16757813096 --0.390088357031 -1.18483608961 --0.39009975642 -1.20209467411 --0.390105962754 -1.22131416201 --0.390100173652 -1.24053201079 --0.390088751912 -1.25779047609 --0.390078656375 -1.27504861355 --0.390069887042 -1.29230615497 --0.390062443912 -1.30956351757 --0.390056349337 -1.32682034373 --0.39005164057 -1.34407711029 --0.390048250556 -1.36133354902 --0.390046201646 -1.37859001756 --0.390045516193 -1.39584621787 --0.390046149492 -1.4131026566 --0.390048131347 -1.43035894632 --0.390051461756 -1.44761553407 --0.390056177974 -1.46487212181 --0.390062227845 -1.48212915659 --0.39006960392 -1.49938631058 --0.390078298747 -1.516644001 --0.390088357031 -1.53390192985 --0.390099734068 -1.55116054416 --0.390105962754 -1.57038006187 --0.390100151301 -1.58959788084 --0.390088729561 -1.60685631633 --0.390078656375 -1.62411445379 --0.390069887042 -1.64137196541 --0.390062466264 -1.65862932801 --0.39005639404 -1.67588618398 --0.390051662922 -1.69314298034 --0.390048272908 -1.71039938927 --0.390046223998 -1.7276558578 --0.390045516193 -1.74491208792 --0.390046149492 -1.76216846704 --0.39004817605 -1.77942475676 --0.390051528812 -1.79668137431 --0.390056200326 -1.81393796206 --0.390062227845 -1.83119496703 --0.390069626272 -1.84845209121 --0.390078321099 -1.86570981145 --0.390088379383 -1.8829677999 --0.39009975642 -1.90022641421 --0.390105962754 -1.91944587231 --0.390100173652 -1.93866372109 --0.390088729561 -1.95592218638 --0.390078634024 -1.97318032384 --0.390069887042 -1.99043786526 --0.390062443912 -2.00769522786 --0.390056349337 -2.02495205402 --0.39005164057 -2.04220879078 --0.390048272908 -2.0594651699 --0.390046223998 -2.07672166824 --0.390045538544 -2.09397792816 --0.390046194196 -2.11123436689 --0.39004817605 -2.12849062681 --0.39005150646 -2.14574718475 --0.390056200326 -2.1630038619 --0.390062227845 -2.18026089668 --0.390069626272 -2.19751799106 --0.390078298747 -2.21477568149 --0.390088357031 -2.23203361034 --0.39009975642 -2.24929225445 --0.390105962754 -2.26851177216 --0.390100173652 -2.28772962093 --0.390088751912 -2.30498802662 --0.390078656375 -2.32224613428 --0.390069887042 -2.3395037055 --0.390062466264 -2.3567610383 --0.39005639404 -2.37401789427 --0.390051662922 -2.39127469063 --0.390048250556 -2.40853112936 --0.390046201646 -2.4257875681 --0.390045516193 -2.4430437088 --0.390046171844 -2.46030014753 --0.39004817605 -2.47755646705 --0.39005150646 -2.4948130846 --0.390056200326 -2.51206970215 --0.390062227845 -2.52932667732 --0.390069626272 -2.5465837717 --0.390078298747 -2.56384146213 --0.390088357031 -2.58109939098 --0.39009975642 -2.59835803509 --0.390105962754 -2.61757755279 --0.390100173652 -2.63679540157 --0.390088751912 -2.65405386686 --0.390078656375 -2.67131197453 --0.390069887042 -2.68856948614 --0.390062466264 -2.70582681894 --0.39005639404 -2.72308367491 --0.390051662922 -2.74034053087 --0.390048250556 -2.75759696961 --0.390046201646 -2.77485340834 --0.390045538544 -2.79210966826 --0.390046194196 -2.80936610699 --0.390048198402 -2.82662236691 --0.390051528812 -2.84387892484 --0.390056200326 -2.86113548278 --0.390062227845 -2.87839257717 --0.390069626272 -2.89564973116 --0.390078298747 -2.91290736198 --0.390088357031 -2.93016535044 --0.39009975642 -2.94742399454 --0.390105962754 -2.96664339304 --0.390100173652 -2.98586118221 --0.390088751912 -3.00311970711 --0.390078656375 -3.02037787438 --0.390069887042 -3.03763538599 --0.390062443912 -3.0548927784 --0.390056371689 -3.07214963436 --0.390051662922 -3.08940637111 --0.390048250556 -3.10666275024 --0.390046201646 -3.12391924858 --0.390045538544 -3.14117554028 --0.390046194196 --3.12475335598 --0.39004817605 --3.10749709606 --0.39005150646 --3.09024053812 --0.390056200326 --3.07298398018 --0.390062205494 --3.0557269454 --0.39006960392 --3.03846973181 --0.390078321099 --3.02121204138 --0.390088379383 --3.00395411253 --0.390099734068 --2.98669546843 --0.390105940402 --2.96747606993 --0.390100151301 --2.94825828075 --0.390088707209 --2.93099975586 --0.390078634024 --2.91374158859 --0.390069887042 --2.89648407698 --0.390062466264 --2.87922668457 --0.390056371689 --2.86196982861 --0.39005164057 --2.84471309185 --0.390048250556 --2.82745671272 --0.390046201646 --2.81020021439 --0.390045538544 --2.79294395447 --0.390046194196 --2.77568757534 --0.390048198402 --2.75843131542 --0.390051528812 --2.74117469788 --0.390056200326 --2.72391808033 --0.390062227845 --2.70666104555 --0.390069626272 --2.68940389157 --0.390078298747 --2.67214620113 --0.390088334679 --2.65488827229 --0.390099734068 --2.63762968779 --0.390105962754 --2.61841017008 --0.390100173652 --2.5991923213 --0.390088751912 --2.58193391561 --0.390078656375 --2.56467574835 --0.390069887042 --2.54741817713 --0.390062481165 --2.53016084433 --0.39005638659 --2.51290404797 --0.39005164057 --2.4956472516 --0.390048250556 --2.47839081287 --0.390046201646 --2.46113437414 --0.390045538544 --2.44387817383 --0.390046194196 --2.4266217351 --0.39004817605 --2.40936541557 --0.39005150646 --2.39210879803 --0.390056200326 --2.37485218048 --0.390062227845 --2.35759520531 --0.390069626272 --2.34033811092 --0.390078298747 --2.32308042049 --0.390088357031 --2.30582249164 --0.39009975642 --2.28856384754 --0.390105962754 --2.26934432983 --0.390100173652 --2.25012654066 --0.390088751912 --2.23286807537 --0.390078656375 --2.2156099081 --0.390069887042 --2.19835239649 --0.390062443912 --2.18109506369 --0.390056349337 --2.16383820772 --0.39005164057 --2.14658135176 --0.390048250556 --2.12932491303 --0.390046201646 --2.11206847429 --0.390045538544 --2.09481221437 --0.390046194196 --2.07755577564 --0.39004817605 --2.06029951573 --0.39005150646 --2.04304295778 --0.390056200326 --2.02578639984 --0.390062205494 --2.00852936506 --0.39006960392 --1.99127221108 --0.390078298747 --1.97401452064 --0.390088357031 --1.9567565918 --0.39009975642 --1.93949797749 --0.390105962754 --1.92027845979 --0.390100173652 --1.90106061101 --0.390088751912 --1.88380217553 --0.390078656375 --1.86654403806 --0.390069887042 --1.84928652644 --0.390062443912 --1.83202919364 --0.390056349337 --1.81477233768 --0.39005164057 --1.79751554132 --0.390048250556 --1.78025913238 --0.390046201646 --1.76300266385 --0.390045516193 --1.74574640393 --0.390046149492 --1.7284899652 --0.390048131347 --1.71123367548 --0.390051461756 --1.69397711754 --0.390056177974 --1.6767205596 --0.390062227845 --1.65946355462 --0.39006960392 --1.64220640063 --0.390078298747 --1.6249486804 --0.390088357031 --1.60769072175 --0.390099734068 --1.59043207765 --0.390105962754 --1.57121261954 --0.390100151301 --1.55199480057 --0.390088729561 --1.53473633528 --0.390078656375 --1.51747819781 --0.390069887042 --1.5002206564 --0.390062466264 --1.48296329379 --0.39005639404 --1.46570643783 --0.390051662922 --1.44844967127 --0.390048272908 --1.43119326234 --0.390046223998 --1.41393679381 --0.390045516193 --1.39668059349 --0.390046149492 --1.37942418456 --0.39004817605 --1.36216789484 --0.390051528812 --1.3449113071 --0.390056200326 --1.32765468955 --0.390062227845 --1.31039765477 --0.390069626272 --1.29314053059 --0.390078321099 --1.27588284015 --0.390088379383 --1.25862491131 --0.39009975642 --1.241366297 --0.390105962754 --1.2221467793 --0.390100173652 --1.20292893052 --0.390088729561 --1.18567049504 --0.390078634024 --1.16841232777 --0.390069887042 --1.15115481615 --0.390062443912 --1.13389748335 --0.390056349337 --1.11664059758 --0.39005164057 --1.09938383102 --0.390048272908 --1.0821274519 --0.390046223998 --1.06487098336 --0.390045538544 --1.04761472344 --0.390046194196 --1.03035828471 --0.39004817605 --1.01310199499 --0.39005150646 --0.995845437049 --0.390056200326 --0.978588834405 --0.390062227845 --0.961331799626 --0.390069626272 --0.944074675441 --0.390078298747 --0.926816985011 --0.390088357031 --0.909559026361 --0.39009975642 --0.892300412059 --0.390105962754 --0.873080953956 --0.390100173652 --0.853863090277 --0.390088751912 --0.836604639888 --0.390078656375 --0.819346517325 --0.390069887042 --0.802088961005 --0.390062466264 --0.784831613302 --0.39005639404 --0.767574772239 --0.390051662922 --0.75031799078 --0.390048250556 --0.73306158185 --0.390046201646 --0.715805098414 --0.390045516193 --0.698548868298 --0.390046171844 --0.681292459369 --0.39004817605 --0.664036184549 --0.39005150646 --0.646779596806 --0.390056200326 --0.629522994161 --0.390062227845 --0.612265944481 --0.390069626272 --0.595008805394 --0.390078298747 --0.577751129866 --0.390088357031 --0.560493186116 --0.39009975642 --0.543234571814 --0.390105962754 --0.524015083909 --0.390100173652 --0.504797250032 --0.390088751912 --0.487538792193 --0.390078656375 --0.470280632376 --0.390069887042 --0.453023098409 --0.390062466264 --0.435765758157 --0.39005639404 --0.418508924544 --0.390051662922 --0.401252135634 --0.390048250556 --0.383995711804 --0.390046201646 --0.366739243269 --0.390045538544 --0.349483020604 --0.390046194196 --0.332226611674 --0.390048198402 --0.314970329404 --0.390051528812 --0.29771373421 --0.390056200326 --0.280457139015 --0.390062227845 --0.263200119138 --0.390069626272 --0.245942972601 --0.390078298747 --0.22868527472 --0.390088357031 --0.211427327245 --0.39009975642 --0.194168709218 --0.390105962754 --0.174949228763 --0.372712209821 --0.155724260956 --0.372701242566 --0.138465832919 --0.372691556812 --0.121207708493 --0.372683137656 --0.103950209915 --0.372675999999 --0.0866928901523 --0.372670181095 --0.0694360677153 --0.372665636241 --0.0521793151274 --0.372662365436 --0.034922930412 --0.372660413385 --0.0176664849278 --0.372659765184 --0.000410287408155 --0.372660398483 -0.0168460933492 --0.372662328184 -0.0341023514048 --0.372665531933 -0.0513589186594 --0.372670032084 -0.0686154849827 --0.372675806284 -0.0858724787831 --0.372682884336 -0.103129595518 --0.372691251338 -0.120387267321 --0.372700899839 -0.137645192444 --0.372711762786 -0.154903780669 --0.372717730701 -0.174123510718 --0.372712187469 -0.193341597915 --0.372701197863 -0.210600018501 --0.37269153446 -0.227858137339 --0.372683137656 -0.245115637779 --0.372675999999 -0.26237295568 --0.372670158744 -0.279629774392 --0.37266561389 -0.296886533499 --0.372662365436 -0.314142920077 --0.372660413385 -0.331399358809 --0.372659765184 -0.348655566573 --0.372660398483 -0.365911960602 --0.372662328184 -0.383168213069 --0.372665531933 -0.400424771011 --0.372670009732 -0.417681328952 --0.372675783932 -0.434938311577 --0.372682884336 -0.452195443213 --0.372691206634 -0.469453126192 --0.372700832784 -0.486711025238 --0.372711762786 -0.503969602287 --0.372717738152 -0.523189336061 --0.372712172568 -0.542407438159 --0.372701220214 -0.559665888548 --0.372691556812 -0.57692399621 --0.372683137656 -0.594181492925 --0.372676014901 -0.611438825726 --0.372670173645 -0.628695636987 --0.37266561389 -0.645952373743 --0.372662365436 -0.663208752871 --0.372660413385 -0.680465221405 --0.372659765184 -0.69772143662 --0.372660398483 -0.714977800846 --0.372662328184 -0.732234045863 --0.372665531933 -0.749490603804 --0.372670009732 -0.766747191548 --0.372675783932 -0.784004196524 --0.372682884336 -0.801261290908 --0.372691206634 -0.818518966437 --0.372700855136 -0.835776895284 --0.372711785138 -0.853035464883 --0.372717738152 -0.872255176306 --0.37271219492 -0.891473263502 --0.372701242566 -0.908731713891 --0.37269153446 -0.925989851356 --0.372683115304 -0.94324734807 --0.372675999999 -0.960504665971 --0.372670158744 -0.977761477232 --0.372665636241 -0.995018243791 --0.372662387788 -1.01227462292 --0.372660413385 -1.02953106165 --0.372659765184 -1.04678726196 --0.372660398483 -1.06404364109 --0.372662328184 -1.08129990101 --0.372665531933 -1.09855645895 --0.372670009732 -1.11581304669 --0.372675783932 -1.13307005167 --0.372682884336 -1.15032714605 --0.372691206634 -1.16758480668 --0.372700855136 -1.18484273553 --0.372711785138 -1.20210132003 --0.372717738152 -1.22132104635 --0.37271219492 -1.24053913355 --0.372701242566 -1.25779759884 --0.372691556812 -1.2750557065 --0.372683137656 -1.29231318831 --0.372675999999 -1.30957052112 --0.372670158744 -1.32682731748 --0.372665636241 -1.34408405423 --0.372662387788 -1.36134046316 --0.372660413385 -1.37859690189 --0.372659765184 -1.39585310221 --0.372660398483 -1.41310951114 --0.372662305832 -1.43036574125 --0.372665487229 -1.44762229919 --0.37266998738 -1.46487885713 --0.372675783932 -1.48213586211 --0.372682884336 -1.4993930161 --0.372691228986 -1.51665070653 --0.372700855136 -1.53390860557 --0.372711762786 -1.55116716027 --0.372717738152 -1.5703869164 --0.372712172568 -1.5896050334 --0.372701220214 -1.60686343909 --0.37269153446 -1.62412151694 --0.372683115304 -1.64137902856 --0.372675999999 -1.65863636136 --0.372670181095 -1.67589318752 --0.372665658593 -1.69314995408 --0.372662387788 -1.71040633321 --0.372660413385 -1.72766277194 --0.372659765184 -1.74491894245 --0.372660398483 -1.76217532158 --0.372662328184 -1.7794316113 --0.372665531933 -1.79668819905 --0.372670032084 -1.81394475699 --0.372675806284 -1.83120170236 --0.372682884336 -1.84845879674 --0.372691206634 -1.86571648717 --0.372700855136 -1.88297444582 --0.372711785138 -1.90023306012 --0.372717753053 -1.91945278644 --0.372712209821 -1.93867087364 --0.372701220214 -1.95592930913 --0.37269153446 -1.97318741679 --0.372683137656 -1.9904448986 --0.372675999999 -2.0077022016 --0.372670158744 -2.02495902777 --0.372665636241 -2.04221576452 --0.372662387788 -2.05947214365 --0.372660413385 -2.07672864199 --0.372659765184 -2.0939848423 --0.372660398483 -2.11124122143 --0.372662328184 -2.12849748135 --0.372665531933 -2.14575403929 --0.372670009732 -2.16301059723 --0.372675783932 -2.1802675724 --0.372682884336 -2.19752466679 --0.372691206634 -2.21478235722 --0.372700855136 -2.23204028606 --0.372711785138 -2.24929887057 --0.372717753053 -2.26851862669 --0.372712209821 -2.28773671388 --0.372701242566 -2.30499511957 --0.372691556812 -2.32225322723 --0.372683137656 -2.33951073885 --0.372675999999 -2.35676801205 --0.372670181095 -2.37402486801 --0.372665658593 -2.39128160477 --0.372662387788 -2.4085379839 --0.372660413385 -2.42579448223 --0.372659765184 -2.44305062294 --0.372660398483 -2.46030700206 --0.372662328184 -2.47756326198 --0.372665531933 -2.49481981993 --0.372670032084 -2.51207643747 --0.372675806284 -2.52933341265 --0.372682884336 -2.54659050703 --0.372691206634 -2.56384819746 --0.372700855136 -2.58110612631 --0.372711785138 -2.59836471081 --0.372717738152 -2.61758440733 --0.37271219492 -2.63680255413 --0.372701242566 -2.65406095981 --0.372691556812 -2.67131900787 --0.372683137656 -2.6885765791 --0.372675999999 -2.7058339119 --0.372670181095 -2.72309070825 --0.372665636241 -2.74034750461 --0.372662365436 -2.75760388374 --0.372660413385 -2.77486026287 --0.372659765184 -2.79211652279 --0.372660398483 -2.80937296152 --0.372662328184 -2.82662916184 --0.372665531933 -2.84388571978 --0.372670009732 -2.86114227772 --0.372675783932 -2.87839931249 --0.372682884336 -2.89565646648 --0.372691206634 -2.9129140377 --0.372700855136 -2.93017196655 --0.37271180749 -2.94743061066 --0.372717775405 -2.96665030718 --0.372712209821 -2.98586839437 --0.372701242566 -3.00312685966 --0.372691556812 -3.02038496733 --0.372683137656 -3.03764241934 --0.372675999999 -3.05489975214 --0.372670181095 -3.0721566081 --0.372665636241 -3.08941334486 --0.372662365436 -3.10666966438 --0.372660413385 -3.12392616272 --0.372659765184 -3.14118245442 --0.372660398483 --3.12474650145 --0.372662328184 --3.10749030113 --0.372665531933 --3.09023374319 --0.372670032084 --3.07297718525 --0.372675806284 --3.05572015047 --0.372682884336 --3.03846299648 --0.372691251338 --3.02120542526 --0.372700899839 --3.00394749641 --0.372711762786 --2.98668885231 --0.372717730701 --2.96746915579 --0.372712187469 --2.94825106859 --0.372701197863 --2.9309926033 --0.37269153446 --2.91373449564 --0.372683137656 --2.89647704363 --0.372675999999 --2.87921971083 --0.372670158744 --2.86196285486 --0.37266561389 --2.8447061181 --0.372662365436 --2.82744973898 --0.372660413385 --2.81019324064 --0.372659765184 --2.79293704033 --0.372660398483 --2.7756806612 --0.372662328184 --2.75842440128 --0.372665531933 --2.74116784334 --0.372670009732 --2.7239112854 --0.372675783932 --2.70665431023 --0.372682884336 --2.68939721584 --0.372691206634 --2.67213952541 --0.372700832784 --2.65488159656 --0.372711762786 --2.63762307167 --0.372717738152 --2.61840331554 --0.372712172568 --2.59918522835 --0.372701220214 --2.58192682266 --0.372691556812 --2.5646686554 --0.372683137656 --2.54741114378 --0.372676014901 --2.53015381098 --0.372670173645 --2.51289701462 --0.37266561389 --2.49564033746 --0.372662365436 --2.47838389873 --0.372660413385 --2.4611274004 --0.372659765184 --2.44387125969 --0.372660398483 --2.42661488056 --0.372662328184 --2.40935862064 --0.372665531933 --2.3921020627 --0.372670009732 --2.37484544516 --0.372675783932 --2.35758846998 --0.372682884336 --2.3403313756 --0.372691206634 --2.32307368517 --0.372700855136 --2.30581581592 --0.372711785138 --2.28855723143 --0.372717738152 --2.2693374753 --0.37271219492 --2.2501193881 --0.372701242566 --2.23286098242 --0.37269153446 --2.21560287476 --0.372683115304 --2.19834530354 --0.372675999999 --2.18108797074 --0.372670158744 --2.16383117437 --0.372665636241 --2.14657437801 --0.372662387788 --2.12931799889 --0.372660413385 --2.11206161976 --0.372659765184 --2.09480535984 --0.372660398483 --2.07754892111 --0.372662328184 --2.0602927208 --0.372665531933 --2.04303616285 --0.372670009732 --2.02577960491 --0.372675783932 --2.00852262974 --0.372682884336 --1.99126550555 --0.372691206634 --1.97400781512 --0.372700855136 --1.95674991608 --0.372711785138 --1.93949133158 --0.372717738152 --1.92027157545 --0.37271219492 --1.90105348826 --0.372701242566 --1.88379508257 --0.372691556812 --1.86653697491 --0.372683137656 --1.84927946329 --0.372675999999 --1.83202216029 --0.372670158744 --1.81476533413 --0.372665636241 --1.79750856757 --0.372662387788 --1.78025218844 --0.372660413385 --1.76299574971 --0.372659765184 --1.7457395494 --0.372660398483 --1.72848314047 --0.372662305832 --1.71122688055 --0.372665487229 --1.69397032261 --0.37266998738 --1.67671376467 --0.372675783932 --1.6594567895 --0.372682884336 --1.64219966531 --0.372691228986 --1.62494200468 --0.372700855136 --1.60768407583 --0.372711762786 --1.59042546153 --0.372717738152 --1.57120573521 --0.372712172568 --1.55198764801 --0.372701220214 --1.53472921253 --0.37269153446 --1.51747110486 --0.372683115304 --1.50021362305 --0.372675999999 --1.48295629024 --0.372670181095 --1.46569943428 --0.372665658593 --1.44844269753 --0.372662387788 --1.4311863482 --0.372660413385 --1.41392987966 --0.372659765184 --1.39667367935 --0.372660398483 --1.37941733003 --0.372662328184 --1.36216107011 --0.372665531933 --1.34490451217 --0.372670032084 --1.32764792442 --0.372675806284 --1.31039091945 --0.372682884336 --1.29313382506 --0.372691206634 --1.27587613464 --0.372700855136 --1.25861820579 --0.372711785138 --1.24135962129 --0.372717753053 --1.22213989496 --0.372712209821 --1.20292180777 --0.372701220214 --1.18566340208 --0.37269153446 --1.16840526462 --0.372683137656 --1.151147753 --0.372675999999 --1.13389045 --0.372670158744 --1.11663362384 --0.372665636241 --1.09937688709 --0.372662387788 --1.08212050796 --0.372660413385 --1.06486406922 --0.372659765184 --1.0476078391 --0.372660398483 --1.03035143018 --0.372662328184 --1.01309520006 --0.372665531933 --0.995838627219 --0.372670009732 --0.978582039476 --0.372675783932 --0.961325064301 --0.372682884336 --0.944067955017 --0.372691206634 --0.926810279489 --0.372700855136 --0.90955235064 --0.372711785138 --0.892293766141 --0.372717753053 --0.873074054718 --0.372712209821 --0.853855952621 --0.372701242566 --0.836597532034 --0.372691556812 --0.819339439273 --0.372683137656 --0.802081927657 --0.372675999999 --0.784824609757 --0.372670181095 --0.767567768693 --0.372665658593 --0.750311017037 --0.372662387788 --0.733054637909 --0.372660413385 --0.715798169375 --0.372659765184 --0.698541983962 --0.372660398483 --0.681285604834 --0.372662328184 --0.664029330015 --0.372665531933 --0.646772786975 --0.372670032084 --0.629516229034 --0.372675806284 --0.612259209156 --0.372682884336 --0.595002099871 --0.372691206634 --0.577744439244 --0.372700855136 --0.560486510396 --0.372711785138 --0.543227925897 --0.372717738152 --0.524008199572 --0.37271219492 --0.504790119827 --0.372701242566 --0.48753169179 --0.372691556812 --0.470273561776 --0.372683137656 --0.453016057611 --0.372675999999 --0.43575873971 --0.372670181095 --0.418501935899 --0.372665636241 --0.401245169342 --0.372662365436 --0.383988767863 --0.372660413385 --0.366732336581 --0.372659765184 --0.349476136267 --0.372660398483 --0.332219742238 --0.372662328184 --0.314963489771 --0.372665531933 --0.297706924379 --0.372670009732 --0.280450366437 --0.372675783932 --0.263193376362 --0.372682884336 --0.245936255902 --0.372691206634 --0.228678587824 --0.372700855136 --0.211420666426 --0.37271180749 --0.194162078202 --0.372717775405 --0.174942344427 --0.355329342187 --0.155716568231 --0.355318836868 --0.138458169996 --0.355309568345 --0.12120007351 --0.355301506818 --0.103942602873 --0.355294682086 --0.0866853184998 --0.355289109051 --0.0694285277277 --0.355284750462 --0.0521718058735 --0.355281628668 --0.0349154528231 --0.355279780925 --0.0176590364426 --0.355279162526 --0.00040286965668 --0.355279736221 -0.0168534805998 --0.355281569064 -0.0341097088531 --0.355284631252 -0.0513662444428 --0.355288945138 -0.0686227818951 --0.355294495821 -0.0858797468245 --0.3553012833 -0.103136831895 --0.355309270322 -0.120394472033 --0.355318494141 -0.137652371079 --0.355328932405 -0.154910929501 --0.355334654451 -0.174130927771 --0.355329342187 -0.193349286914 --0.355318836868 -0.210607681424 --0.355309568345 -0.227865770459 --0.355301506818 -0.245123241097 --0.355294682086 -0.262380532921 --0.355289109051 -0.279637329281 --0.355284750462 -0.296894051135 --0.355281628668 -0.314150393009 --0.355279780925 -0.33140680939 --0.355279162526 -0.348662987351 --0.355279736221 -0.365919344127 --0.355281569064 -0.383175566793 --0.355284653604 -0.400432094932 --0.355288945138 -0.417688630522 --0.355294473469 -0.434945590794 --0.355301260948 -0.452202685177 --0.355309225619 -0.469460345805 --0.355318471789 -0.48671822995 --0.355328917503 -0.503976769745 --0.355334624648 -0.523196771741 --0.355329304934 -0.542415142059 --0.355318814516 -0.559673547744 --0.355309568345 -0.576931625604 --0.355301506818 -0.594189092517 --0.355294682086 -0.611446395517 --0.355289109051 -0.628703191877 --0.355284750462 -0.64595989883 --0.355281628668 -0.663216233253 --0.355279780925 -0.680472671985 --0.355279162526 -0.697728842497 --0.355279758573 -0.714985176921 --0.355281591415 -0.732241407037 --0.355284653604 -0.749497935176 --0.355288945138 -0.766754493117 --0.355294473469 -0.78401145339 --0.3553012833 -0.801268517971 --0.355309247971 -0.818526178599 --0.355318471789 -0.835784062743 --0.355328932405 -0.853042602539 --0.355334639549 -0.872262611985 --0.355329327285 -0.891480982304 --0.355318836868 -0.908739387989 --0.355309545994 -0.92599748075 --0.355301484466 -0.943254962564 --0.355294682086 -0.960512250662 --0.355289109051 -0.97776901722 --0.355284772813 -0.995025739074 --0.35528165102 -1.0122820735 --0.355279780925 -1.02953848243 --0.355279162526 -1.04679468274 --0.355279736221 -1.06405106187 --0.355281569064 -1.08130729198 --0.355284653604 -1.09856379032 --0.355288945138 -1.11582031846 --0.355294473469 -1.13307729363 --0.3553012833 -1.15033438802 --0.355309247971 -1.16759201884 --0.355318471789 -1.18484991789 --0.355328932405 -1.20210847258 --0.355334639549 -1.22132846713 --0.355329327285 -1.24054682255 --0.355318836868 -1.25780522824 --0.355309568345 -1.2750633359 --0.355301506818 -1.29232078791 --0.355294682086 -1.3095780611 --0.355289109051 -1.32683485746 --0.355284772813 -1.34409156442 --0.35528165102 -1.36134791374 --0.355279780925 -1.37860435247 --0.355279162526 -1.39586052299 --0.355279758573 -1.41311687231 --0.355281591415 -1.43037310243 --0.355284653604 -1.44762963057 --0.355288945138 -1.4648861587 --0.355294473469 -1.48214313388 --0.3553012833 -1.49940025806 --0.355309247971 -1.51665791869 --0.355318471789 -1.53391578794 --0.355328932405 -1.55117431283 --0.355334639549 -1.57039430738 --0.355329327285 -1.5896126926 --0.355318814516 -1.60687109828 --0.355309523642 -1.62412917614 --0.355301484466 -1.64138665795 --0.355294682086 -1.65864396096 --0.355289109051 -1.67590072751 --0.355284772813 -1.69315743447 --0.35528165102 -1.71041381359 --0.355279780925 -1.72767025232 --0.355279162526 -1.74492639303 --0.355279736221 -1.76218274236 --0.355281569064 -1.77943897247 --0.355284653604 -1.79669550061 --0.35528896749 -1.81395202875 --0.355294495821 -1.83120897412 --0.3553012833 -1.84846606851 --0.355309247971 -1.86572369933 --0.355318471789 -1.88298159838 --0.355328917503 -1.90024018288 --0.355334639549 -1.91946020722 --0.355329342187 -1.93867856264 --0.355318836868 -1.95593693853 --0.355309568345 -1.97319501639 --0.355301506818 -1.9904524684 --0.355294682086 -2.00770974159 --0.355289109051 -2.02496653796 --0.355284772813 -2.04222327471 --0.35528165102 -2.05947965383 --0.355279780925 -2.07673609257 --0.355279162526 -2.09399223327 --0.355279758573 -2.1112486124 --0.355281591415 -2.12850487232 --0.355284631252 -2.14576137066 --0.355288922786 -2.16301786899 --0.355294473469 -2.18027478456 --0.3553012833 -2.19753187895 --0.355309247971 -2.21478956938 --0.355318471789 -2.23204743862 --0.355328917503 -2.24930596352 --0.355334639549 -2.26852601766 --0.355329342187 -2.28774440289 --0.355318836868 -2.30500274897 --0.355309568345 -2.32226085663 --0.355301506818 -2.33951830864 --0.355294682086 -2.35677552223 --0.355289109051 -2.3740323782 --0.355284772813 -2.39128911495 --0.35528165102 -2.40854543447 --0.355279780925 -2.4258018732 --0.355279162526 -2.44305807352 --0.355279736221 -2.46031445265 --0.355281569064 -2.47757065296 --0.355284653604 -2.4948271513 --0.35528896749 -2.51208370924 --0.355294495821 -2.52934068442 --0.355301260948 -2.5465977788 --0.355309225619 -2.56385540962 --0.355318471789 -2.58111333847 --0.355328932405 -2.59837192297 --0.355334639549 -2.61759185791 --0.355329327285 -2.63681024313 --0.355318836868 -2.65406864881 --0.355309568345 -2.67132669687 --0.355301506818 -2.68858420849 --0.355294682086 -2.70584154129 --0.355289109051 -2.72309827805 --0.355284750462 -2.7403549552 --0.355281628668 -2.75761133432 --0.355279780925 -2.77486777305 --0.355279162526 -2.79212397337 --0.355279736221 -2.80938029289 --0.355281569064 -2.8266364336 --0.355284653604 -2.84389299155 --0.355288945138 -2.86114960909 --0.355294473469 -2.87840658426 --0.3553012833 -2.89566361904 --0.355309247971 -2.91292124987 --0.355318471789 -2.93017917871 --0.355328939855 -2.94743776321 --0.355334661901 -2.96665775776 --0.355329342187 -2.98587608337 --0.355318836868 -3.00313448906 --0.355309568345 -3.02039259672 --0.355301506818 -3.03765004873 --0.355294682086 -3.05490732193 --0.355289109051 -3.07216411829 --0.355284750462 -3.08942085504 --0.355281628668 -3.10667717457 --0.355279780925 -3.1239336133 --0.355279162526 -3.1411898454 --0.355279736221 --3.12473917008 --0.355281569064 --3.10748302936 --0.355284631252 --3.09022647142 --0.355288945138 --3.07296985388 --0.355294495821 --3.05571287871 --0.3553012833 --3.03845584393 --0.355309270322 --3.0211982131 --0.355318494141 --3.00394028425 --0.355328932405 --2.98668169975 --0.355334654451 --2.96746170521 --0.355329342187 --2.94824337959 --0.355318836868 --2.9309849739 --0.355309568345 --2.91372692585 --0.355301506818 --2.89646947384 --0.355294682086 --2.87921214104 --0.355289109051 --2.86195534468 --0.355284750462 --2.84469860792 --0.355281628668 --2.82744222879 --0.355279780925 --2.81018579006 --0.355279162526 --2.79292964935 --0.355279736221 --2.77567327022 --0.355281569064 --2.75841701031 --0.355284653604 --2.74116051197 --0.355288945138 --2.72390401363 --0.355294473469 --2.70664709806 --0.355301260948 --2.68939000368 --0.355309225619 --2.67213231325 --0.355318471789 --2.65487444401 --0.355328917503 --2.63761591911 --0.355334624648 --2.61839586496 --0.355329304934 --2.59917747974 --0.355318814516 --2.58191913366 --0.355309568345 --2.564661026 --0.355301506818 --2.54740357399 --0.355294682086 --2.53014630079 --0.355289109051 --2.51288944483 --0.355284750462 --2.49563276767 --0.355281628668 --2.47837644815 --0.355279780925 --2.46112000942 --0.355279162526 --2.44386386871 --0.355279758573 --2.42660748958 --0.355281591415 --2.40935122966 --0.355284653604 --2.39209473133 --0.355288945138 --2.37483817339 --0.355294473469 --2.35758119822 --0.3553012833 --2.34032410383 --0.355309247971 --2.32306647301 --0.355318471789 --2.30580866337 --0.355328932405 --2.28855013847 --0.355334639549 --2.26933008433 --0.355329327285 --2.2501116395 --0.355318836868 --2.23285323381 --0.355309545994 --2.21559518576 --0.355301484466 --2.19833767414 --0.355294682086 --2.18108034134 --0.355289109051 --2.16382360458 --0.355284772813 --2.14656692743 --0.35528165102 --2.12931054831 --0.355279780925 --2.11205416918 --0.355279162526 --2.09479796887 --0.355279736221 --2.07754158974 --0.355281569064 --2.06028544903 --0.355284653604 --2.04302889109 --0.355288945138 --2.02577227354 --0.355294473469 --2.00851532817 --0.3553012833 --1.99125826359 --0.355309247971 --1.97400060296 --0.355318471789 --1.95674273372 --0.355328932405 --1.93948417902 --0.355334639549 --1.92026415467 --0.355329327285 --1.90104579926 --0.355318836868 --1.88378742337 --0.355309568345 --1.86652931571 --0.355301506818 --1.8492718339 --0.355294682086 --1.8320145607 --0.355289109051 --1.81475776434 --0.355284772813 --1.79750105739 --0.35528165102 --1.78024470806 --0.355279780925 --1.76298826933 --0.355279162526 --1.74573212862 --0.355279758573 --1.7284757793 --0.355281591415 --1.71121954918 --0.355284653604 --1.69396302104 --0.355288945138 --1.6767064631 --0.355294473469 --1.65944948792 --0.3553012833 --1.64219242335 --0.355309247971 --1.62493479252 --0.355318471789 --1.60767689348 --0.355328932405 --1.59041833878 --0.355334639549 --1.57119831443 --0.355329327285 --1.55197995901 --0.355318814516 --1.53472155333 --0.355309523642 --1.51746347547 --0.355301484466 --1.50020602346 --0.355294682086 --1.48294872046 --0.355289109051 --1.46569192409 --0.355284772813 --1.44843518734 --0.35528165102 --1.43117886782 --0.355279780925 --1.41392245889 --0.355279162526 --1.39666625857 --0.355279736221 --1.37940993905 --0.355281569064 --1.36215370893 --0.355284653604 --1.34489715099 --0.35528896749 --1.32764062285 --0.355294495821 --1.31038367748 --0.3553012833 --1.2931265831 --0.355309247971 --1.27586892247 --0.355318471789 --1.25861102343 --0.355328917503 --1.24135243893 --0.355334639549 --1.22213247418 --0.355329342187 --1.20291411877 --0.355318836868 --1.18565571308 --0.355309568345 --1.16839763522 --0.355301506818 --1.15114015341 --0.355294682086 --1.13388288021 --0.355289109051 --1.11662608385 --0.355284772813 --1.0993693769 --0.35528165102 --1.08211302757 --0.355279780925 --1.06485658884 --0.355279162526 --1.04760041833 --0.355279758573 --1.030344069 --0.355281591415 --1.01308783889 --0.355284631252 --0.995831280949 --0.355288922786 --0.978574737906 --0.355294473469 --0.961317807436 --0.3553012833 --0.944060727954 --0.355309247971 --0.926803067327 --0.355318471789 --0.909545168281 --0.355328917503 --0.892286613583 --0.355334639549 --0.87306663394 --0.355329342187 --0.853848278522 --0.355318836868 --0.836589872837 --0.355309568345 --0.819331794977 --0.355301506818 --0.802074328065 --0.355294682086 --0.784817054868 --0.355289109051 --0.767560243607 --0.355284772813 --0.750303506851 --0.35528165102 --0.733047157526 --0.355279780925 --0.715790718794 --0.355279162526 --0.698534563184 --0.355279736221 --0.681278213859 --0.355281569064 --0.664021968842 --0.355284653604 --0.646765455604 --0.35528896749 --0.629508927465 --0.355294495821 --0.612251952291 --0.355301260948 --0.594994872808 --0.355309225619 --0.577737227082 --0.355318471789 --0.560479328036 --0.355328932405 --0.543220788241 --0.355334639549 --0.524000793696 --0.355329327285 --0.504782423377 --0.355318836868 --0.487524025142 --0.355309568345 --0.470265939832 --0.355301506818 --0.453008458018 --0.355294682086 --0.43575116992 --0.355289109051 --0.418494403362 --0.355284750462 --0.401237666607 --0.355281628668 --0.38398129493 --0.355279780925 --0.366724886 --0.355279162526 --0.34946872294 --0.355279736221 --0.332212366164 --0.355281569064 --0.314956136048 --0.355284653604 --0.297699607909 --0.355288945138 --0.28044307977 --0.355294473469 --0.263186112046 --0.3553012833 --0.245929017663 --0.355309247971 --0.228671375662 --0.355318471789 --0.211413487792 --0.355328939855 --0.19415492937 --0.355334661901 --0.174934923649 --0.337982997298 --0.155708745122 --0.337972976267 --0.138450380415 --0.337964139879 --0.121192319318 --0.33795645088 --0.103934878483 --0.337949946523 --0.0866776257753 --0.337944619357 --0.0694208685309 --0.337940461934 --0.052164176479 --0.337937474251 --0.0349078532309 --0.337935678661 --0.0176514668856 --0.337935090065 --0.00039533060044 --0.337935648859 -0.0168609891552 --0.337937384844 -0.034117186442 --0.337940312922 -0.0513736903667 --0.337944433093 -0.0686301942915 --0.337949745357 -0.0858871284872 --0.337956242264 -0.103144185618 --0.337963841856 -0.120401792228 --0.337972663343 -0.137659657746 --0.337982669473 -0.154918193817 --0.337988108397 -0.174138471484 --0.337982997298 -0.193357106298 --0.337972976267 -0.210615474731 --0.337964139879 -0.227873526514 --0.33795645088 -0.245130967349 --0.337949946523 -0.262388221919 --0.337944619357 -0.279644981027 --0.337940461934 -0.296901673079 --0.337937474251 -0.314157985151 --0.337935701013 -0.33141437918 --0.337935112417 -0.348670527339 --0.337935648859 -0.365926854312 --0.337937384844 -0.383183047176 --0.337940335274 -0.400439545512 --0.337944455445 -0.4176960513 --0.337949723005 -0.43495298177 --0.33795619756 -0.4522100389 --0.337963819504 -0.469467654824 --0.337972663343 -0.486725524068 --0.33798263222 -0.503984041512 --0.337988071144 -0.523204311728 --0.33798301965 -0.542422965169 --0.337972998619 -0.559681341052 --0.337964139879 -0.576939389109 --0.33795645088 -0.59419682622 --0.337949946523 -0.611454084516 --0.337944619357 -0.628710836172 --0.337940461934 -0.645967528224 --0.337937474251 -0.663223847747 --0.337935701013 -0.680480241776 --0.337935112417 -0.697736382484 --0.33793567121 -0.714992687106 --0.337937407196 -0.73224888742 --0.337940335274 -0.749505385757 --0.337944455445 -0.766761898994 --0.337949723005 -0.784018844366 --0.337956219912 -0.801275879145 --0.337963841856 -0.818533495068 --0.337972663343 -0.835791364312 --0.337982647121 -0.853049889207 --0.337988086045 -0.872270166874 --0.33798301965 -0.891488805413 --0.337972998619 -0.908747166395 --0.337964139879 -0.926005229354 --0.33795645088 -0.943262696266 --0.337949946523 -0.960519939661 --0.337944619357 -0.977776676416 --0.337940461934 -0.995033383369 --0.337937474251 -1.01228970289 --0.337935701013 -1.02954608202 --0.337935112417 -1.04680225253 --0.337935648859 -1.06405857205 --0.337937384844 -1.08131474257 --0.337940335274 -1.0985712409 --0.337944455445 -1.11582773924 --0.337949723005 -1.13308465481 --0.337956219912 -1.15034171939 --0.337963841856 -1.16759932041 --0.337972663343 -1.18485715985 --0.337982669473 -1.20211568475 --0.337988108397 -1.22133600712 --0.337982997298 -1.24055466056 --0.337972976267 -1.25781300664 --0.337964139879 -1.2750710845 --0.33795645088 -1.29232850671 --0.337949946523 -1.3095857501 --0.337944619357 -1.32684254646 --0.337940461934 -1.34409922361 --0.337937474251 -1.36135551333 --0.337935701013 -1.37861192226 --0.337935112417 -1.39586806297 --0.33793567121 -1.41312438249 --0.337937407196 -1.43038061261 --0.337940335274 -1.44763711095 --0.337944455445 -1.46489360929 --0.337949723005 -1.48215055466 --0.337956219912 -1.49940761924 --0.337963864207 -1.51666522026 --0.337972685695 -1.5339230597 --0.337982647121 -1.5511815846 --0.337988086045 -1.57040184736 --0.337982997298 -1.589620471 --0.337972953915 -1.60687884688 --0.337964117527 -1.62413692474 --0.33795645088 -1.64139437675 --0.337949946523 -1.65865164995 --0.337944619357 -1.67590838671 --0.337940461934 -1.69316506386 --0.337937474251 -1.71042141318 --0.337935678661 -1.72767782211 --0.337935090065 -1.74493396282 --0.337935648859 -1.76219025254 --0.337937384844 -1.77944642305 --0.337940335274 -1.79670292139 --0.337944455445 -1.81395941973 --0.337949723005 -1.8312163651 --0.337956219912 -1.84847342968 --0.337963841856 -1.8657310307 --0.337972663343 -1.88298889994 --0.33798263222 -1.90024745464 --0.337988071144 -1.91946774721 --0.33798301965 -1.93868637085 --0.337972998619 -1.95594471693 --0.337964139879 -1.97320276499 --0.33795645088 -1.990460217 --0.337949946523 -2.0077174902 --0.337944619357 -2.02497422695 --0.337940461934 -2.0422309041 --0.337937474251 -2.05948722363 --0.337935701013 -2.07674360275 --0.337935112417 -2.09399974346 --0.33793567121 -2.11125606298 --0.337937407196 -2.1285123229 --0.337940312922 -2.14576882124 --0.337944433093 -2.16302531957 --0.337949723005 -2.18028223514 --0.337956219912 -2.19753926992 --0.337963841856 -2.21479690075 --0.337972663343 -2.23205471039 --0.33798263222 -2.24931323528 --0.337988071144 -2.26853358745 --0.337982997298 -2.2877522707 --0.337972976267 -2.30501055718 --0.337964139879 -2.32226860523 --0.33795645088 -2.33952605724 --0.337949946523 -2.35678327084 --0.337944619357 -2.3740400672 --0.337940461934 -2.39129680395 --0.337937474251 -2.40855312347 --0.337935701013 -2.42580944299 --0.337935112417 -2.44306558371 --0.337935648859 -2.46032196284 --0.337937384844 -2.47757816315 --0.337940335274 -2.49483466148 --0.337944455445 -2.51209115982 --0.337949723005 -2.52934807539 --0.33795619756 -2.54660511017 --0.337963819504 -2.56386268139 --0.337972663343 -2.58112055063 --0.337982669473 -2.59837913513 --0.337988108397 -2.6175994277 --0.33798301965 -2.63681805134 --0.337972998619 -2.65407645702 --0.337964139879 -2.67133450508 --0.33795645088 -2.68859189749 --0.337949946523 -2.70584917069 --0.337944619357 -2.72310590744 --0.337940461934 -2.74036258459 --0.337937474251 -2.75761896372 --0.337935701013 -2.77487540245 --0.337935112417 -2.79213154316 --0.337935648859 -2.80938780308 --0.337937384844 -2.82664394379 --0.337940335274 -2.84390044212 --0.337944455445 -2.86115700006 --0.337949723005 -2.87841397524 --0.337956219912 -2.89567101002 --0.337963841856 -2.91292864084 --0.337972663343 -2.93018651008 --0.337982654572 -2.94744503498 --0.337988093495 -2.96666526795 --0.337982997298 -2.98588383198 --0.337972976267 -3.00314223766 --0.337964139879 -3.02040034532 --0.33795645088 -3.03765779734 --0.337949946523 -3.05491507054 --0.337944619357 -3.07217180729 --0.337940461934 -3.08942848444 --0.337937474251 -3.10668480396 --0.337935678661 -3.12394118309 --0.337935090065 -3.14119735558 --0.337935648859 --3.12473165989 --0.337937384844 --3.10747551918 --0.337940312922 --3.09021902084 --0.337944433093 --3.0729624629 --0.337949745357 --3.05570548773 --0.337956242264 --3.03844845295 --0.337963841856 --3.02119082213 --0.337972663343 --3.00393295288 --0.337982669473 --2.98667442799 --0.337988108397 --2.96745419502 --0.337982997298 --2.94823563099 --0.337972976267 --2.9309772253 --0.337964139879 --2.91371917724 --0.33795645088 --2.89646172524 --0.337949946523 --2.87920445204 --0.337944619357 --2.86194771528 --0.337940461934 --2.84469097853 --0.337937474251 --2.82743465901 --0.337935701013 --2.81017827988 --0.337935112417 --2.79292213917 --0.337935648859 --2.77566581964 --0.337937384844 --2.75840961933 --0.337940335274 --2.74115312099 --0.337944455445 --2.72389662266 --0.337949723005 --2.70663970709 --0.33795619756 --2.68938261271 --0.337963819504 --2.67212498188 --0.337972663343 --2.65486717224 --0.33798263222 --2.63760864735 --0.337988071144 --2.61838829517 --0.33798301965 --2.59916961193 --0.337972998619 --2.58191132545 --0.337964139879 --2.564653337 --0.33795645088 --2.54739588499 --0.337949946523 --2.53013861179 --0.337944619357 --2.51288181543 --0.337940461934 --2.49562513828 --0.337937474251 --2.47836887836 --0.337935701013 --2.46111249924 --0.337935112417 --2.44385635853 --0.33793567121 --2.4265999794 --0.337937407196 --2.40934371948 --0.337940335274 --2.39208722115 --0.337944455445 --2.37483072281 --0.337949723005 --2.35757380724 --0.337956219912 --2.34031677246 --0.337963841856 --2.32305920124 --0.337972663343 --2.305801332 --0.337982647121 --2.2885428071 --0.337988086045 --2.26932251454 --0.33798301965 --2.25010383129 --0.337972998619 --2.23284548521 --0.337964139879 --2.21558743715 --0.33795645088 --2.19832998514 --0.337949946523 --2.18107271194 --0.337944619357 --2.16381597519 --0.337940461934 --2.14655929804 --0.337937474251 --2.12930291891 --0.337935701013 --2.11204653979 --0.337935112417 --2.09479039908 --0.337935648859 --2.07753407955 --0.337937384844 --2.06027793884 --0.337940335274 --2.04302144051 --0.337944455445 --2.02576488256 --0.337949723005 --2.00850793719 --0.337956219912 --1.99125090242 --0.337963841856 --1.97399330139 --0.337972663343 --1.95673546195 --0.337982669473 --1.93947693706 --0.337988108397 --1.92025664449 --0.337982997298 --1.90103802085 --0.337972976267 --1.88377964497 --0.337964139879 --1.86652153731 --0.33795645088 --1.84926411509 --0.337949946523 --1.8320068717 --0.337944619357 --1.81475010514 --0.337940461934 --1.79749342799 --0.337937474251 --1.78023710847 --0.337935701013 --1.76298069954 --0.337935112417 --1.74572455883 --0.33793567121 --1.72846826911 --0.337937407196 --1.7112120986 --0.337940335274 --1.69395560026 --0.337944455445 --1.67669907212 --0.337949723005 --1.65944212675 --0.337956219912 --1.64218509197 --0.337963864207 --1.62492746115 --0.337972685695 --1.6076695919 --0.337982647121 --1.59041106701 --0.337988086045 --1.57119077444 --0.337982997298 --1.5519721508 --0.337972953915 --1.53471377492 --0.337964117527 --1.51745572686 --0.33795645088 --1.50019827485 --0.337949946523 --1.48294103146 --0.337944619357 --1.4656842947 --0.337940461934 --1.44842755794 --0.337937474251 --1.43117123842 --0.337935678661 --1.4139148891 --0.337935090065 --1.39665874839 --0.337935648859 --1.37940242886 --0.337937384844 --1.36214622855 --0.337940335274 --1.34488970041 --0.337944455445 --1.32763320208 --0.337949723005 --1.31037628651 --0.337956219912 --1.29311922193 --0.337963841856 --1.2758616209 --0.337972663343 --1.25860375166 --0.33798263222 --1.24134519696 --0.337988071144 --1.2221249342 --0.33798301965 --1.20290628076 --0.337972998619 --1.18564790487 --0.337964139879 --1.16838985681 --0.33795645088 --1.15113243461 --0.337949946523 --1.13387519121 --0.337944619357 --1.11661842465 --0.337940461934 --1.0993617475 --0.337937474251 --1.08210542798 --0.337935701013 --1.06484901905 --0.337935112417 --1.04759287834 --0.33793567121 --1.03033655882 --0.337937407196 --1.0130803287 --0.337940312922 --0.995823830367 --0.337944433093 --0.978567332029 --0.337949723005 --0.96131041646 --0.337956219912 --0.944053381681 --0.337963841856 --0.926795750857 --0.337972663343 --0.909537896514 --0.33798263222 --0.892279371619 --0.337988071144 --0.873059093952 --0.337982997298 --0.853840455413 --0.337972976267 --0.836582094431 --0.337964139879 --0.819324031472 --0.33795645088 --0.802066594362 --0.337949946523 --0.784809365869 --0.337944619357 --0.767552599311 --0.337940461934 --0.750295877457 --0.337937474251 --0.733039543033 --0.337935701013 --0.715783163905 --0.337935112417 --0.698527023196 --0.337935648859 --0.681270703673 --0.337937384844 --0.66401450336 --0.337940335274 --0.646758005023 --0.337944455445 --0.629501506686 --0.337949723005 --0.612244576216 --0.33795619756 --0.594987511635 --0.337963819504 --0.577729895711 --0.337972663343 --0.56047205627 --0.337982669473 --0.543213531375 --0.337988108397 --0.523993253708 --0.33798301965 --0.504774615168 --0.337972998619 --0.487516239285 --0.337964139879 --0.470258183777 --0.33795645088 --0.453000731766 --0.337949946523 --0.43574347347 --0.337944619357 --0.418486721813 --0.337940461934 --0.401230029762 --0.337937474251 --0.383973702788 --0.337935701013 --0.36671731621 --0.337935112417 --0.349461190403 --0.337935648859 --0.332204863429 --0.337937384844 --0.314948663116 --0.337940335274 --0.297692164779 --0.337944455445 --0.280435666442 --0.337949723005 --0.263178728521 --0.337956219912 --0.245921660214 --0.337963841856 --0.228664055467 --0.337972663343 --0.211406201124 --0.337982654572 --0.194147668779 --0.337988093495 --0.174927379936 --0.320650339126 --0.155701313168 --0.320640780032 --0.138442974538 --0.320632383227 --0.121184952557 --0.320625074208 --0.10392754525 --0.320618882775 --0.0866703204811 --0.32061380893 --0.0694135930389 --0.320609852672 --0.0521569270641 --0.320606999099 --0.0349006312899 --0.320605270565 --0.0176442759112 --0.320604711771 --0.000388169428333 --0.320605263114 -0.0168681212235 --0.320606924593 -0.0341242891736 --0.32060970366 -0.0513807637617 --0.320613630116 -0.0686372388155 --0.32061868161 -0.0858941413462 --0.320624865591 -0.103151166812 --0.320632115006 -0.120408749208 --0.320640519261 -0.137666586787 --0.320650048554 -0.154925093055 --0.320655226707 -0.174145635217 --0.320650361478 -0.193364534527 --0.320640802384 -0.210622873158 --0.320632383227 -0.227880895138 --0.320625074208 -0.245138306171 --0.320618867874 -0.262395530939 --0.320613794029 -0.279652260244 --0.320609852672 -0.296908922494 --0.320607014001 -0.314165212214 --0.320605307817 -0.33142156899 --0.320604734123 -0.348677679897 --0.320605263114 -0.365933977068 --0.320606924593 -0.383190147579 --0.320609726012 -0.400446623564 --0.320613652468 -0.417703092098 --0.320618659258 -0.434959992766 --0.32062484324 -0.452217034996 --0.320632115006 -0.469474613667 --0.320640519261 -0.486732438207 --0.320650026202 -0.503990925849 --0.320655204355 -0.523211464286 --0.32065038383 -0.542430385947 --0.320640824735 -0.559688732028 --0.320632383227 -0.576946750283 --0.320625074208 -0.594204172492 --0.320618882775 -0.611461400985 --0.320613786578 -0.628718093038 --0.32060983032 -0.645974770189 --0.320607014001 -0.66323107481 --0.320605307817 -0.680487424135 --0.320604734123 -0.697743549943 --0.320605263114 -0.714999824763 --0.320606924593 -0.732255980372 --0.320609726012 -0.749512463808 --0.320613652468 -0.766768947244 --0.320618659258 -0.784025862813 --0.32062484324 -0.80128288269 --0.320632115006 -0.81854043901 --0.320640519261 -0.835798278451 --0.320650026202 -0.853056803345 --0.320655204355 -0.872277334332 --0.320650361478 -0.891496241093 --0.320640802384 -0.908754572272 --0.320632383227 -0.926012590528 --0.320625074208 -0.943270027638 --0.320618867874 -0.96052724123 --0.320613771677 -0.977783948183 --0.32060983032 -0.995040640234 --0.320607014001 -1.01229694486 --0.320605307817 -1.02955329418 --0.320604734123 -1.04680940509 --0.320605263114 -1.064065665 --0.320606924593 -1.08132180572 --0.320609726012 -1.09857830406 --0.320613652468 -1.11583480239 --0.320618659258 -1.13309168816 --0.32062484324 -1.15034872294 --0.320632115006 -1.16760629416 --0.320640519261 -1.1848641038 --0.320650048554 -1.20212262869 --0.320655226707 -1.22134318948 --0.320650339126 -1.24056208134 --0.320640780032 -1.25782042742 --0.320632383227 -1.27507847547 --0.320625074208 -1.29233586788 --0.320618867874 -1.30959308148 --0.320613771677 -1.32684981823 --0.32060983032 -1.34410646558 --0.320607014001 -1.3613627553 --0.320605307817 -1.37861913443 --0.320604734123 -1.39587524534 --0.320605263114 -1.41313153505 --0.320606924593 -1.43038770556 --0.320609726012 -1.4476441741 --0.320613652468 -1.46490064263 --0.320618659258 -1.4821575582 --0.32062484324 -1.49941459298 --0.320632137358 -1.5166721642 --0.320640541613 -1.53392997384 --0.320650026202 -1.55118846893 --0.320655204355 -1.57040902972 --0.320650339126 -1.58962792158 --0.320640780032 -1.60688623786 --0.320632383227 -1.62414425611 --0.320625074208 -1.64140167832 --0.320618867874 -1.65865892172 --0.320613771677 -1.67591565848 --0.32060983032 -1.69317233562 --0.320607014001 -1.71042862535 --0.320605285466 -1.72768497467 --0.320604711771 -1.74494108558 --0.320605263114 -1.76219734549 --0.320606924593 -1.77945351601 --0.320609726012 -1.79671001435 --0.320613652468 -1.81396648288 --0.320618659258 -1.83122336864 --0.320624820888 -1.84848040342 --0.320632092654 -1.86573800445 --0.320640519261 -1.88299584389 --0.320650026202 -1.90025436878 --0.320655204355 -1.91947489977 --0.32065038383 -1.93869379163 --0.320640824735 -1.95595213771 --0.320632383227 -1.97321015596 --0.320625074208 -1.99046757817 --0.320618867874 -2.00772479176 --0.320613794029 -2.02498149872 --0.320609852672 -2.04223817587 --0.320607014001 -2.05949443579 --0.320605307817 -2.07675075531 --0.320604734123 -2.09400689602 --0.320605263114 -2.11126321554 --0.320606924593 -2.12851941586 --0.320609726012 -2.14577585459 --0.320613652468 -2.16303235292 --0.320618659258 -2.18028926849 --0.320624820888 -2.19754624367 --0.320632092654 -2.21480381489 --0.320640519261 -2.23206162453 --0.320650026202 -2.24932014942 --0.320655204355 -2.26854074001 --0.320650361478 -2.28775966168 --0.320640802384 -2.30501794815 --0.320632383227 -2.32227599621 --0.320625074208 -2.33953344822 --0.320618867874 -2.35679066181 --0.320613771677 -2.37404739857 --0.32060983032 -2.39130407572 --0.320607014001 -2.40856039524 --0.320605307817 -2.42581671476 --0.320604734123 -2.44307273626 --0.320605263114 -2.46032905579 --0.320606924593 -2.47758531571 --0.320609726012 -2.49484175443 --0.320613652468 -2.51209819317 --0.320618659258 -2.52935510874 --0.320624820888 -2.54661208391 --0.320632092654 -2.56386965513 --0.320640519261 -2.58112746477 --0.320650048554 -2.59838593006 --0.320655226707 -2.61760652065 --0.320650361478 -2.63682544232 --0.320640802384 -2.6540837884 --0.320632383227 -2.67134183645 --0.320625074208 -2.68859922886 --0.320618867874 -2.70585644245 --0.320613771677 -2.72311317921 --0.32060983032 -2.74036985636 --0.320607014001 -2.75762617588 --0.320605307817 -2.77488255501 --0.320604734123 -2.79213869571 --0.320605263114 -2.80939495563 --0.320606924593 -2.82665109635 --0.320609726012 -2.84390759468 --0.320613652468 -2.86116403341 --0.320618659258 -2.87842094898 --0.32062484324 -2.89567804336 --0.320632115006 -2.91293561458 --0.320640519261 -2.93019342423 --0.320650048554 -2.94745194912 --0.320655226707 -2.96667248011 --0.320650339126 -2.98589134216 --0.320640780032 -3.00314968824 --0.320632383227 -3.0204076767 --0.320625074208 -3.0376650691 --0.320618882775 -3.0549223423 --0.32061380893 -3.07217907906 --0.320609852672 -3.08943575621 --0.320606999099 -3.10669201613 --0.320605270565 -3.12394833565 --0.320604711771 -3.14120450814 --0.320605263114 --3.12472450733 --0.320606924593 --3.10746836663 --0.32060970366 --3.09021186828 --0.320613630116 --3.07295542955 --0.32061868161 --3.05569851398 --0.320624865591 --3.0384414196 --0.320632115006 --3.02118384838 --0.320640519261 --3.00392603874 --0.320650048554 --2.98666751385 --0.320655226707 --2.96744698286 --0.320650361478 --2.9482281208 --0.320640802384 --2.93096977472 --0.320632383227 --2.91371178627 --0.320625074208 --2.89645439387 --0.320618867874 --2.87919718027 --0.320613794029 --2.86194044351 --0.320609852672 --2.84468370676 --0.320607014001 --2.82742744684 --0.320605307817 --2.81017112732 --0.320604734123 --2.79291498661 --0.320605263114 --2.77565872669 --0.320606924593 --2.75840258599 --0.320609726012 --2.74114608765 --0.320613652468 --2.72388958931 --0.320618659258 --2.70663267374 --0.32062484324 --2.68937563897 --0.320632115006 --2.67211806774 --0.320640519261 --2.6548602581 --0.320650026202 --2.63760173321 --0.320655204355 --2.61838114262 --0.32065038383 --2.59916222095 --0.320640824735 --2.58190393448 --0.320632383227 --2.56464594603 --0.320625074208 --2.54738849402 --0.320618882775 --2.53013122082 --0.320613786578 --2.51287454367 --0.32060983032 --2.49561792612 --0.320607014001 --2.4783616066 --0.320605307817 --2.46110522747 --0.320604734123 --2.44384914637 --0.320605263114 --2.42659282684 --0.320606924593 --2.40933662653 --0.320609726012 --2.3920801878 --0.320613652468 --2.37482368946 --0.320618659258 --2.35756677389 --0.32062484324 --2.34030979872 --0.320632115006 --2.3230522871 --0.320640519261 --2.30579441786 --0.320650026202 --2.28853589297 --0.320655204355 --2.26931536198 --0.320650361478 --2.25009644031 --0.320640802384 --2.23283815384 --0.320632383227 --2.21558010578 --0.320625074208 --2.19832265377 --0.320618867874 --2.18106544018 --0.320613771677 --2.16380870342 --0.32060983032 --2.14655202627 --0.320607014001 --2.12929570675 --0.320605307817 --2.11203932762 --0.320604734123 --2.09478318692 --0.320605263114 --2.07752692699 --0.320606924593 --2.06027078628 --0.320609726012 --2.04301428795 --0.320613652468 --2.02575784922 --0.320618659258 --2.00850096345 --0.32062484324 --1.99124392867 --0.320632115006 --1.97398635745 --0.320640519261 --1.95672854781 --0.320650048554 --1.93947005272 --0.320655226707 --1.92024949193 --0.320650339126 --1.90103060007 --0.320640780032 --1.88377222418 --0.320632383227 --1.86651414633 --0.320625074208 --1.84925675392 --0.320618867874 --1.83199957013 --0.320613771677 --1.81474286318 --0.32060983032 --1.79748618603 --0.320607014001 --1.7802298665 --0.320605307817 --1.76297351718 --0.320604734123 --1.74571740627 --0.320605263114 --1.72846111655 --0.320606924593 --1.71120497584 --0.320609726012 --1.69394850731 --0.320613652468 --1.67669203878 --0.320618659258 --1.65943515301 --0.32062484324 --1.64217811823 --0.320632137358 --1.62492051721 --0.320640541613 --1.60766267777 --0.320650026202 --1.59040415287 --0.320655204355 --1.57118362188 --0.320650339126 --1.55196473002 --0.320640780032 --1.53470638394 --0.320632383227 --1.51744836569 --0.320625074208 --1.50019094348 --0.320618867874 --1.48293372989 --0.320613771677 --1.46567699313 --0.32060983032 --1.44842028618 --0.320607014001 --1.43116399646 --0.320605285466 --1.41390767694 --0.320604711771 --1.39665159583 --0.320605263114 --1.37939530611 --0.320606924593 --1.3621391058 --0.320609726012 --1.34488260746 --0.320613652468 --1.32762613893 --0.320618659258 --1.31036925316 --0.320624820888 --1.29311224818 --0.320632092654 --1.27585467696 --0.320640519261 --1.25859680772 --0.320650026202 --1.24133831263 --0.320655204355 --1.22211778164 --0.32065038383 --1.20289885998 --0.320640824735 --1.1856405139 --0.320632383227 --1.16838246584 --0.320625074208 --1.15112507343 --0.320618867874 --1.13386785984 --0.320613794029 --1.11661115289 --0.320609852672 --1.09935450554 --0.320607014001 --1.08209818602 --0.320605307817 --1.06484183669 --0.320604734123 --1.04758572578 --0.320605263114 --1.03032940626 --0.320606924593 --1.01307323575 --0.320609726012 --0.995816782118 --0.320613652468 --0.978560298681 --0.320618659258 --0.961303398013 --0.320624820888 --0.944046393037 --0.320632092654 --0.926788806915 --0.320640519261 --0.909530982376 --0.320650026202 --0.892272472382 --0.320655204355 --0.873051926494 --0.320650361478 --0.853833034635 --0.320640802384 --0.836574703455 --0.320632383227 --0.819316655397 --0.320625074208 --0.802059233188 --0.320618867874 --0.784802019596 --0.320613771677 --0.767545297742 --0.32060983032 --0.750288635493 --0.320607014001 --0.73303231597 --0.320605307817 --0.715775966644 --0.320604734123 --0.69851988554 --0.320605263114 --0.681263580918 --0.320606924593 --0.664007380605 --0.320609726012 --0.646750926971 --0.320613652468 --0.629494473338 --0.320618659258 --0.61223757267 --0.320624820888 --0.594980537891 --0.320632092654 --0.577722936869 --0.320640519261 --0.56046512723 --0.320650048554 --0.543206632137 --0.320655226707 --0.523986086249 --0.320650361478 --0.50476718694 --0.320640802384 --0.487508840859 --0.320632383227 --0.470250815153 --0.320625074208 --0.452993385494 --0.320618867874 --0.435736164451 --0.320613771677 --0.418479442596 --0.32060983032 --0.401222772896 --0.320607014001 --0.383966490627 --0.320605307817 --0.366710133851 --0.320604734123 --0.349454022944 --0.320605263114 --0.332197725773 --0.320606924593 --0.314941555262 --0.320609726012 --0.297685086727 --0.320613652468 --0.280428618193 --0.320618659258 --0.263171710074 --0.32062484324 --0.245914675295 --0.320632115006 --0.22865710035 --0.320640519261 --0.21139927581 --0.320650048554 --0.194140773267 --0.320655226707 --0.174920219928 --0.303300336003 --0.155693851411 --0.303291246295 --0.138435538858 --0.303283259273 --0.121177550405 --0.303276315332 --0.103920176625 --0.303270436824 --0.0866629779339 --0.303265631199 --0.0694062784314 --0.303261876106 --0.0521496413276 --0.303259178996 --0.0348933753558 --0.30325756967 --0.0176370511763 --0.303257040679 --0.000380974728613 --0.303257539869 -0.0168752861209 --0.303259111941 -0.0341314245016 --0.303261756897 -0.0513878678903 --0.303265489638 -0.0686443150044 --0.303270272911 -0.0859011895954 --0.303276129067 -0.103158187121 --0.303283035755 -0.120415743441 --0.303291007876 -0.137673545629 --0.303300030529 -0.15493201837 --0.303304962814 -0.174152828753 --0.303300358355 -0.193371992558 --0.303291268647 -0.210630297661 --0.303283259273 -0.22788829729 --0.303276315332 -0.245145682245 --0.303270421922 -0.262402877212 --0.303265616298 -0.279659584165 --0.303261876106 -0.296916216612 --0.303259193897 -0.31417247653 --0.303257584572 -0.331428803504 --0.303257040679 -0.348684884608 --0.303257539869 -0.365941144526 --0.303259111941 -0.383197277784 --0.303261779249 -0.400453723967 --0.30326551199 -0.41771017015 --0.303270272911 -0.434967041015 --0.303276129067 -0.452224053443 --0.303283035755 -0.469481609762 --0.303291007876 -0.486739389598 --0.303300030529 -0.503997862339 --0.303304962814 -0.523218676448 --0.303300358355 -0.542437836528 --0.303291268647 -0.559696152807 --0.303283259273 -0.576954156161 --0.303276315332 -0.594211533666 --0.303270436824 -0.611468732357 --0.303265608847 -0.628725409508 --0.303261853754 -0.645982056856 --0.303259193897 -0.663238331675 --0.303257584572 -0.680494651198 --0.303257018328 -0.697750747204 --0.303257517517 -0.715006992221 --0.303259111941 -0.732263118029 --0.303261779249 -0.749519556761 --0.30326551199 -0.766776010394 --0.303270272911 -0.784032896161 --0.303276129067 -0.801289901138 --0.303283035755 -0.818547442556 --0.303291007876 -0.835805237293 --0.303300030529 -0.853063717484 --0.303304962814 -0.872284531593 --0.303300336003 -0.891503706574 --0.303291246295 -0.90876199305 --0.303283259273 -0.926019981503 --0.303276315332 -0.943277388811 --0.303270421922 -0.960534587502 --0.303265593946 -0.977791264653 --0.303261853754 -0.995047912001 --0.303259193897 -1.01230418682 --0.303257584572 -1.02956050635 --0.303257040679 -1.04681655765 --0.303257539869 -1.06407278776 --0.303259111941 -1.08132892847 --0.303261779249 -1.09858539701 --0.30326551199 -1.11584186554 --0.303270272911 -1.1330987215 --0.303276129067 -1.15035572648 --0.303283035755 -1.1676132977 --0.303291007876 -1.18487110734 --0.303300030529 -1.20212960244 --0.303304962814 -1.22135040164 --0.303300336003 -1.24056953192 --0.303291246295 -1.2578278482 --0.303283259273 -1.27508586645 --0.303276315332 -1.29234322906 --0.303270421922 -1.30960044265 --0.303265593946 -1.3268571496 --0.303261853754 -1.34411376715 --0.303259193897 -1.36137002706 --0.303257584572 -1.37862634659 --0.303257040679 -1.39588242769 --0.303257539869 -1.41313868761 --0.303259111941 -1.43039482832 --0.303261779249 -1.44765126705 --0.303265489638 -1.46490770578 --0.303270250559 -1.48216459155 --0.303276129067 -1.49942159653 --0.303283035755 -1.51667916775 --0.303291007876 -1.53393694758 --0.303300030529 -1.55119538307 --0.303304962814 -1.57041621208 --0.303300336003 -1.58963540196 --0.303291246295 -1.60689368844 --0.303283259273 -1.62415167689 --0.303276315332 -1.6414090693 --0.303270421922 -1.65866625309 --0.303265593946 -1.67592296004 --0.303261853754 -1.69317960739 --0.303259193897 -1.71043586731 --0.303257584572 -1.72769218683 --0.303257018328 -1.74494826794 --0.303257517517 -1.76220452786 --0.303259111941 -1.77946066856 --0.303261779249 -1.7967171371 --0.30326551199 -1.81397357583 --0.303270272911 -1.83123043179 --0.303276106715 -1.84848743677 --0.303283013403 -1.86574497819 --0.303291007876 -1.88300278783 --0.303300030529 -1.90026128292 --0.303304962814 -1.91948208213 --0.303300358355 -1.93870124221 --0.303291268647 -1.95595955849 --0.303283259273 -1.97321754694 --0.303276315332 -1.99047493934 --0.303270421922 -2.00773209334 --0.303265616298 -2.02498877049 --0.303261876106 -2.04224544764 --0.303259193897 -2.05950170755 --0.303257584572 -2.07675802707 --0.303257040679 -2.09401410818 --0.303257539869 -2.1112704277 --0.303259111941 -2.12852656841 --0.303261779249 -2.14578294754 --0.30326551199 -2.16303938627 --0.303270272911 -2.18029624224 --0.303276106715 -2.19755321741 --0.303283013403 -2.21481078863 --0.303291007876 -2.23206859827 --0.303300030529 -2.24932706356 --0.303304962814 -2.26854789257 --0.303300358355 -2.28776705265 --0.303291268647 -2.30502533912 --0.303283259273 -2.32228338718 --0.303276315332 -2.33954077959 --0.303270421922 -2.35679799318 --0.303265593946 -2.37405472994 --0.303261853754 -2.39131134748 --0.303259193897 -2.40856760741 --0.303257584572 -2.42582392693 --0.303257018328 -2.44307994842 --0.303257517517 -2.46033620834 --0.303259111941 -2.47759240866 --0.303261779249 -2.49484878778 --0.30326551199 -2.51210522651 --0.303270272911 -2.52936214208 --0.303276106715 -2.54661911726 --0.303283013403 -2.56387668848 --0.303291007876 -2.58113449812 --0.303300030529 -2.59839296341 --0.303304962814 -2.61761379242 --0.303300336003 -2.6368329525 --0.303291246295 -2.65409123897 --0.303283259273 -2.67134922743 --0.303276315332 -2.68860661984 --0.303270421922 -2.70586383343 --0.303265593946 -2.72312051058 --0.303261853754 -2.74037712813 --0.303259193897 -2.75763338804 --0.303257584572 -2.77488970756 --0.303257018328 -2.79214584827 --0.303257517517 -2.80940210819 --0.303259111941 -2.8266582489 --0.303261779249 -2.84391474724 --0.30326551199 -2.86117112636 --0.303270272911 -2.87842798233 --0.303276129067 -2.89568501711 --0.303283035755 -2.91294252872 --0.303291007876 -2.93020033836 --0.303300030529 -2.94745886326 --0.303304962814 -2.96667969227 --0.303300336003 -2.98589885235 --0.303291246295 -3.00315713882 --0.303283259273 -3.02041506767 --0.303276315332 -3.03767240047 --0.303270436824 -3.05492961407 --0.303265631199 -3.07218635082 --0.303261876106 -3.08944302797 --0.303259178996 -3.10669928789 --0.30325756967 -3.12395560741 --0.303257040679 -3.1412117203 --0.303257539869 --3.12471735478 --0.303259111941 --3.10746121407 --0.303261756897 --3.09020471573 --0.303265489638 --3.0729483366 --0.303270272911 --3.05569148063 --0.303276129067 --3.03843444585 --0.303283035755 --3.02117693424 --0.303291007876 --3.0039191246 --0.303300030529 --2.98666059971 --0.303304962814 --2.9674397707 --0.303300358355 --2.94822061062 --0.303291268647 --2.93096232414 --0.303283259273 --2.91370433569 --0.303276315332 --2.89644700289 --0.303270421922 --2.8791898489 --0.303265616298 --2.86193311214 --0.303261876106 --2.84467643499 --0.303259193897 --2.82742017508 --0.303257584572 --2.81016385555 --0.303257040679 --2.79290777445 --0.303257539869 --2.77565151453 --0.303259111941 --2.75839537382 --0.303261779249 --2.74113893509 --0.30326551199 --2.72388249635 --0.303270272911 --2.70662564039 --0.303276129067 --2.68936866522 --0.303283035755 --2.67211109399 --0.303291007876 --2.65485328436 --0.303300030529 --2.63759481907 --0.303304962814 --2.61837399006 --0.303300358355 --2.59915482998 --0.303291268647 --2.5818965435 --0.303283259273 --2.56463849545 --0.303276315332 --2.54738110304 --0.303270436824 --2.53012388944 --0.303265608847 --2.51286721229 --0.303261853754 --2.49561059475 --0.303259193897 --2.47835427523 --0.303257584572 --2.46109795571 --0.303257018328 --2.4438419342 --0.303257517517 --2.42658567428 --0.303259111941 --2.40932953358 --0.303261779249 --2.39207315445 --0.30326551199 --2.37481665611 --0.303270272911 --2.35755974054 --0.303276129067 --2.34030276537 --0.303283035755 --2.32304525375 --0.303291007876 --2.30578744411 --0.303300030529 --2.28852897883 --0.303304962814 --2.26930814982 --0.303300336003 --2.25008893013 --0.303291246295 --2.23283070326 --0.303283259273 --2.21557271481 --0.303276315332 --2.1983152628 --0.303270421922 --2.1810580492 --0.303265593946 --2.16380137205 --0.303261853754 --2.1465447545 --0.303259193897 --2.12928849458 --0.303257584572 --2.11203217506 --0.303257040679 --2.09477603436 --0.303257539869 --2.07751977444 --0.303259111941 --2.06026369333 --0.303261779249 --2.043007195 --0.30326551199 --2.02575075626 --0.303270272911 --2.0084939301 --0.303276129067 --1.99123692513 --0.303283035755 --1.97397935391 --0.303291007876 --1.95672157407 --0.303300030529 --1.93946310878 --0.303304962814 --1.92024227977 --0.303300336003 --1.90102311969 --0.303291246295 --1.88376477361 --0.303283259273 --1.86650675535 --0.303276315332 --1.84924939275 --0.303270421922 --1.83199223876 --0.303265593946 --1.81473556161 --0.303261853754 --1.79747891426 --0.303259193897 --1.78022262454 --0.303257584572 --1.76296630502 --0.303257040679 --1.74571022392 --0.303257539869 --1.72845393419 --0.303259111941 --1.71119782329 --0.303261779249 --1.69394138455 --0.303265489638 --1.67668494582 --0.303270250559 --1.65942808986 --0.303276129067 --1.64217105508 --0.303283035755 --1.62491351366 --0.303291007876 --1.60765573382 --0.303300030529 --1.59039723873 --0.303304962814 --1.57117643952 --0.303300336003 --1.55195727944 --0.303291246295 --1.53469896317 --0.303283259273 --1.51744097471 --0.303276315332 --1.50018358231 --0.303270421922 --1.48292636871 --0.303265593946 --1.46566966176 --0.303261853754 --1.44841301441 --0.303259193897 --1.43115675449 --0.303257584572 --1.41390043497 --0.303257018328 --1.39664438367 --0.303257517517 --1.37938812375 --0.303259111941 --1.36213195324 --0.303261779249 --1.34487551451 --0.30326551199 --1.32761907578 --0.303270272911 --1.31036219001 --0.303276106715 --1.29310521484 --0.303283013403 --1.27584767342 --0.303291007876 --1.25858983398 --0.303300030529 --1.24133136869 --0.303304962814 --1.22211056948 --0.303300358355 --1.2028914094 --0.303291268647 --1.18563309312 --0.303283259273 --1.16837507486 --0.303276315332 --1.15111771226 --0.303270421922 --1.13386052847 --0.303265616298 --1.11660385132 --0.303261876106 --1.09934720397 --0.303259193897 --1.08209091425 --0.303257584572 --1.06483459473 --0.303257040679 --1.04757851362 --0.303257539869 --1.0303222537 --0.303259111941 --1.013066113 --0.303261779249 --0.995809674264 --0.30326551199 --0.978553235531 --0.303270272911 --0.961296364665 --0.303276106715 --0.94403937459 --0.303283013403 --0.926781818271 --0.303291007876 --0.909524023533 --0.303300030529 --0.892265543342 --0.303304962814 --0.873044729233 --0.303300358355 --0.853825584054 --0.303291268647 --0.836567267776 --0.303283259273 --0.81930924952 --0.303276315332 --0.802051872015 --0.303270421922 --0.784794673324 --0.303265593946 --0.76753796637 --0.303261853754 --0.750281348825 --0.303259193897 --0.733025088906 --0.303257584572 --0.715768754482 --0.303257018328 --0.698512688279 --0.303257517517 --0.681256428361 --0.303259111941 --0.664000272751 --0.303261779249 --0.646743834019 --0.30326551199 --0.629487395287 --0.303270272911 --0.612230524421 --0.303276106715 --0.594973519444 --0.303283013403 --0.577715963125 --0.303291007876 --0.560458168387 --0.303300030529 --0.543199688196 --0.303304962814 --0.523978874087 --0.303300336003 --0.504759714007 --0.303291246295 --0.48750140518 --0.303283259273 --0.470243409276 --0.303276315332 --0.45298601687 --0.303270421922 --0.435728825629 --0.303265593946 --0.418472141027 --0.303261853754 --0.401215501129 --0.303259193897 --0.383959241211 --0.303257584572 --0.366702899337 --0.303257018328 --0.349446810782 --0.303257517517 --0.332190558314 --0.303259111941 --0.314934417605 --0.303261779249 --0.297677978873 --0.30326551199 --0.280421540141 --0.303270272911 --0.263164661825 --0.303276129067 --0.245907660574 --0.303283035755 --0.22865010798 --0.303291007876 --0.211392305792 --0.303300030529 --0.194133833051 --0.303304962814 --0.174913022667 --0.285932347178 --0.155686363578 --0.285923779011 --0.138428084552 --0.285916186869 --0.121170118451 --0.285909593106 --0.103912772611 --0.285904042423 --0.0866556037218 --0.285899505019 --0.0693989312276 --0.285895965993 --0.05214232672 --0.285893425345 --0.0348860924132 --0.285891905427 --0.0176297959406 --0.285891391337 --0.000373748363925 --0.285891868174 -0.0168824829161 --0.28589335829 -0.0341385914944 --0.285895869136 -0.0513950055465 --0.285899393261 -0.0686514209956 --0.285903900862 -0.0859082657844 --0.285909436643 -0.103165237233 --0.285915985703 -0.12042276375 --0.285923525691 -0.137680530548 --0.285932034254 -0.154938977212 --0.285936698318 -0.174160055816 --0.285932332277 -0.193379480391 --0.285923741758 -0.210637755692 --0.285916186869 -0.227895725519 --0.285909615457 -0.245153084397 --0.285904042423 -0.262410253286 --0.285899505019 -0.279666930437 --0.285895965993 -0.296923533082 --0.285893425345 -0.314179763198 --0.285891905427 -0.331436060369 --0.285891391337 -0.348692111671 --0.285891868174 -0.365948341786 --0.28589335829 -0.383204437792 --0.285895869136 -0.400460854173 --0.285899393261 -0.417717270553 --0.285903900862 -0.434974111617 --0.285909436643 -0.452231094241 --0.285915985703 -0.469488620758 --0.285923525691 -0.486746378243 --0.285932034254 -0.504004836083 --0.285936698318 -0.523225918412 --0.285932332277 -0.542445346713 --0.285923741758 -0.559703618288 --0.285916164518 -0.576961576939 --0.285909593106 -0.594218924641 --0.285904042423 -0.61147609353 --0.285899505019 -0.62873275578 --0.285895965993 -0.645989358425 --0.285893425345 -0.663245618343 --0.285891905427 -0.680501922965 --0.285891368985 -0.697757959366 --0.285891845822 -0.715014174581 --0.28589335829 -0.732270270586 --0.285895869136 -0.749526679516 --0.285899393261 -0.766783103347 --0.285903900862 -0.784039974212 --0.285909436643 -0.801296964288 --0.285915963352 -0.818554475904 --0.285923503339 -0.83581225574 --0.285932034254 -0.853070691228 --0.285936698318 -0.872291758656 --0.285932332277 -0.891511201858 --0.285923741758 -0.908769458532 --0.285916186869 -0.926027432084 --0.285909615457 -0.943284794688 --0.285904042423 -0.960541948676 --0.285899505019 -0.977798610925 --0.285895951092 -0.995055228472 --0.285893410444 -1.01231148839 --0.285891905427 -1.02956777811 --0.285891391337 -1.04682379961 --0.285891868174 -1.06407999992 --0.28589335829 -1.08133611083 --0.285895869136 -1.09859254956 --0.285899393261 -1.11584895849 --0.285903900862 -1.13310578466 --0.285909436643 -1.15036275983 --0.285915985703 -1.16762030125 --0.285923525691 -1.18487808109 --0.285932034254 -1.20213654638 --0.285936698318 -1.2213576436 --0.285932332277 -1.2405770421 --0.285923741758 -1.25783529878 --0.285916186869 -1.27509328723 --0.285909615457 -1.29235062003 --0.285904042423 -1.30960780382 --0.285899505019 -1.32686451078 --0.285895965993 -1.34412109852 --0.285893425345 -1.36137729883 --0.285891905427 -1.37863358855 --0.285891391337 -1.39588963986 --0.285891868174 -1.41314586997 --0.28589335829 -1.43040201068 --0.285895869136 -1.44765841961 --0.285899370909 -1.46491482854 --0.28590387851 -1.4821716845 --0.285909436643 -1.49942865968 --0.285915985703 -1.5166862011 --0.285923548043 -1.53394395113 --0.285932056606 -1.55120235681 --0.285936698318 -1.57042342424 --0.285932347178 -1.58964288235 --0.285923756659 -1.60690116883 --0.285916186869 -1.62415912748 --0.285909615457 -1.64141649008 --0.285904042423 -1.65867364407 --0.285899505019 -1.67593032122 --0.285895965993 -1.69318693876 --0.285893425345 -1.71044316888 --0.285891905427 -1.7276994586 --0.285891368985 -1.7449555099 --0.285891845822 -1.76221174002 --0.28589335829 -1.77946782112 --0.285895869136 -1.79672425985 --0.285899393261 -1.81398066878 --0.285903900862 -1.83123749495 --0.285909436643 -1.84849447012 --0.285915963352 -1.86575198174 --0.285923503339 -1.88300976157 --0.285932034254 -1.90026822686 --0.285936698318 -1.91948932409 --0.285932332277 -1.93870872259 --0.285923741758 -1.95596700907 --0.285916164518 -1.97322499752 --0.285909593106 -1.99048233032 --0.285904042423 -2.00773945451 --0.285899505019 -2.02499610186 --0.285895951092 -2.0422527194 --0.285893410444 -2.05950897932 --0.285891905427 -2.07676529884 --0.285891391337 -2.09402132034 --0.285891868174 -2.11127758026 --0.28589335829 -2.12853372097 --0.285895869136 -2.1457901001 --0.285899393261 -2.16304647923 --0.285903900862 -2.18030333519 --0.285909436643 -2.19756031036 --0.285915963352 -2.21481782198 --0.285923503339 -2.23207557201 --0.285932034254 -2.2493340373 --0.285936698318 -2.26855516434 --0.285932332277 -2.28777456283 --0.285923741758 -2.30503284931 --0.285916164518 -2.32229083776 --0.285909593106 -2.33954811096 --0.285904042423 -2.35680532455 --0.285899505019 -2.37406206131 --0.285895965993 -2.39131867886 --0.285893425345 -2.40857493878 --0.285891905427 -2.42583119869 --0.285891368985 -2.44308722019 --0.285891845822 -2.46034342051 --0.28589335829 -2.47759950161 --0.285895869136 -2.49485594034 --0.285899393261 -2.51211237907 --0.285903900862 -2.52936917543 --0.285909436643 -2.54662615061 --0.285915963352 -2.56388372183 --0.285923503339 -2.58114153147 --0.285932034254 -2.59839999676 --0.285936698318 -2.61762106419 --0.285932332277 -2.63684046268 --0.285923741758 -2.65409874916 --0.285916164518 -2.67135667801 --0.285909593106 -2.68861401081 --0.285904042423 -2.7058712244 --0.285899505019 -2.72312784195 --0.285895965993 -2.7403844595 --0.285893425345 -2.75764071941 --0.285891905427 -2.77489697933 --0.285891368985 -2.79215306044 --0.285891845822 -2.80940932035 --0.28589335829 -2.82666546106 --0.285895869136 -2.84392189979 --0.285899393261 -2.86117827892 --0.285903900862 -2.87843513489 --0.285909436643 -2.89569205045 --0.285915963352 -2.91294950247 --0.285923503339 -2.9302073121 --0.285932034254 -2.9474657774 --0.285936698318 -2.96668684483 --0.285932347178 -2.98590630293 --0.285923779011 -3.00316458941 --0.285916186869 -3.02042251826 --0.285909593106 -3.03767985106 --0.285904042423 -3.05493700504 --0.285899505019 -3.07219368219 --0.285895965993 -3.08945029974 --0.285893425345 -3.10670655966 --0.285891905427 -3.12396287918 --0.285891391337 -3.14121893247 --0.285891868174 --3.12471014261 --0.28589335829 --3.10745400191 --0.285895869136 --3.09019756317 --0.285899393261 --3.07294118404 --0.285903900862 --3.05568432808 --0.285909436643 --3.0384273529 --0.285915985703 --3.02116990089 --0.285923525691 --3.00391215086 --0.285932034254 --2.98665368557 --0.285936698318 --2.96743261814 --0.285932332277 --2.94821316004 --0.285923741758 --2.93095487356 --0.285916186869 --2.91369688511 --0.285909615457 --2.89643955231 --0.285904042423 --2.87918245792 --0.285899505019 --2.86192578077 --0.285895965993 --2.84466916323 --0.285893425345 --2.82741290331 --0.285891905427 --2.81015658379 --0.285891391337 --2.79290056229 --0.285891868174 --2.77564430237 --0.28589335829 --2.75838816166 --0.285895869136 --2.74113178253 --0.285899393261 --2.7238754034 --0.285903900862 --2.70661854744 --0.285909436643 --2.68936157226 --0.285915985703 --2.67210406065 --0.285923525691 --2.65484631061 --0.285932034254 --2.63758784533 --0.285936698318 --2.61836671829 --0.285932332277 --2.59914731979 --0.285923741758 --2.58188909292 --0.285916164518 --2.56463110447 --0.285909593106 --2.54737377167 --0.285904042423 --2.53011655808 --0.285899505019 --2.51285982132 --0.285895965993 --2.49560326338 --0.285893425345 --2.47834700346 --0.285891905427 --2.46109068394 --0.285891368985 --2.44383472204 --0.285891845822 --2.42657852173 --0.28589335829 --2.40932238102 --0.285895869136 --2.39206600189 --0.285899393261 --2.37480956316 --0.285903900862 --2.35755270719 --0.285909436643 --2.34029573202 --0.285915963352 --2.3230381608 --0.285923503339 --2.30578035116 --0.285932034254 --2.28852194547 --0.285936698318 --2.26930087805 --0.285932332277 --2.25008141995 --0.285923741758 --2.23282319308 --0.285916186869 --2.21556520462 --0.285909615457 --2.19830781221 --0.285904042423 --2.18105065823 --0.285899505019 --2.16379404068 --0.285895951092 --2.14653742313 --0.285893410444 --2.12928116321 --0.285891905427 --2.1120249033 --0.285891391337 --2.09476882219 --0.285891868174 --2.07751256227 --0.28589335829 --2.06025654077 --0.285895869136 --2.04300010204 --0.285899393261 --2.02574360371 --0.285903900862 --2.00848680735 --0.285909436643 --1.99122986198 --0.285915985703 --1.97397232056 --0.285923525691 --1.95671457052 --0.285932034254 --1.93945613503 --0.285936698318 --1.92023506761 --0.285932332277 --1.90101563931 --0.285923741758 --1.88375732303 --0.285916186869 --1.86649936438 --0.285909615457 --1.84924203157 --0.285904042423 --1.83198487759 --0.285899505019 --1.81472820044 --0.285895965993 --1.79747158289 --0.285893425345 --1.78021535277 --0.285891905427 --1.76295906306 --0.285891391337 --1.74570301175 --0.285891868174 --1.72844675183 --0.28589335829 --1.71119067073 --0.285895869136 --1.6939342618 --0.285899370909 --1.67667782307 --0.28590387851 --1.65942099691 --0.285909436643 --1.64216402173 --0.285915985703 --1.62490651012 --0.285923548043 --1.60764876008 --0.285932056606 --1.59039029479 --0.285936698318 --1.57116919756 --0.285932347178 --1.55194976926 --0.285923756659 --1.53469148279 --0.285916186869 --1.51743352413 --0.285909615457 --1.50017616152 --0.285904042423 --1.48291897774 --0.285899505019 --1.46566233039 --0.285895965993 --1.44840571284 --0.285893425345 --1.43114945292 --0.285891905427 --1.41389316321 --0.285891368985 --1.39663714171 --0.285891845822 --1.37938091159 --0.28589335829 --1.36212480068 --0.285895869136 --1.34486842156 --0.285899393261 --1.32761201263 --0.285903900862 --1.31035512686 --0.285909436643 --1.29309815168 --0.285915963352 --1.27584064007 --0.285923503339 --1.25858286023 --0.285932034254 --1.24132442474 --0.285936698318 --1.22210335732 --0.285932332277 --1.20288392901 --0.285923741758 --1.18562564254 --0.285916164518 --1.16836765408 --0.285909593106 --1.15111032128 --0.285904042423 --1.1338531971 --0.285899505019 --1.11659651995 --0.285895951092 --1.0993398726 --0.285893410444 --1.08208364248 --0.285891905427 --1.06482735276 --0.285891391337 --1.04757130146 --0.285891868174 --1.03031510115 --0.28589335829 --1.01305896044 --0.285895869136 --0.995802506805 --0.285899393261 --0.978546112776 --0.285903900862 --0.961289286614 --0.285909436643 --0.944032326341 --0.285915963352 --0.926774799824 --0.285923503339 --0.909517034888 --0.285932034254 --0.892258584499 --0.285936698318 --0.87303750217 --0.285932332277 --0.853818073869 --0.285923741758 --0.836559772492 --0.285916164518 --0.81930179894 --0.285909593106 --0.802044481039 --0.285904042423 --0.784787327052 --0.285899505019 --0.767530634999 --0.285895965993 --0.750274017453 --0.285893425345 --0.733017787337 --0.285891905427 --0.715761497617 --0.285891368985 --0.698505446315 --0.285891845822 --0.6812492311 --0.28589335829 --0.663993135094 --0.285895869136 --0.646736696362 --0.285899393261 --0.629480287433 --0.285903900862 --0.612223446369 --0.285909436643 --0.594966456294 --0.285915963352 --0.577708959579 --0.285923503339 --0.560451194644 --0.285932034254 --0.543192729354 --0.285936698318 --0.523971647024 --0.285932332277 --0.504752226174 --0.285923741758 --0.487493947149 --0.285916164518 --0.470235973597 --0.285909593106 --0.452978618443 --0.285904042423 --0.435721457005 --0.285899505019 --0.418464802205 --0.285895965993 --0.40120819211 --0.285893425345 --0.383951947093 --0.285891905427 --0.366695635021 --0.285891368985 --0.34943959117 --0.285891845822 --0.332183368504 --0.28589335829 --0.314927242696 --0.285895869136 --0.297670833766 --0.285899393261 --0.280414432287 --0.285903900862 --0.263157576323 --0.285909436643 --0.245900604874 --0.285915963352 --0.228643089533 --0.285923503339 --0.211385313422 --0.285932034254 --0.194126866758 --0.285936698318 --0.174905791879 --0.268565833569 --0.155678510666 --0.268557786942 --0.138420257717 --0.268550634384 --0.121162317694 --0.268544405699 --0.103905001655 --0.268539182842 --0.0866478681564 --0.26853492111 --0.0693912282586 --0.268531583249 --0.0521346544847 --0.268529176712 --0.0348784504458 --0.26852773875 --0.0176221856382 --0.268527254462 --0.000366169493642 --0.268527701497 -0.0168900310528 --0.268529109657 -0.0341461091302 --0.26853146404 -0.05140249338 --0.26853479445 -0.0686588771641 --0.268539048731 -0.0859156921506 --0.268544256687 -0.103172631934 --0.268550418317 -0.120430123061 --0.268557533622 -0.137687858194 --0.268565565348 -0.154946275055 --0.268569931388 -0.174167636782 --0.268565818667 -0.193387340754 --0.268557749688 -0.210645586252 --0.268550634384 -0.227903522551 --0.268544450402 -0.245160840452 --0.268539205193 -0.262417979538 --0.26853492111 -0.279674626887 --0.268531583249 -0.296931199729 --0.268529176712 -0.314187400043 --0.26852773875 -0.331443667412 --0.268527254462 -0.348699681461 --0.268527701497 -0.365955874324 --0.268529109657 -0.383211947978 --0.268531486392 -0.400468334556 --0.26853479445 -0.417724713683 --0.26853902638 -0.434981532395 --0.268544256687 -0.452238485217 --0.268550440669 -0.469495974481 --0.268557555974 -0.486753717065 --0.268565565348 -0.504012130201 --0.268569931388 -0.523233488202 --0.268565818667 -0.542453214526 --0.268557749688 -0.559711456299 --0.268550612032 -0.576969385147 --0.268544405699 -0.594226703048 --0.268539182842 -0.611483827233 --0.26853492111 -0.628740459681 --0.268531583249 -0.645997032523 --0.268529176712 -0.663253262639 --0.26852773875 -0.680509537458 --0.268527254462 -0.697765529156 --0.268527701497 -0.715021729469 --0.268529109657 -0.732277795672 --0.26853146404 -0.7495341748 --0.268534772098 -0.766790568828 --0.26853902638 -0.784047394991 --0.268544256687 -0.801304340362 --0.268550418317 -0.818561822176 --0.268557533622 -0.835819587112 --0.268565565348 -0.853078007698 --0.268569931388 -0.872299343348 --0.268565818667 -0.89151905477 --0.268557749688 -0.908777296543 --0.268550634384 -0.926035240293 --0.268544450402 -0.943292558193 --0.268539205193 -0.960549682379 --0.26853492111 -0.977806314826 --0.268531568349 -0.995062902569 --0.268529161811 -1.01231914758 --0.26852773875 -1.0295754075 --0.268527254462 -1.0468313992 --0.268527701497 -1.06408756971 --0.268529109657 -1.08134365082 --0.26853146404 -1.09860005975 --0.268534772098 -1.11585643888 --0.26853902638 -1.13311323523 --0.268544256687 -1.1503701806 --0.268550440669 -1.16762769222 --0.268557555974 -1.18488544225 --0.268565565348 -1.20214384794 --0.268569931388 -1.22136518359 --0.268565818667 -1.24058488011 --0.268557749688 -1.25784313679 --0.268550634384 -1.27510109544 --0.268544428051 -1.29235839843 --0.268539182842 -1.30961552262 --0.26853492111 -1.32687216997 --0.268531583249 -1.34412872791 --0.268529176712 -1.36138492822 --0.26852773875 -1.37864121795 --0.268527254462 -1.39589723944 --0.268527701497 -1.41315343976 --0.268529109657 -1.43040952087 --0.268531486392 -1.44766589999 --0.26853479445 -1.46492227912 --0.26853902638 -1.48217910528 --0.268544256687 -1.49943605065 --0.268550418317 -1.51669353247 --0.268557555973 -1.5339512825 --0.2685655877 -1.55120968819 --0.268569931388 -1.57043102384 --0.268565833569 -1.58965075016 --0.26855776459 -1.60690900684 --0.268550634384 -1.62416693568 --0.268544450402 -1.64142426848 --0.268539205193 -1.65868139267 --0.26853492111 -1.67593804002 --0.268531583249 -1.69319462776 --0.268529176712 -1.71045082808 --0.26852773875 -1.72770708799 --0.268527254462 -1.74496307969 --0.268527701497 -1.7622192502 --0.268529109657 -1.77947533131 --0.26853146404 -1.79673174024 --0.268534772098 -1.81398811936 --0.26853902638 -1.83124491572 --0.268544256687 -1.84850186109 --0.268550418317 -1.86575937271 --0.268557533622 -1.88301709294 --0.268565565348 -1.90027552843 --0.268569931388 -1.91949692368 --0.268565818667 -1.9387165904 --0.268557749688 -1.95597484708 --0.268550612032 -1.97323280573 --0.26854442805 -1.99049007892 --0.268539205193 -2.00774720311 --0.26853492111 -2.02500385046 --0.268531568349 -2.0422604084 --0.268529161811 -2.05951660871 --0.26852773875 -2.07677286863 --0.268527254462 -2.09402889013 --0.268527701497 -2.11128509045 --0.268529109657 -2.12854117155 --0.26853146404 -2.14579755068 --0.268534772098 -2.16305392981 --0.26853902638 -2.18031078577 --0.268544256687 -2.19756776094 --0.268550418317 -2.21482521296 --0.268557533622 -2.23208290338 --0.268565565348 -2.24934136867 --0.268569931388 -2.26856279373 --0.268565818667 -2.28778249025 --0.268557749688 -2.30504071713 --0.268550612032 -2.32229864598 --0.268544405699 -2.33955591917 --0.268539182842 -2.35681307316 --0.26853492111 -2.37406975031 --0.268531583249 -2.39132630825 --0.268529176712 -2.40858250856 --0.26852773875 -2.42583876848 --0.268527254462 -2.44309478998 --0.268527701497 -2.46035099029 --0.268529109657 -2.4776070118 --0.268531486392 -2.49486345053 --0.268534816802 -2.51211988926 --0.268539048731 -2.52937662601 --0.268544256687 -2.54663354158 --0.268550418317 -2.5638910532 --0.268557533622 -2.58114880324 --0.268565565348 -2.59840720892 --0.268569931388 -2.61762857437 --0.268565818667 -2.63684827089 --0.268557749688 -2.65410649776 --0.268550612032 -2.67136442661 --0.26854442805 -2.68862175941 --0.268539205193 -2.7058789134 --0.26853492111 -2.72313553095 --0.268531583249 -2.7403921485 --0.268529176712 -2.75764840842 --0.26852773875 -2.77490466833 --0.268527254462 -2.79216063023 --0.268527701497 -2.80941683054 --0.268529109657 -2.82667297125 --0.26853146404 -2.84392935038 --0.268534772098 -2.8611857295 --0.26853902638 -2.87844252586 --0.268544256687 -2.89569938183 --0.268550418317 -2.91295689344 --0.268557533622 -2.93021470308 --0.268565565348 -2.94747310877 --0.268569931388 -2.96669441462 --0.268565833569 -2.98591417074 --0.268557786942 -3.00317245722 --0.268550634384 -3.02043032646 --0.268544405699 -3.03768765926 --0.268539182842 -3.05494481325 --0.26853492111 -3.0722014308 --0.268531583249 -3.08945798874 --0.268529176712 -3.10671418906 --0.26852773875 -3.12397044897 --0.268527254462 -3.14122650226 --0.268527701497 --3.12470257282 --0.268529109657 --3.10744649172 --0.26853146404 --3.09019011259 --0.26853479445 --3.07293373347 --0.268539048731 --3.0556768775 --0.268544256687 --3.03841996193 --0.268550418317 --3.02116250992 --0.268557533622 --3.00390475988 --0.268565565348 --2.9866463542 --0.268569931388 --2.96742504835 --0.268565818667 --2.94820535183 --0.268557749688 --2.93094706535 --0.268550634384 --2.9136891365 --0.268544450402 --2.89643180371 --0.268539205193 --2.87917464971 --0.26853492111 --2.86191803217 --0.268531583249 --2.84466147423 --0.268529176712 --2.82740527391 --0.26852773875 --2.810149014 --0.268527254462 --2.7928929925 --0.268527701497 --2.77563679218 --0.268529109657 --2.75838071108 --0.268531486392 --2.74112433195 --0.26853479445 --2.72386795283 --0.26853902638 --2.70661109686 --0.268544256687 --2.68935412169 --0.268550440669 --2.67209666968 --0.268557555974 --2.65483897925 --0.268565565348 --2.63758051396 --0.268569931388 --2.6183590889 --0.268565818667 --2.59913939238 --0.268557749688 --2.58188122511 --0.268550612032 --2.56462329626 --0.268544405699 --2.54736596346 --0.268539182842 --2.53010880947 --0.26853492111 --2.51285213232 --0.268531583249 --2.49559563399 --0.268529176712 --2.47833943367 --0.26852773875 --2.46108311415 --0.268527254462 --2.44382715225 --0.268527701497 --2.42657095194 --0.268529109657 --2.40931487083 --0.26853146404 --2.3920584917 --0.268534772098 --2.37480211258 --0.26853902638 --2.35754531622 --0.268544256687 --2.34028834104 --0.268550418317 --2.32303082943 --0.268557533622 --2.3057730794 --0.268565565348 --2.28851467371 --0.268569931388 --2.26929330826 --0.268565818667 --2.25007361174 --0.268557749688 --2.23281538486 --0.268550634384 --2.21555739641 --0.268544450402 --2.19830006361 --0.268539205193 --2.18104296923 --0.26853492111 --2.16378635168 --0.268531568349 --2.14652973414 --0.268529161811 --2.12927347422 --0.26852773875 --2.1120172143 --0.268527254462 --2.0947612524 --0.268527701497 --2.07750505209 --0.268529109657 --2.06024897099 --0.26853146404 --2.04299259186 --0.268534772098 --2.02573615313 --0.26853902638 --2.00847935677 --0.268544256687 --1.991222471 --0.268550440669 --1.97396498918 --0.268557555974 --1.95670723915 --0.268565565348 --1.93944883346 --0.268569931388 --1.92022749782 --0.268565818667 --1.90100777149 --0.268557749688 --1.88374951482 --0.268550634384 --1.86649158597 --0.268544428051 --1.84923425317 --0.268539182842 --1.83197712898 --0.26853492111 --1.81472048163 --0.268531583249 --1.79746389389 --0.268529176712 --1.78020769357 --0.26852773875 --1.76295143366 --0.268527254462 --1.74569544196 --0.268527701497 --1.72843921185 --0.268529109657 --1.71118313074 --0.268531486392 --1.69392678142 --0.26853479445 --1.67667037249 --0.26853902638 --1.65941357613 --0.268544256687 --1.64215666056 --0.268550418317 --1.62489914894 --0.268557555973 --1.60764139891 --0.2685655877 --1.59038296342 --0.268569931388 --1.57116159797 --0.268565833569 --1.55194190145 --0.26855776459 --1.53468364477 --0.268550634384 --1.51742571592 --0.268544450402 --1.50016841292 --0.268539205193 --1.48291125894 --0.26853492111 --1.46565461159 --0.268531583249 --1.44839802385 --0.268529176712 --1.43114182353 --0.26852773875 --1.41388556361 --0.268527254462 --1.39662954211 --0.268527701497 --1.3793733716 --0.268529109657 --1.3621172905 --0.26853146404 --1.34486091137 --0.268534772098 --1.32760456204 --0.26853902638 --1.31034773588 --0.268544256687 --1.29309076071 --0.268550418317 --1.27583324909 --0.268557533622 --1.25857552886 --0.268565565348 --1.24131715298 --0.268569931388 --1.22209578753 --0.268565818667 --1.2028760612 --0.268557749688 --1.18561780453 --0.268550612032 --1.16835984588 --0.26854442805 --1.15110254287 --0.268539205193 --1.13384544849 --0.26853492111 --1.11658880115 --0.268531568349 --1.0993322134 --0.268529161811 --1.08207601309 --0.26852773875 --1.06481975317 --0.268527254462 --1.04756373167 --0.268527701497 --1.03030753135 --0.268529109657 --1.01305145025 --0.26853146404 --0.995795041322 --0.268534772098 --0.978538662195 --0.26853902638 --0.961281865835 --0.268544256687 --0.944024920464 --0.268550418317 --0.92676743865 --0.268557533622 --0.909509718418 --0.268565565348 --0.892251282931 --0.268569931388 --0.873029902578 --0.268565818667 --0.853810191154 --0.268557749688 --0.836551949382 --0.268550612032 --0.819294005632 --0.268544405699 --0.802036702633 --0.268539182842 --0.784779578448 --0.26853492111 --0.767522931099 --0.268531583249 --0.750266358257 --0.268529176712 --0.733010143042 --0.26852773875 --0.715753883123 --0.268527254462 --0.698497876525 --0.268527701497 --0.681241691112 --0.268529109657 --0.663985624909 --0.268531486392 --0.646729215979 --0.268534816802 --0.629472821951 --0.268539048731 --0.61221601069 --0.268544256687 --0.594959080219 --0.268550418317 --0.577701598406 --0.268557533622 --0.560443848371 --0.268565565348 --0.543185427785 --0.268569931388 --0.523964077234 --0.268565818667 --0.504744365811 --0.268557749688 --0.487486109138 --0.268550612032 --0.470228180289 --0.26854442805 --0.452970862389 --0.268539205193 --0.435713723302 --0.26853492111 --0.418457090855 --0.268531583249 --0.401200510561 --0.268529176712 --0.383944302797 --0.26852773875 --0.366688035428 --0.268527254462 --0.34943202883 --0.268527701497 --0.332175828516 --0.268529109657 --0.314919732511 --0.26853146404 --0.297663353384 --0.268534772098 --0.280406974256 --0.26853902638 --0.263150155544 --0.268544256687 --0.245893217623 --0.268550418317 --0.228635732085 --0.268557533622 --0.211377985775 --0.268565565348 --0.194119565189 --0.268569931388 --0.174898214638 --0.251228310168 --0.155670553446 --0.251220740378 --0.138412334025 --0.251214038581 --0.121154425666 --0.251208208501 --0.10389713943 --0.251203298569 --0.0866400375962 --0.251199297607 --0.069383431226 --0.251196175814 --0.0521268872544 --0.251193910837 --0.0348707139492 --0.251192551106 --0.0176144812722 --0.251192111522 --0.000358497025445 --0.251192528754 -0.016897671856 --0.251193851232 -0.0341537185013 --0.251196056604 -0.0514100715518 --0.251199182123 -0.0686664246023 --0.251203190535 -0.0859232079238 --0.251208078116 -0.103180117905 --0.25121384114 -0.120437579229 --0.251220524311 -0.137695282698 --0.251228075475 -0.154953666031 --0.251232162118 -0.17417531088 --0.251228310168 -0.193395297974 --0.251220740378 -0.21065351367 --0.251214057207 -0.227911420167 --0.251208249479 -0.245168700814 --0.251203320921 -0.262425802648 --0.251199278981 -0.279682420194 --0.251196138561 -0.296938963235 --0.251193892211 -0.314195126295 --0.251192551106 -0.331451363862 --0.251192111522 -0.348707348108 --0.251192528754 -0.365963511169 --0.251193851232 -0.383219562471 --0.251196078956 -0.400475919247 --0.251199182123 -0.417732268572 --0.251203168184 -0.434989057481 --0.251208078116 -0.4522459656 --0.251213863492 -0.469503417611 --0.251220546663 -0.486761137843 --0.251228075475 -0.504019513727 --0.251232162118 -0.523241147399 --0.251228310168 -0.542461156845 --0.251220740378 -0.559719383717 --0.251214038581 -0.576977297664 --0.251208208501 -0.594234570861 --0.251203298569 -0.611491650343 --0.251199297607 -0.628748252988 --0.251196157187 -0.646004810929 --0.251193910837 -0.663260996342 --0.251192569733 -0.680517226457 --0.251192111522 -0.697773203254 --0.251192528754 -0.715029373765 --0.251193851232 -0.732285425067 --0.251196056604 -0.749541774392 --0.251199159771 -0.766798123718 --0.251203168184 -0.784054905176 --0.251208078116 -0.801311820746 --0.251213863492 -0.818569287658 --0.251220546663 -0.83582700789 --0.251228075475 -0.853085398674 --0.251232162118 -0.872307017445 --0.251228310168 -0.891526997089 --0.251220740378 -0.908785223961 --0.251214038581 -0.926043137908 --0.251208230853 -0.943300411105 --0.251203320921 -0.960557505489 --0.251199297607 -0.977814123035 --0.251196175814 -0.995070666073 --0.251193910837 -1.01232683659 --0.251192551106 -1.0295830965 --0.251192111522 -1.0468390882 --0.251192528754 -1.06409522891 --0.251193851232 -1.08135128021 --0.251196056604 -1.09860762954 --0.251199159771 -1.11586397886 --0.251203168184 -1.13312077522 --0.251208078116 -1.15037769079 --0.251213863492 -1.1676351428 --0.251220546663 -1.18489286303 --0.251228075475 -1.20215123892 --0.251232162118 -1.22137284279 --0.251228310168 -1.24059283734 --0.251220740378 -1.25785106421 --0.251214038581 -1.27510896325 --0.251208208501 -1.29236623644 --0.251203298569 -1.30962333083 --0.251199297607 -1.32687994838 --0.251196157187 -1.34413650632 --0.251193892211 -1.36139267683 --0.251192551106 -1.37864890695 --0.251192111522 -1.39590489864 --0.251192528754 -1.41316106916 --0.251193851232 -1.43041709066 --0.251196078956 -1.44767346978 --0.251199182123 -1.46492984891 --0.251203168184 -1.48218661547 --0.251208078116 -1.49944350123 --0.25121384114 -1.51670095324 --0.251220505684 -1.53395867347 --0.251228056848 -1.55121704936 --0.251232162118 -1.57043868303 --0.251228310168 -1.58965870738 --0.251220740378 -1.60691693425 --0.251214057207 -1.6241748333 --0.251208249479 -1.6414321363 --0.251203320921 -1.65868923068 --0.251199297607 -1.67594581842 --0.251196175814 -1.69320234656 --0.251193910837 -1.71045854687 --0.251192551106 -1.72771480679 --0.251192111522 -1.74497076869 --0.251192528754 -1.7622269094 --0.251193851232 -1.7794829607 --0.251196056604 -1.79673931002 --0.251199159771 -1.81399565935 --0.251203168184 -1.83125245571 --0.251208078116 -1.84850937128 --0.251213863492 -1.86576685309 --0.251220546663 -1.88302454352 --0.251228075475 -1.90028291941 --0.251232162118 -1.91950458288 --0.251228310168 -1.93872454763 --0.251220740378 -1.9559827745 --0.251214038581 -1.97324070334 --0.251208230853 -1.99049794674 --0.251203320921 -2.00775507093 --0.251199297607 -2.02501171828 --0.251196175814 -2.04226821661 --0.251193910837 -2.05952435732 --0.251192551106 -2.07678061724 --0.251192111522 -2.09403663874 --0.251192528754 -2.11129277945 --0.251193851232 -2.12854880094 --0.251196056604 -2.14580512047 --0.251199159771 -2.16306143999 --0.251203168184 -2.18031829595 --0.251208078116 -2.19757527113 --0.251213863492 -2.21483272314 --0.251220546663 -2.23209041357 --0.251228075475 -2.24934875965 --0.251232162118 -2.26857042312 --0.251228310168 -2.28779041767 --0.251220740378 -2.30504858494 --0.251214038581 -2.32230651379 --0.251208208501 -2.33956384659 --0.251203298569 -2.35682094097 --0.251199297607 -2.37407749892 --0.251196157187 -2.39133399725 --0.251193892211 -2.40859013796 --0.251192551106 -2.42584639788 --0.251192111522 -2.44310241938 --0.251192528754 -2.46035861969 --0.251193851232 -2.47761464119 --0.251196078956 -2.49487102032 --0.251199204475 -2.51212745905 --0.251203190535 -2.52938419581 --0.251208078116 -2.54664105177 --0.251213863492 -2.56389850378 --0.251220546663 -2.58115619421 --0.251228075475 -2.59841459989 --0.251232162118 -2.61763626337 --0.251228310168 -2.63685625791 --0.251220740378 -2.65411442518 --0.251214038581 -2.67137229443 --0.251208230853 -2.68862962723 --0.251203320921 -2.70588672161 --0.251199278981 -2.72314333916 --0.251196157187 -2.7403999567 --0.251193910837 -2.75765615702 --0.251192551106 -2.77491235733 --0.251192111522 -2.79216825962 --0.251192528754 -2.80942440033 --0.251193851232 -2.82668048143 --0.251196056604 -2.84393686056 --0.251199159771 -2.86119323969 --0.251203168184 -2.87844997644 --0.251208078116 -2.89570683241 --0.251213863492 -2.91296434403 --0.251220546663 -2.93022209406 --0.251228075475 -2.94748049975 --0.251232162118 -2.96670210361 --0.251228310168 -2.98592209816 --0.251220740378 -3.00318038463 --0.251214038581 -3.02043825388 --0.251208208501 -3.03769552708 --0.251203298569 -3.05495268107 --0.251199297607 -3.07220929861 --0.251196175814 -3.08946579695 --0.251193910837 -3.10672193766 --0.251192551106 -3.12397819758 --0.251192111522 -3.14123419126 --0.251192528754 --3.12469500303 --0.251193851232 --3.10743898153 --0.251196056604 --3.09018260241 --0.251199182123 --3.07292622328 --0.251203190535 --3.05566942692 --0.251208078116 --3.03841257095 --0.25121384114 --3.02115511894 --0.251220524311 --3.00389736891 --0.251228075475 --2.98663896322 --0.251232162118 --2.96741735935 --0.251228310168 --2.94819742441 --0.251220740378 --2.93093913793 --0.251214057207 --2.91368120909 --0.251208249479 --2.89642393589 --0.251203320921 --2.8791667819 --0.251199278981 --2.86191016436 --0.251196138561 --2.84465366602 --0.251193892211 --2.82739752531 --0.251192551106 --2.81014126539 --0.251192111522 --2.79288524389 --0.251192528754 --2.77562910319 --0.251193851232 --2.75837308168 --0.251196078956 --2.74111676216 --0.251199182123 --2.72386044264 --0.251203168184 --2.70660358668 --0.251208078116 --2.6893466115 --0.251213863492 --2.67208915949 --0.251220546663 --2.65483146906 --0.251228075475 --2.63757312298 --0.251232162118 --2.6183514595 --0.251228310168 --2.59913146496 --0.251220740378 --2.58187329769 --0.251214038581 --2.56461536884 --0.251208208501 --2.54735809565 --0.251203298569 --2.53010100126 --0.251199297607 --2.51284438372 --0.251196157187 --2.49558788538 --0.251193910837 --2.47833174467 --0.251192569733 --2.46107548475 --0.251192111522 --2.44381946325 --0.251192528754 --2.42656326294 --0.251193851232 --2.40930724144 --0.251196056604 --2.39205086231 --0.251199159771 --2.37479448319 --0.251203168184 --2.35753774643 --0.251208078116 --2.34028083086 --0.251213863492 --2.32302337885 --0.251220546663 --2.30576568842 --0.251228075475 --2.28850728273 --0.251232162118 --2.26928561926 --0.251228310168 --2.25006562471 --0.251220740378 --2.23280745745 --0.251214038581 --2.2155495882 --0.251208230853 --2.1982922554 --0.251203320921 --2.18103516102 --0.251199297607 --2.16377854347 --0.251196175814 --2.14652192593 --0.251193910837 --2.12926572561 --0.251192551106 --2.1120095253 --0.251192111522 --2.09475362301 --0.251192528754 --2.0774974823 --0.251193851232 --2.0602414012 --0.251196056604 --2.04298502207 --0.251199159771 --2.02572864294 --0.251203168184 --2.00847187638 --0.251208078116 --1.99121499062 --0.251213863492 --1.97395753861 --0.251220546663 --1.95669981837 --0.251228075475 --1.93944141269 --0.251232162118 --1.92021980882 --0.251228310168 --1.90099981427 --0.251220740378 --1.8837415874 --0.251214038581 --1.86648368835 --0.251208208501 --1.84922638536 --0.251203298569 --1.83196929097 --0.251199297607 --1.81471267343 --0.251196157187 --1.79745611549 --0.251193892211 --1.78019994497 --0.251192551106 --1.76294371486 --0.251192111522 --1.74568775296 --0.251192528754 --1.72843158245 --0.251193851232 --1.71117553115 --0.251196078956 --1.69391921162 --0.251199182123 --1.6766628325 --0.251203168184 --1.65940603614 --0.251208078116 --1.64214915037 --0.25121384114 --1.62489166856 --0.251220505684 --1.60763394833 --0.251228056848 --1.59037557245 --0.251232162118 --1.57115393877 --0.251228310168 --1.55193397403 --0.251220740378 --1.53467574716 --0.251214057207 --1.51741781831 --0.251208249479 --1.50016054511 --0.251203320921 --1.48290342093 --0.251199297607 --1.46564680338 --0.251196175814 --1.44839027524 --0.251193910837 --1.43113410473 --0.251192551106 --1.41387787461 --0.251192111522 --1.39662188291 --0.251192528754 --1.37936571241 --0.251193851232 --1.3621096611 --0.251196056604 --1.34485331178 --0.251199159771 --1.32759699225 --0.251203168184 --1.31034019589 --0.251208078116 --1.29308325052 --0.251213863492 --1.27582579851 --0.251220546663 --1.25856810808 --0.251228075475 --1.2413097322 --0.251232162118 --1.22208806872 --0.251228310168 --1.20286807418 --0.251220740378 --1.18560987711 --0.251214038581 --1.16835197806 --0.251208230853 --1.15109470486 --0.251203320921 --1.13383761048 --0.251199297607 --1.11658099294 --0.251196175814 --1.09932443499 --0.251193910837 --1.08206826448 --0.251192551106 --1.06481203437 --0.251192111522 --1.04755604267 --0.251192528754 --1.03029987216 --0.251193851232 --1.01304382086 --0.251196056604 --0.995787471531 --0.251199159771 --0.978531137108 --0.251203168184 --0.96127435565 --0.251208078116 --0.94401744008 --0.251213863492 --0.926759988069 --0.251220546663 --0.909502282739 --0.251228075475 --0.892243877053 --0.251232162118 --0.873022213578 --0.251228310168 --0.853802248836 --0.251220740378 --0.836544051767 --0.251214038581 --0.819286122918 --0.251208208501 --0.80202883482 --0.251203298569 --0.784771725536 --0.251199297607 --0.76751512289 --0.251196157187 --0.750258594751 --0.251193892211 --0.73300242424 --0.251192551106 --0.715746194124 --0.251192111522 --0.698490217328 --0.251192528754 --0.681234046817 --0.251193851232 --0.663977995515 --0.251196078956 --0.64672164619 --0.251199204475 --0.629465267062 --0.251203190535 --0.612208470702 --0.251208078116 --0.594951584935 --0.251213863492 --0.577694132924 --0.251220546663 --0.560436397791 --0.251228075475 --0.543178007006 --0.251232162118 --0.523956403136 --0.251228310168 --0.504736408591 --0.251220740378 --0.48747818172 --0.251214038581 --0.470220290124 --0.251208230853 --0.452963009477 --0.251203320921 --0.435705900192 --0.251199278981 --0.418449275196 --0.251196157187 --0.401192732155 --0.251193910837 --0.383936569095 --0.251192551106 --0.366680331528 --0.251192111522 --0.349424347282 --0.251192528754 --0.332168176771 --0.251193851232 --0.314912132919 --0.251196056604 --0.297655783593 --0.251199159771 --0.280399419367 --0.251203168184 --0.263142630458 --0.251208078116 --0.24588572979 --0.251213863492 --0.228628281504 --0.251220546663 --0.211370568722 --0.251228075475 --0.194112181663 --0.251232162118 --0.174890544265 --0.233900364488 --0.155662834644 --0.233893282711 --0.138404652476 --0.233887013048 --0.12114677392 --0.2338815853 --0.103889517486 --0.233877006918 --0.0866324491799 --0.233873259276 --0.0693758716807 --0.233870342374 --0.0521193556487 --0.233868233859 --0.0348632130772 --0.233866970986 --0.0176070106681 --0.233866557479 --0.000351056456568 --0.23386695236 -0.0169050816912 --0.233868192881 -0.0341610978357 --0.233870245516 -0.0514174206182 --0.233873147517 -0.068673742935 --0.233876895159 -0.0859304927289 --0.233881473541 -0.103187371046 --0.233886860311 -0.120444806293 --0.233893092721 -0.137702487409 --0.233900137246 -0.15496084094 --0.233903963119 -0.17418275401 --0.233900364488 -0.193403013051 --0.233893282711 -0.210661198944 --0.233887031674 -0.227919075638 --0.233881603926 -0.245176330209 --0.233877006918 -0.26243340224 --0.23387324065 -0.279689989984 --0.233870305121 -0.296946503222 --0.233868215233 -0.31420262903 --0.233866970986 -0.331458829343 --0.233866557479 -0.348714783788 --0.23386695236 -0.365970924497 --0.233868192881 -0.383226945996 --0.233870245516 -0.400483280421 --0.233873147517 -0.417739599943 --0.233876895159 -0.434996344149 --0.233881473541 -0.452253229916 --0.233886860311 -0.469510659576 --0.233893092721 -0.486768327653 --0.233900137246 -0.504026666284 --0.233903963119 -0.523248583079 --0.233900364488 -0.542468860745 --0.233893282711 -0.559727042913 --0.233887013048 -0.576984927058 --0.2338815853 -0.594242185354 --0.233877006918 -0.611499235034 --0.233873259276 -0.628755807876 --0.233870323747 -0.646012336016 --0.233868233859 -0.663268476724 --0.233866989612 -0.680524691939 --0.233866557479 -0.697780653834 --0.23386695236 -0.715036779642 --0.233868192881 -0.732292801141 --0.233870245516 -0.749549120664 --0.233873147517 -0.766805425286 --0.233876895159 -0.784062176943 --0.233881473541 -0.801319077611 --0.233886860311 -0.818576529622 --0.233893092721 -0.835834205151 --0.233900137246 -0.853092551231 --0.233903963119 -0.872314468026 --0.233900364488 -0.891534730792 --0.233893282711 -0.90879291296 --0.233887013048 -0.926050782204 --0.2338815853 -0.943308025599 --0.233877006918 -0.96056509018 --0.233873259276 -0.977821677923 --0.233870342374 -0.995078191161 --0.233868233859 -1.01233431697 --0.233866970986 -1.02959054709 --0.233866557479 -1.04684650898 --0.23386695236 -1.06410261989 --0.233868192881 -1.08135864139 --0.233870264143 -1.09861496091 --0.233873166144 -1.11587128043 --0.233876895159 -1.13312804699 --0.233881473541 -1.15038493276 --0.233886860311 -1.16764235496 --0.233893092721 -1.18490004539 --0.233900137246 -1.20215839148 --0.233903963119 -1.22138029337 --0.233900364488 -1.24060055613 --0.233893282711 -1.2578587234 --0.233887013048 -1.27511659264 --0.2338815853 -1.29237386584 --0.233877006918 -1.30963096023 --0.233873259276 -1.32688754797 --0.233870323747 -1.34414407611 --0.233868215233 -1.36140018702 --0.233866970986 -1.37865635753 --0.233866557479 -1.39591231942 --0.23386695236 -1.41316846013 --0.233868192881 -1.43042448163 --0.233870245516 -1.44768083095 --0.233873147517 -1.46493718028 --0.233876895159 -1.48219391704 --0.233881473541 -1.499450773 --0.233886860311 -1.51670819521 --0.233893074095 -1.53396585584 --0.233900118619 -1.55122420192 --0.233903963119 -1.57044613361 --0.233900364488 -1.58966642618 --0.233893282711 -1.60692462325 --0.233887031674 -1.62418249249 --0.233881603926 -1.64143973589 --0.233877006918 -1.65869680047 --0.233873259276 -1.67595335841 --0.233870342374 -1.69320985675 --0.233868233859 -1.71046602726 --0.233866970986 -1.72772225738 --0.233866557479 -1.74497821927 --0.23386695236 -1.76223435998 --0.233868192881 -1.77949035168 --0.233870245516 -1.7967466414 --0.233873147517 -1.81400296092 --0.233876895159 -1.83125972748 --0.233881473541 -1.84851661325 --0.233886860311 -1.86577406526 --0.233893092721 -1.88303175569 --0.233900137246 -1.90029010177 --0.233903963119 -1.91951200366 --0.233900364488 -1.93873226643 --0.233893282711 -1.9559904635 --0.233887013048 -1.97324833274 --0.2338815853 -1.99050557614 --0.233877006918 -2.00776267052 --0.233873259276 -2.02501922846 --0.233870342374 -2.0422757268 --0.233868233859 -2.05953186751 --0.233866970986 -2.07678806782 --0.233866557479 -2.09404408932 --0.23386695236 -2.11130023003 --0.233868192881 -2.12855619192 --0.233870245516 -2.14581245184 --0.233873147517 -2.16306877136 --0.233876895159 -2.18032556772 --0.233881473541 -2.19758248329 --0.233886860311 -2.2148399353 --0.233893092721 -2.23209762573 --0.233900137246 -2.24935597181 --0.233903963119 -2.2685778737 --0.233900364488 -2.28779810667 --0.233893282711 -2.30505627394 --0.233887013048 -2.32231414318 --0.2338815853 -2.33957141638 --0.233877006918 -2.35682851076 --0.233873259276 -2.3740850687 --0.233870323747 -2.39134156704 --0.233868215233 -2.40859770775 --0.233866970986 -2.42585390806 --0.233866557479 -2.44310986996 --0.23386695236 -2.46036601067 --0.233868192881 -2.47762203216 --0.233870264143 -2.49487841129 --0.233873166144 -2.51213473082 --0.233876895159 -2.52939146757 --0.233881473541 -2.54664832354 --0.233886860311 -2.56390571594 --0.233893092721 -2.58116340637 --0.233900137246 -2.59842181206 --0.233903963119 -2.61764371395 --0.233900364488 -2.63686394691 --0.233893282711 -2.65412211418 --0.233887013048 -2.67137998343 --0.2338815853 -2.68863731622 --0.233877006918 -2.705894351 --0.23387324065 -2.72315090895 --0.233870323747 -2.74040746689 --0.233868233859 -2.7576636076 --0.233866970986 -2.77491980791 --0.233866557479 -2.7921757102 --0.23386695236 -2.80943185091 --0.233868192881 -2.82668787241 --0.233870245516 -2.84394419193 --0.233873147517 -2.86120051146 --0.233876895159 -2.87845724821 --0.233881473541 -2.89571416378 --0.233886860311 -2.91297161579 --0.233893092721 -2.93022924662 --0.233900137246 -2.9474875927 --0.233903963119 -2.96670955419 --0.233900364488 -2.98592984676 --0.233893282711 -3.00318807364 --0.233887013048 -3.02044594288 --0.2338815853 -3.03770315647 --0.233877006918 -3.05496025085 --0.233873259276 -3.07221680879 --0.233870342374 -3.08947330713 --0.233868233859 -3.10672944784 --0.233866970986 -3.12398564815 --0.233866557479 -3.14124158223 --0.23386695236 --3.12468761205 --0.233868192881 --3.10743159056 --0.233870245516 --3.09017527104 --0.233873147517 --3.07291895151 --0.233876895159 --3.05566221476 --0.233881473541 --3.03840529919 --0.233886860311 --3.02114784718 --0.233893092721 --3.00389021635 --0.233900137246 --2.98663187027 --0.233903963119 --2.96740990877 --0.233900364488 --2.9481896162 --0.233893282711 --2.93093138933 --0.233887031674 --2.91367352009 --0.233881603926 --2.8964163065 --0.233877006918 --2.87915921211 --0.23387324065 --2.86190265417 --0.233870305121 --2.84464615583 --0.233868215233 --2.82739001513 --0.233866970986 --2.81013381481 --0.233866557479 --2.79287779331 --0.23386695236 --2.7756216526 --0.233868192881 --2.75836569071 --0.233870245516 --2.74110943079 --0.233873147517 --2.72385311127 --0.233876895159 --2.70659631491 --0.233881473541 --2.68933939934 --0.233886860311 --2.67208194733 --0.233893092721 --2.6548242569 --0.233900137246 --2.63756597042 --0.233903963119 --2.61834406853 --0.233900364488 --2.59912377596 --0.233893282711 --2.58186560869 --0.233887013048 --2.56460773945 --0.2338815853 --2.54735052586 --0.233877006918 --2.53009343147 --0.233873259276 --2.51283681392 --0.233870323747 --2.49558031559 --0.233868233859 --2.47832423449 --0.233866989612 --2.46106797457 --0.233866557479 --2.44381195307 --0.23386695236 --2.42655587196 --0.233868192881 --2.40929985047 --0.233870245516 --2.39204347134 --0.233873147517 --2.37478715181 --0.233876895159 --2.35753041506 --0.233881473541 --2.34027355909 --0.233886860311 --2.32301610708 --0.233893092721 --2.30575841665 --0.233900137246 --2.28850007057 --0.233903963119 --2.26927816868 --0.233900364488 --2.25005793571 --0.233893282711 --2.23279976845 --0.233887013048 --2.2155418992 --0.2338815853 --2.198284626 --0.233877006918 --2.18102759123 --0.233873259276 --2.16377097368 --0.233870342374 --2.14651441574 --0.233868233859 --2.12925827503 --0.233866970986 --2.11200207472 --0.233866557479 --2.09474617243 --0.23386695236 --2.07749003172 --0.233868192881 --2.06023401022 --0.233870264143 --2.0429776907 --0.233873166144 --2.02572137117 --0.233876895159 --2.00846463442 --0.233881473541 --1.99120771885 --0.233886860311 --1.97395029664 --0.233893092721 --1.95669263602 --0.233900137246 --1.93943426013 --0.233903963119 --1.92021235824 --0.233900364488 --1.90099209547 --0.233893282711 --1.8837338984 --0.233887013048 --1.86647602916 --0.2338815853 --1.84921875596 --0.233877006918 --1.83196169138 --0.233873259276 --1.81470513344 --0.233870323747 --1.7974486053 --0.233868215233 --1.78019246459 --0.233866970986 --1.76293626428 --0.233866557479 --1.74568030239 --0.23386695236 --1.72842416168 --0.233868192881 --1.71116816998 --0.233870245516 --1.69391185045 --0.233873147517 --1.67665550112 --0.233876895159 --1.65939873457 --0.233881473541 --1.6421418786 --0.233886860311 --1.6248844564 --0.233893074095 --1.60762676597 --0.233900118619 --1.59036841989 --0.233903963119 --1.57114648819 --0.233900364488 --1.55192622542 --0.233893282711 --1.53466802835 --0.233887031674 --1.51741015911 --0.233881603926 --1.50015291572 --0.233877006918 --1.48289582134 --0.233873259276 --1.46563926339 --0.233870342374 --1.44838276506 --0.233868233859 --1.43112659455 --0.233866970986 --1.41387039423 --0.233866557479 --1.39661446214 --0.23386695236 --1.37935832143 --0.233868192881 --1.36210229993 --0.233870245516 --1.34484598041 --0.233873147517 --1.32758966088 --0.233876895159 --1.31033289432 --0.233881473541 --1.29307600856 --0.233886860311 --1.27581858635 --0.233893092721 --1.25856089592 --0.233900137246 --1.24130254984 --0.233903963119 --1.22208064795 --0.233900364488 --1.20286038518 --0.233893282711 --1.18560221791 --0.233887013048 --1.16834434867 --0.2338815853 --1.15108707547 --0.233877006918 --1.13383001089 --0.233873259276 --1.11657342315 --0.233870342374 --1.09931689501 --0.233868233859 --1.0820607841 --0.233866970986 --1.06480458379 --0.233866557479 --1.04754862189 --0.23386695236 --1.03029248119 --0.233868192881 --1.01303645968 --0.233870245516 --0.995780140162 --0.233873147517 --0.978523820639 --0.233876895159 --0.961267068982 --0.233881473541 --0.944010198116 --0.233886860311 --0.926752761006 --0.233893092721 --0.909495070576 --0.233900137246 --0.892236709595 --0.233903963119 --0.8730147928 --0.233900364488 --0.853794559836 --0.233893282711 --0.836536377668 --0.233887013048 --0.819278478622 --0.2338815853 --0.802021220326 --0.233877006918 --0.784764140844 --0.233873259276 --0.767507568002 --0.233870323747 --0.750251054764 --0.233868215233 --0.732994914055 --0.233866970986 --0.715738728642 --0.233866557479 --0.698482781648 --0.23386695236 --0.681226626038 --0.233868192881 --0.663970589638 --0.233870264143 --0.646714270115 --0.233873166144 --0.629457950592 --0.233876895159 --0.612201184034 --0.233881473541 --0.594944313168 --0.233886860311 --0.577686905861 --0.233893092721 --0.560429215431 --0.233900137246 --0.543170854449 --0.233903963119 --0.523948952555 --0.233900364488 --0.50472868979 --0.233893282711 --0.487470507622 --0.233887013048 --0.470212630928 --0.2338815853 --0.452955372632 --0.233877006918 --0.435698308051 --0.23387324065 --0.418441720307 --0.233870323747 --0.401185207069 --0.233868233859 --0.383929073811 --0.233866970986 --0.366672866047 --0.233866557479 --0.349416911602 --0.23386695236 --0.332160763443 --0.233868192881 --0.314904741943 --0.233870245516 --0.29764842242 --0.233873147517 --0.280392102897 --0.233876895159 --0.263135351241 --0.233881473541 --0.245878469199 --0.233886860311 --0.228621050716 --0.233893092721 --0.211363375187 --0.233900137246 --0.19410501793 --0.233903963119 --0.174883101135 --0.216554630548 --0.155655093491 --0.216548059136 --0.138396944851 --0.216542247683 --0.121139101684 --0.21653721109 --0.103881871328 --0.216532953084 --0.0866248328239 --0.216529455036 --0.0693682841956 --0.216526735574 --0.0521117970347 --0.216524813324 --0.0348556856625 --0.216523647308 --0.0175995151512 --0.216523237526 --0.000343591906132 --0.21652360633 -0.0169125166722 --0.216524772346 -0.0341685027815 --0.216526698321 -0.051424793899 --0.216529384256 -0.0686810845509 --0.21653284505 -0.0859378054738 --0.216537080705 -0.103194652125 --0.216542080045 -0.120452053845 --0.216547876596 -0.137709707022 --0.216554429382 -0.154968027025 --0.216557983309 -0.174190212041 --0.216554630548 -0.193410750479 --0.216548059136 -0.210668906569 --0.216542247683 -0.227926753461 --0.21653721109 -0.245183981955 --0.216532953084 -0.262441024184 --0.216529473662 -0.279697574675 --0.216526754201 -0.296954058111 --0.216524813324 -0.314210169017 --0.216523647308 -0.331466339528 --0.216523237526 -0.34872224927 --0.21652360633 -0.365978360176 --0.21652475372 -0.383234351873 --0.216526679695 -0.400490649045 --0.216529384256 -0.417746946216 --0.21653284505 -0.435003660619 --0.216537080705 -0.452260516584 --0.216542080045 -0.469517916441 --0.216547876596 -0.486775539816 --0.216554429382 -0.504033848643 --0.216557983309 -0.523256063461 --0.216554630548 -0.542476609349 --0.216548059136 -0.559734746814 --0.216542247683 -0.576992601156 --0.21653721109 -0.59424982965 --0.216532953084 -0.611506849527 --0.216529473662 -0.628763392568 --0.216526754201 -0.646019890905 --0.216524813324 -0.663276001811 --0.216523647308 -0.680532187223 --0.216523237526 -0.697788119316 --0.21652360633 -0.715044215321 --0.21652475372 -0.732300192118 --0.216526679695 -0.749556481838 --0.216529384256 -0.766812771559 --0.21653284505 -0.784069493413 --0.216537080705 -0.801326349378 --0.216542080045 -0.818583786488 --0.216547876596 -0.835841432214 --0.216554429382 -0.853099733591 --0.216557983309 -0.872321933508 --0.216554630548 -0.891542464495 --0.216548059136 -0.908800601959 --0.216542247683 -0.926058441401 --0.21653721109 -0.943315684795 --0.216532953084 -0.960572734475 --0.216529455036 -0.977829262614 --0.216526735574 -0.995085746051 --0.216524813324 -1.01234185696 --0.216523647308 -1.02959802747 --0.216523237526 -1.04685395956 --0.21652360633 -1.06411004066 --0.216524772346 -1.08136603236 --0.216526716948 -1.09862235189 --0.216529402882 -1.11587864161 --0.21653284505 -1.13313534856 --0.216537080705 -1.15039217472 --0.216542080045 -1.16764959693 --0.216547876596 -1.18490728736 --0.216554429382 -1.20216557384 --0.216557983309 -1.22138774395 --0.216554630548 -1.24060830474 --0.216548059136 -1.2578664422 --0.216542247683 -1.27512428164 --0.21653721109 -1.29238152504 --0.216532953084 -1.30963858962 --0.216529455036 -1.32689514756 --0.216526735574 -1.3441516161 --0.216524813324 -1.3614076972 --0.216523647308 -1.37866386771 --0.216523237526 -1.39591979981 --0.21652360633 -1.41317591071 --0.21652475372 -1.43043190241 --0.216526661068 -1.44768819213 --0.216529365629 -1.46494451165 --0.21653284505 -1.48220124841 --0.216537080705 -1.49945807457 --0.216542098671 -1.51671546698 --0.216547895223 -1.5339730978 --0.216554429382 -1.55123141408 --0.216557983309 -1.57045361399 --0.216554630548 -1.58967414499 --0.216548059136 -1.60693231225 --0.216542247683 -1.62419018149 --0.21653721109 -1.64144739509 --0.216532953084 -1.65870442986 --0.216529473662 -1.675960958 --0.216526754201 -1.69321742654 --0.216524813324 -1.71047356725 --0.216523647308 -1.72772973776 --0.216523237526 -1.74498566985 --0.21652360633 -1.76224181056 --0.216524772346 -1.77949777246 --0.216526698321 -1.79675403237 --0.216529384256 -1.8140103221 --0.21653284505 -1.83126702905 --0.216537080705 -1.84852388501 --0.216542080045 -1.86578130722 --0.216547876596 -1.88303896785 --0.216554429382 -1.90029731393 --0.216557983309 -1.91951948404 --0.216554630548 -1.93874001503 --0.216548059136 -1.9559981525 --0.216542247683 -1.97325596213 --0.21653721109 -1.99051320553 --0.216532953084 -2.00777027011 --0.216529473662 -2.02502679825 --0.216526754201 -2.04228329658 --0.216524813324 -2.0595394373 --0.216523647308 -2.076795578 --0.216523237526 -2.0940515399 --0.21652360633 -2.111307621 --0.21652475372 -2.12856352329 --0.216526679695 -2.14581984282 --0.216529384256 -2.16307616234 --0.21653284505 -2.1803328991 --0.216537080705 -2.19758975506 --0.216542080045 -2.21484714746 --0.216547876596 -2.23210483789 --0.216554429382 -2.24936318397 --0.216557983309 -2.26858532429 --0.216554630548 -2.28780585527 --0.216548059136 -2.30506402254 --0.216542247683 -2.32232183218 --0.21653721109 -2.33957904577 --0.216532953084 -2.35683608055 --0.216529473662 -2.37409263849 --0.216526754201 -2.39134913683 --0.216524813324 -2.40860527754 --0.216523647308 -2.42586141824 --0.216523237526 -2.44311732054 --0.21652360633 -2.46037346125 --0.216524772346 -2.47762948275 --0.216526698321 -2.49488580227 --0.216529384256 -2.51214206219 --0.21653284505 -2.52939879894 --0.216537099332 -2.5466555953 --0.216542098671 -2.5639129281 --0.216547876596 -2.58117061853 --0.216554429382 -2.59842902422 --0.216557983309 -2.61765116453 --0.216554630548 -2.63687163591 --0.216548059136 -2.65412980318 --0.216542247683 -2.67138767242 --0.21653721109 -2.68864494562 --0.216532953084 -2.7059019804 --0.216529473662 -2.72315853834 --0.216526754201 -2.74041497707 --0.216524813324 -2.75767105818 --0.216523647308 -2.7749273181 --0.216523237526 -2.79218322039 --0.21652360633 -2.80943930149 --0.21652475372 -2.82669532299 --0.216526679695 -2.84395158291 --0.216529384256 -2.86120784283 --0.21653284505 -2.87846457958 --0.216537080705 -2.89572149515 --0.216542080045 -2.91297888756 --0.216547876596 -2.93023645878 --0.216554429382 -2.94749480486 --0.216557983309 -2.96671706438 --0.216554630548 -2.98593759537 --0.216548059136 -3.00319576264 --0.216542247683 -3.02045357227 --0.21653721109 -3.03771078586 --0.216532953084 -3.05496788025 --0.216529455036 -3.07222437859 --0.216526735574 -3.08948087692 --0.216524813324 -3.10673695802 --0.216523647308 -3.12399309874 --0.216523237526 -3.14124903281 --0.21652360633 --3.12468016148 --0.216524772346 --3.10742413998 --0.216526698321 --3.09016788006 --0.216529384256 --3.07291162014 --0.21653284505 --3.05565488338 --0.216537080705 --3.03839796781 --0.216542080045 --3.0211405158 --0.216547876596 --3.00388294458 --0.216554429382 --2.98662465811 --0.216557983309 --2.96740239858 --0.216554630548 --2.9481818676 --0.216548059136 --2.93092370033 --0.216542247683 --2.91366583109 --0.21653721109 --2.8964086175 --0.216532953084 --2.87915158272 --0.216529473662 --2.86189508438 --0.216526754201 --2.84463858604 --0.216524813324 --2.82738244534 --0.216523647308 --2.81012630463 --0.216523237526 --2.79287034273 --0.21652360633 --2.77561426163 --0.21652475372 --2.75835835934 --0.216526679695 --2.74110203981 --0.216529384256 --2.72384572029 --0.21653284505 --2.70658904314 --0.216537080705 --2.68933218718 --0.216542080045 --2.67207473517 --0.216547876596 --2.65481704474 --0.216554429382 --2.63755875826 --0.216557983309 --2.61833661795 --0.216554630548 --2.59911602735 --0.216548059136 --2.58185786009 --0.216542247683 --2.56460005045 --0.21653721109 --2.54734283685 --0.216532953084 --2.53008580208 --0.216529473662 --2.51282924414 --0.216526754201 --2.4955727458 --0.216524813324 --2.47831666469 --0.216523647308 --2.46106046438 --0.216523237526 --2.44380450249 --0.21652360633 --2.42654842138 --0.21652475372 --2.40929245949 --0.216526679695 --2.39203613996 --0.216529384256 --2.37477982044 --0.21653284505 --2.35752308369 --0.216537080705 --2.34026628732 --0.216542080045 --2.32300889492 --0.216547876596 --2.30575120449 --0.216554429382 --2.28849291802 --0.216557983309 --2.2692707777 --0.216554630548 --2.25005024672 --0.216548059136 --2.23279207945 --0.216542247683 --2.2155342102 --0.21653721109 --2.19827699661 --0.216532953084 --2.18101996183 --0.216529455036 --2.16376340389 --0.216526735574 --2.14650696516 --0.216524813324 --2.12925082445 --0.216523647308 --2.11199456453 --0.216523237526 --2.09473866224 --0.21652360633 --2.07748258114 --0.216524772346 --2.06022655964 --0.216526716948 --2.04297029972 --0.216529402882 --2.0257140398 --0.21653284505 --2.00845730305 --0.216537080705 --1.99120044708 --0.216542080045 --1.97394305468 --0.216547876596 --1.95668542385 --0.216554429382 --1.93942710758 --0.216557983309 --1.92020490766 --0.216554630548 --1.90098437667 --0.216548059136 --1.8837262094 --0.216542247683 --1.86646834016 --0.21653721109 --1.84921109676 --0.216532953084 --1.83195406198 --0.216529455036 --1.81469753384 --0.216526735574 --1.79744106531 --0.216524813324 --1.78018495441 --0.216523647308 --1.76292875409 --0.216523237526 --1.745672822 --0.21652360633 --1.72841671109 --0.21652475372 --1.7111607492 --0.216526661068 --1.69390445948 --0.216529365629 --1.67664816975 --0.21653284505 --1.6593914628 --0.216537080705 --1.64213460684 --0.216542098671 --1.62487721443 --0.216547895223 --1.60761955381 --0.216554429382 --1.59036120773 --0.216557983309 --1.57113900781 --0.216554630548 --1.55191847682 --0.216548059136 --1.53466030955 --0.216542247683 --1.51740249991 --0.21653721109 --1.50014528632 --0.216532953084 --1.48288822174 --0.216529473662 --1.4656316936 --0.216526754201 --1.44837519526 --0.216524813324 --1.43111908436 --0.216523647308 --1.41386291385 --0.216523237526 --1.39660701156 --0.21652360633 --1.37935093045 --0.216524772346 --1.36209490895 --0.216526698321 --1.34483858943 --0.216529384256 --1.32758229971 --0.21653284505 --1.31032559275 --0.216537080705 --1.29306876659 --0.216542080045 --1.27581134439 --0.216547876596 --1.25855365395 --0.216554429382 --1.24129536748 --0.216557983309 --1.22207319737 --0.216554630548 --1.20285263658 --0.216548059136 --1.18559449911 --0.216542247683 --1.16833665967 --0.21653721109 --1.15107941628 --0.216532953084 --1.1338223815 --0.216529473662 --1.11656582356 --0.216526754201 --1.09930935502 --0.216524813324 --1.08205327392 --0.216523647308 --1.0647970736 --0.216523237526 --1.04754114151 --0.21652360633 --1.0302850306 --0.21652475372 --1.01302906871 --0.216526679695 --0.995772793889 --0.216529384256 --0.978516489267 --0.21653284505 --0.961259752512 --0.216537080705 --0.944002896547 --0.216542080045 --0.926745504141 --0.216547876596 --0.909487858414 --0.216554429382 --0.892229527235 --0.216557983309 --0.873007327318 --0.216554630548 --0.853786796331 --0.216548059136 --0.836528643965 --0.216542247683 --0.819270804524 --0.21653721109 --0.802013590932 --0.216532953084 --0.784756541252 --0.216529473662 --0.767499983311 --0.216526754201 --0.750243514777 --0.216524813324 --0.73298740387 --0.216523647308 --0.715731218457 --0.216523237526 --0.698475301266 --0.21652360633 --0.681219190359 --0.216524772346 --0.663963183761 --0.216526698321 --0.64670689404 --0.216529384256 --0.629450619221 --0.21653284505 --0.612193897366 --0.216537099332 --0.594937056303 --0.216542098671 --0.577679663897 --0.216547876596 --0.56042201817 --0.216554429382 --0.54316367209 --0.216557983309 --0.523941472172 --0.216554630548 --0.504720956087 --0.216548059136 --0.487462796271 --0.216542247683 --0.470204941929 --0.21653721109 --0.452947720886 --0.216532953084 --0.435690686107 --0.216529473662 --0.418434143067 --0.216526754201 --0.401177659631 --0.216524813324 --0.383921541273 --0.216523647308 --0.366665363312 --0.216523237526 --0.349409453571 --0.21652360633 --0.332153342664 --0.21652475372 --0.314897343517 --0.216526679695 --0.297641053796 --0.216529384256 --0.280384764075 --0.21653284505 --0.263128049672 --0.216537080705 --0.245871197432 --0.216542080045 --0.22861379385 --0.216547876596 --0.211356148124 --0.216554429382 --0.194097820669 --0.216557983309 --0.174875631929 --0.199190735817 --0.155647333712 --0.19918467477 --0.138389218599 --0.199179325253 --0.121131405234 --0.199174687267 --0.103874200955 --0.199170757085 --0.0866171903908 --0.199167519808 --0.0693606734276 --0.199165012688 --0.0521042188629 --0.1991632469 --0.0348481382243 --0.19916215539 --0.0175919979811 --0.199161771685 --0.000336105702447 --0.199162133038 -0.0169199726079 --0.199163209647 -0.0341759282164 --0.19916497916 -0.051432187669 --0.199167452753 -0.0686884475872 --0.199170634151 -0.085945142433 --0.19917454198 -0.103201959282 --0.19917916134 -0.120459327474 --0.199184514582 -0.137716948986 --0.199190553278 -0.154975239188 --0.199193827808 -0.174197696149 --0.199190735817 -0.193418510258 --0.19918467477 -0.210676640272 --0.199179325253 -0.227934453637 --0.199174687267 -0.245191644877 --0.199170757085 -0.262448661029 --0.199167538434 -0.279705181718 --0.199165031314 -0.296961635351 --0.1991632469 -0.314217723906 --0.19916215539 -0.331473864615 --0.199161771685 -0.348729744554 --0.199162114412 -0.365985818207 --0.199163172394 -0.383241780102 --0.199164975434 -0.40049804002 --0.199167467654 -0.417754307389 --0.199170634151 -0.435011006892 --0.19917454198 -0.452267818153 --0.19917916134 -0.469525173307 --0.199184514582 -0.48678278178 --0.199190553278 -0.504041068256 --0.199193827808 -0.523263558746 --0.199190735817 -0.542484387756 --0.19918467477 -0.559742495418 --0.199179325253 -0.577000305057 --0.199174687267 -0.594257488846 --0.199170757085 -0.611514493823 --0.199167538434 -0.628771007061 --0.199165031314 -0.646027475596 --0.1991632469 -0.663283571601 --0.19916215539 -0.680539697408 --0.199161771685 -0.697795584798 --0.199162114412 -0.715051665902 --0.199163172394 -0.732307612896 --0.199164975434 -0.749563872814 --0.199167467654 -0.766820147633 --0.199170634151 -0.784076839685 --0.19917454198 -0.801333650947 --0.19917916134 -0.818591043353 --0.199184514582 -0.835848674178 --0.199190553278 -0.853106960654 --0.199193827808 -0.872329413891 --0.199190735817 -0.891550213099 --0.19918467477 -0.908808335662 --0.199179325253 -0.926066160202 --0.199174687267 -0.943323373794 --0.199170738459 -0.960580378771 --0.199167501182 -0.977836877108 --0.199165012688 -0.995093330741 --0.1991632469 -1.01234939694 --0.19916215539 -1.02960553765 --0.199161771685 -1.04686146974 --0.199162114412 -1.06411755085 --0.199163191021 -1.08137348294 --0.199164994061 -1.09862974286 --0.199167467654 -1.11588600278 --0.199170634151 -1.13314267993 --0.19917454198 -1.15039947629 --0.19917916134 -1.16765686869 --0.199184514582 -1.18491452932 --0.199190553278 -1.202172786 --0.199193827808 -1.22139522433 --0.199190735817 -1.24061605334 --0.19918467477 -1.2578741908 --0.199179325253 -1.27513200044 --0.199174687267 -1.29238918423 --0.199170757085 -1.30964621902 --0.199167519808 -1.32690274715 --0.199165012688 -1.34415918589 --0.1991632469 -1.36141526699 --0.19916215539 -1.3786714077 --0.199161771685 -1.39592728019 --0.199162114412 -1.41318336129 --0.199163172394 -1.43043932318 --0.199164941907 -1.44769558311 --0.199167434127 -1.46495187283 --0.199170634151 -1.48220857978 --0.19917454198 -1.49946537614 --0.199179179967 -1.51672273874 --0.199184533209 -1.53398033977 --0.199190553278 -1.55123862624 --0.199193827808 -1.57046109438 --0.199190735817 -1.58968189359 --0.19918467477 -1.60694003105 --0.199179325253 -1.62419787049 --0.199174687267 -1.64145508408 --0.199170738459 -1.65871208906 --0.199167519808 -1.6759685874 --0.199165031314 -1.69322502613 --0.1991632469 -1.71048110724 --0.19916215539 -1.72773724794 --0.199161771685 -1.74499315023 --0.199162133038 -1.76224926114 --0.199163209647 -1.77950522304 --0.199164994061 -1.79676145315 --0.199167467654 -1.81401768327 --0.199170634151 -1.83127436042 --0.19917454198 -1.84853118658 --0.19917916134 -1.86578857899 --0.199184514582 -1.88304620981 --0.199190553278 -1.90030452609 --0.199193827808 -1.91952699423 --0.199190735817 -1.93874779344 --0.19918467477 -1.9560059011 --0.199179325253 -1.97326368093 --0.199174687267 -1.99052086472 --0.199170738459 -2.0077778697 --0.199167519808 -2.02503436804 --0.199165031314 -2.04229086637 --0.1991632469 -2.05954700708 --0.19916215539 -2.07680314779 --0.199161771685 -2.09405905008 --0.199162114412 -2.11131507158 --0.199163172394 -2.12857097387 --0.199164975434 -2.1458272934 --0.199167467654 -2.16308355332 --0.199170634151 -2.18034029007 --0.19917454198 -2.19759714604 --0.19917916134 -2.21485447884 --0.199184514582 -2.23211210966 --0.199190553278 -2.24937039614 --0.199193827808 -2.26859283447 --0.199190735817 -2.28781366348 --0.19918467477 -2.30507177114 --0.199179325253 -2.32232952118 --0.199174687267 -2.33958673477 --0.199170738459 -2.35684376955 --0.199167519808 -2.37410026789 --0.199165031314 -2.39135670662 --0.1991632469 -2.40861278772 --0.19916215539 -2.42586892843 --0.199161771685 -2.44312483072 --0.199162133038 -2.46038091183 --0.199163209647 -2.47763687372 --0.199164975435 -2.49489313364 --0.199167449027 -2.51214939356 --0.199170634151 -2.52940613032 --0.199174560607 -2.54666292668 --0.199179179967 -2.56392025948 --0.199184514582 -2.5811778903 --0.199190553278 -2.59843623638 --0.199193827808 -2.61765867472 --0.199190735817 -2.63687944412 --0.19918467477 -2.65413755178 --0.199179325253 -2.67139536142 --0.199174687267 -2.68865257502 --0.199170757085 -2.7059096098 --0.199167538434 -2.72316616774 --0.199165031314 -2.74042260647 --0.1991632469 -2.75767862797 --0.19916215539 -2.77493476868 --0.199161771685 -2.79219067097 --0.199162114412 -2.80944675207 --0.199163172394 -2.82670277357 --0.199164960533 -2.84395903349 --0.199167452753 -2.8612152338 --0.199170634151 -2.87847191095 --0.19917454198 -2.89572876692 --0.19917916134 -2.91298609972 --0.199184514582 -2.93024367094 --0.199190553278 -2.94750201702 --0.199193827808 -2.96672451496 --0.199190735817 -2.98594528437 --0.19918467477 -3.00320345163 --0.199179325253 -3.02046126127 --0.199174687267 -3.03771841526 --0.199170757085 -3.05497545004 --0.199167519808 -3.07223194838 --0.199165012688 -3.08948844671 --0.1991632469 -3.10674452782 --0.19916215539 -3.12400066853 --0.199161771685 -3.141256543 --0.199162133038 --3.1246727109 --0.199163209647 --3.1074166894 --0.19916497916 --3.09016042948 --0.199167452753 --3.07290416956 --0.199170634151 --3.05564749241 --0.19917454198 --3.03839069605 --0.19917916134 --3.02113330364 --0.199184514582 --3.00387573242 --0.199190553278 --2.98661744595 --0.199193827808 --2.96739494801 --0.199190735817 --2.9481741786 --0.19918467477 --2.93091601133 --0.199179325253 --2.91365814209 --0.199174687267 --2.8964009881 --0.199170757085 --2.87914401293 --0.199167538434 --2.86188745499 --0.199165031314 --2.84463095665 --0.1991632469 --2.82737487555 --0.19916215539 --2.81011873484 --0.199161771685 --2.79286283255 --0.199162114412 --2.77560681105 --0.199163172394 --2.75835090876 --0.199164975434 --2.74109458923 --0.199167467654 --2.72383832931 --0.199170634151 --2.70658171177 --0.19917454198 --2.68932491541 --0.19917916134 --2.6720674634 --0.199184514582 --2.65480977297 --0.199190553278 --2.6375515461 --0.199193827808 --2.61832910776 --0.199190735817 --2.59910821915 --0.19918467477 --2.58185011149 --0.199179325253 --2.56459236145 --0.199174687267 --2.54733514786 --0.199170757085 --2.53007811308 --0.199167538434 --2.51282161474 --0.199165031314 --2.49556517601 --0.1991632469 --2.47830909491 --0.19916215539 --2.4610529542 --0.199161771685 --2.44379705191 --0.199162114412 --2.4265409708 --0.199163172394 --2.40928506851 --0.199164975434 --2.39202880859 --0.199167467654 --2.37477248907 --0.199170634151 --2.35751575231 --0.19917454198 --2.34025895595 --0.19917916134 --2.32300162315 --0.199184514582 --2.30574399233 --0.199190553278 --2.28848570585 --0.199193827808 --2.26926326752 --0.199190735817 --2.25004243851 --0.19918467477 --2.23278433085 --0.199179325253 --2.21552652121 --0.199174687267 --2.19826930761 --0.199170738459 --2.18101227283 --0.199167501182 --2.1637557745 --0.199165012688 --2.14649939537 --0.1991632469 --2.12924331427 --0.19916215539 --2.11198711395 --0.199161771685 --2.09473121166 --0.199162114412 --2.07747513056 --0.199163191021 --2.06021916866 --0.199164994061 --2.04296296835 --0.199167467654 --2.02570670843 --0.199170634151 --2.00844997167 --0.19917454198 --1.99119314551 --0.19917916134 --1.97393578291 --0.199184514582 --1.95667815209 --0.199190553278 --1.93941986561 --0.199193827808 --1.92019742727 --0.199190735817 --1.90097662807 --0.19918467477 --1.8837184906 --0.199179325253 --1.86646065116 --0.199174687267 --1.84920343756 --0.199170757085 --1.83194643259 --0.199167519808 --1.81468990445 --0.199165012688 --1.79743346572 --0.1991632469 --1.78017741442 --0.19916215539 --1.7629212439 --0.199161771685 --1.74566534161 --0.199162114412 --1.72840926051 --0.199163172394 --1.71115329861 --0.199164941907 --1.6938970387 --0.199167434127 --1.67664080858 --0.199170634151 --1.65938413143 --0.19917454198 --1.64212730527 --0.199179179967 --1.62486994267 --0.199184533209 --1.60761231184 --0.199190553278 --1.59035399556 --0.199193827808 --1.57113152742 --0.199190735817 --1.55191072821 --0.19918467477 --1.53465259075 --0.199179325253 --1.51739478111 --0.199174687267 --1.50013759732 --0.199170738459 --1.48288059234 --0.199167519808 --1.46562409401 --0.199165031314 --1.44836762547 --0.1991632469 --1.43111154437 --0.19916215539 --1.41385540366 --0.199161771685 --1.39659950137 --0.199162133038 --1.37934342027 --0.199163209647 --1.36208745837 --0.199164994061 --1.34483119846 --0.199167467654 --1.32757493854 --0.199170634151 --1.31031826138 --0.19917454198 --1.29306146503 --0.19917916134 --1.27580410242 --0.199184514582 --1.25854644179 --0.199190553278 --1.24128815532 --0.199193827808 --1.22206571698 --0.199190735817 --1.20284488797 --0.19918467477 --1.18558678031 --0.199179325253 --1.16832897067 --0.199174687267 --1.15107175708 --0.199170738459 --1.1338147223 --0.199167519808 --1.11655819416 --0.199165031314 --1.09930175543 --0.1991632469 --1.08204567432 --0.19916215539 --1.06478953361 --0.199161771685 --1.04753366112 --0.199162114412 --1.03027758002 --0.199163172394 --1.01302161812 --0.199164975434 --0.99576537311 --0.199167467654 --0.978509128094 --0.199170634151 --0.96125240624 --0.19917454198 --0.943995565176 --0.19917916134 --0.926738217473 --0.199184514582 --0.909480601549 --0.199190553278 --0.892222300172 --0.199193827808 --0.872999832034 --0.199190735817 --0.853779017925 --0.19918467477 --0.836520895362 --0.199179325253 --0.819263100624 --0.199174687267 --0.802005931735 --0.199170738459 --0.784748911857 --0.199167519808 --0.767492368817 --0.199165031314 --0.750235930085 --0.1991632469 --0.732979863882 --0.19916215539 --0.715723708272 --0.199161771685 --0.698467805982 --0.199162133038 --0.681211724877 --0.199163209647 --0.663955777884 --0.199164975435 --0.646699532866 --0.199167449027 --0.629443272948 --0.199170634151 --0.612186565995 --0.199174560607 --0.594929754734 --0.199179179967 --0.57767239213 --0.199184514582 --0.560414761305 --0.199190553278 --0.543156445026 --0.199193827808 --0.523933991789 --0.199190735817 --0.504713200032 --0.19918467477 --0.487455062568 --0.199179325253 --0.470197238028 --0.199174687267 --0.452940046787 --0.199170757085 --0.435683049262 --0.199167538434 --0.418426536024 --0.199165031314 --0.40117007494 --0.1991632469 --0.383913986385 --0.19916215539 --0.366657838226 --0.199161771685 --0.349401958287 --0.199162114412 --0.332145884633 --0.199163172394 --0.314889930189 --0.199164960533 --0.29763367027 --0.199167452753 --0.280377395451 --0.199170634151 --0.26312071085 --0.19917454198 --0.245863899589 --0.19917916134 --0.228606522083 --0.199184514582 --0.211348902434 --0.199190553278 --0.194090612233 --0.199193827808 --0.17486814782 --0.181828394532 --0.155639346689 --0.181822847575 --0.138381261378 --0.181817945093 --0.121123475954 --0.181813709438 --0.103866308927 --0.181810133159 --0.0866093300283 --0.18180718273 --0.0693528456613 --0.181804876775 --0.0520964227617 --0.181803248823 --0.0348403728567 --0.181802269071 --0.0175842635799 --0.18180193007 --0.000328402500603 --0.181802250445 -0.0169276439119 --0.18180321902 -0.0341835664585 --0.181804828346 -0.0514397956431 --0.181807097048 -0.0686960266903 --0.181810010225 -0.0859526898712 --0.181813586503 -0.103209473193 --0.181817822159 -0.120466811582 --0.181822720915 -0.137724403292 --0.181828226895 -0.154982663691 --0.181831214577 -0.1742054075 --0.181828394532 -0.193426501006 --0.181822847575 -0.210684597492 --0.181817945093 -0.227942381054 --0.181813709438 -0.245199538767 --0.181810133159 -0.262456521392 --0.18180718273 -0.279713012278 --0.181804876775 -0.296969436109 --0.181803248823 -0.314225487411 --0.181802269071 -0.331481598318 --0.18180193007 -0.348737448454 --0.181802231818 -0.365993477404 --0.181803200394 -0.383249409497 --0.181804843247 -0.400505647063 --0.181807111949 -0.417761877179 --0.181810010225 -0.435018546879 --0.181813601404 -0.452275335789 --0.181817837059 -0.46953266114 --0.181822720915 -0.486790239811 --0.181828226895 -0.504048496485 --0.181831214577 -0.523271262646 --0.181828394532 -0.542492374778 --0.181822847575 -0.559750452638 --0.181817945093 -0.577008232474 --0.181813709438 -0.594265386462 --0.181810133159 -0.611522361636 --0.18180718273 -0.628778845072 --0.181804876775 -0.646035268903 --0.181803248823 -0.663291320205 --0.181802269071 -0.68054741621 --0.18180193007 -0.697803273797 --0.181802231818 -0.71505934 --0.181803200394 -0.732315272093 --0.181804843247 -0.749571487308 --0.181807111949 -0.766827717423 --0.181810010225 -0.784084379673 --0.181813601404 -0.801341176033 --0.181817837059 -0.818598508835 --0.181822720915 -0.835856094956 --0.181828226895 -0.853114366531 --0.181831214577 -0.87233710289 --0.181828394532 -0.891558200121 --0.181822847575 -0.908816307783 --0.181817945093 -0.926074102521 --0.181813709438 -0.943331256509 --0.181810114533 -0.960588216782 --0.181807164103 -0.977844700217 --0.181804876775 -0.995101138949 --0.181803248823 -1.01235720515 --0.181802269071 -1.02961331606 --0.18180193007 -1.04686915875 --0.181802231818 -1.06412521005 --0.181803200394 -1.08138114214 --0.181804843247 -1.09863734245 --0.181807111949 -1.11589357257 --0.181810010225 -1.13315024972 --0.181813601404 -1.15040701628 --0.181817837059 -1.16766437888 --0.181822720915 -1.1849219799 --0.181828226895 -1.20218020678 --0.181831214577 -1.22140294313 --0.181828394532 -1.24062404036 --0.181822847575 -1.25788214802 --0.181817963719 -1.27513992786 --0.181813728064 -1.29239708185 --0.181810133159 -1.30965408683 --0.18180718273 -1.32691058516 --0.181804876775 -1.34416699409 --0.181803248823 -1.36142304539 --0.181802269071 -1.3786791265 --0.18180193007 -1.39593496918 --0.181802231818 -1.41319102049 --0.181803200394 -1.43044695258 --0.181804828346 -1.4477032125 --0.181807097048 -1.46495944262 --0.181810010225 -1.48221608996 --0.181813601404 -1.49947288632 --0.181817837059 -1.51673021913 --0.181822720915 -1.53398779035 --0.181828226895 -1.55124604702 --0.181831214577 -1.57046878338 --0.181828394532 -1.58968988061 --0.181822847575 -1.60694798827 --0.181817963719 -1.62420579791 --0.181813728064 -1.6414629817 --0.181810114533 -1.65871992707 --0.181807164103 -1.67597639561 --0.181804876775 -1.69323283434 --0.181803248823 -1.71048888564 --0.181802269071 -1.72774499655 --0.18180193007 -1.74500086904 --0.181802250445 -1.76225692034 --0.18180321902 -1.77951285243 --0.181804843247 -1.79676905274 --0.181807111949 -1.81402525306 --0.181810010225 -1.83128193021 --0.181813601404 -1.84853872657 --0.181817837059 -1.86579608917 --0.181822720915 -1.88305366039 --0.181828226895 -1.90031191707 --0.181831214577 -1.91953468323 --0.181828394532 -1.93875578046 --0.181822847575 -1.95601385832 --0.181817945093 -1.97327160835 --0.181813709438 -1.99052876234 --0.181810114533 -2.00778570771 --0.181807164103 -2.02504217624 --0.181804876775 -2.04229867458 --0.181803248823 -2.05955475569 --0.181802269071 -2.07681083679 --0.18180193007 -2.09406673908 --0.181802231818 -2.11132276058 --0.181803200394 -2.12857866287 --0.181804843247 -2.14583492279 --0.181807111949 -2.16309112311 --0.181810010225 -2.18034780026 --0.181813601404 -2.19760459662 --0.181817837059 -2.21486192942 --0.181822720915 -2.23211950064 --0.181828226895 -2.24937778711 --0.181831214577 -2.26860058308 --0.181828394532 -2.28782165051 --0.181822847575 -2.30507969856 --0.181817963719 -2.3223374486 --0.181813728064 -2.33959466219 --0.181810114533 -2.35685169697 --0.181807164103 -2.3741081357 --0.181804876775 -2.39136451483 --0.181803248823 -2.40862053633 --0.181802269071 -2.42587667704 --0.18180193007 -2.44313257932 --0.181802250445 -2.46038860083 --0.18180321902 -2.47764450312 --0.181804843247 -2.49490070343 --0.181807111949 -2.51215696335 --0.181810010225 -2.5294137001 --0.181813601404 -2.54667049646 --0.181817837059 -2.56392776966 --0.181822720915 -2.58118534088 --0.181828226895 -2.59844362736 --0.181831214577 -2.61766636372 --0.181828394532 -2.63688743115 --0.181822847575 -2.6541454792 --0.181817963719 -2.67140328884 --0.181813728064 -2.68866050243 --0.181810133159 -2.70591747761 --0.18180718273 -2.72317397594 --0.181804876775 -2.74043041468 --0.181803248823 -2.75768643618 --0.181802269071 -2.77494251728 --0.18180193007 -2.79219835996 --0.181802231818 -2.80945444107 --0.181803200394 -2.82671040297 --0.181804828346 -2.84396660328 --0.181807097048 -2.86122280359 --0.181810010225 -2.87847948074 --0.181813601404 -2.89573627711 --0.181817837059 -2.91299360991 --0.181822720915 -2.93025118112 --0.181828226895 -2.947509408 --0.181831214577 -2.96673214436 --0.181828394532 -2.98595327139 --0.181822847575 -3.00321143866 --0.181817945093 -3.02046918869 --0.181813709438 -3.03772628308 --0.181810133159 -3.05498325825 --0.18180718273 -3.07223975658 --0.181804876775 -3.08949625492 --0.181803248823 -3.10675233603 --0.181802269071 -3.12400841713 --0.18180193007 -3.14126423199 --0.181802250445 --3.1246650219 --0.18180321902 --3.10740906 --0.181804828346 --3.09015280008 --0.181807097048 --3.07289654016 --0.181810010225 --3.05563992262 --0.181813586503 --3.03838318586 --0.181817822159 --3.02112585306 --0.181822720915 --3.00386828184 --0.181828226895 --2.98661005497 --0.181831214577 --2.96738731861 --0.181828394532 --2.94816619158 --0.181822847575 --2.93090802431 --0.181817945093 --2.91365027428 --0.181813709438 --2.89639317989 --0.181810133159 --2.87913620472 --0.18180718273 --2.86187964678 --0.181804876775 --2.84462314844 --0.181803248823 --2.82736712694 --0.181802269071 --2.81011104584 --0.18180193007 --2.79285520315 --0.181802231818 --2.77559918165 --0.181803200394 --2.75834327936 --0.181804843247 --2.74108701944 --0.181807111949 --2.72383075952 --0.181810010225 --2.70657414198 --0.181813601404 --2.68931740523 --0.181817837059 --2.67206001282 --0.181822720915 --2.65480238199 --0.181828226895 --2.63754415512 --0.181831214577 --2.61832135916 --0.181828394532 --2.59910023212 --0.181822847575 --2.58184218407 --0.181817945093 --2.56458443403 --0.181813709438 --2.54732728004 --0.181810133159 --2.53007024526 --0.18180718273 --2.51281374693 --0.181804876775 --2.4955573678 --0.181803248823 --2.4783013463 --0.181802269071 --2.4610452652 --0.18180193007 --2.44378936291 --0.181802231818 --2.4265332818 --0.181803200394 --2.40927737952 --0.181804843247 --2.3920211792 --0.181807111949 --2.37476497889 --0.181810010225 --2.35750830173 --0.181813601404 --2.34025144577 --0.181817837059 --2.32299411297 --0.181822720915 --2.30573654175 --0.181828226895 --2.28847825527 --0.181831214577 --2.26925551891 --0.181828394532 --2.25003445148 --0.181822847575 --2.23277640343 --0.181817945093 --2.21551859379 --0.181813709438 --2.19826138019 --0.181810114533 --2.18100440502 --0.181807164103 --2.16374796629 --0.181804876775 --2.14649158716 --0.181803248823 --2.12923550606 --0.181802269071 --2.11197936535 --0.18180193007 --2.09472352267 --0.181802231818 --2.07746744156 --0.181803200394 --2.06021153927 --0.181804843247 --2.04295539856 --0.181807111949 --2.02569913864 --0.181810010225 --2.00844243169 --0.181813601404 --1.99118563533 --0.181817837059 --1.97392830253 --0.181822720915 --1.9566707015 --0.181828226895 --1.93941241503 --0.181831214577 --1.92018970847 --0.181828394532 --1.90096864104 --0.181822847575 --1.88371053338 --0.181817963719 --1.86645272374 --0.181813728064 --1.84919553995 --0.181810133159 --1.83193856477 --0.18180718273 --1.81468206644 --0.181804876775 --1.79742565751 --0.181803248823 --1.78016963601 --0.181802269071 --1.7629135251 --0.18180193007 --1.74565765262 --0.181802231818 --1.72840160131 --0.181803200394 --1.71114566922 --0.181804828346 --1.69388943911 --0.181807097048 --1.67663323879 --0.181810010225 --1.65937656164 --0.181813601404 --1.64211976528 --0.181817837059 --1.62486243248 --0.181822720915 --1.60760483145 --0.181828226895 --1.59034657478 --0.181831214577 --1.57112383842 --0.181828394532 --1.55190274119 --0.181822847575 --1.53464463353 --0.181817963719 --1.5173868537 --0.181813728064 --1.5001296997 --0.181810114533 --1.48287272453 --0.181807164103 --1.465616256 --0.181804876775 --1.44835984707 --0.181803248823 --1.43110379577 --0.181802269071 --1.41384765506 --0.18180193007 --1.39659178257 --0.181802250445 --1.37933573127 --0.18180321902 --1.36207982898 --0.181804843247 --1.34482362866 --0.181807111949 --1.32756736875 --0.181810010225 --1.3103106916 --0.181813601404 --1.29305392504 --0.181817837059 --1.27579662204 --0.181822720915 --1.25853902102 --0.181828226895 --1.24128073454 --0.181831214577 --1.22205799818 --0.181828394532 --1.20283693075 --0.181822847575 --1.18557885289 --0.181817945093 --1.16832104325 --0.181813709438 --1.15106385946 --0.181810114533 --1.13380685448 --0.181807164103 --1.11655035615 --0.181804876775 --1.09929394722 --0.181803248823 --1.08203789592 --0.181802269071 --1.06478181481 --0.18180193007 --1.04752597213 --0.181802231818 --1.03026992082 --0.181803200394 --1.01301398873 --0.181804843247 --0.995757743716 --0.181807111949 --0.9785015136 --0.181810010225 --0.961244851351 --0.181813601404 --0.943988069892 --0.181817837059 --0.92673073709 --0.181822720915 --0.909473150969 --0.181828226895 --0.892214879394 --0.181831214577 --0.872992128134 --0.181828394532 --0.853771045804 --0.181822847575 --0.836512953043 --0.181817963719 --0.819255173206 --0.181813728064 --0.801998019218 --0.181810114533 --0.784741029143 --0.181807164103 --0.767484545707 --0.181804876775 --0.750228121877 --0.181803248823 --0.732972070575 --0.181802269071 --0.715715974569 --0.18180193007 --0.698460102082 --0.181802250445 --0.681204050779 --0.18180321902 --0.663948148489 --0.181804843247 --0.646691918373 --0.181807111949 --0.629435673356 --0.181810010225 --0.612178996205 --0.181813601404 --0.594922229648 --0.181817837059 --0.577664911747 --0.181822720915 --0.560407295823 --0.181828226895 --0.543149024248 --0.181831214577 --0.523926287889 --0.181828394532 --0.50470520556 --0.181822847575 --0.487447120249 --0.181817963719 --0.470189325512 --0.181813728064 --0.452932156623 --0.181810133159 --0.435675188899 --0.18180718273 --0.418418705464 --0.181804876775 --0.401162274182 --0.181803248823 --0.38390622288 --0.181802269071 --0.366650111974 --0.18180193007 --0.349394254387 --0.181802231818 --0.332138210535 --0.181803200394 --0.314882285893 --0.181804828346 --0.297626055777 --0.181807097048 --0.280369825661 --0.181810010225 --0.263113163411 --0.181813601404 --0.245856378228 --0.181817837059 --0.228599045426 --0.181822720915 --0.211341455579 --0.181828226895 --0.194083191454 --0.181831214577 --0.174860440194 --0.164495110512 --0.155631296336 --0.164490085095 --0.138373240828 --0.164485640824 --0.121115490794 --0.164481792599 --0.103858361021 --0.164478555322 --0.0866014137864 --0.164475884289 --0.0693449564278 --0.164473794401 --0.0520885661244 --0.164472319186 --0.0348325511441 --0.164471443743 --0.0175764726009 --0.164471141994 --0.000320642488077 --0.164471421391 -0.0169353717938 --0.164472304284 -0.03419126058 --0.164473779499 -0.0514474594965 --0.164475832134 -0.0687036588788 --0.16447846964 -0.0859602876008 --0.164481721818 -0.103217044845 --0.164485551417 -0.120474353433 --0.164489977062 -0.137731906027 --0.164494965226 -0.154990132898 --0.164497673511 -0.17421316728 --0.164495110512 -0.193434547633 --0.164490085095 -0.210692610592 --0.164485640824 -0.227950364351 --0.164481792599 -0.245207495987 --0.164478555322 -0.26246444881 --0.164475884289 -0.279720902443 --0.164473794401 -0.29697728157 --0.164472319186 -0.31423330307 --0.164471443743 -0.331489384174 --0.164471141994 -0.348745204508 --0.164471421391 -0.366001211107 --0.164472304284 -0.383257105946 --0.164473779499 -0.40051330626 --0.164475832134 -0.417769499123 --0.16447846964 -0.43502613157 --0.164481721818 -0.452282890677 --0.164485551417 -0.469540201128 --0.164489977062 -0.486797757447 --0.164494965226 -0.504055976867 --0.164497673511 -0.523279011249 --0.164495110512 -0.542500391602 --0.164490085095 -0.55975843966 --0.164485640824 -0.577016204596 --0.164481792599 -0.594273358584 --0.164478555322 -0.611530318856 --0.164475884289 -0.628786757589 --0.164473794401 -0.646043136716 --0.164472319186 -0.663299143315 --0.164471443743 -0.680555209518 --0.164471141994 -0.697811037302 --0.164471421391 -0.715067058802 --0.164472304284 -0.732322961092 --0.164473779499 -0.749579161406 --0.164475832134 -0.766835361719 --0.16447846964 -0.784091994166 --0.164481721818 -0.801348760724 --0.164485551417 -0.818606048822 --0.164489977062 -0.835863590241 --0.164494965226 -0.853121832013 --0.164497673511 -0.872344866395 --0.164495110512 -0.891566231847 --0.164490085095 -0.908824309707 --0.164485640824 -0.926082074642 --0.164481792599 -0.943339183926 --0.164478555322 -0.960596129298 --0.164475884289 -0.977852582932 --0.164473794401 -0.995108991863 --0.164472319186 -1.01236504316 --0.164471443743 -1.02962109446 --0.164471141994 -1.04687687755 --0.164471421391 -1.06413289905 --0.164472304284 -1.08138883114 --0.164473779499 -1.09864503145 --0.164475832134 -1.11590123177 --0.16447846964 -1.13315787912 --0.164481721818 -1.15041461587 --0.164485551417 -1.16767191887 --0.164489977062 -1.18492946029 --0.164494965226 -1.20218768716 --0.164497673511 -1.22141072154 --0.164495110512 -1.24063208699 --0.164490085095 -1.25789013505 --0.16448565945 -1.27514788508 --0.164481811225 -1.29240503907 --0.164478555322 -1.30966198444 --0.164475884289 -1.32691845298 --0.164473794401 -1.3441748321 --0.164472319186 -1.3614308238 --0.164471443743 -1.37868690491 --0.164471141994 -1.39594274759 --0.164471421391 -1.41319876909 --0.164472304284 -1.43045464158 --0.164473779499 -1.44771084189 --0.164475832134 -1.46496704221 --0.16447846964 -1.48222365975 --0.164481721818 -1.49948042631 --0.164485551417 -1.51673775911 --0.164489977062 -1.53399533034 --0.164494965226 -1.55125355721 --0.164497673511 -1.57047656179 --0.164495110512 -1.58969792724 --0.164490085095 -1.6069560051 --0.16448565945 -1.62421378493 --0.164481811225 -1.64147090912 --0.164478555322 -1.65872782469 --0.164475884289 -1.67598426342 --0.164473794401 -1.69324067235 --0.164472319186 -1.71049672365 --0.164471443743 -1.72775280476 --0.164471141994 -1.74500864744 --0.164471402764 -1.76226463914 --0.164472285658 -1.77952051163 --0.164473779499 -1.79677671194 --0.164475832134 -1.81403291225 --0.16447846964 -1.8312895596 --0.164481721818 -1.84854632616 --0.164485551417 -1.86580362916 --0.164489977062 -1.88306114078 --0.164494965226 -1.90031936765 --0.164497673511 -1.91954243183 --0.164495110512 -1.93876382709 --0.164490085095 -1.95602187514 --0.164485640824 -1.97327959537 --0.164481792599 -1.99053671956 --0.164478555322 -2.00779363513 --0.164475884289 -2.02505010366 --0.164473794401 -2.04230654239 --0.164472319186 -2.0595625639 --0.164471443743 -2.076818645 --0.164471141994 -2.09407448769 --0.164471421391 -2.11133044958 --0.164472304284 -2.12858635187 --0.164473779499 -2.14584261179 --0.164475832134 -2.1630987525 --0.16447846964 -2.18035537004 --0.164481721818 -2.1976121068 --0.164485551417 -2.2148694396 --0.164489977062 -2.23212701082 --0.164494965226 -2.24938523769 --0.164497673511 -2.26860833168 --0.164495110512 -2.28782969713 --0.164490085095 -2.30508774519 --0.16448565945 -2.32234549522 --0.164481811225 -2.33960264921 --0.164478555322 -2.35685962439 --0.164475884289 -2.37411600351 --0.164473794401 -2.39137238264 --0.164472319186 -2.40862840414 --0.164471443743 -2.42588448524 --0.164471141994 -2.44314032793 --0.164471421391 -2.46039634943 --0.164472304284 -2.47765225172 --0.164473779499 -2.49490839243 --0.164475832134 -2.51216465235 --0.16447846964 -2.5294213295 --0.164481721818 -2.54667806625 --0.164485551417 -2.56393533945 --0.164489977062 -2.58119285107 --0.164494965226 -2.59845107794 --0.164497673511 -2.61767411232 --0.164495110512 -2.63689547777 --0.164490085095 -2.65415352583 --0.16448565945 -2.67141127586 --0.164481811225 -2.68866842985 --0.164478555322 -2.70592540503 --0.164475884289 -2.72318184376 --0.164473794401 -2.74043822288 --0.164472319186 -2.75769424439 --0.164471443743 -2.77495032549 --0.164471141994 -2.79220616817 --0.164471421391 -2.80946218967 --0.164472304284 -2.82671803236 --0.164473779499 -2.84397417307 --0.164475832134 -2.86123043299 --0.16447846964 -2.87848711014 --0.164481721818 -2.89574384689 --0.164485551417 -2.91300117969 --0.164489977062 -2.93025869131 --0.164494965226 -2.94751685858 --0.164497673511 -2.96673989296 --0.164495110512 -2.98596131802 --0.164490085095 -3.00321942568 --0.164485640824 -3.02047717571 --0.164481792599 -3.0377342701 --0.164478555322 -3.05499118567 --0.164475884289 -3.072247684 --0.164473794401 -3.08950412273 --0.164472319186 -3.10676014423 --0.164471443743 -3.12401622534 --0.164471141994 -3.1412720402 --0.164471421391 --3.12465727329 --0.164472304284 --3.1074014306 --0.164473779499 --3.09014523029 --0.164475832134 --3.07288897038 --0.16447846964 --3.05563235283 --0.164481721818 --3.03837561607 --0.164485551417 --3.02111828327 --0.164489977062 --3.00386071205 --0.164494965226 --2.98660254479 --0.164497673511 --2.96737957001 --0.164495110512 --2.94815814495 --0.164490085095 --2.93090003729 --0.164485640824 --2.91364228726 --0.164481792599 --2.89638519287 --0.164478555322 --2.8791282773 --0.164475884289 --2.86187177897 --0.164473794401 --2.84461534023 --0.164472319186 --2.82735931874 --0.164471443743 --2.81010323763 --0.164471141994 --2.79284745455 --0.164471421391 --2.77559149265 --0.164472304284 --2.75833559036 --0.164473779499 --2.74107933044 --0.164475832134 --2.72382313013 --0.16447846964 --2.70656651259 --0.164481721818 --2.68930977583 --0.164485551417 --2.67205250263 --0.164489977062 --2.65479493141 --0.164494965226 --2.63753664493 --0.164497673511 --2.61831361055 --0.164495110512 --2.5990923047 --0.164490085095 --2.58183425665 --0.164485640824 --2.56457644701 --0.164481792599 --2.54731929302 --0.164478555322 --2.53006231785 --0.164475884289 --2.51280587912 --0.164473794401 --2.49554949999 --0.164472319186 --2.47829347849 --0.164471443743 --2.46103745699 --0.164471141994 --2.4437816143 --0.164471421391 --2.4265255332 --0.164472304284 --2.40926963091 --0.164473779499 --2.3920134902 --0.164475832134 --2.37475734949 --0.16447846964 --2.35750073195 --0.164481721818 --2.34024393559 --0.164485551417 --2.32298660278 --0.164489977062 --2.30572903156 --0.164494965226 --2.28847080469 --0.164497673511 --2.26924777031 --0.164495110512 --2.25002640486 --0.164490085095 --2.2327683568 --0.164485640824 --2.21551060677 --0.164481792599 --2.19825345278 --0.164478555322 --2.1809964776 --0.164475884289 --2.16374009848 --0.164473794401 --2.14648371935 --0.164472319186 --2.12922763825 --0.164471443743 --2.11197155714 --0.164471141994 --2.09471577406 --0.164471421391 --2.07745975256 --0.164472304284 --2.06020385027 --0.164473779499 --2.04294770956 --0.164475832134 --2.02569144964 --0.16447846964 --2.0084348023 --0.164481721818 --1.99117809534 --0.164485551417 --1.97392076254 --0.164489977062 --1.95666319132 --0.164494965226 --1.93940493465 --0.164497673511 --1.92018193006 --0.164495110512 --1.90096059441 --0.164490085095 --1.88370251656 --0.16448565945 --1.86644473672 --0.164481811225 --1.84918761253 --0.164478555322 --1.83193066716 --0.164475884289 --1.81467419863 --0.164473794401 --1.7974178195 --0.164472319186 --1.780161798 --0.164471443743 --1.7629057169 --0.164471141994 --1.74564987421 --0.164471421391 --1.72839388252 --0.164472304284 --1.71113801003 --0.164473779499 --1.69388180971 --0.164475832134 --1.6766256094 --0.16447846964 --1.65936896205 --0.164481721818 --1.64211219549 --0.164485551417 --1.62485489249 --0.164489977062 --1.60759735107 --0.164494965226 --1.5903391242 --0.164497673511 --1.57111608982 --0.164495110512 --1.55189469457 --0.164490085095 --1.53463661671 --0.16448565945 --1.51737886667 --0.164481811225 --1.50012174248 --0.164478555322 --1.48286479711 --0.164475884289 --1.46560835838 --0.164473794401 --1.44835197926 --0.164472319186 --1.43109595776 --0.164471443743 --1.41383987665 --0.164471141994 --1.39658406377 --0.164471402764 --1.37932804227 --0.164472285658 --1.36207213998 --0.164473779499 --1.34481593967 --0.164475832134 --1.32755973935 --0.16447846964 --1.310303092 --0.164481721818 --1.29304635525 --0.164485551417 --1.27578908205 --0.164489977062 --1.25853151083 --0.164494965226 --1.24127325415 --0.164497673511 --1.22205018997 --0.164495110512 --1.20282885432 --0.164490085095 --1.18557083607 --0.164485640824 --1.16831305623 --0.164481792599 --1.15105590224 --0.164478555322 --1.13379895687 --0.164475884289 --1.11654248833 --0.164473794401 --1.09928610921 --0.164472319186 --1.08203011751 --0.164471443743 --1.06477403641 --0.164471141994 --1.04751819372 --0.164471421391 --1.03026217222 --0.164472304284 --1.01300629974 --0.164473779499 --0.99575008452 --0.164475832134 --0.978493869304 --0.16447846964 --0.961237251758 --0.164481721818 --0.943980515003 --0.164485551417 --0.926723197103 --0.164489977062 --0.909465625882 --0.164494965226 --0.892207399011 --0.164497673511 --0.872984364629 --0.164495110512 --0.853762999177 --0.164490085095 --0.836504936218 --0.16448565945 --0.819247186184 --0.164481811225 --0.801990047097 --0.164478555322 --0.784733086824 --0.164475884289 --0.767476662993 --0.164473794401 --0.750220268965 --0.164472319186 --0.732964232564 --0.164471443743 --0.715708166361 --0.164471141994 --0.698452338577 --0.164471421391 --0.681196331978 --0.164472304284 --0.663940444588 --0.164473779499 --0.646684229374 --0.164475832134 --0.629428014159 --0.16447846964 --0.612171381712 --0.164481721818 --0.594914659858 --0.164485551417 --0.57765737176 --0.164489977062 --0.560399800539 --0.164494965226 --0.543141558766 --0.164497673511 --0.523918524384 --0.164495110512 --0.504697158933 --0.164490085095 --0.487439103425 --0.16448565945 --0.470181338489 --0.164481811225 --0.452924199403 --0.164478555322 --0.435667254031 --0.164475884289 --0.418410815298 --0.164473794401 --0.401154428721 --0.164472319186 --0.38389839977 --0.164471443743 --0.366642318666 --0.164471141994 --0.349386490881 --0.164471421391 --0.332130484283 --0.164472304284 --0.314874589443 --0.164473779499 --0.29761838913 --0.164475832134 --0.280362196266 --0.16447846964 --0.263105556369 --0.164481721818 --0.245848800987 --0.164485551417 --0.228591505438 --0.164489977062 --0.211333949119 --0.164494965226 --0.194075711071 --0.164497673511 --0.174852672964 --0.147171076387 --0.155623398721 --0.147166572511 --0.13836536929 --0.147162601352 --0.121107650921 --0.147159144282 --0.103850554675 --0.147156242281 --0.0865936391056 --0.147153861821 --0.0693372124806 --0.147151980549 --0.0520808538422 --0.147150650621 --0.0348248714581 --0.147149857134 --0.0175688241143 --0.147149577737 --0.000313024735077 --0.147149834782 -0.0169429574162 --0.147150631994 -0.0341988145374 --0.147151961922 -0.0514549827203 --0.147153805941 -0.0687111495063 --0.1471561715 -0.0859677474946 --0.147159092128 -0.103224476799 --0.147162511945 -0.120481755584 --0.147166483105 -0.137739274651 --0.147170972079 -0.15499747172 --0.147173389792 -0.174220789224 --0.147171076387 -0.193442448973 --0.147166572511 -0.210700478405 --0.147162601352 -0.227958198637 --0.147159144282 -0.245215304196 --0.147156242281 -0.262472227216 --0.147153861821 -0.279728651047 --0.147151980549 -0.296985000372 --0.147150650621 -0.314240984619 --0.147149857134 -0.331497035921 --0.147149577737 -0.348752833903 --0.147149834782 -0.36600881815 --0.147150631994 -0.383264675736 --0.147151961922 -0.400520838797 --0.147153805941 -0.417776994407 --0.1471561715 -0.435033589601 --0.147159077227 -0.452290318906 --0.147162497043 -0.469547607005 --0.147166483105 -0.486805140972 --0.147170972079 -0.50406332314 --0.147173389792 -0.523286610842 --0.147171076387 -0.542508274317 --0.147166572511 -0.559766322374 --0.147162601352 -0.577024042606 --0.147159144282 -0.594281151891 --0.147156242281 -0.611538082361 --0.147153861821 -0.628794506192 --0.147151980549 -0.646050855517 --0.147150650621 -0.663306817412 --0.147149857134 -0.680562868715 --0.147149577737 -0.697818666697 --0.147149834782 -0.715074643493 --0.147150631994 -0.732330515981 --0.147151943296 -0.749586686492 --0.147153787315 -0.766842857003 --0.1471561715 -0.784099459648 --0.147159077227 -0.801356181502 --0.147162497043 -0.8186134547 --0.147166483105 -0.835870981216 --0.147170972079 -0.853129178285 --0.147173389792 -0.872352510691 --0.147171076387 -0.891574159265 --0.147166572511 -0.90883217752 --0.147162601352 -0.926089897752 --0.147159144282 -0.943346992135 --0.147156223655 -0.960603907704 --0.147153843195 -0.977860331536 --0.147151980549 -0.995116695763 --0.147150650621 -1.01237267256 --0.147149857134 -1.02962869406 --0.147149596364 -1.04688447714 --0.147149853409 -1.06414046884 --0.147150631994 -1.08139634132 --0.147151961922 -1.09865254164 --0.147153805941 -1.11590874195 --0.1471561715 -1.1331653297 --0.147159077227 -1.15042203665 --0.147162497043 -1.16767930985 --0.147166483105 -1.18493682146 --0.147170972079 -1.20219501853 --0.147173389792 -1.22141832113 --0.147171076387 -1.24063995481 --0.147166572511 -1.25789800286 --0.147162601352 -1.2751557529 --0.147159144282 -1.29241284728 --0.147156242281 -1.30966976285 --0.147153861821 -1.32692620158 --0.147151980549 -1.34418255091 --0.147150650621 -1.3614385128 --0.147149857134 -1.3786945641 --0.147149577737 -1.39595037699 --0.147149834782 -1.41320636869 --0.147150631994 -1.43046221137 --0.147151961922 -1.44771835208 --0.147153805941 -1.46497452259 --0.1471561715 -1.48223114014 --0.147159077227 -1.49948787689 --0.147162497043 -1.51674517989 --0.147166483105 -1.53400272131 --0.147170972079 -1.55126091838 --0.147173389792 -1.57048422098 --0.147171076387 -1.58970585466 --0.147166572511 -1.60696387291 --0.147162601352 -1.62422159314 --0.147159144282 -1.64147868753 --0.147156223655 -1.65873560309 --0.147153843195 -1.67599201203 --0.147151980549 -1.69324836135 --0.147150650621 -1.71050438285 --0.147149857134 -1.72776046395 --0.147149577737 -1.74501624704 --0.147149816155 -1.76227220893 --0.147150613367 -1.77952808142 --0.147151943296 -1.79678425193 --0.147153787315 -1.81404042244 --0.1471561715 -1.83129701018 --0.147159077227 -1.84855371714 --0.147162497043 -1.86581099033 --0.147166483105 -1.88306850195 --0.147170972079 -1.90032669902 --0.147173389792 -1.91955006123 --0.147171076387 -1.9387717247 --0.147166572511 -1.95602974295 --0.147162601352 -1.97328746319 --0.147159144282 -1.99054455757 --0.147156223655 -2.00780144334 --0.147153843195 -2.02505785227 --0.147151980549 -2.0423142314 --0.147150650621 -2.05957025289 --0.147149857134 -2.076826334 --0.147149596364 -2.09408211708 --0.147149853409 -2.11133807898 --0.147150631994 -2.12859392166 --0.147151943296 -2.14585012198 --0.147153787315 -2.16310626268 --0.1471561715 -2.18036282063 --0.147159077227 -2.19761955738 --0.147162497043 -2.21487689018 --0.147166483105 -2.2321344018 --0.147170972079 -2.24939256907 --0.147173389792 -2.26861590147 --0.147171076387 -2.28783756495 --0.147166572511 -2.305095613 --0.147162601352 -2.32235330343 --0.147159144282 -2.33961039782 --0.147156223655 -2.35686737299 --0.147153843195 -2.37412375212 --0.147151980549 -2.39138007164 --0.147150650621 -2.40863609314 --0.147149857134 -2.42589211464 --0.147149577737 -2.44314789772 --0.147149834782 -2.46040391922 --0.147150631994 -2.47765976191 --0.147151961922 -2.49491590262 --0.147153805941 -2.51217216254 --0.1471561715 -2.52942878008 --0.147159077227 -2.54668545723 --0.147162497043 -2.56394273042 --0.147166483105 -2.58120024204 --0.147170972079 -2.59845840931 --0.147173389792 -2.61768174172 --0.147171076387 -2.63690340519 --0.147166572511 -2.65416139364 --0.147162601352 -2.67141908407 --0.147159144282 -2.68867617846 --0.147156223655 -2.70593315363 --0.147153843195 -2.72318959236 --0.147151980549 -2.74044597149 --0.147150650621 -2.75770193338 --0.147149857134 -2.77495795488 --0.147149577737 -2.79221379757 --0.147149834782 -2.80946975946 --0.147150631994 -2.82672560215 --0.147151961922 -2.84398174286 --0.147153805941 -2.86123794317 --0.1471561715 -2.87849456072 --0.147159077227 -2.89575123787 --0.147162497043 -2.91300851106 --0.147166483105 -2.93026602268 --0.147170972079 -2.94752424955 --0.147173389792 -2.96674758196 --0.147171076387 -2.98596924543 --0.147166572511 -3.00322729349 --0.147162601352 -3.02048504353 --0.147159144282 -3.03774213791 --0.147156242281 -3.05499899387 --0.147153861821 -3.07225543261 --0.147151980549 -3.08951181173 --0.147150650621 -3.10676777363 --0.147149857134 -3.12402385473 --0.147149577737 -3.1412796696 --0.147149834782 --3.1246497035 --0.147150631994 --3.10739386082 --0.147151961922 --3.09013772011 --0.147153805941 --3.07288151979 --0.1471561715 --3.05562490225 --0.147159092128 --3.03836816549 --0.147162511945 --3.02111083269 --0.147166483105 --3.00385332107 --0.147170972079 --2.98659515381 --0.147173389792 --2.96737188101 --0.147171076387 --2.94815021753 --0.147166572511 --2.93089216948 --0.147162601352 --2.91363441944 --0.147159144282 --2.89637732506 --0.147156242281 --2.87912046909 --0.147153861821 --2.86186403036 --0.147151980549 --2.84460765124 --0.147150650621 --2.82735168934 --0.147149857134 --2.81009560824 --0.147149577737 --2.79283982515 --0.147149834782 --2.77558386326 --0.147150631994 --2.75832796097 --0.147151961922 --2.74107176065 --0.147153805941 --2.72381561994 --0.1471561715 --2.706559062 --0.147159077227 --2.68930232525 --0.147162497043 --2.67204505205 --0.147166483105 --2.65478754043 --0.147170972079 --2.63752931356 --0.147173389792 --2.61830604076 --0.147171076387 --2.59908443689 --0.147166572511 --2.58182638884 --0.147162601352 --2.5645686388 --0.147159144282 --2.54731148481 --0.147156242281 --2.53005456924 --0.147153861821 --2.51279819012 --0.147151980549 --2.49554181099 --0.147150650621 --2.47828578949 --0.147149857134 --2.46102976799 --0.147149577737 --2.44377398491 --0.147149834782 --2.42651796341 --0.147150631994 --2.40926212072 --0.147151943296 --2.39200598001 --0.147153787315 --2.37474983931 --0.1471561715 --2.35749322176 --0.147159077227 --2.340236485 --0.147162497043 --2.32297921181 --0.147166483105 --2.30572164059 --0.147170972079 --2.28846347332 --0.147173389792 --2.26924014091 --0.147171076387 --2.25001847744 --0.147166572511 --2.23276048899 --0.147162601352 --2.21550279856 --0.147159144282 --2.19824570417 --0.147156223655 --2.180988729 --0.147153843195 --2.16373234987 --0.147151980549 --2.14647597075 --0.147150650621 --2.12921994925 --0.147149857134 --2.11196392775 --0.147149596364 --2.09470814466 --0.147149853409 --2.07745218277 --0.147150631994 --2.06019628048 --0.147151961922 --2.04294013977 --0.147153805941 --2.02568393945 --0.1471561715 --2.00842732191 --0.147159077227 --1.99117064476 --0.147162497043 --1.97391334176 --0.147166483105 --1.95665580035 --0.147170972079 --1.93939760327 --0.147173389792 --1.92017430067 --0.147171076387 --1.900952667 --0.147166572511 --1.88369464875 --0.147162601352 --1.86643689871 --0.147159144282 --1.84917980432 --0.147156242281 --1.83192291856 --0.147153861821 --1.81466647983 --0.147151980549 --1.7974101007 --0.147150650621 --1.780154109 --0.147149857134 --1.7628980577 --0.147149577737 --1.74564224481 --0.147149834782 --1.72838628292 --0.147150631994 --1.71113044024 --0.147151961922 --1.69387426972 --0.147153805941 --1.67661809921 --0.1471561715 --1.65936151147 --0.147159077227 --1.64210480452 --0.147162497043 --1.62484753132 --0.147166483105 --1.6075900197 --0.147170972079 --1.59033179283 --0.147173389792 --1.57110846042 --0.147171076387 --1.55188679695 --0.147166572511 --1.53462874889 --0.147162601352 --1.51737102866 --0.147159144282 --1.50011393428 --0.147156223655 --1.48285701871 --0.147153843195 --1.46560060978 --0.147151980549 --1.44834426046 --0.147150650621 --1.43108826876 --0.147149857134 --1.41383224726 --0.147149577737 --1.39657646418 --0.147149816155 --1.37932044268 --0.147150613367 --1.36206457019 --0.147151943296 --1.34480839968 --0.147153787315 --1.32755225897 --0.1471561715 --1.31029567123 --0.147159077227 --1.29303893447 --0.147162497043 --1.27578166127 --0.147166483105 --1.25852411985 --0.147170972079 --1.24126592279 --0.147173389792 --1.22204259038 --0.147171076387 --1.20282095671 --0.147166572511 --1.18556296826 --0.147162601352 --1.16830524802 --0.147159144282 --1.15104812383 --0.147156223655 --1.13379120826 --0.147153843195 --1.11653476953 --0.147151980549 --1.09927839041 --0.147150650621 --1.08202242851 --0.147149857134 --1.06476637721 --0.147149596364 --1.04751056433 --0.147149853409 --1.03025457263 --0.147150631994 --1.01299872994 --0.147151943296 --0.995742574334 --0.147153787315 --0.978486418724 --0.1471561715 --0.961229816079 --0.147159077227 --0.943973079324 --0.147162497043 --0.926715806126 --0.147166483105 --0.909458264708 --0.147170972079 --0.89220006764 --0.147173389792 --0.872976765037 --0.147171076387 --0.853755101561 --0.147166572511 --0.836497053504 --0.147162601352 --0.819239348173 --0.147159144282 --0.80198225379 --0.147156223655 --0.784725323319 --0.147153843195 --0.767468929291 --0.147151980549 --0.750212565064 --0.147150650621 --0.732956573367 --0.147149857134 --0.715700536966 --0.147149577737 --0.698444724083 --0.147149834782 --0.681188747287 --0.147150631994 --0.6639328897 --0.147151961922 --0.646676704287 --0.147153805941 --0.629420518875 --0.1471561715 --0.612163931131 --0.147159077227 --0.59490723908 --0.147162497043 --0.577649965882 --0.147166483105 --0.560392439365 --0.147170972079 --0.543134227395 --0.147173389792 --0.523910909891 --0.147171076387 --0.504689268768 --0.147166572511 --0.487431235612 --0.147162601352 --0.470173500478 --0.147159144282 --0.452916391194 --0.147156223655 --0.435659475625 --0.147153843195 --0.418403074145 --0.147151980549 --0.40114672482 --0.147150650621 --0.383890725672 --0.147149857134 --0.36663466692 --0.147149577737 --0.349378868938 --0.147149834782 --0.332122899592 --0.147150631994 --0.314867042005 --0.147151961922 --0.297610871494 --0.147153805941 --0.280354708433 --0.1471561715 --0.263098105788 --0.147159077227 --0.245841380209 --0.147162497043 --0.228584107012 --0.147166483105 --0.211326576769 --0.147170972079 --0.19406837225 --0.147173389792 --0.174845058471 --0.129828754813 --0.15561548993 --0.129824783653 --0.138357490301 --0.129821285605 --0.121099799871 --0.129818229005 --0.103842733428 --0.129815651104 --0.0865858476609 --0.129813548177 --0.0693294573576 --0.129811884836 --0.0520731313154 --0.129810713232 --0.0348171773367 --0.129810016602 --0.0175611616578 --0.12980976142 --0.000305393477902 --0.129809981212 -0.0169505570084 --0.129810675978 -0.034206383396 --0.129811847582 -0.0514625217766 --0.129813494161 -0.0687186568975 --0.129815597087 -0.0859752222895 --0.12981816195 -0.103231918067 --0.12982118316 -0.120489167049 --0.129824712873 -0.137746661901 --0.129828687758 -0.155004829168 --0.12983080931 -0.174228422344 --0.129828754813 -0.193450357765 --0.129824783653 -0.210708361119 --0.129821285605 -0.227966051549 --0.129818229005 -0.245223127305 --0.129815651104 -0.262480020523 --0.129813548177 -0.279736407101 --0.129811884836 -0.296992734075 --0.129810713232 -0.314248673618 --0.129810016602 -0.331504687667 --0.12980976142 -0.348760470748 --0.129809981212 -0.366016417742 --0.129810675978 -0.383272238075 --0.129811847582 -0.400528378784 --0.129813494161 -0.417784512043 --0.129815597087 -0.435041077435 --0.12981816195 -0.452297769487 --0.12982118316 -0.469555020332 --0.129824712873 -0.486812524498 --0.129828687758 -0.504070684314 --0.12983080931 -0.523294255137 --0.129828754813 -0.542516186834 --0.129824783653 -0.559774205089 --0.129821285605 -0.577031895518 --0.129818229005 -0.594288975 --0.129815651104 -0.611545860767 --0.129813548177 -0.628802254796 --0.129811884836 -0.64605858922 --0.129810713232 -0.663314536214 --0.129810016602 -0.680570557713 --0.12980976142 -0.697826310992 --0.129809981212 -0.715082257986 --0.129810675978 -0.732338100672 --0.129811828956 -0.74959422648 --0.129813475534 -0.766850352287 --0.129815597087 -0.78410692513 --0.12981816195 -0.801363632083 --0.12982118316 -0.818620875478 --0.129824712873 -0.835878357291 --0.129828687758 -0.853136524558 --0.12983080931 -0.872360140085 --0.129828754813 -0.891582071781 --0.129824783653 -0.908840045333 --0.129821285605 -0.926097735763 --0.129818229005 -0.943354815244 --0.129815632478 -0.960611686111 --0.129813529551 -0.977868080139 --0.129811884836 -0.995124429464 --0.129810713232 -1.01238036156 --0.129810016602 -1.02963638306 --0.129809780047 -1.04689213633 --0.129809999839 -1.06414806843 --0.129810675978 -1.08140391111 --0.129811847582 -1.09866008163 --0.129813494161 -1.11591625214 --0.129815597087 -1.13317281008 --0.12981816195 -1.15042948723 --0.12982118316 -1.16768673062 --0.129824712873 -1.18494421244 --0.129828687758 -1.20220237971 --0.12983080931 -1.22142598033 --0.129828754813 -1.24064791203 --0.129824783653 -1.25790593028 --0.129821285605 -1.27516362071 --0.129818229005 -1.29242065549 --0.129815651104 -1.30967757106 --0.129813548177 -1.32693397999 --0.129811884836 -1.34419026971 --0.129810713232 -1.36144623161 --0.129810016602 -1.3787022531 --0.12980976142 -1.39595800638 --0.129809981212 -1.41321396828 --0.129810675978 -1.43046981096 --0.129811847582 -1.44772592187 --0.129813494161 -1.46498203278 --0.129815597087 -1.48223862052 --0.12981816195 -1.49949532747 --0.12982118316 -1.51675257087 --0.129824712873 -1.53401008248 --0.129828687758 -1.55126824975 --0.12983080931 -1.57049182058 --0.129828754813 -1.58971375227 --0.129824783653 -1.60697174072 --0.129821285605 -1.62422943116 --0.129818229005 -1.64148652553 --0.129815632478 -1.6587434113 --0.129813529551 -1.67599976063 --0.129811884836 -1.69325608015 --0.129810713232 -1.71051207185 --0.129810016602 -1.72776812315 --0.12980976142 -1.74502387643 --0.129809981212 -1.76227980852 --0.129810675978 -1.77953565121 --0.129811828956 -1.79679179192 --0.129813475534 -1.81404793263 --0.129815597087 -1.83130449057 --0.12981816195 -1.84856116772 --0.12982118316 -1.86581841111 --0.129824712873 -1.88307589292 --0.129828687758 -1.90033406019 --0.12983080931 -1.91955769062 --0.129828754813 -1.93877962232 --0.129824783653 -1.95603761077 --0.129821285605 -1.9732953012 --0.129818229005 -1.99055236578 --0.129815632478 -2.00780922174 --0.129813529551 -2.02506560087 --0.129811884836 -2.04232198 --0.129810713232 -2.0595779419 --0.129810016602 -2.07683396339 --0.129809780047 -2.09408974648 --0.129809999839 -2.11134570837 --0.129810692742 -2.12860149145 --0.129811845719 -2.14585763216 --0.129813475534 -2.16311377287 --0.129815597087 -2.18037027121 --0.12981816195 -2.19762700796 --0.12982118316 -2.21488428116 --0.129824712873 -2.23214173317 --0.129828687758 -2.24939990044 --0.12983080931 -2.26862347126 --0.129828754813 -2.28784543276 --0.129824783653 -2.30510348082 --0.129821285605 -2.32236111164 --0.129818229005 -2.33961814642 --0.129815632478 -2.35687512159 --0.129813529551 -2.37413150072 --0.129811884836 -2.39138776064 --0.129810713232 -2.40864378214 --0.129810016602 -2.42589980364 --0.12980976142 -2.44315552712 --0.129809981212 -2.46041148901 --0.129810675978 -2.4776673317 --0.129811847582 -2.49492347241 --0.129813494161 -2.51217967272 --0.129815597087 -2.52943623066 --0.12981816195 -2.54669284821 --0.12982118316 -2.5639501214 --0.129824712873 -2.58120763302 --0.129828687758 -2.59846574068 --0.12983080931 -2.61768937111 --0.129828754813 -2.63691133261 --0.129824783653 -2.65416926146 --0.129821285605 -2.67142695188 --0.129818229005 -2.68868404627 --0.129815632478 -2.70594096184 --0.129813529551 -2.72319740057 --0.129811884836 -2.74045372009 --0.129810713232 -2.75770962238 --0.129810016602 -2.77496564388 --0.12980976142 -2.79222142696 --0.129809981212 -2.80947738886 --0.129810692742 -2.82673323155 --0.129811864346 -2.84398931265 --0.129813494161 -2.86124545336 --0.129815597087 -2.8785020709 --0.12981816195 -2.89575868845 --0.12982118316 -2.91301590204 --0.129824712873 -2.93027341366 --0.129828687758 -2.94753164053 --0.12983080931 -2.96675527096 --0.129828754813 -2.98597717285 --0.129824783653 -3.0032351613 --0.129821285605 -3.02049285173 --0.129818229005 -3.03774994612 --0.129815651104 -3.05500680208 --0.129813548177 -3.07226318121 --0.129811884836 -3.08951956033 --0.129810713232 -3.10677546263 --0.129810016602 -3.12403142452 --0.12980976142 -3.14128723939 --0.129809981212 --3.12464213371 --0.129810675978 --3.10738629103 --0.129811847582 --3.09013015032 --0.129813494161 --3.07287400961 --0.129815597087 --3.05561739206 --0.12981816195 --3.03836071491 --0.12982118316 --3.02110344172 --0.129824712873 --3.0038459301 --0.129828687758 --2.98658776283 --0.12983080931 --2.96736419201 --0.129828754813 --2.94814229012 --0.129824783653 --2.93088430166 --0.129821285605 --2.91362661123 --0.129818229005 --2.89636951685 --0.129815651104 --2.87911266089 --0.129813548177 --2.86185628176 --0.129811884836 --2.84459990263 --0.129810713232 --2.82734400034 --0.129810016602 --2.81008803844 --0.12980976142 --2.79283225536 --0.129809981212 --2.77557623386 --0.129810675978 --2.75832039118 --0.129811847582 --2.74106425047 --0.129813494161 --2.72380810976 --0.129815597087 --2.70655161142 --0.12981816195 --2.68929487467 --0.12982118316 --2.67203760147 --0.129824712873 --2.65478014946 --0.129828687758 --2.63752198219 --0.12983080931 --2.61829841137 --0.129828754813 --2.59907650948 --0.129824783653 --2.58181846142 --0.129821285605 --2.56456077099 --0.129818229005 --2.5473036766 --0.129815651104 --2.53004676104 --0.129813548177 --2.51279044151 --0.129811884836 --2.49553412199 --0.129810713232 --2.47827810049 --0.129810016602 --2.46102207899 --0.12980976142 --2.44376635551 --0.129809981212 --2.42651039362 --0.129810675978 --2.40925455093 --0.129811828956 --2.39199841022 --0.129813475534 --2.37474232912 --0.129815597087 --2.35748577118 --0.12981816195 --2.34022903442 --0.12982118316 --2.32297182083 --0.129824712873 --2.30571430922 --0.129828687758 --2.28845614195 --0.12983080931 --2.26923257112 --0.129828754813 --2.25001060962 --0.129824783653 --2.23275262117 --0.129821285605 --2.21549493074 --0.129818229005 --2.19823789596 --0.129815632478 --2.1809809804 --0.129813529551 --2.16372454166 --0.129811884836 --2.14646822214 --0.129810713232 --2.12921226025 --0.129810016602 --2.11195623875 --0.129809780047 --2.09470045566 --0.129809999839 --2.07744455337 --0.129810675978 --2.06018871069 --0.129811847582 --2.04293256998 --0.129813494161 --2.02567642927 --0.129815597087 --2.00841984152 --0.12981816195 --1.99116319418 --0.12982118316 --1.97390592098 --0.129824712873 --1.95664840937 --0.129828687758 --1.9393902719 --0.12983080931 --1.92016667128 --0.129828754813 --1.90094473958 --0.129824783653 --1.88368675113 --0.129821285605 --1.8664290309 --0.129818229005 --1.84917196632 --0.129815651104 --1.83191511035 --0.129813548177 --1.81465870142 --0.129811884836 --1.79740235209 --0.129810713232 --1.78014642 --0.129810016602 --1.7628903985 --0.12980976142 --1.74563461542 --0.129809981212 --1.72837868333 --0.129810675978 --1.71112287044 --0.129811847582 --1.69386672974 --0.129813494161 --1.67661058903 --0.129815597087 --1.65935403108 --0.12981816195 --1.64209735393 --0.12982118316 --1.62484011054 --0.129824712873 --1.60758262873 --0.129828687758 --1.59032443166 --0.12983080931 --1.57110083103 --0.129828754813 --1.55187889934 --0.129824783653 --1.53462088108 --0.129821285605 --1.51736319065 --0.129818229005 --1.50010612607 --0.129815632478 --1.4828492403 --0.129813529551 --1.46559286117 --0.129811884836 --1.44833654165 --0.129810713232 --1.43108057976 --0.129810016602 --1.41382458806 --0.12980976142 --1.39656883478 --0.129809981212 --1.37931284308 --0.129810675978 --1.3620570004 --0.129811828956 --1.34480085969 --0.129813475534 --1.32754474878 --0.129815597087 --1.31028822064 --0.12981816195 --1.29303148389 --0.12982118316 --1.27577421069 --0.129824712873 --1.25851672888 --0.129828687758 --1.24125856161 --0.12983080931 --1.22203496098 --0.129828754813 --1.20281305909 --0.129824783653 --1.18555507064 --0.129821285605 --1.16829738021 --0.129818229005 --1.15104031563 --0.129815632478 --1.13378340006 --0.129813529551 --1.11652699113 --0.129811884836 --1.09927067161 --0.129810713232 --1.08201473951 --0.129810016602 --1.06475871801 --0.129809780047 --1.04750293493 --0.129809999839 --1.03024700284 --0.129810692742 --1.01299116015 --0.129811845719 --0.995735019444 --0.129813475534 --0.97847892344 --0.129815597087 --0.961222335696 --0.12981816195 --0.943965613842 --0.12982118316 --0.926708385348 --0.129824712873 --0.909450903535 --0.129828687758 --0.892192721367 --0.12983080931 --0.872969120741 --0.129828754813 --0.853747189045 --0.129824783653 --0.83648917079 --0.129821285605 --0.819231495261 --0.129818229005 --0.801974445581 --0.129815632478 --0.784717544913 --0.129813529551 --0.767461165786 --0.129811884836 --0.750204831362 --0.129810713232 --0.732948884368 --0.129810016602 --0.715692877769 --0.12980976142 --0.698437094688 --0.129809981212 --0.681181147694 --0.129810675978 --0.66392531991 --0.129811847582 --0.646669179201 --0.129813494161 --0.629413023591 --0.129815597087 --0.612156465649 --0.12981816195 --0.594899788499 --0.12982118316 --0.577642530203 --0.129824712873 --0.560385048389 --0.129828687758 --0.543126881122 --0.12983080931 --0.523903280497 --0.129828754813 --0.504681348801 --0.129824783653 --0.487423352897 --0.129821285605 --0.470165662468 --0.129818229005 --0.452908582986 --0.129815632478 --0.435651689768 --0.129813529551 --0.41839531064 --0.129811884836 --0.401138991117 --0.129810713232 --0.383883029223 --0.129810016602 --0.366627007723 --0.12980976142 --0.349371246994 --0.129809981212 --0.332115292549 --0.129810692742 --0.314859464764 --0.129811864346 --0.297603338957 --0.129813494161 --0.280347205699 --0.129815597087 --0.263090632856 --0.12981816195 --0.245833937078 --0.12982118316 --0.228576693684 --0.129824712873 --0.211319193244 --0.129828687758 --0.194061022252 --0.12983080931 --0.174837429077 --0.112467927858 --0.155607566237 --0.112464489415 --0.138349600136 --0.112461453304 --0.121091941372 --0.11245880276 --0.103834901005 --0.112456567586 --0.0865780487657 --0.112454731017 --0.0693216910586 --0.112453296781 --0.0520653966814 --0.112452279776 --0.034809473902 --0.112451661378 --0.0175534880255 --0.112451443449 --0.000297751044855 --0.112451642752 -0.0169581677765 --0.112452242523 -0.0342139634304 --0.112453244626 -0.051470070146 --0.112454680726 -0.068726176396 --0.112456515432 -0.0859827101231 --0.112458733842 -0.103239372373 --0.112461369485 -0.120496589691 --0.112464424223 -0.137754052877 --0.112467862666 -0.155012190342 --0.112469714135 -0.174236066639 --0.112467927858 -0.193458281457 --0.112464489415 -0.210716255009 --0.112461453304 -0.227973915636 --0.11245880276 -0.245230950415 --0.112456567586 -0.26248781383 --0.112454731017 -0.279744170606 --0.112453296781 -0.297000460327 --0.112452279776 -0.314256370067 --0.112451661378 -0.331512346864 --0.112451443449 -0.348768092692 --0.112451642752 -0.366024009883 --0.112452242523 -0.383279807865 --0.112453244626 -0.400535918772 --0.112454680726 -0.417792022228 --0.112456515432 -0.435048557818 --0.112458733842 -0.452305227518 --0.112461369485 -0.469562448561 --0.112464424223 -0.486819908023 --0.112467862666 -0.504078045488 --0.112469714135 -0.523301914335 --0.112467927858 -0.542524114252 --0.112464489415 -0.559782087803 --0.112461453304 -0.577039763331 --0.11245880276 -0.594296827912 --0.112456550822 -0.611553683877 --0.112454714254 -0.628810018301 --0.112453296781 -0.646066308022 --0.112452279776 -0.663322240114 --0.112451678142 -0.680578231811 --0.112451460213 -0.697833955288 --0.112451642752 -0.715089887381 --0.112452242523 -0.732345685363 --0.112453244626 -0.749601781368 --0.112454680726 -0.766857877374 --0.112456515432 -0.784114405513 --0.112458733842 -0.801371097565 --0.112461369485 -0.818628296256 --0.112464424223 -0.835885748267 --0.112467862666 -0.853143900633 --0.112469714135 -0.87236776948 --0.112467927858 -0.891589969396 --0.112464489415 -0.908847928047 --0.112461453304 -0.926105603576 --0.11245880276 -0.943362638354 --0.112456550822 -0.960619479418 --0.112454714254 -0.977875858545 --0.112453296781 -0.995132192969 --0.112452279776 -1.01238811016 --0.112451661378 -1.02964407205 --0.112451443449 -1.04689979553 --0.112451642752 -1.06415572762 --0.112452242523 -1.08141154051 --0.112453244626 -1.09866765142 --0.112454680726 -1.11592376232 --0.112456515432 -1.13318029046 --0.112458733842 -1.15043693781 --0.112461369485 -1.1676941514 --0.112464424223 -1.18495160341 --0.112467862666 -1.20220974088 --0.112469714135 -1.22143363953 --0.112467927858 -1.24065586924 --0.112464489415 -1.2579138279 --0.112461453304 -1.27517145872 --0.11245880276 -1.2924284935 --0.112456567586 -1.30968537927 --0.112454731017 -1.32694172859 --0.112453296781 -1.34419798851 --0.112452279776 -1.3614539206 --0.112451661378 -1.3787099123 --0.112451443449 -1.39596563578 --0.112451642752 -1.41322156787 --0.112452242523 -1.43047738075 --0.112453244626 -1.44773346186 --0.112454680726 -1.46498954296 --0.112456515432 -1.4822461009 --0.112458733842 -1.49950277806 --0.112461369485 -1.51675996184 --0.112464424223 -1.53401744365 --0.112467862666 -1.55127561092 --0.112469714135 -1.57049944997 --0.112467927858 -1.58972164988 --0.112464489415 -1.60697963834 --0.112461453304 -1.62423732877 --0.11245880276 -1.64149436355 --0.112456567586 -1.65875118971 --0.112454731017 -1.67600753903 --0.112453296781 -1.69326385856 --0.112452279776 -1.71051979065 --0.112451678142 -1.72777578235 --0.112451460213 -1.74503153562 --0.112451642752 -1.76228743791 --0.112452242523 -1.77954322099 --0.112453244626 -1.7967993319 --0.112454680726 -1.81405544281 --0.112456515432 -1.83131197095 --0.112458733842 -1.8485686481 --0.112461369485 -1.86582586169 --0.112464424223 -1.8830832839 --0.112467862666 -1.90034142136 --0.112469714135 -1.91956532002 --0.112467927858 -1.93878754974 --0.112464489415 -1.95604550839 --0.112461453304 -1.97330313921 --0.11245880276 -1.99056017399 --0.112456550822 -2.00781700015 --0.112454714254 -2.02507334948 --0.112453296781 -2.0423297286 --0.112452279776 -2.0595856309 --0.112451678142 -2.07684159279 --0.112451460213 -2.09409737587 --0.112451642752 -2.11135327816 --0.112452259287 -2.12860906124 --0.11245326139 -2.14586520195 --0.112454680726 -2.16312128305 --0.112456515432 -2.18037778139 --0.112458733842 -2.19763445854 --0.112461369485 -2.21489167213 --0.112464424223 -2.23214918375 --0.112467862666 -2.24940729141 --0.112469714135 -2.26863110065 --0.112467927858 -2.28785336018 --0.112464489415 -2.30511134863 --0.112461453304 -2.32236897946 --0.11245880276 -2.33962601423 --0.112456567586 -2.3568829298 --0.112454731017 -2.37413930893 --0.112453296781 -2.39139556885 --0.112452279776 -2.40865153074 --0.112451661378 -2.42590755224 --0.112451443449 -2.44316321611 --0.112451642752 -2.4604190588 --0.112452242523 -2.47767490148 --0.112453244626 -2.49493104219 --0.112454680726 -2.5121871829 --0.112456515432 -2.52944368124 --0.112458733842 -2.54670029878 --0.112461369485 -2.56395757198 --0.112464424223 -2.581215024 --0.112467862666 -2.59847313166 --0.112469714135 -2.61769706011 --0.112467927858 -2.63691931963 --0.112464489415 -2.65417724847 --0.112461453304 -2.6714348793 --0.11245880276 -2.68869191408 --0.112456567586 -2.70594877005 --0.112454731017 -2.72320514918 --0.112453296781 -2.74046140909 --0.112452279776 -2.75771731138 --0.112451661378 -2.77497333288 --0.112451443449 -2.79222905636 --0.112451642752 -2.80948501825 --0.112452259287 -2.82674080133 --0.11245326139 -2.84399682283 --0.112454680726 -2.86125296354 --0.112456515432 -2.87850958109 --0.112458733842 -2.89576619863 --0.112461369485 -2.91302335262 --0.112464424223 -2.93028080463 --0.112467862666 -2.9475389719 --0.112469714135 -2.96676290035 --0.112467927858 -2.98598510027 --0.112464489415 -3.00324302912 --0.112461453304 -3.02050065994 --0.11245880276 -3.03775769472 --0.112456567586 -3.05501455069 --0.112454731017 -3.07227092981 --0.112453296781 -3.08952724934 --0.112452279776 -3.10678315163 --0.112451661378 -3.12403911352 --0.112451443449 -3.14129486878 --0.112451642752 --3.12463450432 --0.112452242523 --3.10737872124 --0.112453244626 --3.09012264013 --0.112454680726 --3.07286649943 --0.112456515432 --3.05560988188 --0.112458733842 --3.03835326433 --0.112461369485 --3.02109611035 --0.112464424223 --3.00383859873 --0.112467862666 --2.98658043146 --0.112469714135 --2.96735656261 --0.112467927858 --2.9481343627 --0.112464489415 --2.93087643385 --0.112461453304 --2.91361874342 --0.11245880276 --2.89636170864 --0.112456567586 --2.87910491228 --0.112454731017 --2.86184853315 --0.112453296781 --2.84459221363 --0.112452279776 --2.82733631134 --0.112451661378 --2.81008034945 --0.112451443449 --2.79282456636 --0.112451642752 --2.77556860447 --0.112452242523 --2.75831282139 --0.112453244626 --2.74105668068 --0.112454680726 --2.72380059958 --0.112456515432 --2.70654410124 --0.112458733842 --2.68928736448 --0.112461369485 --2.67203015089 --0.112464424223 --2.65477275849 --0.112467862666 --2.63751465082 --0.112469714135 --2.61829078197 --0.112467927858 --2.59906858206 --0.112464489415 --2.5818105936 --0.112461453304 --2.56455290318 --0.11245880276 --2.54729580879 --0.112456550822 --2.53003889322 --0.112454714254 --2.5127826333 --0.112453296781 --2.49552637339 --0.112452279776 --2.47827041149 --0.112451678142 --2.46101444959 --0.112451460213 --2.44375872612 --0.112451642752 --2.42650276422 --0.112452242523 --2.40924692154 --0.112453244626 --2.39199084044 --0.112454680726 --2.37473481894 --0.112456515432 --2.3574783206 --0.112458733842 --2.34022158385 --0.112461369485 --2.32296437025 --0.112464424223 --2.30570691824 --0.112467862666 --2.28844875097 --0.112469714135 --2.26922494173 --0.112467927858 --2.25000274181 --0.112464489415 --2.23274469376 --0.112461453304 --2.21548700333 --0.11245880276 --2.19823002815 --0.112456550822 --2.18097317219 --0.112454714254 --2.16371673345 --0.112453296781 --2.14646047353 --0.112452279776 --2.12920457125 --0.112451661378 --2.11194854975 --0.112451443449 --2.09469282627 --0.112451642752 --2.07743692398 --0.112452242523 --2.0601811409 --0.112453244626 --2.0429250598 --0.112454680726 --2.02566891909 --0.112456515432 --2.00841236114 --0.112458733842 --1.9911557436 --0.112461369485 --1.97389850021 --0.112464424223 --1.95664101839 --0.112467862666 --1.93938291073 --0.112469714135 --1.92015901208 --0.112467927858 --1.90093678236 --0.112464489415 --1.88367882371 --0.112461453304 --1.86642116309 --0.11245880276 --1.8491641283 --0.112456567586 --1.83190727234 --0.112454731017 --1.81465092301 --0.112453296781 --1.79739463329 --0.112452279776 --1.780138731 --0.112451661378 --1.76288273931 --0.112451443449 --1.74562698603 --0.112451642752 --1.72837108374 --0.112452242523 --1.71111530066 --0.112453244626 --1.69385918975 --0.112454680726 --1.67660307884 --0.112456515432 --1.6593465507 --0.112458733842 --1.64208987355 --0.112461369485 --1.62483265996 --0.112464424223 --1.60757523775 --0.112467862666 --1.59031710029 --0.112469714135 --1.57109320164 --0.112467927858 --1.55187097192 --0.112464489415 --1.53461301327 --0.112461453304 --1.51735535264 --0.11245880276 --1.50009831786 --0.112456567586 --1.4828414619 --0.112454731017 --1.46558511257 --0.112453296781 --1.44832882285 --0.112452279776 --1.43107286096 --0.112451678142 --1.41381686926 --0.112451460213 --1.39656114578 --0.112451642752 --1.37930521369 --0.112452242523 --1.36204940081 --0.112453244626 --1.3447932899 --0.112454680726 --1.3275372088 --0.112456515432 --1.31028071046 --0.112458733842 --1.29302403331 --0.112461369485 --1.27576678991 --0.112464424223 --1.2585093379 --0.112467862666 --1.24125120044 --0.112469714135 --1.22202730179 --0.112467927858 --1.20280510187 --0.112464489415 --1.18554714322 --0.112461453304 --1.1682894826 --0.11245880276 --1.15103244782 --0.112456550822 --1.13377556205 --0.112454714254 --1.11651921272 --0.112453296781 --1.0992629528 --0.112452279776 --1.08200705051 --0.112451678142 --1.06475105882 --0.112451460213 --1.04749530554 --0.112451642752 --1.03023940325 --0.112452259287 --1.01298359036 --0.11245326139 --0.995727464556 --0.112454680726 --0.978471368551 --0.112456515432 --0.96121481061 --0.112458733842 --0.94395814836 --0.112461369485 --0.926700949669 --0.112464424223 --0.909443482756 --0.112467862666 --0.892185345292 --0.112469714135 --0.872961461544 --0.112467927858 --0.853739246726 --0.112464489415 --0.836481288075 --0.112461453304 --0.819223642349 --0.11245880276 --0.801966607571 --0.112456567586 --0.784709751606 --0.112454731017 --0.76745338738 --0.112453296781 --0.750197067857 --0.112452279776 --0.732941150665 --0.112451661378 --0.715685173869 --0.112451443449 --0.698429435491 --0.112451642752 --0.681173533201 --0.112452242523 --0.66391775012 --0.112453244626 --0.646661654115 --0.112454680726 --0.629405528307 --0.112456515432 --0.612148970366 --0.112458733842 --0.594892308116 --0.112461369485 --0.577635094523 --0.112464424223 --0.560377657413 --0.112467862666 --0.543119519949 --0.112469714135 --0.5238956213 --0.112467927858 --0.504673406482 --0.112464489415 --0.487415447831 --0.112461453304 --0.470157787204 --0.11245880276 --0.452900744975 --0.112456567586 --0.43564388901 --0.112454731017 --0.418387539684 --0.112453296781 --0.401131249964 --0.112452279776 --0.383875325322 --0.112451661378 --0.366619333625 --0.112451443449 --0.349363602698 --0.112451642752 --0.332107678056 --0.112452259287 --0.314851880074 --0.11245326139 --0.297595791519 --0.112454680726 --0.280339680612 --0.112456515432 --0.263083137572 --0.112458733842 --0.245826475322 --0.112461369485 --0.228569258004 --0.112464424223 --0.211311794818 --0.112467862666 --0.194053661078 --0.112469714135 --0.174829788506 --0.0948094967752 --0.155602190644 --0.0948065780102 --0.138344243169 --0.0948040038348 --0.12108660303 --0.0948017761112 --0.103829585016 --0.0947998911141 --0.0865727551281 --0.0947983488439 --0.0693164188415 --0.0947971530258 --0.0520601449534 --0.0947962850332 --0.0348042435944 --0.0947957430034 --0.0175482786726 --0.0947955604643 --0.000292564043775 --0.0947957392783 -0.0169633342885 --0.0947962477802 -0.0342191094533 --0.0947971027344 -0.0514751924202 --0.0947983153164 -0.0687312800437 --0.0947998538612 -0.0859877932817 --0.0948017239571 -0.103244433179 --0.0948039554059 -0.120501630008 --0.0948065295814 -0.137759067118 --0.0948094315826 -0.155017185956 --0.0948110055179 -0.174241259694 --0.0948094967752 -0.193463664502 --0.0948065780102 -0.210721608251 --0.0948040038348 -0.227979246527 --0.0948017761112 -0.245236262679 --0.0947998911141 -0.262493103743 --0.0947983488439 -0.279749438167 --0.0947971530258 -0.297005705535 --0.0947962850332 -0.314261607826 --0.0947957430034 -0.33151756227 --0.0947955604643 -0.348773270845 --0.0947957392783 -0.366029165685 --0.0947962477802 -0.383284948766 --0.0947971027344 -0.400541044771 --0.0947983153164 -0.417797118425 --0.0947998538612 -0.435053631663 --0.0948017239571 -0.452310293913 --0.0948039554059 -0.469567492604 --0.0948065295814 -0.486824929714 --0.0948094315826 -0.504083044827 --0.0948110055179 -0.523307099938 --0.0948094967752 -0.542529508472 --0.0948065780102 -0.559787467122 --0.0948040038348 -0.577045112848 --0.0948017761112 -0.594302132726 --0.0947998743504 -0.611558958888 --0.0947983320802 -0.628815293312 --0.0947971530258 -0.64607155323 --0.0947962850332 -0.663327440619 --0.0947957597674 -0.680583417415 --0.0947955772283 -0.697839140892 --0.0947957392783 -0.715095058083 --0.0947962477802 -0.732350826263 --0.0947971027344 -0.749606892466 --0.0947983153164 -0.766862973571 --0.0947998538612 -0.784119471908 --0.0948017239571 -0.801376134157 --0.0948039554059 -0.818633332848 --0.0948065295814 -0.835890769958 --0.0948094315826 -0.853148907423 --0.0948110055179 -0.872372955084 --0.0948094967752 -0.891595348716 --0.0948065780102 -0.908853307366 --0.0948040038348 -0.926110953093 --0.0948017761112 -0.943367958069 --0.0947998743504 -0.960624799132 --0.0947983320802 -0.977881148458 --0.0947971530258 -0.995137438177 --0.0947962850332 -1.01239335537 --0.0947957430034 -1.02964925766 --0.0947955604643 -1.04690495133 --0.0947957392783 -1.06416088343 --0.0947962477802 -1.08141666651 --0.0947971027344 -1.09867274761 --0.0947983153164 -1.11592882871 --0.0947998538612 -1.13318535685 --0.0948017239571 -1.1504419744 --0.0948039554059 -1.16769915819 --0.0948065295814 -1.1849566102 --0.0948094315826 -1.20221471787 --0.0948110055179 -1.22143879533 --0.0948094967752 -1.24066123366 --0.0948065780102 -1.25791919232 --0.0948040038348 -1.27517682314 --0.0948017761112 -1.29243382812 --0.0947998911141 -1.30969065428 --0.0947983488439 -1.3269469738 --0.0947971530258 -1.34420323372 --0.0947962850332 -1.36145913601 --0.0947957430034 -1.3787150979 --0.0947955604643 -1.39597082138 --0.0947957392783 -1.41322672367 --0.0947962477802 -1.43048250675 --0.0947971027344 -1.44773858786 --0.0947983153164 -1.46499466896 --0.0947998538612 -1.4822511971 --0.0948017239571 -1.49950784445 --0.0948039554059 -1.51676502824 --0.0948065295814 -1.53402248025 --0.0948094315826 -1.55128061771 --0.0948110055179 -1.57050466538 --0.0948094967752 -1.5897270441 --0.0948065780102 -1.60698500276 --0.0948040038348 -1.62424266339 --0.0948017761112 -1.64149966836 --0.0947998911141 -1.65875649452 --0.0947983488439 -1.67601284385 --0.0947971530258 -1.69326913357 --0.0947962850332 -1.71052503586 --0.0947957597674 -1.72778099775 --0.0947955772283 -1.74503672123 --0.0947957392783 -1.76229262352 --0.0947962477802 -1.7795483768 --0.0947971027344 -1.7968044579 --0.0947983153164 -1.81406053901 --0.0947998538612 -1.83131703734 --0.0948017239571 -1.84857368469 --0.0948039554059 -1.86583086848 --0.0948065295814 -1.88308829069 --0.0948094315826 -1.90034642815 --0.0948110055179 -1.91957053542 --0.0948094967752 -1.93879294396 --0.0948065780102 -1.95605087281 --0.0948040038348 -1.97330850363 --0.0948017761112 -1.9905655086 --0.0947998743504 -2.00782233477 --0.0947983320802 -2.02507865429 --0.0947971530258 -2.04233497381 --0.0947962850332 -2.0595908761 --0.0947957597674 -2.07684677839 --0.0947955772283 -2.09410250187 --0.0947957392783 -2.11135840416 --0.0947962477802 -2.12861418724 --0.0947971027344 -2.14587032795 --0.0947983153164 -2.16312640905 --0.0947998538612 -2.18038290739 --0.0948017239571 -2.19763952494 --0.0948039554059 -2.21489667893 --0.0948065295814 -2.23215419054 --0.0948094315826 -2.2494122982 --0.0948110055179 -2.26863634586 --0.0948094967752 -2.2878587842 --0.0948065780102 -2.30511671305 --0.0948040038348 -2.32237434387 --0.0948017761112 -2.33963137865 --0.0947998911141 -2.35688823461 --0.0947983488439 -2.37414461374 --0.0947971530258 -2.39140087366 --0.0947962850332 -2.40865671635 --0.0947957430034 -2.42591273785 --0.0947955604643 -2.44316846132 --0.0947957392783 -2.46042430401 --0.0947962477802 -2.47768008709 --0.0947971027344 -2.4949361682 --0.0947983153164 -2.5121922493 --0.0947998538612 -2.52944874763 --0.0948017239571 -2.54670536518 --0.0948039554059 -2.56396257877 --0.0948065295814 -2.58122003079 --0.0948094315826 -2.59847813845 --0.0948110055179 -2.61770224571 --0.0948094967752 -2.63692468405 --0.0948065780102 -2.6541826129 --0.0948040038348 -2.67144018412 --0.0948017761112 -2.68869715929 --0.0947998911141 -2.70595401525 --0.0947983488439 -2.72321039438 --0.0947971530258 -2.7404666543 --0.0947962850332 -2.75772255659 --0.0947957430034 -2.77497857809 --0.0947955604643 -2.79223424196 --0.0947957392783 -2.80949014425 --0.0947962477802 -2.82674592733 --0.0947971027344 -2.84400194883 --0.0947983153164 -2.86125808954 --0.0947998538612 -2.87851464748 --0.0948017239571 -2.89577126503 --0.0948039554059 -2.91302841902 --0.0948065295814 -2.93028587103 --0.0948094315826 -2.9475440383 --0.0948110055179 -2.96676808596 --0.0948094967752 -2.98599046469 --0.0948065780102 -3.00324839353 --0.0948040038348 -3.02050602436 --0.0948017761112 -3.03776305914 --0.0947998911141 -3.0550199151 --0.0947983488439 -3.07227623463 --0.0947971530258 -3.08953249455 --0.0947962850332 -3.10678839684 --0.0947957430034 -3.12404435873 --0.0947955604643 -3.14130005439 --0.0947957392783 --3.12462931871 --0.0947962477802 --3.10737353563 --0.0947971027344 --3.09011751413 --0.0947983153164 --3.07286137342 --0.0947998538612 --3.05560481548 --0.0948017239571 --3.03834819793 --0.0948039554059 --3.02109104395 --0.0948065295814 --3.00383359194 --0.0948094315826 --2.98657542467 --0.0948110055179 --2.96735137701 --0.0948094967752 --2.94812899828 --0.0948065780102 --2.93087106943 --0.0948040038348 --2.913613379 --0.0948017761112 --2.89635634422 --0.0947998911141 --2.87909954786 --0.0947983488439 --2.86184322834 --0.0947971530258 --2.84458696842 --0.0947962850332 --2.82733106613 --0.0947957430034 --2.81007510424 --0.0947955604643 --2.79281932116 --0.0947957392783 --2.77556341887 --0.0947962477802 --2.75830769539 --0.0947971027344 --2.74105155468 --0.0947983153164 --2.72379547358 --0.0947998538612 --2.70653897524 --0.0948017239571 --2.68928229809 --0.0948039554059 --2.6720251441 --0.0948065295814 --2.65476775169 --0.0948094315826 --2.63750964403 --0.0948110055179 --2.61828559637 --0.0948094967752 --2.59906315804 --0.0948065780102 --2.58180516958 --0.0948040038348 --2.56454753875 --0.0948017761112 --2.54729050398 --0.0947998743504 --2.53003364802 --0.0947983320802 --2.51277732849 --0.0947971530258 --2.49552106857 --0.0947962850332 --2.47826522589 --0.0947957597674 --2.4610093236 --0.0947955772283 --2.44375354052 --0.0947957392783 --2.42649757862 --0.0947962477802 --2.40924179554 --0.0947971027344 --2.39198571444 --0.0947983153164 --2.37472969294 --0.0947998538612 --2.3574731946 --0.0948017239571 --2.34021651745 --0.0948039554059 --2.32295930385 --0.0948065295814 --2.30570185184 --0.0948094315826 --2.28844374418 --0.0948110055179 --2.26921969652 --0.0948094967752 --2.24999731779 --0.0948065780102 --2.23273932934 --0.0948040038348 --2.21548169851 --0.0948017761112 --2.19822472334 --0.0947998743504 --2.18096786738 --0.0947983320802 --2.16371148825 --0.0947971530258 --2.14645522833 --0.0947962850332 --2.12919932604 --0.0947957430034 --2.11194336414 --0.0947955604643 --2.09468770027 --0.0947957392783 --2.07743173838 --0.0947962477802 --2.0601759553 --0.0947971027344 --2.04291993379 --0.0947983153164 --2.02566379309 --0.0947998538612 --2.00840726495 --0.0948017239571 --1.9911506772 --0.0948039554059 --1.97389346361 --0.0948065295814 --1.9566360116 --0.0948094315826 --1.93937790394 --0.0948110055179 --1.92015382647 --0.0948094967752 --1.90093141794 --0.0948065780102 --1.88367348909 --0.0948040038348 --1.86641585827 --0.0948017761112 --1.84915882349 --0.0947998911141 --1.83190196753 --0.0947983488439 --1.814645648 --0.0947971530258 --1.79738938808 --0.0947962850332 --1.78013348579 --0.0947957430034 --1.7628775239 --0.0947955604643 --1.74562180042 --0.0947957392783 --1.72836589813 --0.0947962477802 --1.71111014485 --0.0947971027344 --1.69385406375 --0.0947983153164 --1.67659798265 --0.0947998538612 --1.65934148431 --0.0948017239571 --1.64208480716 --0.0948039554059 --1.62482762337 --0.0948065295814 --1.60757020116 --0.0948094315826 --1.59031206369 --0.0948110055179 --1.57108798623 --0.0948094967752 --1.5518655777 --0.0948065780102 --1.53460764885 --0.0948040038348 --1.51735001803 --0.0948017761112 --1.50009301305 --0.0947998911141 --1.48283618689 --0.0947983488439 --1.46557983756 --0.0947971530258 --1.44832354784 --0.0947962850332 --1.43106761575 --0.0947957597674 --1.41381165385 --0.0947955772283 --1.39655596018 --0.0947957392783 --1.37930005789 --0.0947962477802 --1.36204427481 --0.0947971027344 --1.3447881937 --0.0947983153164 --1.3275321126 --0.0947998538612 --1.31027561426 --0.0948017239571 --1.29301899672 --0.0948039554059 --1.27576178313 --0.0948065295814 --1.25850433111 --0.0948094315826 --1.24124622345 --0.0948110055179 --1.22202214599 --0.0948094967752 --1.20279970765 --0.0948065780102 --1.18554177881 --0.0948040038348 --1.16828414798 --0.0948017761112 --1.1510271132 --0.0947998743504 --1.13377028704 --0.0947983320802 --1.11651396751 --0.0947971530258 --1.0992577076 --0.0947962850332 --1.08200180531 --0.0947957597674 --1.06474584341 --0.0947955772283 --1.04749011993 --0.0947957392783 --1.03023421764 --0.0947962477802 --1.01297846437 --0.0947971027344 --0.995722383262 --0.0947983153164 --0.978466272354 --0.0947998538612 --0.961209729314 --0.0948017239571 --0.943953096866 --0.0948039554059 --0.926695927977 --0.0948065295814 --0.909438461065 --0.0948094315826 --0.892180338502 --0.0948110055179 --0.87295627594 --0.0948094967752 --0.853733867407 --0.0948065780102 --0.836475938559 --0.0948040038348 --0.819218307734 --0.0948017761112 --0.801961287856 --0.0947998911141 --0.784704461694 --0.0947983488439 --0.767448112369 --0.0947971530258 --0.750191807747 --0.0947962850332 --0.732935920358 --0.0947957430034 --0.715679958463 --0.0947955604643 --0.698424234986 --0.0947957392783 --0.681168347597 --0.0947962477802 --0.663912594318 --0.0947971027344 --0.646656528115 --0.0947983153164 --0.62940043211 --0.0947998538612 --0.61214388907 --0.0948017239571 --0.594887241721 --0.0948039554059 --0.577630057931 --0.0948065295814 --0.560372620821 --0.0948094315826 --0.543114498258 --0.0948110055179 --0.523890420794 --0.0948094967752 --0.504668027163 --0.0948065780102 --0.487410083413 --0.0948040038348 --0.470152445137 --0.0948017761112 --0.45289543271 --0.0947998911141 --0.435638599098 --0.0947983488439 --0.418382264674 --0.0947971530258 --0.401125997304 --0.0947962850332 --0.383870102465 --0.0947957430034 --0.366614125669 --0.0947955604643 --0.349358409643 --0.0947957392783 --0.332102514804 --0.0947962477802 --0.314846731722 --0.0947971027344 --0.297590658069 --0.0947983153164 --0.280334576964 --0.0947998538612 --0.263078056276 --0.0948017239571 --0.245821412653 --0.0948039554059 --0.228564213962 --0.0948065295814 --0.211306773126 --0.0948094315826 --0.194048661739 --0.0948110055179 --0.174824599177 --0.0765866730362 --0.155598782003 --0.0765843056142 --0.138340849429 --0.0765822269023 --0.12108322233 --0.0765804238617 --0.103826219216 --0.0765788778663 --0.0865694005042 --0.0765776205808 --0.0693130781874 --0.0765766557306 --0.0520568164066 --0.0765759646893 --0.0348009290174 --0.0765755455941 --0.0175449801609 --0.0765753984451 --0.000289279036223 --0.0765755418688 -0.0169666064903 --0.076575960964 -0.0342223681509 --0.0765766557306 -0.0514784362167 --0.0765776373446 -0.0687345098704 --0.076578874141 -0.0859910119325 --0.0765803884715 -0.103247640654 --0.0765821933746 -0.120504824445 --0.076584270224 -0.137762248516 --0.076586605981 -0.155020352453 --0.0765878800303 -0.174244541675 --0.0765866730362 -0.193467069417 --0.0765843056142 -0.210725001991 --0.0765822269023 -0.227982629091 --0.0765804238617 -0.245239637792 --0.0765788778663 -0.262496456504 --0.0765776205808 -0.279752776027 --0.0765766706317 -0.297009035945 --0.0765759795904 -0.314264923334 --0.0765755455941 -0.331520870328 --0.0765753984451 -0.348776571452 --0.0765755418688 -0.366032451391 --0.076575960964 -0.38328821212 --0.0765766557306 -0.400544293225 --0.0765776205808 -0.417800359428 --0.0765788573772 -0.435056857765 --0.0765803884715 -0.452313482761 --0.0765821933746 -0.469570666552 --0.076584270224 -0.486828111112 --0.076586605981 -0.504086211324 --0.0765878800303 -0.523310378194 --0.0765866730362 -0.542532920838 --0.0765843056142 -0.559790864587 --0.0765822269023 -0.57704846561 --0.0765804238617 -0.594305470586 --0.0765788778663 -0.611562296748 --0.0765776205808 -0.628818616271 --0.0765766557306 -0.646074876189 --0.0765759646893 -0.663330763578 --0.0765755455941 -0.680586710572 --0.0765753984451 -0.697842419147 --0.0765755418688 -0.715098321438 --0.076575960964 -0.732354089618 --0.0765766557306 -0.749610140919 --0.0765776205808 -0.766866207123 --0.0765788573772 -0.78412270546 --0.0765803884715 -0.801379337907 --0.0765821933746 -0.818636536598 --0.076584270224 -0.835893943906 --0.076586605981 -0.853152051568 --0.0765878800303 -0.87237624824 --0.0765866730362 -0.891598775983 --0.0765843056142 -0.908856704831 --0.0765822269023 -0.926114320755 --0.0765804238617 -0.943371325731 --0.0765788778663 -0.960628151894 --0.0765776205808 -0.977884471417 --0.0765766706317 -0.995140746235 --0.0765759795904 -1.01239666343 --0.0765755455941 -1.02965256572 --0.0765753984451 -1.04690822959 --0.0765755418688 -1.06416413188 --0.076575960964 -1.08141991496 --0.0765766557306 -1.09867596626 --0.0765776205808 -1.11593204737 --0.0765788573772 -1.13318860531 --0.0765803884715 -1.15044519305 --0.0765821933746 -1.16770234704 --0.076584270224 -1.18495979905 --0.076586605981 -1.20221790671 --0.0765878800303 -1.22144210339 --0.0765866730362 -1.24066463113 --0.0765843056142 -1.25792255998 --0.0765822269023 -1.2751801908 --0.0765804238617 -1.29243719578 --0.0765788778663 -1.30969399214 --0.0765776205808 -1.32695031166 --0.0765766557306 -1.34420657158 --0.0765759646893 -1.36146244407 --0.0765755455941 -1.37871840596 --0.0765753984451 -1.39597412944 --0.0765755418688 -1.41323000193 --0.076575960964 -1.4304857552 --0.0765766557306 -1.44774183631 --0.0765776205808 -1.46499791742 --0.0765788573772 -1.48225441575 --0.0765803884715 -1.4995110333 --0.0765821933746 -1.51676821709 --0.076584270224 -1.53402563929 --0.076586605981 -1.55128374696 --0.0765878800303 -1.57050794363 --0.0765866730362 -1.58973047137 --0.0765843056142 -1.60698840022 --0.0765822269023 -1.62424603104 --0.0765804238617 -1.64150303602 --0.0765788778663 -1.65875986219 --0.0765776205808 -1.67601618171 --0.0765766557306 -1.69327244163 --0.0765759646893 -1.71052834392 --0.0765755455941 -1.72778427601 --0.0765753984451 -1.74503996968 --0.0765755418688 -1.76229587197 --0.076575960964 -1.77955162525 --0.0765766557306 -1.79680770636 --0.0765776205808 -1.81406378746 --0.0765788573772 -1.8313202858 --0.0765803884715 -1.84857687354 --0.0765821933746 -1.86583402753 --0.076584270224 -1.88309147954 --0.076586605981 -1.900349617 --0.0765878800303 -1.91957384348 --0.0765866730362 -1.93879637122 --0.0765843056142 -1.95605430007 --0.0765822269023 -1.97331190109 --0.0765804238617 -1.99056887627 --0.0765788778663 -2.00782573223 --0.0765776205808 -2.02508205175 --0.0765766706317 -2.04233831167 --0.0765759795904 -2.05959421396 --0.0765755455941 -2.07685011625 --0.0765753984451 -2.09410578012 --0.0765755418688 -2.11136168241 --0.076575960964 -2.1286174655 --0.0765766557306 -2.1458735466 --0.0765776205808 -2.16312962771 --0.0765788573772 -2.18038612604 --0.0765803884715 -2.19764274359 --0.0765821933746 -2.21489989758 --0.076584270224 -2.23215734959 --0.076586605981 -2.24941545725 --0.0765878800303 -2.26863968372 --0.0765866730362 -2.28786224127 --0.0765843056142 -2.30512017012 --0.0765822269023 -2.32237780094 --0.0765804238617 -2.33963477611 --0.0765788778663 -2.35689157247 --0.0765776205808 -2.374147892 --0.0765766557306 -2.39140415192 --0.0765759646893 -2.4086599946 --0.0765755455941 -2.4259159565 --0.0765753984451 -2.44317167997 --0.0765755418688 -2.46042758226 --0.076575960964 -2.47768336535 --0.0765766557306 -2.49493938685 --0.0765776205808 -2.51219540834 --0.0765788573772 -2.52945190668 --0.0765803884715 -2.54670852423 --0.0765821933746 -2.56396573782 --0.076584270224 -2.58122318983 --0.076586605981 -2.59848129749 --0.0765878800303 -2.61770552397 --0.0765866730362 -2.63692802191 --0.0765843056142 -2.65418595076 --0.0765822269023 -2.67144358158 --0.0765804238617 -2.68870055675 --0.0765788778663 -2.70595735311 --0.0765776205808 -2.72321367264 --0.0765766557306 -2.74046993256 --0.0765759646893 -2.75772583485 --0.0765755455941 -2.77498185635 --0.0765753984451 -2.79223757982 --0.0765755418688 -2.80949342251 --0.076575960964 -2.82674914599 --0.0765766557306 -2.84400522709 --0.0765776205808 -2.8612613678 --0.0765788573772 -2.87851786613 --0.0765803884715 -2.89577448368 --0.0765821933746 -2.91303163767 --0.076584270224 -2.93028903007 --0.076586605981 -2.94754719734 --0.0765878800303 -2.96677136421 --0.0765866730362 -2.98599386215 --0.0765843056142 -3.003251791 --0.0765822269023 -3.02050942183 --0.0765804238617 -3.0377664566 --0.0765788778663 -3.05502331257 --0.0765776205808 -3.07227963209 --0.0765766557306 -3.08953589201 --0.0765759646893 -3.1067917943 --0.0765755455941 -3.12404769659 --0.0765753984451 -3.14130339225 --0.0765755418688 --3.12462604046 --0.076575960964 --3.10737031698 --0.0765766557306 --3.09011423588 --0.0765776373446 --3.07285809517 --0.076578874141 --3.05560159683 --0.0765803884715 --3.03834497929 --0.0765821933746 --3.0210878253 --0.076584270224 --3.00383043289 --0.076586605981 --2.98657226562 --0.0765878800303 --2.96734809876 --0.0765866730362 --2.94812560082 --0.0765843056142 --2.93086767197 --0.0765822269023 --2.91361004114 --0.0765804238617 --2.89635300636 --0.0765788778663 --2.8790961504 --0.0765776205808 --2.86183983088 --0.0765766706317 --2.84458357096 --0.0765759795904 --2.82732766867 --0.0765755455941 --2.81007176638 --0.0765753984451 --2.7928160429 --0.0765755418688 --2.77556014061 --0.076575960964 --2.75830441713 --0.0765766557306 --2.74104833603 --0.0765776205808 --2.72379225492 --0.0765788573772 --2.70653575658 --0.0765803884715 --2.68927913904 --0.0765821933746 --2.67202198505 --0.076584270224 --2.65476453304 --0.076586605981 --2.63750642538 --0.0765878800303 --2.61828231811 --0.0765866730362 --2.59905976057 --0.0765843056142 --2.58180177212 --0.0765822269023 --2.5645442009 --0.0765804238617 --2.54728716612 --0.0765788778663 --2.53003031016 --0.0765776205808 --2.51277399063 --0.0765766557306 --2.49551773071 --0.0765759646893 --2.47826188803 --0.0765755455941 --2.46100598574 --0.0765753984451 --2.44375026226 --0.0765755418688 --2.42649435997 --0.076575960964 --2.40923857689 --0.0765766557306 --2.39198249578 --0.0765776205808 --2.37472647428 --0.0765788573772 --2.35746997595 --0.0765803884715 --2.3402133584 --0.0765821933746 --2.32295614481 --0.076584270224 --2.3056986928 --0.076586605981 --2.28844064474 --0.0765878800303 --2.26921641827 --0.0765866730362 --2.24999386072 --0.0765843056142 --2.23273593187 --0.0765822269023 --2.21547830105 --0.0765804238617 --2.19822132588 --0.0765788778663 --2.18096452952 --0.0765776205808 --2.16370820999 --0.0765766706317 --2.14645195007 --0.0765759795904 --2.12919604778 --0.0765755455941 --2.11194008589 --0.0765753984451 --2.09468442202 --0.0765755418688 --2.07742851973 --0.076575960964 --2.06017273664 --0.0765766557306 --2.04291665554 --0.0765776205808 --2.02566051483 --0.0765788573772 --2.0084040463 --0.0765803884715 --1.99114748835 --0.0765821933746 --1.97389027476 --0.076584270224 --1.95663282275 --0.076586605981 --1.93937474489 --0.0765878800303 --1.92015057802 --0.0765866730362 --1.90092805028 --0.0765843056142 --1.88367012143 --0.0765822269023 --1.8664124906 --0.0765804238617 --1.84915548563 --0.0765788778663 --1.83189865947 --0.0765776205808 --1.81464233995 --0.0765766557306 --1.79738608002 --0.0765759646893 --1.78013017773 --0.0765755455941 --1.76287421584 --0.0765753984451 --1.74561852217 --0.0765755418688 --1.72836264968 --0.076575960964 --1.7111068964 --0.0765766557306 --1.69385081529 --0.0765776205808 --1.67659473419 --0.0765788573772 --1.65933823586 --0.0765803884715 --1.6420815885 --0.0765821933746 --1.62482443452 --0.076584270224 --1.60756701231 --0.076586605981 --1.59030887484 --0.0765878800303 --1.57108467817 --0.0765866730362 --1.55186215043 --0.0765843056142 --1.53460422158 --0.0765822269023 --1.51734662056 --0.0765804238617 --1.50008964539 --0.0765788778663 --1.48283281922 --0.0765776205808 --1.4655764699 --0.0765766557306 --1.44832018018 --0.0765759646893 --1.43106427789 --0.0765755455941 --1.41380837559 --0.0765753984451 --1.39655271173 --0.0765755418688 --1.37929680943 --0.076575960964 --1.36204102636 --0.0765766557306 --1.34478494525 --0.0765776205808 --1.32752889395 --0.0765788573772 --1.31027242541 --0.0765803884715 --1.29301580787 --0.0765821933746 --1.27575859428 --0.076584270224 --1.25850114226 --0.076586605981 --1.2412430346 --0.0765878800303 --1.22201886773 --0.0765866730362 --1.20279633999 --0.0765843056142 --1.18553841114 --0.0765822269023 --1.16828078032 --0.0765804238617 --1.15102374554 --0.0765788778663 --1.13376694918 --0.0765776205808 --1.11651062965 --0.0765766706317 --1.09925436974 --0.0765759795904 --1.08199849725 --0.0765755455941 --1.06474253535 --0.0765753984451 --1.04748681188 --0.0765755418688 --1.03023093939 --0.076575960964 --1.01297521591 --0.0765766557306 --0.995719149711 --0.0765776205808 --0.978463068604 --0.0765788573772 --0.961206540465 --0.0765803884715 --0.943949908018 --0.0765821933746 --0.926692739129 --0.076584270224 --0.909435287118 --0.076586605981 --0.892177179456 --0.0765878800303 --0.872952997685 --0.0765866730362 --0.853730484843 --0.0765843056142 --0.836472555995 --0.0765822269023 --0.819214910269 --0.0765804238617 --0.801957920194 --0.0765788778663 --0.784701108933 --0.0765776205808 --0.767444774509 --0.0765766557306 --0.750188499689 --0.0765759646893 --0.7329326123 --0.0765755455941 --0.715676680207 --0.0765753984451 --0.698420986533 --0.0765755418688 --0.681165084243 --0.076575960964 --0.663909316063 --0.0765766557306 --0.646653264761 --0.0765776205808 --0.629397198558 --0.0765788573772 --0.61214068532 --0.0765803884715 --0.594884067774 --0.0765821933746 --0.577626898885 --0.076584270224 --0.560369446874 --0.076586605981 --0.543111324311 --0.0765878800303 --0.523887142539 --0.0765866730362 --0.504664614797 --0.0765843056142 --0.487406678498 --0.0765822269023 --0.470149077475 --0.0765804238617 --0.452892079949 --0.0765788778663 --0.435635246336 --0.0765776205808 --0.418378919363 --0.0765766557306 --0.401122659444 --0.0765759646893 --0.383866772056 --0.0765755455941 --0.366610825062 --0.0765753984451 --0.349355131388 --0.0765755418688 --0.332099243999 --0.076575960964 --0.314843468368 --0.0765766557306 --0.297587402165 --0.0765776205808 --0.280331335962 --0.0765788573772 --0.263074830175 --0.0765803884715 --0.245818208903 --0.0765821933746 --0.228561028838 --0.076584270224 --0.211303599179 --0.076586605981 --0.194045498968 --0.0765878800303 --0.174821309745 --0.0580773456022 --0.155594792217 --0.0580755583942 --0.13833687827 --0.0580739928409 --0.121079271659 --0.0580726172775 --0.103822279722 --0.058071446605 --0.0865654759109 --0.0580704808235 --0.0693091703579 --0.0580697376281 --0.0520529244095 --0.0580692170188 --0.0347970542498 --0.0580689013004 --0.0175411212258 --0.0580687886104 --0.000285435467957 --0.0580688985065 -0.0169704342261 --0.0580692319199 -0.0342261800543 --0.0580697543919 -0.0514822322875 --0.0580704817548 -0.0687382891774 --0.0580714130774 -0.085994778201 --0.0580725669861 -0.103251390159 --0.0580739434809 -0.120508559048 --0.0580755248666 -0.137765970081 --0.0580772962421 -0.155024055392 --0.0580782620236 -0.174248386175 --0.0580773456022 -0.193471055478 --0.0580755583942 -0.21072897315 --0.0580739928409 -0.227986585349 --0.0580726172775 -0.245243575424 --0.058071446605 -0.262500375509 --0.0580704808235 -0.279756687582 --0.0580697525293 -0.297012925148 --0.05806923192 -0.314268790185 --0.0580689013004 -0.331524737179 --0.0580687886104 -0.348780423403 --0.0580688985065 -0.36603628844 --0.0580692319199 -0.383292026817 --0.0580697543919 -0.40054808557 --0.058070464991 -0.417804151773 --0.0580713963136 -0.435060627758 --0.0580725669861 -0.452317222953 --0.0580739434809 -0.469574391842 --0.0580755248666 -0.486831814051 --0.0580772962421 -0.504089906812 --0.0580782620236 -0.523314237594 --0.0580773456022 -0.542536899447 --0.0580755583942 -0.559794813395 --0.0580739928409 -0.577052414417 --0.0580726172775 -0.594309419394 --0.058071446605 -0.611566230654 --0.0580704808235 -0.628822520375 --0.0580697376281 -0.646078765392 --0.0580692170188 -0.66333463788 --0.0580689013004 -0.680590569973 --0.0580687886104 -0.697846248746 --0.0580688985065 -0.715102136135 --0.0580692319199 -0.732357904315 --0.0580697543919 -0.749613955617 --0.058070464991 -0.766870006919 --0.0580713963136 -0.784126475453 --0.0580725669861 -0.801383078098 --0.0580739434809 -0.818640261889 --0.0580755248666 -0.835897669196 --0.0580772962421 -0.853155747056 --0.0580782620236 -0.872380077839 --0.0580773456022 -0.891602754593 --0.0580755583942 -0.908860683441 --0.0580739928409 -0.926118299365 --0.0580726172775 -0.943375274539 --0.058071446605 -0.960632055998 --0.0580704808235 -0.977888375521 --0.0580697525293 -0.99514465034 --0.05806923192 -1.01240053773 --0.0580689013004 -1.02965644002 --0.0580687886104 -1.04691210389 --0.0580688985065 -1.06416797638 --0.0580692319199 -1.08142372966 --0.0580697543919 -1.09867978096 --0.058070464991 -1.11593583226 --0.0580713963136 -1.1331923604 --0.0580725669861 -1.15044894814 --0.0580739434809 -1.16770610213 --0.0580755248666 -1.18496355414 --0.0580772962421 -1.202221632 --0.0580782620236 -1.22144597769 --0.0580773456022 -1.24066862464 --0.0580755583942 -1.25792649389 --0.0580739928409 -1.27518412471 --0.0580726172775 -1.29244112969 --0.058071446605 -1.30969792605 --0.0580704808235 -1.32695424557 --0.0580697376281 -1.34421047568 --0.0580692170188 -1.36146631837 --0.0580689013004 -1.37872228026 --0.0580687886104 -1.39597797394 --0.0580688985065 -1.41323381663 --0.0580692319199 -1.4304895699 --0.0580697543919 -1.44774565101 --0.058070464991 -1.46500170231 --0.0580713963136 -1.48225817085 --0.0580725669861 -1.49951478839 --0.0580739434809 -1.51677194238 --0.0580755248666 -1.53402933478 --0.0580772962421 -1.55128744245 --0.0580782620236 -1.57051178813 --0.0580773456022 -1.58973446488 --0.0580755583942 -1.60699239373 --0.0580739928409 -1.62424999475 --0.0580726172775 -1.64150696993 --0.058071446605 -1.65876376629 --0.0580704808235 -1.67602005601 --0.0580697376281 -1.69327631592 --0.0580692170188 -1.71053221822 --0.0580689013004 -1.72778812051 --0.0580687886104 -1.74504378438 --0.0580688985065 -1.76229968667 --0.0580692319199 -1.77955543995 --0.0580697543919 -1.79681149125 --0.058070464991 -1.81406757235 --0.0580713963136 -1.83132407069 --0.0580725669861 -1.84858065843 --0.0580739434809 -1.86583781242 --0.0580755248666 -1.88309523463 --0.0580772962421 -1.90035331249 --0.0580782620236 -1.91957765817 --0.0580773456022 -1.93880033493 --0.0580755583942 -1.95605823398 --0.0580739928409 -1.973315835 --0.0580726172775 -1.99057281017 --0.058071446605 -2.00782963634 --0.0580704808235 -2.02508598566 --0.0580697525293 -2.04234224558 --0.05806923192 -2.05959808826 --0.0580689013004 -2.07685399055 --0.0580687886104 -2.09410965442 --0.0580688985065 -2.11136555672 --0.0580692319199 -2.1286213398 --0.0580697543919 -2.1458773613 --0.058070464991 -2.1631333828 --0.0580713963136 -2.18038988113 --0.0580725669861 -2.19764649868 --0.0580739434809 -2.21490365267 --0.0580755248666 -2.23216110468 --0.0580772962421 -2.24941915274 --0.0580782620236 -2.26864349842 --0.0580773456022 -2.28786617518 --0.0580755583942 -2.30512404442 --0.0580739928409 -2.32238173485 --0.0580726172775 -2.33963871002 --0.058071446605 -2.35689544678 --0.0580704808235 -2.3741517663 --0.0580697376281 -2.39140802622 --0.0580692170188 -2.4086638689 --0.0580689013004 -2.42591977119 --0.0580687886104 -2.44317549467 --0.0580688985065 -2.46043139696 --0.0580692319199 -2.47768712044 --0.0580697543919 -2.49494314194 --0.058070464991 -2.51219916344 --0.0580713963136 -2.52945566178 --0.0580725669861 -2.54671227932 --0.0580739434809 -2.56396943331 --0.0580755248666 -2.58122688532 --0.0580772962421 -2.59848505258 --0.0580782620236 -2.61770939827 --0.0580773456022 -2.63693201542 --0.0580755583942 -2.65418994427 --0.0580739928409 -2.67144757509 --0.0580726172775 -2.68870455027 --0.058071446605 -2.70596134662 --0.0580704808235 -2.72321760654 --0.0580697376281 -2.74047380686 --0.0580692170188 -2.75772970915 --0.0580689013004 -2.77498567104 --0.0580687886104 -2.79224139452 --0.0580688985065 -2.8094972372 --0.0580692319199 -2.82675296068 --0.0580697543919 -2.84400904179 --0.058070464991 -2.86126512289 --0.0580713963136 -2.87852162123 --0.0580725669861 -2.89577823878 --0.0580739434809 -2.91303539276 --0.0580755248666 -2.93029272556 --0.0580772962421 -2.94755083322 --0.0580782620236 -2.96677517891 --0.0580773456022 -2.98599785566 --0.0580755583942 -3.00325578451 --0.0580739928409 -3.02051335573 --0.0580726172775 -3.0377703309 --0.058071446605 -3.05502718687 --0.0580704808235 -3.07228350639 --0.0580697376281 -3.08953976631 --0.0580692170188 -3.1067956686 --0.0580689013004 -3.12405157089 --0.0580687886104 -3.14130726655 --0.0580688985065 --3.12462222576 --0.0580692319199 --3.10736650229 --0.0580697543919 --3.09011042118 --0.0580704817548 --3.07285434008 --0.0580714130774 --3.05559784174 --0.0580725669861 --3.03834122419 --0.0580739434809 --3.02108407021 --0.0580755248666 --3.00382673741 --0.0580772962421 --2.98656862974 --0.0580782620236 --2.96734428406 --0.0580773456022 --2.94812160731 --0.0580755583942 --2.93086367846 --0.0580739928409 --2.91360610723 --0.0580726172775 --2.89634913206 --0.058071446605 --2.8790922761 --0.0580704808235 --2.86183595658 --0.0580697525293 --2.84457969666 --0.05806923192 --2.82732379437 --0.0580689013004 --2.81006789208 --0.0580687886104 --2.7928122282 --0.0580688985065 --2.77555632591 --0.0580692319199 --2.75830054283 --0.0580697543919 --2.74104452133 --0.058070464991 --2.72378849983 --0.0580713963136 --2.7065320611 --0.0580725669861 --2.68927544355 --0.0580739434809 --2.67201822996 --0.0580755248666 --2.65476077795 --0.0580772962421 --2.63750272989 --0.0580782620236 --2.61827844381 --0.0580773456022 --2.59905576706 --0.0580755583942 --2.58179789782 --0.0580739928409 --2.56454026699 --0.0580726172775 --2.54728317261 --0.058071446605 --2.53002637625 --0.0580704808235 --2.51277011633 --0.0580697376281 --2.49551385641 --0.0580692170188 --2.47825801373 --0.0580689013004 --2.46100211144 --0.0580687886104 --2.44374644756 --0.0580688985065 --2.42649054527 --0.0580692319199 --2.40923476219 --0.0580697543919 --2.39197874069 --0.058070464991 --2.37472271919 --0.0580713963136 --2.35746622085 --0.0580725669861 --2.34020960331 --0.0580739434809 --2.32295244932 --0.0580755248666 --2.30569499731 --0.0580772962421 --2.28843688965 --0.0580782620236 --2.26921254396 --0.0580773456022 --2.24998986721 --0.0580755583942 --2.23273193836 --0.0580739928409 --2.21547430754 --0.0580726172775 --2.19821733237 --0.058071446605 --2.18096059561 --0.0580704808235 --2.16370433569 --0.0580697525293 --2.14644807577 --0.05806923192 --2.12919217348 --0.0580689013004 --2.11193621159 --0.0580687886104 --2.09468054771 --0.0580688985065 --2.07742470503 --0.0580692319199 --2.06016898155 --0.0580697543919 --2.04291290045 --0.058070464991 --2.02565675974 --0.0580713963136 --2.00840029121 --0.0580725669861 --1.99114373326 --0.0580739434809 --1.97388654947 --0.0580755248666 --1.95662912727 --0.0580772962421 --1.93937104941 --0.0580782620236 --1.92014673352 --0.0580773456022 --1.90092405677 --0.0580755583942 --1.88366612792 --0.0580739928409 --1.86640852689 --0.0580726172775 --1.84915155172 --0.058071446605 --1.83189475537 --0.0580704808235 --1.81463843584 --0.0580697376281 --1.79738217592 --0.0580692170188 --1.78012630343 --0.0580689013004 --1.76287037134 --0.0580687886104 --1.74561470747 --0.0580688985065 --1.72835883498 --0.0580692319199 --1.7111030817 --0.0580697543919 --1.6938470304 --0.058070464991 --1.6765909493 --0.0580713963136 --1.65933445096 --0.0580725669861 --1.64207783341 --0.0580739434809 --1.62482067942 --0.0580755248666 --1.60756328702 --0.0580772962421 --1.59030520916 --0.0580782620236 --1.57108086347 --0.0580773456022 --1.55185818672 --0.0580755583942 --1.53460028768 --0.0580739928409 --1.51734268665 --0.0580726172775 --1.50008571148 --0.058071446605 --1.48282888532 --0.0580704808235 --1.4655725658 --0.0580697376281 --1.44831630587 --0.0580692170188 --1.43106040359 --0.0580689013004 --1.4138045013 --0.0580687886104 --1.39654883743 --0.0580688985065 --1.37929296494 --0.0580692319199 --1.36203721166 --0.0580697543919 --1.34478113055 --0.058070464991 --1.32752510905 --0.0580713963136 --1.31026867032 --0.0580725669861 --1.29301205277 --0.0580739434809 --1.27575486898 --0.0580755248666 --1.25849744677 --0.0580772962421 --1.24123933911 --0.0580782620236 --1.22201499343 --0.0580773456022 --1.20279234648 --0.0580755583942 --1.18553444744 --0.0580739928409 --1.16827681661 --0.0580726172775 --1.15101981163 --0.058071446605 --1.13376301527 --0.0580704808235 --1.11650669575 --0.0580697525293 --1.09925046563 --0.05806923192 --1.08199462294 --0.0580689013004 --1.06473869085 --0.0580687886104 --1.04748299718 --0.0580688985065 --1.03022712469 --0.0580692319199 --1.01297137141 --0.0580697543919 --0.995715305209 --0.058070464991 --0.978459268808 --0.0580713963136 --0.961202785373 --0.0580725669861 --0.943946167826 --0.0580739434809 --0.926688998937 --0.0580755248666 --0.909431576728 --0.0580772962421 --0.892173498869 --0.0580782620236 --0.872949168086 --0.0580773456022 --0.853726506233 --0.0580755583942 --0.836468592286 --0.0580739928409 --0.819210961461 --0.0580726172775 --0.801953986287 --0.058071446605 --0.784697175026 --0.0580704808235 --0.767440855503 --0.0580697376281 --0.750184610486 --0.0580692170188 --0.732928737998 --0.0580689013004 --0.715672820806 --0.0580687886104 --0.698417142034 --0.0580688985065 --0.681161269546 --0.0580692319199 --0.663905516267 --0.0580697543919 --0.646649464965 --0.058070464991 --0.629393413663 --0.0580713963136 --0.612136930227 --0.0580725669861 --0.594880327582 --0.0580739434809 --0.577623173594 --0.0580755248666 --0.560365736485 --0.0580772962421 --0.543107628822 --0.0580782620236 --0.523883312941 --0.0580773456022 --0.504660636187 --0.0580755583942 --0.487402714789 --0.0580739928409 --0.470145128667 --0.0580726172775 --0.452888146043 --0.058071446605 --0.435631327331 --0.0580704808235 --0.418375015259 --0.0580697376281 --0.401118770242 --0.0580692170188 --0.383862890303 --0.0580689013004 --0.36660695821 --0.0580687886104 --0.349351286888 --0.0580688985065 --0.332095421851 --0.0580692319199 --0.314839668572 --0.0580697543919 --0.29758361727 --0.058070464991 --0.280327558517 --0.0580713963136 --0.263071067631 --0.0580725669861 --0.245814464987 --0.0580739434809 --0.228557296097 --0.0580755248666 --0.211299881339 --0.0580772962421 --0.194041796029 --0.0580782620236 --0.174817465246 --0.0395497288555 --0.155590806156 --0.0395485167392 --0.13833290711 --0.0395474452525 --0.121075313538 --0.0395464980975 --0.103818336502 --0.039545705542 --0.0865615531802 --0.0395450526848 --0.069305264391 --0.0395445558242 --0.0520490324124 --0.0395441986621 --0.0347931785509 --0.0395439658314 --0.0175372611266 --0.0395439034328 --0.00028159096837 --0.0395439807326 -0.016974263126 --0.0395441986621 -0.0342299924232 --0.0395445553586 -0.051486030221 --0.0395450368524 -0.0687420703471 --0.039545673877 -0.0859985426068 --0.0395464664325 -0.103255139664 --0.0395473991521 -0.120512291789 --0.0395484860055 -0.137769691646 --0.0395496971906 -0.155027762056 --0.0395503500477 -0.174252230674 --0.0395497288555 -0.193475041538 --0.0395485167392 -0.21073294431 --0.0395474452525 -0.227990537882 --0.0395464980975 -0.24524750933 --0.039545705542 -0.262504301965 --0.0395450526848 -0.279760599137 --0.0395445558242 -0.297016814351 --0.0395441986621 -0.314272657037 --0.0395439658314 -0.331528581679 --0.0395439034328 -0.348784253001 --0.0395439807326 -0.366040110588 --0.0395441986621 -0.383295834064 --0.0395445553586 -0.400551877916 --0.0395450368524 -0.417807936668 --0.039545673877 -0.435064397752 --0.0395464664325 -0.452320985496 --0.0395473991521 -0.469578132034 --0.0395484860055 -0.48683552444 --0.0395496971906 -0.50409360975 --0.0395503500477 -0.523318096995 --0.0395497288555 -0.542540878058 --0.0395485167392 -0.559798762202 --0.0395474452525 -0.577056378126 --0.0395465134643 -0.594313368201 --0.0395457209088 -0.61157014966 --0.0395450526848 -0.628826439381 --0.0395445558242 -0.646082669497 --0.0395441986621 -0.663338512182 --0.0395439658314 -0.680594429374 --0.0395439034328 -0.697850078344 --0.0395439807326 -0.715105950832 --0.0395441986621 -0.732361719012 --0.0395445553586 -0.749617755413 --0.0395450368524 -0.766873776913 --0.039545673877 -0.784130215645 --0.0395464664325 -0.801386803388 --0.0395473991521 -0.818643972278 --0.0395484860055 -0.835901379585 --0.0395496971906 -0.853159442544 --0.0395503500477 -0.872383907437 --0.0395497288555 -0.891606733203 --0.0395485167392 -0.908864662051 --0.0395474452525 -0.926122263074 --0.0395465134643 -0.943379208445 --0.0395457209088 -0.960635989904 --0.0395450526848 -0.977892294526 --0.0395445558242 -0.995148539545 --0.0395441986621 -1.01240441203 --0.0395439658314 -1.02966031432 --0.0395439034328 -1.04691597819 --0.0395439807326 -1.06417182088 --0.0395441986621 -1.08142754435 --0.0395445553586 -1.09868359566 --0.0395450368524 -1.11593961716 --0.039545673877 -1.13319608569 --0.0395464664325 -1.15045267343 --0.0395473991521 -1.16770982742 --0.0395484860055 -1.18496724963 --0.0395496971906 -1.20222529769 --0.0395503500477 -1.22144979239 --0.0395497288555 -1.24067261815 --0.0395485167392 -1.25793048739 --0.0395474452525 -1.27518808842 --0.0395465134643 -1.29244506359 --0.0395457209088 -1.30970185995 --0.0395450526848 -1.32695814967 --0.0395445558242 -1.34421434999 --0.0395441986621 -1.36147019267 --0.0395439658314 -1.37872612477 --0.0395439034328 -1.39598178864 --0.0395439807326 -1.41323763132 --0.0395441986621 -1.4304933846 --0.0395445553586 -1.44774946571 --0.0395450368524 -1.46500548721 --0.039545673877 -1.48226192594 --0.0395464664325 -1.49951854348 --0.0395473991521 -1.51677569747 --0.0395484860055 -1.53403308988 --0.0395496971906 -1.55129116774 --0.0395503500477 -1.57051563263 --0.0395497288555 -1.5897384584 --0.0395485167392 -1.60699638725 --0.0395474452525 -1.62425395847 --0.0395465134643 -1.64151090384 --0.0395457209088 -1.6587677002 --0.0395450526848 -1.67602398992 --0.0395445558242 -1.69328022003 --0.0395441986621 -1.71053609252 --0.0395439658314 -1.72779199481 --0.0395439034328 -1.74504765868 --0.0395439807326 -1.76230353117 --0.0395441986621 -1.77955925465 --0.0395445553586 -1.79681527614 --0.0395450368524 -1.81407132745 --0.039545673877 -1.83132782579 --0.0395464664325 -1.84858441353 --0.0395473991521 -1.86584153771 --0.0395484860055 -1.88309895992 --0.0395496971906 -1.90035703778 --0.0395503500477 -1.91958150267 --0.0395497288555 -1.93880429864 --0.0395485167392 -1.95606216788 --0.0395474452525 -1.97331976891 --0.0395464980975 -1.99057674408 --0.039545705542 -2.00783354044 --0.0395450526848 -2.02508985996 --0.0395445558242 -2.04234611988 --0.0395441986621 -2.05960196256 --0.0395439658314 -2.07685786486 --0.0395439034328 -2.09411352873 --0.0395439807326 -2.11136943102 --0.0395441986621 -2.1286251545 --0.0395445553586 -2.14588111639 --0.0395450368524 -2.16313713789 --0.039545673877 -2.18039363623 --0.0395464664325 -2.19765025377 --0.0395473991521 -2.21490734816 --0.0395484860055 -2.23216480017 --0.0395496971906 -2.24942290783 --0.0395503500477 -2.26864731312 --0.0395497288555 -2.28787010908 --0.0395485167392 -2.30512797833 --0.0395474452525 -2.32238560915 --0.0395464980975 -2.33964258433 --0.039545705542 -2.35689938069 --0.0395450526848 -2.37415570021 --0.0395445558242 -2.39141190052 --0.0395441986621 -2.40866774321 --0.0395439658314 -2.4259236455 --0.0395439034328 -2.44317936897 --0.0395439807326 -2.46043527126 --0.0395441986621 -2.47769093513 --0.0395445553586 -2.49494695663 --0.0395450368524 -2.51220303774 --0.039545673877 -2.52945947647 --0.0395464664325 -2.54671603441 --0.0395473991521 -2.5639731884 --0.0395484860055 -2.58123064041 --0.0395496971906 -2.59848874807 --0.0395503500477 -2.61771321297 --0.0395497288555 -2.63693600893 --0.0395485167392 -2.65419393778 --0.0395474452525 -2.671451509 --0.0395464980975 -2.68870848417 --0.039545705542 -2.70596534014 --0.0395450526848 -2.72322160006 --0.0395445558242 -2.74047774076 --0.0395441986621 -2.75773358345 --0.0395439658314 -2.77498948574 --0.0395439034328 -2.79224514961 --0.0395439807326 -2.8095010519 --0.0395441986621 -2.82675683498 --0.0395445553586 -2.84401285649 --0.0395450368524 -2.86126887799 --0.039545673877 -2.87852537632 --0.0395464664325 -2.89578199387 --0.0395473991521 -2.91303914785 --0.0395484860055 -2.93029648066 --0.0395496971906 -2.94755452871 --0.0395503500477 -2.96677899361 --0.0395497288555 -2.98600178957 --0.0395485167392 -3.00325971842 --0.0395474452525 -3.02051734924 --0.0395464980975 -3.03777432441 --0.039545705542 -3.05503112077 --0.0395450526848 -3.0722873807 --0.0395445558242 -3.08954364061 --0.0395441986621 -3.1067995429 --0.0395439658314 -3.12405544519 --0.0395439034328 -3.14131108125 --0.0395439807326 --3.12461841106 --0.0395441986621 --3.10736262798 --0.0395445553586 --3.09010660648 --0.0395450368524 --3.07285058498 --0.039545673877 --3.05559408665 --0.0395464664325 --3.0383374691 --0.0395473991521 --3.02108031512 --0.0395484860055 --3.00382298231 --0.0395496971906 --2.98656493426 --0.0395503500477 --2.96734046936 --0.0395497288555 --2.9481176734 --0.0395485167392 --2.93085974455 --0.0395474452525 --2.91360211372 --0.0395464980975 --2.89634513855 --0.039545705542 --2.87908834219 --0.0395450526848 --2.86183208227 --0.0395445558242 --2.84457582235 --0.0395441986621 --2.82731992006 --0.0395439658314 --2.81006401777 --0.0395439034328 --2.7928084135 --0.0395439807326 --2.77555257082 --0.0395441986621 --2.75829678774 --0.0395445553586 --2.74104076624 --0.0395450368524 --2.72378474474 --0.039545673877 --2.70652830601 --0.0395464664325 --2.68927168846 --0.0395473991521 --2.67201453448 --0.0395484860055 --2.65475714207 --0.0395496971906 --2.6374990344 --0.0395503500477 --2.61827450991 --0.0395497288555 --2.59905171394 --0.0395485167392 --2.5817939043 --0.0395474452525 --2.56453627348 --0.0395465134643 --2.5472792387 --0.0395457209088 --2.53002250195 --0.0395450526848 --2.51276624203 --0.0395445558242 --2.49550998211 --0.0395441986621 --2.47825413943 --0.0395439658314 --2.46099823714 --0.0395439034328 --2.44374257326 --0.0395439807326 --2.42648667097 --0.0395441986621 --2.40923094749 --0.0395445553586 --2.391974926 --0.0395450368524 --2.3747189045 --0.039545673877 --2.35746246576 --0.0395464664325 --2.34020584822 --0.0395473991521 --2.32294869423 --0.0395484860055 --2.30569124222 --0.0395496971906 --2.28843313456 --0.0395503500477 --2.26920866966 --0.0395497288555 --2.2499858737 --0.0395485167392 --2.23272794485 --0.0395474452525 --2.21547037363 --0.0395465134643 --2.19821345806 --0.0395457209088 --2.1809566617 --0.0395450526848 --2.16370034218 --0.0395445558242 --2.14644414186 --0.0395441986621 --2.12918829918 --0.0395439658314 --2.11193239689 --0.0395439034328 --2.09467673302 --0.0395439807326 --2.07742083072 --0.0395441986621 --2.06016510725 --0.0395445553586 --2.04290908575 --0.0395450368524 --2.02565300465 --0.039545673877 --2.00839653611 --0.0395464664325 --1.99113997817 --0.0395473991521 --1.97388282418 --0.0395484860055 --1.95662543178 --0.0395496971906 --1.93936735392 --0.0395503500477 --1.92014288902 --0.0395497288555 --1.90092006326 --0.0395485167392 --1.88366213441 --0.0395474452525 --1.86640456319 --0.0395465134643 --1.84914758802 --0.0395457209088 --1.83189079166 --0.0395450526848 --1.81463450193 --0.0395445558242 --1.79737827182 --0.0395441986621 --1.78012242913 --0.0395439658314 --1.76286652684 --0.0395439034328 --1.74561086297 --0.0395439807326 --1.72835499048 --0.0395441986621 --1.71109926701 --0.0395445553586 --1.69384324551 --0.0395450368524 --1.6765871942 --0.039545673877 --1.65933069587 --0.0395464664325 --1.64207407832 --0.0395473991521 --1.62481692433 --0.0395484860055 --1.60755953193 --0.0395496971906 --1.59030148387 --0.0395503500477 --1.57107701898 --0.0395497288555 --1.55185422301 --0.0395485167392 --1.53459635377 --0.0395474452525 --1.51733872294 --0.0395465134643 --1.50008174777 --0.0395457209088 --1.48282498121 --0.0395450526848 --1.46556869149 --0.0395445558242 --1.44831243158 --0.0395441986621 --1.43105652928 --0.0395439658314 --1.413800627 --0.0395439034328 --1.39654499293 --0.0395439807326 --1.37928915024 --0.0395441986621 --1.36203342676 --0.0395445553586 --1.34477737546 --0.0395450368524 --1.32752132415 --0.039545673877 --1.31026488542 --0.0395464664325 --1.29300829768 --0.0395473991521 --1.27575114369 --0.0395484860055 --1.25849375129 --0.0395496971906 --1.24123567343 --0.0395503500477 --1.22201114893 --0.0395497288555 --1.20278832316 --0.0395485167392 --1.18553045392 --0.0395474452525 --1.1682728529 --0.0395464980975 --1.15101587772 --0.039545705542 --1.13375908137 --0.0395450526848 --1.11650279164 --0.0395445558242 --1.09924659133 --0.0395441986621 --1.08199074865 --0.0395439658314 --1.06473484635 --0.0395439034328 --1.04747918249 --0.0395439807326 --1.03022328019 --0.0395441986621 --1.01296752691 --0.0395445553586 --0.995711505411 --0.0395450368524 --0.978455469012 --0.039545673877 --0.961199000478 --0.0395464664325 --0.943942412734 --0.0395473991521 --0.926685273647 --0.0395484860055 --0.909427866339 --0.0395496971906 --0.89216978848 --0.0395503500477 --0.872945338488 --0.0395497288555 --0.853722527623 --0.0395485167392 --0.836464613676 --0.0395474452525 --0.819207027555 --0.0395464980975 --0.801950067282 --0.039545705542 --0.78469324112 --0.0395450526848 --0.767436936498 --0.0395445558242 --0.750180721283 --0.0395441986621 --0.732924863696 --0.0395439658314 --0.715668961406 --0.0395439034328 --0.698413282633 --0.0395439807326 --0.681157425046 --0.0395441986621 --0.663901716471 --0.0395445553586 --0.64664568007 --0.0395450368524 --0.629389628768 --0.039545673877 --0.612133175135 --0.0395464664325 --0.59487657249 --0.0395473991521 --0.577619403601 --0.0395484860055 --0.560361996293 --0.0395496971906 --0.543103933334 --0.0395503500477 --0.523879468441 --0.0395497288555 --0.504656650126 --0.0395485167392 --0.487398758531 --0.0395474452525 --0.470141172409 --0.0395464980975 --0.452884197235 --0.039545705542 --0.435627408326 --0.0395450526848 --0.418371126056 --0.0395445558242 --0.401114888489 --0.0395441986621 --0.383859023452 --0.0395439658314 --0.36660310626 --0.0395439034328 --0.349347442389 --0.0395439807326 --0.332091592252 --0.0395441986621 --0.314835861325 --0.0395445553586 --0.297579824924 --0.0395450368524 --0.280323788524 --0.039545673877 --0.263067312539 --0.0395464664325 --0.245810709894 --0.0395473991521 --0.228553559631 --0.0395484860055 --0.211296163499 --0.0395496971906 --0.19403809309 --0.0395503500477 --0.174813620746 --0.0210088826716 --0.155586820096 --0.0210082412232 --0.138328932226 --0.0210076605435 --0.121071353555 --0.0210071562324 --0.103814397007 --0.0210067431908 --0.0865576323122 --0.0210063916165 --0.0693013593555 --0.021006132476 --0.0520451404154 --0.0210059490055 --0.034789301455 --0.0210058114026 --0.0175333998632 --0.0210057813675 --0.0002777450718 --0.021005827235 -0.0169780936558 --0.0210059338715 -0.0342338075861 --0.0210061320104 -0.0514898290858 --0.0210063916165 -0.0687458505854 --0.0210067280568 -0.0860023088753 --0.0210071562323 -0.103258894756 --0.0210076451767 -0.120516028255 --0.0210082102567 -0.137773413211 --0.0210088517051 -0.155031468719 --0.0210092030466 -0.174256075174 --0.0210088826716 -0.193479027599 --0.0210082412232 -0.210736915469 --0.0210076605435 -0.22799449414 --0.0210071562324 -0.245251446962 --0.0210067431908 -0.26250822097 --0.0210063916165 -0.27976450324 --0.021006132476 -0.297020711005 --0.0210059490055 -0.314276538789 --0.0210058114026 -0.331532433629 --0.0210057813675 -0.34878809005 --0.021005827235 -0.366043940186 --0.0210059338715 -0.383299656212 --0.0210061320104 -0.400555677712 --0.0210063916165 -0.417811706662 --0.0210067280568 -0.435068160295 --0.0210071562323 -0.452324748039 --0.0210076451767 -0.469581879676 --0.0210082102567 -0.48683924973 --0.0210088517051 -0.504097320139 --0.0210092030466 -0.523321926593 --0.0210088826716 -0.542544871568 --0.0210082412232 -0.559802755713 --0.0210076605435 -0.577060326934 --0.0210071715992 -0.594317302108 --0.0210067585576 -0.611574068666 --0.0210063916165 -0.628830343485 --0.021006132476 -0.6460865587 --0.0210059490055 -0.663342386484 --0.0210058114026 -0.680598288774 --0.0210057813675 -0.697853922844 --0.021005827235 -0.71510976553 --0.0210059338715 -0.732365518808 --0.0210061320104 -0.749621540308 --0.0210063916165 -0.766877546906 --0.0210067280568 -0.784133985639 --0.0210071562323 -0.801390558481 --0.0210076451767 -0.818647697568 --0.0210082102567 -0.835905089974 --0.0210088517051 -0.853163152933 --0.0210092030466 -0.872387766838 --0.0210088826716 -0.891610726714 --0.0210082412232 -0.908868610859 --0.0210076605435 -0.92612618208 --0.0210071715992 -0.943383127451 --0.0210067585576 -0.960639923811 --0.0210063916165 -0.977896213532 --0.021006132476 -0.995152428746 --0.0210059490055 -1.01240828633 --0.0210058114026 -1.02966415882 --0.0210057813675 -1.04691979289 --0.021005827235 -1.06417563557 --0.0210059338715 -1.08143135905 --0.0210061320104 -1.09868738055 --0.0210063916165 -1.11594340205 --0.0210067280568 -1.13319984078 --0.0210071562323 -1.15045639872 --0.0210076451767 -1.16771355271 --0.0210082102567 -1.18497094512 --0.0210088517051 -1.20222899318 --0.0210092030466 -1.22145363689 --0.0210088826716 -1.24067661166 --0.0210082412232 -1.2579344809 --0.0210076605435 -1.27519205212 --0.0210071715992 -1.2924489975 --0.0210067585576 -1.30970576405 --0.0210063916165 -1.32696202397 --0.021006132476 -1.34421822429 --0.0210059490055 -1.36147406698 --0.0210058114026 -1.37872996926 --0.0210057813675 -1.39598563314 --0.021005827235 -1.41324147582 --0.0210059338715 -1.43049719929 --0.0210061320104 -1.4477532506 --0.0210063916165 -1.4650092721 --0.0210067280568 -1.48226571083 --0.0210071562323 -1.49952229857 --0.0210076451767 -1.51677945256 --0.0210082102567 -1.53403684497 --0.0210088517051 -1.55129489303 --0.0210092030466 -1.57051947713 --0.0210088826716 -1.5897424221 --0.0210082412232 -1.60700032115 --0.0210076605435 -1.62425789237 --0.0210071715992 -1.64151483774 --0.0210067585576 -1.6587716341 --0.0210063916165 -1.67602792382 --0.021006132476 -1.69328412414 --0.0210059490055 -1.71053996682 --0.0210058114026 -1.72779586911 --0.0210057813675 -1.74505153298 --0.021005827235 -1.76230734587 --0.0210059338715 -1.77956303954 --0.0210061320104 -1.79681906104 --0.0210063916165 -1.81407508254 --0.0210067280568 -1.83133155107 --0.0210071562323 -1.84858813882 --0.0210076451767 -1.865845263 --0.0210082102567 -1.88310265541 --0.0210088517051 -1.90036073327 --0.0210092030466 -1.91958534717 --0.0210088826716 -1.93880829215 --0.0210082412232 -1.95606616139 --0.0210076605435 -1.97332373261 --0.0210071562324 -1.99058070779 --0.0210067431908 -2.00783747435 --0.0210063916165 -2.02509373426 --0.021006132476 -2.04234999418 --0.0210059490055 -2.05960583687 --0.0210058114026 -2.07686173916 --0.0210057813675 -2.09411740303 --0.021005827235 -2.11137324572 --0.0210059338715 -2.12862890959 --0.0210061320104 -2.14588487148 --0.0210063916165 -2.16314089298 --0.0210067280568 -2.18039739132 --0.0210071562323 -2.19765400886 --0.0210076451767 -2.21491110325 --0.0210082102567 -2.23216849566 --0.0210088517051 -2.24942660332 --0.0210092030466 -2.26865118742 --0.0210088826716 -2.28787410259 --0.0210082412232 -2.30513197184 --0.0210076605435 -2.32238954306 --0.0210071562324 -2.33964651823 --0.0210067431908 -2.3569033742 --0.0210063916165 -2.37415963411 --0.021006132476 -2.39141577482 --0.0210059490055 -2.40867167711 --0.0210058114026 -2.4259275794 --0.0210057813675 -2.44318318367 --0.021005827235 -2.46043902636 --0.0210059338715 -2.47769474983 --0.0210061320104 -2.49495077133 --0.0210063916165 -2.51220685244 --0.0210067280568 -2.52946329117 --0.0210071562323 -2.5467197895 --0.0210076451767 -2.56397694349 --0.0210082102567 -2.5812343955 --0.0210088517051 -2.59849244356 --0.0210092030466 -2.61771702766 --0.0210088826716 -2.63694000244 --0.0210082412232 -2.65419787169 --0.0210076605435 -2.67145544291 --0.0210071562324 -2.68871241808 --0.0210067431908 -2.70596921444 --0.0210063916165 -2.72322547436 --0.021006132476 -2.74048161507 --0.0210059490055 -2.75773745775 --0.0210058114026 -2.77499336004 --0.0210057813675 -2.79224902392 --0.021005827235 -2.80950492621 --0.0210059338715 -2.82676064968 --0.0210061320104 -2.84401667118 --0.0210063916165 -2.86127269268 --0.0210067280568 -2.87852913141 --0.0210071562323 -2.89578574896 --0.0210076451767 -2.91304284334 --0.0210082102567 -2.93030017614 --0.0210088517051 -2.9475582242 --0.0210092030466 -2.96678280831 --0.0210088826716 -2.98600578308 --0.0210082412232 -3.00326371193 --0.0210076605435 -3.02052134276 --0.0210071562324 -3.03777831793 --0.0210067431908 -3.05503505468 --0.0210063916165 -3.0722913146 --0.021006132476 -3.08954757452 --0.0210059490055 -3.10680341721 --0.0210058114026 -3.1240593195 --0.0210057813675 -3.14131495555 --0.021005827235 --3.12461453676 --0.0210059338715 --3.10735881329 --0.0210061320104 --3.09010279179 --0.0210063916165 --3.07284677029 --0.0210067280568 --3.05559033155 --0.0210071562323 --3.03833371401 --0.0210076451767 --3.02107661963 --0.0210082102567 --3.00381928682 --0.0210088517051 --2.98656123876 --0.0210092030466 --2.96733665466 --0.0210088826716 --2.94811367989 --0.0210082412232 --2.93085575104 --0.0210076605435 --2.91359812021 --0.0210071562324 --2.89634114504 --0.0210067431908 --2.87908440828 --0.0210063916165 --2.86182814837 --0.021006132476 --2.84457188845 --0.0210059490055 --2.82731604576 --0.0210058114026 --2.81006020307 --0.0210057813675 --2.79280459881 --0.021005827235 --2.77554875612 --0.0210059338715 --2.75829303265 --0.0210061320104 --2.74103701115 --0.0210063916165 --2.72378098965 --0.0210067280568 --2.70652455091 --0.0210071562323 --2.68926793337 --0.0210076451767 --2.67201077938 --0.0210082102567 --2.65475344658 --0.0210088517051 --2.63749533891 --0.0210092030466 --2.61827069521 --0.0210088826716 --2.59904778004 --0.0210082412232 --2.58178991079 --0.0210076605435 --2.56453233957 --0.0210071715992 --2.5472753644 --0.0210067585576 --2.53001862764 --0.0210063916165 --2.51276236773 --0.021006132476 --2.49550610781 --0.0210059490055 --2.47825026512 --0.0210058114026 --2.46099436283 --0.0210057813675 --2.44373869896 --0.021005827235 --2.42648285627 --0.0210059338715 --2.4092271328 --0.0210061320104 --2.3919711113 --0.0210063916165 --2.3747151494 --0.0210067280568 --2.35745871067 --0.0210071562323 --2.34020209312 --0.0210076451767 --2.32294493914 --0.0210082102567 --2.30568748712 --0.0210088517051 --2.28842943907 --0.0210092030466 --2.26920485497 --0.0210088826716 --2.24998193979 --0.0210082412232 --2.23272407055 --0.0210076605435 --2.21546649933 --0.0210071715992 --2.19820958376 --0.0210067585576 --2.18095272779 --0.0210063916165 --2.16369640827 --0.021006132476 --2.14644026756 --0.0210059490055 --2.12918442488 --0.0210058114026 --2.11192852259 --0.0210057813675 --2.09467285871 --0.021005827235 --2.07741695642 --0.0210059338715 --2.06016123295 --0.0210061320104 --2.04290527105 --0.0210063916165 --2.02564924955 --0.0210067280568 --2.00839278102 --0.0210071562323 --1.99113622308 --0.0210076451767 --1.97387906909 --0.0210082102567 --1.95662167668 --0.0210088517051 --1.93936362863 --0.0210092030466 --1.92013904452 --0.0210088826716 --1.90091606975 --0.0210082412232 --1.8836581707 --0.0210076605435 --1.86640062928 --0.0210071715992 --1.84914365411 --0.0210067585576 --1.83188685775 --0.0210063916165 --1.81463059783 --0.021006132476 --1.79737439752 --0.0210059490055 --1.78011855483 --0.0210058114026 --1.76286265254 --0.0210057813675 --1.74560698867 --0.021005827235 --1.72835114598 --0.0210059338715 --1.71109545231 --0.0210061320104 --1.69383943081 --0.0210063916165 --1.67658340931 --0.0210067280568 --1.65932694077 --0.0210071562323 --1.64207032323 --0.0210076451767 --1.62481319904 --0.0210082102567 --1.60755583644 --0.0210088517051 --1.59029778838 --0.0210092030466 --1.57107317447 --0.0210088826716 --1.5518502295 --0.0210082412232 --1.53459236026 --0.0210076605435 --1.51733475923 --0.0210071715992 --1.50007778406 --0.0210067585576 --1.48282101751 --0.0210063916165 --1.46556475759 --0.021006132476 --1.44830852747 --0.0210059490055 --1.43105265498 --0.0210058114026 --1.41379678249 --0.0210057813675 --1.39654117822 --0.021005827235 --1.37928533554 --0.0210059338715 --1.36202961206 --0.0210061320104 --1.34477359056 --0.0210063916165 --1.32751753926 --0.0210067280568 --1.31026110053 --0.0210071562323 --1.29300454259 --0.0210076451767 --1.2757473886 --0.0210082102567 --1.2584899962 --0.0210088517051 --1.24123194814 --0.0210092030466 --1.22200730443 --0.0210088826716 --1.20278432965 --0.0210082412232 --1.18552646041 --0.0210076605435 --1.16826888919 --0.0210071562324 --1.15101194382 --0.0210067431908 --1.13375517726 --0.0210063916165 --1.11649891734 --0.021006132476 --1.09924271703 --0.0210059490055 --1.08198687434 --0.0210058114026 --1.06473097205 --0.0210057813675 --1.04747530818 --0.021005827235 --1.03021943569 --0.0210059338715 --1.01296374201 --0.0210061320104 --0.995707750319 --0.0210063916165 --0.978451699018 --0.0210067280568 --0.961195230484 --0.0210071562323 --0.943938672543 --0.0210076451767 --0.926681548357 --0.0210082102567 --0.90942414105 --0.0210088517051 --0.892166078091 --0.0210092030466 --0.872941493988 --0.0210088826716 --0.853718534112 --0.0210082412232 --0.836460620165 --0.0210076605435 --0.819203063846 --0.0210071562324 --0.801946118474 --0.0210067431908 --0.784689307213 --0.0210063916165 --0.767433032394 --0.021006132476 --0.75017683208 --0.0210059490055 --0.732920974493 --0.0210058114026 --0.715665087104 --0.0210057813675 --0.698409438133 --0.021005827235 --0.681153595447 --0.0210059338715 --0.663897901773 --0.0210061320104 --0.646641895175 --0.0210063916165 --0.629385858774 --0.0210067280568 --0.612129405141 --0.0210071562323 --0.594872817397 --0.0210076451767 --0.577615663409 --0.0210082102567 --0.560358285904 --0.0210088517051 --0.543100237846 --0.0210092030466 --0.52387560904 --0.0210088826716 --0.504652649164 --0.0210082412232 --0.487394787371 --0.0210076605435 --0.470137216151 --0.0210071562324 --0.452880255878 --0.0210067431908 --0.43562348932 --0.0210063916165 --0.418367221952 --0.021006132476 --0.401110991835 --0.0210059490055 --0.383855141699 --0.0210058114026 --0.366599246859 --0.0210057813675 --0.349343597889 --0.021005827235 --0.332087762654 --0.0210059338715 --0.314832046628 --0.0210061320104 --0.297576017677 --0.0210063916165 --0.280320003628 --0.0210067280568 --0.263063542545 --0.0210071562323 --0.245806947351 --0.0210076451767 --0.228549823165 --0.0210082102567 --0.211292441934 --0.0210088517051 --0.194034386426 --0.0210092030466 --0.174809776247 --2.16532499999e-08 --0.155419073999 --1.74623000001e-08 --0.138161104172 -1.16414999992e-09 --0.12090362981 -1.88592750002e-08 --0.103646596894 -6.75207500024e-09 --0.0863899346441 --5.35509999972e-09 --0.069133576937 --1.862645e-08 --0.0518774632364 --2.79400000011e-09 --0.0346215399913 -1.32713250003e-08 --0.0173657382838 --1.16414999992e-09 --0.000110000139105 --1.62981250002e-08 -0.0171457391698 --1.69966250002e-08 -0.0344015406445 --1.83936250003e-08 -0.0516574624926 --5.35510000016e-09 -0.0689135706052 -2.18860749996e-08 -0.086169930175 -1.88592749997e-08 -0.103426605463 -1.16415000036e-09 -0.120683643967 --2.09550000008e-09 -0.137941110879 --6.28642500035e-09 -0.155199073255 --2.35158749999e-08 -0.174422927201 --2.16532499999e-08 -0.193646781146 --1.74623000001e-08 -0.210904743522 -1.16414999992e-09 -0.228162210435 -1.88592750002e-08 -0.245419248938 -6.75207500024e-09 -0.262675926089 --5.35509999972e-09 -0.279932282865 --1.862645e-08 -0.297188386321 --2.79400000011e-09 -0.314444310963 -1.32713250003e-08 -0.331700101495 --1.16414999992e-09 -0.348955839872 --1.62981250002e-08 -0.366211593151 --1.69966250002e-08 -0.383467391133 --1.83936250003e-08 -0.400723308325 --5.35510000016e-09 -0.417979419232 -2.18860749996e-08 -0.435235776007 -1.88592749997e-08 -0.452492453158 -1.16415000036e-09 -0.469749495387 --2.09550000008e-09 -0.487006954849 --6.28642500035e-09 -0.504264928401 --2.35158749999e-08 -0.523488774895 --2.16532499999e-08 -0.54271261394 --1.74623000001e-08 -0.559970587492 -1.16414999992e-09 -0.577228054404 -1.88592750002e-08 -0.594485104084 -6.75207500024e-09 -0.611741781235 --5.35509999972e-09 -0.62899813056 --1.862645e-08 -0.646254241467 --2.79400000011e-09 -0.663510143757 -1.32713250003e-08 -0.68076595664 --1.16414999992e-09 -0.698021709919 --1.62981250002e-08 -0.715277418494 --1.69966250002e-08 -0.732533216476 --1.83936250003e-08 -0.749789148569 --5.35510000016e-09 -0.767045259475 -2.18860749996e-08 -0.784301608801 -1.88592749997e-08 -0.801558285952 -1.16415000036e-09 -0.818815335631 --2.09550000008e-09 -0.836072802544 --6.28642500035e-09 -0.853330776096 --2.35158749999e-08 -0.872554630041 --2.16532499999e-08 -0.891778469086 --1.74623000001e-08 -0.909036427737 -1.16414999992e-09 -0.926293894649 -1.88592750002e-08 -0.943550929427 -6.75207500024e-09 -0.960807621479 --5.35509999972e-09 -0.978064000607 --1.862645e-08 -0.995320111512 --2.79400000011e-09 -1.0125760138 -1.32713250003e-08 -1.02983179689 --1.16414999992e-09 -1.04708752036 --1.62981250002e-08 -1.06434324384 --1.69966250002e-08 -1.08159905672 --1.83936250003e-08 -1.09885498881 --5.35510000016e-09 -1.11611112952 -2.18860749996e-08 -1.13336747885 -1.88592749997e-08 -1.1506241262 -1.16415000036e-09 -1.16788119078 --2.09550000008e-09 -1.18513867259 --6.28642500035e-09 -1.20239663124 --2.35158749999e-08 -1.22162050009 --2.16532499999e-08 -1.24084436893 --1.74623000001e-08 -1.25810232759 -1.16414999992e-09 -1.2753597796 -1.88592750002e-08 -1.29261678457 -6.75207500024e-09 -1.30987346172 --5.35509999972e-09 -1.32712981104 --1.862645e-08 -1.34438592195 --2.79400000011e-09 -1.36164185405 -1.32713250003e-08 -1.37889763713 --1.16414999992e-09 -1.39615339041 --1.62981250002e-08 -1.41340914369 --1.69966250002e-08 -1.43066495657 --1.83936250003e-08 -1.44792088866 --5.35510000016e-09 -1.46517699957 -2.18860749996e-08 -1.48243334889 -1.88592749997e-08 -1.49968999624 -1.16415000036e-09 -1.51694703102 --2.09550000008e-09 -1.53420451284 --6.28642500035e-09 -1.55146250129 --2.35158749999e-08 -1.57068634033 --2.16532499999e-08 -1.58991014958 --1.74623000001e-08 -1.60716810823 -1.16414999992e-09 -1.62442559004 -1.88592750002e-08 -1.64168265462 -6.75207500024e-09 -1.65893933177 --5.35509999972e-09 -1.67619568109 --1.862645e-08 -1.693451792 --2.79400000011e-09 -1.71070772409 -1.32713250003e-08 -1.72796353697 --1.16414999992e-09 -1.74521929026 --1.62981250002e-08 -1.76247498393 --1.69966250002e-08 -1.77973073721 --1.83936250003e-08 -1.7969866693 --5.35510000016e-09 -1.81424278021 -2.18860749996e-08 -1.83149912954 -1.88592749997e-08 -1.84875583649 -1.16415000036e-09 -1.86601290106 --2.09550000008e-09 -1.88327035308 --6.28642500035e-09 -1.90052831173 --2.35158749999e-08 -1.91975218058 --2.16532499999e-08 -1.93897604942 --1.74623000001e-08 -1.95623400808 -1.16414999992e-09 -1.97349148989 -1.88592750002e-08 -1.99074852467 -6.75207500024e-09 -2.00800514221 --5.35509999972e-09 -2.02526152134 --1.862645e-08 -2.04251766205 --2.79400000011e-09 -2.05977356434 -1.32713250003e-08 -2.07702940702 --1.16414999992e-09 -2.0942851305 --1.62981250002e-08 -2.11154085398 --1.69966250002e-08 -2.12879663706 --1.83936250003e-08 -2.14605253935 --5.35510000016e-09 -2.16330868006 -2.18860749996e-08 -2.18056505918 -1.88592749997e-08 -2.19782173634 -1.16415000036e-09 -2.21507877111 --2.09550000008e-09 -2.23233622312 --6.28642500035e-09 -2.24959415197 --2.35158749999e-08 -2.26881802082 --2.16532499999e-08 -2.28804188967 --1.74623000001e-08 -2.30529981851 -1.16414999992e-09 -2.32255727053 -1.88592750002e-08 -2.33981430531 -6.75207500024e-09 -2.35707104206 --5.35509999972e-09 -2.37432742119 --1.862645e-08 -2.39158350229 --2.79400000011e-09 -2.40883946419 -1.32713250003e-08 -2.42609524727 --1.16414999992e-09 -2.44335091114 --1.62981250002e-08 -2.46060663462 --1.69966250002e-08 -2.4778624773 --1.83936250003e-08 -2.49511837959 --5.35510000016e-09 -2.5123745203 -2.18860749996e-08 -2.52963089943 -1.88592749997e-08 -2.54688751698 -1.16415000036e-09 -2.56414455175 --2.09550000008e-09 -2.58140206337 --6.28642500035e-09 -2.59866005182 --2.35158749999e-08 -2.61788386107 --2.16532499999e-08 -2.63710772991 --1.74623000001e-08 -2.65436565876 -1.16414999992e-09 -2.67162311077 -1.88592750002e-08 -2.68888020515 -6.75207500024e-09 -2.70613688231 --5.35509999972e-09 -2.72339320183 --1.862645e-08 -2.74064928293 --2.79400000011e-09 -2.75790524483 -1.32713250003e-08 -2.77516102791 --1.16414999992e-09 -2.79241681099 --1.62981250002e-08 -2.80967259407 --1.69966250002e-08 -2.82692837715 --1.83936250003e-08 -2.84418433905 --5.35510000016e-09 -2.86144042015 -2.18860749996e-08 -2.87869673967 -1.88592749997e-08 -2.89595341682 -1.16415000036e-09 -2.913210392 --2.09550000008e-09 -2.93046784401 --6.28642500035e-09 -2.94772583246 --2.35158749999e-08 -2.96694970131 --2.16532499999e-08 -2.98617357016 --1.74623000001e-08 -3.00343155861 -1.16414999992e-09 -3.02068907023 -1.88592750002e-08 -3.037946105 -6.75207500024e-09 -3.05520272255 --5.35509999972e-09 -3.07245910168 --1.862645e-08 -3.08971524239 --2.79400000011e-09 -3.10697114468 -1.32713250003e-08 -3.12422698736 --1.16414999992e-09 -3.14148274262 --1.62981250002e-08 --3.1244468689 --1.69966250002e-08 --3.10719108582 --1.83936250003e-08 --3.08993512392 --5.35510000016e-09 --3.07267904282 -2.18860749996e-08 --3.05542272329 -1.88592749997e-08 --3.03816604614 -1.16415000036e-09 --3.02090907097 --2.09550000008e-09 --3.00365161896 --6.28642500035e-09 --2.9863936305 --2.35158749999e-08 --2.96716976166 --2.16532499999e-08 --2.94794589281 --1.74623000001e-08 --2.93068790436 -1.16414999992e-09 --2.91343039274 -1.88592750002e-08 --2.89617335796 -6.75207500024e-09 --2.87891674042 --5.35509999972e-09 --2.86166036129 --1.862645e-08 --2.84440422058 --2.79400000011e-09 --2.82714831829 -1.32713250003e-08 --2.80989253521 --1.16414999992e-09 --2.79263681174 --1.62981250002e-08 --2.77538108826 --1.69966250002e-08 --2.75812530518 --1.83936250003e-08 --2.74086934328 --5.35510000016e-09 --2.72361326218 -2.18860749996e-08 --2.70635694265 -1.88592749997e-08 --2.6891002059 -1.16415000036e-09 --2.67184311152 --2.09550000008e-09 --2.6545856595 --6.28642500035e-09 --2.63732773066 --2.35158749999e-08 --2.61810392141 --2.16532499999e-08 --2.59888011217 --1.74623000001e-08 --2.58162212372 -1.16414999992e-09 --2.5643646121 -1.88592750002e-08 --2.54710757732 -6.75207500024e-09 --2.52985090017 --5.35509999972e-09 --2.51259452105 --1.862645e-08 --2.49533838034 --2.79400000011e-09 --2.47808247805 -1.32713250003e-08 --2.46082669497 --1.16414999992e-09 --2.44357097149 --1.62981250002e-08 --2.42631524801 --1.69966250002e-08 --2.40905940533 --1.83936250003e-08 --2.39180350304 --5.35510000016e-09 --2.37454742193 -2.18860749996e-08 --2.3572910428 -1.88592749997e-08 --2.34003436565 -1.16415000036e-09 --2.32277733088 --2.09550000008e-09 --2.30551981926 --6.28642500035e-09 --2.28826183081 --2.35158749999e-08 --2.26903802156 --2.16532499999e-08 --2.24981421232 --1.74623000001e-08 --2.23255628348 -1.16414999992e-09 --2.21529883146 -1.88592750002e-08 --2.19804173708 -6.75207500024e-09 --2.18078500032 --5.35509999972e-09 --2.1635286808 --1.862645e-08 --2.1462725997 --2.79400000011e-09 --2.1290166378 -1.32713250003e-08 --2.11176085472 --1.16414999992e-09 --2.09450507164 --1.62981250002e-08 --2.07724928856 --1.69966250002e-08 --2.05999350548 --1.83936250003e-08 --2.04273766279 --5.35510000016e-09 --2.02548158169 -2.18860749996e-08 --2.00822517276 -1.88592749997e-08 --1.99096849561 -1.16415000036e-09 --1.97371146083 --2.09550000008e-09 --1.95645397901 --6.28642500035e-09 --1.93919599056 --2.35158749999e-08 --1.91997218132 --2.16532499999e-08 --1.90074834228 --1.74623000001e-08 --1.88349038362 -1.16414999992e-09 --1.86623293161 -1.88592750002e-08 --1.84897586703 -6.75207500024e-09 --1.83171918988 --5.35509999972e-09 --1.81446284056 --1.862645e-08 --1.79720672965 --2.79400000011e-09 --1.77995079756 -1.32713250003e-08 --1.76269498467 --1.16414999992e-09 --1.74543923139 --1.62981250002e-08 --1.72818347811 --1.69966250002e-08 --1.71092769503 --1.83936250003e-08 --1.69367176294 --5.35510000016e-09 --1.67641565204 -2.18860749996e-08 --1.65915930271 -1.88592749997e-08 --1.64190262556 -1.16415000036e-09 --1.62464562058 --2.09550000008e-09 --1.60738816857 --6.28642500035e-09 --1.59013020992 --2.35158749999e-08 --1.57090634107 --2.16532499999e-08 --1.55168247223 --1.74623000001e-08 --1.53442451358 -1.16414999992e-09 --1.51716703176 -1.88592750002e-08 --1.49990996719 -6.75207500024e-09 --1.48265329004 --5.35509999972e-09 --1.46539694071 --1.862645e-08 --1.4481408298 --2.79400000011e-09 --1.43088489771 -1.32713250003e-08 --1.41362911463 --1.16414999992e-09 --1.39637342095 --1.62981250002e-08 --1.37911769747 --1.69966250002e-08 --1.36186188459 --1.83936250003e-08 --1.3446059525 --5.35510000016e-09 --1.32734984159 -2.18860749996e-08 --1.31009349227 -1.88592749997e-08 --1.29283681512 -1.16415000036e-09 --1.27557975054 --2.09550000008e-09 --1.25832226873 --6.28642500035e-09 --1.24106431008 --2.35158749999e-08 --1.22184047103 --2.16532499999e-08 --1.20261663199 --1.74623000001e-08 --1.18535864353 -1.16414999992e-09 --1.16810116172 -1.88592750002e-08 --1.15084415674 -6.75207500024e-09 --1.13358747959 --5.35509999972e-09 --1.11633113026 --1.862645e-08 --1.09907504916 --2.79400000011e-09 --1.08181911707 -1.32713250003e-08 --1.06456330419 --1.16414999992e-09 --1.04730755091 --1.62981250002e-08 --1.03005179763 --1.69966250002e-08 --1.01279601455 --1.83936250003e-08 --0.995540112256 --5.35510000016e-09 --0.978283986449 -2.18860749996e-08 --0.961027622223 -1.88592749997e-08 --0.943770959973 -1.16415000036e-09 --0.926513910294 --2.09550000008e-09 --0.909256443382 --6.28642500035e-09 --0.891998484731 --2.35158749999e-08 --0.872774630785 --2.16532499999e-08 --0.853550761938 --1.74623000001e-08 --0.836292788386 -1.16414999992e-09 --0.819035336375 -1.88592750002e-08 --0.801778301597 -6.75207500024e-09 --0.784521624446 --5.35509999972e-09 --0.767265275121 --1.862645e-08 --0.750009164214 --2.79400000011e-09 --0.732753232122 -1.32713250003e-08 --0.715497434139 --1.16414999992e-09 --0.698241695762 --1.62981250002e-08 --0.680985957384 --1.69966250002e-08 --0.663730159402 --1.83936250003e-08 --0.646474257112 --5.35510000016e-09 --0.629218146205 -2.18860749996e-08 --0.611961767077 -1.88592749997e-08 --0.594705089927 -1.16415000036e-09 --0.577448055148 --2.09550000008e-09 --0.560190603137 --6.28642500035e-09 --0.542932644487 --2.35158749999e-08 --0.52370877564 --2.16532499999e-08 --0.504484906793 --1.74623000001e-08 --0.487226948142 -1.16414999992e-09 --0.469969496131 -1.88592750002e-08 --0.452712461352 -6.75207500024e-09 --0.435455784202 --5.35509999972e-09 --0.418199427426 --1.862645e-08 --0.400943316519 --2.79400000011e-09 --0.383687384426 -1.32713250003e-08 --0.366431586444 --1.16414999992e-09 --0.349175848067 --1.62981250002e-08 --0.33192010969 --1.69966250002e-08 --0.314664319158 --1.83936250003e-08 --0.297408387065 --5.35510000016e-09 --0.280152276158 -2.18860749996e-08 --0.262895919382 -1.88592749997e-08 --0.245639242232 -1.16415000036e-09 --0.228382207454 --2.09550000008e-09 --0.211124733091 --6.28642500035e-09 --0.19386677444 --2.35158749999e-08 --0.174642927945 -0.0210088647436 --0.155251465738 -0.0210081967525 --0.137993406504 -0.0210076449439 --0.120736021548 -0.0210071802139 --0.103478889912 -0.021006744355 --0.0862223114819 -0.021006395109 --0.0689658559859 -0.0210061334073 --0.0517098326236 -0.02100595925 --0.0344538092613 -0.0210058428347 --0.0171980927698 -0.0210057843942 -5.77452592525e-05 -0.0210058137309 -0.0173133988865 -0.021005930379 -0.0345693011768 -0.0210061047692 -0.0518251415342 -0.021006395109 -0.0690813558176 -0.021006773226 -0.086337627843 -0.0210071802139 -0.103594401851 -0.0210076449439 -0.120851365849 -0.0210081969853 -0.138108938932 -0.0210088649765 -0.155366819352 -0.021009213524 -0.174589771778 -0.0210088647436 -0.193814389408 -0.0210081967525 -0.211072444916 -0.0210076449439 -0.228329818696 -0.0210071802139 -0.245586961508 -0.021006744355 -0.262843556702 -0.021006395109 -0.280100002885 -0.0210061334073 -0.297356024385 -0.02100595925 -0.314612053335 -0.0210058428347 -0.331867754459 -0.0210057843942 -0.349123589694 -0.0210058137309 -0.366379246116 -0.021005930379 -0.383635148406 -0.0210061047692 -0.400890991092 -0.021006395109 -0.418147206307 -0.021006773226 -0.435403481126 -0.0210071802139 -0.452660255134 -0.0210076449439 -0.469917215407 -0.0210081969853 -0.487174786628 -0.0210088649765 -0.504432678223 -0.021009213524 -0.523655638099 -0.0210088647436 -0.542880237102 -0.0210081967525 -0.56013828516 -0.0210076449439 -0.577395677566 -0.0210071802139 -0.594652816653 -0.021006744355 -0.611909389496 -0.021006395109 -0.629165843129 -0.0210061334073 -0.646421864629 -0.02100595925 -0.663677856326 -0.0210058428347 -0.680933594704 -0.0210057843942 -0.698189467192 -0.0210058137309 -0.71544508636 -0.021005930379 -0.73270097375 -0.0210061047692 -0.749956816435 -0.021006395109 -0.767213031649 -0.021006773226 -0.784469306469 -0.0210071802139 -0.801726102829 -0.0210076449439 -0.818983078003 -0.0210081969853 -0.836240634322 -0.0210088649765 -0.853498518467 -0.021009213524 -0.872721478343 -0.0210088647436 -0.891946092248 -0.0210081967525 -0.909204140306 -0.0210076449439 -0.926461517811 -0.0210071802139 -0.943718656898 -0.021006744355 -0.96097522974 -0.021006395109 -0.978231698275 -0.0210061334073 -0.995487749575 -0.02100595925 -1.01274374127 -0.0210058428347 -1.02999943495 -0.0210057843942 -1.04725527763 -0.0210058137309 -1.0645109117 -0.021005930379 -1.08176681399 -0.0210061047692 -1.09902265668 -0.021006395109 -1.1162789166 -0.021006773226 -1.13353520632 -0.0210071802139 -1.15079194307 -0.0210076449439 -1.16804891825 -0.0210081969853 -1.18530651927 -0.0210088649765 -1.20256438851 -0.021009213524 -1.22178733349 -0.0210088647436 -1.24101194739 -0.0210081967525 -1.25826999545 -0.0210076449439 -1.27552735805 -0.0210071802139 -1.29278448224 -0.021006744355 -1.31004109979 -0.021006395109 -1.32729756832 -0.0210061334073 -1.34455358982 -0.02100595925 -1.36180961132 -0.0210058428347 -1.379065305 -0.0210057843942 -1.39632114768 -0.0210058137309 -1.41357681155 -0.021005930379 -1.43083271384 -0.0210061047692 -1.44808855653 -0.021006395109 -1.46534475684 -0.021006773226 -1.48260101676 -0.0210071802139 -1.49985778332 -0.0210076449439 -1.51711472869 -0.0210081969853 -1.53437229991 -0.0210088649765 -1.55163022876 -0.021009213524 -1.57085320354 -0.0210088647436 -1.59007778764 -0.0210081967525 -1.6073358357 -0.0210076449439 -1.6245932281 -0.0210071802139 -1.64185038209 -0.021006744355 -1.65910694003 -0.021006395109 -1.67636337876 -0.0210061334073 -1.69361943007 -0.02100595925 -1.71087545156 -0.0210058428347 -1.72813117504 -0.0210057843942 -1.74538701773 -0.0210058137309 -1.76264262199 -0.021005930379 -1.77989849448 -0.0210061047692 -1.79715436697 -0.021006395109 -1.81441059708 -0.021006773226 -1.83166685701 -0.0210071802139 -1.84892362356 -0.0210076449439 -1.86618059873 -0.0210081969853 -1.88343819976 -0.0210088649765 -1.900696069 -0.021009213524 -1.91991901398 -0.0210088647436 -1.93914362789 -0.0210081967525 -1.95640167594 -0.0210076449439 -1.97365909815 -0.0210071802139 -1.99091622234 -0.021006744355 -2.00817272067 -0.021006395109 -2.0254291892 -0.0210061334073 -2.04268527031 -0.02100595925 -2.05994129181 -0.0210058428347 -2.07719701528 -0.0210057843942 -2.09445285797 -0.0210058137309 -2.11170852184 -0.021005930379 -2.12896442413 -0.0210061047692 -2.14622026682 -0.021006395109 -2.16347652674 -0.021006773226 -2.18073278666 -0.0210071802139 -2.19798952341 -0.0210076449439 -2.21524649858 -0.0210081969853 -2.2325040698 -0.0210088649765 -2.24976187944 -0.021009213524 -2.26898479462 -0.0210088647436 -2.28820949793 -0.0210081967525 -2.30546760559 -0.0210076449439 -2.32272493839 -0.0210071802139 -2.33998203278 -0.021006744355 -2.35723865032 -0.021006395109 -2.37449514866 -0.0210061334073 -2.39175117016 -0.02100595925 -2.40900719166 -0.0210058428347 -2.42626285553 -0.0210057843942 -2.44351863861 -0.0210058137309 -2.46077430248 -0.021005930379 -2.47803020478 -0.0210061047692 -2.49528604746 -0.021006395109 -2.51254230738 -0.021006773226 -2.5297985673 -0.0210071802139 -2.54705530405 -0.0210076449439 -2.56431227922 -0.0210081969853 -2.58156991005 -0.0210088649765 -2.5988278389 -0.021009213524 -2.61805075407 -0.0210088647436 -2.63727533817 -0.0210081967525 -2.65453338623 -0.0210076449439 -2.67179071903 -0.0210071802139 -2.68904787302 -0.021006744355 -2.70630449056 -0.021006395109 -2.7235609293 -0.0210061334073 -2.7408169508 -0.02100595925 -2.7580729723 -0.0210058428347 -2.77532869577 -0.0210057843942 -2.79258459806 -0.0210058137309 -2.80984026194 -0.021005930379 -2.82709616423 -0.0210061047692 -2.84435200691 -0.021006395109 -2.86160814762 -0.021006773226 -2.87886440754 -0.0210071802139 -2.8961212039 -0.0210076449439 -2.91337811947 -0.0210081969853 -2.93063569069 -0.0210088649765 -2.94789361954 -0.021009213524 -2.96711659431 -0.0210088647436 -2.98634117842 -0.0210081967525 -3.00359922647 -0.0210076449439 -3.02085667849 -0.0210071802139 -3.03811383248 -0.021006744355 -3.05537033081 -0.021006395109 -3.07262676954 -0.0210061334073 -3.08988279104 -0.02100595925 -3.10713881254 -0.0210058428347 -3.12439459562 -0.0210057843942 --3.14153483708 -0.0210058137309 --3.12427920103 -0.021005930379 --3.10702329874 -0.0210061047692 --3.08976745606 -0.021006395109 --3.07251131535 -0.021006773226 --3.05525505543 -0.0210071802139 --3.03799825907 -0.0210076449439 --3.0207413435 -0.0210081969853 --3.00348377228 -0.0210088649765 --2.98622584343 -0.021009213524 --2.96700286865 -0.0210088647436 --2.94777828455 -0.0210081967525 --2.93052023649 -0.0210076449439 --2.91326278448 -0.0210071802139 --2.89600563049 -0.021006744355 --2.87874913216 -0.021006395109 --2.86149269343 -0.0210061334073 --2.84423661232 -0.02100595925 --2.82698059082 -0.0210058428347 --2.80972486734 -0.0210057843942 --2.79246902466 -0.0210058137309 --2.77521342039 -0.021005930379 --2.7579575181 -0.0210061047692 --2.74070167541 -0.021006395109 --2.7234454751 -0.021006773226 --2.70618915558 -0.0210071802139 --2.68893235922 -0.0210076449439 --2.67167538405 -0.0210081969853 --2.65441781283 -0.0210088649765 --2.63716000319 -0.021009213524 --2.61793708801 -0.0210088647436 --2.5987124443 -0.0210081967525 --2.58145439625 -0.0210076449439 --2.56419700384 -0.0210071802139 --2.54693984985 -0.021006744355 --2.52968323231 -0.021006395109 --2.51242673397 -0.0210061334073 --2.49517071247 -0.02100595925 --2.47791475058 -0.0210058428347 --2.46065908671 -0.0210057843942 --2.44340324402 -0.0210058137309 --2.42614758015 -0.021005930379 --2.40889167786 -0.0210061047692 --2.39163583517 -0.021006395109 --2.37437957525 -0.021006773226 --2.35712331533 -0.0210071802139 --2.33986657858 -0.0210076449439 --2.32260960341 -0.0210081969853 --2.30535203219 -0.0210088649765 --2.28809416294 -0.021009213524 --2.26887118816 -0.0210088647436 --2.24964654446 -0.0210081967525 --2.2323884964 -0.0210076449439 --2.2151311636 -0.0210071802139 --2.19787400961 -0.021006744355 --2.18061739206 -0.021006395109 --2.16336095333 -0.0210061334073 --2.14610493183 -0.02100595925 --2.12884891033 -0.0210058428347 --2.11159318686 -0.0210057843942 --2.09433734417 -0.0210058137309 --2.0770816803 -0.021005930379 --2.0598257184 -0.0210061047692 --2.04256993532 -0.021006395109 --2.02531379461 -0.021006773226 --2.00805750489 -0.0210071802139 --1.99080070853 -0.0210076449439 --1.97354376316 -0.0210081969853 --1.95628619194 -0.0210088649765 --1.93902826309 -0.021009213524 --1.91980531812 -0.0210088647436 --1.90058073402 -0.0210081967525 --1.88332268596 -0.0210076449439 --1.86606529355 -0.0210071802139 --1.84880813956 -0.021006744355 --1.83155155182 -0.021006395109 --1.81429511309 -0.0210061334073 --1.79703909159 -0.02100595925 --1.77978307009 -0.0210058428347 --1.76252734661 -0.0210057843942 --1.74527147412 -0.0210058137309 --1.72801581025 -0.021005930379 --1.71075990796 -0.0210061047692 --1.69350406527 -0.021006395109 --1.67624786496 -0.021006773226 --1.65899160504 -0.0210071802139 --1.64173483849 -0.0210076449439 --1.62447789311 -0.0210081969853 --1.60722032189 -0.0210088649765 --1.58996245265 -0.021009213524 --1.57073950767 -0.0210088647436 --1.55151486397 -0.0210081967525 --1.53425678611 -0.0210076449439 --1.5169993937 -0.0210071802139 --1.49974226952 -0.021006744355 --1.48248571157 -0.021006395109 --1.46522924304 -0.0210061334073 --1.44797322154 -0.02100595925 --1.43071720004 -0.0210058428347 --1.41346147657 -0.0210057843942 --1.39620566368 -0.0210058137309 --1.37895002961 -0.021005930379 --1.36169412732 -0.0210061047692 --1.34443828464 -0.021006395109 --1.32718205452 -0.021006773226 --1.3099257648 -0.0210071802139 --1.29266899824 -0.0210076449439 --1.27541205287 -0.0210081969853 --1.25815448165 -0.0210088649765 --1.2408965826 -0.021009213524 --1.22167363763 -0.0210088647436 --1.20244905353 -0.0210081967525 --1.18519097567 -0.0210076449439 --1.16793358326 -0.0210071802139 --1.15067645907 -0.021006744355 --1.13341984153 -0.021006395109 --1.1161634028 -0.0210061334073 --1.0989074111 -0.02100595925 --1.08165135979 -0.0210058428347 --1.06439563632 -0.0210057843942 --1.04713979363 -0.0210058137309 --1.02988412976 -0.021005930379 --1.01262822747 -0.0210061047692 --0.995372399688 -0.021006395109 --0.978116184473 -0.021006773226 --0.960859909653 -0.0210071802139 --0.943603143096 -0.0210076449439 --0.926346182823 -0.0210081969853 --0.909088641405 -0.0210088649765 --0.89183075726 -0.021009213524 --0.872607797384 -0.0210088647436 --0.853383168578 -0.0210081967525 --0.836125090718 -0.0210076449439 --0.818867728114 -0.0210071802139 --0.801610603929 -0.021006744355 --0.784354031086 -0.021006395109 --0.767097577453 -0.0210061334073 --0.749841541052 -0.02100595925 --0.732585519552 -0.0210058428347 --0.715329810977 -0.0210057843942 --0.69807395339 -0.0210058137309 --0.680818289518 -0.021005930379 --0.663562387228 -0.0210061047692 --0.646306559444 -0.021006395109 --0.62905035913 -0.021006773226 --0.611794069409 -0.0210071802139 --0.59453728795 -0.0210076449439 --0.577280342579 -0.0210081969853 --0.560022771358 -0.0210088649765 --0.542764872313 -0.021009213524 --0.523541912436 -0.0210088647436 --0.504317298531 -0.0210081967525 --0.487059243023 -0.0210076449439 --0.469801872968 -0.0210071802139 --0.452544748783 -0.021006744355 --0.43528816104 -0.021006395109 --0.418031699955 -0.0210061334073 --0.400775685907 -0.02100595925 --0.383519664407 -0.0210058428347 --0.36626394093 -0.0210057843942 --0.349008098245 -0.0210058137309 --0.331752449274 -0.021005930379 --0.314496554434 -0.0210061047692 --0.297240711749 -0.021006395109 --0.279984496534 -0.021006773226 --0.262728221714 -0.0210071802139 --0.245471443981 -0.0210076449439 --0.228214483708 -0.0210081969853 --0.210956908763 -0.0210088649765 --0.193699028343 -0.021009213524 --0.174476075918 -0.0395497037098 --0.155247755349 -0.0395484748297 --0.13798968494 -0.0395474173129 --0.120732286945 -0.0395465022884 --0.103475136683 -0.0395457018167 --0.086218541488 -0.0395450736396 --0.0689620720223 -0.0395445884205 --0.0517060337588 -0.0395442163572 --0.0344499950297 -0.0395439867861 --0.0171942634043 -0.0395439011045 -6.15911558275e-05 -0.0395439872518 -0.017317259917 -0.0395442158915 -0.034573177807 -0.0395445306786 -0.0518290335313 -0.0395450456999 -0.0690852627158 -0.039545731619 -0.0863415524363 -0.0395465032197 -0.103598339483 -0.0395474173129 -0.120855314657 -0.0395485027693 -0.138112906366 -0.0395497325808 -0.155370805412 -0.0395503616892 -0.174593616277 -0.0395497037098 -0.193818092346 -0.0395484748297 -0.211076166481 -0.0395474173129 -0.228333558887 -0.0395465022884 -0.2455907166 -0.0395457018167 -0.262847326696 -0.0395450736396 -0.28010379523 -0.0395445884205 -0.297359824181 -0.0395442163572 -0.314615860582 -0.0395439867861 -0.331871591508 -0.0395439011045 -0.349127449095 -0.0395439872518 -0.366383105516 -0.0395442158915 -0.383639022708 -0.0395445306786 -0.400894887745 -0.0395450456999 -0.41815111041 -0.039545731619 -0.435407407582 -0.0395465032197 -0.452664196491 -0.0395474173129 -0.469921164215 -0.0395485027693 -0.487178757787 -0.0395497325808 -0.504436664284 -0.0395503616892 -0.523659467697 -0.0395497037098 -0.542883947491 -0.0395484748297 -0.560142025351 -0.0395474173129 -0.577399417758 -0.0395465022884 -0.594656571746 -0.0395457018167 -0.611913159489 -0.0395450736396 -0.629169628024 -0.0395445884205 -0.646425649523 -0.0395442163572 -0.663681671023 -0.0395439867861 -0.680937424302 -0.0395439011045 -0.69819329679 -0.0395439872518 -0.715448960662 -0.0395442158915 -0.732704877853 -0.0395445306786 -0.749960720539 -0.0395450456999 -0.767216950655 -0.039545731619 -0.784473255277 -0.0395465032197 -0.801730036735 -0.0395474173129 -0.818986997008 -0.0395485027693 -0.83624458313 -0.0395497325808 -0.853502497077 -0.0395503616892 -0.872725322843 -0.0395497037098 -0.891949802637 -0.0395484748297 -0.909207865596 -0.0395474173129 -0.926465258002 -0.0395465022884 -0.94372241199 -0.0395457018167 -0.960978999734 -0.0395450736396 -0.97823548317 -0.0395445884205 -0.995491549373 -0.0395442163572 -1.01274758578 -0.0395439867861 -1.03000327945 -0.0395439011045 -1.04725912213 -0.0395439872518 -1.064514786 -0.0395442158915 -1.0817706883 -0.0395445306786 -1.09902656078 -0.0395450456999 -1.1162828207 -0.039545731619 -1.13353911042 -0.0395465032197 -1.15079587698 -0.0395474173129 -1.16805285216 -0.0395485027693 -1.18531045318 -0.0395497325808 -1.20256835222 -0.0395503616892 -1.22179117799 -0.0395497037098 -1.24101564288 -0.0395484748297 -1.25827369094 -0.0395474173129 -1.27553108334 -0.0395465022884 -1.29278823733 -0.0395457018167 -1.31004485488 -0.0395450736396 -1.32730135322 -0.0395445884205 -1.34455737472 -0.0395442163572 -1.36181339622 -0.0395439867861 -1.3790691495 -0.0395439011045 -1.39632502199 -0.0395439872518 -1.41358068585 -0.0395442158915 -1.43083658815 -0.0395445306786 -1.44809243083 -0.0395450456999 -1.46534863114 -0.039545731619 -1.48260492087 -0.0395465032197 -1.49986174703 -0.0395474173129 -1.5171187222 -0.0395485027693 -1.53437629342 -0.0395497325808 -1.55163422227 -0.0395503616892 -1.57085704803 -0.0395497037098 -1.59008151293 -0.0395484748297 -1.60733959079 -0.0395474173129 -1.6245969832 -0.0395465022884 -1.64185413718 -0.0395457018167 -1.65911072492 -0.0395450736396 -1.67636716366 -0.0395445884205 -1.69362321496 -0.0395442163572 -1.71087926626 -0.0395439867861 -1.72813498974 -0.0395439011045 -1.74539083243 -0.0395439872518 -1.7626464665 -0.0395442158915 -1.77990236878 -0.0395445306786 -1.79715827108 -0.0395450456999 -1.81441453099 -0.039545731619 -1.83167082071 -0.0395465032197 -1.84892758727 -0.0395474173129 -1.86618456244 -0.0395485027693 -1.88344219327 -0.0395497325808 -1.90070006251 -0.0395503616892 -1.91992285848 -0.0395497037098 -1.93914732337 -0.0395484748297 -1.95640537143 -0.0395474173129 -1.97366279363 -0.0395465022884 -1.99091994762 -0.0395457018167 -2.00817653537 -0.0395450736396 -2.0254330039 -0.0395445884205 -2.04268908501 -0.0395442163572 -2.05994510651 -0.0395439867861 -2.07720077038 -0.0395439011045 -2.09445667267 -0.0395439872518 -2.11171239615 -0.0395442158915 -2.12896829844 -0.0395445306786 -2.14622414112 -0.0395450456999 -2.16348040104 -0.039545731619 -2.18073666096 -0.0395465032197 -2.19799339771 -0.0395474173129 -2.21525043249 -0.0395485027693 -2.23250800371 -0.0395497325808 -2.24976581335 -0.0395503616892 -2.26898866892 -0.0395497037098 -2.28821319342 -0.0395484748297 -2.30547130108 -0.0395474173129 -2.32272869348 -0.0395465022884 -2.33998584747 -0.0395457018167 -2.35724246502 -0.0395450736396 -2.37449890375 -0.0395445884205 -2.39175492525 -0.0395442163572 -2.40901100636 -0.0395439867861 -2.42626672983 -0.0395439011045 -2.44352251291 -0.0395439872518 -2.46077817678 -0.0395442158915 -2.47803407908 -0.0395445306786 -2.49528992176 -0.0395450456999 -2.51254618168 -0.039545731619 -2.5298025012 -0.0395465032197 -2.54705929756 -0.0395474173129 -2.56431627273 -0.0395485027693 -2.58157390356 -0.0395497325808 -2.59883183241 -0.0395503616892 -2.61805462837 -0.0395497037098 -2.63727909327 -0.0395484748297 -2.65453714133 -0.0395474173129 -2.67179447412 -0.0395465022884 -2.68905162811 -0.0395457018167 -2.70630824566 -0.0395450736396 -2.723564744 -0.0395445884205 -2.7408207655 -0.0395442163572 -2.75807678699 -0.0395439867861 -2.77533257007 -0.0395439011045 -2.79258841276 -0.0395439872518 -2.80984407664 -0.0395442158915 -2.82710003853 -0.0395445306786 -2.84435588121 -0.0395450456999 -2.86161202192 -0.039545731619 -2.87886828184 -0.0395465032197 -2.8961251378 -0.0395474173129 -2.91338211298 -0.0395485027693 -2.9306396842 -0.0395497325808 -2.94789761305 -0.0395503616892 -2.96712040901 -0.0395497037098 -2.98634487391 -0.0395484748297 -3.00360298157 -0.0395474173129 -3.02086043358 -0.0395465022884 -3.03811758757 -0.0395457018167 -3.0553740859 -0.0395450736396 -3.07263052464 -0.0395445884205 -3.08988660574 -0.0395442163572 -3.10714262724 -0.0395439867861 -3.12439835071 -0.0395439011045 --3.14153108199 -0.0395439872518 --3.12427538633 -0.0395442158915 --3.10701942444 -0.0395445306786 --3.08976358175 -0.0395450456999 --3.07250744104 -0.039545731619 --3.05525118113 -0.0395465032197 --3.03799432516 -0.0395474173129 --3.02073734998 -0.0395485027693 --3.00347977877 -0.0395497325808 --2.98622184992 -0.0395503616892 --2.96699905396 -0.0395497037098 --2.94777458906 -0.0395484748297 --2.9305164814 -0.0395474173129 --2.91325902939 -0.0395465022884 --2.8960018754 -0.0395457018167 --2.87874531746 -0.0395450736396 --2.86148887873 -0.0395445884205 --2.84423279762 -0.0395442163572 --2.82697677612 -0.0395439867861 --2.80972111225 -0.0395439011045 --2.79246520996 -0.0395439872518 --2.77520954609 -0.0395442158915 --2.7579536438 -0.0395445306786 --2.74069780111 -0.0395450456999 --2.7234415412 -0.039545731619 --2.70618516207 -0.0395465032197 --2.68892842531 -0.0395474173129 --2.67167145014 -0.0395485027693 --2.65441381931 -0.0395497325808 --2.63715600967 -0.0395503616892 --2.61793327332 -0.0395497037098 --2.59870874882 -0.0395484748297 --2.58145064115 -0.0395474173129 --2.56419324875 -0.0395465022884 --2.54693609476 -0.0395457018167 --2.52967947722 -0.0395450736396 --2.51242297888 -0.0395445884205 --2.49516695738 -0.0395442163572 --2.47791099548 -0.0395439867861 --2.460655272 -0.0395439011045 --2.44339936972 -0.0395439872518 --2.42614370584 -0.0395442158915 --2.40888780355 -0.0395445306786 --2.39163196087 -0.0395450456999 --2.37437570095 -0.039545731619 --2.35711938142 -0.0395465032197 --2.33986264467 -0.0395474173129 --2.3226056695 -0.0395485027693 --2.30534803867 -0.0395497325808 --2.28809016943 -0.0395503616892 --2.26886731386 -0.0395497037098 --2.24964278936 -0.0395484748297 --2.23238474131 -0.0395474173129 --2.21512740851 -0.0395465022884 --2.19787025452 -0.0395457018167 --2.18061363697 -0.0395450736396 --2.16335713863 -0.0395445884205 --2.14610111714 -0.0395442163572 --2.12884509564 -0.0395439867861 --2.11158931256 -0.0395439011045 --2.09433352947 -0.0395439872518 --2.0770778656 -0.0395442158915 --2.0598218441 -0.0395445306786 --2.04256600141 -0.0395450456999 --2.02530986071 -0.039545731619 --2.00805360079 -0.0395465032197 --1.99079677463 -0.0395474173129 --1.97353979946 -0.0395485027693 --1.95628222824 -0.0395497325808 --1.93902429938 -0.0395503616892 --1.91980144381 -0.0395497037098 --1.90057697892 -0.0395484748297 --1.88331893086 -0.0395474173129 --1.86606153846 -0.0395465022884 --1.84880438447 -0.0395457018167 --1.83154776692 -0.0395450736396 --1.81429129839 -0.0395445884205 --1.79703527689 -0.0395442163572 --1.77977925539 -0.0395439867861 --1.76252353192 -0.0395439011045 --1.74526765943 -0.0395439872518 --1.72801196575 -0.0395442158915 --1.71075603366 -0.0395445306786 --1.69350019097 -0.0395450456999 --1.67624399066 -0.039545731619 --1.65898770094 -0.0395465032197 --1.64173090458 -0.0395474173129 --1.62447392941 -0.0395485027693 --1.60721632838 -0.0395497325808 --1.58995845914 -0.0395503616892 --1.57073566318 -0.0395497037098 --1.55151116848 -0.0395484748297 --1.53425309062 -0.0395474173129 --1.51699566841 -0.0395465022884 --1.49973854422 -0.0395457018167 --1.48248198629 -0.0395450736396 --1.46522548795 -0.0395445884205 --1.44796943664 -0.0395442163572 --1.43071338535 -0.0395439867861 --1.41345766187 -0.0395439011045 --1.39620181918 -0.0395439872518 --1.37894615531 -0.0395442158915 --1.36169025302 -0.0395445306786 --1.34443438053 -0.0395450456999 --1.32717812061 -0.039545731619 --1.3099218309 -0.0395465032197 --1.29266506434 -0.0395474173129 --1.27540811897 -0.0395485027693 --1.25815054775 -0.0395497325808 --1.2408926189 -0.0395503616892 --1.22166979313 -0.0395497037098 --1.20244532824 -0.0395484748297 --1.18518725038 -0.0395474173129 --1.16792985797 -0.0395465022884 --1.15067270398 -0.0395457018167 --1.13341608644 -0.0395450736396 --1.1161596179 -0.0395445884205 --1.0989035964 -0.0395442163572 --1.0816475451 -0.0395439867861 --1.06439179182 -0.0395439011045 --1.04713594914 -0.0395439872518 --1.02988028526 -0.0395442158915 --1.01262435317 -0.0395445306786 --0.995368510484 -0.0395450456999 --0.978112280369 -0.039545731619 --0.960855990648 -0.0395465032197 --0.94359920919 -0.0395474173129 --0.926342219114 -0.0395485027693 --0.909084662795 -0.0395497325808 --0.89182677865 -0.0395503616892 --0.872603952884 -0.0395497037098 --0.85337947309 -0.0395484748297 --0.83612138033 -0.0395474173129 --0.818864002824 -0.0395465022884 --0.801606863737 -0.0395457018167 --0.784350261092 -0.0395450736396 --0.767093792558 -0.0395445884205 --0.749837741256 -0.0395442163572 --0.732581689954 -0.0395439867861 --0.715325966477 -0.0395439011045 --0.698070108891 -0.0395439872518 --0.680814445019 -0.0395442158915 --0.663558527828 -0.0395445306786 --0.646302670241 -0.0395450456999 --0.629046455025 -0.039545731619 --0.611790135503 -0.0395465032197 --0.594533339143 -0.0395474173129 --0.577276393771 -0.0395485027693 --0.56001880765 -0.0395497325808 --0.542760878801 -0.0395503616892 --0.523538053036 -0.0395497037098 --0.504313603043 -0.0395484748297 --0.487055540085 -0.0395474173129 --0.469798140227 -0.0395465022884 --0.45254099369 -0.0395457018167 --0.435284398496 -0.0395450736396 --0.418027922511 -0.0395445884205 --0.40077188611 -0.0395442163572 --0.38351584971 -0.0395439867861 --0.366260111332 -0.0395439011045 --0.349004261195 -0.0395439872518 --0.331748597324 -0.0395442158915 --0.314492672681 -0.0395445306786 --0.297236815095 -0.0395450456999 --0.27998059243 -0.039545731619 --0.262724302709 -0.0395465032197 --0.245467506349 -0.0395474173129 --0.228210531175 -0.0395485027693 --0.210952941328 -0.0395497325808 --0.193695042282 -0.0395503616892 --0.174472227692 -0.0580772683024 --0.15524405241 -0.0580755006522 --0.1379859671 -0.058073955588 --0.120728552341 -0.058072607033 --0.103471387178 -0.0580714559182 --0.0862147789448 -0.058070502244 --0.0689582899213 -0.0580697450787 --0.0517022339627 -0.0580692104995 --0.0344461817294 -0.0580689003691 --0.0171904347371 -0.0580687876791 -6.54358882475e-05 -0.0580689003691 -0.0173211209476 -0.0580692375079 -0.0345770549029 -0.0580697441474 -0.0518329255283 -0.0580704743043 -0.0690891677514 -0.0580714568496 -0.0863454733044 -0.0580726079643 -0.103602278978 -0.058073955588 -0.12085926719 -0.0580755565315 -0.138116873801 -0.0580773251131 -0.155374795199 -0.0580782229081 -0.174597468227 -0.0580772962421 -0.19382179901 -0.0580755285919 -0.211079891771 -0.058073955588 -0.228337302804 -0.058072607033 -0.245594471693 -0.0580714559182 -0.26285109669 -0.058070502244 -0.280107580126 -0.0580697450787 -0.297363609075 -0.0580692104995 -0.314619660377 -0.0580689003691 -0.331875413656 -0.0580687876791 -0.349131293595 -0.0580689003691 -0.366386979818 -0.0580692375079 -0.383642904461 -0.0580697441474 -0.400898776949 -0.0580704743043 -0.418155021965 -0.0580714568496 -0.435411334038 -0.0580726079643 -0.452668130398 -0.058073955588 -0.469925113022 -0.0580755565315 -0.487182721496 -0.0580773251131 -0.504440642893 -0.0580782229081 -0.523663312197 -0.0580772962421 -0.54288764298 -0.0580755285919 -0.56014573574 -0.058073955588 -0.577403157949 -0.058072607033 -0.594660326839 -0.0580714559182 -0.611916929484 -0.058070502244 -0.629173412919 -0.0580697450787 -0.64642944932 -0.0580692104995 -0.663685500622 -0.0580689003691 -0.680941268802 -0.0580687876791 -0.69819714129 -0.0580689003691 -0.715452834964 -0.0580692375079 -0.732708781957 -0.0580697441474 -0.749964639545 -0.0580704743043 -0.767220884562 -0.0580714568496 -0.784477189183 -0.0580726079643 -0.801733970642 -0.058073955588 -0.818990945816 -0.0580755565315 -0.836248546839 -0.0580773251131 -0.853506475687 -0.0580782229081 -0.872729167342 -0.0580772683024 -0.891953498125 -0.0580755006522 -0.909211575985 -0.058073955588 -0.926468983293 -0.058072607033 -0.943726152182 -0.0580714559182 -0.960982769728 -0.058070502244 -0.978239268065 -0.0580697450787 -0.995495319369 -0.0580692104995 -1.01275137067 -0.0580689003691 -1.03000712395 -0.0580687876791 -1.04726299643 -0.0580689003691 -1.06451866031 -0.0580692375079 -1.0817745626 -0.0580697441474 -1.09903046489 -0.0580704743043 -1.11628672481 -0.0580714568496 -1.13354301453 -0.0580726079643 -1.15079981089 -0.058073955588 -1.16805678606 -0.0580755565315 -1.18531438709 -0.0580773251131 -1.20257231593 -0.0580782229081 -1.22179502249 -0.0580772962421 -1.24101936817 -0.0580755285919 -1.25827744603 -0.058073955588 -1.27553483844 -0.058072607033 -1.29279199243 -0.0580714559182 -1.31004860997 -0.058070502244 -1.32730510831 -0.0580697450787 -1.34456115961 -0.0580692104995 -1.36181721091 -0.0580689003691 -1.37907296419 -0.0580687876791 -1.39632883668 -0.0580689003691 -1.41358453035 -0.0580692375079 -1.43084046244 -0.0580697441474 -1.44809633493 -0.0580704743043 -1.46535256505 -0.0580714568496 -1.48260885477 -0.0580726079643 -1.49986568094 -0.058073955588 -1.51712268591 -0.0580755565315 -1.53438028694 -0.0580773251131 -1.55163821578 -0.0580782229081 -1.57086089253 -0.0580772962421 -1.59008520842 -0.0580755285919 -1.60734328627 -0.058073955588 -1.62460070848 -0.058072607033 -1.64185789227 -0.0580714559182 -1.65911450982 -0.058070502244 -1.67637097836 -0.0580697450787 -1.69362702966 -0.0580692104995 -1.71088308096 -0.0580689003691 -1.72813880444 -0.0580687876791 -1.74539467693 -0.0580689003691 -1.7626503706 -0.0580692375079 -1.77990627289 -0.0580697441474 -1.79716214537 -0.0580704743043 -1.8144184053 -0.0580714568496 -1.83167472482 -0.0580726079643 -1.84893155098 -0.058073955588 -1.86618852615 -0.0580755565315 -1.88344612718 -0.0580773251131 -1.90070402622 -0.0580782229081 -1.91992670298 -0.0580772683024 -1.93915104866 -0.0580755006522 -1.95640912652 -0.058073955588 -1.97366654873 -0.058072607033 -1.99092370271 -0.0580714559182 -2.00818035006 -0.058070502244 -2.02543687821 -0.0580697450787 -2.0426928997 -0.0580692104995 -2.0599489212 -0.0580689003691 -2.07720464468 -0.0580687876791 -2.09446054697 -0.0580689003691 -2.11171627045 -0.0580692375079 -2.12897217274 -0.0580697441474 -2.14622801542 -0.0580704743043 -2.16348427534 -0.0580714568496 -2.18074053526 -0.0580726079643 -2.19799733162 -0.058073955588 -2.2152543664 -0.0580755565315 -2.23251193762 -0.0580773251131 -2.24976986647 -0.0580782229081 -2.26899260283 -0.0580772683024 -2.2882168889 -0.0580755006522 -2.30547493696 -0.058073955588 -2.32273238897 -0.058072607033 -2.33998960257 -0.0580714559182 -2.35724622011 -0.058070502244 -2.37450265884 -0.0580697450787 -2.39175868034 -0.0580692104995 -2.40901476145 -0.0580689003691 -2.42627054453 -0.0580687876791 -2.44352638721 -0.0580689003691 -2.46078205109 -0.0580692375079 -2.47803795338 -0.0580697441474 -2.49529379606 -0.0580704743043 -2.51255005598 -0.0580714568496 -2.52980643511 -0.0580726079643 -2.54706329108 -0.058073955588 -2.56432026624 -0.0580755565315 -2.58157783746 -0.0580773251131 -2.59883576632 -0.0580782229081 -2.61805844307 -0.0580772962421 -2.63728278875 -0.0580755285919 -2.65454089642 -0.058073955588 -2.67179822922 -0.058072607033 -2.6890553832 -0.0580714559182 -2.70631200075 -0.058070502244 -2.72356849909 -0.0580697450787 -2.74082458019 -0.0580692104995 -2.75808066129 -0.0580689003691 -2.77533638477 -0.0580687876791 -2.79259216786 -0.0580689003691 -2.80984789133 -0.0580692375079 -2.82710391283 -0.0580697441474 -2.84435975552 -0.0580704743043 -2.86161595583 -0.0580714568496 -2.87887227536 -0.0580726079643 -2.89612907171 -0.058073955588 -2.91338604688 -0.0580755565315 -2.93064367771 -0.0580773251131 -2.94790160656 -0.0580782229081 -2.96712422371 -0.0580772683024 -2.9863485694 -0.0580755006522 -3.00360673666 -0.058073955588 -3.02086418867 -0.058072607033 -3.03812128306 -0.0580714559182 -3.05537784099 -0.058070502244 -3.07263433933 -0.0580697450787 -3.08989042044 -0.0580692104995 -3.10714650154 -0.0580689003691 -3.12440222502 -0.0580687876791 --3.1415272673 -0.0580689003691 --3.12427157164 -0.0580692375079 --3.10701555014 -0.0580697441474 --3.08975970745 -0.0580704743043 --3.07250350714 -0.0580714568496 --3.05524718761 -0.0580726079643 --3.03799039125 -0.058073955588 --3.02073341608 -0.0580755565315 --3.00347578525 -0.0580773251131 --2.98621785641 -0.0580782229081 --2.96699523926 -0.0580772962421 --2.94777089357 -0.0580755285919 --2.93051272631 -0.058073955588 --2.9132552743 -0.058072607033 --2.89599812031 -0.0580714559182 --2.87874150276 -0.058070502244 --2.86148500442 -0.0580697450787 --2.84422898293 -0.0580692104995 --2.82697296142 -0.0580689003691 --2.80971723795 -0.0580687876791 --2.79246133566 -0.0580689003691 --2.77520567179 -0.0580692375079 --2.7579497695 -0.0580697441474 --2.74069386721 -0.0580704743043 --2.72343760729 -0.0580714568496 --2.70618128776 -0.0580726079643 --2.68892455101 -0.058073955588 --2.67166757584 -0.0580755565315 --2.65440988541 -0.0580773251131 --2.63715201616 -0.0580782229081 --2.61792939901 -0.0580772962421 --2.59870505333 -0.0580755285919 --2.58144694567 -0.058073955588 --2.56418949366 -0.058072607033 --2.54693233967 -0.0580714559182 --2.52967572212 -0.058070502244 --2.51241922378 -0.0580697450787 --2.49516320229 -0.0580692104995 --2.47790718079 -0.0580689003691 --2.4606513977 -0.0580687876791 --2.44339549541 -0.0580689003691 --2.42613983154 -0.0580692375079 --2.40888392925 -0.0580697441474 --2.39162808657 -0.0580704743043 --2.37437182665 -0.0580714568496 --2.35711550712 -0.0580726079643 --2.33985871076 -0.058073955588 --2.32260167599 -0.0580755565315 --2.30534404516 -0.0580773251131 --2.28808611631 -0.0580782229081 --2.26886343956 -0.0580772683024 --2.24963915348 -0.0580755006522 --2.23238110542 -0.058073955588 --2.21512371302 -0.058072607033 --2.19786649942 -0.0580714559182 --2.18060988188 -0.058070502244 --2.16335338354 -0.0580697450787 --2.14609730244 -0.0580692104995 --2.12884128094 -0.0580689003691 --2.11158555746 -0.0580687876791 --2.09432971478 -0.0580689003691 --2.0770739913 -0.0580692375079 --2.0598179698 -0.0580697441474 --2.04256212711 -0.0580704743043 --2.0253059864 -0.0580714568496 --2.00804966688 -0.0580726079643 --1.99079281091 -0.058073955588 --1.97353583574 -0.0580755565315 --1.95627823472 -0.0580773251131 --1.93902030587 -0.0580782229081 --1.91979759932 -0.0580772962421 --1.90057328343 -0.0580755285919 --1.88331520557 -0.058073955588 --1.86605778337 -0.058072607033 --1.84880062938 -0.0580714559182 --1.83154401183 -0.058070502244 --1.8142875135 -0.0580697450787 --1.79703146219 -0.0580692104995 --1.77977544069 -0.0580689003691 --1.76251971722 -0.0580687876791 --1.74526384473 -0.0580689003691 --1.72800812125 -0.0580692375079 --1.71075215936 -0.0580697441474 --1.69349631667 -0.0580704743043 --1.67624008656 -0.0580714568496 --1.65898376703 -0.0580726079643 --1.64172697067 -0.058073955588 --1.6244699657 -0.0580755565315 --1.60721233487 -0.0580773251131 --1.58995446563 -0.0580782229081 --1.57073181867 -0.0580772962421 --1.55150747299 -0.0580755285919 --1.53424939513 -0.058073955588 --1.51699194312 -0.058072607033 --1.49973478913 -0.0580714559182 --1.48247820139 -0.058070502244 --1.46522170305 -0.0580697450787 --1.44796565175 -0.0580692104995 --1.43070957065 -0.0580689003691 --1.41345381737 -0.0580687876791 --1.39619794488 -0.0580689003691 --1.37894228101 -0.0580692375079 --1.36168637871 -0.0580697441474 --1.34443047642 -0.0580704743043 --1.32717421651 -0.0580714568496 --1.30991792679 -0.0580726079643 --1.29266113043 -0.058073955588 --1.27540415525 -0.0580755565315 --1.25814655423 -0.0580773251131 --1.24088862538 -0.0580782229081 --1.22166594863 -0.0580772683024 --1.20244163275 -0.0580755006522 --1.18518352508 -0.058073955588 --1.16792610288 -0.058072607033 --1.15066894889 -0.0580714559182 --1.13341233135 -0.058070502244 --1.11615583301 -0.0580697450787 --1.09889978171 -0.0580692104995 --1.0816437304 -0.0580689003691 --1.06438797712 -0.0580687876791 --1.04713213444 -0.0580689003691 --1.02987644076 -0.0580692375079 --1.01262047887 -0.0580697441474 --0.99536462128 -0.0580704743043 --0.978108376264 -0.0580714568496 --0.960852071643 -0.0580726079643 --0.943595275283 -0.058073955588 --0.926338270306 -0.0580755565315 --0.909080684185 -0.0580773251131 --0.891822770238 -0.0580782229081 --0.872600078582 -0.0580772683024 --0.8533757478 -0.0580755006522 --0.83611766994 -0.058073955588 --0.818860277534 -0.058072607033 --0.801603108645 -0.0580714559182 --0.784346476197 -0.058070502244 --0.767089992762 -0.0580697450787 --0.74983394146 -0.0580692104995 --0.732577875257 -0.0580689003691 --0.715322136879 -0.0580687876791 --0.698066264391 -0.0580689003691 --0.680810585618 -0.0580692375079 --0.663554653526 -0.0580697441474 --0.646298781038 -0.0580704743043 --0.62904253602 -0.0580714568496 --0.611786201596 -0.0580726079643 --0.594529405236 -0.058073955588 --0.577272430063 -0.0580755565315 --0.56001482904 -0.0580773251131 --0.542756900191 -0.0580782229081 --0.523534223437 -0.0580772962421 --0.504309915006 -0.0580755285919 --0.487051829695 -0.058073955588 --0.469794414937 -0.058072607033 --0.452537246048 -0.0580714559182 --0.435280628502 -0.058070502244 --0.418024145066 -0.0580697450787 --0.400768093765 -0.0580692104995 --0.383512035012 -0.0580689003691 --0.366256281733 -0.0580687876791 --0.349000409245 -0.0580689003691 --0.331744737923 -0.0580692375079 --0.31448880583 -0.0580697441474 --0.297232925892 -0.0580704743043 --0.279976680875 -0.0580714568496 --0.262720368802 -0.0580726079643 --0.245463564992 -0.058073955588 --0.228206582367 -0.0580755565315 --0.210948970169 -0.0580773251131 --0.193691052496 -0.0580782229081 --0.174468383193 -0.0765865892172 --0.155240356922 -0.0765842460096 --0.137982252985 -0.0765821766108 --0.120724821463 -0.0765803847462 --0.103467641398 -0.0765788685531 --0.0862110164016 -0.0765776280314 --0.0689545106143 -0.0765766352415 --0.0516984378919 -0.0765759442002 --0.0344423688948 -0.0765755586326 --0.0171866058372 -0.0765754207969 -6.92796893425e-05 -0.076575530693 -0.0173249803483 -0.0765759721398 -0.0345809292048 -0.0765766911208 -0.0518368156627 -0.0765776559711 -0.0690930746496 -0.0765788964927 -0.0863493960351 -0.0765804126859 -0.103606216609 -0.0765822045505 -0.120863221586 -0.0765842739492 -0.138120848686 -0.0765866432339 -0.15537878871 -0.0765878558159 -0.174601316452 -0.0765866171569 -0.193825501949 -0.0765842739493 -0.211083609611 -0.0765821766108 -0.228341035545 -0.0765803847462 -0.24559821561 -0.0765788685531 -0.262854851782 -0.0765776280314 -0.280111350119 -0.0765766352415 -0.297367408872 -0.0765759442002 -0.314623475075 -0.0765755586326 -0.331879235804 -0.0765754207969 -0.349135130644 -0.076575530693 -0.366390839219 -0.0765759721398 -0.383646786213 -0.0765766911208 -0.400902673602 -0.0765776559711 -0.41815893352 -0.0765788964927 -0.435415253043 -0.0765804126859 -0.452672064305 -0.0765822045505 -0.46992906928 -0.0765842739492 -0.487186692655 -0.0765866432339 -0.504444621504 -0.0765878558159 -0.523667156696 -0.0765866171569 -0.542891338468 -0.0765842739493 -0.56014944613 -0.0765821766108 -0.577406898141 -0.0765803847462 -0.594664081931 -0.0765788685531 -0.611920684576 -0.0765776280314 -0.629177182913 -0.0765766352415 -0.646433249116 -0.0765759442002 -0.663689300418 -0.0765755586326 -0.680945083499 -0.0765754207969 -0.698200970888 -0.076575530693 -0.715456679464 -0.0765759721398 -0.732712656259 -0.0765766911208 -0.749968543648 -0.0765776559711 -0.767224803567 -0.0765788964927 -0.784481108189 -0.0765804126859 -0.80173791945 -0.0765822045505 -0.818994924426 -0.0765842739492 -0.836252555251 -0.0765866432339 -0.853510484099 -0.0765878558159 -0.87273299694 -0.0765865892172 -0.891957193613 -0.0765842460096 -0.909215286374 -0.0765821766108 -0.926472708583 -0.0765803847462 -0.943729907274 -0.0765788685531 -0.960986539722 -0.0765776280314 -0.97824305296 -0.0765766352415 -0.995499119164 -0.0765759442002 -1.01275518537 -0.0765755586326 -1.03001093864 -0.0765754207969 -1.04726681113 -0.076575530693 -1.06452253461 -0.0765759721398 -1.0817784667 -0.0765766911208 -1.09903433919 -0.0765776559711 -1.11629059911 -0.0765788964927 -1.13354694843 -0.0765804126859 -1.15080377459 -0.0765822045505 -1.16806074977 -0.0765842739492 -1.1853183806 -0.0765866432339 -1.20257630944 -0.0765878558159 -1.22179883718 -0.0765866171569 -1.24102303385 -0.0765842739493 -1.25828114152 -0.0765821766108 -1.27553856373 -0.0765803847462 -1.29279574752 -0.0765788685531 -1.31005236507 -0.0765776280314 -1.3273088634 -0.0765766352415 -1.34456497431 -0.0765759442002 -1.36182105542 -0.0765755586326 -1.37907677889 -0.0765754207969 -1.39633265138 -0.076575530693 -1.41358837485 -0.0765759721398 -1.43084433675 -0.0765766911208 -1.44810023904 -0.0765776559711 -1.46535649895 -0.0765788964927 -1.48261278868 -0.0765804126859 -1.49986961484 -0.0765822045505 -1.51712664962 -0.0765842739492 -1.53438428045 -0.0765866432339 -1.55164220929 -0.0765878558159 -1.57086473703 -0.0765866171569 -1.5900889039 -0.0765842739493 -1.60734698176 -0.0765821766108 -1.62460443378 -0.0765803847462 -1.64186164737 -0.0765788685531 -1.65911826492 -0.0765776280314 -1.67637476325 -0.0765766352415 -1.69363084435 -0.0765759442002 -1.71088689565 -0.0765755586326 -1.72814264894 -0.0765754207969 -1.74539855123 -0.076575530693 -1.7626542747 -0.0765759721398 -1.77991020679 -0.0765766911208 -1.79716604948 -0.0765776559711 -1.8144223094 -0.0765788964927 -1.83167865873 -0.0765804126859 -1.84893548489 -0.0765822045505 -1.86619246006 -0.0765842739492 -1.88345006109 -0.0765866432339 -1.90070798993 -0.0765878558159 -1.91993051767 -0.0765865892172 -1.93915471434 -0.0765842460096 -1.95641285181 -0.0765821766108 -1.97367030382 -0.0765803847462 -1.99092745781 -0.0765788685531 -2.00818410516 -0.0765776280314 -2.0254406333 -0.0765766352415 -2.0426966548 -0.0765759442002 -2.0599527359 -0.0765755586326 -2.07720851898 -0.0765754207969 -2.09446442127 -0.076575530693 -2.11172014475 -0.0765759721398 -2.12897604704 -0.0765766911208 -2.14623188972 -0.0765776559711 -2.16348814964 -0.0765788964927 -2.18074446917 -0.0765804126859 -2.19800132513 -0.0765822045505 -2.21525830031 -0.0765842739492 -2.23251587153 -0.0765866432339 -2.24977385998 -0.0765878558159 -2.26899641752 -0.0765865892172 -2.28822058439 -0.0765842460096 -2.30547869205 -0.0765821766108 -2.32273614406 -0.0765803847462 -2.33999329805 -0.0765788685531 -2.3572499156 -0.0765776280314 -2.37450647354 -0.0765766352415 -2.39176255464 -0.0765759442002 -2.40901857614 -0.0765755586326 -2.42627429962 -0.0765754207969 -2.44353020191 -0.076575530693 -2.46078592539 -0.0765759721398 -2.47804182768 -0.0765766911208 -2.49529772997 -0.0765776559711 -2.51255404949 -0.0765788964927 -2.52981042862 -0.0765804126859 -2.54706722498 -0.0765822045505 -2.56432420015 -0.0765842739492 -2.58158183098 -0.0765866432339 -2.59883975983 -0.0765878558159 -2.61806225777 -0.0765866171569 -2.63728642464 -0.0765842739493 -2.6545445919 -0.0765821766108 -2.67180198431 -0.0765803847462 -2.6890591383 -0.0765788685531 -2.70631575584 -0.0765776280314 -2.72357225418 -0.0765766352415 -2.74082839489 -0.0765759442002 -2.75808447599 -0.0765755586326 -2.77534019947 -0.0765754207969 -2.79259604216 -0.076575530693 -2.80985176563 -0.0765759721398 -2.82710778713 -0.0765766911208 -2.84436362982 -0.0765776559711 -2.86161988974 -0.0765788964927 -2.87887626887 -0.0765804126859 -2.89613300562 -0.0765822045505 -2.91338998079 -0.0765842739492 -2.93064767122 -0.0765866432339 -2.94790560007 -0.0765878558159 -2.96712809801 -0.0765865892172 -2.98635232449 -0.0765842460096 -3.00361043215 -0.0765821766108 -3.02086788416 -0.0765803847462 -3.03812503815 -0.0765788685531 -3.05538165569 -0.0765776280314 -3.07263815403 -0.0765766352415 -3.08989417553 -0.0765759442002 -3.10715031624 -0.0765755586326 -3.12440609932 -0.0765754207969 --3.14152339299 -0.076575530693 --3.12426769734 -0.0765759721398 --3.10701167584 -0.0765766911208 --3.08975583315 -0.0765776559711 --3.07249957323 -0.0765788964927 --3.0552431941 -0.0765804126859 --3.03798645735 -0.0765822045505 --3.02072948217 -0.0765842739492 --3.00347179174 -0.0765866432339 --2.9862138629 -0.0765878558159 --2.96699136496 -0.0765866171569 --2.94776713848 -0.0765842739493 --2.93050903082 -0.0765821766108 --2.91325157881 -0.0765803847462 --2.89599436521 -0.0765788685531 --2.87873774767 -0.0765776280314 --2.86148124933 -0.0765766352415 --2.84422522783 -0.0765759442002 --2.82696914673 -0.0765755586326 --2.80971336365 -0.0765754207969 --2.79245746136 -0.076575530693 --2.77520179749 -0.0765759721398 --2.7579458952 -0.0765766911208 --2.7406899929 -0.0765776559711 --2.72343373299 -0.0765788964927 --2.70617741346 -0.0765804126859 --2.6889206171 -0.0765822045505 --2.67166364193 -0.0765842739492 --2.6544060111 -0.0765866432339 --2.63714808226 -0.0765878558159 --2.61792552471 -0.0765866171569 --2.59870129824 -0.0765842739493 --2.58144319058 -0.0765821766108 --2.56418573857 -0.0765803847462 --2.54692858458 -0.0765788685531 --2.52967196703 -0.0765776280314 --2.51241546869 -0.0765766352415 --2.49515944719 -0.0765759442002 --2.47790336609 -0.0765755586326 --2.46064758301 -0.0765754207969 --2.44339168072 -0.076575530693 --2.42613595724 -0.0765759721398 --2.40888005495 -0.0765766911208 --2.39162415266 -0.0765776559711 --2.37436789274 -0.0765788964927 --2.35711163282 -0.0765804126859 --2.33985477686 -0.0765822045505 --2.32259768248 -0.0765842739492 --2.30534005165 -0.0765866432339 --2.2880821228 -0.0765878558159 --2.26885962486 -0.0765865892172 --2.2496355176 -0.0765842460096 --2.23237740994 -0.0765821766108 --2.21511995793 -0.0765803847462 --2.19786274433 -0.0765788685531 --2.18060612678 -0.0765776280314 --2.16334962845 -0.0765766352415 --2.14609348774 -0.0765759442002 --2.12883746624 -0.0765755586326 --2.11158174276 -0.0765754207969 --2.09432584047 -0.076575530693 --2.077070117 -0.0765759721398 --2.0598140955 -0.0765766911208 --2.04255825281 -0.0765776559711 --2.0253020525 -0.0765788964927 --2.00804570317 -0.0765804126859 --1.99078887701 -0.0765822045505 --1.97353187204 -0.0765842739492 --1.95627424121 -0.0765866432339 --1.93901631236 -0.0765878558159 --1.91979378462 -0.0765866171569 --1.90056961775 -0.0765842739493 --1.88331151009 -0.0765821766108 --1.86605405808 -0.0765803847462 --1.84879687429 -0.0765788685531 --1.83154025674 -0.0765776280314 --1.8142837584 -0.0765766352415 --1.7970276773 -0.0765759442002 --1.779771626 -0.0765755586326 --1.76251587271 -0.0765754207969 --1.74525997043 -0.076575530693 --1.72800424695 -0.0765759721398 --1.71074828506 -0.0765766911208 --1.69349241257 -0.0765776559711 --1.67623615265 -0.0765788964927 --1.65897983312 -0.0765804126859 --1.64172303676 -0.0765822045505 --1.62446603179 -0.0765842739492 --1.60720840097 -0.0765866432339 --1.58995047211 -0.0765878558159 --1.57072794437 -0.0765866171569 --1.5515037477 -0.0765842739493 --1.53424564004 -0.0765821766108 --1.51698821783 -0.0765803847462 --1.49973106384 -0.0765788685531 --1.4824744165 -0.0765776280314 --1.46521788836 -0.0765766352415 --1.44796183706 -0.0765759442002 --1.43070575595 -0.0765755586326 --1.41344997287 -0.0765754207969 --1.39619410038 -0.076575530693 --1.37893843651 -0.0765759721398 --1.36168250442 -0.0765766911208 --1.34442660212 -0.0765776559711 --1.32717034221 -0.0765788964927 --1.30991402268 -0.0765804126859 --1.29265719652 -0.0765822045505 --1.27540019154 -0.0765842739492 --1.25814256072 -0.0765866432339 --1.24088463187 -0.0765878558159 --1.22166210413 -0.0765865892172 --1.20243793726 -0.0765842460096 --1.1851798296 -0.0765821766108 --1.16792237759 -0.0765803847462 --1.1506651938 -0.0765788685531 --1.13340857625 -0.0765776280314 --1.11615207792 -0.0765766352415 --1.09889599681 -0.0765759442002 --1.08163991571 -0.0765755586326 --1.06438416243 -0.0765754207969 --1.04712828994 -0.076575530693 --1.02987256646 -0.0765759721398 --1.01261660457 -0.0765766911208 --0.995360732078 -0.0765776559711 --0.97810447216 -0.0765788964927 --0.960848137736 -0.0765804126859 --0.943591326475 -0.0765822045505 --0.9263343364 -0.0765842739492 --0.909076735377 -0.0765866432339 --0.891818791628 -0.0765878558159 --0.872596234083 -0.0765865892172 --0.85337203741 -0.0765842460096 --0.83611394465 -0.0765821766108 --0.818856537342 -0.0765803847462 --0.801599353552 -0.0765788685531 --0.784342721104 -0.0765776280314 --0.767086207867 -0.0765766352415 --0.749830126763 -0.0765759442002 --0.732574060559 -0.0765755586326 --0.715318307281 -0.0765754207969 --0.698062419891 -0.076575530693 --0.680806726217 -0.0765759721398 --0.663550794125 -0.0765766911208 --0.646294891834 -0.0765776559711 --0.629038602114 -0.0765788964927 --0.611782282591 -0.0765804126859 --0.594525486231 -0.0765822045505 --0.577268481254 -0.0765842739492 --0.56001085043 -0.0765866432339 --0.54275290668 -0.0765878558159 --0.523530378938 -0.0765866171569 --0.504306212067 -0.0765842739493 --0.487048111856 -0.0765821766108 --0.469790682197 -0.0765803847462 --0.452533505857 -0.0765788685531 --0.435276858509 -0.0765776280314 --0.418020345271 -0.0765766352415 --0.400764286518 -0.0765759442002 --0.383508212864 -0.0765755586326 --0.366252444684 -0.0765754207969 --0.348996564746 -0.076575530693 --0.331740871072 -0.0765759721398 --0.314484924078 -0.0765766911208 --0.297229036689 -0.0765776559711 --0.27997276932 -0.0765788964927 --0.262716434896 -0.0765804126859 --0.245459619909 -0.0765822045505 --0.228202629835 -0.0765842739492 --0.21094500646 -0.0765866432339 --0.193687070161 -0.0765878558159 --0.174464542419 -0.0948094446212 --0.155237190425 -0.0948065463454 --0.137979071587 -0.0948039442302 --0.120721627027 -0.0948017239571 --0.103464432061 -0.0947998557241 --0.0862077958882 -0.0947983115913 --0.0689512798562 -0.0947970934213 --0.051695193164 -0.0947962533685 --0.0344391111284 -0.0947957653552 --0.0171833345666 -0.0947956033051 -7.2564464065e-05 -0.0947957653553 -0.0173282786272 -0.0947962794452 -0.0345842400566 -0.0947971474378 -0.0518401404843 -0.0947983674704 -0.0690964153037 -0.0947999116035 -0.0863527543843 -0.0948017798365 -0.103609587997 -0.0948040001094 -0.120866600424 -0.0948065463452 -0.1381242387 -0.094809470698 -0.1553821899 -0.0948109868913 -0.174604598433 -0.0948094446212 -0.19382866472 -0.0948065463454 -0.211086783558 -0.0948039442302 -0.228344224393 -0.0948017239571 -0.245601423085 -0.0947998557241 -0.262858062983 -0.0947983115913 -0.28011456877 -0.0947970934213 -0.297370657325 -0.0947962533685 -0.314626738429 -0.0947957653552 -0.331882506609 -0.0947956033051 -0.349138408899 -0.0947957653553 -0.366394132376 -0.0947962794452 -0.383650094271 -0.0947971474378 -0.400906004012 -0.0947983674704 -0.418162278831 -0.0947999116035 -0.435418598354 -0.0948017798365 -0.452675424517 -0.0948040001094 -0.469932444394 -0.0948065724224 -0.48719009012 -0.0948094967752 -0.504448026419 -0.0948109868913 -0.523670434952 -0.0948094446212 -0.542894497514 -0.0948065463454 -0.560152605176 -0.0948039442302 -0.577410072088 -0.0948017239571 -0.594667270779 -0.0947998557241 -0.611923888326 -0.0947983115913 -0.629180416465 -0.0947970934213 -0.64643651247 -0.0947962533685 -0.663692578673 -0.0947957653552 -0.680948361755 -0.0947956033051 -0.698204264045 -0.0947957653553 -0.71545997262 -0.0947962794452 -0.732715949416 -0.0947971474378 -0.749971866608 -0.0947983674704 -0.767228141427 -0.0947999116035 -0.78448446095 -0.0948017798365 -0.801741287112 -0.0948040001094 -0.818998292088 -0.0948065463452 -0.836255937815 -0.094809470698 -0.853513881564 -0.0948109868913 -0.872736275196 -0.0948094446212 -0.891960352659 -0.0948065463454 -0.909218475223 -0.0948039442302 -0.926475912333 -0.0948017239571 -0.943733096123 -0.0947998557241 -0.960989743471 -0.0947983115913 -0.978246286512 -0.0947970934213 -0.995502397419 -0.0947962533685 -1.01275846362 -0.0947957653552 -1.0300142169 -0.0947956033051 -1.04727008939 -0.0947957653553 -1.06452581286 -0.0947962794452 -1.08178180456 -0.0947971474378 -1.09903770685 -0.0947983674704 -1.11629396677 -0.0947999116035 -1.1335503161 -0.0948017798365 -1.15080717206 -0.0948040001094 -1.16806414723 -0.0948065463452 -1.18532177806 -0.094809470698 -1.20257973671 -0.0948109868913 -1.22180214524 -0.0948094446212 -1.2410261929 -0.0948065463454 -1.25828430057 -0.0948039442302 -1.27554175258 -0.0948017239571 -1.29279893637 -0.0947998557241 -1.31005558372 -0.0947983115913 -1.32731211185 -0.0947970934213 -1.34456822276 -0.0947962533685 -1.36182430387 -0.0947957653552 -1.37908005714 -0.0947956033051 -1.39633595943 -0.0947957653553 -1.41359168291 -0.0947962794452 -1.43084764481 -0.0947971474378 -1.4481035471 -0.0947983674704 -1.46535980701 -0.0947999116035 -1.48261612654 -0.0948017798365 -1.4998729825 -0.0948040001094 -1.51713001728 -0.0948065463452 -1.53438764811 -0.094809470698 -1.55164560675 -0.0948109868913 -1.57086801529 -0.0948094446212 -1.59009206295 -0.0948065463454 -1.60735017061 -0.0948039442302 -1.62460762262 -0.0948017239571 -1.64186483622 -0.0947998557241 -1.65912145376 -0.0947983115913 -1.6763779521 -0.0947970934213 -1.69363406301 -0.0947962533685 -1.71089017391 -0.0947957653552 -1.72814595699 -0.0947956033051 -1.74540185928 -0.0947957392783 -1.76265755296 -0.0947962533682 -1.77991351485 -0.0947971474378 -1.79716941714 -0.0947983674704 -1.81442567706 -0.0947999116035 -1.83168202639 -0.0948017798365 -1.84893885255 -0.0948040001094 -1.86619585753 -0.0948065463452 -1.88345348835 -0.094809470698 -1.9007114172 -0.0948109868913 -1.91993382573 -0.0948094166815 -1.93915787339 -0.0948065184057 -1.95641601086 -0.0948039442302 -1.97367349267 -0.0948017239571 -1.99093067646 -0.0947998557241 -2.00818735361 -0.0947983115913 -2.02544385195 -0.0947970934213 -2.04269987345 -0.0947962533685 -2.05995601416 -0.0947957653552 -2.07721179724 -0.0947956033051 -2.09446769953 -0.0947957653553 -2.11172348261 -0.0947962794452 -2.1289793849 -0.0947971474378 -2.14623522758 -0.0947983674704 -2.1634914875 -0.0947999116035 -2.18074780703 -0.0948017798365 -2.19800466299 -0.0948040001094 -2.21526169777 -0.0948065463452 -2.2325193286 -0.094809470698 -2.24977725744 -0.0948109868913 -2.26899969578 -0.0948094166815 -2.28822380304 -0.0948065184057 -2.3054819107 -0.0948039442302 -2.32273936272 -0.0948017239571 -2.3399965167 -0.0947998557241 -2.35725313425 -0.0947983115913 -2.37450969219 -0.0947970934213 -2.39176577329 -0.0947962533685 -2.4090218544 -0.0947957653552 -2.42627757788 -0.0947956033051 -2.44353348017 -0.0947957653553 -2.46078926325 -0.0947962794452 -2.47804522514 -0.0947971474378 -2.49530112743 -0.0947983674704 -2.51255744696 -0.0947999116035 -2.52981382609 -0.0948017798365 -2.54707056284 -0.0948040001094 -2.56432753802 -0.0948065463452 -2.58158522844 -0.094809470698 -2.59884315729 -0.0948109868913 -2.61806553602 -0.0948094446212 -2.63728958368 -0.0948065463454 -2.65454775095 -0.0948039442302 -2.67180520296 -0.0948017239571 -2.68906235695 -0.0947998557241 -2.7063189745 -0.0947983115913 -2.72357553244 -0.0947970934213 -2.74083167315 -0.0947962533685 -2.75808769464 -0.0947957653552 -2.77534347773 -0.0947956033051 -2.79259938002 -0.0947957653553 -2.80985504389 -0.0947962794452 -2.82711106539 -0.0947971474378 -2.84436696768 -0.0947983674704 -2.86162322759 -0.0947999116035 -2.87887960672 -0.0948017798365 -2.89613640309 -0.0948040001094 -2.91339337825 -0.0948065463452 -2.93065100908 -0.094809470698 -2.94790893793 -0.0948109868913 -2.96713137627 -0.0948094446212 -2.98635548353 -0.0948065463454 -3.00361359119 -0.0948039442302 -3.02087104321 -0.0948017239571 -3.0381282568 -0.0947998557241 -3.05538487434 -0.0947983115913 -3.07264137268 -0.0947970934213 -3.08989745379 -0.0947962533685 -3.10715353489 -0.0947957653552 -3.12440931797 -0.0947956033051 --3.14152011473 -0.0947957653553 --3.12426441908 -0.0947962794452 --3.10700839758 -0.0947971474378 --3.08975249529 -0.0947983674704 --3.07249623537 -0.0947999116035 --3.05523985624 -0.0948017798365 --3.03798305988 -0.0948040001094 --3.02072608471 -0.0948065463452 --3.00346845388 -0.094809470698 --2.98621052504 -0.0948109868913 --2.9669880867 -0.0948094446212 --2.94776397943 -0.0948065463454 --2.93050587177 -0.0948039442302 --2.91324841976 -0.0948017239571 --2.89599120617 -0.0947998557241 --2.87873458862 -0.0947983115913 --2.86147809028 -0.0947970934213 --2.84422200918 -0.0947962533685 --2.82696592808 -0.0947957653552 --2.809710145 -0.0947956033051 --2.79245424271 -0.0947957653553 --2.77519857884 -0.0947962794452 --2.75794261694 -0.0947971474378 --2.74068665505 -0.0947983674704 --2.72343039513 -0.0947999116035 --2.7061740756 -0.0948017798365 --2.68891721964 -0.0948040001094 --2.67166024446 -0.0948065724224 --2.65440261364 -0.0948094967752 --2.63714462519 -0.0948109868913 --2.61792218685 -0.0948094446212 --2.59869813919 -0.0948065463454 --2.58144003153 -0.0948039442302 --2.56418251991 -0.0948017239571 --2.54692536592 -0.0947998557241 --2.52966874838 -0.0947983115913 --2.51241225004 -0.0947970934213 --2.49515622854 -0.0947962533685 --2.47790008783 -0.0947957653552 --2.46064430475 -0.0947956033051 --2.44338840246 -0.0947957653553 --2.42613261938 -0.0947962794452 --2.40887671709 -0.0947971474378 --2.3916208148 -0.0947983674704 --2.37436449528 -0.0947999116035 --2.35710823536 -0.0948017798365 --2.339851439 -0.0948040001094 --2.32259434462 -0.0948065463452 --2.30533665419 -0.094809470698 --2.28807872534 -0.0948109868913 --2.26885634661 -0.0948094446212 --2.24963229895 -0.0948065463454 --2.23237419129 -0.0948039442302 --2.21511673927 -0.0948017239571 --2.19785952568 -0.0947998557241 --2.18060290813 -0.0947983115913 --2.16334635019 -0.0947970934213 --2.14609020949 -0.0947962533685 --2.12883418798 -0.0947957653552 --2.1115784049 -0.0947956033051 --2.09432250261 -0.0947957653553 --2.07706683874 -0.0947962794452 --2.05981081724 -0.0947971474378 --2.04255491495 -0.0947983674704 --2.02529865503 -0.0947999116035 --2.00804230571 -0.0948017798365 --1.99078550935 -0.0948040001094 --1.97352850437 -0.0948065463452 --1.95627084375 -0.094809470698 --1.93901288509 -0.0948109868913 --1.91979050636 -0.0948094446212 --1.9005664587 -0.0948065463454 --1.88330835104 -0.0948039442302 --1.86605089903 -0.0948017239571 --1.84879368544 -0.0947998557241 --1.83153703809 -0.0947983115913 --1.81428050995 -0.0947970934213 --1.79702442884 -0.0947962533685 --1.77976834774 -0.0947957653552 --1.76251256466 -0.0947956033051 --1.74525666237 -0.0947957653553 --1.72800093889 -0.0947962794452 --1.710744977 -0.0947971474378 --1.69348907471 -0.0947983674704 --1.67623281479 -0.0947999116035 --1.65897649527 -0.0948017798365 --1.6417196691 -0.0948040001094 --1.62446266413 -0.0948065463452 --1.60720503331 -0.094809470698 --1.58994707465 -0.0948109868913 --1.57072463632 -0.0948094446212 --1.55150055885 -0.0948065463454 --1.53424245119 -0.0948039442302 --1.51698502898 -0.0948017239571 --1.49972784519 -0.0947998557241 --1.48247119784 -0.0947983115913 --1.4652146697 -0.0947970934213 --1.4479585886 -0.0947962533685 --1.43070250749 -0.0947957653552 --1.41344672441 -0.0947956033051 --1.39619085193 -0.0947957392783 --1.37893515825 -0.0947962533682 --1.36167916656 -0.0947971474378 --1.34442326427 -0.0947983674704 --1.32716700435 -0.0947999116035 --1.30991065502 -0.0948017798365 --1.29265382886 -0.0948040001094 --1.27539682388 -0.0948065463452 --1.25813916326 -0.094809470698 --1.2408812046 -0.0948109868913 --1.22165882587 -0.0948094166815 --1.20243477821 -0.0948065184057 --1.18517664075 -0.0948039442302 --1.16791918874 -0.0948017239571 --1.15066200495 -0.0947998557241 --1.1334053576 -0.0947983115913 --1.11614882946 -0.0947970934213 --1.09889274836 -0.0947962533685 --1.08163666725 -0.0947957653552 --1.06438088417 -0.0947956033051 --1.04712498188 -0.0947957653553 --1.0298692584 -0.0947962794452 --1.01261329651 -0.0947971474378 --0.995357409119 -0.0947983674704 --0.9781011343 -0.0947999116035 --0.960844784975 -0.0948017798365 --0.943587958813 -0.0948040001094 --0.926330953837 -0.0948065463452 --0.909073323011 -0.094809470698 --0.891815379262 -0.0948109868913 --0.872592955828 -0.0948094166815 --0.853368878364 -0.0948065184057 --0.836110755801 -0.0948039442302 --0.818853318692 -0.0948017239571 --0.801596134901 -0.0947998557241 --0.784339517355 -0.0947983115913 --0.767082989216 -0.0947970934213 --0.749826878309 -0.0947962533685 --0.732570797205 -0.0947957653552 --0.715315029025 -0.0947956033051 --0.698059141636 -0.0947957653553 --0.680803433061 -0.0947962794452 --0.663547471166 -0.0947971474378 --0.646291553974 -0.0947983674704 --0.629035264254 -0.0947999116035 --0.61177892983 -0.0948017798365 --0.594522118568 -0.0948040001094 --0.577265098691 -0.0948065463452 --0.560007452964 -0.094809470698 --0.542749509215 -0.0948109868913 --0.523527100682 -0.0948094446212 --0.504303045571 -0.0948065463454 --0.487044930458 -0.0948039442302 --0.469787485898 -0.0948017239571 --0.452530294657 -0.0947998557241 --0.435273639858 -0.0947983115913 --0.418017111719 -0.0947970934213 --0.400761038065 -0.0947962533685 --0.383504964411 -0.0947957653552 --0.36624918133 -0.0947956033051 --0.34899328649 -0.0947957653553 --0.331737570465 -0.0947962794452 --0.314481601119 -0.0947971474378 --0.297225706279 -0.0947983674704 --0.27996943146 -0.0947999116035 --0.262713097036 -0.0948017798365 --0.245456263423 -0.0948040001094 --0.228199247271 -0.0948065463452 --0.21094161272 -0.094809470698 --0.193683668971 -0.0948109868913 --0.174461260438 -0.11246787943 --0.15523218736 -0.112464446574 --0.137974049896 -0.112461384386 --0.120716586709 -0.112458748743 --0.103459369391 -0.112456513569 --0.0862027127296 -0.112454677001 --0.0689461780712 -0.112453240901 --0.0516900708899 -0.112452255562 --0.0344339660369 -0.112451668829 --0.0171781692188 -0.112451482564 -7.77512323125e-05 -0.112451696769 -0.0173334870488 -0.112452283501 -0.0345894703641 -0.112453293055 -0.0518453931436 -0.112454731018 -0.0691016893834 -0.112456569448 -0.0863580498845 -0.112458804622 -0.103614905849 -0.112461438403 -0.120871940628 -0.112464472652 -0.138129595667 -0.112467905507 -0.155387561768 -0.112469688058 -0.174609784037 -0.11246787943 -0.19383366406 -0.112464446574 -0.211091801524 -0.112461384386 -0.228349264711 -0.112458748743 -0.245606493205 -0.112456513569 -0.262863151729 -0.112454677001 -0.280119672418 -0.112453240901 -0.297375783324 -0.112452255562 -0.314631886781 -0.112451668829 -0.331887669861 -0.112451482564 -0.349143594503 -0.112451696769 -0.366399340331 -0.112452283501 -0.383655317128 -0.112453293055 -0.40091124922 -0.112454731018 -0.418167546391 -0.112456569448 -0.435423895717 -0.112458804622 -0.452680744231 -0.112461438403 -0.469937779009 -0.112464498729 -0.487195454538 -0.112467959523 -0.504453413189 -0.112469715997 -0.523675635457 -0.11246787943 -0.542899519205 -0.112464446574 -0.560157626867 -0.112461384386 -0.577415093779 -0.112458748743 -0.594672307372 -0.112456513569 -0.611928954721 -0.112454677001 -0.629185527563 -0.112453240901 -0.646441653371 -0.112452255562 -0.663697749376 -0.112451668829 -0.68095356226 -0.112451482564 -0.698209479451 -0.112451696769 -0.715465188026 -0.112452283501 -0.732721164823 -0.112453293055 -0.749977096915 -0.112454731018 -0.767233386636 -0.112456569448 -0.78448972106 -0.112458804622 -0.801746577025 -0.112461438403 -0.819003611803 -0.112464472652 -0.836261257529 -0.112467905507 -0.853519231081 -0.112469688058 -0.872741475701 -0.11246787943 -0.891965344548 -0.112464446574 -0.909223496914 -0.112461384386 -0.926480978727 -0.112458748743 -0.943738162517 -0.112456513569 -0.960994809866 -0.112454677001 -0.978251352907 -0.112453240901 -0.995507493615 -0.112452255562 -1.01276358962 -0.112451668829 -1.0300193727 -0.112451482564 -1.04727530479 -0.112451696769 -1.06453102827 -0.112452283501 -1.08178701997 -0.112453293055 -1.09904298186 -0.112454731018 -1.11629927158 -0.112456569448 -1.13355562091 -0.112458804622 -1.15081247687 -0.112461438403 -1.16806948185 -0.112464472652 -1.18532714248 -0.112467933446 -1.20258513093 -0.112469715997 -1.22180736065 -0.11246787943 -1.2410311997 -0.112464446574 -1.25828933716 -0.112461384386 -1.27554681897 -0.112458748743 -1.29280400276 -0.112456513569 -1.31006067991 -0.112454677001 -1.32731723785 -0.112453240901 -1.34457334876 -0.112452255562 -1.36182945967 -0.112451668829 -1.37908524275 -0.112451482564 -1.39634114504 -0.112451696769 -1.41359689832 -0.112452283501 -1.43085289001 -0.112453293055 -1.44810879231 -0.112454731018 -1.46536508202 -0.112456569448 -1.48262143135 -0.112458804622 -1.49987828732 -0.112461438403 -1.5171353221 -0.112464472652 -1.53439298272 -0.112467933446 -1.55165097117 -0.112469715997 -1.57087320089 -0.11246787943 -1.59009706974 -0.112464446574 -1.6073551774 -0.112461384386 -1.62461265921 -0.112458748743 -1.64186990261 -0.112456513569 -1.65912654996 -0.112454677001 -1.67638304829 -0.112453240901 -1.6936391592 -0.112452255562 -1.71089529991 -0.112451668829 -1.72815111279 -0.112451482564 -1.74540704489 -0.112451670691 -1.76266273856 -0.112452257424 -1.77991870046 -0.112453293055 -1.79717466235 -0.112454731018 -1.81443095207 -0.112456569448 -1.8316873014 -0.112458804622 -1.84894415736 -0.112461438403 -1.86620119214 -0.112464472652 -1.88345885277 -0.112467905507 -1.90071681142 -0.112469688058 -1.91993904114 -0.11246785149 -1.93916290999 -0.112464418635 -1.95642104745 -0.112461384386 -1.97367852926 -0.112458748743 -1.99093574286 -0.112456513569 -2.00819244981 -0.112454677001 -2.02544897795 -0.112453240901 -2.04270499945 -0.112452255562 -2.05996114016 -0.112451668829 -2.07721698284 -0.112451482564 -2.09447288513 -0.112451696769 -2.11172860861 -0.112452283501 -2.1289845705 -0.112453293055 -2.1462405324 -0.112454731018 -2.16349685192 -0.112456569448 -2.18075317144 -0.112458804622 -2.19801002741 -0.112461438403 -2.21526706219 -0.112464472652 -2.23252469301 -0.112467933446 -2.24978268146 -0.112469715997 -2.26900494099 -0.11246785149 -2.28822880984 -0.112464418635 -2.3054869175 -0.112461384386 -2.32274436951 -0.112458748743 -2.3400015831 -0.112456513569 -2.35725826025 -0.112454677001 -2.37451475859 -0.112453240901 -2.39177083969 -0.112452255562 -2.4090269804 -0.112451668829 -2.42628276348 -0.112451482564 -2.44353866577 -0.112451696769 -2.46079444885 -0.112452283501 -2.47805047035 -0.112453293055 -2.49530637264 -0.112454731018 -2.51256269216 -0.112456569448 -2.52981907129 -0.112458804622 -2.54707586765 -0.112461438403 -2.56433290243 -0.112464472652 -2.58159059286 -0.112467933446 -2.59884852171 -0.112469715997 -2.61807072163 -0.11246787943 -2.63729459047 -0.112464446574 -2.65455275774 -0.112461384386 -2.67181026936 -0.112458748743 -2.68906742335 -0.112456513569 -2.70632404089 -0.112454677001 -2.72358065844 -0.112453240901 -2.74083679915 -0.112452255562 -2.75809282065 -0.112451668829 -2.77534860373 -0.112451482564 -2.79260456562 -0.112451696769 -2.80986028909 -0.112452283501 -2.8271163106 -0.112453293055 -2.84437221289 -0.112454731018 -2.8616284728 -0.112456569448 -2.87888485193 -0.112458804622 -2.8961417079 -0.112461438403 -2.91339874268 -0.112464472652 -2.9306563735 -0.112467905507 -2.94791430235 -0.112469688058 -2.96713650227 -0.11246787943 -2.98636043072 -0.112464446574 -3.00361859799 -0.112461384386 -3.02087605 -0.112458748743 -3.03813326359 -0.112456513569 -3.05538988113 -0.112454677001 -3.07264643908 -0.112453240901 -3.08990257979 -0.112452255562 -3.10715866089 -0.112451668829 -3.12441450358 -0.112451482564 --3.14151486953 -0.112451696769 --3.12425917387 -0.112452283501 --3.10700315237 -0.112453293055 --3.08974725008 -0.112454731018 --3.07249099016 -0.112456569448 --3.05523461103 -0.112458804622 --3.03797775507 -0.112461438403 --3.02072072029 -0.112464472652 --3.00346308946 -0.112467905507 --2.98620516062 -0.112469688058 --2.9669829011 -0.11246787943 --2.94775897264 -0.112464446574 --2.93050086498 -0.112461384386 --2.91324341297 -0.112458748743 --2.89598613977 -0.112456513569 --2.87872946262 -0.112454677001 --2.86147296429 -0.112453240901 --2.84421688318 -0.112452255562 --2.82696080208 -0.112451668829 --2.80970495939 -0.112451482564 --2.7924490571 -0.112451696769 --2.77519339323 -0.112452283501 --2.75793737173 -0.112453293055 --2.74068135023 -0.112454731018 --2.72342509032 -0.112456569448 --2.70616877079 -0.112458804622 --2.68891191482 -0.112461438403 --2.67165493965 -0.112464498729 --2.65439724922 -0.112467959523 --2.63713920116 -0.112469715997 --2.61791694164 -0.11246787943 --2.5986931324 -0.112464446574 --2.58143502474 -0.112461384386 --2.56417751312 -0.112458748743 --2.54692029953 -0.112456513569 --2.52966362238 -0.112454677001 --2.51240712404 -0.112453240901 --2.49515104294 -0.112452255562 --2.47789490223 -0.112451668829 --2.46063911915 -0.112451482564 --2.44338321686 -0.112451696769 --2.42612743378 -0.112452283501 --2.40887147188 -0.112453293055 --2.39161556959 -0.112454731018 --2.37435925007 -0.112456569448 --2.35710293054 -0.112458804622 --2.33984607458 -0.112461438403 --2.3225890398 -0.112464472652 --2.30533140898 -0.112467905507 --2.28807342053 -0.112469688058 --2.268851161 -0.11246787943 --2.24962729216 -0.112464446574 --2.23236918449 -0.112461384386 --2.21511167288 -0.112458748743 --2.19785445928 -0.112456513569 --2.18059784174 -0.112454677001 --2.1633412838 -0.112453240901 --2.14608514309 -0.112452255562 --2.12882906198 -0.112451668829 --2.1115732789 -0.112451482564 --2.09431731701 -0.112451696769 --2.07706159353 -0.112452283501 --2.05980563164 -0.112453293055 --2.04254972935 -0.112454731018 --2.02529340983 -0.112456569448 --2.0080370307 -0.112458804622 --1.99078020454 -0.112461438403 --1.97352319956 -0.112464472652 --1.95626550913 -0.112467933446 --1.93900752068 -0.112469715997 --1.91978532076 -0.11246787943 --1.90056145191 -0.112464446574 --1.88330334425 -0.112461384386 --1.86604586244 -0.112458748743 --1.84878861904 -0.112456513569 --1.83153194189 -0.112454677001 --1.81427538395 -0.112453240901 --1.79701930284 -0.112452255562 --1.77976322174 -0.112451668829 --1.76250740886 -0.112451482564 --1.74525147677 -0.112451696769 --1.72799575329 -0.112452283501 --1.71073976159 -0.112453293055 --1.6934838295 -0.112454731018 --1.67622756958 -0.112456569448 --1.65897122026 -0.112458804622 --1.64171433449 -0.112461438403 --1.62445729971 -0.112464472652 --1.60719966888 -0.112467933446 --1.58994171023 -0.112469715997 --1.57071948051 -0.11246787943 --1.55149558186 -0.112464446574 --1.5342374444 -0.112461384386 --1.51697999239 -0.112458748743 --1.4997227788 -0.112456513569 --1.48246613145 -0.112454677001 --1.46520960331 -0.112453240901 --1.4479534924 -0.112452255562 --1.43069738149 -0.112451668829 --1.41344159841 -0.112451482564 --1.39618566632 -0.112451670691 --1.37892991304 -0.112452257424 --1.36167392135 -0.112453293055 --1.34441801906 -0.112454731018 --1.32716172934 -0.112456569448 --1.30990535021 -0.112458804622 --1.29264852405 -0.112461438403 --1.27539148927 -0.112464472652 --1.25813379884 -0.112467905507 --1.24087581038 -0.112469688058 --1.22165361047 -0.11246785149 --1.20242977142 -0.112464418635 --1.18517160416 -0.112461384386 --1.16791412234 -0.112458748743 --1.15065693856 -0.112456513569 --1.1334002614 -0.112454677001 --1.11614370346 -0.112453240901 --1.09888759256 -0.112452255562 --1.08163151145 -0.112451668829 --1.06437572837 -0.112451482564 --1.04711979628 -0.112451696769 --1.0298640728 -0.112452283501 --1.0126080811 -0.112453293055 --0.99535214901 -0.112454731018 --0.978095844388 -0.112456569448 --0.960839480162 -0.112458804622 --0.943582639098 -0.112461438403 --0.926325604319 -0.112464472652 --0.909067943692 -0.112467933446 --0.891809970141 -0.112469715997 --0.872587755323 -0.11246785149 --0.853363886475 -0.112464418635 --0.836105749011 -0.112461384386 --0.818848282099 -0.112458748743 --0.801591068506 -0.112456513569 --0.784334421158 -0.112454677001 --0.767077878118 -0.112453240901 --0.749821767211 -0.112452255562 --0.732565671206 -0.112451668829 --0.715309873224 -0.112451482564 --0.698053956032 -0.112451696769 --0.680798217654 -0.112452283501 --0.663542211056 -0.112453293055 --0.646286278963 -0.112454731018 --0.629030004144 -0.112456569448 --0.611773654818 -0.112458804622 --0.594516813755 -0.112461438403 --0.577259764075 -0.112464472652 --0.560002073646 -0.112467933446 --0.542744114995 -0.112469715997 --0.523521915078 -0.11246787943 --0.504298046231 -0.112464446574 --0.487039901316 -0.112461384386 --0.469782434404 -0.112458748743 --0.452525220811 -0.112456513569 --0.435268558562 -0.112454677001 --0.418012015522 -0.112453240901 --0.400755912066 -0.112452255562 --0.383499830961 -0.112451668829 --0.366244018078 -0.112451482564 --0.348988093436 -0.112451696769 --0.33173237741 -0.112452283501 --0.314476385713 -0.112453293055 --0.29722046107 -0.112454731018 --0.279964163899 -0.112456569448 --0.262707814574 -0.112458804622 --0.245450962335 -0.112461438403 --0.228193912655 -0.112464472652 --0.210936252028 -0.112467905507 --0.193678285926 -0.112469688058 --0.174456067383 -0.129828693345 --0.155224822461 -0.129824718461 --0.13796665892 -0.129821188748 --0.120709164068 -0.129818152636 --0.103451915085 -0.129815589636 --0.0861952286214 -0.129813499749 --0.068938662298 -0.129811851308 --0.0516825225204 -0.129810700193 --0.0344263850711 -0.129810018465 --0.0171705577523 -0.129809807986 -8.53934325275e-05 -0.129810044542 -0.0173411606811 -0.129810724407 -0.0345971756615 -0.129811899736 -0.0518531296402 -0.129813548178 -0.069109457545 -0.129815643653 -0.0863658487797 -0.12981823273 -0.103622732684 -0.129821293056 -0.120879802853 -0.129824800417 -0.138137493283 -0.129828775302 -0.155395489186 -0.129830813036 -0.174617428332 -0.129828693345 -0.193841025233 -0.129824718461 -0.2110991925 -0.129821214825 -0.228356685489 -0.129818178713 -0.24561394006 -0.129815589636 -0.262870639563 -0.129813499749 -0.280127197504 -0.129811851308 -0.297383330763 -0.129810700193 -0.314639464021 -0.129810018465 -0.331895276904 -0.129809781909 -0.349151238799 -0.129810018465 -0.36640701443 -0.129810724407 -0.383663021028 -0.129811899736 -0.400918975472 -0.129813548178 -0.418175302446 -0.129815643653 -0.435431696475 -0.12981823273 -0.452688582241 -0.129821293056 -0.469945646823 -0.129824800417 -0.487203344703 -0.129828803242 -0.504461348057 -0.129830840975 -0.523683294654 -0.129828693345 -0.54290689528 -0.129824718461 -0.560165047646 -0.129821214825 -0.577422529459 -0.129818178713 -0.594679772854 -0.129815589636 -0.611936464906 -0.129813499749 -0.629193037748 -0.129811851308 -0.646449193358 -0.129810700193 -0.663705319166 -0.129810018465 -0.680961146951 -0.129809781909 -0.698217108846 -0.129810018465 -0.715472862124 -0.129810724407 -0.732728883624 -0.129811899736 -0.749984845519 -0.129813548178 -0.767241150141 -0.129815643653 -0.784497514367 -0.12981823273 -0.801754415035 -0.129821293056 -0.819011494517 -0.129824800417 -0.836269170046 -0.129828775302 -0.853527158499 -0.129830813036 -0.872749105096 -0.129828693345 -0.891972705722 -0.129824718461 -0.90923088789 -0.129821214825 -0.926488384605 -0.129818178713 -0.943745627999 -0.129815589636 -0.961002320051 -0.129813499749 -0.978258863092 -0.129811851308 -0.9955149889 -0.129810700193 -1.01277112961 -0.129810018465 -1.03002697229 -0.129809781909 -1.04728296399 -0.129810018465 -1.06453874707 -0.129810724407 -1.08179473877 -0.129811899736 -1.09905070066 -0.129813548178 -1.11630702019 -0.129815643653 -1.13356339931 -0.12981823273 -1.15082028508 -0.129821293056 -1.16807734966 -0.129824800417 -1.18533504009 -0.129828803242 -1.20259305834 -0.129830840975 -1.22181501984 -0.129828693345 -1.24103859067 -0.129824718461 -1.25829675793 -0.129821214825 -1.27555423975 -0.129818178713 -1.29281145334 -0.129815589636 -1.31006816029 -0.129813499749 -1.32732474804 -0.129811851308 -1.34458088875 -0.129810700193 -1.36183702945 -0.129810018465 -1.37909284234 -0.129809781909 -1.39634877443 -0.129810018465 -1.41360455752 -0.129810724407 -1.43086057901 -0.129811899736 -1.44811651111 -0.129813548178 -1.46537286043 -0.129815643653 -1.48262926936 -0.12981823273 -1.49988612533 -0.129821293056 -1.51714318991 -0.129824800417 -1.53440091014 -0.129828803242 -1.55165889859 -0.129830840975 -1.57088083029 -0.129828693345 -1.59010443092 -0.129824718461 -1.60736256838 -0.129821214825 -1.62462007999 -0.129818178713 -1.64187735319 -0.129815589636 -1.65913406014 -0.129813499749 -1.67639058828 -0.129811851308 -1.69364669919 -0.129810700193 -1.7109028697 -0.129810018465 -1.72815871238 -0.129809781909 -1.74541467428 -0.129810018465 -1.76267042756 -0.129810724407 -1.77992641926 -0.129811899736 -1.79718238115 -0.129813548178 -1.81443870068 -0.129815643653 -1.83169510961 -0.12981823273 -1.84895199537 -0.129821293056 -1.86620903015 -0.129824800417 -1.88346672058 -0.129828775302 -1.90072470903 -0.129830813036 -1.91994667053 -0.129828693345 -1.93917030096 -0.129824718461 -1.95642846823 -0.129821214825 -1.97368595004 -0.129818178713 -1.99094319343 -0.129815589636 -2.00819993019 -0.129813499749 -2.02545648813 -0.129811851308 -2.04271256924 -0.129810700193 -2.05996870995 -0.129810018465 -2.07722455263 -0.129809781909 -2.09448051452 -0.129810018465 -2.111736238 -0.129810724407 -2.1289922595 -0.129811899736 -2.146248281 -0.129813548178 -2.16350460053 -0.129815643653 -2.18076097965 -0.12981823273 -2.19801789522 -0.129821293056 -2.21527493 -0.129824800417 -2.23253256083 -0.129828803242 -2.24979060888 -0.129830840975 -2.26901257038 -0.129828693345 -2.28823614121 -0.129824718461 -2.30549430847 -0.129821214825 -2.32275176048 -0.129818178713 -2.34000903368 -0.129815589636 -2.35726577043 -0.129813499749 -2.37452226877 -0.129811851308 -2.39177840948 -0.129810700193 -2.40903455019 -0.129810018465 -2.42629039287 -0.129809781909 -2.44354635477 -0.129810018465 -2.46080207825 -0.129810724407 -2.47805809975 -0.129811899736 -2.49531406164 -0.129813548178 -2.51257044077 -0.129815643653 -2.5298268199 -0.12981823273 -2.54708367586 -0.129821293056 -2.56434077025 -0.129824800417 -2.58159846068 -0.129828803242 -2.59885644913 -0.129830840975 -2.61807835102 -0.129828693345 -2.63730192184 -0.129824718461 -2.65456014872 -0.129821214825 -2.67181766033 -0.129818178713 -2.68907487392 -0.129815589636 -2.70633155107 -0.129813499749 -2.72358816862 -0.129811851308 -2.74084430933 -0.129810700193 -2.75810039043 -0.129810018465 -2.77535623312 -0.129809781909 -2.79261219501 -0.129810018465 -2.80986797809 -0.129810724407 -2.82712399959 -0.129811899736 -2.84437990189 -0.129813548178 -2.86163622141 -0.129815643653 -2.87889260054 -0.12981823273 -2.8961494565 -0.129821293056 -2.91340655089 -0.129824800417 -2.93066430092 -0.129828775302 -2.94792228937 -0.129830813036 -2.96714419126 -0.129828693345 -2.98636782169 -0.129824718461 -3.00362598896 -0.129821188748 -3.02088350058 -0.129818152636 -3.03814071417 -0.129815589636 -3.05539733171 -0.129813499749 -3.07265394926 -0.129811851308 -3.08991014958 -0.129810700193 -3.10716629028 -0.129810018465 -3.12442213297 -0.129809807986 --3.14150724013 -0.129810044542 --3.12425148487 -0.129810724407 --3.10699546337 -0.129811899736 --3.08973956108 -0.129813548178 --3.07248324156 -0.129815643653 --3.05522680283 -0.12981823273 --3.03796994686 -0.129821293056 --3.02071285248 -0.129824800417 --3.00345510244 -0.129828775302 --2.9861971736 -0.129830813036 --2.9669752121 -0.129828693345 --2.94775158167 -0.129824718461 --2.93049347401 -0.129821214825 --2.91323596239 -0.129818178713 --2.8959786892 -0.129815589636 --2.87872195244 -0.129813499749 --2.8614653945 -0.129811851308 --2.84420931339 -0.129810700193 --2.82695317269 -0.129810018465 --2.80969733 -0.129809781909 --2.7924413681 -0.129810018465 --2.77518564463 -0.129810724407 --2.75792962312 -0.129811899736 --2.74067360163 -0.129813548178 --2.72341734171 -0.129815643653 --2.70616096258 -0.12981823273 --2.68890404701 -0.129821293056 --2.67164701223 -0.129824800417 --2.6543893218 -0.129828803242 --2.63713127375 -0.129830840975 --2.61790931225 -0.129828693345 --2.59868574142 -0.129824718461 --2.58142757416 -0.129821214825 --2.56417012215 -0.129818178713 --2.54691284895 -0.129815589636 --2.5296561122 -0.129813499749 --2.51239961386 -0.129811851308 --2.49514347315 -0.129810700193 --2.47788733244 -0.129810018465 --2.46063154936 -0.129809781909 --2.44337558746 -0.129810018465 --2.42611980438 -0.129810724407 --2.40886378288 -0.129811899736 --2.39160782099 -0.129813548178 --2.37435150147 -0.129815643653 --2.35709512234 -0.12981823273 --2.33983820677 -0.129821293056 --2.32258117199 -0.129824800417 --2.30532354116 -0.129828775302 --2.28806549311 -0.129830813036 --2.26884353161 -0.129828693345 --2.24961996079 -0.129824718461 --2.23236179352 -0.129821214825 --2.2151042819 -0.129818178713 --2.19784700871 -0.129815589636 --2.18059033156 -0.129813499749 --2.16333383322 -0.129811851308 --2.14607769251 -0.129810700193 --2.1288214922 -0.129810018465 --2.11156564951 -0.129809781909 --2.09430968762 -0.129810018465 --2.07705390453 -0.129810724407 --2.05979794264 -0.129811899736 --2.04254204035 -0.129813548178 --2.02528566122 -0.129815643653 --2.00802925229 -0.12981823273 --1.99077236652 -0.129821293056 --1.97351530194 -0.129824800417 --1.95625761151 -0.129828803242 --1.93899962306 -0.129830840975 --1.91977769137 -0.129828693345 --1.90055409074 -0.129824718461 --1.88329595327 -0.129821214825 --1.86603844166 -0.129818178713 --1.84878116846 -0.129815589636 --1.83152446151 -0.129813499749 --1.81426787376 -0.129811851308 --1.79701176286 -0.129810700193 --1.77975565195 -0.129810018465 --1.76249980927 -0.129809781909 --1.74524384737 -0.129810018465 --1.7279880941 -0.129810724407 --1.7107320726 -0.129811899736 --1.6934761107 -0.129813548178 --1.67621982098 -0.129815643653 --1.65896341204 -0.12981823273 --1.64170649647 -0.129821293056 --1.6244494617 -0.129824800417 --1.60719180107 -0.129828803242 --1.58993378282 -0.129830840975 --1.57071182132 -0.129828693345 --1.55148822069 -0.129824718461 --1.53423005342 -0.129821214825 --1.51697257161 -0.129818178713 --1.49971532822 -0.129815589636 --1.48245865107 -0.129813499749 --1.46520209313 -0.129811851308 --1.44794592261 -0.129810700193 --1.4306897819 -0.129810018465 --1.41343396902 -0.129809781909 --1.39617800713 -0.129810018465 --1.37892222405 -0.129810724407 --1.36166620255 -0.129811899736 --1.34441027046 -0.129813548178 --1.32715395093 -0.129815643653 --1.3098975718 -0.12981823273 --1.29264068604 -0.129821293056 --1.27538359165 -0.129824800417 --1.25812590122 -0.129828775302 --1.24086791277 -0.129830813036 --1.22164598107 -0.129828693345 --1.20242241025 -0.129824718461 --1.18516421318 -0.129821214825 --1.16790667176 -0.129818178713 --1.15064945817 -0.129815589636 --1.13339278102 -0.129813499749 --1.11613619328 -0.129811851308 --1.09888005257 -0.129810700193 --1.08162394166 -0.129810018465 --1.06436812878 -0.129809781909 --1.04711216688 -0.129810018465 --1.02985641361 -0.129810724407 --1.0126003921 -0.129811899736 --0.995344430209 -0.129813548178 --0.978088095784 -0.129815643653 --0.960831686854 -0.12981823273 --0.943574801087 -0.129821293056 --0.926317736507 -0.129824800417 --0.909060060978 -0.129828803242 --0.891802057624 -0.129830840975 --0.872580096125 -0.129828693345 --0.853356510401 -0.129824718461 --0.836098372936 -0.129821214825 --0.81884086132 -0.129818178713 --0.801583588123 -0.129815589636 --0.784326910973 -0.129813499749 --0.767070367933 -0.129811851308 --0.749814227223 -0.129810700193 --0.732558086514 -0.129810018465 --0.71530225873 -0.129809781909 --0.698046311736 -0.129810018465 --0.680790558457 -0.129810724407 --0.663534536957 -0.129811899736 --0.646278560161 -0.129813548178 --0.629022240639 -0.129815643653 --0.611765861511 -0.12981823273 --0.594508975744 -0.129821293056 --0.577251911163 -0.129824800417 --0.559994190931 -0.129828803242 --0.542736187577 -0.129830840975 --0.523514270783 -0.129828693345 --0.504290677607 -0.129824718461 --0.48703250289 -0.129821214825 --0.469775013626 -0.129818178713 --0.452517770231 -0.129815589636 --0.435261078179 -0.129813499749 --0.418004505336 -0.129811851308 --0.400748364627 -0.129810700193 --0.38349224627 -0.129810018465 --0.366236411035 -0.129809781909 --0.348980456591 -0.129810018465 --0.331724695861 -0.129810724407 --0.314468681812 -0.129811899736 --0.297212734819 -0.129813548178 --0.279956392944 -0.129815643653 --0.262700006366 -0.12981823273 --0.245443131775 -0.129821293056 --0.228186052293 -0.129824800417 --0.210928361863 -0.129828775302 --0.193670362234 -0.129830813036 --0.174448419362 -0.147170990706 --0.155217468739 -0.147166490555 --0.13795927912 -0.147162508219 --0.120701752603 -0.147159062326 --0.103444473818 -0.147156156599 --0.0861877519638 -0.147153794766 --0.0689311530441 -0.147151943296 --0.0516749834642 -0.147150631994 --0.0344188166782 -0.147149834782 --0.0171629583929 -0.147149577737 -9.3024922535e-05 -0.147149860859 -0.0173488226719 -0.147150654346 -0.0346048683859 -0.147151991725 -0.051860854961 -0.147153869271 -0.0691172145307 -0.147156234831 -0.0863736346364 -0.147159140557 -0.103630550206 -0.147162612527 -0.120887650177 -0.147166598588 -0.138145372272 -0.147171098739 -0.155403401702 -0.147173412144 -0.174625057727 -0.147170990706 -0.19384836778 -0.147166490555 -0.211106568575 -0.147162534297 -0.228364098817 -0.147159088403 -0.245621375739 -0.147156156599 -0.262878105044 -0.147153794766 -0.280134700239 -0.147151943296 -0.297390863299 -0.147150631994 -0.314647033811 -0.147149834782 -0.331902883947 -0.147149577737 -0.349158860743 -0.147149860859 -0.366414666176 -0.147150654346 -0.383670717478 -0.147151991725 -0.400926701725 -0.147153869271 -0.418183065951 -0.147156234831 -0.435439482331 -0.147159140557 -0.452696397901 -0.147162612527 -0.469953499734 -0.147166598588 -0.487211219966 -0.147171098739 -0.504469260573 -0.147173412144 -0.523690924048 -0.147170990706 -0.542914241552 -0.147166490555 -0.56017242372 -0.147162534297 -0.577429950237 -0.147159088403 -0.594687238335 -0.147156156599 -0.611943945289 -0.147153794766 -0.629200533032 -0.147151943296 -0.646456718445 -0.147150631994 -0.663712888956 -0.147149834782 -0.680968731642 -0.14714955166 -0.698224708438 -0.147149834782 -0.715480521321 -0.147150654346 -0.732736587524 -0.147151991725 -0.749992579222 -0.147153869271 -0.767248928547 -0.147156234831 -0.784505322575 -0.147159140557 -0.801762238145 -0.147162612527 -0.819019347429 -0.147166598588 -0.836277067661 -0.147171098739 -0.853535085917 -0.147173412144 -0.872756749392 -0.147170990706 -0.891980066896 -0.147166490555 -0.909238263965 -0.147162534297 -0.926495790482 -0.147159088403 -0.943753063679 -0.147156156599 -0.961009800434 -0.147153794766 -0.978266388178 -0.147151943296 -0.995522528889 -0.147150631994 -1.0127786994 -0.147149834782 -1.03003460169 -0.14714955166 -1.04729062319 -0.147149834782 -1.06454640627 -0.147150654346 -1.08180242777 -0.147151991725 -1.09905841946 -0.147153869271 -1.11631476879 -0.147156234831 -1.13357117772 -0.147159140557 -1.15082809329 -0.147162612527 -1.16808518767 -0.147166598588 -1.1853429079 -0.147171098739 -1.20260095596 -0.147173412144 -1.22182264924 -0.147170990706 -1.24104595184 -0.147166490555 -1.25830411911 -0.147162534297 -1.27556163073 -0.147159088403 -1.29281890392 -0.147156156599 -1.31007564068 -0.147153794766 -1.32733225823 -0.147151943296 -1.34458842874 -0.147150631994 -1.36184456944 -0.147149834782 -1.37910041213 -0.147149577737 -1.39635640383 -0.147149860859 -1.41361221671 -0.147150654346 -1.43086826801 -0.147151991725 -1.44812422991 -0.147153869271 -1.46538060904 -0.147156234831 -1.48263704777 -0.147159140557 -1.49989393353 -0.147162612527 -1.51715105772 -0.147166598588 -1.53440880775 -0.147171098739 -1.55166682601 -0.147173412144 -1.57088845968 -0.147170990706 -1.59011176229 -0.147166490555 -1.60736995935 -0.147162534297 -1.62462750077 -0.147159088403 -1.64188477397 -0.147156156599 -1.65914151073 -0.147153794766 -1.67639809847 -0.147151943296 -1.69365423918 -0.147150631994 -1.71091043949 -0.147149834782 -1.72816631198 -0.147149577737 -1.74542230367 -0.147149860859 -1.76267808676 -0.147150654346 -1.77993410826 -0.147151991725 -1.79719009996 -0.147153869271 -1.81444644928 -0.147156234831 -1.83170288801 -0.147159140557 -1.84895983338 -0.147162612527 -1.86621689797 -0.147166598588 -1.88347458839 -0.147171098739 -1.90073260665 -0.147173412144 -1.91995429992 -0.147170990706 -1.93917766213 -0.147166490555 -1.9564358592 -0.147162534297 -1.97369337082 -0.147159088403 -1.99095064402 -0.147156156599 -2.00820741057 -0.147153794766 -2.02546399832 -0.147151943296 -2.04272013903 -0.147150631994 -2.05997627973 -0.147149834782 -2.07723212242 -0.147149577737 -2.09448814392 -0.147149860859 -2.111743927 -0.147150654346 -2.12900000811 -0.147151991725 -2.14625602961 -0.147153869271 -2.16351228953 -0.147156234831 -2.18076866865 -0.147159140557 -2.19802564382 -0.147162612527 -2.21528273821 -0.147166598588 -2.23254042864 -0.147171098739 -2.2497985363 -0.147173412144 -2.26902019977 -0.147170990706 -2.28824347258 -0.147166490555 -2.30550169945 -0.147162534297 -2.32275921106 -0.147159088403 -2.34001648426 -0.147156156599 -2.35727322102 -0.147153794766 -2.37452977896 -0.147151943296 -2.39178591967 -0.147150631994 -2.40904211998 -0.147149834782 -2.42629802227 -0.14714955166 -2.44355404377 -0.147149834782 -2.46080976725 -0.147150654346 -2.47806578875 -0.147151991725 -2.49532181025 -0.147153869271 -2.51257818938 -0.147156234831 -2.52983462811 -0.147159140557 -2.54709148407 -0.147162612527 -2.56434857846 -0.147166598588 -2.58160632849 -0.147171098739 -2.59886437654 -0.147173412144 -2.61808604002 -0.147170990706 -2.63730931282 -0.147166490555 -2.65456753969 -0.147162534297 -2.67182505131 -0.147159088403 -2.6890823245 -0.147156156599 -2.70633906126 -0.147153794766 -2.72359567881 -0.147151943296 -2.74085181951 -0.147150631994 -2.75810796022 -0.147149834782 -2.77536386251 -0.147149577737 -2.79261982441 -0.147149860859 -2.8098756671 -0.147150654346 -2.8271316886 -0.147151991725 -2.84438759089 -0.147153869271 -2.86164397001 -0.147156234831 -2.87890040874 -0.147159140557 -2.89615732431 -0.147162612527 -2.9134144187 -0.147166598588 -2.93067216873 -0.147171098739 -2.94793021679 -0.147173412144 -2.96715188026 -0.147170990706 -2.98637521267 -0.147166490555 -3.00363337994 -0.147162508219 -3.02089089155 -0.147159062326 -3.03814816475 -0.147156156599 -3.0554048419 -0.147153794766 -3.07266145945 -0.147151943296 -3.08991771936 -0.147150631994 -3.10717386007 -0.147149834782 -3.12442970276 -0.147149577737 --3.14149961074 -0.147149860859 --3.12424379587 -0.147150654346 --3.10698777437 -0.147151991725 --3.08973187208 -0.147153869271 --3.07247549295 -0.147156234831 --3.05521899462 -0.147159140557 --3.03796207905 -0.147162612527 --3.02070498467 -0.147166598588 --3.00344723463 -0.147171098739 --2.98618924618 -0.147173412144 --2.9669675827 -0.147170990706 --2.9477442503 -0.147166490555 --2.93048608303 -0.147162534297 --2.91322857141 -0.147159088403 --2.89597129822 -0.147156156599 --2.87871450186 -0.147153794766 --2.86145788431 -0.147151943296 --2.8442017436 -0.147150631994 --2.82694560289 -0.147149834782 --2.80968976021 -0.147149577737 --2.79243373871 -0.147149860859 --2.77517795563 -0.147150654346 --2.75792193413 -0.147151991725 --2.74066591263 -0.147153869271 --2.7234095931 -0.147156234831 --2.70615321398 -0.147159140557 --2.6888962388 -0.147162612527 --2.67163914442 -0.147166598588 --2.65438145399 -0.147171098739 --2.63712340594 -0.147173412144 --2.61790174246 -0.147170990706 --2.59867841005 -0.147166490555 --2.58142024278 -0.147162534297 --2.56416273117 -0.147159088403 --2.54690539837 -0.147156156599 --2.52964866162 -0.147153794766 --2.51239210367 -0.147151943296 --2.49513596296 -0.147150631994 --2.47787982225 -0.147149834782 --2.46062397957 -0.14714955166 --2.44336795807 -0.147149834782 --2.42611217499 -0.147150654346 --2.40885609388 -0.147151991725 --2.39160007238 -0.147153869271 --2.37434369325 -0.147156234831 --2.35708731413 -0.147159140557 --2.33983045816 -0.147162612527 --2.32257330418 -0.147166598588 --2.30531555414 -0.147171098739 --2.28805750608 -0.147173412144 --2.26883584261 -0.147170990706 --2.24961256981 -0.147166490555 --2.23235440254 -0.147162534297 --2.21509689092 -0.147159088403 --2.19783961773 -0.147156156599 --2.18058288097 -0.147153794766 --2.16332632303 -0.147151943296 --2.14607018232 -0.147150631994 --2.12881392241 -0.147149834782 --2.11155802011 -0.14714955166 --2.09430205822 -0.147149834782 --2.07704621553 -0.147150654346 --2.05979019403 -0.147151991725 --2.04253429174 -0.147153869271 --2.02527791262 -0.147156234831 --2.00802144408 -0.147159140557 --1.99076452851 -0.147162612527 --1.97350743413 -0.147166598588 --1.9562497139 -0.147171098739 --1.93899169564 -0.147173412144 --1.91977006197 -0.147170990706 --1.90054675937 -0.147166490555 --1.8832885623 -0.147162534297 --1.86603102088 -0.147159088403 --1.84877371788 -0.147156156599 --1.83151698113 -0.147153794766 --1.81426039338 -0.147151943296 --1.79700425268 -0.147150631994 --1.77974808216 -0.147149834782 --1.76249220967 -0.147149577737 --1.74523621798 -0.147149860859 --1.72798040509 -0.147150654346 --1.71072438359 -0.147151991725 --1.6934684217 -0.147153869271 --1.67621207237 -0.147156234831 --1.65895563364 -0.147159140557 --1.64169868827 -0.147162612527 --1.62444159388 -0.147166598588 --1.60718390345 -0.147171098739 --1.5899258852 -0.147173412144 --1.57070419192 -0.147170990706 --1.55148085952 -0.147166490555 --1.53422266245 -0.147162534297 --1.51696515083 -0.147159088403 --1.49970787764 -0.147156156599 --1.48245117068 -0.147153794766 --1.46519458294 -0.147151943296 --1.44793838263 -0.147150631994 --1.43068221212 -0.147149834782 --1.41342633963 -0.147149577737 --1.39617037773 -0.147149860859 --1.37891459465 -0.147150654346 --1.36165851355 -0.147151991725 --1.34440252185 -0.147153869271 --1.32714617252 -0.147156234831 --1.30988976359 -0.147159140557 --1.29263284803 -0.147162612527 --1.27537575364 -0.147166598588 --1.25811803341 -0.147171098739 --1.24086001515 -0.147173412144 --1.22163838148 -0.147170990706 --1.20241507888 -0.147166490555 --1.18515685201 -0.147162534297 --1.16789928079 -0.147159088403 --1.15064203739 -0.147156156599 --1.13338533044 -0.147153794766 --1.11612868309 -0.147151943296 --1.09887251258 -0.147150631994 --1.08161637187 -0.147149834782 --1.06436052919 -0.147149577737 --1.04710453749 -0.147149860859 --1.02984872461 -0.147150654346 --1.0125926733 -0.147151991725 --0.995336696504 -0.147153869271 --0.97808034718 -0.147156234831 --0.960823908448 -0.147159140557 --0.943566992879 -0.147162612527 --0.926309913397 -0.147166598588 --0.909052193165 -0.147171098739 --0.891794145107 -0.147173412144 --0.872572466731 -0.147170990706 --0.853349164128 -0.147166490555 --0.83609098196 -0.147162534297 --0.818833440542 -0.147159088403 --0.801576137543 -0.147156156599 --0.78431943059 -0.147153794766 --0.767062872649 -0.147151943296 --0.749806702137 -0.147150631994 --0.732550516724 -0.147149834782 --0.715294659138 -0.14714955166 --0.69803866744 -0.147149834782 --0.680782884359 -0.147150654346 --0.66352686286 -0.147151991725 --0.64627084136 -0.147153869271 --0.629014477134 -0.147156234831 --0.611758068204 -0.147159140557 --0.594501152634 -0.147162612527 --0.577244058251 -0.147166598588 --0.559986323118 -0.147171098739 --0.542728304863 -0.147173412144 --0.523506641388 -0.147170990706 --0.504283316433 -0.147166490555 --0.487025126815 -0.147162534297 --0.469767600298 -0.147159088403 --0.452510327101 -0.147156156599 --0.435253612697 -0.147153794766 --0.417997002602 -0.147151943296 --0.40074083209 -0.147150631994 --0.38348467648 -0.147149834782 --0.366228811443 -0.147149577737 --0.348972819745 -0.147149860859 --0.331717014313 -0.147150654346 --0.314460977912 -0.147151991725 --0.297205001116 -0.147153869271 --0.27994863689 -0.147156234831 --0.262692220509 -0.147159140557 --0.245435301215 -0.147162612527 --0.228178195656 -0.147166598588 --0.210920479149 -0.147171098739 --0.193662449717 -0.147173412144 --0.174440782517 -0.164495002478 --0.155210133642 -0.164489995688 --0.137951906771 -0.164485577494 --0.120694350451 -0.16448173672 --0.103437045589 -0.164478473365 --0.0861802902073 -0.164475820958 --0.068923660554 -0.164473749697 --0.0516674593091 -0.164472285658 --0.0344112613238 -0.164471402764 --0.0171553723048 -0.16447109729 -0.000100642442703 -0.164471399039 -0.017356471857 -0.16447230801 -0.0346125499345 -0.164473801851 -0.0518685663119 -0.164475873113 -0.0691249566153 -0.164478525519 -0.0863814074546 -0.164481788874 -0.103638354689 -0.164485655725 -0.1208954826 -0.164490099996 -0.138153232634 -0.164495129139 -0.155411299318 -0.164497710765 -0.174632675946 -0.164495002478 -0.193855706602 -0.164489995688 -0.21111394465 -0.164485577494 -0.228371500969 -0.16448173672 -0.245628803968 -0.164478473365 -0.262885563076 -0.164475820958 -0.280142188073 -0.164473749697 -0.297398380935 -0.164472285658 -0.3146545887 -0.164471402764 -0.331910476088 -0.164471123367 -0.349166475236 -0.164471425116 -0.366422310472 -0.16447230801 -0.383678399027 -0.164473801851 -0.400934420526 -0.164475873113 -0.418190807104 -0.164478525519 -0.435447245836 -0.164481788874 -0.452704198658 -0.164485655725 -0.469961337745 -0.164490099996 -0.48721909523 -0.164495103062 -0.504477143287 -0.164497684688 -0.523698508739 -0.164495002478 -0.542921572924 -0.164489995688 -0.560179799795 -0.164485577494 -0.577437341213 -0.164481710643 -0.594694644212 -0.164478447288 -0.611951380968 -0.164475820958 -0.629208013415 -0.164473749697 -0.64646422863 -0.164472285658 -0.663720443845 -0.164471402764 -0.680976331234 -0.16447109729 -0.698232322931 -0.164471399039 -0.715488180518 -0.16447230801 -0.732744261622 -0.164473801851 -0.75000025332 -0.164475873113 -0.767256647349 -0.164478525519 -0.784513086081 -0.164481788874 -0.801770031452 -0.164485655725 -0.819027170539 -0.164490099996 -0.836284920573 -0.164495129139 -0.853542983532 -0.164497710765 -0.872764393688 -0.164495002478 -0.891987413168 -0.164489995688 -0.909245625138 -0.164485577494 -0.92650321126 -0.164481710643 -0.943760514259 -0.164478447288 -0.961017265916 -0.164475820958 -0.978273883462 -0.164473749697 -0.995530083776 -0.164472285658 -1.01278629899 -0.164471402764 -1.03004220128 -0.16447109729 -1.04729822278 -0.164471399039 -1.06455403566 -0.16447230801 -1.08181008697 -0.164473801851 -1.09906610846 -0.164475873113 -1.11632251739 -0.164478525519 -1.13357898593 -0.164481788874 -1.1508359313 -0.164485655725 -1.16809302568 -0.164490099996 -1.18535077572 -0.164495129139 -1.20260885358 -0.164497710765 -1.22183024883 -0.164495002478 -1.24105325341 -0.164489995688 -1.25831145048 -0.164485577494 -1.2755690217 -0.164481710643 -1.2928263545 -0.164478447288 -1.31008312106 -0.164475820958 -1.3273397386 -0.164473749697 -1.34459593892 -0.164472285658 -1.36185213924 -0.164471402764 -1.37910801172 -0.164471123367 -1.39636403322 -0.164471425116 -1.41361987591 -0.16447230801 -1.43087595701 -0.164473801851 -1.44813194871 -0.164475873113 -1.46538832784 -0.164478525519 -1.48264479637 -0.164481788874 -1.49990174174 -0.164485655725 -1.51715889573 -0.164490099996 -1.53441667557 -0.164495129139 -1.55167472362 -0.164497710765 -1.57089605927 -0.164495002478 -1.59011909365 -0.164489995688 -1.60737735033 -0.164485577494 -1.62463492155 -0.164481710643 -1.64189222455 -0.164478447288 -1.65914896131 -0.164475820958 -1.67640557885 -0.164473749697 -1.69366177917 -0.164472285658 -1.71091797948 -0.164471402764 -1.72817388177 -0.164471123367 -1.74542990327 -0.164471425116 -1.76268571615 -0.16447230801 -1.77994179726 -0.164473801851 -1.79719781876 -0.164475873113 -1.81445419788 -0.164478525519 -1.83171066642 -0.164481788874 -1.84896764159 -0.164485655725 -1.86622473597 -0.164490099996 -1.88348245621 -0.164495129139 -1.90074053407 -0.164497710765 -1.91996192932 -0.164495002478 -1.9391849637 -0.164489995688 -1.95644319058 -0.164485577494 -1.9737007618 -0.16448173672 -1.9909580648 -0.164478473365 -2.00821486115 -0.164475820958 -2.0254715085 -0.164473749697 -2.04272764921 -0.164472285658 -2.05998378992 -0.164471402764 -2.07723969221 -0.164471123367 -2.09449577332 -0.164471425116 -2.111751616 -0.16447230801 -2.12900769711 -0.164473801851 -2.14626371861 -0.164475873113 -2.16352003813 -0.164478525519 -2.18077647686 -0.164481788874 -2.19803345203 -0.164485655725 -2.21529054642 -0.164490099996 -2.23254829645 -0.164495103062 -2.24980640411 -0.164497684688 -2.26902776956 -0.164495002478 -2.28825080395 -0.164489995688 -2.30550909043 -0.164485577494 -2.32276666165 -0.164481710643 -2.34002393484 -0.164478447288 -2.3572806716 -0.164475820958 -2.37453728914 -0.164473749697 -2.39179342985 -0.164472285658 -2.40904968977 -0.164471402764 -2.42630565167 -0.16447109729 -2.44356167317 -0.164471399039 -2.46081745625 -0.16447230801 -2.47807347775 -0.164473801851 -2.49532949925 -0.164475873113 -2.51258593798 -0.164478525519 -2.52984243631 -0.164481788874 -2.54709929228 -0.164485655725 -2.56435638666 -0.164490099996 -2.5816141963 -0.164495129139 -2.59887230396 -0.164497710765 -2.61809372902 -0.164495002478 -2.6373167038 -0.164489995688 -2.65457487106 -0.164485577494 -2.67183244228 -0.164481710643 -2.68908977509 -0.164478447288 -2.70634651184 -0.164475820958 -2.72360312939 -0.164473749697 -2.7408593297 -0.164472285658 -2.75811553001 -0.164471402764 -2.77537143231 -0.164471123367 -2.79262745381 -0.164471425116 -2.80988329649 -0.16447230801 -2.8271393776 -0.164473801851 -2.84439533949 -0.164475873113 -2.86165171862 -0.164478525519 -2.87890821695 -0.164481788874 -2.89616519213 -0.164485655725 -2.91342234612 -0.164490099996 -2.93068003655 -0.164495103062 -2.9479380846 -0.164497684688 -2.96715950966 -0.164495002478 -2.98638254404 -0.164489995688 -3.00364077091 -0.164485577494 -3.02089828253 -0.16448173672 -3.03815555573 -0.164478473365 -3.05541229248 -0.164475820958 -3.07266896963 -0.164473749697 -3.08992522955 -0.164472285658 -3.10718137026 -0.164471402764 -3.12443727255 -0.16447109729 --3.14149198134 -0.164471399039 --3.12423616648 -0.16447230801 --3.10698008537 -0.164473801851 --3.08972412348 -0.164475873113 --3.07246774435 -0.164478525519 --3.05521124601 -0.164481788874 --3.03795427084 -0.164485655725 --3.02069711685 -0.164490099996 --3.00343942642 -0.164495129139 --2.98618137836 -0.164497710765 --2.96695995331 -0.164495002478 --2.94773691893 -0.164489995688 --2.93047869205 -0.164485577494 --2.91322118044 -0.16448173672 --2.89596384764 -0.164478473365 --2.87870705128 -0.164475820958 --2.86145043373 -0.164473749697 --2.84419423342 -0.164472285658 --2.82693809271 -0.164471402764 --2.80968219042 -0.164471123367 --2.79242616892 -0.164471425116 --2.77517032623 -0.16447230801 --2.75791424513 -0.164473801851 --2.74065822363 -0.164475873113 --2.7234018445 -0.164478525519 --2.70614546538 -0.164481788874 --2.6888884902 -0.164485655725 --2.67163133621 -0.164490099996 --2.65437358618 -0.164495103062 --2.63711553812 -0.164497684688 --2.61789417267 -0.164495002478 --2.59867107868 -0.164489995688 --2.58141285181 -0.164485577494 --2.56415534019 -0.164481710643 --2.54689800739 -0.164478447288 --2.52964121103 -0.164475820958 --2.51238459349 -0.164473749697 --2.49512845278 -0.164472285658 --2.47787225246 -0.164471402764 --2.46061635017 -0.16447109729 --2.44336032867 -0.164471399039 --2.42610448599 -0.16447230801 --2.40884840488 -0.164473801851 --2.39159238338 -0.164475873113 --2.37433600426 -0.164478525519 --2.35707956553 -0.164481788874 --2.33982264996 -0.164485655725 --2.32256549597 -0.164490099996 --2.30530768633 -0.164495129139 --2.28804963827 -0.164497710765 --2.26882821322 -0.164495002478 --2.24960517883 -0.164489995688 --2.23234701156 -0.164485577494 --2.21508944034 -0.164481710643 --2.19783216715 -0.164478447288 --2.18057543039 -0.164475820958 --2.16331881285 -0.164473749697 --2.14606261253 -0.164472285658 --2.12880635261 -0.164471402764 --2.11155045032 -0.16447109729 --2.09429442882 -0.164471399039 --2.07703858614 -0.16447230801 --2.05978250503 -0.164473801851 --2.04252654314 -0.164475873113 --2.02527016401 -0.164478525519 --2.00801366568 -0.164481788874 --1.99075675011 -0.164485655725 --1.97349962592 -0.164490099996 --1.95624184608 -0.164495129139 --1.93898379803 -0.164497710765 --1.91976246238 -0.164495002478 --1.900539428 -0.164489995688 --1.88328117132 -0.164485577494 --1.8660236001 -0.164481710643 --1.8487662673 -0.164478447288 --1.83150950074 -0.164475820958 --1.814252913 -0.164473749697 --1.79699674249 -0.164472285658 --1.77974054217 -0.164471402764 --1.76248463988 -0.164471123367 --1.74522861838 -0.164471425116 --1.72797277569 -0.16447230801 --1.71071669459 -0.164473801851 --1.69346070289 -0.164475873113 --1.67620432377 -0.164478525519 --1.65894785524 -0.164481788874 --1.64169088006 -0.164485655725 --1.62443372607 -0.164490099996 --1.60717600584 -0.164495129139 --1.58991798759 -0.164497710765 --1.57069659233 -0.164495002478 --1.55147352815 -0.164489995688 --1.53421530128 -0.164485577494 --1.51695775986 -0.164481710643 --1.49970045685 -0.164478447288 --1.4824437201 -0.164475820958 --1.46518707275 -0.164473749697 --1.44793087244 -0.164472285658 --1.43067467212 -0.164471402764 --1.41341876983 -0.164471123367 --1.39616277814 -0.164471425116 --1.37890693545 -0.16447230801 --1.36165085435 -0.164473801851 --1.34439483285 -0.164475873113 --1.32713842392 -0.164478525519 --1.30988198519 -0.164481788874 --1.29262506962 -0.164485655725 --1.27536794543 -0.164490099996 --1.25811016559 -0.164495129139 --1.24085208774 -0.164497710765 --1.22163072229 -0.164495002478 --1.20240771771 -0.164489995688 --1.18514949083 -0.164485577494 --1.16789191961 -0.16448173672 --1.15063461661 -0.164478473365 --1.13337785005 -0.164475820958 --1.11612120271 -0.164473749697 --1.09886500239 -0.164472285658 --1.08160883188 -0.164471402764 --1.06435295939 -0.164471123367 --1.04709690809 -0.164471425116 --1.02984106541 -0.16447230801 --1.0125849843 -0.164473801851 --0.995328962802 -0.164475873113 --0.978072598576 -0.164478525519 --0.960816144943 -0.164481788874 --0.943559199572 -0.164485655725 --0.926302090288 -0.164490099996 --0.909044325352 -0.164495103062 --0.891786247492 -0.164497684688 --0.872564867139 -0.164495002478 --0.853341832757 -0.164489995688 --0.836083605886 -0.164485577494 --0.818826049566 -0.164481710643 --0.801568731666 -0.164478447288 --0.784311980009 -0.164475820958 --0.767055362463 -0.164473749697 --0.749799177051 -0.164472285658 --0.732542976737 -0.164471402764 --0.715287074447 -0.16447109729 --0.698031038046 -0.164471399039 --0.680775225162 -0.16447230801 --0.66351917386 -0.164473801851 --0.64626313746 -0.164475873113 --0.629006743431 -0.164478525519 --0.611750289798 -0.164481788874 --0.594493359327 -0.164485655725 --0.577236220241 -0.164490099996 --0.559978455305 -0.164495129139 --0.542720407248 -0.164497710765 --0.523499011993 -0.164495002478 --0.504275985062 -0.164489995688 --0.487017765641 -0.164485577494 --0.469760194421 -0.164481710643 --0.452502891422 -0.164478447288 --0.435246147215 -0.164475820958 --0.417989499867 -0.164473749697 --0.400733299554 -0.164472285658 --0.383477121592 -0.164471402764 --0.366221226752 -0.164471123367 --0.348965205252 -0.164471425116 --0.331709377468 -0.16447230801 --0.314453303814 -0.164473801851 --0.297197274864 -0.164475873113 --0.279940888286 -0.164478525519 --0.262684457004 -0.164481788874 --0.245427500457 -0.164485655725 --0.228170357644 -0.164490099996 --0.21091260761 -0.164495103062 --0.193654544652 -0.164497684688 --0.174433160573 -0.181828252971 --0.155202664435 -0.181822739541 --0.137944396585 -0.181817848235 --0.120686808601 -0.181813623756 --0.103429475799 -0.181810043752 --0.0861726906151 -0.181807111949 --0.0689160292968 -0.181804828346 --0.0516597954556 -0.18180321902 --0.0344035653397 -0.181802250445 --0.0171476437245 -0.181801922619 -0.000108402222395 -0.18180224672 -0.0173642637674 -0.181803241372 -0.0346203744411 -0.1818048805 -0.0518764220178 -0.181807164103 -0.0691328430548 -0.181810095906 -0.0863893274218 -0.181813701987 -0.103646304458 -0.181817974895 -0.120903465897 -0.181822866201 -0.138161249459 -0.181828401983 -0.15541934222 -0.181831233203 -0.174640435726 -0.181828252971 -0.193863186985 -0.181822739541 -0.211121454835 -0.181817848235 -0.228379037231 -0.181813623756 -0.245636377484 -0.181810043752 -0.262893170118 -0.181807111949 -0.280149817467 -0.181804828346 -0.297406040132 -0.18180321902 -0.314662277699 -0.181802250445 -0.33191819489 -0.181801922619 -0.349174246192 -0.18180224672 -0.36643011123 -0.181803241372 -0.383686222136 -0.1818048805 -0.400942273438 -0.181807164103 -0.418198682368 -0.181810095906 -0.435455165804 -0.181813701987 -0.452712155878 -0.181817974895 -0.469969324767 -0.181822866201 -0.487227104604 -0.181828375906 -0.504485182464 -0.181831207126 -0.523706272244 -0.181828252971 -0.542929053306 -0.181822739541 -0.56018730998 -0.181817848235 -0.577444881201 -0.181813597679 -0.594702214003 -0.181810017675 -0.611958995462 -0.181807111949 -0.629215657711 -0.181804828346 -0.646471887827 -0.18180321902 -0.663728132844 -0.181802250445 -0.680984050035 -0.181801922619 -0.698240101337 -0.18180224672 -0.715495988726 -0.181803241372 -0.732752084732 -0.1818048805 -0.750008106232 -0.181807164103 -0.767264515162 -0.181810095906 -0.784521013499 -0.181813701987 -0.801778018475 -0.181817974895 -0.819035172462 -0.181822866201 -0.836292937398 -0.181828401983 -0.853551015258 -0.181831233203 -0.87277212739 -0.181828252971 -0.891994893551 -0.181822739541 -0.909253150225 -0.181817848235 -0.926510751247 -0.181813597679 -0.943768084049 -0.181810017675 -0.961024865508 -0.181807111949 -0.978281527758 -0.181804828346 -0.995537772774 -0.18180321902 -1.01279401779 -0.181802250445 -1.03004992008 -0.181801922619 -1.04730594158 -0.18180224672 -1.06456181407 -0.181803241372 -1.08181792498 -0.1818048805 -1.09907397628 -0.181807164103 -1.11633041501 -0.181810095906 -1.13358691335 -0.181813701987 -1.15084388852 -0.181817974895 -1.1681010127 -0.181822866201 -1.18535879254 -0.181828401983 -1.20261690021 -0.181831233203 -1.22183799744 -0.181828252971 -1.24106073379 -0.181822739541 -1.25831899047 -0.181817848235 -1.27557656169 -0.181813597679 -1.29283389449 -0.181810017675 -1.31009072065 -0.181807111949 -1.327347368 -0.181804828346 -1.34460356832 -0.18180321902 -1.36185982823 -0.181802250445 -1.37911576032 -0.181801922619 -1.39637181163 -0.18180224672 -1.41362768411 -0.181803241372 -1.43088379502 -0.1818048805 -1.44813981652 -0.181807164103 -1.46539622545 -0.181810095906 -1.48265272379 -0.181813701987 -1.49990969896 -0.181817974895 -1.51716688275 -0.181822866201 -1.53442469239 -0.181828401983 -1.55168277025 -0.181831233203 -1.57090383768 -0.181828252971 -1.59012657404 -0.181822739541 -1.60738486052 -0.181817848235 -1.62464246154 -0.181813597679 -1.64189979434 -0.181810017675 -1.6591565609 -0.181807111949 -1.67641320825 -0.181804828346 -1.69366946816 -0.18180321902 -1.71092569828 -0.181802250445 -1.72818163037 -0.181801922619 -1.74543765187 -0.18180224672 -1.76269349456 -0.181803241372 -1.77994963527 -0.1818048805 -1.79720568657 -0.181807164103 -1.8144620955 -0.181810095906 -1.83171859384 -0.181813701987 -1.84897556901 -0.181817974895 -1.86623269319 -0.181822866201 -1.88349047303 -0.181828401983 -1.90074858069 -0.181831233203 -1.91996967792 -0.181828252971 -1.93919241428 -0.181822739541 -1.95645067096 -0.181817848235 -1.97370830178 -0.181813623756 -1.99096566439 -0.181810043752 -2.00822246075 -0.181807111949 -2.0254791379 -0.181804828346 -2.04273533821 -0.18180321902 -2.05999153852 -0.181802250445 -2.07724744082 -0.181801922619 -2.09450352192 -0.18180224672 -2.11175942421 -0.181803241372 -2.12901550531 -0.1818048805 -2.14627152682 -0.181807164103 -2.16352790594 -0.181810095906 -2.18078440428 -0.181813701987 -2.19804137945 -0.181817974895 -2.21529853344 -0.181822866201 -2.23255634308 -0.181828375906 -2.24981445074 -0.181831207126 -2.26903551817 -0.181828252971 -2.28825825453 -0.181822739541 -2.305516541 -0.181817848235 -2.32277411222 -0.181813597679 -2.34003150463 -0.181810017675 -2.35728830099 -0.181807111949 -2.37454491854 -0.181804828346 -2.39180111885 -0.18180321902 -2.40905737877 -0.181802250445 -2.42631334066 -0.181801922619 -2.44356936216 -0.18180224672 -2.46082520485 -0.181803241372 -2.47808128595 -0.1818048805 -2.49533736706 -0.181807164103 -2.51259386539 -0.181810095906 -2.52985030413 -0.181813701987 -2.54710721969 -0.181817974895 -2.56436437368 -0.181822866201 -2.58162218332 -0.181828401983 -2.59888035059 -0.181831233203 -2.61810147762 -0.181828252971 -2.63732421398 -0.181822739541 -2.65458244085 -0.181817848235 -2.67184001207 -0.181813597679 -2.68909734487 -0.181810017675 -2.70635408163 -0.181807111949 -2.72361069918 -0.181804828346 -2.7408669591 -0.18180321902 -2.75812321901 -0.181802250445 -2.77537918091 -0.181801922619 -2.79263526201 -0.18180224672 -2.8098910451 -0.181803241372 -2.8271471262 -0.1818048805 -2.8444032073 -0.181807164103 -2.86165964604 -0.181810095906 -2.87891614437 -0.181813701987 -2.89617311954 -0.181817974895 -2.91343033314 -0.181822866201 -2.93068808318 -0.181828375906 -2.94794613123 -0.181831207126 -2.96716725826 -0.181828252971 -2.98638999462 -0.181822739541 -3.0036482811 -0.181817848235 -3.02090585232 -0.181813623756 -3.03816312552 -0.181810043752 -3.05541992188 -0.181807111949 -3.07267665863 -0.181804828346 -3.08993291855 -0.18180321902 -3.10718911887 -0.181802250445 -3.12444502116 -0.181801922619 --3.14148423274 -0.18180224672 --3.12422841787 -0.181803241372 --3.10697233677 -0.1818048805 --3.08971625566 -0.181807164103 --3.07245981693 -0.181810095906 --3.05520331859 -0.181813701987 --3.03794634342 -0.181817974895 --3.02068912983 -0.181822866201 --3.00343137979 -0.181828401983 --2.98617333174 -0.181831233203 --2.96695220471 -0.181828252971 --2.94772946835 -0.181822739541 --2.93047118187 -0.181817848235 --2.91321361065 -0.181813623756 --2.89595627785 -0.181810043752 --2.87869948149 -0.181807111949 --2.86144280434 -0.181804828346 --2.84418654442 -0.18180321902 --2.8269303441 -0.181802250445 --2.80967444181 -0.181801922619 --2.79241842032 -0.18180224672 --2.77516251802 -0.181803241372 --2.75790637731 -0.1818048805 --2.74065035582 -0.181807164103 --2.72339397669 -0.181810095906 --2.70613753796 -0.181813701987 --2.68888056279 -0.181817974895 --2.67162334919 -0.181822866201 --2.65436553955 -0.181828375906 --2.6371074915 -0.181831207126 --2.61788642407 -0.181828252971 --2.5986636281 -0.181822739541 --2.58140534163 -0.181817848235 --2.56414777041 -0.181813597679 --2.5468904376 -0.181810017675 --2.52963364124 -0.181807111949 --2.51237696409 -0.181804828346 --2.49512076378 -0.18180321902 --2.47786450386 -0.181802250445 --2.46060860157 -0.181801922619 --2.44335258007 -0.18180224672 --2.42609667778 -0.181803241372 --2.40884059667 -0.1818048805 --2.39158457518 -0.181807164103 --2.37432819605 -0.181810095906 --2.35707163811 -0.181813701987 --2.33981460333 -0.181817974895 --2.32255750894 -0.181822866201 --2.30529969931 -0.181828401983 --2.28804165125 -0.181831233203 --2.26882052422 -0.181828252971 --2.24959766865 -0.181822739541 --2.23233944178 -0.181817848235 --2.21508187056 -0.181813597679 --2.19782453776 -0.181810017675 --2.180567801 -0.181807111949 --2.16331118345 -0.181804828346 --2.14605492353 -0.18180321902 --2.12879866362 -0.181802250445 --2.11154276132 -0.181801922619 --2.09428668022 -0.18180224672 --2.07703083754 -0.181803241372 --2.05977475643 -0.1818048805 --2.04251867533 -0.181807164103 --2.0252622366 -0.181810095906 --2.00800576806 -0.181813701987 --1.99074882269 -0.181817974895 --1.9734916389 -0.181822866201 --1.95623382926 -0.181828401983 --1.9389757514 -0.181831233203 --1.91975468397 -0.181828252971 --1.90053191781 -0.181822739541 --1.88327363134 -0.181817848235 --1.86601606011 -0.181813597679 --1.84875872731 -0.181810017675 --1.83150193095 -0.181807111949 --1.8142452836 -0.181804828346 --1.79698905348 -0.18180321902 --1.77973282337 -0.181802250445 --1.76247689128 -0.181801922619 --1.74522086978 -0.18180224672 --1.72796502709 -0.181803241372 --1.71070888639 -0.1818048805 --1.69345283508 -0.181807164103 --1.67619642615 -0.181810095906 --1.65893992782 -0.181813701987 --1.64168292284 -0.181817974895 --1.62442576885 -0.181822866201 --1.60716801881 -0.181828401983 --1.58990994096 -0.181831233203 --1.57068884373 -0.181828252971 --1.55146607757 -0.181822739541 --1.53420782089 -0.181817848235 --1.51695021987 -0.181813597679 --1.49969285726 -0.181810017675 --1.48243609071 -0.181807111949 --1.46517941356 -0.181804828346 --1.44792318344 -0.18180321902 --1.43066698313 -0.181802250445 --1.41341108083 -0.181801922619 --1.39615502954 -0.18180224672 --1.37889912724 -0.181803241372 --1.36164301634 -0.1818048805 --1.34438696503 -0.181807164103 --1.3271305263 -0.181810095906 --1.30987408757 -0.181813701987 --1.2926171422 -0.181817974895 --1.27535995841 -0.181822866201 --1.25810214877 -0.181828401983 --1.24084404111 -0.181831233203 --1.22162294388 -0.181828252971 --1.20240020752 -0.181822739541 --1.18514195085 -0.181817848235 --1.16788437963 -0.181813623756 --1.15062704682 -0.181810043752 --1.13337025046 -0.181807111949 --1.11611360312 -0.181804828346 --1.098857373 -0.18180321902 --1.08160114288 -0.181802250445 --1.06434521079 -0.181801922619 --1.04708912969 -0.18180224672 --1.029833287 -0.181803241372 --1.01257717609 -0.1818048805 --0.995321109891 -0.181807164103 --0.978064715862 -0.181810095906 --0.960808232427 -0.181813701987 --0.943551257253 -0.181817974895 --0.926294103265 -0.181822866201 --0.909036308527 -0.181828375906 --0.891778200865 -0.181831207126 --0.872557103634 -0.181828252971 --0.853334352374 -0.181822739541 --0.836076095701 -0.181817848235 --0.81881852448 -0.181813597679 --0.801561176777 -0.181810017675 --0.784304380417 -0.181807111949 --0.767047718167 -0.181804828346 --0.749791488051 -0.18180321902 --0.732535287738 -0.181802250445 --0.715279355645 -0.181801922619 --0.698023274541 -0.18180224672 --0.680767431855 -0.181803241372 --0.66351133585 -0.1818048805 --0.646255284548 -0.181807164103 --0.628998860717 -0.181810095906 --0.611742377282 -0.181813701987 --0.594485402108 -0.181817974895 --0.577228233218 -0.181822866201 --0.55997043848 -0.181828401983 --0.542712345719 -0.181831233203 --0.52349126339 -0.181828252971 --0.504268527031 -0.181822739541 --0.487010262907 -0.181817848235 --0.469752661884 -0.181813597679 --0.452495321632 -0.181810017675 --0.435238532722 -0.181807111949 --0.417981863022 -0.181804828346 --0.400725640357 -0.18180321902 --0.383469425142 -0.181802250445 --0.3662135005 -0.181801922619 --0.348957449198 -0.18180224672 --0.331701591611 -0.181803241372 --0.314445480704 -0.1818048805 --0.297189414501 -0.181807164103 --0.27993299067 -0.181810095906 --0.262676529587 -0.181813701987 --0.245419558138 -0.181817974895 --0.228162381798 -0.181822866201 --0.210904594511 -0.181828375906 --0.19364650175 -0.181831207126 --0.174425408244 -0.199190545827 --0.155195247382 -0.199184518308 --0.13793694973 -0.199179172516 --0.120679328218 -0.199174553156 --0.103421960026 -0.199170645327 --0.0861651431769 -0.199167449027 --0.0689084492624 -0.199164982885 --0.0516521884128 -0.199163228273 --0.034395926632 -0.199162129313 --0.0171399717219 -0.19916178286 -0.00011610542424 -0.199162151664 -0.0173719979357 -0.199163228273 -0.0346281398088 -0.199165035039 -0.0518842218444 -0.19916754961 -0.0691406745463 -0.199170745909 -0.086397189647 -0.199174653739 -0.103654198349 -0.199179317802 -0.120911391452 -0.199184689671 -0.138169206679 -0.199190739542 -0.155427329242 -0.199193812907 -0.174648139626 -0.199190545827 -0.193870607764 -0.199184518308 -0.21112890169 -0.199179172516 -0.228386521339 -0.199174553156 -0.245643898844 -0.199170645327 -0.262900710106 -0.199167449027 -0.280157394707 -0.199164960533 -0.297413654626 -0.199163205922 -0.314669914544 -0.199162129313 -0.331925868988 -0.19916178286 -0.349181957543 -0.199162151664 -0.366437852383 -0.199163228273 -0.383693985641 -0.199165035039 -0.400950066745 -0.19916754961 -0.418206520379 -0.199170745909 -0.435463041067 -0.199174653739 -0.452720053494 -0.199179317802 -0.469977244735 -0.199184663594 -0.487235054374 -0.199190713465 -0.504493191839 -0.199193812907 -0.523714005947 -0.199190545827 -0.542936459183 -0.199184518308 -0.56019474566 -0.199179172516 -0.577452361584 -0.199174553156 -0.594709739089 -0.199170645327 -0.611966565251 -0.199167449027 -0.629223257303 -0.199164960533 -0.64647950232 -0.199163205922 -0.663735762238 -0.19916215539 -0.680991724133 -0.199161808937 -0.698247805238 -0.199162151664 -0.715503707528 -0.199163228273 -0.732759848237 -0.199165035039 -0.75001591444 -0.19916754961 -0.767272353172 -0.199170745909 -0.784528881312 -0.199174653739 -0.80178591609 -0.199179317802 -0.819043114782 -0.199184663594 -0.836300909519 -0.199190713465 -0.853559017181 -0.199193812907 -0.87277983129 -0.199190545827 -0.892002299428 -0.199184518308 -0.909260600805 -0.199179172516 -0.92651823163 -0.199174553156 -0.943775594235 -0.199170645327 -0.961032405496 -0.199167449027 -0.978289112449 -0.199164960533 -0.995545372368 -0.199163205922 -1.01280164719 -0.199162129313 -1.03005760908 -0.19916178286 -1.04731366038 -0.199162151664 -1.06456956267 -0.199163228273 -1.08182570338 -0.199165035039 -1.09908178449 -0.19916754961 -1.11633822322 -0.199170745909 -1.13359472155 -0.199174653739 -1.15085172653 -0.199179317802 -1.16810891032 -0.199184663594 -1.18536674976 -0.199190713465 -1.20262488723 -0.199193812907 -1.22184568644 -0.199190545827 -1.24106815457 -0.199184518308 -1.25832647085 -0.199179172516 -1.27558407187 -0.199174553156 -1.29284143448 -0.199170645327 -1.31009829045 -0.199167449027 -1.3273549676 -0.199164960533 -1.34461119771 -0.199163205922 -1.36186745762 -0.19916215539 -1.37912341952 -0.199161808937 -1.39637950062 -0.199162151664 -1.41363540292 -0.199163228273 -1.43089157343 -0.199165035039 -1.44814762473 -0.19916754961 -1.46540406346 -0.199170745909 -1.4826605916 -0.199174676091 -1.49991759658 -0.199179340154 -1.51717481017 -0.199184663594 -1.53443261981 -0.199190713465 -1.55169072747 -0.199193812907 -1.57091155648 -0.199190545827 -1.59013402462 -0.199184518308 -1.60739231109 -0.199179172516 -1.62464994192 -0.199174553156 -1.64190730453 -0.199170645327 -1.65916410088 -0.199167449027 -1.67642080784 -0.199164960533 -1.69367706776 -0.199163205922 -1.71093332767 -0.199162129313 -1.72818931937 -0.19916178286 -1.74544537067 -0.199162151664 -1.76270124316 -0.199163228273 -1.77995738387 -0.199165035039 -1.79721346498 -0.19916754961 -1.81446993351 -0.199170745909 -1.83172643185 -0.199174653739 -1.84898343682 -0.199179317802 -1.86624065041 -0.199184663594 -1.88349846005 -0.199190713465 -1.90075656772 -0.199193812907 -1.91997736692 -0.199190545827 -1.93919983506 -0.199184518308 -1.95645815134 -0.199179172516 -1.97371578217 -0.199174553156 -1.99097317457 -0.199170645327 -2.00822997093 -0.199167449027 -2.02548664809 -0.199164960533 -2.04274296761 -0.199163205922 -2.05999922752 -0.19916215539 -2.07725512981 -0.199161808937 -2.09451121092 -0.199162151664 -2.11176711321 -0.199163228273 -2.12902325392 -0.199165035039 -2.14627933502 -0.19916754961 -2.16353577375 -0.199170745909 -2.18079227209 -0.199174653739 -2.19804924726 -0.199179317802 -2.21530646086 -0.199184663594 -2.2325642705 -0.199190713465 -2.24982243776 -0.199193812907 -2.26904326677 -0.199190545827 -2.2882656455 -0.199184518308 -2.30552393198 -0.199179172516 -2.3227815628 -0.199174553156 -2.34003901481 -0.199170645327 -2.35729587078 -0.199167449027 -2.37455248833 -0.199164960533 -2.39180874824 -0.199163205922 -2.40906506777 -0.199162129313 -2.42632097006 -0.19916178286 -2.44357699156 -0.199162151664 -2.46083289385 -0.199163228273 -2.47808903456 -0.199165035039 -2.49534517527 -0.19916754961 -2.5126016736 -0.199170745909 -2.52985811233 -0.199174653739 -2.54711508751 -0.199179317802 -2.5643723011 -0.199184663594 -2.58163017034 -0.199190713465 -2.59888833761 -0.199193812907 -2.61810910702 -0.199190545827 -2.63733160496 -0.199184518308 -2.65458995104 -0.199179172516 -2.67184752226 -0.199174553156 -2.68910485506 -0.199170645327 -2.70636165142 -0.199167449027 -2.72361832857 -0.199164960533 -2.74087458849 -0.199163205922 -2.75813084841 -0.199162129313 -2.77538686991 -0.19916178286 -2.79264295101 -0.199162151664 -2.8098987937 -0.199163228273 -2.8271548748 -0.199165035039 -2.84441095591 -0.19916754961 -2.86166745424 -0.199170745909 -2.87892401218 -0.199174653739 -2.89618104696 -0.199179317802 -2.91343826056 -0.199184689671 -2.9306960702 -0.199190739542 -2.94795411825 -0.199193812907 -2.96717494726 -0.199190545827 -2.9863974452 -0.199184518308 -3.00365573168 -0.199179172516 -3.0209133625 -0.199174553156 -3.0381706953 -0.199170645327 -3.05542749166 -0.199167449027 -3.07268422842 -0.199164982885 -3.08994048834 -0.199163228273 -3.10719674826 -0.199162129313 -3.12445271015 -0.19916178286 --3.14147654374 -0.199162151664 --3.12422066927 -0.199163228273 --3.10696452856 -0.199165035039 --3.08970844746 -0.19916754961 --3.07245200873 -0.199170745909 --3.05519545078 -0.199174653739 --3.037938416 -0.199179317802 --3.02068120241 -0.199184689671 --3.00342339277 -0.199190739542 --2.98616534471 -0.199193812907 --2.9669445157 -0.199190545827 --2.94772201776 -0.199184518308 --2.93046373129 -0.199179172516 --2.91320610046 -0.199174553156 --2.89594876766 -0.199170645327 --2.8786919713 -0.199167449027 --2.86143523455 -0.199164960533 --2.84417897463 -0.199163205922 --2.82692271471 -0.199162129313 --2.80966675282 -0.19916178286 --2.79241067171 -0.199162151664 --2.77515476942 -0.199163228273 --2.75789862871 -0.199165035039 --2.74064254761 -0.19916754961 --2.72338610888 -0.199170745909 --2.70612961054 -0.199174653739 --2.68887263537 -0.199179317802 --2.67161542177 -0.199184663594 --2.65435761213 -0.199190713465 --2.63709950447 -0.199193812907 --2.61787867546 -0.199190545827 --2.59865623712 -0.199184518308 --2.58139795065 -0.199179172516 --2.56414026022 -0.199174553156 --2.54688286781 -0.199170645327 --2.52962607145 -0.199167449027 --2.5123693943 -0.199164960533 --2.49511313438 -0.199163205922 --2.47785687447 -0.19916215539 --2.46060097218 -0.199161808937 --2.44334489107 -0.199162151664 --2.42608898878 -0.199163228273 --2.40883284807 -0.199165035039 --2.39157676697 -0.19916754961 --2.37432032824 -0.199170745909 --2.35706377029 -0.199174653739 --2.33980673551 -0.199179317802 --2.32254958153 -0.199184663594 --2.30529177189 -0.199190713465 --2.28803366423 -0.199193812907 --2.26881283522 -0.199190545827 --2.24959033728 -0.199184518308 --2.2323320508 -0.199179172516 --2.21507441998 -0.199174553156 --2.19781702757 -0.199170645327 --2.18056023121 -0.199167449027 --2.16330355406 -0.199164960533 --2.14604729414 -0.199163205922 --2.12879103422 -0.199162129313 --2.11153507233 -0.19916178286 --2.09427899122 -0.199162151664 --2.07702308893 -0.199163228273 --2.05976700783 -0.199165035039 --2.04251092672 -0.19916754961 --2.02525442839 -0.199170745909 --2.00799793005 -0.199174653739 --1.99074092508 -0.199179317802 --1.97348371148 -0.199184663594 --1.95622587204 -0.199190713465 --1.93896773458 -0.199193812907 --1.91974693537 -0.199190545827 --1.90052446723 -0.199184518308 --1.88326618076 -0.199179172516 --1.86600857973 -0.199174553156 --1.84875121713 -0.199170645327 --1.83149442077 -0.199167449027 --1.81423771381 -0.199164960533 --1.79698142409 -0.199163205922 --1.77972516418 -0.19916215539 --1.76246920228 -0.199161808937 --1.74521315098 -0.199162151664 --1.72795727849 -0.199163228273 --1.71070113778 -0.199165035039 --1.69344505668 -0.19916754961 --1.67618858814 -0.199170745909 --1.65893206 -0.199174676091 --1.64167502522 -0.199179340154 --1.62441784143 -0.199184663594 --1.6071600616 -0.199190713465 --1.58990195394 -0.199193812907 --1.57068112492 -0.199190545827 --1.55145865679 -0.199184518308 --1.53420037031 -0.199179172516 --1.51694273949 -0.199174553156 --1.49968534708 -0.199170645327 --1.48242852092 -0.199167449027 --1.46517184377 -0.199164960533 --1.44791558385 -0.199163205922 --1.43065932393 -0.199162129313 --1.41340339184 -0.19916178286 --1.39614731073 -0.199162151664 --1.37889140844 -0.199163228273 --1.36163526773 -0.199165035039 --1.34437915683 -0.19916754961 --1.32712268829 -0.199170745909 --1.30986621976 -0.199174653739 --1.29260924458 -0.199179317802 --1.27535203099 -0.199184663594 --1.25809419155 -0.199190713465 --1.24083605409 -0.199193812907 --1.22161525488 -0.199190545827 --1.20239278674 -0.199184518308 --1.18513450027 -0.199179172516 --1.16787689924 -0.199174553156 --1.15061953664 -0.199170645327 --1.13336271048 -0.199167449027 --1.11610600353 -0.199164960533 --1.0988497436 -0.199163205922 --1.08159348368 -0.19916215539 --1.06433752179 -0.199161808937 --1.04708144068 -0.199162151664 --1.0298255682 -0.199163228273 --1.01256939769 -0.199165035039 --0.995313301683 -0.19916754961 --0.978056877852 -0.199170745909 --0.960800364613 -0.199174653739 --0.943543374538 -0.199179317802 --0.926286175847 -0.199184663594 --0.909028336406 -0.199190713465 --0.891770198941 -0.199193812907 --0.872549399733 -0.199190545827 --0.853326946497 -0.199184518308 --0.83606864512 -0.199179172516 --0.818811044097 -0.199174553156 --0.801553666592 -0.199170645327 --0.784296840429 -0.199167449027 --0.767040148377 -0.199164960533 --0.749783873558 -0.199163205922 --0.732527643442 -0.199162129313 --0.715271696448 -0.19916178286 --0.698015585542 -0.199162151664 --0.680759698153 -0.199163228273 --0.663503557444 -0.199165035039 --0.646247461438 -0.19916754961 --0.628991022706 -0.199170745909 --0.611734524369 -0.199174653739 --0.594477504492 -0.199179317802 --0.5772203058 -0.199184663594 --0.55996248126 -0.199190713465 --0.542704358697 -0.199193812907 --0.523483559489 -0.199190545827 --0.504261098802 -0.199184518308 --0.487002804875 -0.199179172516 --0.46974517405 -0.199174553156 --0.452487803996 -0.199170645327 --0.435230985284 -0.199167449027 --0.417974293232 -0.199164960533 --0.400718040765 -0.199163205922 --0.383461773395 -0.199162129313 --0.366205811501 -0.19916178286 --0.348949737847 -0.199162151664 --0.331693850458 -0.199163228273 --0.314437709749 -0.199165035039 --0.297181621194 -0.19916754961 --0.279925167561 -0.199170745909 --0.262668661773 -0.199174653739 --0.245411656797 -0.199179317802 --0.228154458106 -0.199184689671 --0.210896644741 -0.199190739542 --0.193638522178 -0.199193812907 --0.174417711794 -0.216554418206 --0.15518803522 -0.216547891498 --0.137929715216 -0.216542087495 --0.120672060177 -0.216537069529 --0.103414652869 -0.216532848776 --0.0861578080803 -0.216529395431 --0.0689010852948 -0.216526705772 --0.0516447927803 -0.216524787247 --0.0343885011971 -0.216523610055 --0.0171325162519 -0.216523222625 -0.000123591860755 -0.21652360633 -0.017379514873 -0.216524783522 -0.0346356881782 -0.216526754201 -0.0518918000161 -0.216529466212 -0.0691482806578 -0.216532941908 -0.086404826492 -0.216537188739 -0.103661868721 -0.216542229056 -0.12091909349 -0.216548059136 -0.138176940381 -0.216554630548 -0.155435100198 -0.216557968408 -0.17465563491 -0.216554418206 -0.193877819926 -0.216547891498 -0.21113614738 -0.216542087495 -0.228393796831 -0.216537069529 -0.245651192963 -0.216532848776 -0.262908034027 -0.216529395431 -0.280164763331 -0.21652668342 -0.297421060503 -0.216524764895 -0.314677357674 -0.216523610055 -0.331933341921 -0.216523244977 -0.349189437926 -0.216523628682 -0.366445370019 -0.216524783522 -0.38370154053 -0.216526754201 -0.400957651436 -0.216529466212 -0.418214134872 -0.216532941908 -0.435470685363 -0.21653721109 -0.452727727592 -0.216542251408 -0.469984941185 -0.216548033059 -0.487242795527 -0.216554604471 -0.504500970245 -0.216557968408 -0.523721501231 -0.216554418206 -0.542943671346 -0.216547865421 -0.560201987624 -0.21654208377 -0.57745963335 -0.216537091881 -0.594717055559 -0.216532848776 -0.611973911524 -0.216529395431 -0.629230618477 -0.21652668342 -0.646486908197 -0.216524764895 -0.663743197918 -0.216523636132 -0.680999189615 -0.216523271054 -0.698255300522 -0.216523628682 -0.715511217713 -0.216524783522 -0.732767388224 -0.216526754201 -0.75002348423 -0.216529466212 -0.767279967665 -0.216532941908 -0.784536525607 -0.21653721109 -0.801793575287 -0.216542251408 -0.819050818682 -0.216548033059 -0.836308643222 -0.216554604471 -0.853566795588 -0.216557968408 -0.872787356377 -0.216554418206 -0.89200951159 -0.216547865421 -0.909267827868 -0.21654208377 -0.926525488496 -0.216537091881 -0.943782895803 -0.216532848776 -0.961039751768 -0.216529395431 -0.978296458721 -0.21652668342 -0.995552718641 -0.216524764895 -1.01280903816 -0.216523610055 -1.03006505966 -0.216523244977 -1.04732114076 -0.216523628682 -1.06457707286 -0.216524783522 -1.08183324337 -0.216526754201 -1.09908935428 -0.216529488563 -1.11634582281 -0.216532964259 -1.13360235095 -0.216537188739 -1.15085938573 -0.216542229056 -1.16811659932 -0.216548033059 -1.18537446857 -0.216554604471 -1.20263263583 -0.216557968408 -1.22185316682 -0.216554418206 -1.24107536674 -0.216547865421 -1.25833371282 -0.21654208377 -1.27559134364 -0.216537091881 -1.29284873605 -0.216532848776 -1.31010562182 -0.216529395431 -1.32736232877 -0.21652668342 -1.34461858869 -0.216524764895 -1.36187487841 -0.216523636132 -1.3791308701 -0.216523271054 -1.39638698101 -0.216523628682 -1.4136429131 -0.216524783522 -1.43089911342 -0.216526754201 -1.44815519452 -0.216529488563 -1.46541166306 -0.216532964259 -1.482668221 -0.21653721109 -1.49992525578 -0.216542251408 -1.51718249917 -0.216548033059 -1.53444033861 -0.216554604471 -1.55169847608 -0.216557968408 -1.57091903687 -0.216554418206 -1.59014126658 -0.216547865421 -1.60739958286 -0.21654208377 -1.62465721369 -0.216537091881 -1.64191460609 -0.216532848776 -1.65917143225 -0.216529395431 -1.67642816901 -0.21652668342 -1.69368445873 -0.216524764895 -1.71094074845 -0.216523610055 -1.72819676995 -0.216523244977 -1.74545285106 -0.216523628682 -1.76270875335 -0.216524783522 -1.77996492386 -0.216526754201 -1.79722103476 -0.216529488563 -1.8144775331 -0.216532964259 -1.83173406124 -0.21653721109 -1.84899112583 -0.216542251408 -1.86624839902 -0.216548033059 -1.88350620866 -0.216554626823 -1.90076434612 -0.21655799076 -1.91998487711 -0.216554418206 -1.93920704723 -0.216547865421 -1.95646539331 -0.21654208377 -1.97372305393 -0.216537091881 -1.99098047614 -0.216532848776 -2.0082373023 -0.216529395431 -2.02549397946 -0.21652668342 -2.04275029898 -0.216524764895 -2.0600066185 -0.216523636132 -2.07726258039 -0.216523271054 -2.09451872111 -0.216523628682 -2.1117746234 -0.216524783522 -2.1290307641 -0.216526754201 -2.14628690481 -0.216529466212 -2.16354340315 -0.216532941908 -2.18079996109 -0.216537188739 -2.19805699587 -0.216542229056 -2.21531420946 -0.216548033059 -2.2325720191 -0.216554604471 -2.24983018637 -0.216557968408 -2.26905077696 -0.216554418206 -2.28827291727 -0.216547865421 -2.30553120375 -0.21654208377 -2.32278889418 -0.216537091881 -2.34004634619 -0.216532848776 -2.35730320215 -0.216529395431 -2.3745598793 -0.21652668342 -2.39181619882 -0.216524764895 -2.40907251835 -0.216523610055 -2.42632842064 -0.216523244977 -2.44358450174 -0.216523628682 -2.46084046364 -0.216524783522 -2.47809660434 -0.216526754201 -2.49535274505 -0.216529466212 -2.51260924339 -0.216532941908 -2.52986574173 -0.21653721109 -2.54712277651 -0.216542251408 -2.5643799901 -0.216548033059 -2.58163785934 -0.216554626823 -2.59889602661 -0.21655799076 -2.6181165576 -0.216554418206 -2.63733881712 -0.216547865421 -2.6545971632 -0.21654208377 -2.67185473442 -0.216537091881 -2.68911212683 -0.216532848776 -2.70636898279 -0.216529395431 -2.72362571955 -0.21652668342 -2.74088203907 -0.216524764895 -2.75813829899 -0.216523610055 -2.77539432049 -0.216523244977 -2.79265040159 -0.216523628682 -2.80990630388 -0.216524783522 -2.82716250419 -0.216526754201 -2.8444185853 -0.216529466212 -2.86167508364 -0.216532941908 -2.87893164158 -0.21653721109 -2.89618867636 -0.216542251408 -2.91344594956 -0.216548059136 -2.9307038188 -0.216554630548 -2.94796192646 -0.216557968408 -2.96718245745 -0.216554418206 -2.98640465737 -0.216547891498 -3.00366294384 -0.216542087495 -3.02092063427 -0.216537069529 -3.03817802667 -0.216532848776 -3.05543482304 -0.216529395431 -3.07269155979 -0.216526705772 -3.08994781971 -0.216524787247 -3.10720413923 -0.216523610055 -3.12446016073 -0.216523222625 --3.14146909316 -0.21652360633 --3.12421315909 -0.216524783522 --3.10695689917 -0.216526754201 --3.08970081806 -0.216529466212 --3.07244443893 -0.216532941908 --3.05518788099 -0.216537188739 --3.03793078661 -0.216542229056 --3.02067351341 -0.216548059136 --3.00341564417 -0.216554630548 --2.9861575365 -0.216557968408 --2.96693700552 -0.216554418206 --2.9477148056 -0.216547891498 --2.93045645952 -0.216542087495 --2.91319876909 -0.216537069529 --2.89594143629 -0.216532848776 --2.87868463993 -0.216529395431 --2.86142790318 -0.21652668342 --2.84417164326 -0.216524764895 --2.82691532373 -0.216523610055 --2.80965930224 -0.216523244977 --2.79240322113 -0.216523628682 --2.77514731884 -0.216524783522 --2.75789111853 -0.216526754201 --2.74063497782 -0.216529466212 --2.72337847948 -0.216532941908 --2.70612192154 -0.21653721109 --2.68886488676 -0.216542251408 --2.67160767317 -0.216548033059 --2.65434986353 -0.216554604471 --2.63709169626 -0.216557968408 --2.61787116527 -0.216554418206 --2.59864902496 -0.216547865421 --2.58139067888 -0.21654208377 --2.56413298845 -0.216537091881 --2.54687553644 -0.216532848776 --2.52961868048 -0.216529395431 --2.51236206293 -0.21652668342 --2.49510574341 -0.216524764895 --2.47784942388 -0.216523636132 --2.4605935216 -0.216523271054 --2.44333738089 -0.216523628682 --2.42608141899 -0.216524783522 --2.40882527828 -0.216526754201 --2.39156919718 -0.216529466212 --2.37431269884 -0.216532941908 --2.3570561409 -0.21653721109 --2.33979910612 -0.216542251408 --2.32254189253 -0.216548033059 --2.30528408289 -0.216554604471 --2.28802591562 -0.216557968408 --2.26880532503 -0.216554418206 --2.24958318472 -0.216547865421 --2.23232489824 -0.21654208377 --2.21506720781 -0.216537091881 --2.1978097558 -0.216532848776 --2.18055289984 -0.216529395431 --2.16329616308 -0.21652668342 --2.14603984356 -0.216524764895 --2.12878358364 -0.216523610055 --2.11152756214 -0.216523244977 --2.09427148104 -0.216523628682 --2.07701557875 -0.216524783522 --2.05975943804 -0.216526754201 --2.04250335693 -0.216529488563 --2.0252468586 -0.216532964259 --2.00799030065 -0.216537188739 --1.99073323608 -0.216542229056 --1.97347602248 -0.216548033059 --1.95621815324 -0.216554604471 --1.93895998597 -0.216557968408 --1.91973945498 -0.216554418206 --1.90051725507 -0.216547865421 --1.88325893879 -0.21654208377 --1.86600130796 -0.216537091881 --1.84874391556 -0.216532848776 --1.83148708939 -0.216529395431 --1.81423035264 -0.21652668342 --1.79697403312 -0.216524764895 --1.7797177434 -0.216523636132 --1.7624617517 -0.216523271054 --1.74520564079 -0.216523628682 --1.7279497385 -0.216524783522 --1.71069359779 -0.216526754201 --1.69343748689 -0.216529488563 --1.67618098855 -0.216532964259 --1.65892443061 -0.21653721109 --1.64166736603 -0.216542251408 --1.62441012263 -0.216548033059 --1.60715228319 -0.216554604471 --1.58989414573 -0.216557968408 --1.57067361474 -0.216554418206 --1.55145144463 -0.216547865421 --1.53419312835 -0.21654208377 --1.51693546772 -0.216537091881 --1.49967804551 -0.216532848776 --1.48242118955 -0.216529395431 --1.4651644826 -0.21652668342 --1.44790819287 -0.216524764895 --1.43065190315 -0.216523610055 --1.41339594126 -0.216523244977 --1.39613983035 -0.216523628682 --1.37888389826 -0.216524783522 --1.36162772775 -0.216526754201 --1.34437158704 -0.216529488563 --1.3271150887 -0.216532964259 --1.30985856056 -0.21653721109 --1.29260155559 -0.216542251408 --1.27534434199 -0.216548033059 --1.25808647275 -0.216554626823 --1.24082830549 -0.21655799076 --1.22160777449 -0.216554418206 --1.20238557458 -0.216547865421 --1.1851272583 -0.21654208377 --1.16786962748 -0.216537091881 --1.15061223507 -0.216532848776 --1.1333553493 -0.216529395431 --1.11609861255 -0.21652668342 --1.09884235263 -0.216524764895 --1.08158606291 -0.216523636132 --1.06433007121 -0.216523271054 --1.04707396031 -0.216523628682 --1.02981802821 -0.216524783522 --1.0125618279 -0.216526754201 --0.995305716993 -0.216529466212 --0.978049263358 -0.216532941908 --0.960792720318 -0.216537188739 --0.943535685539 -0.216542229056 --0.926278457046 -0.216548033059 --0.909020587802 -0.216554604471 --0.891762435436 -0.216557968408 --0.872541904449 -0.216554418206 --0.853319719434 -0.216547865421 --0.836061403155 -0.21654208377 --0.818803757429 -0.216537091881 --0.801546350121 -0.216532848776 --0.784289509058 -0.216529395431 --0.767032787204 -0.21652668342 --0.749776482582 -0.216524764895 --0.732520207762 -0.216523610055 --0.715264230966 -0.216523244977 --0.69800812006 -0.216523628682 --0.680752202869 -0.216524783522 --0.663496017456 -0.216526754201 --0.646239891648 -0.216529466212 --0.628983423113 -0.216532941908 --0.611726880073 -0.21653721109 --0.594469830394 -0.216542251408 --0.5772126019 -0.216548033059 --0.559954747558 -0.216554626823 --0.542696595192 -0.21655799076 --0.523476064205 -0.216554418206 --0.50425387919 -0.216547865421 --0.48699555546 -0.21654208377 --0.469737902283 -0.216537091881 --0.452480502427 -0.216532848776 --0.435223661363 -0.216529395431 --0.417966939509 -0.21652668342 --0.400710642338 -0.216524764895 --0.383454345167 -0.216523610055 --0.36619835347 -0.216523244977 --0.348942250013 -0.216523628682 --0.331686332822 -0.216524783522 --0.314430162311 -0.216526754201 --0.297174051404 -0.216529466212 --0.279917567968 -0.216532941908 --0.262661024928 -0.21653721109 --0.245403982699 -0.216542251408 --0.228146754205 -0.216548059136 --0.210888914764 -0.216554630548 --0.193630758673 -0.216557968408 --0.174410220235 -0.23390013352 --0.155180841684 -0.233893107623 --0.137922488153 -0.233886860311 --0.120664805174 -0.233881436288 --0.103407371789 -0.233876887709 --0.0861504953355 -0.233873184771 --0.0688937427476 -0.233870260418 --0.0516374185681 -0.233868185431 --0.0343810971826 -0.233866956085 --0.0171250824351 -0.233866531402 -0.000131056411192 -0.233866933733 -0.0173870101571 -0.233868207783 -0.0346432123333 -0.233870331198 -0.0518993530422 -0.233873255551 -0.0691558653489 -0.233877003193 -0.0864124428481 -0.233881577849 -0.103669516742 -0.233887001872 -0.120926775038 -0.233893271536 -0.138184655458 -0.233900342137 -0.155442841351 -0.233903951943 -0.174663104117 -0.23390013352 -0.193885017186 -0.233893107623 -0.211143370718 -0.233886860311 -0.228401042521 -0.233881436288 -0.24565846473 -0.233876887709 -0.262915343046 -0.233873184771 -0.280172102154 -0.233870260418 -0.297428436577 -0.233868185431 -0.314684771001 -0.233866956085 -0.3319407776 -0.233866553753 -0.349196903407 -0.233866956085 -0.366452865302 -0.233868207783 -0.383709065616 -0.233870331198 -0.400965206325 -0.233873255551 -0.418221719563 -0.233877003193 -0.435478299856 -0.233881622553 -0.452735379338 -0.233887046576 -0.469992630184 -0.233893271536 -0.487250499428 -0.233900342137 -0.504508689046 -0.233903951943 -0.523728951812 -0.23390013352 -0.542950868607 -0.233893081546 -0.560209214687 -0.233886856586 -0.577466890216 -0.23388145864 -0.594724342227 -0.233876887709 -0.611981227994 -0.233873184771 -0.629237964749 -0.233870282769 -0.646494284272 -0.233868207782 -0.663750618696 -0.233866956085 -0.681006640196 -0.233866553753 -0.698262795806 -0.233866956085 -0.7155187428 -0.233868207783 -0.732774913311 -0.233870331198 -0.750031039119 -0.233873255551 -0.767287552357 -0.233877003193 -0.7845441401 -0.233881600201 -0.801801219582 -0.233887024224 -0.819058477878 -0.233893271536 -0.836316347122 -0.233900342137 -0.85357452929 -0.233903951943 -0.872794821858 -0.23390013352 -0.892016723752 -0.233893081546 -0.909275069833 -0.233886856586 -0.926532745361 -0.23388145864 -0.94379016757 -0.233876887709 -0.961047053337 -0.233873184771 -0.978303790093 -0.233870260418 -0.995560094714 -0.233868185431 -1.01281642914 -0.233866956085 -1.03007245064 -0.233866553753 -1.04732856155 -0.233866956085 -1.06458455324 -0.233868207783 -1.08184078336 -0.233870331198 -1.09909692407 -0.233873277902 -1.11635342241 -0.233877025544 -1.13360998035 -0.233881600201 -1.15086704493 -0.233887024224 -1.16812428832 -0.233893271536 -1.18538218737 -0.233900342137 -1.20264038444 -0.233903951943 -1.2218606472 -0.23390013352 -1.2410825789 -0.233893081546 -1.25834092498 -0.233886856586 -1.27559858561 -0.23388145864 -1.29285600781 -0.233876887709 -1.31011289358 -0.233873184771 -1.32736963034 -0.233870260418 -1.34462594986 -0.233868185431 -1.36188229918 -0.233866956085 -1.37913832069 -0.233866553753 -1.39639446139 -0.233866956085 -1.41365042329 -0.233868207783 -1.4309066236 -0.233870331198 -1.44816273451 -0.233873277902 -1.46541926265 -0.233877025544 -1.48267585039 -0.233881577849 -1.49993291497 -0.233887001872 -1.51719018817 -0.233893271536 -1.53444805741 -0.233900342137 -1.55170622468 -0.233903951943 -1.57092648745 -0.23390013352 -1.59014841914 -0.233893081546 -1.60740679502 -0.233886856586 -1.62466445565 -0.23388145864 -1.64192187786 -0.233876887709 -1.65917876362 -0.233873184771 -1.67643550038 -0.233870260418 -1.69369181991 -0.233868185431 -1.71094813943 -0.233866956085 -1.72820416093 -0.233866553753 -1.74546030164 -0.233866956085 -1.76271626353 -0.233868207783 -1.77997246385 -0.233870331198 -1.79722860455 -0.233873277902 -1.8144851327 -0.233877025544 -1.83174169064 -0.233881622553 -1.84899875522 -0.233887046576 -1.86625602841 -0.233893271536 -1.88351389765 -0.233900364488 -1.90077209473 -0.233903974295 -1.91999235749 -0.23390013352 -1.93921425939 -0.233893081546 -1.95647260547 -0.233886856586 -1.9737302959 -0.23388145864 -1.99098774791 -0.233876887709 -2.00824460387 -0.233873184771 -2.02550131082 -0.233870282769 -2.04275763035 -0.233868207782 -2.06001400948 -0.233866956085 -2.07727003098 -0.233866553753 -2.09452617169 -0.233866956085 -2.11178213358 -0.233868207783 -2.12903833389 -0.233870331198 -2.1462944746 -0.233873255551 -2.16355097294 -0.233877003193 -2.18080759049 -0.233881577849 -2.19806468487 -0.233887001872 -2.21532189846 -0.233893271536 -2.2325797677 -0.233900342137 -2.24983793497 -0.233903951943 -2.26905822754 -0.23390013352 -2.28828012943 -0.233893081546 -2.30553841591 -0.233886856586 -2.32279610634 -0.23388145864 -2.34005355835 -0.233876887709 -2.35731047392 -0.233873184771 -2.37456727028 -0.233870282769 -2.3918235898 -0.233868207782 -2.40907984972 -0.233866956085 -2.42633581162 -0.233866553753 -2.44359195233 -0.233866956085 -2.46084797382 -0.233868207783 -2.47810417413 -0.233870331198 -2.49536031484 -0.233873255551 -2.51261681318 -0.233877003193 -2.52987337113 -0.233881622553 -2.54713046551 -0.233887046576 -2.5643876791 -0.233893271536 -2.58164554834 -0.233900364488 -2.59890377521 -0.233903974295 -2.61812406778 -0.23390013352 -2.63734602928 -0.233893081546 -2.65460437536 -0.233886856586 -2.67186200619 -0.23388145864 -2.6891194582 -0.233876887709 -2.70637631416 -0.233873184771 -2.72363305092 -0.233870260418 -2.74088943004 -0.233868185431 -2.75814574957 -0.233866956085 -2.77540177107 -0.233866553753 -2.79265791178 -0.233866956085 -2.80991381407 -0.233868207783 -2.82717001438 -0.233870331198 -2.84442615509 -0.233873255551 -2.86168271303 -0.233877003193 -2.87893927097 -0.233881600201 -2.89619630575 -0.233887024224 -2.91345363855 -0.233893271536 -2.9307115078 -0.233900342137 -2.94796967506 -0.233903951943 -2.96718990803 -0.23390013352 -2.98641180992 -0.233893107623 -3.003670156 -0.233886860311 -3.02092784643 -0.233881436288 -3.03818529844 -0.233876887709 -3.05544215441 -0.233873184771 -3.07269889116 -0.233870260418 -3.08995521068 -0.233868185431 -3.10721158981 -0.233866956085 -3.12446761132 -0.233866531402 --3.14146158297 -0.233866933733 --3.1242056489 -0.233868207783 --3.10694944859 -0.233870331198 --3.08969330787 -0.233873255551 --3.07243680954 -0.233877003193 --3.0551802516 -0.233881577849 --3.03792315722 -0.233887001872 --3.02066582441 -0.233893271536 --3.00340795517 -0.233900342137 --2.9861497879 -0.233903951943 --2.96692955494 -0.23390013352 --2.94770765305 -0.233893107623 --2.93044924736 -0.233886860311 --2.91319155693 -0.233881436288 --2.89593416452 -0.233876887709 --2.87867730856 -0.233873184771 --2.86142057181 -0.233870260418 --2.84416425228 -0.233868185431 --2.82690787315 -0.233866956085 --2.80965185165 -0.233866553753 --2.79239577055 -0.233866956085 --2.77513986826 -0.233868207783 --2.75788360834 -0.233870331198 --2.74062740803 -0.233873255551 --2.72337090969 -0.233877003193 --2.70611435175 -0.233881622553 --2.68885725737 -0.233887046576 --2.67159998417 -0.233893271536 --2.65434217453 -0.233900342137 --2.63708400726 -0.233903951943 --2.61786371469 -0.23390013352 --2.5986418128 -0.233893081546 --2.58138346672 -0.233886856586 --2.56412577629 -0.23388145864 --2.54686832428 -0.233876887709 --2.52961140871 -0.233873184771 --2.51235467196 -0.233870282769 --2.49509835243 -0.233868207782 --2.47784203291 -0.233866956085 --2.46058607101 -0.233866553753 --2.4433298707 -0.233866956085 --2.4260738492 -0.233868207783 --2.40881770849 -0.233870331198 --2.39156162739 -0.233873255551 --2.37430512905 -0.233877003193 --2.3570485115 -0.233881600201 --2.33979141712 -0.233887024224 --2.32253420353 -0.233893271536 --2.30527633429 -0.233900342137 --2.28801816702 -0.233903951943 --2.26879787445 -0.23390013352 --2.24957597256 -0.233893081546 --2.23231762647 -0.233886856586 --2.21505993604 -0.23388145864 --2.19780248403 -0.233876887709 --2.18054556847 -0.233873184771 --2.16328883171 -0.233870260418 --2.14603251219 -0.233868185431 --2.12877619266 -0.233866956085 --2.11152011156 -0.233866553753 --2.09426397085 -0.233866956085 --2.07700806856 -0.233868207783 --2.05975192786 -0.233870331198 --2.04249578714 -0.233873277902 --2.0252392292 -0.233877025544 --2.00798264146 -0.233881600201 --1.99072557688 -0.233887024224 --1.97346833349 -0.233893271536 --1.95621046424 -0.233900342137 --1.93895229697 -0.233903951943 --1.9197320044 -0.23390013352 --1.90051007271 -0.233893081546 --1.88325172663 -0.233886856586 --1.865994066 -0.23388145864 --1.84873664379 -0.233876887709 --1.83147975802 -0.233873184771 --1.81422302127 -0.233870260418 --1.79696670175 -0.233868185431 --1.77971035242 -0.233866956085 --1.76245430112 -0.233866553753 --1.74519816041 -0.233866956085 --1.72794222832 -0.233868207783 --1.71068605781 -0.233870331198 --1.6934299171 -0.233873277902 --1.67617338896 -0.233877025544 --1.65891680121 -0.233881577849 --1.64165970683 -0.233887001872 --1.62440243364 -0.233893271536 --1.60714456439 -0.233900342137 --1.58988639712 -0.233903951943 --1.57066616416 -0.23390013352 --1.55144426226 -0.233893081546 --1.53418591618 -0.233886856586 --1.51692822576 -0.23388145864 --1.49967077375 -0.233876887709 --1.48241388798 -0.233873184771 --1.46515712142 -0.233870260418 --1.4479008019 -0.233868185431 --1.43064451217 -0.233866956085 --1.41338852048 -0.233866553753 --1.39613237977 -0.233866956085 --1.37887641787 -0.233868207783 --1.36162018776 -0.233870331198 --1.34436401725 -0.233873277902 --1.32710751891 -0.233877025544 --1.30985096097 -0.233881622553 --1.29259389639 -0.233887046576 --1.27533665299 -0.233893271536 --1.25807878375 -0.233900364488 --1.24082058668 -0.233903974295 --1.22160029411 -0.23390013352 --1.20237836242 -0.233893081546 --1.18512001633 -0.233886856586 --1.16786235571 -0.23388145864 --1.1506049335 -0.233876887709 --1.13334804773 -0.233873184771 --1.11609131098 -0.233870282769 --1.09883499145 -0.233868207782 --1.08157864213 -0.233866956085 --1.06432262063 -0.233866553753 --1.04706647992 -0.233866956085 --1.02981051803 -0.233868207783 --1.01255431771 -0.233870331198 --0.995298191905 -0.233873255551 --0.978041678667 -0.233877003193 --0.960785090924 -0.233881577849 --0.943528026342 -0.233887001872 --0.926270768047 -0.233893271536 --0.909012883902 -0.233900342137 --0.891754716635 -0.233903951943 --0.872534453869 -0.23390013352 --0.853312537074 -0.233893081546 --0.836054190993 -0.233886856586 --0.818796500564 -0.23388145864 --0.801539063454 -0.233876887709 --0.784282192588 -0.233873184771 --0.767025440931 -0.233870282769 --0.749769106507 -0.233868207782 --0.732512786984 -0.233866956085 --0.715256780386 -0.233866553753 --0.698000654578 -0.233866956085 --0.680744707584 -0.233868207783 --0.663488507271 -0.233870331198 --0.646232351661 -0.233873255551 --0.628975823522 -0.233877003193 --0.611719250679 -0.233881622553 --0.594462186098 -0.233887046576 --0.577204927802 -0.233893271536 --0.559947043658 -0.233900364488 --0.54268886149 -0.233903974295 --0.523468613625 -0.23390013352 --0.50424670428 -0.233893081546 --0.486988335848 -0.233886856586 --0.469730660319 -0.23388145864 --0.45247323066 -0.233876887709 --0.435216344893 -0.233873184771 --0.417959585786 -0.233870260418 --0.400703258812 -0.233868185431 --0.38344693929 -0.233866956085 --0.366190932691 -0.233866553753 --0.348934791982 -0.233866956085 --0.331678837538 -0.233868207783 --0.314422644675 -0.233870331198 --0.297166496515 -0.233873255551 --0.279909975827 -0.233877003193 --0.262653410435 -0.233881600201 --0.245396338403 -0.233887024224 --0.228139076382 -0.233893271536 --0.210881203413 -0.233900342137 --0.19362301752 -0.233903951943 --0.174402754753 -0.2512280792 --0.155173674226 -0.251220520586 --0.137915279716 -0.251213844865 --0.120657572523 -0.251208052039 --0.103400120512 -0.251203164458 --0.0861432105303 -0.251199204475 --0.0688864244148 -0.251196075231 --0.0516300713643 -0.251193843782 --0.0343737192452 -0.251192517579 --0.017117672367 -0.251192077994 -0.00013849674724 -0.251192543656 -0.0173944816925 -0.251193914563 -0.0346507141366 -0.251196168363 -0.0519068855792 -0.251199297607 -0.0691634314135 -0.251203324646 -0.0864200424403 -0.251208234579 -0.103677146137 -0.251214027405 -0.120934432372 -0.251220725477 -0.138192340732 -0.251228306442 -0.155450552702 -0.251232180745 -0.174670539796 -0.2512280792 -0.193892184645 -0.251220520586 -0.211150560528 -0.251213844865 -0.228408265859 -0.251208052039 -0.245665732771 -0.251203164458 -0.262922637164 -0.251199204475 -0.280179418623 -0.251196075231 -0.297435775399 -0.251193843782 -0.314692139626 -0.251192517579 -0.331948183477 -0.251192077994 -0.349204353988 -0.251192543656 -0.366460338235 -0.251193914563 -0.383716553449 -0.251196168363 -0.400972723961 -0.251199297607 -0.418229274452 -0.251203324646 -0.435485884547 -0.25120825693 -0.452742993831 -0.251214049757 -0.47000028193 -0.251220725477 -0.487258180976 -0.251228306442 -0.504516400397 -0.251232158393 -0.52373637259 -0.251228056848 -0.542958006263 -0.251220520586 -0.560216411948 -0.251213844865 -0.577474117279 -0.251208052039 -0.594731584191 -0.251203164458 -0.611988514662 -0.251199204475 -0.62924529612 -0.251196097582 -0.646501630544 -0.251193866134 -0.66375797987 -0.251192517579 -0.681014031172 -0.251192077994 -0.698270216584 -0.251192543656 -0.715526223183 -0.251193914563 -0.732782423496 -0.251196168363 -0.750038579106 -0.251199297607 -0.767295122147 -0.251203302294 -0.784551724791 -0.251208212227 -0.801808834076 -0.251214027405 -0.819066122174 -0.251220725477 -0.836324036121 -0.251228306442 -0.853582248092 -0.251232180745 -0.872802257538 -0.2512280792 -0.89202389121 -0.251220520586 -0.909282267094 -0.251213844865 -0.926540002227 -0.251208052039 -0.943797454238 -0.251203164458 -0.961054340005 -0.251199204475 -0.978311121464 -0.251196075231 -0.99556747079 -0.251193843782 -1.01282382012 -0.251192517579 -1.03007987142 -0.251192077994 -1.04733601213 -0.251192543656 -1.06459203362 -0.251193914563 -1.08184829354 -0.251196168363 -1.09910443425 -0.251199297607 -1.11636096239 -0.251203302294 -1.13361757994 -0.251208234579 -1.15087470412 -0.251214049757 -1.16813197732 -0.251220725477 -1.18538990617 -0.251228306442 -1.20264813304 -0.251232180745 -1.22186809778 -0.2512280792 -1.24108973145 -0.251220520586 -1.25834810734 -0.251213844865 -1.27560582757 -0.251208052039 -1.29286327958 -0.251203164458 -1.31012016535 -0.251199204475 -1.3273769319 -0.251196075231 -1.34463331103 -0.251193843782 -1.36188969016 -0.251192517579 -1.37914571166 -0.251192077994 -1.39640188217 -0.251192543656 -1.41365787387 -0.251193914563 -1.43091410398 -0.251196168363 -1.44817027449 -0.251199297607 -1.46542683244 -0.251203324646 -1.48268344998 -0.251208234579 -1.49994054436 -0.251214027405 -1.51719784736 -0.251220725477 -1.53445574641 -0.251228328794 -1.55171394348 -0.251232180745 -1.57093393803 -0.251228056848 -1.5901555717 -0.251220520586 -1.60741397739 -0.251213844865 -1.62467169762 -0.251208052039 -1.64192914963 -0.251203164458 -1.6591860652 -0.251199204475 -1.67644283175 -0.251196075231 -1.69369915128 -0.251193843782 -1.7109555006 -0.251192517579 -1.72821155191 -0.251192077994 -1.74546775222 -0.251192543656 -1.76272377372 -0.251193914563 -1.77997997403 -0.251196168363 -1.79723614454 -0.251199297607 -1.81449273229 -0.251203324646 -1.83174932003 -0.25120825693 -1.84900638461 -0.251214049757 -1.86626365781 -0.251220725477 -1.88352158666 -0.251228306442 -1.90077981353 -0.251232180745 -1.91999977827 -0.2512280792 -1.93922141195 -0.251220520586 -1.95647978783 -0.251213844865 -1.97373750806 -0.251208052039 -1.99099498987 -0.251203164458 -2.00825190544 -0.251199204475 -2.0255086422 -0.251196097582 -2.04276496172 -0.251193866134 -2.06002134085 -0.251192517579 -2.07727742195 -0.251192077994 -2.09453362227 -0.251192543656 -2.11178964376 -0.251193914563 -2.12904590368 -0.251196168363 -2.14630204439 -0.251199297607 -2.16355854273 -0.251203302294 -2.18081516027 -0.251208212227 -2.19807225466 -0.251214027405 -2.21532952785 -0.251220725477 -2.2325874567 -0.251228306442 -2.24984562397 -0.251232180745 -2.26906561852 -0.2512280792 -2.28828728199 -0.251220520586 -2.30554562807 -0.251213844865 -2.3228033185 -0.251208052039 -2.34006077051 -0.251203164458 -2.35731774569 -0.251199204475 -2.37457460165 -0.251196097582 -2.39183092117 -0.251193866134 -2.40908724069 -0.251192517579 -2.42634326219 -0.251192077994 -2.4435994029 -0.251192543656 -2.46085542441 -0.251193914563 -2.47811168432 -0.251196168363 -2.49536782503 -0.251199297607 -2.51262432337 -0.251203324646 -2.52988100052 -0.251208234579 -2.5471380949 -0.251214027405 -2.56439530849 -0.251220725477 -2.58165329694 -0.251228306442 -2.59891158343 -0.251232180745 -2.61813151837 -0.2512280792 -2.63735312223 -0.251220520586 -2.65461152792 -0.251213844865 -2.67186927795 -0.251208052039 -2.68912672996 -0.251203164458 -2.70638358593 -0.251199204475 -2.72364038229 -0.251196075231 -2.74089676142 -0.251193843782 -2.75815314054 -0.251192517579 -2.77540916204 -0.251192077994 -2.79266530275 -0.251192543656 -2.80992126465 -0.251193914563 -2.82717746496 -0.251196168363 -2.84443366528 -0.251199297607 -2.86169028282 -0.251203324646 -2.87894690037 -0.251208234579 -2.89620399475 -0.251214027405 -2.91346126795 -0.251220725477 -2.93071913719 -0.251228306442 -2.94797736406 -0.251232180745 -2.96719735861 -0.2512280792 -2.98641902209 -0.251220520586 -3.00367742777 -0.251213844865 -3.0209351182 -0.251208052039 -3.03819257021 -0.251203164458 -3.05544942618 -0.251199204475 -3.07270616293 -0.251196075231 -3.08996254206 -0.251193843782 -3.10721892118 -0.251192517579 -3.12447500229 -0.251192077994 --3.14145413239 -0.251192543656 --3.12419819832 -0.251193914563 --3.10694199801 -0.251196168363 --3.08968579769 -0.251199297607 --3.07242918014 -0.251203324646 --3.0551725626 -0.251208234579 --3.03791546822 -0.251214027405 --3.02065819502 -0.251220725477 --3.00340032577 -0.251228306442 --2.9861420989 -0.251232180745 --2.96692210436 -0.2512280792 --2.94770044088 -0.251220520586 --2.9304420948 -0.251213844865 --2.91318440437 -0.251208052039 --2.89592689276 -0.251203164458 --2.87866997719 -0.251199204475 --2.86141324043 -0.251196075231 --2.84415692091 -0.251193843782 --2.82690054178 -0.251192517579 --2.80964446068 -0.251192077994 --2.79238826037 -0.251192543656 --2.77513229847 -0.251193914563 --2.75787609816 -0.251196168363 --2.74061989784 -0.251199297607 --2.7233633399 -0.251203324646 --2.70610678196 -0.25120825693 --2.68884968758 -0.251214049757 --2.67159235478 -0.251220725477 --2.65433448553 -0.251228306442 --2.63707631826 -0.251232158393 --2.61785626411 -0.251228056848 --2.59863460064 -0.251220520586 --2.58137625456 -0.251213844865 --2.56411856413 -0.251208052039 --2.54686111212 -0.251203164458 --2.52960413695 -0.251199204475 --2.51234728098 -0.251196097582 --2.49509096146 -0.251193866134 --2.47783470154 -0.251192517579 --2.46057868004 -0.251192077994 --2.44332242012 -0.251192543656 --2.42606639862 -0.251193914563 --2.40881019831 -0.251196168363 --2.3915540576 -0.251199297607 --2.37429755926 -0.251203302294 --2.35704094172 -0.251208212227 --2.33978384733 -0.251214027405 --2.32252657414 -0.251220725477 --2.30526864529 -0.251228306442 --2.28801041841 -0.251232180745 --2.26879042387 -0.2512280792 --2.24956882 -0.251220520586 --2.23231041431 -0.251213844865 --2.21505266428 -0.251208052039 --2.19779521227 -0.251203164458 --2.1805382967 -0.251199204475 --2.16328150034 -0.251196075231 --2.14602518082 -0.251193843782 --2.12876880169 -0.251192517579 --2.11151272058 -0.251192077994 --2.09425657988 -0.251192543656 --2.07700061798 -0.251193914563 --2.05974441767 -0.251196168363 --2.04248827696 -0.251199297607 --2.02523165941 -0.251203302294 --2.00797501207 -0.251208234579 --1.99071797729 -0.251214049757 --1.97346067429 -0.251220725477 --1.95620277524 -0.251228306442 --1.93894457817 -0.251232180745 --1.91972455382 -0.2512280792 --1.90050292015 -0.251220520586 --1.88324454427 -0.251213844865 --1.86598682404 -0.251208052039 --1.84872937202 -0.251203164458 --1.83147245646 -0.251199204475 --1.8142156899 -0.251196075231 --1.79695934057 -0.251193843782 --1.77970296144 -0.251192517579 --1.76244691014 -0.251192077994 --1.74519073963 -0.251192543656 --1.72793474794 -0.251193914563 --1.71067851782 -0.251196168363 --1.69342234731 -0.251199297607 --1.67616578937 -0.251203324646 --1.65890917182 -0.251208234579 --1.64165207743 -0.251214027405 --1.62439480424 -0.251220725477 --1.60713690519 -0.251228328794 --1.58987870813 -0.251232180745 --1.57065871358 -0.251228056848 --1.5514370501 -0.251220520586 --1.53417870402 -0.251213844865 --1.51692101359 -0.251208052039 --1.49966353178 -0.251203164458 --1.48240661621 -0.251199204475 --1.46514981985 -0.251196075231 --1.44789347052 -0.251193843782 --1.4306371212 -0.251192517579 --1.4133810699 -0.251192077994 --1.39612492919 -0.251192543656 --1.37886893749 -0.251193914563 --1.36161267757 -0.251196168363 --1.34435650706 -0.251199297607 --1.32709997892 -0.251203324646 --1.30984339118 -0.25120825693 --1.2925862968 -0.251214049757 --1.2753289938 -0.251220725477 --1.25807109475 -0.251228306442 --1.24081286788 -0.251232180745 --1.22159284353 -0.2512280792 --1.20237120986 -0.251220520586 --1.18511283397 -0.251213844865 --1.16785511374 -0.251208052039 --1.15059766173 -0.251203164458 --1.13334077597 -0.251199204475 --1.11608397961 -0.251196097582 --1.09882760048 -0.251193866134 --1.08157125116 -0.251192517579 --1.06431522966 -0.251192077994 --1.04705905914 -0.251192543656 --1.02980306745 -0.251193914563 --1.01254683733 -0.251196168363 --0.995290681719 -0.251199297607 --0.978034123778 -0.251203302294 --0.960777506233 -0.251208212227 --0.94352042675 -0.251214027405 --0.926263123751 -0.251220725477 --0.909005209803 -0.251228306442 --0.891747012734 -0.251232180745 --0.87252703309 -0.2512280792 --0.853305399418 -0.251220520586 --0.836047008634 -0.251213844865 --0.818789273501 -0.251208052039 --0.801531806588 -0.251203164458 --0.78427490592 -0.251199204475 --0.767018124461 -0.251196097582 --0.749761775136 -0.251193866134 --0.73250542581 -0.251192517579 --0.715249374509 -0.251192077994 --0.697993203998 -0.251192543656 --0.680737227201 -0.251193914563 --0.663480997086 -0.251196168363 --0.646224811673 -0.251199297607 --0.628968253732 -0.251203324646 --0.611711636185 -0.251208234579 --0.594454556703 -0.251214027405 --0.577197283506 -0.251220725477 --0.559939354658 -0.251228306442 --0.542681142688 -0.251232180745 --0.523461163044 -0.2512280792 --0.504239529371 -0.251220520586 --0.486981146037 -0.251213844865 --0.469723440706 -0.251208052039 --0.452465981245 -0.251203164458 --0.435209050775 -0.251199204475 --0.417952261865 -0.251196075231 --0.40069591999 -0.251193843782 --0.383439563215 -0.251192517579 --0.366183519363 -0.251192077994 --0.348927348852 -0.251192543656 --0.331671364606 -0.251193914563 --0.31441514194 -0.251196168363 --0.297158963978 -0.251199297607 --0.279902413488 -0.251203324646 --0.262645818293 -0.251208234579 --0.24538871646 -0.251214027405 --0.228131420911 -0.251220725477 --0.210873510689 -0.251228306442 --0.193615294993 -0.251232180745 --0.174395315349 -0.2685655877 --0.155166279524 -0.268557541072 --0.137907858938 -0.268550403416 --0.12065012008 -0.268544249236 --0.103392634541 -0.268539041281 --0.0861356966197 -0.268534786999 --0.0688788797706 -0.268531478941 --0.0516224950552 -0.268529102206 --0.0343661108054 -0.268527686596 --0.0171100317966 -0.268527232111 -0.00014616874978 -0.268527716398 -0.0174021848943 -0.268529176712 -0.0346584497019 -0.268531568348 -0.0519146537408 -0.268534898758 -0.06917123124 -0.268539197743 -0.0864278748631 -0.268544450402 -0.103685010225 -0.268550649285 -0.120942329988 -0.26855776459 -0.138200268149 -0.268565833569 -0.155458509922 -0.26856996119 -0.174678210169 -0.2685655877 -0.193899564445 -0.268557541072 -0.211157973856 -0.268550425768 -0.228415720165 -0.268544249236 -0.24567322433 -0.268539018929 -0.262930162251 -0.268534786999 -0.280186973512 -0.268531478941 -0.29744336009 -0.268529102206 -0.314699754119 -0.268527664244 -0.331955827773 -0.268527209759 -0.349212028086 -0.26852773875 -0.366468042135 -0.268529199064 -0.383724294603 -0.268531568348 -0.400980502367 -0.268534898758 -0.41823707521 -0.268539197743 -0.435493715107 -0.268544450402 -0.452750854194 -0.268550626934 -0.470008179545 -0.268557742238 -0.487266123295 -0.268565833569 -0.504524372518 -0.268569938838 -0.52374406159 -0.268565565348 -0.54296541214 -0.268557541072 -0.560223847627 -0.268550425768 -0.577481582761 -0.268544249236 -0.594739079476 -0.268539018929 -0.611996039748 -0.268534786999 -0.629252851009 -0.268531478941 -0.646509215236 -0.268529102206 -0.663765594363 -0.268527664244 -0.681021660566 -0.268527209759 -0.698277845979 -0.268527716398 -0.715533897281 -0.268529176712 -0.732790157199 -0.268531568348 -0.750046357513 -0.268534898758 -0.767302945256 -0.268539175391 -0.784559562802 -0.26854442805 -0.801816701889 -0.268550626934 -0.819074034691 -0.268557742238 -0.83633197844 -0.268565833569 -0.853590220213 -0.26856996119 -0.872809931636 -0.2685655877 -0.892031267285 -0.268557541072 -0.90928965807 -0.268550403416 -0.926547437906 -0.268544226885 -0.943804949522 -0.268539018929 -0.961061879992 -0.268534786999 -0.978318691254 -0.268531478941 -0.995575055482 -0.268529102206 -1.01283144951 -0.268527664244 -1.03008753061 -0.268527209759 -1.04734370112 -0.268527716398 -1.06459972262 -0.268529176712 -1.08185598254 -0.268531568348 -1.09911218285 -0.268534898758 -1.1163687706 -0.268539175391 -1.13362541795 -0.26854442805 -1.15088257193 -0.268550626934 -1.16813987494 -0.268557742238 -1.18539780378 -0.268565833569 -1.20265606046 -0.26856996119 -1.22187575698 -0.2685655877 -1.24109709263 -0.268557541072 -1.25835549831 -0.268550425768 -1.27561327815 -0.268544249236 -1.29287075996 -0.268539018929 -1.31012767553 -0.268534786999 -1.32738450169 -0.268531478941 -1.34464091062 -0.268529102206 -1.36189728975 -0.268527664244 -1.37915334105 -0.268527209759 -1.39640957117 -0.268527716398 -1.41366559267 -0.268529176712 -1.43092185259 -0.268531568348 -1.4481780529 -0.268534898758 -1.46543464064 -0.268539197743 -1.48269128799 -0.268544450402 -1.49994841218 -0.268550626934 -1.51720574498 -0.268557742238 -1.53446367383 -0.26856585592 -1.5517219305 -0.26856996119 -1.57094165683 -0.268565565348 -1.59016299248 -0.268557541072 -1.60742139816 -0.268550403416 -1.6246791482 -0.268544226885 -1.64193663001 -0.268539041281 -1.65919357538 -0.268534809351 -1.67645040154 -0.268531478941 -1.69370675087 -0.268529102206 -1.71096313 -0.268527664244 -1.7282192111 -0.268527209759 -1.74547541141 -0.268527716398 -1.76273143291 -0.268529176712 -1.77998769283 -0.268531568348 -1.79724392295 -0.268534898758 -1.81450051069 -0.268539197743 -1.83175715804 -0.268544450402 -1.84901428222 -0.268550626934 -1.86627155543 -0.268557742238 -1.88352951408 -0.268565833569 -1.90078777075 -0.26856996119 -1.92000743747 -0.2685655877 -1.93922877312 -0.268557541072 -1.9564871788 -0.268550403416 -1.97374495864 -0.268544226885 -1.99100247025 -0.268539018929 -2.00825944543 -0.268534786999 -2.02551627159 -0.268531478941 -2.04277259111 -0.268529124558 -2.06002897024 -0.268527686596 -2.07728505135 -0.268527209759 -2.09454125166 -0.268527716398 -2.11179733276 -0.268529176712 -2.12905365229 -0.268531568348 -2.14630979299 -0.268534898758 -2.16356629133 -0.268539175391 -2.18082290888 -0.26854442805 -2.19808006287 -0.268550626934 -2.21533745527 -0.268557742238 -2.23259538412 -0.268565833569 -2.24985355139 -0.26856996119 -2.26907330751 -0.2685655877 -2.28829473257 -0.268557541072 -2.30555313826 -0.268550425768 -2.32281082868 -0.268544249236 -2.3400682807 -0.268539018929 -2.35732525587 -0.268534786999 -2.37458211184 -0.268531478941 -2.39183849096 -0.268529102206 -2.40909487009 -0.268527664244 -2.42635095119 -0.268527209759 -2.44360715151 -0.268527716398 -2.46086317301 -0.268529176712 -2.47811943293 -0.268531568348 -2.49537563324 -0.268534898758 -2.51263219118 -0.268539197743 -2.52988886833 -0.26854442805 -2.54714596271 -0.268550604582 -2.56440323591 -0.268557742238 -2.58166122436 -0.268565833569 -2.59891951084 -0.26856996119 -2.61813920737 -0.2685655877 -2.63736051321 -0.268557541072 -2.6546189189 -0.268550425768 -2.67187666893 -0.268544271588 -2.68913412094 -0.268539041281 -2.70639103651 -0.268534786999 -2.72364789248 -0.268531478941 -2.7409042716 -0.268529124558 -2.75816065073 -0.268527686596 -2.77541673183 -0.268527209759 -2.79267293215 -0.26852773875 -2.80992895365 -0.268529199064 -2.82718521356 -0.268531568348 -2.84444147349 -0.268534898758 -2.86169809103 -0.268539197743 -2.87895470858 -0.268544450402 -2.89621180296 -0.268550626934 -2.91346907615 -0.268557742238 -2.93072706461 -0.268565833569 -2.94798535109 -0.26856996119 -2.96720504761 -0.2685655877 -2.98642641306 -0.268557541072 -3.00368481874 -0.268550403416 -3.02094256878 -0.268544249236 -3.03820008039 -0.268539041281 -3.05545699596 -0.268534786999 -3.07271373272 -0.268531478941 -3.08997011185 -0.268529102206 -3.10722655058 -0.268527686596 -3.12448263168 -0.268527232111 --3.141446503 -0.268527716398 --3.12419050932 -0.268529176712 --3.1069342494 -0.268531568348 --3.08967798948 -0.268534898758 --3.07242137194 -0.268539197743 --3.05516475439 -0.268544450402 --3.03790766001 -0.268550649285 --3.02065038681 -0.26855776459 --3.00339239836 -0.268565833569 --2.98613411188 -0.26856996119 --2.96691441536 -0.2685655877 --2.94769304991 -0.268557541072 --2.93043470383 -0.268550425768 --2.91317695379 -0.268544249236 --2.89591938257 -0.268539018929 --2.8786624074 -0.268534786999 --2.86140567064 -0.268531478941 --2.84414935112 -0.268529102206 --2.82689291239 -0.268527664244 --2.80963683129 -0.268527209759 --2.79238063097 -0.26852773875 --2.77512460947 -0.268529199064 --2.75786840916 -0.268531568348 --2.74061220884 -0.268534898758 --2.7233555913 -0.268539197743 --2.70609897375 -0.268544450402 --2.68884181976 -0.268550626934 --2.67158442736 -0.268557742238 --2.65432649851 -0.268565833569 --2.63706833124 -0.268569938838 --2.61784863472 -0.268565565348 --2.59862726927 -0.268557541072 --2.58136880398 -0.268550425768 --2.56411105395 -0.268544249236 --2.54685360193 -0.268539018929 --2.52959662676 -0.268534786999 --2.51233977079 -0.268531478941 --2.49508339167 -0.268529102206 --2.47782707214 -0.268527664244 --2.46057099104 -0.268527209759 --2.44331479073 -0.268527716398 --2.42605876923 -0.268529176712 --2.40880244971 -0.268531568348 --2.39154624939 -0.268534898758 --2.37428969145 -0.268539175391 --2.3570330739 -0.26854442805 --2.33977597952 -0.268550626934 --2.32251864672 -0.268557742238 --2.30526071787 -0.268565833569 --2.28800243139 -0.26856996119 --2.26878267527 -0.2685655877 --2.24956136942 -0.268557541072 --2.23230296374 -0.268550403416 --2.2150452137 -0.268544226885 --2.19778776169 -0.268539018929 --2.18053084612 -0.268534786999 --2.16327399015 -0.268531478941 --2.14601761103 -0.268529102206 --2.1287612319 -0.268527664244 --2.11150515079 -0.268527209759 --2.09424895048 -0.268527716398 --2.07699292898 -0.268529176712 --2.05973666906 -0.268531568348 --2.04248046875 -0.268534898758 --2.0252238512 -0.268539175391 --2.00796720386 -0.26854442805 --1.99071010947 -0.268550626934 --1.97345277667 -0.268557742238 --1.95619484782 -0.268565833569 --1.93893659115 -0.26856996119 --1.91971686482 -0.2685655877 --1.90049552918 -0.268557541072 --1.88323712349 -0.268550425768 --1.86597937346 -0.268544249236 --1.84872189164 -0.268539018929 --1.83146494627 -0.268534786999 --1.81420812011 -0.268531478941 --1.79695174098 -0.268529102206 --1.77969536185 -0.268527664244 --1.76243931055 -0.268527209759 --1.74518311024 -0.268527716398 --1.72792705893 -0.268529176712 --1.71067076921 -0.268531568348 --1.6934145689 -0.268534898758 --1.67615801096 -0.268539197743 --1.65890136361 -0.268544450402 --1.64164423943 -0.268550626934 --1.62438693643 -0.268557742238 --1.60712897778 -0.26856585592 --1.5898707509 -0.26856996119 --1.57065105438 -0.268565565348 --1.55142965913 -0.268557541072 --1.53417125344 -0.268550403416 --1.51691353321 -0.268544226885 --1.49965602159 -0.268539041281 --1.48239907622 -0.268534809351 --1.46514227986 -0.268531478941 --1.44788590074 -0.268529102206 --1.43062949181 -0.268527664244 --1.4133734107 -0.268527209759 --1.39611724019 -0.268527716398 --1.37886121869 -0.268529176712 --1.36160495877 -0.268531568348 --1.34434875846 -0.268534898758 --1.32709217071 -0.268539197743 --1.30983555317 -0.268544450402 --1.29257842898 -0.268550626934 --1.27532109618 -0.268557742238 --1.25806316734 -0.268565833569 --1.24080491066 -0.26856996119 --1.22158518433 -0.2685655877 --1.20236384869 -0.268557541072 --1.185105443 -0.268550403416 --1.16784769297 -0.268544226885 --1.15059021115 -0.268539018929 --1.13333326578 -0.268534786999 --1.11607640982 -0.268531478941 --1.09882003069 -0.268529124558 --1.08156368137 -0.268527686596 --1.06430763006 -0.268527209759 --1.04705139995 -0.268527716398 --1.02979534864 -0.268529176712 --1.01253908872 -0.268531568348 --0.995282903313 -0.268534898758 --0.978026330471 -0.268539175391 --0.960769698024 -0.26854442805 --0.943512573838 -0.268550626934 --0.926255226135 -0.268557742238 --0.908997282386 -0.268565833569 --0.891739040613 -0.26856996119 --0.87251932919 -0.2685655877 --0.85329797864 -0.268557541072 --0.836039572954 -0.268550425768 --0.81878182292 -0.268544249236 --0.801524326205 -0.268539018929 --0.784267395735 -0.268534786999 --0.767010599375 -0.268531478941 --0.749754205346 -0.268529102206 --0.732497826219 -0.268527664244 --0.715241760016 -0.268527209759 --0.697985544801 -0.268527716398 --0.680729523301 -0.268529176712 --0.663473248482 -0.268531568348 --0.646217033267 -0.268534898758 --0.628960460425 -0.268539197743 --0.611703813076 -0.26854442805 --0.59444668889 -0.268550604582 --0.577189385891 -0.268557742238 --0.559931427241 -0.268565833569 --0.542673185468 -0.26856996119 --0.523453488946 -0.2685655877 --0.504232130944 -0.268557541072 --0.486973725259 -0.268550425768 --0.469715990126 -0.268544271588 --0.452458500862 -0.268539041281 --0.43520154804 -0.268534786999 --0.417944729328 -0.268531478941 --0.400688357651 -0.268529124558 --0.383431963622 -0.268527686596 --0.366175867617 -0.268527209759 --0.348919674754 -0.26852773875 --0.331663668156 -0.268529199064 --0.314407400787 -0.268531568348 --0.297151200473 -0.268534898758 --0.279894627631 -0.268539197743 --0.262637995184 -0.268544450402 --0.245380856097 -0.268550626934 --0.228123523295 -0.268557742238 --0.210865583271 -0.268565833569 --0.193607337773 -0.26856996119 --0.174387637525 -0.285932064056 --0.15515897423 -0.285923555493 --0.137900535017 -0.285915963352 --0.120642760769 -0.285909421742 --0.103385236114 -0.285903900862 --0.0861282683909 -0.285899378359 --0.0688714236021 -0.285895876586 --0.0516150090844 -0.285893343389 --0.0343585931696 -0.285891845822 --0.01710248366 -0.285891383886 -0.000153748085722 -0.285891883075 -0.0174097951967 -0.285893425345 -0.0346660902724 -0.285895973444 -0.0519223259762 -0.28589951247 -0.0691789351404 -0.285904049873 -0.0864356067032 -0.285909622907 -0.103692770004 -0.285916209221 -0.120950123295 -0.285923756659 -0.13820809871 -0.285932332277 -0.15546637401 -0.285936698318 -0.174685798585 -0.285932041704 -0.193906869739 -0.28592351079 -0.211165305227 -0.285915985704 -0.228423081338 -0.285909444094 -0.245680619031 -0.28590387851 -0.262937597931 -0.285899356007 -0.280194438994 -0.285895854234 -0.297450855374 -0.285893343389 -0.314707271755 -0.285891823471 -0.331963367761 -0.285891361535 -0.349219597876 -0.285891905427 -0.366475649178 -0.285893447697 -0.383731946349 -0.285895973444 -0.400988191366 -0.28589951247 -0.418244794011 -0.285904049873 -0.435501456261 -0.285909622907 -0.45275862515 -0.285916186869 -0.470015987754 -0.285923734307 -0.487273953855 -0.285932332277 -0.50453223288 -0.285936698318 -0.523751661182 -0.285932064056 -0.54297272861 -0.285923533141 -0.560231178999 -0.285915985704 -0.577488943934 -0.285909444094 -0.594746470451 -0.28590387851 -0.612003460527 -0.285899356007 -0.62926030159 -0.285895854234 -0.64651671052 -0.285893343389 -0.663773134351 -0.285891823471 -0.681029230356 -0.285891361535 -0.69828543067 -0.285891883075 -0.715541496873 -0.285893402994 -0.732797801495 -0.285895951092 -0.750054031611 -0.28589951247 -0.767310664058 -0.285904049873 -0.784567311406 -0.285909622907 -0.801824465394 -0.285916186869 -0.819081827998 -0.285923734307 -0.83633980155 -0.285932332277 -0.853598088026 -0.285936698318 -0.872817501426 -0.285932041704 -0.892038553953 -0.28592351079 -0.909297004342 -0.285915963352 -0.92655479908 -0.285909421742 -0.943812325597 -0.28590387851 -0.961069300771 -0.285899356007 -0.978326141834 -0.285895854234 -0.995582550765 -0.285893343389 -1.01283895969 -0.285891823471 -1.0300950706 -0.285891361535 -1.04735130072 -0.285891883075 -1.06460732222 -0.285893425345 -1.08186361194 -0.285895973444 -1.09911987185 -0.28589951247 -1.1163764894 -0.285904049873 -1.13363313675 -0.285909622907 -1.15089032054 -0.285916209221 -1.16814768314 -0.285923756659 -1.1854056418 -0.285932332277 -1.20266392827 -0.285936698318 -1.22188335657 -0.285932041704 -1.241104424 -0.28592351079 -1.25836285949 -0.285915963352 -1.27562063933 -0.285909421742 -1.29287815094 -0.28590387851 -1.31013512612 -0.285899356007 -1.32739198208 -0.285895854234 -1.34464839101 -0.285893343389 -1.36190479994 -0.285891823471 -1.37916091084 -0.285891361535 -1.39641717076 -0.285891883075 -1.41367322206 -0.285893402994 -1.43092951179 -0.285895951092 -1.4481857419 -0.28589951247 -1.46544235945 -0.285904049873 -1.4826990366 -0.285909622907 -1.49995619059 -0.285916186869 -1.51721352339 -0.285923734307 -1.53447148204 -0.285932332277 -1.55172976851 -0.285936698318 -1.57094919682 -0.285932064056 -1.59017026424 -0.285923533141 -1.60742869973 -0.285915941 -1.62468647957 -0.28590939939 -1.64194402099 -0.285903900862 -1.65920099616 -0.285899378359 -1.67645785213 -0.285895854234 -1.69371426106 -0.285893343389 -1.71097066999 -0.285891823471 -1.72822678089 -0.285891361535 -1.74548298121 -0.285891883075 -1.76273900271 -0.285893425345 -1.77999532223 -0.285895973444 -1.79725158214 -0.28589951247 -1.81450816989 -0.285904049873 -1.83176484704 -0.285909622907 -1.84902203083 -0.285916186869 -1.86627936363 -0.285923734307 -1.88353735209 -0.285932332277 -1.90079563856 -0.285936698318 -1.92001503706 -0.285932041704 -1.93923610449 -0.28592351079 -1.95649453998 -0.285915963352 -1.97375231981 -0.285909421742 -1.99100983143 -0.28590387851 -2.00826680661 -0.285899356007 -2.02552372217 -0.285895854234 -2.04278016091 -0.285893365741 -2.06003654003 -0.285891845822 -2.07729262113 -0.285891361535 -2.09454882145 -0.285891883075 -2.11180490256 -0.285893425345 -2.12906122208 -0.285895973444 -2.14631742239 -0.28589951247 -2.16357403993 -0.285904049873 -2.18083065748 -0.285909622907 -2.19808781147 -0.285916209221 -2.21534526348 -0.285923756659 -2.23260325194 -0.285932332277 -2.24986147881 -0.285936698318 -2.26908093691 -0.285932041704 -2.28830206394 -0.28592351079 -2.30556046963 -0.285915985704 -2.32281816006 -0.285909444094 -2.34007567167 -0.28590387851 -2.35733270645 -0.285899356007 -2.37458956242 -0.285895854234 -2.39184594155 -0.285893343389 -2.40910232067 -0.285891823471 -2.42635846138 -0.285891361535 -2.4436147213 -0.285891883075 -2.4608707428 -0.285893425345 -2.47812706232 -0.285895973444 -2.49538332224 -0.28589951247 -2.51263993979 -0.285904049873 -2.52989661694 -0.285909622907 -2.54715377092 -0.285916186869 -2.56441110372 -0.285923734307 -2.58166903257 -0.285932332277 -2.59892731905 -0.285936698318 -2.61814677715 -0.285932041704 -2.63736784458 -0.28592351079 -2.65462625027 -0.285915963352 -2.6718840003 -0.285909444094 -2.68914151192 -0.285903900862 -2.70639848709 -0.285899356007 -2.72365534306 -0.285895854234 -2.74091172218 -0.285893365741 -2.75816816091 -0.285891845822 -2.77542430163 -0.285891361535 -2.79268056155 -0.285891905427 -2.80993664265 -0.285893425345 -2.82719290256 -0.285895951092 -2.84444916248 -0.28589951247 -2.86170578003 -0.285904049873 -2.87896239757 -0.285909622907 -2.89621955156 -0.285916186869 -2.91347688437 -0.285923734307 -2.93073487282 -0.285932332277 -2.9479931593 -0.285936698318 -2.96721255779 -0.285932064056 -2.98643362522 -0.285923555493 -3.00369209051 -0.285915963352 -3.02094990015 -0.285909421742 -3.03820741176 -0.285903900862 -3.05546438694 -0.285899378359 -3.0727212429 -0.285895876586 -3.08997768164 -0.285893343389 -3.10723412037 -0.285891845822 -3.12449020147 -0.285891383886 --3.14143887361 -0.285891883075 --3.12418282032 -0.285893425345 --3.1069265604 -0.285895973444 --3.08967030048 -0.28589951247 --3.07241368294 -0.285904049873 --3.05515706539 -0.285909622907 --3.0378999114 -0.285916209221 --3.0206425786 -0.285923756659 --3.00338459015 -0.285932332277 --2.98612630367 -0.285936698318 --2.96690690517 -0.285932041704 --2.94768583775 -0.28592351079 --2.93042737246 -0.285915985704 --2.91316956281 -0.285909444094 --2.89591199159 -0.28590387851 --2.87865501642 -0.285899356007 --2.86139822006 -0.285895854234 --2.84414178133 -0.285893343389 --2.8268853426 -0.285891823471 --2.8096292615 -0.285891361535 --2.79237306118 -0.285891905427 --2.77511703968 -0.285893447697 --2.75786077976 -0.285895973444 --2.74060451984 -0.28589951247 --2.7233479023 -0.285904049873 --2.70609128475 -0.285909622907 --2.68883407116 -0.285916186869 --2.67157661915 -0.285923734307 --2.6543186903 -0.285932332277 --2.63706046343 -0.285936698318 --2.61784100532 -0.285932064056 --2.5986199379 -0.285923533141 --2.58136147261 -0.285915985704 --2.56410372257 -0.285909444094 --2.54684621096 -0.28590387851 --2.52958917618 -0.285899356007 --2.51233232021 -0.285895854234 --2.49507594109 -0.285893343389 --2.47781956196 -0.285891823471 --2.46056342125 -0.285891361535 --2.44330722093 -0.285891883075 --2.42605119943 -0.285893402994 --2.40879482031 -0.285895951092 --2.39153856039 -0.28589951247 --2.37428194284 -0.285904049873 --2.35702526569 -0.285909622907 --2.33976817131 -0.285916186869 --2.32251083851 -0.285923734307 --2.30525285006 -0.285932332277 --2.28799456358 -0.285936698318 --2.26877510548 -0.285932041704 --2.24955403805 -0.28592351079 --2.23229557276 -0.285915963352 --2.21503782272 -0.285909421742 --2.19778037071 -0.28590387851 --2.18052339554 -0.285899356007 --2.16326653957 -0.285895854234 --2.14601016044 -0.285893343389 --2.12875372172 -0.285891823471 --2.11149758101 -0.285891361535 --2.09424132109 -0.285891883075 --2.07698523998 -0.285893425345 --2.05972898007 -0.285895973444 --2.04247277975 -0.28589951247 --2.02521616221 -0.285904049873 --2.00795948505 -0.285909622907 --1.99070233107 -0.285916209221 --1.97344499826 -0.285923756659 --1.95618703961 -0.285932332277 --1.93892875313 -0.285936698318 --1.91970932484 -0.285932041704 --1.90048825741 -0.28592351079 --1.88322982192 -0.285915963352 --1.86597204208 -0.285909421742 --1.84871450066 -0.28590387851 --1.83145752549 -0.285899356007 --1.81420066953 -0.285895854234 --1.7969442606 -0.285893343389 --1.77968785167 -0.285891823471 --1.76243174076 -0.285891361535 --1.74517554045 -0.285891883075 --1.72791945934 -0.285893402994 --1.71066313982 -0.285895951092 --1.69340693951 -0.28589951247 --1.67615035176 -0.285904049873 --1.65889367461 -0.285909622907 --1.64163649082 -0.285916186869 --1.62437912822 -0.285923734307 --1.60712113976 -0.285932332277 --1.58986288309 -0.285936698318 --1.57064348459 -0.285932064056 --1.55142238736 -0.285923533141 --1.53416392207 -0.285915941 --1.51690614224 -0.28590939939 --1.49964863062 -0.285903900862 --1.48239165545 -0.285899378359 --1.46513482928 -0.285895854234 --1.44787842035 -0.285893343389 --1.43062198162 -0.285891823471 --1.41336587071 -0.285891361535 --1.3961096406 -0.285891883075 --1.3788536191 -0.285893425345 --1.36159732938 -0.285895973444 --1.34434106946 -0.28589951247 --1.32708445192 -0.285904049873 --1.30982780457 -0.285909622907 --1.29257065058 -0.285916186869 --1.27531328797 -0.285923734307 --1.25805532932 -0.285932332277 --1.24079704285 -0.285936698318 --1.22157758474 -0.285932041704 --1.20235651731 -0.28592351079 --1.18509808183 -0.285915963352 --1.16784033179 -0.285909421742 --1.15058282018 -0.28590387851 --1.1333258152 -0.285899356007 --1.11606895924 -0.285895854234 --1.09881258011 -0.285893365741 --1.08155617118 -0.285891845822 --1.06430006027 -0.285891361535 --1.04704380036 -0.285891883075 --1.02978774906 -0.285893425345 --1.01253148913 -0.285895973444 --0.995275244117 -0.28589951247 --0.978018611669 -0.285904049873 --0.96076194942 -0.285909622907 --0.943504795432 -0.285916209221 --0.926247432828 -0.285923756659 --0.908989459276 -0.285932332277 --0.891731187701 -0.285936698318 --0.8725117594 -0.285932041704 --0.853290677071 -0.28592351079 --0.836032241583 -0.285915985704 --0.818774476647 -0.285909444094 --0.801516950131 -0.28590387851 --0.784259960055 -0.285899356007 --0.767003133893 -0.285895854234 --0.749746710062 -0.285893343389 --0.732490286231 -0.285891823471 --0.715234205127 -0.285891361535 --0.69797796011 -0.285891883075 --0.680721893907 -0.285893425345 --0.663465604186 -0.285895973444 --0.64620937407 -0.28589951247 --0.628952756524 -0.285904049873 --0.611696094275 -0.285909622907 --0.594438925386 -0.285916186869 --0.577181562782 -0.285923734307 --0.559923604131 -0.285932332277 --0.542665332556 -0.285936698318 --0.523445919156 -0.285932041704 --0.504224836826 -0.28592351079 --0.486966386437 -0.285915963352 --0.469708621502 -0.285909444094 --0.452451102436 -0.285903900862 --0.435194127262 -0.285899356007 --0.417937271297 -0.285895854234 --0.400680854916 -0.285893365741 --0.383424438536 -0.285891845822 --0.36616833508 -0.285891361535 --0.348912112415 -0.285891905427 --0.331656061113 -0.285893425345 --0.314399756491 -0.285895951092 --0.297143526376 -0.28589951247 --0.279886923731 -0.285904049873 --0.262630261481 -0.285909622907 --0.245373088866 -0.285916186869 --0.228115726262 -0.285923734307 --0.210857756436 -0.285932332277 --0.193599481136 -0.285936698318 --0.174380052835 -0.303300023079 --0.155152011663 -0.303291022777 --0.137893546373 -0.303283020854 --0.120635742322 -0.303276106715 --0.103378187865 -0.303270258009 --0.0861211884767 -0.303265489638 --0.0688643129543 -0.303261786699 --0.0516078695655 -0.303259119391 --0.0343514252454 -0.303257517516 --0.017095286632 -0.303257018328 -0.00016097491607 -0.30325756967 -0.0174170520622 -0.303259193897 -0.0346733774058 -0.303261876106 -0.051929641515 -0.303265616298 -0.0691862767562 -0.303270429373 -0.0864429753274 -0.303276330233 -0.103700168431 -0.303283259272 -0.120957547799 -0.303291238844 -0.138215556741 -0.303300328552 -0.155473865569 -0.303304933012 -0.174693025648 -0.303300000727 -0.193913839757 -0.303290978074 -0.211172308773 -0.303283020854 -0.228430107236 -0.303276129067 -0.24568766728 -0.303270258009 -0.262944675982 -0.303265467286 -0.280201546848 -0.303261764348 -0.29745798558 -0.303259119391 -0.314714431763 -0.303257517516 -0.331970565021 -0.303257018328 -0.349226817489 -0.30325756967 -0.366482891142 -0.303259193897 -0.383739218116 -0.303261898458 -0.400995492935 -0.303265638649 -0.418252125383 -0.303270429373 -0.435508824885 -0.303276330233 -0.452766031027 -0.303283259272 -0.470023415982 -0.303291238844 -0.487281404435 -0.303300328552 -0.504539720714 -0.303304933012 -0.523758888245 -0.303300023079 -0.542979672551 -0.303291000426 -0.560238152742 -0.303283020854 -0.577495962381 -0.303276129067 -0.5947535187 -0.303270258009 -0.612010523677 -0.303265467286 -0.629267394543 -0.303261764348 -0.646523848176 -0.303259119391 -0.663780286908 -0.303257517516 -0.681036412716 -0.303257018328 -0.698292672634 -0.30325756967 -0.715548768639 -0.303259171545 -0.732805103064 -0.303261876107 -0.750061348081 -0.303265638649 -0.767317980528 -0.303270429373 -0.784574687481 -0.303276330233 -0.801831886172 -0.303283259272 -0.819089263678 -0.303291238844 -0.83634725213 -0.303300328552 -0.853605553508 -0.303304933012 -0.872824713588 -0.303300000727 -0.892045527697 -0.303290978074 -0.909304007888 -0.303283020854 -0.926561817527 -0.303276129067 -0.943819373846 -0.303270258009 -0.961076378822 -0.303265467286 -0.978333249688 -0.303261764348 -0.995589703322 -0.303259119391 -1.01284614205 -0.303257517516 -1.03010228276 -0.303257018328 -1.04735854268 -0.30325756967 -1.06461459398 -0.303259193897 -1.08187091351 -0.303261876106 -1.09912717342 -0.303265616298 -1.11638382077 -0.303270429373 -1.13364052773 -0.303276330233 -1.15089774132 -0.303283281624 -1.16815513372 -0.303291261196 -1.18541312218 -0.303300328552 -1.20267140865 -0.303304933012 -1.22189056873 -0.303300000727 -1.24111139774 -0.303290978074 -1.25836986303 -0.303282998502 -1.27562764287 -0.303276106715 -1.29288518429 -0.303270258009 -1.31014221907 -0.303265467286 -1.32739910484 -0.303261764348 -1.34465551377 -0.303259119391 -1.3619119525 -0.303257517516 -1.3791680932 -0.303257018328 -1.39642438293 -0.30325756967 -1.41368046403 -0.303259171545 -1.43093678355 -0.303261853755 -1.44819307327 -0.303265616298 -1.46544972062 -0.303270429373 -1.48270639777 -0.303276330233 -1.49996355176 -0.303283259272 -1.51722091436 -0.303291238844 -1.53447893262 -0.303300328552 -1.5517372489 -0.303304933012 -1.57095640898 -0.303300023079 -1.59017723799 -0.303291000426 -1.60743570328 -0.303282998502 -1.62469351292 -0.303276106715 -1.64195108414 -0.303270258009 -1.65920805931 -0.303265467286 -1.67646494508 -0.303261764348 -1.69372141361 -0.303259119391 -1.71097785234 -0.303257517516 -1.72823399305 -0.303257018328 -1.74549022317 -0.30325756967 -1.76274627447 -0.303259193897 -1.78000262379 -0.303261876106 -1.79725888371 -0.303265616298 -1.81451550126 -0.303270429373 -1.83177220821 -0.303276330233 -1.84902942181 -0.303283259272 -1.86628681421 -0.303291238844 -1.88354480267 -0.303300328552 -1.90080311894 -0.303304933012 -1.92002227902 -0.303300000727 -1.93924307823 -0.303290978074 -1.95650157332 -0.303283020854 -1.97375935316 -0.303276129067 -1.99101689458 -0.303270258009 -2.00827389956 -0.303265467286 -2.02553081513 -0.303261764348 -2.04278731346 -0.303259119391 -2.06004369259 -0.303257517516 -2.0772998333 -0.303257018328 -2.09455609322 -0.30325756967 -2.11181211472 -0.303259193897 -2.12906843424 -0.303261876106 -2.14632475376 -0.303265616298 -2.16358143091 -0.303270429373 -2.18083804846 -0.303276330233 -2.19809520244 -0.303283281624 -2.21535265446 -0.303291261196 -2.23261070252 -0.303300328552 -2.24986898899 -0.303304933012 -2.26908814907 -0.303300000727 -2.28830897808 -0.303290978074 -2.30556744337 -0.303283020854 -2.32282519341 -0.303276129067 -2.34008276463 -0.303270258009 -2.35733979941 -0.303265467286 -2.37459665537 -0.303261764348 -2.3918530941 -0.303259119391 -2.40910953283 -0.303257517516 -2.42636567354 -0.303257018328 -2.44362193346 -0.30325756967 -2.46087801457 -0.303259193897 -2.47813433409 -0.303261876106 -2.495390594 -0.303265616298 -2.51264727116 -0.303270429373 -2.52990400791 -0.303276330233 -2.54716122151 -0.303283259272 -2.56441855431 -0.303291238844 -2.58167648316 -0.303300328552 -2.59893476963 -0.303304933012 -2.61815392971 -0.303300000727 -2.63737475872 -0.303290978074 -2.65463322401 -0.303282998502 -2.67189103365 -0.303276106715 -2.68914860487 -0.303270258009 -2.70640563965 -0.303265467286 -2.72366249562 -0.303261764348 -2.74091887474 -0.303259119391 -2.75817537308 -0.303257517516 -2.77543151379 -0.303257018328 -2.79268777371 -0.30325756967 -2.80994391442 -0.303259171545 -2.82720023394 -0.303261876107 -2.84445649385 -0.303265638649 -2.8617131114 -0.303270429373 -2.87896978855 -0.303276330233 -2.89622700215 -0.303283259272 -2.91348433495 -0.303291238844 -2.9307423234 -0.303300328552 -2.94800066948 -0.303304933012 -2.96721982956 -0.303300023079 -2.98644059896 -0.303291022777 -3.00369906426 -0.303283020854 -3.02095687389 -0.303276106715 -3.03821438551 -0.303270258009 -3.05547142029 -0.303265489638 -3.07272833586 -0.303261786699 -3.08998477459 -0.303259119391 -3.10724121332 -0.303257517516 -3.12449741363 -0.303257018328 --3.14143160184 -0.30325756967 --3.12417554855 -0.303259193897 --3.10691922903 -0.303261876106 --3.08966296911 -0.303265616298 --3.07240635157 -0.303270429373 --3.05514967441 -0.303276330233 --3.03789246082 -0.303283259272 --3.02063512802 -0.303291238844 --3.00337713957 -0.303300328552 --2.98611879349 -0.303304933012 --2.96689963341 -0.303300000727 --2.947678864 -0.303290978074 --2.93042039871 -0.303283020854 --2.91316258907 -0.303276129067 --2.89590501785 -0.303270258009 --2.87864798307 -0.303265467286 --2.8613910675 -0.303261764348 --2.84413462877 -0.303259119391 --2.82687824965 -0.303257517516 --2.80962204933 -0.303257018328 --2.79236578941 -0.30325756967 --2.77510976791 -0.303259193897 --2.75785344839 -0.303261898458 --2.74059718847 -0.303265638649 --2.72334057093 -0.303270429373 --2.70608389377 -0.303276330233 --2.68882668018 -0.303283259272 --2.67156922817 -0.303291238844 --2.65431123972 -0.303300328552 --2.63705295324 -0.303304933012 --2.61783373356 -0.303300023079 --2.59861290455 -0.303291000426 --2.58135443926 -0.303283020854 --2.56409668922 -0.303276129067 --2.546839118 -0.303270258009 --2.52958208322 -0.303265467286 --2.51232522726 -0.303261764348 --2.49506878853 -0.303259119391 --2.4778124094 -0.303257517516 --2.46055626869 -0.303257018328 --2.44329994917 -0.30325756967 --2.42604386806 -0.303259171545 --2.40878754854 -0.303261876107 --2.39153128862 -0.303265638649 --2.37427467107 -0.303270429373 --2.35701793432 -0.303276330233 --2.33976072073 -0.303283259272 --2.32250338793 -0.303291238844 --2.30524539947 -0.303300328552 --2.287987113 -0.303304933012 --2.26876795292 -0.303300000727 --2.24954712391 -0.303290978074 --2.23228859901 -0.303283020854 --2.21503078938 -0.303276129067 --2.19777327776 -0.303270258009 --2.18051624298 -0.303265467286 --2.16325938702 -0.303261764348 --2.14600300789 -0.303259119391 --2.12874650955 -0.303257517516 --2.11149036884 -0.303257018328 --2.09423410892 -0.30325756967 --2.07697796822 -0.303259193897 --2.0597216487 -0.303261876106 --2.04246544838 -0.303265616298 --2.02520883084 -0.303270429373 --2.00795209408 -0.303276330233 --1.99069494009 -0.303283281624 --1.97343760729 -0.303291261196 --1.95617958903 -0.303300328552 --1.93892127276 -0.303304933012 --1.91970211268 -0.303300000727 --1.90048128367 -0.303290978074 --1.88322281837 -0.303282998502 --1.86596500873 -0.303276106715 --1.84870743751 -0.303270258009 --1.83145046234 -0.303265467286 --1.81419357657 -0.303261764348 --1.79693710804 -0.303259119391 --1.77968066931 -0.303257517516 --1.7624245286 -0.303257018328 --1.74516829848 -0.30325756967 --1.72791221738 -0.303259171545 --1.71065586805 -0.303261853755 --1.69339960814 -0.303265616298 --1.67614299059 -0.303270429373 --1.65888631344 -0.303276330233 --1.64162909985 -0.303283259272 --1.62437170744 -0.303291238844 --1.60711368918 -0.303300328552 --1.58985537291 -0.303304933012 --1.57063624263 -0.303300023079 --1.55141544342 -0.303291000426 --1.53415694833 -0.303282998502 --1.51689913869 -0.303276106715 --1.49964159727 -0.303270258009 --1.48238459229 -0.303265467286 --1.46512773633 -0.303261764348 --1.4478712976 -0.303259119391 --1.43061482906 -0.303257517516 --1.41335865855 -0.303257018328 --1.39610239863 -0.30325756967 --1.37884634733 -0.303259193897 --1.36159002781 -0.303261876106 --1.34433376789 -0.303265616298 --1.32707712054 -0.303270429373 --1.30982041359 -0.303276330233 --1.2925632298 -0.303283259272 --1.27530583739 -0.303291238844 --1.25804784894 -0.303300328552 --1.24078956246 -0.303304933012 --1.22157037258 -0.303300000727 --1.20234954357 -0.303290978074 --1.18509107828 -0.303283020854 --1.16783329845 -0.303276129067 --1.15057575703 -0.303270258009 --1.13331872225 -0.303265467286 --1.11606183648 -0.303261764348 --1.09880542755 -0.303259119391 --1.08154898882 -0.303257517516 --1.06429284811 -0.303257018328 --1.04703655839 -0.30325756967 --1.02978050709 -0.303259193897 --1.01252421737 -0.303261876106 --0.995267912745 -0.303265616298 --0.978011250496 -0.303270429373 --0.960754558444 -0.303276330233 --0.943497389555 -0.303283281624 --0.92624001205 -0.303291261196 --0.908981993795 -0.303300328552 --0.891723707318 -0.303304933012 --0.87250456214 -0.303300000727 --0.853283748031 -0.303290978074 --0.836025267839 -0.303283020854 --0.818767443299 -0.303276129067 --0.80150988698 -0.303270258009 --0.784252882004 -0.303265467286 --0.766996011138 -0.303261764348 --0.749739572406 -0.303259119391 --0.732483118773 -0.303257517516 --0.715226978064 -0.303257018328 --0.697970718145 -0.30325756967 --0.680714637041 -0.303259193897 --0.663458317518 -0.303261876106 --0.6462020576 -0.303265616298 --0.628945410251 -0.303270429373 --0.6116887182 -0.303276330233 --0.594431519508 -0.303283259272 --0.577174142003 -0.303291238844 --0.559916168451 -0.303300328552 --0.542657852173 -0.303304933012 --0.523438692093 -0.303300000727 --0.504217885435 -0.303290978074 --0.486959405243 -0.303282998502 --0.469701595604 -0.303276106715 --0.452444039285 -0.303270258009 --0.435187041759 -0.303265467286 --0.417930163443 -0.303261764348 --0.40067370981 -0.303259119391 --0.383417271078 -0.303257517516 --0.36616115272 -0.303257018328 --0.348904892802 -0.30325756967 --0.331648804247 -0.303259171545 --0.314392462373 -0.303261876107 --0.297136202455 -0.303265638649 --0.279879570007 -0.303270429373 --0.262622870505 -0.303276330233 --0.245365679264 -0.303283259272 --0.228108298034 -0.303291238844 --0.210850294679 -0.303300328552 --0.193591985851 -0.303304933012 --0.174372822046 -0.32065000385 --0.155145078898 -0.320640526712 --0.13788658753 -0.320632122457 --0.120628757402 -0.320624858141 --0.103371173143 -0.320618674159 --0.0861141420901 -0.320613637566 --0.0688572367653 -0.320609740913 --0.0516007626429 -0.320606946945 --0.0343442889862 -0.320605240762 --0.0170881215017 -0.32060470432 -0.000168169848622 -0.320605292916 -0.0174242763315 -0.320606999099 -0.0346806319431 -0.32060982287 -0.0519369253889 -0.320613756776 -0.0691935885697 -0.320618845522 -0.0864503160119 -0.320625051856 -0.103707538918 -0.320632353425 -0.120964948088 -0.320640787482 -0.13822298497 -0.320650368929 -0.155481319875 -0.320655219257 -0.174700215459 -0.320650026202 -0.193920768798 -0.320640526712 -0.211179278791 -0.320632122457 -0.228437107056 -0.320624858141 -0.245694682002 -0.320618674159 -0.262951716781 -0.320613637566 -0.280208617449 -0.320609740913 -0.297465085983 -0.320606946945 -0.314721561968 -0.320605240762 -0.331977732479 -0.32060470432 -0.3492340222 -0.320605292916 -0.366490118205 -0.320606999099 -0.383746467531 -0.320609845221 -0.401002772153 -0.320613779128 -0.418259434402 -0.320618845522 -0.435516163707 -0.320625051856 -0.452773399651 -0.320632353425 -0.470030806958 -0.320640787482 -0.487288825214 -0.320650368929 -0.504547163844 -0.320655219257 -0.523766070604 -0.320650026202 -0.542986616492 -0.320640526712 -0.560245126486 -0.320632122457 -0.577502965927 -0.320624858141 -0.594760552048 -0.320618674159 -0.612017586827 -0.320613615215 -0.629274487496 -0.320609718561 -0.64653095603 -0.320606946945 -0.663787424564 -0.320605263114 -0.681043580174 -0.320604726672 -0.698299869895 -0.320605292916 -0.715555980801 -0.320606999099 -0.732812330127 -0.320609845221 -0.750068619847 -0.320613779128 -0.767325282097 -0.320618845522 -0.784582033753 -0.320625051856 -0.801839262247 -0.320632353425 -0.819096654654 -0.320640787482 -0.83635468781 -0.320650368929 -0.85361301899 -0.320655219257 -0.872831910849 -0.320650026202 -0.892052471638 -0.320640526712 -0.90931096673 -0.320632122457 -0.92656879127 -0.320624858141 -0.943826377392 -0.320618674159 -0.96108341217 -0.320613637566 -0.978340327739 -0.320609740913 -0.995596811176 -0.320606946945 -1.01285329461 -0.320605263114 -1.03010946512 -0.320604726672 -1.04736575484 -0.320605292916 -1.06462183595 -0.320606999099 -1.08187815547 -0.32060982287 -1.09913444519 -0.320613756776 -1.11639112234 -0.320618845522 -1.1336478591 -0.320625051856 -1.15090510249 -0.320632353425 -1.1681625247 -0.320640787482 -1.18542054296 -0.320650368929 -1.20267885923 -0.320655219257 -1.22189775109 -0.320650026202 -1.24111831188 -0.320640526712 -1.25837680698 -0.320632122457 -1.27563464642 -0.320624858141 -1.29289221763 -0.320618674159 -1.31014925242 -0.320613637566 -1.32740619779 -0.320609740913 -1.34466263652 -0.320606946945 -1.36191907525 -0.320605263114 -1.37917524576 -0.320604726672 -1.39643156528 -0.320605292916 -1.41368767619 -0.320606999099 -1.43094402552 -0.32060982287 -1.44820034504 -0.320613756776 -1.46545702219 -0.320618845522 -1.48271372914 -0.320625051856 -1.49997091293 -0.320632353425 -1.51722830534 -0.320640787482 -1.5344863534 -0.320650368929 -1.55174469948 -0.320655219257 -1.57096362114 -0.320650026202 -1.59018421173 -0.320640526712 -1.60744270683 -0.320632122457 -1.62470051646 -0.320624858141 -1.64195808768 -0.320618674159 -1.65921509266 -0.320613637566 -1.67647200823 -0.320609740913 -1.69372850657 -0.320606946945 -1.7109849751 -0.320605263114 -1.72824114561 -0.320604726672 -1.74549743533 -0.320605292916 -1.76275351644 -0.320606999099 -1.78000989556 -0.32060982287 -1.79726618528 -0.320613756776 -1.81452283263 -0.320618845522 -1.83177956939 -0.320625051856 -1.84903678298 -0.320632353425 -1.86629420519 -0.320640787482 -1.88355222344 -0.320650368929 -1.90081056952 -0.320655219257 -1.92002946138 -0.320650026202 -1.93924999237 -0.320640526712 -1.95650851727 -0.320632122457 -1.97376635671 -0.320624858141 -1.99102395773 -0.320618674159 -2.00828096271 -0.320613637566 -2.02553784848 -0.320609740913 -2.04279434681 -0.320606946945 -2.06005078554 -0.320605263114 -2.07730698586 -0.320604726672 -2.09456330538 -0.320605292916 -2.11181932688 -0.320606999099 -2.129075706 -0.32060982287 -2.14633208513 -0.320613756776 -2.16358870268 -0.320618845522 -2.18084537983 -0.320625051856 -2.19810259342 -0.320632353425 -2.21536004543 -0.320640787482 -2.23261809349 -0.320650368929 -2.24987637997 -0.320655219257 -2.26909530163 -0.320650026202 -2.28831589222 -0.320640526712 -2.30557441712 -0.320632122457 -2.32283222675 -0.320624858141 -2.34008979797 -0.320618674159 -2.35734683275 -0.320613637566 -2.37460374832 -0.320609740913 -2.39186024666 -0.320606946945 -2.40911674499 -0.320605263114 -2.4263728857 -0.320604726672 -2.44362914562 -0.320605292916 -2.46088528633 -0.320606999099 -2.47814160585 -0.32060982287 -2.49539786577 -0.320613756776 -2.51265454292 -0.320618845522 -2.52991127968 -0.320625051856 -2.54716855288 -0.320632353425 -2.56442594528 -0.320640787482 -2.58168393373 -0.320650368929 -2.59894222021 -0.320655219257 -2.61816108227 -0.320650026202 -2.63738167286 -0.320640526712 -2.65464019775 -0.320632122457 -2.67189800739 -0.320624858141 -2.68915557861 -0.320618674159 -2.706412673 -0.320613637566 -2.72366958857 -0.320609740913 -2.7409260273 -0.320606946945 -2.75818252564 -0.320605263114 -2.77543866634 -0.320604726672 -2.79269492626 -0.320605292916 -2.80995106697 -0.320606999099 -2.8272074461 -0.320609845221 -2.84446376562 -0.320613779128 -2.86172044277 -0.320618845522 -2.87897717953 -0.320625051856 -2.89623439312 -0.320632353425 -2.91349172592 -0.320640787482 -2.93074977398 -0.320650368929 -2.94800817966 -0.320655196905 -2.96722710132 -0.32065000385 -2.98644757271 -0.320640526712 -3.00370597839 -0.320632122457 -3.02096384764 -0.320624858141 -3.03822147847 -0.320618674159 -3.05547851324 -0.320613637566 -3.07273536921 -0.320609740913 -3.08999180794 -0.320606946945 -3.10724830628 -0.320605240762 -3.12450456619 -0.32060470432 --3.14142444928 -0.320605292916 --3.124168396 -0.320606999099 --3.10691201687 -0.32060982287 --3.08965569735 -0.320613756776 --3.07239902019 -0.320618845522 --3.05514228344 -0.320625051856 --3.03788506985 -0.320632353425 --3.02062773705 -0.320640787482 --3.00336968899 -0.320650368929 --2.9861112833 -0.320655219257 --2.96689236164 -0.320650026202 --2.94767189026 -0.320640526712 --2.93041342497 -0.320632122457 --2.91315555572 -0.320624858141 --2.8958979845 -0.320618674159 --2.87864094972 -0.320613637566 --2.86138403415 -0.320609740913 --2.84412759542 -0.320606946945 --2.82687115669 -0.320605240762 --2.80961489677 -0.32060470432 --2.79235857725 -0.320605292916 --2.77510255575 -0.320606999099 --2.75784623623 -0.320609845221 --2.74058991671 -0.320613779128 --2.72333323956 -0.320618845522 --2.7060765028 -0.320625051856 --2.68881928921 -0.320632353425 --2.6715618372 -0.320640787482 --2.65430378914 -0.320650368929 --2.63704550266 -0.320655219257 --2.617826581 -0.320650026202 --2.59860599041 -0.320640526712 --2.58134746551 -0.320632122457 --2.56408965587 -0.320624858141 --2.54683208465 -0.320618674159 --2.52957504988 -0.320613615215 --2.51231813431 -0.320609718561 --2.49506163597 -0.320606946945 --2.47780519724 -0.320605263114 --2.46054905653 -0.320604726672 --2.443292737 -0.320605292916 --2.4260365963 -0.320606999099 --2.40878027678 -0.320609845221 --2.39152401686 -0.320613779128 --2.37426739931 -0.320618845522 --2.35701066256 -0.320625051856 --2.33975338936 -0.320632353425 --2.32249599695 -0.320640787482 --2.30523794889 -0.320650368929 --2.28797960281 -0.320655219257 --2.26876074076 -0.320650026202 --2.24954020977 -0.320640526712 --2.23228168487 -0.320632122457 --2.21502387523 -0.320624858141 --2.19776630401 -0.320618674159 --2.18050920963 -0.320613637566 --2.16325229406 -0.320609740913 --2.14599585533 -0.320606946945 --2.128739357 -0.320605263114 --2.11148321629 -0.320604726672 --2.09422695636 -0.320605292916 --2.07697081566 -0.320606999099 --2.05971443653 -0.32060982287 --2.04245817661 -0.320613756776 --2.02520149946 -0.320618845522 --2.0079447329 -0.320625051856 --1.99068754911 -0.320632353425 --1.97343015671 -0.320640787482 --1.95617210865 -0.320650368929 --1.93891376257 -0.320655219257 --1.91969487071 -0.320650026202 --1.90047430992 -0.320640526712 --1.88321581483 -0.320632122457 --1.86595800519 -0.320624858141 --1.84870043397 -0.320618674159 --1.83144342899 -0.320613637566 --1.81418651342 -0.320609740913 --1.79693001509 -0.320606946945 --1.77967354655 -0.320605263114 --1.76241737604 -0.320604726672 --1.74516108632 -0.320605292916 --1.72790497541 -0.320606999099 --1.71064859629 -0.32060982287 --1.69339230657 -0.320613756776 --1.67613565922 -0.320618845522 --1.65887892246 -0.320625051856 --1.64162170887 -0.320632353425 --1.62436431646 -0.320640787482 --1.60710626841 -0.320650368929 --1.58984792233 -0.320655219257 --1.57062903046 -0.320650026202 --1.55140849948 -0.320640526712 --1.53415000439 -0.320632122457 --1.51689216495 -0.320624858141 --1.49963456392 -0.320618674159 --1.48237752914 -0.320613637566 --1.46512064338 -0.320609740913 --1.44786417484 -0.320606946945 --1.4306076765 -0.320605263114 --1.41335147619 -0.320604726672 --1.39609521627 -0.320605292916 --1.37883913517 -0.320606999099 --1.36158278585 -0.32060982287 --1.34432649612 -0.320613756776 --1.32706981898 -0.320618845522 --1.30981308222 -0.320625051856 --1.29255583882 -0.320632353425 --1.27529844642 -0.320640787482 --1.25804042816 -0.320650368929 --1.24078208208 -0.320655219257 --1.22156319022 -0.320650026202 --1.20234262943 -0.320640526712 --1.18508413434 -0.320632122457 --1.1678263247 -0.320624858141 --1.15056875348 -0.320618674159 --1.1333116889 -0.320613637566 --1.11605474353 -0.320609740913 --1.0987983048 -0.320606946945 --1.08154186606 -0.320605263114 --1.06428569555 -0.320604726672 --1.04702937603 -0.320605292916 --1.02977326513 -0.320606999099 --1.0125169158 -0.32060982287 --0.995260611176 -0.320613756776 --0.978003948927 -0.320618845522 --0.960747212171 -0.320625051856 --0.94349001348 -0.320632353425 --0.926232606173 -0.320640787482 --0.908974543214 -0.320650368929 --0.891716226935 -0.320655219257 --0.872497349977 -0.320650026202 --0.85327680409 -0.320640526712 --0.836018294096 -0.320632122457 --0.818760439753 -0.320624858141 --0.801502853632 -0.320618674159 --0.784245848656 -0.320613637566 --0.766988947988 -0.320609740913 --0.749732464552 -0.320606946945 --0.732475981116 -0.320605263114 --0.715219795704 -0.320604726672 --0.697963520884 -0.320605292916 --0.680707424879 -0.320606999099 --0.663451060653 -0.32060982287 --0.646194770932 -0.320613756776 --0.628938108683 -0.320618845522 --0.611681386829 -0.320625051856 --0.594424158335 -0.320632353425 --0.577166751027 -0.320640787482 --0.559908732772 -0.320650368929 --0.542650401592 -0.320655219257 --0.523431509733 -0.320650026202 --0.504210956395 -0.320640526712 --0.48695243895 -0.320632122457 --0.469694599509 -0.320624858141 --0.452437020838 -0.320618674159 --0.43517998606 -0.320613637566 --0.417923085392 -0.320609740913 --0.400666616857 -0.320606946945 --0.383410148323 -0.320605263114 --0.366153985262 -0.320604726672 --0.348897688091 -0.320605292916 --0.331641577184 -0.320606999099 --0.314385205507 -0.320609845221 --0.297128915787 -0.320613779128 --0.279872260988 -0.320618845522 --0.262615524233 -0.320625051856 --0.245358299464 -0.320632353425 --0.228100895882 -0.320640787482 --0.210842870176 -0.320650368929 --0.193584531546 -0.320655196905 --0.174365624785 -0.33798263967 --0.15513817966 -0.337972693146 --0.137879654765 -0.337963856757 --0.12062179856 -0.337956205011 --0.103364186362 -0.337949723005 --0.0861071273685 -0.337944447994 --0.0688501950354 -0.337940350175 --0.0515936901793 -0.337937414646 --0.0343371867202 -0.337935648859 --0.0170809898991 -0.337935082615 -0.000175330787898 -0.337935678661 -0.0174314666074 -0.337937481702 -0.0346878515556 -0.337940454483 -0.0519441757351 -0.337944597006 -0.069200870581 -0.337949939072 -0.0864576287568 -0.337956443429 -0.103714881465 -0.337964124978 -0.120972320437 -0.337972968817 -0.138230383396 -0.337983004749 -0.155488748103 -0.337988108396 -0.174707382917 -0.337982662022 -0.193927668035 -0.337972693146 -0.211186204105 -0.337963856757 -0.228444062173 -0.337956205011 -0.245701666921 -0.337949723005 -0.262958727777 -0.337944447994 -0.280215658247 -0.337940350175 -0.297472164035 -0.337937414646 -0.314728669822 -0.337935626507 -0.331984862685 -0.337935060263 -0.349241182208 -0.337935678661 -0.366497308016 -0.337937481702 -0.383753687143 -0.337940454483 -0.401010029018 -0.337944597006 -0.41826672852 -0.337949939072 -0.435523480177 -0.337956443429 -0.452780731023 -0.337964124978 -0.470038168132 -0.337972968817 -0.487296223641 -0.337983004749 -0.504554592073 -0.337988108396 -0.523773223161 -0.337982662022 -0.54299351573 -0.337972693146 -0.560252070427 -0.337963879109 -0.57750992477 -0.337956227362 -0.594767540693 -0.337949723005 -0.612024605274 -0.337944425642 -0.629281520844 -0.337940327823 -0.646538019181 -0.337937414646 -0.663794532418 -0.337935648859 -0.681050732732 -0.337935082615 -0.698307052255 -0.337935678661 -0.715563163161 -0.337937481702 -0.732819527388 -0.337940454483 -0.750075861811 -0.337944597006 -0.767332568764 -0.337949939072 -0.784589350223 -0.337956443429 -0.801846593618 -0.337964124978 -0.819104000926 -0.337972991168 -0.836362078786 -0.3379830271 -0.85362046957 -0.337988108396 -0.872839078307 -0.337982662022 -0.892059355975 -0.337972693146 -0.909317910671 -0.337963879109 -0.926575765014 -0.337956227362 -0.943833351135 -0.337949723005 -0.961090400815 -0.337944447994 -0.978347346186 -0.337940350175 -0.995603859425 -0.337937414646 -1.01286038756 -0.337935648859 -1.03011658788 -0.337935082615 -1.0473729074 -0.337935678661 -1.06462901831 -0.337937481702 -1.08188536763 -0.337940454483 -1.09914171696 -0.337944597006 -1.11639842391 -0.337949939072 -1.13365516067 -0.337956443429 -1.15091240406 -0.337964110077 -1.16816985607 -0.337972953916 -1.18542793393 -0.337983004749 -1.20268630982 -0.337988108396 -1.22190493345 -0.337982662022 -1.24112522602 -0.337972693146 -1.25838375091 -0.337963856757 -1.27564162016 -0.337956205011 -1.29289922118 -0.337949723005 -1.31015625596 -0.337944447994 -1.32741323113 -0.337940350175 -1.34466972947 -0.337937414646 -1.361926198 -0.33793567121 -1.37918239832 -0.337935104966 -1.39643871784 -0.337935678661 -1.41369485855 -0.337937481702 -1.43095126748 -0.337940454483 -1.448207587 -0.337944574654 -1.46546426416 -0.33794991672 -1.48272103072 -0.337956443429 -1.49997827411 -0.337964110077 -1.51723569632 -0.337972976268 -1.53449377418 -0.3379830271 -1.55175215006 -0.337988108396 -1.5709708035 -0.337982662022 -1.59019109607 -0.337972693146 -1.60744962096 -0.337963856757 -1.6247074604 -0.337956227362 -1.64196506143 -0.337949745357 -1.65922212601 -0.337944447994 -1.67647904158 -0.337940350175 -1.69373553991 -0.337937414646 -1.71099206805 -0.337935648859 -1.72824826837 -0.337935082615 -1.74550458789 -0.337935678661 -1.7627607286 -0.337937481702 -1.78001710772 -0.337940454483 -1.79727342724 -0.337944597006 -1.8145301342 -0.337949939072 -1.83178690076 -0.337956443429 -1.84904414415 -0.337964124978 -1.86630159617 -0.337972968817 -1.88355964422 -0.337983004749 -1.9008179903 -0.337988108396 -1.92003661394 -0.337982662022 -1.93925690651 -0.337972693146 -1.95651546121 -0.337963856757 -1.97377333045 -0.337956205011 -1.99103093147 -0.337949723005 -2.00828796625 -0.337944447994 -2.02554488182 -0.337940350175 -2.04280138016 -0.337937414646 -2.06005787849 -0.337935648859 -2.07731407881 -0.337935082615 -2.09457045794 -0.337935678661 -2.11182659864 -0.337937481702 -2.12908297777 -0.337940454483 -2.14633929729 -0.337944597006 -2.16359597444 -0.337949939072 -2.1808527708 -0.337956443429 -2.1981099844 -0.337964124978 -2.21536743641 -0.337972968817 -2.23262548446 -0.337983004749 -2.24988377094 -0.337988108396 -2.26910245419 -0.337982662022 -2.28832280636 -0.337972693146 -2.30558133125 -0.337963856757 -2.32283914089 -0.337956205011 -2.34009671211 -0.337949723005 -2.35735380649 -0.337944447994 -2.37461078167 -0.337940350175 -2.39186728001 -0.337937414646 -2.40912377834 -0.33793567121 -2.42637997866 -0.337935104966 -2.44363629818 -0.337935678661 -2.46089243889 -0.337937481702 -2.47814881801 -0.337940454483 -2.49540513754 -0.337944597006 -2.51266181469 -0.337949939072 -2.52991855144 -0.337956421077 -2.54717582464 -0.337964087725 -2.56443327665 -0.337972953916 -2.58169138432 -0.337983004749 -2.59894967079 -0.337988108396 -2.61816823483 -0.337982662022 -2.637388587 -0.337972693146 -2.65464711189 -0.337963856757 -2.67190498114 -0.337956205011 -2.68916261196 -0.337949723005 -2.70641964674 -0.337944447994 -2.72367662192 -0.337940350175 -2.74093312025 -0.337937414646 -2.75818961859 -0.33793567121 -2.7754458189 -0.337935104966 -2.79270207882 -0.337935678661 -2.80995821953 -0.337937481702 -2.82721459865 -0.337940454483 -2.84447097778 -0.337944597006 -2.86172771454 -0.337949939072 -2.87898445129 -0.337956443429 -2.89624172449 -0.337964110077 -2.9134991169 -0.337972953916 -2.93075716496 -0.337983004749 -2.94801557064 -0.337988086044 -2.96723419428 -0.33798263967 -2.98645442724 -0.337972693146 -3.00371295214 -0.337963856757 -3.02097088099 -0.337956205011 -3.03822851181 -0.337949723005 -3.05548554659 -0.337944447994 -3.07274246216 -0.337940350175 -3.0899989605 -0.337937414646 -3.10725545883 -0.337935648859 -3.12451165914 -0.337935082615 --3.14141735633 -0.337935678661 --3.12416124344 -0.337937481702 --3.10690480471 -0.337940454483 --3.08964842558 -0.337944597006 --3.07239174843 -0.337949939072 --3.05513501167 -0.337956443429 --3.03787773847 -0.337964124978 --3.02062034607 -0.337972968817 --3.00336229801 -0.337983004749 --2.98610389233 -0.337988108396 --2.96688520908 -0.337982662022 --2.94766497612 -0.337972693146 --2.93040645123 -0.337963856757 --2.91314852238 -0.337956205011 --2.89589095116 -0.337949723005 --2.87863391638 -0.337944447994 --2.86137700081 -0.337940350175 --2.84412050247 -0.337937414646 --2.82686400414 -0.337935626507 --2.80960780382 -0.337935060263 --2.79235142469 -0.337935678661 --2.77509534359 -0.337937481702 --2.75783902407 -0.337940454483 --2.74058264494 -0.337944597006 --2.72332590819 -0.337949939072 --2.70606917143 -0.337956443429 --2.68881195784 -0.337964124978 --2.67155450582 -0.337972968817 --2.65429645777 -0.337983004749 --2.63703811169 -0.337988108396 --2.61781942844 -0.337982662022 --2.59859907627 -0.337972693146 --2.58134055137 -0.337963879109 --2.56408274174 -0.337956227362 --2.54682517052 -0.337949723005 --2.52956807613 -0.337944425642 --2.51231110096 -0.337940327823 --2.49505460262 -0.337937414646 --2.47779810429 -0.337935648859 --2.46054190397 -0.337935082615 --2.44328558445 -0.337935678661 --2.42602944374 -0.337937481702 --2.40877306462 -0.337940454483 --2.3915168047 -0.337944597006 --2.37426012755 -0.337949939072 --2.35700333119 -0.337956443429 --2.33974611759 -0.337964124978 --2.32248866558 -0.337972991168 --2.30523049832 -0.3379830271 --2.28797209263 -0.337988108396 --2.2687535286 -0.337982662022 --2.24953329563 -0.337972693146 --2.23227477073 -0.337963879109 --2.2150169611 -0.337956227362 --2.19775933027 -0.337949723005 --2.18050223589 -0.337944447994 --2.16324532032 -0.337940350175 --2.14598882198 -0.337937414646 --2.12873226404 -0.337935648859 --2.11147606373 -0.337935082615 --2.09421980381 -0.337935678661 --2.0769636631 -0.337937481702 --2.05970728398 -0.337940454483 --2.04245096445 -0.337944597006 --2.0251942277 -0.337949939072 --2.00793746114 -0.337956443429 --1.99068021774 -0.337964110077 --1.97342276573 -0.337972953916 --1.95616468787 -0.337983004749 --1.93890631199 -0.337988108396 --1.91968768835 -0.337982662022 --1.90046742558 -0.337972693146 --1.88320890069 -0.337963856757 --1.86595103145 -0.337956205011 --1.84869343042 -0.337949723005 --1.83143639564 -0.337944447994 --1.81417948007 -0.337940350175 --1.79692298174 -0.337937414646 --1.7796664536 -0.33793567121 --1.76241022348 -0.337935104966 --1.74515390396 -0.337935678661 --1.72789776325 -0.337937481702 --1.71064138412 -0.337940454483 --1.6933850944 -0.337944574654 --1.67612838745 -0.33794991672 --1.65887159109 -0.337956443429 --1.6416143477 -0.337964110077 --1.62435692549 -0.337972976268 --1.60709887743 -0.3379830271 --1.58984053135 -0.337988108396 --1.57062187791 -0.337982662022 --1.55140158534 -0.337972693146 --1.53414306044 -0.337963856757 --1.5168851912 -0.337956227362 --1.49962756038 -0.337949745357 --1.4823704958 -0.337944447994 --1.46511358022 -0.337940350175 --1.44785708189 -0.337937414646 --1.43060058355 -0.337935648859 --1.41334438324 -0.337935082615 --1.39608806372 -0.337935678661 --1.37883195281 -0.337937481702 --1.36157557368 -0.337940454483 --1.34431922436 -0.337944597006 --1.32706254721 -0.337949939072 --1.30980581045 -0.337956443429 --1.29254853725 -0.337964124978 --1.27529111504 -0.337972968817 --1.25803303719 -0.337983004749 --1.2407746315 -0.337988108396 --1.22155600786 -0.337982662022 --1.20233571529 -0.337972693146 --1.1850771904 -0.337963856757 --1.16781935095 -0.337956205011 --1.15056174993 -0.337949723005 --1.13330468535 -0.337944447994 --1.11604771018 -0.337940350175 --1.09879124165 -0.337937414646 --1.08153477311 -0.337935648859 --1.06427854299 -0.337935082615 --1.04702219367 -0.337935678661 --1.02976605296 -0.337937481702 --1.01250970363 -0.337940454483 --0.995253384113 -0.337944597006 --0.97799667716 -0.337949939072 --0.960739910603 -0.337956443429 --0.943482652307 -0.337964124978 --0.926225215197 -0.337972968817 --0.908967152238 -0.337983004749 --0.891708791256 -0.337988108396 --0.872490167618 -0.337982662022 --0.853269889951 -0.337972693146 --0.836011350155 -0.337963856757 --0.818753495813 -0.337956205011 --0.80149589479 -0.337949723005 --0.784238830209 -0.337944447994 --0.766981899738 -0.337940350175 --0.7497253865 -0.337937414646 --0.732468873262 -0.33793567121 --0.715212672949 -0.337935104966 --0.697956353426 -0.337935678661 --0.680700227618 -0.337937481702 --0.663443848491 -0.337940454483 --0.646187528968 -0.337944597006 --0.628930822015 -0.337949939072 --0.611674070358 -0.337956421077 --0.594416826963 -0.337964087725 --0.577159374952 -0.337972953916 --0.559901311994 -0.337983004749 --0.542642980814 -0.337988108396 --0.523424357176 -0.337982662022 --0.504204049707 -0.337972693146 --0.48694550246 -0.337963856757 --0.469687633216 -0.337956205011 --0.452430039644 -0.337949723005 --0.435172975063 -0.337944447994 --0.417916037142 -0.337940350175 --0.400659546256 -0.337937414646 --0.383403047919 -0.33793567121 --0.366146847606 -0.337935104966 --0.348890513182 -0.337935678661 --0.331634379923 -0.337937481702 --0.314377993345 -0.337940454483 --0.297121673822 -0.337944597006 --0.279864989221 -0.337949939072 --0.262608222664 -0.337956443429 --0.245350964368 -0.337964110077 --0.228093527258 -0.337972953916 --0.21083547175 -0.337983004749 --0.193577107042 -0.337988086044 --0.174358464777 -0.355328932404 --0.155130922794 -0.355318494141 --0.137872356922 -0.35530924052 --0.120614465326 -0.355301231146 --0.103356825188 -0.355294466019 --0.0860997401178 -0.355288952589 --0.0688427779824 -0.355284638703 --0.051586243324 -0.355281569064 --0.0343297086656 -0.355279751122 --0.0170734813437 -0.355279147625 -0.000182869145648 -0.355279766023 -0.0174390363973 -0.355281665921 -0.0346954525448 -0.355284757912 -0.0519518069923 -0.355289101601 -0.0692085344344 -0.355294704437 -0.0864653233439 -0.355301514268 -0.103722605854 -0.355309568345 -0.120980072766 -0.355318821966 -0.138238161802 -0.355329312384 -0.155496560037 -0.355334639549 -0.174714922905 -0.355328932404 -0.193934932351 -0.355318494141 -0.211193490773 -0.35530924052 -0.228451378643 -0.355301231146 -0.245709016919 -0.355294466019 -0.262966103852 -0.355288952589 -0.280223071575 -0.355284638703 -0.297479614615 -0.355281569064 -0.314736157656 -0.35527972877 -0.33199237287 -0.355279125273 -0.349248714745 -0.355279766023 -0.366504877806 -0.355281665921 -0.383761286736 -0.355284757912 -0.401017650962 -0.355289101601 -0.418274372816 -0.355294704437 -0.435531161725 -0.355301514268 -0.452788449824 -0.355309568345 -0.470045924187 -0.355318821966 -0.487304016948 -0.355329312384 -0.504562415183 -0.355334639549 -0.523780763149 -0.355328932404 -0.543000772595 -0.355318494141 -0.560259357095 -0.355309262872 -0.577517241239 -0.355301253498 -0.594774886966 -0.355294466019 -0.612031966448 -0.355288952589 -0.629288911819 -0.355284638703 -0.64654545486 -0.355281569064 -0.6638019979 -0.35527972877 -0.681058242917 -0.355279125273 -0.698314607143 -0.355279766023 -0.715570747852 -0.355281665921 -0.732827141881 -0.355284780264 -0.750083506107 -0.355289123952 -0.767340242863 -0.355294704437 -0.784597039223 -0.355301514268 -0.80185431242 -0.355309568345 -0.819111764431 -0.355318844318 -0.836369857192 -0.355329357088 -0.853628277779 -0.355334661901 -0.872846633196 -0.355328932404 -0.892066627741 -0.355318494141 -0.90932521224 -0.355309262872 -0.926583096385 -0.355301253498 -0.943840712309 -0.355294466019 -0.961097806692 -0.355288952589 -0.978354766965 -0.355284638703 -0.995611295105 -0.355281569064 -1.01286786795 -0.35527972877 -1.03012409806 -0.355279125273 -1.04738041758 -0.355279766023 -1.06463658809 -0.355281665921 -1.08189299702 -0.355284780264 -1.09914934635 -0.355289123952 -1.11640611291 -0.355294704437 -1.13366287947 -0.355301514268 -1.15092012286 -0.355309553444 -1.16817760468 -0.355318807066 -1.18543571234 -0.355329312384 -1.20269411802 -0.355334639549 -1.22191247344 -0.355328932404 -1.24113249779 -0.355318494141 -1.25839105248 -0.35530924052 -1.27564895153 -0.355301231146 -1.29290658236 -0.355294466019 -1.31016364693 -0.355288952589 -1.32742062211 -0.355284638703 -1.34467718005 -0.355281569064 -1.36193370819 -0.355279751122 -1.3791899085 -0.355279147625 -1.39644625783 -0.355279766023 -1.41370242834 -0.355281665921 -1.43095886707 -0.355284780264 -1.4482152164 -0.355289101601 -1.46547192335 -0.355294682086 -1.48272871971 -0.355301514268 -1.49998599291 -0.355309553444 -1.51724347472 -0.355318829417 -1.53450158238 -0.355329357088 -1.55175998807 -0.355334661901 -1.57097834349 -0.355328932404 -1.59019833803 -0.355318494141 -1.60745689273 -0.355309262872 -1.62471476197 -0.355301275849 -1.6419724226 -0.355294488371 -1.65922951698 -0.355288952589 -1.67648646235 -0.355284638703 -1.69374299049 -0.355281569064 -1.71099954844 -0.35527972877 -1.72825577855 -0.355279125273 -1.74551209807 -0.355279766023 -1.76276829839 -0.355281665921 -1.78002470732 -0.355284780264 -1.79728105664 -0.355289123952 -1.8145377934 -0.355294704437 -1.83179458976 -0.355301514268 -1.84905189276 -0.355309568345 -1.86630934477 -0.355318821966 -1.88356742263 -0.355329312384 -1.90082582831 -0.355334639549 -1.92004418373 -0.355328932404 -1.93926417828 -0.355318494141 -1.95652276278 -0.35530924052 -1.97378066182 -0.355301231146 -1.99103826284 -0.355294466019 -2.00829532742 -0.355288952589 -2.0255523324 -0.355284638703 -2.04280889034 -0.355281569064 -2.06006538868 -0.35527972877 -2.07732158899 -0.355279125273 -2.09457796812 -0.355279766023 -2.11183416844 -0.355281665921 -2.12909054756 -0.355284757912 -2.14634686708 -0.355289101601 -2.16360366344 -0.355294704437 -2.18086051941 -0.355301514268 -2.198117733 -0.355309568345 -2.21537518502 -0.355318821966 -2.23263329268 -0.355329312384 -2.24989163875 -0.355334639549 -2.26911002398 -0.355328932404 -2.28833007813 -0.355318494141 -2.30558860302 -0.35530924052 -2.32284647227 -0.355301231146 -2.34010410309 -0.355294466019 -2.35736119747 -0.355288952589 -2.37461817264 -0.355284661055 -2.39187467098 -0.355281591415 -2.40913116932 -0.355279751122 -2.42638742924 -0.355279147625 -2.44364380837 -0.355279766023 -2.46089994908 -0.355281665921 -2.47815638781 -0.355284780264 -2.49541276693 -0.355289123952 -2.51266950369 -0.355294704437 -2.52992630005 -0.355301491916 -2.54718351364 -0.355309531093 -2.56444096566 -0.355318807066 -2.58169913292 -0.355329334736 -2.598957479 -0.355334661901 -2.61817580462 -0.355328932404 -2.63739585877 -0.355318494141 -2.65465438366 -0.35530924052 -2.6719123125 -0.355301231146 -2.68917000294 -0.355294466019 -2.70642703772 -0.355288930237 -2.72368401289 -0.355284638703 -2.74094057083 -0.355281591415 -2.75819712877 -0.355279751122 -2.77545332908 -0.355279147625 -2.79270964861 -0.355279766023 -2.80996584892 -0.355281665921 -2.82722222805 -0.355284757912 -2.84447860717 -0.355289101601 -2.86173534393 -0.355294704437 -2.87899208069 -0.355301514268 -2.89624941349 -0.355309553444 -2.91350686551 -0.355318807066 -2.93076491356 -0.355329312384 -2.94802337885 -0.355334639549 -2.96724170447 -0.355328932404 -2.9864616394 -0.355318494141 -3.00372028351 -0.35530924052 -3.02097821235 -0.355301231146 -3.03823584318 -0.355294466019 -3.05549293756 -0.355288952589 -3.07274991274 -0.355284638703 -3.09000647068 -0.355281569064 -3.10726296901 -0.355279751122 -3.12451916933 -0.355279147625 --3.14140978654 -0.355279766023 --3.12415361405 -0.355281665921 --3.10689717531 -0.355284757912 --3.08964079618 -0.355289101601 --3.07238411903 -0.355294704437 --3.05512738227 -0.355301514268 --3.03787004947 -0.355309568345 --3.02061253786 -0.355318821966 --3.0033544898 -0.355329312384 --2.98609608412 -0.355334639549 --2.9668776989 -0.355328932404 --2.94765776396 -0.355318494141 --2.93039917946 -0.35530924052 --2.91314125061 -0.355301231146 --2.89588361978 -0.355294466019 --2.8786265254 -0.355288952589 --2.86136955023 -0.355284638703 --2.84411299229 -0.355281569064 --2.82685649395 -0.35527972877 --2.80960029364 -0.355279125273 --2.79234391451 -0.355279766023 --2.7750877738 -0.355281665921 --2.75783139467 -0.355284757912 --2.74057501554 -0.355289101601 --2.72331827879 -0.355294704437 --2.70606154203 -0.355301514268 --2.68880426883 -0.355309568345 --2.67154675722 -0.355318821966 --2.65428864956 -0.355329312384 --2.63703024387 -0.355334639549 --2.61781185865 -0.355328932404 --2.5985918045 -0.355318494141 --2.58133327961 -0.355309262872 --2.56407541037 -0.355301253498 --2.54681777954 -0.355294466019 --2.52956068516 -0.355288952589 --2.51230370999 -0.355284638703 --2.49504721165 -0.355281569064 --2.47779071331 -0.35527972877 --2.46053445339 -0.355279125273 --2.44327807427 -0.355279766023 --2.42602193355 -0.355281665921 --2.40876549482 -0.355284780264 --2.3915091753 -0.355289123952 --2.37425243854 -0.355294704437 --2.35699558258 -0.355301514268 --2.33973836899 -0.355309568345 --2.32248091698 -0.355318844318 --2.30522274971 -0.355329357088 --2.28796434402 -0.355334661901 --2.26874601841 -0.355328932404 --2.24952602386 -0.355318494141 --2.23226743937 -0.355309262872 --2.21500957012 -0.355301253498 --2.1977519393 -0.355294466019 --2.18049484492 -0.355288952589 --2.16323792935 -0.355284638703 --2.14598143101 -0.355281569064 --2.12872481346 -0.35527972877 --2.11146855354 -0.355279125273 --2.09421229363 -0.355279766023 --2.07695609331 -0.355281665921 --2.05969965458 -0.355284780264 --2.04244327545 -0.355289123952 --2.0251865387 -0.355294704437 --2.00792980194 -0.355301514268 --1.99067252875 -0.355309553444 --1.97341504693 -0.355318807066 --1.95615690946 -0.355329312384 --1.93889850378 -0.355334639549 --1.91968014836 -0.355328932404 --1.90046015381 -0.355318494141 --1.88320159912 -0.35530924052 --1.86594370007 -0.355301231146 --1.84868606925 -0.355294466019 --1.83142897487 -0.355288952589 --1.81417202949 -0.355284638703 --1.79691553116 -0.355281569064 --1.77965897322 -0.355279751122 --1.7624027133 -0.355279147625 --1.74514636397 -0.355279766023 --1.72789019346 -0.355281665921 --1.71063381433 -0.355284780264 --1.69337746501 -0.355289101601 --1.67612069846 -0.355294682086 --1.6588639021 -0.355301514268 --1.64160662889 -0.355309553444 --1.62434917688 -0.355318829417 --1.60709109902 -0.355329357088 --1.58983269334 -0.355334661901 --1.57061433792 -0.355328932404 --1.55139434338 -0.355318494141 --1.53413575888 -0.355309262872 --1.51687785983 -0.355301275849 --1.49962022901 -0.355294488371 --1.48236313462 -0.355288952589 --1.46510615945 -0.355284638703 --1.44784963131 -0.355281569064 --1.43059313297 -0.35527972877 --1.41333690286 -0.355279125273 --1.39608052373 -0.355279766023 --1.37882438302 -0.355281665921 --1.36156797409 -0.355284780264 --1.34431159497 -0.355289123952 --1.32705488801 -0.355294704437 --1.30979812146 -0.355301514268 --1.29254081845 -0.355309568345 --1.27528333664 -0.355318821966 --1.25802522898 -0.355329312384 --1.24076682329 -0.355334639549 --1.22154846787 -0.355328932404 --1.20232844353 -0.355318494141 --1.18506988883 -0.35530924052 --1.16781198979 -0.355301231146 --1.15055435896 -0.355294466019 --1.13329729438 -0.355288952589 --1.1160403192 -0.355284638703 --1.09878379106 -0.355281569064 --1.08152726293 -0.35527972877 --1.06427103281 -0.355279125273 --1.04701465368 -0.355279766023 --1.02975848317 -0.355281665921 --1.01250210404 -0.355284757912 --0.995245739818 -0.355289101601 --0.977989003062 -0.355294704437 --0.960732221604 -0.355301514268 --0.943474933505 -0.355309568345 --0.926217466593 -0.355318821966 --0.908959373832 -0.355329312384 --0.891700983048 -0.355334639549 --0.872482642531 -0.355328932404 --0.853262647986 -0.355318494141 --0.836004063487 -0.35530924052 --0.818746164441 -0.355301231146 --0.801488548517 -0.355294466019 --0.784231439233 -0.355288952589 --0.76697447896 -0.355284661055 --0.749717935919 -0.355281591415 --0.732461392879 -0.355279751122 --0.715205192566 -0.355279147625 --0.69794884324 -0.355279766023 --0.680692672729 -0.355281665921 --0.663436248898 -0.355284780264 --0.646179899573 -0.355289123952 --0.628923177719 -0.355294704437 --0.611666381359 -0.355301491916 --0.594409108162 -0.355309531093 --0.577151626349 -0.355318807066 --0.559893518686 -0.355329334736 --0.542635142803 -0.355334661901 --0.523416787386 -0.355328932404 --0.50419677049 -0.355318494141 --0.486938208341 -0.35530924052 --0.469680309295 -0.355301231146 --0.45242267102 -0.355294466019 --0.435165584087 -0.355288930237 --0.417908623815 -0.355284638703 --0.400652095675 -0.355281591415 --0.383395560086 -0.355279751122 --0.36613932997 -0.355279147625 --0.348882973194 -0.355279766023 --0.331626817584 -0.355281665921 --0.314370401204 -0.355284757912 --0.297114044428 -0.355289101601 --0.279857322574 -0.355294704437 --0.262600526213 -0.355301514268 --0.24534324184 -0.355309553444 --0.228085771203 -0.355318807066 --0.210827678442 -0.355329312384 --0.193569283933 -0.355334639549 --0.174350932241 -0.372711770237 --0.155123777688 -0.372700847685 --0.137865182012 -0.372691199183 --0.120607260615 -0.372682847082 --0.103349588811 -0.372675769031 --0.0860924720764 -0.372670017183 --0.0688354801387 -0.372665524483 --0.0515789166093 -0.372662305832 --0.0343223512173 -0.372660376132 --0.0170660938602 -0.372659757734 -0.000190287362785 -0.372660435736 -0.0174464860465 -0.37266241014 -0.0347029319964 -0.372665651142 -0.0519593171775 -0.372670181095 -0.0692160762846 -0.3726760149 -0.0864728931338 -0.372683122754 -0.103730203584 -0.372691534459 -0.120987702161 -0.372701220214 -0.138245820999 -0.372712180018 -0.155504249036 -0.372717745602 -0.174722339958 -0.372711770237 -0.193942077458 -0.372700847685 -0.211200665682 -0.372691199183 -0.228458583355 -0.372682861984 -0.245716251433 -0.372675806284 -0.262973368168 -0.372670017183 -0.280230365694 -0.372665502131 -0.297486938536 -0.372662305832 -0.314743511379 -0.372660376132 -0.331999763846 -0.372659757734 -0.349256142974 -0.372660435736 -0.366512335837 -0.37266241014 -0.383768774569 -0.372665651142 -0.401025161147 -0.372670181095 -0.418281905353 -0.3726760149 -0.435538724065 -0.372683122754 -0.452796049416 -0.372691534459 -0.470053561032 -0.372701220214 -0.487311676144 -0.372712180018 -0.504570096731 -0.372717723251 -0.523788183928 -0.372711747885 -0.543007910252 -0.372700847685 -0.560266509652 -0.372691199183 -0.577524453402 -0.372682847082 -0.59478212893 -0.372675791383 -0.612039223314 -0.372670017183 -0.629296213389 -0.372665502131 -0.646552786231 -0.372662305832 -0.663809359073 -0.372660398484 -0.681065618992 -0.372659780085 -0.698321998119 -0.372660435736 -0.715578198433 -0.37266241014 -0.732834637165 -0.372665673494 -0.750091031194 -0.372670203447 -0.767347797751 -0.3726760149 -0.784604609013 -0.372683122754 -0.801861912012 -0.372691534459 -0.819119393825 -0.372701220214 -0.836377501488 -0.37271220237 -0.853635951877 -0.372717745602 -0.872854068875 -0.372711770236 -0.892073795199 -0.372700870037 -0.9093323946 -0.372691199183 -0.926590308547 -0.372682847082 -0.943847954274 -0.372675791383 -0.961105078459 -0.372670039535 -0.978362068534 -0.372665524483 -0.995618641376 -0.372662305832 -1.01287522912 -0.372660398484 -1.03013148904 -0.372659780085 -1.04738783836 -0.372660435736 -1.06464403868 -0.37266241014 -1.08190047741 -0.372665673494 -1.09915682674 -0.372670203447 -1.11641362309 -0.3726760149 -1.13367044926 -0.372683122754 -1.15092775226 -0.372691534459 -1.16818526387 -0.372701220214 -1.18544340134 -0.372712180018 -1.20270183683 -0.372717745602 -1.22191989422 -0.372711770237 -1.24113962054 -0.372700847685 -1.25839823485 -0.372691199183 -1.27565616369 -0.372682847082 -1.29291382432 -0.372675791383 -1.3101709485 -0.372670039535 -1.32742792368 -0.372665524483 -1.34468448162 -0.372662305832 -1.36194103956 -0.372660376132 -1.37919726968 -0.372659757734 -1.3964536786 -0.372660435736 -1.41370987892 -0.37266241014 -1.43096631766 -0.372665673494 -1.44822272659 -0.372670203447 -1.46547949314 -0.3726760149 -1.48273631931 -0.372683122754 -1.4999936223 -0.372691534459 -1.51725113392 -0.372701220214 -1.53450924158 -0.37271220237 -1.55176764727 -0.372717767954 -1.57098573446 -0.372711792588 -1.59020549059 -0.372700870037 -1.60746407509 -0.372691221535 -1.62472197413 -0.372682884336 -1.64197966456 -0.372675783933 -1.65923675895 -0.372670017183 -1.67649376392 -0.372665524483 -1.69375035167 -0.372662305832 -1.71100690961 -0.372660376132 -1.72826316953 -0.372659757734 -1.74551951885 -0.372660435736 -1.76277571916 -0.37266241014 -1.7800321877 -0.372665673494 -1.79728856683 -0.372670203447 -1.81454530358 -0.3726760149 -1.83180212975 -0.372683122754 -1.84905946255 -0.372691534459 -1.86631694436 -0.372701220214 -1.88357505203 -0.372712180018 -1.90083351731 -0.372717723251 -1.92005163431 -0.372711747885 -1.93927133084 -0.372700847685 -1.95652991533 -0.372691199183 -1.97378784418 -0.372682847082 -1.99104550481 -0.372675791383 -2.00830259919 -0.372670039535 -2.02555960417 -0.372665524483 -2.04281622172 -0.372662305832 -2.06007277966 -0.372660376132 -2.07732903957 -0.372659757734 -2.0945854187 -0.372660435736 -2.11184155941 -0.37266241014 -2.12909799815 -0.372665651142 -2.14635443688 -0.372670181095 -2.16361123324 -0.3726760149 -2.1808680296 -0.372683122754 -2.19812530279 -0.372691534459 -2.21538281441 -0.372701220214 -2.23264098167 -0.372712180018 -2.24989938736 -0.372717723251 -2.26911747456 -0.372711747885 -2.28833723069 -0.372700847685 -2.30559575558 -0.372691199183 -2.32285368443 -0.372682847082 -2.34011137485 -0.372675791383 -2.35736846924 -0.372670039535 -2.37462544441 -0.372665546834 -2.39188200236 -0.372662328184 -2.4091385603 -0.372660376132 -2.42639482022 -0.372659757734 -2.44365119934 -0.372660435736 -2.46090739965 -0.37266241014 -2.47816389799 -0.372665673494 -2.49542027712 -0.372670203447 -2.51267701387 -0.3726760149 -2.52993386984 -0.372683122754 -2.54719114304 -0.372691534459 -2.56444859505 -0.372701220214 -2.58170676231 -0.37271220237 -2.598965168 -0.372717745602 -2.6181832552 -0.372711747885 -2.63740301132 -0.372700847685 -2.65466153622 -0.372691199183 -2.67191946506 -0.372682847082 -2.6891772151 -0.372675791383 -2.70643436909 -0.372669994831 -2.72369134426 -0.372665502131 -2.7409479022 -0.372662328184 -2.75820446014 -0.372660398484 -2.77546066046 -0.372659780085 -2.79271703958 -0.372660435736 -2.8099732995 -0.37266241014 -2.82722973824 -0.372665651142 -2.84448611736 -0.372670181095 -2.86174291373 -0.3726760149 -2.87899971008 -0.372683122754 -2.89625698328 -0.372691534459 -2.91351443529 -0.372701220214 -2.93077254295 -0.372712180018 -2.94803106785 -0.372717745602 -2.96724915505 -0.372711770237 -2.98646885157 -0.372700847685 -3.00372749567 -0.372691199183 -3.02098542452 -0.372682847082 -3.03824311495 -0.372675769031 -3.05550020933 -0.372670017183 -3.0727571845 -0.372665524483 -3.09001380205 -0.372662305832 -3.10727035999 -0.372660376132 -3.12452661991 -0.372659757734 --3.14140227635 -0.372660435736 --3.12414610386 -0.37266241014 --3.10688972473 -0.372665651142 --3.0896333456 -0.372670181095 --3.07237654924 -0.3726760149 --3.05511975288 -0.372683122754 --3.03786247969 -0.372691534459 --3.02060490847 -0.372701220214 --3.0033468008 -0.372712180018 --2.98608839512 -0.372717745602 --2.96687030792 -0.372711770237 --2.9476506114 -0.372700847685 --2.93039196729 -0.372691199183 --2.91313403845 -0.372682861984 --2.89587634802 -0.372675806284 --2.87861925363 -0.372670017183 --2.86136227846 -0.372665502131 --2.84410566091 -0.372662305832 --2.82684910297 -0.372660376132 --2.80959284305 -0.372659757734 --2.79233646393 -0.372660435736 --2.77508032322 -0.37266241014 --2.75782394409 -0.372665651142 --2.74056750536 -0.372670181095 --2.723310709 -0.3726760149 --2.70605397224 -0.372683122754 --2.68879663944 -0.372691534459 --2.67153906822 -0.372701220214 --2.65428096056 -0.372712180018 --2.63702255487 -0.372717723251 --2.61780446768 -0.372711747885 --2.59858471155 -0.372700847685 --2.58132612705 -0.372691199183 --2.5640681982 -0.372682847082 --2.54681050777 -0.372675791383 --2.52955341339 -0.372670017183 --2.51229643822 -0.372665502131 --2.49503988027 -0.372662305832 --2.47778332233 -0.372660398484 --2.46052706242 -0.372659780085 --2.44327068329 -0.372660435736 --2.42601448298 -0.37266241014 --2.40875798464 -0.372665673494 --2.39150160551 -0.372670203447 --2.37424486875 -0.3726760149 --2.35698801279 -0.372683122754 --2.3397307396 -0.372691534459 --2.32247328758 -0.372701220214 --2.30521512031 -0.37271220237 --2.28795671463 -0.372717745602 --2.26873862743 -0.372711770236 --2.2495188713 -0.372700870037 --2.2322602272 -0.372691199183 --2.21500229836 -0.372682847082 --2.19774472714 -0.372675791383 --2.18048763275 -0.372670039535 --2.16323059797 -0.372665524483 --2.14597404003 -0.372662305832 --2.12871748209 -0.372660398484 --2.11146122217 -0.372659780085 --2.09420490265 -0.372660435736 --2.07694864273 -0.37266241014 --2.05969214439 -0.372665673494 --2.04243576527 -0.372670203447 --2.02517902851 -0.3726760149 --2.00792226195 -0.372683122754 --1.99066492915 -0.372691534459 --1.97340738773 -0.372701220214 --1.95614925027 -0.372712180018 --1.93889084458 -0.372717745602 --1.91967275738 -0.372711770237 --1.90045300126 -0.372700847685 --1.88319441676 -0.372691199183 --1.86593651772 -0.372682847082 --1.84867885709 -0.372675791383 --1.8314217031 -0.372670039535 --1.81416469812 -0.372665524483 --1.79690816999 -0.372662305832 --1.77965161204 -0.372660376132 --1.76239535212 -0.372659757734 --1.745138973 -0.372660435736 --1.72788277269 -0.37266241014 --1.71062633395 -0.372665673494 --1.69336992502 -0.372670203447 --1.67611315846 -0.3726760149 --1.65885636211 -0.372683122754 --1.64159905911 -0.372691534459 --1.62434157729 -0.372701220214 --1.60708343983 -0.37271220237 --1.58982497454 -0.372717767954 --1.57060688734 -0.372711792588 --1.55138719082 -0.372700870037 --1.53412860632 -0.372691221535 --1.51687067747 -0.372682884336 --1.49961301684 -0.372675783933 --1.48235589266 -0.372670017183 --1.46509888768 -0.372665524483 --1.44784229994 -0.372662305832 --1.430585742 -0.372660376132 --1.41332948208 -0.372659757734 --1.39607310295 -0.372660435736 --1.37881693244 -0.37266241014 --1.36156049371 -0.372665673494 --1.34430411458 -0.372670203447 --1.32704734802 -0.3726760149 --1.30979052186 -0.372683122754 --1.29253318906 -0.372691534459 --1.27527567744 -0.372701220214 --1.25801756978 -0.372712180018 --1.24075913429 -0.372717723251 --1.22154104709 -0.372711747885 --1.20232132077 -0.372700847685 --1.18506273627 -0.372691199183 --1.16780480743 -0.372682847082 --1.1505471468 -0.372675791383 --1.13329002261 -0.372670039535 --1.11603301763 -0.372665524483 --1.09877645969 -0.372662305832 --1.08151990175 -0.372660376132 --1.06426367164 -0.372659757734 --1.04700729251 -0.372660435736 --1.02975106239 -0.37266241014 --1.01249459386 -0.372665651142 --0.995238214733 -0.372670181095 --0.977981463075 -0.3726760149 --0.960724651813 -0.372683122754 --0.943467348814 -0.372691534459 --0.926209852099 -0.372701220214 --0.908951714635 -0.372712180018 --0.891693294049 -0.372717723251 --0.872475221754 -0.372711747885 --0.853255495429 -0.372700847685 --0.835996896029 -0.372691199183 --0.81873896718 -0.372682847082 --0.801481306553 -0.372675791383 --0.784224182367 -0.372670039535 --0.766967192292 -0.372665546834 --0.749710604548 -0.372662328184 --0.732454031705 -0.372660376132 --0.71519780159 -0.372659757734 --0.697941437364 -0.372660435736 --0.68068523705 -0.37266241014 --0.663428753614 -0.372665673494 --0.646172374487 -0.372670203447 --0.628915652633 -0.3726760149 --0.611658841371 -0.372683122754 --0.59440150857 -0.372691534459 --0.577143982053 -0.372701220214 --0.559885859489 -0.37271220237 --0.542627438903 -0.372717745602 --0.523409351706 -0.372711747885 --0.504189610481 -0.372700847685 --0.486931025982 -0.372691199183 --0.469673119485 -0.372682847082 --0.452415436506 -0.372675791383 --0.435158312321 -0.372669994831 --0.417901329696 -0.372665502131 --0.400644756854 -0.372662328184 --0.383388191462 -0.372660398484 --0.366131946444 -0.372659780085 --0.348875567317 -0.372660435736 --0.331619367004 -0.37266241014 --0.314362920821 -0.372665651142 --0.297106534243 -0.372670181095 --0.279849775136 -0.3726760149 --0.262592948973 -0.372683122754 --0.245335634798 -0.372691534459 --0.228078141809 -0.372701220214 --0.210820019245 -0.372712180018 --0.193561591208 -0.372717745602 --0.174343515188 -0.390099748969 --0.155117146671 -0.390088364482 --0.137858524919 -0.390078298747 --0.120600573719 -0.390069589019 --0.103342873976 -0.390062205494 --0.0860857311636 -0.390056185424 --0.0688287112862 -0.39005150646 --0.0515721179545 -0.390048183501 --0.0343155255542 -0.390046164393 --0.0170592395589 -0.390045516193 -0.000197171000765 -0.390046231449 -0.0174533987884 -0.390048272908 -0.034709871281 -0.390051655471 -0.051966285333 -0.390056394041 -0.0692230733112 -0.390062466264 -0.0864799171686 -0.39006985724 -0.103737255558 -0.390078634024 -0.1209947858 -0.39008872956 -0.138252936303 -0.39010014385 -0.155511394143 -0.390105962754 -0.174729228019 -0.390099748969 -0.193948708474 -0.390088364482 -0.211207330227 -0.390078298747 -0.228465273976 -0.39006960392 -0.245722968132 -0.390062242747 -0.262980118394 -0.390056185424 -0.280237138271 -0.390051484108 -0.297493733466 -0.390048161149 -0.314750336111 -0.390046142042 -0.332006618381 -0.390045516193 -0.34926301986 -0.390046231449 -0.366519242525 -0.390048272908 -0.38377571851 -0.390051655471 -0.40103213489 -0.390056394041 -0.418288908899 -0.390062466264 -0.435545749962 -0.390069872141 -0.452803105116 -0.390078648925 -0.470060646534 -0.39008872956 -0.487318791449 -0.39010014385 -0.504577241838 -0.39010591805 -0.523795083165 -0.390099704266 -0.54301455617 -0.390088364482 -0.560273170471 -0.390078298747 -0.577531144023 -0.390069589019 -0.594788864255 -0.390062227845 -0.61204598844 -0.390056185424 -0.629302993417 -0.390051484108 -0.646559581161 -0.390048183501 -0.663816183806 -0.390046186745 -0.681072473526 -0.390045538545 -0.698328867554 -0.390046231449 -0.71558509767 -0.390048272908 -0.732841581106 -0.390051655471 -0.750098019838 -0.390056394041 -0.767354801297 -0.390062466264 -0.78461162746 -0.390069872141 -0.801868975162 -0.390078648925 -0.819126486778 -0.39008872956 -0.836384609342 -0.39010014385 -0.853643089533 -0.39010591805 -0.872860953212 -0.390099704266 -0.892080426216 -0.390088364482 -0.909339040518 -0.390078298747 -0.926596969366 -0.390069589019 -0.943854659796 -0.390062227845 -0.961111813784 -0.390056207776 -0.978368833661 -0.39005150646 -0.995625451206 -0.390048161149 -1.01288205385 -0.390046164393 -1.03013831377 -0.390045538545 -1.0473947227 -0.390046231449 -1.06465095282 -0.390048272908 -1.08190739155 -0.390051655471 -1.09916380048 -0.390056394041 -1.11642062664 -0.390062466264 -1.13367748261 -0.390069872141 -1.1509348154 -0.390078648925 -1.16819235682 -0.39008872956 -1.18545052409 -0.39010014385 -1.20270898938 -0.390105940402 -1.22192677856 -0.390099704266 -1.24114623666 -0.39008834213 -1.25840488076 -0.390078298747 -1.27566280961 -0.390069589019 -1.29292052984 -0.390062227845 -1.31017771363 -0.390056207776 -1.32743471861 -0.39005150646 -1.34469127655 -0.390048161149 -1.36194783449 -0.390046142042 -1.37920412421 -0.390045516193 -1.39646056294 -0.390046231449 -1.41371679306 -0.390048272908 -1.4309732616 -0.390051655471 -1.44822970033 -0.390056394041 -1.46548649669 -0.390062466264 -1.48274335265 -0.390069872141 -1.50000068545 -0.390078648925 -1.51725819707 -0.39008872956 -1.53451633454 -0.390100158751 -1.55177477002 -0.390105955303 -1.5709926188 -0.390099748969 -1.5902121365 -0.390088386834 -1.60747075081 -0.390078298747 -1.62472867966 -0.39006960392 -1.64198637009 -0.390062220395 -1.65924349427 -0.390056185424 -1.67650052905 -0.39005150646 -1.6937571466 -0.390048161149 -1.71101373434 -0.390046142042 -1.72827002406 -0.390045516193 -1.74552643299 -0.390046231449 -1.76278263331 -0.390048272908 -1.78003913164 -0.390051655471 -1.79729554057 -0.390056394041 -1.81455230713 -0.390062466264 -1.83180916309 -0.390069872141 -1.84906649589 -0.390078648925 -1.86632403731 -0.39008872956 -1.88358217478 -0.39010014385 -1.90084064007 -0.39010591805 -1.92005851865 -0.390099681914 -1.93927797675 -0.39008834213 -1.95653659105 -0.390078298747 -1.9737945497 -0.390069589019 -1.99105224013 -0.390062227845 -2.00830936432 -0.390056207776 -2.0255663395 -0.39005150646 -2.04282295704 -0.390048161149 -2.06007957459 -0.390046142042 -2.07733589411 -0.390045516193 -2.09459233284 -0.390046231449 -2.11184847355 -0.390048272908 -2.12910491228 -0.390051655471 -2.14636141062 -0.390056394041 -2.16361820698 -0.390062466264 -2.18087500334 -0.390069872141 -2.19813233614 -0.390078648925 -2.21538990736 -0.39008872956 -2.23264807463 -0.39010014385 -2.24990648031 -0.39010591805 -2.26912432909 -0.390099704266 -2.2883438468 -0.390088364482 -2.3056024313 -0.390078298747 -2.32286036014 -0.390069589019 -2.34011805058 -0.390062227845 -2.35737520456 -0.390056207776 -2.37463223934 -0.39005150646 -2.39188885689 -0.390048161149 -2.40914547444 -0.390046142042 -2.42640173435 -0.390045516193 -2.44365811348 -0.390046231449 -2.4609143734 -0.390048272908 -2.47817087174 -0.390051655471 -2.49542725086 -0.390056394041 -2.51268398762 -0.390062466264 -2.52994084358 -0.390069872141 -2.54719823599 -0.390078648925 -2.56445574761 -0.39008872956 -2.58171385527 -0.39010014385 -2.59897232055 -0.39010591805 -2.61819016933 -0.390099681914 -2.63740962744 -0.39008834213 -2.65466821194 -0.390078298747 -2.67192614078 -0.390069589019 -2.68918389082 -0.390062227845 -2.70644110441 -0.390056185424 -2.72369813919 -0.390051484108 -2.74095469713 -0.390048161149 -2.75821125507 -0.390046164393 -2.77546751499 -0.390045538545 -2.79272389412 -0.390046231449 -2.80998015404 -0.390048272908 -2.82723665238 -0.390051655471 -2.8444930315 -0.390056394041 -2.86174988747 -0.390062466264 -2.87900674343 -0.390069872141 -2.89626401663 -0.390078648925 -2.91352152824 -0.39008872956 -2.93077969551 -0.39010014385 -2.9480382204 -0.390105962754 -2.96725606918 -0.390099748969 -2.98647552729 -0.390088364482 -3.00373417139 -0.390078298747 -3.02099215985 -0.390069589019 -3.03824985028 -0.390062205494 -3.05550694466 -0.390056185424 -3.07276391983 -0.39005150646 -3.09002053738 -0.390048183501 -3.10727715492 -0.390046164393 -3.12453347445 -0.390045516193 --3.14139542182 -0.390046231449 --3.12413924933 -0.390048272908 --3.10688281059 -0.390051655471 --3.08962637186 -0.390056394041 --3.0723695159 -0.390062466264 --3.05511265993 -0.39006985724 --3.03785538673 -0.390078634024 --3.02059787512 -0.39008872956 --3.00333970785 -0.39010014385 --2.98608124256 -0.390105962754 --2.96686339379 -0.390099748969 --2.94764393568 -0.390088364482 --2.93038529157 -0.390078298747 --2.91312730313 -0.39006960392 --2.89586961269 -0.390062242747 --2.87861251831 -0.390056185424 --2.86135554313 -0.390051484108 --2.84409892559 -0.390048161149 --2.82684230805 -0.390046142042 --2.80958604812 -0.390045516193 --2.79232960939 -0.390046231449 --2.77507340908 -0.390048272908 --2.75781697035 -0.390051655471 --2.74056047201 -0.390056394041 --2.72330367565 -0.390062466264 --2.70604687929 -0.390069872141 --2.68878954649 -0.390078648925 --2.67153197527 -0.39008872956 --2.65427386761 -0.39010014385 --2.63701546192 -0.39010591805 --2.61779761315 -0.390099704266 --2.59857809544 -0.390088364482 --2.58131945133 -0.390078298747 --2.56406152248 -0.390069589019 --2.54680383206 -0.390062227845 --2.52954667806 -0.390056185424 --2.51228970289 -0.390051484108 --2.49503314495 -0.390048183501 --2.4777764678 -0.390046186745 --2.46052014828 -0.390045538545 --2.44326376915 -0.390046231449 --2.42600750923 -0.390048272908 --2.4087510109 -0.390051655471 --2.39149463177 -0.390056394041 --2.37423789501 -0.390062466264 --2.35698103905 -0.390069872141 --2.33972364664 -0.390078648925 --2.32246613502 -0.39008872956 --2.30520802736 -0.39010014385 --2.28794962168 -0.39010591805 --2.2687317729 -0.390099704266 --2.24951225519 -0.390088364482 --2.23225361109 -0.390078298747 --2.21499568224 -0.390069589019 --2.19773805142 -0.390062227845 --2.18048089743 -0.390056207776 --2.16322380304 -0.39005150646 --2.1459671855 -0.390048161149 --2.12871062755 -0.390046164393 --2.11145436764 -0.390045538545 --2.09419798851 -0.390046231449 --2.0769417286 -0.390048272908 --2.05968523025 -0.390051655471 --2.04242885112 -0.390056394041 --2.02517205477 -0.390062466264 --2.0079151988 -0.390069872141 --1.9906578362 -0.390078648925 --1.97340029478 -0.39008872956 --1.95614218712 -0.39010014385 --1.93888375163 -0.390105940402 --1.91966590285 -0.390099704266 --1.90044638514 -0.39008834213 --1.88318777084 -0.390078298747 --1.865929842 -0.390069589019 --1.84867215157 -0.390062227845 --1.83141499758 -0.390056207776 --1.8141579628 -0.39005150646 --1.79690137506 -0.390048161149 --1.77964478731 -0.390046142042 --1.76238849759 -0.390045516193 --1.74513208866 -0.390046231449 --1.72787588835 -0.390048272908 --1.71061939001 -0.390051655471 --1.69336295128 -0.390056394041 --1.67610618472 -0.390062466264 --1.65884935856 -0.390069872141 --1.64159202576 -0.390078648925 --1.62433448434 -0.39008872956 --1.60707631707 -0.390100158751 --1.58981785178 -0.390105955303 --1.57060000301 -0.390099748969 --1.5513805449 -0.390088386834 --1.5341219306 -0.390078298747 --1.51686397195 -0.39006960392 --1.49960628152 -0.390062220395 --1.48234912753 -0.390056185424 --1.46509212255 -0.39005150646 --1.44783550501 -0.390048161149 --1.43057888746 -0.390046142042 --1.41332259774 -0.390045516193 --1.39606618881 -0.390046231449 --1.3788099885 -0.390048272908 --1.36155354976 -0.390051655471 --1.34429714083 -0.390056394041 --1.32704034448 -0.390062466264 --1.30978348851 -0.390069872141 --1.29252612591 -0.390078648925 --1.27526861429 -0.39008872956 --1.25801047683 -0.39010014385 --1.24075201154 -0.39010591805 --1.22153419256 -0.390099681914 --1.20231470466 -0.39008834213 --1.18505609036 -0.390078298747 --1.1677981615 -0.390069589019 --1.15054047108 -0.390062227845 --1.13328328729 -0.390056207776 --1.11602625251 -0.39005150646 --1.09876969457 -0.390048161149 --1.08151310682 -0.390046142042 --1.0642568171 -0.390045516193 --1.04700040817 -0.390046231449 --1.02974414825 -0.390048272908 --1.01248764992 -0.390051655471 --0.995231255889 -0.390056394041 --0.97797447443 -0.390062466264 --0.960717633366 -0.390069872141 --0.943460300565 -0.390078648925 --0.926202774048 -0.39008872956 --0.908944606781 -0.39010014385 --0.891686141491 -0.39010591805 --0.872468307615 -0.390099704266 --0.85324883461 -0.390088364482 --0.83599023521 -0.390078298747 --0.81873229146 -0.390069589019 --0.801474586129 -0.390062227845 --0.784217447042 -0.390056207776 --0.766960412264 -0.39005150646 --0.749703794718 -0.390048161149 --0.732447206974 -0.390046142042 --0.715190932155 -0.390045516193 --0.697934538126 -0.390046231449 --0.68067830801 -0.390048272908 --0.663421809674 -0.390051655471 --0.646165400744 -0.390056394041 --0.628908634186 -0.390062466264 --0.611651793122 -0.390069872141 --0.594394430518 -0.390078648925 --0.577136904001 -0.39008872956 --0.559878781438 -0.39010014385 --0.542620316148 -0.39010591805 --0.52340246737 -0.390099681914 --0.504182986915 -0.39008834213 --0.486924372613 -0.390078298747 --0.469666436315 -0.390069589019 --0.452408738434 -0.390062227845 --0.435151591897 -0.390056185424 --0.417894557118 -0.390051484108 --0.400637947023 -0.390048161149 --0.38338136673 -0.390046164393 --0.366125099361 -0.390045538545 --0.348868690431 -0.390046231449 --0.331612445414 -0.390048272908 --0.31435597688 -0.390051655471 --0.29709956795 -0.390056394041 --0.27984277159 -0.390062466264 --0.262585923075 -0.390069872141 --0.245328586548 -0.390078648925 --0.228071063757 -0.39008872956 --0.210812915116 -0.39010014385 --0.193554457277 -0.390105962754 --0.174336627126 -0.407469578087 --0.155110552907 -0.407457761466 --0.137851905078 -0.407447293401 --0.120593924075 -0.407438233495 --0.103336198255 -0.407430559397 --0.0860790275037 -0.407424286008 --0.068821977824 -0.407419405878 --0.0515653574839 -0.407415963709 --0.0343087371439 -0.407413884997 --0.0170524229761 -0.407413206995 -0.000204015290365 -0.407413944602 -0.0174602712505 -0.407416068018 -0.0347167719156 -0.40741956979 -0.0519732125104 -0.407424509525 -0.0692300284281 -0.407430812716 -0.0864869020879 -0.407438486815 -0.10374427028 -0.407447628677 -0.121001826599 -0.407458133996 -0.138260003179 -0.407470010221 -0.155518487096 -0.407476037741 -0.174736071378 -0.407469578087 -0.193955302238 -0.407457761466 -0.211213950068 -0.407447293401 -0.22847192362 -0.407438233495 -0.245729647577 -0.407430559397 -0.262986823916 -0.407424286008 -0.280243873596 -0.407419405878 -0.297500498593 -0.407415941358 -0.314757123589 -0.407413862646 -0.332013428211 -0.407413206995 -0.349269859493 -0.407413944602 -0.366526119411 -0.407416068018 -0.383782625198 -0.40741956979 -0.40103906393 -0.407424487173 -0.418295867741 -0.407430812716 -0.435552738607 -0.407438524067 -0.452810116112 -0.407447643578 -0.470067687333 -0.407458133996 -0.4873258695 -0.407470010221 -0.504584349692 -0.407476015389 -0.523801937699 -0.407469555736 -0.543021172285 -0.407457761466 -0.560279816389 -0.407447293401 -0.577537775039 -0.407438233495 -0.594795510173 -0.407430559397 -0.612052708864 -0.407424286008 -0.629309728742 -0.407419405878 -0.646566331387 -0.407415963709 -0.663822978735 -0.407413884997 -0.681079283357 -0.407413206995 -0.698335707188 -0.40741392225 -0.715591967106 -0.407416045666 -0.732848480344 -0.40741956979 -0.750104948878 -0.407424509525 -0.76736176014 -0.407430835068 -0.784618601203 -0.407438524067 -0.801875978708 -0.407447643578 -0.819133549929 -0.407458133996 -0.836391702294 -0.407470010221 -0.853650197387 -0.407476015389 -0.872867792845 -0.407469548285 -0.892087012529 -0.407457754016 -0.909345641732 -0.407447293401 -0.926603600383 -0.407438233495 -0.943861335516 -0.407430559397 -0.961118504405 -0.407424286008 -0.978375554085 -0.407419405878 -0.995632201434 -0.407415941358 -1.01288881898 -0.407413862646 -1.0301451087 -0.407413206995 -1.04740157724 -0.40741392225 -1.06465783715 -0.407416045666 -1.08191430569 -0.40741956979 -1.09917074442 -0.407424509525 -1.11642757058 -0.407430835068 -1.13368445635 -0.407438524067 -1.15094181895 -0.407447643578 -1.16819939017 -0.407458133996 -1.18545758724 -0.407470010221 -1.20271608234 -0.407476015389 -1.22193363309 -0.407469533384 -1.24115285277 -0.407457716763 -1.25841149688 -0.407447271049 -1.27566945553 -0.407438233495 -1.29292720556 -0.407430559397 -1.31018438935 -0.407424286008 -1.32744145393 -0.407419405878 -1.34469807148 -0.407415941358 -1.36195465922 -0.407413862646 -1.37921097875 -0.407413206995 -1.39646741748 -0.40741392225 -1.4137236774 -0.407416045666 -1.43098017573 -0.40741956979 -1.44823661446 -0.407424487173 -1.46549344063 -0.407430812716 -1.48275032639 -0.407438546419 -1.500007689 -0.407447665929 -1.51726523042 -0.407458133996 -1.53452339768 -0.407470025123 -1.55178186297 -0.40747603029 -1.57099947333 -0.407469570637 -1.59021872282 -0.407457776368 -1.60747736692 -0.407447293401 -1.62473532558 -0.407438233495 -1.64199304581 -0.407430559397 -1.6592502296 -0.407424286008 -1.67650726438 -0.407419405878 -1.69376388192 -0.407415941358 -1.71102049947 -0.407413862646 -1.72827681899 -0.407413206995 -1.74553328753 -0.407413944602 -1.76278951764 -0.407416068018 -1.78004601598 -0.40741956979 -1.79730248451 -0.407424487173 -1.81455928087 -0.407430812716 -1.83181613684 -0.407438524067 -1.84907349944 -0.407447643578 -1.86633107066 -0.407458133996 -1.88358926773 -0.407470010221 -1.90084776283 -0.407476015389 -1.92006534338 -0.407469533384 -1.93928456306 -0.407457739115 -1.95654323697 -0.407447293401 -1.97380122542 -0.407438233495 -1.99105891585 -0.407430559397 -2.00831606984 -0.407424286008 -2.02557307482 -0.407419405878 -2.04282969236 -0.407415941358 -2.06008636951 -0.407413862646 -2.07734268903 -0.407413206995 -2.09459912777 -0.407413944602 -2.11185532808 -0.407416068018 -2.12911176681 -0.40741956979 -2.14636826515 -0.407424487173 -2.16362512112 -0.407430812716 -2.18088203669 -0.407438524067 -2.19813942909 -0.407447643578 -2.21539694071 -0.407458133996 -2.23265510798 -0.407470010221 -2.24991357327 -0.407476015389 -2.26913118363 -0.407469555736 -2.28835046291 -0.407457761466 -2.30560910701 -0.407447293401 -2.32286703587 -0.407438233495 -2.3401247263 -0.407430559397 -2.35738193989 -0.407424286008 -2.37463903427 -0.407419405878 -2.39189565182 -0.407415941358 -2.40915226936 -0.407413862646 -2.42640858888 -0.407413206995 -2.44366496801 -0.40741392225 -2.46092122793 -0.407416045666 -2.47817778588 -0.40741956979 -2.495434165 -0.407424487173 -2.51269090176 -0.407430812716 -2.52994781733 -0.407438524067 -2.54720526934 -0.407447643578 -2.56446284056 -0.407458133996 -2.58172094822 -0.407470010221 -2.59897941351 -0.407476015389 -2.61819702387 -0.407469533384 -2.63741624355 -0.407457739115 -2.65467488766 -0.407447293401 -2.67193281651 -0.407438233495 -2.68919050694 -0.407430559397 -2.70644772053 -0.407424286008 -2.72370481491 -0.407419405878 -2.74096143246 -0.407415941358 -2.75821805 -0.407413862646 -2.77547436952 -0.407413206995 -2.79273080826 -0.407413944602 -2.80998706818 -0.407416068018 -2.82724356651 -0.40741956979 -2.84450000525 -0.407424487173 -2.86175686121 -0.407430812716 -2.87901371717 -0.407438524067 -2.89627104997 -0.407447643578 -2.91352862119 -0.407458133996 -2.93078678846 -0.407470010221 -2.94804531336 -0.407476037741 -2.96726292372 -0.407469578087 -2.9864820838 -0.407457761466 -3.0037407279 -0.407447293401 -3.02099877596 -0.407438233495 -3.038256526 -0.407430559397 -3.05551367998 -0.407424286008 -3.07277065515 -0.407419405878 -3.0900272727 -0.407415963709 -3.10728389025 -0.407413884997 -3.12454020977 -0.407413206995 --3.14138862689 -0.407413944602 --3.12413239479 -0.407416068018 --3.10687589645 -0.40741956979 --3.08961939812 -0.407424509525 --3.07236254215 -0.407430812716 --3.05510568619 -0.407438486815 --3.03784835338 -0.407447628677 --3.02059084177 -0.407458133996 --3.0033326745 -0.407470010221 --2.98607414961 -0.407476037741 --2.96685653925 -0.407469578087 --2.94763737917 -0.407457761466 --2.93037873507 -0.407447293401 --2.91312068701 -0.407438233495 --2.89586293697 -0.407430559397 --2.87860578299 -0.407424286008 --2.86134880781 -0.407419405878 --2.84409219027 -0.407415941358 --2.82683551312 -0.407413862646 --2.8095792532 -0.407413206995 --2.79232281446 -0.407413944602 --2.77506655454 -0.407416068018 --2.75781005621 -0.40741956979 --2.74055355787 -0.407424487173 --2.72329676151 -0.407430812716 --2.70603990555 -0.407438524067 --2.68878257275 -0.407447643578 --2.67152500153 -0.407458133996 --2.65426677465 -0.407470010221 --2.63700830936 -0.407476015389 --2.61779075861 -0.407469555736 --2.59857147932 -0.407457761466 --2.58131277561 -0.407447293401 --2.56405484676 -0.407438233495 --2.54679715634 -0.407430559397 --2.52953994274 -0.407424286008 --2.51228296757 -0.407419405878 --2.49502640963 -0.407415963709 --2.47776967287 -0.407413884997 --2.46051335335 -0.407413206995 --2.44325697422 -0.40741392225 --2.42600065469 -0.407416045666 --2.40874409676 -0.40741956979 --2.39148771763 -0.407424509525 --2.37423098087 -0.407430835068 --2.35697412491 -0.407438524067 --2.3397166729 -0.407447643578 --2.32245904207 -0.407458133996 --2.30520093441 -0.407470010221 --2.28794252872 -0.407476015389 --2.26872491836 -0.407469548285 --2.24950563908 -0.407457754016 --2.23224699498 -0.407447293401 --2.21498906612 -0.407438233495 --2.1977313757 -0.407430559397 --2.1804741621 -0.407424286008 --2.16321706772 -0.407419405878 --2.14596045017 -0.407415941358 --2.12870383263 -0.407413862646 --2.1114475131 -0.407413206995 --2.09419107437 -0.40741392225 --2.07693481445 -0.407416045666 --2.05967831611 -0.40741956979 --2.04242187738 -0.407424509525 --2.02516508102 -0.407430835068 --2.00790819526 -0.407438524067 --1.99065080285 -0.407447643578 --1.97339326143 -0.407458133996 --1.95613512397 -0.407470010221 --1.93887665867 -0.407476015389 --1.91965904832 -0.407469533384 --1.90043979883 -0.407457716763 --1.88318115473 -0.407447271049 --1.86592319608 -0.407438233495 --1.84866547584 -0.407430559397 --1.83140829206 -0.407424286008 --1.81415125728 -0.407419405878 --1.79689463973 -0.407415941358 --1.77963799238 -0.407413862646 --1.76238167286 -0.407413206995 --1.74512523413 -0.40741392225 --1.72786900401 -0.407416045666 --1.71061250567 -0.40741956979 --1.69335603714 -0.407424487173 --1.67609921098 -0.407430812716 --1.65884235501 -0.407438546419 --1.64158499241 -0.407447665929 --1.62432742119 -0.407458133996 --1.60706925392 -0.407470025123 --1.58981075883 -0.40747603029 --1.57059317827 -0.407469570637 --1.55137395859 -0.407457776368 --1.53411528468 -0.407447293401 --1.51685729623 -0.407438233495 --1.4995996058 -0.407430559397 --1.48234245181 -0.407424286008 --1.46508538723 -0.407419405878 --1.44782873988 -0.407415941358 --1.43057212234 -0.407413862646 --1.41331580281 -0.407413206995 --1.39605933428 -0.407413944602 --1.37880310416 -0.407416068018 --1.36154663563 -0.40741956979 --1.3442901969 -0.407424487173 --1.32703340053 -0.407430812716 --1.30977651477 -0.407438524067 --1.29251912236 -0.407447643578 --1.27526158095 -0.407458133996 --1.25800338388 -0.407470010221 --1.24074491859 -0.407476015389 --1.22152736783 -0.407469533384 --1.20230808854 -0.407457739115 --1.18504944444 -0.407447293401 --1.16779151559 -0.407438233495 --1.15053379536 -0.407430559397 --1.13327658176 -0.407424286008 --1.11601954699 -0.407419405878 --1.09876295924 -0.407415941358 --1.08150631189 -0.407413862646 --1.06424999237 -0.407413206995 --1.04699355364 -0.407413944602 --1.02973726392 -0.407416068018 --1.01248076558 -0.40741956979 --0.99522435665 -0.407424487173 --0.977967530489 -0.407430812716 --0.960710629821 -0.407438524067 --0.943453267217 -0.407447643578 --0.926195725798 -0.407458133996 --0.908937528729 -0.407470010221 --0.891679033637 -0.407476015389 --0.87246145308 -0.407469555736 --0.853242233396 -0.407457761466 --0.835983604193 -0.407447293401 --0.818725630641 -0.407438233495 --0.801467895508 -0.407430559397 --0.784210726619 -0.407424286008 --0.766953676939 -0.407419405878 --0.749697044492 -0.407415941358 --0.732440426946 -0.407413862646 --0.715184122324 -0.407413206995 --0.697927698493 -0.40741392225 --0.680671438575 -0.407416045666 --0.663414925337 -0.40741956979 --0.646158486605 -0.407424487173 --0.628901675344 -0.407430812716 --0.611644789577 -0.407438524067 --0.594387426972 -0.407447643578 --0.577129885554 -0.407458133996 --0.559871718287 -0.407470010221 --0.542613223195 -0.407476015389 --0.523395612836 -0.407469533384 --0.504176393151 -0.407457739115 --0.486917763948 -0.407447293401 --0.469659782946 -0.407438233495 --0.452402055263 -0.407430559397 --0.435144893825 -0.407424286008 --0.417887829244 -0.407419405878 --0.400631196797 -0.407415941358 --0.383374586701 -0.407413862646 --0.366118274629 -0.407413206995 --0.348861835897 -0.407413944602 --0.331605575979 -0.407416068018 --0.314349077642 -0.40741956979 --0.29709263891 -0.407424487173 --0.279835812748 -0.407430812716 --0.262578934431 -0.407438524067 --0.245321571827 -0.407447643578 --0.228064019233 -0.407458133996 --0.210805840791 -0.407470010221 --0.193547356874 -0.407476037741 --0.174329780042 -0.424822069704 --0.155103992671 -0.42480982095 --0.13784532249 -0.424798995256 --0.120587322861 -0.424789585173 --0.103329565376 -0.4247815907 --0.0860723629594 -0.424775116146 --0.0688152862712 -0.424770072103 --0.0515586361289 -0.424766466022 --0.0343019878491 -0.424764305353 --0.0170456466731 -0.42476362735 -0.00021081860177 -0.42476438731 -0.0174671020359 -0.424766585231 -0.034723631572 -0.424770228565 -0.0519800987095 -0.424775339663 -0.0692369416356 -0.424781881273 -0.086493846029 -0.424789868295 -0.103751244024 -0.424799337983 -0.121008824557 -0.424810230732 -0.138267025352 -0.424822583795 -0.15552553907 -0.42482881248 -0.174742873758 -0.424822069704 -0.193961851299 -0.42480982095 -0.211220525205 -0.424798972904 -0.228478532284 -0.424789577723 -0.245736289769 -0.424781605602 -0.262993492186 -0.424775116146 -0.280250564217 -0.424770072103 -0.297507211566 -0.424766466022 -0.314763866365 -0.424764305353 -0.332020208239 -0.42476362735 -0.349276669323 -0.42476438731 -0.366532951594 -0.424766585231 -0.383789487183 -0.424770228565 -0.401045955717 -0.424775332213 -0.41830278933 -0.424781896174 -0.435559689998 -0.424789890647 -0.452817089856 -0.424799337983 -0.470074683428 -0.424810230732 -0.487332887947 -0.424822583795 -0.50459139049 -0.42482881248 -0.523808732629 -0.424822069704 -0.543027713895 -0.42480982095 -0.5602863729 -0.424798972904 -0.577544361353 -0.424789577723 -0.594802126288 -0.424781627953 -0.612059369683 -0.424775138497 -0.629316419363 -0.424770072103 -0.64657305181 -0.424766466022 -0.663829743862 -0.424764305353 -0.681086048484 -0.42476362735 -0.698342487216 -0.424764364958 -0.715598791838 -0.424766562879 -0.732855319977 -0.424770228565 -0.750111788511 -0.424775339663 -0.767368644476 -0.424781903625 -0.784625545144 -0.424789890647 -0.801882952451 -0.424799337983 -0.819140553474 -0.424810230732 -0.836398735643 -0.424822583795 -0.853657245636 -0.42482881248 -0.872874572873 -0.424822084606 -0.892093539238 -0.424809835851 -0.909352213144 -0.424798972904 -0.926610216499 -0.424789577723 -0.943867981434 -0.424781605602 -0.961125165224 -0.424775093794 -0.978382244706 -0.424770049751 -0.995638936758 -0.424766466022 -1.01289555431 -0.424764305353 -1.03015187383 -0.42476362735 -1.04740837216 -0.424764364958 -1.06466466189 -0.424766562879 -1.08192119003 -0.424770228565 -1.09917762876 -0.424775339663 -1.11643445492 -0.424781903625 -1.13369140029 -0.424789890647 -1.1509487927 -0.424799337983 -1.16820636392 -0.424810230732 -1.18546459079 -0.424822583795 -1.20272311568 -0.42482881248 -1.22194042802 -0.424822069704 -1.24115940928 -0.424809798598 -1.25841808319 -0.424798950553 -1.27567607164 -0.424789577723 -1.29293382168 -0.424781627953 -1.31019100547 -0.424775138497 -1.32744809985 -0.424770072103 -1.344704777 -0.424766466022 -1.36196142435 -0.424764305353 -1.37921777368 -0.42476362735 -1.39647424221 -0.424764364958 -1.41373050213 -0.424766562879 -1.43098703026 -0.424770228565 -1.4482434988 -0.424775317311 -1.46550035477 -0.424781881273 -1.48275727034 -0.4247899279 -1.50001466274 -0.424799375236 -1.51727226377 -0.424810230732 -1.53453046084 -0.424822583795 -1.55178895593 -0.42482881248 -1.57100629806 -0.424822084606 -1.59022524953 -0.424809835851 -1.60748392344 -0.424798972904 -1.62474194169 -0.424789562821 -1.64199969173 -0.424781613052 -1.65925690532 -0.424775116146 -1.6765139699 -0.424770049751 -1.69377061725 -0.424766466022 -1.7110272646 -0.424764305353 -1.72828358412 -0.424763604998 -1.74554005265 -0.424764364958 -1.76279634237 -0.424766585231 -1.78005287051 -0.424770228565 -1.79730936885 -0.424775317311 -1.81456619501 -0.424781881273 -1.83182308078 -0.424789890647 -1.84908050299 -0.424799337983 -1.86633807421 -0.424810230732 -1.88359627128 -0.424822583795 -1.90085479617 -0.42482881248 -1.92007213831 -0.424822069704 -1.93929111957 -0.42480982095 -1.95654979348 -0.424798972904 -1.97380781174 -0.424789577723 -1.99106556177 -0.424781605602 -2.00832277536 -0.424775116146 -2.02557981014 -0.424770072103 -2.04283642769 -0.424766466022 -2.06009316444 -0.424764305353 -2.07734948397 -0.42476362735 -2.0946059227 -0.42476438731 -2.11186218262 -0.424766585231 -2.12911868095 -0.424770228565 -2.14637517929 -0.424775317311 -2.16363203526 -0.424781881273 -2.18088901043 -0.424789890647 -2.19814646244 -0.424799337983 -2.21540397406 -0.424810230732 -2.23266214133 -0.424822561443 -2.24992066622 -0.424828790128 -2.26913803816 -0.424822069704 -2.28835701942 -0.42480982095 -2.30561566353 -0.424798972904 -2.32287365198 -0.424789577723 -2.34013140201 -0.424781605602 -2.35738861561 -0.424775116146 -2.37464570999 -0.424770072103 -2.39190232753 -0.424766466022 -2.40915894508 -0.424764305353 -2.42641532421 -0.42476362735 -2.44367176294 -0.424764364958 -2.46092802286 -0.424766562879 -2.4781845808 -0.424770228565 -2.49544101953 -0.424775332213 -2.51269781589 -0.424781896174 -2.52995479107 -0.424789890647 -2.54721224308 -0.424799337983 -2.5644698143 -0.424810230732 -2.58172798157 -0.424822561443 -2.59898644686 -0.424828790128 -2.6182038188 -0.424822069704 -2.63742285967 -0.42480982095 -2.65468150377 -0.424798972904 -2.67193943262 -0.424789577723 -2.68919718266 -0.424781605602 -2.70645439625 -0.424775116146 -2.72371149063 -0.424770072103 -2.74096816778 -0.424766466022 -2.75822478533 -0.424764305353 -2.77548116445 -0.42476362735 -2.79273766279 -0.42476438731 -2.80999392271 -0.424766585231 -2.82725042105 -0.424770228565 -2.84450691938 -0.424775317311 -2.86176377535 -0.424781881273 -2.87902063131 -0.424789890647 -2.89627802372 -0.424799337983 -2.91353559494 -0.424810230732 -2.93079382182 -0.424822583795 -2.94805234671 -0.42482881248 -2.96726965904 -0.424822069704 -2.98648864031 -0.42480982095 -3.00374734402 -0.424798995256 -3.02100539207 -0.424789585173 -3.03826314211 -0.4247815907 -3.0555203557 -0.424775116146 -3.07277739048 -0.424770072103 -3.09003400803 -0.424766466022 -3.10729068518 -0.424764305353 -3.1245470047 -0.42476362735 --3.14138183196 -0.42476438731 --3.12412554026 -0.424766585231 --3.10686904192 -0.424770228565 --3.08961254358 -0.424775339663 --3.07235568762 -0.424781881273 --3.05509883166 -0.424789868295 --3.03784143925 -0.424799337983 --3.02058386803 -0.424810230732 --3.00332564116 -0.424822583795 --2.98606711626 -0.42482881248 --2.96684980393 -0.424822069704 --2.94763082266 -0.42480982095 --2.93037211895 -0.424798972904 --2.91311407089 -0.424789577723 --2.89585632086 -0.424781605602 --2.87859910727 -0.424775116146 --2.86134207249 -0.424770072103 --2.84408545494 -0.424766466022 --2.82682871819 -0.424764305353 --2.80957239866 -0.42476362735 --2.79231601953 -0.42476438731 --2.77505975962 -0.424766585231 --2.75780320168 -0.424770228565 --2.74054670334 -0.424775332213 --2.72328984737 -0.424781896174 --2.7060329318 -0.424789890647 --2.688775599 -0.424799337983 --2.67151802778 -0.424810230732 --2.65425974131 -0.424822583795 --2.63700121641 -0.42482881248 --2.61778390407 -0.424822069704 --2.59856492281 -0.42480982095 --2.5813062191 -0.424798972904 --2.56404823064 -0.424789577723 --2.54679048061 -0.424781627953 --2.52953326702 -0.424775138497 --2.51227629185 -0.424770072103 --2.4950196743 -0.424766466022 --2.47776293755 -0.424764305353 --2.46050661802 -0.42476362735 --2.44325017929 -0.424764364958 --2.42599385977 -0.424766562879 --2.40873730183 -0.424770228565 --2.3914808631 -0.424775339663 --2.37422406674 -0.424781903625 --2.35696715116 -0.424789890647 --2.33970969915 -0.424799337983 --2.32245206833 -0.424810230732 --2.30519390106 -0.424822583795 --2.28793543577 -0.42482881248 --2.26871806383 -0.424822084606 --2.24949908257 -0.424809835851 --2.23224043846 -0.424798972904 --2.21498245001 -0.424789577723 --2.19772469997 -0.424781605602 --2.18046748638 -0.424775093794 --2.163210392 -0.424770049751 --2.14595371485 -0.424766466022 --2.1286970973 -0.424764305353 --2.11144077778 -0.42476362735 --2.09418427944 -0.424764364958 --2.07692795992 -0.424766562879 --2.05967146158 -0.424770228565 --2.04241496325 -0.424775339663 --2.02515816688 -0.424781903625 --2.00790131092 -0.424789890647 --1.99064385891 -0.424799337983 --1.97338625789 -0.424810230732 --1.95612806082 -0.424822583795 --1.93886956573 -0.42482881248 --1.91965222359 -0.424822069704 --1.90043324232 -0.424809798598 --1.88317456841 -0.424798950553 --1.86591657996 -0.424789577723 --1.84865882993 -0.424781627953 --1.83140161633 -0.424775138497 --1.81414455176 -0.424770072103 --1.79688790441 -0.424766466022 --1.77963122726 -0.424764305353 --1.76237490773 -0.42476362735 --1.745118469 -0.424764364958 --1.72786217928 -0.424766562879 --1.71060565114 -0.424770228565 --1.6933491528 -0.424775317311 --1.67609229684 -0.424781881273 --1.65883541107 -0.4247899279 --1.64157798886 -0.424799375236 --1.62432041765 -0.424810230732 --1.60706225038 -0.424822583795 --1.58980372548 -0.42482881248 --1.57058638334 -0.424822084606 --1.55136740208 -0.424809835851 --1.53410872817 -0.424798972904 --1.51685070991 -0.424789562821 --1.49959295988 -0.424781613052 --1.48233577609 -0.424775116146 --1.46507868171 -0.424770049751 --1.44782203436 -0.424766466022 --1.43056541681 -0.424764305353 --1.41330906749 -0.424763604998 --1.39605256915 -0.424764364958 --1.37879627943 -0.424766585231 --1.36153975129 -0.424770228565 --1.34428331256 -0.424775317311 --1.3270264864 -0.424781881273 --1.30976957083 -0.424789890647 --1.29251217842 -0.424799337983 --1.2752545774 -0.424810230732 --1.25799635053 -0.424822583795 --1.24073785543 -0.42482881248 --1.2215205431 -0.424822069704 --1.20230153203 -0.42480982095 --1.18504285812 -0.424798972904 --1.16778489947 -0.424789577723 --1.15052714944 -0.424781605602 --1.13326993585 -0.424775116146 --1.11601287127 -0.424770072103 --1.09875622392 -0.424766466022 --1.08149954677 -0.424764305353 --1.06424319744 -0.42476362735 --1.04698672891 -0.42476438731 --1.02973043919 -0.424766585231 --1.01247394085 -0.424770228565 --0.995217502117 -0.424775317311 --0.977960631251 -0.424781881273 --0.96070368588 -0.424789890647 --0.943446278572 -0.424799337983 --0.926188707352 -0.424810230732 --0.908930510282 -0.424822561443 --0.891672000289 -0.424828790128 --0.872454658151 -0.424822069704 --0.853235691786 -0.42480982095 --0.835977017879 -0.424798972904 --0.818719014525 -0.424789577723 --0.801461264491 -0.424781605602 --0.784204065799 -0.424775116146 --0.766947001219 -0.424770072103 --0.749690338969 -0.424766466022 --0.73243367672 -0.424764305353 --0.715177342296 -0.42476362735 --0.697920903564 -0.424764364958 --0.680664628744 -0.424766562879 --0.663408085704 -0.424770228565 --0.646151602268 -0.424775332213 --0.628894761205 -0.424781896174 --0.611637875438 -0.424789890647 --0.594380483031 -0.424799337983 --0.577122882008 -0.424810230732 --0.559864670038 -0.424822561443 --0.542606160044 -0.424828790128 --0.523388817906 -0.424822069704 --0.504169844091 -0.42480982095 --0.486911185086 -0.424798972904 --0.469653174281 -0.424789577723 --0.452395416796 -0.424781605602 --0.435138218104 -0.424775116146 --0.417881146073 -0.424770072103 --0.400624483824 -0.424766466022 --0.383367821574 -0.424764305353 --0.36611148715 -0.42476362735 --0.348855033517 -0.42476438731 --0.331598758697 -0.424766585231 --0.314342230558 -0.424770228565 --0.297085754573 -0.424775317311 --0.279828906059 -0.424781881273 --0.262572005391 -0.424789890647 --0.245314601809 -0.424799337983 --0.228057015687 -0.424810230732 --0.210798814893 -0.424822583795 --0.193540304899 -0.42482881248 --0.174322973937 -0.444509960711 --0.155097495765 -0.444497182965 --0.137838795781 -0.444485902786 --0.120580768212 -0.444476120174 --0.103322982788 -0.444467805326 --0.0860657524317 -0.444461084903 --0.0688086515292 -0.444455839694 --0.0515519725159 -0.444452084601 --0.0342952972278 -0.444449827075 --0.0170389276464 -0.444449111819 -0.000217566033825 -0.444449901581 -0.0174738764763 -0.444452188909 -0.0347304334864 -0.444455966353 -0.0519869280979 -0.444461278617 -0.0692437980324 -0.444468133152 -0.0865007322282 -0.444476462901 -0.103758158162 -0.444486305117 -0.121015768498 -0.44449763 -0.13827399537 -0.444510474801 -0.155532538891 -0.444516971708 -0.174749627709 -0.44450994581 -0.19396835193 -0.444497190416 -0.211227055639 -0.444485902786 -0.228485088796 -0.444476135075 -0.245742868632 -0.444467842579 -0.263000100851 -0.444461084903 -0.280257202685 -0.444455817342 -0.297513872385 -0.444452062249 -0.314770556986 -0.444449827075 -0.332026936114 -0.444449111819 -0.34928341955 -0.444449901581 -0.366539724171 -0.444452188909 -0.383796297014 -0.444455988705 -0.40105279535 -0.44446131587 -0.418309651315 -0.444468148053 -0.435566581786 -0.444476462901 -0.452824011445 -0.444486305117 -0.470081619918 -0.444497652352 -0.487339839339 -0.444510497153 -0.504598379135 -0.444516971708 -0.523815482855 -0.44450994581 -0.543034210801 -0.444497168064 -0.560292899608 -0.444485880434 -0.577550932765 -0.444476135075 -0.594808727503 -0.444467864931 -0.612065970898 -0.444461107254 -0.629323065281 -0.444455817342 -0.64657972753 -0.444452062249 -0.663836419582 -0.444449827075 -0.681092768908 -0.444449111819 -0.698349237442 -0.444449901581 -0.715605556965 -0.444452188909 -0.732862114906 -0.444455988705 -0.750118613243 -0.444461300969 -0.76737549901 -0.444468133152 -0.784632429481 -0.444476462901 -0.801889851689 -0.444486305117 -0.819147467613 -0.444497652352 -0.836405694485 -0.444510497153 -0.85366423428 -0.444516971708 -0.872881308198 -0.44450994581 -0.892100036144 -0.444497190416 -0.909358754754 -0.444485902786 -0.926616787911 -0.444476135075 -0.943874567747 -0.444467842579 -0.961131796241 -0.444461062551 -0.978388890624 -0.444455817342 -0.995645582674 -0.444452084601 -1.01290225982 -0.444449827075 -1.03015860915 -0.444449111819 -1.04741510749 -0.444449901581 -1.06467142701 -0.444452188909 -1.08192798496 -0.444455988705 -1.09918448329 -0.444461300969 -1.11644133926 -0.4444681108 -1.13369828463 -0.444476440549 -1.15095570684 -0.444486282766 -1.16821330786 -0.44449763 -1.18547153473 -0.444510497153 -1.20273005962 -0.444516971708 -1.22194716334 -0.44450994581 -1.24116590619 -0.444497190416 -1.2584246099 -0.444485902786 -1.27568262815 -0.444476135075 -1.29294037819 -0.444467864931 -1.31019762158 -0.444461107254 -1.32745474577 -0.444455817342 -1.34471142292 -0.444452062249 -1.36196810007 -0.444449827075 -1.3792244792 -0.444449111819 -1.39648097754 -0.444449901581 -1.41373726725 -0.444452188909 -1.430993855 -0.444455988705 -1.44825035333 -0.444461300969 -1.4655072093 -0.4444681108 -1.48276415467 -0.44447645545 -1.50002157689 -0.444486320019 -1.51727920771 -0.444497652352 -1.53453743458 -0.444510497153 -1.55179595948 -0.444516971708 -1.57101303339 -0.44450994581 -1.59023174643 -0.444497190416 -1.60749045014 -0.444485887885 -1.6247484982 -0.444476082921 -1.64200627804 -0.444467827678 -1.65926349163 -0.444461084902 -1.67652058601 -0.444455817342 -1.69377726316 -0.444452084601 -1.71103397012 -0.444449827075 -1.72829031944 -0.444449089468 -1.74554678798 -0.444449879229 -1.7628031075 -0.444452188909 -1.78005966544 -0.444455988705 -1.79731619358 -0.444461300969 -1.81457307935 -0.4444681108 -1.83182999492 -0.444476440549 -1.84908741713 -0.444486305117 -1.86634501815 -0.44449763 -1.88360324502 -0.444510474801 -1.90086179972 -0.444516971708 -1.92007890343 -0.44450994581 -1.93929761648 -0.444497190416 -1.95655629039 -0.444485902786 -1.97381433844 -0.444476135075 -1.99107214808 -0.444467842579 -2.00832936168 -0.444461084903 -2.02558642626 -0.444455817342 -2.04284310341 -0.444452062249 -2.06009984016 -0.444449827075 -2.07735621929 -0.444449111819 -2.09461271763 -0.444449901581 -2.11186903715 -0.444452188909 -2.12912553549 -0.444455988705 -2.14638203383 -0.444461300969 -2.1636389494 -0.444468133152 -2.18089586496 -0.444476462901 -2.19815331697 -0.444486305117 -2.2154109478 -0.444497652352 -2.23266911507 -0.444510474801 -2.24992763996 -0.444516949356 -2.26914471388 -0.44450994581 -2.28836345672 -0.444497168064 -2.30562216044 -0.444485880434 -2.32288014889 -0.444476135075 -2.34013795853 -0.444467842579 -2.35739523172 -0.444461084903 -2.37465232611 -0.444455817342 -2.39190894365 -0.444452062249 -2.40916562081 -0.444449827075 -2.42642199994 -0.444449111819 -2.44367849827 -0.444449901581 -2.46093481779 -0.444452188909 -2.47819137573 -0.444455988705 -2.49544787407 -0.44446131587 -2.51270473004 -0.444468125701 -2.52996170521 -0.444476440549 -2.54721915722 -0.444486282766 -2.56447672844 -0.44449763 -2.58173489571 -0.444510474801 -2.5989934206 -0.444516949356 -2.61821055412 -0.44450994581 -2.63742935657 -0.444497190416 -2.65468806028 -0.444485902786 -2.67194604873 -0.444476135075 -2.68920379877 -0.444467842579 -2.70646101237 -0.444461084903 -2.72371816635 -0.444455817342 -2.7409749031 -0.444452062249 -2.75823152065 -0.444449827075 -2.77548789978 -0.444449111819 -2.79274439812 -0.444449901581 -2.81000065804 -0.444452188909 -2.82725721598 -0.444455988705 -2.84451371431 -0.444461300969 -2.86177057028 -0.444468133152 -2.87902748585 -0.444476462901 -2.89628493785 -0.444486305117 -2.91354250908 -0.444497652352 -2.93080079556 -0.444510497153 -2.94805938005 -0.444516971708 -2.96727639436 -0.444509960711 -2.98649513721 -0.444497182965 -3.00375390053 -0.444485902786 -3.02101194858 -0.444476120174 -3.03826969862 -0.444467805326 -3.05552691221 -0.444461084903 -3.07278400659 -0.444455839694 -3.09004068374 -0.444452084601 -3.1072974205 -0.444449827075 -3.12455379963 -0.444449111819 --3.14137509664 -0.444449901581 --3.12411880493 -0.444452188909 --3.10686224699 -0.444455966353 --3.08960574865 -0.444461278617 --3.07234889269 -0.444468133152 --3.05509197712 -0.444476462901 --3.03783452511 -0.444486305117 --3.02057695389 -0.44449763 --3.00331866741 -0.444510474801 --2.98606008291 -0.444516971708 --2.9668430686 -0.44450994581 --2.94762432575 -0.444497190416 --2.93036556244 -0.444485902786 --2.91310751438 -0.444476135075 --2.89584976434 -0.444467842579 --2.87859255076 -0.444461084903 --2.86133545637 -0.444455817342 --2.84407877922 -0.444452062249 --2.82682204246 -0.444449827075 --2.80956566333 -0.444449111819 --2.7923092246 -0.444449901581 --2.77505296469 -0.444452188909 --2.75779640675 -0.444455988705 --2.74053984881 -0.44446131587 --2.72328299284 -0.444468148053 --2.70602607727 -0.444476462901 --2.68876868486 -0.444486305117 --2.67151105404 -0.444497652352 --2.65425276756 -0.444510497153 --2.63699424267 -0.444516971708 --2.61777716875 -0.44450994581 --2.59855848551 -0.444497168064 --2.5812997818 -0.444485880434 --2.56404173374 -0.444476135075 --2.5467839241 -0.444467864931 --2.5295266509 -0.444461107254 --2.51226961612 -0.444455817342 --2.49501299858 -0.444452062249 --2.47775626183 -0.444449827075 --2.4604998827 -0.444449111819 --2.44324338436 -0.444449901581 --2.42598706484 -0.444452188909 --2.4087305069 -0.444455988705 --2.39147400856 -0.444461300969 --2.37421715259 -0.444468133152 --2.35696023703 -0.444476462901 --2.33970278501 -0.444486305117 --2.32244515419 -0.444497652352 --2.30518698692 -0.444510497153 --2.28792846203 -0.444516971708 --2.26871132851 -0.44450994581 --2.24949258566 -0.444497190416 --2.23223388195 -0.444485902786 --2.21497583389 -0.444476135075 --2.19771808386 -0.444467842579 --2.18046087027 -0.444461062551 --2.16320377588 -0.444455817342 --2.14594703913 -0.444452084601 --2.12869036197 -0.444449827075 --2.11143410206 -0.444449111819 --2.09417760372 -0.444449901581 --2.07692122459 -0.444452188909 --2.05966466665 -0.444455988705 --2.04240816831 -0.444461300969 --2.02515131235 -0.4444681108 --2.00789439678 -0.444476440549 --1.99063694477 -0.444486282766 --1.97337931395 -0.44449763 --1.95612108708 -0.444510497153 --1.93886256218 -0.444516971708 --1.91964548827 -0.44450994581 --1.90042674541 -0.444497190416 --1.8831680417 -0.444485902786 --1.86591002345 -0.444476135075 --1.84865224361 -0.444467864931 --1.83139503002 -0.444461107254 --1.81413790584 -0.444455817342 --1.79688119888 -0.444452062249 --1.77962452173 -0.444449827075 --1.7623681724 -0.444449111819 --1.74511170387 -0.444449901581 --1.72785538435 -0.444452188909 --1.71059882641 -0.444455988705 --1.69334232807 -0.444461300969 --1.67608544231 -0.4444681108 --1.65882852674 -0.44447645545 --1.64157107473 -0.444486320019 --1.62431347371 -0.444497652352 --1.60705527663 -0.444510497153 --1.58979672193 -0.444516971708 --1.57057961822 -0.44450994581 --1.55136090517 -0.444497190416 --1.53410223126 -0.444485887885 --1.51684418321 -0.444476082921 --1.49958637357 -0.444467827678 --1.48232913017 -0.444461084902 --1.46507203579 -0.444455817342 --1.44781538844 -0.444452084601 --1.4305587411 -0.444449827075 --1.41330236197 -0.444449089468 --1.39604583383 -0.444449879229 --1.3787895143 -0.444452188909 --1.36153295636 -0.444455988705 --1.34427648783 -0.444461300969 --1.32701963186 -0.4444681108 --1.30976268649 -0.444476440549 --1.29250526428 -0.444486305117 --1.27524763346 -0.44449763 --1.25798940659 -0.444510474801 --1.24073088169 -0.444516971708 --1.22151380778 -0.44450994581 --1.20229506492 -0.444497190416 --1.18503633141 -0.444485902786 --1.16777831316 -0.444476135075 --1.15052056312 -0.444467842579 --1.13326334953 -0.444461084903 --1.11600622535 -0.444455817342 --1.0987495184 -0.444452062249 --1.08149284125 -0.444449827075 --1.06423646212 -0.444449111819 --1.04697996378 -0.444449901581 --1.02972367406 -0.444452188909 --1.01246711612 -0.444455988705 --0.995210632682 -0.444461300969 --0.977953776717 -0.444468133152 --0.960696846247 -0.444476462901 --0.943439394236 -0.444486305117 --0.926181763411 -0.444497652352 --0.908923566341 -0.444510474801 --0.891665026545 -0.444516949356 --0.872447937727 -0.44450994581 --0.853229209781 -0.444497168064 --0.83597047627 -0.444485880434 --0.818712458014 -0.444476135075 --0.801454678178 -0.444467842579 --0.784197449684 -0.444461084903 --0.766940355301 -0.444455817342 --0.74968367815 -0.444452062249 --0.732426986098 -0.444449827075 --0.715170621872 -0.444449111819 --0.697914168239 -0.444449901581 --0.680657848716 -0.444452188909 --0.663401275873 -0.444455988705 --0.646144777536 -0.44446131587 --0.62888790667 -0.444468125701 --0.611630991101 -0.444476440549 --0.594373568892 -0.444486282766 --0.577115938067 -0.44449763 --0.559857711196 -0.444510474801 --0.5425991714 -0.444516949356 --0.523382082581 -0.44450994581 --0.504163354635 -0.444497190416 --0.486904650926 -0.444485902786 --0.469646625221 -0.444476135075 --0.452388845384 -0.444467842579 --0.435131601989 -0.444461084903 --0.417874507606 -0.444455817342 --0.400617830456 -0.444452062249 --0.383361130953 -0.444449827075 --0.366104774177 -0.444449111819 --0.348848298192 -0.444449901581 --0.331591978669 -0.444452188909 --0.314335420728 -0.444455988705 --0.297078922391 -0.444461300969 --0.279822051525 -0.444468133152 --0.262565128505 -0.444476462901 --0.245307695121 -0.444486305117 --0.228050079196 -0.444497652352 --0.210791852325 -0.444510497153 --0.193533316255 -0.444516971708 --0.174316227436 -0.46416169405 --0.155091173947 -0.464148424566 --0.137832444161 -0.464136682451 --0.120574388653 -0.464126527309 --0.103316580877 -0.464117929339 --0.0860593244433 -0.464110948146 --0.0688021965325 -0.464105479419 --0.0515454914421 -0.464101575315 --0.0342887877487 -0.464099228382 --0.0170323899947 -0.464098483324 -0.000224130926655 -0.464099295437 -0.0174804681447 -0.464101649821 -0.0347370505333 -0.464105576277 -0.0519935721531 -0.464111119508 -0.0692504700273 -0.464118257165 -0.0865074321628 -0.46412691474 -0.103764886036 -0.464137129485 -0.12102252245 -0.464148893952 -0.138280779124 -0.464162223041 -0.155539348721 -0.464168958366 -0.174756191671 -0.464161679149 -0.193974677473 -0.464148432016 -0.211233410984 -0.464136704802 -0.228491462767 -0.464126549661 -0.245749264956 -0.464117951691 -0.263006523252 -0.464110925794 -0.280263654888 -0.464105434716 -0.297520361841 -0.464101552964 -0.314777068793 -0.464099228382 -0.332033462823 -0.464098483324 -0.34928997606 -0.464099317789 -0.366546317935 -0.464101694525 -0.383802913129 -0.464105643332 -0.401059433818 -0.464111164212 -0.418316319585 -0.464118257165 -0.435573279858 -0.464126899839 -0.452830731869 -0.464137114584 -0.470088362694 -0.464148901403 -0.487346611917 -0.464162230492 -0.504605188966 -0.464168958366 -0.523822039366 -0.464161679149 -0.543040513992 -0.464148409665 -0.560299247503 -0.464136682451 -0.577557325363 -0.464126549661 -0.594815135002 -0.464117951691 -0.612072393298 -0.464110948146 -0.629329532385 -0.464105457068 -0.646586209535 -0.464101552964 -0.663842901588 -0.464099228382 -0.681099310517 -0.464098483324 -0.698355838656 -0.464099295437 -0.71561217308 -0.464101672173 -0.732868745923 -0.464105643332 -0.750125274062 -0.464111164212 -0.76738217473 -0.464118257165 -0.784639120102 -0.46412691474 -0.801896572113 -0.464137129485 -0.819154217839 -0.464148901403 -0.836412474513 -0.464162230492 -0.85367102921 -0.464168958366 -0.87288787961 -0.464161679149 -0.892106369138 -0.464148432016 -0.909365102649 -0.464136704802 -0.926623165607 -0.464126549661 -0.943880975246 -0.464117951691 -0.961138248443 -0.464110925794 -0.978395342827 -0.464105457068 -0.995652049778 -0.464101575315 -1.01290878653 -0.464099228382 -1.03016516566 -0.464098483324 -1.0474216938 -0.464099317789 -1.06467801333 -0.464101694525 -1.08193457127 -0.46410562098 -1.09919112921 -0.46411114186 -1.11644801498 -0.464118234813 -1.13370496035 -0.464126892388 -1.15096244216 -0.464137107133 -1.16822007298 -0.464148879051 -1.18547829985 -0.464162230492 -1.20273685455 -0.464168958366 -1.22195371986 -0.464161679149 -1.24117222428 -0.464148432016 -1.25843095779 -0.464136704802 -1.27568900585 -0.464126549661 -1.29294678569 -0.46411792934 -1.31020405889 -0.464110903442 -1.32746121287 -0.464105434716 -1.34471791983 -0.464101552964 -1.36197462678 -0.464099228382 -1.37923100591 -0.464098483324 -1.39648750425 -0.464099317789 -1.41374385357 -0.464101694525 -1.43100047111 -0.464105643332 -1.44825699925 -0.464111164212 -1.46551388502 -0.464118234813 -1.4827708602 -0.464126892388 -1.50002831221 -0.464137129485 -1.51728594303 -0.464148916304 -1.53454419971 -0.464162245393 -1.5518027544 -0.464168958366 -1.5710195899 -0.464161679149 -1.59023809433 -0.464148432016 -1.60749682784 -0.464136689901 -1.6247548759 -0.464126512408 -1.64201268554 -0.464117929339 -1.65926992893 -0.464110948146 -1.67652705312 -0.464105479419 -1.69378376007 -0.464101575315 -1.71104046702 -0.464099228382 -1.72829684615 -0.464098460972 -1.74555337429 -0.464099273086 -1.76280972361 -0.464101672173 -1.78006631136 -0.46410562098 -1.7973228395 -0.46411114186 -1.81457972527 -0.464118234813 -1.83183667064 -0.464126892388 -1.84909412265 -0.464137129485 -1.86635178328 -0.464148879051 -1.88361003995 -0.46416220814 -1.90086859465 -0.464168958366 -1.92008545995 -0.464161679149 -1.93930393457 -0.464148432016 -1.95656263828 -0.464136704802 -1.97382068634 -0.464126549661 -1.99107849598 -0.464117951691 -2.00833573938 -0.464110925794 -2.02559286356 -0.464105434716 -2.04284960031 -0.464101552964 -2.06010633707 -0.464099228382 -2.0773627162 -0.464098460972 -2.09461921454 -0.464099273086 -2.11187559366 -0.464101672173 -2.1291321516 -0.464105643332 -2.14638864994 -0.464111164212 -2.16364556551 -0.464118257165 -2.18090248108 -0.46412691474 -2.19815999269 -0.464137129485 -2.21541768312 -0.464148901403 -2.23267590999 -0.464162230492 -2.24993443489 -0.464168958366 -2.26915121078 -0.464161679149 -2.28836977482 -0.464148409665 -2.30562853813 -0.464136682451 -2.32288652659 -0.464126564562 -2.34014433622 -0.464117944241 -2.35740166903 -0.464110903442 -2.37465876341 -0.464105434716 -2.39191538096 -0.464101552964 -2.40917211771 -0.464099228382 -2.42642849684 -0.464098483324 -2.44368505478 -0.464099317789 -2.4609414339 -0.464101694525 -2.47819799185 -0.464105643332 -2.49545454979 -0.464111164212 -2.51271146536 -0.464118234813 -2.52996844053 -0.464126892388 -2.54722589254 -0.464137107133 -2.56448346376 -0.464148879051 -2.58174169063 -0.464162230492 -2.59900027514 -0.464168958366 -2.61821711063 -0.464161679149 -2.63743561506 -0.464148432016 -2.65469437838 -0.464136704802 -2.67195242643 -0.464126549661 -2.68921017647 -0.46411792934 -2.70646744967 -0.464110903442 -2.72372466326 -0.464105434716 -2.74098140001 -0.464101552964 -2.75823801756 -0.464099228382 -2.77549439669 -0.464098483324 -2.79275095463 -0.464099317789 -2.81000727415 -0.464101694525 -2.8272638917 -0.464105643332 -2.84452039004 -0.464111164212 -2.861777246 -0.464118257165 -2.87903422117 -0.464126899839 -2.89629167318 -0.464137114584 -2.91354930401 -0.464148901403 -2.93080759049 -0.464162230492 -2.94806617498 -0.464168958366 -2.96728301048 -0.46416169405 -2.98650145531 -0.464148424566 -3.00376021862 -0.464136682451 -3.02101832628 -0.464126527309 -3.03827613592 -0.464117929339 -3.05553334951 -0.464110948146 -3.0727904439 -0.464105479419 -3.09004718065 -0.464101575315 -3.10730391741 -0.464099228382 -3.12456029653 -0.464098483324 --3.14136854013 -0.464099295437 --3.12411218882 -0.464101649821 --3.10685557127 -0.464105576277 --3.08959907293 -0.464111119508 --3.07234221697 -0.464118257165 --3.0550852418 -0.46412691474 --3.03782778978 -0.464137129485 --3.02057015896 -0.464148893952 --3.00331187248 -0.464162223041 --2.98605328798 -0.464168958366 --2.96683645248 -0.464161679149 --2.94761794805 -0.464148432016 --2.93035918474 -0.464136704802 --2.91310113668 -0.464126549661 --2.89584332704 -0.464117951691 --2.87858611345 -0.464110925794 --2.86132901907 -0.464105434716 --2.84407228231 -0.464101552964 --2.82681554556 -0.464099228382 --2.80955916643 -0.464098483324 --2.79230266809 -0.464099317789 --2.77504634857 -0.464101694525 --2.75778979063 -0.464105643332 --2.74053323269 -0.464111164212 --2.72327637672 -0.464118257165 --2.70601946115 -0.464126899839 --2.68876200914 -0.464137114584 --2.67150431871 -0.464148901403 --2.65424603224 -0.464162230492 --2.63698750735 -0.464168958366 --2.61777067185 -0.464161679149 --2.59855216742 -0.464148409665 --2.5812934041 -0.464136682451 --2.56403535604 -0.464126549661 --2.5467775464 -0.464117951691 --2.5295202136 -0.464110948146 --2.51226311922 -0.464105457068 --2.49500650168 -0.464101552964 --2.47774976492 -0.464099228382 --2.46049332619 -0.464098483324 --2.44323682785 -0.464099295437 --2.42598050833 -0.464101672173 --2.40872389078 -0.464105643332 --2.39146733284 -0.464111164212 --2.37421041727 -0.464118257165 --2.3569535017 -0.46412691474 --2.33969604969 -0.464137129485 --2.32243841887 -0.464148901403 --2.30518019199 -0.464162230492 --2.28792160749 -0.464168958366 --2.268704772 -0.464161679149 --2.24948626757 -0.464148432016 --2.23222750425 -0.464136704802 --2.21496945619 -0.464126549661 --2.19771170616 -0.464117951691 --2.18045443296 -0.464110925794 --2.16319733858 -0.464105457068 --2.14594060183 -0.464101575315 --2.12868386507 -0.464099228382 --2.11142754555 -0.464098483324 --2.09417098761 -0.464099317789 --2.07691460848 -0.464101694525 --2.05965805054 -0.46410562098 --2.0424015522 -0.46411114186 --2.02514463663 -0.464118234813 --2.00788766146 -0.464126892388 --1.99063020945 -0.464137107133 --1.97337257862 -0.464148879051 --1.95611432195 -0.464162230492 --1.93885576725 -0.464168958366 --1.91963893175 -0.464161679149 --1.90042042732 -0.464148432016 --1.88316169381 -0.464136704802 --1.86590364576 -0.464126549661 --1.84864583612 -0.46411792934 --1.83138859272 -0.464110903442 --1.81413143873 -0.464105434716 --1.79687470198 -0.464101552964 --1.77961802482 -0.464099228382 --1.7623616457 -0.464098483324 --1.74510511756 -0.464099317789 --1.72784876823 -0.464101694525 --1.71059218049 -0.464105643332 --1.69333568215 -0.464111164212 --1.67607876659 -0.464118234813 --1.65882182121 -0.464126892388 --1.6415643692 -0.464137129485 --1.62430670858 -0.464148916304 --1.6070484519 -0.464162245393 --1.5897898674 -0.464168958366 --1.5705730319 -0.464161679149 --1.55135458708 -0.464148432016 --1.53409588337 -0.464136689901 --1.51683780551 -0.464126512408 --1.49957996607 -0.464117929339 --1.48232269287 -0.464110948146 --1.46506559849 -0.464105479419 --1.44780892134 -0.464101575315 --1.43055221439 -0.464099228382 --1.41329580546 -0.464098460972 --1.39603924751 -0.464099273086 --1.37878292799 -0.464101672173 --1.36152637005 -0.46410562098 --1.34426984191 -0.46411114186 --1.32701295614 -0.464118234813 --1.30975598097 -0.464126892388 --1.29249852896 -0.464137129485 --1.27524089813 -0.464148879051 --1.25798264146 -0.46416220814 --1.24072408676 -0.464168958366 --1.22150725126 -0.464161679149 --1.20228874683 -0.464148432016 --1.18502998352 -0.464136704802 --1.16777193546 -0.464126549661 --1.15051415563 -0.464117951691 --1.13325691223 -0.464110925794 --1.11599975824 -0.464105434716 --1.09874302149 -0.464101552964 --1.08148631453 -0.464099228382 --1.06422990561 -0.464098460972 --1.04697340727 -0.464099273086 --1.02971708774 -0.464101672173 --1.0124604702 -0.464105643332 --0.995203956963 -0.464111164212 --0.977947100997 -0.464118257165 --0.960690170527 -0.46412691474 --0.943432673812 -0.464137129485 --0.926174998283 -0.464148901403 --0.908916771412 -0.464162230492 --0.891658216715 -0.464168958366 --0.872441381216 -0.464161679149 --0.853222891688 -0.464148409665 --0.835964143276 -0.464136682451 --0.818706080317 -0.464126564562 --0.801448255777 -0.464117944241 --0.784190997482 -0.464110903442 --0.766933888197 -0.464105434716 --0.749677196145 -0.464101552964 --0.732420489192 -0.464099228382 --0.715164110064 -0.464098483324 --0.697907596827 -0.464099317789 --0.6806512326 -0.464101694525 --0.663394659758 -0.464105643332 --0.64613814652 -0.464111164212 --0.62888123095 -0.464118234813 --0.611624255777 -0.464126892388 --0.594366818666 -0.464137107133 --0.577109187841 -0.464148879051 --0.559850931167 -0.464162230492 --0.542592361569 -0.464168958366 --0.523375511169 -0.464161679149 --0.504157021642 -0.464148432016 --0.486898288131 -0.464136704802 --0.469640247524 -0.464126549661 --0.452382437884 -0.46411792934 --0.435125172138 -0.464110903442 --0.417868047953 -0.464105434716 --0.400611348451 -0.464101552964 --0.383354641497 -0.464099228382 --0.366098247469 -0.464098483324 --0.34884172678 -0.464099317789 --0.331585377455 -0.464101694525 --0.314328789711 -0.464105643332 --0.297072276473 -0.464111164212 --0.279815390706 -0.464118257165 --0.262558422983 -0.464126899839 --0.245300963521 -0.464137114584 --0.228043328971 -0.464148901403 --0.210785068571 -0.464162230492 --0.193526506424 -0.464168958366 --0.174309663475 -0.481423720718 --0.155085012317 -0.481410048902 --0.137826256454 -0.481397941708 --0.120568176731 -0.481387466192 --0.103310342878 -0.4813785851 --0.0860530603677 -0.481371350586 --0.0687959035858 -0.481365703047 --0.0515391724184 -0.481361687184 --0.0342824435793 -0.481359288097 --0.0170260209125 -0.481358513236 -0.000230525853113 -0.481359325349 -0.017486889381 -0.481361754239 -0.0347434980795 -0.481365837157 -0.0520000467077 -0.481371581554 -0.0692569706589 -0.481378912926 -0.0865139570087 -0.48138782382 -0.103771436959 -0.481398373842 -0.12102909945 -0.48141053319 -0.138287387789 -0.481424301863 -0.155545983464 -0.481431230903 -0.174762584269 -0.481423720718 -0.193980839104 -0.481410034001 -0.211239598691 -0.481397926807 -0.228497672826 -0.481387451291 -0.245755501092 -0.481378570199 -0.263012781739 -0.481371328235 -0.280269935727 -0.481365680695 -0.297526679933 -0.481361687184 -0.314783416688 -0.481359273195 -0.332039825618 -0.481358498335 -0.349296368659 -0.481359362602 -0.366552740335 -0.481361828745 -0.383809357882 -0.481365896761 -0.401065900922 -0.481371581554 -0.418322816491 -0.481378905475 -0.435579806566 -0.481387846172 -0.45283728838 -0.481398381293 -0.470094949007 -0.481410518289 -0.487353228033 -0.481424286962 -0.504611834884 -0.481431230903 -0.523828431964 -0.481423720718 -0.543046668172 -0.481410048902 -0.560305431485 -0.481397941708 -0.577563524246 -0.481387451291 -0.594821363687 -0.481378570199 -0.612078651786 -0.481371350586 -0.629335820675 -0.481365703047 -0.646592527628 -0.481361687184 -0.663849234581 -0.481359273195 -0.681105673313 -0.481358498335 -0.698362246156 -0.481359325349 -0.715618610382 -0.481361791492 -0.732875183224 -0.481365896761 -0.750131741166 -0.481371581554 -0.767388671637 -0.481378905475 -0.784645646811 -0.481387838721 -0.801903128624 -0.481398373842 -0.819160804153 -0.481410518289 -0.83641910553 -0.481424286962 -0.853677675128 -0.481431230903 -0.87289428711 -0.481423705816 -0.892112538219 -0.481410034001 -0.90937128663 -0.481397941708 -0.926629379392 -0.481387466192 -0.943887218833 -0.4813785851 -0.961144506931 -0.481371328235 -0.978401646018 -0.481365680695 -0.995658382772 -0.481361687184 -1.01291513443 -0.481359273195 -1.03017154336 -0.481358498335 -1.0474281013 -0.481359347701 -1.06468445062 -0.481361813844 -1.08194100857 -0.48136587441 -1.09919756651 -0.481371559203 -1.11645451188 -0.481378890574 -1.13371151686 -0.48138782382 -1.15096899867 -0.481398373842 -1.1682266295 -0.481410518289 -1.18548491597 -0.481424286962 -1.20274353027 -0.481431230903 -1.22196012735 -0.481423720718 -1.24117839336 -0.481410048902 -1.25843715668 -0.481397941708 -1.27569520474 -0.481387451291 -1.29295304418 -0.481378547847 -1.31021034717 -0.481371305883 -1.32746750116 -0.481365680695 -1.34472423792 -0.481361687184 -1.36198097467 -0.481359273195 -1.37923738361 -0.481358498335 -1.39649391174 -0.481359362602 -1.41375029087 -0.481361828745 -1.43100690841 -0.481365896761 -1.44826346636 -0.481371581554 -1.46552038193 -0.481378905475 -1.4827773571 -0.481387838721 -1.50003483891 -0.481398373842 -1.51729249954 -0.481410548091 -1.53455078602 -0.481424316764 -1.55180937052 -0.481431230903 -1.5710259676 -0.481423720718 -1.59024423361 -0.481410034001 -1.60750302672 -0.481397926807 -1.62476110459 -0.481387466192 -1.64201891422 -0.4813785851 -1.65927618742 -0.481371365487 -1.67653334141 -0.481365717948 -1.69379007816 -0.481361687184 -1.71104681492 -0.481359273195 -1.72830322385 -0.481358475983 -1.74555978179 -0.481359317899 -1.76281616092 -0.481361806393 -1.78007277846 -0.48136587441 -1.7973293066 -0.481371559203 -1.81458619237 -0.481378905475 -1.83184319735 -0.481387838721 -1.84910070896 -0.481398373842 -1.86635839939 -0.481410518289 -1.88361665607 -0.481424286962 -1.90087521076 -0.481431230903 -1.92009183765 -0.481423720718 -1.93931010366 -0.481410048902 -1.95656883717 -0.481397941708 -1.97382688523 -0.481387466192 -1.99108472467 -0.4813785851 -2.00834202766 -0.481371328235 -2.02559918165 -0.481365680695 -2.04285591841 -0.481361687184 -2.06011265516 -0.481359273195 -2.07736903429 -0.481358475983 -2.09462559223 -0.481359317899 -2.11188203096 -0.481361806393 -2.12913864851 -0.481365896761 -2.14639514685 -0.481371581554 -2.16365200281 -0.481378905475 -2.18090897799 -0.481387861073 -2.19816654921 -0.481398396194 -2.21542423963 -0.481410518289 -2.23268252611 -0.481424286962 -2.24994111061 -0.481431230903 -2.26915764809 -0.481423720718 -2.2883759141 -0.481410048902 -2.30563467741 -0.481397941708 -2.32289278507 -0.481387481094 -2.34015065431 -0.481378577649 -2.35740792751 -0.481371305883 -2.3746650219 -0.481365680695 -2.39192169905 -0.481361687184 -2.40917849541 -0.481359273195 -2.42643493414 -0.481358498335 -2.44369149208 -0.481359362602 -2.46094787121 -0.481361828745 -2.47820442915 -0.481365896761 -2.49546098709 -0.481371581554 -2.51271796226 -0.481378905475 -2.52997499705 -0.481387838721 -2.54723244906 -0.481398373842 -2.56449002028 -0.481410518289 -2.58174830675 -0.481424286962 -2.59900695086 -0.481431230903 -2.61822354794 -0.481423705816 -2.63744175434 -0.481410034001 -2.65470051766 -0.481397941708 -2.67195862531 -0.481387451291 -2.68921643495 -0.481378547847 -2.70647376776 -0.481371305883 -2.72373098135 -0.481365680695 -2.74098771811 -0.481361687184 -2.75824439526 -0.481359273195 -2.77550077438 -0.481358498335 -2.79275733232 -0.481359347701 -2.81001371145 -0.481361813844 -2.827270329 -0.481365896761 -2.84452688694 -0.481371581554 -2.86178380251 -0.481378905475 -2.87904077769 -0.48138782382 -2.8962982297 -0.481398358941 -2.91355592012 -0.481410518289 -2.9308142066 -0.481424286962 -2.9480727315 -0.481431230903 -2.96728938818 -0.481423720718 -2.98650765419 -0.481410048902 -3.0037664175 -0.481397941708 -3.02102452516 -0.481387466192 -3.0382823348 -0.4813785851 -3.055539608 -0.481371350586 -3.07279676199 -0.481365703047 -3.09005349875 -0.481361687184 -3.1073102355 -0.481359288097 -3.12456661463 -0.481358513236 --3.14136216243 -0.481359325349 --3.12410575152 -0.481361754239 --3.10684913397 -0.481365837157 --3.08959257603 -0.481371581554 --3.07233566046 -0.481378912926 --3.05507868528 -0.48138782382 --3.03782123327 -0.481398373842 --3.02056354285 -0.48141053319 --3.00330525637 -0.481424301863 --2.98604673147 -0.481431230903 --2.96683007479 -0.481423720718 --2.94761174917 -0.481410034001 --2.93035298586 -0.481397926807 --2.9130949378 -0.481387451291 --2.89583712816 -0.481378570199 --2.87857985496 -0.481371328235 --2.86132270098 -0.481365680695 --2.84406596422 -0.481361687184 --2.82680922747 -0.481359273195 --2.80955284834 -0.481358498335 --2.79229635 -0.481359362602 --2.77503997087 -0.481361828745 --2.75778329373 -0.481365896761 --2.74052673578 -0.481371581554 --2.72326987982 -0.481378905475 --2.70601290465 -0.481387846172 --2.68875539303 -0.481398381293 --2.6714977026 -0.481410518289 --2.65423941612 -0.481424286962 --2.63698083162 -0.481431230903 --2.61776423454 -0.481423720718 --2.59854596853 -0.481410048902 --2.58128720522 -0.481397941708 --2.56402915716 -0.481387451291 --2.54677128791 -0.481378570199 --2.52951395512 -0.481371350586 --2.51225686073 -0.481365703047 --2.49500018358 -0.481361687184 --2.47774344683 -0.481359273195 --2.46048694849 -0.481358498335 --2.44323039055 -0.481359325349 --2.42597407103 -0.481361791492 --2.40871745348 -0.481365896761 --2.39146089554 -0.481371581554 --2.37420397997 -0.481378905475 --2.3569470048 -0.481387838721 --2.33968949318 -0.481398373842 --2.32243186236 -0.481410518289 --2.30517357588 -0.481424286962 --2.28791493177 -0.481431230903 --2.26869833469 -0.481423705816 --2.24948012829 -0.481410034001 --2.23222136498 -0.481397941708 --2.21496325731 -0.481387466192 --2.19770544768 -0.4813785851 --2.18044817448 -0.481371328235 --2.16319102049 -0.481365680695 --2.14593428373 -0.481361687184 --2.12867754698 -0.481359273195 --2.11142110825 -0.481358498335 --2.09416455031 -0.481359347701 --2.07690817118 -0.481361813844 --2.05965161324 -0.48136587441 --2.0423950553 -0.481371559203 --2.02513808012 -0.481378890574 --2.00788113475 -0.48138782382 --1.99062368274 -0.481398373842 --1.97336602211 -0.481410518289 --1.95610770583 -0.481424286962 --1.93884912133 -0.481431230903 --1.91963252425 -0.481423720718 --1.90041425824 -0.481410048902 --1.88315549493 -0.481397941708 --1.86589741707 -0.481387451291 --1.84863960743 -0.481378547847 --1.83138230443 -0.481371305883 --1.81412512064 -0.481365680695 --1.79686841368 -0.481361687184 --1.77961170673 -0.481359273195 --1.7623552978 -0.481358498335 --1.74509873986 -0.481359362602 --1.72784236073 -0.481361828745 --1.71058574319 -0.481365896761 --1.69332918525 -0.481371581554 --1.67607226968 -0.481378905475 --1.65881529451 -0.481387838721 --1.64155781269 -0.481398373842 --1.62430012226 -0.481410548091 --1.60704183579 -0.481424316764 --1.58978325129 -0.481431230903 --1.5705666542 -0.481423720718 --1.55134841799 -0.481410034001 --1.53408968449 -0.481397926807 --1.51683157683 -0.481387466192 --1.49957370758 -0.4813785851 --1.48231643438 -0.481371365487 --1.4650593102 -0.481365717948 --1.44780260324 -0.481361687184 --1.43054586649 -0.481359273195 --1.41328942776 -0.481358475983 --1.39603286982 -0.481359317899 --1.37877652049 -0.481361806393 --1.36151993275 -0.48136587441 --1.3442633748 -0.481371559203 --1.32700642943 -0.481378905475 --1.30974945426 -0.481387838721 --1.29249197245 -0.481398373842 --1.27523431182 -0.481410518289 --1.25797605514 -0.481424286962 --1.24071744084 -0.481431230903 --1.22150081396 -0.481423720718 --1.20228257775 -0.481410048902 --1.18502381444 -0.481397941708 --1.16776573658 -0.481387466192 --1.15050789714 -0.4813785851 --1.13325059414 -0.481371328235 --1.11599344015 -0.481365680695 --1.09873670339 -0.481361687184 --1.08147996664 -0.481359273195 --1.06422352791 -0.481358475983 --1.04696699977 -0.481359317899 --1.02971065044 -0.481361806393 --1.0124540329 -0.481365896761 --0.99519750476 -0.481371581554 --0.977940604091 -0.481378905475 --0.960683628917 -0.481387861073 --0.943426117301 -0.481398396194 --0.92616841197 -0.481410518289 --0.908910140395 -0.481424286962 --0.891651570797 -0.481431230903 --0.872434973717 -0.481423720718 --0.853216737509 -0.481410048902 --0.835957974195 -0.481397941708 --0.818699866533 -0.481387481094 --0.801442027092 -0.481378577649 --0.784184738994 -0.481371305883 --0.766927585006 -0.481365680695 --0.749670878053 -0.481361687184 --0.732414141298 -0.481359273195 --0.715157717467 -0.481358498335 --0.697901174426 -0.481359362602 --0.6806448102 -0.481361828745 --0.663388222456 -0.481365896761 --0.646131679416 -0.481371581554 --0.628874734045 -0.481378905475 --0.611617714167 -0.481387838721 --0.594360247254 -0.481398373842 --0.577102601528 -0.481410518289 --0.559844315052 -0.481424286962 --0.542585715651 -0.481431230903 --0.52336910367 -0.481423705816 --0.504150852561 -0.481410034001 --0.486892096698 -0.481397941708 --0.46963403374 -0.481387451291 --0.452376194298 -0.481378547847 --0.4351189062 -0.481371305883 --0.417861752212 -0.481365680695 --0.400605015457 -0.481361687184 --0.383348286152 -0.481359273195 --0.366091862321 -0.481358498335 --0.348835319281 -0.481359347701 --0.331578962505 -0.481361813844 --0.314322344959 -0.481365896761 --0.297065794468 -0.481371581554 --0.279808886349 -0.481378905475 --0.262551903725 -0.48138782382 --0.245294418186 -0.481398358941 --0.228036750108 -0.481410518289 --0.210778463632 -0.481424286962 --0.193519871682 -0.481431230903 --0.174303267151 -0.498666793108 --0.155078891665 -0.498652696609 --0.137820106 -0.498640216887 --0.1205620002 -0.498629435897 --0.103304145858 -0.498620271683 --0.0860468354076 -0.49861279875 --0.0687896506861 -0.498607002199 --0.0515328971669 -0.498602874577 --0.0342761436477 -0.498600415886 --0.0170196953695 -0.498599626124 -0.000236877007407 -0.498600460589 -0.0174932661466 -0.498602971435 -0.0347499018535 -0.498607181013 -0.0520064774901 -0.498613111675 -0.0692634284496 -0.498620666564 -0.0865204408765 -0.498629823327 -0.103777945042 -0.498640686274 -0.121035635471 -0.498653210699 -0.138293948025 -0.498667396605 -0.155552569777 -0.498674541712 -0.174768939614 -0.498666793108 -0.193986959756 -0.49865269661 -0.211245741695 -0.498640216887 -0.228503841907 -0.498629420996 -0.245761699974 -0.498620286583 -0.263019002974 -0.498612828552 -0.280276186764 -0.498607002199 -0.297532953322 -0.498602874577 -0.314789712429 -0.498600400985 -0.332046158612 -0.498599611223 -0.349302731454 -0.49860047549 -0.366559118032 -0.498603001237 -0.38381575793 -0.498607210815 -0.401072330773 -0.498613074422 -0.418329283595 -0.498620629311 -0.435586303473 -0.498629875481 -0.452843800187 -0.498640723527 -0.470101483166 -0.498653210699 -0.487359791994 -0.498667396605 -0.504618436098 -0.498674541712 -0.523834809661 -0.498666793108 -0.54305280745 -0.498652696609 -0.560311585665 -0.498640216887 -0.577569693327 -0.498629420996 -0.59482756257 -0.498620286583 -0.61208486557 -0.498612828552 -0.629342064261 -0.498607002199 -0.646598815918 -0.498602874577 -0.663855537772 -0.498600400985 -0.681111991405 -0.498599596321 -0.698368579149 -0.498600445688 -0.715624973178 -0.498602986336 -0.732881590724 -0.498607210815 -0.750138178468 -0.498613074422 -0.76739512384 -0.498620629311 -0.784652128816 -0.498629853129 -0.80190962553 -0.498640701175 -0.81916731596 -0.498653210699 -0.836425662041 -0.498667396605 -0.853684276342 -0.498674541712 -0.872900649905 -0.498666778207 -0.892118662596 -0.498652681708 -0.909377425909 -0.498640216887 -0.926635548472 -0.498629435897 -0.943893417716 -0.498620271683 -0.961150720716 -0.49861279875 -0.978407904506 -0.498607002199 -0.995664656161 -0.498602874577 -1.01292142272 -0.498600400985 -1.03017786145 -0.498599596321 -1.0474344492 -0.498600460589 -1.06469085812 -0.498603001237 -1.08194744587 -0.498607195914 -1.09920400381 -0.498613059521 -1.11646097898 -0.49862061441 -1.13371801376 -0.498629838228 -1.15097549558 -0.498640701175 -1.1682331562 -0.498653210699 -1.18549150229 -0.498667396605 -1.20275014639 -0.498674541712 -1.22196650505 -0.498666793108 -1.24118453264 -0.498652696609 -1.25844332576 -0.498640216887 -1.27570140362 -0.498629420996 -1.29295924306 -0.498620286583 -1.31021657586 -0.498612828552 -1.32747375965 -0.498607002199 -1.34473049641 -0.498602874577 -1.36198726297 -0.498600400985 -1.3792437315 -0.498599596321 -1.39650028944 -0.49860047549 -1.41375666857 -0.49860304594 -1.43101331592 -0.498607240617 -1.44826990366 -0.498613074422 -1.46552681923 -0.498620629311 -1.4827837944 -0.498629838228 -1.50004133582 -0.498640686274 -1.51729905605 -0.498653240502 -1.53455734253 -0.498667426408 -1.55181592703 -0.498674541712 -1.5710323155 -0.498666793108 -1.59025034309 -0.498652681708 -1.6075091362 -0.498640201986 -1.62476727366 -0.498629420996 -1.64202511311 -0.498620286584 -1.6592824161 -0.498612843454 -1.67653959989 -0.4986070171 -1.69379633665 -0.498602874577 -1.71105310321 -0.498600400985 -1.72830954194 -0.498599596321 -1.74556612969 -0.49860047549 -1.76282253862 -0.498603016138 -1.78007915616 -0.498607195914 -1.7973357141 -0.498613059521 -1.81459265947 -0.498620629311 -1.83184969425 -0.498629853129 -1.84910720587 -0.498640701175 -1.8663648963 -0.498653210699 -1.88362321258 -0.498667411506 -1.90088182688 -0.498674556613 -1.92009818554 -0.498666793108 -1.93931621313 -0.498652696609 -1.95657497644 -0.498640216887 -1.9738330543 -0.498629435897 -1.99109095335 -0.498620301485 -2.00834825635 -0.498612828552 -2.02560544014 -0.498607002199 -2.0428622365 -0.498602874577 -2.06011897325 -0.498600400985 -2.07737535238 -0.498599596321 -2.09463196993 -0.49860047549 -2.11188846827 -0.498603016138 -2.12914508581 -0.498607210815 -2.14640158415 -0.498613104224 -2.16365849972 -0.498620659113 -2.1809155345 -0.49862986058 -2.19817304611 -0.498640708625 -2.21543073654 -0.498653210699 -2.23268908262 -0.498667396605 -2.24994772672 -0.498674541712 -2.26916402578 -0.498666793108 -2.28838199377 -0.498652711511 -2.30564081669 -0.498640231788 -2.32289898395 -0.498629435897 -2.3401568532 -0.498620301485 -2.3574141264 -0.498612828552 -2.37467128039 -0.498607002199 -2.39192801714 -0.498602874577 -2.4091848135 -0.498600400985 -2.42644131184 -0.498599596321 -2.44369786978 -0.49860047549 -2.46095424891 -0.498603016138 -2.47821086645 -0.498607195914 -2.49546742439 -0.498613059521 -2.51272439957 -0.498620629311 -2.52998143435 -0.498629838228 -2.54723894596 -0.498640686274 -2.56449657679 -0.498653210699 -2.58175486326 -0.498667411506 -2.59901350737 -0.498674556613 -2.61822992563 -0.498666778207 -2.63744795323 -0.498652681708 -2.65470671654 -0.498640216887 -2.6719648242 -0.498629420996 -2.68922263384 -0.498620286583 -2.70647996664 -0.498612828552 -2.72373718024 -0.498607002199 -2.74099391699 -0.498602874577 -2.75825071335 -0.498600400985 -2.77550715208 -0.498599596321 -2.79276365042 -0.498600460589 -2.81002002955 -0.498603001237 -2.8272767067 -0.498607210815 -2.84453332424 -0.498613074422 -2.86179023981 -0.498620629311 -2.87904721499 -0.498629853129 -2.8963047266 -0.498640701175 -2.91356241703 -0.498653210699 -2.93082070351 -0.498667396605 -2.94807928801 -0.498674541712 -2.96729570627 -0.498666793108 -2.98651379347 -0.498652696609 -3.00377255678 -0.498640216887 -3.02103060484 -0.498629435897 -3.03828847408 -0.498620271683 -3.05554580689 -0.49861279875 -3.07280302048 -0.498607002199 -3.09005981684 -0.498602874577 -3.1073165536 -0.498600415886 -3.12457293272 -0.498599626124 --3.14135584434 -0.498600460589 --3.12409943342 -0.498602971435 --3.10684275627 -0.498607181013 --3.08958613873 -0.498613111675 --3.07232922316 -0.498620666564 --3.05507224798 -0.498629823327 --3.03781473637 -0.498640686274 --3.02055698633 -0.498653210699 --3.00329869985 -0.498667396605 --2.98604017496 -0.498674541712 --2.96682375669 -0.498666793108 --2.9476056695 -0.49865269661 --2.93034690619 -0.498640216887 --2.91308885813 -0.498629420996 --2.89583098888 -0.498620286583 --2.87857365608 -0.498612828552 --2.86131644249 -0.498607002199 --2.84405964613 -0.498602874577 --2.82680290938 -0.498600400985 --2.80954653025 -0.498599611223 --2.7922899723 -0.49860047549 --2.77503353357 -0.498603001237 --2.75777685642 -0.498607210815 --2.74052029848 -0.498613074422 --2.72326338291 -0.498620629311 --2.70600634813 -0.498629875481 --2.68874883652 -0.498640723527 --2.67149114609 -0.498653210699 --2.65423280001 -0.498667396605 --2.6369741559 -0.498674541712 --2.61775785684 -0.498666793108 --2.59853988886 -0.498652696609 --2.58128112555 -0.498640216887 --2.56402301788 -0.498629420996 --2.54676508903 -0.498620286583 --2.52950775623 -0.498612828552 --2.51225060224 -0.498607002199 --2.49499386549 -0.498602874577 --2.47773712874 -0.498600400985 --2.4604806304 -0.498599596321 --2.44322401285 -0.498600445688 --2.42596763372 -0.498602986336 --2.40871101618 -0.498607210815 --2.39145445824 -0.498613074422 --2.37419754267 -0.498620629311 --2.35694056749 -0.498629853129 --2.33968305588 -0.498640701175 --2.32242536545 -0.498653210699 --2.30516701937 -0.498667396605 --2.28790837526 -0.498674541712 --2.268691957 -0.498666778207 --2.24947398901 -0.498652681708 --2.2322152257 -0.498640216887 --2.21495705843 -0.498629435897 --2.19769924879 -0.498620271683 --2.18044197559 -0.49861279875 --2.163184762 -0.498607002199 --2.14592802524 -0.498602874577 --2.12867128849 -0.498600400985 --2.11141479015 -0.498599596321 --2.09415823221 -0.498600460589 --2.07690185308 -0.498603001237 --2.05964523554 -0.498607195914 --2.04238861799 -0.498613059521 --2.02513164282 -0.49862061441 --2.00787466764 -0.498629838228 --1.99061715603 -0.498640701175 --1.9733594656 -0.498653210699 --1.95610114932 -0.498667396605 --1.93884253502 -0.498674541712 --1.91962614655 -0.498666793108 --1.90040811896 -0.498652696609 --1.88314935565 -0.498640216887 --1.86589124799 -0.498629420996 --1.84863340855 -0.498620286583 --1.83137607574 -0.498612828552 --1.81411886215 -0.498607002199 --1.7968621552 -0.498602874577 --1.77960541844 -0.498600400985 --1.76234897971 -0.498599596321 --1.74509239197 -0.49860047549 --1.72783598304 -0.49860304594 --1.71057936549 -0.498607240617 --1.69332277775 -0.498613074422 --1.67606583237 -0.498620629311 --1.6588088274 -0.498629838228 --1.64155131578 -0.498640686274 --1.62429362535 -0.498653240502 --1.60703530908 -0.498667426408 --1.58977669478 -0.498674541712 --1.57056033611 -0.498666793108 --1.55134230852 -0.498652681708 --1.5340835154 -0.498640201986 --1.51682540774 -0.498629420996 --1.4995675385 -0.498620286584 --1.4823102355 -0.498612843454 --1.46505305171 -0.4986070171 --1.44779628515 -0.498602874577 --1.4305395484 -0.498600400985 --1.41328310967 -0.498599596321 --1.39602655172 -0.49860047549 --1.37877017259 -0.498603016138 --1.36151352524 -0.498607195914 --1.3442569375 -0.498613059521 --1.32699996233 -0.498620629311 --1.30974295735 -0.498629853129 --1.29248544573 -0.498640701175 --1.27522775531 -0.498653210699 --1.25796946883 -0.498667411506 --1.24071082473 -0.498674556613 --1.22149443626 -0.498666793108 --1.20227643847 -0.498652696609 --1.18501767516 -0.498640216887 --1.1677595675 -0.498629435897 --1.15050169826 -0.498620301485 --1.13324439525 -0.498612828552 --1.11598721147 -0.498607002199 --1.09873044491 -0.498602874577 --1.08147367835 -0.498600400985 --1.06421723962 -0.498599596321 --1.04696068168 -0.49860047549 --1.02970427275 -0.498603016138 --1.0124476552 -0.498607210815 --0.995191097258 -0.498613104224 --0.977934136987 -0.498620659113 --0.960677132011 -0.49862986058 --0.943419620395 -0.498640708625 --0.926161900162 -0.498653210699 --0.908903598785 -0.498667396605 --0.891644999385 -0.498674541712 --0.872428625822 -0.498666793108 --0.85321059823 -0.498652711511 --0.835951805115 -0.498640231788 --0.818693697453 -0.498629435897 --0.801435858011 -0.498620301485 --0.78417854011 -0.498612828552 --0.766921326518 -0.498607002199 --0.749664604664 -0.498602874577 --0.732407838106 -0.498600400985 --0.715151369572 -0.498599596321 --0.697894826532 -0.49860047549 --0.680638447404 -0.498603016138 --0.663381800055 -0.498607195914 --0.646125227213 -0.498613059521 --0.628868281842 -0.498620629311 --0.611611247062 -0.498629838228 --0.594353750348 -0.498640686274 --0.57709607482 -0.498653210699 --0.559837758541 -0.498667411506 --0.542579144239 -0.498674556613 --0.523362770677 -0.498666778207 --0.504144743085 -0.498652681708 --0.48688596487 -0.498640216887 --0.469627864659 -0.498629420996 --0.452370002866 -0.498620286583 --0.435112684965 -0.498612828552 --0.417855508626 -0.498607002199 --0.400598749518 -0.498602874577 --0.38334197551 -0.498600400985 --0.366085521877 -0.498599596321 --0.348828963936 -0.498600460589 --0.331572584808 -0.498603001237 --0.31431594491 -0.498607210815 --0.297059364617 -0.498613074422 --0.279802411795 -0.498620629311 --0.262545414269 -0.498629853129 --0.24528792128 -0.498640701175 --0.228030223399 -0.498653210699 --0.210771907121 -0.498667396605 --0.193513285369 -0.498674541712 --0.174296911806 -0.515892058611 --0.155072815716 -0.515877559781 --0.1378140077 -0.51586471498 --0.120555872098 -0.515853613615 --0.103297991678 -0.51584418118 --0.086040655151 -0.515836492181 --0.0687834462151 -0.515830531716 --0.0515266675502 -0.515826284885 --0.0342698874883 -0.515823751688 --0.0170134142972 -0.515822961927 -0.000243183458222 -0.515823841095 -0.0174995984417 -0.515826404094 -0.0347562595271 -0.515830725431 -0.052012860775 -0.515836805105 -0.0692698368802 -0.515844583511 -0.0865268744528 -0.515854030848 -0.103784404695 -0.515865206719 -0.121042117476 -0.515878096223 -0.138300452381 -0.515892699361 -0.155559107661 -0.515900045633 -0.174775250256 -0.515892058611 -0.193993031979 -0.515877574682 -0.211251839996 -0.515864729881 -0.228509973734 -0.515853613615 -0.245767861605 -0.515844210982 -0.263025186956 -0.515836521983 -0.280282385647 -0.515830531716 -0.297539174557 -0.515826284885 -0.314795963466 -0.515823736787 -0.332052432001 -0.515822947025 -0.349309034646 -0.515823841095 -0.366565443575 -0.515826418996 -0.383822105825 -0.515830770135 -0.401078715921 -0.515836805105 -0.418335683644 -0.515844553709 -0.435592718423 -0.51585406065 -0.45285025239 -0.515865236521 -0.470107972622 -0.515878096223 -0.487366311252 -0.515892699361 -0.504624962807 -0.515900045633 -0.523841112852 -0.515892058611 -0.543058887124 -0.515877559781 -0.560317665339 -0.51586471498 -0.577575817705 -0.515853613615 -0.594833731651 -0.515844225883 -0.612091049552 -0.515836536884 -0.629348263144 -0.515830546618 -0.646605044603 -0.515826299787 -0.663861811161 -0.515823736787 -0.681118294597 -0.515822902322 -0.69837488234 -0.515823796391 -0.71563129127 -0.515826418996 -0.73288795352 -0.515830755234 -0.750144556165 -0.515836790204 -0.767401531339 -0.51584456861 -0.784658581018 -0.51585406065 -0.801916107535 -0.51586522162 -0.819173812866 -0.515878096223 -0.836432158947 -0.515892699361 -0.853690803051 -0.515900045633 -0.872906953097 -0.515892058611 -0.892124727368 -0.515877559781 -0.909383520484 -0.51586471498 -0.92664167285 -0.515853613615 -0.943899556995 -0.51584418118 -0.961156889796 -0.515836492181 -0.978414103389 -0.515830546618 -0.995670884847 -0.515826299787 -1.01292765141 -0.515823736787 -1.03018411994 -0.515822932124 -1.04744073749 -0.515823841095 -1.06469717622 -0.515826433897 -1.08195382357 -0.515830740333 -1.09921041131 -0.515836775303 -1.11646738648 -0.51584456861 -1.13372442126 -0.515854075551 -1.15098196268 -0.515865236521 -1.16823965311 -0.515878096223 -1.18549799919 -0.515892699361 -1.2027566731 -0.515900045633 -1.22197279334 -0.515892058611 -1.24119058251 -0.515877559781 -1.25844940543 -0.51586471498 -1.27570751309 -0.515853613615 -1.29296538234 -0.515844225883 -1.31022274494 -0.515836536884 -1.32747995854 -0.515830546618 -1.34473672509 -0.515826299787 -1.36199352145 -0.515823736787 -1.37924998998 -0.515822932124 -1.39650657773 -0.515823841095 -1.41376298666 -0.515826463699 -1.43101966381 -0.515830799937 -1.44827628136 -0.515836805105 -1.46553322673 -0.51584456861 -1.48279023171 -0.51585406065 -1.50004780293 -0.515865221619 -1.51730555296 -0.515878111124 -1.53456386924 -0.515892714262 -1.55182248354 -0.515900045633 -1.57103863358 -0.515892073512 -1.59025642276 -0.515877574682 -1.60751521587 -0.51586471498 -1.62477338314 -0.515853598714 -1.64203128219 -0.515844210982 -1.65928861499 -0.515836536884 -1.67654582858 -0.515830546618 -1.69380259514 -0.515826299787 -1.7110593617 -0.515823736787 -1.72831583023 -0.515822902322 -1.74557244777 -0.515823811292 -1.76282888651 -0.515826433897 -1.78008550406 -0.515830740333 -1.7973420918 -0.515836790204 -1.81459909677 -0.51584456861 -1.83185613155 -0.51585406065 -1.84911364317 -0.515865236521 -1.8663713634 -0.515878096223 -1.88362970948 -0.515892714262 -1.90088835359 -0.515900060534 -1.92010450363 -0.515892058611 -1.93932229281 -0.515877559781 -1.95658108592 -0.51586471498 -1.97383922338 -0.515853613615 -1.99109712243 -0.515844225883 -2.00835442543 -0.515836536884 -2.02561163902 -0.515830546618 -2.04286843538 -0.515826299787 -2.06012523174 -0.515823736787 -2.07738167047 -0.515822932124 -2.09463828802 -0.515823841095 -2.11189478636 -0.515826418996 -2.1291514039 -0.515830740332 -2.14640796185 -0.515836820006 -2.16366493702 -0.515844598412 -2.1809219718 -0.51585406065 -2.19817948342 -0.515865221619 -2.21543723345 -0.515878096223 -2.23269557953 -0.515892699361 -2.24995422363 -0.515900045633 -2.26917034387 -0.515892058611 -2.28838807344 -0.515877574682 -2.30564695597 -0.515864729881 -2.32290512323 -0.515853613615 -2.34016293287 -0.515844225883 -2.35742026568 -0.515836536884 -2.37467747927 -0.515830546618 -2.39193427563 -0.515826299787 -2.40919107199 -0.515823736787 -2.42644751072 -0.515822932124 -2.44370412826 -0.515823841095 -2.460960567 -0.515826433897 -2.47821718455 -0.515830740333 -2.49547380209 -0.515836775303 -2.51273077727 -0.515844553709 -2.52998775244 -0.515854045749 -2.54724532366 -0.515865221619 -2.56450307369 -0.515878096223 -2.58176141977 -0.515892714262 -2.59902006387 -0.515900060534 -2.61823618412 -0.515892058611 -2.6374540329 -0.515877559781 -2.65471285582 -0.51586471498 -2.67197090387 -0.515853613615 -2.68922877312 -0.515844210982 -2.70648610592 -0.515836521983 -2.72374331951 -0.515830546618 -2.74100011587 -0.515826299787 -2.75825691223 -0.515823736787 -2.77551341057 -0.515822932124 -2.79276996851 -0.515823841095 -2.81002634764 -0.515826433897 -2.82728308439 -0.515830770135 -2.84453970194 -0.515836805105 -2.86179661751 -0.51584456861 -2.87905365229 -0.515854075551 -2.8963111639 -0.515865236521 -2.91356885433 -0.515878096223 -2.93082720041 -0.515892699361 -2.94808584451 -0.515900045633 -2.96730202436 -0.515892058611 -2.98651987314 -0.515877559781 -3.00377863646 -0.51586471498 -3.02103674412 -0.515853613615 -3.03829467296 -0.51584418118 -3.05555200577 -0.515836492181 -3.07280921936 -0.515830531716 -3.09006601572 -0.515826284885 -3.10732275248 -0.515823751688 -3.12457919121 -0.515822961927 --3.14134952624 -0.515823841095 --3.12409311533 -0.515826404094 --3.10683637857 -0.515830725431 --3.08957976103 -0.515836805105 --3.07232284546 -0.515844583511 --3.05506581068 -0.515854030848 --3.03780829906 -0.515865206719 --3.02055054903 -0.515878096223 --3.00329220295 -0.515892699361 --2.98603361845 -0.515900045633 --2.9668174386 -0.515892058611 --2.94759958983 -0.515877574682 --2.93034082651 -0.515864729881 --2.91308271885 -0.515853613615 --2.89582479 -0.515844210982 --2.8785674572 -0.515836521983 --2.86131024361 -0.515830531716 --2.84405344725 -0.515826284885 --2.82679665089 -0.515823736787 --2.80954021216 -0.515822947025 --2.79228365421 -0.515823841095 --2.77502715587 -0.515826418996 --2.75777047872 -0.515830770135 --2.74051392079 -0.515836805105 --2.72325694561 -0.515844553709 --2.70599991083 -0.51585406065 --2.68874239922 -0.515865236521 --2.67148464918 -0.515878096223 --2.6542263031 -0.515892699361 --2.636967659 -0.515900045633 --2.61775153875 -0.515892058611 --2.59853380919 -0.515877559781 --2.58127504587 -0.51586471498 --2.56401687861 -0.515853613615 --2.54675894976 -0.515844225883 --2.52950161695 -0.515836536884 --2.51224440336 -0.515830546618 --2.494987607 -0.515826299787 --2.47773081064 -0.515823736787 --2.46047431231 -0.515822902322 --2.44321769476 -0.515823796391 --2.42596131563 -0.515826418996 --2.40870469809 -0.515830755234 --2.39144808054 -0.515836790204 --2.37419110536 -0.51584456861 --2.35693407059 -0.51585406065 --2.33967655897 -0.51586522162 --2.32241886854 -0.515878096223 --2.30516046286 -0.515892699361 --2.28790181875 -0.515900045633 --2.26868569851 -0.515892058611 --2.24946796894 -0.515877559781 --2.23220914602 -0.51586471498 --2.21495097876 -0.515853613615 --2.19769316912 -0.51584418118 --2.18043583631 -0.515836492181 --2.16317856312 -0.515830546618 --2.14592176676 -0.515826299787 --2.12866503 -0.515823736787 --2.11140853167 -0.515822932124 --2.09415191412 -0.515823841095 --2.07689553499 -0.515826433897 --2.05963885784 -0.515830740333 --2.04238224029 -0.515836775303 --2.02512526512 -0.51584456861 --2.00786823034 -0.515854075551 --1.99061068892 -0.515865236521 --1.97335296869 -0.515878096223 --1.95609465242 -0.515892699361 --1.93883600831 -0.515900045633 --1.91961985827 -0.515892058611 --1.90040203929 -0.515877559781 --1.88314324617 -0.51586471498 --1.86588513851 -0.515853613615 --1.84862723947 -0.515844225883 --1.83136990666 -0.515836536884 --1.81411269307 -0.515830546618 --1.79685592651 -0.515826299787 --1.77959915996 -0.515823736787 --1.76234269142 -0.515822932124 --1.74508607388 -0.515823841095 --1.72782963514 -0.515826463699 --1.71057298779 -0.515830799937 --1.69331640005 -0.515836805105 --1.67605942488 -0.51584456861 --1.6588023901 -0.51585406065 --1.64154487848 -0.515865221619 --1.62428715825 -0.515878111124 --1.60702881217 -0.515892714262 --1.58977016807 -0.515900045633 --1.57055401802 -0.515892073512 --1.55133622885 -0.515877574682 --1.53407740593 -0.51586471498 --1.51681926846 -0.515853598714 --1.49956139922 -0.515844210982 --1.48230406642 -0.515836536884 --1.46504685283 -0.515830546618 --1.44779005646 -0.515826299787 --1.43053328991 -0.515823736787 --1.41327682137 -0.515822902322 --1.39602023363 -0.515823811292 --1.3787638247 -0.515826433897 --1.36150714755 -0.515830740333 --1.34425053 -0.515836790204 --1.32699352503 -0.51584456861 --1.30973649025 -0.51585406065 --1.29247897863 -0.515865236521 --1.27522128821 -0.515878096223 --1.25796294212 -0.515892714262 --1.24070426822 -0.515900060534 --1.22148814797 -0.515892058611 --1.2022703588 -0.515877559781 --1.18501156568 -0.51586471498 --1.16775345802 -0.515853613615 --1.15049555898 -0.515844225883 --1.13323825598 -0.515836536884 --1.11598104238 -0.515830546618 --1.09872421622 -0.515826299787 --1.08146741986 -0.515823736787 --1.06421098113 -0.515822932124 --1.04695439339 -0.515823841095 --1.02969795466 -0.515826418996 --1.01244130731 -0.515830740332 --0.995184704661 -0.515836820006 --0.977927714586 -0.515844598412 --0.960670679808 -0.51585406065 --0.943413153291 -0.515865221619 --0.926155418158 -0.515878096223 --0.908897086978 -0.515892699361 --0.891638457775 -0.515900045633 --0.87242230773 -0.515892058611 --0.853204518557 -0.515877574682 --0.83594571054 -0.515864729881 --0.818687573075 -0.515853613615 --0.801429703832 -0.515844225883 --0.784172356129 -0.515836536884 --0.766915127635 -0.515830546618 --0.749658361077 -0.515826299787 --0.732401579619 -0.515823736787 --0.715145125985 -0.515822932124 --0.697888538241 -0.515823841095 --0.680632099509 -0.515826433897 --0.66337543726 -0.515830740333 --0.646118834615 -0.515836775303 --0.628861859441 -0.515844553709 --0.611604839563 -0.515854045749 --0.594347313047 -0.515865221619 --0.577089592815 -0.515878096223 --0.559831246733 -0.515892714262 --0.54257260263 -0.515900060534 --0.523356467486 -0.515892058611 --0.504138678312 -0.515877559781 --0.486879870295 -0.51586471498 --0.469621740281 -0.515853613615 --0.452363848686 -0.515844210982 --0.435106508434 -0.515836521983 --0.417849317193 -0.515830546618 --0.400592528284 -0.515826299787 --0.383335731924 -0.515823736787 --0.366079255939 -0.515822932124 --0.348822660744 -0.515823841095 --0.331566244364 -0.515826433897 --0.314309582114 -0.515830770135 --0.29705298692 -0.515836805105 --0.279796011746 -0.51584456861 --0.262538984418 -0.515854075551 --0.245281461626 -0.515865236521 --0.228023737669 -0.515878096223 --0.210765395313 -0.515892699361 --0.193506747484 -0.515900045633 --0.174290601164 -0.533094927668 --0.155067019165 -0.533080026507 --0.137808188796 -0.53306683898 --0.12055002898 -0.53305542469 --0.103292118758 -0.533045738935 --0.0860347598791 -0.533037856221 --0.0687775267288 -0.533031716943 --0.0515207219869 -0.533027350903 --0.0342639167793 -0.533024728298 --0.0170074182097 -0.533023893833 -0.000249203993007 -0.533024802804 -0.017505642958 -0.53302745521 -0.034762328025 -0.533031910658 -0.0520189544186 -0.533038124442 -0.0692759538069 -0.533046111464 -0.0865330155939 -0.533055856824 -0.103790573776 -0.533067360521 -0.121048312634 -0.533080607653 -0.138306673616 -0.533095598221 -0.155565351248 -0.533103138208 -0.174781270325 -0.533094927668 -0.193998832256 -0.533080026507 -0.211257666349 -0.53306683898 -0.228515826166 -0.53305542469 -0.245773732662 -0.533045738935 -0.263031080365 -0.533037856221 -0.280288308859 -0.533031716943 -0.29754512012 -0.533027350903 -0.314801931381 -0.533024728298 -0.332058429718 -0.533023893833 -0.349315054714 -0.533024802804 -0.366571485996 -0.533027470112 -0.383828170598 -0.533031955361 -0.401084810496 -0.533038154244 -0.41834179312 -0.533046111464 -0.43559885025 -0.533055871725 -0.452856428922 -0.533067375422 -0.470114178956 -0.533080607653 -0.487372539937 -0.533095628023 -0.504631206393 -0.533103168011 -0.52384711802 -0.533094927668 -0.543064668775 -0.533080026507 -0.560323506594 -0.53306683898 -0.577581688762 -0.53305542469 -0.594839602709 -0.533045753836 -0.612096950412 -0.533037871123 -0.629354164004 -0.533031731844 -0.646610960364 -0.533027365804 -0.663867786527 -0.533024728298 -0.681124299765 -0.533023864031 -0.69838090241 -0.533024773001 -0.715637326241 -0.533027470112 -0.732894018293 -0.53303194046 -0.75015065074 -0.533038139343 -0.767407655716 -0.533046126366 -0.784664720297 -0.533055871725 -0.801922276616 -0.533067360521 -0.819180011749 -0.533080607653 -0.836438372731 -0.533095598221 -0.853697046638 -0.533103138208 -0.872912973166 -0.533094927668 -0.89213052392 -0.533080041408 -0.909389346838 -0.533066853881 -0.926647529006 -0.53305542469 -0.943905428052 -0.533045738935 -0.961162775755 -0.533037856221 -0.97842001915 -0.533031731844 -0.995676845313 -0.533027365804 -1.01293364167 -0.533024713397 -1.03019014001 -0.533023878932 -1.04744675755 -0.533024832606 -1.06470319629 -0.533027499914 -1.08195987344 -0.53303194046 -1.09921649098 -0.533038154244 -1.11647349596 -0.533046141267 -1.13373056054 -0.533055886626 -1.15098813176 -0.533067375422 -1.168245852 -0.533080607653 -1.18550419807 -0.533095598221 -1.20276290178 -0.533103138208 -1.22197884321 -0.533094927668 -1.24119639397 -0.533080026507 -1.25845521688 -0.53306683898 -1.27571335435 -0.53305542469 -1.2929712832 -0.533045753836 -1.31022867561 -0.533037871123 -1.3274858892 -0.533031731844 -1.34474268556 -0.533027365804 -1.36199951172 -0.533024728298 -1.37925598025 -0.533023893833 -1.3965125978 -0.533024802804 -1.41376903653 -0.533027470112 -1.43102571368 -0.533031955361 -1.44828236103 -0.533038154244 -1.46553936601 -0.533046126366 -1.48279640078 -0.533055886626 -1.500053972 -0.533067375422 -1.51731172204 -0.533080607653 -1.53457006812 -0.533095598221 -1.55182874203 -0.533103138208 -1.57104465365 -0.533094942569 -1.59026223421 -0.533080041408 -1.60752105713 -0.53306683898 -1.6247792244 -0.53305542469 -1.64203715324 -0.533045753836 -1.65929448605 -0.53303784132 -1.67655172944 -0.533031716943 -1.6938085556 -0.533027380705 -1.71106535197 -0.533024713397 -1.7283218503 -0.53302384913 -1.74557846784 -0.533024802804 -1.76283490658 -0.533027499914 -1.78009158373 -0.533031925559 -1.79734820128 -0.533038154245 -1.81460520625 -0.533046141267 -1.83186227083 -0.533055871725 -1.84911981225 -0.533067375422 -1.86637756228 -0.533080607653 -1.88363593817 -0.533095598221 -1.90089461208 -0.533103138208 -1.9201105237 -0.533094927668 -1.93932807446 -0.533080026507 -1.95658692718 -0.53306683898 -1.97384509444 -0.53305542469 -1.99110299349 -0.533045753836 -2.00836032629 -0.533037871123 -2.02561753988 -0.533031731844 -2.04287433624 -0.533027365804 -2.06013119221 -0.533024728298 -2.07738769054 -0.533023893833 -2.09464430809 -0.533024802804 -2.11190080643 -0.53302745521 -2.12915748358 -0.533031925559 -2.14641410112 -0.533038139343 -2.1636710763 -0.533046126366 -2.18092811108 -0.533055886626 -2.1981856823 -0.533067375422 -2.21544343233 -0.533080607653 -2.23270177841 -0.533095628023 -2.24996048212 -0.533103168011 -2.26917642355 -0.533094927668 -2.2883939147 -0.533080026507 -2.30565273762 -0.53306683898 -2.32291090488 -0.53305542469 -2.34016877413 -0.533045753836 -2.35742616654 -0.533037871123 -2.37468338013 -0.533031731844 -2.39194017649 -0.533027365804 -2.40919703245 -0.533024728298 -2.42645347118 -0.533023893833 -2.44371008873 -0.533024802804 -2.46096658707 -0.533027470112 -2.47822326422 -0.533031925559 -2.49547988177 -0.533038139343 -2.51273685694 -0.533046126366 -2.52999389172 -0.533055871725 -2.54725146294 -0.533067375422 -2.56450927258 -0.533080607653 -2.58176767826 -0.533095598221 -2.59902632236 -0.533103138208 -2.61824220419 -0.533094927668 -2.63745981455 -0.533080041408 -2.65471869707 -0.533066853881 -2.67197680473 -0.53305542469 -2.68923473358 -0.533045738935 -2.70649206638 -0.533037856221 -2.72374927998 -0.533031731844 -2.74100613594 -0.533027365804 -2.7582628727 -0.533024728298 -2.77551937103 -0.533023893833 -2.79277604818 -0.533024832606 -2.81003242731 -0.533027499914 -2.82728910446 -0.53303194046 -2.84454578161 -0.533038154244 -2.86180275678 -0.533046141267 -2.87905979156 -0.533055886626 -2.89631736278 -0.533067375422 -2.91357511282 -0.533080607653 -2.9308334589 -0.533095598221 -2.94809210301 -0.533103138208 -2.96730804443 -0.533094927668 -2.98652565479 -0.533080026507 -3.00378447771 -0.53306683898 -3.02104264498 -0.53305542469 -3.03830057382 -0.533045738935 -3.05555790663 -0.533037856221 -3.07281512022 -0.533031716943 -3.09007191658 -0.533027350903 -3.10732871294 -0.533024728298 -3.12458521128 -0.533023893833 --3.14134344657 -0.533024802804 --3.12408703566 -0.53302745521 --3.1068303585 -0.533031910658 --3.08957368135 -0.533038124442 --3.07231664658 -0.533046111464 --3.0550596118 -0.533055856824 --3.03780210018 -0.533067360521 --3.02054435015 -0.533080607653 --3.00328600407 -0.533095598221 --2.98602735996 -0.533103138208 --2.96681141854 -0.533094927668 --2.94759380818 -0.533080026507 --2.93033498526 -0.53306683898 --2.91307681799 -0.53305542469 --2.89581888914 -0.533045738935 --2.87856155634 -0.533037856221 --2.86130434275 -0.533031716943 --2.84404754639 -0.533027350903 --2.82679069042 -0.533024728298 --2.80953419209 -0.533023893833 --2.79227763414 -0.533024802804 --2.77502113581 -0.533027470112 --2.75776445866 -0.533031955361 --2.74050784111 -0.533038154244 --2.72325080633 -0.533046111464 --2.70599377155 -0.533055871725 --2.68873620033 -0.533067375422 --2.6714784503 -0.533080607653 --2.65422010422 -0.533095628023 --2.63696140051 -0.533103168011 --2.61774551869 -0.533094927668 --2.59852802754 -0.533080026507 --2.58126920462 -0.53306683898 --2.56401103735 -0.53305542469 --2.5467531085 -0.533045753836 --2.52949571609 -0.533037871123 --2.5122385025 -0.533031731844 --2.49498170614 -0.533027365804 --2.47772485018 -0.533024728298 --2.46046835184 -0.533023864031 --2.4432117343 -0.533024773001 --2.42595529556 -0.533027470112 --2.40869861841 -0.53303194046 --2.39144200087 -0.533038139343 --2.37418502569 -0.533046126366 --2.35692793131 -0.533055871725 --2.33967036009 -0.533067360521 --2.32241266966 -0.533080607653 --2.30515426398 -0.533095598221 --2.28789556026 -0.533103138208 --2.26867967844 -0.533094927668 --2.24946218729 -0.533080041408 --2.23220336437 -0.533066853881 --2.2149451375 -0.53305542469 --2.19768726826 -0.533045738935 --2.18042993545 -0.533037856221 --2.16317260265 -0.533031731844 --2.14591574669 -0.533027365804 --2.12865900994 -0.533024713397 --2.1114025116 -0.533023878932 --2.09414589405 -0.533024832606 --2.07688951492 -0.533027499914 --2.05963277817 -0.53303194046 --2.04237616062 -0.533038154244 --2.02511918545 -0.533046141267 --2.00786209107 -0.533055886626 --1.99060451984 -0.533067375422 --1.97334679961 -0.533080607653 --1.95608845353 -0.533095598221 --1.93882977963 -0.533103138208 --1.919613868 -0.533094927668 --1.90039625764 -0.533080026507 --1.88313740492 -0.53306683898 --1.86587926745 -0.53305542469 --1.84862136841 -0.533045753836 --1.83136403561 -0.533037871123 --1.81410679221 -0.533031731844 --1.79684996605 -0.533027365804 --1.77959316969 -0.533024728298 --1.76233667135 -0.533023893833 --1.745080024 -0.533024802804 --1.72782358527 -0.533027470112 --1.71056690812 -0.533031955361 --1.69331029057 -0.533038154244 --1.6760533154 -0.533046126366 --1.65879625082 -0.533055886626 --1.64153870941 -0.533067375422 --1.62428095937 -0.533080607653 --1.60702258349 -0.533095598221 --1.58976390958 -0.533103138208 --1.57054796815 -0.533094942569 --1.55133041739 -0.533080041408 --1.53407159447 -0.53306683898 --1.51681342721 -0.53305542469 --1.49955552817 -0.533045753836 --1.48229816556 -0.53303784132 --1.46504095197 -0.533031716943 --1.44778415561 -0.533027380705 --1.43052732945 -0.533024713397 --1.41327083111 -0.53302384913 --1.39601421356 -0.533024802804 --1.37875774503 -0.533027499914 --1.36150103808 -0.533031925559 --1.34424442053 -0.533038154245 --1.32698741555 -0.533046141267 --1.30973035097 -0.533055871725 --1.29247280955 -0.533067375422 --1.27521508932 -0.533080607653 --1.25795674324 -0.533095598221 --1.24069806933 -0.533103138208 --1.22148215771 -0.533094927668 --1.20226457715 -0.533080026507 --1.18500572443 -0.53306683898 --1.16774758697 -0.53305542469 --1.15048965812 -0.533045753836 --1.13323229551 -0.533037871123 --1.11597508192 -0.533031731844 --1.09871825576 -0.533027365804 --1.0814614594 -0.533024728298 --1.06420499086 -0.533023893833 --1.04694834351 -0.533024802804 --1.02969190478 -0.53302745521 --1.01243522764 -0.533031925559 --0.995178580285 -0.533038139343 --0.977921575308 -0.533046126366 --0.960664525628 -0.533055886626 --0.94340698421 -0.533067375422 --0.926149219275 -0.533080607653 --0.908890843391 -0.533095628023 --0.891632184386 -0.533103168011 --0.872416272759 -0.533094927668 --0.853198722005 -0.533080026507 --0.835939899087 -0.53306683898 --0.81868173182 -0.53305542469 --0.801423817873 -0.533045753836 --0.784166440368 -0.533037871123 --0.766909211874 -0.533031731844 --0.749652415514 -0.533027365804 --0.732395589352 -0.533024728298 --0.715139120817 -0.533023893833 --0.697882503271 -0.533024802804 --0.680626034737 -0.533027470112 --0.663369372487 -0.533031925559 --0.64611274004 -0.533038139343 --0.628855735064 -0.533046126366 --0.611598715186 -0.533055871725 --0.594341143966 -0.533067375422 --0.577083393932 -0.533080607653 --0.559825047851 -0.533095598221 --0.542566359043 -0.533103138208 --0.523350432515 -0.533094927668 --0.50413287431 -0.533080041408 --0.486874036491 -0.533066853881 --0.469615884125 -0.53305542469 --0.452357970178 -0.533045738935 --0.435100607574 -0.533037856221 --0.417843386531 -0.533031731844 --0.400586567819 -0.533027365804 --0.383329771459 -0.533024728298 --0.366073280573 -0.533023893833 --0.348816648126 -0.533024832606 --0.331560209394 -0.533027499914 --0.314303517341 -0.53303194046 --0.297046892345 -0.533038154244 --0.27978990227 -0.533046141267 --0.262532845139 -0.533055886626 --0.245275285095 -0.533067375422 --0.228017538786 -0.533080607653 --0.210759174079 -0.533095598221 --0.193500503898 -0.533103138208 --0.17428458482 -0.550259843468 --0.155061420053 -0.550244554877 --0.137802563608 -0.550231024623 --0.12054438144 -0.550219297409 --0.103286448866 -0.550209358335 --0.0860290676356 -0.550201281905 --0.0687718093395 -0.550194978714 --0.0515149794519 -0.550190493464 --0.0342581500299 -0.550187796354 --0.0170016260818 -0.550186932087 -0.000255020102485 -0.55018787086 -0.0175114825833 -0.550190612674 -0.0347681911662 -0.550195172429 -0.0520248413086 -0.550201550126 -0.0692818667739 -0.550209760666 -0.0865389537066 -0.550219774246 -0.103796536103 -0.550231575966 -0.121054301039 -0.550245165825 -0.138312686235 -0.550260543823 -0.155571378768 -0.550268262625 -0.174787081778 -0.550259828567 -0.194004435092 -0.550244539976 -0.211263291538 -0.550231039524 -0.228521473706 -0.55021931231 -0.24577940628 -0.550209358335 -0.26303678751 -0.550201281905 -0.280294045806 -0.550194963813 -0.297550864518 -0.550190478563 -0.31480769813 -0.550187811255 -0.33206423372 -0.550186932087 -0.349320873618 -0.550187855959 -0.366577334702 -0.550190612674 -0.383834034205 -0.55019518733 -0.401090681553 -0.550201565027 -0.418347708881 -0.550209760666 -0.435604795814 -0.550219759345 -0.452862381935 -0.550231575966 -0.470120154321 -0.550245165825 -0.487378545105 -0.550260573625 -0.504637233913 -0.550268307328 -0.523852929473 -0.550259843468 -0.543070271611 -0.550244554877 -0.560329139233 -0.550231024623 -0.577587336302 -0.550219297409 -0.59484526515 -0.550209358335 -0.612102642655 -0.550201281905 -0.62935988605 -0.550194978714 -0.646616697311 -0.550190493464 -0.663873538375 -0.550187811255 -0.681130081415 -0.550186932087 -0.698386728764 -0.550187855959 -0.715643182397 -0.550190612674 -0.73289988935 -0.55019518733 -0.750156536699 -0.550201550126 -0.767413556576 -0.550209745765 -0.784670650959 -0.550219774246 -0.80192823708 -0.550231590867 -0.819185987115 -0.550245165825 -0.836444377899 -0.550260528922 -0.853703096509 -0.550268262625 -0.87291879952 -0.550259843468 -0.892136126757 -0.550244539976 -0.909394979477 -0.550231009722 -0.926653191447 -0.550219297409 -0.943911120295 -0.550209358335 -0.961168482899 -0.550201281905 -0.978425741196 -0.550194978714 -0.995682597161 -0.550190493464 -1.01293942332 -0.550187796354 -1.03019592166 -0.550186917186 -1.04745256901 -0.55018787086 -1.06470903755 -0.550190627575 -1.0819657445 -0.55019518733 -1.09922239185 -0.550201565027 -1.11647942662 -0.550209760666 -1.133736521 -0.550219759345 -1.15099409222 -0.550231561065 -1.16825184226 -0.550245150924 -1.18551021814 -0.550260528922 -1.20276892185 -0.550268262625 -1.22198465466 -0.550259843468 -1.2412019968 -0.550244554877 -1.25846084952 -0.550231024623 -1.27571904659 -0.550219297409 -1.29297697544 -0.550209358335 -1.31023436785 -0.550201281905 -1.32749161124 -0.550194978714 -1.34474840761 -0.550190493464 -1.36200526357 -0.550187811255 -1.37926179171 -0.550186932087 -1.39651840925 -0.550187841057 -1.41377487779 -0.550190597772 -1.43103158474 -0.55019518733 -1.44828823209 -0.550201565027 -1.46554526687 -0.550209760666 -1.48280233145 -0.550219759345 -1.50005993247 -0.550231575966 -1.51731771231 -0.550245180726 -1.53457605839 -0.550260543823 -1.5518347621 -0.550268262625 -1.57105049491 -0.550259828567 -1.59026786685 -0.550244510174 -1.60752668977 -0.55023099482 -1.62478485703 -0.550219282508 -1.64204281568 -0.550209343433 -1.65930017829 -0.550201252103 -1.67655745149 -0.550194948912 -1.69381430745 -0.550190493464 -1.71107110381 -0.550187796354 -1.72832763195 -0.550186917186 -1.7455842793 -0.550187885761 -1.76284071803 -0.550190642476 -1.78009745479 -0.55019518733 -1.79735410214 -0.550201579929 -1.81461110711 -0.550209775567 -1.83186820149 -0.550219774246 -1.84912577271 -0.550231575966 -1.86638355255 -0.550245150924 -1.88364195824 -0.550260543823 -1.90090063214 -0.550268277526 -1.92011630535 -0.550259843468 -1.93933364749 -0.550244525075 -1.95659253001 -0.55023099482 -1.97385072708 -0.550219297409 -1.99110865593 -0.550209358335 -2.00836598873 -0.550201281905 -2.02562326193 -0.550194963813 -2.04288011789 -0.550190478563 -2.06013691425 -0.550187811255 -2.07739347219 -0.550186932087 -2.09465014935 -0.550187855959 -2.11190664768 -0.550190612674 -2.12916338444 -0.550195202231 -2.14642000199 -0.550201579928 -2.16367697716 -0.550209760666 -2.18093407154 -0.550219774246 -2.19819170236 -0.550231590867 -2.2154494524 -0.550245165825 -2.23270779848 -0.550260573625 -2.24996650219 -0.550268307328 -2.26918226481 -0.550259828567 -2.28839957714 -0.550244539976 -2.30565834045 -0.550231024623 -2.32291650772 -0.550219297409 -2.34017449617 -0.550209358335 -2.35743194819 -0.550201281905 -2.37468916178 -0.550194978714 -2.39194589853 -0.550190493464 -2.4092027545 -0.550187811255 -2.42645931244 -0.550186932087 -2.44371592999 -0.550187855959 -2.46097242832 -0.550190612674 -2.47822916508 -0.55019518733 -2.49548578263 -0.550201579929 -2.5127427578 -0.550209775567 -2.52999985218 -0.550219774246 -2.54725748301 -0.550231590867 -2.56451529264 -0.550245165825 -2.58177369833 -0.550260528922 -2.59903234243 -0.550268262625 -2.61824804545 -0.550259828567 -2.63746541739 -0.550244554877 -2.65472429991 -0.550231039524 -2.67198246717 -0.550219297409 -2.68924039602 -0.550209358335 -2.70649778843 -0.550201281905 -2.72375500202 -0.550194978714 -2.74101185798 -0.550190493464 -2.75826865435 -0.550187811255 -2.77552515268 -0.550186932087 -2.79278182983 -0.550187885761 -2.81003826856 -0.550190642476 -2.82729494572 -0.55019518733 -2.84455162287 -0.550201579929 -2.86180865764 -0.550209775567 -2.87906569242 -0.550219759345 -2.89632332325 -0.550231575966 -2.91358113289 -0.550245165825 -2.93083947897 -0.550260528922 -2.94809818268 -0.550268262625 -2.96731388569 -0.550259843468 -2.98653125763 -0.550244554877 -3.00379014015 -0.550231024623 -3.02104830742 -0.550219297409 -3.03830623627 -0.550209358335 -3.05556356907 -0.550201281905 -3.07282078266 -0.550194978714 -3.09007763862 -0.550190493464 -3.10733449459 -0.550187796354 -3.12459099293 -0.550186932087 --3.14133766492 -0.55018787086 --3.1240811944 -0.550190612674 --3.10682451725 -0.550195172429 --3.0895678401 -0.550201550126 --3.07231074571 -0.550209760666 --3.05505371094 -0.550219774246 --3.03779613972 -0.550231575966 --3.02053833008 -0.550245165825 --3.003279984 -0.550260543823 --2.98602128029 -0.550268262625 --2.96680557728 -0.550259828567 --2.94758820534 -0.550244539976 --2.93032932282 -0.550231039524 --2.91307115555 -0.55021931231 --2.8958132267 -0.550209358335 --2.8785558939 -0.550201281905 --2.8612986803 -0.550194963813 --2.84404182434 -0.550190478563 --2.82678496838 -0.550187811255 --2.80952841044 -0.550186932087 --2.79227173328 -0.550187855959 --2.77501529455 -0.550190612674 --2.7577586174 -0.55019518733 --2.74050194025 -0.550201565027 --2.72324490547 -0.550209760666 --2.70598781109 -0.550219759345 --2.68873023987 -0.550231575966 --2.67147254944 -0.550245165825 --2.65421414375 -0.550260573625 --2.63695538044 -0.550268307328 --2.61773973703 -0.550259843468 --2.5985224247 -0.550244554877 --2.58126354218 -0.550231024623 --2.56400537491 -0.550219297409 --2.54674744606 -0.550209358335 --2.52948999405 -0.550201281905 --2.51223272085 -0.550194978714 --2.4949759841 -0.550190493464 --2.47771912813 -0.550187811255 --2.46046257019 -0.550186932087 --2.44320595264 -0.550187855959 --2.42594945431 -0.550190612674 --2.40869271755 -0.55019518733 --2.3914361 -0.550201550126 --2.37417912483 -0.550209745765 --2.35692203045 -0.550219774246 --2.33966439962 -0.550231590867 --2.32240664959 -0.550245165825 --2.30514824391 -0.550260528922 --2.2878895402 -0.550268262625 --2.26867383718 -0.550259843468 --2.24945652485 -0.550244539976 --2.23219770193 -0.550231009722 --2.21493941546 -0.550219297409 --2.19768148661 -0.550209358335 --2.1804241538 -0.550201281905 --2.16316688061 -0.550194978714 --2.14591002465 -0.550190493464 --2.12865322829 -0.550187796354 --2.11139672995 -0.550186917186 --2.0941401124 -0.55018787086 --2.07688367367 -0.550190627575 --2.05962693691 -0.55019518733 --2.04237031936 -0.550201565027 --2.02511328459 -0.550209760666 --2.0078561306 -0.550219759345 --1.99059852958 -0.550231561065 --1.97334080935 -0.550245150924 --1.95608243346 -0.550260528922 --1.93882372975 -0.550268262625 --1.91960802674 -0.550259843468 --1.9003906548 -0.550244554877 --1.88313177228 -0.550231024623 --1.86587360501 -0.550219297409 --1.84861570597 -0.550209358335 --1.83135834336 -0.550201281905 --1.81410107016 -0.550194978714 --1.7968442142 -0.550190493464 --1.77958738804 -0.550187811255 --1.7623308599 -0.550186932087 --1.74507421255 -0.550187841057 --1.72781777382 -0.550190597772 --1.71056106687 -0.55019518733 --1.69330441952 -0.550201565027 --1.67604741455 -0.550209760666 --1.65879032016 -0.550219759345 --1.64153274894 -0.550231575966 --1.6242749691 -0.550245180726 --1.60701656341 -0.550260543823 --1.5897578597 -0.550268262625 --1.57054215669 -0.550259828567 --1.55132484436 -0.550244510174 --1.53406599164 -0.55023099482 --1.51680779457 -0.550219282508 --1.49954986572 -0.550209343433 --1.48229247332 -0.550201252103 --1.46503522992 -0.550194948912 --1.44777840376 -0.550190493464 --1.4305215478 -0.550187796354 --1.41326504946 -0.550186917186 --1.39600840211 -0.550187885761 --1.37875190378 -0.550190642476 --1.36149516702 -0.55019518733 --1.34423851967 -0.550201579929 --1.3269815445 -0.550209775567 --1.30972445011 -0.550219774246 --1.29246684909 -0.550231575966 --1.27520909906 -0.550245150924 --1.25795072317 -0.550260543823 --1.24069204926 -0.550268277526 --1.22147634625 -0.550259843468 --1.20225897431 -0.550244525075 --1.18500009179 -0.55023099482 --1.16774192453 -0.550219297409 --1.15048399568 -0.550209358335 --1.13322660327 -0.550201281905 --1.11596935988 -0.550194963813 --1.09871253372 -0.550190478563 --1.08145570755 -0.550187811255 --1.06419917941 -0.550186932087 --1.04694250226 -0.550187855959 --1.02968603373 -0.550190612674 --1.01242935658 -0.550195202231 --0.995172709229 -0.550201579928 --0.977915674448 -0.550209760666 --0.960658594966 -0.550219774246 --0.943401008844 -0.550231590867 --0.926143229008 -0.550245165825 --0.908884838223 -0.550260573625 --0.891626164317 -0.550268307328 --0.872410461307 -0.550259828567 --0.853193089366 -0.550244539976 --0.835934251547 -0.550231024623 --0.81867608428 -0.550219297409 --0.801418140531 -0.550209358335 --0.784160748124 -0.550201281905 --0.76690350473 -0.550194978714 --0.749646693468 -0.550190493464 --0.732389837504 -0.550187811255 --0.715133309364 -0.550186932087 --0.697876676917 -0.550187855959 --0.680620208382 -0.550190612674 --0.663363501429 -0.55019518733 --0.64610683918 -0.550201579929 --0.628849834204 -0.550209775567 --0.611592784524 -0.550219774246 --0.5943351686 -0.550231590867 --0.577077388764 -0.550245165825 --0.559819027782 -0.550260528922 --0.542560338974 -0.550268262625 --0.523344621062 -0.550259828567 --0.504127249122 -0.550244554877 --0.486868403852 -0.550231039524 --0.469610229134 -0.550219297409 --0.452352292835 -0.550209358335 --0.43509490788 -0.550201281905 --0.417837649584 -0.550194978714 --0.400580823421 -0.550190493464 --0.38332401216 -0.550187811255 --0.366067491472 -0.550186932087 --0.348810829223 -0.550187885761 --0.331554375589 -0.550190642476 --0.314297668636 -0.55019518733 --0.297041006386 -0.550201579929 --0.279783986509 -0.550209775567 --0.262526899576 -0.550219759345 --0.245269313454 -0.550231575966 --0.228011552244 -0.550245165825 --0.210753168911 -0.550260528922 --0.193494472653 -0.550268262625 --0.174278769642 -0.567390888929 --0.155055779964 -0.567375212908 --0.137796901167 -0.567361339927 --0.12053869851 -0.567349299789 --0.103280739859 -0.567339122295 --0.0860233344138 -0.567330822349 --0.0687660509721 -0.567324355245 --0.0515091978013 -0.567319780588 --0.0342523474246 -0.567317023874 --0.0169957997277 -0.567316129804 -0.00026087113656 -0.567317098379 -0.0175173582975 -0.567319914698 -0.0347740920261 -0.567324578762 -0.0520307663828 -0.567331135273 -0.0692878169939 -0.567339554429 -0.0865449290722 -0.567349791527 -0.103802530095 -0.567361876368 -0.121060311794 -0.567375823855 -0.13831871748 -0.567391604185 -0.155577439815 -0.567399531603 -0.174792937935 -0.567390888929 -0.194010071456 -0.567375212908 -0.211268946528 -0.567361354828 -0.228527154773 -0.56734931469 -0.245785109699 -0.567339122295 -0.263042517007 -0.567330822349 -0.280299797655 -0.567324325442 -0.297556646168 -0.567319750786 -0.314813509583 -0.567317023874 -0.332070060074 -0.567316114903 -0.349326722324 -0.567317083478 -0.36658321321 -0.567319914698 -0.383839942515 -0.567324578762 -0.401096604764 -0.567331135273 -0.418353654444 -0.567339539528 -0.435610763728 -0.567349761725 -0.452868364751 -0.567361876368 -0.470126159489 -0.567375823855 -0.487384572625 -0.567391604185 -0.504643283784 -0.567399546504 -0.523858770728 -0.567390888929 -0.543075919151 -0.567375212908 -0.560334801674 -0.567361339927 -0.577593013644 -0.567349299789 -0.594850972295 -0.567339092493 -0.612108364701 -0.567330792546 -0.629365652799 -0.567324340344 -0.646622508764 -0.567319765687 -0.663879349828 -0.567317023874 -0.681135892868 -0.567316114903 -0.698392570019 -0.567317083478 -0.715649068356 -0.567319914698 -0.73290579021 -0.567324578762 -0.750162452459 -0.567331120372 -0.767419502139 -0.567339524627 -0.784676626325 -0.567349791527 -0.801934242249 -0.567361906171 -0.819192007184 -0.567375823855 -0.836450412869 -0.567391589284 -0.853709161281 -0.567399531603 -0.872924655676 -0.56739090383 -0.892141774297 -0.567375198007 -0.909400656819 -0.567361310124 -0.92665886879 -0.567349299789 -0.943916812539 -0.567339092493 -0.961174204945 -0.567330807447 -0.978431493044 -0.567324355245 -0.995688363909 -0.567319750786 -1.01294520498 -0.567317008972 -1.03020173311 -0.567316114903 -1.04745841026 -0.567317068577 -1.0647149086 -0.567319899797 -1.08197164536 -0.567324563861 -1.09922832251 -0.567331105471 -1.11648538709 -0.567339539528 -1.13374248147 -0.567349791527 -1.15100008249 -0.567361876368 -1.16825786233 -0.567375808954 -1.18551626802 -0.567391589284 -1.20277500153 -0.567399516702 -1.22199046612 -0.567390874028 -1.24120759964 -0.567375212908 -1.25846648217 -0.567361339927 -1.27572470904 -0.567349299789 -1.29298266769 -0.567339122295 -1.31024006009 -0.56733083725 -1.32749736309 -0.567324355245 -1.34475421906 -0.567319765687 -1.36201107502 -0.567317023874 -1.37926760316 -0.567316114903 -1.39652425051 -0.567317068577 -1.41378077865 -0.567319899797 -1.4310375154 -0.567324578762 -1.44829416275 -0.567331135273 -1.46555119753 -0.567339539528 -1.48280829191 -0.567349761725 -1.50006592273 -0.567361876368 -1.51732373237 -0.567375853657 -1.53458210826 -0.567391619086 -1.55184081197 -0.567399531603 -1.57105633617 -0.567390888929 -1.59027349949 -0.567375183106 -1.60753235221 -0.567361310124 -1.62479051947 -0.567349284887 -1.64204850793 -0.567339077592 -1.65930593014 -0.567330792546 -1.67656320334 -0.567324325442 -1.6938200593 -0.567319735885 -1.71107688546 -0.567317008972 -1.7283334434 -0.567316114903 -1.74559012055 -0.567317083478 -1.76284658909 -0.567319914698 -1.78010332585 -0.567324593663 -1.797360003 -0.567331150174 -1.81461706757 -0.567339539528 -1.83187419176 -0.567349776626 -1.84913179278 -0.567361876368 -1.86638960242 -0.567375823855 -1.88364800811 -0.567391619086 -1.90090668202 -0.567399546504 -1.92012214661 -0.56739090383 -1.93933928013 -0.567375198007 -1.95659819245 -0.567361310124 -1.97385641932 -0.567349299789 -1.99111437798 -0.567339122295 -2.00837174058 -0.56733083725 -2.02562904358 -0.567324340343 -2.04288589954 -0.567319750786 -2.0601426959 -0.567317023874 -2.07739931345 -0.567316114903 -2.0946559906 -0.567317083478 -2.11191248894 -0.567319914698 -2.1291692257 -0.567324593663 -2.14642584324 -0.567331150174 -2.16368287802 -0.567339539528 -2.1809399724 -0.567349776626 -2.19819766283 -0.567361891269 -2.21545553207 -0.567375823855 -2.23271387816 -0.567391619086 -2.24997252226 -0.567399561405 -2.26918804646 -0.567390888929 -2.28840517998 -0.567375212908 -2.30566400289 -0.567361339927 -2.32292222977 -0.567349299789 -2.34018021822 -0.567339122295 -2.35743767023 -0.567330822349 -2.37469494343 -0.567324340344 -2.39195173979 -0.567319765687 -2.40920859575 -0.567317023874 -2.42646515369 -0.567316114903 -2.44372183084 -0.567317083478 -2.46097832918 -0.567319914698 -2.47823506593 -0.567324593663 -2.49549174309 -0.567331150174 -2.51274877787 -0.567339539528 -2.53000587225 -0.567349776626 -2.54726350307 -0.567361891269 -2.56452131271 -0.567375823855 -2.5817797184 -0.567391589284 -2.59903842211 -0.567399531603 -2.6182538867 -0.567390874028 -2.63747102022 -0.567375198007 -2.65472990274 -0.567361339927 -2.67198807001 -0.567349299789 -2.68924605846 -0.567339122295 -2.70650351048 -0.567330822349 -2.72376072407 -0.567324340344 -2.74101758003 -0.567319750786 -2.758274436 -0.567317008972 -2.77553093433 -0.567316114903 -2.79278761148 -0.567317083478 -2.81004410982 -0.5673199296 -2.82730084658 -0.567324608564 -2.84455752373 -0.567331150174 -2.86181461811 -0.567339539528 -2.87907171249 -0.567349761725 -2.89632928371 -0.567361876368 -2.91358709335 -0.567375823855 -2.93084549904 -0.567391589284 -2.94810426235 -0.567399531603 -2.96731978655 -0.567390888929 -2.98653692007 -0.567375212908 -3.00379580259 -0.567361339927 -3.02105396986 -0.567349299789 -3.03831189871 -0.567339122295 -3.05556929112 -0.567330822349 -3.07282656431 -0.567324355245 -3.09008342028 -0.567319780588 -3.10734027624 -0.567317023874 -3.12459683418 -0.567316129804 --3.14133182366 -0.567317098379 --3.12407535314 -0.567319914698 --3.10681861639 -0.567324578762 --3.08956193924 -0.567331135273 --3.07230484486 -0.567339554429 --3.05504775048 -0.567349791527 --3.03779017925 -0.567361876368 --3.02053236961 -0.567375823855 --3.00327396393 -0.567391604185 --2.98601520061 -0.567399531603 --2.96679967642 -0.567390888929 --2.9475825429 -0.567375212908 --2.93032366038 -0.567361354828 --2.91306549311 -0.56734931469 --2.89580756426 -0.567339122295 --2.87855017185 -0.567330822349 --2.86129289865 -0.567324325442 --2.84403604269 -0.567319750786 --2.82677918673 -0.567317023874 --2.80952256918 -0.567316114903 --2.79226589203 -0.567317083478 --2.77500945329 -0.567319914698 --2.75775271654 -0.567324578762 --2.74049603939 -0.567331135273 --2.72323900461 -0.567339539528 --2.70598185063 -0.567349761725 --2.6887242198 -0.567361876368 --2.67146652937 -0.567375823855 --2.65420812369 -0.567391604185 --2.63694936037 -0.567399546504 --2.61773389578 -0.567390888929 --2.59851676226 -0.567375212908 --2.58125787974 -0.567361339927 --2.56399965286 -0.567349299789 --2.54674172401 -0.567339092493 --2.52948433161 -0.567330792546 --2.51222699881 -0.567324340344 --2.49497014284 -0.567319765687 --2.47771328688 -0.567317023874 --2.46045672894 -0.567316114903 --2.44320005179 -0.567317083478 --2.42594355345 -0.567319914698 --2.40868681669 -0.567324578762 --2.39143013954 -0.567331120372 --2.37417316437 -0.567339524627 --2.35691606999 -0.567349791527 --2.33965837956 -0.567361906171 --2.32240056992 -0.567375823855 --2.30514216423 -0.567391589284 --2.28788346052 -0.567399531603 --2.26866799593 -0.56739090383 --2.24945086241 -0.567375198007 --2.23219197989 -0.567361310124 --2.21493375301 -0.567349299789 --2.19767576456 -0.567339092493 --2.18041837215 -0.567330807447 --2.16316115856 -0.567324355245 --2.1459043026 -0.567319750786 --2.12864738703 -0.567317008972 --2.11139088869 -0.567316114903 --2.09413427115 -0.567317068577 --2.07687777281 -0.567319899797 --2.05962103605 -0.567324563861 --2.0423643589 -0.567331105471 --2.02510726452 -0.567339539528 --2.00785014033 -0.567349791527 --1.99059256911 -0.567361876368 --1.97333478928 -0.567375808954 --1.95607638359 -0.567391589284 --1.93881765008 -0.567399516702 --1.91960215568 -0.567390874028 --1.90038502216 -0.567375212908 --1.88312613964 -0.567361339927 --1.86586794257 -0.567349299789 --1.84860998392 -0.567339122295 --1.83135259151 -0.56733083725 --1.81409531832 -0.567324355245 --1.79683846235 -0.567319765687 --1.77958160639 -0.567317023874 --1.76232504845 -0.567316114903 --1.7450684011 -0.567317068577 --1.72781193257 -0.567319899797 --1.71055516601 -0.567324578762 --1.69329848886 -0.567331135273 --1.67604145408 -0.567339539528 --1.65878432989 -0.567349761725 --1.64152672887 -0.567361876368 --1.62426891923 -0.567375853657 --1.60701051355 -0.567391619086 --1.58975180984 -0.567399531603 --1.57053631544 -0.567390888929 --1.55131921172 -0.567375183106 --1.5340603292 -0.567361310124 --1.51680210233 -0.567349284887 --1.49954417348 -0.567339077592 --1.48228675127 -0.567330792546 --1.46502944827 -0.567324325442 --1.44777259231 -0.567319735885 --1.43051573634 -0.567317008972 --1.4132592082 -0.567316114903 --1.39600253105 -0.567317083478 --1.37874603272 -0.567319914698 --1.36148929596 -0.567324593663 --1.34423261881 -0.567331150174 --1.32697558403 -0.567339539528 --1.30971848965 -0.567349776626 --1.29246088862 -0.567361876368 --1.27520310879 -0.567375823855 --1.2579446733 -0.567391619086 --1.24068593979 -0.567399546504 --1.22147047519 -0.56739090383 --1.20225334167 -0.567375198007 --1.18499445915 -0.567361310124 --1.16773626209 -0.567349299789 --1.15047830343 -0.567339122295 --1.13322091102 -0.56733083725 --1.11596363783 -0.567324340343 --1.09870678187 -0.567319750786 --1.0814498961 -0.567317023874 --1.06419333815 -0.567316114903 --1.04693669081 -0.567317083478 --1.02968019247 -0.567319914698 --1.01242345572 -0.567324593663 --0.995166793467 -0.567331150174 --0.977909743786 -0.567339539528 --0.960652634501 -0.567349776626 --0.943395018578 -0.567361891269 --0.926137208939 -0.567375823855 --0.908878803253 -0.567391619086 --0.891620114446 -0.567399561405 --0.872404620051 -0.567390888929 --0.853187456727 -0.567375212908 --0.835928589105 -0.567361339927 --0.818670406938 -0.567349299789 --0.801412448287 -0.567339122295 --0.784155026078 -0.567330822349 --0.766897752881 -0.567324340344 --0.749640911818 -0.567319765687 --0.732384040952 -0.567317023874 --0.715127468109 -0.567316114903 --0.69787082076 -0.567317083478 --0.680614352226 -0.567319914698 --0.663357600569 -0.567324593663 --0.646100908518 -0.567331150174 --0.628843873739 -0.567339539528 --0.611586779356 -0.567349776626 --0.594329163432 -0.567361891269 --0.577071368694 -0.567375823855 --0.559812963009 -0.567391589284 --0.542554244399 -0.567399531603 --0.523338750005 -0.567390874028 --0.504121609032 -0.567375198007 --0.486862748861 -0.567361339927 --0.469604559243 -0.567349299789 --0.452346585691 -0.567339122295 --0.435089178383 -0.567330822349 --0.417831897736 -0.567324340344 --0.400575049222 -0.567319750786 --0.383318208158 -0.567317008972 --0.366061650216 -0.567316114903 --0.348804965615 -0.567317083478 --0.33154848963 -0.5673199296 --0.314291767776 -0.567324608564 --0.297035083175 -0.567331150174 --0.279778033495 -0.567339539528 --0.26252092421 -0.567349761725 --0.245263319462 -0.567361876368 --0.228005535901 -0.567375823855 --0.210747130215 -0.567391589284 --0.19348840788 -0.567399531603 --0.174272917211 -0.584503129124 --0.155050184577 -0.584487050772 --0.137791287154 -0.584472835064 --0.120533062145 -0.584460526705 --0.103275077418 -0.584450110793 --0.0860176458955 -0.584441587329 --0.0687603391707 -0.584434956312 --0.0515034617856 -0.584430277348 --0.0342465881258 -0.584427446127 --0.0169900178444 -0.584426522255 -0.000266676302998 -0.584427520633 -0.0175231874455 -0.584430426359 -0.0347799472511 -0.584435224533 -0.0520366458223 -0.584441944957 -0.0692937178537 -0.584450572729 -0.0865508541465 -0.584461048245 -0.103808477521 -0.584473416209 -0.121066285297 -0.584487691521 -0.138324715197 -0.584503859281 -0.155583459884 -0.584511995316 -0.174798749387 -0.584503144026 -0.194015666842 -0.584487080574 -0.211274560541 -0.584472849965 -0.228532794863 -0.584460526705 -0.245790775865 -0.584450125694 -0.2630482018 -0.584441617131 -0.28030551225 -0.584434956312 -0.297562390566 -0.584430262447 -0.314819261432 -0.584427446127 -0.332075826824 -0.584426537156 -0.349332526326 -0.584427535534 -0.366589047015 -0.584430411458 -0.383845798671 -0.584435209632 -0.401102490723 -0.584441930056 -0.418359562755 -0.584450528026 -0.435616694391 -0.584461003542 -0.452874317765 -0.584473416209 -0.470132134855 -0.584487706423 -0.487390562892 -0.584503859281 -0.504649303854 -0.584511995316 -0.523864597082 -0.584503129124 -0.543081521988 -0.584487050772 -0.560340419412 -0.584472835064 -0.577598661184 -0.584460526705 -0.594856649637 -0.584450095892 -0.612114056945 -0.584441587329 -0.629371345043 -0.584434956312 -0.646628245712 -0.584430262447 -0.663885131478 -0.584427461028 -0.681141674518 -0.584426552058 -0.69839836657 -0.584427535534 -0.715654894709 -0.584430411458 -0.732911646366 -0.584435209632 -0.750168338418 -0.584441944957 -0.7674254179 -0.584450542927 -0.784682556987 -0.584461033344 -0.801940187812 -0.58447343111 -0.81919798255 -0.584487691521 -0.836456403136 -0.584503859281 -0.853715166449 -0.584511995316 -0.872930452227 -0.584503144026 -0.892147362232 -0.584487080574 -0.909406259656 -0.584472849965 -0.926664486527 -0.584460526705 -0.94392247498 -0.584450095892 -0.961179897189 -0.58444160223 -0.978437200189 -0.584434971213 -0.995694100856 -0.584430262447 -1.01295095682 -0.584427446127 -1.03020751477 -0.584426522255 -1.04746422172 -0.584427520633 -1.06472074986 -0.584430426359 -1.08197751641 -0.584435209632 -1.09923419357 -0.584441915154 -1.11649125814 -0.584450557828 -1.13374838233 -0.584461063147 -1.15100601315 -0.584473446011 -1.16826382279 -0.584487706423 -1.18552225828 -0.584503859281 -1.20278102159 -0.584511980414 -1.22199627757 -0.584503099322 -1.24121320248 -0.584487050772 -1.2584721148 -0.584472849965 -1.27573034168 -0.584460526705 -1.29298833013 -0.584450125694 -1.31024575233 -0.584441632032 -1.32750308514 -0.584434971213 -1.3447599709 -0.584430277348 -1.36201682686 -0.584427461028 -1.3792733848 -0.584426537156 -1.39653009176 -0.584427535534 -1.4137866199 -0.584430426359 -1.43104335666 -0.584435224533 -1.44830006361 -0.584441930056 -1.46555712819 -0.584450542927 -1.48281422257 -0.584461033344 -1.5000718534 -0.584473416209 -1.51732969284 -0.584487706422 -1.53458812833 -0.584503874182 -1.55184686184 -0.584511995316 -1.57106214762 -0.584503144026 -1.59027907252 -0.584487065673 -1.60753795505 -0.584472835064 -1.62479615212 -0.584460541606 -1.64205414057 -0.584450110793 -1.65931159258 -0.584441587329 -1.67656889558 -0.584434956312 -1.69382578135 -0.584430247545 -1.71108266711 -0.584427431226 -1.72833922505 -0.584426537156 -1.74559590221 -0.584427535534 -1.76285243035 -0.584430411458 -1.78010919691 -0.584435209632 -1.79736587406 -0.584441930056 -1.81462293863 -0.584450542927 -1.83188009262 -0.584461033344 -1.84913775324 -0.584473416209 -1.86639556289 -0.584487706422 -1.88365396857 -0.584503874182 -1.90091270208 -0.584511995316 -1.92012795806 -0.584503144026 -1.93934488296 -0.584487065673 -1.95660382509 -0.584472835064 -1.97386205196 -0.584460526705 -1.99112004042 -0.584450110793 -2.00837746262 -0.584441617131 -2.02563476562 -0.584434971213 -2.04289162159 -0.584430262447 -2.06014847755 -0.584427461028 -2.0774050951 -0.584426552058 -2.09466177225 -0.584427535534 -2.11191827059 -0.584430426359 -2.12917500735 -0.584435239434 -2.14643168449 -0.584441959858 -2.16368877888 -0.584450542927 -2.18094587326 -0.584461018443 -2.19820356369 -0.584473416209 -2.21546143293 -0.584487691521 -2.23271983862 -0.584503874183 -2.24997854233 -0.584512010217 -2.2691937685 -0.584503144026 -2.28841072321 -0.584487080574 -2.30566966533 -0.584472849965 -2.32292789221 -0.584460526705 -2.34018582106 -0.584450125694 -2.35744327307 -0.584441617131 -2.37470060587 -0.584434956312 -2.39195746183 -0.584430262447 -2.4092143774 -0.584427461028 -2.42647093534 -0.584426552058 -2.44372761249 -0.584427535534 -2.46098411083 -0.584430411458 -2.47824084758 -0.584435209632 -2.49549758434 -0.584441944957 -2.51275467873 -0.584450542927 -2.53001183271 -0.584461018443 -2.54726946354 -0.58447343111 -2.56452727318 -0.584487706423 -2.58178567886 -0.584503859281 -2.59904444218 -0.584511995316 -2.61825972796 -0.584503129124 -2.63747662306 -0.584487050772 -2.65473550558 -0.584472835064 -2.67199373245 -0.584460526705 -2.68925178051 -0.584450125694 -2.70650923252 -0.584441617131 -2.72376650572 -0.584434956312 -2.74102336168 -0.584430247545 -2.75828021765 -0.584427431226 -2.77553677559 -0.584426522255 -2.79279345274 -0.584427520633 -2.81004995107 -0.584430426359 -2.82730674743 -0.584435239434 -2.84456348419 -0.584441944957 -2.86182057858 -0.584450542927 -2.87907767296 -0.584461018443 -2.89633524418 -0.584473416209 -2.91359305382 -0.584487706423 -2.93085151911 -0.584503859281 -2.94811028242 -0.584511995316 -2.9673255682 -0.584503129124 -2.9865424633 -0.584487050772 -3.00380134582 -0.584472835064 -3.0210595727 -0.584460526705 -3.03831756115 -0.584450110793 -3.05557501316 -0.584441587329 -3.07283234596 -0.584434956312 -3.09008920193 -0.584430277348 -3.10734605789 -0.584427446127 -3.12460267544 -0.584426522255 --3.14132598241 -0.584427520633 --3.12406951189 -0.584430426359 --3.10681271553 -0.584435224533 --3.08955597877 -0.584441944957 --3.07229888439 -0.584450572729 --3.05504179001 -0.584461048245 --3.03778421879 -0.584473416209 --3.02052640915 -0.584487691521 --3.00326794386 -0.584503859281 --2.98600918054 -0.584511995316 --2.96679389477 -0.584503144026 --2.94757699967 -0.584487080574 --2.93031811714 -0.584472849965 --2.91305989027 -0.584460526705 --2.89580190182 -0.584450125694 --2.87854444981 -0.584441617131 --2.86128711701 -0.584434956312 --2.84403026104 -0.584430262447 --2.82677340508 -0.584427446127 --2.80951678753 -0.584426537156 --2.79226011038 -0.584427535534 --2.77500361204 -0.584430411458 --2.75774687528 -0.584435209632 --2.74049019813 -0.584441930056 --2.72323310375 -0.584450528026 --2.70597594977 -0.584461003542 --2.68871831894 -0.584473416209 --2.67146056891 -0.584487706423 --2.65420210362 -0.584503859281 --2.6369433403 -0.584511995316 --2.61772805452 -0.584503129124 --2.59851109982 -0.584487050772 --2.58125221729 -0.584472835064 --2.56399399042 -0.584460526705 --2.54673606157 -0.584450095892 --2.52947866917 -0.584441587329 --2.51222133637 -0.584434956312 --2.49496436119 -0.584430262447 --2.47770750523 -0.584427461028 --2.46045100689 -0.584426552058 --2.44319427014 -0.584427535534 --2.4259377718 -0.584430411458 --2.40868103504 -0.584435209632 --2.39142429828 -0.584441944957 --2.37416726351 -0.584450542927 --2.35691010952 -0.584461033344 --2.33965241909 -0.58447343111 --2.32239460945 -0.584487691521 --2.30513620377 -0.584503859281 --2.28787744045 -0.584511995316 --2.26866215467 -0.584503144026 --2.24944525957 -0.584487080574 --2.23218637705 -0.584472849965 --2.21492815018 -0.584460526705 --2.19767010212 -0.584450095892 --2.18041270971 -0.58444160223 --2.16315549612 -0.584434971213 --2.14589858055 -0.584430262447 --2.12864160538 -0.584427446127 --2.11138510704 -0.584426522255 --2.0941284895 -0.584427520633 --2.07687193155 -0.584430426359 --2.05961513519 -0.584435209632 --2.04235845804 -0.584441915154 --2.02510136366 -0.584450557828 --2.00784420967 -0.584461063147 --1.99058663845 -0.584473446011 --1.97332882881 -0.584487706423 --1.95607039332 -0.584503859281 --1.93881163001 -0.584511980414 --1.91959634423 -0.584503099322 --1.90037944913 -0.584487050772 --1.88312056661 -0.584472849965 --1.86586230993 -0.584460526705 --1.84860429168 -0.584450125694 --1.83134689927 -0.584441632032 --1.81408962607 -0.584434971213 --1.79683274031 -0.584430277348 --1.77957585454 -0.584427461028 --1.7623192966 -0.584426537156 --1.74506261945 -0.584427535534 --1.72780609131 -0.584430426359 --1.71054929495 -0.584435224533 --1.693292588 -0.584441930056 --1.67603552341 -0.584450542927 --1.65877839923 -0.584461033344 --1.6415207684 -0.584473416209 --1.62426292896 -0.584487706422 --1.60700452328 -0.584503874182 --1.58974581957 -0.584511995316 --1.57053050398 -0.584503144026 --1.55131357908 -0.584487065673 --1.53405469656 -0.584472835064 --1.51679646969 -0.584460541606 --1.49953851104 -0.584450110793 --1.48228105902 -0.584441587329 --1.46502372623 -0.584434956312 --1.44776687026 -0.584430247545 --1.4305100143 -0.584427431226 --1.41325342655 -0.584426537156 --1.3959967196 -0.584427535534 --1.37874022126 -0.584430411458 --1.36148348451 -0.584435209632 --1.34422677755 -0.584441930056 --1.32696968317 -0.584450542927 --1.30971255899 -0.584461033344 --1.29245495796 -0.584473416209 --1.27519714832 -0.584487706422 --1.25793868303 -0.584503874182 --1.24067991972 -0.584511995316 --1.22146466374 -0.584503144026 --1.20224773884 -0.584487065673 --1.18498882652 -0.584472835064 --1.16773059964 -0.584460526705 --1.15047261119 -0.584450110793 --1.13321521878 -0.584441617131 --1.11595794558 -0.584434971213 --1.09870105982 -0.584430262447 --1.08144414425 -0.584427461028 --1.0641875565 -0.584426552058 --1.04693087936 -0.584427535534 --1.02967438102 -0.584430426359 --1.01241761446 -0.584435239434 --0.995160907508 -0.584441959858 --0.977903842926 -0.584450542927 --0.960646718741 -0.584461018443 --0.943389087916 -0.584473416209 --0.926131263375 -0.584487691521 --0.908872812987 -0.584503874183 --0.891614079476 -0.584512010217 --0.8723988235 -0.584503144026 --0.853181898594 -0.584487080574 --0.83592300117 -0.584472849965 --0.818664774298 -0.584460526705 --0.801406785845 -0.584450125694 --0.784149348736 -0.584441617131 --0.766892045736 -0.584434956312 --0.749635174871 -0.584430262447 --0.732378274203 -0.584427461028 --0.715121686458 -0.584426552058 --0.697865024209 -0.584427535534 --0.680608525872 -0.584430411458 --0.663351759314 -0.584435209632 --0.646095052361 -0.584441944957 --0.628837972879 -0.584450542927 --0.611580833793 -0.584461018443 --0.594323217869 -0.58447343111 --0.57706540823 -0.584487706423 --0.559806972742 -0.584503859281 --0.542548209429 -0.584511995316 --0.523332923651 -0.584503129124 --0.504116028547 -0.584487050772 --0.486857138574 -0.584472835064 --0.469598919153 -0.584460526705 --0.45234092325 -0.584450125694 --0.43508349359 -0.584441617131 --0.417826190591 -0.584434956312 --0.400569312274 -0.584430247545 --0.383312448859 -0.584427431226 --0.366055868566 -0.584426522255 --0.348799169064 -0.584427520633 --0.331542670727 -0.584430426359 --0.31428591162 -0.584435239434 --0.297029204666 -0.584441944957 --0.279772132635 -0.584450542927 --0.262515000999 -0.584461018443 --0.245257377625 -0.584473416209 --0.227999567986 -0.584487706423 --0.210741132498 -0.584503859281 --0.193482384086 -0.584511995316 --0.174267105758 -0.601597994566 --0.15504463762 -0.601581543684 --0.137785717845 -0.601567000151 --0.120527468622 -0.60155442357 --0.103269465268 -0.601543754339 --0.0860120076686 -0.60153503716 --0.0687546767295 -0.601528257131 --0.0514977741986 -0.601523444057 --0.0342408758588 -0.601520553231 --0.0169842829928 -0.601519614458 -0.000272434204815 -0.601520642638 -0.0175289693288 -0.601523637772 -0.0347857521847 -0.601528540253 -0.0520424740389 -0.601535409689 -0.0692995702848 -0.601544231176 -0.0865567289293 -0.601554960012 -0.103814376518 -0.601567625999 -0.121072214097 -0.601582229137 -0.138330668211 -0.601598784328 -0.155589431524 -0.601607084274 -0.174804508686 -0.601598009467 -0.194021217525 -0.601581588387 -0.2112801373 -0.601567029953 -0.228538393974 -0.60155442357 -0.245796401054 -0.60154376924 -0.26305384934 -0.601535066962 -0.280311182141 -0.601528272033 -0.29756808281 -0.601523458958 -0.314824968577 -0.601520568132 -0.33208155632 -0.60151964426 -0.349338278174 -0.60152065754 -0.366594821214 -0.601523593068 -0.383851595223 -0.601528510451 -0.401108317077 -0.601535394788 -0.418365426362 -0.601544201374 -0.435622572899 -0.60155493021 -0.452880218625 -0.601567625999 -0.470138072967 -0.601582244038 -0.487396515906 -0.601598784328 -0.50465528667 -0.601607084274 -0.523870378733 -0.601597994566 -0.543087080121 -0.601581558585 -0.560345992446 -0.601567015052 -0.57760424912 -0.60155442357 -0.594862267375 -0.60154376924 -0.612119704485 -0.601535081863 -0.629377007484 -0.601528286934 -0.646633923054 -0.601523458958 -0.663890838623 -0.601520583034 -0.681147411466 -0.601519659162 -0.69840413332 -0.60152065754 -0.715660691261 -0.601523593068 -0.73291747272 -0.601528510451 -0.750174179673 -0.601535409689 -0.767431274057 -0.601544216275 -0.784688442945 -0.601554945111 -0.801946088671 -0.601567625999 -0.819203898311 -0.601582229137 -0.836462348699 -0.601598784328 -0.853721126914 -0.601607084274 -0.872936189175 -0.601597994566 -0.892152905464 -0.601581573486 -0.90941183269 -0.601567029953 -0.926670089364 -0.60155442357 -0.94392810762 -0.60154376924 -0.961185544729 -0.601535066962 -0.97844286263 -0.601528272033 -0.9956997782 -0.601523473859 -1.01295664907 -0.601520583034 -1.03021323681 -0.601519629359 -1.04746997357 -0.601520642638 -1.06472653151 -0.601523622871 -1.08198332787 -0.601528540253 -1.09924003482 -0.601535394788 -1.1164970994 -0.601544216275 -1.13375425339 -0.601554960012 -1.15101191402 -0.6015676409 -1.16826975345 -0.601582244038 -1.18552821874 -0.601598784328 -1.20278698206 -0.601607084274 -1.22200205922 -0.601597979665 -1.24121877551 -0.601581558585 -1.25847771764 -0.601567029953 -1.27573597431 -0.60155442357 -1.29299396276 -0.60154376924 -1.31025141478 -0.601535066962 -1.32750874758 -0.601528272033 -1.34476563334 -0.601523473859 -1.36202251911 -0.601520583034 -1.37927913666 -0.60151964426 -1.39653587341 -0.60152065754 -1.41379237175 -0.601523622871 -1.43104913831 -0.601528525353 -1.44830587506 -0.601535379886 -1.46556296945 -0.601544216275 -1.48282012344 -0.601554960012 -1.50007778406 -0.601567625999 -1.5173356235 -0.601582244038 -1.53459408879 -0.601598784327 -1.55185285211 -0.601607069373 -1.57106789947 -0.601597994566 -1.59028461575 -0.601581543684 -1.60754352808 -0.601567000151 -1.62480175495 -0.601554438472 -1.6420597732 -0.60154376924 -1.65931722522 -0.601535066962 -1.67657455802 -0.601528272033 -1.69383147359 -0.601523444057 -1.71108838915 -0.601520568132 -1.7283449769 -0.60151964426 -1.74560168386 -0.601520672441 -1.7628582418 -0.60152362287 -1.78011503816 -0.601528525352 -1.79737174511 -0.601535394788 -1.81462880969 -0.601544216275 -1.83188596368 -0.601554960012 -1.8491436243 -0.601567625999 -1.86640146374 -0.601582229137 -1.88365989923 -0.601598784328 -1.90091866255 -0.601607084274 -1.92013373971 -0.601597994566 -1.939350456 -0.601581543684 -1.95660939813 -0.601567000151 -1.9738676548 -0.60155442357 -1.99112564325 -0.601543754339 -2.00838306546 -0.601535052061 -2.02564042806 -0.601528272033 -2.04289734363 -0.601523458958 -2.0601541996 -0.601520583034 -2.07741081714 -0.601519659162 -2.0946675539 -0.601520672441 -2.11192405224 -0.601523637772 -2.1291808486 -0.601528555155 -2.14643758535 -0.60153542459 -2.16369467974 -0.601544216275 -2.18095183372 -0.601554945111 -2.19820952415 -0.601567625999 -2.21546733379 -0.601582229137 -2.23272573948 -0.601598784328 -2.24998450279 -0.601607084274 -2.26919955015 -0.601597994566 -2.28841632605 -0.601581558585 -2.30567526817 -0.601567015052 -2.32293349505 -0.60155442357 -2.3401914835 -0.60154376924 -2.35744893551 -0.601535066962 -2.37470626831 -0.601528272033 -2.39196312427 -0.601523458958 -2.40922003984 -0.601520583034 -2.42647665739 -0.601519659162 -2.44373333454 -0.601520672441 -2.46098989248 -0.60152362287 -2.47824668884 -0.601528525352 -2.4955034256 -0.601535409689 -2.51276051998 -0.601544216275 -2.53001767397 -0.601554945111 -2.5472753644 -0.6015676409 -2.56453323364 -0.601582244038 -2.58179163933 -0.601598784328 -2.59905040264 -0.601607084274 -2.61826550961 -0.601597994566 -2.63748216629 -0.601581558585 -2.65474104881 -0.601567015052 -2.67199933529 -0.60155442357 -2.68925738335 -0.60154376924 -2.70651483536 -0.601535066962 -2.72377216816 -0.601528272033 -2.74102908373 -0.601523458958 -2.7582859993 -0.601520568132 -2.77554255724 -0.601519629359 -2.79279923439 -0.601520657539 -2.81005579233 -0.60152362287 -2.82731258869 -0.601528540253 -2.84456932545 -0.601535409689 -2.86182641983 -0.601544216275 -2.87908351421 -0.601554945111 -2.89634114504 -0.601567625999 -2.91359901428 -0.601582244038 -2.93085747957 -0.601598784328 -2.94811624289 -0.601607084274 -2.96733129025 -0.601597994566 -2.98654794693 -0.601581543684 -3.00380688906 -0.601567000151 -3.02106517553 -0.60155442357 -3.03832316399 -0.601543754339 -3.055580616 -0.60153503716 -3.0728380084 -0.601528257131 -3.09009492397 -0.601523444057 -3.10735177994 -0.601520553231 -3.12460839748 -0.601519614458 --3.14132020076 -0.601520642638 --3.12406367063 -0.601523637772 --3.10680687427 -0.601528540253 --3.08955013752 -0.601535409689 --3.07229304314 -0.601544231176 --3.05503594876 -0.601554960012 --3.03777831793 -0.601567625999 --3.02052044869 -0.601582229137 --3.00326192379 -0.601598784328 --2.98600316048 -0.601607084274 --2.96678817272 -0.601598009467 --2.94757151604 -0.601581588387 --2.93031257391 -0.601567029953 --2.91305428743 -0.60155442357 --2.89579623938 -0.60154376924 --2.87853878737 -0.601535066962 --2.86128145456 -0.601528272033 --2.84402453899 -0.601523458958 --2.82676768303 -0.601520568132 --2.80951106549 -0.60151964426 --2.79225432873 -0.60152065754 --2.77499783039 -0.601523593068 --2.75774109363 -0.601528510451 --2.74048435688 -0.601535394788 --2.72322720289 -0.601544201374 --2.70597004891 -0.60155493021 --2.68871247769 -0.601567625999 --2.67145466805 -0.601582244038 --2.65419614315 -0.601598784328 --2.63693737984 -0.601607084274 --2.61772227287 -0.601597994566 --2.59850549698 -0.601581558585 --2.58124661445 -0.601567015052 --2.56398838759 -0.60155442357 --2.54673039913 -0.60154376924 --2.52947294712 -0.601535081863 --2.51221561432 -0.601528286934 --2.49495869875 -0.601523458958 --2.47770184279 -0.601520583034 --2.46044528485 -0.601519659162 --2.44318854809 -0.60152065754 --2.42593199015 -0.601523593068 --2.40867519379 -0.601528510451 --2.39141851664 -0.601535409689 --2.37416142225 -0.601544216275 --2.35690420866 -0.601554945111 --2.33964651823 -0.601567625999 --2.32238870859 -0.601582229137 --2.30513030291 -0.601598784328 --2.28787153959 -0.601607084274 --2.26865643263 -0.601597994566 --2.24943971634 -0.601581573486 --2.23218083381 -0.601567029953 --2.21492254734 -0.60155442357 --2.19766449928 -0.60154376924 --2.18040710688 -0.601535066962 --2.16314983368 -0.601528272033 --2.14589291811 -0.601523473859 --2.12863594294 -0.601520583034 --2.111379385 -0.601519629359 --2.09412270785 -0.601520642638 --2.0768660903 -0.601523622871 --2.05960929394 -0.601528540253 --2.04235261679 -0.601535394788 --2.0250955224 -0.601544216275 --2.00783833862 -0.601554960012 --1.99058070779 -0.6015676409 --1.97332289815 -0.601582244038 --1.95606443286 -0.601598784328 --1.93880563974 -0.601607084274 --1.91959056258 -0.601597979665 --1.90037387609 -0.601581558585 --1.88311499357 -0.601567029953 --1.8658567369 -0.60155442357 --1.84859868884 -0.60154376924 --1.83134126663 -0.601535066962 --1.81408396363 -0.601528272033 --1.79682704806 -0.601523473859 --1.77957013249 -0.601520583034 --1.76231354475 -0.60151964426 --1.7450568378 -0.60152065754 --1.72780027986 -0.601523622871 --1.7105434835 -0.601528525353 --1.69328674674 -0.601535379886 --1.67602965236 -0.601544216275 --1.65877252817 -0.601554960012 --1.64151489735 -0.601567625999 --1.6242570281 -0.601582244038 --1.60699859262 -0.601598784327 --1.5897398591 -0.601607069373 --1.57052475214 -0.601597994566 --1.55130803585 -0.601581543684 --1.53404912353 -0.601567000151 --1.51679086685 -0.601554438472 --1.4995328784 -0.60154376924 --1.48227542639 -0.601535066962 --1.46501809359 -0.601528272033 --1.44776120782 -0.601523444057 --1.43050432205 -0.601520568132 --1.41324770451 -0.60151964426 --1.39599096775 -0.601520672441 --1.37873443961 -0.60152362287 --1.36147767306 -0.601528525352 --1.3442209363 -0.601535394788 --1.32696384191 -0.601544216275 --1.30970668793 -0.601554960012 --1.2924490273 -0.601567625999 --1.27519121766 -0.601582229137 --1.25793275237 -0.601598784328 --1.24067395925 -0.601607084274 --1.22145888209 -0.601597994566 --1.2022421658 -0.601581543684 --1.18498322368 -0.601567000151 --1.16772499681 -0.60155442357 --1.15046700835 -0.601543754339 --1.13320958614 -0.601535052061 --1.11595228314 -0.601528272033 --1.09869533777 -0.601523458958 --1.0814384222 -0.601520583034 --1.06418183446 -0.601519659162 --1.0469250977 -0.601520672441 --1.02966856957 -0.601523637772 --1.01241180301 -0.601528555155 --0.995155081154 -0.60153542459 --0.977898001671 -0.601544216275 --0.960640832782 -0.601554945111 --0.943383157254 -0.601567625999 --0.926125332713 -0.601582229137 --0.908866867423 -0.601598784328 --0.89160810411 -0.601607084274 --0.872393071651 -0.601597994566 --0.853176355362 -0.601581558585 --0.835917428136 -0.601567015052 --0.818659171462 -0.60155442357 --0.801401153207 -0.60154376924 --0.784143716097 -0.601535066962 --0.766886398196 -0.601528272033 --0.749629482627 -0.601523458958 --0.732372567057 -0.601520583034 --0.715115979314 -0.601519659162 --0.697859272361 -0.601520672441 --0.680602729321 -0.60152362287 --0.663345947862 -0.601528525352 --0.646089226007 -0.601535409689 --0.628832131624 -0.601544216275 --0.611574962735 -0.601554945111 --0.594317317009 -0.6015676409 --0.577059477567 -0.601582244038 --0.559801027179 -0.601598784328 --0.542542263865 -0.601607084274 --0.523327171802 -0.601597994566 --0.504110477865 -0.601581558585 --0.48685157299 -0.601567015052 --0.469593316316 -0.60155442357 --0.452335298061 -0.60154376924 --0.43507784605 -0.601535066962 --0.417820520699 -0.601528272033 --0.400563627481 -0.601523458958 --0.383306741714 -0.601520568132 --0.36605014652 -0.601519629359 --0.348793424666 -0.601520657539 --0.331536889076 -0.60152362287 --0.314280100167 -0.601528540253 --0.297023378312 -0.601535409689 --0.27976629138 -0.601544216275 --0.262509129941 -0.601554945111 --0.24525147304 -0.601567625999 --0.227993641049 -0.601582244038 --0.210735183209 -0.601598784328 --0.193476412445 -0.601607084274 --0.174261342734 -0.618703827262 --0.155038524419 -0.618687048554 --0.137779582292 -0.618672177195 --0.120521306991 -0.618659302592 --0.10326327756 -0.618648409844 --0.0860057957471 -0.618639528751 --0.0687484377995 -0.61863258481 --0.0514915119857 -0.618627652526 --0.0342345880345 -0.618624702096 --0.0169779674616 -0.618623748422 -0.00027877674438 -0.618624806404 -0.0175353381783 -0.618627861142 -0.0347921466455 -0.618632867932 -0.0520488945768 -0.618639871478 -0.069306017831 -0.618648871779 -0.0865631997585 -0.618659853935 -0.103820871562 -0.618672803044 -0.121078733355 -0.618687734008 -0.138337213546 -0.618704676628 -0.155596010387 -0.618713140488 -0.174810852856 -0.618703842163 -0.194027327001 -0.618687048554 -0.211286276579 -0.618672177195 -0.228544551879 -0.618659302592 -0.245802577585 -0.618648394942 -0.263060055673 -0.61863951385 -0.280317410827 -0.61863258481 -0.297574333847 -0.618627652526 -0.314831256867 -0.618624702096 -0.332087874412 -0.618623763323 -0.349344611167 -0.618624791503 -0.36660117656 -0.618627816439 -0.383857995271 -0.618632853031 -0.401114746928 -0.618639871478 -0.418371863663 -0.61864888668 -0.435629040003 -0.618659868836 -0.452886722982 -0.618672832846 -0.470144592226 -0.61868776381 -0.487403064966 -0.618704676628 -0.504661858082 -0.618713140488 -0.523876696825 -0.618703842163 -0.543093174696 -0.618687048554 -0.560352131724 -0.618672192096 -0.577610403299 -0.618659317493 -0.594868436456 -0.618648394942 -0.612125918269 -0.618639528751 -0.629383251071 -0.618632599711 -0.64664016664 -0.618627667427 -0.663897112012 -0.618624731898 -0.681153729558 -0.618623763323 -0.698410481214 -0.618624776602 -0.715667068958 -0.618627816439 -0.732923865318 -0.618632853031 -0.750180587172 -0.618639871478 -0.767437711358 -0.61864888668 -0.784694910049 -0.618659868836 -0.801952600479 -0.618672832846 -0.819210439921 -0.61868776381 -0.83646889031 -0.618704676628 -0.853727698327 -0.618713140488 -0.87294253707 -0.618703842163 -0.89215901494 -0.618687048554 -0.909417971969 -0.618672192096 -0.926676258445 -0.618659317493 -0.943934291601 -0.618648394942 -0.961191743612 -0.61863951385 -0.978449091315 -0.61863258481 -0.995706021788 -0.618627667427 -1.01296293736 -0.618624731898 -1.0302195847 -0.618623763323 -1.04747632146 -0.618624776602 -1.0647328794 -0.61862783134 -1.08198970556 -0.618632867932 -1.09924644232 -0.618639871478 -1.1165035367 -0.61864888668 -1.13376072049 -0.618659868836 -1.15101841092 -0.618672803044 -1.16827628016 -0.618687734008 -1.18553477525 -0.618704676628 -1.20279356837 -0.618713140488 -1.22200840712 -0.618703842163 -1.24122488499 -0.618687048554 -1.25848385691 -0.618672192096 -1.27574214339 -0.618659317493 -1.29300013184 -0.618648394942 -1.31025761366 -0.61863951385 -1.32751497627 -0.61863258481 -1.34477189183 -0.618627667427 -1.36202883721 -0.618624716997 -1.37928545475 -0.618623763323 -1.39654219151 -0.618624791503 -1.41379871964 -0.61862783134 -1.43105551601 -0.618632853031 -1.44831228256 -0.618639856577 -1.46556940675 -0.61864888668 -1.48282662034 -0.618659853935 -1.50008431077 -0.618672788143 -1.51734215021 -0.618687748909 -1.5346006453 -0.618704676628 -1.55185940862 -0.618713125587 -1.57107421756 -0.618703842163 -1.59029072523 -0.618687033653 -1.60754966736 -0.618672162294 -1.62480792403 -0.618659302592 -1.64206597209 -0.618648380041 -1.6593234539 -0.618639498949 -1.67658081651 -0.618632569909 -1.69383773208 -0.618627637625 -1.71109464764 -0.618624702096 -1.72835129499 -0.618623748422 -1.74560803175 -0.618624791503 -1.76286458969 -0.618627846241 -1.78012141585 -0.618632867932 -1.79737818241 -0.618639871478 -1.8146353066 -0.61864888668 -1.83189246059 -0.618659868836 -1.84915012122 -0.618672803044 -1.86640799045 -0.618687734008 -1.88366645574 -0.618704676628 -1.90092524886 -0.618713140488 -1.92014008761 -0.618703842163 -1.93935656548 -0.618687033653 -1.9566155374 -0.618672177195 -1.97387382388 -0.618659317493 -1.99113184214 -0.618648394942 -2.00838929415 -0.61863951385 -2.02564668655 -0.61863258481 -2.04290360212 -0.618627667427 -2.06016045809 -0.618624716997 -2.07741713524 -0.618623763323 -2.0946739316 -0.618624806404 -2.11193042993 -0.618627846241 -2.1291872263 -0.618632867932 -2.14644402266 -0.618639886379 -2.16370117664 -0.618648901582 -2.18095833063 -0.618659868836 -2.19821596146 -0.618672832846 -2.2154738307 -0.61868776381 -2.23273229599 -0.618704676628 -2.2499910593 -0.618713140488 -2.26920592785 -0.618703842163 -2.28842246532 -0.618687033653 -2.30568140745 -0.618672162294 -2.32293969393 -0.618659302592 -2.34019774198 -0.618648394942 -2.357455194 -0.61863951385 -2.3747125268 -0.61863258481 -2.39196944237 -0.618627652526 -2.40922635794 -0.618624716997 -2.42648297548 -0.618623763323 -2.44373971224 -0.618624791503 -2.46099632978 -0.618627846241 -2.47825318575 -0.618632867932 -2.4955099225 -0.618639871478 -2.51276701689 -0.61864888668 -2.53002417087 -0.618659868836 -2.5472818613 -0.618672803044 -2.56453973055 -0.618687734008 -2.58179819584 -0.618704676628 -2.59905701876 -0.618713140488 -2.6182718277 -0.618703842163 -2.63748824596 -0.618687048554 -2.65474718809 -0.618672192096 -2.67200547457 -0.618659317493 -2.68926352263 -0.618648394942 -2.70652097464 -0.61863951385 -2.72377830744 -0.61863258481 -2.74103528261 -0.618627667427 -2.75829225778 -0.618624716997 -2.77554881573 -0.618623748422 -2.79280555248 -0.618624791503 -2.81006217003 -0.618627846241 -2.82731896639 -0.618632867932 -2.84457570314 -0.618639871478 -2.86183279753 -0.61864888668 -2.87908995151 -0.618659868836 -2.89634764194 -0.618672832846 -2.91360557079 -0.61868776381 -2.93086403608 -0.618704676628 -2.9481227994 -0.618713125587 -2.96733766794 -0.618703827262 -2.98655408621 -0.618687048554 -3.00381302834 -0.618672177195 -3.02107131481 -0.618659302592 -3.03832930326 -0.618648409844 -3.05558681488 -0.618639528751 -3.07284426689 -0.61863258481 -3.09010118246 -0.618627652526 -3.10735803842 -0.618624702096 -3.12461471557 -0.618623748422 --3.14131382306 -0.618624806404 --3.12405729294 -0.618627861142 --3.10680049658 -0.618632867932 --3.08954375982 -0.618639871478 --3.07228666544 -0.618648871779 --3.05502951145 -0.618659853935 --3.03777182102 -0.618672803044 --3.02051389218 -0.618687734008 --3.00325536728 -0.618704676628 --2.98599660396 -0.618713140488 --2.96678179503 -0.618703842163 --2.94756537676 -0.618687048554 --2.93030643463 -0.618672177195 --2.91304814816 -0.618659302592 --2.8957901001 -0.618648394942 --2.87853258848 -0.61863951385 --2.86127519607 -0.61863258481 --2.8440182805 -0.618627652526 --2.82676142454 -0.618624702096 --2.80950474739 -0.618623763323 --2.79224801063 -0.618624791503 --2.7749915123 -0.618627816439 --2.75773471594 -0.618632853031 --2.74047797918 -0.618639871478 --2.72322082519 -0.61864888668 --2.7059636116 -0.618659868836 --2.68870592117 -0.618672832846 --2.67144805193 -0.61868776381 --2.65418958664 -0.618704676628 --2.63693082333 -0.618713140488 --2.61771595478 -0.618703842163 --2.5984994173 -0.618687048554 --2.58124047518 -0.618672192096 --2.5639821887 -0.618659317493 --2.54672414064 -0.618648394942 --2.52946668863 -0.618639528751 --2.51220935583 -0.618632599711 --2.49495244027 -0.618627667427 --2.4776955247 -0.618624731898 --2.46043890714 -0.618623763323 --2.44318217039 -0.618624776602 --2.42592555285 -0.618627816439 --2.40866875649 -0.618632853031 --2.39141207933 -0.618639871478 --2.37415492535 -0.61864888668 --2.35689771176 -0.618659868836 --2.33964002133 -0.618672832846 --2.32238221169 -0.61868776381 --2.305123806 -0.618704676628 --2.28786498308 -0.618713140488 --2.26865011453 -0.618703842163 --2.24943363666 -0.618687048554 --2.23217469454 -0.618672192096 --2.21491640806 -0.618659317493 --2.19765836001 -0.618648394942 --2.18040090799 -0.61863951385 --2.16314357519 -0.61863258481 --2.14588665962 -0.618627667427 --2.12862968445 -0.618624731898 --2.1113730669 -0.618623763323 --2.09411633015 -0.618624776602 --2.0768597126 -0.61862783134 --2.05960291624 -0.618632867932 --2.04234617948 -0.618639871478 --2.0250890851 -0.61864888668 --2.00783190131 -0.618659868836 --1.99057421088 -0.618672803044 --1.97331637144 -0.618687734008 --1.95605787635 -0.618704676628 --1.93879905343 -0.618713140488 --1.91958421468 -0.618703842163 --1.90036776662 -0.618687048554 --1.8831088543 -0.618672192096 --1.86585059762 -0.618659317493 --1.84859254956 -0.618648394942 --1.83133506775 -0.61863951385 --1.81407770514 -0.61863258481 --1.79682075978 -0.618627667427 --1.7795638442 -0.618624716997 --1.76230722666 -0.618623763323 --1.7450504601 -0.618624791503 --1.72779390216 -0.61862783134 --1.7105371058 -0.618632853031 --1.69328033924 -0.618639856577 --1.67602321506 -0.61864888668 --1.65876606107 -0.618659853935 --1.64150840044 -0.618672788143 --1.62425050139 -0.618687748909 --1.6069920361 -0.618704676628 --1.58973327279 -0.618713125587 --1.57051840424 -0.618703842163 --1.55130192637 -0.618687033653 --1.53404298425 -0.618672162294 --1.51678469777 -0.618659302592 --1.49952667951 -0.618648380041 --1.4822691977 -0.618639498949 --1.4650118649 -0.618632569909 --1.44775494933 -0.618627637625 --1.43049800396 -0.618624702096 --1.41324138641 -0.618623748422 --1.39598464966 -0.618624791503 --1.37872806191 -0.618627846241 --1.36147123575 -0.618632867932 --1.344214499 -0.618639871478 --1.32695740461 -0.61864888668 --1.30970022082 -0.618659868836 --1.2924425304 -0.618672803044 --1.27518469095 -0.618687734008 --1.25792619586 -0.618704676628 --1.24066737294 -0.618713140488 --1.22145253419 -0.618703842163 --1.20223608613 -0.618687033653 --1.1849771142 -0.618672177195 --1.16771882772 -0.618659317493 --1.15046083927 -0.618648394942 --1.13320338726 -0.61863951385 --1.11594602466 -0.61863258481 --1.09868904948 -0.618627667427 --1.08143210411 -0.618624716997 --1.06417551637 -0.618623763323 --1.04691877961 -0.618624806404 --1.02966219186 -0.618627846241 --1.01240539551 -0.618632867932 --0.995148658752 -0.618639886379 --0.977891519666 -0.618648901582 --0.960634335876 -0.618659868836 --0.943376675248 -0.618672832846 --0.926118820906 -0.61868776381 --0.908860325813 -0.618704676628 --0.891601532698 -0.618713140488 --0.872386708856 -0.618703842163 --0.853170230984 -0.618687033653 --0.835911273956 -0.618672162294 --0.81865298748 -0.618659302592 --0.801394969225 -0.618648394942 --0.784137517214 -0.61863951385 --0.766880169511 -0.61863258481 --0.749623209238 -0.618627652526 --0.732366278767 -0.618624716997 --0.715109661221 -0.618623763323 --0.697852909565 -0.618624791503 --0.680596351623 -0.618627846241 --0.663339540362 -0.618632867932 --0.646082788706 -0.618639871478 --0.628825679422 -0.61864888668 --0.61156848073 -0.618659868836 --0.594310805202 -0.618672803044 --0.577052950859 -0.618687734008 --0.559794470668 -0.618704676628 --0.542535692453 -0.618713140488 --0.523320838809 -0.618703842163 --0.504104368389 -0.618687048554 --0.486845433712 -0.618672192096 --0.469587154686 -0.618659317493 --0.45232912153 -0.618648394942 --0.435071639717 -0.61863951385 --0.417814284563 -0.61863258481 --0.400557361543 -0.618627667427 --0.383300438523 -0.618624716997 --0.366043813527 -0.618623748422 --0.348787069321 -0.618624791503 --0.331530511379 -0.618627846241 --0.314273700118 -0.618632867932 --0.297016955912 -0.618639871478 --0.279759846628 -0.61864888668 --0.262502655387 -0.618659868836 --0.245244968683 -0.618672832846 --0.227987110615 -0.61868776381 --0.210728630424 -0.618704676628 --0.193469837308 -0.618713125587 --0.174254998564 -0.635839372873 --0.155032571405 -0.635822236538 --0.137773603201 -0.635807037354 --0.120515301823 -0.635793894529 --0.103257248178 -0.635782763362 --0.085999744013 -0.635773703456 --0.068742364645 -0.635766625404 --0.0514854146168 -0.635761573911 --0.0342284636572 -0.635758548975 --0.0169718163088 -0.635757595301 -0.000284953508525 -0.635758683085 -0.0175415407866 -0.635761782527 -0.0347983748652 -0.635766908527 -0.0520551484078 -0.635774061084 -0.0693122930825 -0.635783240199 -0.0865694992244 -0.635794460773 -0.103827198967 -0.635807693005 -0.121085086837 -0.635822936893 -0.138343594968 -0.635840237141 -0.155602414161 -0.635848894715 -0.174817025661 -0.635839372873 -0.19403327629 -0.635822191834 -0.211292251945 -0.635807022452 -0.228550549597 -0.635793894529 -0.24580860138 -0.635782748461 -0.263066105544 -0.635773673654 -0.28032348305 -0.635766610503 -0.297580428422 -0.635761573911 -0.314837381244 -0.635758548975 -0.332094028592 -0.635757595301 -0.349350787699 -0.635758653283 -0.366607382894 -0.635761752725 -0.383864238858 -0.635766908527 -0.401121012866 -0.635774061084 -0.418378137052 -0.6357832551 -0.435635343194 -0.635794475674 -0.452893055976 -0.635807722807 -0.470150947571 -0.635822981596 -0.487409450114 -0.635840252042 -0.50466825068 -0.635848879814 -0.523882865906 -0.635839387774 -0.543099120259 -0.635822221637 -0.560358092189 -0.635807037353 -0.577616408467 -0.635793924332 -0.594874456525 -0.635782763362 -0.61213196814 -0.635773673654 -0.629389345646 -0.635766610503 -0.646646276116 -0.635761588812 -0.663903236389 -0.635758593678 -0.681159883737 -0.635757610202 -0.698416665196 -0.635758638382 -0.71567325294 -0.635761752725 -0.732930064201 -0.635766893625 -0.75018684566 -0.635774046183 -0.767444014549 -0.6357832551 -0.784701213241 -0.635794475674 -0.801958918571 -0.635807722807 -0.819216802716 -0.635822966695 -0.836475282908 -0.635840237141 -0.853734120727 -0.635848879814 -0.872948721051 -0.635839372874 -0.892164945603 -0.635822221637 -0.909423932433 -0.635807052254 -0.926682248712 -0.635793924332 -0.943940296769 -0.635782763362 -0.961197793484 -0.635773673654 -0.97845518589 -0.635766610503 -0.995712116361 -0.635761588812 -1.01296907663 -0.635758593678 -1.03022575378 -0.635757610202 -1.04748252034 -0.635758653283 -1.06473910808 -0.635761767626 -1.08199593425 -0.635766893625 -1.0992527008 -0.635774046183 -1.11650982499 -0.6357832551 -1.13376703859 -0.635794475674 -1.15102475882 -0.635807693005 -1.16828262806 -0.635822936893 -1.18554115295 -0.635840237141 -1.20279997587 -0.635848894715 -1.22201454639 -0.635839387774 -1.24123081565 -0.635822221637 -1.25848981738 -0.635807052254 -1.27574810386 -0.635793924332 -1.29300612211 -0.635782763362 -1.31026363373 -0.635773673654 -1.32752105594 -0.635766610503 -1.34477800131 -0.635761588812 -1.36203494668 -0.635758563876 -1.37929159403 -0.635757595301 -1.39654836058 -0.635758668184 -1.41380491852 -0.635761767626 -1.43106174469 -0.635766893625 -1.44831854105 -0.635774046183 -1.46557569504 -0.6357832551 -1.48283290863 -0.635794460773 -1.50009059906 -0.635807678104 -1.51734849811 -0.635822951794 -1.534607023 -0.635840252042 -1.55186581612 -0.635848894715 -1.57108041644 -0.635839402675 -1.59029665589 -0.635822236538 -1.60755562782 -0.635807022452 -1.6248139441 -0.635793894529 -1.64207199216 -0.635782763362 -1.65932950377 -0.635773673654 -1.67658689618 -0.635766595602 -1.69384384155 -0.635761544108 -1.71110078692 -0.635758534074 -1.72835743427 -0.635757580399 -1.74561420083 -0.635758653283 -1.76287078857 -0.635761767626 -1.78012761474 -0.635766893625 -1.79738441109 -0.635774046183 -1.81464156509 -0.6357832551 -1.83189874888 -0.635794475674 -1.84915646911 -0.635807693005 -1.86641433835 -0.635822951794 -1.88367283344 -0.635840252042 -1.90093168616 -0.635848894715 -1.92014628649 -0.635839387774 -1.93936252594 -0.635822206736 -1.95662149787 -0.635807037353 -1.97387978435 -0.635793924332 -1.99113786221 -0.635782763362 -2.00839537382 -0.635773673654 -2.02565276623 -0.635766610503 -2.0429096818 -0.635761588812 -2.06016659737 -0.635758578777 -2.07742327452 -0.635757610202 -2.09468007088 -0.635758653283 -2.11193662882 -0.635761752725 -2.12919342518 -0.635766893625 -2.14645028114 -0.635774061084 -2.16370749474 -0.635783284903 -2.18096464873 -0.635794490575 -2.19822227955 -0.635807722807 -2.2154802084 -0.635822966695 -2.23273873329 -0.635840237141 -2.24999749661 -0.635848894715 -2.26921212673 -0.635839387774 -2.28842842579 -0.635822206736 -2.30568736792 -0.635807022452 -2.32294565439 -0.63579390943 -2.34020376206 -0.635782763362 -2.35746127367 -0.635773673654 -2.37471860647 -0.635766595602 -2.39197552204 -0.63576155901 -2.40923249722 -0.635758578777 -2.42648917437 -0.635757610202 -2.44374591112 -0.635758653283 -2.46100252867 -0.635761767626 -2.47825938463 -0.635766893625 -2.49551612139 -0.635774046183 -2.51277327538 -0.6357832551 -2.53003048897 -0.635794475674 -2.5472881794 -0.635807693005 -2.56454604864 -0.635822936893 -2.58180457353 -0.635840237141 -2.59906339645 -0.635848879814 -2.61827796698 -0.635839372874 -2.63749420643 -0.635822221637 -2.65475320816 -0.635807052254 -2.67201149463 -0.63579390943 -2.6892695427 -0.635782748461 -2.70652705431 -0.635773673654 -2.72378438711 -0.635766610503 -2.74104136229 -0.635761588812 -2.75829833746 -0.635758563876 -2.77555495501 -0.635757580399 -2.79281175137 -0.635758653283 -2.81006836891 -0.635761767626 -2.82732522488 -0.635766893625 -2.84458196163 -0.635774046183 -2.86183905602 -0.6357832551 -2.87909626961 -0.635794475674 -2.89635396004 -0.635807722807 -2.91361188888 -0.635822981596 -2.93087041378 -0.635840252042 -2.9481292367 -0.635848864913 -2.96734386683 -0.635839372873 -2.98656004667 -0.635822236538 -3.0038189888 -0.635807037354 -3.02107733488 -0.635793894529 -3.03833538294 -0.635782763362 -3.05559289456 -0.635773703456 -3.07285034657 -0.635766625404 -3.09010726214 -0.635761573911 -3.10736417771 -0.635758548975 -3.12462085486 -0.635757595301 --3.14130768378 -0.635758683085 --3.12405109406 -0.635761782527 --3.10679423809 -0.635766908527 --3.08953750134 -0.635774061084 --3.07228040695 -0.635783240199 --3.05502319336 -0.635794460773 --3.03776550293 -0.635807693005 --3.02050757408 -0.635822936893 --3.00324904919 -0.635840237141 --2.98599022627 -0.635848894715 --2.96677559614 -0.635839372873 --2.9475594163 -0.635822191834 --2.93030047417 -0.635807022452 --2.91304212809 -0.635793894529 --2.89578408003 -0.635782748461 --2.87852656841 -0.635773673654 --2.8612691164 -0.635766610503 --2.84401220083 -0.635761573911 --2.82675528526 -0.635758548975 --2.80949860811 -0.635757595301 --2.79224187136 -0.635758653283 --2.77498531342 -0.635761752725 --2.75772845745 -0.635766908527 --2.74047166109 -0.635774061084 --2.72321456671 -0.6357832551 --2.70595735311 -0.635794475674 --2.68869954347 -0.635807722807 --2.67144167423 -0.635822981596 --2.65418320894 -0.635840252042 --2.63692438602 -0.635848879814 --2.6177097559 -0.635839387774 --2.59849345684 -0.635822221637 --2.58123451471 -0.635807037353 --2.56397622824 -0.635793924332 --2.54671818018 -0.635782763362 --2.52946066856 -0.635773673654 --2.51220327616 -0.635766610503 --2.49494636059 -0.635761588812 --2.47768938542 -0.635758593678 --2.46043270826 -0.635757610202 --2.44317597151 -0.635758638382 --2.42591941357 -0.635761752725 --2.40866261721 -0.635766893625 --2.39140582085 -0.635774046183 --2.37414860725 -0.6357832551 --2.35689139366 -0.635794475674 --2.33963370323 -0.635807722807 --2.32237583399 -0.635822966695 --2.3051173687 -0.635840237141 --2.28785854578 -0.635848879814 --2.26864391565 -0.635839372874 --2.2494276762 -0.635822221637 --2.23216867447 -0.635807052254 --2.21491038799 -0.635793924332 --2.19765233993 -0.635782763362 --2.18039482832 -0.635773673654 --2.16313749552 -0.635766610503 --2.14588052034 -0.635761588812 --2.12862354517 -0.635758593678 --2.11136692762 -0.635757610202 --2.09411013126 -0.635758653283 --2.07685351372 -0.635761767626 --2.05959665775 -0.635766893625 --2.042339921 -0.635774046183 --2.02508282661 -0.6357832551 --2.00782561302 -0.635794475674 --1.99056792259 -0.635807693005 --1.97331002355 -0.635822936893 --1.95605149865 -0.635840237141 --1.93879267573 -0.635848894715 --1.91957807541 -0.635839387774 --1.90036183595 -0.635822221637 --1.88310286403 -0.635807052254 --1.86584457755 -0.635793924332 --1.84858652949 -0.635782763362 --1.83132901787 -0.635773673654 --1.81407162547 -0.635766610503 --1.7968146503 -0.635761588812 --1.77955770492 -0.635758563876 --1.76230108738 -0.635757595301 --1.74504429102 -0.635758668184 --1.72778770327 -0.635761767626 --1.71053087711 -0.635766893625 --1.69327408075 -0.635774046183 --1.67601692677 -0.6357832551 --1.65875974298 -0.635794460773 --1.64150205255 -0.635807678104 --1.6242441237 -0.635822951794 --1.60698562861 -0.635840252042 --1.58972683549 -0.635848894715 --1.57051220536 -0.635839402675 --1.55129596591 -0.635822236538 --1.53403699398 -0.635807022452 --1.5167786777 -0.635793894529 --1.49952062964 -0.635782763362 --1.48226311803 -0.635773673654 --1.46500575543 -0.635766595602 --1.44774883986 -0.635761544108 --1.43049189448 -0.635758534074 --1.41323524713 -0.635757580399 --1.39597848058 -0.635758653283 --1.37872186303 -0.635761767626 --1.36146500707 -0.635766893625 --1.34420824051 -0.635774046183 --1.32695111633 -0.6357832551 --1.30969390273 -0.635794475674 --1.2924361825 -0.635807693005 --1.27517831326 -0.635822951794 --1.25791981816 -0.635840252042 --1.24066099524 -0.635848894715 --1.22144639492 -0.635839387774 --1.20223015547 -0.635822206736 --1.18497115374 -0.635807037353 --1.16771283746 -0.635793924332 --1.1504548192 -0.635782763362 --1.13319733739 -0.635773673654 --1.11593994498 -0.635766610503 --1.09868296981 -0.635761588812 --1.08142599463 -0.635758578777 --1.06416934729 -0.635757610202 --1.04691258073 -0.635758653283 --1.02965599298 -0.635761752725 --1.01239919662 -0.635766893625 --0.995142430066 -0.635774061084 --0.977885231375 -0.635783284903 --0.960628017783 -0.635794490575 --0.943370357156 -0.635807722807 --0.926112473011 -0.635822966695 --0.908853948116 -0.635840237141 --0.891595140099 -0.635848894715 --0.872380524874 -0.635839387774 --0.853164285421 -0.635822206736 --0.835905313492 -0.635807022452 --0.818646997213 -0.63579390943 --0.801388949156 -0.635782763362 --0.784131452441 -0.635773673654 --0.766874074936 -0.635766595602 --0.749617114663 -0.63576155901 --0.73236015439 -0.635758578777 --0.715103507042 -0.635757610202 --0.697846740484 -0.635758653283 --0.68059015274 -0.635761767626 --0.663333311677 -0.635766893625 --0.646076545119 -0.635774046183 --0.628819406033 -0.6357832551 --0.611562162638 -0.635794475674 --0.594304472208 -0.635807693005 --0.577046602965 -0.635822936893 --0.559788092971 -0.635840237141 --0.542529284954 -0.635848879814 --0.523314669728 -0.635839372874 --0.504098422825 -0.635822221637 --0.486839450896 -0.635807052254 --0.469581156969 -0.63579390943 --0.452323101461 -0.635782748461 --0.435065589845 -0.635773673654 --0.41780821234 -0.635766610503 --0.400551259518 -0.635761588812 --0.383294306696 -0.635758563876 --0.366037651897 -0.635757580399 --0.348780885339 -0.635758653283 --0.331524312496 -0.635761767626 --0.314267478883 -0.635766893625 --0.297010704875 -0.635774046183 --0.279753565788 -0.6357832551 --0.262496359646 -0.635794475674 --0.24523865059 -0.635807722807 --0.22798075527 -0.635822981596 --0.210722249001 -0.635840252042 --0.193463437259 -0.635848864913 --0.174248822033 -0.652975395322 --0.155027389526 -0.652957856655 --0.13776839152 -0.652942359448 --0.120510069653 -0.652928978205 --0.103252001107 -0.652917608619 --0.0859944764525 -0.652908354998 --0.0687370756641 -0.652901142836 --0.0514801032841 -0.652896001935 --0.0342231295072 -0.652892902494 --0.016966459807 -0.652891919017 -0.000290331663563 -0.652893036604 -0.0175469408277 -0.652896210551 -0.0348037965596 -0.65290145576 -0.0520605929196 -0.652908757329 -0.0693177580834 -0.652918115258 -0.0865749884397 -0.65292955935 -0.10383271426 -0.652943074703 -0.121090622619 -0.652958646417 -0.138349153102 -0.652976289391 -0.155607987196 -0.652985110879 -0.174822401255 -0.652975395322 -0.194038458168 -0.652957871556 -0.211297456175 -0.65294238925 -0.228555776179 -0.652928978205 -0.245813846588 -0.652917608619 -0.263071380555 -0.652908340097 -0.280328787863 -0.652901113033 -0.297585755587 -0.652896001935 -0.31484273076 -0.652892932296 -0.332099400461 -0.652891933918 -0.349356174469 -0.652893006801 -0.366612777114 -0.652896165848 -0.383869647979 -0.652901425958 -0.40112645179 -0.652908742428 -0.418383613229 -0.652918100357 -0.435640834272 -0.652929544449 -0.452898554504 -0.652943074703 -0.470156475902 -0.652958661318 -0.487415000797 -0.652976304292 -0.504673838615 -0.652985095978 -0.523888275027 -0.652975395322 -0.543104320764 -0.652957871556 -0.560363307595 -0.652942374348 -0.577621638775 -0.652929008007 -0.594879701734 -0.652917638421 -0.61213722825 -0.652908340097 -0.629394635558 -0.652901127935 -0.646651610732 -0.652896016836 -0.663908571005 -0.652892932296 -0.681165233254 -0.652891948819 -0.698422044516 -0.652893021702 -0.715678647161 -0.652896165848 -0.732935503125 -0.652901411057 -0.750192329288 -0.652908727527 -0.767449498177 -0.652918100357 -0.784706696868 -0.652929544449 -0.8019644171 -0.652943089604 -0.819222316146 -0.652958661318 -0.836480841041 -0.652976289391 -0.853739693761 -0.652985095978 -0.87295410037 -0.652975380421 -0.892170146108 -0.652957871556 -0.90942914784 -0.652942404151 -0.926687479019 -0.652929022908 -0.943945541978 -0.652917638421 -0.961203068495 -0.652908340097 -0.978460475802 -0.652901127935 -0.995717421175 -0.652896016836 -1.01297441125 -0.652892947197 -1.0302310884 -0.652891948819 -1.04748788476 -0.652893021703 -1.06474453211 -0.652896180749 -1.08200135827 -0.652901411057 -1.09925815463 -0.652908727527 -1.11651533842 -0.652918100357 -1.13377255201 -0.652929544449 -1.15103027224 -0.652943074703 -1.16828817129 -0.652958646417 -1.18554672599 -0.65297627449 -1.20280554891 -0.652985110879 -1.22201991081 -0.652975410223 -1.24123600125 -0.652957886457 -1.25849500299 -0.652942404151 -1.27575328946 -0.652929008007 -1.29301136732 -0.652917638421 -1.31026890874 -0.652908340097 -1.32752633095 -0.652901127935 -1.34478330612 -0.652896016836 -1.3620402813 -0.652892932296 -1.37929695845 -0.652891933918 -1.39655375481 -0.652893036604 -1.41381034255 -0.65289619565 -1.43106719851 -0.652901425958 -1.44832399487 -0.652908742428 -1.46558114886 -0.652918115258 -1.48283839226 -0.652929544449 -1.50009611249 -0.652943074703 -1.51735401154 -0.652958676219 -1.53461253643 -0.652976304292 -1.55187138915 -0.652985110879 -1.57108581066 -0.652975410223 -1.5903018415 -0.652957901358 -1.60756084323 -0.652942404151 -1.62481918931 -0.652928993106 -1.64207726717 -0.65291762352 -1.65933477878 -0.652908354998 -1.67659217119 -0.652901127934 -1.69384917617 -0.652895987034 -1.71110615134 -0.652892917395 -1.72836276889 -0.652891933918 -1.74561956525 -0.652893021703 -1.7628762126 -0.652896180749 -1.78013303876 -0.652901411057 -1.79738983512 -0.652908727527 -1.81464701891 -0.652918100357 -1.8319042325 -0.652929544449 -1.84916195273 -0.652943074703 -1.86641985178 -0.652958661318 -1.88367840648 -0.652976289391 -1.900937289 -0.652985095977 -1.92015171051 -0.652975395322 -1.93936774135 -0.652957871556 -1.95662671328 -0.65294238925 -1.97388499975 -0.652929008007 -1.99114307761 -0.652917638421 -2.00840058923 -0.652908340097 -2.02565801144 -0.652901127935 -2.04291498661 -0.652896016836 -2.06017196178 -0.652892947197 -2.07742863893 -0.65289196372 -2.09468537569 -0.652893021702 -2.11194199323 -0.652896165848 -2.1291988492 -0.652901411057 -2.14645570516 -0.652908727527 -2.16371291876 -0.652918115258 -2.18097013235 -0.65292955935 -2.19822782278 -0.652943074703 -2.21548575163 -0.652958646417 -2.23274433613 -0.652976289391 -2.25000315905 -0.652985110879 -2.26921755075 -0.652975395322 -2.28843361139 -0.652957856655 -2.30569255352 -0.652942374348 -2.32295084 -0.652928993106 -2.34020894766 -0.65291762352 -2.35746651888 -0.652908340097 -2.37472391128 -0.652901113033 -2.39198082685 -0.652896001935 -2.40923780203 -0.652892947197 -2.42649447918 -0.652891948819 -2.44375127554 -0.652893021703 -2.46100789309 -0.652896180749 -2.47826474905 -0.652901411057 -2.49552154541 -0.652908727527 -2.51277875901 -0.652918100357 -2.5300359726 -0.652929544449 -2.54729366303 -0.652943074703 -2.56455159187 -0.652958646417 -2.58181011677 -0.65297627449 -2.59906893968 -0.652985081076 -2.61828333139 -0.652975380421 -2.63749939203 -0.652957871556 -2.65475839377 -0.65294238925 -2.67201668024 -0.652928993106 -2.6892747879 -0.65291762352 -2.70653235912 -0.652908340097 -2.72378969192 -0.652901127935 -2.7410466671 -0.652896016836 -2.75830364227 -0.652892917395 -2.77556031942 -0.652891919017 -2.79281717539 -0.652893021703 -2.81007379293 -0.652896180749 -2.8273306489 -0.652901411057 -2.84458738565 -0.652908727527 -2.86184453964 -0.652918100357 -2.87910175324 -0.652929544449 -2.89635944367 -0.652943074703 -2.91361737251 -0.652958661318 -2.93087589741 -0.652976304292 -2.94813477993 -0.652985095978 -2.96734923124 -0.652975395322 -2.98656523228 -0.652957856655 -3.00382423401 -0.652942359448 -3.02108263969 -0.652928978205 -3.03834068775 -0.652917608619 -3.05559813976 -0.652908354998 -3.07285559177 -0.652901142836 -3.09011256695 -0.652896001935 -3.10736954212 -0.652892902494 -3.12462621927 -0.652891919017 --3.14130231936 -0.652893036604 --3.12404567003 -0.652896210551 --3.10678881407 -0.65290145576 --3.08953207731 -0.652908757329 --3.07227492332 -0.652918115258 --3.05501765013 -0.65292955935 --3.0377599597 -0.652943074703 --3.02050209045 -0.652958646417 --3.00324356556 -0.652976289391 --2.98598468304 -0.652985110879 --2.96677023172 -0.652975395322 --2.94755423069 -0.652957871556 --2.93029522896 -0.65294238925 --2.91303682327 -0.652928978205 --2.89577877522 -0.652917608619 --2.8785213232 -0.652908340097 --2.86126387119 -0.652901113033 --2.84400689602 -0.652896001935 --2.82674992085 -0.652892932296 --2.8094932437 -0.652891933918 --2.79223650694 -0.652893006801 --2.77497988939 -0.652896165848 --2.75772303343 -0.652901425958 --2.74046617746 -0.652908742428 --2.72320902348 -0.652918100357 --2.70595180988 -0.652929544449 --2.68869405985 -0.652943074703 --2.6714361906 -0.652958661318 --2.6541776061 -0.652976304292 --2.63691872358 -0.652985095978 --2.61770433188 -0.652975395322 --2.59848827123 -0.652957871556 --2.58122932911 -0.652942374348 --2.56397104263 -0.652929008007 --2.54671299458 -0.652917638421 --2.52945542336 -0.652908340097 --2.51219797134 -0.652901127935 --2.49494105577 -0.652896016836 --2.4776840806 -0.652892932296 --2.46042740345 -0.652891948819 --2.44317060709 -0.652893021702 --2.42591404915 -0.652896165848 --2.40865719319 -0.652901411057 --2.39140033722 -0.652908727527 --2.37414318323 -0.652918100357 --2.35688596964 -0.652929544449 --2.3396282196 -0.652943089604 --2.32237029075 -0.652958661318 --2.30511176586 -0.652976289391 --2.28785294294 -0.652985095978 --2.26863855124 -0.652975380421 --2.24942249059 -0.652957871556 --2.23216348886 -0.652942404151 --2.21490520239 -0.652929022908 --2.19764709473 -0.652917638421 --2.18038952351 -0.652908340097 --2.16313219071 -0.652901127935 --2.14587521553 -0.652896016836 --2.12861824036 -0.652892947197 --2.11136156321 -0.652891948819 --2.09410470724 -0.652893021703 --2.0768480897 -0.652896180749 --2.05959123373 -0.652901411057 --2.04233449698 -0.652908727527 --2.02507734298 -0.652918100357 --2.00782009959 -0.652929544449 --1.99056240916 -0.652943074703 --1.97330448031 -0.652958646417 --1.95604595542 -0.65297627449 --1.9387871325 -0.652985110879 --1.91957271099 -0.652975410223 --1.90035665035 -0.652957886457 --1.88309764862 -0.652942404151 --1.86583933234 -0.652929008007 --1.84858125448 -0.652917638421 --1.83132371307 -0.652908340097 --1.81406632066 -0.652901127935 --1.79680934548 -0.652896016836 --1.77955237031 -0.652892932296 --1.76229572296 -0.652891933918 --1.7450389266 -0.652893036604 --1.72778230906 -0.65289619565 --1.71052542329 -0.652901425958 --1.69326862693 -0.652908742428 --1.67601147294 -0.652918115258 --1.65875425934 -0.652929544449 --1.64149653912 -0.652943074703 --1.62423861027 -0.652958676219 --1.60698008537 -0.652976304292 --1.58972123265 -0.652985110879 --1.57050681114 -0.652975410223 --1.55129078031 -0.652957901358 --1.53403177857 -0.652942404151 --1.51677343249 -0.652928993106 --1.49951538443 -0.65291762352 --1.48225787282 -0.652908354998 --1.46500045061 -0.652901127934 --1.44774350524 -0.652895987034 --1.43048655987 -0.652892917395 --1.41322988272 -0.652891933918 --1.39597308636 -0.652893021703 --1.37871646881 -0.652896180749 --1.36145961285 -0.652901411057 --1.34420278668 -0.652908727527 --1.3269456327 -0.652918100357 --1.3096884191 -0.652929544449 --1.29243066907 -0.652943074703 --1.27517277002 -0.652958661318 --1.25791427493 -0.652976289391 --1.24065545201 -0.652985095977 --1.2214410305 -0.652975395322 --1.20222494006 -0.652957871556 --1.18496593833 -0.65294238925 --1.16770765185 -0.652929008007 --1.15044957399 -0.652917638421 --1.13319203258 -0.652908340097 --1.11593464017 -0.652901127935 --1.098677665 -0.652896016836 --1.08142068982 -0.652892947197 --1.06416401267 -0.65289196372 --1.04690721631 -0.652893021702 --1.02965062857 -0.652896165848 --1.01239380241 -0.652901411057 --0.995137006044 -0.652908727527 --0.977879777551 -0.652918115258 --0.960622534156 -0.65292955935 --0.943364843726 -0.652943074703 --0.926106929779 -0.652958646417 --0.908848389983 -0.652976289391 --0.891589567065 -0.652985110879 --0.872375145554 -0.652975395322 --0.853159099817 -0.652957856655 --0.835900112987 -0.652942374348 --0.818641781807 -0.652928993106 --0.801383703947 -0.65291762352 --0.784126162529 -0.652908340097 --0.766868755221 -0.652901113033 --0.749611794948 -0.652896001935 --0.732354819774 -0.652892947197 --0.715098157525 -0.652891948819 --0.697841376066 -0.652893021703 --0.68058475852 -0.652896180749 --0.663327887654 -0.652901411057 --0.646071106196 -0.652908727527 --0.628813937306 -0.652918100357 --0.61155667901 -0.652929544449 --0.594298973679 -0.652943074703 --0.577041074634 -0.652958646417 --0.559782549739 -0.65297627449 --0.54252371192 -0.652985081076 --0.523309290409 -0.652975380421 --0.504093244672 -0.652957871556 --0.48683425039 -0.65294238925 --0.469575926661 -0.652928993106 --0.452317848802 -0.65291762352 --0.435060322285 -0.652908340097 --0.417802929878 -0.652901127935 --0.400545947254 -0.652896016836 --0.38328896463 -0.652892917395 --0.366032294929 -0.652891919017 --0.34877550602 -0.652893021703 --0.331518910826 -0.652896180749 --0.314262054861 -0.652901411057 --0.2970052585 -0.652908727527 --0.279748097062 -0.652918100357 --0.262490876019 -0.652929544449 --0.245233148337 -0.652943074703 --0.227975223214 -0.652958661318 --0.210716694594 -0.652976304292 --0.193457864225 -0.652985095978 --0.17424344644 -0.670092210173 --0.155022252351 -0.67007432878 --0.137763239443 -0.67005854845 --0.120504895225 -0.670044898987 --0.103246804327 -0.670033305884 --0.0859892591834 -0.670023843646 --0.0687318332493 -0.670016482472 --0.051474836655 -0.670011281967 --0.0342178423889 -0.670008122921 --0.0169611515012 -0.670007094741 -0.00029566162266 -0.670008227229 -0.0175522919744 -0.670011490583 -0.0348091698252 -0.6700168401 -0.0520659880713 -0.670024245977 -0.0693231737241 -0.670033812523 -0.0865804273635 -0.670045509934 -0.103838181123 -0.670059263707 -0.121096109971 -0.670075133443 -0.138354655355 -0.670093134046 -0.155613515526 -0.670102119446 -0.174827732146 -0.670092210173 -0.194043584168 -0.670074358582 -0.211302608252 -0.670058563351 -0.228560950607 -0.670044884086 -0.245819039642 -0.670033290982 -0.263076595962 -0.670023828745 -0.280334033072 -0.670016467571 -0.297591030598 -0.670011267066 -0.314848020673 -0.670008137822 -0.332104712725 -0.670007109642 -0.349361516535 -0.670008212328 -0.366618134081 -0.67001144588 -0.383875019848 -0.670016780496 -0.40113183856 -0.670024231076 -0.418389029801 -0.670033797622 -0.435646280646 -0.670045465231 -0.45290401578 -0.670059248805 -0.470161952079 -0.670075133443 -0.487420499325 -0.670093134046 -0.504679374397 -0.670102134347 -0.523893609643 -0.670092225074 -0.543109446764 -0.670074343681 -0.560368463397 -0.670058563351 -0.577626809478 -0.670044913888 -0.594884902239 -0.670033320785 -0.612142458558 -0.670023843646 -0.629399865866 -0.670016482472 -0.646656870842 -0.670011281967 -0.663913860917 -0.670008122921 -0.681170552969 -0.670007124543 -0.698427379131 -0.67000824213 -0.715683996677 -0.67001144588 -0.732940882444 -0.670016780496 -0.750197708607 -0.670024231076 -0.767454892397 -0.670033797622 -0.784712135792 -0.670045465231 -0.801969885826 -0.670059263706 -0.819227814675 -0.670075163245 -0.83648635447 -0.670093148947 -0.85374520719 -0.670102119446 -0.872959434986 -0.670092210173 -0.892175287008 -0.670074343681 -0.909434303641 -0.670058563351 -0.926692664623 -0.670044913888 -0.943950757384 -0.670033320785 -0.961208298802 -0.670023858547 -0.978465721011 -0.670016482472 -0.995722711088 -0.670011267066 -1.01297971606 -0.670008137822 -1.03023639322 -0.670007109642 -1.04749318957 -0.670008212328 -1.06474986673 -0.67001144588 -1.08200675249 -0.670016780496 -1.09926354885 -0.670024231076 -1.11652073264 -0.670033797622 -1.13377797603 -0.670045480132 -1.15103572607 -0.670059263707 -1.16829365492 -0.670075148344 -1.18555220961 -0.670093134046 -1.20281106234 -0.670102119446 -1.22202527523 -0.670092225075 -1.24124115705 -0.670074358582 -1.25850015878 -0.670058578253 -1.27575847506 -0.670044913888 -1.29301658273 -0.670033305883 -1.31027415395 -0.670023828745 -1.32753157616 -0.670016482472 -1.34478855133 -0.670011281967 -1.36204555631 -0.670008137822 -1.37930226326 -0.670007124543 -1.39655908942 -0.670008242131 -1.41381570697 -0.670011460781 -1.43107256293 -0.670016795397 -1.44832938909 -0.670024245977 -1.46558657288 -0.670033812523 -1.48284384608 -0.670045465231 -1.50010159611 -0.670059263706 -1.51735949516 -0.670075178146 -1.53461804986 -0.670093134046 -1.55187693238 -0.670102104544 -1.57109114528 -0.670092210173 -1.5903069973 -0.670074373483 -1.60756602883 -0.670058593154 -1.62482437491 -0.670044913888 -1.64208248258 -0.670033320785 -1.659340024 -0.670023858547 -1.6765974164 -0.670016482472 -1.69385442138 -0.670011267066 -1.71111142636 -0.670008137822 -1.72836807371 -0.670007124543 -1.74562487007 -0.670008227229 -1.76288154722 -0.67001144588 -1.78013843298 -0.670016780496 -1.79739522934 -0.670024231076 -1.81465244293 -0.670033782721 -1.83190968632 -0.670045465231 -1.84916740656 -0.670059263707 -1.86642536521 -0.670075148344 -1.88368391991 -0.670093134046 -1.90094277263 -0.670102104544 -1.92015701533 -0.670092210173 -1.93937286735 -0.670074358582 -1.95663186908 -0.670058578253 -1.97389018536 -0.670044913888 -1.99114826322 -0.670033305883 -2.00840577483 -0.670023843646 -2.02566325665 -0.670016482472 -2.04292029142 -0.670011267066 -2.0601772666 -0.670008137822 -2.07743400335 -0.670007139444 -2.09469079971 -0.670008227229 -2.11194741726 -0.670011430979 -2.12920427322 -0.670016795397 -2.14646106958 -0.670024245977 -2.16371828318 -0.670033797622 -2.18097555637 -0.670045465231 -2.1982332468 -0.670059248805 -2.21549117565 -0.670075133443 -2.23274976015 -0.670093134046 -2.25000864267 -0.670102134347 -2.26922285557 -0.670092225074 -2.28843867779 -0.670074343681 -2.30569773912 -0.670058563351 -2.3229560852 -0.670044898987 -2.34021413326 -0.670033305884 -2.35747170448 -0.670023843646 -2.37472915649 -0.670016467571 -2.39198613167 -0.670011267066 -2.40924310684 -0.670008137822 -2.42649978399 -0.670007124543 -2.44375663996 -0.670008227229 -2.4610132575 -0.670011460781 -2.47827011347 -0.670016795397 -2.49552696943 -0.670024231076 -2.51278418303 -0.670033797622 -2.53004139662 -0.670045480132 -2.54729908705 -0.670059263707 -2.5645570159 -0.670075133443 -2.5818156004 -0.670093104243 -2.59907448292 -0.670102089643 -2.61828869581 -0.670092210173 -2.63750457764 -0.670074343681 -2.65476357937 -0.67005854845 -2.67202186585 -0.670044898987 -2.68927997351 -0.670033320785 -2.70653754473 -0.670023858547 -2.72379493714 -0.670016497373 -2.74105191231 -0.670011281967 -2.75830888748 -0.670008122921 -2.77556562424 -0.670007109642 -2.7928224802 -0.670008227229 -2.81007909775 -0.67001144588 -2.82733595371 -0.670016780496 -2.84459275007 -0.670024231076 -2.86184996367 -0.670033797622 -2.87910717726 -0.670045465231 -2.89636492729 -0.670059248805 -2.91362291575 -0.670075148344 -2.93088144064 -0.670093148947 -2.94814026356 -0.670102119446 -2.96735453606 -0.670092210173 -2.98657041788 -0.67007432878 -3.00382941961 -0.67005854845 -3.0210877657 -0.670044898987 -3.03834581375 -0.670033305884 -3.05560332537 -0.670023843646 -3.07286077738 -0.670016482472 -3.09011781215 -0.670011281967 -3.10737484693 -0.670008122921 -3.12463152409 -0.670007094741 --3.14129701455 -0.670008227229 --3.12404036522 -0.670011490583 --3.10678350925 -0.6700168401 --3.08952671289 -0.670024245977 --3.0722694993 -0.670033812523 --3.0550121665 -0.670045509934 --3.03775441647 -0.670059263707 --3.02049654722 -0.670075133443 --3.00323802233 -0.670093134046 --2.9859791398 -0.670102119446 --2.96676486731 -0.670092210173 --2.94754904509 -0.670074358582 --2.93029004335 -0.670058563351 --2.91303163767 -0.670044884086 --2.89577353001 -0.670033290982 --2.878516078 -0.670023828745 --2.86125868559 -0.670016467571 --2.84400165081 -0.670011267066 --2.82674461603 -0.670008137822 --2.80948793888 -0.670007109642 --2.79223120212 -0.670008212328 --2.77497452497 -0.67001144588 --2.7577176094 -0.670016780496 --2.74046081304 -0.670024231076 --2.72320359945 -0.670033797622 --2.70594632626 -0.670045465231 --2.68868863583 -0.670059248805 --2.67143070698 -0.670075133443 --2.65417212248 -0.670093134046 --2.63691323996 -0.670102134347 --2.61769902706 -0.670092225074 --2.59848320484 -0.670074343681 --2.58122420311 -0.670058563351 --2.56396585703 -0.670044913888 --2.54670774937 -0.670033320785 --2.52945017815 -0.670023843646 --2.51219272613 -0.670016482472 --2.49493575096 -0.670011281967 --2.47767877579 -0.670008122921 --2.46042209864 -0.670007124543 --2.44316524267 -0.67000824213 --2.42590862513 -0.67001144588 --2.40865176916 -0.670016780496 --2.3913949132 -0.670024231076 --2.37413775921 -0.670033797622 --2.35688054562 -0.670045465231 --2.33962279558 -0.670059263706 --2.32236486673 -0.670075163245 --2.30510628223 -0.670093148947 --2.28784739971 -0.670102119446 --2.26863324642 -0.670092210173 --2.2494174242 -0.670074343681 --2.23215836286 -0.670058563351 --2.21490001679 -0.670044913888 --2.19764190912 -0.670033320785 --2.1803843379 -0.670023858547 --2.1631269455 -0.670016482472 --2.14586997032 -0.670011267066 --2.12861299515 -0.670008137822 --2.11135625839 -0.670007109642 --2.09409940243 -0.670008212328 --2.07684278488 -0.67001144588 --2.05958592892 -0.670016780496 --2.04232913256 -0.670024231076 --2.02507191896 -0.670033797622 --2.00781464577 -0.670045480132 --1.99055692553 -0.670059263707 --1.97329899669 -0.670075148344 --1.95604044199 -0.670093134046 --1.93878158927 -0.670102119446 --1.91956737638 -0.670092225075 --1.90035152435 -0.670074358582 --1.88309249282 -0.670058578253 --1.86583414674 -0.670044913888 --1.84857603907 -0.670033305883 --1.83131846786 -0.670023828745 --1.81406104564 -0.670016482472 --1.79680407047 -0.670011281967 --1.7795470953 -0.670008137822 --1.76229038835 -0.670007124543 --1.74503359198 -0.670008242131 --1.72777697444 -0.670011460781 --1.71052005887 -0.670016795397 --1.69326326251 -0.670024245977 --1.67600607872 -0.670033812523 --1.65874883532 -0.670045465231 --1.64149108529 -0.670059263706 --1.62423312664 -0.670075178146 --1.60697457194 -0.670093134046 --1.58971571922 -0.670102104544 --1.57050150633 -0.670092210173 --1.55128565431 -0.670074373483 --1.53402665258 -0.670058593154 --1.51676830649 -0.670044913888 --1.49951022863 -0.670033320785 --1.48225268721 -0.670023858547 --1.4649952352 -0.670016482472 --1.44773823023 -0.670011267066 --1.43048125505 -0.670008137822 --1.4132245779 -0.670007124543 --1.39596775174 -0.670008227229 --1.37871110439 -0.67001144588 --1.36145421863 -0.670016780496 --1.34419739246 -0.670024231076 --1.32694023847 -0.670033782721 --1.30968299508 -0.670045465231 --1.29242521524 -0.670059263707 --1.27516728639 -0.670075148344 --1.2579087615 -0.670093134046 --1.24064990878 -0.670102104544 --1.22143566609 -0.670092210173 --1.20221978426 -0.670074358582 --1.18496078253 -0.670058578253 --1.16770246625 -0.670044913888 --1.15044435859 -0.670033305883 --1.13318678737 -0.670023843646 --1.11592936516 -0.670016482472 --1.09867238998 -0.670011267066 --1.08141541481 -0.670008137822 --1.06415870786 -0.670007139444 --1.0469018817 -0.670008227229 --1.02964526415 -0.670011430979 --1.01238840819 -0.670016795397 --0.995131596924 -0.670024245977 --0.977874353528 -0.670033797622 --0.960617095232 -0.670045465231 --0.943359389901 -0.670059248805 --0.926101446152 -0.670075133443 --0.908842891455 -0.670093134046 --0.891584038734 -0.670102134347 --0.872369796037 -0.670092225074 --0.853153944015 -0.670074343681 --0.835894927383 -0.670058563351 --0.818636581302 -0.670044898987 --0.801378503442 -0.670033305884 --0.784120962024 -0.670023843646 --0.766863539815 -0.670016467571 --0.749606534838 -0.670011267066 --0.732349529862 -0.670008137822 --0.71509283781 -0.670007124543 --0.697836026549 -0.670008227229 --0.680579409003 -0.670011460781 --0.663322523236 -0.670016795397 --0.646065711975 -0.670024231076 --0.628808528185 -0.670033797622 --0.611551269889 -0.670045480132 --0.594293534756 -0.670059263707 --0.577035605908 -0.670075133443 --0.559777066112 -0.670093104243 --0.54251819849 -0.670102089643 --0.523303955793 -0.670092210173 --0.504088103771 -0.670074343681 --0.486829102039 -0.67005854845 --0.469570741057 -0.670044898987 --0.452312648297 -0.670033320785 --0.43505512178 -0.670023858547 --0.417797699571 -0.670016497373 --0.400540687144 -0.670011281967 --0.383283682168 -0.670008122921 --0.366026990115 -0.670007109642 --0.348770178855 -0.670008227229 --0.331513568759 -0.67001144588 --0.314256682992 -0.670016780496 --0.29699985683 -0.670024231076 --0.27974268049 -0.670033797622 --0.262485429645 -0.670045465231 --0.245227675885 -0.670059248805 --0.227969739586 -0.670075148344 --0.21071119234 -0.670093148947 --0.193452335894 -0.670102119446 --0.174238111824 -0.68719150126 --0.15501716733 -0.687173336744 --0.137758132071 -0.687157273292 --0.120499767363 -0.687143325805 --0.103241654113 -0.687131494284 --0.0859840847552 -0.68712182343 --0.0687266364694 -0.687114328146 --0.0514696175232 -0.687109038234 --0.0342126018368 -0.687105849385 --0.0169558916241 -0.687104821205 -0.00030094292015 -0.687105953693 -0.0175575949252 -0.687109276652 -0.0348144951277 -0.687114730478 -0.0520713357255 -0.687122255564 -0.0693285418674 -0.687132000923 -0.0865858159959 -0.687143951655 -0.103843592107 -0.687157958746 -0.12110154517 -0.687174111605 -0.13836010918 -0.687192469835 -0.155618991703 -0.687201619148 -0.174833014608 -0.68719150126 -0.194048672915 -0.687173336744 -0.21130771935 -0.687157258391 -0.228566080332 -0.687143310904 -0.245824187994 -0.687131509185 -0.263081759214 -0.687121868134 -0.280339211225 -0.687114357948 -0.297596231103 -0.687109038234 -0.31485324353 -0.687105849385 -0.332109957934 -0.687104821205 -0.349366798997 -0.687105953693 -0.366623446345 -0.687109261751 -0.383880354464 -0.687114670873 -0.401137188077 -0.687122255563 -0.418394394219 -0.687132030725 -0.435651667416 -0.68714389205 -0.452909424901 -0.687157914042 -0.470167391002 -0.687174111605 -0.487425968051 -0.687192469835 -0.504684843123 -0.687201634049 -0.523898854852 -0.687191516161 -0.543114513159 -0.687173306942 -0.560373559594 -0.68715724349 -0.577631935477 -0.687143325805 -0.594890058041 -0.687131524086 -0.612147629261 -0.687121883035 -0.629405081272 -0.687114357948 -0.646662086248 -0.687109038234 -0.663919106126 -0.687105849385 -0.68117582798 -0.687104836106 -0.698432654142 -0.687105968595 -0.715689301491 -0.687109261751 -0.732946187258 -0.687114670873 -0.750203028321 -0.687122255563 -0.767460256815 -0.687132030725 -0.784717530012 -0.68714389205 -0.801975294948 -0.687157914042 -0.819233253598 -0.687174126506 -0.836491808295 -0.687192484736 -0.853750690818 -0.687201619148 -0.872964724898 -0.68719150126 -0.892180368304 -0.687173306942 -0.909439399838 -0.687157228589 -0.926697775722 -0.687143310904 -0.943955913186 -0.687131494284 -0.961213499308 -0.687121868134 -0.978470936417 -0.687114357949 -0.995727941393 -0.687109023333 -1.01298496127 -0.687105849385 -1.03024166822 -0.687104821205 -1.04749849439 -0.687105953693 -1.06475514174 -0.687109261751 -1.08201205731 -0.687114670873 -1.09926891327 -0.687122255563 -1.11652609706 -0.687132030725 -1.13378337026 -0.687143906951 -1.15104115009 -0.687157928944 -1.16829907894 -0.687174126506 -1.18555763364 -0.687192484736 -1.20281651616 -0.687201619148 -1.22203058004 -0.68719150126 -1.24124625325 -0.687173306942 -1.25850525498 -0.68715724349 -1.27576363086 -0.687143325805 -1.29302176833 -0.687131479383 -1.31027933955 -0.687121838331 -1.32753679156 -0.687114357948 -1.34479379654 -0.687109038234 -1.36205080152 -0.687105849385 -1.37930750847 -0.687104836106 -1.39656433463 -0.687105968595 -1.41382098198 -0.687109261751 -1.43107786775 -0.687114670873 -1.44833472371 -0.687122225761 -1.4655919671 -0.687132000923 -1.4828492403 -0.687143921852 -1.50010699033 -0.687157988548 -1.51736494899 -0.687174171209 -1.53462353349 -0.687192469835 -1.55188241601 -0.687201604247 -1.57109642029 -0.68719150126 -1.5903120935 -0.687173321843 -1.60757115483 -0.68715724349 -1.62482950091 -0.687143325806 -1.64208760857 -0.687131509185 -1.65934517979 -0.687121868134 -1.676602602 -0.687114357949 -1.69385960698 -0.687109023333 -1.71111664176 -0.687105849385 -1.72837334871 -0.687104836106 -1.74563017488 -0.687105968595 -1.76288685203 -0.687109261751 -1.7801437676 -0.687114670873 -1.79740059376 -0.687122255563 -1.81465780735 -0.687132015824 -1.83191508055 -0.68714389205 -1.84917286038 -0.687157928944 -1.86643084883 -0.687174126506 -1.88368940353 -0.687192484736 -1.90094825625 -0.687201619148 -1.92016229033 -0.68719150126 -1.93937793374 -0.687173306942 -1.95663693547 -0.68715724349 -1.97389531135 -0.687143325805 -1.99115344882 -0.687131479383 -2.00841096044 -0.687121853233 -2.02566844225 -0.687114357949 -2.04292553663 -0.687109023333 -2.06018251181 -0.687105849385 -2.07743924856 -0.687104836106 -2.09469610453 -0.687105953693 -2.11195272207 -0.68710924685 -2.12920963764 -0.687114685774 -2.146466434 -0.687122270464 -2.16372364759 -0.687132030725 -2.1809809804 -0.68714389205 -2.19823867082 -0.687157914042 -2.21549659967 -0.687174111605 -2.23275518417 -0.687192440033 -2.2500140667 -0.687201604247 -2.26922810078 -0.687191516161 -2.28844374418 -0.687173306942 -2.30570286512 -0.68715724349 -2.32296127081 -0.687143325805 -2.34021931887 -0.687131524086 -2.35747689009 -0.687121883035 -2.3747343421 -0.687114343047 -2.39199131727 -0.687109023333 -2.40924835205 -0.687105849385 -2.42650508881 -0.687104836106 -2.44376188517 -0.687105968595 -2.46101850271 -0.687109276652 -2.47827541828 -0.687114685774 -2.49553233385 -0.687122255563 -2.51278954744 -0.687132030725 -2.53004676103 -0.687143936753 -2.54730451107 -0.687157958746 -2.56456243992 -0.687174111605 -2.58182102442 -0.687192454934 -2.59907996654 -0.687201604247 -2.61829400062 -0.68719150126 -2.63750964403 -0.687173306942 -2.65476870537 -0.687157228589 -2.67202705145 -0.687143310904 -2.68928515911 -0.687131494284 -2.70654273033 -0.687121868134 -2.72380012274 -0.68711437285 -2.74105709791 -0.687109038234 -2.75831413269 -0.687105849385 -2.77557092905 -0.687104836106 -2.79282778502 -0.687105968595 -2.81008440256 -0.687109261751 -2.82734125853 -0.687114670873 -2.84459811449 -0.687122255563 -2.86185532808 -0.687132030725 -2.87911254168 -0.68714389205 -2.89637035132 -0.687157914042 -2.91362839937 -0.687174126506 -2.93088698387 -0.687192484736 -2.94814580679 -0.687201619148 -2.96735984087 -0.68719150126 -2.98657548427 -0.687173336744 -3.00383448601 -0.687157273292 -3.02109283209 -0.687143325805 -3.03835093975 -0.687131494284 -3.05560851097 -0.68712182343 -3.07286596298 -0.687114328146 -3.09012305737 -0.687109038234 -3.10738009214 -0.687105849385 -3.12463676929 -0.687104821205 --3.14129170974 -0.687105953693 --3.12403506041 -0.687109276652 --3.10677820444 -0.687114730478 --3.08952134848 -0.687122255564 --3.07226413488 -0.687132000923 --3.05500686169 -0.687143951655 --3.03774905205 -0.687157958746 --3.0204910636 -0.687174111605 --3.0032324791 -0.687192469835 --2.98597359657 -0.687201619148 --2.96675956249 -0.68719150126 --2.94754391909 -0.687173336744 --2.93028491735 -0.687157258391 --2.91302657128 -0.687143310904 --2.89576840401 -0.687131509185 --2.87851089239 -0.687121868134 --2.86125349999 -0.687114357948 --2.8439964056 -0.687109038234 --2.82673937082 -0.687105849385 --2.80948269367 -0.687104821205 --2.79222589731 -0.687105953693 --2.77496922016 -0.687109261751 --2.75771224499 -0.687114670873 --2.74045544863 -0.687122255563 --2.72319823504 -0.687132030725 --2.70594090224 -0.68714389205 --2.6886832118 -0.687157914042 --2.67142528296 -0.687174111605 --2.65416669846 -0.687192469835 --2.63690781593 -0.687201634049 --2.61769378185 -0.687191516161 --2.59847813845 -0.687173306942 --2.58121913672 -0.68715724349 --2.56396073103 -0.687143325805 --2.54670256376 -0.687131524086 --2.52944499254 -0.687121883035 --2.51218754053 -0.687114357948 --2.49493056536 -0.687109038234 --2.47767353058 -0.687105849385 --2.46041679382 -0.687104836106 --2.44315993786 -0.687105968595 --2.42590332031 -0.687109261751 --2.40864646435 -0.687114670873 --2.39138960838 -0.687122255563 --2.37413239479 -0.687132030725 --2.35687512159 -0.68714389205 --2.33961737156 -0.687157914042 --2.32235944271 -0.687174126506 --2.30510085821 -0.687192484736 --2.28784197569 -0.687201619148 --2.26862800121 -0.68719150126 --2.24941235781 -0.687173306942 --2.23215323686 -0.687157228589 --2.21489483118 -0.687143310904 --2.19763672352 -0.687131494284 --2.1803791523 -0.687121868134 --2.16312175989 -0.687114357949 --2.14586478472 -0.687109023333 --2.12860774994 -0.687105849385 --2.11135101318 -0.687104821205 --2.09409415722 -0.687105953693 --2.07683748007 -0.687109261751 --2.0595806241 -0.687114670873 --2.04232376814 -0.687122255563 --2.02506655455 -0.687132030725 --2.00780931115 -0.687143906951 --1.99055153131 -0.687157928944 --1.97329357266 -0.687174126506 --1.95603498816 -0.687192484736 --1.93877610564 -0.687201619148 --1.91956210136 -0.68719150126 --1.90034642816 -0.687173306942 --1.88308736682 -0.68715724349 --1.86582902074 -0.687143325805 --1.84857091308 -0.687131479383 --1.83131334186 -0.687121838331 --1.81405588985 -0.687114357948 --1.79679888487 -0.687109038234 --1.77954187989 -0.687105849385 --1.76228514313 -0.687104836106 --1.74502831697 -0.687105968595 --1.72777166963 -0.687109261751 --1.71051475406 -0.687114670873 --1.69325792789 -0.687122225761 --1.6760007143 -0.687132000923 --1.6587434411 -0.687143921852 --1.64148566127 -0.687157988548 --1.62422767282 -0.687174171209 --1.60696908832 -0.687192469835 --1.5897102356 -0.687201604247 --1.57049623132 -0.68719150126 --1.55128058791 -0.687173321843 --1.53402155638 -0.68715724349 --1.51676318049 -0.687143325806 --1.49950507283 -0.687131509185 --1.48224750161 -0.687121868134 --1.4649900496 -0.687114357949 --1.44773301482 -0.687109023333 --1.43047600985 -0.687105849385 --1.41321930289 -0.687104836106 --1.39596244693 -0.687105968595 --1.37870579958 -0.687109261751 --1.36144888401 -0.687114670873 --1.34419205785 -0.687122255563 --1.32693487406 -0.687132015824 --1.30967757106 -0.68714389205 --1.29241979122 -0.687157928944 --1.27516186237 -0.687174126506 --1.25790330767 -0.687192484736 --1.24064442515 -0.687201619148 --1.22143039107 -0.68719150126 --1.20221471787 -0.687173306942 --1.18495568633 -0.68715724349 --1.16769731045 -0.687143325805 --1.15043917299 -0.687131479383 --1.13318160176 -0.687121853233 --1.11592414975 -0.687114357949 --1.09866717458 -0.687109023333 --1.08141019941 -0.687105849385 --1.06415346265 -0.687104836106 --1.04689660668 -0.687105953693 --1.02963995933 -0.68710924685 --1.01238307357 -0.687114685774 --0.995126232505 -0.687122270464 --0.97786898911 -0.687132030725 --0.960611715913 -0.68714389205 --0.943353980779 -0.687157914042 --0.926096007228 -0.687174111605 --0.908837422728 -0.687192440033 --0.891578555107 -0.687201604247 --0.872364521026 -0.687191516161 --0.853148862719 -0.687173306942 --0.835889816284 -0.68715724349 --0.818631440401 -0.687143325805 --0.801373332739 -0.687131524086 --0.784115791321 -0.687121883035 --0.766858369112 -0.687114343047 --0.749601334333 -0.687109023333 --0.732344299555 -0.687105849385 --0.715087577701 -0.687104836106 --0.697830751538 -0.687105968595 --0.680574119091 -0.687109276652 --0.663317218423 -0.687114685774 --0.646060362458 -0.687122255563 --0.628803148866 -0.687132030725 --0.611545875669 -0.687143936753 --0.594288110733 -0.687157958746 --0.577030166984 -0.687174111605 --0.559771612287 -0.687192454934 --0.542512714863 -0.687201604247 --0.523298665881 -0.68719150126 --0.504083022475 -0.687173306942 --0.486823998391 -0.687157228589 --0.469565622508 -0.687143310904 --0.452307499945 -0.687131494284 --0.435049936175 -0.687121868134 --0.417792491615 -0.68711437285 --0.400535471737 -0.687109038234 --0.38327845186 -0.687105849385 --0.366021730006 -0.687104836106 --0.348764896393 -0.687105968595 --0.331508271396 -0.687109261751 --0.314251363277 -0.687114670873 --0.296994507312 -0.687122255563 --0.279737308621 -0.687132030725 --0.262480035424 -0.68714389205 --0.245222255587 -0.687157914042 --0.227964304388 -0.687174126506 --0.21070574224 -0.687192484736 --0.193446863443 -0.687201619148 --0.174232833087 -0.704305842519 --0.155011326074 -0.704287335276 --0.137752261013 -0.7042709589 --0.120493872091 -0.704256787896 --0.103235736489 -0.704244732857 --0.0859781373292 -0.704234868288 --0.0687206638977 -0.704227253795 --0.0514636253938 -0.704221844673 --0.0342065840959 -0.704218581319 --0.0169498482719 -0.70421756804 -0.000307010719552 -0.70421873033 -0.0175636874046 -0.704222068191 -0.0348206120543 -0.704227626324 -0.0520774787292 -0.704235345125 -0.0693347118795 -0.704245239496 -0.0865920111537 -0.704257383942 -0.103849809617 -0.704271674156 -0.121107788756 -0.704288125038 -0.138366378844 -0.704306811094 -0.155625283718 -0.70431612432 -0.174839086831 -0.704305842519 -0.194054525345 -0.704287335276 -0.211313594133 -0.7042709589 -0.228571981192 -0.704256758094 -0.245830111206 -0.704244732857 -0.263087704777 -0.704234927893 -0.28034517169 -0.704227253795 -0.297602213919 -0.704221814871 -0.314859263599 -0.704218581319 -0.332116000355 -0.70421756804 -0.349372863769 -0.70421873033 -0.36662954092 -0.704222068191 -0.383886471391 -0.704227596521 -0.401143342257 -0.704235345125 -0.418400578201 -0.704245269299 -0.435657858849 -0.70425735414 -0.452915631235 -0.704271644354 -0.470173627138 -0.704288125038 -0.487432233989 -0.704306811094 -0.504691123963 -0.70431612432 -0.523904919625 -0.704305842519 -0.543120369315 -0.704287305474 -0.560379430652 -0.704270929098 -0.577637821436 -0.704256758094 -0.594895973802 -0.704244732857 -0.612153559923 -0.704234927893 -0.629411041737 -0.704227253795 -0.646668076515 -0.704221814871 -0.663925111294 -0.704218611121 -0.681181848049 -0.704217597842 -0.698438704014 -0.70421873033 -0.715695396066 -0.704222068191 -0.732952311635 -0.704227596521 -0.750209182501 -0.704235345125 -0.767466425896 -0.704245269299 -0.784723713994 -0.70425735414 -0.801981508732 -0.704271644354 -0.819239497185 -0.704288125038 -0.836498081684 -0.704306811094 -0.853756994009 -0.70431612432 -0.872970804572 -0.704305842519 -0.892186224461 -0.704287305474 -0.909445270896 -0.704270929098 -0.92670366168 -0.704256758094 -0.943961828947 -0.704244703055 -0.961219444871 -0.70423489809 -0.978476896882 -0.704227253795 -0.995733916759 -0.704221844673 -1.01299095154 -0.704218611121 -1.03024768829 -0.70421756804 -1.04750457406 -0.70421873033 -1.06476125121 -0.704222068191 -1.08201816678 -0.704227596521 -1.09927505255 -0.704235345125 -1.11653229594 -0.704245269299 -1.13378959894 -0.70425735414 -1.15104737878 -0.704271644354 -1.16830533743 -0.704288125038 -1.18556392193 -0.704306811094 -1.20282280445 -0.70431612432 -1.22203662991 -0.704305842519 -1.24125209451 -0.704287305474 -1.25851112604 -0.704270929098 -1.27576953172 -0.704256787896 -1.29302769899 -0.704244732857 -1.31028527021 -0.70423489809 -1.32754275203 -0.704227253795 -1.34479981661 -0.704221814871 -1.36205685139 -0.704218581319 -1.37931355834 -0.704217538237 -1.3965703845 -0.704218700528 -1.41382706166 -0.704222068191 -1.43108400702 -0.704227596521 -1.44834089279 -0.704235315323 -1.46559813619 -0.704245239496 -1.48285540938 -0.704257383942 -1.50011318922 -0.704271703958 -1.51737117767 -0.70428815484 -1.53462979198 -0.704306840896 -1.5518887043 -0.704316154122 -1.57110249996 -0.704305842519 -1.59031793475 -0.704287305474 -1.60757699609 -0.704270899296 -1.62483537197 -0.704256728291 -1.64209350943 -0.704244703055 -1.65935111046 -0.70423489809 -1.67660856247 -0.704227253795 -1.69386559725 -0.704221814871 -1.71112266183 -0.704218581319 -1.72837942839 -0.70421756804 -1.74563628435 -0.70421873033 -1.7628929615 -0.704222097993 -1.78014987707 -0.704227626324 -1.79740673303 -0.704235345125 -1.81466397643 -0.704245269299 -1.83192127943 -0.70425735414 -1.84917908907 -0.704271644354 -1.86643707752 -0.704288125038 -1.88369566202 -0.704306811094 -1.90095457435 -0.70431612432 -1.92016837001 -0.704305842519 -1.939383775 -0.704287305474 -1.95664280653 -0.704270929098 -1.97390121221 -0.704256758094 -1.99115937948 -0.704244703055 -2.0084169209 -0.70423489809 -2.02567440271 -0.704227253795 -2.0429314971 -0.704221844673 -2.06018853188 -0.704218611121 -2.07744526863 -0.704217538237 -2.09470212459 -0.704218700528 -2.11195880174 -0.704222068191 -2.12921571731 -0.704227596521 -2.14647257328 -0.704235345125 -2.16372984648 -0.704245269299 -2.18098717928 -0.70425735414 -2.19824492931 -0.704271644354 -2.21550285816 -0.704288125038 -2.23276144266 -0.704306781292 -2.25002032518 -0.704316094518 -2.26923412084 -0.704305842519 -2.28844958544 -0.704287305474 -2.30570870638 -0.704270929098 -2.32296711207 -0.704256758094 -2.34022521973 -0.704244732857 -2.35748285055 -0.704234927893 -2.37474030256 -0.704227253795 -2.39199727774 -0.704221844673 -2.40925437212 -0.704218611121 -2.42651110888 -0.704217538237 -2.44376790524 -0.704218700528 -2.46102458238 -0.704222068191 -2.47828155756 -0.704227596521 -2.49553847313 -0.704235345125 -2.51279568672 -0.704245269299 -2.53005295992 -0.704257383942 -2.54731076956 -0.704271674156 -2.56456869841 -0.704288125038 -2.5818272829 -0.704306811094 -2.59908628464 -0.70431612432 -2.6183000803 -0.704305842519 -2.63751548529 -0.704287305474 -2.65477454663 -0.704270929098 -2.67203295231 -0.704256758094 -2.68929111958 -0.704244703055 -2.7065486908 -0.70423489809 -2.7238060832 -0.704227253795 -2.74106311798 -0.704221844673 -2.75832021236 -0.704218611121 -2.77557700872 -0.70421756804 -2.79283386469 -0.70421873033 -2.81009048224 -0.704222068191 -2.82734739781 -0.704227596521 -2.84460425377 -0.704235345125 -2.86186146736 -0.704245269299 -2.87911874056 -0.70425735414 -2.8963765502 -0.704271644354 -2.91363459825 -0.704288125038 -2.93089324236 -0.704306811094 -2.94815212488 -0.70431612432 -2.96736592055 -0.704305842519 -2.98658132553 -0.704287335276 -3.00384038687 -0.7042709589 -3.02109879255 -0.704256787896 -3.03835690021 -0.704244732857 -3.05561447143 -0.704234868288 -3.07287198305 -0.704227253795 -3.09012907743 -0.704221844673 -3.10738605261 -0.704218581319 -3.12464278936 -0.70421756804 --3.14128563006 -0.70421873033 --3.12402898073 -0.704222068191 --3.10677206516 -0.704227626324 --3.0895152092 -0.704235345125 --3.07225799561 -0.704245239496 --3.05500072241 -0.704257383942 --3.03774291277 -0.704271674156 --3.02048486471 -0.704288125038 --3.00322622061 -0.704306811094 --2.98596733809 -0.70431612432 --2.96675354242 -0.704305842519 --2.94753807783 -0.704287335276 --2.93027901649 -0.7042709589 --2.91302067041 -0.704256758094 --2.89576250315 -0.704244732857 --2.87850493193 -0.704234927893 --2.86124747992 -0.704227253795 --2.84399038553 -0.704221814871 --2.82673335075 -0.704218581319 --2.809476614 -0.70421756804 --2.79221975803 -0.70421873033 --2.77496308088 -0.704222068191 --2.75770616531 -0.704227596521 --2.74044930935 -0.704235345125 --2.72319203615 -0.704245269299 --2.70593470335 -0.70425735414 --2.68867695332 -0.704271644354 --2.67141902447 -0.704288125038 --2.65416043997 -0.704306811094 --2.63690155745 -0.70431612432 --2.61768776179 -0.704305842519 --2.59847229719 -0.704287305474 --2.58121323586 -0.704270929098 --2.56395483017 -0.704256758094 --2.5466966629 -0.704244732857 --2.52943909168 -0.704234927893 --2.51218163967 -0.704227253795 --2.49492460489 -0.704221814871 --2.47766751051 -0.704218611121 --2.46041077376 -0.704217597842 --2.44315391779 -0.70421873033 --2.42589724064 -0.704222068191 --2.40864032507 -0.704227596521 --2.39138346911 -0.704235345125 --2.37412625551 -0.704245269299 --2.35686892271 -0.70425735414 --2.33961111307 -0.704271644354 --2.32235312462 -0.704288125038 --2.30509454012 -0.704306811094 --2.2878356576 -0.70431612432 --2.26862186194 -0.704305842519 --2.24940645695 -0.704287305474 --2.23214739561 -0.704270929098 --2.21488898992 -0.704256758094 --2.19763082266 -0.704244703055 --2.18037319183 -0.70423489809 --2.16311579943 -0.704227253795 --2.14585882425 -0.704221844673 --2.12860172987 -0.704218611121 --2.11134499311 -0.70421756804 --2.09408813715 -0.70421873033 --2.0768314004 -0.704222068191 --2.05957448483 -0.704227596521 --2.04231762886 -0.704235345125 --2.02506041527 -0.704245269299 --2.00780314207 -0.70425735414 --1.99054533243 -0.704271644354 --1.97328734398 -0.704288125038 --1.95602872968 -0.704306811094 --1.93876981735 -0.70431612432 --1.91955602169 -0.704305842519 --1.9003405869 -0.704287305474 --1.88308152556 -0.704270929098 --1.86582314968 -0.704256787896 --1.84856501222 -0.704244732857 --1.83130741119 -0.70423489809 --1.81404995918 -0.704227253795 --1.79679292441 -0.704221814871 --1.77953585983 -0.704218581319 --1.76227909327 -0.704217538237 --1.7450222373 -0.704218700528 --1.72776556015 -0.704222068191 --1.71050864458 -0.704227596521 --1.69325178862 -0.704235315323 --1.67599454522 -0.704245239496 --1.65873724222 -0.704257383942 --1.64147943258 -0.704271703958 --1.62422144413 -0.70428815484 --1.60696285963 -0.704306840896 --1.5897039473 -0.704316154122 --1.57049015164 -0.704305842519 --1.55127474666 -0.704287305474 --1.53401565552 -0.704270899296 --1.51675724983 -0.704256728291 --1.49949914217 -0.704244703055 --1.48224154115 -0.70423489809 --1.46498405933 -0.704227253795 --1.44772702456 -0.704221814871 --1.43046998978 -0.704218581319 --1.41321325302 -0.70421756804 --1.39595636726 -0.70421873033 --1.3786997199 -0.704222097993 --1.36144280433 -0.704227626324 --1.34418591857 -0.704235345125 --1.32692867518 -0.704245269299 --1.30967134237 -0.70425735414 --1.29241356254 -0.704271644354 --1.27515560389 -0.704288125038 --1.25789701939 -0.704306811094 --1.24063813686 -0.70431612432 --1.2214243412 -0.704305842519 --1.20220887661 -0.704287305474 --1.18494981527 -0.704270929098 --1.16769140959 -0.704256758094 --1.15043324232 -0.704244703055 --1.1331756711 -0.70423489809 --1.11591821909 -0.704227253795 --1.09866118431 -0.704221844673 --1.08140414953 -0.704218611121 --1.06414741278 -0.704217538237 --1.04689055681 -0.704218700528 --1.02963387966 -0.704222068191 --1.01237693429 -0.704227596521 --0.995120078324 -0.704235345125 --0.97786283493 -0.704245269299 --0.960605531931 -0.70425735414 --0.943347752094 -0.704271644354 --0.92608974874 -0.704288125038 --0.90883114934 -0.704306781292 --0.891572266817 -0.704316094518 --0.872358486056 -0.704305842519 --0.853143036365 -0.704287305474 --0.835883945227 -0.704270929098 --0.818625554442 -0.704256758094 --0.801367402077 -0.704244732857 --0.784109815955 -0.704234927893 --0.766852378845 -0.704227253795 --0.749595344066 -0.704221844673 --0.732338294387 -0.704218611121 --0.71508154273 -0.704217538237 --0.697824701667 -0.704218700528 --0.680568039417 -0.704222068191 --0.663311108947 -0.704227596521 --0.64605422318 -0.704235345125 --0.628796964884 -0.704245269299 --0.611539676786 -0.704257383942 --0.594281882048 -0.704271674156 --0.577023908496 -0.704288125038 --0.559765338898 -0.704306811094 --0.542506426573 -0.70431612432 --0.52329261601 -0.704305842519 --0.504077188671 -0.704287305474 --0.486818127334 -0.704270929098 --0.46955973655 -0.704256758094 --0.452301584184 -0.704244703055 --0.435043983162 -0.70423489809 --0.417786516249 -0.704227253795 --0.400529466569 -0.704221844673 --0.38327242434 -0.704218611121 --0.366015687585 -0.70421756804 --0.34875882417 -0.70421873033 --0.33150216192 -0.704222068191 --0.3142452389 -0.704227596521 --0.296988360584 -0.704235345125 --0.279731124639 -0.704245269299 --0.262473829091 -0.70425735414 --0.245216034353 -0.704271644354 --0.227958064526 -0.704288125038 --0.210699480027 -0.704306811094 --0.193440571427 -0.70431612432 --0.174226764589 -0.721457719803 --0.155005641282 -0.721438854933 --0.137746550143 -0.721422210336 --0.120488140732 -0.721407815814 --0.103229979053 -0.721395537257 --0.0859723538161 -0.721385493875 --0.0687148580328 -0.721377745271 --0.0514577981084 -0.72137221694 --0.0342007325962 -0.721368923783 --0.0169439713936 -0.721367910504 -0.000312911346555 -0.721369072795 -0.0175696124788 -0.721372455358 -0.0348265599459 -0.721378102899 -0.0520834485069 -0.721385985613 -0.0693407095969 -0.721396058798 -0.0865980368107 -0.721408382058 -0.103855855763 -0.721422940492 -0.121113857254 -0.7214397192 -0.138372477144 -0.72145870328 -0.15563140437 -0.721468180418 -0.17484498769 -0.721457719803 -0.194060206413 -0.721438854933 -0.211319293827 -0.721422210336 -0.228577710688 -0.721407786012 -0.24583587423 -0.721395522356 -0.263093493879 -0.721385508776 -0.280350990593 -0.721377715469 -0.297608062625 -0.72137221694 -0.314865127206 -0.721368923783 -0.332121878862 -0.721367880702 -0.349378757178 -0.721369072795 -0.366635464132 -0.721372455358 -0.383892416954 -0.721378102899 -0.401149310172 -0.721385985613 -0.418406575918 -0.721396058798 -0.435663886368 -0.721408382058 -0.452921688557 -0.721422940492 -0.470179699362 -0.721439689398 -0.487438321114 -0.721458673477 -0.504697240889 -0.721468180418 -0.523910835385 -0.721457719803 -0.543126061559 -0.721438854933 -0.560385137796 -0.721422210336 -0.577643558383 -0.721407786012 -0.594901740551 -0.721395522356 -0.612159341574 -0.721385508776 -0.629416838288 -0.721377715469 -0.64667391777 -0.72137221694 -0.66393096745 -0.721368953585 -0.681187719107 -0.721367910504 -0.698444604874 -0.721369072795 -0.715701311827 -0.721372455358 -0.732958257198 -0.721378102899 -0.750215142965 -0.721385985613 -0.767472401261 -0.721396058798 -0.784729719162 -0.721408382058 -0.801987543702 -0.721422940492 -0.819245576858 -0.721439689398 -0.836504191161 -0.721458673477 -0.853763103485 -0.721468180418 -0.872976705432 -0.721457749605 -0.892191916704 -0.721438884735 -0.909450978041 -0.721422210336 -0.926709383726 -0.721407786012 -0.943967565894 -0.721395522356 -0.961225211621 -0.721385508776 -0.978482693434 -0.721377745271 -0.995739743113 -0.721372276544 -1.01299679279 -0.721368983388 -1.03025355935 -0.721367910504 -1.04751047492 -0.721369072795 -1.06476718188 -0.721372455358 -1.08202412725 -0.721378102899 -1.09928101301 -0.721385985613 -1.11653828621 -0.7213960886 -1.13379561901 -0.72140841186 -1.15105342865 -0.721422940492 -1.1683114171 -0.721439689398 -1.1855700314 -0.72145870328 -1.20282894373 -0.721468210221 -1.22204253078 -0.721457749605 -1.24125778675 -0.721438884735 -1.25851684809 -0.721422210336 -1.27577525377 -0.721407815814 -1.29303342104 -0.721395552159 -1.31029102206 -0.721385508776 -1.32754853368 -0.721377715469 -1.34480562806 -0.72137221694 -1.36206269264 -0.721368953585 -1.3793194294 -0.721367880702 -1.39657631516 -0.721369042993 -1.41383302212 -0.721372455358 -1.43108996749 -0.721378102899 -1.44834685325 -0.721385985613 -1.46560409665 -0.721396058798 -1.48286139965 -0.721408382058 -1.50011923909 -0.721422940492 -1.51737725735 -0.721439689398 -1.53463587165 -0.721458733082 -1.55189481378 -0.72146821022 -1.57110840082 -0.72145769 -1.59032359719 -0.721438854933 -1.60758268833 -0.721422150731 -1.62484109402 -0.721407696605 -1.64209926128 -0.721395492554 -1.65935689211 -0.721385508776 -1.67661437393 -0.721377715469 -1.6938714385 -0.72137221694 -1.71112853289 -0.721368953585 -1.72838532925 -0.721367910504 -1.74564218521 -0.721369072795 -1.76289886236 -0.721372485161 -1.78015580773 -0.721378132701 -1.7974126935 -0.721385985613 -1.8146699667 -0.721396058798 -1.8319272995 -0.721408382058 -1.84918510914 -0.721422940492 -1.86644312739 -0.721439689398 -1.88370174169 -0.721458673477 -1.90096065402 -0.721468180418 -1.92017424107 -0.721457749605 -1.93938946724 -0.721438884735 -1.95664852858 -0.721422210336 -1.97390693426 -0.721407786012 -1.99116513133 -0.721395522356 -2.00842273235 -0.721385508776 -2.02568024397 -0.721377745271 -2.04293733835 -0.721372276544 -2.06019443273 -0.721368953585 -2.07745116949 -0.7213678509 -2.09470802546 -0.721369042993 -2.11196476221 -0.721372455358 -2.12922167778 -0.721378102899 -2.14647853374 -0.721385985613 -2.16373580694 -0.721396058798 -2.18099313974 -0.721408382058 -2.19825100899 -0.721422940492 -2.21550899744 -0.721439689398 -2.23276752234 -0.721458673477 -2.25002646446 -0.721468180418 -2.26924008131 -0.721457719803 -2.28845530749 -0.721438854933 -2.30571442842 -0.721422210336 -2.32297283411 -0.721407786012 -2.34023100138 -0.721395522356 -2.3574886322 -0.721385508776 -2.37474608421 -0.721377745271 -2.39200311899 -0.721372246742 -2.40926021337 -0.721368953585 -2.42651700973 -0.721367880702 -2.4437738657 -0.721369042993 -2.46103054285 -0.721372455358 -2.47828751803 -0.721378102899 -2.4955444336 -0.721385985613 -2.51280164719 -0.7213960886 -2.53005897999 -0.72140841186 -2.54731684923 -0.721422940492 -2.56457477808 -0.721439689398 -2.58183336258 -0.721458673477 -2.59909236431 -0.721468180418 -2.61830598116 -0.721457749605 -2.63752120734 -0.721438884735 -2.65478026867 -0.721422210336 -2.67203867435 -0.721407786012 -2.68929684162 -0.721395522356 -2.70655447245 -0.721385538578 -2.72381192446 -0.721377745271 -2.74106901884 -0.721372246742 -2.75832611322 -0.721368953585 -2.77558284998 -0.721367880702 -2.79283976555 -0.721369072795 -2.81009638309 -0.721372455358 -2.82735329866 -0.721378102899 -2.84461021423 -0.721385985613 -2.86186748743 -0.721396058798 -2.87912482023 -0.721408382058 -2.89638262987 -0.721422940492 -2.91364067793 -0.721439689398 -2.93089932203 -0.72145870328 -2.94815820455 -0.721468210221 -2.9673717618 -0.721457719803 -2.98658698797 -0.721438854933 -3.00384610891 -0.721422210336 -3.0211045146 -0.721407815814 -3.03836262226 -0.721395537257 -3.05562025309 -0.721385493875 -3.07287782431 -0.721377745271 -3.09013491869 -0.72137221694 -3.10739189386 -0.721368923783 -3.12464863062 -0.721367910504 --3.1412797292 -0.721369072795 --3.12402302027 -0.721372455358 --3.1067661047 -0.721378102899 --3.08950924874 -0.721385985613 --3.07225197554 -0.721396058798 --3.05499464274 -0.721408382058 --3.03773683309 -0.721422940492 --3.02047878504 -0.7214397192 --3.00322014093 -0.72145870328 --2.98596125841 -0.721468180418 --2.96674770117 -0.721457719803 --2.94753247499 -0.721438854933 --2.93027335405 -0.721422210336 --2.91301494837 -0.721407786012 --2.8957567811 -0.721395522356 --2.87849915028 -0.721385508776 --2.86124163866 -0.721377715469 --2.84398454428 -0.72137221694 --2.8267275095 -0.721368923783 --2.80947077274 -0.721367880702 --2.79221385717 -0.721369072795 --2.77495712042 -0.721372455358 --2.75770020485 -0.721378102899 --2.74044334888 -0.721385985613 --2.72318607569 -0.721396058798 --2.70592874289 -0.721408382058 --2.68867093325 -0.721422940492 --2.67141294479 -0.721439689398 --2.6541543603 -0.721458673477 --2.63689547777 -0.721468180418 --2.61768186092 -0.721457719803 --2.59846657515 -0.721438854933 --2.58120751381 -0.721422210336 --2.56394910812 -0.721407786012 --2.54669088125 -0.721395522356 --2.52943331003 -0.721385508776 --2.51217585802 -0.721377715469 --2.49491876364 -0.72137221694 --2.47766166926 -0.721368953585 --2.4604049325 -0.721367910504 --2.44314807653 -0.721369072795 --2.42589133978 -0.721372455358 --2.40863436461 -0.721378102899 --2.39137750864 -0.721385985613 --2.37412029505 -0.721396058798 --2.35686296225 -0.721408382058 --2.339605093 -0.721422940492 --2.32234704494 -0.721439689398 --2.30508846044 -0.721458673477 --2.28782951832 -0.721468180418 --2.26861590147 -0.721457749605 --2.2494007349 -0.721438884735 --2.23214167357 -0.721422210336 --2.21488326788 -0.721407786012 --2.19762510061 -0.721395522356 --2.18036741018 -0.721385508776 --2.16310995817 -0.721377745271 --2.145852983 -0.721372276544 --2.12859588862 -0.721368983388 --2.11133909226 -0.721367910504 --2.09408223629 -0.721369072795 --2.07682555914 -0.721372455358 --2.05956858396 -0.721378102899 --2.0423116684 -0.721385985613 --2.0250543952 -0.7213960886 --2.0077970624 -0.72140841186 --1.99053925276 -0.721422940492 --1.9732812643 -0.721439689398 --1.9560226202 -0.72145870328 --1.93876367807 -0.721468210221 --1.91955009103 -0.721457749605 --1.90033489466 -0.721438884735 --1.88307583332 -0.721422210336 --1.86581739783 -0.721407815814 --1.84855923057 -0.721395552159 --1.83130159974 -0.721385508776 --1.81404411793 -0.721377715469 --1.79678708315 -0.72137221694 --1.77952998877 -0.721368953585 --1.76227319241 -0.721367880702 --1.74501633644 -0.721369042993 --1.72775965929 -0.721372455358 --1.71050271392 -0.721378102899 --1.69324582815 -0.721385985613 --1.67598855495 -0.721396058798 --1.65873122215 -0.721408382058 --1.64147341252 -0.721422940492 --1.62421539426 -0.721439689398 --1.60695677996 -0.721458733082 --1.58969783783 -0.72146821022 --1.57048425078 -0.72145769 --1.55126905442 -0.721438854933 --1.53400993347 -0.721422150731 --1.51675152778 -0.721407696605 --1.49949339032 -0.721395492554 --1.4822357595 -0.721385508776 --1.46497824788 -0.721377715469 --1.4477211833 -0.72137221694 --1.43046414852 -0.721368953585 --1.41320741177 -0.721367910504 --1.3959504962 -0.721369072795 --1.37869378924 -0.721372485161 --1.36143684387 -0.721378132701 --1.3441799283 -0.721385985613 --1.32692265511 -0.721396058798 --1.3096653223 -0.721408382058 --1.29240751267 -0.721422940492 --1.27514952421 -0.721439689398 --1.25789090991 -0.721458673477 --1.24063199758 -0.721468180418 --1.22141841054 -0.721457749605 --1.20220315457 -0.721438884735 --1.18494409323 -0.721422210336 --1.16768568754 -0.721407786012 --1.15042752028 -0.721395522356 --1.13316991925 -0.721385508776 --1.11591243744 -0.721377745271 --1.09865537286 -0.721372276544 --1.08139827848 -0.721368953585 --1.06414151192 -0.7213678509 --1.04688462615 -0.721369042993 --1.029627949 -0.721372455358 --1.01237100363 -0.721378102899 --0.995114102958 -0.721385985613 --0.977856829762 -0.721396058798 --0.960599496961 -0.721408382058 --0.943341672421 -0.721422940492 --0.926083654165 -0.721439689398 --0.908825054765 -0.721458673477 --0.89156614244 -0.721468180418 --0.872352585196 -0.721457719803 --0.853137359023 -0.721438854933 --0.835878238082 -0.721422210336 --0.818619832396 -0.721407786012 --0.80136166513 -0.721395522356 --0.784104034305 -0.721385508776 --0.766846552491 -0.721377745271 --0.749589502811 -0.721372246742 --0.73233243823 -0.721368953585 --0.715075656772 -0.721367880702 --0.697818785906 -0.721369042993 --0.680562093854 -0.721372455358 --0.663305133581 -0.721378102899 --0.646048247814 -0.721385985613 --0.628790989518 -0.7213960886 --0.611533671618 -0.72140841186 --0.594275847078 -0.721422940492 --0.577017858625 -0.721439689398 --0.559759259224 -0.721458673477 --0.542500331998 -0.721468180418 --0.523286744952 -0.721457749605 --0.504071511329 -0.721438884735 --0.486812420189 -0.721422210336 --0.469553999603 -0.721407786012 --0.452295824886 -0.721395522356 --0.435038216412 -0.721385538578 --0.417780719697 -0.721377745271 --0.400523632765 -0.721372246742 --0.383266568184 -0.721368953585 --0.366009816527 -0.721367880702 --0.34875293076 -0.721369072795 --0.331496231258 -0.721372455358 --0.314239285886 -0.721378102899 --0.296982392669 -0.721385985613 --0.279725134373 -0.721396058798 --0.262467816472 -0.721408382058 --0.245209999383 -0.721422940492 --0.227951999754 -0.721439689398 --0.210693378002 -0.72145870328 --0.19343444705 -0.721468210221 --0.174220867455 -0.738613426686 --0.155000925064 -0.738594263792 --0.137741815299 -0.738577336073 --0.120483381673 -0.738562658429 --0.103225193918 -0.738550201058 --0.0859675537795 -0.738540023565 --0.0687100421637 -0.738532111049 --0.0514529589564 -0.738526508212 --0.0341958724894 -0.738523200154 --0.0169390928931 -0.738522127271 -0.000317810336127 -0.738523289561 -0.0175745317247 -0.738526746631 -0.0348315001466 -0.738532468677 -0.0520884068683 -0.7385404706 -0.0693456884474 -0.7385507375 -0.0866030361503 -0.738563284278 -0.103860871866 -0.738578081131 -0.121118893847 -0.738595172763 -0.138377539813 -0.738614484668 -0.155636489391 -0.738624081016 -0.174849890172 -0.738613426686 -0.194064926356 -0.738594263792 -0.211324028671 -0.738577336073 -0.228582467884 -0.738562658429 -0.245840661228 -0.73855021596 -0.263098299503 -0.738540038467 -0.280355811119 -0.738532111049 -0.297612898052 -0.738526538015 -0.314869977534 -0.738523200154 -0.332126751542 -0.738522127271 -0.349383659661 -0.738523319364 -0.366640388966 -0.738526746631 -0.383897356689 -0.738532468677 -0.401154257357 -0.7385404706 -0.418411538005 -0.7385507375 -0.435668885708 -0.738563284278 -0.452926710248 -0.738578081131 -0.470184743405 -0.738595113158 -0.487443387508 -0.738614425063 -0.504702322185 -0.738624081016 -0.523915737868 -0.738613426686 -0.543130785227 -0.738594263792 -0.560389876365 -0.738577336073 -0.577648326754 -0.738562658429 -0.594906523824 -0.73855021596 -0.612164139748 -0.738540038467 -0.629421666265 -0.738532111049 -0.646678760648 -0.738526538015 -0.66393584013 -0.738523200154 -0.681192621589 -0.738522127271 -0.698449522257 -0.738523319364 -0.71570622921 -0.738526776433 -0.732963189483 -0.738532528281 -0.750220090151 -0.738540500403 -0.767477378249 -0.7385507375 -0.784734740853 -0.738563284278 -0.801992580294 -0.738578081131 -0.819250613451 -0.738595113158 -0.836509242654 -0.738614425063 -0.85376816988 -0.738624081016 -0.872981593013 -0.738613456488 -0.892196640372 -0.738594293594 -0.90945571661 -0.738577336073 -0.926714152098 -0.738562658429 -0.943972349167 -0.73855021596 -0.961229994893 -0.738540038467 -0.978487506509 -0.738532140851 -0.995744600891 -0.738526567817 -1.01300168037 -0.738523229956 -1.03025844693 -0.738522157073 -1.0475153625 -0.738523319364 -1.06477206946 -0.738526746631 -1.08202904463 -0.738532498479 -1.0992859602 -0.738540500403 -1.11654323339 -0.738550767303 -1.133800596 -0.73856331408 -1.15105843544 -0.738578081131 -1.16831645369 -0.738595113158 -1.1855750978 -0.738614454866 -1.20283403993 -0.738624110818 -1.22204744816 -0.738613456488 -1.24126249552 -0.738594293594 -1.25852158666 -0.738577336073 -1.27578002214 -0.738562658429 -1.29303818941 -0.73855021596 -1.31029582023 -0.738540038467 -1.32755336165 -0.738532111049 -1.34481045604 -0.738526538015 -1.36206755042 -0.738523229956 -1.37932431698 -0.738522157073 -1.39658123255 -0.738523319364 -1.4138379693 -0.738526746631 -1.43109491468 -0.738532498479 -1.44835180044 -0.738540500403 -1.46560907364 -0.7385507375 -1.48286640644 -0.738563284278 -1.50012427568 -0.738578110934 -1.51738232374 -0.738595142961 -1.53464093804 -0.738614454866 -1.55189988017 -0.738624081015 -1.5711132884 -0.738613396883 -1.59032833576 -0.738594263792 -1.6075874567 -0.738577306271 -1.62484586239 -0.738562598824 -1.64210402966 -0.738550186157 -1.65936169028 -0.738540038467 -1.6766192019 -0.738532111049 -1.69387629628 -0.738526508212 -1.71113339066 -0.738523200154 -1.72839018703 -0.738522157073 -1.74564707279 -0.738523319364 -1.76290377975 -0.738526776433 -1.78016075492 -0.738532528281 -1.79741767049 -0.738540500403 -1.81467497349 -0.7385507375 -1.83193230629 -0.738563284278 -1.84919011593 -0.738578081131 -1.86644816399 -0.738595113158 -1.88370680809 -0.738614425063 -1.90096572041 -0.738624081016 -1.92017912865 -0.738613456488 -1.939394176 -0.738594293594 -1.95665326715 -0.738577336073 -1.97391170263 -0.738562658429 -1.9911699295 -0.73855021596 -2.00842759013 -0.738540038467 -2.02568507194 -0.738532140851 -2.04294216633 -0.738526567817 -2.06019926071 -0.738523200154 -2.07745599747 -0.738522097468 -2.09471291304 -0.738523289561 -2.11196964979 -0.738526776433 -2.12922662496 -0.738532528281 -2.14648354053 -0.738540500403 -2.16374081373 -0.7385507375 -2.18099814653 -0.738563284278 -2.19825601578 -0.738578110934 -2.21551406384 -0.738595142961 -2.23277264833 -0.738614425063 -2.25003159046 -0.738624081016 -2.26924502849 -0.738613426686 -2.28846007586 -0.738594263792 -2.3057191968 -0.738577336073 -2.32297760248 -0.738562658429 -2.34023576975 -0.73855021596 -2.35749340057 -0.738540038467 -2.37475091219 -0.738532140851 -2.39200800657 -0.738526538015 -2.40926510096 -0.738523200154 -2.42652189732 -0.738522157073 -2.44377875328 -0.738523319364 -2.46103543043 -0.738526746631 -2.4782924056 -0.738532498479 -2.49554938078 -0.738540500403 -2.51280665398 -0.738550767303 -2.53006398678 -0.73856331408 -2.54732185602 -0.738578081131 -2.56457984447 -0.738595113158 -2.58183842897 -0.738614425063 -2.5990973711 -0.738624081016 -2.61831080914 -0.738613456488 -2.63752585649 -0.738594293594 -2.65478497743 -0.738577336073 -2.67204344272 -0.738562658429 -2.68930160999 -0.73855021596 -2.70655924082 -0.738540068269 -2.72381675243 -0.738532140851 -2.74107384682 -0.738526538015 -2.7583309412 -0.738523200154 -2.77558773756 -0.738522097468 -2.79284465313 -0.738523289561 -2.81010133028 -0.738526746631 -2.82735830546 -0.738532498479 -2.84461522103 -0.738540500403 -2.86187249422 -0.7385507375 -2.87912982702 -0.738563284278 -2.89638763666 -0.738578081131 -2.91364568472 -0.738595113158 -2.93090432882 -0.738614454866 -2.94816327095 -0.738624110818 -2.96737664938 -0.738613426686 -2.98659163713 -0.738594263792 -3.00385075808 -0.738577336073 -3.02110922336 -0.738562658429 -3.03836745024 -0.738550201058 -3.05562514067 -0.738540023565 -3.07288265228 -0.738532111049 -3.09013974666 -0.738526508212 -3.10739678144 -0.738523200154 -3.1246535182 -0.738522127271 --3.14127484162 -0.738523289561 --3.12401807308 -0.738526746631 --3.10676109791 -0.738532468677 --3.08950424194 -0.7385404706 --3.07224696875 -0.7385507375 --3.05498963594 -0.738563284278 --3.0377318263 -0.738578081131 --3.02047377825 -0.738595172763 --3.00321507454 -0.738614484668 --2.98595613241 -0.738624081016 --2.96674281359 -0.738613426686 --2.94752776622 -0.738594263792 --2.93026864528 -0.738577336073 --2.9130102396 -0.738562658429 --2.89575201273 -0.73855021596 --2.8784943819 -0.738540038467 --2.86123687029 -0.738532111049 --2.8439797163 -0.738526538015 --2.82672268152 -0.738523200154 --2.80946594477 -0.738522127271 --2.79220896959 -0.738523319364 --2.77495223284 -0.738526746631 --2.75769525767 -0.738532468677 --2.7404384017 -0.7385404706 --2.72318118811 -0.7385507375 --2.7059237957 -0.738563284278 --2.68866592646 -0.738578081131 --2.6714078784 -0.738595113158 --2.65414923429 -0.738614425063 --2.63689035177 -0.738624081016 --2.61767691374 -0.738613426686 --2.59846180678 -0.738594263792 --2.58120274544 -0.738577336073 --2.56394433975 -0.738562658429 --2.54668611288 -0.73855021596 --2.52942848206 -0.738540038467 --2.51217097044 -0.738532111049 --2.49491387606 -0.738526538015 --2.47765684128 -0.738523200154 --2.46040010452 -0.738522127271 --2.44314318895 -0.738523319364 --2.4258864522 -0.738526776433 --2.40862947703 -0.738532528281 --2.39137256146 -0.738540500403 --2.37411528826 -0.7385507375 --2.35685795546 -0.738563284278 --2.33960008621 -0.738578081131 --2.32234203815 -0.738595113158 --2.30508345366 -0.738614425063 --2.28782451153 -0.738624081016 --2.2686110735 -0.738613456488 --2.24939602613 -0.738594293594 --2.23213690519 -0.738577336073 --2.2148784399 -0.738562658429 --2.19762027264 -0.73855021596 --2.18036264181 -0.738540038467 --2.1631051302 -0.738532140851 --2.14584809542 -0.738526567817 --2.12859100103 -0.738523229956 --2.11133414507 -0.738522157073 --2.0940772891 -0.738523319364 --2.07682061195 -0.738526746631 --2.05956363678 -0.738532498479 --2.04230672121 -0.738540500403 --2.02504938841 -0.738550767303 --2.00779205561 -0.73856331408 --1.99053421617 -0.738578081131 --1.97327619791 -0.738595113158 --1.9560175538 -0.738614454866 --1.93875858188 -0.738624110818 --1.91954517365 -0.738613456488 --1.90033015609 -0.738594293594 --1.88307106495 -0.738577336073 --1.86581259966 -0.738562658429 --1.84855443239 -0.73855021596 --1.83129680157 -0.738540038467 --1.81403928995 -0.738532111049 --1.79678222537 -0.738526538015 --1.77952513098 -0.738523229956 --1.76226833462 -0.738522157073 --1.74501144886 -0.738523319364 --1.72775474191 -0.738526746631 --1.71049776673 -0.738532498479 --1.69324085116 -0.738540500403 --1.67598354816 -0.7385507375 --1.65872621536 -0.738563284278 --1.64146840572 -0.738578110934 --1.62421035767 -0.738595142961 --1.60695171356 -0.738614454866 --1.58969277143 -0.738624081015 --1.57047936321 -0.738613396883 --1.55126434565 -0.738594263792 --1.53400522471 -0.738577306271 --1.51674678922 -0.738562598824 --1.49948859215 -0.738550186157 --1.48223096132 -0.738540038467 --1.46497344971 -0.738532111049 --1.44771635532 -0.738526508212 --1.43045929074 -0.738523200154 --1.41320252418 -0.738522157073 --1.39594560861 -0.738523319364 --1.37868887186 -0.738526776433 --1.36143189669 -0.738532528281 --1.34417498112 -0.738540500403 --1.32691770792 -0.7385507375 --1.30966034531 -0.738563284278 --1.29240250588 -0.738578081131 --1.27514451742 -0.738595113158 --1.25788587332 -0.738614425063 --1.24062690139 -0.738624081016 --1.22141349316 -0.738613456488 --1.2021984458 -0.738594293594 --1.18493935466 -0.738577336073 --1.16768091917 -0.738562658429 --1.1504227519 -0.73855021596 --1.13316512108 -0.738540038467 --1.11590760946 -0.738532140851 --1.09865054488 -0.738526567817 --1.0813934505 -0.738523200154 --1.06413665414 -0.738522097468 --1.04687970877 -0.738523289561 --1.02962300181 -0.738526776433 --1.01236605644 -0.738532528281 --0.995109125971 -0.738540500403 --0.977851837873 -0.7385507375 --0.960594490171 -0.738563284278 --0.943336650729 -0.738578110934 --0.926078632474 -0.738595142961 --0.908820003271 -0.738614425063 --0.891561046243 -0.738624081016 --0.872347652912 -0.738613426686 --0.853132620454 -0.738594263792 --0.835873499513 -0.738577336073 --0.818615064025 -0.738562658429 --0.801356881857 -0.73855021596 --0.784099251032 -0.738540038467 --0.766841739416 -0.738532140851 --0.749584659934 -0.738526538015 --0.732327580452 -0.738523200154 --0.715070784092 -0.738522157073 --0.697813883424 -0.738523319364 --0.680557161569 -0.738526746631 --0.663300186395 -0.738532498479 --0.646043285728 -0.738540500403 --0.628786027432 -0.738550767303 --0.61152869463 -0.73856331408 --0.594270840287 -0.738578081131 --0.577012822032 -0.738595113158 --0.559754192829 -0.738614425063 --0.542495250702 -0.738624081016 --0.52328184247 -0.738613456488 --0.50406678021 -0.738594293594 --0.486807666719 -0.738577336073 --0.469549231231 -0.738562658429 --0.452291049063 -0.73855021596 --0.435033418238 -0.738540068269 --0.417775891721 -0.738532140851 --0.400518797338 -0.738526538015 --0.383261710406 -0.738523200154 --0.366004936397 -0.738522097468 --0.34874804318 -0.738523289561 --0.331491321325 -0.738526746631 --0.314234346151 -0.738532498479 --0.296977438033 -0.738540500403 --0.279720164836 -0.7385507375 --0.262462824583 -0.738563284278 --0.245204985142 -0.738578081131 --0.227946959436 -0.738595113158 --0.210688311607 -0.738614454866 --0.193429365754 -0.738624110818 --0.174215972423 -0.755749195814 --0.154996257275 -0.755729719996 --0.137737132609 -0.755712479353 --0.120478669181 -0.755697563291 --0.103220460936 -0.755684927106 --0.085962805897 -0.755674630404 --0.0687052737921 -0.755666583776 --0.0514481673017 -0.755660876632 --0.0341910603456 -0.755657494068 --0.0169342618901 -0.755656376481 -0.000322661362588 -0.755657553673 -0.0175794025418 -0.755661070347 -0.0348363919184 -0.755666926503 -0.0520933205262 -0.755675077438 -0.0693506207317 -0.755685478449 -0.0866079833359 -0.755698218942 -0.103865839541 -0.755713269114 -0.121123885736 -0.755730599165 -0.138382550329 -0.755750223994 -0.155641518534 -0.755759999156 -0.174854744226 -0.755749195814 -0.194069601595 -0.755729719996 -0.211328718811 -0.755712479353 -0.228587180376 -0.755697548389 -0.245845392346 -0.755684912205 -0.263103045523 -0.755674600601 -0.28036057204 -0.755666583776 -0.297617681324 -0.755660906434 -0.314874790609 -0.755657494068 -0.332131586969 -0.755656406283 -0.349388509989 -0.755657583475 -0.366645254195 -0.755661070347 -0.383902251721 -0.755666896701 -0.40115917474 -0.755675047636 -0.418416470289 -0.75568549335 -0.435673840344 -0.755698233843 -0.452931687236 -0.755713269114 -0.470189735293 -0.755730569363 -0.487448394298 -0.755750223994 -0.504707358778 -0.755760028958 -0.523920595646 -0.755749195814 -0.54313544929 -0.755729719996 -0.56039455533 -0.755712479353 -0.577653035521 -0.755697548389 -0.594911247492 -0.755684912205 -0.612168893218 -0.755674600601 -0.629426434636 -0.755666583776 -0.646683514118 -0.755660906434 -0.663940608501 -0.755657494068 -0.681197434664 -0.755656406283 -0.698454365135 -0.755657613278 -0.715711086989 -0.755661129952 -0.732968077064 -0.755666956306 -0.750225007534 -0.755675077439 -0.767482310534 -0.75568549335 -0.784739688039 -0.755698233843 -0.801997557282 -0.755713269114 -0.81925560534 -0.755730569363 -0.836514249444 -0.755750223994 -0.853773206472 -0.755760028958 -0.87298643589 -0.755749195814 -0.892201289534 -0.755729719996 -0.909460395574 -0.755712479353 -0.926718875766 -0.755697548389 -0.943977102637 -0.755684927106 -0.961234733462 -0.755674615503 -0.97849227488 -0.755666583776 -0.995749413968 -0.755660906434 -1.01300650835 -0.755657494068 -1.03026327491 -0.755656406283 -1.04752019048 -0.755657613278 -1.06477692723 -0.755661100149 -1.08203393221 -0.755666926503 -1.09929087758 -0.755675077439 -1.11654815078 -0.75568549335 -1.13380551338 -0.755698233843 -1.15106338263 -0.755713269114 -1.16832143068 -0.755730569363 -1.18558010459 -0.755750194192 -1.20283907652 -0.755759999156 -1.22205230594 -0.755749195814 -1.24126714468 -0.755729719996 -1.25852626562 -0.755712479353 -1.27578476071 -0.755697563291 -1.29304295778 -0.755684927106 -1.31030058861 -0.755674600601 -1.32755813002 -0.755666553974 -1.34481522441 -0.755660876632 -1.3620723486 -0.755657494068 -1.37932917476 -0.755656406283 -1.39658609033 -0.755657583475 -1.41384282708 -0.755661070347 -1.43109980226 -0.755666926503 -1.44835671782 -0.755675047636 -1.46561402082 -0.755685463548 -1.48287138343 -0.755698233843 -1.50012925267 -0.755713298917 -1.51738730073 -0.755730599165 -1.53464594483 -0.755750223994 -1.55190491676 -0.755759999156 -1.57111814618 -0.755749166012 -1.59033301473 -0.755729719996 -1.60759216547 -0.755712479353 -1.62485060096 -0.755697548389 -1.64210876822 -0.755684912205 -1.65936645866 -0.755674600601 -1.67662400007 -0.755666553974 -1.69388109446 -0.755660846829 -1.71113818884 -0.755657464266 -1.7283949852 -0.755656406283 -1.74565193057 -0.755657583475 -1.76290866733 -0.755661100149 -1.7801656425 -0.755666956306 -1.79742258787 -0.755675077439 -1.81467992067 -0.75568549335 -1.83193725348 -0.755698233843 -1.84919509292 -0.755713269114 -1.86645314098 -0.755730569363 -1.88371178508 -0.755750223994 -1.90097075701 -0.755760028958 -1.92018398643 -0.755749195814 -1.93939885497 -0.755729719996 -1.95665797591 -0.755712479353 -1.9739164114 -0.755697563291 -1.99117463827 -0.755684942007 -2.0084323287 -0.755674615503 -2.02568984032 -0.755666583776 -2.0429469347 -0.755660906434 -2.06020402908 -0.755657494068 -2.07746082544 -0.755656376481 -2.09471780062 -0.755657583475 -2.11197453737 -0.755661129952 -2.12923151255 -0.755666956306 -2.14648848772 -0.755675047636 -2.16374582052 -0.755685463548 -2.18100315333 -0.755698233843 -2.19826096297 -0.755713298917 -2.21551901102 -0.755730599165 -2.23277765513 -0.755750223994 -2.25003659725 -0.755760028958 -2.26924985647 -0.755749195814 -2.28846472502 -0.755729719996 -2.30572384596 -0.755712479353 -2.32298225164 -0.755697548389 -2.34024041891 -0.755684912205 -2.35749810934 -0.755674600601 -2.37475568056 -0.755666553974 -2.39201277494 -0.755660876632 -2.40926986933 -0.755657494068 -2.42652666569 -0.755656406283 -2.44378358126 -0.755657613278 -2.46104031801 -0.755661100149 -2.47829729319 -0.755666956305 -2.49555426836 -0.755675107241 -2.51281160116 -0.75568549335 -2.53006893397 -0.755698233843 -2.5473267436 -0.755713269114 -2.56458479166 -0.755730569363 -2.58184349537 -0.755750194192 -2.59910243749 -0.755759999156 -2.61831563711 -0.755749195814 -2.63753050566 -0.755729719996 -2.6547896266 -0.755712479353 -2.67204815149 -0.755697563291 -2.68930631876 -0.755684927106 -2.70656394959 -0.755674600601 -2.72382152081 -0.755666583776 -2.74107861519 -0.755660906434 -2.75833576918 -0.755657494068 -2.77559256554 -0.755656376481 -2.7928494215 -0.755657583475 -2.81010621786 -0.755661100149 -2.82736325264 -0.755666926503 -2.84462010861 -0.755675077439 -2.8618773818 -0.75568549335 -2.87913477421 -0.755698233843 -2.89639264345 -0.755713269114 -2.91365069151 -0.755730569363 -2.93090933561 -0.755750223994 -2.94816827774 -0.755760028958 -2.96738147735 -0.755749195814 -2.9865963459 -0.755729719996 -3.00385546684 -0.755712479353 -3.02111393213 -0.755697563291 -3.03837221861 -0.755684927106 -3.05562990904 -0.755674630404 -3.07288742065 -0.755666583776 -3.09014451503 -0.755660876632 -3.10740160942 -0.755657494068 -3.12465840578 -0.755656376481 --3.14127001365 -0.755657553673 --3.12401324511 -0.755661070347 --3.10675621033 -0.755666926503 --3.08949935436 -0.755675077438 --3.07224208116 -0.755685478449 --3.05498468876 -0.755698218942 --3.03772681952 -0.755713269114 --3.02046877146 -0.755730599165 --3.00321006775 -0.755750223994 --2.98595112562 -0.755759999156 --2.96673798561 -0.755749195814 --2.94752305746 -0.755729719996 --2.93026393652 -0.755712479353 --2.91300553084 -0.755697548389 --2.89574724436 -0.755684912205 --2.87848961353 -0.755674600601 --2.86123210192 -0.755666583776 --2.84397494793 -0.755660906434 --2.82671785355 -0.755657494068 --2.80946105719 -0.755656406283 --2.79220414162 -0.755657583475 --2.77494740486 -0.755661070347 --2.75769037009 -0.755666896701 --2.74043345452 -0.755675047636 --2.72317618132 -0.75568549335 --2.70591878891 -0.755698233843 --2.68866091966 -0.755713269114 --2.67140287161 -0.755730569363 --2.6541442275 -0.755750223994 --2.63688528538 -0.755760028958 --2.61767202616 -0.755749195814 --2.59845715761 -0.755729719996 --2.58119803667 -0.755712479353 --2.56393957138 -0.755697548389 --2.54668140411 -0.755684912205 --2.52942377329 -0.755674600601 --2.51216620207 -0.755666583776 --2.49490910769 -0.755660906434 --2.47765207291 -0.755657494068 --2.46039527655 -0.755656406283 --2.44313830137 -0.755657613278 --2.42588156462 -0.755661129952 --2.40862458945 -0.755666956306 --2.39136761427 -0.755675077439 --2.37411028147 -0.75568549335 --2.35685294866 -0.755698233843 --2.33959513903 -0.755713269114 --2.32233709097 -0.755730569363 --2.30507844687 -0.755750223994 --2.28781950474 -0.755760028958 --2.26860624552 -0.755749195814 --2.24939137697 -0.755729719996 --2.23213225603 -0.755712479353 --2.21487373113 -0.755697548389 --2.19761550426 -0.755684927106 --2.18035793304 -0.755674615503 --2.16310042143 -0.755666583776 --2.14584326744 -0.755660906434 --2.12858617306 -0.755657494068 --2.1113293767 -0.755656406283 --2.09407246113 -0.755657613278 --2.07681572437 -0.755661100149 --2.0595587492 -0.755666926503 --2.04230183363 -0.755675077439 --2.02504450083 -0.75568549335 --2.00778713822 -0.755698233843 --1.99052926898 -0.755713269114 --1.97327122092 -0.755730569363 --1.95601254702 -0.755750194192 --1.93875354528 -0.755759999156 --1.91954034567 -0.755749195814 --1.90032550693 -0.755729719996 --1.88306635618 -0.755712479353 --1.86580789089 -0.755697563291 --1.84854972362 -0.755684927106 --1.83129206299 -0.755674600601 --1.81403452158 -0.755666553974 --1.79677742719 -0.755660876632 --1.77952030301 -0.755657494068 --1.76226350665 -0.755656406283 --1.74500659108 -0.755657583475 --1.72774982453 -0.755661070347 --1.71049284935 -0.755666926503 --1.69323593378 -0.755675047636 --1.67597860098 -0.755685463548 --1.65872123838 -0.755698233843 --1.64146339894 -0.755713298917 --1.62420535088 -0.755730599165 --1.60694670677 -0.755750223994 --1.58968776464 -0.755759999156 --1.57047453523 -0.755749166012 --1.55125966668 -0.755729719996 --1.53400054574 -0.755712479353 --1.51674208045 -0.755697548389 --1.49948385358 -0.755684912205 --1.48222622275 -0.755674600601 --1.46496868133 -0.755666553974 --1.44771155715 -0.755660846829 --1.43045446277 -0.755657464266 --1.41319766641 -0.755656406283 --1.39594075084 -0.755657583475 --1.37868401408 -0.755661100149 --1.3614270091 -0.755666956306 --1.34417006374 -0.755675077439 --1.32691279054 -0.75568549335 --1.30965542793 -0.755698233843 --1.29239755869 -0.755713269114 --1.27513954044 -0.755730569363 --1.25788086653 -0.755750223994 --1.2406218648 -0.755760028958 --1.22140863538 -0.755749195814 --1.20219379663 -0.755729719996 --1.18493467569 -0.755712479353 --1.1676762104 -0.755697563291 --1.15041801333 -0.755684942007 --1.13316035271 -0.755674615503 --1.11590284109 -0.755666583776 --1.09864574671 -0.755660906434 --1.08138862253 -0.755657494068 --1.06413182617 -0.755656376481 --1.04687488079 -0.755657583475 --1.02961814404 -0.755661129952 --1.01236116886 -0.755666956306 --0.995104223489 -0.755675047636 --0.97784692049 -0.755685463548 --0.960589542985 -0.755698233843 --0.943331688643 -0.755713298917 --0.926073655486 -0.755730599165 --0.908815011382 -0.755750223994 --0.891556054354 -0.755760028958 --0.872342824936 -0.755749195814 --0.853127941489 -0.755729719996 --0.835868805647 -0.755712479353 --0.818610370159 -0.755697548389 --0.80135217309 -0.755684912205 --0.784094512462 -0.755674600601 --0.766836971044 -0.755666553974 --0.749579876661 -0.755660876632 --0.732322767377 -0.755657494068 --0.715065956116 -0.755656406283 --0.697809040547 -0.755657613278 --0.680552303791 -0.755661100149 --0.663295313716 -0.755666956305 --0.646038383246 -0.755675107241 --0.628781095147 -0.75568549335 --0.611523747444 -0.755698233843 --0.594265878201 -0.755713269114 --0.577007830143 -0.755730569363 --0.559749171138 -0.755750194192 --0.542490199208 -0.755759999156 --0.52327696979 -0.755749195814 --0.504062086344 -0.755729719996 --0.486802965403 -0.755712479353 --0.469544515014 -0.755697563291 --0.452286317945 -0.755684927106 --0.435028664768 -0.755674600601 --0.417771115899 -0.755666583776 --0.400514006615 -0.755660906434 --0.383256904781 -0.755657494068 --0.366000108421 -0.755656376481 --0.348743192852 -0.755657583475 --0.331486448646 -0.755661100149 --0.31422945112 -0.755666926503 --0.2969725281 -0.755675077439 --0.279715232551 -0.75568549335 --0.262457862496 -0.755698233843 --0.245200004428 -0.755713269114 --0.227941967547 -0.755730569363 --0.210683304817 -0.755750223994 --0.193424340338 -0.755760028958 --0.17421111837 -0.772866845131 --0.15499162674 -0.77284707129 --0.137732483447 -0.772829577327 --0.120474001393 -0.772814452648 --0.103215776384 -0.772801607847 --0.0859580989927 -0.772791147232 --0.0687005463988 -0.772782996297 --0.0514434231445 -0.772777184844 --0.034186297562 -0.772773742676 --0.0169294788502 -0.772772625089 -0.000327464193107 -0.77277380228 -0.0175842251629 -0.772777408361 -0.0348412347957 -0.772783368826 -0.0520981838927 -0.772791624069 -0.0693555017933 -0.772802218795 -0.0866128839552 -0.772815153003 -0.103870760649 -0.772830411792 -0.121128825471 -0.77284796536 -0.13838750869 -0.772867918014 -0.155646495521 -0.772877886891 -0.174859546125 -0.772866874933 -0.194074228406 -0.77284707129 -0.211333364249 -0.772829577327 -0.228591840715 -0.772814437747 -0.245850075036 -0.772801592946 -0.26310775429 -0.772791102528 -0.280365303159 -0.772782966495 -0.297622434795 -0.772777199745 -0.314879566431 -0.772773712873 -0.332136385143 -0.772772595287 -0.349393315613 -0.77277380228 -0.36665007472 -0.772777408361 -0.383907094598 -0.772783339023 -0.401164039969 -0.772791594267 -0.41842135787 -0.772802203894 -0.435678742826 -0.772815138102 -0.45293661207 -0.772830411792 -0.470194675028 -0.77284796536 -0.487453348935 -0.772867918014 -0.504712335765 -0.772877886891 -0.52392539382 -0.772866874933 -0.54314006865 -0.77284707129 -0.560399204493 -0.772829577327 -0.577657699585 -0.772814437747 -0.594915926457 -0.772801592946 -0.612173601985 -0.772791102528 -0.629431158305 -0.772782966495 -0.646688252687 -0.772777199745 -0.663945361972 -0.772773712873 -0.681202203035 -0.772772625089 -0.698459163308 -0.772773861885 -0.715715914965 -0.772777408361 -0.732972919941 -0.772783309221 -0.750229880214 -0.772791594267 -0.767487198115 -0.772802203894 -0.78474457562 -0.772815108299 -0.802002459764 -0.772830381989 -0.819260537624 -0.772847995162 -0.836519211531 -0.772867977619 -0.853778198362 -0.772877916694 -0.872991248965 -0.772866874933 -0.892205923796 -0.77284707129 -0.909465074539 -0.772829577327 -0.92672355473 -0.772814437747 -0.943981796503 -0.772801607847 -0.961239442229 -0.772791132331 -0.978496983647 -0.772782996297 -0.995754122734 -0.772777214646 -1.01301124692 -0.772773742676 -1.03026807308 -0.772772625089 -1.04752498865 -0.772773832083 -1.06478175521 -0.772777408361 -1.08203878999 -0.772783309221 -1.09929573536 -0.772791594267 -1.11655303836 -0.772802203894 -1.13381040096 -0.772815138102 -1.15106827021 -0.772830411792 -1.16832634806 -0.77284796536 -1.18558505177 -0.772867918014 -1.20284405351 -0.772877886891 -1.22205710411 -0.772866874933 -1.24127176404 -0.77284707129 -1.25853091478 -0.772829577327 -1.27578943968 -0.772814452648 -1.29304766655 -0.772801607847 -1.31030532718 -0.772791117429 -1.3275628686 -0.772782951593 -1.34481996298 -0.772777169943 -1.36207708716 -0.772773712873 -1.37933394313 -0.772772595287 -1.3965908885 -0.77277380228 -1.41384762526 -0.772777378559 -1.43110463023 -0.772783309221 -1.4483615756 -0.772791564465 -1.46561890841 -0.772802174091 -1.48287630081 -0.772815138102 -1.50013417005 -0.772830411792 -1.51739221811 -0.772847995162 -1.53465089202 -0.772867977619 -1.55190989375 -0.772877857089 -1.57112294435 -0.772866815328 -1.59033763409 -0.77284707129 -1.60759678483 -0.772829577327 -1.62485525012 -0.772814437747 -1.64211344719 -0.772801592946 -1.65937113762 -0.772791102528 -1.67662870884 -0.772782936692 -1.69388583302 -0.772777169943 -1.71114295721 -0.772773712873 -1.72839975357 -0.772772595287 -1.74565672874 -0.77277380228 -1.7629134953 -0.772777378559 -1.78017047048 -0.772783309221 -1.79742744565 -0.772791594267 -1.81468477845 -0.772802203894 -1.83194214106 -0.772815138102 -1.8492000103 -0.772830411792 -1.86645805836 -0.77284796536 -1.88371673226 -0.772867918014 -1.900975734 -0.772877886891 -1.9201887846 -0.772866874933 -1.93940347433 -0.77284707129 -1.95666262507 -0.772829577327 -1.97392109036 -0.772814452648 -1.99117931724 -0.772801622748 -2.00843697787 -0.772791132331 -2.02569454909 -0.772782981396 -2.04295170307 -0.772777199745 -2.06020879745 -0.772773712873 -2.07746559381 -0.772772595287 -2.09472256899 -0.772773832083 -2.11197936535 -0.772777408361 -2.12923634052 -0.772783309221 -2.1464933157 -0.772791564465 -2.1637506485 -0.772802174091 -2.1810079813 -0.772815138102 -2.19826585054 -0.772830441594 -2.2155238986 -0.772848024965 -2.23278254271 -0.772867977619 -2.25004154444 -0.772877916694 -2.26925462484 -0.772866874933 -2.28846931457 -0.77284707129 -2.30572849512 -0.772829577327 -2.32298696041 -0.772814437747 -2.34024512768 -0.772801592946 -2.35750281811 -0.772791102528 -2.37476038933 -0.772782951594 -2.39201748371 -0.772777184844 -2.40927457809 -0.772773712873 -2.42653143406 -0.772772595287 -2.44378840923 -0.772773832083 -2.46104514599 -0.772777408361 -2.47830218077 -0.772783339023 -2.49555915594 -0.772791624069 -2.51281648874 -0.772802203894 -2.53007382154 -0.772815138102 -2.54733163119 -0.772830411792 -2.56458973885 -0.772847995162 -2.58184850216 -0.772867947817 -2.59910750389 -0.772877857089 -2.61832052469 -0.772866845131 -2.63753515482 -0.77284707129 -2.65479427576 -0.772829577327 -2.67205280065 -0.772814452648 -2.68931102753 -0.772801607847 -2.70656871796 -0.772791117429 -2.72382628918 -0.772782981396 -2.74108338356 -0.772777199745 -2.75834053755 -0.772773742676 -2.77559733391 -0.772772625089 -2.79285424948 -0.772773832083 -2.81011104584 -0.772777408361 -2.82736802101 -0.772783309221 -2.84462493658 -0.772791594267 -2.86188226938 -0.772802203894 -2.87913972139 -0.772815138102 -2.89639765024 -0.772830411792 -2.9136556983 -0.77284796536 -2.9309143424 -0.772867947817 -2.94817328453 -0.772877886891 -2.96738630533 -0.772866845131 -2.98660105467 -0.77284707129 -3.00386017561 -0.772829577327 -3.0211185813 -0.772814452648 -3.03837686777 -0.772801607847 -3.0556345582 -0.772791147232 -3.07289212942 -0.772782996297 -3.09014928341 -0.772777184844 -3.10740637779 -0.772773742676 -3.12466317415 -0.772772625089 --3.14126518567 -0.77277380228 --3.12400841713 -0.772777408361 --3.10675144195 -0.772783368826 --3.08949452639 -0.772791624069 --3.07223719358 -0.772802218795 --3.05497974157 -0.772815153003 --3.03772181273 -0.772830411792 --3.02046376467 -0.77284796536 --3.00320512056 -0.772867918014 --2.98594617843 -0.772877886891 --2.96673315763 -0.772866874933 --2.9475184083 -0.77284707129 --2.93025928736 -0.772829577327 --2.91300088167 -0.772814437747 --2.8957425952 -0.772801592946 --2.87848490477 -0.772791102528 --2.86122733354 -0.772782966495 --2.84397017956 -0.772777199745 --2.82671308518 -0.772773712873 --2.80945628882 -0.772772595287 --2.79219937325 -0.77277380228 --2.77494257689 -0.772777408361 --2.75768554211 -0.772783339023 --2.74042862654 -0.772791594267 --2.72317129374 -0.772802203894 --2.70591390133 -0.772815138102 --2.68865603208 -0.772830411792 --2.67139798403 -0.77284796536 --2.65413933992 -0.772867918014 --2.63688033819 -0.772877886891 --2.61766725778 -0.772866874933 --2.59845256805 -0.77284707129 --2.58119338751 -0.772829577327 --2.56393486262 -0.772814437747 --2.54667669535 -0.772801592946 --2.52941906452 -0.772791102528 --2.5121614933 -0.772782966495 --2.49490439892 -0.772777199745 --2.47764730454 -0.772773712873 --2.46039044857 -0.772772625089 --2.4431334734 -0.772773861885 --2.42587673664 -0.772777408361 --2.40861970186 -0.772783309221 --2.39136272669 -0.772791594267 --2.37410539389 -0.772802203894 --2.35684806109 -0.772815108299 --2.33959025145 -0.772830381989 --2.32233214378 -0.772847995162 --2.30507344008 -0.772867977619 --2.28781443835 -0.772877916694 --2.26860135794 -0.772866874933 --2.24938672781 -0.77284707129 --2.23212760687 -0.772829577327 --2.21486908198 -0.772814437747 --2.1976107955 -0.772801607847 --2.18035316467 -0.772791132331 --2.16309571266 -0.772782996297 --2.14583855867 -0.772777214646 --2.12858140469 -0.772773742676 --2.11132460833 -0.772772625089 --2.09406763315 -0.772773832083 --2.0768108964 -0.772777408361 --2.05955392122 -0.772783309221 --2.04229694605 -0.772791594267 --2.02503961325 -0.772802203894 --2.00778222084 -0.772815138102 --1.99052435159 -0.772830411792 --1.97326627373 -0.77284796536 --1.95600757003 -0.772867918014 --1.9387485683 -0.772877886891 --1.91953554749 -0.772866874933 --1.90032088756 -0.77284707129 --1.88306173682 -0.772829577327 --1.86580327153 -0.772814452648 --1.84854507446 -0.772801607847 --1.83128738403 -0.772791117429 --1.81402981281 -0.772782951593 --1.79677268863 -0.772777169943 --1.77951553464 -0.772773712873 --1.76225873828 -0.772772595287 --1.74500179291 -0.77277380228 --1.72774499655 -0.772777378559 --1.71048802137 -0.772783309221 --1.693231076 -0.772791564465 --1.6759737432 -0.772802174091 --1.6587163508 -0.772815138102 --1.64145845175 -0.772830411792 --1.62420040369 -0.772847995162 --1.60694175959 -0.772867977619 --1.58968278766 -0.772877857089 --1.57046973705 -0.772866815328 --1.55125501752 -0.77284707129 --1.53399586677 -0.772829577327 --1.51673740148 -0.772814437747 --1.49947917461 -0.772801592946 --1.48222151399 -0.772791102528 --1.46496394277 -0.772782936692 --1.44770681858 -0.772777169943 --1.4304496944 -0.772773712873 --1.41319286823 -0.772772595287 --1.39593595266 -0.77277380228 --1.3786791861 -0.772777378559 --1.36142215133 -0.772783309221 --1.34416520595 -0.772791594267 --1.32690790295 -0.772802203894 --1.30965054035 -0.772815138102 --1.29239267111 -0.772830411792 --1.27513459325 -0.77284796536 --1.25787588954 -0.772867918014 --1.24061688781 -0.772877886891 --1.2214038372 -0.772866874933 --1.20218917727 -0.77284707129 --1.18493005633 -0.772829577327 --1.16767156124 -0.772814452648 --1.15041330457 -0.772801622748 --1.13315564394 -0.772791132331 --1.11589813233 -0.772782981396 --1.09864100814 -0.772777199745 --1.08138385415 -0.772773712873 --1.06412702799 -0.772772595287 --1.04687008261 -0.772773832083 --1.02961334586 -0.772777408361 --1.01235634089 -0.772783309221 --0.995099365711 -0.772791564465 --0.97784204781 -0.772802174091 --0.960584655404 -0.772815138102 --0.943326771259 -0.772830441594 --0.926068708301 -0.772848024965 --0.908810049296 -0.772867977619 --0.891551077366 -0.772877916694 --0.872338026762 -0.772866874933 --0.85312333703 -0.77284707129 --0.835864171385 -0.772829577327 --0.818605706096 -0.772814437747 --0.801347494125 -0.772801592946 --0.784089803696 -0.772791102528 --0.766832232475 -0.772782951594 --0.749575123191 -0.772777184844 --0.732318013906 -0.772773712873 --0.715061187744 -0.772772595287 --0.697804257274 -0.772773832083 --0.680547490716 -0.772777408361 --0.663290455937 -0.772783339023 --0.646033510566 -0.772791624069 --0.628776207566 -0.772802203894 --0.611518830061 -0.772815138102 --0.594260945916 -0.772830411792 --0.577002882958 -0.772847995162 --0.559744209051 -0.772867947817 --0.542485207319 -0.772877857089 --0.523272141814 -0.772866845131 --0.504057459533 -0.77284707129 --0.486798331142 -0.772829577327 --0.469539858401 -0.772814452648 --0.45228163898 -0.772801607847 --0.435023963451 -0.772791117429 --0.417766399681 -0.772782981396 --0.400509268046 -0.772777199745 --0.38325214386 -0.772773742676 --0.365995325148 -0.772772625089 --0.348738394678 -0.772773832083 --0.33148163557 -0.772777408361 --0.314224608242 -0.772783309221 --0.296967662871 -0.772791594267 --0.279710352421 -0.772802203894 --0.262452960015 -0.772815138102 --0.24519508332 -0.772830411792 --0.227937027812 -0.77284796536 --0.210678346455 -0.772867947817 --0.19341936335 -0.772877886891 --0.174206312746 -0.792547866702 --0.154985539615 -0.792527735233 --0.137726370245 -0.792509928346 --0.120467867703 -0.792494550348 --0.103209614754 -0.79248149693 --0.0859519094229 -0.792470827698 --0.0686943344772 -0.792462572455 --0.0514371879399 -0.792456686497 --0.034180036746 -0.792453154922 --0.0169231905602 -0.792452037335 -0.000333779025825 -0.792453244328 -0.0175905656069 -0.792456910014 -0.0348476013168 -0.792462930083 -0.0521045764908 -0.792471289634 -0.0693619186059 -0.79248213768 -0.0866193305701 -0.792495310307 -0.103877235204 -0.792510792613 -0.121135320514 -0.792528688908 -0.138394027948 -0.79254899919 -0.155653048307 -0.792559087276 -0.174865867943 -0.792547866702 -0.194080311805 -0.792527735233 -0.21133947745 -0.792509928346 -0.228597979993 -0.792494520545 -0.245856236666 -0.792481467128 -0.263113938272 -0.792470812797 -0.280371509493 -0.79246251285 -0.29762866348 -0.792456641793 -0.314885817468 -0.792453125119 -0.332142665982 -0.792452007532 -0.349399633705 -0.792453244328 -0.366656422615 -0.792456895113 -0.383913457394 -0.792462915182 -0.401170425117 -0.792471289634 -0.41842777282 -0.792482078075 -0.435685180128 -0.792495250702 -0.452943071723 -0.792510792613 -0.470201157033 -0.792528688908 -0.487459868193 -0.792548969388 -0.504718877375 -0.792559057474 -0.523931711912 -0.792547866702 -0.543146178126 -0.792527735233 -0.56040532887 -0.792509928346 -0.577663823962 -0.792494550348 -0.594922080636 -0.79248149693 -0.612179785967 -0.792470812797 -0.629437357188 -0.792462542653 -0.646694496274 -0.792456671596 -0.663951650262 -0.792453125119 -0.681208506226 -0.792452037334 -0.6984654814 -0.792453274131 -0.715722262859 -0.792456865311 -0.732979297638 -0.79246288538 -0.750236287713 -0.792471289634 -0.767493620515 -0.792482078075 -0.784751012921 -0.7924952209 -0.802008911967 -0.792510762811 -0.819267019629 -0.79252871871 -0.836525723338 -0.792549028993 -0.853784739971 -0.792559087276 -0.872997567058 -0.792547866702 -0.892212018371 -0.792527735233 -0.909471198916 -0.792509928346 -0.926729679107 -0.792494550348 -0.94398792088 -0.79248149693 -0.961245626211 -0.792470827698 -0.978503212333 -0.792462542653 -0.995760336516 -0.792456656694 -1.01301750541 -0.792453154922 -1.03027439117 -0.792452007532 -1.04753133655 -0.792453244328 -1.0647881031 -0.792456910014 -1.08204513788 -0.792462900281 -1.09930211305 -0.792471289634 -1.11655944586 -0.792482078075 -1.13381683826 -0.792495250702 -1.15107473731 -0.792510822415 -1.16833284497 -0.79252871871 -1.18559157848 -0.79254899919 -1.20285061002 -0.792559087276 -1.2220634222 -0.792547866702 -1.24127784372 -0.792527735233 -1.25853702426 -0.792509928346 -1.27579554915 -0.792494550348 -1.29305380583 -0.79248149693 -1.31031152606 -0.792470827698 -1.32756909728 -0.792462527751 -1.34482622146 -0.792456641793 -1.36208334565 -0.792453125119 -1.37934020161 -0.79245197773 -1.39659717679 -0.792453244328 -1.41385394335 -0.792456895113 -1.43111100793 -0.792462915182 -1.4483679831 -0.792471319437 -1.46562531591 -0.792482107878 -1.48288273811 -0.792495280504 -1.50014063716 -0.792510792613 -1.51739871502 -0.792528688908 -1.53465741873 -0.79254899919 -1.55191642046 -0.792559087276 -1.57112923265 -0.792547866702 -1.59034371376 -0.792527735233 -1.60760286451 -0.792509928346 -1.6248613596 -0.792494520545 -1.64211961627 -0.792481467128 -1.6593773067 -0.792470812797 -1.67663487792 -0.79246251285 -1.69389206171 -0.792456641793 -1.7111492455 -0.792453125119 -1.72840607166 -0.792452007532 -1.74566304684 -0.792453274131 -1.7629198432 -0.792456895113 -1.78017684817 -0.79246288538 -1.79743382335 -0.792471289634 -1.81469118595 -0.792482078075 -1.83194857836 -0.792495250702 -1.8492064476 -0.792510792613 -1.86646455526 -0.792528688908 -1.88372328878 -0.792548969388 -1.90098229051 -0.792559057474 -1.92019510269 -0.792547866702 -1.93940955401 -0.792527735233 -1.95666873455 -0.792509928346 -1.97392725944 -0.792494550348 -1.99118551612 -0.79248149693 -2.00844317675 -0.792470827698 -2.02570074797 -0.792462527751 -2.04295796156 -0.792456641793 -2.06021511555 -0.792453125119 -2.07747191191 -0.79245197773 -2.09472888708 -0.792453244328 -2.11198568344 -0.792456895113 -2.12924265862 -0.792462915182 -2.14649963379 -0.792471349239 -2.16375702619 -0.792482107878 -2.1810144186 -0.792495250702 -2.19827228785 -0.792510822415 -2.21553039551 -0.79252871871 -2.23278909922 -0.79254899919 -2.25004810095 -0.792559087276 -2.26926094294 -0.792547866702 -2.28847539425 -0.792527735233 -2.3057345748 -0.792509928346 -2.32299309969 -0.792494550348 -2.34025132656 -0.79248149693 -2.35750901699 -0.792470812797 -2.37476664782 -0.792462557554 -2.3920238018 -0.792456686497 -2.40928089619 -0.792453125119 -2.42653775215 -0.792452007532 -2.44379472733 -0.792453244328 -2.46105146408 -0.792456865311 -2.47830855846 -0.79246288538 -2.49556559324 -0.792471289634 -2.51282292605 -0.792482078075 -2.53008025884 -0.792495250702 -2.54733812809 -0.792510792613 -2.56459629536 -0.79252871871 -2.58185499906 -0.792549028993 -2.5991140008 -0.792559057474 -2.61832684279 -0.7925478369 -2.63754123449 -0.792527735233 -2.65480041504 -0.792509928346 -2.67205893993 -0.792494550348 -2.6893171668 -0.79248149693 -2.70657491684 -0.792470827698 -2.72383254766 -0.792462527751 -2.74108964205 -0.792456641793 -2.75834673643 -0.792453154922 -2.7756035924 -0.792452037335 -2.79286056757 -0.792453244328 -2.81011736393 -0.792456865311 -2.82737439871 -0.79246288538 -2.84463137388 -0.792471289634 -2.86188870668 -0.792482078075 -2.87914615869 -0.792495250702 -2.89640408754 -0.792510822415 -2.9136621356 -0.79252871871 -2.93092083931 -0.79254899919 -2.94817984104 -0.792559087276 -2.96739262343 -0.792547866702 -2.98660713434 -0.792527735233 -3.00386631489 -0.792509928346 -3.02112478018 -0.792494550348 -3.03838306665 -0.79248149693 -3.05564075708 -0.792470827698 -3.0728983283 -0.792462572455 -3.09015548229 -0.792456686497 -3.10741263628 -0.792453154922 -3.12466949224 -0.792452037335 --3.14125886758 -0.792453244328 --3.12400209904 -0.792456910014 --3.10674506426 -0.792462930083 --3.08948808909 -0.792471289634 --3.07223075628 -0.79248213768 --3.05497330427 -0.792495310307 --3.03771537542 -0.792510792613 --3.02045732736 -0.792528688908 --3.00319862365 -0.79254899919 --2.98593962193 -0.792559087276 --2.96672683954 -0.792547866702 --2.94751232862 -0.792527735233 --2.93025314808 -0.792509928346 --2.91299468279 -0.792494520545 --2.89573639631 -0.792481467128 --2.87847870588 -0.792470812797 --2.86122113466 -0.79246251285 --2.84396392107 -0.792456641793 --2.82670676708 -0.792453125119 --2.80944997072 -0.792452007532 --2.79219299555 -0.792453244328 --2.77493619919 -0.792456895113 --2.75767922401 -0.792462915182 --2.74042230844 -0.792471289634 --2.72316491604 -0.792482078075 --2.70590746403 -0.792495250702 --2.68864959478 -0.792510792613 --2.67139154672 -0.792528688908 --2.65413284301 -0.792548969388 --2.63687378168 -0.792559057474 --2.61766093969 -0.792547866702 --2.59844648838 -0.792527735233 --2.58118730783 -0.792509928346 --2.56392878294 -0.792494550348 --2.54667055607 -0.79248149693 --2.52941286564 -0.792470812797 --2.51215529442 -0.792462542653 --2.49489814043 -0.792456671596 --2.47764098644 -0.792453125119 --2.46038413048 -0.792452037334 --2.4431271553 -0.792453274131 --2.42587041855 -0.792456865311 --2.40861332416 -0.79246288538 --2.39135628939 -0.792471289634 --2.37409895658 -0.792482078075 --2.35684162378 -0.7924952209 --2.33958375454 -0.792510762811 --2.32232558727 -0.79252871871 --2.30506688356 -0.792549028993 --2.28780788183 -0.792559087276 --2.26859503984 -0.792547866702 --2.24938064813 -0.792527735233 --2.23212152719 -0.792509928346 --2.2148630023 -0.792494550348 --2.19760471583 -0.79248149693 --2.18034696579 -0.792470827698 --2.16308939457 -0.792462542653 --2.14583230019 -0.792456656694 --2.1285751462 -0.792453154922 --2.11131829023 -0.792452007532 --2.09406131506 -0.792453244328 --2.0768045187 -0.792456910014 --2.05954748392 -0.792462900281 --2.04229050875 -0.792471289634 --2.02503317594 -0.792482078075 --2.00777578354 -0.792495250702 --1.99051788449 -0.792510822415 --1.97325977683 -0.79252871871 --1.95600107312 -0.79254899919 --1.93874204159 -0.792559087276 --1.9195291996 -0.792547866702 --1.90031477809 -0.792527735233 --1.88305562735 -0.792509928346 --1.86579713225 -0.792494550348 --1.84853890538 -0.79248149693 --1.83128121495 -0.792470827698 --1.81402361393 -0.792462527751 --1.79676643014 -0.792456641793 --1.77950927615 -0.792453125119 --1.76225244999 -0.79245197773 --1.74499547482 -0.792453244328 --1.72773867846 -0.792456895113 --1.71048167348 -0.792462915182 --1.6932246983 -0.792471319437 --1.6759673357 -0.792482107878 --1.65870991349 -0.792495280504 --1.64145198464 -0.792510792613 --1.62419390678 -0.792528688908 --1.60693523288 -0.79254899919 --1.58967623115 -0.792559087276 --1.57046341896 -0.792547866702 --1.55124893785 -0.792527735233 --1.5339897573 -0.792509928346 --1.51673126221 -0.792494520545 --1.49947300554 -0.792481467128 --1.48221531511 -0.792470812797 --1.46495774389 -0.79246251285 --1.4477006197 -0.792456641793 --1.43044343591 -0.792453125119 --1.41318657994 -0.792452007532 --1.39592963457 -0.792453274131 --1.37867280841 -0.792456895113 --1.36141577363 -0.79246288538 --1.34415882826 -0.792471289634 --1.32690149546 -0.792482078075 --1.30964410305 -0.792495250702 --1.29238620401 -0.792510792613 --1.27512809635 -0.792528688908 --1.25786939263 -0.792548969388 --1.2406103611 -0.792559057474 --1.22139751911 -0.792547866702 --1.2021830976 -0.792527735233 --1.18492394686 -0.792509928346 --1.16766542196 -0.792494550348 --1.15040716529 -0.79248149693 --1.13314947486 -0.792470827698 --1.11589190364 -0.792462527751 --1.09863474965 -0.792456641793 --1.08137759566 -0.792453125119 --1.0641207397 -0.79245197773 --1.04686376452 -0.792453244328 --1.02960699796 -0.792456895113 --1.01234993338 -0.792462915182 --0.995092943311 -0.792471349239 --0.97783562541 -0.792482107878 --0.960578218103 -0.792495250702 --0.943320319057 -0.792510822415 --0.926062226295 -0.79252871871 --0.908803522587 -0.79254899919 --0.891544505954 -0.792559087276 --0.872331678867 -0.792547866702 --0.853117242456 -0.792527735233 --0.835858076811 -0.792509928346 --0.818599566817 -0.792494550348 --0.801341310144 -0.79248149693 --0.784083604813 -0.792470812797 --0.76682600379 -0.792462557554 --0.749568864703 -0.792456686497 --0.732311755419 -0.792453125119 --0.715054914355 -0.792452007532 --0.697797954082 -0.792453244328 --0.680541157722 -0.792456865311 --0.66328407824 -0.79246288538 --0.646027103067 -0.792471289634 --0.628769770265 -0.792482078075 --0.611512362957 -0.792495250702 --0.594254463911 -0.792510792613 --0.576996386052 -0.79252871871 --0.559737697244 -0.792549028993 --0.542478665709 -0.792559057474 --0.523265823722 -0.7925478369 --0.504051372409 -0.792527735233 --0.486792214215 -0.792509928346 --0.469533719122 -0.792494550348 --0.45227547735 -0.79248149693 --0.435017779469 -0.792470827698 --0.417760193348 -0.792462527751 --0.40050303936 -0.792456641793 --0.383245892823 -0.792453154922 --0.365989036858 -0.792452037335 --0.348732069135 -0.792453244328 --0.331475295126 -0.792456865311 --0.314218245447 -0.79246288538 --0.296961262822 -0.792471289634 --0.27970393002 -0.792482078075 --0.262446515262 -0.792495250702 --0.245188612491 -0.792510822415 --0.227930534631 -0.79252871871 --0.210671827197 -0.79254899919 --0.193412814289 -0.792559087276 --0.174199994654 -0.812275022268 --0.154979597777 -0.812254533172 --0.137720398605 -0.81223641336 --0.120461871847 -0.812220796943 --0.103203596547 -0.81220754981 --0.0859458707273 -0.812196701765 --0.0686882687733 -0.81218829751 --0.0514310933649 -0.812182307244 --0.034173917491 -0.812178701162 --0.0169170461595 -0.812177583575 -0.000339948805047 -0.812178820371 -0.0175967605319 -0.812182486057 -0.0348538197577 -0.812188625336 -0.0521108210087 -0.812197178602 -0.0693681910634 -0.812208175659 -0.0866256263107 -0.812221556902 -0.103883558884 -0.812237337232 -0.121141668409 -0.812255561352 -0.138400398195 -0.812276169658 -0.155659448355 -0.812286376953 -0.174872040748 -0.812274992466 -0.194086253643 -0.812254548073 -0.21134544909 -0.812236428261 -0.22860397771 -0.812220737338 -0.245862249285 -0.812207460404 -0.263119973242 -0.81219664216 -0.280377574265 -0.812188208103 -0.297634758055 -0.812182247639 -0.314891934395 -0.812178701162 -0.33214879036 -0.812177583575 -0.349405780435 -0.812178820371 -0.366662606597 -0.812182500958 -0.383919671178 -0.812188640237 -0.401176668703 -0.812197178602 -0.418434046209 -0.812208145857 -0.435691490769 -0.812221497298 -0.452949412167 -0.812237307429 -0.470207504928 -0.812255561352 -0.487466238439 -0.812276169658 -0.504725284874 -0.812286376953 -0.523937895894 -0.812274992466 -0.543152138591 -0.812254548073 -0.560411304236 -0.812236428261 -0.577669814229 -0.81222076714 -0.594928100705 -0.812207520008 -0.612185820937 -0.812196671963 -0.62944342196 -0.812188267708 -0.646700590849 -0.812182307244 -0.663957774639 -0.812178701162 -0.681214675307 -0.812177583575 -0.698471650481 -0.812178820371 -0.715728446841 -0.812182500958 -0.732985526323 -0.812188640237 -0.7502425313 -0.812197178602 -0.767499879003 -0.812208130956 -0.784757301211 -0.812221482396 -0.802015244961 -0.812237307429 -0.819273382425 -0.812255561352 -0.836532101035 -0.812276169658 -0.853791132569 -0.812286376953 -0.873003721237 -0.812274992466 -0.892217949033 -0.812254548073 -0.90947714448 -0.812236428261 -0.926735654473 -0.81222076714 -0.943993926048 -0.812207490206 -0.961251676083 -0.812196671963 -0.978509306908 -0.812188267707 -0.995766475796 -0.812182277441 -1.01302364469 -0.812178701162 -1.03028053045 -0.812177553773 -1.04753753543 -0.812178820371 -1.06479430199 -0.812182545662 -1.08205133676 -0.812188655138 -1.09930837154 -0.812197178602 -1.11656573415 -0.812208130956 -1.13382315636 -0.812221482396 -1.1510810852 -0.812237337232 -1.16833919286 -0.812255591154 -1.18559795618 -0.812276169658 -1.20285701752 -0.812286376953 -1.22206959128 -0.812274992466 -1.24128377438 -0.812254548073 -1.25854298473 -0.812236428261 -1.27580153942 -0.81222076714 -1.2930598259 -0.812207520008 -1.31031754613 -0.812196671963 -1.32757511735 -0.812188237905 -1.34483230114 -0.812182277441 -1.36208948493 -0.812178701162 -1.3793463409 -0.812177553773 -1.39660331607 -0.812178820371 -1.41386014223 -0.812182530761 -1.43111723661 -0.81218867004 -1.44837421179 -0.812197208405 -1.46563157439 -0.812208160758 -1.4828890264 -0.812221512199 -1.50014695525 -0.812237307429 -1.51740506291 -0.812255531549 -1.53466379643 -0.812276124954 -1.55192282796 -0.812286391854 -1.57113540173 -0.812274992466 -1.59034964443 -0.812254503369 -1.60760882497 -0.81223641336 -1.62486734987 -0.812220737338 -1.64212563634 -0.812207490206 -1.65938335657 -0.812196671963 -1.67664095759 -0.812188208103 -1.69389814138 -0.812182247639 -1.71115535498 -0.812178701162 -1.72841224074 -0.812177583575 -1.74566921592 -0.812178879976 -1.76292601228 -0.812182560563 -1.78018307686 -0.812188640237 -1.79744008184 -0.812197178602 -1.81469744444 -0.812208130956 -1.83195486665 -0.812221482396 -1.84921276569 -0.812237307429 -1.86647090316 -0.812255531549 -1.88372966647 -0.812276139855 -1.90098869801 -0.812286376953 -1.92020130158 -0.812274992466 -1.93941554428 -0.812254548073 -1.95667472482 -0.812236428261 -1.97393324971 -0.81222076714 -1.99119153619 -0.812207490206 -2.00844922662 -0.81219664216 -2.02570682764 -0.812188237905 -2.04296404123 -0.812182277441 -2.06022119522 -0.812178701162 -2.07747805119 -0.812177553773 -2.09473508596 -0.812178820371 -2.11199188232 -0.812182530761 -2.1292489171 -0.81218867004 -2.14650589228 -0.812197238207 -2.16376328468 -0.812208160758 -2.18102073669 -0.812221482396 -2.19827860594 -0.812237307429 -2.2155367732 -0.812255531549 -2.23279553652 -0.812276139855 -2.25005453825 -0.812286376953 -2.26926714182 -0.812274962663 -2.28848135471 -0.81225451827 -2.30574053526 -0.812236428261 -2.32299906015 -0.81222076714 -2.34025734663 -0.812207490206 -2.35751509666 -0.81219664216 -2.37477272749 -0.812188267708 -2.39202988148 -0.812182307244 -2.40928703547 -0.812178701162 -2.42654389143 -0.812177583575 -2.4438008666 -0.812178820371 -2.46105766296 -0.812182500958 -2.47831475735 -0.812188640237 -2.49557179213 -0.812197178602 -2.51282912493 -0.812208145857 -2.53008651733 -0.812221497298 -2.54734450579 -0.812237277627 -2.56460267305 -0.812255531549 -2.58186131716 -0.812276154756 -2.59912037849 -0.812286362052 -2.61833298207 -0.812274992466 -2.63754713535 -0.812254548073 -2.65480637551 -0.812236443162 -2.6720649004 -0.812220782042 -2.68932312727 -0.812207490206 -2.70658093691 -0.812196671963 -2.72383856773 -0.812188237905 -2.74109572172 -0.812182247639 -2.75835287571 -0.812178701162 -2.77560973168 -0.812177583575 -2.79286670685 -0.812178820371 -2.81012356281 -0.812182500958 -2.8273806572 -0.812188640237 -2.84463763237 -0.812197178602 -2.86189502477 -0.812208130956 -2.87915247679 -0.812221482396 -2.89641040564 -0.812237337232 -2.91366845369 -0.812255591154 -2.9309271574 -0.812276169658 -2.94818621874 -0.812286406755 -2.96739882231 -0.812275022268 -2.9866130948 -0.812254533172 -3.00387227535 -0.81223641336 -3.02113080025 -0.812220796943 -3.03838908672 -0.81220754981 -3.05564677715 -0.812196701765 -3.07290440798 -0.81218829751 -3.09016156197 -0.812182307244 -3.10741871595 -0.812178701162 -3.12467563152 -0.812177583575 --3.1412527283 -0.812178820371 --3.12399590015 -0.812182486057 --3.10673880577 -0.812188625336 --3.0894818306 -0.812197178602 --3.07222443819 -0.812208175659 --3.05496698618 -0.812221556902 --3.03770905733 -0.812237337232 --3.02045100927 -0.812255561352 --3.00319230557 -0.812276169658 --2.98593324423 -0.812286376953 --2.96672064066 -0.812274992466 --2.94750636816 -0.812254548073 --2.93024718761 -0.812236428261 --2.91298866272 -0.812220737338 --2.89573037624 -0.812207460404 --2.87847268581 -0.81219664216 --2.86121505499 -0.812188208103 --2.8439578414 -0.812182247639 --2.82670068741 -0.812178701162 --2.80944383144 -0.812177583575 --2.79218679667 -0.812178820371 --2.77493000031 -0.812182500958 --2.75767302513 -0.812188640237 --2.74041604996 -0.812197178602 --2.72315859794 -0.812208145857 --2.70590114593 -0.812221497298 --2.68864327669 -0.812237307429 --2.67138516903 -0.812255561352 --2.65412640572 -0.812276169658 --2.63686734438 -0.812286376953 --2.61765474081 -0.812274992466 --2.59844052791 -0.812254548073 --2.58118134737 -0.812236428261 --2.56392282247 -0.81222076714 --2.546664536 -0.812207520008 --2.52940684557 -0.812196671963 --2.51214927435 -0.812188267708 --2.49489206076 -0.812182307244 --2.47763484716 -0.812178701162 --2.46037793159 -0.812177583575 --2.44312095642 -0.812178820371 --2.42586421967 -0.812182500958 --2.40860712528 -0.812188640237 --2.3913500905 -0.812197178602 --2.3740927577 -0.812208130956 --2.3568353653 -0.812221482396 --2.33957743645 -0.812237307429 --2.32231926918 -0.812255561352 --2.30506056547 -0.812276169658 --2.28780156374 -0.812286376953 --2.26858896017 -0.812274992466 --2.24937474727 -0.812254548073 --2.23211556673 -0.812236428261 --2.21485704183 -0.81222076714 --2.19759875536 -0.812207490206 --2.18034094572 -0.812196671963 --2.1630833149 -0.812188267707 --2.14582616091 -0.812182277441 --2.12856900692 -0.812178701162 --2.11131215095 -0.812177553773 --2.09405517578 -0.812178820371 --2.07679837942 -0.812182545662 --2.05954128504 -0.812188655138 --2.04228425026 -0.812197178602 --2.02502685785 -0.812208130956 --2.00776946545 -0.812221482396 --1.9905115664 -0.812237337232 --1.97325342894 -0.812255591154 --1.95599469543 -0.812276169658 --1.93873566389 -0.812286376953 --1.91952306032 -0.812274992466 --1.90030884742 -0.812254548073 --1.88304963708 -0.812236428261 --1.86579111219 -0.81222076714 --1.84853285551 -0.812207520008 --1.83127513528 -0.812196671963 --1.81401753426 -0.812188237905 --1.79676032066 -0.812182277441 --1.77950313687 -0.812178701162 --1.76224628091 -0.812177553773 --1.74498930573 -0.812178820371 --1.72773250938 -0.812182530761 --1.71047544479 -0.81218867004 --1.69321843982 -0.812197208405 --1.67596107721 -0.812208160758 --1.6587036252 -0.812221512199 --1.64144566655 -0.812237307429 --1.62418755889 -0.812255531549 --1.60692885518 -0.812276124954 --1.58966982364 -0.812286391854 --1.57045722008 -0.812274992466 --1.55124297738 -0.812254503369 --1.53398379684 -0.81223641336 --1.51672527194 -0.812220737338 --1.49946698546 -0.812207490206 --1.48220926523 -0.812196671963 --1.46495166421 -0.812188208103 --1.44769451022 -0.812182247639 --1.43043732643 -0.812178701162 --1.41318044067 -0.812177583575 --1.39592343569 -0.812178879976 --1.37866660952 -0.812182560563 --1.36140957474 -0.812188640237 --1.34415259957 -0.812197178602 --1.32689523697 -0.812208130956 --1.30963781476 -0.812221482396 --1.29237988591 -0.812237307429 --1.27512174845 -0.812255531549 --1.25786301494 -0.812276139855 --1.2406039536 -0.812286376953 --1.22139135003 -0.812274992466 --1.20217716694 -0.812254548073 --1.18491795659 -0.812236428261 --1.1676594317 -0.81222076714 --1.15040117502 -0.812207490206 --1.13314342499 -0.81219664216 --1.11588582397 -0.812188237905 --1.09862864017 -0.812182277441 --1.08137145638 -0.812178701162 --1.06411460042 -0.812177553773 --1.04685759544 -0.812178820371 --1.02960076928 -0.812182530761 --1.0123437047 -0.81218867004 --0.995086714625 -0.812197238207 --0.977829366922 -0.812208160758 --0.960571929812 -0.812221482396 --0.943314000964 -0.812237307429 --0.926055878401 -0.812255531549 --0.90879714489 -0.812276139855 --0.891538098455 -0.812286376953 --0.872325509787 -0.812274962663 --0.853111296892 -0.81225451827 --0.835852116346 -0.812236428261 --0.81859357655 -0.81222076714 --0.801335290074 -0.812207490206 --0.784077569842 -0.81219664216 --0.766819939017 -0.812188267708 --0.749562785029 -0.812182307244 --0.732305631041 -0.812178701162 --0.715048760176 -0.812177583575 --0.6977917701 -0.812178820371 --0.680534958839 -0.812182500958 --0.663277879357 -0.812188640237 --0.646020874381 -0.812197178602 --0.628763496876 -0.812208145857 --0.611506059766 -0.812221497298 --0.594248145819 -0.812237277627 --0.576990038157 -0.812255531549 --0.559731319547 -0.812276154756 --0.54247225821 -0.812286362052 --0.523259654641 -0.812274992466 --0.504045434296 -0.812254548073 --0.486786238849 -0.812236443162 --0.469527721405 -0.812220782042 --0.45226944983 -0.812207490206 --0.435011722148 -0.812196671963 --0.417754121125 -0.812188237905 --0.400496944785 -0.812182247639 --0.383239775896 -0.812178701162 --0.365982890129 -0.812177583575 --0.348725885153 -0.812178820371 --0.331469081342 -0.812182500958 --0.314212016762 -0.812188640237 --0.296955019236 -0.812197178602 --0.279697664082 -0.812208130956 --0.262440226972 -0.812221482396 --0.245182294398 -0.812237337232 --0.227924186737 -0.812255591154 --0.210665453226 -0.812276169658 --0.193406410515 -0.812286406755 --0.174193821847 -0.829465314746 --0.154975291341 -0.829444557429 --0.137716077268 -0.829426214099 --0.120457531884 -0.829410359263 --0.103199237957 -0.829396888614 --0.0859414935112 -0.829385921359 --0.0686838729307 -0.829377397895 --0.0514266798273 -0.829371318221 --0.0341694867238 -0.829367667437 --0.0169125979301 -0.829366520047 -0.000344414496793 -0.829367801547 -0.0176012450829 -0.829371541738 -0.034858321771 -0.829377785325 -0.0521153416485 -0.829386472702 -0.0693727321923 -0.829397588968 -0.0866301842034 -0.829411134124 -0.103888133541 -0.829427137971 -0.121146265417 -0.829445585609 -0.138405010104 -0.829466462135 -0.155664071441 -0.829476848245 -0.174876503647 -0.829465314746 -0.194090560079 -0.82944457233 -0.211349770427 -0.829426199198 -0.228608310222 -0.829410329461 -0.245866604149 -0.829396888614 -0.263124346733 -0.829385891557 -0.280381962657 -0.82937733829 -0.297639161348 -0.829371288419 -0.31489636004 -0.829367667437 -0.332153245807 -0.829366520047 -0.349410250783 -0.829367801547 -0.366667084396 -0.829371541739 -0.383924171329 -0.829377755523 -0.401181191206 -0.8293864429 -0.418438583612 -0.829397588968 -0.435696057975 -0.829411104322 -0.452954001725 -0.829427108169 -0.470212109387 -0.829445585609 -0.487470850348 -0.829466462135 -0.504729904234 -0.829476848245 -0.523942351341 -0.829465314746 -0.543156430125 -0.82944457233 -0.560415625572 -0.829426199198 -0.577674165368 -0.829410329461 -0.594932466746 -0.829396918416 -0.612190201878 -0.829385921359 -0.629447832704 -0.829377368093 -0.646705016494 -0.829371318221 -0.663962200284 -0.829367667437 -0.681219115853 -0.829366534948 -0.69847612083 -0.829367816448 -0.715732946992 -0.829371571541 -0.732990026474 -0.829377785325 -0.750247031451 -0.8293864429 -0.767504408956 -0.829397574067 -0.784761860967 -0.82941108942 -0.802019834518 -0.829427108169 -0.819277986884 -0.829445615411 -0.836536735296 -0.829466491938 -0.853795781732 -0.829476848245 -0.873008191586 -0.829465314746 -0.892222240567 -0.82944457233 -0.909481450916 -0.829426199198 -0.926740005612 -0.829410329461 -0.943998306989 -0.829396888614 -0.961256057024 -0.829385921359 -0.978513687849 -0.829377397895 -0.995770901441 -0.829371318221 -1.01302808523 -0.829367667437 -1.0302849412 -0.829366520047 -1.04754194617 -0.829367801547 -1.06479877234 -0.829371541739 -1.08205583691 -0.829377755523 -1.0993128717 -0.8293864429 -1.1165702939 -0.829397544265 -1.13382774591 -0.829411059618 -1.15108567476 -0.829427108169 -1.16834381223 -0.829445615411 -1.18560257554 -0.829466491938 -1.20286163688 -0.829476848245 -1.22207406163 -0.829465314746 -1.24128809571 -0.82944457233 -1.25854730606 -0.829426229 -1.27580586076 -0.829410359264 -1.29306414723 -0.829396888614 -1.31032189727 -0.829385891557 -1.32757952809 -0.829377368093 -1.34483671188 -0.829371318221 -1.36209389568 -0.829367667437 -1.37935078144 -0.829366520047 -1.39660778642 -0.829367801547 -1.41386464238 -0.829371571541 -1.43112173676 -0.829377815127 -1.44837874174 -0.8293864429 -1.46563613415 -0.829397544265 -1.48289358616 -0.829411119222 -1.50015151501 -0.829427152872 -1.51740962267 -0.829445630312 -1.53466838598 -0.829466477036 -1.55192747712 -0.829476833344 -1.57113990188 -0.829465284944 -1.59035396576 -0.829444527626 -1.60761317611 -0.829426184297 -1.624871701 -0.829410299659 -1.64212998748 -0.829396888614 -1.65938773751 -0.829385921359 -1.67664536833 -0.82937733829 -1.69390255213 -0.829371288419 -1.71115976572 -0.829367667437 -1.72841668129 -0.829366520047 -1.74567368626 -0.829367831349 -1.76293048262 -0.829371571541 -1.78018754721 -0.829377755523 -1.79744458199 -0.8293864429 -1.81470197439 -0.829397544265 -1.8319594264 -0.829411059618 -1.84921735525 -0.829427108169 -1.86647549272 -0.829445555806 -1.88373425603 -0.829466462135 -1.90099331737 -0.829476878047 -1.92020577192 -0.829465314746 -1.93941983581 -0.82944457233 -1.95667901635 -0.829426199198 -1.97393757105 -0.829410329461 -1.99119588732 -0.829396888614 -2.00845357776 -0.829385891557 -2.02571117878 -0.829377368093 -2.04296839237 -0.829371318221 -2.06022554636 -0.829367667437 -2.07748246193 -0.829366520047 -2.09473955631 -0.829367801547 -2.11199641228 -0.829371541739 -2.12925350666 -0.829377755523 -2.14651048184 -0.8293864429 -2.16376781463 -0.829397544265 -2.18102526665 -0.829411059618 -2.1982831955 -0.829427108169 -2.21554136276 -0.829445615411 -2.23280012608 -0.829466491938 -2.25005912781 -0.829476848245 -2.26927155256 -0.829465255141 -2.28848564625 -0.829444512725 -2.3057448864 -0.829426229 -2.32300341129 -0.829410359264 -2.34026169777 -0.829396888614 -2.35751950741 -0.829385891557 -2.37477713823 -0.829377368093 -2.39203429222 -0.829371318221 -2.40929150581 -0.829367667437 -2.42654836178 -0.829366520047 -2.44380533695 -0.829367801547 -2.46106219292 -0.829371571541 -2.4783192873 -0.829377785325 -2.49557626247 -0.8293864429 -2.51283365488 -0.829397588968 -2.53009110689 -0.829411104322 -2.54734909534 -0.829427078366 -2.56460726261 -0.829445555806 -2.58186596632 -0.829466477036 -2.59912508726 -0.829476863146 -2.61833745241 -0.829465314746 -2.63755142689 -0.82944457233 -2.65481066704 -0.829426214099 -2.67206925154 -0.829410344363 -2.68932753801 -0.829396888614 -2.70658528805 -0.829385921359 -2.72384291887 -0.829377368093 -2.74110013247 -0.829371288419 -2.75835734606 -0.829367667437 -2.77561420202 -0.829366520047 -2.7928711772 -0.829367801547 -2.81012803316 -0.829371571541 -2.82738512754 -0.829377785325 -2.84464216232 -0.8293864429 -2.86189961433 -0.829397544265 -2.87915706634 -0.829411059618 -2.8964149952 -0.829427108169 -2.91367304325 -0.829445585609 -2.93093174696 -0.829466491938 -2.9481908679 -0.829476878047 -2.96740335226 -0.829465314746 -2.98661738634 -0.829444557429 -3.00387656689 -0.829426214099 -3.02113515139 -0.829410359263 -3.03839343786 -0.829396888614 -3.05565112829 -0.829385921359 -3.07290875912 -0.829377397895 -3.09016597271 -0.829371318221 -3.1074231267 -0.829367667437 -3.12468004227 -0.829366520047 --3.14124825795 -0.829367801547 --3.12399142981 -0.829371541738 --3.10673433542 -0.829377785325 --3.08947730065 -0.829386472702 --3.07221984864 -0.829397588968 --3.05496239662 -0.829411134124 --3.03770446777 -0.829427137971 --3.02044636011 -0.829445585609 --3.0031876564 -0.829466462135 --2.98592859506 -0.829476848245 --2.96671611071 -0.829465314746 --2.94750201702 -0.82944457233 --2.93024283648 -0.829426199198 --2.91298431158 -0.829410329461 --2.89572602511 -0.829396888614 --2.87846833468 -0.829385891557 --2.86121070385 -0.82937733829 --2.84395349026 -0.829371288419 --2.82669633627 -0.829367667437 --2.8094394207 -0.829366520047 --2.79218238592 -0.829367801547 --2.77492558956 -0.829371541739 --2.75766855478 -0.829377755523 --2.74041152 -0.8293864429 --2.72315406799 -0.829397588968 --2.70589661598 -0.829411104322 --2.68863868713 -0.829427108169 --2.67138051987 -0.829445585609 --2.65412175655 -0.829466462135 --2.63686275482 -0.829476848245 --2.61765033007 -0.829465314746 --2.59843623638 -0.82944457233 --2.58117699623 -0.829426199198 --2.56391847134 -0.829410329461 --2.54666018486 -0.829396918416 --2.52940243483 -0.829385921359 --2.512144804 -0.829377368093 --2.49488765001 -0.829371318221 --2.47763049602 -0.829367667437 --2.46037352085 -0.829366534948 --2.44311648607 -0.829367816448 --2.42585968971 -0.829371571541 --2.40860259533 -0.829377785325 --2.39134562016 -0.8293864429 --2.37408828736 -0.829397574067 --2.35683083534 -0.82941108942 --2.33957284689 -0.829427108169 --2.32231467962 -0.829445615411 --2.30505591631 -0.829466491938 --2.28779685497 -0.829476848245 --2.26858448982 -0.829465314746 --2.24937045574 -0.82944457233 --2.23211121559 -0.829426199198 --2.2148526907 -0.829410329461 --2.19759440422 -0.829396888614 --2.18033659458 -0.829385921359 --2.16307896376 -0.829377397895 --2.14582175016 -0.829371318221 --2.12856453657 -0.829367667437 --2.1113076806 -0.829366520047 --2.09405070543 -0.829367801547 --2.07679390908 -0.829371541739 --2.05953681469 -0.829377755523 --2.04227977991 -0.8293864429 --2.0250223279 -0.829397544265 --2.00776487589 -0.829411059618 --1.99050697684 -0.829427108169 --1.97324880958 -0.829445615411 --1.95599007606 -0.829466491938 --1.93873104453 -0.829476848245 --1.91951861978 -0.829465314746 --1.90030455589 -0.82944457233 --1.88304531574 -0.829426229 --1.86578679085 -0.829410359264 --1.84852850437 -0.829396888614 --1.83127075434 -0.829385891557 --1.81401315331 -0.829377368093 --1.79675593972 -0.829371318221 --1.77949872613 -0.829367667437 --1.76224184037 -0.829366520047 --1.74498483539 -0.829367801547 --1.72772800923 -0.829371571541 --1.71047091484 -0.829377815127 --1.69321390986 -0.8293864429 --1.67595654726 -0.829397544265 --1.65869906545 -0.829411119222 --1.64144110679 -0.829427152872 --1.62418299913 -0.829445630312 --1.60692426562 -0.829466477036 --1.58966520429 -0.829476833344 --1.57045274973 -0.829465284944 --1.55123868585 -0.829444527626 --1.5339794755 -0.829426184297 --1.5167209208 -0.829410299659 --1.49946263432 -0.829396888614 --1.48220488429 -0.829385921359 --1.46494725347 -0.82937733829 --1.44769006967 -0.829371288419 --1.43043288589 -0.829367667437 --1.41317600012 -0.829366520047 --1.39591899514 -0.829367831349 --1.37866216898 -0.829371571541 --1.3614051044 -0.829377755523 --1.34414809942 -0.8293864429 --1.32689070702 -0.829397544265 --1.30963325501 -0.829411059618 --1.29237529635 -0.829427108169 --1.27511712909 -0.829445555806 --1.25785836577 -0.829466462135 --1.24059930444 -0.829476878047 --1.22138690949 -0.829465314746 --1.20217287541 -0.82944457233 --1.18491363525 -0.829426199198 --1.16765508055 -0.829410329461 --1.15039679408 -0.829396888614 --1.13313907385 -0.829385891557 --1.11588147282 -0.829377368093 --1.09862425923 -0.829371318221 --1.08136704564 -0.829367667437 --1.06411015988 -0.829366520047 --1.0468531251 -0.829367801547 --1.02959626913 -0.829371541739 --1.01233920455 -0.829377755523 --0.995082214473 -0.8293864429 --0.977824836969 -0.829397544265 --0.960567370057 -0.829411059618 --0.943309411407 -0.829427108169 --0.926051273942 -0.829445615411 --0.908792540431 -0.829466491938 --0.891533479094 -0.829476848245 --0.87232105434 -0.829465255141 --0.853107005358 -0.829444512725 --0.83584779501 -0.829426229 --0.818589240312 -0.829410359264 --0.801330938935 -0.829396888614 --0.784073188901 -0.829385891557 --0.766815558076 -0.829377368093 --0.749558389187 -0.829371318221 --0.732301190495 -0.829367667437 --0.715044304729 -0.829366520047 --0.697787299752 -0.829367801547 --0.680530458689 -0.829371571541 --0.663273379206 -0.829377785325 --0.646016359329 -0.8293864429 --0.628758952022 -0.829397588968 --0.61150150001 -0.829411104322 --0.594243571162 -0.829427078366 --0.576985433698 -0.829445555806 --0.559726685286 -0.829466477036 --0.542467623949 -0.829476863146 --0.523255199194 -0.829465314746 --0.504041142762 -0.82944457233 --0.486781924963 -0.829426214099 --0.469523385167 -0.829410344363 --0.45226509124 -0.829396888614 --0.435007348656 -0.829385921359 --0.417749732733 -0.829377368093 --0.400492534041 -0.829371288419 --0.38323533535 -0.829367667437 --0.365978434682 -0.829366520047 --0.348721422255 -0.829367801547 --0.331464596093 -0.829371571541 --0.314207516611 -0.829377785325 --0.296950511634 -0.8293864429 --0.279693126678 -0.829397544265 --0.262435659766 -0.829411059618 --0.245177712291 -0.829427108169 --0.227919586003 -0.829445585609 --0.21066083759 -0.829466491938 --0.193401779979 -0.829476878047 --0.174189351499 -0.846634477377 --0.154971029609 -0.846613436937 --0.137711800635 -0.84659487009 --0.120453244075 -0.846578776836 --0.103194927797 -0.846565127373 --0.0859371628612 -0.846554040909 --0.0686795264483 -0.846545383334 --0.0514223147184 -0.846539229155 --0.0341651034541 -0.846535548568 --0.0169081969652 -0.846534356475 -0.00034883362241 -0.846535682678 -0.017605682835 -0.846539527178 -0.0348627790809 -0.84654584527 -0.0521198166534 -0.846554607153 -0.0693772248924 -0.846565872431 -0.0866346973926 -0.8465795964 -0.103892657906 -0.846595793962 -0.121150810272 -0.846614480019 -0.138409581035 -0.846635654569 -0.155668657273 -0.846646204591 -0.174880925566 -0.84663450718 -0.194094818085 -0.84661346674 -0.211354039609 -0.846594840288 -0.228612598032 -0.846578776836 -0.24587091431 -0.846565186978 -0.263128675521 -0.846554070711 -0.280386306345 -0.846545398235 -0.297643519938 -0.846539214254 -0.314900740981 -0.846535533667 -0.33215765655 -0.846534371376 -0.349414683878 -0.846535682678 -0.366671524942 -0.846539497376 -0.383928626776 -0.846545755863 -0.401185669005 -0.846554547548 -0.418443068862 -0.846565842628 -0.435700543225 -0.846579566598 -0.452958509326 -0.846595793962 -0.470216654241 -0.846614480019 -0.487475425005 -0.846635624766 -0.504734493792 -0.846646174789 -0.523946762085 -0.84663450718 -0.543160676957 -0.84661346674 -0.560419902205 -0.846594840288 -0.577678456902 -0.846578776836 -0.594936773181 -0.846565186978 -0.612194523215 -0.846554070711 -0.629452168941 -0.846545398235 -0.646709367633 -0.846539214254 -0.663966566324 -0.846535518766 -0.681223496795 -0.846534371376 -0.698480531573 -0.846535697579 -0.715737387538 -0.846539527178 -0.732994481921 -0.846545815468 -0.7502515167 -0.84655457735 -0.767508909106 -0.846565842628 -0.784766361117 -0.846579566598 -0.80202434957 -0.846595793962 -0.819282516837 -0.846614509821 -0.836541295052 -0.846635654569 -0.853800371289 -0.846646174789 -0.87301261723 -0.846634477377 -0.892226487398 -0.846613451839 -0.909485712647 -0.846594855189 -0.926744312048 -0.846578806639 -0.944002628326 -0.84656521678 -0.961260378361 -0.846554070711 -0.978518024087 -0.846545398235 -0.99577523768 -0.846539214254 -1.01303246617 -0.846535533667 -1.03028935194 -0.846534371376 -1.04754635692 -0.846535682678 -1.06480321288 -0.846539497376 -1.08206030727 -0.846545755863 -1.09931734204 -0.846554547548 -1.11657476425 -0.846565812826 -1.13383224606 -0.846579536796 -1.15109020472 -0.846595793962 -1.16834837198 -0.846614509821 -1.1856071353 -0.846635654569 -1.20286619663 -0.846646174789 -1.22207847238 -0.84663450718 -1.24129235745 -0.84661346674 -1.2585515678 -0.84659487009 -1.27581012249 -0.846578806639 -1.29306843877 -0.846565157175 -1.31032624841 -0.846554040909 -1.32758390903 -0.846545383334 -1.34484109283 -0.846539229155 -1.36209827662 -0.846535548568 -1.37935519219 -0.846534386277 -1.39661222696 -0.846535712481 -1.41386908293 -0.846539527178 -1.43112617731 -0.84654584527 -1.44838321209 -0.846554592252 -1.4656406343 -0.846565827727 -1.48289808631 -0.8465795964 -1.50015604496 -0.846595838666 -1.51741418243 -0.846614524722 -1.53467294574 -0.846635654569 -1.55193206668 -0.846646174789 -1.57114434242 -0.84663450718 -1.59035822749 -0.846613481641 -1.60761746764 -0.846594884992 -1.62487602234 -0.846578806639 -1.64213430881 -0.846565186978 -1.65939205885 -0.846554070711 -1.67664971947 -0.846545383334 -1.69390693307 -0.846539199352 -1.71116414666 -0.846535533667 -1.72842106223 -0.846534371376 -1.74567809701 -0.846535667777 -1.76293492317 -0.846539482474 -1.78019198775 -0.846545755863 -1.79744905233 -0.846554547548 -1.81470647454 -0.846565812826 -1.83196392655 -0.846579536796 -1.8492218852 -0.846595793962 -1.86648005247 -0.846614480019 -1.88373881578 -0.846635654569 -1.90099787712 -0.846646204591 -1.92021018267 -0.846634477377 -1.93942409754 -0.846613436937 -1.95668327808 -0.84659487009 -1.97394183278 -0.846578806639 -1.99120017886 -0.846565186978 -2.00845789909 -0.846554070711 -2.02571552992 -0.846545398235 -2.04297274351 -0.846539244056 -2.06022995711 -0.846535563469 -2.07748693228 -0.846534371376 -2.09474396705 -0.846535667777 -2.11200082302 -0.846539482474 -2.1292579174 -0.846545755863 -2.14651495218 -0.846554547548 -2.16377234459 -0.846565812826 -2.1810297966 -0.846579536796 -2.19828772545 -0.846595793962 -2.21554589272 -0.846614509821 -2.23280465603 -0.846635654569 -2.25006371737 -0.846646174789 -2.26927602291 -0.846634447575 -2.28848993778 -0.846613407135 -2.30574917793 -0.84659487009 -2.32300770283 -0.846578806639 -2.3402659893 -0.846565186978 -2.35752379894 -0.846554070711 -2.37478148937 -0.846545398235 -2.39203870297 -0.846539214254 -2.40929591656 -0.846535533667 -2.42655277252 -0.846534371376 -2.4438098073 -0.846535682678 -2.46106666326 -0.846539527178 -2.47832375765 -0.846545785666 -2.49558079243 -0.846554547548 -2.51283818483 -0.846565842628 -2.53009563684 -0.846579566598 -2.5473536253 -0.846595793962 -2.56461179257 -0.846614480019 -2.58187055588 -0.846635654569 -2.59912967682 -0.846646204591 -2.61834186316 -0.84663450718 -2.63755571842 -0.84661346674 -2.65481495857 -0.846594840288 -2.67207354307 -0.846578776836 -2.68933188915 -0.846565186978 -2.70658963919 -0.846554040909 -2.72384727001 -0.846545368433 -2.74110448361 -0.846539244056 -2.75836169719 -0.846535548568 -2.77561861276 -0.846534356475 -2.79287564754 -0.846535667777 -2.81013250351 -0.846539512277 -2.82738959789 -0.846545785666 -2.84464663267 -0.846554547548 -2.86190408468 -0.846565812826 -2.87916153669 -0.846579536796 -2.89641946554 -0.846595793962 -2.91367757321 -0.846614480019 -2.93093633652 -0.846635654569 -2.94819545746 -0.846646204591 -2.967407763 -0.846634477377 -2.98662161827 -0.846613436937 -3.00388085842 -0.84659487009 -3.02113950253 -0.846578776836 -3.038397789 -0.846565127373 -3.05565547943 -0.846554040909 -3.07291311026 -0.846545383334 -3.09017032385 -0.846539229155 -3.10742753744 -0.846535548568 -3.12468451261 -0.846534356475 --3.14124378761 -0.846535682678 --3.12398695946 -0.846539527178 --3.10672986507 -0.84654584527 --3.0894728303 -0.846554607153 --3.07221537829 -0.846565872431 --3.05495792627 -0.8465795964 --3.03769999743 -0.846595793962 --3.02044183016 -0.846614480019 --3.00318306684 -0.846635654569 --2.98592400551 -0.846646204591 --2.96671169996 -0.84663450718 --2.94749778509 -0.84661346674 --2.93023854494 -0.846594840288 --2.91297996044 -0.846578776836 --2.89572167397 -0.846565186978 --2.87846398354 -0.846554070711 --2.86120635271 -0.846545398235 --2.84394913912 -0.846539214254 --2.82669192552 -0.846535533667 --2.80943495035 -0.846534371376 --2.79217797518 -0.846535682678 --2.77492117882 -0.846539497376 --2.75766408443 -0.846545755863 --2.74040704966 -0.846554547548 --2.72314959765 -0.846565842628 --2.70589208603 -0.846579566598 --2.68863415718 -0.846595793962 --2.67137598991 -0.846614480019 --2.6541172266 -0.846635624766 --2.63685822487 -0.846646174789 --2.61764591932 -0.84663450718 --2.59843200445 -0.84661346674 --2.5811727643 -0.846594840288 --2.5639141798 -0.846578776836 --2.54665589333 -0.846565186978 --2.52939814329 -0.846554070711 --2.51214045286 -0.846545398235 --2.49488329887 -0.846539214254 --2.47762614488 -0.846535518766 --2.46036916971 -0.846534371376 --2.44311213493 -0.846535697579 --2.42585527897 -0.846539527178 --2.40859812498 -0.846545815468 --2.3913410902 -0.84655457735 --2.3740837574 -0.846565842628 --2.35682630539 -0.846579566598 --2.33956825733 -0.846595793962 --2.32231009006 -0.846614509821 --2.30505132675 -0.846635654569 --2.28779220581 -0.846646174789 --2.26858001947 -0.846634477377 --2.24936616421 -0.846613451839 --2.23210692406 -0.846594855189 --2.21484839916 -0.846578806639 --2.19759011269 -0.84656521678 --2.18033230305 -0.846554070711 --2.16307461262 -0.846545398235 --2.14581739902 -0.846539214254 --2.12856018543 -0.846535533667 --2.11130332947 -0.846534371376 --2.09404629469 -0.846535682678 --2.07678943873 -0.846539497376 --2.05953234434 -0.846545755863 --2.04227530956 -0.846554547548 --2.02501785755 -0.846565812826 --2.00776037574 -0.846579536796 --1.99050244689 -0.846595793962 --1.97324427962 -0.846614509821 --1.95598554611 -0.846635654569 --1.93872645497 -0.846646174789 --1.91951417923 -0.84663450718 --1.90030029416 -0.84661346674 --1.88304105401 -0.84659487009 --1.86578249931 -0.846578806639 --1.84852418303 -0.846565157175 --1.831266433 -0.846554040909 --1.81400880218 -0.846545383334 --1.79675158858 -0.846539229155 --1.77949437499 -0.846535548568 --1.76223742962 -0.846534386277 --1.74498039484 -0.846535712481 --1.72772356868 -0.846539527178 --1.71046647429 -0.84654584527 --1.69320943951 -0.846554592252 --1.67595201731 -0.846565827727 --1.6586945355 -0.8465795964 --1.64143660665 -0.846595838666 --1.62417846918 -0.846614524722 --1.60691967606 -0.846635654569 --1.58966061473 -0.846646174789 --1.57044833899 -0.84663450718 --1.55123442412 -0.846613481641 --1.53397518396 -0.846594884992 --1.51671659946 -0.846578806639 --1.49945831299 -0.846565186978 --1.48220056295 -0.846554070711 --1.46494293213 -0.846545383334 --1.44768571854 -0.846539199352 --1.43042850495 -0.846535533667 --1.41317161918 -0.846534371376 --1.3959145844 -0.846535667777 --1.37865772843 -0.846539482474 --1.36140063405 -0.846545755863 --1.34414359927 -0.846554547548 --1.32688620687 -0.846565812826 --1.30962872505 -0.846579536796 --1.2923707366 -0.846595793962 --1.27511256933 -0.846614480019 --1.25785380602 -0.846635654569 --1.24059474468 -0.846646204591 --1.22138249874 -0.846634477377 --1.20216861368 -0.846613436937 --1.18490937352 -0.84659487009 --1.16765078902 -0.846578806639 --1.15039247274 -0.846565186978 --1.13313475251 -0.846554070711 --1.11587712169 -0.846545398235 --1.09861987829 -0.846539244056 --1.0813626647 -0.846535563469 --1.06410574913 -0.846534371376 --1.04684871435 -0.846535667777 --1.02959185839 -0.846539482474 --1.012334764 -0.846545755863 --0.995077744124 -0.846554547548 --0.977820321918 -0.846565812826 --0.960562855005 -0.846579536796 --0.943304896355 -0.846595793962 --0.926046729088 -0.846614509821 --0.908787980676 -0.846635654569 --0.891528904438 -0.846646174789 --0.872316628694 -0.846634447575 --0.853102743626 -0.846613407135 --0.835843518376 -0.84659487009 --0.818584948778 -0.846578806639 --0.801326617599 -0.846565186978 --0.784068852663 -0.846554070711 --0.766811221838 -0.846545398235 --0.749554023147 -0.846539214254 --0.732296794653 -0.846535533667 --0.715039893985 -0.846534371376 --0.697782874108 -0.846535682678 --0.680526018143 -0.846539527178 --0.663268923759 -0.846545785666 --0.64601187408 -0.846554547548 --0.628754451871 -0.846565842628 --0.611496984959 -0.846579566598 --0.594239041209 -0.846595793962 --0.576980888843 -0.846614480019 --0.55972212553 -0.846635654569 --0.542463064194 -0.846646204591 --0.52325078845 -0.84663450718 --0.504036881029 -0.84661346674 --0.48677764833 -0.846594840288 --0.469519086182 -0.846578776836 --0.452260777354 -0.846565186978 --0.43500302732 -0.846554040909 --0.417745389044 -0.846545368433 --0.40048816055 -0.846539244056 --0.383230939507 -0.846535548568 --0.365974031389 -0.846534356475 --0.348717011511 -0.846535667777 --0.331460170448 -0.846539512277 --0.314203076065 -0.846545785666 --0.296946033835 -0.846554547548 --0.279688626528 -0.846565812826 --0.262431152165 -0.846579536796 --0.245173182339 -0.846595793962 --0.227915037423 -0.846614480019 --0.21065627411 -0.846635654569 --0.193397205323 -0.846646204591 --0.17418493703 -0.863784849644 --0.154966823757 -0.863763540983 --0.13770757243 -0.863744735718 --0.120448995382 -0.863728433847 --0.103190666065 -0.863714650273 --0.085932886228 -0.863703429699 --0.0686752311885 -0.863694638014 --0.0514179989696 -0.863688394427 --0.0341607681476 -0.863684669137 --0.016903843265 -0.863683462143 -0.000353204784912 -0.863684803248 -0.0176100714598 -0.863688707352 -0.0348671865649 -0.863695070148 -0.052124241367 -0.863703921437 -0.0693816663697 -0.863715350628 -0.0866391584277 -0.863729283214 -0.10389713943 -0.863745689392 -0.12115530856 -0.863764613867 -0.138414099813 -0.86378608644 -0.155673198402 -0.863796755672 -0.174885299057 -0.863784879446 -0.194099027663 -0.863763570786 -0.211358275265 -0.863744735718 -0.228616852313 -0.863728433847 -0.245875176042 -0.863714650273 -0.263132952153 -0.863703429699 -0.28039060533 -0.863694652915 -0.297647841275 -0.863688379526 -0.31490508467 -0.863684654236 -0.33216201514 -0.863683477044 -0.349419057369 -0.863684788347 -0.366675913334 -0.863688662648 -0.383933030069 -0.863695010543 -0.40119009465 -0.863703906536 -0.418447516859 -0.863715320825 -0.435704998672 -0.86372923851 -0.452962979674 -0.863745689392 -0.470221146941 -0.863764613867 -0.487479940057 -0.863786056638 -0.504739038646 -0.863796725869 -0.523951143027 -0.863784879446 -0.543164879084 -0.863763570786 -0.560424134135 -0.863744735718 -0.577682703733 -0.863728433847 -0.594941005111 -0.863714650273 -0.612198784947 -0.863703429699 -0.629456460476 -0.863694652915 -0.646713674068 -0.863688379526 -0.663970902562 -0.863684624433 -0.681227862835 -0.863683447242 -0.698484912515 -0.863684788347 -0.715741768479 -0.863688662648 -0.732998892665 -0.863695040345 -0.750255957246 -0.863703921437 -0.767513364553 -0.863715305924 -0.784770846367 -0.86372923851 -0.80202883482 -0.863745689392 -0.819287002086 -0.863764613867 -0.836545795202 -0.863786056638 -0.853804901242 -0.863796725869 -0.873016998172 -0.863784849644 -0.892230719328 -0.863763555884 -0.909489974379 -0.863744750619 -0.92674857378 -0.86372846365 -0.94400690496 -0.863714680076 -0.961264669895 -0.863703429699 -0.978522315621 -0.863694652915 -0.995779544116 -0.863688379526 -1.01303678751 -0.863684639335 -1.03029370308 -0.863683462143 -1.04755073786 -0.863684788347 -1.06480762362 -0.863688662648 -1.08206474781 -0.863695010543 -1.09932178259 -0.863703906536 -1.1165792048 -0.863715335726 -1.13383671641 -0.86372923851 -1.15109470486 -0.863745674491 -1.16835287213 -0.863764613867 -1.18561163545 -0.863786056638 -1.20287072659 -0.863796725869 -1.22208285332 -0.863784879446 -1.24129655957 -0.863763570786 -1.25855579972 -0.863744735718 -1.27581441402 -0.863728433847 -1.2930727601 -0.863714650273 -1.31033053994 -0.863703429699 -1.32758817076 -0.863694638014 -1.34484541416 -0.863688394427 -1.36210265756 -0.863684654236 -1.37935957313 -0.863683477044 -1.3966166079 -0.863684818149 -1.41387346387 -0.863688662648 -1.43113055825 -0.863695040345 -1.44838762283 -0.86370395124 -1.46564507484 -0.863715335727 -1.48290252685 -0.863729223609 -1.50016051531 -0.863745674491 -1.51741871238 -0.863764613867 -1.53467750549 -0.863786056638 -1.55193659663 -0.863796725869 -1.57114869356 -0.863784879446 -1.59036242962 -0.863763585687 -1.60762166977 -0.863744780421 -1.62488025427 -0.863728493452 -1.64213857054 -0.863714680076 -1.65939635038 -0.863703429699 -1.67665404081 -0.863694608211 -1.69391125441 -0.863688334822 -1.711168468 -0.863684654236 -1.72842538357 -0.863683477044 -1.74568244815 -0.863684773445 -1.76293933391 -0.863688647747 -1.7801964283 -0.863695010543 -1.79745349288 -0.863703906536 -1.81471091509 -0.863715320825 -1.8319683969 -0.86372923851 -1.84922638536 -0.863745689392 -1.86648455262 -0.863764613867 -1.88374331593 -0.863786056638 -1.90100240707 -0.863796725869 -1.92021456361 -0.863784849644 -1.93942832947 -0.863763540983 -1.95668753982 -0.86374476552 -1.97394609451 -0.863728463649 -1.99120444059 -0.863714650273 -2.00846219063 -0.863703429699 -2.02571988106 -0.863694652915 -2.04297709465 -0.863688409328 -2.06023430824 -0.863684669137 -2.07749128341 -0.863683462143 -2.09474831819 -0.863684773445 -2.11200517416 -0.863688647747 -2.12926226854 -0.863695010543 -2.14651936293 -0.863703906536 -2.16377681494 -0.863715320825 -2.18103426695 -0.863729223609 -2.1982921958 -0.863745674491 -2.21555036306 -0.863764613867 -2.23280918598 -0.863786056638 -2.25006830692 -0.863796725869 -2.26928043366 -0.863784849644 -2.28849416971 -0.863763540983 -2.30575340986 -0.863744735718 -2.32301199436 -0.863728433847 -2.34027028084 -0.863714620471 -2.35752803087 -0.863703399897 -2.3747857213 -0.863694652915 -2.3920429945 -0.863688379526 -2.40930020809 -0.863684639335 -2.42655706405 -0.863683462143 -2.44381415844 -0.863684788347 -2.46107107401 -0.863688662648 -2.47832816839 -0.863695010543 -2.49558520317 -0.863703891635 -2.51284259558 -0.863715305924 -2.53010010719 -0.86372923851 -2.54735815525 -0.863745689392 -2.56461632252 -0.863764613867 -2.58187508583 -0.863786056638 -2.59913414717 -0.863796725869 -2.6183462143 -0.863784879446 -2.63755995035 -0.863763570786 -2.6548191905 -0.863744735718 -2.672077775 -0.863728433847 -2.68933618069 -0.863714650273 -2.70659399033 -0.863703399897 -2.72385156155 -0.863694623113 -2.74110877514 -0.863688409328 -2.75836604833 -0.863684654236 -2.77562302351 -0.863683447242 -2.79288005829 -0.863684773445 -2.81013691425 -0.863688647747 -2.82739400864 -0.863695010543 -2.84465104342 -0.863703906536 -2.86190849543 -0.863715320825 -2.87916594744 -0.863729223609 -2.89642393589 -0.863745674491 -2.91368210316 -0.863764613867 -2.93094086647 -0.863786056638 -2.94819998741 -0.863796725869 -2.96741211415 -0.863784849644 -2.9866258502 -0.863763540983 -3.00388509035 -0.863744735718 -3.02114367485 -0.863728433847 -3.03840202093 -0.863714650273 -3.05565977097 -0.863703429699 -3.0729174614 -0.863694638014 -3.09017467499 -0.863688394427 -3.10743188858 -0.863684669137 -3.12468886375 -0.863683462143 --3.14123943647 -0.863684803248 --3.12398254872 -0.863688707352 --3.10672545433 -0.863695070148 --3.08946841955 -0.863703921437 --3.07221096754 -0.863715350628 --3.05495351553 -0.863729283214 --3.03769552708 -0.863745689392 --3.02043735981 -0.863764613867 --3.00317859649 -0.86378608644 --2.98591947555 -0.863796755672 --2.96670734882 -0.863784879446 --2.94749361277 -0.863763570786 --2.93023437262 -0.863744735718 --2.91297578812 -0.863728433847 --2.89571744204 -0.863714650273 --2.878459692 -0.863703429699 --2.86120200157 -0.863694652915 --2.84394478798 -0.863688379526 --2.82668757438 -0.863684654236 --2.80943059921 -0.863683477044 --2.79217362404 -0.863684788347 --2.77491676808 -0.863688662648 --2.75765961409 -0.863695010543 --2.74040257931 -0.863703906536 --2.7231451273 -0.863715320825 --2.70588761568 -0.86372923851 --2.68862968683 -0.863745689392 --2.67137151956 -0.863764613867 --2.65411275625 -0.863786056638 --2.63685369492 -0.863796725869 --2.61764150858 -0.863784879446 --2.59842777252 -0.863763570786 --2.58116853237 -0.863744735718 --2.56390994787 -0.863728433847 --2.5466516614 -0.863714650273 --2.52939391136 -0.863703429699 --2.51213622093 -0.863694652915 --2.49487900734 -0.863688379526 --2.47762179375 -0.863684624433 --2.46036481858 -0.863683447242 --2.4431077838 -0.863684788347 --2.42585092783 -0.863688662648 --2.40859377384 -0.863695040345 --2.39133667946 -0.863703921437 --2.37407928705 -0.863715305924 --2.35682177544 -0.86372923851 --2.33956378698 -0.863745689392 --2.32230561972 -0.863764613867 --2.3050467968 -0.863786056638 --2.28778767586 -0.863796725869 --2.26857560873 -0.863784849644 --2.24936193228 -0.863763555884 --2.23210269213 -0.863744750619 --2.21484410763 -0.86372846365 --2.19758576155 -0.863714680076 --2.18032795191 -0.863703429699 --2.16307032108 -0.863694652915 --2.14581310749 -0.863688379526 --2.1285558939 -0.863684639335 --2.11129903794 -0.863683462143 --2.09404194355 -0.863684788347 --2.07678502798 -0.863688662648 --2.0595279336 -0.863695010543 --2.04227089882 -0.863703906536 --2.02501344681 -0.863715335726 --2.00775596499 -0.86372923851 --1.99049797654 -0.863745674491 --1.97323977947 -0.863764613867 --1.95598101616 -0.863786056638 --1.93872192502 -0.863796725869 --1.91950982809 -0.863784879446 --1.90029609203 -0.863763570786 --1.88303682208 -0.863744735718 --1.86577823758 -0.863728433847 --1.8485198915 -0.863714650273 --1.83126211166 -0.863703429699 --1.81400448084 -0.863694638014 --1.79674726725 -0.863688394427 --1.77949005366 -0.863684654236 --1.76223307848 -0.863683477044 --1.7449760139 -0.863684818149 --1.72771918774 -0.863688662648 --1.71046209335 -0.863695040345 --1.69320502877 -0.86370395124 --1.67594757676 -0.863715335727 --1.65869009495 -0.863729223609 --1.6414321363 -0.863745674491 --1.62417396903 -0.863764613867 --1.60691514611 -0.863786056638 --1.58965605497 -0.863796725869 --1.57044395804 -0.863784879446 --1.55123019219 -0.863763585687 --1.53397095203 -0.863744780421 --1.51671236753 -0.863728493452 --1.49945405125 -0.863714680076 --1.48219630122 -0.863703429699 --1.46493864059 -0.863694608211 --1.4476813972 -0.863688334822 --1.43042418361 -0.863684654236 --1.41316726804 -0.863683477044 --1.39591020346 -0.863684773445 --1.37865331769 -0.863688647747 --1.3613961935 -0.863695010543 --1.34413915872 -0.863703906536 --1.32688173652 -0.863715320825 --1.3096242249 -0.86372923851 --1.29236623645 -0.863745689392 --1.27510806918 -0.863764613867 --1.25784930587 -0.863786056638 --1.24059021473 -0.863796725869 --1.2213781178 -0.863784849644 --1.20216441155 -0.863763540983 --1.18490514159 -0.86374476552 --1.16764655709 -0.863728463649 --1.15038824081 -0.863714650273 --1.13313046097 -0.863703429699 --1.11587280035 -0.863694652915 --1.09861552715 -0.863688409328 --1.08135828376 -0.863684669137 --1.06410136819 -0.863683462143 --1.04684433341 -0.863684773445 --1.02958747745 -0.863688647747 --1.01233038306 -0.863695010543 --0.995073318479 -0.863703906536 --0.97781586647 -0.863715320825 --0.960558399558 -0.863729223609 --0.943300426006 -0.863745674491 --0.926042243838 -0.863764613867 --0.908783450723 -0.863786056638 --0.891524344683 -0.863796725869 --0.872312247753 -0.863784849644 --0.853098526597 -0.863763540983 --0.835839286447 -0.863744735718 --0.818580701947 -0.863728433847 --0.801322355866 -0.863714620471 --0.784064590931 -0.863703399897 --0.766806945205 -0.863694652915 --0.749549716711 -0.863688379526 --0.732292473316 -0.863684639335 --0.715035542846 -0.863683462143 --0.697778493166 -0.863684788347 --0.6805216223 -0.863688662648 --0.663264513016 -0.863695010543 --0.646007448435 -0.863703891635 --0.628750011325 -0.863715305924 --0.611492529512 -0.86372923851 --0.59423455596 -0.863745689392 --0.576976373792 -0.863764613867 --0.559717595577 -0.863786056638 --0.542458534241 -0.863796725869 --0.52324642241 -0.863784879446 --0.504032671451 -0.863763570786 --0.4867734164 -0.863744735718 --0.469514831901 -0.863728433847 --0.452256508172 -0.863714650273 --0.434998735786 -0.863703399897 --0.417741082609 -0.863694623113 --0.400483839214 -0.863688409328 --0.383226603269 -0.863684654236 --0.3659696877 -0.863683447242 --0.348712652922 -0.863684773445 --0.331455782056 -0.863688647747 --0.314198665321 -0.863695010543 --0.29694160074 -0.863703906536 --0.279684178531 -0.863715320825 --0.262426704169 -0.863729223609 --0.24516871199 -0.863745674491 --0.227910540998 -0.863764613867 --0.210651759058 -0.863786056638 --0.193392667919 -0.863796725869 --0.174180563539 -0.880939468741 --0.154962256551 -0.880917936564 --0.137702986598 -0.880898877978 --0.120444383472 -0.88088235259 --0.103186037391 -0.880868405104 --0.085928240791 -0.880857050419 --0.0686705652624 -0.880848154426 --0.0514133134857 -0.880841836333 --0.0341560635716 -0.880838081241 --0.0168991188984 -0.880836859346 -0.000357948476447 -0.880838185549 -0.0176148335449 -0.880842119455 -0.0348719679751 -0.880848571658 -0.0521290432662 -0.880857542157 -0.0693864868954 -0.880869090557 -0.0866439957171 -0.880883187056 -0.103901999071 -0.880899816752 -0.121160186827 -0.880919024349 -0.138418994844 -0.880940750241 -0.155678108335 -0.880951493978 -0.174890037626 -0.880939468741 -0.194103598594 -0.880917936564 -0.211362868547 -0.880898877978 -0.228621467948 -0.88088235259 -0.245879802853 -0.880868375301 -0.263137593866 -0.880857005715 -0.280395269394 -0.880848139525 -0.29765252024 -0.880841836333 -0.314909785986 -0.880838051439 -0.332166746259 -0.880836829543 -0.349423803389 -0.880838170648 -0.366680674255 -0.880842074752 -0.383937813342 -0.880848541856 -0.401194900274 -0.880857557058 -0.418452337384 -0.880869090557 -0.435709849 -0.880883201957 -0.452967852354 -0.880899846554 -0.470226019621 -0.880918994546 -0.487484820187 -0.880940720439 -0.504743948579 -0.880951523781 -0.523955896497 -0.880939498544 -0.543169438839 -0.880917936564 -0.560428708792 -0.880898877978 -0.577687308192 -0.88088235259 -0.594945639372 -0.880868375301 -0.612203449011 -0.880857005715 -0.629461124539 -0.880848139525 -0.646718367934 -0.880841836333 -0.66397562623 -0.880838036537 -0.681232601404 -0.880836814642 -0.698489680886 -0.880838170648 -0.715746551752 -0.880842104554 -0.733003675938 -0.880848541856 -0.75026075542 -0.880857512355 -0.76751819253 -0.880869075656 -0.784775689244 -0.880883172155 -0.802033692598 -0.880899816752 -0.819291874766 -0.880918994546 -0.836550667882 -0.880940720439 -0.853809803724 -0.880951493978 -0.873021751642 -0.880939468741 -0.892235293984 -0.880917936564 -0.909494563937 -0.88089889288 -0.926753178239 -0.880882397294 -0.944011524319 -0.880868405104 -0.961269319057 -0.880857005715 -0.978526979685 -0.880848139525 -0.995784237983 -0.880841836333 -1.01304149628 -0.880838036537 -1.03029841185 -0.880836814642 -1.04755547642 -0.880838170648 -1.06481239199 -0.880842104554 -1.08206954598 -0.880848541856 -1.09932661057 -0.880857527256 -1.11658406258 -0.880869105458 -1.13384157419 -0.880883201957 -1.15109956265 -0.880899831653 -1.16835772991 -0.880918994546 -1.18561652302 -0.880940720439 -1.20287564397 -0.880951493978 -1.22208759189 -0.880939468741 -1.24130114913 -0.880917936564 -1.25856041908 -0.880898877978 -1.27581903338 -0.880882382393 -1.29307737946 -0.880868405104 -1.3103351593 -0.880857005715 -1.32759281993 -0.880848139525 -1.34485009313 -0.880841836333 -1.36210736633 -0.880838036537 -1.37936431169 -0.880836814642 -1.39662134647 -0.880838170648 -1.41387820244 -0.880842074752 -1.43113532662 -0.880848541856 -1.44839242101 -0.880857557058 -1.46564987302 -0.880869090557 -1.48290735483 -0.880883187056 -1.50016537309 -0.880899831653 -1.51742359996 -0.880919024349 -1.53468239307 -0.880940750241 -1.55194148421 -0.880951523781 -1.57115343213 -0.880939468741 -1.59036701918 -0.880917906761 -1.60762625933 -0.88089889288 -1.62488484383 -0.880882367492 -1.64214318991 -0.880868375301 -1.65940099955 -0.880857005715 -1.67665868998 -0.880848109722 -1.69391593337 -0.880841806531 -1.71117317677 -0.880838081241 -1.72843012214 -0.880836859346 -1.74568721652 -0.880838170648 -1.76294410229 -0.880842074752 -1.78020122647 -0.880848541856 -1.79745829106 -0.880857557058 -1.81471574307 -0.880869090557 -1.83197325468 -0.880883172155 -1.84923124314 -0.880899816752 -1.86648944021 -0.880918994546 -1.88374823332 -0.880940720439 -1.90100735426 -0.880951493978 -1.92021930218 -0.880939468741 -1.93943285942 -0.880917936564 -1.95669212937 -0.880898877978 -1.97395074368 -0.88088235259 -1.99120908975 -0.880868375301 -2.00846683979 -0.880857005715 -2.02572453022 -0.880848139525 -2.04298180342 -0.880841836333 -2.06023901701 -0.880838036537 -2.07749599218 -0.880836814642 -2.09475308656 -0.880838170648 -2.11200994253 -0.880842074752 -2.12926709652 -0.880848512053 -2.14652419091 -0.880857527256 -2.16378164292 -0.880869090557 -2.18103909493 -0.880883187056 -2.19829702377 -0.880899831653 -2.21555525065 -0.880918994546 -2.23281413317 -0.880940720439 -2.25007325411 -0.880951493978 -2.26928514242 -0.880939468741 -2.28849869967 -0.880917936564 -2.30575799942 -0.880898877978 -2.32301664352 -0.880882382393 -2.34027493 -0.880868375301 -2.35753262043 -0.880856975913 -2.37479031086 -0.880848139525 -2.39204764366 -0.880841836333 -2.40930491686 -0.880838036537 -2.42656183243 -0.880836814642 -2.44381886721 -0.880838170648 -2.46107578278 -0.880842104554 -2.47833293676 -0.880848541856 -2.49558997154 -0.880857512355 -2.51284742356 -0.880869075656 -2.53010499478 -0.880883201957 -2.54736304283 -0.880899846554 -2.5646212101 -0.880918994546 -2.58187997341 -0.880940720439 -2.59913903475 -0.880951523781 -2.61835098267 -0.880939498544 -2.63756453991 -0.880917936564 -2.65482378006 -0.880898877978 -2.67208242417 -0.880882382393 -2.68934082985 -0.880868405104 -2.70659863949 -0.880857005715 -2.72385621071 -0.880848139525 -2.7411134243 -0.880841836333 -2.7583707571 -0.880838036537 -2.77562773228 -0.880836814642 -2.79288476706 -0.880838170648 -2.81014162302 -0.880842074752 -2.8273987174 -0.880848541856 -2.84465581179 -0.880857557058 -2.8619132638 -0.880869090557 -2.87917077541 -0.880883157253 -2.89642882347 -0.88089980185 -2.91368699074 -0.880918994546 -2.93094575405 -0.880940720439 -2.94820487499 -0.880951493978 -2.96741682291 -0.880939468741 -2.98663038015 -0.880917936564 -3.00388962031 -0.880898877978 -3.02114820481 -0.88088235259 -3.03840661049 -0.880868405104 -3.05566442013 -0.880857050419 -3.07292211056 -0.880848154426 -3.09017938376 -0.880841836333 -3.10743659734 -0.880838081241 -3.12469351291 -0.880836859346 --3.1412347277 -0.880838185549 --3.12397783995 -0.880842119455 --3.10672074557 -0.880848571658 --3.08946365118 -0.880857542157 --3.07220619917 -0.880869090557 --3.05494868756 -0.880883187056 --3.0376906395 -0.880899816752 --3.02043247223 -0.880919024349 --3.00317370892 -0.880940750241 --2.98591458797 -0.880951493978 --2.96670264005 -0.880939468741 --2.94748908282 -0.880917936564 --2.93022984266 -0.880898877978 --2.91297125816 -0.88088235259 --2.89571285248 -0.880868375301 --2.87845504284 -0.880857005715 --2.86119735241 -0.880848139525 --2.84394013882 -0.880841836333 --2.82668292522 -0.880838051439 --2.80942595005 -0.880836829543 --2.79216891527 -0.880838170648 --2.77491199971 -0.880842074752 --2.75765478611 -0.880848541856 --2.74039769172 -0.880857557058 --2.72314023971 -0.880869090557 --2.7058827877 -0.880883201957 --2.68862485886 -0.880899846554 --2.67136669159 -0.880918994546 --2.65410786867 -0.880940720439 --2.63684868813 -0.880951523781 --2.61763674021 -0.880939498544 --2.59842318296 -0.880917936564 --2.58116388321 -0.880898877978 --2.56390535831 -0.88088235259 --2.54664707184 -0.880868375301 --2.5293892622 -0.880857005715 --2.51213157177 -0.880848139525 --2.49487429857 -0.880841836333 --2.47761702537 -0.880838036537 --2.4603600502 -0.880836814642 --2.44310295582 -0.880838170648 --2.42584609985 -0.880842104554 --2.40858900547 -0.880848541856 --2.39133191108 -0.880857512355 --2.37407445908 -0.880869075656 --2.35681694746 -0.880883172155 --2.33955895901 -0.880899816752 --2.32230073213 -0.880918994546 --2.30504190922 -0.880940720439 --2.28778278828 -0.880951493978 --2.26857084036 -0.880939468741 --2.24935734272 -0.880917936564 --2.23209810257 -0.88089889288 --2.21483945847 -0.880882397294 --2.19758111238 -0.880868405104 --2.18032330274 -0.880857005715 --2.16306567192 -0.880848139525 --2.14580845833 -0.880841836333 --2.12855118514 -0.880838036537 --2.11129426957 -0.880836814642 --2.09403717518 -0.880838170648 --2.07678025961 -0.880842104554 --2.05952316522 -0.880848541856 --2.04226613044 -0.880857527256 --2.02500867843 -0.880869105458 --2.00775113702 -0.880883201957 --1.99049308896 -0.880899831653 --1.97323489189 -0.880918994546 --1.95597609878 -0.880940720439 --1.93871700764 -0.880951493978 --1.91950508952 -0.880939468741 --1.90029150248 -0.880917936564 --1.88303223252 -0.880898877978 --1.86577364802 -0.880882382393 --1.84851527214 -0.880868405104 --1.8312574625 -0.880857005715 --1.81399980187 -0.880848139525 --1.79674255848 -0.880841836333 --1.77948534489 -0.880838036537 --1.76222836971 -0.880836814642 --1.74497127533 -0.880838170648 --1.72771441937 -0.880842074752 --1.71045729518 -0.880848541856 --1.6932002306 -0.880857557058 --1.67594277859 -0.880869090557 --1.65868526697 -0.880883187056 --1.64142727852 -0.880899831653 --1.62416908145 -0.880919024349 --1.60691025853 -0.880940750241 --1.58965113759 -0.880951523781 --1.57043921947 -0.880939468741 --1.55122566223 -0.880917906761 --1.53396639228 -0.88089889288 --1.51670777798 -0.880882367492 --1.4994494319 -0.880868375301 --1.48219165206 -0.880857005715 --1.46493396163 -0.880848109722 --1.44767671824 -0.880841806531 --1.43041947484 -0.880838081241 --1.41316252947 -0.880836859346 --1.39590546489 -0.880838170648 --1.37864854932 -0.880842074752 --1.36139142513 -0.880848541856 --1.34413436055 -0.880857557058 --1.32687690854 -0.880869090557 --1.30961939692 -0.880883172155 --1.29236137867 -0.880899816752 --1.2751032114 -0.880918994546 --1.25784441829 -0.880940720439 --1.24058529735 -0.880951493978 --1.22137337923 -0.880939468741 --1.20215982199 -0.880917936564 --1.18490052223 -0.880898877978 --1.16764193773 -0.88088235259 --1.15038362145 -0.880868375301 --1.13312581181 -0.880857005715 --1.11586812138 -0.880848139525 --1.09861084819 -0.880841836333 --1.08135360479 -0.880838036537 --1.06409665942 -0.880836814642 --1.04683959484 -0.880838170648 --1.02958273888 -0.880842074752 --1.01232561469 -0.880848512053 --0.995068520305 -0.880857527256 --0.977811068296 -0.880869090557 --0.960553556681 -0.880883187056 --0.943295553326 -0.880899831653 --0.926037371159 -0.880918994546 --0.908778548241 -0.880940720439 --0.891519427299 -0.880951493978 --0.872307509184 -0.880939468741 --0.853093966842 -0.880917936564 --0.83583471179 -0.880898877978 --0.818576097488 -0.880882382393 --0.801317736506 -0.880868375301 --0.78405995667 -0.880856975913 --0.766802281142 -0.880848139525 --0.749545007944 -0.880841836333 --0.732287764549 -0.880838036537 --0.715030834079 -0.880836814642 --0.697773769498 -0.880838170648 --0.680516883731 -0.880842104554 --0.663259744644 -0.880848541856 --0.646002650261 -0.880857512355 --0.62874519825 -0.880869075656 --0.611487701535 -0.880883201957 --0.594229698181 -0.880899846554 --0.576971501112 -0.880918994546 --0.559712693095 -0.880940720439 --0.542453601957 -0.880951523781 --0.523241683841 -0.880939498544 --0.504028111696 -0.880917936564 --0.486768826842 -0.880898877978 --0.469510219991 -0.880882382393 --0.452251881361 -0.880868405104 --0.434994086623 -0.880857005715 --0.417736418545 -0.880848139525 --0.400479160249 -0.880841836333 --0.383221909404 -0.880838036537 --0.365964978933 -0.880836814642 --0.348707914353 -0.880838170648 --0.331451013684 -0.880842074752 --0.314193874598 -0.880848541856 --0.296936810017 -0.880857557058 --0.279679365456 -0.880869090557 --0.262421853841 -0.880883157253 --0.245163846761 -0.88089980185 --0.227905660868 -0.880918994546 --0.210646856576 -0.880940720439 --0.193387743085 -0.880951493978 --0.174175813794 -0.898098096251 --0.154957845807 -0.898076340556 --0.137698564678 -0.898057043552 --0.120439950377 -0.898040324449 --0.103181583807 -0.898026198149 --0.0859237648547 -0.898014694452 --0.068666068837 -0.898005709052 --0.0514088002965 -0.897999331355 --0.0341515331529 -0.897995531559 --0.0168945696205 -0.897994279861 -0.00036251707934 -0.897995606065 -0.0176194205414 -0.897999539971 -0.0348765724338 -0.898006111383 -0.0521336663514 -0.898015245795 -0.0693911304697 -0.898026913405 -0.086648657918 -0.898041173816 -0.103906678036 -0.898058012128 -0.121164886281 -0.898077443242 -0.138423711062 -0.898099422455 -0.155682835728 -0.898110300302 -0.174894601107 -0.898098111153 -0.194107994437 -0.898076310754 -0.211367279291 -0.898057028651 -0.228625901043 -0.898040324449 -0.2458842583 -0.898026168346 -0.263142079115 -0.898014649749 -0.280399776995 -0.898005694151 -0.297657035291 -0.897999331355 -0.314914308488 -0.897995501757 -0.332171283662 -0.897994279861 -0.349428370595 -0.897995635867 -0.366685271263 -0.897999569774 -0.383942425251 -0.898006141186 -0.401199527085 -0.898015245795 -0.418456986546 -0.898026913405 -0.435714513064 -0.898041203618 -0.452972531319 -0.89805804193 -0.470230728388 -0.89807741344 -0.487489551306 -0.898099407553 -0.504748694599 -0.898110345006 -0.523960471153 -0.898098155856 -0.543173849583 -0.898076325655 -0.560433119535 -0.898057028651 -0.577691748738 -0.898040324449 -0.594950124621 -0.898026168346 -0.612207934261 -0.898014649749 -0.62946562469 -0.89800567925 -0.646722897887 -0.897999316454 -0.663980171085 -0.897995501757 -0.681237146259 -0.897994250059 -0.698494225741 -0.897995606065 -0.715751111507 -0.897999599576 -0.733008280397 -0.898006141186 -0.750265389681 -0.898015215993 -0.767522841692 -0.898026913405 -0.784780353308 -0.898041173816 -0.802038371563 -0.898058012128 -0.819296568632 -0.89807741344 -0.83655539155 -0.898099392652 -0.853814542294 -0.898110300302 -0.873026311398 -0.898098126054 -0.892239689827 -0.898076325655 -0.90949895978 -0.898057043553 -0.926757588983 -0.898040369153 -0.944015949965 -0.898026198149 -0.961273789406 -0.898014649749 -0.978531479835 -0.898005694151 -0.995788738134 -0.897999331355 -1.01304602623 -0.897995501757 -1.0303029716 -0.897994250059 -1.04756006598 -0.897995606065 -1.06481698155 -0.897999599576 -1.08207413554 -0.898006141186 -1.09933122992 -0.898015215993 -1.11658868194 -0.898026913405 -1.13384622335 -0.898041203618 -1.15110424161 -0.89805804193 -1.16836240888 -0.89807741344 -1.18562123179 -0.898099407553 -1.20288038254 -0.898110315204 -1.22209215164 -0.898098126054 -1.24130555987 -0.898076325655 -1.25856485962 -0.898057028651 -1.27582344412 -0.898040354252 -1.29308179021 -0.898026227951 -1.31033959985 -0.898014679551 -1.32759732008 -0.898005694151 -1.34485462308 -0.897999331355 -1.36211189628 -0.897995501757 -1.37936887145 -0.897994250059 -1.39662593603 -0.897995635867 -1.4138828218 -0.897999599576 -1.43113997579 -0.898006141186 -1.44839707017 -0.898015245795 -1.46565452218 -0.898026913405 -1.48291203379 -0.898041203618 -1.50017008185 -0.89805804193 -1.51742830873 -0.898077473045 -1.53468710184 -0.898099467158 -1.55194622278 -0.898110345006 -1.57115802169 -0.898098126054 -1.59037142992 -0.898076295853 -1.60763067007 -0.898057043553 -1.62488928437 -0.898040339351 -1.64214766026 -0.898026168346 -1.65940546989 -0.898014649749 -1.67666316032 -0.898005694151 -1.69392043352 -0.897999331355 -1.71117770672 -0.897995531559 -1.72843468189 -0.897994279861 -1.74569177627 -0.897995606065 -1.76294866204 -0.897999569774 -1.78020581603 -0.898006141186 -1.79746291041 -0.898015245795 -1.81472039223 -0.898026913405 -1.83197790384 -0.898041173816 -1.8492358923 -0.898058012128 -1.86649414897 -0.89807741344 -1.88375297188 -0.898099392652 -1.90101209282 -0.898110300302 -1.92022386193 -0.898098126054 -1.93943724036 -0.898076325655 -1.95669654012 -0.898057028651 -1.97395518422 -0.898040324449 -1.9912135601 -0.898026198149 -2.00847133994 -0.898014679551 -2.02572900057 -0.89800567925 -2.04298627376 -0.897999316454 -2.06024354696 -0.897995501757 -2.07750052214 -0.897994279861 -2.09475761652 -0.897995635867 -2.11201453209 -0.897999569774 -2.12927168608 -0.898006111383 -2.14652878046 -0.898015215993 -2.16378629208 -0.898026913405 -2.18104380369 -0.898041203618 -2.19830173254 -0.89805804193 -2.21555995941 -0.89807741344 -2.23281884193 -0.898099392652 -2.25007796287 -0.898110300302 -2.26928967237 -0.898098126054 -2.2885030508 -0.898076325655 -2.30576241016 -0.898057028651 -2.32302105427 -0.898040354252 -2.34027934074 -0.898026198149 -2.35753709078 -0.898014649749 -2.37479484081 -0.898005694151 -2.39205217361 -0.897999331355 -2.40930944681 -0.897995501757 -2.42656642199 -0.897994250059 -2.44382345676 -0.897995635867 -2.46108031273 -0.897999629379 -2.47833752632 -0.898006141186 -2.49559462071 -0.898015215993 -2.51285207272 -0.898026913405 -2.53010964394 -0.898041203618 -2.54736769199 -0.89805804193 -2.56462585926 -0.89807741344 -2.58188462257 -0.898099392652 -2.59914380312 -0.898110330105 -2.61835563183 -0.898098155856 -2.63756895065 -0.898076325655 -2.6548281908 -0.898057028651 -2.67208683491 -0.898040354252 -2.68934524059 -0.898026198149 -2.70660305023 -0.898014649749 -2.72386068106 -0.89800567925 -2.74111795425 -0.897999316454 -2.75837522745 -0.897995501757 -2.77563220263 -0.897994250059 -2.79288935661 -0.897995606065 -2.81014627218 -0.897999569774 -2.82740336657 -0.898006141186 -2.84466040135 -0.898015245795 -2.86191785336 -0.898026913405 -2.87917542458 -0.898041173816 -2.89643347264 -0.898058012128 -2.9136916995 -0.89807741344 -2.93095052242 -0.898099392652 -2.94820964336 -0.8981102705 -2.96742141247 -0.898098096251 -2.9866347909 -0.898076340556 -3.00389403105 -0.898057043552 -3.02115267515 -0.898040324449 -3.03841108084 -0.898026198149 -3.05566889048 -0.898014694452 -3.07292658091 -0.898005709052 -3.0901838541 -0.897999331355 -3.1074411273 -0.897995531559 -3.12469804287 -0.897994279861 --3.14123013814 -0.897995606065 --3.12397325039 -0.897999539971 --3.10671615601 -0.898006111383 --3.08945900202 -0.898015245795 --3.07220155001 -0.898026913405 --3.05494403839 -0.898041173816 --3.03768599033 -0.898058012128 --3.02042776346 -0.898077443242 --3.00316894055 -0.898099422455 --2.98590981961 -0.898110300302 --2.9666980505 -0.898098111153 --2.94748467207 -0.898076310754 --2.93022543192 -0.898057028651 --2.91296678782 -0.898040324449 --2.89570838213 -0.898026168346 --2.87845057249 -0.898014649749 --2.86119288206 -0.898005694151 --2.84393566847 -0.897999331355 --2.82667839527 -0.897995501757 --2.8094214201 -0.897994279861 --2.79216432572 -0.897995635867 --2.77490735054 -0.897999569774 --2.75765019655 -0.898006141186 --2.74039310217 -0.898015245795 --2.72313559055 -0.898026913405 --2.70587807894 -0.898041203618 --2.68862015009 -0.89805804193 --2.67136198282 -0.89807741344 --2.6541031003 -0.898099407553 --2.63684391976 -0.898110345006 --2.61763221026 -0.898098155856 --2.59841883183 -0.898076325655 --2.58115947247 -0.898057028651 --2.56390088797 -0.898040324449 --2.54664260149 -0.898026168346 --2.52938479185 -0.898014649749 --2.51212704182 -0.89800567925 --2.49486970902 -0.897999316454 --2.47761243582 -0.897995501757 --2.46035546064 -0.897994250059 --2.44309836626 -0.897995606065 --2.4258415103 -0.897999599576 --2.40858435631 -0.898006141186 --2.39132726192 -0.898015215993 --2.37406980991 -0.898026913405 --2.3568122983 -0.898041173816 --2.33955425024 -0.898058012128 --2.32229602337 -0.89807741344 --2.30503726006 -0.898099392652 --2.28777813912 -0.898110300302 --2.26856631041 -0.898098126054 --2.24935293198 -0.898076325655 --2.23209369183 -0.898057043553 --2.21483504772 -0.898040369153 --2.19757670164 -0.898026198149 --2.1803188324 -0.898014649749 --2.16306114197 -0.898005694151 --2.14580392838 -0.897999331355 --2.12854659558 -0.897995501757 --2.1112896204 -0.897994250059 --2.09403258562 -0.897995606065 --2.07677572966 -0.897999599576 --2.05951857567 -0.898006141186 --2.04226148128 -0.898015215993 --2.02500402927 -0.898026913405 --2.00774645805 -0.898041203618 --1.99048840999 -0.89805804193 --1.97323021292 -0.89807741344 --1.95597139001 -0.898099407553 --1.93871226907 -0.898110315204 --1.91950049997 -0.898098126054 --1.90028709173 -0.898076325655 --1.88302782178 -0.898057028651 --1.86576920748 -0.898040354252 --1.8485108316 -0.898026227951 --1.83125302196 -0.898014679551 --1.81399533153 -0.898005694151 --1.79673805833 -0.897999331355 --1.77948081494 -0.897995501757 --1.76222383976 -0.897994250059 --1.74496674538 -0.897995635867 --1.72770985961 -0.897999599576 --1.71045267582 -0.898006141186 --1.69319558143 -0.898015245795 --1.67593812942 -0.898026913405 --1.65868058801 -0.898041203618 --1.64142259955 -0.89805804193 --1.62416437268 -0.898077473045 --1.60690551996 -0.898099467158 --1.58964639902 -0.898110345006 --1.57043465972 -0.898098126054 --1.55122128129 -0.898076295853 --1.53396198154 -0.898057043553 --1.51670333743 -0.898040339351 --1.49944496155 -0.898026168346 --1.48218715191 -0.898014649749 --1.46492946148 -0.898005694151 --1.44767221808 -0.897999331355 --1.43041494489 -0.897995531559 --1.41315796971 -0.897994279861 --1.39590087533 -0.897995606065 --1.37864395976 -0.897999569774 --1.36138683557 -0.898006141186 --1.34412974119 -0.898015245795 --1.32687228918 -0.898026913405 --1.30961477756 -0.898041173816 --1.29235672951 -0.898058012128 --1.27509853244 -0.89807741344 --1.25783970952 -0.898099392652 --1.24058055878 -0.898110300302 --1.22136878967 -0.898098126054 --1.20215538144 -0.898076325655 --1.18489608169 -0.898057028651 --1.16763749718 -0.898040324449 --1.15037915111 -0.898026198149 --1.13312131166 -0.898014679551 --1.11586362123 -0.89800567925 --1.09860634804 -0.897999316454 --1.08134907484 -0.897995501757 --1.06409209967 -0.897994279861 --1.04683500528 -0.897995635867 --1.02957814932 -0.897999569774 --1.01232102513 -0.898006111383 --0.995063900946 -0.898015215993 --0.977806419134 -0.898026913405 --0.960548892617 -0.898041203618 --0.943290874362 -0.89805804193 --0.926032662392 -0.89807741344 --0.908773839474 -0.898099392652 --0.891514703631 -0.898110300302 --0.872302934527 -0.898098126054 --0.853089556098 -0.898076325655 --0.835830286145 -0.898057028651 --0.818571656942 -0.898040354252 --0.801313281059 -0.898026198149 --0.784055486321 -0.898014649749 --0.76679778099 -0.898005694151 --0.749540492892 -0.897999331355 --0.732283219695 -0.897995501757 --0.715026274323 -0.897994250059 --0.697769194841 -0.897995635867 --0.680512294173 -0.897999629379 --0.663255155087 -0.898006141186 --0.645998030901 -0.898015215993 --0.628740563989 -0.898026913405 --0.611483037472 -0.898041203618 --0.594225019216 -0.89805804193 --0.576966822147 -0.89807741344 --0.559707984328 -0.898099392652 --0.542448848486 -0.898110330105 --0.523237094283 -0.898098155856 --0.504023708403 -0.898076325655 --0.486764408648 -0.898057028651 --0.469505786895 -0.898040354252 --0.452247425914 -0.898026198149 --0.434989608824 -0.898014649749 --0.417731918395 -0.89800567925 --0.400474637747 -0.897999316454 --0.383217372 -0.897995501757 --0.365960434079 -0.897994250059 --0.348703339696 -0.897995606065 --0.331446416676 -0.897999569774 --0.314189262688 -0.898006141186 --0.296932183206 -0.898015245795 --0.279674731195 -0.898026913405 --0.262417197228 -0.898041173816 --0.245159171522 -0.898058012128 --0.227900967002 -0.89807741344 --0.210642140358 -0.898099392652 --0.193383008242 -0.8981102705 --0.174171242863 -0.915236249566 --0.154954019934 -0.915214210748 --0.137694720179 -0.91519472003 --0.120436090976 -0.915177851916 --0.103177711367 -0.915163516998 --0.0859198719263 -0.915151849389 --0.0686621582135 -0.915142804385 --0.0514048757031 -0.915136352181 --0.0341475917958 -0.915132462978 --0.0168906112667 -0.915131226182 -0.00036649219692 -0.915132582188 -0.01762341219 -0.915136560797 -0.0348805799149 -0.915143206716 -0.0521376896649 -0.915152445436 -0.0693951705471 -0.915164262057 -0.0866527166218 -0.915178671479 -0.103910751641 -0.915195688605 -0.121168972924 -0.915215328336 -0.138427812606 -0.915237560868 -0.155686955899 -0.915248587727 -0.174898575991 -0.915236264467 -0.194111820311 -0.915214180946 -0.211371120066 -0.915194675326 -0.228629760444 -0.915177822113 -0.245888143778 -0.915163516998 -0.263145983219 -0.915151849389 -0.280403696001 -0.915142774582 -0.297660969198 -0.915136322379 -0.314918242395 -0.915132462978 -0.332175225019 -0.915131255984 -0.349432341754 -0.915132641792 -0.366689264774 -0.915136620402 -0.383946426213 -0.915143236518 -0.401203542947 -0.915152430535 -0.418461024761 -0.915164247156 -0.435718566179 -0.915178686381 -0.452976599335 -0.915195703507 -0.470234826207 -0.915215328336 -0.487493664026 -0.915237590671 -0.504752799868 -0.91524861753 -0.523964434862 -0.915236279368 -0.543177694082 -0.915214195847 -0.560436978936 -0.915194675326 -0.57769562304 -0.915177822113 -0.594953998923 -0.915163516998 -0.612211823464 -0.915151849389 -0.629469558597 -0.915142759681 -0.646726846695 -0.915136307478 -0.663984134793 -0.915132462978 -0.681241095066 -0.915131226182 -0.698498174548 -0.915132582188 -0.715755090118 -0.9151365906 -0.733012273908 -0.915143236518 -0.750269398094 -0.915152430535 -0.767526865006 -0.915164247156 -0.784784421325 -0.915178686381 -0.802042469383 -0.915195703507 -0.819300681353 -0.915215328336 -0.836559534073 -0.915237575769 -0.853818684817 -0.915248602629 -0.873030290008 -0.915236279368 -0.892243534327 -0.915214195847 -0.909502819181 -0.915194675326 -0.926761433482 -0.915177822113 -0.944019809365 -0.915163516998 -0.961277678609 -0.915151849389 -0.978535398841 -0.915142774582 -0.995792657139 -0.915136322379 -1.01304993034 -0.915132462978 -1.03030693531 -0.915131226182 -1.04756405949 -0.915132582188 -1.06482097506 -0.9151365906 -1.08207812905 -0.915143236518 -1.09933522344 -0.915152430535 -1.11659270525 -0.915164247156 -1.13385027647 -0.915178686381 -1.15110832453 -0.915195733309 -1.16836652159 -0.915215358138 -1.18562534452 -0.915237590671 -1.20288452506 -0.91524861753 -1.22209617495 -0.915236279368 -1.24130940437 -0.915214195847 -1.25856870413 -0.915194675326 -1.27582731843 -0.915177822113 -1.29308566451 -0.915163546801 -1.31034350395 -0.915151879191 -1.32760125399 -0.915142774582 -1.34485855699 -0.915136322379 -1.36211583018 -0.915132462978 -1.37937280536 -0.915131226182 -1.39662989974 -0.91513261199 -1.41388681531 -0.915136620402 -1.4311439991 -0.915143236518 -1.44840112329 -0.915152430535 -1.4656585753 -0.915164247156 -1.48291608691 -0.915178686381 -1.50017413497 -0.915195703507 -1.51743236184 -0.915215358138 -1.53469121456 -0.915237620473 -1.5519503653 -0.91524861753 -1.57116198539 -0.915236279368 -1.59037524462 -0.91521422565 -1.60763451457 -0.915194705129 -1.62489315867 -0.915177822113 -1.64215156436 -0.915163516998 -1.659409374 -0.915151849389 -1.67666709423 -0.915142774582 -1.69392436743 -0.915136322379 -1.71118164062 -0.915132462978 -1.7284386456 -0.915131226182 -1.74569573998 -0.91513261199 -1.76295265555 -0.915136620402 -1.78020980954 -0.915143236518 -1.79746690392 -0.915152430535 -1.81472441554 -0.915164247156 -1.83198195696 -0.915178686381 -1.84923997521 -0.915195703507 -1.86649823189 -0.915215328336 -1.88375708461 -0.915237560868 -1.90101623535 -0.915248587727 -1.92022785544 -0.915236279368 -1.93944108486 -0.915214195847 -1.95670038461 -0.915194675326 -1.97395902872 -0.915177822113 -1.9912174046 -0.915163546801 -2.00847521424 -0.915151879191 -2.02573293448 -0.915142759681 -2.04299020767 -0.915136307478 -2.06024748087 -0.915132462978 -2.07750445604 -0.915131255984 -2.09476155042 -0.915132641792 -2.1120185256 -0.915136620402 -2.12927567959 -0.915143236518 -2.14653277397 -0.915152445436 -2.16379028559 -0.915164262057 -2.18104785681 -0.915178686381 -2.19830584526 -0.915195733309 -2.21556401253 -0.915215358138 -2.23282289505 -0.915237575769 -2.25008207559 -0.915248602629 -2.26929366588 -0.915236279368 -2.2885068655 -0.915214195847 -2.30576622486 -0.915194675326 -2.32302486896 -0.915177822113 -2.34028321504 -0.915163516998 -2.35754108429 -0.915151849389 -2.37479883432 -0.915142774582 -2.39205610752 -0.915136322379 -2.40931338072 -0.915132462978 -2.42657035589 -0.915131226182 -2.44382745028 -0.91513261199 -2.46108436585 -0.915136620402 -2.47834151983 -0.915143221617 -2.49559861422 -0.915152415634 -2.51285612583 -0.915164247156 -2.53011369705 -0.915178686381 -2.54737168551 -0.915195703507 -2.56462991238 -0.915215328336 -2.58188873529 -0.915237575769 -2.59914791584 -0.915248602629 -2.61835956574 -0.915236279368 -2.63757276535 -0.915214195847 -2.6548320651 -0.915194675326 -2.67209070921 -0.915177822113 -2.6893491149 -0.915163516998 -2.70660692454 -0.915151849389 -2.72386461497 -0.915142759681 -2.74112194776 -0.915136307478 -2.75837922096 -0.915132462978 -2.77563619614 -0.915131226182 -2.79289335012 -0.915132582188 -2.81015026569 -0.9151365906 -2.82740741968 -0.915143236518 -2.84466451406 -0.915152445436 -2.86192196607 -0.915164262057 -2.87917947769 -0.915178686381 -2.89643752575 -0.915195733309 -2.91369581223 -0.915215358138 -2.93095469475 -0.915237575769 -2.94821381569 -0.915248572826 -2.96742540598 -0.915236249566 -2.9866386652 -0.915214210748 -3.00389790535 -0.91519472003 -3.02115654945 -0.915177851916 -3.03841495514 -0.915163516998 -3.05567276478 -0.915151849389 -3.07293045521 -0.915142804385 -3.0901877284 -0.915136352181 -3.10744506121 -0.915132462978 -3.12470203638 -0.915131226182 --3.14122614463 -0.915132582188 --3.12396925688 -0.915136560797 --3.10671210289 -0.915143206716 --3.0894548893 -0.915152445436 --3.07219743728 -0.915164262057 --3.05493998527 -0.915178671479 --3.03768193722 -0.915195688605 --3.02042365074 -0.915215328336 --3.00316476822 -0.915237560868 --2.98590564728 -0.915248587727 --2.96669405699 -0.915236264467 --2.94748079777 -0.915214180946 --2.93022155762 -0.915194675326 --2.91296291351 -0.915177822113 --2.89570450783 -0.915163516998 --2.87844669819 -0.915151849389 --2.86118900776 -0.915142774582 --2.84393173456 -0.915136322379 --2.82667440176 -0.915132462978 --2.80941742659 -0.915131255984 --2.7921603322 -0.915132641792 --2.77490335703 -0.915136620402 --2.75764620304 -0.915143236518 --2.74038910866 -0.915152430535 --2.72313159704 -0.915164247156 --2.70587402582 -0.915178686381 --2.68861603737 -0.915195703507 --2.6713578701 -0.915215328336 --2.65409898758 -0.915237590671 --2.63683986664 -0.91524861753 --2.61762827635 -0.915236279368 --2.59841501713 -0.915214195847 --2.58115565777 -0.915194675326 --2.56389701366 -0.915177822113 --2.54663872719 -0.915163516998 --2.52938085794 -0.915151849389 --2.5121230483 -0.915142759681 --2.49486577511 -0.915136307478 --2.47760856152 -0.915132462978 --2.46035158634 -0.915131226182 --2.44309443236 -0.915132582188 --2.42583751679 -0.9151365906 --2.4085803628 -0.915143236518 --2.39132326841 -0.915152430535 --2.3740658164 -0.915164247156 --2.35680824518 -0.915178686381 --2.33955013752 -0.915195703507 --2.32229191065 -0.915215328336 --2.30503314734 -0.915237575769 --2.2877740264 -0.915248602629 --2.2685623765 -0.915236279368 --2.24934911728 -0.915214195847 --2.23208981752 -0.915194675326 --2.21483123302 -0.915177822113 --2.19757282734 -0.915163516998 --2.18031489849 -0.915151849389 --2.16305720806 -0.915142774582 --2.14579993486 -0.915136322379 --2.12854260206 -0.915132462978 --2.11128562689 -0.915131226182 --2.09402859211 -0.915132582188 --2.07677173614 -0.9151365906 --2.05951458216 -0.915143236518 --2.04225748777 -0.915152430535 --2.02499997616 -0.915164247156 --2.00774237513 -0.915178686381 --1.99048432708 -0.915195733309 --1.97322613001 -0.915215358138 --1.95596730709 -0.915237590671 --1.93870815635 -0.91524861753 --1.91949653626 -0.915236279368 --1.90028327704 -0.915214195847 --1.88302397728 -0.915194675326 --1.86576533317 -0.915177822113 --1.84850695729 -0.915163546801 --1.83124914765 -0.915151879191 --1.81399142742 -0.915142774582 --1.79673412442 -0.915136322379 --1.77947685123 -0.915132462978 --1.76221987605 -0.915131226182 --1.74496278167 -0.91513261199 --1.7277058661 -0.915136620402 --1.71044865251 -0.915143236518 --1.69319155812 -0.915152430535 --1.67593410611 -0.915164247156 --1.65867653489 -0.915178686381 --1.64141851663 -0.915195703507 --1.62416028976 -0.915215358138 --1.60690140724 -0.915237620473 --1.5896422565 -0.91524861753 --1.57043066621 -0.915236279368 --1.55121743679 -0.91521422565 --1.53395813704 -0.915194705129 --1.51669949293 -0.915177822113 --1.49944108725 -0.915163516998 --1.48218324781 -0.915151849389 --1.46492555737 -0.915142774582 --1.44766828418 -0.915136322379 --1.43041098118 -0.915132462978 --1.413154006 -0.915131226182 --1.39589691162 -0.91513261199 --1.37863996625 -0.915136620402 --1.36138281226 -0.915143236518 --1.34412571788 -0.915152430535 --1.32686823607 -0.915164247156 --1.30961069465 -0.915178686381 --1.29235264658 -0.915195703507 --1.27509441972 -0.915215328336 --1.2578355968 -0.915237560868 --1.24057644606 -0.915248587727 --1.22136482596 -0.915236279368 --1.20215156675 -0.915214195847 --1.18489223719 -0.915194675326 --1.16763362288 -0.915177822113 --1.1503752768 -0.915163546801 --1.13311743736 -0.915151879191 --1.11585971713 -0.915142759681 --1.09860241413 -0.915136307478 --1.08134511113 -0.915132462978 --1.06408813596 -0.915131255984 --1.04683104157 -0.915132641792 --1.02957415581 -0.915136620402 --1.01231700182 -0.915143236518 --0.995059862732 -0.915152445436 --0.977802366018 -0.915164262057 --0.9605448246 -0.915178686381 --0.943286791444 -0.915195733309 --0.926028564573 -0.915215358138 --0.908769741655 -0.915237575769 --0.891510590911 -0.915248602629 --0.872298955918 -0.915236279368 --0.853085711598 -0.915214195847 --0.835826426744 -0.915194675326 --0.818567812442 -0.915177822113 --0.801309421658 -0.915163516998 --0.784051582217 -0.915151849389 --0.766793861985 -0.915142774582 --0.749536573887 -0.915136322379 --0.732279270888 -0.915132462978 --0.715022295713 -0.915131226182 --0.69776520133 -0.91513261199 --0.680508285761 -0.915136620402 --0.663251131773 -0.915143221617 --0.645994007588 -0.915152415634 --0.628736525774 -0.915164247156 --0.611478984356 -0.915178686381 --0.594220966101 -0.915195703507 --0.576962739229 -0.915215328336 --0.559703871608 -0.915237575769 --0.542444720864 -0.915248602629 --0.523233115673 -0.915236279368 --0.504019871354 -0.915214195847 --0.486760564148 -0.915194675326 --0.469501927495 -0.915177822113 --0.452243551612 -0.915163516998 --0.434985719621 -0.915151849389 --0.417727999389 -0.915142759681 --0.400470711291 -0.915136307478 --0.383213430643 -0.915132462978 --0.36595647037 -0.915131226182 --0.348699361086 -0.915132582188 --0.331442423165 -0.9151365906 --0.314185254276 -0.915143236518 --0.296928152442 -0.915152445436 --0.27967068553 -0.915164262057 --0.262413144111 -0.915178686381 --0.24515510723 -0.915195733309 --0.227896887809 -0.915215358138 --0.210638042539 -0.915237575769 --0.19337888807 -0.915248572826 --0.174167267978 -0.932352662087 --0.154950238764 -0.932330340147 --0.137690920383 -0.932310625911 --0.120432272553 -0.932293593884 --0.103173878044 -0.932279124856 --0.0859160218387 -0.932267323136 --0.0686582913622 -0.932258144021 --0.0514009930193 -0.93225158751 --0.0341436923481 -0.932247698307 --0.0168866966851 -0.932246491313 -0.000370422378182 -0.932247847319 -0.0176273584366 -0.932251870632 -0.0348845431581 -0.932258576155 -0.0521416701376 -0.932267889381 -0.0693991649896 -0.932279840112 -0.0866567250341 -0.932294428348 -0.10391477868 -0.93231163919 -0.121173013002 -0.932331487537 -0.138431869447 -0.93235398829 -0.155691038817 -0.932365134358 -0.174902513623 -0.932352662087 -0.194115608931 -0.932330340147 -0.211374923587 -0.93231061101 -0.228633578867 -0.932293564081 -0.245891973377 -0.932279109955 -0.263149827719 -0.932267323136 -0.280407562852 -0.932258144021 -0.297664865851 -0.932251617312 -0.31492215395 -0.932247728109 -0.332179144025 -0.932246491313 -0.34943626821 -0.932247877121 -0.36669319868 -0.932251900435 -0.383950382471 -0.932258576155 -0.401207521558 -0.932267904282 -0.418465010822 -0.932279855013 -0.435722567141 -0.93229444325 -0.4529806301 -0.932311654091 -0.470238864422 -0.932331517339 -0.487497709692 -0.932354003191 -0.504756860435 -0.932365119457 -0.523968353868 -0.932352662087 -0.543181464076 -0.932330340147 -0.560440763831 -0.93231061101 -0.577699422836 -0.932293578982 -0.594957828522 -0.932279124856 -0.612215667963 -0.932267323136 -0.629473403096 -0.932258144021 -0.646730720997 -0.932251617312 -0.663988023996 -0.932247698307 -0.68124499917 -0.932246461511 -0.698502123356 -0.932247847319 -0.715759068727 -0.932251900435 -0.733016237617 -0.932258605957 -0.750273376703 -0.932267904282 -0.767530873418 -0.932279855013 -0.784788444638 -0.93229444325 -0.802046507597 -0.932311654091 -0.819304734469 -0.932331487537 -0.836563587189 -0.932353973389 -0.853822737933 -0.932365119457 -0.873034209013 -0.932352662087 -0.892247334123 -0.932330340147 -0.909506648779 -0.93231061101 -0.926765263081 -0.932293578982 -0.944023638964 -0.932279124856 -0.961281508207 -0.932267293334 -0.978539273143 -0.932258114218 -0.995796561243 -0.932251617312 -1.01305383444 -0.932247728109 -1.03031086922 -0.932246491313 -1.0475679934 -0.932247847319 -1.06482490897 -0.932251870632 -1.08208209276 -0.932258576155 -1.09933921695 -0.932267904282 -1.11659672857 -0.932279855013 -1.13385429979 -0.93229444325 -1.15111234784 -0.932311698794 -1.16837057471 -0.93233153224 -1.18562942743 -0.932354003191 -1.20288860798 -0.932365149259 -1.22210007906 -0.932352662087 -1.24131315947 -0.932330340147 -1.25857248903 -0.93231061101 -1.27583116293 -0.932293578982 -1.29308953881 -0.932279124856 -1.31034737825 -0.932267323136 -1.32760512829 -0.932258144021 -1.34486243129 -0.932251617312 -1.36211970449 -0.932247698307 -1.37937667966 -0.932246461511 -1.39663380384 -0.932247877121 -1.41389074921 -0.932251930237 -1.43114796281 -0.932258605957 -1.448405087 -0.932267904282 -1.46566253901 -0.932279855013 -1.48292008043 -0.93229444325 -1.50017815828 -0.932311668992 -1.51743641495 -0.932331502438 -1.53469526768 -0.932353973389 -1.55195444822 -0.932365119457 -1.5711659193 -0.932352662087 -1.59037902951 -0.932330369949 -1.60763835907 -0.932310640812 -1.62489700317 -0.932293578982 -1.64215540886 -0.932279139757 -1.6594132483 -0.932267338037 -1.67667096853 -0.932258144021 -1.69392824173 -0.932251617312 -1.71118554473 -0.932247728109 -1.72844257951 -0.932246491313 -1.74569970369 -0.932247877121 -1.76295661926 -0.932251900435 -1.78021377325 -0.932258576155 -1.79747089744 -0.932267904282 -1.81472840905 -0.932279855013 -1.83198598027 -0.93229444325 -1.84924402833 -0.932311668992 -1.8665022552 -0.932331502438 -1.88376113773 -0.93235398829 -1.90102031827 -0.932365134358 -1.92023178935 -0.932352662087 -1.93944486976 -0.932330340147 -1.95670416951 -0.93231061101 -1.97396284342 -0.932293564081 -1.9912212193 -0.932279109955 -2.00847905874 -0.932267293334 -2.02573680878 -0.932258114218 -2.04299408197 -0.932251617312 -2.06025135517 -0.932247698307 -2.07750838995 -0.932246461511 -2.09476554394 -0.932247906923 -2.11202245951 -0.932251930237 -2.1292796135 -0.932258576155 -2.14653676749 -0.932267919183 -2.1637942791 -0.932279869914 -2.18105185032 -0.93229444325 -2.19830989838 -0.932311683893 -2.21556806564 -0.932331517339 -2.23282694817 -0.932353973389 -2.25008618832 -0.932365119457 -2.2692976594 -0.932352662087 -2.2885106802 -0.932330340147 -2.30576997995 -0.93231061101 -2.32302862406 -0.932293578982 -2.34028702974 -0.932279124856 -2.35754495859 -0.932267323136 -2.37480270863 -0.932258144021 -2.39205998182 -0.932251617312 -2.40931731462 -0.932247698307 -2.4265742898 -0.932246461511 -2.44383138418 -0.932247847319 -2.46108835936 -0.932251870632 -2.47834551334 -0.932258561254 -2.49560260773 -0.932267889381 -2.51286011934 -0.932279855013 -2.53011769057 -0.93229444325 -2.54737567902 -0.932311668992 -2.56463396549 -0.932331502438 -2.58189284802 -0.932354003191 -2.59915196896 -0.932365149259 -2.61836344004 -0.932352662087 -2.63757658005 -0.932330340147 -2.65483593941 -0.93231061101 -2.67209458351 -0.932293578982 -2.6893529892 -0.932279124856 -2.70661079884 -0.932267323136 -2.72386848927 -0.932258144021 -2.74112582207 -0.932251617312 -2.75838315487 -0.932247698307 -2.77564013004 -0.932246461511 -2.79289722443 -0.932247877121 -2.81015414 -0.932251900435 -2.82741135359 -0.932258576155 -2.84466850757 -0.932267919183 -2.86192595959 -0.932279869914 -2.8791834712 -0.93229444325 -2.89644157887 -0.932311698794 -2.91369986534 -0.93233153224 -2.93095868826 -0.932353973389 -2.9482178092 -0.932365119457 -2.96742928028 -0.932352662087 -2.98664242029 -0.932330340147 -3.00390172004 -0.932310625911 -3.02116036415 -0.932293593884 -3.03841876984 -0.932279124856 -3.05567663908 -0.932267323136 -3.07293432951 -0.932258144021 -3.09019160271 -0.93225158751 -3.10744893551 -0.932247698307 -3.12470597029 -0.932246491313 --3.14122221072 -0.932247847319 --3.12396532297 -0.932251870632 --3.10670810938 -0.932258576155 --3.08945095539 -0.932267889381 --3.07219350338 -0.932279840112 --3.05493599176 -0.932294428348 --3.0376778841 -0.93231163919 --3.02041959763 -0.932331487537 --3.00316077471 -0.93235398829 --2.98590159416 -0.932365134358 --2.96669012308 -0.932352662087 --2.94747704267 -0.932330340147 --2.93021774292 -0.93231061101 --2.91295909882 -0.932293564081 --2.89570069313 -0.932279109955 --2.87844282389 -0.932267323136 --2.86118513346 -0.932258144021 --2.84392786026 -0.932251617312 --2.82667052746 -0.932247728109 --2.80941349268 -0.932246491313 --2.7921563983 -0.932247877121 --2.77489948273 -0.932251900435 --2.75764226914 -0.932258576155 --2.74038511515 -0.932267904282 --2.72312760353 -0.932279855013 --2.70587003231 -0.93229444325 --2.68861198425 -0.932311654091 --2.67135381699 -0.932331517339 --2.65409493446 -0.932354003191 --2.63683575392 -0.932365119457 --2.61762428284 -0.932352662087 --2.59841120243 -0.932330340147 --2.58115190267 -0.93231061101 --2.56389325857 -0.932293578982 --2.54663491249 -0.932279124856 --2.52937698364 -0.932267323136 --2.512119174 -0.932258144021 --2.49486190081 -0.932251617312 --2.47760468722 -0.932247698307 --2.46034771204 -0.932246461511 --2.44309049845 -0.932247847319 --2.42583352327 -0.932251900435 --2.40857636929 -0.932258605957 --2.3913192749 -0.932267904282 --2.37406182289 -0.932279855013 --2.35680425167 -0.93229444325 --2.33954614401 -0.932311654091 --2.32228785753 -0.932331487537 --2.30502903461 -0.932353973389 --2.28776991367 -0.932365119457 --2.26855844259 -0.932352662087 --2.24934530258 -0.932330340147 --2.23208594322 -0.93231061101 --2.21482735872 -0.932293578982 --2.19756901264 -0.932279124856 --2.1803111434 -0.932267293334 --2.16305339336 -0.932258114218 --2.14579606056 -0.932251617312 --2.12853872776 -0.932247728109 --2.11128175259 -0.932246491313 --2.0940246582 -0.932247847319 --2.07676774263 -0.932251870632 --2.05951058865 -0.932258576155 --2.04225349426 -0.932267904282 --2.02499598265 -0.932279855013 --2.00773835182 -0.93229444325 --1.99048027396 -0.932311698794 --1.97322207689 -0.93233153224 --1.95596325397 -0.932354003191 --1.93870410323 -0.932365149259 --1.91949263215 -0.932352662087 --1.90027949214 -0.932330340147 --1.88302016258 -0.93231061101 --1.86576151848 -0.932293578982 --1.84850311279 -0.932279124856 --1.83124527335 -0.932267323136 --1.81398755312 -0.932258144021 --1.79673022032 -0.932251617312 --1.77947291732 -0.932247698307 --1.76221594215 -0.932246461511 --1.74495881796 -0.932247877121 --1.72770190239 -0.932251930237 --1.7104447186 -0.932258605957 --1.69318759441 -0.932267904282 --1.6759301126 -0.932279855013 --1.65867254138 -0.93229444325 --1.64141449332 -0.932311668992 --1.62415626645 -0.932331502438 --1.60689738393 -0.932353973389 --1.58963820338 -0.932365119457 --1.5704267323 -0.932352662087 --1.5512136519 -0.932330369949 --1.53395435214 -0.932310640812 --1.51669567823 -0.932293578982 --1.49943727255 -0.932279139757 --1.48217943311 -0.932267338037 --1.46492171287 -0.932258144021 --1.44766440988 -0.932251617312 --1.43040707707 -0.932247728109 --1.4131500721 -0.932246491313 --1.39589297771 -0.932247877121 --1.37863603234 -0.932251900435 --1.36137884855 -0.932258576155 --1.34412172437 -0.932267904282 --1.32686421275 -0.932279855013 --1.30960664153 -0.93229444325 --1.29234859347 -0.932311668992 --1.2750903666 -0.932331502438 --1.25783151388 -0.93235398829 --1.24057236314 -0.932365134358 --1.22136092186 -0.932352662087 --1.20214781165 -0.932330340147 --1.18488845229 -0.93231061101 --1.16762980819 -0.932293564081 --1.15037143231 -0.932279109955 --1.13311359286 -0.932267293334 --1.11585584283 -0.932258114218 --1.09859851003 -0.932251617312 --1.08134123683 -0.932247698307 --1.06408426166 -0.932246461511 --1.04682713747 -0.932247906923 --1.0295701921 -0.932251930237 --1.01231300831 -0.932258576155 --0.995055899024 -0.932267919183 --0.977798402309 -0.932279869914 --0.960540831089 -0.93229444325 --0.943282768131 -0.932311683893 --0.926024526358 -0.932331517339 --0.908765688539 -0.932353973389 --0.891506522894 -0.932365119457 --0.872295036912 -0.932352662087 --0.853081941605 -0.932330340147 --0.835822626948 -0.93231061101 --0.818563997745 -0.932293578982 --0.80130559206 -0.932279124856 --0.784047722817 -0.932267323136 --0.766790002585 -0.932258144021 --0.749532684684 -0.932251617312 --0.732275366784 -0.932247698307 --0.715018376708 -0.932246461511 --0.697761267423 -0.932247847319 --0.680504336953 -0.932251870632 --0.663247153163 -0.932258561254 --0.645990028978 -0.932267889381 --0.628732532263 -0.932279855013 --0.611474975943 -0.93229444325 --0.594216927886 -0.932311668992 --0.576958686113 -0.932331502438 --0.559699818492 -0.932354003191 --0.542440652847 -0.932365149259 --0.523229181767 -0.932352662087 --0.504016079008 -0.932330340147 --0.486756764352 -0.93231061101 --0.469498105347 -0.932293578982 --0.452239729464 -0.932279124856 --0.434981882572 -0.932267323136 --0.417724139988 -0.932258144021 --0.400466836989 -0.932251617312 --0.383209533989 -0.932247698307 --0.365952551365 -0.932246461511 --0.34869543463 -0.932247877121 --0.331438489258 -0.932251900435 --0.314181298017 -0.932258576155 --0.296924181282 -0.932267919183 --0.279666692018 -0.932279869914 --0.262409120798 -0.93229444325 --0.245151069015 -0.932311698794 --0.227892838419 -0.93233153224 --0.210633981973 -0.932353973389 --0.193374812603 -0.932365119457 --0.174163337797 -0.949449941516 --0.154946494848 -0.94942741096 --0.13768716529 -0.949407458305 --0.12042850256 -0.949390217662 --0.103170087561 -0.949375614524 --0.0859122183174 -0.949363708496 --0.0686544729396 -0.949354410171 --0.051397155039 -0.949347764253 --0.0341398380697 -0.94934386015 --0.0168828270398 -0.949342638254 -0.000374307390303 -0.949344009161 -0.0176312597468 -0.949348092079 -0.0348884612322 -0.949354842305 -0.0521456031128 -0.949364244938 -0.069403112866 -0.94937634468 -0.086660688743 -0.949391126633 -0.103918761015 -0.949408531189 -0.121177015826 -0.949428573251 -0.138435889035 -0.949451312423 -0.155695073307 -0.949462547898 -0.174906402826 -0.949449926615 -0.194119356573 -0.949427396059 -0.211378682405 -0.949407473206 -0.228637348861 -0.949390217662 -0.245895761997 -0.949375599623 -0.263153634966 -0.949363678694 -0.280411385 -0.949354410171 -0.2976687029 -0.949347823858 -0.31492601335 -0.949343889952 -0.332183025777 -0.949342638254 -0.349440157413 -0.949344009161 -0.366697095334 -0.949348092079 -0.383954301477 -0.949354842305 -0.401211455464 -0.94936427474 -0.41846896708 -0.949376374483 -0.435726538301 -0.949391126633 -0.45298460871 -0.949408531189 -0.470242850482 -0.949428573251 -0.487501718104 -0.949451282621 -0.5047609061 -0.949462518096 -0.523972243071 -0.949449926615 -0.543185189366 -0.949427396059 -0.560444518924 -0.949407473206 -0.577703207731 -0.949390232563 -0.594961628318 -0.949375614524 -0.612219467759 -0.949363678694 -0.629477202892 -0.94935439527 -0.646734550595 -0.949347808957 -0.663991868496 -0.94934386015 -0.681248873472 -0.949342608452 -0.69850602746 -0.949344009161 -0.715762972832 -0.949348121882 -0.733020171523 -0.949354872108 -0.750277325511 -0.94936427474 -0.767534837127 -0.949376374483 -0.784792408347 -0.949391126633 -0.802050471306 -0.949408531189 -0.81930872798 -0.949428573251 -0.836567595601 -0.949451282621 -0.853826761246 -0.949462518096 -0.873038083315 -0.949449926615 -0.892251074314 -0.949427396059 -0.909510418773 -0.949407473206 -0.926769062877 -0.949390232563 -0.944027453661 -0.949375614524 -0.961285322905 -0.949363648892 -0.97854308784 -0.949354380369 -0.995800405742 -0.949347838759 -1.01305770874 -0.949343904853 -1.03031471372 -0.949342638254 -1.0475718677 -0.949344009161 -1.06482881307 -0.949348092079 -1.08208599687 -0.949354872108 -1.09934315085 -0.949364304543 -1.11660066247 -0.949376374483 -1.13385823369 -0.949391126633 -1.15111631155 -0.94940854609 -1.16837456822 -0.94942855835 -1.18563345075 -0.949451282621 -1.20289263129 -0.949462547898 -1.22210392356 -0.949449926615 -1.24131688476 -0.949427396059 -1.25857624412 -0.949407473206 -1.27583491802 -0.949390247464 -1.29309332371 -0.949375629425 -1.31035116315 -0.949363678694 -1.32760891318 -0.949354410171 -1.34486624599 -0.949347838759 -1.36212354899 -0.949343875051 -1.37938055396 -0.949342608452 -1.39663770795 -0.949344038963 -1.41389468312 -0.949348151684 -1.43115189671 -0.949354872108 -1.4484090209 -0.94936427474 -1.46566650271 -0.949376374483 -1.48292407394 -0.949391126633 -1.50018215179 -0.94940854609 -1.51744043827 -0.94942855835 -1.53469929099 -0.949451252818 -1.55195847153 -0.949462518096 -1.5711698234 -0.949449926615 -1.5903827548 -0.949427396059 -1.60764208436 -0.949407473206 -1.62490075827 -0.949390247464 -1.64215919375 -0.949375629425 -1.659417063 -0.949363678694 -1.67667478323 -0.949354410171 -1.69393208623 -0.949347823858 -1.71118941903 -0.949343889952 -1.72844645381 -0.949342638254 -1.74570357799 -0.949344009161 -1.76296049356 -0.949348092079 -1.78021767736 -0.949354842305 -1.79747483134 -0.94936427474 -1.81473234296 -0.949376374483 -1.83198991418 -0.949391126633 -1.84924799204 -0.94940854609 -1.86650624871 -0.949428588152 -1.88376513124 -0.949451312423 -1.90102431178 -0.949462547898 -1.92023563385 -0.949449926615 -1.93944859505 -0.949427396059 -1.9567079246 -0.949407473206 -1.97396659851 -0.949390217662 -1.991225034 -0.949375599623 -2.00848293304 -0.949363648892 -2.02574062347 -0.949354365468 -2.04299789667 -0.949347823858 -2.06025522948 -0.949343875051 -2.07751226425 -0.949342608452 -2.09476941824 -0.949344038963 -2.11202633381 -0.949348121882 -2.1292835474 -0.949354842305 -2.14654070139 -0.94936427474 -2.16379821301 -0.949376374483 -2.18105584383 -0.949391126633 -2.19831389189 -0.949408531189 -2.21557205915 -0.949428543449 -2.23283094168 -0.949451252818 -2.25009018183 -0.949462518096 -2.2693015337 -0.949449926615 -2.28851443529 -0.949427396059 -2.30577373505 -0.949407473206 -2.32303243875 -0.949390232563 -2.34029084444 -0.949375614524 -2.35754871368 -0.949363708496 -2.37480652332 -0.949354439974 -2.39206385612 -0.949347823858 -2.40932112932 -0.94934386015 -2.42657810449 -0.949342608452 -2.44383525848 -0.949344009161 -2.46109223366 -0.949348092079 -2.47834944725 -0.949354872108 -2.49560660124 -0.949364304543 -2.51286405325 -0.949376374483 -2.53012162447 -0.949391126633 -2.54737973213 -0.949408531189 -2.56463801861 -0.949428543449 -2.58189690113 -0.949451282621 -2.59915602207 -0.949462547898 -2.61836731434 -0.949449926615 -2.63758033514 -0.949427396059 -2.6548396945 -0.949407473206 -2.6720983386 -0.949390232563 -2.68935674429 -0.949375614524 -2.70661455393 -0.949363678694 -2.72387230396 -0.949354410171 -2.74112963676 -0.949347838759 -2.75838696957 -0.949343875051 -2.77564400434 -0.949342608452 -2.79290109873 -0.949344038963 -2.8101580739 -0.949348121882 -2.8274152875 -0.949354842305 -2.84467238188 -0.94936427474 -2.8619298935 -0.949376374483 -2.87918746472 -0.949391126633 -2.89644557238 -0.94940854609 -2.91370385885 -0.94942855835 -2.93096268177 -0.949451252818 -2.94822186232 -0.949462518096 -2.96743321419 -0.949449941516 -2.98664617539 -0.94942741096 -3.00390547514 -0.949407458305 -3.02116411924 -0.949390217662 -3.03842258453 -0.949375614524 -3.05568051338 -0.949363708496 -3.07293820381 -0.949354410171 -3.09019547701 -0.949347764253 -3.10745280981 -0.94934386015 -3.12470984459 -0.949342638254 --3.14121833642 -0.949344009161 --3.12396138907 -0.949348092079 --3.10670417547 -0.949354842305 --3.08944708109 -0.949364244938 --3.07218956947 -0.94937634468 --3.05493199825 -0.949391126633 --3.03767389059 -0.949408531189 --3.02041560412 -0.949428573251 --3.0031567812 -0.949451312423 --2.98589754105 -0.949462547898 --2.96668618918 -0.949449926615 --2.94747328758 -0.949427396059 --2.93021398782 -0.949407473206 --2.91295534372 -0.949390217662 --2.89569687844 -0.949375599623 --2.87843894959 -0.949363678694 --2.86118125916 -0.949354410171 --2.84392398596 -0.949347823858 --2.82666665316 -0.949343889952 --2.80940961838 -0.949342638254 --2.792152524 -0.949344009161 --2.77489560843 -0.949348092079 --2.75763839483 -0.949354842305 --2.74038124084 -0.94936427474 --2.72312366962 -0.949376374483 --2.7058660388 -0.949391126633 --2.68860799074 -0.949408531189 --2.67134982348 -0.949428573251 --2.65409094095 -0.949451282621 --2.6368317008 -0.949462518096 --2.61762034893 -0.949449926615 --2.59840744734 -0.949427396059 --2.58114814758 -0.949407473206 --2.56388944388 -0.949390232563 --2.54663103819 -0.949375614524 --2.52937316895 -0.949363678694 --2.51211541891 -0.94935439527 --2.49485808611 -0.949347808957 --2.47760081291 -0.94934386015 --2.46034383774 -0.949342608452 --2.44308662415 -0.949344009161 --2.42582964897 -0.949348121882 --2.40857243538 -0.949354872108 --2.39131528139 -0.94936427474 --2.37405782938 -0.949376374483 --2.35680025816 -0.949391126633 --2.3395421505 -0.949408531189 --2.32228386402 -0.949428573251 --2.3050249815 -0.949451282621 --2.28776586056 -0.949462518096 --2.26855456829 -0.949449926615 --2.24934154749 -0.949427396059 --2.23208218813 -0.949407473206 --2.21482354403 -0.949390232563 --2.19756519795 -0.949375614524 --2.18030738831 -0.949363648892 --2.16304957867 -0.949354380369 --2.14579224587 -0.949347838759 --2.12853491306 -0.949343904853 --2.11127787829 -0.949342638254 --2.0940207839 -0.949344009161 --2.07676386833 -0.949348092079 --2.05950665474 -0.949354872108 --2.04224950075 -0.949364304543 --2.02499204874 -0.949376374483 --2.00773444772 -0.949391126633 --1.99047631025 -0.94940854609 --1.97321805358 -0.94942855835 --1.95595920086 -0.949451282621 --1.93870005012 -0.949462547898 --1.91948872805 -0.949449926615 --1.90027573705 -0.949427396059 --1.88301637769 -0.949407473206 --1.86575773358 -0.949390247464 --1.8484993279 -0.949375629425 --1.83124145866 -0.949363678694 --1.81398373842 -0.949354410171 --1.79672640562 -0.949347838759 --1.77946907282 -0.949343875051 --1.76221206784 -0.949342608452 --1.74495491386 -0.949344038963 --1.72769796848 -0.949348151684 --1.7104408145 -0.949354872108 --1.6931836605 -0.94936427474 --1.67592611909 -0.949376374483 --1.65866854787 -0.949391126633 --1.64141049981 -0.94940854609 --1.62415227294 -0.94942855835 --1.60689339041 -0.949451252818 --1.58963420987 -0.949462518096 --1.570422858 -0.949449926615 --1.5512098968 -0.949427396059 --1.53395059705 -0.949407473206 --1.51669189334 -0.949390247464 --1.49943345785 -0.949375629425 --1.48217561841 -0.949363678694 --1.46491786837 -0.949354410171 --1.44766053557 -0.949347823858 --1.43040323258 -0.949343889952 --1.4131462276 -0.949342638254 --1.39588910341 -0.949344009161 --1.37863215804 -0.949348092079 --1.36137494445 -0.949354842305 --1.34411779046 -0.94936427474 --1.32686027884 -0.949376374483 --1.30960270762 -0.949391126633 --1.29234462976 -0.94940854609 --1.27508637309 -0.949428588152 --1.25782749057 -0.949451312423 --1.24056831002 -0.949462547898 --1.22135701775 -0.949449926615 --1.20214405656 -0.949427396059 --1.1848846972 -0.949407473206 --1.1676260531 -0.949390217662 --1.15036764741 -0.949375599623 --1.13310977817 -0.949363648892 --1.11585202813 -0.949354365468 --1.09859469533 -0.949347823858 --1.08133739233 -0.949343875051 --1.06408038735 -0.949342608452 --1.04682323337 -0.949344038963 --1.02956625819 -0.949348121882 --1.0123090744 -0.949354842305 --0.995051965119 -0.94936427474 --0.977794468403 -0.949376374483 --0.960536882281 -0.949391126633 --0.94327878952 -0.949408531189 --0.926020532846 -0.949428543449 --0.908761680126 -0.949451252818 --0.891502499581 -0.949462518096 --0.872291147709 -0.949449926615 --0.853078201413 -0.949427396059 --0.835818886757 -0.949407473206 --0.818560212851 -0.949390232563 --0.801301777363 -0.949375614524 --0.784043908119 -0.949363708496 --0.766786172986 -0.949354439974 --0.749528855085 -0.949347823858 --0.732271537185 -0.94934386015 --0.715014517307 -0.949342608452 --0.69775737822 -0.949344009161 --0.680500432849 -0.949348092079 --0.663243249059 -0.949354872108 --0.645986109972 -0.949364304543 --0.628728583455 -0.949376374483 --0.611470997333 -0.949391126633 --0.594212919474 -0.949408531189 --0.576954677701 -0.949428543449 --0.559695810079 -0.949451282621 --0.542436614633 -0.949462547898 --0.523225277663 -0.949449926615 --0.504012331367 -0.949427396059 --0.486753009259 -0.949407473206 --0.469494335353 -0.949390232563 --0.452235937118 -0.949375614524 --0.434978075326 -0.949363678694 --0.417720325291 -0.949354410171 --0.40046299994 -0.949347838759 --0.383205682039 -0.949343875051 --0.365948684513 -0.949342608452 --0.348691545427 -0.949344038963 --0.331434585154 -0.949348121882 --0.314177379012 -0.949354842305 --0.296920239925 -0.94936427474 --0.27966273576 -0.949376374483 --0.262405149639 -0.949391126633 --0.24514707923 -0.94940854609 --0.227888833732 -0.94942855835 --0.210629962385 -0.949451252818 --0.193370781839 -0.949462518096 --0.174159452319 -0.966559931636 --0.154941800982 -0.966537177563 --0.137682452798 -0.966517060995 --0.120423771441 -0.966499641538 --0.103165334091 -0.966484859586 --0.0859074462205 -0.96647284925 --0.0686496831476 -0.966463491321 --0.0513923438266 -0.966456800699 --0.0341350068338 -0.966452807188 --0.0168779760133 -0.966451525688 -0.00037917890586 -0.9664529562 -0.0176361519843 -0.966457098722 -0.0348933725618 -0.966463893652 -0.0521505335346 -0.966473415494 -0.0694080665707 -0.966485664248 -0.0866656657308 -0.966500550508 -0.103923751041 -0.966518133879 -0.121182024479 -0.966538399458 -0.138440921903 -0.966561317444 -0.1557001248 -0.966572657227 -0.174911275506 -0.966559916735 -0.194124050439 -0.966537162662 -0.211383394897 -0.966517046094 -0.228642076254 -0.966499626637 -0.245900522917 -0.966484859586 -0.263158418238 -0.966472804547 -0.280416175723 -0.966463446617 -0.297673508525 -0.966456785798 -0.314930841327 -0.966452792287 -0.332187876105 -0.966451525688 -0.349445030093 -0.9664529562 -0.366701997816 -0.966457098722 -0.38395922631 -0.966463893652 -0.401216387749 -0.966473415494 -0.418473921716 -0.966485649347 -0.435731522739 -0.966500550509 -0.452989600599 -0.966518118977 -0.470247864723 -0.966538369656 -0.487506762147 -0.966561347246 -0.504765972495 -0.96657268703 -0.52397711575 -0.966559916735 -0.543189883232 -0.966537162662 -0.560449257493 -0.966517046094 -0.577707961202 -0.966499626637 -0.594966381788 -0.966484859586 -0.612224251032 -0.966472804547 -0.629482015967 -0.966463431716 -0.64673936367 -0.966456770897 -0.663996696472 -0.966452792287 -0.681253731251 -0.966451525688 -0.69851090014 -0.966452926397 -0.715767860412 -0.96645706892 -0.733025074005 -0.966463893652 -0.750282242894 -0.966473415494 -0.767539769411 -0.966485649347 -0.784797355533 -0.966500550509 -0.802055463195 -0.966518118977 -0.819313749671 -0.966538399458 -0.836572632193 -0.966561377048 -0.853831842542 -0.96657268703 -0.873042985797 -0.966559916735 -0.89225576818 -0.966537162662 -0.909515112639 -0.966517046094 -0.926773786545 -0.966499626637 -0.944032222033 -0.966484859586 -0.961290106177 -0.966472804547 -0.978547871113 -0.966463446617 -0.995805218815 -0.966456800699 -1.01306253672 -0.966452807188 -1.03031954169 -0.966451525688 -1.04757675528 -0.966452926397 -1.06483373046 -0.96645706892 -1.08209091425 -0.966463923454 -1.09934809804 -0.966473445296 -1.11660560965 -0.966485649347 -1.13386318088 -0.966500550509 -1.15112128854 -0.966518118977 -1.16837957501 -0.966538339854 -1.18563848734 -0.966561287641 -1.20289769768 -0.966572657227 -1.22210881114 -0.966559946537 -1.24132159352 -0.966537192464 -1.25858098269 -0.966517060995 -1.27583962679 -0.966499656439 -1.29309803248 -0.966484874487 -1.31035593152 -0.966472804547 -1.32761371136 -0.966463446617 -1.34487104416 -0.966456800699 -1.36212837696 -0.966452807188 -1.37938544154 -0.966451525688 -1.39664259553 -0.9664529562 -1.4138995707 -0.966457128525 -1.4311567843 -0.966463923454 -1.44841393828 -0.966473415494 -1.4656714797 -0.966485649347 -1.48292908072 -0.966500550509 -1.50018715858 -0.966518118977 -1.51744544506 -0.966538339854 -1.53470432758 -0.966561287641 -1.55196350813 -0.966572657227 -1.57117468119 -0.966559946537 -1.59038743377 -0.966537207365 -1.60764676333 -0.966517075897 -1.62490546703 -0.966499656439 -1.64216393232 -0.966484859586 -1.65942183137 -0.966472789646 -1.6766795814 -0.966463416815 -1.69393691421 -0.966456755996 -1.71119424701 -0.966452792287 -1.72845128178 -0.966451525688 -1.74570843577 -0.966452926397 -1.76296538114 -0.96645706892 -1.78022259474 -0.966463893652 -1.79747977853 -0.966473415494 -1.81473731994 -0.966485649347 -1.83199489116 -0.966500550509 -1.84925296902 -0.96651814878 -1.8665112555 -0.966538399458 -1.88377013803 -0.966561347246 -1.90102934837 -0.96657268703 -1.92024049163 -0.966559946537 -1.93945327401 -0.966537192464 -1.95671263337 -0.966517060995 -1.97397130728 -0.966499641538 -1.99122977257 -0.966484859586 -2.00848770141 -0.966472804547 -2.02574545145 -0.966463431716 -2.04300278425 -0.966456785798 -2.06026011705 -0.966452807188 -2.07751709223 -0.966451525688 -2.09477424622 -0.9664529562 -2.112031281 -0.966457098722 -2.12928855419 -0.966463893652 -2.14654564858 -0.966473415494 -2.16380316019 -0.966485649347 -2.18106079102 -0.966500550509 -2.19831883907 -0.96651814878 -2.21557706594 -0.966538369656 -2.23283594847 -0.966561287641 -2.25009518862 -0.966572657227 -2.26930636167 -0.966559916735 -2.28851914406 -0.966537162662 -2.30577850342 -0.966517046094 -2.32303720713 -0.966499626637 -2.34029567241 -0.966484859586 -2.35755354166 -0.966472834349 -2.37481129169 -0.96646347642 -2.3920686245 -0.966456785798 -2.4093258977 -0.966452792287 -2.42658293247 -0.966451525688 -2.44384014606 -0.966452926397 -2.46109712124 -0.96645706892 -2.47835433483 -0.966463923454 -2.49561148882 -0.966473445296 -2.51286900043 -0.966485649347 -2.53012663126 -0.966500550509 -2.54738473892 -0.966518104076 -2.5646430254 -0.966538354755 -2.58190190792 -0.966561347246 -2.59916102886 -0.96657268703 -2.61837214232 -0.966559946537 -2.6375849843 -0.966537192464 -2.65484434366 -0.966517046094 -2.67210304737 -0.966499626637 -2.68936151266 -0.966484859586 -2.7066193223 -0.966472804547 -2.72387707234 -0.966463446617 -2.74113440514 -0.966456800699 -2.75839179754 -0.966452807188 -2.77564889192 -0.966451525688 -2.79290598631 -0.966452926397 -2.81016296149 -0.96645706892 -2.82742017508 -0.966463893652 -2.84467732907 -0.966473415494 -2.86193490029 -0.966485649347 -2.8791924715 -0.966500550509 -2.89645057917 -0.966518118977 -2.91370886564 -0.966538339854 -2.93096774817 -0.966561287641 -2.94822698832 -0.966572657227 -2.96743816137 -0.966559931636 -2.98665088415 -0.966537177563 -3.00391018391 -0.966517060995 -3.02116888761 -0.966499641538 -3.0384273529 -0.966484859586 -3.05568528176 -0.96647284925 -3.07294303179 -0.966463491321 -3.09020036459 -0.966456800699 -3.10745769739 -0.966452807188 -3.12471467257 -0.966451525688 --3.14121350844 -0.9664529562 --3.12395650148 -0.966457098722 --3.10669928789 -0.966463893652 --3.0894421339 -0.966473415494 --3.07218456268 -0.966485664248 --3.05492699146 -0.966500550508 --3.0376688838 -0.966518133879 --3.02041059732 -0.966538399458 --3.0031517148 -0.966561317444 --2.98589247465 -0.966572657227 --2.96668130159 -0.966559916735 --2.94746857882 -0.966537162662 --2.93020927906 -0.966517046094 --2.91295057535 -0.966499626637 --2.89569211006 -0.966484859586 --2.87843418121 -0.966472804547 --2.86117643118 -0.966463446617 --2.84391909838 -0.966456785798 --2.82666176557 -0.966452792287 --2.8094047904 -0.966451525688 --2.79214769602 -0.9664529562 --2.77489072085 -0.966457098722 --2.75763344765 -0.966463893652 --2.74037629366 -0.966473415494 --2.72311878205 -0.966485649347 --2.70586115122 -0.966500550509 --2.68860304356 -0.966518118977 --2.67134481669 -0.966538369656 --2.65408593416 -0.966561347246 --2.63682669401 -0.96657268703 --2.61761552095 -0.966559916735 --2.59840273857 -0.966537162662 --2.58114337921 -0.966517046094 --2.56388467551 -0.966499626637 --2.54662626982 -0.966484859586 --2.52936840057 -0.966472804547 --2.51211065054 -0.966463431716 --2.49485331774 -0.966456770897 --2.47759598494 -0.966452792287 --2.46033895016 -0.966451525688 --2.44308173656 -0.966452926397 --2.42582476139 -0.96645706892 --2.4085675478 -0.966463893652 --2.39131039381 -0.966473415494 --2.37405288219 -0.966485649347 --2.35679531097 -0.966500550509 --2.33953720331 -0.966518118977 --2.32227885723 -0.966538399458 --2.30501997471 -0.966561377048 --2.28776079416 -0.96657268703 --2.26854968071 -0.966559916735 --2.24933689833 -0.966537162662 --2.23207753897 -0.966517046094 --2.21481889487 -0.966499626637 --2.19756042958 -0.966484859586 --2.18030256033 -0.966472804547 --2.1630448103 -0.966463446617 --2.14578747749 -0.966456800699 --2.12853014469 -0.966452807188 --2.11127305031 -0.966451525688 --2.09401589632 -0.966452926397 --2.07675898075 -0.96645706892 --2.05950176716 -0.966463923454 --2.04224455356 -0.966473445296 --2.02498704195 -0.966485649347 --2.00772947073 -0.966500550509 --1.99047133326 -0.966518118977 --1.97321304679 -0.966538339854 --1.95595416427 -0.966561287641 --1.93869495392 -0.966572657227 --1.91948381066 -0.966559946537 --1.90027102828 -0.966537192464 --1.88301166892 -0.966517060995 --1.86575302482 -0.966499656439 --1.84849458933 -0.966484874487 --1.83123669028 -0.966472804547 --1.81397894025 -0.966463446617 --1.79672160745 -0.966456800699 --1.77946427465 -0.966452807188 --1.76220723987 -0.966451525688 --1.74495005607 -0.9664529562 --1.7276930809 -0.966457128525 --1.71043589711 -0.966463923454 --1.69317871332 -0.966473415494 --1.6759211421 -0.966485649347 --1.65866357088 -0.966500550509 --1.64140552282 -0.966518118977 --1.62414726615 -0.966538339854 --1.60688835383 -0.966561287641 --1.58962914348 -0.966572657227 --1.57041797042 -0.966559946537 --1.55120518803 -0.966537207365 --1.53394585848 -0.966517075897 --1.51668715477 -0.966499656439 --1.49942871928 -0.966484859586 --1.48217085004 -0.966472789646 --1.4649130702 -0.966463416815 --1.4476557076 -0.966456755996 --1.4303984046 -0.966452792287 --1.41314139962 -0.966451525688 --1.39588424564 -0.966452926397 --1.37862727046 -0.96645706892 --1.36137002706 -0.966463893652 --1.34411287307 -0.966473415494 --1.32685536146 -0.966485649347 --1.30959776044 -0.966500550509 --1.29233965277 -0.96651814878 --1.2750813663 -0.966538399458 --1.25782248378 -0.966561347246 --1.24056327343 -0.96657268703 --1.22135213017 -0.966559946537 --1.20213934779 -0.966537192464 --1.18487998843 -0.966517060995 --1.16762131453 -0.966499641538 --1.15036287904 -0.966484859586 --1.13310500979 -0.966472804547 --1.11584725976 -0.966463431716 --1.09858992696 -0.966456785798 --1.08133256435 -0.966452807188 --1.06407549977 -0.966451525688 --1.04681834578 -0.9664529562 --1.02956137061 -0.966457098722 --1.01230415702 -0.966463893652 --0.995047003032 -0.966473415494 --0.977789476514 -0.966485649347 --0.960531890392 -0.966500550509 --0.94327378273 -0.96651814878 --0.926015511155 -0.966538369656 --0.908756643534 -0.966561287641 --0.891497448087 -0.966572657227 --0.872286275029 -0.966559916735 --0.853073492646 -0.966537162662 --0.835814163089 -0.966517046094 --0.818555474281 -0.966499626637 --0.801297008992 -0.966484859586 --0.784039139748 -0.966472834349 --0.766781389713 -0.96646347642 --0.74952404201 -0.966456785798 --0.732266709209 -0.966452792287 --0.715009659529 -0.966451525688 --0.697752505541 -0.966452926397 --0.680495545268 -0.96645706892 --0.663238331675 -0.966463923454 --0.645981177687 -0.966473445296 --0.628723651171 -0.966485649347 --0.611466035247 -0.966500550509 --0.594207942486 -0.966518104076 --0.576949685812 -0.966538354755 --0.559690788388 -0.966561347246 --0.54243157804 -0.96657268703 --0.523220419884 -0.966559946537 --0.504007644951 -0.966537192464 --0.486748307943 -0.966517046094 --0.469489619136 -0.966499626637 --0.452231176197 -0.966484859586 --0.434973299503 -0.966472804547 --0.417715542019 -0.966463446617 --0.400458194315 -0.966456800699 --0.383200854063 -0.966452807188 --0.365943834185 -0.966451525688 --0.348686680198 -0.966452926397 --0.331429690123 -0.96645706892 --0.314172461629 -0.966463893652 --0.296915307641 -0.966473415494 --0.279657788575 -0.966485649347 --0.262400187552 -0.966500550509 --0.245142091066 -0.966518118977 --0.227883823216 -0.966538339854 --0.210624933243 -0.966561287641 --0.193365730345 -0.966572657227 --0.174154579639 -0.983703359962 --0.154937248677 -0.983680382371 --0.137677885592 -0.983660057187 --0.120419183746 -0.983642473817 --0.103160725906 -0.983627557755 --0.08590281941 -0.983615398407 --0.0686450377107 -0.983605965972 --0.0513876834884 -0.983599245548 --0.0341303283349 -0.983595207334 --0.0168732772581 -0.983593896031 -0.00038389698602 -0.983595356345 -0.0176408898551 -0.983599543571 -0.0348981297575 -0.983606427908 -0.0521553112194 -0.983616054058 -0.0694128638133 -0.98362839222 -0.0866704788059 -0.98364341259 -0.103928584606 -0.983661174774 -0.12118687667 -0.983681634069 -0.138445787132 -0.983704790473 -0.155705012381 -0.983716249466 -0.174915995449 -0.983703374863 -0.194128599018 -0.983680397272 -0.211387969553 -0.983660072088 -0.228646665811 -0.983642488718 -0.245905127376 -0.983627572656 -0.263163037598 -0.983615413308 -0.280420809985 -0.983605965972 -0.297678165138 -0.983599230647 -0.314935520291 -0.983595192433 -0.332192569971 -0.983593910933 -0.349449746311 -0.983595371246 -0.366706736386 -0.98359952867 -0.383963979781 -0.983606413007 -0.401221163571 -0.983616054058 -0.41847871244 -0.983628377319 -0.435736328363 -0.98364341259 -0.452994436025 -0.983661159873 -0.470252737403 -0.983681634068 -0.487511649728 -0.983704835177 -0.504770867526 -0.983716264367 -0.523981839418 -0.983703359962 -0.543194442988 -0.983680382371 -0.56045383215 -0.983660072088 -0.577712535858 -0.983642488718 -0.594970971346 -0.983627572656 -0.612228885293 -0.983615413308 -0.629486680031 -0.983605951071 -0.646744027734 -0.983599200845 -0.664001375437 -0.983595177531 -0.681258425117 -0.983593910933 -0.698515608907 -0.983595341444 -0.715772598982 -0.983599513769 -0.733029827475 -0.983606427908 -0.750287011266 -0.983616054058 -0.767544567585 -0.983628377319 -0.784802183509 -0.983643382788 -0.802060306072 -0.983661130071 -0.81931860745 -0.983681634068 -0.836577504873 -0.983704835177 -0.853836730123 -0.983716264367 -0.873047709465 -0.983703359962 -0.892260298133 -0.983680382371 -0.909519657493 -0.983660072088 -0.926778361201 -0.983642488718 -0.94403681159 -0.983627572656 -0.961294725538 -0.983615398407 -0.978552505374 -0.983605951071 -0.995809853077 -0.983599230647 -1.01306721568 -0.983595192433 -1.03032428026 -0.983593896031 -1.04758146405 -0.983595326543 -1.06483843922 -0.983599498868 -1.08209568262 -0.983606413007 -1.09935289621 -0.983616054058 -1.11661043763 -0.983628377319 -1.13386800885 -0.98364341259 -1.15112611651 -0.983661159873 -1.16838443279 -0.983681604266 -1.18564337492 -0.983704775572 -1.20290261507 -0.983716234565 -1.22211354971 -0.983703389764 -1.24132615328 -0.983680412173 -1.25858554244 -0.98366008699 -1.27584421635 -0.98364250362 -1.29310265183 -0.983627572656 -1.31036055088 -0.983615398407 -1.32761836052 -0.983605951071 -1.34487572312 -0.983599230647 -1.36213305593 -0.983595192433 -1.37939012051 -0.983593910933 -1.3966473043 -0.983595371246 -1.41390430927 -0.983599573374 -1.43116152287 -0.98360645771 -1.44841867685 -0.983616054058 -1.46567624807 -0.983628377319 -1.4829338789 -0.983643382788 -1.50019198656 -0.983661130071 -1.51745027304 -0.983681574464 -1.53470918536 -0.98370474577 -1.55196839571 -0.983716234565 -1.57117938995 -0.983703404665 -1.59039199352 -0.983680441976 -1.60765135289 -0.983660101891 -1.62491005659 -0.98364250362 -1.64216852188 -0.983627572656 -1.65942645073 -0.983615413308 -1.67668423057 -0.983605921268 -1.69394156337 -0.983599171042 -1.71119889617 -0.983595207334 -1.72845596075 -0.983593925834 -1.74571317434 -0.983595326543 -1.76297014952 -0.983599513769 -1.78022736311 -0.983606398106 -1.7974845767 -0.983616024256 -1.81474214792 -0.983628377319 -1.83199974894 -0.98364341259 -1.8492578268 -0.983661189675 -1.86651611328 -0.983681634069 -1.88377502561 -0.983704805375 -1.90103426576 -0.983716264367 -1.9202452302 -0.983703389764 -1.93945780396 -0.983680412173 -1.95671716333 -0.98366008699 -1.97397589683 -0.98364250362 -1.99123439192 -0.983627572656 -2.00849232077 -0.983615413308 -2.02575010061 -0.983605965972 -2.04300743341 -0.983599230647 -2.06026476621 -0.983595192433 -2.077521801 -0.983593910933 -2.09477901459 -0.983595371246 -2.11203604937 -0.98359952867 -2.12929326296 -0.983606383205 -2.14655041694 -0.983616024256 -2.16380798816 -0.983628377319 -2.18106555939 -0.98364341259 -2.19832366705 -0.983661189675 -2.21558195353 -0.983681634069 -2.23284083605 -0.983704775572 -2.2501000762 -0.983716234565 -2.26931107044 -0.983703359962 -2.28852373361 -0.983680382371 -2.30578309298 -0.983660072088 -2.32304173708 -0.983642488718 -2.34030026197 -0.983627572656 -2.35755819082 -0.983615398407 -2.37481588125 -0.983605951071 -2.39207321405 -0.983599215746 -2.40933060646 -0.983595177531 -2.42658770085 -0.983593910933 -2.44384485483 -0.983595341444 -2.46110183001 -0.983599498868 -2.47835910321 -0.983606383205 -2.49561625719 -0.983616024256 -2.51287382841 -0.983628377319 -2.53013145924 -0.98364341259 -2.54738950729 -0.983661159873 -2.56464779377 -0.983681634068 -2.58190667629 -0.983704850078 -2.59916591645 -0.983716279268 -2.61837691069 -0.983703389764 -2.63758951426 -0.983680397272 -2.65484887362 -0.983660057187 -2.67210757732 -0.983642488718 -2.68936610222 -0.983627572656 -2.70662397146 -0.983615413308 -2.7238817215 -0.983605951071 -2.7411391139 -0.983599215746 -2.75839650631 -0.983595192433 -2.77565354109 -0.983593910933 -2.79291069508 -0.983595341444 -2.81016767025 -0.983599498868 -2.82742488385 -0.983606413007 -2.84468209744 -0.983616054058 -2.86193966865 -0.983628377319 -2.87919729948 -0.98364341259 -2.89645540714 -0.983661159873 -2.91371369362 -0.983681604266 -2.93097263574 -0.983704775572 -2.94823187589 -0.983716234565 -2.96744287014 -0.983703359962 -2.98665541411 -0.983680382371 -3.00391477347 -0.983660057187 -3.02117353678 -0.983642473817 -3.03843194246 -0.983627557755 -3.05568987131 -0.983615398407 -3.07294768095 -0.983605965972 -3.09020501375 -0.983599245548 -3.10746234655 -0.983595207334 -3.12471938133 -0.983593896031 --3.14120874007 -0.983595356345 --3.12395173311 -0.983599543571 --3.10669451952 -0.983606427908 --3.08943736553 -0.983616054058 --3.07217979431 -0.98362839222 --3.05492216349 -0.98364341259 --3.03766405583 -0.983661174774 --3.02040576935 -0.983681634069 --3.00314682722 -0.983704790473 --2.98588758707 -0.983716249466 --2.96667659283 -0.983703374863 --2.94746404886 -0.983680397272 --2.9302046895 -0.983660072088 --2.91294592619 -0.983642488718 --2.8956875205 -0.983627572656 --2.87842959166 -0.983615413308 --2.86117178202 -0.983605965972 --2.84391444922 -0.983599230647 --2.82665711641 -0.983595192433 --2.80940008164 -0.983593910933 --2.79214292765 -0.983595371246 --2.77488595247 -0.98359952867 --2.75762867928 -0.983606413007 --2.74037146569 -0.983616054058 --2.72311395407 -0.983628377319 --2.70585638285 -0.98364341259 --2.68859821558 -0.983661159873 --2.6713399291 -0.983681634068 --2.65408104658 -0.983704835177 --2.63682180643 -0.983716264367 --2.61761081219 -0.983703359962 --2.59839814901 -0.983680382371 --2.58113878966 -0.983660072088 --2.56388014555 -0.983642488718 --2.54662173986 -0.983627572656 --2.52936381102 -0.983615413308 --2.51210600138 -0.983605951071 --2.49484866857 -0.983599200845 --2.47759133577 -0.983595177531 --2.46033424139 -0.983593910933 --2.4430770278 -0.983595341444 --2.42582005262 -0.983599513769 --2.40856277942 -0.983606427908 --2.39130562544 -0.983616054058 --2.37404805422 -0.983628377319 --2.356790483 -0.983643382788 --2.33953243494 -0.983661130071 --2.32227402926 -0.983681634068 --2.30501514673 -0.983704835177 --2.28775596619 -0.983716264367 --2.26854497194 -0.983703359962 --2.24933236837 -0.983680382371 --2.23207300902 -0.983660072088 --2.21481436491 -0.983642488718 --2.19755584002 -0.983627572656 --2.18029791117 -0.983615398407 --2.16304022074 -0.983605951071 --2.14578288794 -0.983599230647 --2.12852549553 -0.983595192433 --2.11126840114 -0.983593896031 --2.09401118755 -0.983595326543 --2.07675415277 -0.983599498868 --2.05949693918 -0.983606413007 --2.0422397852 -0.983616054058 --2.02498221398 -0.983628377319 --2.00772461295 -0.98364341259 --1.99046650529 -0.983661159873 --1.97320821881 -0.983681604266 --1.95594933629 -0.983704775572 --1.93869009614 -0.983716234565 --1.91947910189 -0.983703389764 --1.90026649833 -0.983680412173 --1.88300713897 -0.98366008699 --1.86574846506 -0.98364250362 --1.84848999977 -0.983627572656 --1.83123207092 -0.983615398407 --1.81397429109 -0.983605951071 --1.79671692848 -0.983599230647 --1.77945959568 -0.983595192433 --1.7622025609 -0.983593910933 --1.74494534731 -0.983595371246 --1.72768837213 -0.983599573374 --1.71043115854 -0.98360645771 --1.69317394495 -0.983616054058 --1.67591637373 -0.983628377319 --1.65865877271 -0.983643382788 --1.64140069485 -0.983661130071 --1.62414240837 -0.983681574464 --1.60688346625 -0.98370474577 --1.58962422609 -0.983716234565 --1.57041326165 -0.983703404665 --1.55120065808 -0.983680441976 --1.53394126892 -0.983660101891 --1.51668256521 -0.98364250362 --1.49942412972 -0.983627572656 --1.48216623068 -0.983615413308 --1.46490845084 -0.983605921268 --1.44765108824 -0.983599171042 --1.43039372564 -0.983595207334 --1.41313666105 -0.983593925834 --1.39587950706 -0.983595326543 --1.37862253189 -0.983599513769 --1.3613652587 -0.983606398106 --1.34410807491 -0.983616024256 --1.32685053349 -0.983628377319 --1.30959293246 -0.98364341259 --1.2923348248 -0.983661189675 --1.27507650852 -0.983681634069 --1.257817626 -0.983704805375 --1.24055841565 -0.983716264367 --1.22134742141 -0.983703389764 --1.20213481784 -0.983680412173 --1.18487545848 -0.98366008699 --1.16761675477 -0.98364250362 --1.15035828948 -0.983627572656 --1.13310039043 -0.983615413308 --1.1158426106 -0.983605965972 --1.098585248 -0.983599230647 --1.08132785559 -0.983595192433 --1.064070791 -0.983593910933 --1.04681363702 -0.983595371246 --1.02955663204 -0.98359952867 --1.01229941845 -0.983606383205 --0.99504223466 -0.983616024256 --0.977784648538 -0.983628377319 --0.960527062416 -0.98364341259 --0.943268954754 -0.983661189675 --0.926010653377 -0.983681634069 --0.908751755953 -0.983704775572 --0.891492545605 -0.983716234565 --0.872281566262 -0.983703359962 --0.853068947792 -0.983680382371 --0.835809573531 -0.983660072088 --0.818550869823 -0.983642488718 --0.801292404533 -0.983627572656 --0.784034535289 -0.983615398407 --0.766776770354 -0.983605951071 --0.749519392848 -0.983599215746 --0.732262030244 -0.983595177531 --0.715004950762 -0.983593910933 --0.697747796774 -0.983595341444 --0.680490806699 -0.983599498868 --0.663233548403 -0.983606383205 --0.645976379513 -0.983616024256 --0.628718838095 -0.983628377319 --0.611461222172 -0.98364341259 --0.59420311451 -0.983661159873 --0.576944842934 -0.983681634068 --0.55968593061 -0.983704850078 --0.542426690459 -0.983716279268 --0.523215711117 -0.983703389764 --0.504003114999 -0.983680397272 --0.486743748188 -0.983660057187 --0.469485037029 -0.983642488718 --0.452226571739 -0.983627572656 --0.434968672693 -0.983615413308 --0.417710900307 -0.983605951071 --0.400453530252 -0.983599215746 --0.383196167647 -0.983595192433 --0.365939132869 -0.983593910933 --0.34868196398 -0.983595341444 --0.331424959004 -0.983599498868 --0.314167708159 -0.983606413007 --0.296910531819 -0.983616054058 --0.279652997851 -0.983628377319 --0.262395381927 -0.98364341259 --0.245137266815 -0.983661159873 --0.227878972888 -0.983681604266 --0.210620060563 -0.983704775572 --0.193360835314 -0.983716234565 --0.174149852246 -1.00084649026 --0.154933843762 -1.00082330406 --0.137674465775 -1.00080272555 --0.120415745303 -1.00078497827 --0.103157274425 -1.0007699579 --0.0858993586153 -1.00075766444 --0.0686415629461 -1.0007481277 --0.0513841928914 -1.00074133277 --0.034126822371 -1.00073727965 --0.0168697559275 -1.00073596835 -0.000387432286515 -1.00073741376 -0.0176444391254 -1.00074164569 -0.0349016934634 -1.00074860454 -0.0521588893607 -1.00075832009 -0.0694164549932 -1.00077076256 -0.0866740830243 -1.00078594685 -0.103932205588 -1.00080387294 -0.121190516278 -1.00082452595 -0.138449441642 -1.00084795058 -0.155708678067 -1.00085949898 -0.174919530749 -1.00084647536 -0.194132007658 -1.00082328915 -0.21139138937 -1.00080278516 -0.228650104254 -1.00078503788 -0.24590858072 -1.0007699728 -0.263166494667 -1.00075766444 -0.280424281955 -1.0007481128 -0.29768165201 -1.00074133277 -0.314939029515 -1.00073724985 -0.332196101546 -1.00073598325 -0.349453285336 -1.00073745847 -0.366710282862 -1.00074166059 -0.383967533708 -1.00074861944 -0.40122473985 -1.0007583499 -0.41848230362 -1.00077079236 -0.435739934444 -1.00078594685 -0.452998064458 -1.00080387294 -0.470256373286 -1.00082452595 -0.487515293062 -1.00084793567 -0.504774525762 -1.00085948407 -0.523985370994 -1.00084646046 -0.543197855353 -1.00082327425 -0.560457259417 -1.00080278516 -0.577715963125 -1.00078503788 -0.594974413514 -1.0007699728 -0.612232342362 -1.00075766444 -0.629490152001 -1.0007480979 -0.646747529507 -1.00074130297 -0.664004892111 -1.00073723495 -0.681261926889 -1.00073598325 -0.69851911068 -1.00073745847 -0.715776145458 -1.0007416755 -0.733033403754 -1.00074863434 -0.750290587545 -1.00075832009 -0.767548173666 -1.00077076256 -0.784805804491 -1.00078591704 -0.802063912153 -1.00080384314 -0.819322228432 -1.00082452595 -0.836581140757 -1.00084793567 -0.853840366006 -1.00085948407 -0.873051226139 -1.00084649026 -0.892263695597 -1.00082330406 -0.909523069858 -1.00080275536 -0.92678180337 -1.00078500807 -0.944040268659 -1.0007699728 -0.961298197508 -1.00075764954 -0.978555992246 -1.0007480979 -0.995813354851 -1.00074133277 -1.01307076216 -1.00073727965 -1.03032782674 -1.00073599815 -1.04758498072 -1.00073744357 -1.0648419857 -1.00074166059 -1.0820992589 -1.00074861944 -1.09935647249 -1.00075832009 -1.11661404371 -1.00077076256 -1.13387164474 -1.00078594685 -1.1511297524 -1.00080387294 -1.16838806868 -1.00082452595 -1.1856470108 -1.00084793567 -1.20290625095 -1.00085948407 -1.22211706638 -1.00084649026 -1.24132955074 -1.00082330406 -1.25858893991 -1.00080278516 -1.27584764361 -1.00078503788 -1.2931061089 -1.0007699728 -1.31036400795 -1.00075764954 -1.32762181759 -1.0007480979 -1.34487921 -1.00074136257 -1.3621365726 -1.00073730946 -1.37939363718 -1.00073601306 -1.39665085077 -1.00073745847 -1.41390785575 -1.0007416755 -1.43116506934 -1.00074866414 -1.44842225313 -1.0007583797 -1.46567982435 -1.00077079236 -1.48293745518 -1.00078591704 -1.50019559264 -1.00080384314 -1.51745390892 -1.00082449615 -1.53471285105 -1.00084790587 -1.5519720912 -1.00085948407 -1.57118293643 -1.00084647536 -1.59039542079 -1.00082328915 -1.60765480995 -1.00080278516 -1.62491351366 -1.00078503788 -1.64217197895 -1.0007699728 -1.6594299078 -1.00075766444 -1.67668771744 -1.0007480979 -1.69394508004 -1.00074133277 -1.71120241285 -1.00073732436 -1.72845947742 -1.00073602796 -1.74571669102 -1.00073744357 -1.76297369599 -1.0007416755 -1.78023093939 -1.00074860454 -1.79748815298 -1.00075829029 -1.8147457242 -1.00077076256 -1.83200335503 -1.00078594685 -1.84926146269 -1.00080387294 -1.86651974917 -1.00082452595 -1.88377869129 -1.00084793567 -1.90103796125 -1.00085948407 -1.92024880648 -1.00084646046 -1.93946123123 -1.00082327425 -1.95672059059 -1.00080278516 -1.9739793539 -1.00078503788 -1.991237849 -1.0007699728 -2.00849577784 -1.00075766444 -2.02575355768 -1.0007481128 -2.04301089048 -1.00074136257 -2.06026828289 -1.00073730946 -2.07752537727 -1.00073601306 -2.09478253126 -1.00073745847 -2.11203950643 -1.00074166059 -2.12929677963 -1.00074858964 -2.14655399322 -1.00075829029 -2.16381156445 -1.00077076256 -2.18106919527 -1.00078597665 -2.19832736254 -1.00080390275 -2.21558564901 -1.00082452595 -2.23284453154 -1.00084793567 -2.25010377169 -1.00085948407 -2.26931464672 -1.00084646046 -2.28852713108 -1.00082327425 -2.30578649044 -1.00080278516 -2.32304519415 -1.00078503788 -2.34030365944 -1.0007699728 -2.35756158828 -1.00075764954 -2.37481933832 -1.0007480979 -2.39207667112 -1.00074131787 -2.40933412313 -1.00073726475 -2.42659121752 -1.00073601306 -2.44384837151 -1.00073745847 -2.46110540629 -1.00074166059 -2.47836267948 -1.00074858964 -2.49561983347 -1.00075829029 -2.51287740469 -1.00077076256 -2.53013503551 -1.00078594685 -2.54739314318 -1.00080387294 -2.56465142966 -1.00082452595 -2.58191031218 -1.00084795058 -2.59916961193 -1.00085949898 -2.61838048697 -1.00084646046 -2.63759297133 -1.00082325935 -2.65485233069 -1.00080277026 -2.67211097479 -1.00078503788 -2.68936949968 -1.0007699728 -2.70662742853 -1.00075766444 -2.72388523817 -1.0007480979 -2.74114269018 -1.00074131787 -2.75840002298 -1.00073724985 -2.77565705776 -1.00073598325 -2.79291427135 -1.00073745847 -2.81017124653 -1.00074166059 -2.82742846012 -1.00074861944 -2.84468567371 -1.00075832009 -2.86194324493 -1.00077076256 -2.87920087576 -1.00078594685 -2.89645898342 -1.00080387294 -2.91371732951 -1.00082452595 -2.93097627163 -1.00084793567 -2.94823551178 -1.00085948407 -2.96744638682 -1.00084649026 -2.98665881157 -1.00082330406 -3.00391817093 -1.00080272555 -3.02117693424 -1.00078497827 -3.03843539953 -1.0007699579 -3.05569332838 -1.00075766444 -3.07295113802 -1.0007481277 -3.09020847082 -1.00074133277 -3.10746580362 -1.00073727965 -3.12472289801 -1.00073596835 --3.14120516379 -1.00073741376 --3.12394815684 -1.00074164569 --3.10669094324 -1.00074860454 --3.08943378925 -1.00075832009 --3.07217621803 -1.00077076256 --3.05491858721 -1.00078594685 --3.03766047954 -1.00080387294 --3.02040213346 -1.00082452595 --3.00314319134 -1.00084795058 --2.98588395119 -1.00085949898 --2.96667307615 -1.00084647536 --2.9474606514 -1.00082328915 --2.93020129204 -1.00080278516 --2.91294252872 -1.00078503788 --2.89568406343 -1.0007699728 --2.87842613459 -1.00075766444 --2.86116832495 -1.0007481128 --2.84391099215 -1.00074133277 --2.82665365934 -1.00073724985 --2.80939656496 -1.00073598325 --2.79213935137 -1.00073745847 --2.77488237619 -1.00074166059 --2.757625103 -1.00074861944 --2.7403678894 -1.0007583499 --2.72311031818 -1.00077079236 --2.70585268736 -1.00078594685 --2.6885945797 -1.00080387294 --2.67133629322 -1.00082452595 --2.65407735109 -1.00084793567 --2.63681811094 -1.00085948407 --2.61760729551 -1.00084646046 --2.59839481115 -1.00082327425 --2.58113539219 -1.00080278516 --2.56387668848 -1.00078503788 --2.54661828279 -1.0007699728 --2.52936035395 -1.00075766444 --2.51210254431 -1.0007480979 --2.4948452115 -1.00074130297 --2.4775878191 -1.00073723495 --2.46033072472 -1.00073598325 --2.44307357073 -1.00073745847 --2.42581653595 -1.0007416755 --2.40855920315 -1.00074863434 --2.39130204916 -1.00075832009 --2.37404447794 -1.00077076256 --2.35678684711 -1.00078591704 --2.33952873945 -1.00080384314 --2.32227039337 -1.00082452595 --2.30501151085 -1.00084793567 --2.2877523303 -1.00085948407 --2.26854145527 -1.00084649026 --2.2493289113 -1.00082330406 --2.23206955195 -1.00080275536 --2.21481090784 -1.00078500807 --2.19755238295 -1.0007699728 --2.1802944541 -1.00075764954 --2.16303670407 -1.0007480979 --2.14577931166 -1.00074133277 --2.12852191925 -1.00073727965 --2.11126488447 -1.00073599815 --2.09400767088 -1.00073744357 --2.07675057649 -1.00074166059 --2.0594933629 -1.00074861944 --2.04223620891 -1.00075832009 --2.0249786377 -1.00077076256 --2.00772103667 -1.00078594685 --1.99046289921 -1.00080387294 --1.97320458293 -1.00082452595 --1.9559456706 -1.00084793567 --1.93868643045 -1.00085948407 --1.91947558522 -1.00084649026 --1.90026310086 -1.00082330406 --1.8830037117 -1.00080278516 --1.86574500799 -1.00078503788 --1.8484865427 -1.0007699728 --1.83122861386 -1.00075764954 --1.81397080422 -1.0007480979 --1.79671341181 -1.00074136257 --1.7794560492 -1.00073730946 --1.76219901443 -1.00073601306 --1.74494183064 -1.00073745847 --1.72768482566 -1.0007416755 --1.71042758226 -1.00074866414 --1.69317036867 -1.0007583797 --1.67591279745 -1.00077079236 --1.65865516663 -1.00078591704 --1.64139705896 -1.00080384314 --1.62413877249 -1.00082449615 --1.60687983036 -1.00084790587 --1.58962056041 -1.00085948407 --1.57040971517 -1.00084647536 --1.55119726062 -1.00082328915 --1.53393787146 -1.00080278516 --1.51667913794 -1.00078503788 --1.49942067265 -1.0007699728 --1.48216274381 -1.00075766444 --1.46490496397 -1.0007480979 --1.44764763117 -1.00074133277 --1.43039023876 -1.00073732436 --1.41313314438 -1.00073602796 --1.39587596059 -1.00073744357 --1.37861895561 -1.0007416755 --1.36136168242 -1.00074860454 --1.34410449863 -1.00075829029 --1.3268469274 -1.00077076256 --1.30958932638 -1.00078594685 --1.29233121872 -1.00080387294 --1.27507287264 -1.00082452595 --1.25781396032 -1.00084793567 --1.24055474997 -1.00085948407 --1.22134390473 -1.00084646046 --1.20213142037 -1.00082327425 --1.18487203121 -1.00080278516 --1.1676133275 -1.00078503788 --1.15035486221 -1.0007699728 --1.13309693337 -1.00075766444 --1.11583912373 -1.0007481128 --1.09858173132 -1.00074136257 --1.08132433892 -1.00073730946 --1.06406727433 -1.00073601306 --1.04681012034 -1.00073745847 --1.02955311537 -1.00074166059 --1.01229587197 -1.00074858964 --0.995038673282 -1.00075829029 --0.97778108716 -1.00077076256 --0.960523471236 -1.00078597665 --0.943265333772 -1.00080390275 --0.926007017493 -1.00082452595 --0.908748105168 -1.00084793567 --0.891488879919 -1.00085948407 --0.872278034687 -1.00084646046 --0.853065550327 -1.00082327425 --0.835806146264 -1.00080278516 --0.818547412753 -1.00078503788 --0.801288962364 -1.0007699728 --0.784031063318 -1.00075764954 --0.76677326858 -1.0007480979 --0.749515905976 -1.00074131787 --0.732258528471 -1.00073726475 --0.715001448989 -1.00073601306 --0.6977442801 -1.00073745847 --0.680487260223 -1.00074166059 --0.663229987025 -1.00074858964 --0.645972803235 -1.00075829029 --0.628715232014 -1.00077076256 --0.611457601189 -1.00078594685 --0.594199493527 -1.00080387294 --0.576941207052 -1.00082452595 --0.559682279825 -1.00084795058 --0.542423009872 -1.00085949898 --0.52321216464 -1.00084646046 --0.503999710083 -1.00082325935 --0.486740320921 -1.00080277026 --0.469481594861 -1.00078503788 --0.452223114669 -1.0007699728 --0.434965193272 -1.00075766444 --0.417707413435 -1.0007480979 --0.40045003593 -1.00074131787 --0.383192658425 -1.00073724985 --0.365935608745 -1.00073598325 --0.348678424955 -1.00073745847 --0.331421419978 -1.00074166059 --0.314164154232 -1.00074861944 --0.29690695554 -1.00075832009 --0.279649399221 -1.00077076256 --0.262391768396 -1.00078594685 --0.245133645832 -1.00080387294 --0.227875333279 -1.00082452595 --0.210616406054 -1.00084793567 --0.193357169628 -1.00085948407 --0.174146316946 -1.01796683669 --0.154930491 -1.01794338226 --0.137671090662 -1.01792263985 --0.120412355289 -1.01790475845 --0.103153871372 -1.01788958907 --0.0858959387988 -1.01787719131 --0.0686381263658 -1.01786753535 --0.0513807404786 -1.01786062121 --0.0341233559884 -1.0178565383 --0.0168662762735 -1.01785525679 -0.000390926143155 -1.01785671711 -0.0176479467191 -1.01786097884 -0.0349052138627 -1.01786801219 -0.0521624237299 -1.01787781716 -0.0694200061261 -1.01789039373 -0.0866776518524 -1.01790571213 -0.103935785592 -1.01792380214 -0.121194113046 -1.01794463396 -0.138453058899 -1.0179682672 -0.1557123065 -1.01797994971 -0.174923025072 -1.01796677709 -0.19413536787 -1.01794335246 -0.211394760758 -1.01792266965 -0.228653490543 -1.01790475845 -0.245911978185 -1.01788955927 -0.263169907034 -1.0178771615 -0.280427709222 -1.01786750555 -0.297685101628 -1.01786065101 -0.314942501485 -1.0178565681 -0.332199580967 -1.0178552866 -0.349456772208 -1.01785674691 -0.366713784635 -1.01786100864 -0.383971057832 -1.01786804199 -0.401228286326 -1.01787784696 -0.418485864997 -1.01789039374 -0.435743503272 -1.01790568232 -0.453001648188 -1.01792377233 -0.470259964466 -1.01794460416 -0.487518891692 -1.0179682672 -0.504778131843 -1.01797994971 -0.523988842964 -1.01796677709 -0.543201208115 -1.01794335246 -0.560460627079 -1.01792266965 -0.577719345689 -1.01790475845 -0.594977810979 -1.01788955927 -0.612235739827 -1.0178771615 -0.629493564367 -1.01786750555 -0.646750956774 -1.01786065101 -0.664008334279 -1.0178565681 -0.681265413761 -1.0178553164 -0.698522612453 -1.01785677671 -0.715779662132 -1.01786100864 -0.73303693533 -1.01786804199 -0.750294134021 -1.01787778735 -0.767551735043 -1.01789036393 -0.784809365869 -1.01790571213 -0.802067488432 -1.01792377233 -0.81932580471 -1.01794460416 -0.836584731936 -1.0179682672 -0.853843986988 -1.01797994971 -0.873054713011 -1.01796680689 -0.89226706326 -1.01794338226 -0.909526452422 -1.01792263985 -0.926785200834 -1.01790472865 -0.944043695927 -1.01788955927 -0.961301624775 -1.0178771615 -0.978559434414 -1.01786750555 -0.995816811919 -1.01786065101 -1.01307421922 -1.0178565979 -1.03033128381 -1.0178553164 -1.0475884676 -1.01785677671 -1.06484550238 -1.01786103844 -1.08210277557 -1.01786801219 -1.09935998916 -1.01787778735 -1.11661756038 -1.01789036393 -1.13387519121 -1.01790568232 -1.15113332867 -1.01792377233 -1.16839164495 -1.01794460416 -1.18565058708 -1.0179682672 -1.20290982723 -1.01797994971 -1.22212052345 -1.01796680689 -1.2413328886 -1.01794338226 -1.25859230757 -1.01792266965 -1.27585104108 -1.01790475845 -1.29310950637 -1.01788955927 -1.31036743522 -1.0178771615 -1.32762527466 -1.01786750555 -1.34488266706 -1.01786068082 -1.36214005947 -1.0178566277 -1.37939715385 -1.0178553164 -1.39665436745 -1.01785674691 -1.41391137242 -1.01786097884 -1.43116861582 -1.01786801219 -1.44842582941 -1.01787781716 -1.46568340063 -1.01789036393 -1.48294103146 -1.01790568232 -1.50019919872 -1.01792377233 -1.5174575448 -1.01794460416 -1.53471648693 -1.0179682672 -1.55197572708 -1.01797994971 -1.5711864233 -1.01796677709 -1.59039878845 -1.01794338226 -1.60765820742 -1.01792269945 -1.62491691113 -1.01790475845 -1.64217537641 -1.01788955927 -1.65943333507 -1.0178771317 -1.67669114471 -1.01786747575 -1.69394850731 -1.01786068082 -1.71120586991 -1.0178566277 -1.72846293449 -1.0178553164 -1.74572014809 -1.01785674691 -1.76297718287 -1.01786100864 -1.78023445606 -1.01786804199 -1.79749166965 -1.01787781716 -1.81474927068 -1.01789036393 -1.83200693131 -1.01790568232 -1.84926503897 -1.01792377233 -1.86652332544 -1.01794460416 -1.88378226757 -1.0179682672 -1.90104156733 -1.01797994971 -1.92025232315 -1.01796677709 -1.93946462869 -1.01794338226 -1.95672398805 -1.01792269945 -1.97398275137 -1.01790475845 -1.99124124646 -1.01788955927 -2.00849920511 -1.0178771615 -2.02575701475 -1.01786750555 -2.04301434755 -1.01786068082 -2.06027173996 -1.0178566277 -2.07752883434 -1.0178553164 -2.09478598833 -1.01785677671 -2.1120429635 -1.01786103844 -2.12930029631 -1.01786804199 -2.14655756951 -1.01787778735 -2.16381514072 -1.01789033413 -2.18107277155 -1.01790571213 -2.19833093882 -1.01792380214 -2.2155892849 -1.01794460416 -2.23284816742 -1.0179682672 -2.25010740757 -1.01797994971 -2.26931816339 -1.01796677709 -2.28853046894 -1.01794335246 -2.3057898283 -1.01792266965 -2.32304859161 -1.01790475845 -2.3403070569 -1.01788955927 -2.35756498575 -1.0178771615 -2.37482279539 -1.01786753535 -2.39208012819 -1.01786068082 -2.4093375802 -1.0178565979 -2.42659467459 -1.0178553164 -2.44385188818 -1.01785674691 -2.46110898256 -1.01786100864 -2.47836619615 -1.01786804199 -2.49562335014 -1.01787781716 -2.51288092136 -1.01789036393 -2.53013855219 -1.01790568232 -2.54739671946 -1.01792377233 -2.56465506554 -1.01794460416 -2.58191400767 -1.0179682672 -2.59917324782 -1.01797994971 -2.61838394404 -1.01796677709 -2.63759630918 -1.01794335246 -2.65485572815 -1.01792266965 -2.67211443186 -1.01790475845 -2.68937289715 -1.01788955927 -2.706630826 -1.0178771615 -2.72388869524 -1.01786750555 -2.74114614725 -1.01786065101 -2.75840348006 -1.0178565681 -2.77566057444 -1.0178552866 -2.79291778803 -1.01785677671 -2.8101747632 -1.01786103844 -2.82743197679 -1.01786804199 -2.84468919039 -1.01787778735 -2.86194682122 -1.01789033413 -2.87920445204 -1.01790568232 -2.8964625597 -1.01792377233 -2.91372090578 -1.01794460416 -2.93097984791 -1.0179682672 -2.94823908806 -1.01797997951 -2.96744984388 -1.01796683669 -2.98666220903 -1.01794338226 -3.0039215684 -1.01792263985 -3.02118027211 -1.01790475845 -3.038438797 -1.01788958907 -3.05569672585 -1.01787719131 -3.07295453549 -1.01786753535 -3.09021192789 -1.01786062121 -3.10746926069 -1.0178565383 -3.12472635507 -1.01785525679 --3.14120170673 -1.01785671711 --3.12394469976 -1.01786097884 --3.10668742657 -1.01786801219 --3.08943021297 -1.01787781716 --3.07217264175 -1.01789039373 --3.05491501093 -1.01790571213 --3.03765690327 -1.01792380214 --3.02039855719 -1.01794463396 --3.00313961506 -1.0179682672 --2.98588037491 -1.01797994971 --2.96666961909 -1.01796677709 --2.94745725394 -1.01794335246 --2.93019789458 -1.01792266965 --2.91293919086 -1.01790475845 --2.89568066597 -1.01788955927 --2.87842273712 -1.0178771615 --2.86116492748 -1.01786750555 --2.84390753508 -1.01786065101 --2.82665020228 -1.0178565681 --2.80939310789 -1.0178552866 --2.7921358943 -1.01785674691 --2.77487891912 -1.01786100864 --2.75762158632 -1.01786804199 --2.74036437273 -1.01787784696 --2.72310680151 -1.01789039374 --2.70584911108 -1.01790568232 --2.68859100342 -1.01792377233 --2.67133271694 -1.01794460416 --2.65407377482 -1.0179682672 --2.63681453467 -1.01797994971 --2.61760383844 -1.01796677709 --2.59839147329 -1.01794335246 --2.58113205433 -1.01792266965 --2.56387329101 -1.01790475845 --2.54661482572 -1.01788955927 --2.52935689688 -1.0178771615 --2.51209908724 -1.01786750555 --2.49484175443 -1.01786065101 --2.47758430242 -1.0178565681 --2.46032720804 -1.0178553164 --2.44307005405 -1.01785677671 --2.42581295967 -1.01786100864 --2.40855568647 -1.01786804199 --2.39129853249 -1.01787778735 --2.37404096126 -1.01789036393 --2.35678333044 -1.01790571213 --2.33952516317 -1.01792377233 --2.32226681709 -1.01794460416 --2.30500787496 -1.0179682672 --2.28774863481 -1.01797994971 --2.26853793859 -1.01796680689 --2.24932557344 -1.01794338226 --2.23206615448 -1.01792263985 --2.21480745077 -1.01790472865 --2.19754898548 -1.01788955927 --2.18029105663 -1.0178771615 --2.16303324699 -1.01786750555 --2.14577585459 -1.01786065101 --2.12851846218 -1.0178565979 --2.1112614274 -1.0178553164 --2.09400421381 -1.01785677671 --2.07674711943 -1.01786103844 --2.05948990584 -1.01786801219 --2.04223269224 -1.01787778735 --2.02497506142 -1.01789036393 --2.00771746039 -1.01790568232 --1.99045932293 -1.01792377233 --1.97320097685 -1.01794460416 --1.95594203472 -1.0179682672 --1.93868279457 -1.01797994971 --1.91947209835 -1.01796680689 --1.9002597332 -1.01794338226 --1.88300031423 -1.01792266965 --1.86574158072 -1.01790475845 --1.84848311543 -1.01788955927 --1.83122518658 -1.0178771615 --1.81396737695 -1.01786750555 --1.79670998454 -1.01786068082 --1.77945259213 -1.0178566277 --1.76219552755 -1.0178553164 --1.74493834376 -1.01785674691 --1.72768133879 -1.01786097884 --1.71042403579 -1.01786801219 --1.69316679239 -1.01787781716 --1.67590922117 -1.01789036393 --1.65865159035 -1.01790568232 --1.64139348268 -1.01792377233 --1.6241351664 -1.01794460416 --1.60687622428 -1.0179682672 --1.58961695433 -1.01797994971 --1.5704061985 -1.01796677709 --1.55119389295 -1.01794338226 --1.5339345336 -1.01792269945 --1.51667577028 -1.01790475845 --1.49941727519 -1.01788955927 --1.48215934634 -1.0178771317 --1.4649015367 -1.01786747575 --1.4476441741 -1.01786068082 --1.43038678169 -1.0178566277 --1.41312968731 -1.0178553164 --1.39587247371 -1.01785674691 --1.37861543894 -1.01786100864 --1.36135816574 -1.01786804199 --1.34410098195 -1.01787781716 --1.32684341073 -1.01789036393 --1.3095857799 -1.01790568232 --1.29232764244 -1.01792377233 --1.27506929636 -1.01794460416 --1.25781035423 -1.0179682672 --1.24055111408 -1.01797994971 --1.22134041786 -1.01796677709 --1.20212805271 -1.01794338226 --1.18486863375 -1.01792269945 --1.16760990023 -1.01790475845 --1.15035140514 -1.01788955927 --1.1330934763 -1.0178771615 --1.11583566666 -1.01786750555 --1.09857827425 -1.01786068082 --1.08132088184 -1.0178566277 --1.06406378746 -1.0178553164 --1.04680663348 -1.01785677671 --1.0295496285 -1.01786103844 --1.0122923255 -1.01786804199 --0.995035111905 -1.01787778735 --0.977777555585 -1.01789033413 --0.960519939661 -1.01790571213 --0.943261772394 -1.01792380214 --0.926003441214 -1.01794460416 --0.90874452889 -1.0179682672 --0.891485273838 -1.01797994971 --0.872274532914 -1.01796677709 --0.853062167764 -1.01794335246 --0.8358027637 -1.01792266965 --0.818544030189 -1.01790475845 --0.801285564899 -1.01788955927 --0.784027636051 -1.0178771615 --0.766769826412 -1.01786753535 --0.749512448907 -1.01786068082 --0.732255056501 -1.0178565979 --0.714997977018 -1.0178553164 --0.697740778327 -1.01785674691 --0.68048375845 -1.01786100864 --0.663226470351 -1.01786804199 --0.64596927166 -1.01787781716 --0.628711700439 -1.01789036393 --0.611454039812 -1.01790568232 --0.594195917249 -1.01792377233 --0.576937615871 -1.01794460416 --0.559678673744 -1.0179682672 --0.542419403791 -1.01797994971 --0.523208677769 -1.01796677709 --0.50399633497 -1.01794335246 --0.486736938358 -1.01792266965 --0.469478204847 -1.01790475845 --0.452219717205 -1.01788955927 --0.434961780906 -1.0178771615 --0.417703971267 -1.01786750555 --0.400446586311 -1.01786065101 --0.383189201355 -1.0178565681 --0.365932121873 -1.0178552866 --0.348674930632 -1.01785677671 --0.331417918205 -1.01786103844 --0.314160637558 -1.01786804199 --0.296903431416 -1.01787778735 --0.279645852744 -1.01789033413 --0.262388207018 -1.01790568232 --0.245130069554 -1.01792377233 --0.227871734649 -1.01794460416 --0.210612796247 -1.0179682672 --0.193353548646 -1.01797997951 --0.174142833799 -1.03506720066 --0.154927164316 -1.03504350781 --0.137667745352 -1.03502261639 --0.120408998802 -1.03500455618 --0.10315050371 -1.03498923779 --0.0858925562352 -1.03497675061 --0.0686347298324 -1.03496700525 --0.051377329044 -1.03496003151 --0.0341199324466 -1.03495588899 --0.0168628389947 -1.03495463729 -0.000394378323107 -1.0349561274 -0.0176514131017 -1.03496038913 -0.0349086942151 -1.03496748209 -0.0521659180522 -1.03497737646 -0.0694235144183 -1.03499007225 -0.0866811741144 -1.03500553966 -0.10393932648 -1.03502377868 -0.121197661385 -1.03504481911 -0.138456616551 -1.03506866097 -0.155715882778 -1.03508043289 -0.17492647469 -1.03506717086 -0.194138694555 -1.03504350781 -0.211398102343 -1.03502261639 -0.228656843304 -1.03500452638 -0.245915338397 -1.03498920798 -0.263173289597 -1.03497675061 -0.280431114137 -1.03496700525 -0.297688521445 -1.03496006131 -0.314945928752 -1.03495594859 -0.332203008234 -1.03495466709 -0.349460221827 -1.0349561274 -0.366717256606 -1.03496038913 -0.383974544704 -1.03496748209 -0.401231788099 -1.03497737646 -0.41848937422 -1.03499004245 -0.435747012496 -1.03500550985 -0.453005172312 -1.03502374888 -0.470263510943 -1.03504478931 -0.48752245307 -1.03506869077 -0.504781715572 -1.03508046269 -0.523992314935 -1.03506717086 -0.543204545975 -1.03504350781 -0.560463950038 -1.03502261639 -0.57772269845 -1.03500452638 -0.594981193543 -1.03498920798 -0.612239122391 -1.03497675061 -0.629496961832 -1.03496700525 -0.64675436914 -1.03496006131 -0.664011761546 -1.03495594859 -0.681268885731 -1.03495469689 -0.698526084423 -1.0349561572 -0.715783119201 -1.03496038913 -0.733040422201 -1.03496748209 -0.750297635793 -1.03497734666 -0.767555251717 -1.03499004245 -0.784812897444 -1.03500553966 -0.802071034908 -1.03502377868 -0.819329366088 -1.03504481911 -0.836588323116 -1.03506866097 -0.85384760797 -1.03508043289 -0.873058184982 -1.03506717086 -0.892270386219 -1.03504350781 -0.909529805184 -1.03502261639 -0.926788568497 -1.03500452638 -0.944047063589 -1.03498920798 -0.961304992438 -1.03497675061 -0.978562816978 -1.03496700525 -0.995820209384 -1.03496006131 -1.01307761669 -1.03495594859 -1.03033471108 -1.03495466709 -1.04759192467 -1.0349561572 -1.06484895945 -1.03496041894 -1.08210623265 -1.03496745229 -1.09936344623 -1.03497734666 -1.11662104726 -1.03499004245 -1.13387870789 -1.03500550985 -1.15113684535 -1.03502374888 -1.16839519143 -1.03504475951 -1.18565416336 -1.03506866097 -1.20291340351 -1.03508046269 -1.22212398052 -1.03506717086 -1.24133622647 -1.03504350781 -1.25859564543 -1.03502261639 -1.27585440874 -1.03500452638 -1.29311290383 -1.03498920798 -1.31037083268 -1.03497675061 -1.32762867212 -1.03496700525 -1.34488606453 -1.03496006131 -1.36214345694 -1.03495594859 -1.37940058112 -1.03495466709 -1.39665779471 -1.0349561274 -1.41391482949 -1.03496035933 -1.43117213249 -1.03496742249 -1.44842934608 -1.03497731686 -1.46568691731 -1.03499001265 -1.48294457793 -1.03500550985 -1.5002027452 -1.03502374888 -1.51746109128 -1.03504478931 -1.5347200334 -1.03506866097 -1.55197927356 -1.03508043289 -1.57118988037 -1.03506717086 -1.59040212631 -1.03504353762 -1.60766154528 -1.03502264619 -1.62492024899 -1.03500452638 -1.64217871427 -1.03498920798 -1.65943670273 -1.03497672081 -1.67669454217 -1.03496697545 -1.69395190477 -1.03496006131 -1.71120929718 -1.03495597839 -1.72846639156 -1.03495469689 -1.74572360516 -1.0349561274 -1.76298063993 -1.03496038913 -1.78023791313 -1.03496748209 -1.79749515653 -1.03497737646 -1.81475278735 -1.03499004245 -1.83201044798 -1.03500550985 -1.84926858544 -1.03502377868 -1.86652690172 -1.03504481911 -1.88378584385 -1.03506869077 -1.9010451436 -1.03508046269 -1.92025575042 -1.03506717086 -1.93946793676 -1.03504353762 -1.95672732591 -1.03502264619 -1.97398608923 -1.03500452638 -1.99124461412 -1.03498920798 -2.00850257277 -1.03497675061 -2.02576041222 -1.03496700525 -2.04301780462 -1.03496006131 -2.06027513742 -1.03495594859 -2.07753223181 -1.03495466709 -2.0947894454 -1.0349561572 -2.11204648018 -1.03496041894 -2.12930381298 -1.03496748209 -2.14656108618 -1.03497734666 -2.1638186574 -1.03499001265 -2.18107622862 -1.03500550985 -2.19833439589 -1.03502377868 -2.21559280157 -1.03504481911 -2.2328517437 -1.03506869077 -2.25011098385 -1.03508046269 -2.26932156086 -1.03506717086 -2.2885337472 -1.03504350781 -2.30579316616 -1.03502261639 -2.32305192947 -1.03500455618 -2.34031045437 -1.03498923779 -2.35756838322 -1.03497675061 -2.37482619286 -1.03496703505 -2.39208358526 -1.03496009111 -2.40934097767 -1.03495594859 -2.42659807205 -1.03495466709 -2.44385534525 -1.0349561274 -2.46111243963 -1.03496041894 -2.47836965322 -1.03496751189 -2.49562686682 -1.03497737646 -2.51288449764 -1.03499004245 -2.53014212847 -1.03500550985 -2.54740023613 -1.03502377868 -2.56465858221 -1.03504478931 -2.58191758394 -1.03506863117 -2.59917682409 -1.03508043289 -2.6183874011 -1.03506717086 -2.63759964704 -1.03504350781 -2.65485906601 -1.03502261639 -2.67211782932 -1.03500455618 -2.68937629461 -1.03498923779 -2.70663422346 -1.03497675061 -2.7238920927 -1.03496700525 -2.74114948511 -1.03496006131 -2.75840687752 -1.03495594859 -2.77566403151 -1.03495466709 -2.7929212451 -1.0349561572 -2.81017822027 -1.03496041894 -2.82743549347 -1.03496748209 -2.84469270706 -1.03497734666 -2.86195033789 -1.03499001265 -2.87920802832 -1.03500548005 -2.89646613598 -1.03502371907 -2.91372448206 -1.03504478931 -2.93098342419 -1.03506869077 -2.94824266433 -1.0350804925 -2.96745330095 -1.03506720066 -2.98666554689 -1.03504350781 -3.00392496586 -1.03502261639 -3.02118366957 -1.03500455618 -3.03844213486 -1.03498923779 -3.05570006371 -1.03497675061 -3.07295787335 -1.03496700525 -3.09021532535 -1.03496003151 -3.10747271776 -1.03495588899 -3.12472981215 -1.03495463729 --3.14119824966 -1.0349561274 --3.12394124269 -1.03496038913 --3.10668390989 -1.03496748209 --3.0894266963 -1.03497737646 --3.07216912508 -1.03499007225 --3.05491143465 -1.03500553966 --3.03765332699 -1.03502377868 --3.02039504051 -1.03504481911 --3.00313609839 -1.03506866097 --2.98587679863 -1.03508043289 --2.96666616201 -1.03506717086 --2.94745391607 -1.03504350781 --2.93019455671 -1.03502261639 --2.912935853 -1.03500452638 --2.89567732811 -1.03498920798 --2.87841939926 -1.03497675061 --2.86116158962 -1.03496700525 --2.84390413761 -1.03496006131 --2.82664674521 -1.03495594859 --2.80938965082 -1.03495466709 --2.79213243723 -1.0349561274 --2.77487546205 -1.03496038913 --2.75761812925 -1.03496748209 --2.74036085606 -1.03497737646 --2.72310328484 -1.03499004245 --2.70584565401 -1.03500550985 --2.68858748674 -1.03502374888 --2.67132914067 -1.03504478931 --2.65407019854 -1.03506869077 --2.63681095839 -1.03508046269 --2.61760038138 -1.03506717086 --2.59838813543 -1.03504350781 --2.58112871647 -1.03502261639 --2.56386995315 -1.03500452638 --2.54661142826 -1.03498920798 --2.52935349941 -1.03497675061 --2.51209568977 -1.03496700525 --2.49483829737 -1.03496006131 --2.47758090496 -1.03495594859 --2.46032381058 -1.03495469689 --2.44306659699 -1.0349561572 --2.4258095026 -1.03496038913 --2.4085522294 -1.03496748209 --2.39129501581 -1.03497734666 --2.37403738499 -1.03499004245 --2.35677975416 -1.03500553966 --2.3395216465 -1.03502377868 --2.32226330042 -1.03504481911 --2.30500429869 -1.03506866097 --2.28774499893 -1.03508043289 --2.26853442192 -1.03506717086 --2.24932223558 -1.03504350781 --2.23206281662 -1.03502261639 --2.21480405331 -1.03500452638 --2.19754558802 -1.03498920798 --2.18028765917 -1.03497675061 --2.16302984953 -1.03496700525 --2.14577251673 -1.03496006131 --2.12851506472 -1.03495594859 --2.11125797033 -1.03495466709 --2.09400075674 -1.0349561572 --2.07674366236 -1.03496041894 --2.05948644876 -1.03496745229 --2.04222923517 -1.03497734666 --2.02497154474 -1.03499004245 --2.00771388411 -1.03500550985 --1.99045577645 -1.03502374888 --1.97319743037 -1.03504475951 --1.95593848824 -1.03506866097 --1.93867924809 -1.03508046269 --1.91946864128 -1.03506717086 --1.90025639534 -1.03504350781 --1.88299697637 -1.03502261639 --1.86573821306 -1.03500452638 --1.84847974777 -1.03498920798 --1.83122181892 -1.03497675061 --1.81396397948 -1.03496700525 --1.79670658708 -1.03496006131 --1.77944919467 -1.03495594859 --1.76219210029 -1.03495466709 --1.74493488669 -1.0349561274 --1.72767785191 -1.03496035933 --1.71042054891 -1.03496742249 --1.69316330552 -1.03497731686 --1.6759057045 -1.03499001265 --1.65864807367 -1.03500550985 --1.64138993621 -1.03502374888 --1.62413159013 -1.03504478931 --1.606872648 -1.03506866097 --1.58961337805 -1.03508043289 --1.57040277123 -1.03506717086 --1.5511905849 -1.03504353762 --1.53393119574 -1.03502264619 --1.51667243242 -1.03500452638 --1.49941390753 -1.03498920798 --1.48215594888 -1.03497672081 --1.46489813924 -1.03496697545 --1.44764074683 -1.03496006131 --1.43038335442 -1.03495597839 --1.41312626004 -1.03495469689 --1.39586901664 -1.0349561274 --1.37861198187 -1.03496038913 --1.36135470867 -1.03496748209 --1.34409749508 -1.03497737646 --1.32683992386 -1.03499004245 --1.30958226323 -1.03500550985 --1.29232409596 -1.03502377868 --1.27506574988 -1.03504481911 --1.25780677795 -1.03506869077 --1.2405475378 -1.03508046269 --1.22133696079 -1.03506717086 --1.20212471485 -1.03504353762 --1.18486529589 -1.03502264619 --1.16760653258 -1.03500452638 --1.15034803748 -1.03498920798 --1.13309010864 -1.03497675061 --1.11583226919 -1.03496700525 --1.09857487678 -1.03496006131 --1.08131748438 -1.03495594859 --1.0640603602 -1.03495466709 --1.0468031764 -1.0349561572 --1.02954614163 -1.03496041894 --1.01228880883 -1.03496748209 --0.995031595231 -1.03497734666 --0.977774038911 -1.03499001265 --0.960516408086 -1.03500550985 --0.943258240819 -1.03502377868 --0.925999894738 -1.03504481911 --0.908740967512 -1.03506869077 --0.891481697559 -1.03508046269 --0.872271075845 -1.03506717086 --0.853058844805 -1.03504350781 --0.835799455643 -1.03502261639 --0.81854070723 -1.03500455618 --0.801282197237 -1.03498923779 --0.784024268389 -1.03497675061 --0.766766443849 -1.03496703505 --0.749509036541 -1.03496009111 --0.732251644134 -1.03495594859 --0.714994549751 -1.03495466709 --0.697737321258 -1.0349561274 --0.68048030138 -1.03496041894 --0.663222998381 -1.03496751189 --0.645965769887 -1.03497737646 --0.628708183765 -1.03499004245 --0.611450523138 -1.03500550985 --0.594192385673 -1.03502377868 --0.576934054494 -1.03504478931 --0.559675097465 -1.03506863117 --0.542415827513 -1.03508043289 --0.523205235601 -1.03506717086 --0.503993004561 -1.03504350781 --0.486733600498 -1.03502261639 --0.469474866986 -1.03500455618 --0.452216364443 -1.03498923779 --0.434958413243 -1.03497675061 --0.417700581253 -1.03496700525 --0.400443173945 -1.03496006131 --0.383185781539 -1.03495594859 --0.365928687155 -1.03495466709 --0.348671481013 -1.0349561572 --0.331414446235 -1.03496041894 --0.314157150686 -1.03496748209 --0.296899929643 -1.03497734666 --0.27964233607 -1.03499001265 --0.262384682894 -1.03500548005 --0.245126530528 -1.03502371907 --0.227868184448 -1.03504478931 --0.210609231145 -1.03506869077 --0.193349972367 -1.0350804925 --0.17413938418 -1.05218407512 --0.154922623187 -1.05216023326 --0.137663185597 -1.05213916302 --0.120404420421 -1.05212089419 --0.103145906702 -1.05210542679 --0.0858879387379 -1.05209285021 --0.0686300965026 -1.05208304524 --0.0513726798818 -1.0520760715 --0.0341152637266 -1.05207189917 --0.0168581502512 -1.05207058787 -0.000399086857215 -1.05207207799 -0.0176561407279 -1.05207639933 -0.0349134430289 -1.05208352208 -0.0521706864238 -1.05209347606 -0.0694282995537 -1.05210629106 -0.0866859778762 -1.05212190748 -0.103944150731 -1.05214029551 -0.1212025024 -1.05216154456 -0.138461474329 -1.05218559503 -0.155720759183 -1.05219742656 -0.174931179732 -1.05218407512 -0.194143235684 -1.05216023326 -0.211402665824 -1.05213916302 -0.228661421686 -1.05212089419 -0.245919939131 -1.05210545659 -0.263177908957 -1.05209288001 -0.280435755849 -1.05208304524 -0.297693178058 -1.0520760715 -0.314950592816 -1.05207189917 -0.33220769465 -1.05207058787 -0.349464930594 -1.05207207799 -0.366721995175 -1.05207636952 -0.383979298174 -1.05208349228 -0.401236541569 -1.05209347606 -0.418494150043 -1.05210629106 -0.43575181812 -1.05212190748 -0.453009992838 -1.05214029551 -0.47026835382 -1.05216151476 -0.487527325749 -1.05218559504 -0.504786610604 -1.05219745636 -0.523997038603 -1.05218407512 -0.543209090829 -1.05216023326 -0.560468509793 -1.05213916302 -0.577727288007 -1.05212089419 -0.594985812903 -1.05210545659 -0.612243756652 -1.05209288001 -0.629501596093 -1.05208304524 -0.646759033203 -1.0520760417 -0.664016455412 -1.05207186937 -0.681273564696 -1.05207058787 -0.698530763388 -1.05207207799 -0.715787827969 -1.05207636952 -0.73304516077 -1.05208352208 -0.750302389264 -1.05209350586 -0.767560020089 -1.05210629106 -0.784817695618 -1.05212190748 -0.802075847983 -1.05214032531 -0.819334208966 -1.05216154456 -0.836593195796 -1.05218556523 -0.853852495551 -1.05219742656 -0.873062923551 -1.05218407512 -0.892274945974 -1.05216023326 -0.909534364939 -1.05213916302 -0.926793128252 -1.05212089419 -0.944051623344 -1.05210545659 -0.961309581995 -1.05209288001 -0.978567436338 -1.05208304524 -0.995824873448 -1.0520760417 -1.01308229566 -1.05207189917 -1.03033939004 -1.05207061768 -1.04759663343 -1.05207207799 -1.06485369801 -1.05207639933 -1.08211097122 -1.05208355189 -1.09936821461 -1.05209350586 -1.11662587524 -1.05210629106 -1.13388356567 -1.05212190748 -1.15114170313 -1.05214032531 -1.16840004921 -1.05216151476 -1.18565905094 -1.05218556523 -1.20291832089 -1.05219745636 -1.22212871909 -1.05218407512 -1.24134075642 -1.05216023326 -1.25860020519 -1.05213916302 -1.2758589983 -1.05212089419 -1.29311749339 -1.05210545659 -1.31037545204 -1.05209288001 -1.32763329148 -1.05208304524 -1.34489068389 -1.0520760417 -1.3621481061 -1.05207186937 -1.37940526009 -1.05207058787 -1.39666250348 -1.05207207799 -1.41391953826 -1.05207639933 -1.43117684126 -1.05208352208 -1.44843408465 -1.05209347606 -1.46569168568 -1.05210629106 -1.48294937611 -1.05212190748 -1.50020757317 -1.05214032531 -1.51746591926 -1.05216154456 -1.53472486138 -1.05218556523 -1.55198413134 -1.05219742656 -1.57119458914 -1.05218407512 -1.59040665627 -1.05216023326 -1.60766607523 -1.05213916302 -1.62492480874 -1.05212089419 -1.64218330383 -1.05210542679 -1.65944129228 -1.05209285021 -1.67669916153 -1.05208304524 -1.69395658373 -1.0520760417 -1.71121400595 -1.05207192898 -1.72847110033 -1.05207064748 -1.74572831392 -1.05207207799 -1.7629853785 -1.05207636952 -1.7802426815 -1.05208352208 -1.7974999547 -1.05209350586 -1.81475758553 -1.05210629106 -1.83201524615 -1.05212190748 -1.84927341342 -1.05214032531 -1.8665317595 -1.05216154456 -1.88379073143 -1.05218559504 -1.90105003118 -1.05219745636 -1.92026042938 -1.05218407512 -1.93947246671 -1.05216023326 -1.95673191548 -1.05213916302 -1.97399067878 -1.05212089419 -1.99124920368 -1.05210545659 -2.00850713253 -1.05209285021 -2.02576500177 -1.05208301544 -2.04302245378 -1.0520760417 -2.06027984619 -1.05207186937 -2.07753694058 -1.05207058787 -2.09479415417 -1.05207207799 -2.11205124855 -1.05207639933 -2.12930858135 -1.05208352208 -2.14656585455 -1.05209347606 -2.16382342577 -1.05210629106 -2.1810810566 -1.05212190748 -2.19833922386 -1.05214032531 -2.21559756994 -1.05216154456 -2.23285657167 -1.05218559504 -2.25011587143 -1.05219745636 -2.26932626963 -1.05218407512 -2.28853827715 -1.05216023326 -2.30579775572 -1.05213916302 -2.32305651903 -1.052120924 -2.34031504393 -1.05210545659 -2.35757303238 -1.0520928204 -2.37483084202 -1.05208301544 -2.39208829403 -1.0520760715 -2.40934568643 -1.05207192898 -2.42660278082 -1.05207061768 -2.44386005402 -1.05207207799 -2.4611171484 -1.05207639933 -2.47837442159 -1.05208355189 -2.49563163519 -1.05209350586 -2.51288932562 -1.05210629106 -2.53014701605 -1.05212193728 -2.54740512371 -1.05214035511 -2.56466346979 -1.05216151476 -2.58192241192 -1.05218553543 -2.59918165207 -1.05219742656 -2.61839210987 -1.05218407512 -2.6376042366 -1.05216023326 -2.65486365557 -1.05213916302 -2.67212241888 -1.052120924 -2.68938094377 -1.05210545659 -2.70663887262 -1.05209285021 -2.72389668226 -1.05208304524 -2.74115407467 -1.0520760417 -2.75841152668 -1.05207189917 -2.77566868067 -1.05207061768 -2.79292589426 -1.05207207799 -2.81018292904 -1.05207636952 -2.82744026184 -1.05208349228 -2.84469747543 -1.05209347606 -2.86195510626 -1.05210629106 -2.87921279669 -1.05212187767 -2.89647096396 -1.05214026571 -2.91372936964 -1.05216151476 -2.93098831177 -1.05218559504 -2.94824755192 -1.05219745636 -2.96745795011 -1.05218407512 -2.98667001724 -1.05216023326 -3.00392949581 -1.05213916302 -3.02118825913 -1.05212089419 -3.03844672441 -1.05210542679 -3.05570465326 -1.05209285021 -3.07296252251 -1.05208304524 -3.09021997452 -1.0520760715 -3.10747736692 -1.05207189917 -3.12473446131 -1.05207058787 --3.14119354089 -1.05207207799 --3.12393647432 -1.05207639933 --3.10667920112 -1.05208352208 --3.08942198754 -1.05209347606 --3.07216435671 -1.05210629106 --3.05490666628 -1.05212190748 --3.03764849901 -1.05214029551 --3.02039015293 -1.05216154456 --3.0031312108 -1.05218559503 --2.98587191105 -1.05219742656 --2.96666145324 -1.05218407512 --2.94744938612 -1.05216023326 --2.93019002676 -1.05213916302 --2.91293126344 -1.05212089419 --2.89567273855 -1.05210545659 --2.8784148097 -1.05209288001 --2.86115694046 -1.05208304524 --2.84389948845 -1.0520760715 --2.82664203644 -1.05207189917 --2.80938494205 -1.05207058787 --2.79212772846 -1.05207207799 --2.77487069369 -1.05207636952 --2.75761336088 -1.05208349228 --2.74035602808 -1.05209347606 --2.72309845686 -1.05210629106 --2.70584088564 -1.05212190748 --2.68858271837 -1.05214029551 --2.67132431269 -1.05216151476 --2.65406531096 -1.05218559504 --2.6368060112 -1.05219745636 --2.617595613 -1.05218407512 --2.59838360548 -1.05216023326 --2.58112412691 -1.05213916302 --2.5638653636 -1.05212089419 --2.5466068387 -1.05210545659 --2.52934885025 -1.05209288001 --2.51209104061 -1.05208304524 --2.4948335886 -1.0520760417 --2.47757619619 -1.05207186937 --2.46031910181 -1.05207058787 --2.44306188822 -1.05207207799 --2.42580479383 -1.05207636952 --2.40854746103 -1.05208352208 --2.39129024744 -1.05209350586 --2.37403261662 -1.05210629106 --2.35677492619 -1.05212190748 --2.33951681852 -1.05214032531 --2.32225847244 -1.05216154456 --2.30499947071 -1.05218556523 --2.28774017096 -1.05219742656 --2.26852971315 -1.05218407512 --2.24931770563 -1.05216023326 --2.23205828667 -1.05213916302 --2.21479952336 -1.05212089419 --2.19754099846 -1.05210545659 --2.18028301 -1.05209288001 --2.16302520037 -1.05208304524 --2.14576780796 -1.0520760417 --2.12851035595 -1.05207189917 --2.11125326157 -1.05207061768 --2.09399604797 -1.05207207799 --2.07673895359 -1.05207639933 --2.05948168039 -1.05208355189 --2.0422244668 -1.05209350586 --2.02496677637 -1.05210629106 --2.00770908594 -1.05212190748 --1.99045094847 -1.05214032531 --1.97319257259 -1.05216151476 --1.95593363047 -1.05218556523 --1.93867439032 -1.05219745636 --1.91946393252 -1.05218407512 --1.90025186539 -1.05216023326 --1.88299244642 -1.05213916302 --1.86573368311 -1.05212089419 --1.84847518802 -1.05210545659 --1.83121722936 -1.05209288001 --1.81395936012 -1.05208304524 --1.79670193791 -1.0520760417 --1.77944451571 -1.05207186937 --1.76218739152 -1.05207058787 --1.74493017793 -1.05207207799 --1.72767311335 -1.05207639933 --1.71041581035 -1.05208352208 --1.69315856695 -1.05209347606 --1.67590093613 -1.05210629106 --1.6586432755 -1.05212190748 --1.64138510823 -1.05214032531 --1.62412676215 -1.05216154456 --1.60686779022 -1.05218556523 --1.58960849047 -1.05219742656 --1.57039809227 -1.05218407512 --1.55118605495 -1.05216023326 --1.53392660618 -1.05213916302 --1.51666784287 -1.05212089419 --1.49940931797 -1.05210542679 --1.48215132952 -1.05209285021 --1.46489349008 -1.05208304524 --1.44763606787 -1.0520760417 --1.43037867546 -1.05207192898 --1.41312158108 -1.05207064748 --1.39586430788 -1.05207207799 --1.3786072433 -1.05207636952 --1.3613499403 -1.05208352208 --1.34409272671 -1.05209350586 --1.32683515549 -1.05210629106 --1.30957746506 -1.05212190748 --1.29231926798 -1.05214032531 --1.2750608921 -1.05216154456 --1.25780192017 -1.05218559504 --1.24054265022 -1.05219745636 --1.22133222222 -1.05218407512 --1.2021201551 -1.05216023326 --1.18486070633 -1.05213916302 --1.16760194302 -1.05212089419 --1.15034344793 -1.05210545659 --1.13308551907 -1.05209285021 --1.11582767963 -1.05208301544 --1.09857025743 -1.0520760417 --1.08131283522 -1.05207186937 --1.06405568123 -1.05207058787 --1.04679843783 -1.05207207799 --1.02954140306 -1.05207639933 --1.01228410006 -1.05208352208 --0.995026856661 -1.05209347606 --0.977769255638 -1.05210629106 --0.96051158011 -1.05212190748 --0.943253397942 -1.05214032531 --0.92599503696 -1.05216154456 --0.90873606503 -1.05218559504 --0.891476780176 -1.05219745636 --0.872266352177 -1.05218407512 --0.853054314852 -1.05216023326 --0.835794910789 -1.05213916302 --0.818536147475 -1.052120924 --0.801277622581 -1.05210545659 --0.78401966393 -1.0520928204 --0.766761809587 -1.05208301544 --0.749504372478 -1.0520760715 --0.73224696517 -1.05207192898 --0.714989870786 -1.05207061768 --0.697732627392 -1.05207207799 --0.680475562811 -1.05207639933 --0.66321824491 -1.05208355189 --0.645961001516 -1.05209350586 --0.628703385592 -1.05210629106 --0.611445710063 -1.05212193728 --0.594187557697 -1.05214035511 --0.576929196715 -1.05216151476 --0.559670224786 -1.05218553543 --0.542410939932 -1.05219742656 --0.523200526834 -1.05218407512 --0.503988474607 -1.05216023326 --0.486729040742 -1.05213916302 --0.46947029233 -1.052120924 --0.452211767435 -1.05210545659 --0.434953786433 -1.05209285021 --0.417695946991 -1.05208304524 --0.400438524782 -1.0520760417 --0.383181102574 -1.05207189917 --0.36592400074 -1.05207061768 --0.348666772247 -1.05207207799 --0.331409707666 -1.05207636952 --0.314152404666 -1.05208349228 --0.296895161271 -1.05209347606 --0.279637545347 -1.05210629106 --0.262379869819 -1.05212187767 --0.245121695101 -1.05214026571 --0.22786334157 -1.05216151476 --0.210604373366 -1.05218559504 --0.193345095962 -1.05219745636 --0.174134675414 -1.06934329867 --0.154918219894 -1.069319278 --0.137658767402 -1.06929802895 --0.120399985462 -1.06927961111 --0.103141451255 -1.0692640245 --0.0858834628016 -1.06925132871 --0.0686256019399 -1.06924146414 --0.0513681704179 -1.06923446059 --0.0341107351706 -1.06923022866 --0.0168536012061 -1.06922885775 -0.000403654528783 -1.06923034787 -0.017660727026 -1.06923475862 -0.0349180493504 -1.06924194098 -0.0521753113717 -1.06925195456 -0.0694329412654 -1.06926488877 -0.086690640077 -1.06928062439 -0.103948827833 -1.06929919124 -0.121207201854 -1.06932061911 -0.138466201723 -1.06934484839 -0.155725501478 -1.06935673952 -0.174935743213 -1.06934326887 -0.194147624076 -1.069319278 -0.211407080293 -1.06929802895 -0.228665858507 -1.06927961111 -0.245924398303 -1.0692640543 -0.263182379306 -1.06925135851 -0.280440233648 -1.06924143433 -0.297697678208 -1.06923443079 -0.314955115319 -1.06923022866 -0.332212239504 -1.06922885775 -0.34946949035 -1.06923034787 -0.366726577282 -1.06923472881 -0.383983910084 -1.06924194098 -0.40124116838 -1.06925198436 -0.418498799205 -1.06926488877 -0.435756497085 -1.06928062439 -0.453014679253 -1.06929919124 -0.470273062587 -1.0693205595 -0.487532056868 -1.06934478879 -0.504791341722 -1.06935676933 -0.524001598358 -1.06934329867 -0.543213486671 -1.069319278 -0.560472935438 -1.06929802895 -0.577731713652 -1.06927961111 -0.594990238547 -1.0692640543 -0.612248227 -1.06925135851 -0.629506081342 -1.06924143433 -0.646763533354 -1.06923440099 -0.664020985365 -1.06923019886 -0.681278094649 -1.06922885775 -0.698535338044 -1.06923037767 -0.715792417526 -1.06923475862 -0.733049750328 -1.06924197078 -0.750307023525 -1.06925201416 -0.76756465435 -1.06926488877 -0.78482234478 -1.06928062439 -0.802080526948 -1.06929919124 -0.819338902831 -1.0693205595 -0.836597904563 -1.06934478879 -0.853857204318 -1.06935676933 -0.873067468405 -1.06934329867 -0.892279341817 -1.069319278 -0.909538775682 -1.06929802895 -0.926797553897 -1.06927961111 -0.944056078791 -1.0692640543 -0.961314067244 -1.06925135851 -0.978571921587 -1.06924143433 -0.995829358697 -1.06923440099 -1.01308682561 -1.06923022866 -1.0303439498 -1.06922888756 -1.04760119319 -1.06923034787 -1.06485828757 -1.06923475862 -1.08211559057 -1.06924197078 -1.09937286377 -1.06925198436 -1.1166305244 -1.06926488877 -1.13388821483 -1.06928062439 -1.15114638209 -1.06929922104 -1.16840475797 -1.0693205893 -1.18566378951 -1.06934478879 -1.20292308927 -1.06935676933 -1.22213330865 -1.06934329867 -1.24134516716 -1.069319278 -1.25860464573 -1.06929802895 -1.27586343885 -1.06927964092 -1.29312193394 -1.0692640841 -1.31037992239 -1.06925135851 -1.32763779163 -1.06924140453 -1.34489521384 -1.06923437118 -1.36215266586 -1.06923019886 -1.37940981984 -1.06922888756 -1.39666706324 -1.06923037767 -1.41392409802 -1.06923475862 -1.43118143082 -1.06924197078 -1.44843870401 -1.06925198436 -1.46569633484 -1.06926488877 -1.48295405507 -1.06928062439 -1.50021225214 -1.06929922104 -1.51747059822 -1.0693205893 -1.53472957015 -1.06934478879 -1.5519888699 -1.06935676933 -1.57119914889 -1.06934329867 -1.59041103721 -1.069319278 -1.60767045617 -1.06929802895 -1.62492924929 -1.06927961111 -1.64218780398 -1.0692640245 -1.65944579244 -1.06925132871 -1.67670366168 -1.06924143433 -1.69396111369 -1.06923440099 -1.7112185359 -1.06923022866 -1.72847563029 -1.06922888756 -1.74573287368 -1.06923034787 -1.76298996806 -1.06923472881 -1.78024730086 -1.06924194098 -1.79750457406 -1.06925198436 -1.81476220489 -1.06926488877 -1.83201989531 -1.06928062439 -1.84927809238 -1.06929919124 -1.86653646827 -1.0693205595 -1.88379547 -1.06934478879 -1.90105476975 -1.06935676933 -1.92026498914 -1.06934329867 -1.93947687745 -1.069319278 -1.95673635602 -1.06929802895 -1.97399511934 -1.06927961111 -1.99125364423 -1.0692640543 -2.00851160288 -1.06925132871 -2.02576947212 -1.06924140453 -2.04302692413 -1.06923440099 -2.06028437614 -1.06923019886 -2.07754147053 -1.06922885775 -2.09479868412 -1.06923037767 -2.1120557785 -1.06923478842 -2.1293131113 -1.06924197078 -2.1465704441 -1.06925198436 -2.16382807493 -1.06926488877 -2.18108576536 -1.06928062439 -2.19834393263 -1.06929919124 -2.21560227871 -1.0693205595 -2.23286128044 -1.06934478879 -2.25012058019 -1.06935676933 -2.26933085918 -1.06934329867 -2.2885427475 -1.069319278 -2.30580222607 -1.06929802895 -2.32306098938 -1.06927961111 -2.34031951427 -1.0692640245 -2.35757756233 -1.06925129891 -2.37483537197 -1.06924140453 -2.39209276438 -1.06923443079 -2.40935021639 -1.06923025846 -2.42660737038 -1.06922888756 -2.44386464357 -1.06923034787 -2.46112173796 -1.06923472881 -2.47837907076 -1.06924194098 -2.49563628435 -1.06925198436 -2.51289391517 -1.06926488877 -2.5301516056 -1.06928065419 -2.54740977288 -1.06929922104 -2.56466817856 -1.0693205595 -2.58192712069 -1.06934478879 -2.59918636084 -1.06935676933 -2.61839663982 -1.06934329867 -2.63760858774 -1.069319278 -2.65486806631 -1.06929802895 -2.67212682963 -1.06927961111 -2.68938535452 -1.0692640245 -2.70664334297 -1.06925132871 -2.72390121221 -1.06924143433 -2.74115866422 -1.06923440099 -2.75841611624 -1.06923022866 -2.77567321062 -1.06922888756 -2.79293042422 -1.06923034787 -2.8101875186 -1.06923472881 -2.8274448514 -1.06924194098 -2.84470206499 -1.06925198436 -2.86195969581 -1.06926488877 -2.87921738625 -1.06928062439 -2.89647561312 -1.06929919124 -2.9137340188 -1.0693205595 -2.93099302053 -1.06934478879 -2.94825232029 -1.06935676933 -2.96746253967 -1.06934329867 -2.98667442799 -1.069319278 -3.00393384695 -1.06929802895 -3.02119266987 -1.06927961111 -3.03845119476 -1.0692640245 -3.05570912361 -1.06925132871 -3.07296705246 -1.06924146414 -3.09022450447 -1.06923446059 -3.10748189688 -1.06923022866 -3.12473899126 -1.06922885775 --3.14118901093 -1.06923034787 --3.12393188477 -1.06923475862 --3.10667461157 -1.06924194098 --3.08941739798 -1.06925195456 --3.07215976715 -1.06926488877 --3.05490201712 -1.06928062439 --3.03764379025 -1.06929919124 --3.02038544416 -1.06932061911 --3.00312644244 -1.06934484839 --2.98586714268 -1.06935673952 --2.96665692329 -1.06934326887 --2.94744503498 -1.069319278 --2.93018561601 -1.06929802895 --2.9129268527 -1.06927961111 --2.89566832781 -1.0692640543 --2.87841033935 -1.06925135851 --2.86115241051 -1.06924143433 --2.8438949585 -1.06923443079 --2.82663750648 -1.06923022866 --2.8093804121 -1.06922885775 --2.79212319851 -1.06923034787 --2.77486610413 -1.06923472881 --2.75760877132 -1.06924194098 --2.74035143852 -1.06925198436 --2.7230938077 -1.06926488877 --2.70583617687 -1.06928062439 --2.68857800961 -1.06929919124 --2.67131960392 -1.0693205595 --2.65406060219 -1.06934478879 --2.63680130243 -1.06935676933 --2.61759102344 -1.06934329867 --2.59837913513 -1.069319278 --2.58111965656 -1.06929802895 --2.56386089325 -1.06927961111 --2.54660236835 -1.0692640543 --2.5293443799 -1.06925135851 --2.51208657026 -1.06924143433 --2.49482911825 -1.06923440099 --2.47757166624 -1.06923019886 --2.46031451225 -1.06922885775 --2.44305723906 -1.06923037767 --2.42580020428 -1.06923475862 --2.40854287148 -1.06924197078 --2.39128559828 -1.06925201416 --2.37402802706 -1.06926488877 --2.35677033663 -1.06928062439 --2.33951216936 -1.06929919124 --2.32225376367 -1.0693205595 --2.30499476195 -1.06934478879 --2.28773552179 -1.06935676933 --2.26852524281 -1.06934329867 --2.24931335449 -1.069319278 --2.23205387592 -1.06929802895 --2.21479511261 -1.06927961111 --2.19753658771 -1.0692640543 --2.18027853966 -1.06925135851 --2.16302073002 -1.06924143433 --2.14576327801 -1.06923440099 --2.12850576639 -1.06923022866 --2.11124867201 -1.06922888756 --2.09399145842 -1.06923034787 --2.07673436403 -1.06923475862 --2.05947703123 -1.06924197078 --2.04221981764 -1.06925198436 --2.02496218682 -1.06926488877 --2.00770446658 -1.06928062439 --1.99044626951 -1.06929922104 --1.97318789363 -1.0693205893 --1.9559288919 -1.06934478879 --1.93866959214 -1.06935676933 --1.91945934295 -1.06934329867 --1.90024748444 -1.069319278 --1.88298806548 -1.06929802895 --1.86572927236 -1.06927964092 --1.84847074747 -1.0692640841 --1.83121275902 -1.06925135851 --1.81395485997 -1.06924140453 --1.79669740796 -1.06923437118 --1.77943995595 -1.06923019886 --1.76218280196 -1.06922888756 --1.74492558837 -1.06923037767 --1.72766855359 -1.06923475862 --1.71041122079 -1.06924197078 --1.69315394759 -1.06925198436 --1.67589631677 -1.06926488877 --1.65863862634 -1.06928062439 --1.64138042927 -1.06929922104 --1.62412205339 -1.0693205893 --1.60686305165 -1.06934478879 --1.5896037519 -1.06935676933 --1.57039353251 -1.06934329867 --1.5511816442 -1.069319278 --1.53392216563 -1.06929802895 --1.51666340232 -1.06927961111 --1.49940487742 -1.0692640245 --1.48214688897 -1.06925132871 --1.46488901973 -1.06924143433 --1.44763156772 -1.06923440099 --1.43037414551 -1.06923022866 --1.41311702132 -1.06922888756 --1.39585974812 -1.06923034787 --1.37860265374 -1.06923472881 --1.36134532094 -1.06924194098 --1.34408807754 -1.06925198436 --1.32683047652 -1.06926488877 --1.30957278609 -1.06928062439 --1.29231458902 -1.06929919124 --1.27505621314 -1.0693205595 --1.25779724121 -1.06934478879 --1.24053791165 -1.06935676933 --1.22132763266 -1.06934329867 --1.20211574435 -1.069319278 --1.18485626578 -1.06929802895 --1.16759750247 -1.06927961111 --1.15033897758 -1.0692640543 --1.13308101893 -1.06925132871 --1.11582317948 -1.06924140453 --1.09856572747 -1.06923440099 --1.08130827546 -1.06923019886 --1.06405115128 -1.06922885775 --1.04679387808 -1.06923037767 --1.0295368135 -1.06923478842 --1.0122795105 -1.06924197078 --0.9950222224 -1.06925198436 --0.977764591575 -1.06926488877 --0.960506916046 -1.06928062439 --0.943248748779 -1.06929919124 --0.925990357995 -1.0693205595 --0.908731341362 -1.06934478879 --0.891472026706 -1.06935676933 --0.87226177752 -1.06934329867 --0.853049904108 -1.069319278 --0.835790470242 -1.06929802895 --0.818531706929 -1.06927961111 --0.801273182034 -1.0692640245 --0.78401517868 -1.06925129891 --0.766757294536 -1.06924140453 --0.749499857426 -1.06923443079 --0.732242420316 -1.06923025846 --0.71498529613 -1.06922888756 --0.697728052735 -1.06923034787 --0.680470973253 -1.06923472881 --0.663213640451 -1.06924194098 --0.645956397057 -1.06925198436 --0.628698751331 -1.06926488877 --0.611441045999 -1.06928065419 --0.594182878732 -1.06929922104 --0.576924487948 -1.0693205595 --0.559665501118 -1.06934478879 --0.542406216264 -1.06935676933 --0.523195967079 -1.06934329867 --0.503984078765 -1.069319278 --0.486724615097 -1.06929802895 --0.469465844333 -1.06927961111 --0.452207311988 -1.0692640245 --0.434949308634 -1.06925132871 --0.417691446841 -1.06924143433 --0.400434017181 -1.06923440099 --0.383176572621 -1.06923022866 --0.365919448436 -1.06922888756 --0.34866219759 -1.06923034787 --0.331405118108 -1.06923472881 --0.314147800207 -1.06924194098 --0.296890541911 -1.06925198436 --0.279632911086 -1.06926488877 --0.262375205755 -1.06928062439 --0.245117016137 -1.06929919124 --0.227858647704 -1.0693205595 --0.210599660873 -1.06934478879 --0.193340361118 -1.06935676933 --0.174130104482 -1.08650603891 --0.154915194959 -1.08648180962 --0.137655738741 -1.08646038175 --0.120396947488 -1.08644187451 --0.103138398379 -1.08642616868 --0.0858803987503 -1.08641335368 --0.0686225257814 -1.08640342951 --0.0513650793582 -1.08639633656 --0.0341076301411 -1.08639204502 --0.0168504840694 -1.08639070392 -0.000406784238293 -1.08639219403 -0.0176638702396 -1.08639660477 -0.0349212042056 -1.08640387655 -0.0521784787998 -1.08641400934 -0.0694361235946 -1.08642700315 -0.0866938326508 -1.08644282818 -0.103952031583 -1.08646160364 -0.121210422367 -1.08648318052 -0.138469435275 -1.08650755882 -0.155728746206 -1.08651956916 -0.174938872457 -1.0865060091 -0.19415063411 -1.08648183942 -0.211410101503 -1.08646041155 -0.228668902069 -1.08644187451 -0.245927456766 -1.08642616868 -0.263185456395 -1.08641332388 -0.280443318188 -1.0864033699 -0.297700770199 -1.08639630675 -0.31495822221 -1.08639204502 -0.332215353847 -1.08639070392 -0.349472619593 -1.08639222383 -0.366729713976 -1.08639663458 -0.383987061679 -1.08640390635 -0.401244342327 -1.08641403914 -0.418501988053 -1.08642703295 -0.435759693384 -1.08644288778 -0.453017883003 -1.08646160364 -0.470276281238 -1.08648315072 -0.48753529042 -1.08650758862 -0.504794597626 -1.08651965857 -0.524004742503 -1.08650606871 -0.543216511607 -1.08648183942 -0.560475960374 -1.08646041155 -0.577734723687 -1.0864418447 -0.594993263483 -1.08642613888 -0.612251281738 -1.08641332388 -0.629509165883 -1.0864033699 -0.646766632795 -1.08639630675 -0.664024084806 -1.08639204502 -0.681281208992 -1.08639070392 -0.698538482189 -1.08639222383 -0.715795576572 -1.08639663458 -0.733052909374 -1.08640390635 -0.750310197472 -1.08641400933 -0.767567843199 -1.08642697334 -0.78482554853 -1.08644285798 -0.802083745599 -1.08646160364 -0.819342121482 -1.08648315072 -0.836601138115 -1.08650755882 -0.853860452771 -1.08651959896 -0.873070582748 -1.0865060091 -0.892282351851 -1.08648180962 -0.909541800618 -1.08646041155 -0.926800593734 -1.0864418447 -0.944059163332 -1.08642613888 -0.961317151785 -1.08641332388 -0.978575006127 -1.0864033699 -0.995832458138 -1.08639630675 -1.01308995486 -1.08639204502 -1.03034710884 -1.08639070392 -1.04760435224 -1.08639219403 -1.06486144662 -1.08639660477 -1.08211877942 -1.08640387655 -1.09937605262 -1.08641400934 -1.11663368344 -1.08642703295 -1.13389137387 -1.08644288778 -1.15114957094 -1.08646160364 -1.16840797663 -1.08648312092 -1.18566700816 -1.08650752902 -1.20292630792 -1.08651962876 -1.22213640809 -1.08650606871 -1.241348207 -1.08648183942 -1.25860768557 -1.08646041155 -1.27586644888 -1.08644190431 -1.29312500358 -1.08642619848 -1.31038299203 -1.08641332388 -1.32764086127 -1.0864033401 -1.34489831328 -1.08639627695 -1.36215576529 -1.08639204502 -1.37941291928 -1.08639073372 -1.39667016268 -1.08639222383 -1.41392722726 -1.08639660477 -1.43118458986 -1.08640387654 -1.44844189286 -1.08641400933 -1.46569955349 -1.08642700315 -1.48295727372 -1.08644285798 -1.50021544099 -1.08646160364 -1.51747381687 -1.08648315072 -1.5347328186 -1.08650755882 -1.55199211836 -1.08651962876 -1.57120227814 -1.08650603891 -1.59041404724 -1.08648177981 -1.60767349601 -1.08646038175 -1.62493231893 -1.0864418447 -1.64219087362 -1.08642613888 -1.65944886208 -1.08641332388 -1.67670676112 -1.0864033401 -1.69396421313 -1.08639627695 -1.71122163534 -1.08639204502 -1.72847875953 -1.08639070392 -1.74573603272 -1.08639219403 -1.76299312711 -1.08639660477 -1.78025045991 -1.08640387655 -1.79750773311 -1.08641400934 -1.81476536393 -1.08642703295 -1.83202305436 -1.08644288778 -1.84928128123 -1.08646160364 -1.86653968692 -1.08648315072 -1.88379868865 -1.08650755882 -1.90105801821 -1.08651962876 -1.92026814818 -1.08650606871 -1.93947991729 -1.08648183942 -1.95673939586 -1.08646041155 -1.97399815917 -1.08644187451 -1.99125668407 -1.08642616868 -2.00851470232 -1.08641332388 -2.02577257156 -1.0864033699 -2.04303002358 -1.08639630675 -2.06028747559 -1.08639204502 -2.07754456997 -1.08639070392 -2.09480184317 -1.08639222383 -2.11205893755 -1.08639660477 -2.12931627035 -1.08640387654 -2.14657360315 -1.08641403914 -2.16383129358 -1.08642703295 -2.18108898401 -1.08644288778 -2.19834715128 -1.08646160364 -2.21560555697 -1.08648315072 -2.2328645587 -1.08650755882 -2.25012385845 -1.08651962876 -2.26933401823 -1.08650606871 -2.28854578734 -1.08648183942 -2.3058052659 -1.08646041155 -2.32306402921 -1.08644187451 -2.34032255411 -1.08642616868 -2.35758060217 -1.08641332388 -2.37483847141 -1.0864033699 -2.39209586382 -1.08639630675 -2.40935325622 -1.08639204502 -2.42661041021 -1.08639070392 -2.44386774302 -1.08639222383 -2.4611248374 -1.08639663458 -2.4783821702 -1.08640387655 -2.4956394434 -1.08641400934 -2.51289707422 -1.08642703295 -2.53015476465 -1.08644288778 -2.54741293192 -1.08646160364 -2.5646713376 -1.08648315072 -2.58193033934 -1.08650755882 -2.59918963909 -1.08651962876 -2.61839979887 -1.08650606871 -2.63761156798 -1.08648183942 -2.65487104654 -1.08646041155 -2.67212986946 -1.0864418447 -2.68938839435 -1.08642613888 -2.70664638281 -1.08641332388 -2.72390431166 -1.0864033699 -2.74116176367 -1.08639630675 -2.75841921568 -1.08639204502 -2.77567636966 -1.08639070392 -2.79293358326 -1.08639219403 -2.81019067765 -1.08639660477 -2.82744801044 -1.08640390635 -2.84470522404 -1.08641403914 -2.86196285486 -1.08642703295 -2.87922060489 -1.08644288778 -2.89647883177 -1.08646160364 -2.91373717785 -1.08648312092 -2.93099617958 -1.08650752902 -2.94825553894 -1.08651959896 -2.96746569872 -1.08650603891 -2.98667746782 -1.08648180962 -3.00393688679 -1.08646038175 -3.0211957097 -1.08644187451 -3.0384542346 -1.08642616868 -3.05571222305 -1.08641335368 -3.0729701519 -1.08640342951 -3.09022760391 -1.08639633656 -3.10748505592 -1.08639204502 -3.1247421503 -1.08639070392 --3.14118591149 -1.08639219403 --3.12392878532 -1.08639660477 --3.10667145253 -1.08640387655 --3.08941423893 -1.08641400934 --3.0721566081 -1.08642700315 --3.05489879847 -1.08644282818 --3.03764057159 -1.08646160364 --3.02038222551 -1.08648318052 --3.00312322378 -1.08650755882 --2.98586392403 -1.08651956916 --2.96665382385 -1.0865060091 --2.94744205475 -1.08648183942 --2.93018257618 -1.08646041155 --2.91292381287 -1.08644187451 --2.89566528797 -1.08642616868 --2.87840723991 -1.08641332388 --2.86114931107 -1.0864033699 --2.84389185905 -1.08639630675 --2.82663440704 -1.08639204502 --2.80937731266 -1.08639070392 --2.79212003946 -1.08639222383 --2.77486294508 -1.08639663458 --2.75760561228 -1.08640390635 --2.74034827948 -1.08641403914 --2.72309064865 -1.08642703295 --2.70583295822 -1.08644288778 --2.68857473135 -1.08646160364 --2.67131632566 -1.08648315072 --2.65405732393 -1.08650758862 --2.63679802418 -1.08651965857 --2.6175878644 -1.08650606871 --2.59837609529 -1.08648183942 --2.58111667633 -1.08646041155 --2.56385791302 -1.0864418447 --2.54659932852 -1.08642613888 --2.52934134007 -1.08641332388 --2.51208353043 -1.0864033699 --2.49482607842 -1.08639630675 --2.4775686264 -1.08639204502 --2.46031147241 -1.08639070392 --2.44305413961 -1.08639222383 --2.42579704523 -1.08639663458 --2.40853971243 -1.08640390635 --2.39128243923 -1.08641400933 --2.37402480841 -1.08642697334 --2.35676711798 -1.08644285798 --2.33950895071 -1.08646160364 --2.32225054502 -1.08648315072 --2.30499154329 -1.08650755882 --2.28773224354 -1.08651959896 --2.26852208376 -1.0865060091 --2.24931031465 -1.08648180962 --2.23205083608 -1.08646041155 --2.21479201317 -1.0864418447 --2.19753348827 -1.08642613888 --2.18027549982 -1.08641332388 --2.16301763058 -1.0864033699 --2.14576017857 -1.08639630675 --2.12850266695 -1.08639204502 --2.11124551296 -1.08639070392 --2.09398829937 -1.08639219403 --2.07673120499 -1.08639660477 --2.05947387219 -1.08640387655 --2.04221665859 -1.08641400934 --2.02495902777 -1.08642703295 --2.00770127773 -1.08644288778 --1.99044308066 -1.08646160364 --1.97318470478 -1.08648312092 --1.95592564344 -1.08650752902 --1.93866631388 -1.08651962876 --1.91945621371 -1.08650606871 --1.90024447441 -1.08648183942 --1.88298502565 -1.08646041155 --1.86572620273 -1.08644190431 --1.84846764803 -1.08642619848 --1.83120965958 -1.08641332388 --1.81395176053 -1.0864033401 --1.79669430852 -1.08639627695 --1.77943685651 -1.08639204502 --1.76217970252 -1.08639073372 --1.74492245912 -1.08639222383 --1.72766539454 -1.08639660477 --1.71040806174 -1.08640387654 --1.69315078855 -1.08641400933 --1.67589315772 -1.08642700315 --1.65863543749 -1.08644285798 --1.64137721062 -1.08646160364 --1.62411883474 -1.08648315072 --1.606859833 -1.08650755882 --1.58960050344 -1.08651962876 --1.57039037347 -1.08650603891 --1.55117860436 -1.08648177981 --1.5339191258 -1.08646038175 --1.51666036248 -1.0864418447 --1.49940183759 -1.08642613888 --1.48214381933 -1.08641332388 --1.46488595009 -1.0864033401 --1.44762849808 -1.08639627695 --1.43037104607 -1.08639204502 --1.41311389208 -1.08639070392 --1.39585661888 -1.08639219403 --1.3785995245 -1.08639660477 --1.36134216189 -1.08640387655 --1.3440848887 -1.08641400934 --1.32682725787 -1.08642703295 --1.30956956744 -1.08644288778 --1.29231137037 -1.08646160364 --1.27505299449 -1.08648315072 --1.25779399276 -1.08650755882 --1.2405346632 -1.08651962876 --1.22132450342 -1.08650606871 --1.20211273432 -1.08648183942 --1.18485328555 -1.08646041155 --1.16759449244 -1.08644187451 --1.15033593774 -1.08642616868 --1.13307794929 -1.08641332388 --1.11582008004 -1.0864033699 --1.09856262803 -1.08639630675 --1.08130517602 -1.08639204502 --1.06404805183 -1.08639070392 --1.04679077864 -1.08639222383 --1.02953368425 -1.08639660477 --1.01227635145 -1.08640387654 --0.995019063353 -1.08641403914 --0.977761402726 -1.08642703295 --0.960503712296 -1.08644288778 --0.943245559931 -1.08646160364 --0.925987154245 -1.08648315072 --0.908728137612 -1.08650755882 --0.891468808055 -1.08651962876 --0.872258663177 -1.08650606871 --0.853046894074 -1.08648183942 --0.835787430406 -1.08646041155 --0.818528652191 -1.08644187451 --0.801270127296 -1.08642616868 --0.784012109041 -1.08641332388 --0.766754195094 -1.0864033699 --0.749496757984 -1.08639630675 --0.732239320874 -1.08639204502 --0.714982181787 -1.08639070392 --0.697724923491 -1.08639222383 --0.680467844009 -1.08639663458 --0.663210496306 -1.08640387655 --0.645953223109 -1.08641400934 --0.628695577383 -1.08642703295 --0.611437857151 -1.08644288778 --0.594179660082 -1.08646160364 --0.576921269297 -1.08648315072 --0.559662267566 -1.08650755882 --0.542402967811 -1.08651962876 --0.523192837834 -1.08650606871 --0.50398106128 -1.08648183942 --0.486721597612 -1.08646041155 --0.469462804496 -1.0864418447 --0.452204249799 -1.08642613888 --0.434946253896 -1.08641332388 --0.417688377201 -1.0864033699 --0.400430932641 -1.08639630675 --0.38317348063 -1.08639204502 --0.365916326642 -1.08639070392 --0.348659060896 -1.08639219403 --0.331401973963 -1.08639660477 --0.31414463371 -1.08640390635 --0.296887367964 -1.08641403914 --0.279629729688 -1.08642703295 --0.262372016907 -1.08644288778 --0.245113816112 -1.08646160364 --0.227855425328 -1.08648312092 --0.210596427321 -1.08650752902 --0.193337112665 -1.08651959896 --0.174126964063 -1.10364437103 --0.154912214726 -1.10361996293 --0.137652751058 -1.10359838605 --0.120393946767 -1.1035797596 --0.103135382756 -1.10356390476 --0.0858773700893 -1.10355100035 --0.0686194850132 -1.10354098678 --0.0513620264828 -1.10353380442 --0.0341045637615 -1.10352951288 --0.0168474055827 -1.10352820158 -0.000409875530748 -1.1035297215 -0.0176669755019 -1.10353413224 -0.0349243204109 -1.10354146362 -0.0521816080436 -1.10355168581 -0.069439268671 -1.10356476903 -0.086696986109 -1.10358071327 -0.103955198079 -1.10359960795 -0.12121360004 -1.10362136364 -0.138472620398 -1.10364595056 -0.155731949955 -1.1036580503 -0.174941964448 -1.10364437103 -0.194153614342 -1.10361999273 -0.211413096636 -1.10359841585 -0.228671908379 -1.1035797596 -0.245930474251 -1.10356390476 -0.263188488781 -1.10355094075 -0.280446372926 -1.10354092717 -0.297703832388 -1.10353380442 -0.314961284399 -1.10352951288 -0.332218430936 -1.10352817178 -0.349475711584 -1.1035297215 -0.366732820868 -1.10353416204 -0.383990176022 -1.10354146362 -0.40124746412 -1.10355168581 -0.418505124748 -1.10356479883 -0.435762837529 -1.10358077288 -0.453021042049 -1.10359963775 -0.470279447735 -1.10362136364 -0.487538471818 -1.10364598036 -0.504797801375 -1.10365810991 -0.524007827044 -1.10364440083 -0.54321949184 -1.10361999273 -0.560478955507 -1.10359841585 -0.577737733722 -1.1035797298 -0.59499630332 -1.10356387496 -0.612254336476 -1.10355094075 -0.629512235522 -1.10354092717 -0.646769702435 -1.10353380442 -0.664027154445 -1.10352951288 -0.681284293532 -1.10352817178 -0.69854156673 -1.10352969169 -0.715798690915 -1.10353413224 -0.733056038618 -1.10354146362 -0.750313311815 -1.10355165601 -0.767570972442 -1.10356473923 -0.784828692675 -1.10358074307 -0.802086904645 -1.10359963775 -0.81934531033 -1.10362136364 -0.836604326963 -1.10364595056 -0.853863656521 -1.1036580801 -0.87307369709 -1.10364437103 -0.892285332084 -1.10361996293 -0.90954478085 -1.10359841585 -0.926803588867 -1.1035797298 -0.944062173367 -1.10356387496 -0.961320176721 -1.10355097055 -0.978578045964 -1.10354095697 -0.995835527777 -1.10353380442 -1.01309302449 -1.10352951288 -1.03035020828 -1.10352817178 -1.04760748148 -1.10352969169 -1.06486454606 -1.10353413224 -1.08212187886 -1.10354146362 -1.09937918186 -1.10355168581 -1.11663684249 -1.10356479883 -1.13389453292 -1.10358077288 -1.15115275979 -1.10359963775 -1.16841116548 -1.10362133384 -1.18567016721 -1.10364595056 -1.20292949676 -1.10365813971 -1.22213950753 -1.10364443064 -1.24135118723 -1.10361999273 -1.2586106658 -1.10359841585 -1.27586945891 -1.1035797596 -1.29312801361 -1.10356390476 -1.31038600206 -1.10355094075 -1.32764390111 -1.10354092717 -1.34490135312 -1.10353380442 -1.36215880513 -1.10352951288 -1.37941598892 -1.10352817178 -1.39667326212 -1.10352969169 -1.4139303565 -1.10353413224 -1.4311877191 -1.10354143381 -1.44844502211 -1.10355165601 -1.46570268273 -1.10356476903 -1.48296040296 -1.10358074307 -1.50021860004 -1.10359960795 -1.51747700572 -1.10362133384 -1.53473603725 -1.10364595056 -1.55199533701 -1.10365810991 -1.57120534778 -1.10364440083 -1.59041699767 -1.10361993313 -1.60767647624 -1.10359838605 -1.62493529916 -1.1035797298 -1.64219385386 -1.10356387496 -1.65945187211 -1.10355094075 -1.67670977116 -1.10354089737 -1.69396722317 -1.10353377462 -1.71122470498 -1.10352951288 -1.72848185897 -1.10352817178 -1.74573913217 -1.10352969169 -1.76299622655 -1.10353413224 -1.78025355935 -1.10354146362 -1.79751086235 -1.10355168581 -1.81476852298 -1.10356479883 -1.83202624321 -1.10358077288 -1.84928447008 -1.10359963775 -1.86654284596 -1.10362139344 -1.8838018477 -1.10364598036 -1.90106120706 -1.10365810991 -1.92027124763 -1.10364443064 -1.93948289752 -1.10361999273 -1.95674237609 -1.10359841585 -1.9740011692 -1.1035797596 -1.9912597239 -1.10356390476 -2.00851774216 -1.10355094075 -2.0257756114 -1.10354092717 -2.04303306341 -1.10353380442 -2.06029051542 -1.10352951288 -2.07754766941 -1.10352820158 -2.09480500221 -1.1035297215 -2.1120620966 -1.10353410244 -2.1293194294 -1.10354143381 -2.1465767622 -1.10355168581 -2.16383445263 -1.10356479883 -2.18109214306 -1.10358077288 -2.19835031032 -1.10359963775 -2.21560871601 -1.10362136364 -2.23286771775 -1.10364595056 -2.2501270771 -1.10365810991 -2.26933711767 -1.10364443064 -2.28854870796 -1.10361999273 -2.30580818653 -1.10359841585 -2.32306700945 -1.1035797596 -2.34032553434 -1.10356390476 -2.3575835824 -1.10355094075 -2.37484151125 -1.10354092717 -2.39209896326 -1.10353380442 -2.40935635567 -1.10352951288 -2.42661345005 -1.10352817178 -2.44387078285 -1.1035297215 -2.46112787724 -1.10353416204 -2.47838521004 -1.10354146362 -2.49564254284 -1.10355168581 -2.51290023327 -1.10356479883 -2.5301579237 -1.10358077288 -2.54741609097 -1.10359960795 -2.56467449665 -1.10362133384 -2.58193355799 -1.10364595056 -2.59919291735 -1.10365810991 -2.61840295792 -1.10364443064 -2.63761460781 -1.10361999273 -2.65487408638 -1.10359841585 -2.6721329093 -1.10357969999 -2.68939143419 -1.10356384516 -2.70664942264 -1.10355094075 -2.72390735149 -1.10354092717 -2.7411648035 -1.10353380442 -2.75842225551 -1.10352951288 -2.77567946911 -1.10352817178 -2.7929366827 -1.10352969169 -2.81019377709 -1.10353413224 -2.82745116949 -1.10354146362 -2.84470838308 -1.10355168581 -2.86196601391 -1.10356479883 -2.87922382355 -1.10358077288 -2.89648205042 -1.10359963775 -2.9137403965 -1.10362133384 -2.93099939823 -1.10364592076 -2.94825869799 -1.1036580503 -2.96746873856 -1.10364437103 -2.98668044805 -1.10361996293 -3.00393992662 -1.10359838605 -3.02119868994 -1.1035797596 -3.03845721483 -1.10356390476 -3.05571526289 -1.10355100035 -3.07297319174 -1.10354098678 -3.09023064375 -1.10353380442 -3.10748809576 -1.10352951288 -3.12474524975 -1.10352820158 --3.14118281205 -1.1035297215 --3.12392568588 -1.10353413224 --3.10666829348 -1.10354146362 --3.08941107989 -1.10355168581 --3.07215344906 -1.10356476903 --3.05489563942 -1.10358071327 --3.03763741255 -1.10359960795 --3.02037900686 -1.10362136364 --3.00312000513 -1.10364595056 --2.98586076498 -1.1036580503 --2.96665072441 -1.10364437103 --2.94743901491 -1.10361999273 --2.93017953634 -1.10359841585 --2.91292077303 -1.1035797596 --2.89566224814 -1.10356390476 --2.87840420008 -1.10355094075 --2.86114627123 -1.10354092717 --2.84388881922 -1.10353380442 --2.82663136721 -1.10352951288 --2.80937421322 -1.10352817178 --2.79211688042 -1.1035297215 --2.77485978603 -1.10353416204 --2.75760245323 -1.10354146362 --2.74034512043 -1.10355168581 --2.72308748961 -1.10356479883 --2.70582979918 -1.10358077288 --2.68857157231 -1.10359963775 --2.67131316662 -1.10362136364 --2.65405416489 -1.10364598036 --2.63679480552 -1.10365810991 --2.61758476495 -1.10364440083 --2.59837317467 -1.10361999273 --2.5811137557 -1.10359841585 --2.56385493278 -1.1035797298 --2.54659628868 -1.10356387496 --2.52933824063 -1.10355094075 --2.51208043098 -1.10354092717 --2.49482297897 -1.10353380442 --2.47756552696 -1.10352951288 --2.46030843258 -1.10352817178 --2.44305109977 -1.10352969169 --2.42579394579 -1.10353413224 --2.40853661299 -1.10354146362 --2.39127933979 -1.10355165601 --2.37402164936 -1.10356473923 --2.35676395893 -1.10358074307 --2.33950579167 -1.10359963775 --2.32224738598 -1.10362136364 --2.30498838425 -1.10364595056 --2.28772902488 -1.1036580801 --2.26851892471 -1.10364437103 --2.24930733442 -1.10361996293 --2.23204791546 -1.10359841585 --2.21478903294 -1.1035797298 --2.19753044844 -1.10356387496 --2.18027245998 -1.10355097055 --2.16301459074 -1.10354095697 --2.14575713873 -1.10353380442 --2.12849962711 -1.10352951288 --2.11124241352 -1.10352817178 --2.09398519993 -1.10352969169 --2.07672810554 -1.10353413224 --2.05947071314 -1.10354146362 --2.04221349955 -1.10355168581 --2.02495586872 -1.10356479883 --2.00769811869 -1.10358077288 --1.99043992162 -1.10359963775 --1.97318151593 -1.10362133384 --1.9559224546 -1.10364595056 --1.93866312504 -1.10365813971 --1.91945314407 -1.10364443064 --1.90024149418 -1.10361999273 --1.88298201561 -1.10359841585 --1.86572319269 -1.1035797596 --1.84846460819 -1.10356390476 --1.83120661974 -1.10355094075 --1.81394872069 -1.10354092717 --1.79669126868 -1.10353380442 --1.77943381667 -1.10352951288 --1.76217666268 -1.10352817178 --1.74491938949 -1.10352969169 --1.7276622653 -1.10353413224 --1.7104049325 -1.10354143381 --1.6931476593 -1.10355165601 --1.67588999867 -1.10356476903 --1.65863224864 -1.10358074307 --1.64137402177 -1.10359960795 --1.62411564588 -1.10362133384 --1.60685664415 -1.10364595056 --1.58959731459 -1.10365810991 --1.57038727403 -1.10364440083 --1.55117562413 -1.10361993313 --1.53391614556 -1.10359838605 --1.51665735245 -1.1035797298 --1.49939879775 -1.10356387496 --1.48214074969 -1.10355094075 --1.46488288045 -1.10354089737 --1.44762542844 -1.10353377462 --1.43036797643 -1.10352951288 --1.41311082244 -1.10352817178 --1.39585351944 -1.10352969169 --1.37859642506 -1.10353413224 --1.36133906245 -1.10354146362 --1.34408175945 -1.10355168581 --1.32682409882 -1.10356479883 --1.3095664084 -1.10358077288 --1.29230818153 -1.10359963775 --1.27504977584 -1.10362139344 --1.25779077411 -1.10364598036 --1.24053144455 -1.10365810991 --1.22132140398 -1.10364443064 --1.20210975409 -1.10361999273 --1.18485030532 -1.10359841585 --1.1675914824 -1.1035797596 --1.1503328979 -1.10356390476 --1.13307490945 -1.10355094075 --1.1158170402 -1.10354092717 --1.09855958819 -1.10353380442 --1.08130213618 -1.10352951288 --1.06404495239 -1.10352820158 --1.0467876792 -1.1035297215 --1.02953058482 -1.10353410244 --1.01227322221 -1.10354143381 --0.995015949009 -1.10355168581 --0.977758273482 -1.10356479883 --0.960500538349 -1.10358077288 --0.943242371082 -1.10359963775 --0.925983965397 -1.10362136364 --0.908724933862 -1.10364595056 --0.891465619206 -1.10365810991 --0.872255593538 -1.10364443064 --0.853043928743 -1.10361999273 --0.835784435272 -1.10359841585 --0.818525642156 -1.1035797596 --0.801267117262 -1.10356390476 --0.784009084106 -1.10355094075 --0.766751155257 -1.10354092717 --0.749493703246 -1.10353380442 --0.732236281037 -1.10352951288 --0.714979156852 -1.10352817178 --0.697721853853 -1.1035297215 --0.680464729667 -1.10353416204 --0.663207367063 -1.10354146362 --0.645950078964 -1.10355168581 --0.628692433238 -1.10356479883 --0.611434698105 -1.10358077288 --0.594176486135 -1.10359960795 --0.57691809535 -1.10362133384 --0.559659078717 -1.10364595056 --0.54239974916 -1.10365810991 --0.523189723492 -1.10364443064 --0.503978073597 -1.10361999273 --0.486718609929 -1.10359841585 --0.469459801912 -1.10357969999 --0.452201224864 -1.10356384516 --0.434943221509 -1.10355094075 --0.417685344815 -1.10354092717 --0.400427885353 -1.10353380442 --0.383170418441 -1.10352951288 --0.365913249552 -1.10352817178 --0.348655968905 -1.10352969169 --0.331398867071 -1.10353413224 --0.314141519368 -1.10354146362 --0.29688423872 -1.10355168581 --0.279626578093 -1.10356479883 --0.262368857861 -1.10358077288 --0.24511064589 -1.10359963775 --0.22785224393 -1.10362133384 --0.210593231022 -1.10364592076 --0.193333901465 -1.1036580503 --0.174123868346 -1.1207614839 --0.154909286648 -1.12073686719 --0.137649796903 -1.12071511149 --0.120390977711 -1.12069630623 --0.10313240625 -1.12068036199 --0.0858743805438 -1.12066739797 --0.0686164814979 -1.12065729499 --0.0513590117916 -1.12065005303 --0.0341015374288 -1.12064576149 --0.0168443652801 -1.12064445019 -0.000412928173318 -1.1206459701 -0.0176700407173 -1.12065041065 -0.0349273988977 -1.12065777183 -0.0521846981719 -1.12066805363 -0.0694423709065 -1.12068128586 -0.086700104177 -1.12069737911 -0.103958329186 -1.12071633339 -0.121216738597 -1.1207382679 -0.138475771994 -1.12076309323 -0.155735120177 -1.12077525258 -0.174945019186 -1.1207614541 -0.194156553596 -1.12073686719 -0.211416047067 -1.12071511149 -0.228674869985 -1.12069630623 -0.245933450758 -1.12068036199 -0.263191469013 -1.12066736817 -0.280449368059 -1.12065723539 -0.297706849873 -1.12065002322 -0.314964316785 -1.12064573169 -0.332221470773 -1.12064439058 -0.349478758871 -1.1206459403 -0.366735890507 -1.12065041065 -0.383993253112 -1.12065777183 -0.40125054121 -1.12066805363 -0.418508216739 -1.12068125605 -0.435765944421 -1.12069734931 -0.453024163842 -1.12071639299 -0.470282584429 -1.1207382977 -0.487541615963 -1.12076306343 -0.50480094552 -1.12077525258 -0.524010866881 -1.1207614541 -0.543222427368 -1.12073686719 -0.560481905937 -1.12071511149 -0.577740713954 -1.12069630623 -0.594999298453 -1.12068036199 -0.612257346511 -1.12066733837 -0.629515245557 -1.12065720558 -0.646772712469 -1.12065002322 -0.664030194282 -1.12064573169 -0.68128734827 -1.12064439058 -0.698544621467 -1.1206459403 -0.715801730752 -1.12065041065 -0.733059093356 -1.12065777183 -0.750316396355 -1.12066805363 -0.767574071884 -1.12068125605 -0.784831807017 -1.12069734931 -0.802090018987 -1.12071636319 -0.819348439574 -1.1207382679 -0.836607471109 -1.12076306343 -0.853866815567 -1.12077528238 -0.873076751828 -1.1207614839 -0.892288267613 -1.12073686719 -0.90954773128 -1.12071511149 -0.926806554198 -1.12069630623 -0.944065138698 -1.12068036199 -0.961323156953 -1.12066736817 -0.978581055999 -1.12065723539 -0.995838552713 -1.12065002322 -1.01309603453 -1.12064576149 -1.03035321832 -1.12064442038 -1.04761052132 -1.1206459403 -1.0648676157 -1.12065041065 -1.0821249485 -1.12065777183 -1.0993822515 -1.12066805363 -1.11663994193 -1.12068128586 -1.13389766216 -1.12069737911 -1.15115588903 -1.12071639299 -1.16841429472 -1.1207382977 -1.18567332625 -1.12076309323 -1.20293268561 -1.12077531218 -1.22214257717 -1.1207614839 -1.24135410786 -1.12073686719 -1.25861361623 -1.12071514129 -1.27587243915 -1.12069633603 -1.29313099384 -1.12068036199 -1.31038901209 -1.12066736817 -1.32764691114 -1.12065723539 -1.34490436315 -1.12065002322 -1.36216184497 -1.12064573169 -1.37941905856 -1.12064439058 -1.39667633176 -1.1206459403 -1.41393342614 -1.12065041065 -1.43119081855 -1.12065777183 -1.44844812155 -1.12066805363 -1.46570575237 -1.12068125605 -1.48296350241 -1.12069734931 -1.50022175908 -1.12071636319 -1.51748016477 -1.1207382679 -1.5347391963 -1.12076306343 -1.55199852586 -1.12077528238 -1.57120841742 -1.1207614839 -1.5904199481 -1.12073686719 -1.60767942667 -1.12071511149 -1.62493824959 -1.12069633603 -1.64219683408 -1.12068039179 -1.65945485234 -1.12066733837 -1.67671275139 -1.12065720558 -1.6939702332 -1.12065002322 -1.71122771502 -1.12064576149 -1.728484869 -1.12064442038 -1.745742172 -1.1206459403 -1.76299929619 -1.12065041065 -1.78025662899 -1.12065777183 -1.79751393199 -1.12066805363 -1.81477162242 -1.12068128586 -1.83202937245 -1.12069737911 -1.84928759932 -1.12071636319 -1.86654597521 -1.1207382977 -1.88380500674 -1.12076309323 -1.9010643661 -1.12077528238 -1.92027428747 -1.1207614839 -1.93948581815 -1.12073686719 -1.95674529672 -1.12071514129 -1.97400414944 -1.12069633603 -1.99126273393 -1.12068036199 -2.00852069258 -1.12066736817 -2.02577859163 -1.12065723539 -2.04303610325 -1.12065002322 -2.06029355526 -1.12064576149 -2.07755070925 -1.12064445019 -2.09480804205 -1.1206459701 -2.11206519604 -1.12065041065 -2.12932252884 -1.12065777183 -2.14657980204 -1.12066805363 -2.16383749247 -1.12068128586 -2.1810952425 -1.12069737911 -2.19835340977 -1.12071639299 -2.21561181545 -1.1207382977 -2.23287087679 -1.12076306343 -2.25013023615 -1.12077528238 -2.26934015751 -1.1207614839 -2.2885516882 -1.12073686719 -2.30581116676 -1.12071511149 -2.32306998968 -1.12069630623 -2.34032851457 -1.12068036199 -2.35758656263 -1.12066736817 -2.37484449148 -1.12065723539 -2.39210194349 -1.12065002322 -2.4093593955 -1.12064576149 -2.42661654949 -1.12064439058 -2.44387388229 -1.1206459105 -2.46113097668 -1.12065041065 -2.47838830948 -1.12065777183 -2.49564564228 -1.12066805363 -2.51290333271 -1.12068125605 -2.53016102314 -1.12069734931 -2.54741925001 -1.12071636319 -2.5646776557 -1.1207382679 -2.58193671703 -1.12076306343 -2.59919607639 -1.12077528238 -2.61840599775 -1.1207614839 -2.63761758804 -1.12073686719 -2.65487706661 -1.12071511149 -2.67213582992 -1.12069627642 -2.68939441443 -1.12068033218 -2.70665246248 -1.12066733837 -2.72391033173 -1.12065720558 -2.74116778374 -1.12065002322 -2.75842529535 -1.12064576149 -2.77568250895 -1.12064442038 -2.79293972254 -1.1206459403 -2.81019681692 -1.12065041065 -2.82745426893 -1.12065777183 -2.84471154213 -1.12066805363 -2.86196911335 -1.12068128586 -2.87922686339 -1.12069737911 -2.89648514986 -1.12071639299 -2.91374361515 -1.1207382977 -2.93100261688 -1.12076306343 -2.94826185703 -1.12077528238 -2.96747177839 -1.1207614839 -2.98668336868 -1.12073686719 -3.00394284725 -1.12071511149 -3.02120167017 -1.12069630623 -3.03846025467 -1.12068036199 -3.05571824312 -1.12066739797 -3.07297617197 -1.12065729499 -3.09023368359 -1.12065005303 -3.1074911356 -1.12064576149 -3.12474828958 -1.12064445019 --3.14117977221 -1.1206459701 --3.12392264605 -1.12065041065 --3.10666519404 -1.12065777183 --3.08940792084 -1.12066805363 --3.07215034962 -1.12068128586 --3.05489259958 -1.12069737911 --3.03763431311 -1.12071633339 --3.02037584782 -1.1207382679 --3.00311684608 -1.12076309323 --2.98585760593 -1.12077525258 --2.96664768457 -1.1207614541 --2.94743609428 -1.12073686719 --2.93017661572 -1.12071511149 --2.9129177928 -1.12069630623 --2.8956592083 -1.12068036199 --2.87840121985 -1.12066736817 --2.861143291 -1.12065723539 --2.84388577938 -1.12065002322 --2.82662832737 -1.12064573169 --2.80937117338 -1.12064439058 --2.79211384058 -1.1206459403 --2.77485668659 -1.12065041065 --2.75759935379 -1.12065777183 --2.74034208059 -1.12066805363 --2.72308439016 -1.12068125605 --2.70582664013 -1.12069734931 --2.68856847286 -1.12071639299 --2.67131006718 -1.1207382977 --2.65405100584 -1.12076306343 --2.63679164648 -1.12077525258 --2.61758172512 -1.1207614541 --2.59837025404 -1.12073686719 --2.58111077547 -1.12071511149 --2.56385189295 -1.12069630623 --2.54659330845 -1.12068036199 --2.52933526039 -1.12066733837 --2.51207739115 -1.12065720558 --2.49481993914 -1.12065002322 --2.47756248713 -1.12064573169 --2.46030533314 -1.12064439058 --2.44304800033 -1.1206459403 --2.42579090595 -1.12065041065 --2.40853357315 -1.12065777183 --2.39127624035 -1.12066805363 --2.37401854992 -1.12068125605 --2.35676085949 -1.12069734931 --2.33950269222 -1.12071636319 --2.32224428654 -1.1207382679 --2.3049852252 -1.12076306343 --2.28772586584 -1.12077528238 --2.26851588488 -1.1207614839 --2.24930435419 -1.12073686719 --2.23204493523 -1.12071511149 --2.21478611231 -1.12069630623 --2.19752752781 -1.12068036199 --2.18026947975 -1.12066736817 --2.16301161051 -1.12065723539 --2.1457541585 -1.12065002322 --2.12849664688 -1.12064576149 --2.11123943329 -1.12064442038 --2.09398216009 -1.1206459403 --2.07672506571 -1.12065041065 --2.0594676733 -1.12065777183 --2.0422104001 -1.12066805363 --2.02495276928 -1.12068128586 --2.00769501924 -1.12069737911 --1.99043676257 -1.12071639299 --1.97317835689 -1.1207382977 --1.95591932536 -1.12076309323 --1.93865996599 -1.12077531218 --1.91945007444 -1.1207614839 --1.90023854375 -1.12073686719 --1.88297903538 -1.12071514129 --1.86572021246 -1.12069633603 --1.84846165776 -1.12068036199 --1.83120363951 -1.12066736817 --1.81394571066 -1.12065723539 --1.79668825865 -1.12065002322 --1.77943077683 -1.12064573169 --1.76217362285 -1.12064439058 --1.74491634965 -1.1206459403 --1.72765919566 -1.12065041065 --1.71040186286 -1.12065777183 --1.69314458966 -1.12066805363 --1.67588689923 -1.12068125605 --1.6586291492 -1.12069734931 --1.64137092233 -1.12071636319 --1.62411251664 -1.1207382679 --1.60685348511 -1.12076306343 --1.58959415555 -1.12077528238 --1.57038423419 -1.1207614839 --1.55117270351 -1.12073686719 --1.53391322494 -1.12071511149 --1.51665440202 -1.12069633603 --1.49939581752 -1.12068039179 --1.48213776946 -1.12066733837 --1.46487987041 -1.12065720558 --1.4476223886 -1.12065002322 --1.43036493659 -1.12064576149 --1.4131077826 -1.12064442038 --1.3958504498 -1.1206459403 --1.37859335542 -1.12065041065 --1.36133602261 -1.12065777183 --1.34407868981 -1.12066805363 --1.32682099938 -1.12068128586 --1.30956327915 -1.12069737911 --1.29230505228 -1.12071636319 --1.27504664659 -1.1207382977 --1.25778764486 -1.12076309323 --1.2405282855 -1.12077528238 --1.22131836415 -1.1207614839 --1.20210683346 -1.12073686719 --1.18484732509 -1.12071514129 --1.16758850217 -1.12069633603 --1.15032991767 -1.12068036199 --1.13307189941 -1.12066736817 --1.11581403017 -1.12065723539 --1.09855657816 -1.12065002322 --1.08129909634 -1.12064576149 --1.06404188275 -1.12064445019 --1.04678460956 -1.1206459701 --1.02952751518 -1.12065041065 --1.01227012277 -1.12065777183 --0.995012834668 -1.12066805363 --0.977755174041 -1.12068128586 --0.960497424006 -1.12069737911 --0.943239241838 -1.12071639299 --0.925980836153 -1.1207382977 --0.908721774816 -1.12076306343 --0.89146246016 -1.12077528238 --0.872252553702 -1.1207614839 --0.853040978312 -1.12073686719 --0.835781484842 -1.12071511149 --0.818522691727 -1.12069630623 --0.80126413703 -1.12068036199 --0.784006088972 -1.12066736817 --0.766748175025 -1.12065723539 --0.749490708113 -1.12065002322 --0.7322332412 -1.12064576149 --0.714976087212 -1.12064439058 --0.697718784213 -1.1206459105 --0.680461660028 -1.12065041065 --0.663204282522 -1.12065777183 --0.645946979523 -1.12066805363 --0.628689318895 -1.12068125605 --0.611431598664 -1.12069734931 --0.594173371792 -1.12071636319 --0.576914951205 -1.1207382679 --0.559655934572 -1.12076306343 --0.542396590114 -1.12077528238 --0.523186653853 -1.1207614839 --0.503975115716 -1.12073686719 --0.486715652049 -1.12071511149 --0.469456836581 -1.12069627642 --0.452198252082 -1.12068033218 --0.434940226376 -1.12066733837 --0.417682334781 -1.12065720558 --0.400424860418 -1.12065002322 --0.383167386055 -1.12064576149 --0.365910209715 -1.12064442038 --0.348652906716 -1.1206459403 --0.331395797431 -1.12065041065 --0.314138442278 -1.12065777183 --0.296881146729 -1.12066805363 --0.279623478651 -1.12068128586 --0.262365743518 -1.12069737911 --0.245107520372 -1.12071639299 --0.227849107236 -1.1207382977 --0.210590075702 -1.12076306343 --0.193330734968 -1.12077528238 --0.174120824784 -1.14050865173 --0.154904611409 -1.1404838264 --0.137645099312 -1.14046189189 --0.120386263356 -1.14044290781 --0.103127673268 -1.14042684436 --0.0858696270734 -1.14041379094 --0.0686117084697 -1.14040359855 --0.051354217343 -1.14039632678 --0.0340967234224 -1.14039200544 --0.016839531716 -1.14039063454 -0.000417781993747 -1.14039218426 -0.0176749140955 -1.14039668441 -0.0349322929979 -1.14040410519 -0.0521896127612 -1.14041447639 -0.0694473059848 -1.14042779803 -0.0867050606757 -1.14044401049 -0.103963306174 -1.14046314359 -0.121221739799 -1.14048525691 -0.138480789959 -1.14051026106 -0.155740149319 -1.14052253961 -0.17494988069 -1.14050865173 -0.194161243737 -1.1404838562 -0.211420744657 -1.14046189189 -0.228679582476 -1.14044290781 -0.245938185602 -1.14042684436 -0.263196222484 -1.14041376114 -0.280454136431 -1.14040353894 -0.297711640597 -1.14039626717 -0.314969137311 -1.14039194584 -0.332226321101 -1.14039060473 -0.349483624101 -1.14039215446 -0.366740763187 -1.14039665461 -0.383998140693 -1.14040410519 -0.401255458593 -1.14041447639 -0.418513156474 -1.14042776823 -0.435770906508 -1.14044398069 -0.453029148281 -1.14046317339 -0.470287583768 -1.14048528671 -0.487546637654 -1.14051026106 -0.504805974662 -1.14052253961 -0.524015709758 -1.14050865173 -0.543227091432 -1.1404838562 -0.560486599803 -1.14046189189 -0.577745437622 -1.14044290781 -0.595004037023 -1.14042684436 -0.61226208508 -1.14041373134 -0.629519999027 -1.14040350914 -0.646777495742 -1.14039626717 -0.664035007358 -1.14039194584 -0.681292191148 -1.14039060473 -0.698549494147 -1.14039215446 -0.715806618333 -1.14039665461 -0.733063980937 -1.14040407538 -0.750321298837 -1.14041444659 -0.767579004169 -1.14042776823 -0.784836769104 -1.14044398069 -0.802094995976 -1.14046314359 -0.819353431463 -1.14048525691 -0.8366124928 -1.14051029086 -0.85387185216 -1.14052256942 -0.873081594705 -1.14050865173 -0.892292931676 -1.1404838562 -0.909552410245 -1.14046189189 -0.926811262965 -1.14044290781 -0.944069877267 -1.14042684436 -0.961327925325 -1.14041373134 -0.978585854173 -1.14040350914 -0.995843365788 -1.14039626717 -1.0131008327 -1.14039197564 -1.03035798669 -1.14039063454 -1.04761531949 -1.14039215446 -1.06487247348 -1.14039665461 -1.08212983608 -1.14040410519 -1.09938713908 -1.14041447639 -1.11664485932 -1.14042779803 -1.13390263915 -1.1404440403 -1.15116086602 -1.14046320319 -1.16841927171 -1.14048528671 -1.18567833304 -1.14051026106 -1.20293772221 -1.14052253961 -1.22214743495 -1.14050862193 -1.24135878682 -1.1404838264 -1.25861829519 -1.14046192169 -1.27587711811 -1.14044296742 -1.29313573241 -1.14042687416 -1.31039378047 -1.14041376114 -1.32765167952 -1.14040353894 -1.34490916133 -1.14039626717 -1.36216667294 -1.14039194584 -1.37942388654 -1.14039060473 -1.39668118954 -1.14039215446 -1.41393831372 -1.14039665461 -1.43119570613 -1.14040410519 -1.44845303893 -1.14041444659 -1.46571069956 -1.14042773843 -1.48296844959 -1.14044401049 -1.50022673607 -1.14046320319 -1.51748517156 -1.14048528671 -1.53474420309 -1.14051026106 -1.55200356245 -1.14052253961 -1.57121327519 -1.14050865173 -1.59042462706 -1.1404838562 -1.60768413543 -1.14046186209 -1.62494298815 -1.14044290781 -1.64220160246 -1.14042687416 -1.65945962071 -1.14041373134 -1.67671754956 -1.14040350914 -1.69397506118 -1.14039626717 -1.71123254299 -1.14039197564 -1.72848972678 -1.14039063454 -1.74574702978 -1.14039215446 -1.76300418377 -1.14039665461 -1.78026154638 -1.14040410519 -1.79751881957 -1.14041444659 -1.8147765398 -1.14042776823 -1.83203431964 -1.14044401049 -1.84929254651 -1.14046314359 -1.866550982 -1.14048522711 -1.88381004334 -1.14051023126 -1.90106940269 -1.14052253961 -1.92027914524 -1.14050865173 -1.93949049711 -1.1404838562 -1.95675000548 -1.14046192169 -1.9740088582 -1.14044293761 -1.9912674427 -1.14042684436 -2.00852543116 -1.14041376114 -2.02578336 -1.14040353894 -2.04304093122 -1.14039626717 -2.06029844284 -1.14039197564 -2.07755559683 -1.14039063454 -2.09481287003 -1.14039215446 -2.11207002401 -1.14039665461 -2.12932741642 -1.14040410519 -2.14658468962 -1.14041444659 -2.16384238005 -1.14042776823 -2.18110018968 -1.14044401049 -2.19835841656 -1.14046317339 -2.21561682224 -1.14048528671 -2.23287588358 -1.14051026106 -2.25013524294 -1.14052253961 -2.26934498548 -1.14050862193 -2.28855639696 -1.1404838264 -2.30581593514 -1.14046189189 -2.32307469845 -1.14044290781 -2.34033322334 -1.14042684436 -2.35759133101 -1.14041376114 -2.37484925985 -1.14040353894 -2.39210671186 -1.14039626717 -2.40936422348 -1.14039197564 -2.42662143707 -1.14039063454 -2.44387876987 -1.14039215446 -2.46113586426 -1.14039665461 -2.47839319706 -1.14040410519 -2.49565052986 -1.14041447639 -2.51290827989 -1.14042776823 -2.53016602993 -1.14044398069 -2.5474242568 -1.14046317339 -2.56468266249 -1.14048525691 -2.58194172382 -1.14051023126 -2.59920108318 -1.14052253961 -2.61841082573 -1.14050862193 -2.6376222372 -1.1404838264 -2.65488171577 -1.14046189189 -2.67214053869 -1.14044293761 -2.6893991828 -1.14042687416 -2.70665723085 -1.14041373134 -2.7239151001 -1.14040350914 -2.74117255211 -1.14039626717 -2.75843006373 -1.14039197564 -2.77568727732 -1.14039063454 -2.79294455051 -1.14039215446 -2.8102017045 -1.14039665461 -2.82745915651 -1.14040407538 -2.84471648932 -1.14041444659 -2.86197412014 -1.14042779803 -2.87923181057 -1.14044401049 -2.89649009705 -1.14046317339 -2.91374862194 -1.14048525691 -2.93100762367 -1.14051023126 -2.94826692343 -1.14052256942 -2.96747666597 -1.14050865173 -2.98668801785 -1.1404838264 -3.00394749641 -1.14046189189 -3.02120637894 -1.14044290781 -3.03846502304 -1.14042684436 -3.0557230115 -1.14041379094 -3.07298094034 -1.14040359855 -3.09023851156 -1.14039632678 -3.10749596358 -1.14039200544 -3.12475305796 -1.14039063454 --3.14117494424 -1.14039218426 --3.12391775846 -1.14039668441 --3.10666030645 -1.14040410519 --3.08940297365 -1.14041447639 --3.07214534283 -1.14042779803 --3.0548876524 -1.14044401049 --3.03762936592 -1.14046314359 --3.02037084102 -1.14048525691 --3.00311183929 -1.14051026106 --2.98585253954 -1.14052253961 --2.96664279699 -1.14050865173 --2.94743144512 -1.1404838562 --2.93017196656 -1.14046189189 --2.91291308403 -1.14044290781 --2.89565443993 -1.14042684436 --2.87839645148 -1.14041376114 --2.86113852262 -1.14040353894 --2.8438809514 -1.14039626717 --2.82662343979 -1.14039194584 --2.8093662858 -1.14039060473 --2.7921090126 -1.14039215446 --2.77485185862 -1.14039665461 --2.75759446621 -1.14040410519 --2.74033719301 -1.14041447639 --2.72307950258 -1.14042776823 --2.70582169294 -1.14044398069 --2.68856346607 -1.14046317339 --2.67130506039 -1.14048528671 --2.65404599905 -1.14051026106 --2.63678663969 -1.14052253961 --2.61757689714 -1.14050865173 --2.59836554527 -1.1404838562 --2.5811060071 -1.14046189189 --2.56384718418 -1.14044290781 --2.54658865929 -1.14042684436 --2.52933061123 -1.14041373134 --2.51207268238 -1.14040350914 --2.49481517077 -1.14039626717 --2.47755765915 -1.14039194584 --2.46030044556 -1.14039060473 --2.44304311275 -1.14039215446 --2.42578601837 -1.14039665461 --2.40852868557 -1.14040407538 --2.39127135277 -1.14041444659 --2.37401366234 -1.14042776823 --2.35675591231 -1.14044398069 --2.33949768543 -1.14046314359 --2.32223927975 -1.14048525691 --2.3049801588 -1.14051029086 --2.28772079945 -1.14052256942 --2.2685110569 -1.14050865173 --2.24929964543 -1.1404838562 --2.23204016685 -1.14046189189 --2.21478134394 -1.14044290781 --2.19752275944 -1.14042684436 --2.18026471138 -1.14041373134 --2.16300678253 -1.14040350914 --2.14574933052 -1.14039626717 --2.12849187851 -1.14039197564 --2.11123466492 -1.14039063454 --2.09397733212 -1.14039215446 --2.07672017813 -1.14039665461 --2.05946278572 -1.14040410519 --2.04220545292 -1.14041447639 --2.02494776249 -1.14042779803 --2.00769004226 -1.1404440403 --1.99043178559 -1.14046320319 --1.9731733501 -1.14048528671 --1.95591431856 -1.14051026106 --1.9386549592 -1.14052253961 --1.91944521666 -1.14050862193 --1.90023386479 -1.1404838264 --1.88297435641 -1.14046192169 --1.86571550369 -1.14044296742 --1.84845691919 -1.14042687416 --1.83119887114 -1.14041376114 --1.81394094229 -1.14040353894 --1.79668346048 -1.14039626717 --1.77942594886 -1.14039194584 --1.76216876507 -1.14039060473 --1.74491146207 -1.14039215446 --1.72765430808 -1.14039665461 --1.71039694548 -1.14040410519 --1.69313964248 -1.14041444659 --1.67588195205 -1.14042773843 --1.65862420201 -1.14044401049 --1.64136597514 -1.14046320319 --1.62410753965 -1.14048528671 --1.60684847832 -1.14051026106 --1.58958911896 -1.14052253961 --1.57037937641 -1.14050865173 --1.55116802454 -1.1404838562 --1.53390851617 -1.14046186209 --1.51664969325 -1.14044290781 --1.49939110875 -1.14042687416 --1.48213303089 -1.14041373134 --1.46487510204 -1.14040350914 --1.44761759043 -1.14039626717 --1.43036010861 -1.14039197564 --1.41310295463 -1.14039063454 --1.39584562182 -1.14039215446 --1.37858849764 -1.14039665461 --1.36133113503 -1.14040410519 --1.34407380223 -1.14041444659 --1.3268161118 -1.14042776823 --1.30955836177 -1.14044401049 --1.2923001051 -1.14046314359 --1.27504166961 -1.14048522711 --1.25778263807 -1.14051023126 --1.24052327871 -1.14052253961 --1.22131353617 -1.14050865173 --1.20210215449 -1.1404838562 --1.18484261632 -1.14046192169 --1.1675837934 -1.14044293761 --1.1503252089 -1.14042684436 --1.13306716084 -1.14041376114 --1.1158092618 -1.14040353894 --1.09855177999 -1.14039626717 --1.08129426837 -1.14039197564 --1.06403705478 -1.14039063454 --1.04677975178 -1.14039215446 --1.02952262759 -1.14039665461 --1.01226523519 -1.14040410519 --0.995007917286 -1.14041444659 --0.977750241756 -1.14042776823 --0.960492476821 -1.14044401049 --0.943234249949 -1.14046317339 --0.925975829363 -1.14048528671 --0.908716768026 -1.14051026106 --0.891457423568 -1.14052253961 --0.872247695923 -1.14050862193 --0.853036314249 -1.1404838264 --0.835776805878 -1.14046189189 --0.81851798296 -1.14044290781 --0.80125939846 -1.14042684436 --0.784001335502 -1.14041376114 --0.766743406653 -1.14040353894 --0.74948592484 -1.14039626717 --0.732228413225 -1.14039197564 --0.714971229434 -1.14039063454 --0.697713926435 -1.14039215446 --0.680456787348 -1.14039665461 --0.663199394942 -1.14040410519 --0.645942077041 -1.14041447639 --0.628684386611 -1.14042776823 --0.611426651478 -1.14044398069 --0.594168409705 -1.14046317339 --0.576909959316 -1.14048525691 --0.559650912881 -1.14051023126 --0.542391553521 -1.14052253961 --0.523181810975 -1.14050862193 --0.503970444202 -1.1404838264 --0.486710958183 -1.14046189189 --0.469452120364 -1.14044293761 --0.452193520963 -1.14042687416 --0.434935472905 -1.14041373134 --0.417677551508 -1.14040350914 --0.400420062244 -1.14039626717 --0.38316257298 -1.14039197564 --0.365905374289 -1.14039063454 --0.348648048938 -1.14039215446 --0.331390924752 -1.14039665461 --0.314133547247 -1.14040407538 --0.296876229346 -1.14041444659 --0.279618553817 -1.14042779803 --0.262360803783 -1.14044401049 --0.245102550834 -1.14046317339 --0.227844111621 -1.14048525691 --0.21058506146 -1.14051023126 --0.193325702101 -1.14052256942 --0.174115970731 -1.16028192639 --0.154900047928 -1.16025689244 --0.137640517205 -1.16023477912 --0.120381664485 -1.16021567583 --0.103123055771 -1.16019949317 --0.0858649928123 -1.16018629074 --0.0686070546508 -1.16017600894 --0.051349543035 -1.16016873717 --0.0340920295566 -1.16016438603 --0.0168348194566 -1.16016295552 -0.00042251381092 -1.16016453505 -0.0176796657033 -1.1601690948 -0.0349370632321 -1.16017657518 -0.0521944044158 -1.160187006 -0.0694521171972 -1.16020038724 -0.0867098867893 -1.16021674871 -0.103968152776 -1.16023609042 -0.121226606891 -1.16025835276 -0.13848567754 -1.16028353572 -0.155745055527 -1.16029593349 -0.174954611808 -1.16028192639 -0.194165799767 -1.16025692224 -0.211425323039 -1.16023480892 -0.22868418321 -1.16021570563 -0.245942797512 -1.16019949317 -0.263200856745 -1.16018626094 -0.280458793044 -1.16017597914 -0.29771630466 -1.16016867757 -0.314973823726 -1.16016429663 -0.332231044769 -1.16016292572 -0.34948837012 -1.16016450525 -0.366745516658 -1.1601690352 -0.384002909064 -1.16017654538 -0.401260256767 -1.160187006 -0.418517969549 -1.16020041704 -0.435775741935 -1.16021677852 -0.453034006059 -1.16023609042 -0.470292456448 -1.16025835276 -0.487551532686 -1.16028353572 -0.504810899496 -1.16029593349 -0.524020463228 -1.16028192639 -0.543231651187 -1.16025692224 -0.560491189361 -1.16023480892 -0.577750042081 -1.16021570563 -0.595008641481 -1.16019949317 -0.61226670444 -1.16018626094 -0.62952464819 -1.16017597914 -0.646782159806 -1.16016867757 -0.664039671421 -1.16016429663 -0.681296899914 -1.16016292572 -0.698554247617 -1.16016450525 -0.715811386704 -1.1601690352 -0.73306876421 -1.16017651558 -0.750326097011 -1.160187006 -0.767583817243 -1.16020041704 -0.78484159708 -1.16021674871 -0.802099853754 -1.16023609042 -0.819358319044 -1.16025835276 -0.83661738038 -1.16028356552 -0.853876754642 -1.16029596329 -0.873086318374 -1.16028192639 -0.892297491431 -1.16025692224 -0.909556999802 -1.16023477912 -0.926815867424 -1.16021564603 -0.944074496627 -1.16019946337 -0.961332559586 -1.16018626094 -0.978590503335 -1.16017597914 -0.995848029852 -1.16016867757 -1.01310554147 -1.16016432643 -1.03036272526 -1.16016295552 -1.04762005806 -1.16016450525 -1.06487721204 -1.160169065 -1.08213460445 -1.16017657518 -1.09939193726 -1.160187006 -1.11664965749 -1.16020038724 -1.13390746713 -1.16021677852 -1.1511657238 -1.16023612023 -1.16842412949 -1.16025835276 -1.18568319082 -1.16028353572 -1.20294260979 -1.16029593349 -1.22215217352 -1.16028189659 -1.24136334658 -1.16025689244 -1.25862285495 -1.16023480892 -1.27588170767 -1.16021570563 -1.29314035177 -1.16019949317 -1.31039839983 -1.16018626094 -1.32765632868 -1.16017597914 -1.3449138403 -1.16016867757 -1.36217135191 -1.16016429663 -1.3794285655 -1.16016292572 -1.3966858983 -1.16016450525 -1.41394305229 -1.160169065 -1.4312004447 -1.16017657518 -1.44845780731 -1.160187006 -1.46571552753 -1.16020041704 -1.48297327757 -1.16021680832 -1.50023156405 -1.16023615003 -1.51749002934 -1.16025841236 -1.53474909067 -1.16028359533 -1.55200845003 -1.16029596329 -1.57121798396 -1.16028192639 -1.59042918682 -1.16025692224 -1.60768872499 -1.16023477912 -1.62494757771 -1.16021564603 -1.64220619202 -1.16019946337 -1.65946426987 -1.16018626094 -1.67672222853 -1.16017597914 -1.69397974015 -1.16016867757 -1.71123725176 -1.16016429663 -1.72849446535 -1.16016292572 -1.74575176835 -1.16016450525 -1.76300892234 -1.1601690352 -1.78026631475 -1.16017654538 -1.79752361775 -1.16018697619 -1.81478133797 -1.16020038724 -1.83203914761 -1.16021677852 -1.84929740429 -1.16023609042 -1.86655586958 -1.16025832296 -1.88381493092 -1.16028350592 -1.90107429027 -1.16029593349 -1.92028388381 -1.16028192639 -1.93949505687 -1.16025692224 -1.95675459504 -1.16023480892 -1.97401344776 -1.16021567583 -1.99127203226 -1.16019946337 -2.00853011012 -1.16018626094 -2.02578800917 -1.16017597914 -2.04304552078 -1.16016867757 -2.060303092 -1.16016429663 -2.0775603056 -1.16016292572 -2.09481757879 -1.16016450525 -2.11207473278 -1.1601690352 -2.12933218479 -1.16017654538 -2.14658951759 -1.16018697619 -2.16384720802 -1.16020035744 -2.18110501766 -1.16021674871 -2.19836330414 -1.16023609042 -2.21562170983 -1.16025835276 -2.23288071156 -1.16028353572 -2.25014007092 -1.16029593349 -2.26934963464 -1.16028189659 -2.28856086731 -1.16025689244 -2.30582046509 -1.16023477912 -2.32307928801 -1.16021564603 -2.3403378725 -1.16019946337 -2.35759598017 -1.16018626094 -2.37485390902 -1.16017597914 -2.39211142063 -1.16016867757 -2.40936893225 -1.16016432643 -2.42662614584 -1.16016298532 -2.44388353825 -1.16016453505 -2.46114063263 -1.160169065 -2.47839796543 -1.16017657518 -2.49565529823 -1.1601870358 -2.51291304827 -1.16020044685 -2.5301708579 -1.16021677852 -2.54742908478 -1.16023609042 -2.56468749046 -1.16025832296 -2.5819466114 -1.16028350592 -2.59920603037 -1.16029593349 -2.6184155941 -1.16028189659 -2.63762676716 -1.16025689244 -2.65488624573 -1.16023480892 -2.67214512825 -1.16021573544 -2.68940377235 -1.16019952297 -2.70666182041 -1.16018626094 -2.72391974926 -1.16017597914 -2.74117726088 -1.16016867757 -2.75843477249 -1.16016432643 -2.77569198609 -1.16016295552 -2.79294931889 -1.16016450525 -2.81020647287 -1.1601690352 -2.82746386528 -1.16017651558 -2.84472125769 -1.16018697619 -2.86197900772 -1.16020041704 -2.87923669815 -1.16021677852 -2.89649492502 -1.16023609042 -2.91375344992 -1.16025832296 -2.93101251126 -1.16028350592 -2.94827187061 -1.16029596329 -2.96748143435 -1.16028192639 -2.9866926074 -1.16025689244 -3.00395214558 -1.16023477912 -3.02121096849 -1.16021567583 -3.038469553 -1.16019949317 -3.05572766066 -1.16018629074 -3.0729855895 -1.16017600894 -3.09024310112 -1.16016873717 -3.10750061274 -1.16016438603 -3.12475776672 -1.16016295552 --3.14117017587 -1.16016453505 --3.1239129901 -1.1601690948 --3.10665559769 -1.16017657518 --3.08939820528 -1.160187006 --3.07214045525 -1.16020038724 --3.05488276482 -1.16021674871 --3.03762447834 -1.16023609042 --3.02036595344 -1.16025835276 --3.00310695171 -1.16028353572 --2.98584759236 -1.16029593349 --2.96663802862 -1.16028192639 --2.94742685557 -1.16025692224 --2.93016731739 -1.16023480892 --2.91290849447 -1.16021570563 --2.89564990997 -1.16019949317 --2.87839180231 -1.16018626094 --2.86113381386 -1.16017597914 --2.84387630224 -1.16016867757 --2.82661879062 -1.16016429663 --2.80936157703 -1.16016292572 --2.79210430384 -1.16016450525 --2.77484714985 -1.1601690352 --2.75758969784 -1.16017654538 --2.74033236504 -1.160187006 --2.72307467461 -1.16020041704 --2.70581686497 -1.16021677852 --2.68855857849 -1.16023609042 --2.6713001728 -1.16025835276 --2.65404117107 -1.16028353572 --2.63678181172 -1.16029593349 --2.61757218838 -1.16028192639 --2.59836095572 -1.16025692224 --2.58110141754 -1.16023480892 --2.56384259463 -1.16021570563 --2.54658401012 -1.16019949317 --2.52932596207 -1.16018626094 --2.51206803322 -1.16017597914 --2.4948105216 -1.16016867757 --2.47755300999 -1.16016429663 --2.46029573679 -1.16016292572 --2.44303834438 -1.16016450525 --2.42578125 -1.1601690352 --2.4085239172 -1.16017651558 --2.3912665844 -1.160187006 --2.37400889397 -1.16020041704 --2.35675108433 -1.16021674871 --2.33949279785 -1.16023609042 --2.32223439216 -1.16025835276 --2.30497527123 -1.16028356552 --2.28771585226 -1.16029596329 --2.26850628853 -1.16028192639 --2.24929511547 -1.16025692224 --2.2320356369 -1.16023477912 --2.21477675438 -1.16021564603 --2.19751811028 -1.16019946337 --2.18026006222 -1.16018626094 --2.16300213337 -1.16017597914 --2.14574462176 -1.16016867757 --2.12848711014 -1.16016432643 --2.11122989654 -1.16016295552 --2.09397256374 -1.16016450525 --2.07671540976 -1.160169065 --2.05945801735 -1.16017657518 --2.04220068455 -1.160187006 --2.02494293451 -1.16020038724 --2.00768518448 -1.16021677852 --1.99042695761 -1.16023612023 --1.97316849232 -1.16025835276 --1.95590943098 -1.16028353572 --1.93865004182 -1.16029593349 --1.91944047809 -1.16028189659 --1.90022930503 -1.16025689244 --1.88296979666 -1.16023480892 --1.86571091413 -1.16021570563 --1.84845227003 -1.16019949317 --1.83119422197 -1.16018626094 --1.81393629313 -1.16017597914 --1.79667878151 -1.16016867757 --1.77942126989 -1.16016429663 --1.7621640563 -1.16016292572 --1.7449067235 -1.16016450525 --1.72764956951 -1.160169065 --1.71039217711 -1.16017657518 --1.69313484431 -1.160187006 --1.67587712407 -1.16020041704 --1.65861934423 -1.16021680832 --1.64136111737 -1.16023615003 --1.62410265207 -1.16025841236 --1.60684356093 -1.16028359533 --1.58958420157 -1.16029596329 --1.57037463784 -1.16028192639 --1.55116343498 -1.16025692224 --1.53390389681 -1.16023477912 --1.51664507389 -1.16021564603 --1.49938648939 -1.16019946337 --1.48212838173 -1.16018626094 --1.46487045288 -1.16017597914 --1.44761294127 -1.16016867757 --1.43035539984 -1.16016429663 --1.41309821605 -1.16016292572 --1.39584088325 -1.16016450525 --1.37858372927 -1.1601690352 --1.36132633686 -1.16017654538 --1.34406900406 -1.16018697619 --1.32681131363 -1.16020038724 --1.30955353379 -1.16021677852 --1.29229524732 -1.16023609042 --1.27503681183 -1.16025832296 --1.25777775049 -1.16028350592 --1.24051836133 -1.16029593349 --1.2213087976 -1.16028192639 --1.20209759474 -1.16025692224 --1.18483805656 -1.16023480892 --1.16757920384 -1.16021567583 --1.15032058954 -1.16019946337 --1.13306254148 -1.16018626094 --1.11580461264 -1.16017597914 --1.09854710102 -1.16016867757 --1.08128958941 -1.16016429663 --1.06403237582 -1.16016292572 --1.04677504301 -1.16016450525 --1.02951788902 -1.1601690352 --1.01226049662 -1.16017654538 --0.995003148914 -1.16018697619 --0.977745428681 -1.16020035744 --0.960487648845 -1.16021674871 --0.943229392171 -1.16023609042 --0.925970941782 -1.16025835276 --0.908711880445 -1.16028353572 --0.891452521085 -1.16029593349 --0.872242972254 -1.16028189659 --0.853031769395 -1.16025689244 --0.83577221632 -1.16023477912 --0.818513378501 -1.16021564603 --0.801254794001 -1.16019946337 --0.78399670124 -1.16018626094 --0.76673874259 -1.16017597914 --0.749481245875 -1.16016867757 --0.73222373426 -1.16016432643 --0.714966535568 -1.16016298532 --0.697709187865 -1.16016453505 --0.680452018976 -1.160169065 --0.66319462657 -1.16017657518 --0.645937308669 -1.1601870358 --0.628679588437 -1.16020044685 --0.6114218086 -1.16021677852 --0.594163566828 -1.16023609042 --0.576905101538 -1.16025832296 --0.5596460253 -1.16028350592 --0.542386651039 -1.16029593349 --0.523177087307 -1.16028189659 --0.503965891897 -1.16025689244 --0.486706376076 -1.16023480892 --0.469447530806 -1.16021573544 --0.452188916504 -1.16019952297 --0.434930838644 -1.16018626094 --0.417672894895 -1.16017597914 --0.40041539073 -1.16016867757 --0.383157879114 -1.16016432643 --0.365900665521 -1.16016295552 --0.34864333272 -1.16016450525 --0.331386186183 -1.1601690352 --0.314128778875 -1.16017651558 --0.296871438622 -1.16018697619 --0.279613740742 -1.16020041704 --0.262355968356 -1.16021677852 --0.245097696781 -1.16023609042 --0.227839242667 -1.16025832296 --0.210580177605 -1.16028350592 --0.193320799619 -1.16029596329 --0.174111239612 -1.17742794752 --0.154897384345 -1.17740273476 --0.137637838721 -1.17738047242 --0.1203789711 -1.17736124992 --0.10312035121 -1.17734494805 --0.0858622789383 -1.17733165622 --0.0686043296009 -1.17732131481 --0.0513468049467 -1.17731398344 --0.0340892793611 -1.1773096025 --0.0168320580851 -1.17730817199 -0.000425285659732 -1.17730975151 -0.0176824491937 -1.17731434107 -0.0349398585968 -1.17732188106 -0.0521972104907 -1.17733240127 -0.0694549335167 -1.17734587192 -0.0867127142846 -1.17736235261 -0.103970991448 -1.17738181353 -0.121229456738 -1.17740419507 -0.138488538563 -1.17742955685 -0.155747931451 -1.17744204402 -0.174957383424 -1.17742791772 -0.194168463349 -1.17740273476 -0.211428005248 -1.17738050222 -0.22868688032 -1.17736127972 -0.245945498347 -1.17734494805 -0.263203568756 -1.17733162641 -0.280461512506 -1.17732128501 -0.297719031572 -1.17731392384 -0.31497656554 -1.17730951309 -0.332233794034 -1.17730814219 -0.349491134286 -1.17730972171 -0.366748295724 -1.17731428146 -0.384005703032 -1.17732185125 -0.401263058186 -1.17733237147 -0.418520785868 -1.17734587192 -0.435778573155 -1.17736238241 -0.45303684473 -1.17738181353 -0.47029530257 -1.17740419507 -0.487554386258 -1.17742955685 -0.50481377542 -1.17744204402 -0.524023234844 -1.17742791772 -0.543234318495 -1.17740273476 -0.56049387157 -1.17738050222 -0.57775272429 -1.17736127972 -0.59501132369 -1.17734494805 -0.612269416452 -1.17733162641 -0.629527375102 -1.17732128501 -0.646784886718 -1.17731395364 -0.664042413235 -1.1773095429 -0.681299656629 -1.17730814219 -0.698557019233 -1.17730972171 -0.71581415832 -1.17731428146 -0.733071550727 -1.17732185125 -0.750328913331 -1.17733240127 -0.767586648464 -1.17734587192 -0.784844428301 -1.17736232281 -0.802102684974 -1.17738178373 -0.819361165166 -1.17740419507 -0.836620241403 -1.17742955685 -0.853879630566 -1.17744201422 -0.87308908999 -1.17742788792 -0.89230017364 -1.17740273476 -0.909559711814 -1.17738047242 -0.926818564534 -1.17736122012 -0.944077193737 -1.17734491825 -0.961335271597 -1.17733162641 -0.978593215346 -1.17732128501 -0.995850756763 -1.17731395364 -1.01310828328 -1.1773095727 -1.03036549688 -1.17730817199 -1.04762285948 -1.17730975151 -1.06488001346 -1.17731434107 -1.08213740587 -1.17732188106 -1.09939473868 -1.17733237147 -1.11665245891 -1.17734584212 -1.13391026855 -1.17736235261 -1.15116855502 -1.17738181353 -1.16842699051 -1.17740419507 -1.18568605185 -1.17742955685 -1.20294547081 -1.17744204402 -1.22215494514 -1.17742791772 -1.24136599899 -1.17740273476 -1.25862553715 -1.17738050222 -1.27588441968 -1.17736124992 -1.29314303398 -1.17734491825 -1.31040111184 -1.17733162641 -1.32765907049 -1.17732128501 -1.34491658211 -1.17731395364 -1.36217409372 -1.1773095429 -1.37943133712 -1.17730814219 -1.39668866992 -1.17730972171 -1.41394582391 -1.17731431127 -1.43120324612 -1.17732185125 -1.44846060872 -1.17733237147 -1.46571832895 -1.17734590172 -1.48297610879 -1.17736238241 -1.50023439527 -1.17738184333 -1.51749286056 -1.17740422487 -1.53475195169 -1.17742955685 -1.55201134086 -1.17744201422 -1.57122078538 -1.17742788792 -1.59043186903 -1.17740273476 -1.6076914072 -1.17738047242 -1.62495025992 -1.17736122012 -1.64220887423 -1.17734491825 -1.65946698189 -1.17733162641 -1.67672494054 -1.17732128501 -1.69398245215 -1.17731395364 -1.71123999357 -1.1773095429 -1.72849720717 -1.17730814219 -1.74575453997 -1.17730972171 -1.76301169395 -1.17731428146 -1.78026908636 -1.17732182145 -1.79752644897 -1.17733234167 -1.81478416919 -1.17734587192 -1.83204194903 -1.17736238241 -1.84930023551 -1.17738181353 -1.8665587008 -1.17740419507 -1.88381776214 -1.17742955685 -1.9010771513 -1.17744201422 -1.92028665542 -1.17742788792 -1.93949773908 -1.17740273476 -1.95675727725 -1.17738050222 -1.97401615977 -1.17736124992 -1.99127477408 -1.17734491825 -2.00853285194 -1.17733162641 -2.02579075098 -1.17732128501 -2.0430482626 -1.17731395364 -2.06030583382 -1.1773095429 -2.07756304741 -1.17730814219 -2.09482038021 -1.17730975151 -2.1120775938 -1.17731431127 -2.12933498621 -1.17732182145 -2.14659231901 -1.17733234167 -2.16385006904 -1.17734584212 -2.18110787868 -1.17736235261 -2.19836616516 -1.17738181353 -2.21562457085 -1.17740419507 -2.23288357258 -1.17742955685 -2.25014293194 -1.17744201422 -2.26935243606 -1.17742788792 -2.28856354952 -1.17740273476 -2.30582308769 -1.17738047242 -2.32308197021 -1.17736122012 -2.34034061432 -1.17734491825 -2.35759866238 -1.17733162641 -2.37485659123 -1.17732128501 -2.39211416245 -1.17731395364 -2.40937167406 -1.1773095727 -2.42662888766 -1.17730817199 -2.44388628006 -1.17730975151 -2.46114343405 -1.17731434107 -2.47840082645 -1.17732188106 -2.49565815926 -1.17733243108 -2.51291584969 -1.17734593153 -2.53017365932 -1.17736238241 -2.5474319458 -1.17738181353 -2.56469035149 -1.17740419507 -2.58194947243 -1.17742955685 -2.599208951 -1.17744204402 -2.61841839552 -1.17742791772 -2.63762938976 -1.17740273476 -2.65488892794 -1.17738050222 -2.67214781046 -1.17736127972 -2.68940639496 -1.17734494805 -2.70666450262 -1.17733162641 -2.72392249108 -1.17732128501 -2.74118000269 -1.17731392384 -2.75843751431 -1.1773095429 -2.7756947279 -1.17730817199 -2.7929520607 -1.17730972171 -2.81020921469 -1.17731428146 -2.82746660709 -1.17732182145 -2.8447239995 -1.17733234167 -2.86198174953 -1.17734587192 -2.87923949957 -1.17736238241 -2.89649772644 -1.17738181353 -2.91375625134 -1.17740419507 -2.93101537228 -1.17742955685 -2.94827473164 -1.17744207382 -2.96748417616 -1.17742794752 -2.98669528961 -1.17740273476 -3.00395488739 -1.17738047242 -3.02121371031 -1.17736124992 -3.03847229481 -1.17734494805 -3.05573040247 -1.17733165622 -3.07298833132 -1.17732131481 -3.09024584293 -1.17731398344 -3.10750341416 -1.1773096025 -3.12476062775 -1.17730817199 --3.14116737445 -1.17730975151 --3.12391024828 -1.17731434107 --3.10665285587 -1.17732188106 --3.08939546347 -1.17733240127 --3.07213771343 -1.17734587192 --3.0548799634 -1.17736235261 --3.03762167692 -1.17738181353 --3.02036315203 -1.17740419507 --3.00310409069 -1.17742955685 --2.98584473133 -1.17744204402 --2.96663528681 -1.17742791772 --2.94742417335 -1.17740273476 --2.93016457558 -1.17738050222 --2.91290575266 -1.17736127972 --2.89564716816 -1.17734494805 --2.8783890605 -1.17733162641 --2.86113107204 -1.17732128501 --2.84387356043 -1.17731392384 --2.82661604881 -1.17730951309 --2.80935883522 -1.17730814219 --2.79210150242 -1.17730972171 --2.77484434843 -1.17731428146 --2.75758695602 -1.17732185125 --2.74032956362 -1.17733237147 --2.72307181359 -1.17734587192 --2.70581400395 -1.17736238241 --2.68855571747 -1.17738181353 --2.67129731178 -1.17740419507 --2.65403831005 -1.17742955685 --2.63677895069 -1.17744204402 --2.61756944657 -1.17742791772 --2.59835833311 -1.17740273476 --2.58109879494 -1.17738050222 --2.56383991242 -1.17736127972 --2.54658126831 -1.17734494805 --2.52932322025 -1.17733162641 --2.5120652914 -1.17732128501 --2.49480777979 -1.17731395364 --2.47755026817 -1.1773095429 --2.46029299498 -1.17730814219 --2.44303560257 -1.17730972171 --2.42577844858 -1.17731428146 --2.40852105618 -1.17732185125 --2.39126372338 -1.17733240127 --2.37400603295 -1.17734587192 --2.35674822331 -1.17736232281 --2.33948993683 -1.17738178373 --2.32223153114 -1.17740419507 --2.3049724102 -1.17742955685 --2.28771293163 -1.17744201422 --2.26850348711 -1.17742788792 --2.24929249287 -1.17740273476 --2.2320330143 -1.17738047242 --2.21477413178 -1.17736122012 --2.19751548767 -1.17734491825 --2.18025743961 -1.17733162641 --2.16299951076 -1.17732128501 --2.14574193954 -1.17731395364 --2.12848436832 -1.1773095727 --2.11122715473 -1.17730817199 --2.09396982193 -1.17730975151 --2.07671266794 -1.17731434107 --2.05945527554 -1.17732188106 --2.04219794274 -1.17733237147 --2.0249401927 -1.17734584212 --2.00768238306 -1.17736235261 --1.99042412639 -1.17738181353 --1.9731656611 -1.17740419507 --1.95590656996 -1.17742955685 --1.93864715099 -1.17744204402 --1.91943770647 -1.17742791772 --1.90022665262 -1.17740273476 --1.88296711445 -1.17738050222 --1.86570823193 -1.17736124992 --1.84844958782 -1.17734491825 --1.83119150996 -1.17733162641 --1.81393358111 -1.17732128501 --1.7966760695 -1.17731395364 --1.77941852808 -1.1773095429 --1.76216131449 -1.17730814219 --1.74490398169 -1.17730972171 --1.7276467979 -1.17731431127 --1.71038940549 -1.17732185125 --1.69313207269 -1.17733237147 --1.67587432265 -1.17734590172 --1.65861651301 -1.17736238241 --1.64135825634 -1.17738184333 --1.62409979105 -1.17740422487 --1.60684069991 -1.17742955685 --1.58958134055 -1.17744201422 --1.57037186623 -1.17742788792 --1.55116075277 -1.17740273476 --1.5339012146 -1.17738047242 --1.51664236188 -1.17736122012 --1.49938374758 -1.17734491825 --1.48212566972 -1.17733162641 --1.46486774087 -1.17732128501 --1.44761019945 -1.17731395364 --1.43035262823 -1.1773095429 --1.41309541464 -1.17730814219 --1.39583808184 -1.17730972171 --1.37858092785 -1.17731428146 --1.36132353544 -1.17732182145 --1.34406620264 -1.17733234167 --1.32680848241 -1.17734587192 --1.30955067277 -1.17736238241 --1.29229238629 -1.17738181353 --1.27503395081 -1.17740419507 --1.25777488947 -1.17742955685 --1.2405154705 -1.17744201422 --1.22130602598 -1.17742788792 --1.20209497214 -1.17740273476 --1.18483543396 -1.17738050222 --1.16757655144 -1.17736124992 --1.15031790733 -1.17734491825 --1.13305982947 -1.17733162641 --1.11580187082 -1.17732128501 --1.09854435921 -1.17731395364 --1.08128684759 -1.1773095429 --1.0640296042 -1.17730814219 --1.0467722714 -1.17730975151 --1.02951511741 -1.17731431127 --1.012257725 -1.17732182145 --0.995000377298 -1.17733234167 --0.977742627263 -1.17734584212 --0.960484832525 -1.17736235261 --0.94322656095 -1.17738181353 --0.925968110561 -1.17740419507 --0.908709034324 -1.17742955685 --0.891449645161 -1.17744201422 --0.872240200639 -1.17742788792 --0.853029102087 -1.17740273476 --0.83576951921 -1.17738047242 --0.818510666489 -1.17736122012 --0.801252067089 -1.17734491825 --0.783993974328 -1.17733162641 --0.766736030579 -1.17732128501 --0.749478504061 -1.17731395364 --0.732220977545 -1.1773095727 --0.714963763952 -1.17730817199 --0.697706416249 -1.17730975151 --0.680449262261 -1.17731434107 --0.663191854954 -1.17732188106 --0.645934507251 -1.17733243108 --0.628676772118 -1.17734593153 --0.61141897738 -1.17736238241 --0.594160705805 -1.17738181353 --0.576902240515 -1.17740419507 --0.559643164277 -1.17742955685 --0.542383775115 -1.17744204402 --0.523174315691 -1.17742791772 --0.503963232041 -1.17740273476 --0.486703693867 -1.17738050222 --0.469444826245 -1.17736127972 --0.452186204493 -1.17734494805 --0.434928119183 -1.17733162641 --0.417670167983 -1.17732128501 --0.400412648916 -1.17731392384 --0.383155122399 -1.1773095429 --0.365897908807 -1.17730817199 --0.348640568554 -1.17730972171 --0.331383399665 -1.17731428146 --0.314125977457 -1.17732182145 --0.296868629754 -1.17733234167 --0.279610916972 -1.17734587192 --0.262353129685 -1.17736238241 --0.245094854385 -1.17738181353 --0.22783639282 -1.17740419507 --0.210577316582 -1.17742955685 --0.19331792742 -1.17744207382 --0.174108471721 -1.19454851747 --0.15489474684 -1.19452318549 --0.13763519749 -1.19450080395 --0.120376314968 -1.19448143244 --0.10311768204 -1.19446501136 --0.0858595985919 -1.19445163012 --0.0686016371473 -1.19444122911 --0.0513441003859 -1.19443383813 --0.0340865640901 -1.19442942739 --0.0168293321039 -1.19442799688 -0.000428022583947 -1.1944296062 -0.0176851977594 -1.19443422556 -0.0349426181056 -1.19444179535 -0.052199980244 -1.19445240497 -0.0694577144459 -1.19446599483 -0.086715510115 -1.19448256493 -0.103973798454 -1.19450211525 -0.12123227492 -1.19452464581 -0.138491362333 -1.19455018639 -0.155750766397 -1.19456276297 -0.174960125238 -1.19454851747 -0.19417110458 -1.19452318549 -0.211430657655 -1.19450080395 -0.228689536452 -1.19448143244 -0.245948165655 -1.19446501136 -0.263206250965 -1.19445160032 -0.280464202165 -1.1944411993 -0.297721736133 -1.19443380832 -0.314979277551 -1.19442936778 -0.332236513495 -1.19442796707 -0.349493868649 -1.1944295466 -0.366751037538 -1.19443416596 -0.384008459747 -1.19444179535 -0.401265829801 -1.19445237517 -0.418523564935 -1.19446596503 -0.435781367123 -1.19448256493 -0.453039653599 -1.19450211525 -0.470298118889 -1.19452467561 -0.487557224929 -1.19455018639 -0.504816614092 -1.19456273317 -0.524025946855 -1.19454851747 -0.543236956001 -1.19452318549 -0.560496523977 -1.19450080395 -0.577755376697 -1.19448143244 -0.595014005899 -1.19446501136 -0.612272113562 -1.19445163012 -0.629530057311 -1.19444122911 -0.646787583828 -1.19443383813 -0.664045140147 -1.19442939758 -0.681302383542 -1.19442796707 -0.698559746146 -1.1944295466 -0.715816900134 -1.19443416596 -0.733074307442 -1.19444179535 -0.750331684947 -1.19445237517 -0.767589434982 -1.19446596503 -0.784847214818 -1.19448256492 -0.802105486393 -1.19450211525 -0.819363981485 -1.19452467561 -0.836623072624 -1.1945502162 -0.853882476687 -1.19456273317 -0.873091831803 -1.19454848766 -0.892302811146 -1.19452318549 -0.90956236422 -1.19450080395 -0.926821216941 -1.19448143244 -0.944079861045 -1.19446501136 -0.961337953806 -1.19445163012 -0.978595897555 -1.19444122911 -0.995853438974 -1.19443383813 -1.01311096549 -1.19442939758 -1.03036820888 -1.19442796707 -1.04762560129 -1.1944295764 -1.06488275528 -1.19443419576 -1.08214014769 -1.19444179535 -1.09939751029 -1.19445237517 -1.11665526032 -1.19446596503 -1.13391306996 -1.19448256493 -1.15117135644 -1.19450211525 -1.16842982173 -1.19452467561 -1.18568891287 -1.19455018639 -1.20294833183 -1.19456273317 -1.22215768695 -1.19454851747 -1.24136865139 -1.19452318549 -1.25862821937 -1.19450080395 -1.27588710189 -1.19448143244 -1.29314571619 -1.19446501136 -1.31040379405 -1.19445160032 -1.3276617527 -1.1944411993 -1.34491929412 -1.19443383813 -1.36217683554 -1.19442942739 -1.37943407893 -1.19442802668 -1.39669141173 -1.1944295466 -1.41394859552 -1.19443413616 -1.43120604754 -1.19444176555 -1.44846338034 -1.19445234537 -1.46572107077 -1.19446596503 -1.48297888041 -1.19448256493 -1.50023719669 -1.19450211525 -1.51749569178 -1.19452464581 -1.53475478291 -1.19455015659 -1.55201417208 -1.19456270337 -1.57122352719 -1.19454851746 -1.59043449163 -1.19452321529 -1.60769402981 -1.19450080395 -1.62495291233 -1.19448143244 -1.64221155643 -1.19446501136 -1.65946966409 -1.19445160032 -1.67672762275 -1.1944411695 -1.69398516417 -1.19443380832 -1.71124270558 -1.19442942739 -1.72849991917 -1.19442799688 -1.74575728178 -1.1944295466 -1.76301446557 -1.19443416596 -1.78027185798 -1.19444176555 -1.79752922058 -1.19445234537 -1.81478697061 -1.19446596503 -1.83204475045 -1.19448256493 -1.84930303693 -1.19450211525 -1.86656150222 -1.19452467561 -1.88382059336 -1.19455018639 -1.90108001232 -1.19456270337 -1.92028936744 -1.19454848766 -1.93950036168 -1.19452318549 -1.95675992966 -1.19450080395 -1.97401881218 -1.19448143244 -1.99127745628 -1.19446501136 -2.00853550434 -1.19445160032 -2.02579343319 -1.1944411993 -2.04305100441 -1.19443383813 -2.06030857563 -1.19442939758 -2.07756578922 -1.19442796707 -2.09482312202 -1.1944295764 -2.11208033562 -1.19443419576 -2.12933772802 -1.19444176555 -2.14659506083 -1.19445234537 -2.16385281086 -1.19446596503 -2.1811106205 -1.19448256493 -2.19836890698 -1.19450211525 -2.21562737227 -1.19452467561 -2.2328864336 -1.19455018639 -2.25014579296 -1.19456270337 -2.26935517788 -1.19454848766 -2.28856617212 -1.19452318549 -2.3058257103 -1.19450080395 -2.32308459282 -1.19448143244 -2.34034323692 -1.19446501136 -2.35760134458 -1.19445163012 -2.37485927343 -1.19444122911 -2.39211678505 -1.19443383813 -2.40937435627 -1.19442939758 -2.42663162947 -1.19442796707 -2.44388896227 -1.1944295764 -2.46114611625 -1.19443419576 -2.47840356827 -1.19444179535 -2.49566096067 -1.19445240497 -2.5129186511 -1.19446599483 -2.53017640114 -1.19448256493 -2.54743474722 -1.19450211525 -2.56469321251 -1.19452467561 -2.58195227385 -1.1945502162 -2.59921175242 -1.19456276297 -2.61842113733 -1.19454851747 -2.63763207197 -1.19452318549 -2.65489161015 -1.19450080395 -2.67215049267 -1.19448140264 -2.68940913677 -1.19446498156 -2.70666724443 -1.19445160032 -2.72392523289 -1.1944411993 -2.74118274451 -1.19443380832 -2.75844019652 -1.19442936778 -2.77569741011 -1.19442796707 -2.79295480251 -1.1944295466 -2.8102120161 -1.19443416596 -2.82746946811 -1.19444176555 -2.84472680092 -1.19445234537 -2.86198449135 -1.19446596503 -2.87924230099 -1.19448256493 -2.89650058746 -1.19450211525 -2.91375905276 -1.19452467561 -2.9310181737 -1.19455018639 -2.94827759266 -1.19456273317 -2.96748691797 -1.19454851747 -2.98669791221 -1.19452318549 -3.00395750999 -1.19450080395 -3.02121639252 -1.19448143244 -3.03847503662 -1.19446501136 -3.05573308468 -1.19445163012 -3.07299101353 -1.19444122911 -3.09024858475 -1.19443383813 -3.10750615597 -1.19442942739 -3.12476336956 -1.19442799688 --3.14116463264 -1.1944296062 --3.12390744686 -1.19443422556 --3.10664999485 -1.19444179535 --3.08939266205 -1.19445240497 --3.07213497162 -1.19446599483 --3.05487716198 -1.19448256493 --3.0376188755 -1.19450211525 --3.02036035061 -1.19452464581 --3.00310122967 -1.19455018639 --2.98584187031 -1.19456276297 --2.96663254499 -1.19454851747 --2.94742155075 -1.19452318549 --2.93016195297 -1.19450080395 --2.91290307045 -1.19448143244 --2.89564442635 -1.19446501136 --2.87838637829 -1.19445160032 --2.86112844944 -1.1944411993 --2.84387087822 -1.19443380832 --2.826613307 -1.19442936778 --2.80935609341 -1.19442796707 --2.79209876061 -1.1944295466 --2.77484160662 -1.19443416596 --2.75758421421 -1.19444179535 --2.7403268218 -1.19445237517 --2.72306907177 -1.19446596503 --2.70581126213 -1.19448256493 --2.68855297565 -1.19450211525 --2.67129451036 -1.19452467561 --2.65403544903 -1.19455018639 --2.63677608967 -1.19456273317 --2.61756676435 -1.19454851747 --2.59835577011 -1.19452318549 --2.58109617234 -1.19450080395 --2.56383728981 -1.19448143244 --2.54657864571 -1.19446501136 --2.52932053804 -1.19445163012 --2.5120626092 -1.19444122911 --2.49480509758 -1.19443383813 --2.47754752636 -1.19442939758 --2.46029025316 -1.19442796707 --2.44303292036 -1.1944295466 --2.42577576637 -1.19443416596 --2.40851831436 -1.19444179535 --2.39126092196 -1.19445237517 --2.37400317192 -1.19446596503 --2.35674542189 -1.19448256492 --2.33948713541 -1.19450211525 --2.32222867012 -1.19452467561 --2.30496960878 -1.1945502162 --2.28771013022 -1.19456273317 --2.2685007453 -1.19454848766 --2.24928987026 -1.19452318549 --2.23203039169 -1.19450080395 --2.21477150917 -1.19448143244 --2.19751286507 -1.19446501136 --2.1802547574 -1.19445163012 --2.16299676895 -1.19444122911 --2.14573919773 -1.19443383813 --2.12848168612 -1.19442939758 --2.11122447252 -1.19442796707 --2.09396708012 -1.1944295764 --2.07670992613 -1.19443419576 --2.05945253372 -1.19444179535 --2.04219514132 -1.19445237517 --2.02493739128 -1.19446596503 --2.00767961144 -1.19448256493 --1.99042132496 -1.19450211525 --1.97316282987 -1.19452467561 --1.95590373874 -1.19455018639 --1.93864431977 -1.19456273317 --1.91943496466 -1.19454851747 --1.90022400021 -1.19452318549 --1.88296446204 -1.19450080395 --1.86570557952 -1.19448143244 --1.84844693541 -1.19446501136 --1.83118885756 -1.19445160032 --1.81393089891 -1.1944411993 --1.79667335749 -1.19443383813 --1.77941581607 -1.19442942739 --1.76215860248 -1.19442802668 --1.74490123987 -1.1944295466 --1.72764402628 -1.19443413616 --1.71038663388 -1.19444176555 --1.69312930107 -1.19445234537 --1.67587155104 -1.19446596503 --1.6586137414 -1.19448256493 --1.64135545492 -1.19450211525 --1.62409698963 -1.19452464581 --1.60683789849 -1.19455015659 --1.58957850933 -1.19456270337 --1.57036912441 -1.19454851746 --1.55115813017 -1.19452321529 --1.533898592 -1.19450080395 --1.51663970947 -1.19448143244 --1.49938106537 -1.19446501136 --1.48212298751 -1.19445160032 --1.46486505866 -1.1944411695 --1.44760751724 -1.19443380832 --1.43034994602 -1.19442942739 --1.41309270263 -1.19442799688 --1.39583536982 -1.1944295466 --1.37857821584 -1.19443416596 --1.36132079363 -1.19444176555 --1.34406343103 -1.19445234537 --1.32680568099 -1.19446596503 --1.30954790115 -1.19448256493 --1.29228961468 -1.19450211525 --1.27503111959 -1.19452467561 --1.25777202845 -1.19455018639 --1.24051260948 -1.19456270337 --1.22130328417 -1.19454848766 --1.20209231973 -1.19452318549 --1.18483275175 -1.19450080395 --1.16757386923 -1.19448143244 --1.15031525492 -1.19446501136 --1.13305714726 -1.19445160032 --1.11579915881 -1.1944411993 --1.0985416472 -1.19443383813 --1.08128410578 -1.19442939758 --1.06402686238 -1.19442796707 --1.04676952958 -1.1944295764 --1.02951234579 -1.19443419576 --1.01225495339 -1.19444176555 --0.994997605683 -1.19445234537 --0.977739840746 -1.19446596503 --0.960482031107 -1.19448256493 --0.943223744631 -1.19450211525 --0.925965294242 -1.19452467561 --0.908706203103 -1.19455018639 --0.891446784139 -1.19456270337 --0.872237443924 -1.19454848766 --0.853026464581 -1.19452318549 --0.835766881704 -1.19450080395 --0.818507999182 -1.19448143244 --0.801249369979 -1.19446501136 --0.783991292119 -1.19445163012 --0.76673334837 -1.19444122911 --0.749475806952 -1.19443383813 --0.732218265534 -1.19442939758 --0.71496103704 -1.19442796707 --0.697703689337 -1.1944295764 --0.680446520448 -1.19443419576 --0.663189083338 -1.19444179535 --0.645931720734 -1.19445240497 --0.628674000502 -1.19446599483 --0.611416205764 -1.19448256493 --0.594157889485 -1.19450211525 --0.576899409294 -1.19452467561 --0.559640333057 -1.1945502162 --0.542380928993 -1.19456276297 --0.523171588779 -1.19454851747 --0.503960616887 -1.19452318549 --0.486701056361 -1.19450080395 --0.469442158938 -1.19448140264 --0.452183514833 -1.19446498156 --0.434925429523 -1.19445160032 --0.417667478323 -1.1944411993 --0.400409951806 -1.19443380832 --0.383152410388 -1.19442936778 --0.365895181894 -1.19442796707 --0.348637834191 -1.1944295466 --0.331380650401 -1.19443416596 --0.314123220742 -1.19444176555 --0.296865865588 -1.19445234537 --0.279608137905 -1.19446596503 --0.262350343168 -1.19448256493 --0.245092052966 -1.19450211525 --0.2278335765 -1.19452467561 --0.210574489087 -1.19455018639 --0.193315085024 -1.19456273317 --0.174105726182 -1.21164694428 --0.154892139137 -1.2116214633 --0.137632582337 -1.21159893274 --0.120373690501 -1.21157944203 --0.103115046397 -1.21156293154 --0.0858569517732 -1.21154943109 --0.0685989791527 -1.21153897047 --0.0513414321467 -1.21153157949 --0.0340838851407 -1.21152713895 --0.0168266419787 -1.21152570844 -0.000430724350735 -1.21152731776 -0.0176879097708 -1.21153196693 -0.0349453422241 -1.21153959632 -0.0522027155384 -1.21155023575 -0.0694604581222 -1.21156391501 -0.0867182668298 -1.21158060431 -0.103976568207 -1.21160027385 -0.121235053986 -1.21162292361 -0.138494152576 -1.21164861321 -0.15575356409 -1.2116612792 -0.174962822348 -1.21164694428 -0.194173704833 -1.2116214633 -0.211433269084 -1.21159893274 -0.228692159056 -1.21157944203 -0.245950799435 -1.21156293154 -0.263208895921 -1.21154943109 -0.280466869473 -1.21153897047 -0.297724418342 -1.21153154969 -0.31498195976 -1.21152707934 -0.332239203155 -1.21152564883 -0.34949657321 -1.21152725816 -0.366753757 -1.21153193713 -0.384011186659 -1.21153959632 -0.401268564164 -1.21155020595 -0.418526306748 -1.21156388521 -0.435784123838 -1.21158060431 -0.453042425215 -1.21160030365 -0.470300905406 -1.21162298322 -0.487560026348 -1.21164861321 -0.50481942296 -1.2116612494 -0.524028673768 -1.21164697408 -0.543239578605 -1.2116214931 -0.56049913168 -1.21159893274 -0.577757999301 -1.21157944203 -0.595016643405 -1.21156293154 -0.612274751068 -1.21154946089 -0.629532694817 -1.21153900027 -0.646790236235 -1.21153154969 -0.664047822356 -1.21152707934 -0.681305065751 -1.21152567864 -0.698562413454 -1.21152728796 -0.715819597244 -1.21153190732 -0.733077034354 -1.21153956651 -0.750334426761 -1.21155023575 -0.767592176795 -1.21156391501 -0.784849971533 -1.21158063412 -0.802108258009 -1.21160030365 -0.8193667382 -1.21162295342 -0.836625859142 -1.21164864301 -0.853885293007 -1.2116612494 -0.873094543815 -1.21164691448 -0.89230543375 -1.2116214633 -0.909564986825 -1.21159893274 -0.926823854446 -1.21157944203 -0.94408249855 -1.21156293154 -0.96134057641 -1.21154946089 -0.978598549962 -1.21153900027 -0.995856106281 -1.21153154969 -1.0131136477 -1.21152707934 -1.0303709209 -1.21152567864 -1.0476283133 -1.21152728796 -1.06488546729 -1.21153190732 -1.0821428895 -1.21153956651 -1.09940028191 -1.21155023575 -1.11665800214 -1.21156388521 -1.13391581178 -1.21158057451 -1.15117412806 -1.21160030365 -1.16843259334 -1.21162301302 -1.18569171428 -1.21164864301 -1.20295113325 -1.2116612494 -1.22216036916 -1.21164694428 -1.241371274 -1.2116214633 -1.25863084197 -1.21159893274 -1.2758897245 -1.21157944203 -1.2931483686 -1.21156293154 -1.31040644646 -1.21154943109 -1.32766440511 -1.21153897047 -1.34492194652 -1.21153154969 -1.36217951775 -1.21152710914 -1.37943676114 -1.21152573824 -1.39669409394 -1.21152725816 -1.41395130754 -1.21153187752 -1.43120875955 -1.21153959632 -1.44846609235 -1.21155023575 -1.46572381258 -1.21156391501 -1.48298162222 -1.21158060431 -1.5002399683 -1.21160030365 -1.51749849319 -1.21162298322 -1.53475755453 -1.21164864301 -1.55201694369 -1.2116612792 -1.5712262094 -1.21164697408 -1.59043708443 -1.2116214931 -1.60769665241 -1.21159896254 -1.62495553494 -1.21157947183 -1.64221417904 -1.21156293154 -1.6594722867 -1.21154946089 -1.67673027515 -1.21153897047 -1.69398784637 -1.21153154969 -1.71124535799 -1.21152713895 -1.72850260139 -1.21152570844 -1.74575999379 -1.21152728796 -1.76301717758 -1.21153190732 -1.78027459979 -1.21153956651 -1.7975319624 -1.21155023575 -1.81478971243 -1.21156391501 -1.83204752207 -1.21158060431 -1.84930580855 -1.21160027385 -1.86656427383 -1.21162295342 -1.88382339477 -1.21164861321 -1.90108281374 -1.2116612494 -1.92029204965 -1.21164694428 -1.93950295448 -1.2116214633 -1.95676255226 -1.21159893274 -1.97402143479 -1.21157944203 -1.99128007889 -1.21156293154 -2.00853812694 -1.21154943109 -2.02579605579 -1.21153897047 -2.04305362701 -1.21153154969 -2.06031119823 -1.21152707934 -2.07756847143 -1.21152567864 -2.09482580424 -1.21152728796 -2.11208295822 -1.21153190732 -2.12934041023 -1.21153956651 -2.14659780264 -1.21155020595 -2.16385555267 -1.21156388521 -2.18111336232 -1.21158060431 -2.19837164879 -1.21160027385 -2.21563011408 -1.21162295342 -2.23288923502 -1.21164861321 -2.25014865398 -1.2116612494 -2.26935786009 -1.21164694428 -2.28856873512 -1.2116214633 -2.3058283329 -1.21159893274 -2.32308721543 -1.21157944203 -2.34034585953 -1.21156293154 -2.35760402679 -1.21154946089 -2.37486195564 -1.21153900027 -2.39211946726 -1.21153154969 -2.40937703848 -1.21152707934 -2.42663431168 -1.21152567864 -2.44389170408 -1.21152728796 -2.46114885807 -1.21153190732 -2.47840625048 -1.21153956651 -2.49566364288 -1.21155023575 -2.51292139292 -1.21156391501 -2.53017914295 -1.21158060431 -2.54743748904 -1.21160030365 -2.56469601393 -1.21162298322 -2.58195507526 -1.21164864301 -2.59921449423 -1.2116612792 -2.61842381954 -1.21164694428 -2.63763469458 -1.2116214633 -2.65489417315 -1.21159893274 -2.67215311527 -1.21157941222 -2.68941181898 -1.21156290174 -2.70666986704 -1.21154943109 -2.72392785549 -1.21153897047 -2.74118542671 -1.21153154969 -2.75844293833 -1.21152707934 -2.77570015192 -1.21152567864 -2.79295754433 -1.21152728796 -2.81021475792 -1.21153193713 -2.82747220993 -1.21153959632 -2.84472954273 -1.21155023575 -2.86198723316 -1.21156391501 -2.8792450428 -1.21158060431 -2.89650332928 -1.21160027385 -2.91376179457 -1.21162295342 -2.93102091551 -1.21164861321 -2.94828039408 -1.2116612494 -2.96748965979 -1.21164694428 -2.98670053482 -1.2116214633 -3.0039601326 -1.21159893274 -3.02121901512 -1.21157944203 -3.03847765923 -1.21156293154 -3.05573570728 -1.21154943109 -3.07299363613 -1.21153897047 -3.09025120735 -1.21153157949 -3.10750877857 -1.21152713895 -3.12476599216 -1.21152570844 --3.14116195043 -1.21152731776 --3.12390470505 -1.21153196693 --3.10664725303 -1.21153959632 --3.08938992023 -1.21155023575 --3.0721322298 -1.21156391501 --3.05487442016 -1.21158060431 --3.03761613369 -1.21160027385 --3.02035760879 -1.21162292361 --3.00309848785 -1.21164861321 --2.98583906889 -1.2116612792 --2.96662980318 -1.21164694428 --2.94741892815 -1.2116214633 --2.93015933037 -1.21159893274 --2.91290044784 -1.21157944203 --2.89564180374 -1.21156293154 --2.87838375569 -1.21154943109 --2.86112582684 -1.21153897047 --2.84386825561 -1.21153154969 --2.82661068439 -1.21152707934 --2.8093534112 -1.21152564883 --2.79209607839 -1.21152725816 --2.77483892441 -1.21153193713 --2.7575814724 -1.21153959632 --2.74032407999 -1.21155020595 --2.72306632995 -1.21156388521 --2.70580852032 -1.21158060431 --2.68855023384 -1.21160030365 --2.67129176855 -1.21162298322 --2.65403264761 -1.21164861321 --2.63677322865 -1.2116612494 --2.61756402254 -1.21164697408 --2.59835314751 -1.2116214931 --2.58109354973 -1.21159893274 --2.56383466721 -1.21157944203 --2.5465760231 -1.21156293154 --2.52931785584 -1.21154946089 --2.51205992699 -1.21153900027 --2.49480247497 -1.21153154969 --2.47754490375 -1.21152707934 --2.46028757095 -1.21152567864 --2.44303023815 -1.21152728796 --2.42577308416 -1.21153190732 --2.40851563215 -1.21153956651 --2.39125823974 -1.21155023575 --2.37400043011 -1.21156391501 --2.35674268007 -1.21158063412 --2.33948439359 -1.21160030365 --2.3222258687 -1.21162295342 --2.30496680737 -1.21164864301 --2.2877073884 -1.2116612494 --2.26849806309 -1.21164691448 --2.24928718805 -1.2116214633 --2.23202770949 -1.21159893274 --2.21476882696 -1.21157944203 --2.19751018286 -1.21156293154 --2.1802520752 -1.21154946089 --2.16299402714 -1.21153900027 --2.14573645592 -1.21153154969 --2.12847900391 -1.21152707934 --2.11122179031 -1.21152567864 --2.0939643383 -1.21152728796 --2.07670718432 -1.21153190732 --2.05944979191 -1.21153956651 --2.0421923995 -1.21155023575 --2.02493464947 -1.21156388521 --2.00767683983 -1.21158057451 --1.99041852355 -1.21160030365 --1.97316002846 -1.21162301302 --1.95590093732 -1.21164864301 --1.93864151835 -1.2116612494 --1.91943228245 -1.21164694428 --1.90022140741 -1.2116214633 --1.88296183944 -1.21159893274 --1.86570292712 -1.21157944203 --1.84844428301 -1.21156293154 --1.83118620515 -1.21154943109 --1.8139282167 -1.21153897047 --1.79667067528 -1.21153154969 --1.77941313386 -1.21152710914 --1.76215589047 -1.21152573824 --1.74489852786 -1.21152725816 --1.72764134407 -1.21153187752 --1.71038392186 -1.21153959632 --1.69312655926 -1.21155023575 --1.67586880923 -1.21156391501 --1.65861099959 -1.21158060431 --1.64135271311 -1.21160030365 --1.62409421801 -1.21162298322 --1.60683509708 -1.21164864301 --1.58957567811 -1.2116612792 --1.5703664124 -1.21164697408 --1.55115553737 -1.2116214931 --1.53389596939 -1.21159896254 --1.51663708687 -1.21157947183 --1.49937844276 -1.21156293154 --1.4821203351 -1.21154946089 --1.46486237645 -1.21153897047 --1.44760483503 -1.21153154969 --1.43034729362 -1.21152713895 --1.41309005022 -1.21152570844 --1.39583268762 -1.21152728796 --1.37857550383 -1.21153190732 --1.36131805182 -1.21153956651 --1.34406065941 -1.21155023575 --1.32680290938 -1.21156391501 --1.30954512954 -1.21158060431 --1.29228684306 -1.21160027385 --1.27502834797 -1.21162295342 --1.25776922703 -1.21164861321 --1.24050980806 -1.2116612494 --1.22130057216 -1.21164694428 --1.20208966732 -1.2116214633 --1.18483009935 -1.21159893274 --1.16757121682 -1.21157944203 --1.15031260252 -1.21156293154 --1.13305449486 -1.21154943109 --1.1157965064 -1.21153897047 --1.09853899479 -1.21153154969 --1.08128142357 -1.21152707934 --1.06402418017 -1.21152567864 --1.04676681757 -1.21152728796 --1.02950963378 -1.21153190732 --1.01225224138 -1.21153956651 --0.994994848969 -1.21155020595 --0.977737084031 -1.21156388521 --0.960479274392 -1.21158060431 --0.943220973015 -1.21160027385 --0.925962507724 -1.21162295342 --0.908703401685 -1.21164861321 --0.891443982721 -1.2116612494 --0.872234731913 -1.21164694428 --0.853023841977 -1.2116214633 --0.835764288902 -1.21159893274 --0.818505391478 -1.21157944203 --0.801246747375 -1.21156293154 --0.783988654613 -1.21154946089 --0.766730681061 -1.21153900027 --0.749473139643 -1.21153154969 --0.732215583324 -1.21152707934 --0.71495833993 -1.21152567864 --0.697700977325 -1.21152728796 --0.680443778634 -1.21153190732 --0.663186341524 -1.21153956651 --0.64592897892 -1.21155023575 --0.628671243787 -1.21156391501 --0.611413449049 -1.21158060431 --0.594155117869 -1.21160030365 --0.576896622777 -1.21162298322 --0.55963756144 -1.21164864301 --0.542378142476 -1.2116612792 --0.523168876767 -1.21164694428 --0.503958009183 -1.2116214633 --0.486698441207 -1.21159893274 --0.469439536333 -1.21157941222 --0.452180892229 -1.21156290174 --0.434922799468 -1.21154943109 --0.417664825916 -1.21153897047 --0.400407284498 -1.21153154969 --0.383149735629 -1.21152707934 --0.365892492234 -1.21152567864 --0.348635137081 -1.21152728796 --0.331377945841 -1.21153193713 --0.314120508731 -1.21153959632 --0.296863146126 -1.21155023575 --0.279605403542 -1.21156391501 --0.262347593904 -1.21158060431 --0.245089288801 -1.21160027385 --0.227830797434 -1.21162295342 --0.210571698844 -1.21164861321 --0.19331227988 -1.2116612494 --0.174103017897 -1.22875750065 --0.154888287187 -1.22873190046 --0.137628715485 -1.22870922089 --0.120369808748 -1.22868961096 --0.103111147881 -1.22867301106 --0.0858530383557 -1.2286594212 --0.0685950489715 -1.22864890099 --0.051337486133 -1.2286414504 --0.0340799218975 -1.22863695025 --0.016822661506 -1.22863554955 -0.000434721121565 -1.22863715887 -0.0176919214428 -1.22864180803 -0.0349493697286 -1.22864952683 -0.052206759341 -1.22866025567 -0.0694645196199 -1.22867402435 -0.0867223460227 -1.22869080305 -0.103980664164 -1.2287105918 -0.12123916857 -1.22873342037 -0.138498287648 -1.22875922918 -0.155757706612 -1.22877192497 -0.174966815859 -1.22875753045 -0.194177553058 -1.22873187065 -0.211437128484 -1.22870922089 -0.228696040809 -1.22868964076 -0.245954692364 -1.22867301106 -0.263212807476 -1.22865945101 -0.28047081083 -1.22864890099 -0.2977283746 -1.2286413908 -0.31498593092 -1.22863692045 -0.332243181765 -1.22863551975 -0.349500566721 -1.22863712907 -0.366757780313 -1.22864180803 -0.384015232325 -1.22864952683 -0.401272617281 -1.22866022587 -0.418530374765 -1.22867396474 -0.435788206756 -1.22869077325 -0.453046523034 -1.22871062159 -0.470305018127 -1.22873342037 -0.487564139068 -1.22875922918 -0.504823565483 -1.22877195478 -0.524032682181 -1.22875756025 -0.543243423104 -1.22873193026 -0.56050299108 -1.22870922089 -0.577761888504 -1.22868961096 -0.595020547509 -1.22867301106 -0.612278670073 -1.2286594212 -0.629536643625 -1.22864887118 -0.646794185043 -1.2286413908 -0.664051771164 -1.22863695025 -0.68130902946 -1.22863557935 -0.698566392064 -1.22863715887 -0.715823620558 -1.22864180803 -0.73308108747 -1.22864952683 -0.750338464975 -1.22866025567 -0.76759621501 -1.22867399454 -0.78485403955 -1.22869077325 -0.802112340927 -1.2287105918 -0.81937083602 -1.22873339057 -0.836629986763 -1.22875919938 -0.85388943553 -1.22877189517 -0.873098537326 -1.22875750065 -0.89230927825 -1.22873187065 -0.909568846226 -1.22870922089 -0.92682774365 -1.22868964076 -0.944086402654 -1.22867301106 -0.961344510317 -1.2286594212 -0.97860249877 -1.22864887118 -0.995860055089 -1.2286413908 -1.01311761141 -1.22863695025 -1.03037488461 -1.22863557935 -1.04763227701 -1.22863715887 -1.0648894608 -1.22864180803 -1.08214691281 -1.22864952683 -1.09940430522 -1.22866025567 -1.11666202545 -1.22867396474 -1.13391986489 -1.22869074345 -1.15117821097 -1.22871062159 -1.16843670607 -1.22873345017 -1.18569585681 -1.22875925899 -1.20295527577 -1.22877195478 -1.22216436267 -1.22875753045 -1.24137511849 -1.22873187065 -1.25863468647 -1.22870922089 -1.27589359879 -1.22868964076 -1.2931522727 -1.22867301106 -1.31041038037 -1.2286594212 -1.32766836881 -1.22864887118 -1.34492591023 -1.2286413908 -1.36218348146 -1.22863695025 -1.37944075465 -1.22863557935 -1.39669811726 -1.22863715887 -1.41395533085 -1.22864180803 -1.43121278286 -1.22864952683 -1.44847014546 -1.22866025567 -1.4657278955 -1.22867399454 -1.48298573494 -1.22869077325 -1.50024408102 -1.22871062159 -1.51750257611 -1.22873342037 -1.53476166725 -1.22875919938 -1.55202111602 -1.22877192497 -1.57123023272 -1.22875750065 -1.59044095874 -1.22873184085 -1.60770055652 -1.22870919109 -1.62495943904 -1.22868961096 -1.64221808314 -1.22867301106 -1.65947622061 -1.22865945101 -1.67673420906 -1.22864890099 -1.69399175048 -1.2286414206 -1.7112492919 -1.22863695025 -1.7285065949 -1.22863554955 -1.74576398731 -1.22863715887 -1.76302114129 -1.22864180803 -1.7802785933 -1.22864952683 -1.79753601551 -1.22866025567 -1.81479379535 -1.22867399454 -1.83205160499 -1.22869077325 -1.84930989146 -1.2287105918 -1.86656838656 -1.22873339057 -1.88382750749 -1.22875922918 -1.90108692646 -1.22877195478 -1.92029604316 -1.22875753045 -1.93950679898 -1.22873190046 -1.95676639676 -1.22870925069 -1.97402530909 -1.22868964076 -1.99128398299 -1.22867301106 -2.00854209065 -1.2286594212 -2.0258000493 -1.22864887118 -2.04305762052 -1.2286413908 -2.06031519174 -1.22863692045 -2.07757246494 -1.22863554955 -2.09482985735 -1.22863715887 -2.11208701134 -1.22864177823 -2.12934440374 -1.22864949703 -2.14660179615 -1.22866022587 -2.16385960579 -1.22867396474 -2.18111747504 -1.22869077325 -2.19837582111 -1.2287105918 -2.2156342864 -1.22873339057 -2.23289340734 -1.22875922918 -2.25015282631 -1.22877195478 -2.2693618536 -1.22875753045 -2.28857260942 -1.22873187065 -2.30583220721 -1.22870922089 -2.32309108973 -1.22868964076 -2.34034979344 -1.22867301106 -2.3576079607 -1.22865945101 -2.37486588955 -1.22864890099 -2.39212346077 -1.2286414206 -2.40938103199 -1.22863698006 -2.42663824558 -1.22863557935 -2.44389569759 -1.22863715887 -2.46115291118 -1.22864180803 -2.47841030359 -1.22864952683 -2.495667696 -1.22866025567 -2.51292544603 -1.22867399454 -2.53018325567 -1.22869077325 -2.54744160175 -1.22871062159 -2.56470012665 -1.22873342037 -2.58195924759 -1.22875922918 -2.59921866655 -1.22877195478 -2.61842781305 -1.22875753045 -2.63763850927 -1.22873187065 -2.65489804745 -1.22870922089 -2.67215698957 -1.22868964076 -2.68941563368 -1.22867301106 -2.70667374134 -1.22865945101 -2.7239317894 -1.22864890099 -2.74118936062 -1.2286413908 -2.75844693184 -1.22863692045 -2.77570420504 -1.22863554955 -2.79296153784 -1.22863715887 -2.81021875143 -1.22864180803 -2.82747620344 -1.22864952683 -2.84473353625 -1.22866025567 -2.86199128628 -1.22867399454 -2.87924909592 -1.22869077325 -2.89650738239 -1.2287105918 -2.91376590729 -1.22873339057 -2.93102502823 -1.22875922918 -2.9482845068 -1.22877192497 -2.9674936533 -1.22875750065 -2.98670434952 -1.22873190046 -3.0039639473 -1.22870922089 -3.02122288942 -1.22868961096 -3.03848153353 -1.22867301106 -3.05573958159 -1.2286594212 -3.07299757004 -1.22864890099 -3.09025514126 -1.2286414504 -3.10751271248 -1.22863695025 -3.12476998567 -1.22863554955 --3.14115795691 -1.22863715887 --3.12390071153 -1.22864180803 --3.10664325952 -1.22864952683 --3.08938592672 -1.22866025567 --3.07212817669 -1.22867402435 --3.05487036705 -1.22869080305 --3.03761208058 -1.2287105918 --3.02035355568 -1.22873342037 --3.00309443474 -1.22875922918 --2.98583495617 -1.22877192497 --2.96662580967 -1.22875753045 --2.94741511345 -1.22873187065 --2.93015551567 -1.22870922089 --2.91289657354 -1.22868964076 --2.89563792944 -1.22867301106 --2.87837988138 -1.22865945101 --2.86112189293 -1.22864890099 --2.84386432171 -1.2286413908 --2.82660675049 -1.22863692045 --2.80934941769 -1.22863551975 --2.79209208488 -1.22863712907 --2.77483493089 -1.22864180803 --2.75757747888 -1.22864952683 --2.74032002687 -1.22866022587 --2.72306221723 -1.22867396474 --2.7058044076 -1.22869077325 --2.68854612112 -1.22871062159 --2.67128765583 -1.22873342037 --2.65402853489 -1.22875922918 --2.63676911592 -1.22877195478 --2.61756002903 -1.22875756025 --2.5983492732 -1.22873193026 --2.58108967542 -1.22870922089 --2.5638307929 -1.22868961096 --2.5465720892 -1.22867301106 --2.52931392193 -1.2286594212 --2.51205599308 -1.22864887118 --2.49479848147 -1.2286413908 --2.47754091025 -1.22863695025 --2.46028363705 -1.22863557935 --2.44302624464 -1.22863715887 --2.42576903105 -1.22864180803 --2.40851157904 -1.22864952683 --2.39125418663 -1.22866025567 --2.3739964366 -1.22867399454 --2.35673862695 -1.22869077325 --2.33948028087 -1.2287105918 --2.32222175598 -1.22873339057 --2.30496263504 -1.22875919938 --2.28770321608 -1.22877189517 --2.26849406958 -1.22875750065 --2.24928331375 -1.22873187065 --2.23202377558 -1.22870922089 --2.21476489305 -1.22868964076 --2.19750624895 -1.22867301106 --2.18024814129 -1.2286594212 --2.16299015284 -1.22864887118 --2.14573258161 -1.2286413908 --2.12847507 -1.22863695025 --2.11121785641 -1.22863557935 --2.0939604044 -1.22863715887 --2.0767031312 -1.22864180803 --2.05944567919 -1.22864952683 --2.04218834639 -1.22866025567 --2.02493059635 -1.22867396474 --2.00767272711 -1.22869074345 --1.99041441083 -1.22871062159 --1.97315594554 -1.22873345017 --1.9558968246 -1.22875925899 --1.93863737583 -1.22877195478 --1.91942828894 -1.22875753045 --1.90021756291 -1.22873187065 --1.88295796514 -1.22870922089 --1.86569905281 -1.22868964076 --1.84844040871 -1.22867301106 --1.83118227124 -1.2286594212 --1.81392428279 -1.22864887118 --1.79666674137 -1.2286413908 --1.77940917015 -1.22863695025 --1.76215189696 -1.22863557935 --1.74489453435 -1.22863715887 --1.72763735056 -1.22864180803 --1.71037986875 -1.22864952683 --1.69312247634 -1.22866025567 --1.6758647263 -1.22867399454 --1.65860691667 -1.22869077325 --1.64134860039 -1.22871062159 --1.62409007549 -1.22873342037 --1.60683095455 -1.22875919938 --1.58957153559 -1.22877192497 --1.57036241889 -1.22875750065 --1.55115169287 -1.22873184085 --1.53389212489 -1.22870919109 --1.51663321257 -1.22868961096 --1.49937453866 -1.22867301106 --1.482116431 -1.22865945101 --1.46485844254 -1.22864890099 --1.44760087132 -1.2286414206 --1.43034332991 -1.22863695025 --1.41308608651 -1.22863554955 --1.3958286941 -1.22863715887 --1.37857148051 -1.22864180803 --1.3613140285 -1.22864952683 --1.34405663609 -1.22866025567 --1.32679888606 -1.22867399454 --1.30954104662 -1.22869077325 --1.29228273034 -1.2287105918 --1.27502423525 -1.22873339057 --1.25776511431 -1.22875922918 --1.24050569534 -1.22877195478 --1.22129657865 -1.22875753045 --1.20208582282 -1.22873190046 --1.18482625484 -1.22870925069 --1.16756737232 -1.22868964076 --1.15030872822 -1.22867301106 --1.13305059075 -1.2286594212 --1.1157925725 -1.22864887118 --1.09853503108 -1.2286413908 --1.08127745986 -1.22863692045 --1.06402018666 -1.22863554955 --1.04676279426 -1.22863715887 --1.02950561047 -1.22864177823 --1.01224818826 -1.22864949703 --0.994990795851 -1.22866022587 --0.977733045817 -1.22867396474 --0.960475206375 -1.22869077325 --0.943216875196 -1.2287105918 --0.925958380103 -1.22873339057 --0.908699259162 -1.22875922918 --0.891439840197 -1.22877195478 --0.872230738402 -1.22875753045 --0.853019982576 -1.22873187065 --0.8357604146 -1.22870922089 --0.818501502276 -1.22868964076 --0.801242828369 -1.22867301106 --0.783984720707 -1.22865945101 --0.766726732254 -1.22864890099 --0.749469175935 -1.2286414206 --0.732211604714 -1.22863698006 --0.714954346419 -1.22863557935 --0.697696968913 -1.22863715887 --0.68043975532 -1.22864180803 --0.663182333112 -1.22864952683 --0.645924955606 -1.22866025567 --0.62866717577 -1.22867399454 --0.61140935123 -1.22869077325 --0.59415102005 -1.22871062159 --0.576892510056 -1.22873342037 --0.559633418918 -1.22875922918 --0.542373999953 -1.22877195478 --0.523164883256 -1.22875753045 --0.503954157233 -1.22873187065 --0.486694574356 -1.22870922089 --0.469435654581 -1.22868964076 --0.452177003026 -1.22867301106 --0.434918895364 -1.22865945101 --0.41766089946 -1.22864890099 --0.40040332824 -1.2286413908 --0.38314576447 -1.22863692045 --0.365888513625 -1.22863554955 --0.348631136119 -1.22863715887 --0.331373929977 -1.22864180803 --0.314116485417 -1.22864952683 --0.296859100461 -1.22866025567 --0.279601335525 -1.22867399454 --0.262343510985 -1.22869077325 --0.245085194707 -1.2287105918 --0.227826692164 -1.22873339057 --0.210567571223 -1.22875922918 --0.193308137357 -1.22877192497 --0.174099024385 -1.24590352178 --0.154884558171 -1.24587780237 --0.137624967844 -1.2458550036 --0.120366044343 -1.24583527446 --0.103107364848 -1.24581855535 --0.0858492366969 -1.24580487609 --0.0685912314803 -1.24579429627 --0.0513336546719 -1.24578675628 --0.0340760760009 -1.24578222633 --0.0168187997769 -1.24578085542 -0.000438598217445 -1.24578246474 -0.0176958153024 -1.24578714371 -0.0349532784894 -1.24579492211 -0.0522106839344 -1.24580571056 -0.0694684600457 -1.24581953883 -0.0867263004184 -1.24583640695 -0.103984633461 -1.2458563149 -0.121243152767 -1.24587929249 -0.13850228861 -1.24590528011 -0.155761729926 -1.24591803551 -0.174970697611 -1.24590352178 -0.194181289524 -1.24587771297 -0.211440879852 -1.24585494399 -0.228699807078 -1.24583527446 -0.245958477259 -1.24581855535 -0.263216607273 -1.2458049357 -0.280474625528 -1.24579432607 -0.297732204199 -1.24578672647 -0.314989775419 -1.24578222633 -0.332247048616 -1.24578082562 -0.349504455924 -1.24578243494 -0.366761676967 -1.24578711391 -0.384019136429 -1.24579486251 -0.401276543737 -1.24580568076 -0.418534323573 -1.24581950903 -0.435792155564 -1.24583637714 -0.453050486744 -1.2458563149 -0.470309004188 -1.24587926268 -0.48756814003 -1.24590528011 -0.504827588797 -1.24591806531 -0.524036541581 -1.24590355158 -0.543247133493 -1.24587777257 -0.560506731272 -1.24585497379 -0.577765658498 -1.24583527446 -0.595024332404 -1.24581855535 -0.612282454968 -1.24580487609 -0.629540473223 -1.24579426646 -0.646798044443 -1.24578675628 -0.664055615664 -1.24578228593 -0.681312888861 -1.24578088522 -0.698570281267 -1.24578246474 -0.715827524662 -1.24578714371 -0.733085006475 -1.24579489231 -0.750342398882 -1.24580568076 -0.767600163818 -1.24581950903 -0.784857988358 -1.24583637714 -0.802116304636 -1.2458563149 -0.819374844432 -1.24587926268 -0.836633980274 -1.24590525031 -0.853893429041 -1.24591803551 -0.873102396727 -1.24590355158 -0.892312973738 -1.24587777257 -0.909572571516 -1.24585497379 -0.926831498742 -1.24583527446 -0.94409018755 -1.24581855535 -0.961348325014 -1.24580487609 -0.978606328368 -1.24579426646 -0.995863884689 -1.24578672647 -1.01312145591 -1.24578225613 -1.03037875891 -1.24578085542 -1.04763615131 -1.24578243494 -1.06489336491 -1.24578717351 -1.08215081692 -1.24579492211 -1.09940820932 -1.24580568076 -1.11666598916 -1.24581950903 -1.1339238286 -1.24583637714 -1.15118217468 -1.2458563149 -1.16844069958 -1.24587926268 -1.18569985032 -1.24590528011 -1.20295929909 -1.24591806531 -1.22216823697 -1.24590355158 -1.24137881398 -1.24587774277 -1.25863841176 -1.24585497379 -1.27589735389 -1.24583530426 -1.2931560576 -1.24581855535 -1.31041419506 -1.24580490589 -1.32767218351 -1.24579426646 -1.34492975473 -1.24578669667 -1.36218735576 -1.24578225613 -1.37944462895 -1.24578088522 -1.39670202136 -1.24578249455 -1.41395923495 -1.24578714371 -1.43121668696 -1.24579486251 -1.44847407937 -1.24580568076 -1.46573185921 -1.24581950903 -1.48298972845 -1.24583634734 -1.50024804473 -1.2458563149 -1.51750653982 -1.24587929249 -1.53476569057 -1.24590525031 -1.55202513933 -1.24591800571 -1.57123410702 -1.24590349197 -1.59044471383 -1.24587774277 -1.60770431161 -1.24585494399 -1.62496322393 -1.24583524466 -1.64222189784 -1.24581855535 -1.6594800353 -1.24580490589 -1.67673802376 -1.24579429627 -1.69399556517 -1.24578672647 -1.7112531364 -1.24578219652 -1.7285104394 -1.24578079581 -1.7457678318 -1.24578243494 -1.7630250454 -1.24578714371 -1.78028252721 -1.24579489231 -1.79753994942 -1.24580568076 -1.81479772925 -1.24581953883 -1.83205556869 -1.24583640694 -1.84931388497 -1.2458563149 -1.86657240987 -1.24587926268 -1.88383153081 -1.24590528011 -1.90109094977 -1.24591806531 -1.92029991746 -1.24590352178 -1.93951049447 -1.24587777257 -1.95677012205 -1.2458550036 -1.97402906418 -1.24583527446 -1.99128773809 -1.24581855535 -2.00854590535 -1.24580487609 -2.0258039236 -1.24579426646 -2.04306149483 -1.24578672647 -2.06031906605 -1.24578222633 -2.07757633924 -1.24578082562 -2.09483379126 -1.24578243494 -2.11209100485 -1.24578711391 -2.12934839726 -1.24579486251 -2.14660573006 -1.24580568076 -2.16386348009 -1.24581950903 -2.18112140894 -1.24583637714 -2.19837981462 -1.2458563447 -2.21563833952 -1.24587929249 -2.23289746046 -1.24590528011 -2.25015681982 -1.24591806531 -2.2693657279 -1.24590352178 -2.28857636452 -1.24587771297 -2.30583596229 -1.24585494399 -2.32309490442 -1.24583527446 -2.34035360813 -1.24581855535 -2.35761171579 -1.24580490589 -2.37486970424 -1.24579426646 -2.39212727547 -1.24578672647 -2.40938484669 -1.24578228593 -2.42664211988 -1.24578085542 -2.4438995719 -1.24578243494 -2.46115678549 -1.24578714371 -2.4784142375 -1.24579489231 -2.49567162991 -1.24580568076 -2.51292937994 -1.24581950903 -2.53018724918 -1.24583637714 -2.54744559527 -1.2458563447 -2.56470412016 -1.24587929249 -2.5819632411 -1.24590528011 -2.59922271967 -1.24591806531 -2.61843168735 -1.24590355158 -2.63764220476 -1.24587774277 -2.65490180254 -1.24585494399 -2.67216074467 -1.24583527446 -2.68941944838 -1.24581855535 -2.70667761564 -1.24580490589 -2.72393560409 -1.24579429627 -2.74119317531 -1.24578672647 -2.75845074653 -1.24578222633 -2.77570801974 -1.24578085542 -2.79296541214 -1.24578246474 -2.81022262573 -1.24578711391 -2.82748007774 -1.24579486251 -2.84473747015 -1.24580568076 -2.86199527979 -1.24581950903 -2.87925308943 -1.24583637714 -2.8965113759 -1.2458563149 -2.9137699008 -1.24587926268 -2.93102908134 -1.24590528011 -2.94828855991 -1.24591803551 -2.9674975276 -1.24590352178 -2.98670810461 -1.24587780237 -3.00396770239 -1.2458550036 -3.02122664452 -1.24583527446 -3.03848528862 -1.24581855535 -3.05574339628 -1.24580487609 -3.07300144434 -1.24579429627 -3.09025901556 -1.24578675628 -3.10751658678 -1.24578222633 -3.12477385998 -1.24578085542 --3.14115408261 -1.24578246474 --3.12389683724 -1.24578714371 --3.10663938523 -1.24579492211 --3.08938199282 -1.24580571056 --3.07212418318 -1.24581953883 --3.05486637354 -1.24583640695 --3.03760808706 -1.2458563149 --3.02034956217 -1.24587929249 --3.00309038162 -1.24590528011 --2.98583090305 -1.24591803551 --2.96662193537 -1.24590352178 --2.94741135836 -1.24587771297 --2.93015176058 -1.24585494399 --2.91289281845 -1.24583527446 --2.89563417435 -1.24581855535 --2.87837606669 -1.2458049357 --2.86111801863 -1.24579432607 --2.84386044741 -1.24578672647 --2.82660287619 -1.24578222633 --2.80934560299 -1.24578082562 --2.79208827019 -1.24578243494 --2.77483099699 -1.24578711391 --2.75757348538 -1.24579486251 --2.74031609297 -1.24580568076 --2.72305834293 -1.24581950903 --2.70580053329 -1.24583637714 --2.68854218721 -1.2458563149 --2.67128366232 -1.24587926268 --2.65402454138 -1.24590528011 --2.63676512242 -1.24591806531 --2.61755615473 -1.24590355158 --2.59834551811 -1.24587777257 --2.58108592034 -1.24585497379 --2.56382703781 -1.24583527446 --2.5465683341 -1.24581855535 --2.52931016684 -1.24580487609 --2.51205217838 -1.24579426646 --2.49479460716 -1.24578675628 --2.47753703594 -1.24578228593 --2.46027976274 -1.24578088522 --2.44302231073 -1.24578246474 --2.42576509714 -1.24578714371 --2.40850764513 -1.24579489231 --2.39125019312 -1.24580568076 --2.37399244309 -1.24581950903 --2.35673463344 -1.24583637714 --2.33947628736 -1.2458563149 --2.32221776247 -1.24587926268 --2.30495864153 -1.24590525031 --2.28769916296 -1.24591803551 --2.26849019528 -1.24590355158 --2.24927967787 -1.24587777257 --2.23202008009 -1.24585497379 --2.21476113796 -1.24583527446 --2.19750243425 -1.24581855535 --2.18024432659 -1.24580487609 --2.16298639775 -1.24579426646 --2.14572876692 -1.24578672647 --2.1284711957 -1.24578225613 --2.11121398211 -1.24578085542 --2.09395653009 -1.24578243494 --2.0766992569 -1.24578717351 --2.05944180489 -1.24579492211 --2.04218441248 -1.24580568076 --2.02492660284 -1.24581950903 --2.0076687634 -1.24583637714 --1.99041044712 -1.2458563149 --1.97315195203 -1.24587926268 --1.95589283109 -1.24590528011 --1.93863335252 -1.24591806531 --1.91942438483 -1.24590355158 --1.90021380782 -1.24587774277 --1.88295421005 -1.24585497379 --1.86569529772 -1.24583530426 --1.84843662381 -1.24581855535 --1.83117848635 -1.24580490589 --1.81392049789 -1.24579426646 --1.79666289687 -1.24578669667 --1.77940532565 -1.24578225613 --1.76214805245 -1.24578088522 --1.74489066004 -1.24578249455 --1.72763344646 -1.24578714371 --1.71037593484 -1.24579486251 --1.69311854243 -1.24580568076 --1.6758607924 -1.24581950903 --1.65860295296 -1.24583634734 --1.64134460688 -1.2458563149 --1.62408608198 -1.24587929249 --1.60682696104 -1.24590525031 --1.58956754208 -1.24591800571 --1.57035854459 -1.24590349197 --1.55114793778 -1.24587774277 --1.5338883698 -1.24585494399 --1.51662945747 -1.24583524466 --1.49937078356 -1.24581855535 --1.4821126461 -1.24580490589 --1.46485462785 -1.24579429627 --1.44759705663 -1.24578672647 --1.43033948541 -1.24578219652 --1.41308221221 -1.24578079581 --1.3958248198 -1.24578243494 --1.37856760621 -1.24578714371 --1.3613101542 -1.24579489231 --1.34405273199 -1.24580568076 --1.32679495215 -1.24581953883 --1.30953711271 -1.24583640694 --1.29227876663 -1.2458563149 --1.27502024174 -1.24587926268 --1.2577611208 -1.24590528011 --1.24050167203 -1.24591806531 --1.22129270435 -1.24590352178 --1.20208212734 -1.24587777257 --1.18482252956 -1.2458550036 --1.16756361723 -1.24583527446 --1.15030494332 -1.24581855535 --1.13304680586 -1.24580487609 --1.11578878761 -1.24579426646 --1.09853118658 -1.24578672647 --1.08127358556 -1.24578222633 --1.06401631236 -1.24578082562 --1.04675891995 -1.24578243494 --1.02950170636 -1.24578711391 --1.01224425435 -1.24579486251 --0.994986876844 -1.24580568076 --0.97772911191 -1.24581950903 --0.960471242666 -1.24583637714 --0.943212896586 -1.2458563447 --0.925954371691 -1.24587929249 --0.90869525075 -1.24590528011 --0.891435816884 -1.24591806531 --0.872226849198 -1.24590352178 --0.853016242385 -1.24587771297 --0.835756659508 -1.24585494399 --0.818497732282 -1.24583527446 --0.801239028573 -1.24581855535 --0.783980920911 -1.24580490589 --0.766722932458 -1.24579426646 --0.749465361237 -1.24578672647 --0.732207775116 -1.24578228593 --0.714950487018 -1.24578085542 --0.69769307971 -1.24578243494 --0.680435866118 -1.24578714371 --0.663178429008 -1.24579489231 --0.645921036601 -1.24580568076 --0.628663256765 -1.24581950903 --0.611405402422 -1.24583637714 --0.594147056341 -1.2458563447 --0.576888531446 -1.24587929249 --0.559629395604 -1.24590528011 --0.542369961739 -1.24591806531 --0.523161008954 -1.24590355158 --0.503950417042 -1.24587774277 --0.486690826714 -1.24585494399 --0.469431899488 -1.24583527446 --0.452173218131 -1.24581855535 --0.434915088117 -1.24580490589 --0.417657077313 -1.24579429627 --0.400399498641 -1.24578672647 --0.383141919971 -1.24578222633 --0.365884654224 -1.24578085542 --0.348627261818 -1.24578246474 --0.331370033324 -1.24578711391 --0.314112566411 -1.24579486251 --0.296855159104 -1.24580568076 --0.279597379267 -1.24581950903 --0.262339547276 -1.24583637714 --0.245081219822 -1.2458563149 --0.227822702378 -1.24587926268 --0.210563566536 -1.24590528011 --0.193304121494 -1.24591803551 --0.174095153808 -1.26304838062 --0.154882222414 -1.2630224824 --0.13762262091 -1.26299953461 --0.120363684371 -1.26297968626 --0.103104993701 -1.26296287775 --0.0858468525112 -1.26294916868 --0.0685888398439 -1.26293852925 --0.0513312546536 -1.26293092966 --0.0340736662038 -1.26292639971 --0.0168163799681 -1.2629250288 -0.00044102780521 -1.26292663813 -0.0176982553676 -1.26293134689 -0.0349557287991 -1.2629391253 -0.0522131435573 -1.26294994355 -0.0694709271192 -1.26296386123 -0.0867287777364 -1.26298084855 -0.103987121954 -1.26300087571 -0.121245648712 -1.26302394271 -0.138504792005 -1.26305010915 -0.155764248222 -1.26306295395 -0.174973130226 -1.26304832101 -0.194183632731 -1.26302236319 -0.21144323051 -1.2629994452 -0.228702165186 -1.26297968626 -0.245960853994 -1.26296290755 -0.263218991459 -1.26294919849 -0.280477017164 -1.26293855905 -0.297734610736 -1.26293092966 -0.314992181957 -1.26292636991 -0.332249470055 -1.26292493939 -0.349506892264 -1.26292657852 -0.366764113307 -1.26293131709 -0.384021572769 -1.2629390955 -0.401278987527 -1.26294994354 -0.418536789715 -1.26296386123 -0.435794636607 -1.26298084855 -0.453052967787 -1.26300087571 -0.470311492681 -1.26302394271 -0.487570650876 -1.26305010915 -0.504830099642 -1.26306295395 -0.524038955569 -1.26304835081 -0.543249472976 -1.26302242279 -0.560509085655 -1.26299950481 -0.577768012881 -1.26297968626 -0.595026671886 -1.26296287775 -0.61228479445 -1.26294916868 -0.629542842508 -1.26293849945 -0.64680044353 -1.26293092966 -0.664058044552 -1.26292639971 -0.681315332651 -1.262924999 -0.698572725057 -1.26292663813 -0.715829953551 -1.26293131709 -0.733087435365 -1.2629390955 -0.750344872475 -1.26294994354 -0.767602652312 -1.26296386123 -0.784860476852 -1.26298084855 -0.80211879313 -1.26300087571 -0.819377332926 -1.26302394271 -0.83663648367 -1.26305010915 -0.853895947337 -1.26306295395 -0.873104825616 -1.26304835081 -0.89231531322 -1.2630224526 -0.9095749259 -1.26299950481 -0.926833868027 -1.26297965646 -0.944092571735 -1.26296287775 -0.9613507092 -1.26294916868 -0.978608712554 -1.26293849945 -0.995866298676 -1.26293089986 -1.0131238699 -1.26292639971 -1.03038117289 -1.2629249692 -1.04763859511 -1.26292657852 -1.06489580869 -1.26293134689 -1.0821532607 -1.2629391253 -1.09941068292 -1.26294994354 -1.11666849256 -1.26296386123 -1.133926332 -1.26298084855 -1.15118467808 -1.26300087571 -1.16844320297 -1.26302394271 -1.18570235372 -1.26305010915 -1.20296180248 -1.26306295395 -1.22217065096 -1.26304835081 -1.24138116837 -1.26302242279 -1.25864079595 -1.26299953461 -1.27589970827 -1.26297971606 -1.29315838218 -1.26296287775 -1.31041654944 -1.26294919849 -1.3276745677 -1.26293849945 -1.34493213892 -1.26293089986 -1.36218973994 -1.26292642951 -1.37944704294 -1.262924999 -1.39670446515 -1.26292660832 -1.41396167874 -1.26293131709 -1.43121913075 -1.2629390955 -1.44847652316 -1.26294994354 -1.4657343328 -1.26296386123 -1.48299220204 -1.26298081875 -1.50025051832 -1.26300087571 -1.51750904322 -1.26302397251 -1.53476819396 -1.26305010915 -1.55202764273 -1.26306292415 -1.571236521 -1.26304832101 -1.59044703841 -1.2630224526 -1.60770663619 -1.26299953461 -1.62496557832 -1.26297971606 -1.64222428203 -1.26296287775 -1.65948241949 -1.26294916869 -1.67674040794 -1.26293855905 -1.69399797916 -1.26293092966 -1.71125558019 -1.26292636991 -1.72851285338 -1.26292493939 -1.74577024579 -1.26292657852 -1.76302751898 -1.26293131709 -1.7802850008 -1.2629390657 -1.79754239321 -1.26294991374 -1.81480017304 -1.26296389103 -1.83205804228 -1.26298087835 -1.84931638837 -1.26300087571 -1.86657491326 -1.26302394271 -1.88383406401 -1.26305010915 -1.90109351277 -1.26306295395 -1.92030236125 -1.26304832101 -1.93951284885 -1.26302242279 -1.95677250624 -1.26299953461 -1.97403141856 -1.26297971606 -1.99129006267 -1.26296290755 -2.00854822993 -1.26294916868 -2.02580624819 -1.26293849945 -2.04306381941 -1.26293089986 -2.06032145023 -1.26292639971 -2.07757878304 -1.262924999 -2.09483617544 -1.26292660832 -2.11209338903 -1.26293131709 -2.12935090065 -1.2629390955 -2.14660829305 -1.26294994354 -2.16386598349 -1.26296386123 -2.18112385273 -1.26298084855 -2.19838225841 -1.26300093532 -2.21564078331 -1.26302400231 -2.23289990425 -1.26305010915 -2.25015932322 -1.26306295395 -2.2693682313 -1.26304832101 -2.2885787487 -1.26302239299 -2.30583834648 -1.26299950481 -2.32309734821 -1.26297968626 -2.34035599232 -1.26296287775 -2.35761404037 -1.26294916868 -2.37487208843 -1.26293846965 -2.39212971926 -1.26293087005 -2.40938729048 -1.26292639971 -2.42664456368 -1.2629249692 -2.44390201569 -1.26292657852 -2.46115922928 -1.26293131709 -2.47841668129 -1.2629390955 -2.4956740737 -1.26294994354 -2.51293188333 -1.26296386123 -2.53018975258 -1.26298084855 -2.54744803905 -1.26300090551 -2.56470662355 -1.26302397251 -2.5819657445 -1.26305010915 -2.59922522306 -1.26306295395 -2.61843413115 -1.26304835081 -2.63764452934 -1.26302242279 -2.65490412712 -1.26299950481 -2.67216312885 -1.26297971606 -2.68942183256 -1.26296290755 -2.70667999983 -1.26294916868 -2.72393798828 -1.26293849945 -2.7411955595 -1.26293089986 -2.75845313072 -1.26292639971 -2.77571040392 -1.262924999 -2.79296785593 -1.26292660832 -2.81022506952 -1.26293131709 -2.82748252153 -1.2629390955 -2.84473991394 -1.26294994354 -2.86199772358 -1.26296386123 -2.87925559282 -1.26298084855 -2.8965138793 -1.26300087571 -2.91377240419 -1.26302394271 -2.93103164434 -1.26305010915 -2.94829112291 -1.26306295395 -2.96749997139 -1.26304838062 -2.9867104888 -1.2630224824 -3.00397008658 -1.26299953461 -3.0212289691 -1.26297968626 -3.03848767281 -1.26296287775 -3.05574584007 -1.26294916868 -3.07300382853 -1.26293852925 -3.09026139975 -1.26293092966 -3.10751903057 -1.26292639971 -3.12477630377 -1.2629250288 --3.14115163882 -1.26292663813 --3.12389439345 -1.26293134689 --3.10663694144 -1.2629391253 --3.08937954903 -1.26294994355 --3.07212173938 -1.26296386123 --3.05486387014 -1.26298084855 --3.03760552406 -1.26300087571 --3.02034699917 -1.26302394271 --3.00308781862 -1.26305010915 --2.98582834005 -1.26306295395 --2.96661949158 -1.26304832101 --2.94740897417 -1.26302236319 --2.93014937639 -1.2629994452 --2.91289049387 -1.26297968626 --2.89563179016 -1.26296290755 --2.8783736229 -1.26294919849 --2.86111563444 -1.26293855905 --2.84385806322 -1.26293092966 --2.826600492 -1.26292636991 --2.8093432188 -1.26292493939 --2.7920858264 -1.26292657852 --2.7748285532 -1.26293131709 --2.75757104158 -1.2629390955 --2.74031364918 -1.26294994354 --2.72305589914 -1.26296386123 --2.70579808951 -1.26298084855 --2.68853968382 -1.26300087571 --2.67128115892 -1.26302394271 --2.65402203799 -1.26305010915 --2.63676255942 -1.26306295395 --2.61755371094 -1.26304835081 --2.59834319353 -1.26302242279 --2.58108353615 -1.26299950481 --2.56382465362 -1.26297968626 --2.54656600952 -1.26296287775 --2.52930784226 -1.26294916868 --2.5120497942 -1.26293849945 --2.49479222298 -1.26293092966 --2.47753465176 -1.26292639971 --2.46027731895 -1.262924999 --2.44301986694 -1.26292663813 --2.42576265335 -1.26293131709 --2.40850520134 -1.2629390955 --2.39124774933 -1.26294994354 --2.37398993969 -1.26296386123 --2.35673213005 -1.26298084855 --2.33947384357 -1.26300087571 --2.32221531868 -1.26302394271 --2.30495619774 -1.26305010915 --2.28769671917 -1.26306295395 --2.26848781109 -1.26304835081 --2.24927735329 -1.2630224526 --2.23201775551 -1.26299950481 --2.21475875378 -1.26297965646 --2.19750005007 -1.26296287775 --2.18024194241 -1.26294916868 --2.16298395395 -1.26293849945 --2.14572632313 -1.26293089986 --2.12846875191 -1.26292639971 --2.11121147871 -1.2629249692 --2.0939540267 -1.26292657852 --2.07669681311 -1.26293134689 --2.0594393611 -1.2629391253 --2.04218196869 -1.26294994354 --2.02492415905 -1.26296386123 --2.00766631961 -1.26298084855 --1.99040797353 -1.26300087571 --1.97314941883 -1.26302394271 --1.95589029789 -1.26305010915 --1.93863084912 -1.26306295395 --1.91942197084 -1.26304835081 --1.90021148324 -1.26302242279 --1.88295188546 -1.26299953461 --1.86569294333 -1.26297971606 --1.84843423962 -1.26296287775 --1.83117610216 -1.26294919849 --1.8139180839 -1.26293849945 --1.79666048288 -1.26293089986 --1.77940291166 -1.26292642951 --1.76214563847 -1.262924999 --1.74488824606 -1.26292660832 --1.72763100266 -1.26293131709 --1.71037349105 -1.2629390955 --1.69311609865 -1.26294994354 --1.67585834861 -1.26296386123 --1.65860047936 -1.26298081875 --1.64134213329 -1.26300087571 --1.62408360839 -1.26302397251 --1.60682445764 -1.26305010915 --1.58956500888 -1.26306292415 --1.5703561008 -1.26304832101 --1.55114558339 -1.2630224526 --1.53388598562 -1.26299953461 --1.51662707329 -1.26297971606 --1.49936839938 -1.26296287775 --1.48211026192 -1.26294916869 --1.46485224366 -1.26293855905 --1.44759464264 -1.26293092966 --1.43033707142 -1.26292636991 --1.41307979822 -1.26292493939 --1.39582237601 -1.26292657852 --1.37856516242 -1.26293131709 --1.36130771041 -1.2629390657 --1.3440502584 -1.26294991374 --1.32679244876 -1.26296389103 --1.30953463912 -1.26298087835 --1.29227629304 -1.26300087571 --1.27501773834 -1.26302394271 --1.2577585876 -1.26305010915 --1.24049913883 -1.26306295395 --1.22129029036 -1.26304832101 --1.20207980275 -1.26302242279 --1.18482017517 -1.26299953461 --1.16756123304 -1.26297971606 --1.15030255914 -1.26296290755 --1.13304442167 -1.26294916868 --1.11578640342 -1.26293849945 --1.0985288024 -1.26293089986 --1.08127120137 -1.26292639971 --1.06401389838 -1.262924999 --1.04675650597 -1.26292660832 --1.02949929237 -1.26293131709 --1.01224181056 -1.2629390955 --0.994984403253 -1.26294994354 --0.977726623416 -1.26296386123 --0.960468754172 -1.26298084855 --0.943210408092 -1.26300093532 --0.925951883197 -1.26302400231 --0.908692747355 -1.26305010915 --0.891433298588 -1.26306295395 --0.872224405408 -1.26304832101 --0.853013902903 -1.26302239299 --0.835754320025 -1.26299950481 --0.818495377898 -1.26297968626 --0.801236689091 -1.26296287775 --0.783978566527 -1.26294916868 --0.766720548272 -1.26293846965 --0.749462962151 -1.26293087005 --0.732205361128 -1.26292639971 --0.714948058128 -1.2629249692 --0.697690650821 -1.26292657852 --0.680433437228 -1.26293131709 --0.663175970316 -1.2629390955 --0.645918563009 -1.26294994354 --0.628660783171 -1.26296386123 --0.611402928829 -1.26298084855 --0.594144582749 -1.26300090551 --0.576886042953 -1.26302397251 --0.559626892209 -1.26305010915 --0.542367428541 -1.26306295395 --0.523158550263 -1.26304835081 --0.503948062659 -1.26302242279 --0.48668847233 -1.26299950481 --0.469429537654 -1.26297971606 --0.452170848846 -1.26296290755 --0.434912711382 -1.26294916868 --0.417654685676 -1.26293849945 --0.400397099555 -1.26293089986 --0.383139513433 -1.26292639971 --0.365882232785 -1.262924999 --0.348624832928 -1.26292660832 --0.331367596984 -1.26293131709 --0.31411010772 -1.2629390955 --0.296852692962 -1.26294994354 --0.279594913125 -1.26296386123 --0.262337066233 -1.26298084855 --0.245078731328 -1.26300087571 --0.227820202708 -1.26302394271 --0.21056105569 -1.26305010915 --0.193301603198 -1.26306295395 --0.174092724919 -1.28016632795 --0.154879909009 -1.28014028072 --0.137620296329 -1.28011718392 --0.120361348614 -1.28009727597 --0.103102656081 -1.28008040786 --0.0858445074409 -1.28006663918 --0.0685864826664 -1.28005594015 --0.0513288863003 -1.28004828095 --0.0340712871402 -1.280043751 --0.0168139918242 -1.2800423503 -0.000443425960838 -1.28004395962 -0.0177006626036 -1.28004869819 -0.0349581460468 -1.2800565064 -0.0522155724466 -1.28006738424 -0.0694733671844 -1.28008139133 -0.0867312271148 -1.28009846807 -0.103989578784 -1.28011861444 -0.12124811858 -1.28014183045 -0.138507273048 -1.28016811609 -0.155766736716 -1.2801810205 -0.174975533038 -1.28016632795 -0.194185946137 -1.28014022112 -0.211445551366 -1.28011715412 -0.228704497218 -1.28009727597 -0.245963189751 -1.28008040786 -0.263221338391 -1.28006663918 -0.280479378998 -1.28005594015 -0.297736980021 -1.28004828095 -0.314994566142 -1.2800436914 -0.332251861691 -1.28004226089 -0.3495092839 -1.28004392982 -0.366766519845 -1.28004869819 -0.384023994207 -1.28005650639 -0.401281408966 -1.28006738424 -0.418539218605 -1.28008139133 -0.435797087848 -1.28009846807 -0.453055433929 -1.28011861444 -0.470313966274 -1.28014183045 -0.487573131919 -1.28016811609 -0.504832603037 -1.2801809907 -0.524041369558 -1.28016629815 -0.543251797557 -1.28014025092 -0.560511425138 -1.28011718392 -0.577770352364 -1.28009724617 -0.59502902627 -1.28008037806 -0.612287163734 -1.28006660938 -0.629545211792 -1.28005588054 -0.646802812815 -1.28004825115 -0.664060413837 -1.2800437212 -0.681317716837 -1.28004232049 -0.698575124144 -1.28004395962 -0.715832352638 -1.28004869819 -0.733089849353 -1.28005650639 -0.750347286463 -1.28006738424 -0.767605081201 -1.28008139133 -0.784862935543 -1.28009846807 -0.802121266722 -1.28011861444 -0.819379806519 -1.28014183045 -0.836638972163 -1.28016811609 -0.853898450732 -1.2801809907 -0.873107224703 -1.28016629815 -0.8923176229 -1.28014025092 -0.909577265382 -1.28011718392 -0.92683622241 -1.28009724617 -0.944094911218 -1.28008037806 -0.961353048682 -1.28006660938 -0.978611066937 -1.28005588054 -0.995868667959 -1.28004825115 -1.01312625408 -1.2800437212 -1.03038355708 -1.28004229069 -1.04764100909 -1.28004392982 -1.06489822269 -1.28004869819 -1.0821556747 -1.28005650639 -1.09941312671 -1.28006738424 -1.11667093635 -1.28008139133 -1.13392880559 -1.28009846807 -1.15118715167 -1.28011861444 -1.16844567656 -1.28014183045 -1.18570485711 -1.28016808629 -1.20296430588 -1.28018096089 -1.22217306495 -1.28016629815 -1.24138349294 -1.28014025092 -1.25864312052 -1.28011721372 -1.27590206265 -1.28009727597 -1.29316073656 -1.28008037806 -1.31041887403 -1.28006660938 -1.32767692208 -1.28005588054 -1.34493452311 -1.28004828095 -1.36219209433 -1.280043751 -1.37944939733 -1.28004229069 -1.39670684934 -1.28004392982 -1.41396409273 -1.28004869819 -1.43122157454 -1.28005650639 -1.44847896695 -1.28006738424 -1.46573674679 -1.28008136153 -1.48299461603 -1.28009843827 -1.50025299192 -1.28011861444 -1.51751154661 -1.28014183045 -1.53477066755 -1.28016811609 -1.55203011632 -1.2801809907 -1.571238935 -1.28016629815 -1.59044936299 -1.28014025092 -1.60770896077 -1.28011721372 -1.6249679029 -1.28009730577 -1.64222660661 -1.28008037806 -1.65948477388 -1.28006657958 -1.67674276232 -1.28005591035 -1.69400033355 -1.28004828095 -1.71125796437 -1.2800437212 -1.72851526737 -1.28004226089 -1.74577265978 -1.28004390001 -1.76302990317 -1.28004869819 -1.78028738499 -1.28005647659 -1.79754480719 -1.28006735444 -1.81480261683 -1.28008139133 -1.83206048608 -1.28009846807 -1.84931883216 -1.28011861444 -1.86657735705 -1.28014183045 -1.8838365376 -1.28016811609 -1.90109601617 -1.2801810205 -1.92030477524 -1.28016632795 -1.93951520324 -1.28014025092 -1.95677483082 -1.28011721372 -1.97403374314 -1.28009730577 -1.99129241705 -1.28008040786 -2.00855055451 -1.28006660938 -2.02580857277 -1.28005588054 -2.04306614399 -1.28004828095 -2.06032377481 -1.28004378081 -2.07758110761 -1.2800423503 -2.09483850002 -1.28004395962 -2.11209577322 -1.28004869819 -2.12935328484 -1.28005650639 -2.14661067724 -1.28006738424 -2.16386842728 -1.28008139133 -2.18112629652 -1.28009846807 -2.1983847022 -1.28011864424 -2.2156432271 -1.28014186025 -2.23290234804 -1.28016808629 -2.25016182661 -1.28018096089 -2.26937067509 -1.28016629815 -2.28858107328 -1.28014025092 -2.30584067106 -1.28011721372 -2.32309961319 -1.28009727597 -2.3403582573 -1.28008037806 -2.35761636496 -1.28006660938 -2.37487441301 -1.28005588054 -2.39213210344 -1.28004828095 -2.40938973427 -1.280043751 -2.42664694786 -1.28004229069 -2.44390434027 -1.28004392982 -2.46116161347 -1.28004869819 -2.47841912508 -1.28005650639 -2.49567657709 -1.28006738424 -2.51293438673 -1.28008139133 -2.53019219637 -1.28009846807 -2.54745048284 -1.28011861444 -2.56470906734 -1.28014183045 -2.58196818829 -1.28016808629 -2.59922766686 -1.28018096089 -2.61843651533 -1.28016629815 -2.63764685392 -1.28014025092 -2.6549064517 -1.28011721372 -2.67216545343 -1.28009730577 -2.68942415714 -1.28008040786 -2.70668232441 -1.28006660938 -2.72394037247 -1.28005588054 -2.74119794369 -1.28004825115 -2.75845551491 -1.280043751 -2.77571284771 -1.28004232049 -2.79297029972 -1.28004392982 -2.81022751331 -1.28004869819 -2.82748496533 -1.28005650639 -2.84474235773 -1.28006738424 -2.86200016737 -1.28008139133 -2.87925803661 -1.28009846807 -2.89651632309 -1.28011861444 -2.91377484799 -1.28014183045 -2.93103408814 -1.28016811609 -2.94829356671 -1.2801809907 -2.96750229597 -1.28016632795 -2.98671275377 -1.28014028072 -3.00397241116 -1.28011718392 -3.02123129368 -1.28009727597 -3.03848999739 -1.28008040786 -3.05574816465 -1.28006663918 -3.07300615311 -1.28005594015 -3.09026372433 -1.28004828095 -3.10752135515 -1.280043751 -3.12477868795 -1.2800423503 --3.14114919503 -1.28004395962 --3.12389194965 -1.28004869819 --3.10663449764 -1.2800565064 --3.08937710524 -1.28006738424 --3.07211929559 -1.28008139133 --3.05486142635 -1.28009846807 --3.03760308027 -1.28011861444 --3.02034449577 -1.28014183045 --3.00308531523 -1.28016811609 --2.98582589626 -1.2801810205 --2.966617167 -1.28016632795 --2.9474067092 -1.28014022112 --2.93014705181 -1.28011715412 --2.91288816929 -1.28009727597 --2.89562946558 -1.28008040786 --2.87837129832 -1.28006663918 --2.86111330986 -1.28005594015 --2.84385573864 -1.28004828095 --2.82659816742 -1.2800436914 --2.80934083461 -1.28004226089 --2.7920833826 -1.28004392982 --2.77482616902 -1.28004869819 --2.757568717 -1.28005650639 --2.74031126499 -1.28006738424 --2.72305345536 -1.28008139133 --2.70579558611 -1.28009846807 --2.68853718042 -1.28011861444 --2.67127865553 -1.28014183045 --2.65401953459 -1.28016811609 --2.63676005602 -1.2801809907 --2.61755126715 -1.28016629815 --2.59834086895 -1.28014025092 --2.58108121157 -1.28011718392 --2.56382232904 -1.28009724617 --2.54656368494 -1.28008037806 --2.52930551768 -1.28006660938 --2.51204746962 -1.28005588054 --2.49478983879 -1.28004825115 --2.47753226757 -1.2800437212 --2.46027499437 -1.28004232049 --2.44301754236 -1.28004395962 --2.42576026916 -1.28004869819 --2.40850275755 -1.28005650639 --2.39124536515 -1.28006738424 --2.3739875555 -1.28008139133 --2.35672968626 -1.28009846807 --2.33947139978 -1.28011861444 --2.32221287489 -1.28014183045 --2.30495375395 -1.28016811609 --2.28769427538 -1.2801809907 --2.2684854269 -1.28016629815 --2.24927502871 -1.28014025092 --2.23201543093 -1.28011718392 --2.21475642919 -1.28009724617 --2.19749772548 -1.28008037806 --2.18023955822 -1.28006660938 --2.16298156977 -1.28005588054 --2.14572399855 -1.28004825115 --2.12846636772 -1.2800437212 --2.11120903492 -1.28004229069 --2.09395158291 -1.28004392982 --2.07669436931 -1.28004869819 --2.0594369173 -1.28005650639 --2.0421795249 -1.28006738424 --2.02492171526 -1.28008139133 --2.00766387582 -1.28009846807 --1.99040552974 -1.28011861444 --1.97314694524 -1.28014183045 --1.95588782429 -1.28016808629 --1.93862840533 -1.28018096089 --1.91941958666 -1.28016629815 --1.90020915866 -1.28014025092 --1.88294956088 -1.28011721372 --1.86569061875 -1.28009727597 --1.84843191505 -1.28008037806 --1.83117374778 -1.28006660938 --1.81391569972 -1.28005588054 --1.7966581285 -1.28004828095 --1.77940055728 -1.280043751 --1.76214325428 -1.28004229069 --1.74488583208 -1.28004392982 --1.72762858868 -1.28004869819 --1.71037110686 -1.28005650639 --1.69311368466 -1.28006738424 --1.67585590482 -1.28008136153 --1.65859803557 -1.28009843827 --1.64133968949 -1.28011861444 --1.6240811646 -1.28014183045 --1.60682198405 -1.28016811609 --1.58956250548 -1.2801809907 --1.57035371661 -1.28016629815 --1.55114328861 -1.28014025092 --1.53388366103 -1.28011721372 --1.5166247189 -1.28009730577 --1.49936601519 -1.28008037806 --1.48210790753 -1.28006657958 --1.46484991908 -1.28005591035 --1.44759228826 -1.28004828095 --1.43033468723 -1.2800437212 --1.41307741404 -1.28004226089 --1.39581999183 -1.28004390001 --1.37856274843 -1.28004869819 --1.36130526662 -1.28005647659 --1.34404781461 -1.28006735444 --1.32679000497 -1.28008139133 --1.30953219533 -1.28009846807 --1.29227384925 -1.28011861444 --1.27501526475 -1.28014183045 --1.257756114 -1.28016811609 --1.24049666524 -1.2801810205 --1.22128787637 -1.28016632795 --1.20207747817 -1.28014025092 --1.18481785059 -1.28011721372 --1.16755890846 -1.28009730577 --1.15030023456 -1.28008040786 --1.13304206729 -1.28006660938 --1.11578404903 -1.28005588054 --1.09852644801 -1.28004828095 --1.08126884699 -1.28004378081 --1.06401154399 -1.2800423503 --1.04675412178 -1.28004395962 --1.02949687838 -1.28004869819 --1.01223939657 -1.28005650639 --0.994981974363 -1.28006738424 --0.977724179626 -1.28008139133 --0.960466325283 -1.28009846807 --0.943207964301 -1.28011864424 --0.925949424505 -1.28014186025 --0.908690273762 -1.28016808629 --0.891430824995 -1.28018096089 --0.872222021222 -1.28016629815 --0.853011593222 -1.28014025092 --0.835751980543 -1.28011721372 --0.818493053317 -1.28009727597 --0.801234379411 -1.28008037806 --0.783976227045 -1.28006660938 --0.766718178987 -1.28005588054 --0.749460563064 -1.28004828095 --0.732202962041 -1.280043751 --0.714945673942 -1.28004229069 --0.697688266635 -1.28004392982 --0.680431038141 -1.28004869819 --0.663173556328 -1.28005650639 --0.645916119218 -1.28006738424 --0.62865832448 -1.28008139133 --0.611400485039 -1.28009846807 --0.594142138958 -1.28011861444 --0.576883584261 -1.28014183045 --0.559624433518 -1.28016808629 --0.542364954949 -1.28018096089 --0.523156151176 -1.28016629815 --0.503945752979 -1.28014025092 --0.486686140299 -1.28011721372 --0.469427198172 -1.28009730577 --0.452168509364 -1.28008040786 --0.434910364449 -1.28006660938 --0.417652331293 -1.28005588054 --0.40039473027 -1.28004825115 --0.383137136698 -1.280043751 --0.365879841149 -1.28004232049 --0.348622426391 -1.28004392982 --0.331365190447 -1.28004869819 --0.314107693732 -1.28005650639 --0.296850271523 -1.28006738424 --0.279592484236 -1.28008139133 --0.262334622443 -1.28009846807 --0.245076276362 -1.28011861444 --0.227817736566 -1.28014183045 --0.210558578372 -1.28016811609 --0.193299118429 -1.2801809907 --0.174090325832 -1.29726085067 --0.154877625406 -1.29723465443 --0.13761800155 -1.29721149802 --0.120359051973 -1.29719150066 --0.103100351989 -1.29717451334 --0.085842192173 -1.29716065526 --0.0685841562226 -1.29714989662 --0.0513265477493 -1.29714220762 --0.0340689388104 -1.29713764787 --0.0168116351124 -1.29713621736 -0.00044579268433 -1.29713785649 -0.0177030386403 -1.29714262485 -0.0349605320953 -1.29715049267 -0.0522179687395 -1.29716145992 -0.0694757727906 -1.29717552662 -0.0867336392403 -1.29719266296 -0.10399199836 -1.29721289873 -0.121250553056 -1.29723623395 -0.138509720564 -1.29726266861 -0.155769187957 -1.29727566242 -0.174977894873 -1.29726088047 -0.194188226015 -1.29723465443 -0.211447846145 -1.29721149802 -0.228706803173 -1.29719147086 -0.245965499431 -1.29717448354 -0.263223655522 -1.29716065526 -0.280481696129 -1.29714989662 -0.297739304602 -1.29714220762 -0.314996913075 -1.29713761806 -0.332254208624 -1.29713618756 -0.349511638284 -1.29713785649 -0.36676889658 -1.29714262485 -0.384026385844 -1.29715046286 -0.401283815503 -1.29716140032 -0.418541625142 -1.29717549681 -0.435799494386 -1.29719266296 -0.453057862818 -1.29721289873 -0.470316410065 -1.29723626375 -0.487575575709 -1.29726269841 -0.504835054278 -1.29727563262 -0.524043738842 -1.29726085067 -0.543254077435 -1.29723465443 -0.560513705015 -1.29721146822 -0.577772647142 -1.29719144106 -0.595031365752 -1.29717448354 -0.612289533019 -1.29716062546 -0.629547566176 -1.29714986682 -0.646805167199 -1.29714220762 -0.664062768221 -1.29713767767 -0.68132007122 -1.29713624716 -0.698577493429 -1.29713785649 -0.715834736824 -1.29714262485 -0.73309224844 -1.29715046286 -0.750349670649 -1.29716143012 -0.767607480287 -1.29717552662 -0.784865349531 -1.29719266296 -0.802123695612 -1.29721289873 -0.819382250309 -1.29723623395 -0.836641401052 -1.29726266861 -0.853900879621 -1.29727563262 -0.873109579086 -1.29726085067 -0.892319902777 -1.29723465443 -0.909579545259 -1.29721149802 -0.926838517189 -1.29719147086 -0.944097220898 -1.29717448354 -0.961355358362 -1.29716062546 -0.97861340642 -1.29714986682 -0.995871007442 -1.29714220762 -1.01312860847 -1.29713764787 -1.03038594127 -1.29713621736 -1.04764336348 -1.29713785649 -1.06490060687 -1.29714262485 -1.08215808868 -1.29715046286 -1.09941551089 -1.29716143012 -1.11667332053 -1.29717552662 -1.13393121958 -1.29719266296 -1.15118959546 -1.29721289873 -1.16844812036 -1.29723626375 -1.1857072711 -1.29726266861 -1.20296674967 -1.29727557302 -1.22217544914 -1.29726082087 -1.24138575792 -1.29723465443 -1.2586453855 -1.29721149802 -1.27590435743 -1.29719147086 -1.29316306114 -1.29717448354 -1.3104211986 -1.29716062546 -1.32767924666 -1.29714986682 -1.34493687749 -1.29714220762 -1.36219444871 -1.29713764787 -1.37945172191 -1.29713621736 -1.39670917392 -1.29713785649 -1.41396644711 -1.29714262485 -1.43122395873 -1.29715046286 -1.44848138094 -1.29716143012 -1.46573916078 -1.29717549681 -1.48299703002 -1.29719266295 -1.5002554059 -1.29721292854 -1.5175139606 -1.29723623395 -1.53477311134 -1.29726266861 -1.55203256011 -1.29727560282 -1.57124128938 -1.29726085067 -1.59045165777 -1.29723468423 -1.60771125555 -1.29721149802 -1.62497019768 -1.29719147086 -1.64222890139 -1.29717448354 -1.65948706865 -1.29716062546 -1.67674508691 -1.29714986682 -1.69400268793 -1.29714223742 -1.71126031875 -1.29713764787 -1.72851762176 -1.29713615775 -1.74577504396 -1.29713782668 -1.76303228736 -1.29714265466 -1.78028976917 -1.29715049267 -1.79754722118 -1.29716143012 -1.81480506063 -1.29717552662 -1.83206292987 -1.29719266296 -1.84932127595 -1.29721289873 -1.86657980085 -1.29723626375 -1.88383898139 -1.29726269841 -1.90109845996 -1.29727566242 -1.92030715943 -1.29726088047 -1.93951749802 -1.29723465443 -1.9567770958 -1.29721149802 -1.97403603792 -1.29719147086 -1.99129474163 -1.29717448354 -2.00855287909 -1.29716062546 -2.02581089735 -1.29714986682 -2.04306852818 -1.29714223742 -2.060326159 -1.29713770747 -2.0775834322 -1.29713624716 -2.09484088421 -1.29713785649 -2.11209821701 -1.29714262485 -2.12935566902 -1.29715046286 -2.14661306143 -1.29716140032 -2.16387087107 -1.29717549681 -2.18112874031 -1.29719266296 -2.198387146 -1.29721289873 -2.21564567089 -1.29723626375 -2.23290479183 -1.29726266861 -2.2501642704 -1.29727560282 -2.26937299967 -1.29726085067 -2.28858333826 -1.29723465443 -2.30584293604 -1.29721149802 -2.32310187816 -1.29719147086 -2.34036058188 -1.29717448354 -2.35761868954 -1.29716062546 -2.37487673759 -1.29714986682 -2.39213442802 -1.29714226722 -2.40939205885 -1.29713767767 -2.42664933204 -1.29713618756 -2.44390672445 -1.29713785649 -2.46116399765 -1.29714262485 -2.47842150927 -1.29715046286 -2.49567896128 -1.29716143012 -2.51293677092 -1.29717552662 -2.53019458056 -1.29719266296 -2.54745292664 -1.29721289873 -2.56471151114 -1.29723623395 -2.58197063207 -1.29726263881 -2.59923011065 -1.29727560282 -2.61843883991 -1.29726085067 -2.6376491189 -1.29723465443 -2.65490877628 -1.29721149802 -2.67216777801 -1.29719147086 -2.68942648172 -1.29717448354 -2.70668464899 -1.29716062546 -2.72394269705 -1.29714986682 -2.74120026827 -1.29714223742 -2.75845783949 -1.29713767767 -2.77571517229 -1.29713621736 -2.7929726243 -1.29713785649 -2.8102298379 -1.29714262485 -2.82748734951 -1.29715046286 -2.84474480152 -1.29716143012 -2.86200261116 -1.29717552662 -2.87926048041 -1.29719266296 -2.89651876688 -1.29721289873 -2.91377729178 -1.29723626375 -2.93103653192 -1.29726269841 -2.9482960105 -1.29727563262 -2.96750468016 -1.29726085067 -2.98671507836 -1.29723465443 -3.00397473574 -1.29721149802 -3.02123361826 -1.29719150066 -3.03849226236 -1.29717451334 -3.05575042963 -1.29716065526 -3.07300847769 -1.29714989662 -3.09026604891 -1.29714220762 -3.10752367974 -1.29713764787 -3.12478101254 -1.29713621736 --3.14114687045 -1.29713785649 --3.12388962507 -1.29714262485 --3.10663211346 -1.29715049267 --3.08937466145 -1.29716145992 --3.07211685181 -1.29717552662 --3.05485898256 -1.29719266296 --3.03760069609 -1.29721289873 --3.02034211159 -1.29723623395 --3.00308287144 -1.29726266861 --2.98582345247 -1.29727566242 --2.96661478281 -1.29726088047 --2.94740444422 -1.29723465443 --2.93014478684 -1.29721149802 --2.9128858447 -1.29719147086 --2.8956272006 -1.29717448354 --2.87836903334 -1.29716065526 --2.86111098528 -1.29714989662 --2.84385341406 -1.29714220762 --2.82659578323 -1.29713761806 --2.80933845043 -1.29713618756 --2.79208099842 -1.29713785649 --2.77482372522 -1.29714262485 --2.75756627321 -1.29715046286 --2.74030888081 -1.29716140032 --2.72305107117 -1.29717549681 --2.70579314232 -1.29719266296 --2.68853473663 -1.29721289873 --2.67127621174 -1.29723626375 --2.6540170908 -1.29726269841 --2.63675761223 -1.29727563262 --2.61754888296 -1.29726085067 --2.59833854437 -1.29723465443 --2.58107894659 -1.29721146822 --2.56382006407 -1.29719144106 --2.54656136036 -1.29717448354 --2.52930313349 -1.29716062546 --2.51204508543 -1.29714986682 --2.4947874546 -1.29714220762 --2.47752988338 -1.29713767767 --2.46027261019 -1.29713624716 --2.44301515818 -1.29713785649 --2.42575788498 -1.29714262485 --2.40850037336 -1.29715046286 --2.39124298096 -1.29716143012 --2.37398517132 -1.29717552662 --2.35672730207 -1.29719266296 --2.33946895599 -1.29721289873 --2.3222104311 -1.29723623395 --2.30495131016 -1.29726266861 --2.28769183159 -1.29727563262 --2.26848310232 -1.29726085067 --2.24927276373 -1.29723465443 --2.23201316595 -1.29721149802 --2.21475416422 -1.29719147086 --2.1974954009 -1.29717448354 --2.18023723364 -1.29716062546 --2.16297924518 -1.29714986682 --2.14572167396 -1.29714220762 --2.12846404314 -1.29713764787 --2.11120671034 -1.29713621736 --2.09394925833 -1.29713785649 --2.07669204473 -1.29714262485 --2.05943459272 -1.29715046286 --2.04217714071 -1.29716143012 --2.02491933107 -1.29717552662 --2.00766149163 -1.29719266296 --1.99040311575 -1.29721289873 --1.97314456105 -1.29723626375 --1.95588541031 -1.29726266861 --1.93862593174 -1.29727557302 --1.91941720247 -1.29726082087 --1.90020686388 -1.29723465443 --1.8829472363 -1.29721149802 --1.86568829417 -1.29719147086 --1.84842962027 -1.29717448354 --1.831171453 -1.29716062546 --1.81391340494 -1.29714986682 --1.79665580392 -1.29714220762 --1.7793982029 -1.29713764787 --1.7621408999 -1.29713621736 --1.74488344789 -1.29713785649 --1.72762620449 -1.29714262485 --1.71036872268 -1.29715046286 --1.69311127067 -1.29716143012 --1.67585346102 -1.29717549681 --1.65859559178 -1.29719266295 --1.6413372457 -1.29721292854 --1.62407872081 -1.29723623395 --1.60681954026 -1.29726266861 --1.58956006169 -1.29727560282 --1.57035136223 -1.29726085067 --1.55114102364 -1.29723468423 --1.53388139605 -1.29721149802 --1.51662242413 -1.29719147086 --1.49936372042 -1.29717448354 --1.48210558295 -1.29716062546 --1.4648475647 -1.29714986682 --1.44758996367 -1.29714223742 --1.43033233285 -1.29713764787 --1.41307502985 -1.29713615775 --1.39581763744 -1.29713782668 --1.37856039405 -1.29714265466 --1.36130288243 -1.29715049267 --1.34404543042 -1.29716143012 --1.32678762078 -1.29717552662 --1.30952978134 -1.29719266296 --1.29227143526 -1.29721289873 --1.27501285076 -1.29723626375 --1.25775370002 -1.29726269841 --1.24049422145 -1.29727566242 --1.22128549218 -1.29726088047 --1.20207518339 -1.29723465443 --1.18481555581 -1.29721149802 --1.16755661368 -1.29719147086 --1.15029790997 -1.29717448354 --1.1330397427 -1.29716062546 --1.11578172445 -1.29714986682 --1.09852409363 -1.29714223742 --1.08126649261 -1.29713770747 --1.06400918961 -1.29713624716 --1.0467517376 -1.29713785649 --1.0294944942 -1.29714262485 --1.01223701238 -1.29715046286 --0.994979575275 -1.29716140032 --0.977721765637 -1.29717549681 --0.960463911295 -1.29719266296 --0.943205550313 -1.29721289873 --0.925946995616 -1.29723626375 --0.90868781507 -1.29726266861 --0.891428351403 -1.29727560282 --0.872219651938 -1.29726085067 --0.853009298444 -1.29723465443 --0.835749685764 -1.29721149802 --0.818490758538 -1.29719147086 --0.801232054829 -1.29717448354 --0.783973902464 -1.29716062546 --0.766715854407 -1.29714986682 --0.749458238483 -1.29714226722 --0.732200652361 -1.29713767767 --0.714943349362 -1.29713618756 --0.697685912251 -1.29713785649 --0.680428668856 -1.29714262485 --0.663171187043 -1.29715046286 --0.645913735032 -1.29716143012 --0.628655925393 -1.29717552662 --0.611398071051 -1.29719266296 --0.59413972497 -1.29721289873 --0.576881155372 -1.29723623395 --0.559621974826 -1.29726263881 --0.542362511158 -1.29727560282 --0.523153811693 -1.29726085067 --0.503943488002 -1.29723465443 --0.48668384552 -1.29721149802 --0.469424903393 -1.29719147086 --0.452166207134 -1.29717448354 --0.434908039868 -1.29716062546 --0.417650006711 -1.29714986682 --0.400392405689 -1.29714223742 --0.383134804666 -1.29713767767 --0.365877494216 -1.29713621736 --0.348620057106 -1.29713785649 --0.331362813711 -1.29714262485 --0.314105324447 -1.29715046286 --0.296847887337 -1.29716143012 --0.279590085149 -1.29717552662 --0.262332215905 -1.29719266296 --0.245073851198 -1.29721289873 --0.227815300226 -1.29723626375 --0.210556138307 -1.29726269841 --0.193296670914 -1.29727563262 --0.174087963998 -1.31439730525 --0.154873892665 -1.31437096 --0.137614253908 -1.31434768438 --0.120355287567 -1.31432756782 --0.103096567095 -1.31431049108 --0.0858383923769 -1.3142965734 --0.0685803415254 -1.31428575516 --0.0513227162883 -1.31427803635 --0.0340650924481 -1.3142734468 --0.0168077722192 -1.31427204609 -0.000449671410022 -1.31427371502 -0.017706933897 -1.31427845359 -0.0349644431845 -1.3142863512 -0.0522218942642 -1.31429737806 -0.0694797132164 -1.31431150436 -0.0867375973612 -1.31432875991 -0.103995975107 -1.31434908509 -0.121254542842 -1.31437250972 -0.138513725251 -1.31439909339 -0.155773207546 -1.31441214681 -0.174981769175 -1.31439730525 -0.194191958755 -1.31437096 -0.211451597512 -1.31434768438 -0.228710565716 -1.31432756782 -0.2459692806 -1.31431049108 -0.263227455318 -1.3142965734 -0.280485503375 -1.31428575516 -0.297743134201 -1.31427806616 -0.315000765026 -1.3142734766 -0.332258075476 -1.31427201629 -0.349515512586 -1.31427365542 -0.366772785783 -1.31427845359 -0.384030297398 -1.3142863512 -0.401287741959 -1.31429731846 -0.418545559049 -1.31431147456 -0.435803443193 -1.31432875991 -0.453061833977 -1.3143491149 -0.470320403576 -1.31437256932 -0.487579576671 -1.31439912319 -0.504839047789 -1.31441214681 -0.524047598243 -1.31439727544 -0.543257802725 -1.31437093019 -0.560517460108 -1.31434765458 -0.577776417136 -1.31432753801 -0.595035135746 -1.31431049108 -0.612293332815 -1.3142965734 -0.629551365971 -1.31428575516 -0.646808981896 -1.31427806616 -0.664066612721 -1.31427350641 -0.681323930621 -1.31427204609 -0.698581382632 -1.31427365542 -0.715838640928 -1.31427845359 -0.733096152544 -1.31428638101 -0.750353604555 -1.31429737806 -0.767611429095 -1.31431150436 -0.784869298339 -1.31432875991 -0.802127674222 -1.31434908509 -0.81938624382 -1.31437250972 -0.836645409465 -1.31439909339 -0.853904902935 -1.31441214681 -0.873113468289 -1.31439727544 -0.89232365787 -1.31437093019 -0.909583285451 -1.31434768438 -0.92684225738 -1.31432753802 -0.944100990891 -1.31431046128 -0.961359158158 -1.3142965734 -0.978617206216 -1.31428575516 -0.995874837041 -1.31427806616 -1.01313248277 -1.31427350641 -1.03038978577 -1.31427204609 -1.04764720797 -1.31427365542 -1.06490448117 -1.31427845359 -1.08216199279 -1.31428638101 -1.0994194448 -1.31429740787 -1.11667725444 -1.31431153417 -1.13393515348 -1.31432875991 -1.15119355917 -1.31434908509 -1.16845211386 -1.31437253952 -1.18571126461 -1.31439912319 -1.20297077299 -1.314412117 -1.22217935324 -1.31439727544 -1.24138951302 -1.31437096 -1.2586491406 -1.31434768438 -1.27590811253 -1.31432753802 -1.29316684604 -1.31431046128 -1.3104250133 -1.3142965734 -1.32768306136 -1.31428575516 -1.34494069219 -1.31427806616 -1.36219829321 -1.3142734766 -1.37945559621 -1.31427201629 -1.39671304822 -1.31427365542 -1.41397032141 -1.31427845359 -1.43122783303 -1.31428638101 -1.44848528504 -1.31429740787 -1.46574312449 -1.31431156397 -1.48300102353 -1.31432881951 -1.50025936961 -1.3143491149 -1.51751792431 -1.31437250972 -1.53477713466 -1.31439909339 -1.55203661322 -1.314412117 -1.57124516368 -1.31439730525 -1.59045538306 -1.3143709898 -1.60771501064 -1.31434768438 -1.62497395277 -1.31432753802 -1.64223265648 -1.31431046128 -1.65949085355 -1.3142965734 -1.67674893141 -1.31428575516 -1.69400656223 -1.31427806616 -1.71126419306 -1.3142734468 -1.72852149606 -1.31427198649 -1.74577894807 -1.31427365542 -1.76303622127 -1.31427848339 -1.78029370308 -1.31428641081 -1.79755115509 -1.31429740787 -1.81480899453 -1.31431153417 -1.83206686378 -1.31432875991 -1.84932523966 -1.31434908509 -1.86658379435 -1.31437253952 -1.8838429749 -1.31439912319 -1.90110248327 -1.31441214681 -1.92031106353 -1.31439730525 -1.93952122331 -1.31437096 -1.95678085089 -1.31434768438 -1.97403982282 -1.31432756782 -1.99129852653 -1.31431049108 -2.00855672359 -1.3142965734 -2.02581477165 -1.31428575516 -2.04307240248 -1.31427806616 -2.0603300333 -1.31427350641 -2.0775873065 -1.31427204609 -2.09484475851 -1.31427365542 -2.11210209131 -1.31427845359 -2.12935960293 -1.31428638101 -2.14661705494 -1.31429734826 -2.16387486458 -1.31431147456 -2.18113273382 -1.31432875991 -2.19839113951 -1.31434908509 -2.2156496644 -1.31437253952 -2.23290878534 -1.31439912319 -2.25016826391 -1.31441214681 -2.26937687397 -1.31439727544 -2.28858709335 -1.31437093019 -2.30584669113 -1.31434768438 -2.32310569286 -1.31432756782 -2.34036445617 -1.31431049108 -2.35762256384 -1.3142965734 -2.3748806119 -1.31428572535 -2.39213830233 -1.31427806616 -2.40939593315 -1.31427350641 -2.42665320635 -1.31427201629 -2.44391065836 -1.31427365542 -2.46116793156 -1.31427845359 -2.47842538357 -1.31428638101 -2.49568283558 -1.31429740787 -2.51294064522 -1.31431153417 -2.53019851446 -1.31432875991 -2.54745692015 -1.31434908509 -2.56471550465 -1.31437250972 -2.58197468519 -1.31439909339 -2.59923416376 -1.31441214681 -2.61844271421 -1.31439730525 -2.637652874 -1.31437096 -2.65491253138 -1.31434768438 -2.67217153311 -1.31432756782 -2.68943023681 -1.31431049108 -2.70668840408 -1.3142965734 -2.72394645214 -1.31428575516 -2.74120408297 -1.31427806616 -2.75846171379 -1.3142734766 -2.77571904659 -1.31427201629 -2.7929764986 -1.31427368522 -2.8102337122 -1.31427848339 -2.82749122381 -1.31428638101 -2.84474867582 -1.31429740787 -2.86200654507 -1.31431153417 -2.87926447392 -1.31432875991 -2.89652276039 -1.31434908509 -2.91378128528 -1.31437253952 -2.93104052543 -1.31439912319 -2.94830006361 -1.31441214681 -2.96750861407 -1.31439730525 -2.98671883345 -1.31437096 -3.00397849083 -1.31434768438 -3.02123737335 -1.31432756782 -3.03849601745 -1.31431049108 -3.05575418472 -1.3142965734 -3.07301223278 -1.31428575516 -3.09026986361 -1.31427803635 -3.10752755404 -1.3142734468 -3.12478488684 -1.31427204609 --3.14114299615 -1.31427371502 --3.12388575077 -1.31427845359 --3.10662823916 -1.3142863512 --3.08937078715 -1.31429737806 --3.0721129179 -1.31431150436 --3.05485498905 -1.31432875991 --3.03759670258 -1.31434908509 --3.02033817768 -1.31437250972 --3.00307893753 -1.31439909339 --2.98581939936 -1.31441214681 --2.9666108489 -1.31439730525 --2.94740068912 -1.31437096 --2.93014103174 -1.31434768438 --2.91288208961 -1.31432756782 --2.89562344551 -1.31431049108 --2.87836521864 -1.3142965734 --2.86110711098 -1.31428575516 --2.84384953976 -1.31427806616 --2.82659190893 -1.3142734766 --2.80933457613 -1.31427201629 --2.79207712412 -1.31427365542 --2.77481979132 -1.31427845359 --2.7575622797 -1.3142863512 --2.7403048873 -1.31429731846 --2.72304707766 -1.31431147456 --2.70578920841 -1.31432875991 --2.68853080273 -1.3143491149 --2.67127221823 -1.31437256932 --2.65401309729 -1.31439912319 --2.63675361872 -1.31441214681 --2.61754506826 -1.31439727544 --2.59833484888 -1.31437093019 --2.5810751915 -1.31434765458 --2.56381624937 -1.31432753801 --2.54655748606 -1.31431049108 --2.52929925919 -1.3142965734 --2.51204121113 -1.31428575516 --2.49478363991 -1.31427806616 --2.47752606869 -1.31427350641 --2.46026873589 -1.31427204609 --2.44301128387 -1.31427365542 --2.42575401068 -1.31427845359 --2.40849649906 -1.31428638101 --2.39123904705 -1.31429737806 --2.37398123741 -1.31431150436 --2.35672336817 -1.31432875991 --2.33946496248 -1.31434908509 --2.32220643759 -1.31437250972 --2.30494731665 -1.31439909339 --2.28768783808 -1.31441214681 --2.26847922802 -1.31439727544 --2.24926900864 -1.31437093019 --2.23200941086 -1.31434768438 --2.21475040913 -1.31432753802 --2.19749164582 -1.31431046128 --2.18023347855 -1.3142965734 --2.16297543049 -1.31428575516 --2.14571779966 -1.31427806616 --2.12846016884 -1.31427350641 --2.11120283603 -1.31427204609 --2.09394538402 -1.31427365542 --2.07668817043 -1.31427845359 --2.05943071842 -1.31428638101 --2.04217326641 -1.31429740787 --2.02491545677 -1.31431153417 --2.00765755772 -1.31432875991 --1.99039912224 -1.31434908509 --1.97314056754 -1.31437253952 --1.95588138699 -1.31439912319 --1.93862187863 -1.314412117 --1.91941332817 -1.31439727544 --1.90020313859 -1.31437096 --1.88294348121 -1.31434768438 --1.86568450928 -1.31432753802 --1.84842583537 -1.31431046128 --1.8311676681 -1.3142965734 --1.81390959024 -1.31428575516 --1.79665195942 -1.31427806616 --1.77939432859 -1.3142734766 --1.76213702559 -1.31427201629 --1.74487957358 -1.31427365542 --1.72762230038 -1.31427845359 --1.71036478877 -1.31428638101 --1.69310733676 -1.31429740787 --1.67584952712 -1.31431156397 --1.65859165787 -1.31432881951 --1.64133328199 -1.3143491149 --1.6240747273 -1.31437250972 --1.60681554675 -1.31439909339 --1.58955603838 -1.314412117 --1.57034745812 -1.31439730525 --1.55113729835 -1.3143709898 --1.53387767077 -1.31434768438 --1.51661866904 -1.31432753802 --1.49935996533 -1.31431046128 --1.48210179806 -1.3142965734 --1.46484375 -1.31428575516 --1.44758614897 -1.31427806616 --1.43032851815 -1.3142734468 --1.41307118535 -1.31427198649 --1.39581373334 -1.31427365542 --1.37855648994 -1.31427848339 --1.36129897833 -1.31428641081 --1.34404149652 -1.31429740787 --1.32678368688 -1.31431153417 --1.30952581763 -1.31432875991 --1.29226744175 -1.31434908509 --1.27500885725 -1.31437253952 --1.25774967671 -1.31439912319 --1.24049019814 -1.31441214681 --1.22128164768 -1.31439730525 --1.2020714581 -1.31437096 --1.18481180072 -1.31434768438 --1.16755282879 -1.31432756782 --1.15029409528 -1.31431049108 --1.13303592801 -1.3142965734 --1.11577787995 -1.31428575516 --1.09852024913 -1.31427806616 --1.08126264811 -1.31427350641 --1.0640053153 -1.31427204609 --1.04674786329 -1.31427365542 --1.0294906199 -1.31427845359 --1.01223310828 -1.31428638101 --0.994975656271 -1.31429734826 --0.977717816829 -1.31431147456 --0.960459917784 -1.31432875991 --0.943201556802 -1.31434908509 --0.925943002105 -1.31437253952 --0.908683806658 -1.31439912319 --0.891424313188 -1.31441214681 --0.872215762734 -1.31439727544 --0.853005558253 -1.31437093019 --0.835745930672 -1.31434768438 --0.818486973644 -1.31432756782 --0.801228240133 -1.31431049108 --0.783970087767 -1.3142965734 --0.766712039709 -1.31428572535 --0.749454408884 -1.31427806616 --0.73219679296 -1.31427350641 --0.714939475059 -1.31427201629 --0.697682023048 -1.31427365542 --0.680424749851 -1.31427845359 --0.663167253137 -1.31428638101 --0.645909816027 -1.31429740787 --0.628652006388 -1.31431153417 --0.611394122243 -1.31432875991 --0.59413574636 -1.31434908509 --0.57687716186 -1.31437250972 --0.559617966414 -1.31439909339 --0.542358487845 -1.31441214681 --0.523149937391 -1.31439730525 --0.50393974781 -1.31437096 --0.486680090427 -1.31434768438 --0.469421133399 -1.31432756782 --0.452162414789 -1.31431049108 --0.434904240072 -1.3142965734 --0.417646199465 -1.31428575516 --0.400388583541 -1.31427806616 --0.383130952716 -1.3142734766 --0.365873619914 -1.31427201629 --0.348616175353 -1.31427368522 --0.331358917057 -1.31427848339 --0.314101412892 -1.31428638101 --0.296843960881 -1.31429740787 --0.279586143792 -1.31431153417 --0.262328252197 -1.31432875991 --0.245069868863 -1.31434908509 --0.22781131044 -1.31437253952 --0.210552129894 -1.31439912319 --0.193292643875 -1.31441214681 --0.174084085971 -1.33157414198 --0.154870264232 -1.33154767752 --0.137610606849 -1.3315242827 --0.120351620018 -1.33150404692 --0.103092884645 -1.33148688078 --0.0858346968889 -1.33147290349 --0.0685766311362 -1.33146202564 --0.0513189891353 -1.33145427704 --0.034061350394 -1.33144968748 --0.0168040152639 -1.33144828677 -0.00045344303362 -1.3314499259 -0.0177107208874 -1.33145466447 -0.0349682462402 -1.33146262169 -0.0522257117555 -1.33147367835 -0.0694835465401 -1.33148786426 -0.0867414493114 -1.33150523901 -0.103999843821 -1.3315256834 -0.121258424595 -1.33154922724 -0.138517618179 -1.33157593012 -0.155777122826 -1.33158904314 -0.174985546619 -1.33157414198 -0.194195590913 -1.33154767752 -0.211455244571 -1.33152425289 -0.228714223951 -1.33150401711 -0.245972961188 -1.33148688078 -0.263231150806 -1.33147290349 -0.280489213764 -1.33146202564 -0.297746859491 -1.33145430684 -0.315004497766 -1.33144971728 -0.332261830568 -1.33144825697 -0.34951929003 -1.33144986629 -0.366776570678 -1.33145469427 -0.384034089744 -1.33146265149 -0.401291549206 -1.33147367835 -0.418549388647 -1.33148789406 -0.435807295144 -1.33150523901 -0.453065693379 -1.33152571321 -0.470324277878 -1.33154928685 -0.487583465874 -1.33157595992 -0.504842966795 -1.33158904314 -0.524051383138 -1.33157411218 -0.543261423707 -1.33154764771 -0.560521095991 -1.3315242827 -0.577780067921 -1.33150404692 -0.595038801432 -1.33148688078 -0.612296998501 -1.33147290349 -0.629555046558 -1.33146202564 -0.646812692285 -1.33145430684 -0.664070338011 -1.33144971728 -0.681327685714 -1.33144825697 -0.698585152626 -1.33144989609 -0.715842425823 -1.33145472407 -0.733099937439 -1.33146268129 -0.750357419252 -1.33147370815 -0.767615273595 -1.33148789406 -0.784873157739 -1.33150526881 -0.802131548524 -1.33152571321 -0.819390118122 -1.33154925704 -0.836649313569 -1.33157595992 -0.853908836842 -1.33158904314 -0.873117253185 -1.33157408237 -0.892327293754 -1.33154758811 -0.909586951137 -1.33152422309 -0.926845923066 -1.33150398731 -0.944104656577 -1.33148685098 -0.961362853646 -1.33147293329 -0.978620901704 -1.33146208524 -0.995878577235 -1.33145436645 -1.01313623786 -1.33144974709 -1.03039351106 -1.33144825697 -1.04765099287 -1.33144986629 -1.06490826606 -1.33145469427 -1.08216577768 -1.33146268129 -1.0994232893 -1.33147373795 -1.11668109894 -1.33148792386 -1.13393899798 -1.33150523901 -1.15119740367 -1.3315256834 -1.16845595837 -1.33154925704 -1.18571516871 -1.33157595992 -1.20297470689 -1.33158904314 -1.22218313813 -1.33157414198 -1.2413931489 -1.33154764772 -1.25865277648 -1.33152425289 -1.27591177821 -1.33150401712 -1.29317051172 -1.33148685098 -1.31042870879 -1.33147290349 -1.32768678665 -1.33146202564 -1.34494441748 -1.33145430684 -1.3622020483 -1.33144968748 -1.3794593811 -1.33144822716 -1.39671683311 -1.33144986629 -1.41397410631 -1.33145466447 -1.43123161792 -1.33146265149 -1.44848906994 -1.33147373795 -1.46574693918 -1.33148795366 -1.48300486803 -1.33150529861 -1.50026324391 -1.33152571321 -1.51752182841 -1.33154925704 -1.53478103876 -1.33157595992 -1.55204054713 -1.33158901334 -1.57124894858 -1.33157408237 -1.59045898915 -1.33154764772 -1.60771864653 -1.3315242827 -1.62497761845 -1.33150404692 -1.64223635197 -1.33148688078 -1.65949454903 -1.33147290349 -1.67675262689 -1.33146205544 -1.69401028752 -1.33145430684 -1.71126794815 -1.33144965768 -1.72852528095 -1.33144822716 -1.74578273296 -1.33144986629 -1.76304000616 -1.33145466447 -1.78029751778 -1.33146265149 -1.79755496979 -1.33147373795 -1.81481277942 -1.33148792386 -1.83207067847 -1.33150526881 -1.84932908416 -1.33152571321 -1.86658766866 -1.33154925704 -1.88384687901 -1.33157595992 -1.90110638738 -1.33158904314 -1.92031481862 -1.33157414198 -1.93952485919 -1.33154767752 -1.95678451657 -1.3315242827 -1.9740434885 -1.33150404692 -1.99130222201 -1.33148688078 -2.00856044888 -1.33147290349 -2.02581852674 -1.33146202564 -2.04307609796 -1.33145430684 -2.06033372879 -1.33144971728 -2.07759106159 -1.33144825697 -2.09484851361 -1.33144986629 -2.1121058464 -1.33145469427 -2.12936335802 -1.33146268129 -2.14662081003 -1.33147370815 -2.16387867927 -1.33148789406 -2.18113660812 -1.33150523901 -2.19839501381 -1.3315256834 -2.21565359831 -1.33154925704 -2.23291271925 -1.33157595992 -2.25017219782 -1.33158904314 -2.26938068867 -1.33157408237 -2.28859072924 -1.33154761792 -2.30585032702 -1.33152425289 -2.32310932875 -1.33150401711 -2.34036809206 -1.33148688078 -2.35762625933 -1.33147290349 -2.37488430738 -1.33146199584 -2.39214199781 -1.33145427704 -2.40939968824 -1.33144971728 -2.42665696144 -1.33144825697 -2.44391441345 -1.33144989609 -2.46117174625 -1.33145472407 -2.47842925787 -1.33146268129 -2.49568670988 -1.33147373795 -2.51294451952 -1.33148792386 -2.53020238876 -1.33150526881 -2.54746079445 -1.33152571321 -2.56471937895 -1.33154925704 -2.5819786191 -1.33157595992 -2.59923809767 -1.33158901334 -2.61844646931 -1.33157411218 -2.63765650988 -1.33154767752 -2.65491616726 -1.3315242827 -2.67217516899 -1.33150404692 -2.6894338727 -1.33148688078 -2.70669203997 -1.33147290349 -2.72395014763 -1.33146202564 -2.74120783806 -1.33145427704 -2.75846546888 -1.33144968748 -2.77572280169 -1.33144825697 -2.7929802537 -1.33144989609 -2.81023752689 -1.33145472407 -2.82749503851 -1.33146268129 -2.84475249052 -1.33147373795 -2.86201035976 -1.33148792386 -2.87926828861 -1.33150526881 -2.89652663469 -1.33152571321 -2.91378515959 -1.33154925704 -2.93104439974 -1.33157595992 -2.94830393792 -1.33158904314 -2.96751230955 -1.33157414198 -2.98672240972 -1.33154767752 -3.00398212671 -1.3315242827 -3.02124106884 -1.33150404692 -3.03849977255 -1.33148688078 -3.05575793981 -1.33147290349 -3.07301598787 -1.33146202564 -3.0902736187 -1.33145427704 -3.10753124952 -1.33144968748 -3.12478858233 -1.33144828677 --3.14113924105 -1.3314499259 --3.12388193608 -1.33145466447 --3.10662442446 -1.33146262169 --3.08936697245 -1.33147367835 --3.0721091032 -1.33148786426 --3.05485117435 -1.33150523901 --3.03759282827 -1.3315256834 --3.02033430338 -1.33154922724 --3.00307506323 -1.33157593012 --2.98581552506 -1.33158904314 --2.96660715342 -1.33157414198 --2.94739705324 -1.33154767752 --2.93013733625 -1.33152425289 --2.91287839413 -1.33150401711 --2.89561969042 -1.33148688078 --2.87836146355 -1.33147290349 --2.86110335589 -1.33146202564 --2.84384578467 -1.33145430684 --2.82658821344 -1.33144971728 --2.80933088064 -1.33144825697 --2.79207336902 -1.33144986629 --2.77481603622 -1.33145469427 --2.75755852461 -1.33146265149 --2.7403010726 -1.33147367835 --2.72304326296 -1.33148789406 --2.70578539372 -1.33150523901 --2.68852698803 -1.33152571321 --2.67126834393 -1.33154928685 --2.65400916338 -1.33157595992 --2.63674968481 -1.33158904314 --2.61754125356 -1.33157411218 --2.59833121299 -1.33154764771 --2.58107155561 -1.3315242827 --2.56381255388 -1.33150404692 --2.54655379057 -1.33148688078 --2.5292956233 -1.33147290349 --2.51203757525 -1.33146202564 --2.49477994442 -1.33145430684 --2.4775223136 -1.33144971728 --2.46026498079 -1.33144825697 --2.44300752878 -1.33144989609 --2.42575025558 -1.33145472407 --2.40849274397 -1.33146268129 --2.39123523236 -1.33147370815 --2.37397736311 -1.33148789406 --2.35671949387 -1.33150526881 --2.33946108818 -1.33152571321 --2.32220250368 -1.33154925704 --2.30494338274 -1.33157595992 --2.28768390417 -1.33158904314 --2.26847541332 -1.33157408237 --2.24926537275 -1.33154758811 --2.23200571537 -1.33152422309 --2.21474671364 -1.33150398731 --2.19748800993 -1.33148685098 --2.18022984266 -1.33147293329 --2.16297179461 -1.33146208524 --2.14571410418 -1.33145436645 --2.12845641375 -1.33144974709 --2.11119908094 -1.33144825697 --2.09394162893 -1.33144986629 --2.07668435573 -1.33145469427 --2.05942684412 -1.33146268129 --2.04216939211 -1.33147373795 --2.02491158247 -1.33148792386 --2.00765368343 -1.33150523901 --1.99039524794 -1.3315256834 --1.97313666344 -1.33154925704 --1.95587748289 -1.33157595992 --1.93861797452 -1.33158904314 --1.91940954328 -1.33157414198 --1.90019950271 -1.33154764772 --1.88293987513 -1.33152425289 --1.86568087339 -1.33150401712 --1.84842213988 -1.33148685098 --1.83116397262 -1.33147290349 --1.81390589476 -1.33146202564 --1.79664823413 -1.33145430684 --1.7793905735 -1.33144968748 --1.7621332407 -1.33144822716 --1.74487578869 -1.33144986629 --1.72761851549 -1.33145466447 --1.71036100388 -1.33146265149 --1.69310355187 -1.33147373795 --1.67584571243 -1.33148795366 --1.65858781338 -1.33150529861 --1.64132940769 -1.33152571321 --1.62407082319 -1.33154925704 --1.60681164265 -1.33157595992 --1.58955213427 -1.33158901334 --1.57034370303 -1.33157408237 --1.55113366246 -1.33154764772 --1.53387400508 -1.3315242827 --1.51661500335 -1.33150404692 --1.49935626984 -1.33148688078 --1.48209810257 -1.33147290349 --1.46484005451 -1.33146205544 --1.44758242369 -1.33145430684 --1.43032479286 -1.33144965768 --1.41306746006 -1.33144822716 --1.39580994844 -1.33144986629 --1.37855264544 -1.33145466447 --1.36129513383 -1.33146265149 --1.34403765202 -1.33147373795 --1.32677984238 -1.33148792386 --1.30952197313 -1.33150526881 --1.29226356745 -1.33152571321 --1.27500498295 -1.33154925704 --1.2577457726 -1.33157595992 --1.24048626423 -1.33158904314 --1.22127786279 -1.33157414198 --1.20206782222 -1.33154767752 --1.18480816484 -1.3315242827 --1.1675491631 -1.33150404692 --1.15029042959 -1.33148688078 --1.13303223252 -1.33147290349 --1.11577418447 -1.33146202564 --1.09851655364 -1.33145430684 --1.08125889301 -1.33144971728 --1.06400156021 -1.33144825697 --1.0467441082 -1.33144986629 --1.029486835 -1.33145469427 --1.01222932339 -1.33146268129 --0.994971856476 -1.33147370815 --0.977713987231 -1.33148789406 --0.960456073284 -1.33150523901 --0.9431976825 -1.3315256834 --0.925939112901 -1.33154925704 --0.908679932356 -1.33157595992 --0.891420438886 -1.33158904314 --0.872212007642 -1.33157408237 --0.85300193727 -1.33154761792 --0.835742279888 -1.33152425289 --0.818483293057 -1.33150401711 --0.801224574447 -1.33148688078 --0.78396640718 -1.33147290349 --0.766708344221 -1.33146199584 --0.749450683594 -1.33145427704 --0.732193022966 -1.33144971728 --0.714935705066 -1.33144825697 --0.697678253055 -1.33144989609 --0.680420964956 -1.33145472407 --0.663163438439 -1.33146268129 --0.645905986428 -1.33147373795 --0.628648161889 -1.33148792386 --0.611390262842 -1.33150526881 --0.594131857157 -1.33152571321 --0.576873272657 -1.33154925704 --0.55961407721 -1.33157595992 --0.542354568839 -1.33158901334 --0.523146152496 -1.33157411218 --0.503936097026 -1.33154767752 --0.486676439643 -1.3315242827 --0.469417460263 -1.33150404692 --0.452158726752 -1.33148688078 --0.434900544584 -1.33147290349 --0.417642489076 -1.33146202564 --0.4003848508 -1.33145427704 --0.383127190173 -1.33144968748 --0.36586984992 -1.33144825697 --0.348612405359 -1.33144989609 --0.331355124712 -1.33145472407 --0.314097598195 -1.33146268129 --0.296840138733 -1.33147373795 --0.279582306743 -1.33148792386 --0.262324392796 -1.33150526881 --0.245065998286 -1.33152571321 --0.227807428688 -1.33154925704 --0.210548233241 -1.33157595992 --0.193288728595 -1.33158904314 --0.174080308527 -1.34872329235 --0.154868211597 -1.34869670868 --0.137608550489 -1.34867322445 --0.120349556208 -1.34865286946 --0.103090813384 -1.34863564372 --0.0858326144516 -1.34862160682 --0.0685745412484 -1.34861066937 --0.0513168927282 -1.34860292077 --0.0340592437424 -1.34859830141 --0.016801900696 -1.34859684109 -0.00045556598343 -1.34859851002 -0.0177128526848 -1.3486033082 -0.0349703864195 -1.34861129523 -0.0522278593853 -1.34862241149 -0.0694857025519 -1.348636657 -0.0867436137051 -1.34865409136 -0.104002017528 -1.34867465496 -0.121260607615 -1.348698318 -0.13851980865 -1.34872514009 -0.155779324472 -1.34873831272 -0.174987670034 -1.34872329235 -0.194197636098 -1.34869670868 -0.211457297206 -1.34867322445 -0.228716287762 -1.34865289926 -0.245975039899 -1.34863567353 -0.263233236969 -1.34862163663 -0.280491307378 -1.34861069917 -0.297748960555 -1.34860289097 -0.31500659883 -1.34859827161 -0.332263931632 -1.34859684109 -0.349521413446 -1.34859848022 -0.366778701544 -1.3486033082 -0.38403622061 -1.34861129523 -0.401293702424 -1.34862241149 -0.418551556766 -1.3486367166 -0.435809470713 -1.34865412116 -0.453067868948 -1.34867465496 -0.470326453447 -1.34869834781 -0.487585656345 -1.3487251699 -0.504845172167 -1.34873831272 -0.524053528905 -1.34872329235 -0.543263480068 -1.34869670868 -0.56052313745 -1.34867322445 -0.577782139182 -1.34865286946 -0.595040872693 -1.34863564372 -0.612299054861 -1.34862160682 -0.629557132721 -1.34861066937 -0.646814793348 -1.34860289097 -0.664072439075 -1.34859827161 -0.681329786778 -1.34859684109 -0.698587268591 -1.34859851002 -0.71584457159 -1.348603338 -0.733102083206 -1.34861129523 -0.750359550118 -1.34862241149 -0.767617419362 -1.3486367166 -0.784875333309 -1.34865415096 -0.802133709192 -1.34867468476 -0.81939227879 -1.34869834781 -0.836651504039 -1.3487251699 -0.853911027312 -1.34873831272 -0.873119354248 -1.34872326255 -0.892329335213 -1.34869664907 -0.909589007497 -1.34867316484 -0.926847979427 -1.34865283966 -0.944106727839 -1.34863564372 -0.961364939809 -1.34862166643 -0.978623002768 -1.34861075878 -0.995880678299 -1.34860298038 -1.01313832403 -1.34859833121 -1.03039562702 -1.34859684109 -1.04765310884 -1.34859848022 -1.06491038203 -1.3486033082 -1.08216792345 -1.34861129523 -1.09942543507 -1.34862241149 -1.11668327451 -1.3486366868 -1.13394120336 -1.34865409136 -1.15119960904 -1.34867465496 -1.16845816374 -1.34869834781 -1.18571737408 -1.3487251699 -1.20297688246 -1.34873831272 -1.22218522429 -1.34872329235 -1.24139517546 -1.34869667888 -1.25865483284 -1.34867319465 -1.27591383457 -1.34865286946 -1.29317256808 -1.34863564372 -1.31043079495 -1.34862160682 -1.32768887281 -1.34861066937 -1.34494650364 -1.34860292077 -1.36220416427 -1.34859830141 -1.37946152687 -1.34859687089 -1.39671897888 -1.34859853983 -1.41397625208 -1.3486033082 -1.43123376369 -1.34861126542 -1.44849121571 -1.34862241149 -1.46574908495 -1.3486367166 -1.4830070138 -1.34865415096 -1.50026541948 -1.34867465496 -1.51752400398 -1.348698318 -1.53478318453 -1.3487251699 -1.5520427227 -1.34873828292 -1.57125106454 -1.34872326255 -1.5904610157 -1.34869670868 -1.60772070289 -1.34867322445 -1.62497970462 -1.34865292907 -1.64223843813 -1.34863570333 -1.6594966352 -1.34862163663 -1.67675471306 -1.34861072898 -1.69401237368 -1.34860295058 -1.71127003431 -1.34859830141 -1.72852736711 -1.34859681129 -1.74578481913 -1.34859845042 -1.76304212212 -1.3486032784 -1.78029966354 -1.34861126542 -1.79755711555 -1.34862241149 -1.814814955 -1.3486366868 -1.83207288384 -1.34865412116 -1.84933128953 -1.34867468476 -1.86658987403 -1.34869834781 -1.88384908438 -1.3487251699 -1.90110856295 -1.34873831272 -1.92031690478 -1.34872329235 -1.93952691555 -1.34869670868 -1.95678657294 -1.34867322445 -1.97404551506 -1.34865286946 -1.99130427837 -1.34863564372 -2.00856250524 -1.34862160682 -2.0258205533 -1.34861066937 -2.04307818413 -1.34860292077 -2.06033587455 -1.34859830141 -2.07759320736 -1.34859684109 -2.09485065937 -1.34859851002 -2.11210793257 -1.348603338 -2.12936544418 -1.34861129523 -2.1466229558 -1.34862241149 -2.16388082504 -1.3486366868 -2.18113875389 -1.34865409136 -2.19839715958 -1.34867465496 -2.21565574408 -1.34869834781 -2.23291492462 -1.3487251699 -2.25017440319 -1.34873831272 -2.26938277483 -1.34872326255 -2.2885927558 -1.34869667888 -2.30585235358 -1.34867319465 -2.32311135531 -1.34865283966 -2.34037011862 -1.34863564372 -2.35762834549 -1.34862160682 -2.37488639355 -1.34861066937 -2.39214402437 -1.34860289097 -2.4094017148 -1.34859827161 -2.4266590476 -1.34859684109 -2.44391649962 -1.34859853983 -2.46117383242 -1.34860336781 -2.47843140364 -1.34861129523 -2.49568885565 -1.34862241149 -2.51294666528 -1.3486367166 -2.53020453453 -1.34865415096 -2.54746294021 -1.34867468476 -2.56472158432 -1.34869834781 -2.58198082447 -1.3487251699 -2.59924030304 -1.34873828292 -2.61844861507 -1.34872326255 -2.63765853644 -1.34869670868 -2.65491825342 -1.34867322445 -2.67217725515 -1.34865286946 -2.68943595886 -1.34863564372 -2.70669418573 -1.34862163663 -2.7239522934 -1.34861069917 -2.74120992422 -1.34860289097 -2.75846749544 -1.34859827161 -2.77572482824 -1.34859684109 -2.79298233986 -1.34859848022 -2.81023967266 -1.3486033082 -2.82749718428 -1.34861129523 -2.84475463629 -1.34862241149 -2.86201250553 -1.3486366868 -2.87927043438 -1.34865412116 -2.89652884007 -1.34867468476 -2.91378742457 -1.34869834781 -2.93104660511 -1.3487251699 -2.94830608368 -1.34873831272 -2.96751439571 -1.34872329235 -2.98672443628 -1.34869670868 -3.00398415327 -1.34867322445 -3.02124315501 -1.34865286946 -3.03850191832 -1.34863564372 -3.05576008558 -1.34862160682 -3.07301813364 -1.34861066937 -3.09027576446 -1.34860292077 -3.10753339529 -1.34859830141 -3.12479072809 -1.34859684109 --3.14113709529 -1.34859851002 --3.12387979031 -1.3486033082 --3.10662227869 -1.34861129523 --3.08936482668 -1.34862241149 --3.07210695744 -1.348636657 --3.05484902859 -1.34865409136 --3.0375906229 -1.34867465496 --3.0203320384 -1.348698318 --3.00307285786 -1.34872514009 --2.98581337929 -1.34873831272 --2.96660506725 -1.34872329235 --2.94739502668 -1.34869670868 --2.93013530969 -1.34867322445 --2.91287630796 -1.34865289926 --2.89561754465 -1.34863567353 --2.87835937738 -1.34862163663 --2.86110132933 -1.34861069917 --2.8438436985 -1.34860289097 --2.82658606768 -1.34859827161 --2.80932873487 -1.34859684109 --2.79207122326 -1.34859848022 --2.77481395006 -1.3486033082 --2.75755643845 -1.34861129523 --2.74029892683 -1.34862241149 --2.72304111719 -1.3486367166 --2.70578318834 -1.34865412116 --2.68852478266 -1.34867465496 --2.67126619816 -1.34869834781 --2.65400695801 -1.3487251699 --2.63674747944 -1.34873831272 --2.6175391078 -1.34872329235 --2.59832912683 -1.34869670868 --2.58106952906 -1.34867322445 --2.56381052732 -1.34865286946 --2.54655176401 -1.34863564372 --2.52929359675 -1.34862160682 --2.51203554869 -1.34861066937 --2.49477785826 -1.34860289097 --2.47752016783 -1.34859827161 --2.46026283502 -1.34859684109 --2.44300538301 -1.34859851002 --2.42574810982 -1.348603338 --2.4084905982 -1.34861129523 --2.39123308659 -1.34862241149 --2.37397521734 -1.3486367166 --2.3567173481 -1.34865415096 --2.33945894241 -1.34867468476 --2.32220035791 -1.34869834781 --2.30494117737 -1.3487251699 --2.28768163919 -1.34873831272 --2.26847326755 -1.34872326255 --2.24926334619 -1.34869664907 --2.23200368881 -1.34867316484 --2.21474468708 -1.34865283966 --2.19748598337 -1.34863564372 --2.1802277565 -1.34862166643 --2.16296964884 -1.34861075878 --2.14571201802 -1.34860298038 --2.12845438719 -1.34859833121 --2.11119705439 -1.34859684109 --2.09393960237 -1.34859848022 --2.07668226957 -1.3486033082 --2.05942469835 -1.34861129523 --2.04216724634 -1.34862241149 --2.0249093771 -1.3486366868 --2.00765147805 -1.34865409136 --1.99039310217 -1.34867465496 --1.97313451767 -1.34869834781 --1.95587530732 -1.3487251699 --1.93861576915 -1.34873831272 --1.91940739751 -1.34872329235 --1.90019744635 -1.34869667888 --1.88293781877 -1.34867319465 --1.86567881703 -1.34865286946 --1.84842005372 -1.34863564372 --1.83116185665 -1.34862160682 --1.8139038086 -1.34861066937 --1.79664614797 -1.34860292077 --1.77938848734 -1.34859830141 --1.76213115454 -1.34859687089 --1.74487367272 -1.34859853983 --1.72761636972 -1.3486033082 --1.71035885811 -1.34861126542 --1.6931014061 -1.34862241149 --1.67584353685 -1.3486367166 --1.658585608 -1.34865415096 --1.64132720232 -1.34867465496 --1.62406861782 -1.348698318 --1.60680943727 -1.3487251699 --1.5895499289 -1.34873828292 --1.57034158707 -1.34872326255 --1.55113160611 -1.34869670868 --1.53387194872 -1.34867322445 --1.51661294699 -1.34865292907 --1.49935418367 -1.34863570333 --1.48209601641 -1.34862163663 --1.46483793855 -1.34861072898 --1.44758027792 -1.34860295058 --1.4303226471 -1.34859830141 --1.41306531429 -1.34859681129 --1.39580783248 -1.34859845042 --1.37855052948 -1.3486032784 --1.36129298806 -1.34861126542 --1.34403550625 -1.34862241149 --1.32677769661 -1.3486366868 --1.30951982736 -1.34865412116 --1.29226142168 -1.34867468476 --1.27500283718 -1.34869834781 --1.25774359703 -1.3487251699 --1.24048405886 -1.34873831272 --1.22127571702 -1.34872329235 --1.20206576586 -1.34869670868 --1.18480610848 -1.34867322445 --1.16754710674 -1.34865286946 --1.15028840303 -1.34863564372 --1.13303017616 -1.34862160682 --1.1157720983 -1.34861066937 --1.09851446748 -1.34860292077 --1.08125680685 -1.34859830141 --1.06399947405 -1.34859684109 --1.04674199224 -1.34859851002 --1.02948468924 -1.348603338 --1.01222717762 -1.34861129523 --0.994969695807 -1.34862241149 --0.977711826563 -1.3486366868 --0.960453927517 -1.34865409136 --0.943195521832 -1.34867465496 --0.925936937332 -1.34869834781 --0.908677756787 -1.3487251699 --0.891418263316 -1.34873831272 --0.872209891677 -1.34872326255 --0.852999895812 -1.34869667888 --0.835740238428 -1.34867319465 --0.818481236696 -1.34865283966 --0.801222503185 -1.34863564372 --0.783964306116 -1.34862160682 --0.766706243158 -1.34861066937 --0.749448612332 -1.34860289097 --0.732190951705 -1.34859827161 --0.714933589101 -1.34859684109 --0.697676122189 -1.34859853983 --0.680418848991 -1.34860336781 --0.663161322474 -1.34861129523 --0.645903855562 -1.34862241149 --0.62864600122 -1.3486367166 --0.611388087273 -1.34865415096 --0.594129681587 -1.34867468476 --0.576871082187 -1.34869834781 --0.559611871839 -1.3487251699 --0.542352363467 -1.34873828292 --0.52314402163 -1.34872326255 --0.503934055567 -1.34869670868 --0.486674398184 -1.34867322445 --0.469415403903 -1.34865286946 --0.45215665549 -1.34863564372 --0.434898458421 -1.34862163663 --0.417640395462 -1.34861069917 --0.400382749736 -1.34860289097 --0.383125089109 -1.34859827161 --0.365867748856 -1.34859684109 --0.348610289395 -1.34859848022 --0.331352993846 -1.3486033082 --0.314095467329 -1.34861129523 --0.296837992966 -1.34862241149 --0.279580146074 -1.3486366868 --0.262322232127 -1.34865412116 --0.245063826442 -1.34867468476 --0.227805245668 -1.34869834781 --0.210546046495 -1.3487251699 --0.193286530673 -1.34873831272 --0.174078177661 -1.36584368348 --0.15486618504 -1.3658169806 --0.137606520206 -1.36579337716 --0.120347516611 -1.36577296257 --0.103088766337 -1.36575570703 --0.0858305618167 -1.36574158072 --0.0685724820942 -1.36573058367 --0.0513148261234 -1.36572280526 --0.0340571678244 -1.3657181561 --0.0167998147663 -1.36571669579 -0.00045766076073 -1.36571839452 -0.0177149574738 -1.36572322249 -0.034972500056 -1.36573123932 -0.0522299809381 -1.36574241519 -0.0694878315553 -1.3657567203 -0.086745750159 -1.36577421427 -0.104004163295 -1.36579486728 -0.121262762695 -1.36581864953 -0.138521973044 -1.36584559083 -0.155781492591 -1.36585879326 -0.174989763648 -1.36584368348 -0.194199658931 -1.3658169806 -0.211459327489 -1.36579343676 -0.228718325496 -1.36577305198 -0.245977081358 -1.36575570703 -0.263235293329 -1.36574158072 -0.280493378639 -1.36573061347 -0.297751039267 -1.36572277546 -0.315008684993 -1.3657181263 -0.332266032696 -1.36571666598 -0.349523514509 -1.36571833491 -0.366780802608 -1.36572319269 -0.384038344026 -1.36573120952 -0.40129584074 -1.36574238539 -0.418553695083 -1.36575675011 -0.43581161648 -1.36577424407 -0.453070022166 -1.36579486728 -0.470328614116 -1.36581864953 -0.487587831915 -1.36584559083 -0.504847332836 -1.36585879326 -0.524055615067 -1.36584368348 -0.543265521526 -1.3658169806 -0.560525193811 -1.36579340696 -0.577784195542 -1.36577299237 -0.595042914152 -1.36575570703 -0.612301111221 -1.36574158072 -0.629559203982 -1.36573058367 -0.64681686461 -1.36572280526 -0.664074510336 -1.3657181561 -0.681331858039 -1.36571669579 -0.698589369655 -1.36571836472 -0.715846687555 -1.36572319269 -0.733104214072 -1.36573120952 -0.750361680984 -1.36574238539 -0.767619535327 -1.36575675011 -0.784877464175 -1.36577424407 -0.80213585496 -1.36579486728 -0.819394439459 -1.36581864953 -0.836653664708 -1.36584559083 -0.853913187981 -1.36585879326 -0.873121455312 -1.36584368348 -0.89233134687 -1.3658169806 -0.909591004253 -1.36579340696 -0.926850005984 -1.36577299237 -0.944108769297 -1.36575570703 -0.961366981268 -1.36574161053 -0.978625059128 -1.36573061347 -0.995882719757 -1.36572280526 -1.01314038038 -1.3657181561 -1.03039774299 -1.36571666598 -1.0476552248 -1.36571833491 -1.06491249799 -1.36572319269 -1.08217003941 -1.36573120952 -1.09942755103 -1.36574238539 -1.11668542027 -1.3657567203 -1.13394331932 -1.36577421427 -1.151201725 -1.36579486728 -1.16846033931 -1.36581864953 -1.18571954965 -1.36584559083 -1.20297902822 -1.36585879326 -1.22218731046 -1.36584368348 -1.24139720201 -1.3658169806 -1.2586568594 -1.36579340696 -1.27591586113 -1.36577299237 -1.29317462444 -1.36575570703 -1.31043285131 -1.36574158072 -1.32769089937 -1.36573058367 -1.34494856 -1.36572280526 -1.36220625043 -1.3657181263 -1.37946361303 -1.36571669579 -1.39672106504 -1.36571842432 -1.41397833824 -1.36572322249 -1.43123587966 -1.36573120952 -1.44849336147 -1.36574238539 -1.46575123072 -1.36575675011 -1.48300915956 -1.36577424407 -1.50026756525 -1.36579483748 -1.51752614975 -1.36581861972 -1.5347853601 -1.36584559083 -1.55204489827 -1.36585879326 -1.5712531507 -1.36584374309 -1.59046304226 -1.3658170402 -1.60772272945 -1.36579337716 -1.62498173118 -1.36577299237 -1.64224046469 -1.36575573683 -1.65949869156 -1.36574161053 -1.67675679922 -1.36573061347 -1.69401443004 -1.36572283507 -1.71127209067 -1.3657181859 -1.72852945328 -1.36571666598 -1.74578690529 -1.36571833491 -1.76304420829 -1.36572319269 -1.7803017497 -1.36573120952 -1.79755923152 -1.36574238539 -1.81481710076 -1.3657567203 -1.83207502961 -1.36577421427 -1.8493334651 -1.36579486728 -1.8665920496 -1.36581864953 -1.88385123014 -1.36584559083 -1.90111073852 -1.36585879326 -1.92031902075 -1.36584368348 -1.93952891231 -1.3658169806 -1.95678856969 -1.36579340696 -1.97404757142 -1.36577299237 -1.99130633473 -1.36575567723 -2.0085645318 -1.36574155092 -2.02582257986 -1.36573058367 -2.04308027029 -1.36572280526 -2.06033796072 -1.3657181561 -2.07759529352 -1.36571669579 -2.09485274553 -1.36571839452 -2.11211001873 -1.36572322249 -2.12936758995 -1.36573120952 -2.14662510156 -1.36574238539 -2.16388297081 -1.3657567203 -2.18114089966 -1.36577421427 -2.19839930535 -1.36579486728 -2.21565788985 -1.36581864953 -2.23291707039 -1.36584559083 -2.25017654896 -1.36585876346 -2.26938486099 -1.36584365368 -2.28859478236 -1.3658169806 -2.30585438013 -1.36579340696 -2.32311338186 -1.36577299237 -2.34037214517 -1.36575570703 -2.35763037205 -1.36574161053 -2.37488842011 -1.36573061347 -2.39214605093 -1.36572277546 -2.40940374136 -1.3657181263 -2.42666107416 -1.36571669579 -2.44391858578 -1.36571839452 -2.46117591858 -1.36572322249 -2.47843343019 -1.36573120952 -2.4956908822 -1.36574238539 -2.51294875145 -1.36575675011 -2.5302066803 -1.36577424407 -2.54746508599 -1.36579486728 -2.56472373009 -1.36581864953 -2.58198297024 -1.36584559083 -2.59924244881 -1.36585879326 -2.61845070124 -1.36584368348 -2.63766056299 -1.3658169806 -2.65492027998 -1.36579340696 -2.67217928171 -1.36577299237 -2.68943804503 -1.36575570703 -2.7066963315 -1.36574164033 -2.72395437956 -1.36573064327 -2.74121195078 -1.36572277546 -2.7584695816 -1.3657181263 -2.77572697401 -1.36571666598 -2.79298448563 -1.36571833491 -2.81024175882 -1.36572319269 -2.82749927044 -1.36573120952 -2.84475678206 -1.36574238539 -2.8620146513 -1.3657567203 -2.87927258015 -1.36577421427 -2.89653098583 -1.36579486728 -2.91378957033 -1.36581864953 -2.93104875088 -1.36584559083 -2.94830828905 -1.36585879326 -2.96751654148 -1.36584368348 -2.98672646284 -1.3658169806 -3.00398617983 -1.36579337716 -3.02124518156 -1.36577296257 -3.03850394487 -1.36575570703 -3.05576211214 -1.36574158072 -3.0730201602 -1.36573058367 -3.09027785063 -1.36572280526 -3.10753554106 -1.3657181561 -3.12479287386 -1.36571669579 --3.14113494952 -1.36571839452 --3.12387770415 -1.36572322249 --3.10662019253 -1.36573123932 --3.08936268091 -1.36574241519 --3.07210481167 -1.3657567203 --3.05484688282 -1.36577421427 --3.03758847714 -1.36579486728 --3.02032989263 -1.36581864953 --3.00307071209 -1.36584559083 --2.98581117391 -1.36585879326 --2.96660292148 -1.36584368348 --2.94739300012 -1.3658169806 --2.93013328314 -1.36579343676 --2.91287428141 -1.36577305198 --2.89561551809 -1.36575570703 --2.87835735083 -1.36574158072 --2.86109930277 -1.36573061347 --2.84384161234 -1.36572277546 --2.82658392191 -1.3657181263 --2.8093265891 -1.36571666598 --2.79206913709 -1.36571833491 --2.7748118639 -1.36572319269 --2.75755429268 -1.36573120952 --2.74029678107 -1.36574238539 --2.72303897142 -1.36575675011 --2.70578104257 -1.36577424407 --2.68852263689 -1.36579486728 --2.67126405239 -1.36581864953 --2.65400481224 -1.36584559083 --2.63674533367 -1.36585879326 --2.61753702164 -1.36584368348 --2.59832710028 -1.3658169806 --2.5810675025 -1.36579340696 --2.56380850077 -1.36577299237 --2.54654973745 -1.36575570703 --2.52929157019 -1.36574158072 --2.51203352213 -1.36573058367 --2.4947758317 -1.36572280526 --2.47751814127 -1.3657181561 --2.46026080847 -1.36571669579 --2.44300329685 -1.36571836472 --2.42574596405 -1.36572319269 --2.40848845243 -1.36573120952 --2.39123100042 -1.36574238539 --2.37397313118 -1.36575675011 --2.35671520233 -1.36577424407 --2.33945679664 -1.36579486728 --2.32219821214 -1.36581864953 --2.3049390316 -1.36584559083 --2.28767949343 -1.36585879326 --2.26847118139 -1.36584368348 --2.24926131963 -1.3658169806 --2.23200172186 -1.36579340696 --2.21474272013 -1.36577299237 --2.19748395682 -1.36575570703 --2.18022567034 -1.36574161053 --2.16296750307 -1.36573061347 --2.14570987225 -1.36572280526 --2.12845224142 -1.3657181561 --2.11119490862 -1.36571666598 --2.0939374566 -1.36571833491 --2.07668018341 -1.36572319269 --2.05942261219 -1.36573120952 --2.04216510058 -1.36574238539 --2.02490723133 -1.3657567203 --2.00764933229 -1.36577421427 --1.9903909564 -1.36579486728 --1.9731323421 -1.36581864953 --1.95587310195 -1.36584559083 --1.93861359358 -1.36585879326 --1.91940534115 -1.36584368348 --1.90019544959 -1.3658169806 --1.88293576241 -1.36579340696 --1.86567676067 -1.36577299237 --1.84841802716 -1.36575570703 --1.83115980029 -1.36574158072 --1.81390172243 -1.36573058367 --1.79664409161 -1.36572280526 --1.77938643098 -1.3657181263 --1.76212906838 -1.36571669579 --1.74487158656 -1.36571842432 --1.72761428356 -1.36572322249 --1.71035674214 -1.36573120952 --1.69309926033 -1.36574238539 --1.67584142089 -1.36575675011 --1.65858349204 -1.36577424407 --1.64132505655 -1.36579483748 --1.62406647205 -1.36581861972 --1.60680729151 -1.36584559083 --1.58954775333 -1.36585879326 --1.5703394711 -1.36584374309 --1.55112957954 -1.3658170402 --1.53386992216 -1.36579337716 --1.51661092043 -1.36577299237 --1.49935215712 -1.36575573683 --1.48209398985 -1.36574161053 --1.46483588219 -1.36573061347 --1.44757819176 -1.36572283507 --1.43032056093 -1.3657181859 --1.41306322813 -1.36571666598 --1.39580574632 -1.36571833491 --1.37854844332 -1.36572319269 --1.3612909019 -1.36573120952 --1.34403342008 -1.36574238539 --1.32677558064 -1.3657567203 --1.3095176816 -1.36577421427 --1.29225927591 -1.36579486728 --1.27500066161 -1.36581864953 --1.25774142146 -1.36584559083 --1.24048191309 -1.36585879326 --1.22127363086 -1.36584368348 --1.2020637393 -1.3658169806 --1.18480408192 -1.36579340696 --1.16754508019 -1.36577299237 --1.15028634667 -1.36575567723 --1.1330281198 -1.36574155092 --1.11577004194 -1.36573058367 --1.09851241112 -1.36572280526 --1.08125475049 -1.3657181561 --1.06399738789 -1.36571669579 --1.04673990608 -1.36571839452 --1.02948260307 -1.36572322249 --1.01222506166 -1.36573120952 --0.994967564941 -1.36574238539 --0.977709695697 -1.3657567203 --0.96045178175 -1.36577421427 --0.943193376064 -1.36579486728 --0.925934791565 -1.36581864953 --0.908675596118 -1.36584559083 --0.891416072846 -1.36585876346 --0.872207790613 -1.36584365368 --0.852997884155 -1.3658169806 --0.83573821187 -1.36579340696 --0.818479210139 -1.36577299237 --0.801220461726 -1.36575570703 --0.783962249756 -1.36574161053 --0.766704186797 -1.36573061347 --0.749446555972 -1.36572277546 --0.732188880443 -1.3657181263 --0.714931502938 -1.36571669579 --0.697674021125 -1.36571839452 --0.680416733027 -1.36572322249 --0.663159221411 -1.36573120952 --0.645901754499 -1.36574238539 --0.628643870354 -1.36575675011 --0.611385941506 -1.36577424407 --0.59412753582 -1.36579486728 --0.576868936419 -1.36581864953 --0.559609726072 -1.36584559083 --0.542350202799 -1.36585879326 --0.523141920566 -1.36584368348 --0.503932029009 -1.3658169806 --0.486672371626 -1.36579340696 --0.469413362443 -1.36577299237 --0.45215460658 -1.36575570703 --0.434896416962 -1.36574164033 --0.417638346553 -1.36573064327 --0.400380685925 -1.36572277546 --0.383123017848 -1.3657181263 --0.365865670145 -1.36571666598 --0.348608195782 -1.36571833491 --0.331350892782 -1.36572319269 --0.314093351364 -1.36573120952 --0.2968358621 -1.36574238539 --0.279578015208 -1.3657567203 --0.262320101261 -1.36577421427 --0.2450616844 -1.36579486728 --0.227803088725 -1.36581864953 --0.210543874651 -1.36584559083 --0.193284355104 -1.36585879326 --0.174076080322 -1.38293898106 --0.15486419946 -1.38291215896 --0.13760452345 -1.38288846612 --0.12034550868 -1.38286793232 --0.103086749092 -1.38285058737 --0.0858285389841 -1.38283643127 --0.0685704508796 -1.3828253746 --0.051312783733 -1.38281750679 --0.034055117052 -1.38281282783 --0.0167977560777 -1.38281136752 -0.000459727132692 -1.38281306625 -0.017717031762 -1.38281795383 -0.034974584356 -1.38282600045 -0.0522320726886 -1.38283720613 -0.0694899316877 -1.38285163045 -0.086747860536 -1.38286924362 -0.104006282985 -1.38288995624 -0.121264891699 -1.38291382789 -0.13852411136 -1.38294091821 -0.155783638358 -1.38295418024 -0.174991831184 -1.38293898106 -0.194201648236 -1.38291215896 -0.21146132797 -1.38288849592 -0.228720333427 -1.38286796212 -0.245979093015 -1.38285055757 -0.263237319887 -1.38283640146 -0.280495412648 -1.38282540441 -0.297753073275 -1.38281756639 -0.315010726452 -1.38281288743 -0.332268096507 -1.38281139732 -0.349525585771 -1.38281306625 -0.36678288132 -1.38281795383 -0.384040437639 -1.38282600045 -0.401297934353 -1.38283723593 -0.418555796146 -1.38285166025 -0.435813724995 -1.38286921382 -0.453072138131 -1.38288992643 -0.470330737531 -1.38291382789 -0.48758996278 -1.38294088841 -0.504849471152 -1.38295415044 -0.524057671428 -1.38293898106 -0.543267518282 -1.38291215896 -0.560527205467 -1.38288849592 -0.577786192298 -1.38286799192 -0.59504494071 -1.38285061717 -0.612303152681 -1.38283643127 -0.629561245442 -1.3828253746 -0.646818935871 -1.38281756639 -0.664076581597 -1.38281291723 -0.681333944201 -1.38281142712 -0.698591440916 -1.38281309605 -0.715848729015 -1.38281795383 -0.733106285334 -1.38282600045 -0.750363782048 -1.38283723593 -0.76762163639 -1.38285163045 -0.784879565239 -1.38286918402 -0.802137970925 -1.38288992643 -0.819396570325 -1.38291382789 -0.836655795574 -1.38294088841 -0.853915333748 -1.38295415044 -0.873123541474 -1.38293901086 -0.892333343625 -1.38291218877 -0.909593015909 -1.38288849592 -0.926852032542 -1.38286799192 -0.944110795855 -1.38285061717 -0.961369007826 -1.38283643127 -0.978627100587 -1.38282540441 -0.995884761217 -1.38281756639 -1.01314240694 -1.38281285763 -1.03039979935 -1.38281136752 -1.04765731096 -1.38281306625 -1.06491458416 -1.38281795383 -1.08217212558 -1.38282600045 -1.09942963719 -1.38283723593 -1.11668750643 -1.38285166025 -1.13394540548 -1.38286924362 -1.15120381117 -1.38288995624 -1.16846242547 -1.38291382789 -1.18572166562 -1.38294088841 -1.20298117399 -1.38295415044 -1.22218936682 -1.38293898106 -1.24139919877 -1.38291215896 -1.25865885616 -1.38288849592 -1.27591785789 -1.38286796212 -1.2931766212 -1.38285058737 -1.31043484807 -1.38283643127 -1.32769292593 -1.38282540441 -1.34495061636 -1.38281756639 -1.36220830679 -1.38281285763 -1.37946563959 -1.38281139732 -1.3967230916 -1.38281309605 -1.4139803946 -1.38281795383 -1.43123796582 -1.38282600045 -1.44849547744 -1.38283723593 -1.46575334668 -1.38285163045 -1.48301127553 -1.38286918402 -1.50026971102 -1.38288992643 -1.51752829552 -1.38291382789 -1.53478750587 -1.38294091821 -1.55204704404 -1.38295418024 -1.57125523686 -1.38293901086 -1.59046506882 -1.38291218877 -1.6077247262 -1.38288846612 -1.62498372793 -1.38286793232 -1.64224249124 -1.38285058737 -1.65950071811 -1.38283643127 -1.67675882578 -1.38282540441 -1.6940164566 -1.38281756639 -1.71127411723 -1.38281285763 -1.72853150964 -1.38281139732 -1.74578899145 -1.38281309605 -1.76304626465 -1.38281795383 -1.78030380607 -1.38282600045 -1.79756131768 -1.38283723593 -1.81481918692 -1.38285166025 -1.83207711577 -1.38286921382 -1.84933555126 -1.38288992643 -1.86659416557 -1.38291382789 -1.88385337591 -1.38294091821 -1.90111291409 -1.38295418024 -1.92032110691 -1.38293898106 -1.93953087926 -1.38291215896 -1.95679056645 -1.38288846612 -1.97404962778 -1.38286793232 -1.99130836129 -1.38285055757 -2.00856652856 -1.38283640146 -2.02582460642 -1.38282540441 -2.04308229685 -1.38281753659 -2.06033998728 -1.38281285763 -2.07759732008 -1.38281142712 -2.09485477209 -1.38281309605 -2.11211210489 -1.38281795383 -2.12936967611 -1.38282600045 -2.14662712812 -1.38283723593 -2.16388505697 -1.38285163045 -2.18114298582 -1.38286921382 -2.19840139151 -1.38288995624 -2.21566003561 -1.38291382789 -2.23291921616 -1.38294091821 -2.25017875433 -1.38295415044 -2.26938694715 -1.38293895125 -2.28859674931 -1.38291215896 -2.30585640669 -1.38288849592 -2.32311540842 -1.38286796212 -2.34037417174 -1.38285058737 -2.357632339 -1.38283646107 -2.37489038706 -1.38282540441 -2.39214807749 -1.38281753659 -2.40940576792 -1.38281285763 -2.42666310072 -1.38281136752 -2.44392067194 -1.38281306625 -2.46117800474 -1.38281795383 -2.47843551636 -1.38282600045 -2.49569302797 -1.38283723593 -2.51295089722 -1.38285166025 -2.53020882606 -1.38286921382 -2.54746723175 -1.38288992643 -2.56472581625 -1.38291382789 -2.5819850564 -1.38294088841 -2.59924459457 -1.38295415044 -2.6184527874 -1.38293898106 -2.63766258955 -1.38291215896 -2.65492224694 -1.38288849592 -2.67218124866 -1.38286796212 -2.68944001198 -1.38285058737 -2.70669829846 -1.38283646107 -2.72395640612 -1.38282543421 -2.74121403694 -1.38281756639 -2.75847172737 -1.38281288743 -2.77572911977 -1.38281139732 -2.79298657179 -1.38281306625 -2.81024384499 -1.38281795383 -2.82750141621 -1.38282600045 -2.84475892782 -1.38283723593 -2.86201673746 -1.38285166025 -2.87927466631 -1.38286921382 -2.89653307199 -1.38288992643 -2.91379165649 -1.38291382789 -2.93105089664 -1.38294088841 -2.94831043482 -1.38295415044 -2.96751862764 -1.38293898106 -2.98672842979 -1.38291215896 -3.00398814678 -1.38288846612 -3.02124720812 -1.38286793232 -3.03850597143 -1.38285058737 -3.0557641387 -1.38283643127 -3.07302218675 -1.3828253746 -3.09027987718 -1.38281750679 -3.10753756762 -1.38281282783 -3.12479490041 -1.38281136752 --3.14113292297 -1.38281306625 --3.12387561798 -1.38281795383 --3.10661804676 -1.38282600045 --3.08936053515 -1.38283720613 --3.07210272551 -1.38285163045 --3.05484479666 -1.38286924362 --3.03758639097 -1.38288995624 --3.02032780647 -1.38291382789 --3.00306856632 -1.38294091821 --2.98580902815 -1.38295418024 --2.96660083532 -1.38293898106 --2.94739103317 -1.38291215896 --2.93013131618 -1.38288849592 --2.91287225485 -1.38286796212 --2.89561349154 -1.38285055757 --2.87835532427 -1.38283640146 --2.86109727621 -1.38282540441 --2.84383958578 -1.38281756639 --2.82658189535 -1.38281288743 --2.80932456255 -1.38281139732 --2.79206711054 -1.38281306625 --2.77480977774 -1.38281795383 --2.75755220652 -1.38282600045 --2.74029475451 -1.38283723593 --2.72303688526 -1.38285166025 --2.70577895641 -1.38286921382 --2.68852055073 -1.38288992643 --2.67126190662 -1.38291382789 --2.65400266647 -1.38294088841 --2.6367431879 -1.38295415044 --2.61753499508 -1.38293898106 --2.59832513332 -1.38291215896 --2.58106547594 -1.38288849592 --2.56380647421 -1.38286799192 --2.5465477109 -1.38285061717 --2.52928954363 -1.38283643127 --2.51203143597 -1.3828253746 --2.49477374554 -1.38281756639 --2.47751611471 -1.38281291723 --2.4602587223 -1.38281142712 --2.44300121069 -1.38281309605 --2.42574393749 -1.38281795383 --2.40848642588 -1.38282600045 --2.39122891426 -1.38283723593 --2.37397098542 -1.38285163045 --2.35671305656 -1.38286918402 --2.33945465088 -1.38288992643 --2.32219606638 -1.38291382789 --2.30493688583 -1.38294088841 --2.28767734766 -1.38295415044 --2.26846909523 -1.38293901086 --2.24925929308 -1.38291218877 --2.2319996953 -1.38288849592 --2.21474069357 -1.38286799192 --2.19748193025 -1.38285061717 --2.18022364378 -1.38283643127 --2.16296547652 -1.38282540441 --2.14570784569 -1.38281756639 --2.12845021486 -1.38281285763 --2.11119282246 -1.38281136752 --2.09393531084 -1.38281306625 --2.07667803764 -1.38281795383 --2.05942046642 -1.38282600045 --2.04216295481 -1.38283723593 --2.02490514517 -1.38285166025 --2.00764724612 -1.38286924362 --1.99038881063 -1.38288995624 --1.97313019633 -1.38291382789 --1.95587098598 -1.38294088841 --1.93861147762 -1.38295415044 --1.91940328479 -1.38293898106 --1.90019345283 -1.38291215896 --1.88293376565 -1.38288849592 --1.86567476392 -1.38286796212 --1.8484160304 -1.38285058737 --1.83115780354 -1.38283643127 --1.81389969587 -1.38282540441 --1.79664203525 -1.38281756639 --1.77938434482 -1.38281285763 --1.76212698221 -1.38281139732 --1.7448695302 -1.38281309605 --1.7276122272 -1.38281795383 --1.71035465598 -1.38282600045 --1.69309717417 -1.38283723593 --1.67583933473 -1.38285163045 --1.65858140588 -1.38286918402 --1.64132297039 -1.38288992643 --1.62406435609 -1.38291382789 --1.60680514574 -1.38294091821 --1.58954560757 -1.38295418024 --1.57033741474 -1.38293901086 --1.55112761259 -1.38291218877 --1.53386792541 -1.38288846612 --1.51660889387 -1.38286793232 --1.49935013056 -1.38285058737 --1.48209196329 -1.38283643127 --1.46483385563 -1.38282540441 --1.4475761652 -1.38281756639 --1.43031853438 -1.38281285763 --1.41306117177 -1.38281139732 --1.39580366016 -1.38281309605 --1.37854635715 -1.38281795383 --1.36128881574 -1.38282600045 --1.34403133392 -1.38283723593 --1.32677349448 -1.38285166025 --1.30951556563 -1.38286921382 --1.29225713015 -1.38288992643 --1.27499851585 -1.38291382789 --1.2577393055 -1.38294091821 --1.24047979713 -1.38295418024 --1.2212715745 -1.38293898106 --1.20206174255 -1.38291215896 --1.18480208516 -1.38288846612 --1.16754308343 -1.38286793232 --1.15028432011 -1.38285055757 --1.13302609324 -1.38283640146 --1.11576801539 -1.38282540441 --1.09851035476 -1.38281753659 --1.08125266433 -1.38281285763 --1.06399530172 -1.38281142712 --1.04673781991 -1.38281309605 --1.02948051691 -1.38281795383 --1.01222297549 -1.38282600045 --0.994965478779 -1.38283723593 --0.977707609534 -1.38285163045 --0.960449680686 -1.38286921382 --0.9431912601 -1.38288995624 --0.925932660699 -1.38291382789 --0.90867343545 -1.38294091821 --0.891413897276 -1.38295415044 --0.872205719352 -1.38293895125 --0.8529959023 -1.38291215896 --0.835736215115 -1.38288849592 --0.818477198482 -1.38286796212 --0.80121845007 -1.38285058737 --0.783960253 -1.38283646107 --0.76670217514 -1.38282540441 --0.749444514513 -1.38281753659 --0.732186824083 -1.38281285763 --0.714929461479 -1.38281136752 --0.697671979665 -1.38281306625 --0.680414661765 -1.38281795383 --0.663157120347 -1.38282600045 --0.645899638534 -1.38283723593 --0.628641754389 -1.38285166025 --0.61138382554 -1.38286921382 --0.594125419855 -1.38288992643 --0.576866820454 -1.38291382789 --0.559607595205 -1.38294088841 --0.542348057032 -1.38295415044 --0.523139849305 -1.38293898106 --0.503930032254 -1.38291215896 --0.486670374871 -1.38288849592 --0.469411358238 -1.38286796212 --0.452152602375 -1.38285058737 --0.434894405305 -1.38283646107 --0.417636319995 -1.38282543421 --0.400378644466 -1.38281756639 --0.383120961487 -1.38281288743 --0.365863598883 -1.38281139732 --0.34860612452 -1.38281306625 --0.331348828971 -1.38281795383 --0.314091265201 -1.38282600045 --0.296833761036 -1.38283723593 --0.279575906694 -1.38285166025 --0.262317985297 -1.38286921382 --0.245059568435 -1.38288992643 --0.227800961584 -1.38291382789 --0.21054174006 -1.38294088841 --0.193282213062 -1.38295415044 --0.174074016512 -1.40005147457 --0.154860433191 -1.40002453327 --0.137600738555 -1.40000072122 --0.120341708884 -1.39998006821 --0.103082930669 -1.39996266365 --0.0858247037977 -1.39994847774 --0.0685665970668 -1.39993736148 --0.051308915019 -1.39992949366 --0.0340512352995 -1.3999247849 --0.0167938573286 -1.39992323518 -0.00046364287846 -1.39992493391 -0.0177209626418 -1.3999298811 -0.0349785308354 -1.39993795753 -0.0522360373288 -1.3999492228 -0.069493914023 -1.39996370673 -0.0867518577725 -1.39998140931 -0.104010295123 -1.40000221133 -0.121268918738 -1.4000261724 -0.1385281533 -1.40005338192 -0.15578770265 -1.40006670356 -0.174995753914 -1.40005144477 -0.194205418229 -1.40002450347 -0.211465112865 -1.40000072122 -0.228724136948 -1.39998006821 -0.245982907713 -1.39996263385 -0.263241149485 -1.39994844794 -0.280499264598 -1.39993739128 -0.297756940127 -1.39992952347 -0.315014600754 -1.3999248147 -0.33227199316 -1.39992332459 -0.349529504776 -1.39992499351 -0.366786815226 -1.3999298811 -0.384044386446 -1.39993795753 -0.401301890612 -1.39994925261 -0.418559774756 -1.39996373653 -0.435817718506 -1.39998137951 -0.453076146543 -1.40000218153 -0.470334760845 -1.4000261724 -0.487593993545 -1.40005335212 -0.504853531718 -1.40006667376 -0.524061590433 -1.40005144477 -0.543271273374 -1.40002450347 -0.560530975461 -1.40000072122 -0.577789992094 -1.39998009801 -0.595048755407 -1.39996266365 -0.612306982279 -1.39994844794 -0.629565104842 -1.39993736148 -0.646822810173 -1.39992949367 -0.664080485702 -1.3999248147 -0.681337863207 -1.39992332459 -0.698595330119 -1.39992499351 -0.715852633119 -1.3999298811 -0.733110234142 -1.39993795753 -0.750367745757 -1.39994925261 -0.767625615 -1.39996370673 -0.784883543849 -1.3999813497 -0.802141964436 -1.40000218153 -0.81940060854 -1.4000261724 -0.836659863591 -1.40005335212 -0.853919401765 -1.40006664395 -0.873127445578 -1.40005144477 -0.89233712852 -1.40002453327 -0.909596830606 -1.40000072122 -0.926855847239 -1.39998009801 -0.944114610553 -1.39996266365 -0.961372837424 -1.39994847775 -0.978630959987 -1.39993742108 -0.995888620616 -1.39992952347 -1.01314628124 -1.3999247849 -1.03040367365 -1.39992329478 -1.04766118526 -1.39992499351 -1.06491851807 -1.3999298811 -1.08217608929 -1.39993795753 -1.0994336009 -1.39994925261 -1.11669147015 -1.39996373653 -1.13394939899 -1.39998140931 -1.15120783448 -1.40000221133 -1.16846644878 -1.4000261724 -1.18572568893 -1.40005335212 -1.20298522711 -1.40006664395 -1.22219327092 -1.40005141497 -1.24140298367 -1.40002450347 -1.25866267085 -1.40000072122 -1.27592167258 -1.39998006821 -1.2931804359 -1.39996263385 -1.31043866277 -1.39994844794 -1.32769680023 -1.39993739128 -1.34495449066 -1.39992952347 -1.36221218109 -1.3999248147 -1.37946954369 -1.39992332459 -1.39672702551 -1.39992499351 -1.41398435831 -1.3999298811 -1.43124192953 -1.39993795753 -1.44849944115 -1.39994925261 -1.46575731039 -1.39996370673 -1.48301526904 -1.3999813199 -1.50027373433 -1.40000218153 -1.51753234863 -1.4000261724 -1.53479155898 -1.40005335212 -1.55205109716 -1.40006670356 -1.57125917077 -1.40005144477 -1.59046885371 -1.40002450347 -1.6077285409 -1.40000075102 -1.62498757243 -1.39998009801 -1.64224633575 -1.39996263385 -1.65950456262 -1.39994844794 -1.67676267028 -1.39993739128 -1.69402033091 -1.39992952347 -1.71127799153 -1.3999247849 -1.72853538394 -1.39992329478 -1.74579289555 -1.39992499351 -1.76305019855 -1.3999298811 -1.78030776977 -1.39993795753 -1.79756528139 -1.39994925261 -1.81482318044 -1.39996373653 -1.83208110929 -1.39998137951 -1.84933951497 -1.40000218153 -1.86659815908 -1.4000261724 -1.88385742903 -1.40005338192 -1.901116997 -1.40006667376 -1.92032501101 -1.40005141497 -1.93953463435 -1.40002450347 -1.95679435134 -1.40000069142 -1.97405341268 -1.39998003841 -1.99131217599 -1.39996263385 -2.00857037306 -1.39994844794 -2.02582848072 -1.39993736148 -2.04308617115 -1.39992946386 -2.06034386158 -1.3999247849 -2.07760125399 -1.39992332459 -2.094858706 -1.39992499351 -2.1121160388 -1.3999298811 -2.12937361002 -1.39993795753 -2.14663106203 -1.39994925261 -2.16388899088 -1.39996370673 -2.18114691973 -1.39998137951 -2.19840532541 -1.40000221133 -2.21566396952 -1.4000261724 -2.23292320967 -1.40005338192 -2.25018280744 -1.40006667376 -2.26939088106 -1.40005141497 -2.288600564 -1.40002450347 -2.30586022139 -1.40000072122 -2.32311922312 -1.39998006821 -2.34037804604 -1.39996263385 -2.3576362133 -1.39994844794 -2.37489426136 -1.39993736148 -2.39215195179 -1.39992949367 -2.40940964222 -1.3999247849 -2.42666703463 -1.39992326498 -2.44392460585 -1.39992496371 -2.46118193865 -1.3999298811 -2.47843950987 -1.39993795753 -2.49569702148 -1.39994925261 -2.51295489073 -1.39996373653 -2.53021287918 -1.39998137951 -2.54747128487 -1.40000218153 -2.56472986937 -1.4000261724 -2.58198910952 -1.40005335212 -2.59924864769 -1.40006664395 -2.6184567213 -1.40005141497 -2.63766640425 -1.40002450347 -2.65492606163 -1.40000072122 -2.67218506336 -1.39998006821 -2.68944382667 -1.39996263385 -2.70670211315 -1.39994847775 -2.72396022081 -1.39993742108 -2.74121791125 -1.39992952347 -2.75847566128 -1.3999248147 -2.77573299408 -1.39992332459 -2.79299044609 -1.39992499351 -2.81024777889 -1.3999298811 -2.82750535011 -1.39993795753 -2.84476286173 -1.39994925261 -2.86202073097 -1.39996373653 -2.87927865982 -1.39998137951 -2.89653706551 -1.40000218153 -2.91379570961 -1.4000261724 -2.93105494976 -1.40005335212 -2.94831448793 -1.40006667376 -2.96752256155 -1.40005147457 -2.98673218489 -1.40002453327 -3.00399190188 -1.40000072122 -3.02125096321 -1.39998006821 -3.03850972652 -1.39996266365 -3.05576795339 -1.39994847774 -3.07302606106 -1.39993736148 -3.09028375149 -1.39992949366 -3.10754144192 -1.3999247849 -3.12479883432 -1.39992323518 --3.14112898906 -1.39992493391 --3.12387168408 -1.3999298811 --3.10661411285 -1.39993795753 --3.08935660124 -1.3999492228 --3.07209873199 -1.39996370673 --3.05484080315 -1.39998140931 --3.03758239746 -1.40000221133 --3.02032375336 -1.4000261724 --3.00306451321 -1.40005338192 --2.98580497503 -1.40006670356 --2.96659690141 -1.40005144477 --2.94738727808 -1.40002450347 --2.93012756109 -1.40000072122 --2.91286849975 -1.39998006821 --2.89560973644 -1.39996263385 --2.87835150957 -1.39994844794 --2.86109340191 -1.39993739128 --2.84383571148 -1.39992952347 --2.82657802105 -1.3999248147 --2.80932062864 -1.39992332459 --2.79206317663 -1.39992499351 --2.77480584383 -1.3999298811 --2.75754827261 -1.39993795753 --2.7402908206 -1.39994925261 --2.72303289175 -1.39996373653 --2.7057749629 -1.39998137951 --2.68851655722 -1.40000218153 --2.67125791311 -1.4000261724 --2.65399867296 -1.40005335212 --2.63673913479 -1.40006667376 --2.61753112078 -1.40005144477 --2.59832143784 -1.40002450347 --2.58106172085 -1.40000072122 --2.56380265951 -1.39998009801 --2.5465438962 -1.39996266365 --2.52928572893 -1.39994844794 --2.51202756167 -1.39993736148 --2.49476987123 -1.39992949367 --2.47751224041 -1.3999248147 --2.4602547884 -1.39992332459 --2.44299733639 -1.39992499351 --2.42574006319 -1.3999298811 --2.40848243237 -1.39993795753 --2.39122492075 -1.39994925261 --2.37396705151 -1.39996370673 --2.35670912266 -1.3999813497 --2.33945065737 -1.40000218153 --2.32219201326 -1.4000261724 --2.30493277311 -1.40005335212 --2.28767323494 -1.40006664395 --2.26846516132 -1.40005144477 --2.24925547838 -1.40002453327 --2.231995821 -1.40000072122 --2.21473681927 -1.39998009801 --2.19747805596 -1.39996266365 --2.18021976948 -1.39994847775 --2.16296166181 -1.39993742108 --2.14570403099 -1.39992952347 --2.12844640017 -1.3999247849 --2.11118900776 -1.39992329478 --2.09393143654 -1.39992499351 --2.07667410374 -1.3999298811 --2.05941653252 -1.39993795753 --2.0421590209 -1.39994925261 --2.02490115166 -1.39996373653 --2.00764322281 -1.39998140931 --1.99038478732 -1.40000221133 --1.97312617302 -1.4000261724 --1.95586696267 -1.40005335212 --1.9386074245 -1.40006664395 --1.91939935088 -1.40005141497 --1.90018966794 -1.40002450347 --1.88292998075 -1.40000072122 --1.86567094922 -1.39998006821 --1.84841218591 -1.39996263385 --1.83115395904 -1.39994844794 --1.81389585137 -1.39993739128 --1.79663816094 -1.39992952347 --1.77938047051 -1.3999248147 --1.76212310791 -1.39992332459 --1.7448656261 -1.39992499351 --1.72760829329 -1.3999298811 --1.71035069227 -1.39993795753 --1.69309321046 -1.39994925261 --1.67583534121 -1.39996370673 --1.65857738256 -1.3999813199 --1.64131894708 -1.40000218153 --1.62406033277 -1.4000261724 --1.60680109262 -1.40005335212 --1.58954152465 -1.40006670356 --1.57033351064 -1.40005144477 --1.5511238575 -1.40002450347 --1.53386414051 -1.40000075102 --1.51660510898 -1.39998009801 --1.49934631586 -1.39996263385 --1.48208808899 -1.39994844794 --1.46482998132 -1.39993739128 --1.4475722909 -1.39992952347 --1.43031463027 -1.3999247849 --1.41305726766 -1.39992329478 --1.39579975605 -1.39992499351 --1.37854245305 -1.3999298811 --1.36128488183 -1.39993795753 --1.34402734041 -1.39994925261 --1.32676950097 -1.39996373653 --1.30951157212 -1.39998137951 --1.29225310683 -1.40000218153 --1.27499449253 -1.4000261724 --1.25773528218 -1.40005338192 --1.24047574401 -1.40006667376 --1.2212676704 -1.40005141497 --1.20205798745 -1.40002450347 --1.18479830026 -1.40000069142 --1.16753926873 -1.39998003841 --1.15028050542 -1.39996263385 --1.13302227855 -1.39994844794 --1.11576417089 -1.39993736148 --1.09850648045 -1.39992946386 --1.08124876022 -1.3999247849 --1.06399139762 -1.39992332459 --1.0467339158 -1.39992499351 --1.029476583 -1.3999298811 --1.01221904158 -1.39993795753 --0.994961544871 -1.39994925261 --0.977703660727 -1.39996370673 --0.960445716977 -1.39998137951 --0.943187266588 -1.40000221133 --0.925928652287 -1.4000261724 --0.908669412136 -1.40005338192 --0.89140984416 -1.40006667376 --0.872201785445 -1.40005141497 --0.852992117405 -1.40002450347 --0.835732445121 -1.40000072122 --0.818473413587 -1.39998006821 --0.801214620471 -1.39996263385 --0.7839564085 -1.39994844794 --0.76669831574 -1.39993736148 --0.749440640211 -1.39992949367 --0.732182949782 -1.3999247849 --0.714925572276 -1.39992326498 --0.69766806066 -1.39992496371 --0.680410727858 -1.3999298811 --0.663153171539 -1.39993795753 --0.645895674824 -1.39994925261 --0.628637775779 -1.39996373653 --0.611379817128 -1.39998137951 --0.594121396541 -1.40000218153 --0.57686278224 -1.4000261724 --0.559603542089 -1.40005335212 --0.542343989014 -1.40006664395 --0.5231359303 -1.40005141497 --0.50392626226 -1.40002450347 --0.486666589975 -1.40000072122 --0.469407565892 -1.39998006821 --0.452148787677 -1.39996263385 --0.434890560806 -1.39994847775 --0.417632453144 -1.39993742108 --0.400374762714 -1.39992952347 --0.383117072284 -1.3999248147 --0.365859694779 -1.39992332459 --0.348602205515 -1.39992499351 --0.331344902515 -1.3999298811 --0.314087331295 -1.39993795753 --0.296829804778 -1.39994925261 --0.279571920633 -1.39996373653 --0.262313984335 -1.39998137951 --0.245055556298 -1.40000218153 --0.22779693082 -1.4000261724 --0.210537694395 -1.40005335212 --0.19327814877 -1.40006667376 --0.174070101232 -1.4172142148 --0.154856752604 -1.41718715429 --0.137597043067 -1.41716322303 --0.120338000357 -1.41714254022 --0.103079207242 -1.41712504625 --0.0858209636062 -1.41711077094 --0.0685628382489 -1.41709962487 --0.0513051413 -1.41709178686 --0.0340474476106 -1.41708707809 --0.016790052643 -1.41708549857 -0.000467464793475 -1.4170871973 -0.0177248001564 -1.41709214449 -0.0349823827855 -1.41710025072 -0.0522399079055 -1.4171115756 -0.0694978022948 -1.41712608933 -0.0867557562888 -1.41714379191 -0.104014204815 -1.41716468334 -0.121272845194 -1.41718879342 -0.138532094657 -1.41721612215 -0.155791662633 -1.41722947359 -0.174999576062 -1.41721415519 -0.194209098816 -1.41718709469 -0.211468808353 -1.41716319323 -0.228727851063 -1.41714251041 -0.245986636728 -1.41712501645 -0.263244882226 -1.41711074114 -0.28050301224 -1.41709962487 -0.297760717571 -1.41709172726 -0.31501840055 -1.41708701849 -0.332275800407 -1.41708552837 -0.349533326924 -1.4170872271 -0.366790652275 -1.41709214449 -0.384048238397 -1.41710025072 -0.401305757463 -1.4171115756 -0.418563656509 -1.41712611913 -0.43582162261 -1.41714385152 -0.453080065548 -1.41716471315 -0.470338687301 -1.41718879342 -0.487597934902 -1.41721612215 -0.504857510329 -1.41722947359 -0.524065420032 -1.41721415519 -0.54327493906 -1.41718712449 -0.560534656048 -1.41716322303 -0.577793702483 -1.41714251041 -0.595052480697 -1.41712498665 -0.61231072247 -1.41711071134 -0.629568845033 -1.41709962487 -0.646826550364 -1.41709172726 -0.664084270596 -1.41708701849 -0.681341663003 -1.41708552837 -0.698599144816 -1.4170871973 -0.715856477618 -1.41709211469 -0.733114078641 -1.41710025072 -0.750371590257 -1.4171115756 -0.767629489302 -1.41712611913 -0.784887433052 -1.41714385152 -0.802145883441 -1.41716471315 -0.819404557347 -1.41718876362 -0.836663812399 -1.41721609235 -0.853923350573 -1.41722944379 -0.873131260276 -1.41721412539 -0.892340809107 -1.41718709469 -0.909600511193 -1.41716319323 -0.926859557628 -1.41714251041 -0.944118350744 -1.41712501645 -0.961376592517 -1.41711077094 -0.978634700179 -1.41709965467 -0.995892360806 -1.41709175706 -1.01315006614 -1.41708704829 -1.03040745854 -1.41708552837 -1.04766499996 -1.4170872271 -1.06492239237 -1.41709214449 -1.08217996359 -1.41710025072 -1.09943747521 -1.4171115756 -1.11669534445 -1.41712611913 -1.13395327329 -1.41714385152 -1.15121173859 -1.41716474295 -1.16847038269 -1.41718882322 -1.18572962284 -1.41721612215 -1.20298919082 -1.41722944379 -1.22219711542 -1.41721412539 -1.24140667915 -1.41718709469 -1.25866639614 -1.41716319323 -1.27592542768 -1.41714251041 -1.29318419099 -1.41712501645 -1.31044241786 -1.41711074114 -1.32770058513 -1.41709962487 -1.34495827556 -1.41709172726 -1.36221596599 -1.41708701849 -1.37947335839 -1.41708552837 -1.39673087001 -1.4170872271 -1.41398820281 -1.41709214449 -1.43124577403 -1.41710025072 -1.44850331545 -1.4171115756 -1.4657612145 -1.41712611913 -1.48301917314 -1.41714382171 -1.50027763844 -1.41716471314 -1.51753628254 -1.41718879342 -1.53479552269 -1.41721609235 -1.55205506086 -1.41722947359 -1.57126295566 -1.41721415519 -1.59047248959 -1.41718709469 -1.60773220658 -1.41716322303 -1.62499126792 -1.41714254022 -1.64225006104 -1.41712501645 -1.65950828791 -1.41711074114 -1.67676639557 -1.41709962487 -1.6940241158 -1.41709178686 -1.71128180623 -1.41708707809 -1.72853919864 -1.41708552837 -1.74579671025 -1.4170872271 -1.76305404306 -1.41709214449 -1.78031164408 -1.41710025072 -1.7975691557 -1.4171115756 -1.81482705474 -1.41712611913 -1.83208501339 -1.41714385152 -1.84934344888 -1.41716474295 -1.86660209298 -1.41718882322 -1.88386136294 -1.41721612215 -1.90112093091 -1.41722944379 -1.92032882571 -1.41721412539 -1.93953832984 -1.41718709469 -1.95679804683 -1.41716319323 -1.97405710817 -1.41714251041 -1.99131590128 -1.41712501645 -2.00857409835 -1.41711074114 -2.02583223581 -1.41709959507 -2.04308998585 -1.41709169746 -2.06034767628 -1.41708701849 -2.07760506869 -1.41708552837 -2.0948625803 -1.4170872271 -2.1121199131 -1.41709214449 -2.12937748432 -1.41710025072 -2.14663499594 -1.4171115756 -2.16389286518 -1.41712608933 -2.18115079403 -1.41714382171 -2.19840925932 -1.41716474295 -2.21566790342 -1.41718882322 -2.23292714357 -1.41721612215 -2.25018674135 -1.41722944379 -2.26939469576 -1.41721412539 -2.28860425949 -1.41718712449 -2.30586391687 -1.41716322303 -2.32312291861 -1.41714251041 -2.34038180113 -1.41712501645 -2.357640028 -1.41711074114 -2.37489807606 -1.41709962487 -2.39215576649 -1.41709172726 -2.40941345692 -1.41708701849 -2.42667084932 -1.41708552837 -2.44392842055 -1.4170872271 -2.46118581295 -1.41709214449 -2.47844338417 -1.41710025072 -2.49570083618 -1.4171115756 -2.51295876503 -1.41712611913 -2.53021681309 -1.41714385152 -2.54747521877 -1.41716474295 -2.56473380327 -1.41718882322 -2.58199304342 -1.41721612215 -2.5992525816 -1.41722944379 -2.61846053601 -1.41721412539 -2.63767009973 -1.41718712449 -2.65492981672 -1.41716322303 -2.67218881846 -1.41714251041 -2.68944758177 -1.41712501645 -2.70670586824 -1.41711077094 -2.72396391631 -1.41709965467 -2.74122160673 -1.41709172726 -2.75847941637 -1.41708701849 -2.77573680878 -1.41708552837 -2.79299426079 -1.4170872271 -2.81025159359 -1.41709214449 -2.82750916481 -1.41710025072 -2.84476667643 -1.4171115756 -2.86202460528 -1.41712608933 -2.87928259373 -1.41714379191 -2.89654099941 -1.41716468334 -2.91379964352 -1.41718879342 -2.93105894327 -1.41721609235 -2.94831848144 -1.41722944379 -2.96752637625 -1.4172142148 -2.98673588037 -1.41718715429 -3.00399559736 -1.41716322303 -3.0212546587 -1.41714254022 -3.03851342201 -1.41712504625 -3.05577164888 -1.41711077094 -3.07302981615 -1.41709962487 -3.09028750658 -1.41709178686 -3.10754519701 -1.41708707809 -3.12480264902 -1.41708549857 --3.14112517436 -1.4170871973 --3.12386786938 -1.41709214449 --3.10661029816 -1.41710025072 --3.08935278654 -1.4171115756 --3.07209485769 -1.41712608933 --3.05483686924 -1.41714379191 --3.03757846356 -1.41716468334 --3.02031981945 -1.41718879342 --3.0030605197 -1.41721612215 --2.98580098152 -1.41722947359 --2.96659308672 -1.41721415519 --2.9473835826 -1.41718709469 --2.93012386561 -1.41716319323 --2.91286480427 -1.41714251041 --2.89560604095 -1.41712501645 --2.87834781408 -1.41711074114 --2.86108964681 -1.41709962487 --2.84383189678 -1.41709172726 --2.82657420635 -1.41708701849 --2.80931681395 -1.41708552837 --2.79205936194 -1.4170872271 --2.77480202913 -1.41709214449 --2.75754439831 -1.41710025072 --2.74028688669 -1.4171115756 --2.72302901745 -1.41712611913 --2.7057710886 -1.41714385152 --2.68851262331 -1.41716471315 --2.67125397921 -1.41718879342 --2.65399473906 -1.41721612215 --2.63673514128 -1.41722947359 --2.61752724648 -1.41721415519 --2.59831774235 -1.41718712449 --2.58105802536 -1.41716322303 --2.56379896402 -1.41714251041 --2.54654020071 -1.41712498665 --2.52928197384 -1.41711071134 --2.51202380657 -1.41709962487 --2.49476611614 -1.41709172726 --2.47750842571 -1.41708701849 --2.46025103331 -1.41708552837 --2.44299352169 -1.4170871973 --2.42573618889 -1.41709211469 --2.40847855806 -1.41710025072 --2.39122104644 -1.4171115756 --2.3739631772 -1.41712611913 --2.35670524836 -1.41714385152 --2.33944678307 -1.41716471315 --2.32218807936 -1.41718876362 --2.30492883921 -1.41721609235 --2.28766930103 -1.41722944379 --2.26846140623 -1.41721412539 --2.2492518425 -1.41718709469 --2.23199212551 -1.41716319323 --2.21473312378 -1.41714251041 --2.19747430086 -1.41712501645 --2.18021601439 -1.41711077094 --2.16295796633 -1.41709965467 --2.14570027589 -1.41709175706 --2.12844258546 -1.41708704829 --2.11118519306 -1.41708552837 --2.09392762184 -1.4170872271 --2.07667028904 -1.41709214449 --2.05941271782 -1.41710025072 --2.0421552062 -1.4171115756 --2.02489727736 -1.41712611913 --2.00763931871 -1.41714385152 --1.99038088322 -1.41716474295 --1.97312223911 -1.41718882322 --1.95586299896 -1.41721612215 --1.93860343098 -1.41722944379 --1.91939553618 -1.41721412539 --1.90018600225 -1.41718709469 --1.88292628527 -1.41716319323 --1.86566725373 -1.41714251041 --1.84840846062 -1.41712501645 --1.83115020394 -1.41711074114 --1.81389209628 -1.41709962487 --1.79663440585 -1.41709172726 --1.77937668562 -1.41708701849 --1.76211929321 -1.41708552837 --1.7448617816 -1.4170872271 --1.7276044488 -1.41709214449 --1.71034684777 -1.41710025072 --1.69308933616 -1.4171115756 --1.67583146692 -1.41712611913 --1.65857347846 -1.41714382171 --1.64131501317 -1.41716471314 --1.62405639887 -1.41718879342 --1.60679712891 -1.41721609235 --1.58953756094 -1.41722947359 --1.57032969594 -1.41721415519 --1.55112016201 -1.41718709469 --1.53386044502 -1.41716322303 --1.51660141349 -1.41714254022 --1.49934259057 -1.41712501645 --1.4820843339 -1.41711074114 --1.46482622623 -1.41709962487 --1.4475685358 -1.41709178686 --1.43031084537 -1.41708707809 --1.41305348277 -1.41708552837 --1.39579597116 -1.4170872271 --1.37853860855 -1.41709214449 --1.36128100753 -1.41710025072 --1.34402346611 -1.4171115756 --1.32676559687 -1.41712611913 --1.30950766802 -1.41714385152 --1.29224920273 -1.41716474295 --1.27499055862 -1.41718882322 --1.25773131847 -1.41721612215 --1.2404717505 -1.41722944379 --1.22126382589 -1.41721412539 --1.20205429196 -1.41718709469 --1.18479457497 -1.41716319323 --1.16753554344 -1.41714251041 --1.15027678013 -1.41712501645 --1.13301852346 -1.41711074114 --1.11576041579 -1.41709959507 --1.09850272536 -1.41709169746 --1.08124497533 -1.41708701849 --1.06398758292 -1.41708552837 --1.04673010111 -1.4170872271 --1.02947276831 -1.41709214449 --1.01221519709 -1.41710025072 --0.99495767057 -1.4171115756 --0.977699771523 -1.41712608933 --0.960441827774 -1.41714382171 --0.943183362484 -1.41716474295 --0.92592471838 -1.41718882322 --0.90866547823 -1.41721612215 --0.891405895352 -1.41722944379 --0.872197955847 -1.41721412539 --0.852988421917 -1.41718712449 --0.835728749633 -1.41716322303 --0.818469718099 -1.41714251041 --0.801210910082 -1.41712501645 --0.78395268321 -1.41711074114 --0.766694545746 -1.41709962487 --0.749436840415 -1.41709172726 --0.732179149986 -1.41708701849 --0.714921757579 -1.41708552837 --0.697664216161 -1.4170872271 --0.680406868458 -1.41709214449 --0.66314932704 -1.41710025072 --0.645891815424 -1.4171115756 --0.628633886576 -1.41712611913 --0.611375898123 -1.41714385152 --0.594117462635 -1.41716474295 --0.576858863234 -1.41718882322 --0.559599623084 -1.41721612215 --0.542340040207 -1.41722944379 --0.523132115603 -1.41721412539 --0.503922589123 -1.41718712449 --0.486662894487 -1.41716322303 --0.469403855502 -1.41714251041 --0.452145054936 -1.41712501645 --0.434886805713 -1.41711077094 --0.41762868315 -1.41709965467 --0.400370985269 -1.41709172726 --0.383113287389 -1.41708701849 --0.365855894983 -1.41708552837 --0.348598390817 -1.4170872271 --0.331341058016 -1.41709214449 --0.314083471895 -1.41710025072 --0.296825945378 -1.4171115756 --0.279568046332 -1.41712608933 --0.262310087681 -1.41714379191 --0.245051633567 -1.41716468334 --0.227792993188 -1.41718879342 --0.210533745587 -1.41721609235 --0.193274181336 -1.41722944379 --0.174066275358 -1.43438190222 --0.15485496819 -1.4343547821 --0.137595254928 -1.43433079124 --0.120336204767 -1.43431004882 --0.103077402338 -1.43429243564 --0.0858191456646 -1.43427810073 --0.068561013788 -1.43426692486 --0.0513033112511 -1.43425899744 --0.0340456096455 -1.43425428867 --0.0167882079259 -1.43425279855 -0.000469316961245 -1.43425449729 -0.0177266595419 -1.43425941467 -0.0349842500873 -1.43426758051 -0.0522417826578 -1.43427893519 -0.0694996826351 -1.43429350853 -0.086757645011 -1.43431127071 -0.104016100988 -1.43433222175 -0.121274745092 -1.43435642123 -0.138534005731 -1.43438386917 -0.155793584883 -1.43439728022 -0.175001427531 -1.43438190222 -0.194210886955 -1.4343547523 -0.211470603943 -1.43433076143 -0.228729650378 -1.43431001901 -0.24598845467 -1.43429243564 -0.263246707618 -1.43427810073 -0.280504830182 -1.43426692486 -0.297762535513 -1.43425896764 -0.315020240843 -1.43425425887 -0.332277648151 -1.43425276875 -0.349535174668 -1.43425449729 -0.366792507469 -1.43425944447 -0.384050101042 -1.43426758051 -0.401307635009 -1.43427893519 -0.418565534055 -1.43429353833 -0.435823507607 -1.43431133032 -0.453081957996 -1.43433228135 -0.470340587199 -1.43435645103 -0.487599849701 -1.43438386917 -0.504859432578 -1.43439725041 -0.524067282677 -1.43438187242 -0.543276742101 -1.4343547821 -0.560536444187 -1.43433079124 -0.577795490623 -1.43431001901 -0.595054298639 -1.43429240584 -0.612312555313 -1.43427807093 -0.629570677876 -1.43426695466 -0.646828383207 -1.43425899744 -0.664086103439 -1.43425425887 -0.681343495846 -1.43425276875 -0.698601007462 -1.43425446749 -0.715858355165 -1.43425941467 -0.733115926385 -1.43426758051 -0.750373452902 -1.43427893519 -0.767631366849 -1.43429353833 -0.784889325499 -1.43431136012 -0.80214779079 -1.43433231115 -0.819406449795 -1.43435645103 -0.836665704846 -1.43438386917 -0.853925257921 -1.43439728022 -0.87313310802 -1.43438190222 -0.892342582345 -1.4343547523 -0.909602284432 -1.43433076143 -0.926861330867 -1.43431001901 -0.944120153785 -1.43429243564 -0.96137842536 -1.43427810073 -0.978636533022 -1.43426695466 -0.99589420855 -1.43425902724 -1.01315191388 -1.43425428867 -1.03040930629 -1.43425276875 -1.04766687751 -1.43425449729 -1.06492424012 -1.43425944447 -1.08218181133 -1.43426758051 -1.09943935275 -1.43427893519 -1.11669722199 -1.43429353833 -1.13395518064 -1.43431133032 -1.15121364593 -1.43433231115 -1.16847229004 -1.43435648084 -1.18573155999 -1.43438386917 -1.20299112797 -1.43439728022 -1.22219896317 -1.43438190222 -1.24140843749 -1.4343547523 -1.25866815448 -1.43433076143 -1.27592721582 -1.43431001901 -1.29318600893 -1.43429243564 -1.3104442358 -1.43427810073 -1.32770240307 -1.43426695466 -1.3449601233 -1.43425899744 -1.36221781373 -1.43425425887 -1.37947520613 -1.43425279855 -1.39673271775 -1.43425452709 -1.41399005056 -1.43425944447 -1.43124762178 -1.43426755071 -1.448505193 -1.43427890539 -1.46576312185 -1.43429356813 -1.48302105069 -1.43431138992 -1.50027951598 -1.43433231115 -1.51753816008 -1.43435648084 -1.53479740023 -1.43438392877 -1.55205696821 -1.43439731002 -1.57126480341 -1.43438190222 -1.59047427773 -1.4343547523 -1.60773399472 -1.43433076143 -1.62499305606 -1.43430998921 -1.64225187898 -1.43429240584 -1.65951010585 -1.43427810073 -1.67676821351 -1.43426695466 -1.69402593374 -1.43425902724 -1.71128362417 -1.43425428867 -1.72854101658 -1.43425276875 -1.74579855799 -1.43425449729 -1.7630559206 -1.43425944447 -1.78031352163 -1.43426758051 -1.79757103324 -1.43427893519 -1.81482893229 -1.43429353833 -1.83208692074 -1.43431133032 -1.84934535622 -1.43433231115 -1.86660400033 -1.43435648084 -1.88386327028 -1.43438386917 -1.90112280846 -1.43439728022 -1.92033067346 -1.43438190222 -1.93954014778 -1.4343547523 -1.95679986477 -1.43433076143 -1.97405892611 -1.43431001901 -1.99131768942 -1.43429243564 -2.00857591629 -1.43427810073 -2.02583408356 -1.43426692486 -2.04309183359 -1.43425896764 -2.06034952402 -1.43425428867 -2.07760685682 -1.43425279856 -2.09486442804 -1.43425449729 -2.11212182045 -1.43425944447 -2.12937939167 -1.43426758051 -2.14663690329 -1.43427893519 -2.16389477253 -1.43429350853 -2.18115276098 -1.43431130051 -2.19841122627 -1.43433231115 -2.21566987037 -1.43435651064 -2.23292911053 -1.43438389897 -2.2501886487 -1.43439728022 -2.2693964839 -1.43438190222 -2.28860598803 -1.4343547821 -2.30586570501 -1.43433079124 -2.32312470675 -1.43431001901 -2.34038352966 -1.43429243564 -2.35764181614 -1.43427810073 -2.3748999238 -1.43426695466 -2.39215761423 -1.43425899744 -2.40941530466 -1.43425428867 -2.42667269707 -1.43425279856 -2.44393026829 -1.43425449729 -2.46118766069 -1.43425944447 -2.47844523191 -1.43426758051 -2.49570274353 -1.43427896499 -2.51296067238 -1.43429359793 -2.53021866083 -1.43431136012 -2.54747706651 -1.43433231115 -2.56473565101 -1.43435648084 -2.58199495077 -1.43438386917 -2.59925454855 -1.43439725041 -2.61846238375 -1.43438187242 -2.63767182827 -1.4343547821 -2.65493154526 -1.43433079124 -2.6721906066 -1.43431001901 -2.68944942952 -1.43429243564 -2.70670765639 -1.43427810073 -2.72396570444 -1.43426692486 -2.74122345448 -1.43425896764 -2.75848120451 -1.43425425887 -2.77573859691 -1.43425276875 -2.79299610853 -1.43425449729 -2.81025344133 -1.43425944447 -2.82751101255 -1.43426758051 -2.84476852417 -1.43427896499 -2.86202645302 -1.43429353833 -2.87928444147 -1.43431127071 -2.89654290676 -1.43433225155 -2.91380155087 -1.43435648084 -2.93106085062 -1.43438386917 -2.94832038879 -1.43439722061 -2.967528224 -1.43438190222 -2.98673766851 -1.4343547821 -3.0039973855 -1.43433079124 -3.02125650644 -1.43431004882 -3.03851526975 -1.43429243564 -3.05577349663 -1.43427810073 -3.07303166389 -1.43426692486 -3.09028935432 -1.43425899744 -3.10754704475 -1.43425428867 -3.12480443716 -1.43425279855 --3.14112338622 -1.43425449729 --3.12386602163 -1.43425941467 --3.10660845041 -1.43426758051 --3.0893509388 -1.43427893519 --3.07209300995 -1.43429350853 --3.0548350215 -1.43431127071 --3.03757655621 -1.43433222175 --3.0203179121 -1.43435642123 --3.00305861235 -1.43438386917 --2.98579907417 -1.43439728022 --2.96659123897 -1.43438190222 --2.94738173485 -1.4343547523 --2.93012201786 -1.43433076143 --2.91286295652 -1.43431001901 --2.89560419321 -1.43429243564 --2.87834596634 -1.43427810073 --2.86108779907 -1.43426692486 --2.84383004904 -1.43425896764 --2.82657235861 -1.43425425887 --2.80931502581 -1.43425276875 --2.7920575738 -1.43425449729 --2.77480024099 -1.43425944447 --2.75754255056 -1.43426758051 --2.74028497934 -1.43427893519 --2.7230271101 -1.43429353833 --2.70576912165 -1.43431133032 --2.68851065636 -1.43433228135 --2.67125201225 -1.43435645103 --2.6539927721 -1.43438386917 --2.63673323393 -1.43439725041 --2.61752539873 -1.43438187242 --2.59831589461 -1.4343547821 --2.58105617762 -1.43433079124 --2.56379717588 -1.43431001901 --2.54653841257 -1.43429240584 --2.5292801261 -1.43427807093 --2.51202195883 -1.43426695466 --2.4947642684 -1.43425899744 --2.47750657797 -1.43425425887 --2.46024918556 -1.43425276875 --2.44299161434 -1.43425446749 --2.42573428154 -1.43425941467 --2.40847671032 -1.43426758051 --2.3912191391 -1.43427893519 --2.37396121025 -1.43429353833 --2.35670328141 -1.43431136012 --2.33944487572 -1.43433231115 --2.32218623161 -1.43435645103 --2.30492699146 -1.43438386917 --2.28766739368 -1.43439728022 --2.26845955849 -1.43438190222 --2.24925011397 -1.4343547523 --2.23199039698 -1.43433076143 --2.21473139524 -1.43431001901 --2.19747251272 -1.43429243564 --2.18021422624 -1.43427810073 --2.16295617819 -1.43426695466 --2.14569848776 -1.43425902724 --2.12844073772 -1.43425428867 --2.11118328571 -1.43425276875 --2.0939257741 -1.43425449729 --2.0766684413 -1.43425944447 --2.05941087008 -1.43426758051 --2.04215335846 -1.43427893519 --2.02489542961 -1.43429353833 --2.00763747096 -1.43431133032 --1.99037900567 -1.43433231115 --1.97312033177 -1.43435648084 --1.95586109162 -1.43438386917 --1.93860152364 -1.43439728022 --1.91939368844 -1.43438190222 --1.90018421412 -1.4343547523 --1.88292449713 -1.43433076143 --1.8656654656 -1.43431001901 --1.84840664268 -1.43429243564 --1.831148386 -1.43427810073 --1.81389027834 -1.43426695466 --1.79663258791 -1.43425899744 --1.77937483787 -1.43425425887 --1.76211741567 -1.43425279855 --1.74485990405 -1.43425452709 --1.72760257125 -1.43425944447 --1.71034500003 -1.43426755071 --1.69308748841 -1.43427890539 --1.67582958937 -1.43429356813 --1.65857160091 -1.43431138992 --1.64131313562 -1.43433231115 --1.62405449152 -1.43435648084 --1.60679522157 -1.43438392877 --1.58953565359 -1.43439731002 --1.57032781839 -1.43438190222 --1.55111837387 -1.4343547523 --1.53385865689 -1.43433076143 --1.51659959555 -1.43430998921 --1.49934080243 -1.43429240584 --1.48208254575 -1.43427810073 --1.46482440829 -1.43426695466 --1.44756671786 -1.43425902724 --1.43030902743 -1.43425428867 --1.41305163503 -1.43425276875 --1.39579412341 -1.43425449729 --1.37853676081 -1.43425944447 --1.36127912999 -1.43426758051 --1.34402158857 -1.43427893519 --1.32676371932 -1.43429353833 --1.30950576067 -1.43431133032 --1.29224729538 -1.43433231115 --1.27498865128 -1.43435648084 --1.25772938132 -1.43438386917 --1.24046981335 -1.43439728022 --1.22126197815 -1.43438190222 --1.20205250382 -1.4343547523 --1.18479278684 -1.43433076143 --1.16753375531 -1.43431001901 --1.15027496219 -1.43429243564 --1.13301670551 -1.43427810073 --1.11575859785 -1.43426692486 --1.09850087762 -1.43425896764 --1.08124312758 -1.43425428867 --1.06398573518 -1.43425279856 --1.04672822356 -1.43425449729 --1.02947089076 -1.43425944447 --1.01221328974 -1.43426758051 --0.994955763222 -1.43427893519 --0.977697879076 -1.43429350853 --0.960439920426 -1.43431130051 --0.943181470036 -1.43433231115 --0.925922811031 -1.43435651064 --0.90866355598 -1.43438389897 --0.891403988004 -1.43439728022 --0.872196123004 -1.43438190222 --0.852986648679 -1.4343547821 --0.835726946593 -1.43433079124 --0.818467900157 -1.43431001901 --0.801209107042 -1.43429243564 --0.78395088017 -1.43427810073 --0.766692727804 -1.43426695466 --0.749434992671 -1.43425899744 --0.732177302242 -1.43425428867 --0.714919909835 -1.43425279856 --0.697662368417 -1.43425449729 --0.680405005813 -1.43425944447 --0.663147434592 -1.43426758051 --0.645889922977 -1.43427896499 --0.628632009029 -1.43429359793 --0.611374020576 -1.43431136012 --0.594115570187 -1.43433231115 --0.576856970787 -1.43435648084 --0.559597715735 -1.43438386917 --0.542338117957 -1.43439725041 --0.523130267859 -1.43438187242 --0.503920815885 -1.4343547821 --0.486661106348 -1.43433079124 --0.469402052462 -1.43431001901 --0.452143244445 -1.43429243564 --0.434884987772 -1.43427810073 --0.417626865208 -1.43426692486 --0.400369159877 -1.43425896764 --0.383111454546 -1.43425425887 --0.365854054689 -1.43425276875 --0.348596535623 -1.43425449729 --0.33133918792 -1.43425944447 --0.314081594348 -1.43426758051 --0.296824067831 -1.43427896499 --0.279566168785 -1.43429353833 --0.262308202684 -1.43431127071 --0.245049733668 -1.43433225155 --0.227791089565 -1.43435648084 --0.210531838238 -1.43438386917 --0.193272262812 -1.43439722061 --0.174064420163 -1.45151856542 --0.154853206128 -1.4514913261 --0.13759348169 -1.45146724582 --0.120334425941 -1.45144644379 --0.103075614199 -1.45142877102 --0.0858173519373 -1.4514143467 --0.0685592163354 -1.45140314103 --0.0513015063479 -1.45139521361 --0.0340437968261 -1.45139047503 --0.0167863876559 -1.45138898492 -0.000471144216137 -1.45139065385 -0.0177284933161 -1.45139560103 -0.0349860922434 -1.45140385628 -0.0522436331958 -1.45141524076 -0.0695015396923 -1.4514298737 -0.086759513244 -1.45144772529 -0.104017974809 -1.45146876574 -0.121276626363 -1.45149305463 -0.138535901904 -1.45152056217 -0.155795481056 -1.45153400302 -0.175003249198 -1.45151859522 -0.194212645292 -1.4514913559 -0.211472373456 -1.45146727562 -0.228731423617 -1.45144644379 -0.245990235358 -1.45142877102 -0.263248503208 -1.4514143467 -0.280506633222 -1.45140314103 -0.297764338553 -1.45139521361 -0.315022051334 -1.45139047503 -0.332279466092 -1.45138895512 -0.349536992609 -1.45139068365 -0.366794332862 -1.45139563084 -0.384051941335 -1.45140382647 -0.401309490204 -1.45141524076 -0.41856738925 -1.4514298737 -0.435825355351 -1.45144772529 -0.453083820641 -1.45146879554 -0.470342472195 -1.45149305463 -0.487601742148 -1.45152053237 -0.504861325026 -1.45153397322 -0.524069100619 -1.45151856542 -0.543278500438 -1.4514913559 -0.560538217425 -1.45146727562 -0.577797263861 -1.45144644379 -0.595056086779 -1.45142877102 -0.612314358354 -1.4514143467 -0.629572495818 -1.45140317083 -0.646830201149 -1.45139521361 -0.66408790648 -1.45139047503 -0.681345313787 -1.45138898492 -0.698602840304 -1.45139068365 -0.715860188007 -1.45139563084 -0.733117789031 -1.45140382647 -0.75037534535 -1.45141524076 -0.767633229494 -1.4514298737 -0.784891188145 -1.4514477551 -0.802149668336 -1.45146882534 -0.81940831244 -1.45149308443 -0.836667582393 -1.45152053237 -0.85392716527 -1.45153397322 -0.873134940862 -1.45151859522 -0.892344340682 -1.4514913559 -0.90960405767 -1.45146727562 -0.926863104105 -1.45144644379 -0.944121912122 -1.45142877102 -0.961380198598 -1.4514143765 -0.978638350964 -1.45140320063 -0.995896026491 -1.45139524341 -1.01315373182 -1.45139050483 -1.03041115403 -1.45138898492 -1.04766872525 -1.45139068365 -1.06492605805 -1.45139563084 -1.08218362928 -1.45140382647 -1.0994412005 -1.45141524076 -1.11669909954 -1.4514298737 -1.13395708799 -1.4514477551 -1.15121552348 -1.45146885514 -1.16847416758 -1.45149308443 -1.18573346734 -1.45152053237 -1.20299300551 -1.45153400302 -1.22220078111 -1.45151859522 -1.24141019583 -1.4514913559 -1.25866991282 -1.45146727562 -1.27592897415 -1.45144644379 -1.29318779707 -1.45142877102 -1.31044605374 -1.4514143765 -1.32770419121 -1.45140320063 -1.34496191144 -1.45139521361 -1.36221963167 -1.45139047503 -1.37947702407 -1.45138901472 -1.39673453569 -1.45139071345 -1.4139918983 -1.45139563084 -1.43124946952 -1.45140379668 -1.44850701094 -1.45141521096 -1.46576493979 -1.4514299035 -1.48302289844 -1.4514477849 -1.50028136373 -1.45146882534 -1.51754000783 -1.45149311423 -1.53479927778 -1.45152062178 -1.55205887556 -1.45153403282 -1.57126665115 -1.45151859522 -1.59047606587 -1.4514913559 -1.60773578286 -1.45146727562 -1.6249948442 -1.45144641399 -1.64225366712 -1.45142874121 -1.65951189399 -1.4514143467 -1.67677003145 -1.45140317083 -1.69402775168 -1.45139524341 -1.71128544211 -1.45139047503 -1.72854283452 -1.45138895512 -1.74580040574 -1.45139068365 -1.76305776834 -1.45139563084 -1.78031533957 -1.45140382647 -1.79757288099 -1.45141524076 -1.81483080983 -1.4514298737 -1.83208879828 -1.45144772529 -1.84934723377 -1.45146879554 -1.86660587788 -1.45149305463 -1.88386514783 -1.45152053237 -1.9011247158 -1.45153400302 -1.9203325212 -1.45151859522 -1.93954190612 -1.4514913559 -1.95680162311 -1.45146727562 -1.97406068444 -1.45144644379 -1.99131947756 -1.45142877102 -2.00857776403 -1.4514143467 -2.0258359313 -1.45140314103 -2.04309362173 -1.4513951838 -2.06035131216 -1.45139050483 -2.07760870457 -1.45138901472 -2.09486627579 -1.45139068365 -2.11212366819 -1.45139563084 -2.12938123941 -1.45140382647 -2.14663875103 -1.45141527056 -2.16389667988 -1.4514299035 -2.18115466833 -1.45144772529 -2.19841307401 -1.45146879554 -2.21567171812 -1.45149308443 -2.23293101787 -1.45152056217 -2.25019055605 -1.45153400302 -2.26939833164 -1.45151859522 -2.28860777616 -1.4514913559 -2.30586749315 -1.45146727562 -2.32312649488 -1.45144644379 -2.3403852582 -1.45142877102 -2.35764354467 -1.4514143467 -2.37490171194 -1.45140317083 -2.39215940237 -1.45139524341 -2.4094170928 -1.45139053464 -2.42667454481 -1.45138901472 -2.44393211603 -1.45139068365 -2.46118944883 -1.45139563084 -2.47844702005 -1.45140382647 -2.49570459127 -1.45141527056 -2.51296252012 -1.45142993331 -2.53022044897 -1.4514477551 -2.54747885466 -1.45146879554 -2.56473749876 -1.45149305463 -2.58199685812 -1.45152053237 -2.59925651551 -1.45153397322 -2.61846423149 -1.45151856542 -2.6376735568 -1.4514913261 -2.65493327379 -1.45146724582 -2.67219239474 -1.45144644379 -2.68945121765 -1.45142877102 -2.70670944452 -1.4514143467 -2.72396755218 -1.45140314103 -2.74122530222 -1.45139521361 -2.75848305226 -1.45139050483 -2.77574038506 -1.45138898492 -2.79299789667 -1.45139068365 -2.81025528908 -1.45139563084 -2.82751286029 -1.45140382647 -2.84477037191 -1.45141527056 -2.86202830077 -1.4514299035 -2.87928628921 -1.45144772529 -2.89654481411 -1.45146879554 -2.91380345822 -1.45149308443 -2.93106269837 -1.45152056217 -2.94832229615 -1.45153397322 -2.96753007174 -1.45151856542 -2.98673945665 -1.4514913261 -3.00399917364 -1.45146724582 -3.02125823498 -1.45144644379 -3.0385170579 -1.45142877102 -3.05577534437 -1.4514143467 -3.07303351164 -1.45140314103 -3.09029120207 -1.45139521361 -3.1075488925 -1.45139047503 -3.12480628491 -1.45138898492 --3.14112153848 -1.45139065385 --3.12386417389 -1.45139560103 --3.10660660267 -1.45140385628 --3.08934909105 -1.45141524076 --3.07209116221 -1.4514298737 --3.05483317376 -1.45144772529 --3.03757464886 -1.45146876574 --3.02031600475 -1.45149305463 --3.0030567646 -1.45152056217 --2.98579716682 -1.45153400302 --2.96658939123 -1.45151859522 --2.94737994671 -1.4514913559 --2.93012022972 -1.45146727562 --2.91286122799 -1.45144644379 --2.89560240507 -1.45142877102 --2.87834411859 -1.4514143467 --2.86108601093 -1.45140314103 --2.8438283205 -1.45139521361 --2.82657057047 -1.45139047503 --2.80931317807 -1.45138895512 --2.79205572605 -1.45139068365 --2.77479839325 -1.45139563084 --2.75754070282 -1.45140382647 --2.7402831316 -1.45141524076 --2.72302526236 -1.4514298737 --2.70576727391 -1.45144772529 --2.68850880862 -1.45146879554 --2.67125016451 -1.45149305463 --2.65399092436 -1.45152053237 --2.63673138618 -1.45153397322 --2.61752361059 -1.45151856542 --2.59831416607 -1.4514913559 --2.58105438948 -1.45146727562 --2.56379538775 -1.45144644379 --2.54653662443 -1.45142877102 --2.52927833795 -1.4514143467 --2.51202017069 -1.45140317083 --2.49476248026 -1.45139521361 --2.47750478983 -1.45139047503 --2.46024733782 -1.45138898492 --2.4429897666 -1.45139068365 --2.42573243379 -1.45139563084 --2.40847486257 -1.45140382647 --2.39121729135 -1.45141524076 --2.3739593625 -1.4514298737 --2.35670143366 -1.4514477551 --2.33944302798 -1.45146882534 --2.32218438387 -1.45149308443 --2.30492508412 -1.45152053237 --2.28766548634 -1.45153397322 --2.26845771074 -1.45151859522 --2.24924832583 -1.4514913559 --2.23198860884 -1.45146727562 --2.2147295475 -1.45144644379 --2.19747072458 -1.45142877102 --2.1802124381 -1.4514143765 --2.16295433044 -1.45140320063 --2.14569664002 -1.45139524341 --2.12843888998 -1.45139050483 --2.11118149758 -1.45138898492 --2.09392398596 -1.45139068365 --2.07666659356 -1.45139563084 --2.05940902234 -1.45140382647 --2.04215151071 -1.45141524076 --2.02489358186 -1.4514298737 --2.00763562322 -1.4514477551 --1.99037715793 -1.45146885514 --1.97311845422 -1.45149308443 --1.95585918426 -1.45152053237 --1.93859964609 -1.45153400302 --1.9193918705 -1.45151859522 --1.90018245578 -1.4514913559 --1.88292273879 -1.45146727562 --1.86566367745 -1.45144644379 --1.84840485453 -1.45142877102 --1.83114662766 -1.4514143765 --1.8138884902 -1.45140320063 --1.79663076997 -1.45139521361 --1.77937304973 -1.45139047503 --1.76211562753 -1.45138901472 --1.74485808611 -1.45139071345 --1.72760072351 -1.45139563084 --1.71034315229 -1.45140379668 --1.69308564067 -1.45141521096 --1.67582771182 -1.4514299035 --1.65856972337 -1.4514477849 --1.64131125808 -1.45146882534 --1.62405261397 -1.45149311423 --1.60679337382 -1.45152062178 --1.58953377604 -1.45153403282 --1.57032597065 -1.45151859522 --1.55111661554 -1.4514913559 --1.53385689855 -1.45146727562 --1.51659783721 -1.45144641399 --1.49933904409 -1.45142874121 --1.48208075762 -1.4514143467 --1.46482262015 -1.45140317083 --1.44756489992 -1.45139524341 --1.43030717969 -1.45139047503 --1.41304978728 -1.45138895512 --1.39579227567 -1.45139068365 --1.37853494287 -1.45139563084 --1.36127731204 -1.45140382647 --1.34401974082 -1.45141524076 --1.32676187158 -1.4514298737 --1.30950388312 -1.45144772529 --1.29224541783 -1.45146879554 --1.27498677373 -1.45149305463 --1.25772747397 -1.45152053237 --1.2404679358 -1.45153400302 --1.22126019001 -1.45151859522 --1.20205077529 -1.4514913559 --1.1847910285 -1.45146727562 --1.16753196716 -1.45144644379 --1.15027317405 -1.45142877102 --1.13301491737 -1.4514143467 --1.11575677991 -1.45140314103 --1.09849905967 -1.4513951838 --1.08124133944 -1.45139050483 --1.06398391723 -1.45138901472 --1.04672637582 -1.45139068365 --1.02946904302 -1.45139563084 --1.01221144199 -1.45140382647 --0.994953915477 -1.45141527056 --0.977696016431 -1.4514299035 --0.960438042879 -1.45144772529 --0.94317959249 -1.45146879554 --0.925920948386 -1.45149308443 --0.908661663532 -1.45152056217 --0.891402080655 -1.45153400302 --0.872194305062 -1.45151859522 --0.852984905243 -1.4514913559 --0.835725173354 -1.45146727562 --0.818466112018 -1.45144644379 --0.801207318902 -1.45142877102 --0.78394907713 -1.4514143467 --0.766690939665 -1.45140317083 --0.749433204531 -1.45139524341 --0.732175499201 -1.45139053464 --0.714918091893 -1.45138901472 --0.697660565376 -1.45139068365 --0.680403202772 -1.45139563084 --0.663145586849 -1.45140382647 --0.645888060331 -1.45141527056 --0.628630161285 -1.45142993331 --0.611372187733 -1.4514477551 --0.594113722443 -1.45146879554 --0.57685509324 -1.45149305463 --0.559595808387 -1.45152053237 --0.542336210608 -1.45153397322 --0.523128449917 -1.45151856542 --0.503919057548 -1.4514913261 --0.486659333109 -1.45146724582 --0.469400271773 -1.45144644379 --0.452141463756 -1.45142877102 --0.434883199632 -1.4514143467 --0.417625062168 -1.45140314103 --0.400367349386 -1.45139521361 --0.383109636605 -1.45139050483 --0.365852236748 -1.45138898492 --0.348594710231 -1.45139068365 --0.331337355077 -1.45139563084 --0.314079754054 -1.45140382647 --0.296822212636 -1.45141527056 --0.27956430614 -1.4514299035 --0.262306340039 -1.45144772529 --0.245047871023 -1.45146879554 --0.227789212018 -1.45149308443 --0.210529945791 -1.45152056217 --0.19327037409 -1.45153397322 --0.174062602222 -1.46862792969 --0.154851470143 -1.46860054136 --0.137591738254 -1.46857637167 --0.120332673192 -1.46855551004 --0.103073855862 -1.46853777766 --0.0858155880124 -1.46852329374 --0.0685574458912 -1.46851208806 --0.0512997275218 -1.46850413084 --0.0340420091525 -1.46849933267 --0.0167845927645 -1.46849784255 -0.000472946558148 -1.46849954128 -0.0177303033415 -1.46850454807 -0.0349879092537 -1.46851280332 -0.0522454576567 -1.4685242176 -0.0695033753291 -1.46853891015 -0.0867613535374 -1.46855679154 -0.10401982069 -1.46857795119 -0.121278485283 -1.4686023593 -0.138537768275 -1.46862992644 -0.155797351152 -1.46864336729 -0.175005044788 -1.46862789989 -0.194214373827 -1.46860057116 -0.211474116892 -1.46857640147 -0.228733174503 -1.46855551004 -0.245991978794 -1.46853780746 -0.263250254095 -1.46852332354 -0.28050840646 -1.46851208806 -0.297766126692 -1.46850413084 -0.315023839474 -1.46849933267 -0.332281254232 -1.46849781275 -0.349538788199 -1.46849954128 -0.366796143353 -1.46850451827 -0.384053766728 -1.46851274371 -0.401311315596 -1.4685242176 -0.418569222093 -1.46853893995 -0.435827195645 -1.46855682134 -0.453085668385 -1.46857795119 -0.47034432739 -1.46860229969 -0.487603597343 -1.46862986684 -0.504863195122 -1.46864339709 -0.524070903659 -1.46862792969 -0.543280214071 -1.46860057116 -0.56053994596 -1.46857640147 -0.577799022198 -1.46855551004 -0.595057845116 -1.46853780746 -0.61231610179 -1.46852332354 -0.629574239254 -1.46851208806 -0.646831974387 -1.46850410104 -0.664089694619 -1.46849933266 -0.681347116828 -1.46849784255 -0.698604643345 -1.46849954128 -0.715861991048 -1.46850451827 -0.733119621873 -1.46851274371 -0.750377178192 -1.4685242176 -0.767635062337 -1.46853891015 -0.784893020988 -1.46855679154 -0.80215151608 -1.46857795119 -0.819410189986 -1.46860232949 -0.836669459939 -1.46862986684 -0.853929027915 -1.46864336729 -0.873136743903 -1.46862792969 -0.892346084118 -1.46860057116 -0.909605801105 -1.46857640147 -0.926864862442 -1.46855551004 -0.94412368536 -1.46853780746 -0.961381971836 -1.46852335334 -0.978640124202 -1.46851211787 -0.995897784827 -1.46850413084 -1.01315549016 -1.46849936247 -1.03041294217 -1.46849787235 -1.04767051339 -1.46849957108 -1.064927876 -1.46850451827 -1.08218547702 -1.46851274371 -1.09944301843 -1.4685242176 -1.11670091748 -1.46853891015 -1.13395890594 -1.46855685115 -1.15121737123 -1.4685780406 -1.16847604513 -1.4686023593 -1.18573531508 -1.46862989664 -1.20299488306 -1.46864339709 -1.22220262885 -1.46862792969 -1.24141195416 -1.46860054135 -1.25867167115 -1.46857637167 -1.27593073249 -1.46855551004 -1.29318955541 -1.46853780746 -1.31044784188 -1.46852335334 -1.32770594954 -1.46851211787 -1.34496363997 -1.46850410104 -1.36222139001 -1.46849933266 -1.37947881222 -1.46849784255 -1.39673632383 -1.46849954128 -1.41399368644 -1.46850448847 -1.43125128746 -1.46851268411 -1.44850882888 -1.4685241878 -1.46576675773 -1.46853893995 -1.48302474618 -1.46855682134 -1.50028321147 -1.46857795119 -1.51754185557 -1.4686023593 -1.53480115533 -1.46862992644 -1.55206075311 -1.46864339709 -1.57126843929 -1.46862792969 -1.59047779441 -1.46860057116 -1.6077375114 -1.46857640147 -1.62499657273 -1.46855551004 -1.64225539565 -1.46853777766 -1.65951362252 -1.46852329374 -1.67677178979 -1.46851208806 -1.69402953982 -1.46850416064 -1.71128726006 -1.46849936247 -1.72854465246 -1.46849781275 -1.74580219388 -1.46849954128 -1.76305955649 -1.46850451827 -1.78031715751 -1.46851274371 -1.79757472873 -1.4685242176 -1.81483265758 -1.46853891015 -1.83209064603 -1.46855682134 -1.84934911132 -1.46857798099 -1.86660775542 -1.46860232949 -1.88386699557 -1.46862989664 -1.90112659335 -1.46864339709 -1.92033433914 -1.46862792969 -1.93954363465 -1.46860057116 -1.95680335164 -1.46857640147 -1.97406241298 -1.46855551004 -1.9913212359 -1.46853780746 -2.00857952237 -1.46852332354 -2.02583765984 -1.46851205826 -2.04309535026 -1.46850407123 -2.0603531003 -1.46849933266 -2.07761055231 -1.46849784255 -2.09486806392 -1.46849954128 -2.11212539673 -1.46850451827 -2.12938302755 -1.46851274371 -2.14664059877 -1.46852424741 -2.16389852763 -1.46853893995 -2.18115651608 -1.46855682134 -2.19841492176 -1.46857798099 -2.21567356586 -1.46860229969 -2.23293286562 -1.46862986684 -2.2501924634 -1.46864339709 -2.26940017939 -1.46862792969 -2.2886095047 -1.46860057116 -2.30586922169 -1.46857640147 -2.32312822342 -1.46855551004 -2.34038704634 -1.46853780746 -2.35764533281 -1.46852332354 -2.37490350008 -1.46851208806 -2.39216125012 -1.46850413084 -2.40941894055 -1.46849936247 -2.42667633295 -1.46849784255 -2.44393390417 -1.46849954128 -2.46119129658 -1.46850451827 -2.4784488678 -1.46851274371 -2.49570637942 -1.4685242176 -2.51296430826 -1.46853891015 -2.53022229671 -1.46855679154 -2.547480762 -1.46857795119 -2.56473940611 -1.46860232949 -2.58199870586 -1.46862989664 -2.59925836325 -1.46864339709 -2.61846607924 -1.46862792969 -2.63767534494 -1.46860054136 -2.65493506193 -1.46857637167 -2.67219418287 -1.46855551004 -2.68945294619 -1.46853780746 -2.70671123266 -1.46852332354 -2.72396939993 -1.46851208806 -2.74122709036 -1.46850413084 -2.75848484039 -1.46849936247 -2.7757422328 -1.46849787235 -2.79299974441 -1.46849957108 -2.81025713682 -1.46850451827 -2.82751470804 -1.46851274371 -2.84477221966 -1.4685242176 -2.86203014851 -1.46853891015 -2.87928813696 -1.46855682134 -2.89654666185 -1.46857798099 -2.91380530596 -1.46860232949 -2.93106454611 -1.46862989664 -2.94832414389 -1.46864339709 -2.96753185987 -1.46862792969 -2.98674118519 -1.46860054136 -3.00400090218 -1.46857637167 -3.02125996351 -1.46855551004 -3.03851878643 -1.46853777766 -3.05577707291 -1.46852329374 -3.07303524018 -1.46851208806 -3.0902929306 -1.46850413084 -3.10755062104 -1.46849933267 -3.12480807305 -1.46849784255 --3.14111969073 -1.46849954128 --3.12386232614 -1.46850454807 --3.10660475492 -1.46851280332 --3.08934724331 -1.4685242176 --3.07208931446 -1.46853891015 --3.05483132601 -1.46855679154 --3.03757280111 -1.46857795119 --3.02031415701 -1.4686023593 --3.00305491686 -1.46862992644 --2.98579531908 -1.46864336729 --2.96658760309 -1.46862789989 --2.94737821817 -1.46860057116 --2.93011850118 -1.46857640147 --2.91285949946 -1.46855551004 --2.89560067653 -1.46853780746 --2.87834239006 -1.46852332354 --2.8610842824 -1.46851208806 --2.84382659197 -1.46850413084 --2.82656884193 -1.46849933267 --2.80931138992 -1.46849781275 --2.79205387831 -1.46849954128 --2.7747965455 -1.46850451827 --2.75753885507 -1.46851274371 --2.74028128385 -1.4685242176 --2.72302347422 -1.46853893995 --2.70576554537 -1.46855682134 --2.68850702047 -1.46857795119 --2.67124831676 -1.46860229969 --2.65398907661 -1.46862986684 --2.63672947883 -1.46864339709 --2.61752176285 -1.46862792969 --2.59831243753 -1.46860057116 --2.58105266094 -1.46857640147 --2.56379365921 -1.46855551004 --2.54653483629 -1.46853780746 --2.52927654982 -1.46852332354 --2.51201844216 -1.46851208806 --2.49476069212 -1.46850410104 --2.47750294209 -1.46849933266 --2.46024554968 -1.46849784255 --2.44298803806 -1.46849954128 --2.42573064565 -1.46850451827 --2.40847301483 -1.46851274371 --2.39121550322 -1.4685242176 --2.37395757436 -1.46853891015 --2.35669958591 -1.46855679154 --2.33944118023 -1.46857795119 --2.32218253613 -1.46860232949 --2.30492317677 -1.46862986684 --2.28766357899 -1.46864336729 --2.2684559226 -1.46862792969 --2.24924659729 -1.46860057116 --2.2319868803 -1.46857640147 --2.21472775936 -1.46855551004 --2.19746893644 -1.46853780746 --2.18021064997 -1.46852335334 --2.1629524827 -1.46851211787 --2.14569479227 -1.46850413084 --2.12843710184 -1.46849936247 --2.11117970943 -1.46849787235 --2.09392213821 -1.46849957108 --2.07666474581 -1.46850451827 --2.05940717459 -1.46851274371 --2.04214966297 -1.4685242176 --2.02489173412 -1.46853891015 --2.00763377547 -1.46855685115 --1.99037531018 -1.4685780406 --1.97311663627 -1.4686023593 --1.95585733652 -1.46862989664 --1.93859776854 -1.46864339709 --1.91939008236 -1.46862792969 --1.90018072724 -1.46860054135 --1.88292098045 -1.46857637167 --1.86566191911 -1.46855551004 --1.848403126 -1.46853780746 --1.83114486933 -1.46852335334 --1.81388670206 -1.46851211787 --1.79662898183 -1.46850410104 --1.7793712616 -1.46849933266 --1.76211383939 -1.46849784255 --1.74485629797 -1.46849954128 --1.72759893537 -1.46850448847 --1.71034133434 -1.46851268411 --1.69308379292 -1.4685241878 --1.67582586408 -1.46853893995 --1.65856787563 -1.46855682134 --1.64130941033 -1.46857795119 --1.62405076623 -1.4686023593 --1.60679149628 -1.46862992644 --1.5895318985 -1.46864339709 --1.57032418251 -1.46862792969 --1.551114887 -1.46860057116 --1.53385517001 -1.46857640147 --1.51659610867 -1.46855551004 --1.49933728576 -1.46853777766 --1.48207899928 -1.46852329374 --1.46482086181 -1.46851208806 --1.44756311178 -1.46850416064 --1.43030539155 -1.46849936247 --1.41304799914 -1.46849781275 --1.39579045772 -1.46849954128 --1.37853309512 -1.46850451827 --1.3612754941 -1.46851274371 --1.34401795268 -1.4685242176 --1.32676005363 -1.46853891015 --1.30950206518 -1.46855682134 --1.29224359989 -1.46857798099 --1.27498492599 -1.46860232949 --1.25772562623 -1.46862989664 --1.24046608806 -1.46864339709 --1.22125840187 -1.46862792969 --1.20204904676 -1.46860057116 --1.18478927016 -1.46857640147 --1.16753020882 -1.46855551004 --1.15027141571 -1.46853780746 --1.13301312924 -1.46852332354 --1.11575499177 -1.46851205826 --1.09849730134 -1.46850407123 --1.08123958111 -1.46849933266 --1.0639821291 -1.46849784255 --1.04672455787 -1.46849954128 --1.02946722508 -1.46850451827 --1.01220965386 -1.46851274371 --0.994952097534 -1.46852424741 --0.977694168687 -1.46853893995 --0.960436195135 -1.46855682134 --0.943177729845 -1.46857798099 --0.925919085741 -1.46860229969 --0.908659800887 -1.46862986684 --0.891400203109 -1.46864339709 --0.872192502022 -1.46862792969 --0.852983176708 -1.46860057116 --0.83572344482 -1.46857640147 --0.818464383483 -1.46855551004 --0.801205560565 -1.46853780746 --0.78394728899 -1.46852332354 --0.766689151525 -1.46851208806 --0.749431431293 -1.46850413084 --0.732173711061 -1.46849936247 --0.714916288853 -1.46849784255 --0.697658762336 -1.46849954128 --0.680401399731 -1.46850451827 --0.663143783808 -1.46851274371 --0.645886242389 -1.4685242176 --0.628628328442 -1.46853891015 --0.611370354891 -1.46855679154 --0.594111874699 -1.46857795119 --0.576853215694 -1.46860232949 --0.559593945742 -1.46862989664 --0.542334362865 -1.46864339709 --0.523126646877 -1.46862792969 --0.503917306662 -1.46860054136 --0.486657582223 -1.46857637167 --0.469398520887 -1.46855551004 --0.45213971287 -1.46853780746 --0.434881441295 -1.46852332354 --0.417623288929 -1.46851208806 --0.400365576148 -1.46850413084 --0.383107855916 -1.46849936247 --0.365850441158 -1.46849787235 --0.348592914641 -1.46849957108 --0.331335552037 -1.46850451827 --0.314077943563 -1.46851274371 --0.296820402145 -1.4685242176 --0.279562473297 -1.46853891015 --0.262304484844 -1.46855682134 --0.245046019554 -1.46857798099 --0.227787360549 -1.46860232949 --0.210528090596 -1.46862989664 --0.193268507719 -1.46864339709 --0.174060795456 --1.4000261724 --0.138748154044 --1.39998140931 --0.104230294004 --1.39994925261 --0.0697139166295 --1.3999299407 --0.0351985311136 --1.39992332459 --0.000683643389492 --1.39992946386 -0.0338312350214 --1.39994841814 -0.0683465991169 --1.39998009801 -0.102862929925 --1.40002447367 -0.137380741536 --1.40006664395 -0.173850100487 --1.4000261426 -0.210317693651 --1.3999813497 -0.244835559279 --1.39994928241 -0.279351934791 --1.3999299109 -0.313867323101 --1.39992332459 -0.348382197321 --1.39992949367 -0.382897078991 --1.39994844794 -0.417412444949 --1.39998009801 -0.451928786934 --1.40002447367 -0.486446589231 --1.40006661415 -0.522915944457 --1.4000262022 -0.559383556247 --1.39998137951 -0.593901410699 --1.39994931221 -0.628417789936 --1.3999299407 -0.662933170795 --1.39992332459 -0.697448059917 --1.39992949367 -0.731962949038 --1.39994844794 -0.766478314996 --1.39998009801 -0.800994604826 --1.40002444387 -0.835512444377 --1.40006661415 -0.871981799603 --1.40002611279 -0.908449411392 --1.39998137951 -0.942967250944 --1.39994928241 -0.977483645081 --1.3999299407 -1.01199901104 --1.39992332459 -1.04651388526 --1.39992952347 -1.08102875948 --1.39994841814 -1.11554414034 --1.39998009801 -1.15006047487 --1.40002447367 -1.18457829952 --1.40006661415 -1.22104763985 --1.4000261426 -1.25751525164 --1.39998137951 -1.29203310609 --1.39994928241 -1.32654950023 --1.3999299109 -1.36106488108 --1.39992332459 -1.39557978511 --1.39992952347 -1.43009462952 --1.39994847775 -1.46461001038 --1.39998009801 -1.49912634492 --1.40002447367 -1.53364413977 --1.40006664395 -1.57011350989 --1.4000261426 -1.60658109188 --1.39998137951 -1.64109894633 --1.39994925261 -1.67561534047 --1.3999299109 -1.71013075113 --1.39992329478 -1.74464559555 --1.39992949367 -1.77916046977 --1.39994841814 -1.81367582083 --1.39998009801 -1.84819215536 --1.40002447367 -1.88270998001 --1.40006661415 -1.91917937994 --1.4000261426 -1.95564693213 --1.3999813497 -1.99016481638 --1.39994928241 -2.02468121052 --1.3999299109 -2.05919659138 --1.39992332459 -2.09371137619 --1.39992952347 -2.12822639942 --1.39994841814 -2.16274178028 --1.39998009801 -2.19725805521 --1.40002444387 -2.23177582025 --1.40006661415 -2.26824522018 --1.40002611279 -2.30471283197 --1.3999813497 -2.33923071623 --1.39994928241 -2.37374705076 --1.3999298811 -2.40826249123 --1.39992332459 -2.44277733564 --1.39992949367 -2.47729218006 --1.39994844794 -2.51180756092 --1.39998009801 -2.54632389546 --1.40002447367 -2.5808416605 --1.40006661415 -2.61731106043 --1.4000261724 -2.65377867222 --1.39998137951 -2.68829649687 --1.39994928241 -2.72281289101 --1.3999298811 -2.75732827187 --1.39992332459 -2.79184317589 --1.39992949367 -2.8263579607 --1.39994841814 -2.86087334156 --1.39998009801 -2.8953897953 --1.40002444387 -2.92990756035 --1.40006664395 -2.96637690067 --1.4000261724 -3.00284451246 --1.39998140931 -3.03736233711 --1.39994925261 -3.07187873125 --1.3999299407 -3.10639411211 --1.39992332459 -3.14090898831 --1.39992946386 --3.10776150226 --1.39994841814 --3.0732460618 --1.39998009801 --3.03872966766 --1.40002447367 --3.00421190262 --1.40006664395 --2.96774256229 --1.4000261426 --2.93127495051 --1.3999813497 --2.89675712585 --1.39994928241 --2.86224073172 --1.3999299109 --2.82772535086 --1.39992332459 --2.79321050644 --1.39992949367 --2.75869554281 --1.39994844794 --2.72418028116 --1.39998009801 --2.68966388702 --1.40002447367 --2.65514606238 --1.40006661415 --2.61867672205 --1.4000262022 --2.58220905066 --1.39998137951 --2.54769122601 --1.39994931221 --2.51317483187 --1.3999299407 --2.47865945101 --1.39992332459 --2.44414460659 --1.39992949367 --2.40962970257 --1.39994844794 --2.37511432171 --1.39998009801 --2.34059804678 --1.40002444387 --2.30608022213 --1.40006661415 --2.2696108222 --1.40002611279 --2.23314321041 --1.39998137951 --2.19862538576 --1.39994928241 --2.16410905123 --1.3999299407 --2.12959367037 --1.39992332459 --2.09507870674 --1.39992952347 --2.06056392193 --1.39994841814 --2.02604854107 --1.39998009801 --1.99153217673 --1.40002447367 --1.95701438189 --1.40006661415 --1.92054501176 --1.4000261426 --1.88407739997 --1.39998137951 --1.84955954552 --1.39994928241 --1.81504315138 --1.3999299109 --1.78052777052 --1.39992332459 --1.7460128963 --1.39992952347 --1.71149802208 --1.39994847775 --1.67698264122 --1.39998009801 --1.64246630669 --1.40002447367 --1.60794851184 --1.40006664395 --1.57147914171 --1.4000261426 --1.53501155973 --1.39998137951 --1.50049367547 --1.39994925261 --1.46597734094 --1.3999299109 --1.43146193027 --1.39992329478 --1.39694705605 --1.39992949367 --1.36243215203 --1.39994841814 --1.32791683078 --1.39998009801 --1.29340046644 --1.40002447367 --1.25888267159 --1.40006661415 --1.22241333127 --1.4000261426 --1.18594568968 --1.3999813497 --1.15142786503 --1.39994928241 --1.11691144109 --1.3999299109 --1.08239609003 --1.39992332459 --1.04788121581 --1.39992952347 --1.01336631179 --1.39994841814 --0.97885094583 --1.39998009801 --0.944334611297 --1.40002444387 --0.909816861153 --1.40006661415 --0.873347446322 --1.40002611279 --0.836879864335 --1.3999813497 --0.80236196518 --1.39994928241 --0.767845585942 --1.3999298811 --0.733330234885 --1.39992332459 --0.698815345764 --1.39992949367 --0.664300471544 --1.39994844794 --0.629785120487 --1.39998009801 --0.595268756151 --1.40002447367 --0.560750961304 --1.40006661415 --0.524281591177 --1.4000261724 --0.487814001739 --1.39998137951 --0.453296139836 --1.39994928241 --0.4187797755 --1.3999298811 --0.38426437974 --1.39992332459 --0.34974950552 --1.39992949367 --0.315234608948 --1.39994841814 --0.280719250441 --1.39998009801 --0.246202912181 --1.40002444387 --0.211685117334 --1.40006664395 --0.175215750932 --1.31437250972 --0.138733718545 --1.31432878971 --0.104215977714 --1.31429737806 --0.069699715823 --1.31427845359 --0.0351844420657 --1.31427201629 --0.000669670756908 --1.31427806616 -0.03384509217 --1.3142965436 -0.0683603370562 --1.31432756782 -0.102876564488 --1.31437090039 -0.137394249439 --1.3144120872 -0.173864074051 --1.31437253952 -0.210332129151 --1.31432881951 -0.244849864394 --1.31429737806 -0.279366128147 --1.31427848339 -0.313881404698 --1.31427201629 -0.348396189511 --1.31427803635 -0.382910944521 --1.3142965734 -0.41742618382 --1.31432753802 -0.451942414045 --1.31437093019 -0.486460104585 --1.314412117 -0.522929921746 --1.31437253952 -0.559397980571 --1.31432878971 -0.593915700913 --1.31429737806 -0.628431975842 --1.31427848339 -0.662947252393 --1.31427201629 -0.697462037206 --1.31427803635 -0.731976792216 --1.3142965734 -0.766492053866 --1.31432753802 -0.801008284092 --1.31437096 -0.835525929928 --1.314412117 -0.871995776892 --1.31437253952 -0.908463835716 --1.31432875991 -0.94298158586 --1.31429737806 -0.977497845888 --1.31427848339 -1.01201310754 --1.31427201629 -1.04652792215 --1.31427803635 -1.08104261756 --1.3142965734 -1.11555790902 --1.31432753802 -1.15007412434 --1.31437096 -1.18459182978 --1.3144120872 -1.22106161714 --1.31437253952 -1.25752970576 --1.31432875991 -1.2920474112 --1.31429740787 -1.32656365633 --1.31427848339 -1.36107894778 --1.31427201629 -1.3955937326 --1.31427806616 -1.43010848761 --1.3142965436 -1.46462374925 --1.31432753802 -1.49913993478 --1.31437093019 -1.53365764022 --1.3144120872 -1.57012748718 --1.31437253952 -1.60659551621 --1.31432875991 -1.64111328125 --1.31429737806 -1.67562952637 --1.31427845359 -1.71014481783 --1.31427201629 -1.74465960264 --1.31427803635 -1.77917438745 --1.3142965734 -1.8136895895 --1.31432753802 -1.84820583463 --1.31437093019 -1.88272351027 --1.314412117 -1.91919329762 --1.31437250972 -1.95566138625 --1.31432878971 -1.99017912149 --1.31429737806 -2.02469539642 --1.3142785132 -2.05921065807 --1.31427201629 -2.09372544289 --1.31427803635 -2.12824016809 --1.3142965734 -2.16275537014 --1.31432756782 -2.19727158547 --1.31437096 -2.23178935051 --1.314412117 -2.26825916767 --1.31437253952 -2.3047272563 --1.31432878971 -2.33924496174 --1.31429737806 -2.37376123667 --1.31427848339 -2.40827643871 --1.31427201629 -2.44279128313 --1.31427806616 -2.47730606794 --1.3142965734 -2.51182132959 --1.31432756782 -2.54633760453 --1.31437096 -2.58085513115 --1.3144120872 -2.61732500792 --1.31437253952 -2.65379309654 --1.31432875991 -2.68831086159 --1.31429737806 -2.72282707691 --1.31427848339 -2.75734239817 --1.31427201629 -2.79185712338 --1.31427803635 -2.82637190819 --1.3142965734 -2.86088716984 --1.31432756782 -2.89540338516 --1.31437096 -2.9299210906 --1.314412117 -2.96639090776 --1.31437250972 -3.00285893679 --1.31432878971 -3.03737670183 --1.31429737806 -3.07189297676 --1.31427845359 -3.10640823841 --1.31427201629 -3.1409229358 --1.31427806616 --3.10774755478 --1.3142965436 --3.07323229313 --1.31432756782 --3.03871607781 --1.31437090039 --3.00419837236 --1.3144120872 --2.96772855521 --1.31437253952 --2.93126052618 --1.31432881951 --2.89674282074 --1.31429737806 --2.86222648621 --1.31427848339 --2.82771122456 --1.31427201629 --2.79319649935 --1.31427803635 --2.75868165493 --1.3142965734 --2.72416651249 --1.31432753802 --2.68965029717 --1.31437093019 --2.65513253212 --1.314412117 --2.61866271496 --1.31437253952 --2.58219462633 --1.31432878971 --2.5476769805 --1.31429737806 --2.51316070557 --1.31427848339 --2.47864544392 --1.31427201629 --2.4441305995 --1.31427803635 --2.40961587429 --1.3142965734 --2.37510061264 --1.31432753802 --2.3405842781 --1.31437096 --2.30606675148 --1.314412117 --2.26959687471 --1.31437253952 --2.23312884569 --1.31432875991 --2.19861108065 --1.31429737806 --2.16409480572 --1.31427848339 --2.12957948446 --1.31427201629 --2.09506475926 --1.31427803635 --2.06054997444 --1.3142965734 --2.02603471279 --1.31432753802 --1.99151852727 --1.31437096 --1.95700085163 --1.3144120872 --1.92053100467 --1.31437253952 --1.88406300545 --1.31432875991 --1.8495452106 --1.31429740787 --1.81502896547 --1.31427848339 --1.78051367402 --1.31427201629 --1.74599891901 --1.31427806616 --1.7114841342 --1.3142965436 --1.67696890235 --1.31432753802 --1.64245268702 --1.31437093019 --1.60793498159 --1.3144120872 --1.57146516442 --1.31437253952 --1.5349971056 --1.31432875991 --1.50047940016 --1.31429737806 --1.46596309542 --1.31427845359 --1.43144786358 --1.31427201629 --1.39693310857 --1.31427803635 --1.36241832375 --1.3142965734 --1.32790309191 --1.31432753802 --1.29338681698 --1.31437093019 --1.25886917114 --1.314412117 --1.22239932418 --1.31437250972 --1.18593132496 --1.31432878971 --1.15141353011 --1.31429737806 --1.11689728499 --1.3142785132 --1.08238199353 --1.31427201629 --1.04786723852 --1.31427803635 --1.01335245371 --1.3142965734 --0.978837221861 --1.31432756782 --0.944320991635 --1.31437096 --0.909803286195 --1.314412117 --0.873333498835 --1.31437253952 --0.83686542511 --1.31432878971 --0.802347674966 --1.31429737806 --0.767831400037 --1.31427848339 --0.733316138387 --1.31427201629 --0.698801383376 --1.31427806616 --0.664286598563 --1.3142965734 --0.629771351814 --1.31432756782 --0.59525513649 --1.31437096 --0.560737460851 --1.3144120872 --0.524267613888 --1.31437253952 --0.487799569965 --1.31432875991 --0.45328181982 --1.31429737806 --0.418765567243 --1.31427848339 --0.384250275791 --1.31427201629 --0.34973552078 --1.31427803635 --0.315220758319 --1.3142965734 --0.280705519021 --1.31432756782 --0.24618928507 --1.31437096 --0.211671598256 --1.314412117 --0.175201781094 --1.22873342037 --0.138718284667 --1.22869077325 --0.104200657457 --1.22866022587 --0.0696845166385 --1.22864174843 --0.0351693700068 --1.22863554955 --0.000654720468448 --1.2286414206 -0.0338599225506 --1.22865945101 -0.0683750445023 --1.22868961096 -0.102891148999 --1.22873187065 -0.137408722192 --1.22877189517 -0.173879027367 --1.22873336077 -0.210347566754 --1.22869074345 -0.244865193963 --1.22866025567 -0.279381327331 --1.22864177823 -0.313896477223 --1.22863551975 -0.348411120474 --1.22864145041 -0.382925763726 --1.22865945101 -0.417440898717 --1.22868961096 -0.451956994831 --1.22873187065 -0.486474566161 --1.22877189517 -0.522944867611 --1.22873339057 -0.559413433075 --1.22869077325 -0.59393106401 --1.22866025567 -0.628447160125 --1.22864177823 -0.662962347269 --1.22863551975 -0.69747698307 --1.22864145041 -0.731991618872 --1.22865945101 -0.766506776214 --1.22868961096 -0.801022857428 --1.22873187065 -0.835540398956 --1.22877189517 -0.872010737657 --1.22873339057 -0.90847928822 --1.22869077325 -0.942996904254 --1.22866025567 -0.977513030171 --1.22864177823 -1.01202818751 --1.22863554955 -1.04654282332 --1.22864145041 -1.08105748892 --1.2286594212 -1.11557260156 --1.22868961096 -1.15008869767 --1.22873187065 -1.1846062541 --1.22877189517 -1.2210766077 --1.22873339057 -1.25754511356 --1.22869077325 -1.2920627892 --1.22866025567 -1.32657888532 --1.22864177823 -1.36109402776 --1.22863554955 -1.39560869336 --1.2286414206 -1.43012329936 --1.2286594212 -1.464638412 --1.22868961096 -1.49915456772 --1.22873187065 -1.53367212415 --1.22877192497 -1.57014241815 --1.22873336077 -1.60661098361 --1.22869074345 -1.64112856984 --1.22866025567 -1.67564475536 --1.22864177823 -1.71015989781 --1.22863551975 -1.74467453361 --1.22864145041 -1.77918916941 --1.22865945101 -1.81370431185 --1.22868961096 -1.84822040796 --1.22873187065 -1.88273796439 --1.22877189517 -1.91920825839 --1.22873339057 -1.95567679405 --1.22869074345 -1.99019446969 --1.22866025567 -2.02471059561 --1.22864177823 -2.05922567845 --1.22863554955 -2.09374034405 --1.22864145041 -2.12825500965 --1.22865945101 -2.16277015209 --1.22868961096 -2.19728624821 --1.22873190045 -2.23180383444 --1.22877192497 -2.26827412844 --1.22873339057 -2.3047426343 --1.22869080305 -2.33926022053 --1.22866025567 -2.37377643585 --1.22864177823 -2.4082916379 --1.22863551975 -2.4428063035 --1.2286413908 -2.4773209095 --1.22865945101 -2.51183605194 --1.22868961096 -2.54635208845 --1.22873187065 -2.58086961508 --1.22877192497 -2.61733996868 --1.22873339057 -2.65380859375 --1.22869080305 -2.68832612037 --1.22866025567 -2.7228423357 --1.22864177823 -2.75735741854 --1.22863551975 -2.79187208414 --1.22864145041 -2.82638669014 --1.22865945101 -2.86090183258 --1.22868961096 -2.89541792869 --1.22873187065 -2.92993551492 --1.22877195478 -2.96640580893 --1.22873342037 -3.00287437439 --1.22869077325 -3.03739202022 --1.22866022587 -3.07190811634 --1.22864174843 -3.10642325878 --1.22863554955 -3.14093789657 --1.2286414206 --3.10773277283 --1.22865945101 --3.07321763039 --1.22868961096 --3.03870153427 --1.22873187065 --3.00418388843 --1.22877189517 --2.96771365404 --1.22873336077 --2.93124508858 --1.22869074345 --2.89672744274 --1.22866025567 --2.86221134663 --1.22864177823 --2.82769620419 --1.22863551975 --2.79318153858 --1.22864145041 --2.75866687298 --1.22865945101 --2.72415179014 --1.22868961096 --2.68963563442 --1.22873187065 --2.65511804819 --1.22877189517 --2.61864775419 --1.22873339057 --2.58217930794 --1.22869077325 --2.5476616621 --1.22866025567 --2.51314550638 --1.22864177823 --2.47863030434 --1.22863551975 --2.44411563873 --1.22864145041 --2.40960103273 --1.22865945101 --2.37508583069 --1.22868961096 --2.34056979418 --1.22873187065 --2.30605226755 --1.22877189517 --2.26958191395 --1.22873339057 --2.23311328888 --1.22869077325 --2.19859570265 --1.22866025567 --2.16407960654 --1.22864177823 --2.12956446409 --1.22863554955 --2.09504985809 --1.22864145041 --2.06053519249 --1.2286594212 --2.02602005005 --1.22868961096 --1.99150395393 --1.22873187065 --1.95698639751 --1.22877189517 --1.92051610351 --1.22873339057 --1.88404750824 --1.22869077325 --1.84952992201 --1.22866025567 --1.81501373649 --1.22864177823 --1.78049862385 --1.22863554955 --1.74598395825 --1.2286414206 --1.71146935224 --1.2286594212 --1.6769542098 --1.22868961096 --1.64243811369 --1.22873187065 --1.60792052746 --1.22877192497 --1.57145020365 --1.22873336077 --1.5349816978 --1.22869074345 --1.50046405196 --1.22866025567 --1.46594795585 --1.22864177823 --1.4314327538 --1.22863551975 --1.396918118 --1.22864145041 --1.3624034524 --1.22865945101 --1.32788833976 --1.22868961096 --1.29337224364 --1.22873187065 --1.25885465741 --1.22877189517 --1.22238436341 --1.22873339057 --1.18591582775 --1.22869074345 --1.15139818191 --1.22866025567 --1.116882056 --1.22864177823 --1.08236694336 --1.22863554955 --1.04785227776 --1.22864145041 --1.01333767176 --1.22865945101 --0.978822484612 --1.22868961096 --0.944306388498 --1.22873190045 --0.909788832068 --1.22877192497 --0.873318523169 --1.22873339057 --0.836849987507 --1.22869080305 --0.802332341671 --1.22866025567 --0.767816215754 --1.22864177823 --0.733301073313 --1.22863551975 --0.69878642261 --1.2286413908 --0.664271771907 --1.22865945101 --0.629756644368 --1.22868961096 --0.595240548253 --1.22873187065 --0.560723006725 --1.22877192497 --0.524252697825 --1.22873339057 --0.487784132361 --1.22869080305 --0.453266508877 --1.22866025567 --0.41875038296 --1.22864177823 --0.384235218167 --1.22863551975 --0.349720567465 --1.22864145041 --0.315205924213 --1.22865945101 --0.280690796673 --1.22868961096 --0.246174700558 --1.22873187065 --0.211657125503 --1.22877195478 --0.175186820328 --1.14048522711 --0.138700790703 --1.1404440403 --0.104183305055 --1.14041447639 --0.069667304866 --1.1403966248 --0.0351522923447 --1.14039066434 --0.00063778180629 --1.14039632678 -0.0338767222129 --1.14041376114 -0.0683917067945 --1.14044293761 -0.102907672524 --1.1404838264 -0.137425098568 --1.14052256942 -0.173895969987 --1.14048525691 -0.210365064442 --1.14044401049 -0.244882550091 --1.1404145062 -0.279398553074 --1.14039665461 -0.313913568855 --1.14039063454 -0.348428077996 --1.14039632678 -0.382942587137 --1.14041373134 -0.417457550764 --1.14044296741 -0.451973520219 --1.1404838264 -0.486490957439 --1.14052253962 -0.522961810231 --1.14048522711 -0.559430927038 --1.14044401049 -0.59394839406 --1.14041447639 -0.628464400768 --1.14039665461 -0.662979394197 --1.14039060474 -0.697493925691 --1.14039629698 -0.732008397579 --1.14041373134 -0.76652340591 --1.14044296741 -0.801039367914 --1.1404838264 -0.835556790233 --1.14052256942 -0.872027665377 --1.14048525691 -0.908496782183 --1.14044401049 -0.943014234305 --1.14041447639 -0.977530241012 --1.14039665461 -1.01204526425 --1.14039066434 -1.04655975103 --1.14039629698 -1.08107429743 --1.14041373134 -1.11558923125 --1.14044290781 -1.15010523796 --1.1404838562 -1.18462264538 --1.14052256942 -1.22109353543 --1.14048522711 -1.25756263733 --1.14044401049 -1.29208010435 --1.1404145062 -1.32659608126 --1.14039665461 -1.36111107469 --1.14039060474 -1.39562559128 --1.14039626718 -1.43014013767 --1.14041373134 -1.4646551013 --1.14044293761 -1.4991710484 --1.14048379659 -1.53368851542 --1.14052256942 -1.57015937567 --1.14048519731 -1.60662847757 --1.1404440403 -1.6411459446 --1.14041447639 -1.6756619513 --1.14039662481 -1.71017697453 --1.14039066434 -1.74469146132 --1.14039626718 -1.77920597792 --1.14041373134 -1.81372094154 --1.14044293761 -1.84823694825 --1.1404838562 -1.88275435567 --1.14052256942 -1.91922521591 --1.14048525691 -1.95569431782 --1.14044401049 -1.99021181464 --1.14041447639 -2.02472782135 --1.14039662481 -2.05924284458 --1.14039063454 -2.09375727177 --1.14039632678 -2.12827181816 --1.14041376114 -2.16278678179 --1.14044293761 -2.1973028183 --1.1404838264 -2.23182016611 --1.14052253962 -2.26829105616 --1.14048525691 -2.30476015806 --1.14044401049 -2.33927762508 --1.14041447639 -2.37379366159 --1.14039665461 -2.40830868483 --1.14039063454 -2.44282317162 --1.14039626718 -2.47733765841 --1.14041373134 -2.51185268164 --1.14044296741 -2.54636859894 --1.1404838264 -2.58088612556 --1.14052256942 -2.61735695601 --1.14048525691 -2.65382599831 --1.14044401049 -2.68834352493 --1.1404145062 -2.72285950184 --1.14039662481 -2.75737446547 --1.14039060474 -2.79188907146 --1.14039629698 -2.82640355825 --1.14041373134 -2.86091852188 --1.14044296741 -2.89543443918 --1.1404838562 -2.9299519062 --1.14052259922 -2.96642279625 --1.14048522711 -3.00289189816 --1.1404440403 -3.03740936517 --1.14041447639 -3.07192540169 --1.1403966248 -3.10644042492 --1.14039066434 -3.14095488389 --1.14039632678 --3.10771590471 --1.14041376114 --3.07320094109 --1.14044293761 --3.03868502378 --1.1404838264 --3.00416755676 --1.14052256942 --2.96769666672 --1.14048525691 --2.93122756481 --1.14044401049 --2.89671009779 --1.1404145062 --2.86219406128 --1.14039665461 --2.82767903805 --1.14039063454 --2.79316461086 --1.14039632678 --2.75865006447 --1.14041373134 --2.72413516045 --1.14044296741 --2.68961912394 --1.1404838264 --2.65510171652 --1.14052253962 --2.61863082647 --1.14048522711 --2.58216172457 --1.14044401049 --2.54764425755 --1.14041447639 --2.51312822104 --1.14039665461 --2.47861325741 --1.14039060474 --2.44409877062 --1.14039629698 --2.40958428383 --1.14041373134 --2.3750692606 --1.14044296741 --2.34055328369 --1.1404838264 --2.30603587627 --1.14052256942 --2.26956498623 --1.14048525691 --2.23309588432 --1.14044401049 --2.1985784173 --1.14041447639 --2.1640624404 --1.14039665461 --2.12954741716 --1.14039066434 --2.09503293037 --1.14039629698 --2.06051832437 --1.14041373134 --2.02600336075 --1.14044290781 --1.99148747325 --1.1404838562 --1.95696997642 --1.14052256942 --1.92049914598 --1.14048522711 --1.88403004408 --1.14044401049 --1.84951254725 --1.1404145062 --1.81499657035 --1.14039665461 --1.78048154712 --1.14039060474 --1.74596703052 --1.14039626718 --1.71145251393 --1.14041373134 --1.67693752051 --1.14044293761 --1.6424215734 --1.14048379659 --1.60790416598 --1.14052256942 --1.57143330574 --1.14048519731 --1.53496417403 --1.1404440403 --1.50044670701 --1.14041447639 --1.4659307003 --1.14039662481 --1.43141567707 --1.14039066434 --1.39690119028 --1.14039626718 --1.36238670349 --1.14041373134 --1.32787171006 --1.14044293761 --1.29335573315 --1.1404838562 --1.25883826613 --1.14052256942 --1.22236743569 --1.14048525691 --1.18589836359 --1.14044401049 --1.15138086677 --1.14041447639 --1.11686483025 --1.14039662481 --1.08234983683 --1.14039063454 --1.04783535004 --1.14039632678 --1.01332080364 --1.14041376114 --0.978805854916 --1.14044293761 --0.944289878011 --1.1404838264 --0.909772440791 --1.14052253962 --0.873301550746 --1.14048525691 --0.836832493544 --1.14044401049 --0.80231499672 --1.14041447639 --0.767798990011 --1.14039665461 --0.733283981681 --1.14039063454 --0.698769494891 --1.14039626718 --0.664254978299 --1.14041373134 --0.629739969969 --1.14044296741 --0.595224037766 --1.1404838264 --0.560706600547 --1.14052256942 --0.524235725403 --1.14048525691 --0.487766630947 --1.14044401049 --0.453249149025 --1.1404145062 --0.418733157218 --1.14039662481 --0.384218133986 --1.14039060474 --0.349703624845 --1.14039629698 --0.315189130604 --1.14041373134 --0.280674137175 --1.14044296741 --0.246158178896 --1.1404838562 --0.211640741676 --1.14052259922 --0.175169881433 --1.05216157436 --0.138681482524 --1.05212190748 --0.104164149612 --1.05209347606 --0.0696482984349 --1.05207639933 --0.0351334428414 --1.05207055807 --0.000619086902585 --1.0520760715 -0.0338952620514 --1.05209288001 -0.0684100948274 --1.052120924 -0.102925909683 --1.05216020346 -0.137443196028 --1.05219742656 -0.173914667219 --1.05216154456 -0.210384372622 --1.05212190748 -0.244901698083 --1.05209353566 -0.279417544603 --1.05207639933 -0.313932403922 --1.05207055807 -0.348446771502 --1.0520760417 -0.382961109281 --1.05209288001 -0.417475953698 --1.052120924 -0.45199175924 --1.05216020346 -0.486509039998 --1.05219742656 -0.52298052609 --1.05216157437 -0.559450224042 --1.05212190748 -0.593967527151 --1.05209350586 -0.62848341465 --1.05207639933 -0.662998244166 --1.05207055807 -0.697512596846 --1.0520760715 -0.732026949525 --1.05209288001 -0.766541793942 --1.052120924 -0.801057636738 --1.05216020346 -0.835574895144 --1.05219742656 -0.872046381235 --1.05216157437 -0.908516064286 --1.05212190748 -0.943033397198 --1.05209353566 -0.977549239993 --1.05207639933 -1.01206412912 --1.05207058787 -1.04657846689 --1.0520760417 -1.08109283447 --1.05209288001 -1.11560764909 --1.05212089419 -1.15012347698 --1.05216020346 -1.18464076519 --1.05219742656 -1.22111225128 --1.05216154456 -1.25758194923 --1.05212190748 -1.29209923744 --1.05209350586 -1.32661509514 --1.05207639933 -1.36112996936 --1.05207058787 -1.39564433694 --1.0520760119 -1.43015867472 --1.05209288001 -1.46467351913 --1.05212089419 -1.49918931723 --1.05216020346 -1.53370660544 --1.05219745636 -1.57017806172 --1.05216151476 -1.60664775967 --1.05212190748 -1.64116510748 --1.05209356547 -1.67568099499 --1.05207639933 -1.71019580961 --1.05207055807 -1.74471014738 --1.0520760417 -1.77922451496 --1.05209288001 -1.81373932958 --1.052120924 -1.84825515747 --1.05216020346 -1.88277244568 --1.05219742656 -1.91924393177 --1.05216160417 -1.95571362972 --1.05212190748 -1.99023094773 --1.05209353566 -2.02474683523 --1.05207639933 -2.05926162005 --1.05207055807 -2.09377598762 --1.0520760417 -2.12829041481 --1.05209288001 -2.16280519962 --1.05212089419 -2.19732105732 --1.05216020346 -2.23183828592 --1.05219742656 -2.26830977201 --1.05216157437 -2.30477946997 --1.05212190748 -2.33929681778 --1.05209350586 -2.37381261587 --1.05207639933 -2.40832751989 --1.05207055807 -2.44284188747 --1.0520760417 -2.47735625506 --1.05209288001 -2.51187109947 --1.05212089419 -2.54638689757 --1.05216020346 -2.58090412617 --1.05219742656 -2.61737561226 --1.05216154456 -2.65384531021 --1.05212190748 -2.68836265802 --1.05209353566 -2.72287851572 --1.05207639933 -2.75739336014 --1.05207058787 -2.79190766811 --1.0520760417 -2.8264220953 --1.05209288001 -2.86093693972 --1.05212089419 -2.8954526782 --1.05216020346 -2.92996996641 --1.05219742656 -2.96644151211 --1.05216157436 -3.00291115046 --1.05212190748 -3.03742849827 --1.05209347606 -3.07194429636 --1.05207639933 -3.10645920038 --1.05207055807 -3.14097354014 --1.0520760715 --3.10769736767 --1.05209288001 --3.07318252325 --1.052120924 --3.03866678476 --1.05216020346 --3.00414943695 --1.05219742656 --2.96767795086 --1.05216154456 --2.93120825291 --1.05212190748 --2.8966909647 --1.05209353566 --2.862175107 --1.05207639933 --2.82766026258 --1.05207055807 --2.793145895 --1.0520760417 --2.75863152742 --1.05209288001 --2.72411674261 --1.052120924 --2.68960088491 --1.05216020346 --2.65508365631 --1.05219742656 --2.61861211061 --1.05216157437 --2.58214241266 --1.05212190748 --2.54762512446 --1.05209350586 --2.51310926676 --1.05207639933 --2.47859442234 --1.05207055807 --2.44408005476 --1.0520760715 --2.40956568718 --1.05209288001 --2.37505090237 --1.052120924 --2.34053498507 --1.05216020346 --2.30601775646 --1.05219742656 --2.26954627037 --1.05216157437 --2.23307663202 --1.05212190748 --2.19855922461 --1.05209353566 --2.16404336691 --1.05207639933 --2.12952852249 --1.05207058787 --2.09501421452 --1.0520760417 --2.06049984693 --1.05209288001 --2.02598494291 --1.05212089419 --1.99146914482 --1.05216020346 --1.95695191622 --1.05219742656 --1.92048045993 --1.05216154456 --1.88401073217 --1.05212190748 --1.84949341416 --1.05209350586 --1.81497752666 --1.05207639933 --1.78046268225 --1.05207058787 --1.74594834447 --1.0520760119 --1.71143397689 --1.05209288001 --1.67691913247 --1.05212089419 --1.64240336418 --1.05216020346 --1.60788607598 --1.05219745636 --1.57141458988 --1.05216151476 --1.53494489193 --1.05212190748 --1.50042754412 --1.05209356547 --1.46591174603 --1.05207639933 --1.431396842 --1.05207055807 --1.39688247442 --1.0520760417 --1.36236816645 --1.05209288001 --1.32785332203 --1.052120924 --1.29333746433 --1.05216020346 --1.25882023573 --1.05219742656 --1.22234871984 --1.05216160417 --1.18587899208 --1.05212190748 --1.15136170387 --1.05209353566 --1.11684584618 --1.05207639933 --1.08233097196 --1.05207055807 --1.04781663418 --1.0520760417 --1.0133022666 --1.05209288001 --0.978787437082 --1.05212089419 --0.944271638989 --1.05216020346 --0.909754350782 --1.05219742656 --0.873282879591 --1.05216157437 --0.836813166738 --1.05212190748 --0.802295863629 --1.05209350586 --0.767780020833 --1.05207639933 --0.733265131712 --1.05207055807 --0.698750779033 --1.0520760417 --0.664236411452 --1.05209288001 --0.629721581936 --1.05212089419 --0.595205798745 --1.05216020346 --0.560688540339 --1.05219742656 --0.524217039347 --1.05216154456 --0.487747311592 --1.05212190748 --0.453230001032 --1.05209353566 --0.418714135885 --1.05207639933 --0.384199291468 --1.05207058787 --0.349684938788 --1.0520760417 --0.315170586109 --1.05209288001 --0.280655749142 --1.05212089419 --0.246139928699 --1.05216020346 --0.211622662842 --1.05219742656 --0.1751511693 --0.966538384557 --0.138660918921 --0.966500520706 --0.104143749923 --0.966473430395 --0.0696280635893 --0.96645706892 --0.0351133733056 --0.966451570392 --0.000599179416895 --0.966456770897 -0.0339150065556 --0.966472819448 -0.0684296805412 --0.966499596834 -0.102945324033 --0.966537177563 -0.137462440878 --0.966572672128 -0.173934582621 --0.966538354755 -0.210404932499 --0.966500520706 -0.244922094047 --0.966473445296 -0.27943778038 --0.966457113624 -0.313952490687 --0.966451570391 -0.348466679454 --0.966456770897 -0.382980845869 --0.966472804547 -0.417495526374 --0.966499611735 -0.452011175454 --0.966537207365 -0.486528292298 --0.966572672128 -0.523000434041 --0.966538354755 -0.559470772743 --0.966500535608 -0.593987956643 --0.966473415494 -0.628503620625 --0.966457098723 -0.66301831603 --0.966451555491 -0.697532534599 --0.966456800699 -0.732046738267 --0.966472804547 -0.766561374068 --0.966499626637 -0.80107703805 --0.966537132859 -0.835594132543 --0.966572672128 -0.872066274285 --0.966538354755 -0.90853664279 --0.966500535608 -0.943053781986 --0.966473430395 -0.977569490671 --0.966457083821 -1.01208418608 --0.966451570392 -1.04659837484 --0.966456800699 -1.08111256361 --0.966472804547 -1.11562719941 --0.966499626637 -1.15014284849 --0.966537177563 -1.18466001749 --0.96657268703 -1.22113209963 --0.966538354755 -1.25760248303 --0.966500520706 -1.29211962223 --0.966473445296 -1.32663530111 --0.96645706892 -1.36114999652 --0.966451525688 -1.39566421509 --0.966456800699 -1.43017840385 --0.966472804547 -1.46469309926 --0.966499611735 -1.49920874834 --0.96653714776 -1.53372582793 --0.96657268703 -1.57019799948 --0.966538354755 -1.60666832328 --0.966500535608 -1.64118549228 --0.966473460198 -1.67570120096 --0.966457083821 -1.71021589637 --0.966451555491 -1.74473008514 --0.966456800699 -1.7792442441 --0.966472834349 -1.81375893951 --0.966499626637 -1.84827458858 --0.966537222266 -1.88279169798 --0.966572657227 -1.91926380992 --0.966538354755 -1.95573419333 --0.966500535608 -1.99025136232 --0.966473430395 -2.02476704121 --0.966457054019 -2.05928170681 --0.966451555491 -2.09379589558 --0.966456800699 -2.12831014395 --0.966472804547 -2.16282480955 --0.966499656439 -2.19734048844 --0.966537177563 -2.23185753822 --0.966572672128 -2.26832967996 --0.966538384557 -2.30480009318 --0.966500535608 -2.33931720257 --0.966473445296 -2.37383288145 --0.96645706892 -2.40834760666 --0.966451555491 -2.44286185503 --0.966456800699 -2.47737592459 --0.966472804547 -2.51189059019 --0.966499596834 -2.54640626907 --0.966537177563 -2.58092343807 --0.966572672128 -2.61739546061 --0.966538384557 -2.65386587381 --0.966500535608 -2.68838304281 --0.966473445296 -2.7228987217 --0.96645706892 -2.7574134469 --0.966451555491 -2.79192763567 --0.966456800699 -2.82644182444 --0.96647284925 -2.86095649004 --0.966499611735 -2.89547210932 --0.966537177563 -2.92998927832 --0.966572672128 -2.96646142006 --0.966538384557 -3.00293171406 --0.966500520706 -3.03744888306 --0.966473430395 -3.07196462154 --0.96645706892 -3.10647928715 --0.966451570392 -3.14099344809 --0.966456770897 --3.10767763853 --0.966472819448 --3.07316291333 --0.966499596834 --3.03864735365 --0.966537177563 --3.00413018465 --0.966572672128 --2.96765804291 --0.966538354755 --2.93118774891 --0.966500520706 --2.89667057991 --0.966473445296 --2.86215490103 --0.966457113624 --2.82764017582 --0.966451570391 --2.79312598705 --0.966456770897 --2.75861173868 --0.966472804547 --2.72409707308 --0.966499611735 --2.6895814538 --0.966537207365 --2.65506434441 --0.966572672128 --2.61859220266 --0.966538354755 --2.58212184906 --0.966500535608 --2.54760468006 --0.966473415494 --2.51308906078 --0.966457098723 --2.47857439518 --0.966451555491 --2.4440600872 --0.966456800699 --2.40954595804 --0.966472804547 --2.37503129244 --0.966499626637 --2.34051561356 --0.966537132859 --2.30599856377 --0.966572672128 --2.26952642203 --0.966538354755 --2.23305600881 --0.966500535608 --2.19853883982 --0.966473430395 --2.16402316094 --0.966457083821 --2.12950849533 --0.966451570392 --2.09499424696 --0.966456800699 --2.0604801774 --0.966472804547 --2.02596539259 --0.966499626637 --1.99144974351 --0.966537177563 --1.95693266392 --0.96657268703 --1.92046052217 --0.966538354755 --1.88399016857 --0.966500520706 --1.84947299957 --0.966473445296 --1.81495732069 --0.96645706892 --1.78044262529 --0.966451525688 --1.74592843652 --0.966456800699 --1.71141421795 --0.966472804547 --1.67689955235 --0.966499611735 --1.64238390327 --0.96653714776 --1.60786679387 --0.96657268703 --1.57139465213 --0.966538354755 --1.53492432833 --0.966500535608 --1.50040712952 --0.966473460198 --1.46589145064 --0.966457083821 --1.43137675524 --0.966451555491 --1.39686256647 --0.966456800699 --1.36234840751 --0.966472834349 --1.3278337419 --0.966499626637 --1.29331806302 --0.966537222266 --1.25880092382 --0.966572657227 --1.22232881188 --0.966538354755 --1.18585848808 --0.966500535608 --1.15134131909 --0.966473430395 --1.1168256402 --0.966457054019 --1.0823109448 --0.966451555491 --1.04779672623 --0.966456800699 --1.01328250766 --0.966472804547 --0.978767871857 --0.966499656439 --0.944252222777 --0.966537177563 --0.909735113382 --0.966572672128 --0.873262971639 --0.966538384557 --0.836792588234 --0.966500535608 --0.802275463939 --0.966473445296 --0.767759785056 --0.96645706892 --0.73324508965 --0.966451555491 --0.698730885982 --0.966456800699 --0.664216697216 --0.966472804547 --0.62970200181 --0.966499596834 --0.595186367631 --0.966537177563 --0.560669243336 --0.966572672128 --0.524197116494 --0.966538384557 --0.487726770341 --0.966500535608 --0.453209586442 --0.966473445296 --0.41869392246 --0.96645706892 --0.384179219603 --0.966451555491 --0.349665038288 --0.966456800699 --0.31515083462 --0.96647284925 --0.280636161566 --0.966499611735 --0.246120516211 --0.966537177563 --0.211603403091 --0.966572672128 --0.175131268799 --0.880918979644 --0.138638980687 --0.880883187055 --0.104121992364 --0.880857557058 --0.0696064857766 --0.880842089653 --0.0350919673219 --0.880836904049 --0.000577948754653 --0.880841836333 -0.0339360632934 --0.880857020617 -0.0684505626559 --0.880882367492 -0.102966040373 --0.880917906761 -0.137482985854 --0.88095150888 -0.173955816776 --0.880919009447 -0.210426859558 --0.880883187055 -0.244943846017 --0.880857512355 -0.279459357262 --0.880842074752 -0.313973888755 --0.880836844444 -0.348487891257 --0.880841836333 -0.38300191611 --0.880857020617 -0.417516432702 --0.880882367492 -0.452031895518 --0.880917921662 -0.486548855901 --0.880951493978 -0.523021653295 --0.880918994546 -0.559492707253 --0.880883201956 -0.594009712338 --0.880857542157 -0.628525227308 --0.880842104554 -0.663039743901 --0.880836844444 -0.697553738952 --0.880841806531 -0.732067763805 --0.880856990814 -0.766582280397 --0.880882367492 -0.801097750663 --0.880917921662 -0.835614681244 --0.880951493978 -0.87208750844 --0.880918979644 -0.908558577299 --0.880883172154 -0.943075552583 --0.880857542157 -0.977591067553 --0.880842089653 -1.01210558414 --0.880836859345 -1.0466195941 --0.880841851234 -1.08113360405 --0.880857020617 -1.11564809084 --0.880882367492 -1.15016359091 --0.880917906761 -1.18468055129 --0.880951479077 -1.22115337849 --0.880918994546 -1.25762438774 --0.880883187055 -1.29214143753 --0.880857542157 -1.32665690779 --0.880842089653 -1.36117145419 --0.880836874247 -1.39568543434 --0.88084179163 -1.4301994741 --0.880857005716 -1.46471396088 --0.880882382393 -1.49922943115 --0.880917906761 -1.53374639153 --0.880951493978 -1.57021921873 --0.880918979645 -1.60669025779 --0.880883216858 -1.64120721817 --0.880857542157 -1.67572277784 --0.880842089653 -1.71023729443 --0.880836844444 -1.74475130439 --0.880841836333 -1.77926531434 --0.880856990814 -1.81377983093 --0.880882367492 -1.8482952714 --0.880917906761 -1.88281226158 --0.880951493978 -1.91928505897 --0.880918994546 -1.95575612783 --0.880883201956 -1.99027311802 --0.880857542157 -2.02478861809 --0.880842089653 -2.05930316448 --0.880836844444 -2.09381711483 --0.880841851234 -2.12833112478 --0.880857020617 -2.16284567117 --0.88088235259 -2.19736117124 --0.880917906761 -2.23187804222 --0.880951479077 -2.26835095882 --0.880918979645 -2.30482196808 --0.880883201956 -2.33933901786 --0.880857557058 -2.37385439872 --0.880842074752 -2.40836894512 --0.880836859345 -2.44288301468 --0.880841806531 -2.47739702463 --0.880856990814 -2.51191151142 --0.880882367492 -2.54642701149 --0.880917906761 -2.58094388247 --0.880951493978 -2.61741679907 --0.880919024348 -2.65388786793 --0.880883187055 -2.68840479851 --0.880857542157 -2.72292035818 --0.880842104554 -2.75743490457 --0.880836859345 -2.79194885493 --0.880841776728 -2.82646286488 --0.880856990814 -2.86097735166 --0.88088235259 -2.89549279213 --0.880917906761 -2.93000978231 --0.880951493978 -2.96648257971 --0.880918979644 -3.00295364857 --0.880883187055 -3.03747057915 --0.880857557058 -3.07198619842 --0.880842089653 -3.10650068521 --0.880836904049 -3.14101466735 --0.880841836333 --3.10765659809 --0.880857020617 --3.07314211131 --0.880882367492 --3.03862661123 --0.880917906761 --3.00410962105 --0.88095150888 --2.96763688326 --0.880919009447 --2.9311658144 --0.880883187055 --2.89664888382 --0.880857512355 --2.86213326454 --0.880842074752 --2.82761877776 --0.880836844444 --2.7931047678 --0.880841836333 --2.75859075784 --0.880857020617 --2.72407627106 --0.880882367492 --2.68956077099 --0.880917921662 --2.65504384041 --0.880951493978 --2.61857098341 --0.880918994546 --2.58209997415 --0.880883201956 --2.54758286476 --0.880857542157 --2.5130674839 --0.880842104554 --2.47855293751 --0.880836844444 --2.44403892755 --0.880841806531 --2.409524858 --0.880856990814 --2.37501037121 --0.880882367492 --2.34049487114 --0.880917921662 --2.30597800017 --0.880951493978 --2.26950508356 --0.880918979644 --2.2330340147 --0.880883172154 --2.19851708412 --0.880857542157 --2.16400158405 --0.880842089653 --2.12948709726 --0.880836859345 --2.09497302771 --0.880841851234 --2.06045901775 --0.880857020617 --2.02594453097 --0.880882367492 --1.9914290905 --0.880917906761 --1.95691213012 --0.880951479077 --1.92043927312 --0.880918994546 --1.88396826386 --0.880883187055 --1.84945124388 --0.880857542157 --1.81493571401 --0.880842089653 --1.78042122722 --0.880836874247 --1.74590718746 --0.88084179163 --1.71139320731 --0.880857005716 --1.67687866092 --0.880882382393 --1.64236322045 --0.880917906761 --1.60784628987 --0.880951493978 --1.57137346268 --0.880918979645 --1.53490236401 --0.880883216858 --1.50038540364 --0.880857542157 --1.46586990357 --0.880842089653 --1.43135538697 --0.880836844444 --1.39684134722 --0.880841836333 --1.36232733727 --0.880856990814 --1.32781285047 --0.880882367492 --1.29329735041 --0.880917906761 --1.25878041983 --0.880951493978 --1.22230759263 --0.880918994546 --1.18583655357 --0.880883201956 --1.15131950378 --0.880857542157 --1.11680403352 --0.880842089653 --1.08228951692 --0.880836844444 --1.04777553677 --0.880841851234 --1.01326149702 --0.880857020617 --0.978746980429 --0.88088235259 --0.94423148036 --0.880917906761 --0.909714579582 --0.880951479077 --0.873241722584 --0.880918979645 --0.836770683527 --0.880883201956 --0.802253693342 --0.880857557058 --0.767738193273 --0.880842074752 --0.733223661781 --0.880836859345 --0.698709651828 --0.880841806531 --0.664195656776 --0.880856990814 --0.629681140184 --0.880882367492 --0.595165669918 --0.880917906761 --0.560648724437 --0.880951493978 --0.524175897241 --0.880919024348 --0.487704835832 --0.880883187055 --0.453187853098 --0.880857542157 --0.418672330677 --0.880842104554 --0.384157814086 --0.880836859345 --0.349643804133 --0.880841776728 --0.31512978673 --0.880856990814 --0.28061529249 --0.88088235259 --0.246099807322 --0.880917906761 --0.211582873017 --0.880951493978 --0.17511003837 --0.792528688908 --0.138614024967 --0.792495280504 --0.104097232223 --0.792471304536 --0.0695819184184 --0.792456924915 --0.0350676011294 --0.792452022433 --0.000553778838367 --0.792456686497 -0.0339600369334 --0.792470872402 -0.0684743383899 --0.792494550348 -0.102989617735 --0.792527735233 -0.137506373227 --0.792559087277 -0.173979990184 --0.792528703809 -0.210451826453 --0.792495250702 -0.244968622923 --0.792471319437 -0.279483936727 --0.792456924915 -0.313998259604 --0.792451992631 -0.348512083292 --0.792456656694 -0.383025892079 --0.792470827699 -0.417540192604 --0.792494535446 -0.452055476605 --0.792527735233 -0.486572228372 --0.792559072375 -0.52304585278 --0.79252871871 -0.5595176965 --0.792495250702 -0.594034478068 --0.792471334338 -0.628549799323 --0.792456910014 -0.663064107299 --0.792451992631 -0.697577923536 --0.792456656694 -0.732091739774 --0.792470797896 -0.766606032848 --0.792494535446 -0.8011213094 --0.792527750134 -0.835638046265 --0.792559072375 -0.872111678124 --0.792528703809 -0.908583521843 --0.792495265603 -0.943100318313 --0.792471349239 -0.977615624666 --0.792456910014 -1.01212993264 --0.792451992631 -1.04664376378 --0.792456656694 -1.08115759492 --0.7924708426 -1.11567190289 --0.792494535446 -1.15018716455 --0.792527735233 -1.18470391631 --0.792559087277 -1.22117754817 --0.79252871871 -1.25764936209 --0.792495265603 -1.29216614365 --0.792471334338 -1.32668149471 --0.792456910014 -1.36119583249 --0.79245197773 -1.39570960402 --0.792456686497 -1.43022343516 --0.792470812798 -1.46473774314 --0.792494505644 -1.49925303459 --0.792527750134 -1.53376978636 --0.792559072375 -1.57024335861 --0.792528659105 -1.60671523214 --0.792495250702 -1.64123204351 --0.792471349239 -1.67574733496 --0.792456924915 -1.71026167273 --0.79245197773 -1.74477550387 --0.792456656694 -1.77928930521 --0.7924708426 -1.81380358338 --0.792494535446 -1.84831884504 --0.792527750134 -1.8828356266 --0.792559072375 -1.91930925846 --0.79252871871 -1.95578110218 --0.792495265603 -1.99029785395 --0.792471334338 -2.0248131156 --0.792456910014 -2.05932748318 --0.792451992631 -2.09384131432 --0.792456656694 -2.12835508585 --0.7924708426 -2.16286945343 --0.792494535446 -2.19738471508 --0.792527735233 -2.23190146684 --0.792559087277 -2.2683750987 --0.79252871871 -2.30484694242 --0.792495280504 -2.3393637538 --0.792471349239 -2.37387901545 --0.792456910014 -2.40839338302 --0.792451992631 -2.44290715456 --0.792456656694 -2.47742092609 --0.792470827699 -2.51193529368 --0.792494535446 -2.54645055533 --0.792527750134 -2.58096730709 --0.792559087277 -2.61744099855 --0.79252871871 -2.65391278267 --0.792495265603 -2.68842953443 --0.792471334338 -2.72294491529 --0.792456910014 -2.75745922327 --0.792451992631 -2.79197305441 --0.792456656694 -2.82648688555 --0.792470812798 -2.86100107432 --0.792494535446 -2.89551639557 --0.792527750134 -2.93003320694 --0.792559072375 -2.96650677919 --0.792528688908 -3.00297856331 --0.792495280504 -3.03749549389 --0.792471304536 -3.07201069593 --0.792456924915 -3.10652500391 --0.792452022433 -3.14103892644 --0.792456686497 --3.10763257742 --0.792470872402 --3.07311838865 --0.792494550348 --3.03860300779 --0.792527735233 --3.00408625603 --0.792559087277 --2.96761268378 --0.792528703809 --2.93114089966 --0.792495250702 --2.89662396908 --0.792471319437 --2.86210876703 --0.792456924915 --2.82759439945 --0.792451992631 --2.79308056832 --0.792456656694 --2.75856679678 --0.792470827699 --2.7240524292 --0.792494535446 --2.68953716755 --0.792527735233 --2.65502041578 --0.792559072375 --2.61854678392 --0.79252871871 --2.5820749402 --0.792495250702 --2.54755812883 --0.792471334338 --2.51304280758 --0.792456910014 --2.4785284996 --0.792451992631 --2.44401472807 --0.792456656694 --2.40950095654 --0.792470797896 --2.37498658895 --0.792494535446 --2.3404713273 --0.792527750134 --2.30595457554 --0.792559072375 --2.26948094368 --0.792528703809 --2.23300909996 --0.792495265603 --2.19849234819 --0.792471349239 --2.16397696734 --0.792456910014 --2.12946265936 --0.792451992631 --2.09494888782 --0.792456656694 --2.06043499708 --0.7924708426 --2.02592080831 --0.792494535446 --1.99140545726 --0.792527735233 --1.95688870549 --0.792559087277 --1.92041513324 --0.79252871871 --1.88394328952 --0.792495265603 --1.84942647815 --0.792471334338 --1.8149111867 --0.792456910014 --1.78039684892 --0.79245197773 --1.74588301778 --0.792456686497 --1.71136918664 --0.792470812798 --1.67685493827 --0.792494505644 --1.64233964681 --0.792527750134 --1.60782289505 --0.792559072375 --1.57134926319 --0.792528659105 --1.53487744928 --0.792495250702 --1.5003606379 --0.792471349239 --1.46584534645 --0.792456924915 --1.43133100867 --0.79245197773 --1.39681720734 --0.792456656694 --1.362303406 --0.7924708426 --1.32778903842 --0.792494535446 --1.29327377677 --0.792527750134 --1.258757025 --0.792559072375 --1.22228339315 --0.79252871871 --1.18581157923 --0.792495265603 --1.15129479766 --0.792471334338 --1.1167794466 --0.792456910014 --1.08226516843 --0.792451992631 --1.04775133729 --0.792456656694 --1.01323750615 --0.7924708426 --0.978723213077 --0.792494535446 --0.944207921624 --0.792527735233 --0.909691140056 --0.792559087277 --0.873217537999 --0.79252871871 --0.836745709181 --0.792495280504 --0.802228927612 --0.792471349239 --0.76771363616 --0.792456910014 --0.733199313283 --0.792451992631 --0.698685467243 --0.792456656694 --0.664171665907 --0.792470827699 --0.629657357931 --0.792494535446 --0.59514208138 --0.792527750134 --0.560625329614 --0.792559087277 --0.524151697755 --0.79252871871 --0.487679876387 --0.792495265603 --0.453163072467 --0.792471334338 --0.418647781015 --0.792456910014 --0.384133450687 --0.792451992631 --0.34961964935 --0.792456656694 --0.315105810762 --0.792470812798 --0.280591517687 --0.792494535446 --0.246076226235 --0.792527750134 --0.211559481919 --0.792559072375 --0.175085861236 --0.704288139939 --0.138586383313 --0.704257398844 --0.104069806636 --0.704235315323 --0.0695547107607 --0.704222068191 --0.0350406127982 --0.70421756804 --0.000527010764928 --0.704221859574 -0.0339865852148 --0.704234883189 -0.0685006668791 --0.704256743193 -0.103015726432 --0.704287305474 -0.13753226772 --0.704316139221 -0.174006767571 --0.704288139939 -0.210479468107 --0.704257383942 -0.244996037334 --0.704235315323 -0.279511131346 --0.704222038388 -0.314025238157 --0.70421756804 -0.348538838327 --0.704221859575 -0.383052431047 --0.704234912992 -0.417566522956 --0.704256758094 -0.452081568539 --0.704287320376 -0.486598111689 --0.70431612432 -0.523072615266 --0.704288154841 -0.559545308352 --0.70425735414 -0.594061911106 --0.704235330224 -0.62857696414 --0.704222038388 -0.663091093302 --0.704217538237 -0.697604700923 --0.704221844673 -0.732118293643 --0.704234912992 -0.766632348299 --0.704256758094 -0.801147431135 --0.704287320376 -0.835663959384 --0.704316139221 -0.872138485313 --0.704288154841 -0.908611178398 --0.704257369041 -0.94312773645 --0.704235330224 -0.977642849088 --0.704222053289 -1.01215690375 --0.704217553139 -1.04667052626 --0.704221844673 -1.08118414879 --0.704234912992 -1.11569821835 --0.704256743193 -1.15021327138 --0.704287320376 -1.18472981453 --0.704316139221 -1.22120431066 --0.704288154841 -1.25767704845 --0.704257369041 -1.2921935916 --0.704235330224 -1.32670870424 --0.704222053289 -1.36122280359 --0.704217538237 -1.39573639631 --0.704221889377 -1.43024995923 --0.704234912992 -1.46476405859 --0.704256772995 -1.49927914143 --0.704287335277 -1.53379565478 --0.704316154122 -1.5702701807 --0.704288125038 -1.60674285889 --0.704257383943 -1.64125949145 --0.704235330224 -1.67577454448 --0.70422205329 -1.71028864384 --0.704217538237 -1.74480223656 --0.704221844673 -1.77931582928 --0.704234912992 -1.81382992864 --0.704256772995 -1.84834498167 --0.704287305474 -1.88286149502 --0.704316154122 -1.91933602094 --0.704288169742 -1.95580872894 --0.704257369041 -1.99032527208 --0.704235345125 -2.02484041452 --0.70422205329 -2.05935448408 --0.70421756804 -2.0938680768 --0.704221844673 -2.12838166952 --0.704234898091 -2.16289579868 --0.704256758094 -2.19741082192 --0.704287320376 -2.23192739487 --0.70431612432 -2.26840180159 --0.704288139939 -2.30487459898 --0.704257383943 -2.33939111232 --0.704235330224 -2.37390619517 --0.704222038388 -2.40842032433 --0.70421756804 -2.44293391705 --0.704221859574 -2.47744756937 --0.704234912992 -2.51196163893 --0.704256743193 -2.54647666216 --0.704287320376 -2.58099323511 --0.704316139221 -2.61746770144 --0.704288125038 -2.65394037962 --0.704257383943 -2.68845707178 --0.704235345125 -2.72297215462 --0.704222068191 -2.75748622418 --0.704217553139 -2.7919998169 --0.704221844673 -2.82651335001 --0.704234898091 -2.86102741957 --0.704256758094 -2.8955425024 --0.704287320376 -2.93005907535 --0.704316154122 -2.96653360128 --0.704288139939 -3.00300627947 --0.704257398844 -3.03752285242 --0.704235315323 -3.07203799486 --0.704222068191 -3.10655200481 --0.70421756804 -3.14106562932 --0.704221859574 --3.10760611296 --0.704234883189 --3.0730920434 --0.704256743193 --3.03857696056 --0.704287305474 --3.00406038761 --0.704316139221 --2.96758586169 --0.704288139939 --2.9311131835 --0.704257383942 --2.89659661055 --0.704235315323 --2.8620814681 --0.704222038388 --2.82756745815 --0.70421756804 --2.79305380583 --0.704221859575 --2.75854021311 --0.704234912992 --2.72402614355 --0.704256758094 --2.68951106071 --0.704287320376 --2.65499454737 --0.70431612432 --2.61852002144 --0.704288154841 --2.58204728365 --0.70425735414 --2.5475307703 --0.704235330224 --2.51301568746 --0.704222038388 --2.4785015583 --0.704217538237 --2.44398796558 --0.704221844673 --2.40947437286 --0.704234912992 --2.37496030331 --0.704256758094 --2.34044522047 --0.704287320376 --2.30592870713 --0.704316139221 --2.26945418119 --0.704288154841 --2.23298150301 --0.704257369041 --2.19846487045 --0.704235330224 --2.16394972801 --0.704222053289 --2.12943571806 --0.704217553139 --2.09492218494 --0.704221844673 --2.06040853262 --0.704234912992 --2.02589446306 --0.704256743193 --1.99137935042 --0.704287320376 --1.95686283708 --0.704316139221 --1.92038834095 --0.704288154841 --1.88391563296 --0.704257369041 --1.84939903021 --0.704235330224 --1.81488397718 --0.704222053289 --1.78036984801 --0.704217538237 --1.74585622549 --0.704221889377 --1.71134269237 --0.704234912992 --1.67682859302 --0.704256772995 --1.64231353998 --0.704287335277 --1.60779696703 --0.704316154122 --1.5713224709 --0.704288125038 --1.53484976291 --0.704257383943 --1.50033321977 --0.704235330224 --1.46581813693 --0.70422205329 --1.43130403757 --0.704217538237 --1.39679044485 --0.704221844673 --1.36227682233 --0.704234912992 --1.32776272297 --0.704256772995 --1.29324766993 --0.704287305474 --1.25873112678 --0.704316154122 --1.22225663066 --0.704288169742 --1.18578395247 --0.704257369041 --1.15126734972 --0.704235345125 --1.11675223708 --0.70422205329 --1.08223816752 --0.70421756804 --1.047724545 --0.704221844673 --1.01321098208 --0.704234898091 --0.978696882725 --0.704256758094 --0.944181829691 --0.704287320376 --0.90966527164 --0.70431612432 --0.873190805316 --0.704288139939 --0.836718112231 --0.704257383943 --0.802201494574 --0.704235330224 --0.767686426639 --0.704222038388 --0.733172312379 --0.70421756804 --0.698658719659 --0.704221859574 --0.664145112037 --0.704234912992 --0.629631012678 --0.704256743193 --0.595115959644 --0.704287320376 --0.560599416495 --0.704316139221 --0.524124935269 --0.704288125038 --0.487652227283 --0.704257383943 --0.453135646879 --0.704235345125 --0.418620556593 --0.704222068191 --0.384106464684 --0.704217553139 --0.349592871964 --0.704221844673 --0.315079256892 --0.704234898091 --0.280565187335 --0.704256758094 --0.246050115675 --0.704287320376 --0.211533587426 --0.704316154122 --0.1750590913 --0.618687704206 --0.138557210565 --0.618659839034 --0.104040872305 --0.618639871478 --0.0695260176435 --0.618627846241 --0.0350121473893 --0.618623748422 --0.000498776789755 --0.618627622724 -0.0340145882219 --0.618639528751 -0.0685284389183 --0.618659287691 -0.103043265641 --0.618686974049 -0.137559577823 --0.61871317029 -0.174035008997 --0.618687793613 -0.21050862968 --0.618659839034 -0.245024975389 --0.618639871478 -0.279539845884 --0.618627846241 -0.314053691924 --0.618623748422 -0.348567068577 --0.618627652526 -0.383080430329 --0.618639498949 -0.41759429127 --0.618659317494 -0.452109120786 --0.618687033653 -0.486625425517 --0.618713140488 -0.523100838065 --0.61868776381 -0.559574455023 --0.618659839034 -0.594090819359 --0.618639871478 -0.628605678678 --0.618627846241 -0.663119569421 --0.618623763323 -0.697632923723 --0.618627682328 -0.732146278024 --0.618639498949 -0.766660138965 --0.618659317494 -0.801174998284 --0.618687033653 -0.835691273212 --0.618713140488 -0.872166708112 --0.618687793613 -0.908640339971 --0.618659839034 -0.943156674505 --0.618639841676 -0.977671518922 --0.618627846241 -1.01218539476 --0.618623748422 -1.04669877887 --0.618627652526 -1.08121213317 --0.618639498949 -1.11572599411 --0.618659317494 -1.15024083853 --0.618687033653 -1.18475714326 --0.61871317029 -1.22123256326 --0.618687793613 -1.25770619511 --0.618659839034 -1.29222252965 --0.618639871478 -1.32673737406 --0.618627846241 -1.36125126481 --0.618623748422 -1.39576461911 --0.618627682328 -1.43027797341 --0.618639528751 -1.46479183435 --0.618659332395 -1.49930667877 --0.618687003851 -1.5338229835 --0.618713140488 -1.5702983737 --0.618687793613 -1.60677203536 --0.618659839034 -1.6412883699 --0.618639841676 -1.67580324411 --0.618627816438 -1.71031707525 --0.618623748422 -1.74483048916 --0.618627652526 -1.77934384346 --0.618639558554 -1.8138577044 --0.618659317494 -1.84837251902 --0.618687033653 -1.88288882375 --0.618713140488 -1.91936427354 --0.618687734008 -1.95583790541 --0.618659839034 -1.99035423994 --0.618639871478 -2.02486908436 --0.618627846241 -2.0593829155 --0.618623748422 -2.09389632941 --0.618627682328 -2.1284096837 --0.618639498949 -2.16292351484 --0.618659317494 -2.19743829966 --0.618687033653 -2.23195463419 --0.618713140488 -2.26843011379 --0.61868776381 -2.30490374565 --0.618659839034 -2.33942008019 --0.618639841676 -2.3739349246 --0.618627846241 -2.40844887495 --0.618623748422 -2.44296211004 --0.618627652526 -2.47747552395 --0.618639528751 -2.51198935509 --0.618659317494 -2.54650425911 --0.618687033653 -2.58102053404 --0.618713140488 -2.61749595403 --0.61868776381 -2.65396952629 --0.618659839034 -2.68848592043 --0.618639871478 -2.72300082445 --0.618627846241 -2.75751465559 --0.618623748422 -2.7920280695 --0.618627682328 -2.8265413642 --0.618639498949 -2.86105525494 --0.618659317494 -2.89557009935 --0.618687033653 -2.93008637428 --0.618713140488 -2.96656179428 --0.618687704206 -3.00303542614 --0.618659839034 -3.03755176067 --0.618639871478 -3.07206660509 --0.618627846241 -3.10658043623 --0.618623748422 -3.14109394153 --0.618627622724 --3.10757809877 --0.618639528751 --3.07306414842 --0.618659287691 --3.03854936361 --0.618686974049 --3.00403308868 --0.61871317029 --2.96755766869 --0.618687793613 --2.93108397722 --0.618659839034 --2.89656770229 --0.618639871478 --2.86205285788 --0.618627846241 --2.82753902674 --0.618623748422 --2.79302555323 --0.618627652526 --2.75851225853 --0.618639498949 --2.72399836778 --0.618659317494 --2.68948358297 --0.618687033653 --2.65496724844 --0.618713140488 --2.61849176884 --0.61868776381 --2.58201813698 --0.618659839034 --2.54750180244 --0.618639871478 --2.51298701763 --0.618627846241 --2.47847300768 --0.618623763323 --2.44395977258 --0.618627682328 --2.40944635868 --0.618639498949 --2.37493252754 --0.618659317494 --2.34041768313 --0.618687033653 --2.3059014082 --0.618713140488 --2.2694259286 --0.618687793613 --2.23295235634 --0.618659839034 --2.1984359622 --0.618639841676 --2.16392105818 --0.618627846241 --2.12940722704 --0.618623748422 --2.09489387274 --0.618627652526 --2.06038051844 --0.618639498949 --2.02586662769 --0.618659317494 --1.99135178327 --0.618687033653 --1.95683550835 --0.61871317029 --1.92036011815 --0.618687793613 --1.88388648629 --0.618659839034 --1.84937015176 --0.618639871478 --1.81485524773 --0.618627846241 --1.78034138679 --0.618623748422 --1.74582803249 --0.618627682328 --1.71131467819 --0.618639528751 --1.67680081725 --0.618659332395 --1.64228600264 --0.618687003851 --1.6077696979 --0.618713140488 --1.57129424811 --0.618687793613 --1.53482061624 --0.618659839034 --1.50030425191 --0.618639841676 --1.46578940749 --0.618627816438 --1.43127554655 --0.618623748422 --1.39676216245 --0.618627652526 --1.36224880814 --0.618639558554 --1.32773497701 --0.618659317494 --1.29322010279 --0.618687033653 --1.25870382786 --0.618713140488 --1.22222837806 --0.618687734008 --1.185754776 --0.618659839034 --1.15123841167 --0.618639871478 --1.11672356725 --0.618627846241 --1.08220970631 --0.618623748422 --1.0476963222 --0.618627682328 --1.0131829381 --0.618639498949 --0.978669121862 --0.618659317494 --0.944154277444 --0.618687033653 --0.909637987614 --0.618713140488 --0.873162552714 --0.61868776381 --0.836688920856 --0.618659839034 --0.802172586322 --0.618639841676 --0.767657727003 --0.618627846241 --0.733143821359 --0.618623748422 --0.698630467057 --0.618627652526 --0.664117112756 --0.618639528751 --0.629603251815 --0.618659317494 --0.595088437199 --0.618687033653 --0.560572132468 --0.618713140488 --0.524096682667 --0.61868776381 --0.48762306571 --0.618659839034 --0.453106731177 --0.618639871478 --0.418591864407 --0.618627846241 --0.384077988565 --0.618623748422 --0.349564611912 --0.618627682328 --0.31505125761 --0.618639498949 --0.280537411571 --0.618659317494 --0.246022574604 --0.618687033653 --0.211506273598 --0.618713140488 --0.175030846149 --0.533080592751 --0.13852667436 --0.533055871725 --0.104010572657 --0.533038184047 --0.0694959582761 --0.533027485013 --0.0349823324941 --0.533023878932 --0.000469203805547 --0.533027350903 -0.0340439183638 --0.53303784132 -0.0685575269163 --0.53305542469 -0.103072123602 --0.533080041408 -0.137588184327 --0.53310315311 -0.174064576626 --0.533080622554 -0.21053917706 --0.533055871725 -0.245055273175 --0.533038154244 -0.279569886625 --0.533027485013 -0.314083516598 --0.53302384913 -0.348596639931 --0.533027350902 -0.383109770715 --0.533037871122 -0.417623378336 --0.53305542469 -0.452137976885 --0.533080041408 -0.486654028296 --0.53310315311 -0.523130446672 --0.533080622554 -0.559605017304 --0.533055871725 -0.594121128321 --0.533038124442 -0.628635764122 --0.53302745521 -0.663149371743 --0.53302384913 -0.697662502527 --0.533027380705 -0.73217561841 --0.533037871122 -0.76668921113 --0.53305542469 -0.801203802228 --0.533080041408 -0.835719898343 --0.53310315311 -0.872196286917 --0.533080622554 -0.908670857549 --0.533055871725 -0.943186953664 --0.533038124442 -0.977701574564 --0.533027485013 -1.01221522689 --0.533023878932 -1.04672834277 --0.533027350902 -1.08124145866 --0.533037871122 -1.11575505137 --0.53305542469 -1.15026968717 --0.533080041408 -1.18478575349 --0.53310315311 -1.22126212716 --0.533080592752 -1.2577367425 --0.533055871725 -1.29225286841 --0.533038154244 -1.32676744461 --0.53302745521 -1.36128106714 --0.53302384913 -1.39579418302 --0.533027350903 -1.4303073287 --0.533037856221 -1.46482095122 --0.533055394888 -1.49933552742 --0.533080041408 -1.53385156393 --0.533103182912 -1.57032799721 --0.533080592752 -1.60680258274 --0.533055856824 -1.64131864906 --0.533038154244 -1.67583331466 --0.533027485013 -1.71034693718 --0.53302384913 -1.74486005306 --0.533027350902 -1.77937316895 --0.533037871122 -1.81388679147 --0.533055394888 -1.84840136766 --0.533080041408 -1.88291743397 --0.53310315311 -1.91939380765 --0.533080622554 -1.95586842299 --0.533055871725 -1.9903845489 --0.533038154244 -2.0248991847 --0.533027485013 -2.05941277742 --0.53302384913 -2.09392589331 --0.533027350903 -2.12843900919 --0.533037871122 -2.16295266151 --0.53305542469 -2.19746726751 --0.533080041408 -2.23198330402 --0.53310315311 -2.26845967769 --0.533080622554 -2.30493426323 --0.533055871725 -2.33945035935 --0.533038154244 -2.37396496534 --0.533027485013 -2.40847855807 --0.53302384913 -2.44299179316 --0.533027380705 -2.47750484943 --0.533037856221 -2.51201850176 --0.53305542469 -2.54653304816 --0.533080041408 -2.58104914427 --0.533103182912 -2.61752557754 --0.533080592752 -2.65400016308 --0.533055871725 -2.68851619959 --0.533038184047 -2.72303080559 --0.53302745521 -2.75754451752 --0.533023878932 -2.79205757379 --0.533027350902 -2.82657074928 --0.533037871122 -2.8610842824 --0.53305542469 -2.8955988884 --0.533080041408 -2.93011492491 --0.533103182912 -2.96659135819 --0.533080592751 -3.00306594372 --0.533055871725 -3.03758209944 --0.533038184047 -3.07209676504 --0.533027485013 -3.10661035776 --0.533023878932 -3.14112344582 --0.533027350903 --3.10754871368 --0.53303784132 --3.07303518057 --0.53305542469 --3.03852051497 --0.533080041408 --3.00400453806 --0.53310315311 --2.96752810478 --0.533080622554 --2.93105351925 --0.533055871725 --2.89653736353 --0.533038154244 --2.86202269793 --0.533027485013 --2.8275091052 --0.53302384913 --2.79299604893 --0.533027350902 --2.75848287344 --0.533037871122 --2.72396922111 --0.53305542469 --2.68945461511 --0.533080041408 --2.65493857861 --0.53310315311 --2.61846226454 --0.533080622554 --2.581987679 --0.533055871725 --2.54747152328 --0.533038124442 --2.51295691728 --0.53302745521 --2.47844332457 --0.53302384913 --2.44393008947 --0.533027380705 --2.4094170332 --0.533037871122 --2.37490338087 --0.53305542469 --2.34038883448 --0.533080041408 --2.30587273836 --0.53310315311 --2.26939636469 --0.533080622554 --2.23292171955 --0.533055871725 --2.19840574264 --0.533038124442 --2.16389113665 --0.533027485013 --2.12937742472 --0.533023878932 --2.09486430883 --0.533027350902 --2.06035113334 --0.533037871122 --2.02583760023 --0.53305542469 --1.99132299423 --0.533080041408 --1.95680689812 --0.53310315311 --1.92033049464 --0.533080592752 --1.88385590911 --0.533055871725 --1.8493398726 --0.533038154244 --1.81482520699 --0.53302745521 --1.78031155467 --0.53302384913 --1.74579846859 --0.533027350903 --1.71128535271 --0.533037856221 --1.67677173019 --0.533055394888 --1.64225712418 --0.533080041408 --1.60774108768 --0.533103182912 --1.571264714 --0.533080592752 --1.53479009867 --0.533055856824 --1.50027397275 --0.533038154244 --1.46575936675 --0.533027485013 --1.43124574423 --0.53302384913 --1.39673259854 --0.533027350902 --1.36221948266 --0.533037871122 --1.32770586014 --0.533055394888 --1.29319125414 --0.533080041408 --1.25867518783 --0.53310315311 --1.22219881415 --0.533080622554 --1.18572422862 --0.533055871725 --1.1512081027 --0.533038154244 --1.11669352651 --0.533027485013 --1.08217987418 --0.53302384913 --1.0476667583 --0.533027350903 --1.01315361262 --0.533037871122 --0.978640034795 --0.53305542469 --0.944125428796 --0.533080041408 --0.909609377384 --0.53310315311 --0.873132973909 --0.533080622554 --0.836658388376 --0.533055871725 --0.802142262459 --0.533038154244 --0.767627641559 --0.533027485013 --0.733114033937 --0.53302384913 --0.698600888252 --0.533027380705 --0.66408778727 --0.533037856221 --0.629574179649 --0.53305542469 --0.595059558749 --0.533080041408 --0.56054353714 --0.533103182912 --0.524067133665 --0.533080592752 --0.487592510879 --0.533055871725 --0.453076414764 --0.533038184047 --0.418561793864 --0.53302745521 --0.384048171341 --0.533023878932 --0.349535048008 --0.533027350902 --0.315021932125 --0.533037871122 --0.280508324504 --0.53305542469 --0.245993729681 --0.533080041408 --0.211477655918 --0.533103182912 --0.175001271069 --0.444497652352 --0.138493999839 --0.444476462901 --0.103978158906 --0.444461300969 --0.0694637997076 --0.444452166558 --0.0349504328333 --0.444449074567 --0.0004375660792 --0.444452047348 -0.0340752960183 --0.444461047649 -0.068588649854 --0.444476135075 -0.103102982044 --0.444497197866 -0.137618795038 --0.444516979158 -0.174096226692 --0.44449763 -0.210571851582 --0.444476462901 -0.245087690651 --0.444461300969 -0.27960203588 --0.444452166558 -0.314115419984 --0.444449074567 -0.348628282547 --0.444452047348 -0.38314114511 --0.444461092353 -0.417654499412 --0.444476112723 -0.452168829739 --0.444497197866 -0.486684657633 --0.44451700151 -0.523162081838 --0.44449763 -0.559637710452 --0.444476440549 -0.594153553247 --0.444461300969 -0.628667905927 --0.444452166558 -0.663181245327 --0.444449074567 -0.697694137692 --0.4444520697 -0.732206970453 --0.444461092353 -0.766720324755 --0.444476112723 -0.801234692336 --0.444497197866 -0.835750490427 --0.444516979158 -0.872227922082 --0.444497652351 -0.908703550696 --0.444476485252 -0.943219423294 --0.444461300969 -0.977733746171 --0.444452166558 -1.01224711537 --0.444449074567 -1.04675999284 --0.4444520697 -1.0812728405 --0.444461070001 -1.1157861948 --0.444476157427 -1.15030050278 --0.444497197866 -1.18481639027 --0.444516979158 -1.22129377723 --0.444497674703 -1.25776943564 --0.444476485252 -1.29228520393 --0.444461300969 -1.32679960132 --0.444452166558 -1.36131298542 --0.444449074567 -1.39582580328 --0.4444520697 -1.43033868075 --0.444461070001 -1.46485206485 --0.444476135075 -1.49936640262 --0.444497197866 -1.53388217091 --0.444516979158 -1.57035964728 --0.44449763 -1.60683524609 --0.444476462901 -1.64135110378 --0.444461300969 -1.67586547136 --0.44445219636 -1.71037879586 --0.444449074567 -1.74489170313 --0.444452047348 -1.77940455079 --0.444461070001 -1.81391787529 --0.444476112723 -1.84843221307 --0.444497197866 -1.88294807076 --0.444516979158 -1.91942545772 --0.444497607648 -1.95590111614 --0.444476485252 -1.99041694403 --0.444461300969 -2.02493131161 --0.444452166558 -2.05944466591 --0.444449074567 -2.09395754337 --0.444452047348 -2.12847042084 --0.444461070001 -2.16298371553 --0.444476135075 -2.19749808311 --0.444497197866 -2.23201394081 --0.44451700151 -2.26849132777 --0.444497652352 -2.30496692658 --0.444476462901 -2.33948284388 --0.444461300969 -2.37399721145 --0.444452166558 -2.40851056576 --0.444449074567 -2.44302332401 --0.4444520697 -2.47753626108 --0.444461070001 -2.51204961539 --0.444476135075 -2.54656392336 --0.444497197866 -2.58107972145 --0.444516979158 -2.61755716801 --0.444497652351 -2.65403282642 --0.444476440549 -2.68854868412 --0.444461300969 -2.7230629921 --0.444452166558 -2.7575763464 --0.444449074567 -2.79208922386 --0.4444520697 -2.82660210132 --0.444461070001 -2.86111545563 --0.444476112723 -2.89562982321 --0.444497197866 -2.93014556169 --0.444516979158 -2.96662306786 --0.444497652352 -3.00309872627 --0.444476462901 -3.03761446476 --0.444461300969 -3.07212889195 --0.444452166558 -3.10664218665 --0.444449074567 -3.14115503629 --0.444452047348 --3.10751736164 --0.444461047649 --3.07300400734 --0.444476135075 --3.03848963976 --0.444497197866 --3.00397390128 --0.444516979158 --2.96749639511 --0.44449763 --2.93102073669 --0.444476462901 --2.8965049982 --0.444461300969 --2.86199057102 --0.444452166558 --2.82747721672 --0.444449074567 --2.79296433926 --0.444452047348 --2.7584515214 --0.444461092353 --2.7239381671 --0.444476112723 --2.68942379951 --0.444497197866 --2.65490800142 --0.44451700151 --2.61843061447 --0.44449763 --2.58195495606 --0.444476440549 --2.54743909835 --0.444461300969 --2.51292473078 --0.444452166558 --2.47841137647 --0.444449074567 --2.44389855862 --0.4444520697 --2.40938568115 --0.444461092353 --2.37487232685 --0.444476112723 --2.34035795927 --0.444497197866 --2.30584216118 --0.444516979158 --2.26936477423 --0.444497652351 --2.23288917541 --0.444476485252 --2.19837319851 --0.444461300969 --2.16385889054 --0.444452166558 --2.12934553623 --0.444449074567 --2.09483271838 --0.4444520697 --2.06031984091 --0.444461070001 --2.025806427 --0.444476157427 --1.99129211903 --0.444497197866 --1.95677632093 --0.444516979158 --1.92029887438 --0.444497674703 --1.88382327557 --0.444476485252 --1.84930741787 --0.444461300969 --1.81479305029 --0.444452166558 --1.78027966618 --0.444449074567 --1.74576681852 --0.4444520697 --1.71125394106 --0.444461070001 --1.67674058676 --0.444476135075 --1.64222627878 --0.444497197866 --1.60771045089 --0.444516979158 --1.57123306394 --0.44449763 --1.53475740552 --0.444476462901 --1.50024154782 --0.444461300969 --1.46572721004 --0.44445219636 --1.43121382594 --0.444449074567 --1.39670094848 --0.444452047348 --1.36218810081 --0.444461070001 --1.32767474652 --0.444476112723 --1.29316043854 --0.444497197866 --1.25864461064 --0.444516979158 --1.22216716409 --0.444497607648 --1.18569156528 --0.444476485252 --1.15117573739 --0.444461300969 --1.1166613698 --0.444452166558 --1.08214795589 --0.444449074567 --1.04763510823 --0.444452047348 --1.01312226057 --0.444461070001 --0.978608906269 --0.444476135075 --0.944094568491 --0.444497197866 --0.909578740597 --0.44451700151 --0.873101323843 --0.444497652352 --0.836625695229 --0.444476462901 --0.802109852433 --0.444461300969 --0.767595484853 --0.444452166558 --0.733082130551 --0.444449074567 --0.698569282889 --0.4444520697 --0.664056405425 --0.444461070001 --0.629543051124 --0.444476135075 --0.595028713346 --0.444497197866 --0.560512900353 --0.444516979158 --0.524035483599 --0.444497652351 --0.487559847534 --0.444476440549 --0.453043997288 --0.444461300969 --0.41852966696 --0.444452166558 --0.384016275406 --0.444449074567 --0.349503405392 --0.4444520697 --0.31499055773 --0.444461070001 --0.280477181077 --0.444476112723 --0.245962865651 --0.444497197866 --0.211447056383 --0.444516979158 --0.174969621003 --0.355318836868 --0.138458169996 --0.355301506818 --0.103942602873 --0.355289109051 --0.0694285277277 --0.355281628668 --0.0349154528231 --0.355279162526 --0.00040286965668 --0.355281569064 -0.0341097088531 --0.355288945138 -0.0686227818951 --0.3553012833 -0.103136831895 --0.355318494141 -0.137652371079 --0.355334654451 -0.174130927771 --0.355318836868 -0.210607681424 --0.355301506818 -0.245123241097 --0.355289109051 -0.279637329281 --0.355281628668 -0.314150393009 --0.355279162526 -0.348662987351 --0.355281569064 -0.383175566793 --0.355288945138 -0.417688630522 --0.355301260948 -0.452202685177 --0.355318471789 -0.48671822995 --0.355334624648 -0.523196771741 --0.355318814516 -0.559673547744 --0.355301506818 -0.594189092517 --0.355289109051 -0.628703191877 --0.355281628668 -0.663216233253 --0.355279162526 -0.697728842497 --0.355281591415 -0.732241407037 --0.355288945138 -0.766754493117 --0.3553012833 -0.801268517971 --0.355318471789 -0.835784062743 --0.355334639549 -0.872262611985 --0.355318836868 -0.908739387989 --0.355301484466 -0.943254962564 --0.355289109051 -0.97776901722 --0.35528165102 -1.0122820735 --0.355279162526 -1.04679468274 --0.355281569064 -1.08130729198 --0.355288945138 -1.11582031846 --0.3553012833 -1.15033438802 --0.355318471789 -1.18484991789 --0.355334639549 -1.22132846713 --0.355318836868 -1.25780522824 --0.355301506818 -1.29232078791 --0.355289109051 -1.32683485746 --0.35528165102 -1.36134791374 --0.355279162526 -1.39586052299 --0.355281591415 -1.43037310243 --0.355288945138 -1.4648861587 --0.3553012833 -1.49940025806 --0.355318471789 -1.53391578794 --0.355334639549 -1.57039430738 --0.355318814516 -1.60687109828 --0.355301484466 -1.64138665795 --0.355289109051 -1.67590072751 --0.35528165102 -1.71041381359 --0.355279162526 -1.74492639303 --0.355281569064 -1.77943897247 --0.35528896749 -1.81395202875 --0.3553012833 -1.84846606851 --0.355318471789 -1.88298159838 --0.355334639549 -1.91946020722 --0.355318836868 -1.95593693853 --0.355301506818 -1.9904524684 --0.355289109051 -2.02496653796 --0.35528165102 -2.05947965383 --0.355279162526 -2.09399223327 --0.355281591415 -2.12850487232 --0.355288922786 -2.16301786899 --0.3553012833 -2.19753187895 --0.355318471789 -2.23204743862 --0.355334639549 -2.26852601766 --0.355318836868 -2.30500274897 --0.355301506818 -2.33951830864 --0.355289109051 -2.3740323782 --0.35528165102 -2.40854543447 --0.355279162526 -2.44305807352 --0.355281569064 -2.47757065296 --0.35528896749 -2.51208370924 --0.355301260948 -2.5465977788 --0.355318471789 -2.58111333847 --0.355334639549 -2.61759185791 --0.355318836868 -2.65406864881 --0.355301506818 -2.68858420849 --0.355289109051 -2.72309827805 --0.355281628668 -2.75761133432 --0.355279162526 -2.79212397337 --0.355281569064 -2.8266364336 --0.355288945138 -2.86114960909 --0.3553012833 -2.89566361904 --0.355318471789 -2.93017917871 --0.355334661901 -2.96665775776 --0.355318836868 -3.00313448906 --0.355301506818 -3.03765004873 --0.355289109051 -3.07216411829 --0.355281628668 -3.10667717457 --0.355279162526 -3.1411898454 --0.355281569064 --3.10748302936 --0.355288945138 --3.07296985388 --0.3553012833 --3.03845584393 --0.355318494141 --3.00394028425 --0.355334654451 --2.96746170521 --0.355318836868 --2.9309849739 --0.355301506818 --2.89646947384 --0.355289109051 --2.86195534468 --0.355281628668 --2.82744222879 --0.355279162526 --2.79292964935 --0.355281569064 --2.75841701031 --0.355288945138 --2.72390401363 --0.355301260948 --2.68939000368 --0.355318471789 --2.65487444401 --0.355334624648 --2.61839586496 --0.355318814516 --2.58191913366 --0.355301506818 --2.54740357399 --0.355289109051 --2.51288944483 --0.355281628668 --2.47837644815 --0.355279162526 --2.44386386871 --0.355281591415 --2.40935122966 --0.355288945138 --2.37483817339 --0.3553012833 --2.34032410383 --0.355318471789 --2.30580866337 --0.355334639549 --2.26933008433 --0.355318836868 --2.23285323381 --0.355301484466 --2.19833767414 --0.355289109051 --2.16382360458 --0.35528165102 --2.12931054831 --0.355279162526 --2.09479796887 --0.355281569064 --2.06028544903 --0.355288945138 --2.02577227354 --0.3553012833 --1.99125826359 --0.355318471789 --1.95674273372 --0.355334639549 --1.92026415467 --0.355318836868 --1.88378742337 --0.355301506818 --1.8492718339 --0.355289109051 --1.81475776434 --0.35528165102 --1.78024470806 --0.355279162526 --1.74573212862 --0.355281591415 --1.71121954918 --0.355288945138 --1.6767064631 --0.3553012833 --1.64219242335 --0.355318471789 --1.60767689348 --0.355334639549 --1.57119831443 --0.355318814516 --1.53472155333 --0.355301484466 --1.50020602346 --0.355289109051 --1.46569192409 --0.35528165102 --1.43117886782 --0.355279162526 --1.39666625857 --0.355281569064 --1.36215370893 --0.35528896749 --1.32764062285 --0.3553012833 --1.2931265831 --0.355318471789 --1.25861102343 --0.355334639549 --1.22213247418 --0.355318836868 --1.18565571308 --0.355301506818 --1.15114015341 --0.355289109051 --1.11662608385 --0.35528165102 --1.08211302757 --0.355279162526 --1.04760041833 --0.355281591415 --1.01308783889 --0.355288922786 --0.978574737906 --0.3553012833 --0.944060727954 --0.355318471789 --0.909545168281 --0.355334639549 --0.87306663394 --0.355318836868 --0.836589872837 --0.355301506818 --0.802074328065 --0.355289109051 --0.767560243607 --0.35528165102 --0.733047157526 --0.355279162526 --0.698534563184 --0.355281569064 --0.664021968842 --0.35528896749 --0.629508927465 --0.355301260948 --0.594994872808 --0.355318471789 --0.560479328036 --0.355334639549 --0.524000793696 --0.355318836868 --0.487524025142 --0.355301506818 --0.453008458018 --0.355289109051 --0.418494403362 --0.355281628668 --0.38398129493 --0.355279162526 --0.34946872294 --0.355281569064 --0.314956136048 --0.355288945138 --0.28044307977 --0.3553012833 --0.245929017663 --0.355318471789 --0.211413487792 --0.355334661901 --0.174934923649 --0.268557786942 --0.138420257717 --0.268544405699 --0.103905001655 --0.26853492111 --0.0693912282586 --0.268529176712 --0.0348784504458 --0.268527254462 --0.000366169493642 --0.268529109657 -0.0341461091302 --0.26853479445 -0.0686588771641 --0.268544256687 -0.103172631934 --0.268557533622 -0.137687858194 --0.268569931388 -0.174167636782 --0.268557749688 -0.210645586252 --0.268544450402 -0.245160840452 --0.26853492111 -0.279674626887 --0.268529176712 -0.314187400043 --0.268527254462 -0.348699681461 --0.268529109657 -0.383211947978 --0.26853479445 -0.417724713683 --0.268544256687 -0.452238485217 --0.268557555974 -0.486753717065 --0.268569931388 -0.523233488202 --0.268557749688 -0.559711456299 --0.268544405699 -0.594226703048 --0.26853492111 -0.628740459681 --0.268529176712 -0.663253262639 --0.268527254462 -0.697765529156 --0.268529109657 -0.732277795672 --0.268534772098 -0.766790568828 --0.268544256687 -0.801304340362 --0.268557533622 -0.835819587112 --0.268569931388 -0.872299343348 --0.268557749688 -0.908777296543 --0.268544450402 -0.943292558193 --0.26853492111 -0.977806314826 --0.268529161811 -1.01231914758 --0.268527254462 -1.0468313992 --0.268529109657 -1.08134365082 --0.268534772098 -1.11585643888 --0.268544256687 -1.1503701806 --0.268557555974 -1.18488544225 --0.268569931388 -1.22136518359 --0.268557749688 -1.25784313679 --0.268544428051 -1.29235839843 --0.26853492111 -1.32687216997 --0.268529176712 -1.36138492822 --0.268527254462 -1.39589723944 --0.268529109657 -1.43040952087 --0.26853479445 -1.46492227912 --0.268544256687 -1.49943605065 --0.268557555973 -1.5339512825 --0.268569931388 -1.57043102384 --0.26855776459 -1.60690900684 --0.268544450402 -1.64142426848 --0.26853492111 -1.67593804002 --0.268529176712 -1.71045082808 --0.268527254462 -1.74496307969 --0.268529109657 -1.77947533131 --0.268534772098 -1.81398811936 --0.268544256687 -1.84850186109 --0.268557533622 -1.88301709294 --0.268569931388 -1.91949692368 --0.268557749688 -1.95597484708 --0.26854442805 -1.99049007892 --0.26853492111 -2.02500385046 --0.268529161811 -2.05951660871 --0.268527254462 -2.09402889013 --0.268529109657 -2.12854117155 --0.268534772098 -2.16305392981 --0.268544256687 -2.19756776094 --0.268557533622 -2.23208290338 --0.268569931388 -2.26856279373 --0.268557749688 -2.30504071713 --0.268544405699 -2.33955591917 --0.26853492111 -2.37406975031 --0.268529176712 -2.40858250856 --0.268527254462 -2.44309478998 --0.268529109657 -2.4776070118 --0.268534816802 -2.51211988926 --0.268544256687 -2.54663354158 --0.268557533622 -2.58114880324 --0.268569931388 -2.61762857437 --0.268557749688 -2.65410649776 --0.26854442805 -2.68862175941 --0.26853492111 -2.72313553095 --0.268529176712 -2.75764840842 --0.268527254462 -2.79216063023 --0.268529109657 -2.82667297125 --0.268534772098 -2.8611857295 --0.268544256687 -2.89569938183 --0.268557533622 -2.93021470308 --0.268569931388 -2.96669441462 --0.268557786942 -3.00317245722 --0.268544405699 -3.03768765926 --0.26853492111 -3.0722014308 --0.268529176712 -3.10671418906 --0.268527254462 -3.14122650226 --0.268529109657 --3.10744649172 --0.26853479445 --3.07293373347 --0.268544256687 --3.03841996193 --0.268557533622 --3.00390475988 --0.268569931388 --2.96742504835 --0.268557749688 --2.93094706535 --0.268544450402 --2.89643180371 --0.26853492111 --2.86191803217 --0.268529176712 --2.82740527391 --0.268527254462 --2.7928929925 --0.268529109657 --2.75838071108 --0.26853479445 --2.72386795283 --0.268544256687 --2.68935412169 --0.268557555974 --2.65483897925 --0.268569931388 --2.6183590889 --0.268557749688 --2.58188122511 --0.268544405699 --2.54736596346 --0.26853492111 --2.51285213232 --0.268529176712 --2.47833943367 --0.268527254462 --2.44382715225 --0.268529109657 --2.40931487083 --0.268534772098 --2.37480211258 --0.268544256687 --2.34028834104 --0.268557533622 --2.3057730794 --0.268569931388 --2.26929330826 --0.268557749688 --2.23281538486 --0.268544450402 --2.19830006361 --0.26853492111 --2.16378635168 --0.268529161811 --2.12927347422 --0.268527254462 --2.0947612524 --0.268529109657 --2.06024897099 --0.268534772098 --2.02573615313 --0.268544256687 --1.991222471 --0.268557555974 --1.95670723915 --0.268569931388 --1.92022749782 --0.268557749688 --1.88374951482 --0.268544428051 --1.84923425317 --0.26853492111 --1.81472048163 --0.268529176712 --1.78020769357 --0.268527254462 --1.74569544196 --0.268529109657 --1.71118313074 --0.26853479445 --1.67667037249 --0.268544256687 --1.64215666056 --0.268557555973 --1.60764139891 --0.268569931388 --1.57116159797 --0.26855776459 --1.53468364477 --0.268544450402 --1.50016841292 --0.26853492111 --1.46565461159 --0.268529176712 --1.43114182353 --0.268527254462 --1.39662954211 --0.268529109657 --1.3621172905 --0.268534772098 --1.32760456204 --0.268544256687 --1.29309076071 --0.268557533622 --1.25857552886 --0.268569931388 --1.22209578753 --0.268557749688 --1.18561780453 --0.26854442805 --1.15110254287 --0.26853492111 --1.11658880115 --0.268529161811 --1.08207601309 --0.268527254462 --1.04756373167 --0.268529109657 --1.01305145025 --0.268534772098 --0.978538662195 --0.268544256687 --0.944024920464 --0.268557533622 --0.909509718418 --0.268569931388 --0.873029902578 --0.268557749688 --0.836551949382 --0.268544405699 --0.802036702633 --0.26853492111 --0.767522931099 --0.268529176712 --0.733010143042 --0.268527254462 --0.698497876525 --0.268529109657 --0.663985624909 --0.268534816802 --0.629472821951 --0.268544256687 --0.594959080219 --0.268557533622 --0.560443848371 --0.268569931388 --0.523964077234 --0.268557749688 --0.487486109138 --0.26854442805 --0.452970862389 --0.26853492111 --0.418457090855 --0.268529176712 --0.383944302797 --0.268527254462 --0.34943202883 --0.268529109657 --0.314919732511 --0.268534772098 --0.280406974256 --0.268544256687 --0.245893217623 --0.268557533622 --0.211377985775 --0.268569931388 --0.174898214638 --0.181822847575 --0.138381261378 --0.181813709438 --0.103866308927 --0.18180718273 --0.0693528456613 --0.181803248823 --0.0348403728567 --0.18180193007 --0.000328402500603 --0.18180321902 -0.0341835664585 --0.181807097048 -0.0686960266903 --0.181813586503 -0.103209473193 --0.181822720915 -0.137724403292 --0.181831214577 -0.1742054075 --0.181822847575 -0.210684597492 --0.181813709438 -0.245199538767 --0.18180718273 -0.279713012278 --0.181803248823 -0.314225487411 --0.18180193007 -0.348737448454 --0.181803200394 -0.383249409497 --0.181807111949 -0.417761877179 --0.181813601404 -0.452275335789 --0.181822720915 -0.486790239811 --0.181831214577 -0.523271262646 --0.181822847575 -0.559750452638 --0.181813709438 -0.594265386462 --0.18180718273 -0.628778845072 --0.181803248823 -0.663291320205 --0.18180193007 -0.697803273797 --0.181803200394 -0.732315272093 --0.181807111949 -0.766827717423 --0.181813601404 -0.801341176033 --0.181822720915 -0.835856094956 --0.181831214577 -0.87233710289 --0.181822847575 -0.908816307783 --0.181813709438 -0.943331256509 --0.181807164103 -0.977844700217 --0.181803248823 -1.01235720515 --0.18180193007 -1.04686915875 --0.181803200394 -1.08138114214 --0.181807111949 -1.11589357257 --0.181813601404 -1.15040701628 --0.181822720915 -1.1849219799 --0.181831214577 -1.22140294313 --0.181822847575 -1.25788214802 --0.181813728064 -1.29239708185 --0.18180718273 -1.32691058516 --0.181803248823 -1.36142304539 --0.18180193007 -1.39593496918 --0.181803200394 -1.43044695258 --0.181807097048 -1.46495944262 --0.181813601404 -1.49947288632 --0.181822720915 -1.53398779035 --0.181831214577 -1.57046878338 --0.181822847575 -1.60694798827 --0.181813728064 -1.6414629817 --0.181807164103 -1.67597639561 --0.181803248823 -1.71048888564 --0.18180193007 -1.74500086904 --0.18180321902 -1.77951285243 --0.181807111949 -1.81402525306 --0.181813601404 -1.84853872657 --0.181822720915 -1.88305366039 --0.181831214577 -1.91953468323 --0.181822847575 -1.95601385832 --0.181813709438 -1.99052876234 --0.181807164103 -2.02504217624 --0.181803248823 -2.05955475569 --0.18180193007 -2.09406673908 --0.181803200394 -2.12857866287 --0.181807111949 -2.16309112311 --0.181813601404 -2.19760459662 --0.181822720915 -2.23211950064 --0.181831214577 -2.26860058308 --0.181822847575 -2.30507969856 --0.181813728064 -2.33959466219 --0.181807164103 -2.3741081357 --0.181803248823 -2.40862053633 --0.18180193007 -2.44313257932 --0.18180321902 -2.47764450312 --0.181807111949 -2.51215696335 --0.181813601404 -2.54667049646 --0.181822720915 -2.58118534088 --0.181831214577 -2.61766636372 --0.181822847575 -2.6541454792 --0.181813728064 -2.68866050243 --0.18180718273 -2.72317397594 --0.181803248823 -2.75768643618 --0.18180193007 -2.79219835996 --0.181803200394 -2.82671040297 --0.181807097048 -2.86122280359 --0.181813601404 -2.89573627711 --0.181822720915 -2.93025118112 --0.181831214577 -2.96673214436 --0.181822847575 -3.00321143866 --0.181813709438 -3.03772628308 --0.18180718273 -3.07223975658 --0.181803248823 -3.10675233603 --0.18180193007 -3.14126423199 --0.18180321902 --3.10740906 --0.181807097048 --3.07289654016 --0.181813586503 --3.03838318586 --0.181822720915 --3.00386828184 --0.181831214577 --2.96738731861 --0.181822847575 --2.93090802431 --0.181813709438 --2.89639317989 --0.18180718273 --2.86187964678 --0.181803248823 --2.82736712694 --0.18180193007 --2.79285520315 --0.181803200394 --2.75834327936 --0.181807111949 --2.72383075952 --0.181813601404 --2.68931740523 --0.181822720915 --2.65480238199 --0.181831214577 --2.61832135916 --0.181822847575 --2.58184218407 --0.181813709438 --2.54732728004 --0.18180718273 --2.51281374693 --0.181803248823 --2.4783013463 --0.18180193007 --2.44378936291 --0.181803200394 --2.40927737952 --0.181807111949 --2.37476497889 --0.181813601404 --2.34025144577 --0.181822720915 --2.30573654175 --0.181831214577 --2.26925551891 --0.181822847575 --2.23277640343 --0.181813709438 --2.19826138019 --0.181807164103 --2.16374796629 --0.181803248823 --2.12923550606 --0.18180193007 --2.09472352267 --0.181803200394 --2.06021153927 --0.181807111949 --2.02569913864 --0.181813601404 --1.99118563533 --0.181822720915 --1.9566707015 --0.181831214577 --1.92018970847 --0.181822847575 --1.88371053338 --0.181813728064 --1.84919553995 --0.18180718273 --1.81468206644 --0.181803248823 --1.78016963601 --0.18180193007 --1.74565765262 --0.181803200394 --1.71114566922 --0.181807097048 --1.67663323879 --0.181813601404 --1.64211976528 --0.181822720915 --1.60760483145 --0.181831214577 --1.57112383842 --0.181822847575 --1.53464463353 --0.181813728064 --1.5001296997 --0.181807164103 --1.465616256 --0.181803248823 --1.43110379577 --0.18180193007 --1.39659178257 --0.18180321902 --1.36207982898 --0.181807111949 --1.32756736875 --0.181813601404 --1.29305392504 --0.181822720915 --1.25853902102 --0.181831214577 --1.22205799818 --0.181822847575 --1.18557885289 --0.181813709438 --1.15106385946 --0.181807164103 --1.11655035615 --0.181803248823 --1.08203789592 --0.18180193007 --1.04752597213 --0.181803200394 --1.01301398873 --0.181807111949 --0.9785015136 --0.181813601404 --0.943988069892 --0.181822720915 --0.909473150969 --0.181831214577 --0.872992128134 --0.181822847575 --0.836512953043 --0.181813728064 --0.801998019218 --0.181807164103 --0.767484545707 --0.181803248823 --0.732972070575 --0.18180193007 --0.698460102082 --0.18180321902 --0.663948148489 --0.181807111949 --0.629435673356 --0.181813601404 --0.594922229648 --0.181822720915 --0.560407295823 --0.181831214577 --0.523926287889 --0.181822847575 --0.487447120249 --0.181813728064 --0.452932156623 --0.18180718273 --0.418418705464 --0.181803248823 --0.38390622288 --0.18180193007 --0.349394254387 --0.181803200394 --0.314882285893 --0.181807097048 --0.280369825661 --0.181813601404 --0.245856378228 --0.181822720915 --0.211341455579 --0.181831214577 --0.174860440194 --0.0948065780102 --0.138344243169 --0.0948017761112 --0.103829585016 --0.0947983488439 --0.0693164188415 --0.0947962850332 --0.0348042435944 --0.0947955604643 --0.000292564043775 --0.0947962477802 -0.0342191094533 --0.0947983153164 -0.0687312800437 --0.0948017239571 -0.103244433179 --0.0948065295814 -0.137759067118 --0.0948110055179 -0.174241259694 --0.0948065780102 -0.210721608251 --0.0948017761112 -0.245236262679 --0.0947983488439 -0.279749438167 --0.0947962850332 -0.314261607826 --0.0947955604643 -0.348773270845 --0.0947962477802 -0.383284948766 --0.0947983153164 -0.417797118425 --0.0948017239571 -0.452310293913 --0.0948065295814 -0.486824929714 --0.0948110055179 -0.523307099938 --0.0948065780102 -0.559787467122 --0.0948017761112 -0.594302132726 --0.0947983320802 -0.628815293312 --0.0947962850332 -0.663327440619 --0.0947955772283 -0.697839140892 --0.0947962477802 -0.732350826263 --0.0947983153164 -0.766862973571 --0.0948017239571 -0.801376134157 --0.0948065295814 -0.835890769958 --0.0948110055179 -0.872372955084 --0.0948065780102 -0.908853307366 --0.0948017761112 -0.943367958069 --0.0947983320802 -0.977881148458 --0.0947962850332 -1.01239335537 --0.0947955604643 -1.04690495133 --0.0947962477802 -1.08141666651 --0.0947983153164 -1.11592882871 --0.0948017239571 -1.1504419744 --0.0948065295814 -1.1849566102 --0.0948110055179 -1.22143879533 --0.0948065780102 -1.25791919232 --0.0948017761112 -1.29243382812 --0.0947983488439 -1.3269469738 --0.0947962850332 -1.36145913601 --0.0947955604643 -1.39597082138 --0.0947962477802 -1.43048250675 --0.0947983153164 -1.46499466896 --0.0948017239571 -1.49950784445 --0.0948065295814 -1.53402248025 --0.0948110055179 -1.57050466538 --0.0948065780102 -1.60698500276 --0.0948017761112 -1.64149966836 --0.0947983488439 -1.67601284385 --0.0947962850332 -1.71052503586 --0.0947955772283 -1.74503672123 --0.0947962477802 -1.7795483768 --0.0947983153164 -1.81406053901 --0.0948017239571 -1.84857368469 --0.0948065295814 -1.88308829069 --0.0948110055179 -1.91957053542 --0.0948065780102 -1.95605087281 --0.0948017761112 -1.9905655086 --0.0947983320802 -2.02507865429 --0.0947962850332 -2.0595908761 --0.0947955772283 -2.09410250187 --0.0947962477802 -2.12861418724 --0.0947983153164 -2.16312640905 --0.0948017239571 -2.19763952494 --0.0948065295814 -2.23215419054 --0.0948110055179 -2.26863634586 --0.0948065780102 -2.30511671305 --0.0948017761112 -2.33963137865 --0.0947983488439 -2.37414461374 --0.0947962850332 -2.40865671635 --0.0947955604643 -2.44316846132 --0.0947962477802 -2.47768008709 --0.0947983153164 -2.5121922493 --0.0948017239571 -2.54670536518 --0.0948065295814 -2.58122003079 --0.0948110055179 -2.61770224571 --0.0948065780102 -2.6541826129 --0.0948017761112 -2.68869715929 --0.0947983488439 -2.72321039438 --0.0947962850332 -2.75772255659 --0.0947955604643 -2.79223424196 --0.0947962477802 -2.82674592733 --0.0947983153164 -2.86125808954 --0.0948017239571 -2.89577126503 --0.0948065295814 -2.93028587103 --0.0948110055179 -2.96676808596 --0.0948065780102 -3.00324839353 --0.0948017761112 -3.03776305914 --0.0947983488439 -3.07227623463 --0.0947962850332 -3.10678839684 --0.0947955604643 -3.14130005439 --0.0947962477802 --3.10737353563 --0.0947983153164 --3.07286137342 --0.0948017239571 --3.03834819793 --0.0948065295814 --3.00383359194 --0.0948110055179 --2.96735137701 --0.0948065780102 --2.93087106943 --0.0948017761112 --2.89635634422 --0.0947983488439 --2.86184322834 --0.0947962850332 --2.82733106613 --0.0947955604643 --2.79281932116 --0.0947962477802 --2.75830769539 --0.0947983153164 --2.72379547358 --0.0948017239571 --2.68928229809 --0.0948065295814 --2.65476775169 --0.0948110055179 --2.61828559637 --0.0948065780102 --2.58180516958 --0.0948017761112 --2.54729050398 --0.0947983320802 --2.51277732849 --0.0947962850332 --2.47826522589 --0.0947955772283 --2.44375354052 --0.0947962477802 --2.40924179554 --0.0947983153164 --2.37472969294 --0.0948017239571 --2.34021651745 --0.0948065295814 --2.30570185184 --0.0948110055179 --2.26921969652 --0.0948065780102 --2.23273932934 --0.0948017761112 --2.19822472334 --0.0947983320802 --2.16371148825 --0.0947962850332 --2.12919932604 --0.0947955604643 --2.09468770027 --0.0947962477802 --2.0601759553 --0.0947983153164 --2.02566379309 --0.0948017239571 --1.9911506772 --0.0948065295814 --1.9566360116 --0.0948110055179 --1.92015382647 --0.0948065780102 --1.88367348909 --0.0948017761112 --1.84915882349 --0.0947983488439 --1.814645648 --0.0947962850332 --1.78013348579 --0.0947955604643 --1.74562180042 --0.0947962477802 --1.71111014485 --0.0947983153164 --1.67659798265 --0.0948017239571 --1.64208480716 --0.0948065295814 --1.60757020116 --0.0948110055179 --1.57108798623 --0.0948065780102 --1.53460764885 --0.0948017761112 --1.50009301305 --0.0947983488439 --1.46557983756 --0.0947962850332 --1.43106761575 --0.0947955772283 --1.39655596018 --0.0947962477802 --1.36204427481 --0.0947983153164 --1.3275321126 --0.0948017239571 --1.29301899672 --0.0948065295814 --1.25850433111 --0.0948110055179 --1.22202214599 --0.0948065780102 --1.18554177881 --0.0948017761112 --1.1510271132 --0.0947983320802 --1.11651396751 --0.0947962850332 --1.08200180531 --0.0947955772283 --1.04749011993 --0.0947962477802 --1.01297846437 --0.0947983153164 --0.978466272354 --0.0948017239571 --0.943953096866 --0.0948065295814 --0.909438461065 --0.0948110055179 --0.87295627594 --0.0948065780102 --0.836475938559 --0.0948017761112 --0.801961287856 --0.0947983488439 --0.767448112369 --0.0947962850332 --0.732935920358 --0.0947955604643 --0.698424234986 --0.0947962477802 --0.663912594318 --0.0947983153164 --0.62940043211 --0.0948017239571 --0.594887241721 --0.0948065295814 --0.560372620821 --0.0948110055179 --0.523890420794 --0.0948065780102 --0.487410083413 --0.0948017761112 --0.45289543271 --0.0947983488439 --0.418382264674 --0.0947962850332 --0.383870102465 --0.0947955604643 --0.349358409643 --0.0947962477802 --0.314846731722 --0.0947983153164 --0.280334576964 --0.0948017239571 --0.245821412653 --0.0948065295814 --0.211306773126 --0.0948110055179 --0.174824599177 --1.74623000001e-08 --0.138161104172 -1.88592750002e-08 --0.103646596894 --5.35509999972e-09 --0.069133576937 --2.79400000011e-09 --0.0346215399913 --1.16414999992e-09 --0.000110000139105 --1.69966250002e-08 -0.0344015406445 --5.35510000016e-09 -0.0689135706052 -1.88592749997e-08 -0.103426605463 --2.09550000008e-09 -0.137941110879 --2.35158749999e-08 -0.174422927201 --1.74623000001e-08 -0.210904743522 -1.88592750002e-08 -0.245419248938 --5.35509999972e-09 -0.279932282865 --2.79400000011e-09 -0.314444310963 --1.16414999992e-09 -0.348955839872 --1.69966250002e-08 -0.383467391133 --5.35510000016e-09 -0.417979419232 -1.88592749997e-08 -0.452492453158 --2.09550000008e-09 -0.487006954849 --2.35158749999e-08 -0.523488774895 --1.74623000001e-08 -0.559970587492 -1.88592750002e-08 -0.594485104084 --5.35509999972e-09 -0.62899813056 --2.79400000011e-09 -0.663510143757 --1.16414999992e-09 -0.698021709919 --1.69966250002e-08 -0.732533216476 --5.35510000016e-09 -0.767045259475 -1.88592749997e-08 -0.801558285952 --2.09550000008e-09 -0.836072802544 --2.35158749999e-08 -0.872554630041 --1.74623000001e-08 -0.909036427737 -1.88592750002e-08 -0.943550929427 --5.35509999972e-09 -0.978064000607 --2.79400000011e-09 -1.0125760138 --1.16414999992e-09 -1.04708752036 --1.69966250002e-08 -1.08159905672 --5.35510000016e-09 -1.11611112952 -1.88592749997e-08 -1.1506241262 --2.09550000008e-09 -1.18513867259 --2.35158749999e-08 -1.22162050009 --1.74623000001e-08 -1.25810232759 -1.88592750002e-08 -1.29261678457 --5.35509999972e-09 -1.32712981104 --2.79400000011e-09 -1.36164185405 --1.16414999992e-09 -1.39615339041 --1.69966250002e-08 -1.43066495657 --5.35510000016e-09 -1.46517699957 -1.88592749997e-08 -1.49968999624 --2.09550000008e-09 -1.53420451284 --2.35158749999e-08 -1.57068634033 --1.74623000001e-08 -1.60716810823 -1.88592750002e-08 -1.64168265462 --5.35509999972e-09 -1.67619568109 --2.79400000011e-09 -1.71070772409 --1.16414999992e-09 -1.74521929026 --1.69966250002e-08 -1.77973073721 --5.35510000016e-09 -1.81424278021 -1.88592749997e-08 -1.84875583649 --2.09550000008e-09 -1.88327035308 --2.35158749999e-08 -1.91975218058 --1.74623000001e-08 -1.95623400808 -1.88592750002e-08 -1.99074852467 --5.35509999972e-09 -2.02526152134 --2.79400000011e-09 -2.05977356434 --1.16414999992e-09 -2.0942851305 --1.69966250002e-08 -2.12879663706 --5.35510000016e-09 -2.16330868006 -1.88592749997e-08 -2.19782173634 --2.09550000008e-09 -2.23233622312 --2.35158749999e-08 -2.26881802082 --1.74623000001e-08 -2.30529981851 -1.88592750002e-08 -2.33981430531 --5.35509999972e-09 -2.37432742119 --2.79400000011e-09 -2.40883946419 --1.16414999992e-09 -2.44335091114 --1.69966250002e-08 -2.4778624773 --5.35510000016e-09 -2.5123745203 -1.88592749997e-08 -2.54688751698 --2.09550000008e-09 -2.58140206337 --2.35158749999e-08 -2.61788386107 --1.74623000001e-08 -2.65436565876 -1.88592750002e-08 -2.68888020515 --5.35509999972e-09 -2.72339320183 --2.79400000011e-09 -2.75790524483 --1.16414999992e-09 -2.79241681099 --1.69966250002e-08 -2.82692837715 --5.35510000016e-09 -2.86144042015 -1.88592749997e-08 -2.89595341682 --2.09550000008e-09 -2.93046784401 --2.35158749999e-08 -2.96694970131 --1.74623000001e-08 -3.00343155861 -1.88592750002e-08 -3.037946105 --5.35509999972e-09 -3.07245910168 --2.79400000011e-09 -3.10697114468 --1.16414999992e-09 -3.14148274262 --1.69966250002e-08 --3.10719108582 --5.35510000016e-09 --3.07267904282 -1.88592749997e-08 --3.03816604614 --2.09550000008e-09 --3.00365161896 --2.35158749999e-08 --2.96716976166 --1.74623000001e-08 --2.93068790436 -1.88592750002e-08 --2.89617335796 --5.35509999972e-09 --2.86166036129 --2.79400000011e-09 --2.82714831829 --1.16414999992e-09 --2.79263681174 --1.69966250002e-08 --2.75812530518 --5.35510000016e-09 --2.72361326218 -1.88592749997e-08 --2.6891002059 --2.09550000008e-09 --2.6545856595 --2.35158749999e-08 --2.61810392141 --1.74623000001e-08 --2.58162212372 -1.88592750002e-08 --2.54710757732 --5.35509999972e-09 --2.51259452105 --2.79400000011e-09 --2.47808247805 --1.16414999992e-09 --2.44357097149 --1.69966250002e-08 --2.40905940533 --5.35510000016e-09 --2.37454742193 -1.88592749997e-08 --2.34003436565 --2.09550000008e-09 --2.30551981926 --2.35158749999e-08 --2.26903802156 --1.74623000001e-08 --2.23255628348 -1.88592750002e-08 --2.19804173708 --5.35509999972e-09 --2.1635286808 --2.79400000011e-09 --2.1290166378 --1.16414999992e-09 --2.09450507164 --1.69966250002e-08 --2.05999350548 --5.35510000016e-09 --2.02548158169 -1.88592749997e-08 --1.99096849561 --2.09550000008e-09 --1.95645397901 --2.35158749999e-08 --1.91997218132 --1.74623000001e-08 --1.88349038362 -1.88592750002e-08 --1.84897586703 --5.35509999972e-09 --1.81446284056 --2.79400000011e-09 --1.77995079756 --1.16414999992e-09 --1.74543923139 --1.69966250002e-08 --1.71092769503 --5.35510000016e-09 --1.67641565204 -1.88592749997e-08 --1.64190262556 --2.09550000008e-09 --1.60738816857 --2.35158749999e-08 --1.57090634107 --1.74623000001e-08 --1.53442451358 -1.88592750002e-08 --1.49990996719 --5.35509999972e-09 --1.46539694071 --2.79400000011e-09 --1.43088489771 --1.16414999992e-09 --1.39637342095 --1.69966250002e-08 --1.36186188459 --5.35510000016e-09 --1.32734984159 -1.88592749997e-08 --1.29283681512 --2.09550000008e-09 --1.25832226873 --2.35158749999e-08 --1.22184047103 --1.74623000001e-08 --1.18535864353 -1.88592750002e-08 --1.15084415674 --5.35509999972e-09 --1.11633113026 --2.79400000011e-09 --1.08181911707 --1.16414999992e-09 --1.04730755091 --1.69966250002e-08 --1.01279601455 --5.35510000016e-09 --0.978283986449 -1.88592749997e-08 --0.943770959973 --2.09550000008e-09 --0.909256443382 --2.35158749999e-08 --0.872774630785 --1.74623000001e-08 --0.836292788386 -1.88592750002e-08 --0.801778301597 --5.35509999972e-09 --0.767265275121 --2.79400000011e-09 --0.732753232122 --1.16414999992e-09 --0.698241695762 --1.69966250002e-08 --0.663730159402 --5.35510000016e-09 --0.629218146205 -1.88592749997e-08 --0.594705089927 --2.09550000008e-09 --0.560190603137 --2.35158749999e-08 --0.52370877564 --1.74623000001e-08 --0.487226948142 -1.88592750002e-08 --0.452712461352 --5.35509999972e-09 --0.418199427426 --2.79400000011e-09 --0.383687384426 --1.16414999992e-09 --0.349175848067 --1.69966250002e-08 --0.314664319158 --5.35510000016e-09 --0.280152276158 -1.88592749997e-08 --0.245639242232 --2.09550000008e-09 --0.211124733091 --2.35158749999e-08 --0.174642927945 -0.0948065463454 --0.137979071587 -0.0948017239571 --0.103464432061 -0.0947983115913 --0.0689512798562 -0.0947962533685 --0.0344391111284 -0.0947956033051 -7.2564464065e-05 -0.0947962794452 -0.0345842400566 -0.0947983674704 -0.0690964153037 -0.0948017798365 -0.103609587997 -0.0948065463452 -0.1381242387 -0.0948109868913 -0.174604598433 -0.0948065463454 -0.211086783558 -0.0948017239571 -0.245601423085 -0.0947983115913 -0.28011456877 -0.0947962533685 -0.314626738429 -0.0947956033051 -0.349138408899 -0.0947962794452 -0.383650094271 -0.0947983674704 -0.418162278831 -0.0948017798365 -0.452675424517 -0.0948065724224 -0.48719009012 -0.0948109868913 -0.523670434952 -0.0948065463454 -0.560152605176 -0.0948017239571 -0.594667270779 -0.0947983115913 -0.629180416465 -0.0947962533685 -0.663692578673 -0.0947956033051 -0.698204264045 -0.0947962794452 -0.732715949416 -0.0947983674704 -0.767228141427 -0.0948017798365 -0.801741287112 -0.0948065463452 -0.836255937815 -0.0948109868913 -0.872736275196 -0.0948065463454 -0.909218475223 -0.0948017239571 -0.943733096123 -0.0947983115913 -0.978246286512 -0.0947962533685 -1.01275846362 -0.0947956033051 -1.04727008939 -0.0947962794452 -1.08178180456 -0.0947983674704 -1.11629396677 -0.0948017798365 -1.15080717206 -0.0948065463452 -1.18532177806 -0.0948109868913 -1.22180214524 -0.0948065463454 -1.25828430057 -0.0948017239571 -1.29279893637 -0.0947983115913 -1.32731211185 -0.0947962533685 -1.36182430387 -0.0947956033051 -1.39633595943 -0.0947962794452 -1.43084764481 -0.0947983674704 -1.46535980701 -0.0948017798365 -1.4998729825 -0.0948065463452 -1.53438764811 -0.0948109868913 -1.57086801529 -0.0948065463454 -1.60735017061 -0.0948017239571 -1.64186483622 -0.0947983115913 -1.6763779521 -0.0947962533685 -1.71089017391 -0.0947956033051 -1.74540185928 -0.0947962533682 -1.77991351485 -0.0947983674704 -1.81442567706 -0.0948017798365 -1.84893885255 -0.0948065463452 -1.88345348835 -0.0948109868913 -1.91993382573 -0.0948065184057 -1.95641601086 -0.0948017239571 -1.99093067646 -0.0947983115913 -2.02544385195 -0.0947962533685 -2.05995601416 -0.0947956033051 -2.09446769953 -0.0947962794452 -2.1289793849 -0.0947983674704 -2.1634914875 -0.0948017798365 -2.19800466299 -0.0948065463452 -2.2325193286 -0.0948109868913 -2.26899969578 -0.0948065184057 -2.3054819107 -0.0948017239571 -2.3399965167 -0.0947983115913 -2.37450969219 -0.0947962533685 -2.4090218544 -0.0947956033051 -2.44353348017 -0.0947962794452 -2.47804522514 -0.0947983674704 -2.51255744696 -0.0948017798365 -2.54707056284 -0.0948065463452 -2.58158522844 -0.0948109868913 -2.61806553602 -0.0948065463454 -2.65454775095 -0.0948017239571 -2.68906235695 -0.0947983115913 -2.72357553244 -0.0947962533685 -2.75808769464 -0.0947956033051 -2.79259938002 -0.0947962794452 -2.82711106539 -0.0947983674704 -2.86162322759 -0.0948017798365 -2.89613640309 -0.0948065463452 -2.93065100908 -0.0948109868913 -2.96713137627 -0.0948065463454 -3.00361359119 -0.0948017239571 -3.0381282568 -0.0947983115913 -3.07264137268 -0.0947962533685 -3.10715353489 -0.0947956033051 --3.14152011473 -0.0947962794452 --3.10700839758 -0.0947983674704 --3.07249623537 -0.0948017798365 --3.03798305988 -0.0948065463452 --3.00346845388 -0.0948109868913 --2.9669880867 -0.0948065463454 --2.93050587177 -0.0948017239571 --2.89599120617 -0.0947983115913 --2.86147809028 -0.0947962533685 --2.82696592808 -0.0947956033051 --2.79245424271 -0.0947962794452 --2.75794261694 -0.0947983674704 --2.72343039513 -0.0948017798365 --2.68891721964 -0.0948065724224 --2.65440261364 -0.0948109868913 --2.61792218685 -0.0948065463454 --2.58144003153 -0.0948017239571 --2.54692536592 -0.0947983115913 --2.51241225004 -0.0947962533685 --2.47790008783 -0.0947956033051 --2.44338840246 -0.0947962794452 --2.40887671709 -0.0947983674704 --2.37436449528 -0.0948017798365 --2.339851439 -0.0948065463452 --2.30533665419 -0.0948109868913 --2.26885634661 -0.0948065463454 --2.23237419129 -0.0948017239571 --2.19785952568 -0.0947983115913 --2.16334635019 -0.0947962533685 --2.12883418798 -0.0947956033051 --2.09432250261 -0.0947962794452 --2.05981081724 -0.0947983674704 --2.02529865503 -0.0948017798365 --1.99078550935 -0.0948065463452 --1.95627084375 -0.0948109868913 --1.91979050636 -0.0948065463454 --1.88330835104 -0.0948017239571 --1.84879368544 -0.0947983115913 --1.81428050995 -0.0947962533685 --1.77976834774 -0.0947956033051 --1.74525666237 -0.0947962794452 --1.710744977 -0.0947983674704 --1.67623281479 -0.0948017798365 --1.6417196691 -0.0948065463452 --1.60720503331 -0.0948109868913 --1.57072463632 -0.0948065463454 --1.53424245119 -0.0948017239571 --1.49972784519 -0.0947983115913 --1.4652146697 -0.0947962533685 --1.43070250749 -0.0947956033051 --1.39619085193 -0.0947962533682 --1.36167916656 -0.0947983674704 --1.32716700435 -0.0948017798365 --1.29265382886 -0.0948065463452 --1.25813916326 -0.0948109868913 --1.22165882587 -0.0948065184057 --1.18517664075 -0.0948017239571 --1.15066200495 -0.0947983115913 --1.11614882946 -0.0947962533685 --1.08163666725 -0.0947956033051 --1.04712498188 -0.0947962794452 --1.01261329651 -0.0947983674704 --0.9781011343 -0.0948017798365 --0.943587958813 -0.0948065463452 --0.909073323011 -0.0948109868913 --0.872592955828 -0.0948065184057 --0.836110755801 -0.0948017239571 --0.801596134901 -0.0947983115913 --0.767082989216 -0.0947962533685 --0.732570797205 -0.0947956033051 --0.698059141636 -0.0947962794452 --0.663547471166 -0.0947983674704 --0.629035264254 -0.0948017798365 --0.594522118568 -0.0948065463452 --0.560007452964 -0.0948109868913 --0.523527100682 -0.0948065463454 --0.487044930458 -0.0948017239571 --0.452530294657 -0.0947983115913 --0.418017111719 -0.0947962533685 --0.383504964411 -0.0947956033051 --0.34899328649 -0.0947962794452 --0.314481601119 -0.0947983674704 --0.27996943146 -0.0948017798365 --0.245456263423 -0.0948065463452 --0.21094161272 -0.0948109868913 --0.174461260438 -0.181822739541 --0.137944396585 -0.181813623756 --0.103429475799 -0.181807111949 --0.0689160292968 -0.18180321902 --0.0344035653397 -0.181801922619 -0.000108402222395 -0.181803241372 -0.0346203744411 -0.181807164103 -0.0691328430548 -0.181813701987 -0.103646304458 -0.181822866201 -0.138161249459 -0.181831233203 -0.174640435726 -0.181822739541 -0.211121454835 -0.181813623756 -0.245636377484 -0.181807111949 -0.280149817467 -0.18180321902 -0.314662277699 -0.181801922619 -0.349174246192 -0.181803241372 -0.383686222136 -0.181807164103 -0.418198682368 -0.181813701987 -0.452712155878 -0.181822866201 -0.487227104604 -0.181831207126 -0.523706272244 -0.181822739541 -0.56018730998 -0.181813597679 -0.594702214003 -0.181807111949 -0.629215657711 -0.18180321902 -0.663728132844 -0.181801922619 -0.698240101337 -0.181803241372 -0.732752084732 -0.181807164103 -0.767264515162 -0.181813701987 -0.801778018475 -0.181822866201 -0.836292937398 -0.181831233203 -0.87277212739 -0.181822739541 -0.909253150225 -0.181813597679 -0.943768084049 -0.181807111949 -0.978281527758 -0.18180321902 -1.01279401779 -0.181801922619 -1.04730594158 -0.181803241372 -1.08181792498 -0.181807164103 -1.11633041501 -0.181813701987 -1.15084388852 -0.181822866201 -1.18535879254 -0.181831233203 -1.22183799744 -0.181822739541 -1.25831899047 -0.181813597679 -1.29283389449 -0.181807111949 -1.327347368 -0.18180321902 -1.36185982823 -0.181801922619 -1.39637181163 -0.181803241372 -1.43088379502 -0.181807164103 -1.46539622545 -0.181813701987 -1.49990969896 -0.181822866201 -1.53442469239 -0.181831233203 -1.57090383768 -0.181822739541 -1.60738486052 -0.181813597679 -1.64189979434 -0.181807111949 -1.67641320825 -0.18180321902 -1.71092569828 -0.181801922619 -1.74543765187 -0.181803241372 -1.77994963527 -0.181807164103 -1.8144620955 -0.181813701987 -1.84897556901 -0.181822866201 -1.88349047303 -0.181831233203 -1.91996967792 -0.181822739541 -1.95645067096 -0.181813623756 -1.99096566439 -0.181807111949 -2.0254791379 -0.18180321902 -2.05999153852 -0.181801922619 -2.09450352192 -0.181803241372 -2.12901550531 -0.181807164103 -2.16352790594 -0.181813701987 -2.19804137945 -0.181822866201 -2.23255634308 -0.181831207126 -2.26903551817 -0.181822739541 -2.305516541 -0.181813597679 -2.34003150463 -0.181807111949 -2.37454491854 -0.18180321902 -2.40905737877 -0.181801922619 -2.44356936216 -0.181803241372 -2.47808128595 -0.181807164103 -2.51259386539 -0.181813701987 -2.54710721969 -0.181822866201 -2.58162218332 -0.181831233203 -2.61810147762 -0.181822739541 -2.65458244085 -0.181813597679 -2.68909734487 -0.181807111949 -2.72361069918 -0.18180321902 -2.75812321901 -0.181801922619 -2.79263526201 -0.181803241372 -2.8271471262 -0.181807164103 -2.86165964604 -0.181813701987 -2.89617311954 -0.181822866201 -2.93068808318 -0.181831207126 -2.96716725826 -0.181822739541 -3.0036482811 -0.181813623756 -3.03816312552 -0.181807111949 -3.07267665863 -0.18180321902 -3.10718911887 -0.181801922619 --3.14148423274 -0.181803241372 --3.10697233677 -0.181807164103 --3.07245981693 -0.181813701987 --3.03794634342 -0.181822866201 --3.00343137979 -0.181831233203 --2.96695220471 -0.181822739541 --2.93047118187 -0.181813623756 --2.89595627785 -0.181807111949 --2.86144280434 -0.18180321902 --2.8269303441 -0.181801922619 --2.79241842032 -0.181803241372 --2.75790637731 -0.181807164103 --2.72339397669 -0.181813701987 --2.68888056279 -0.181822866201 --2.65436553955 -0.181831207126 --2.61788642407 -0.181822739541 --2.58140534163 -0.181813597679 --2.5468904376 -0.181807111949 --2.51237696409 -0.18180321902 --2.47786450386 -0.181801922619 --2.44335258007 -0.181803241372 --2.40884059667 -0.181807164103 --2.37432819605 -0.181813701987 --2.33981460333 -0.181822866201 --2.30529969931 -0.181831233203 --2.26882052422 -0.181822739541 --2.23233944178 -0.181813597679 --2.19782453776 -0.181807111949 --2.16331118345 -0.18180321902 --2.12879866362 -0.181801922619 --2.09428668022 -0.181803241372 --2.05977475643 -0.181807164103 --2.0252622366 -0.181813701987 --1.99074882269 -0.181822866201 --1.95623382926 -0.181831233203 --1.91975468397 -0.181822739541 --1.88327363134 -0.181813597679 --1.84875872731 -0.181807111949 --1.8142452836 -0.18180321902 --1.77973282337 -0.181801922619 --1.74522086978 -0.181803241372 --1.71070888639 -0.181807164103 --1.67619642615 -0.181813701987 --1.64168292284 -0.181822866201 --1.60716801881 -0.181831233203 --1.57068884373 -0.181822739541 --1.53420782089 -0.181813597679 --1.49969285726 -0.181807111949 --1.46517941356 -0.18180321902 --1.43066698313 -0.181801922619 --1.39615502954 -0.181803241372 --1.36164301634 -0.181807164103 --1.3271305263 -0.181813701987 --1.2926171422 -0.181822866201 --1.25810214877 -0.181831233203 --1.22162294388 -0.181822739541 --1.18514195085 -0.181813623756 --1.15062704682 -0.181807111949 --1.11611360312 -0.18180321902 --1.08160114288 -0.181801922619 --1.04708912969 -0.181803241372 --1.01257717609 -0.181807164103 --0.978064715862 -0.181813701987 --0.943551257253 -0.181822866201 --0.909036308527 -0.181831207126 --0.872557103634 -0.181822739541 --0.836076095701 -0.181813597679 --0.801561176777 -0.181807111949 --0.767047718167 -0.18180321902 --0.732535287738 -0.181801922619 --0.698023274541 -0.181803241372 --0.66351133585 -0.181807164103 --0.628998860717 -0.181813701987 --0.594485402108 -0.181822866201 --0.55997043848 -0.181831233203 --0.52349126339 -0.181822739541 --0.487010262907 -0.181813597679 --0.452495321632 -0.181807111949 --0.417981863022 -0.18180321902 --0.383469425142 -0.181801922619 --0.348957449198 -0.181803241372 --0.314445480704 -0.181807164103 --0.27993299067 -0.181813701987 --0.245419558138 -0.181822866201 --0.210904594511 -0.181831207126 --0.174425408244 -0.268557541072 --0.137907858938 -0.268544249236 --0.103392634541 -0.268534786999 --0.0688788797706 -0.268529102206 --0.0343661108054 -0.268527232111 -0.00014616874978 -0.268529176712 -0.0346584497019 -0.268534898758 -0.06917123124 -0.268544450402 -0.103685010225 -0.26855776459 -0.138200268149 -0.26856996119 -0.174678210169 -0.268557541072 -0.211157973856 -0.268544249236 -0.24567322433 -0.268534786999 -0.280186973512 -0.268529102206 -0.314699754119 -0.268527209759 -0.349212028086 -0.268529199064 -0.383724294603 -0.268534898758 -0.41823707521 -0.268544450402 -0.452750854194 -0.268557742238 -0.487266123295 -0.268569938838 -0.52374406159 -0.268557541072 -0.560223847627 -0.268544249236 -0.594739079476 -0.268534786999 -0.629252851009 -0.268529102206 -0.663765594363 -0.268527209759 -0.698277845979 -0.268529176712 -0.732790157199 -0.268534898758 -0.767302945256 -0.26854442805 -0.801816701889 -0.268557742238 -0.83633197844 -0.26856996119 -0.872809931636 -0.268557541072 -0.90928965807 -0.268544226885 -0.943804949522 -0.268534786999 -0.978318691254 -0.268529102206 -1.01283144951 -0.268527209759 -1.04734370112 -0.268529176712 -1.08185598254 -0.268534898758 -1.1163687706 -0.26854442805 -1.15088257193 -0.268557742238 -1.18539780378 -0.26856996119 -1.22187575698 -0.268557541072 -1.25835549831 -0.268544249236 -1.29287075996 -0.268534786999 -1.32738450169 -0.268529102206 -1.36189728975 -0.268527209759 -1.39640957117 -0.268529176712 -1.43092185259 -0.268534898758 -1.46543464064 -0.268544450402 -1.49994841218 -0.268557742238 -1.53446367383 -0.26856996119 -1.57094165683 -0.268557541072 -1.60742139816 -0.268544226885 -1.64193663001 -0.268534809351 -1.67645040154 -0.268529102206 -1.71096313 -0.268527209759 -1.74547541141 -0.268529176712 -1.77998769283 -0.268534898758 -1.81450051069 -0.268544450402 -1.84901428222 -0.268557742238 -1.88352951408 -0.26856996119 -1.92000743747 -0.268557541072 -1.9564871788 -0.268544226885 -1.99100247025 -0.268534786999 -2.02551627159 -0.268529124558 -2.06002897024 -0.268527209759 -2.09454125166 -0.268529176712 -2.12905365229 -0.268534898758 -2.16356629133 -0.26854442805 -2.19808006287 -0.268557742238 -2.23259538412 -0.26856996119 -2.26907330751 -0.268557541072 -2.30555313826 -0.268544249236 -2.3400682807 -0.268534786999 -2.37458211184 -0.268529102206 -2.40909487009 -0.268527209759 -2.44360715151 -0.268529176712 -2.47811943293 -0.268534898758 -2.51263219118 -0.26854442805 -2.54714596271 -0.268557742238 -2.58166122436 -0.26856996119 -2.61813920737 -0.268557541072 -2.6546189189 -0.268544271588 -2.68913412094 -0.268534786999 -2.72364789248 -0.268529124558 -2.75816065073 -0.268527209759 -2.79267293215 -0.268529199064 -2.82718521356 -0.268534898758 -2.86169809103 -0.268544450402 -2.89621180296 -0.268557742238 -2.93072706461 -0.26856996119 -2.96720504761 -0.268557541072 -3.00368481874 -0.268544249236 -3.03820008039 -0.268534786999 -3.07271373272 -0.268529102206 -3.10722655058 -0.268527232111 --3.141446503 -0.268529176712 --3.1069342494 -0.268534898758 --3.07242137194 -0.268544450402 --3.03790766001 -0.26855776459 --3.00339239836 -0.26856996119 --2.96691441536 -0.268557541072 --2.93043470383 -0.268544249236 --2.89591938257 -0.268534786999 --2.86140567064 -0.268529102206 --2.82689291239 -0.268527209759 --2.79238063097 -0.268529199064 --2.75786840916 -0.268534898758 --2.7233555913 -0.268544450402 --2.68884181976 -0.268557742238 --2.65432649851 -0.268569938838 --2.61784863472 -0.268557541072 --2.58136880398 -0.268544249236 --2.54685360193 -0.268534786999 --2.51233977079 -0.268529102206 --2.47782707214 -0.268527209759 --2.44331479073 -0.268529176712 --2.40880244971 -0.268534898758 --2.37428969145 -0.26854442805 --2.33977597952 -0.268557742238 --2.30526071787 -0.26856996119 --2.26878267527 -0.268557541072 --2.23230296374 -0.268544226885 --2.19778776169 -0.268534786999 --2.16327399015 -0.268529102206 --2.1287612319 -0.268527209759 --2.09424895048 -0.268529176712 --2.05973666906 -0.268534898758 --2.0252238512 -0.26854442805 --1.99071010947 -0.268557742238 --1.95619484782 -0.26856996119 --1.91971686482 -0.268557541072 --1.88323712349 -0.268544249236 --1.84872189164 -0.268534786999 --1.81420812011 -0.268529102206 --1.77969536185 -0.268527209759 --1.74518311024 -0.268529176712 --1.71067076921 -0.268534898758 --1.67615801096 -0.268544450402 --1.64164423943 -0.268557742238 --1.60712897778 -0.26856996119 --1.57065105438 -0.268557541072 --1.53417125344 -0.268544226885 --1.49965602159 -0.268534809351 --1.46514227986 -0.268529102206 --1.43062949181 -0.268527209759 --1.39611724019 -0.268529176712 --1.36160495877 -0.268534898758 --1.32709217071 -0.268544450402 --1.29257842898 -0.268557742238 --1.25806316734 -0.26856996119 --1.22158518433 -0.268557541072 --1.185105443 -0.268544226885 --1.15059021115 -0.268534786999 --1.11607640982 -0.268529124558 --1.08156368137 -0.268527209759 --1.04705139995 -0.268529176712 --1.01253908872 -0.268534898758 --0.978026330471 -0.26854442805 --0.943512573838 -0.268557742238 --0.908997282386 -0.26856996119 --0.87251932919 -0.268557541072 --0.836039572954 -0.268544249236 --0.801524326205 -0.268534786999 --0.767010599375 -0.268529102206 --0.732497826219 -0.268527209759 --0.697985544801 -0.268529176712 --0.663473248482 -0.268534898758 --0.628960460425 -0.26854442805 --0.59444668889 -0.268557742238 --0.559931427241 -0.26856996119 --0.523453488946 -0.268557541072 --0.486973725259 -0.268544271588 --0.452458500862 -0.268534786999 --0.417944729328 -0.268529124558 --0.383431963622 -0.268527209759 --0.348919674754 -0.268529199064 --0.314407400787 -0.268534898758 --0.279894627631 -0.268544450402 --0.245380856097 -0.268557742238 --0.210865583271 -0.26856996119 --0.174387637525 -0.355318494141 --0.137872356922 -0.355301231146 --0.103356825188 -0.355288952589 --0.0688427779824 -0.355281569064 --0.0343297086656 -0.355279147625 -0.000182869145648 -0.355281665921 -0.0346954525448 -0.355289101601 -0.0692085344344 -0.355301514268 -0.103722605854 -0.355318821966 -0.138238161802 -0.355334639549 -0.174714922905 -0.355318494141 -0.211193490773 -0.355301231146 -0.245709016919 -0.355288952589 -0.280223071575 -0.355281569064 -0.314736157656 -0.355279125273 -0.349248714745 -0.355281665921 -0.383761286736 -0.355289101601 -0.418274372816 -0.355301514268 -0.452788449824 -0.355318821966 -0.487304016948 -0.355334639549 -0.523780763149 -0.355318494141 -0.560259357095 -0.355301253498 -0.594774886966 -0.355288952589 -0.629288911819 -0.355281569064 -0.6638019979 -0.355279125273 -0.698314607143 -0.355281665921 -0.732827141881 -0.355289123952 -0.767340242863 -0.355301514268 -0.80185431242 -0.355318844318 -0.836369857192 -0.355334661901 -0.872846633196 -0.355318494141 -0.90932521224 -0.355301253498 -0.943840712309 -0.355288952589 -0.978354766965 -0.355281569064 -1.01286786795 -0.355279125273 -1.04738041758 -0.355281665921 -1.08189299702 -0.355289123952 -1.11640611291 -0.355301514268 -1.15092012286 -0.355318807066 -1.18543571234 -0.355334639549 -1.22191247344 -0.355318494141 -1.25839105248 -0.355301231146 -1.29290658236 -0.355288952589 -1.32742062211 -0.355281569064 -1.36193370819 -0.355279147625 -1.39644625783 -0.355281665921 -1.43095886707 -0.355289101601 -1.46547192335 -0.355301514268 -1.49998599291 -0.355318829417 -1.53450158238 -0.355334661901 -1.57097834349 -0.355318494141 -1.60745689273 -0.355301275849 -1.6419724226 -0.355288952589 -1.67648646235 -0.355281569064 -1.71099954844 -0.355279125273 -1.74551209807 -0.355281665921 -1.78002470732 -0.355289123952 -1.8145377934 -0.355301514268 -1.84905189276 -0.355318821966 -1.88356742263 -0.355334639549 -1.92004418373 -0.355318494141 -1.95652276278 -0.355301231146 -1.99103826284 -0.355288952589 -2.0255523324 -0.355281569064 -2.06006538868 -0.355279125273 -2.09457796812 -0.355281665921 -2.12909054756 -0.355289101601 -2.16360366344 -0.355301514268 -2.198117733 -0.355318821966 -2.23263329268 -0.355334639549 -2.26911002398 -0.355318494141 -2.30558860302 -0.355301231146 -2.34010410309 -0.355288952589 -2.37461817264 -0.355281591415 -2.40913116932 -0.355279147625 -2.44364380837 -0.355281665921 -2.47815638781 -0.355289123952 -2.51266950369 -0.355301491916 -2.54718351364 -0.355318807066 -2.58169913292 -0.355334661901 -2.61817580462 -0.355318494141 -2.65465438366 -0.355301231146 -2.68917000294 -0.355288930237 -2.72368401289 -0.355281591415 -2.75819712877 -0.355279147625 -2.79270964861 -0.355281665921 -2.82722222805 -0.355289101601 -2.86173534393 -0.355301514268 -2.89624941349 -0.355318807066 -2.93076491356 -0.355334639549 -2.96724170447 -0.355318494141 -3.00372028351 -0.355301231146 -3.03823584318 -0.355288952589 -3.07274991274 -0.355281569064 -3.10726296901 -0.355279147625 --3.14140978654 -0.355281665921 --3.10689717531 -0.355289101601 --3.07238411903 -0.355301514268 --3.03787004947 -0.355318821966 --3.0033544898 -0.355334639549 --2.9668776989 -0.355318494141 --2.93039917946 -0.355301231146 --2.89588361978 -0.355288952589 --2.86136955023 -0.355281569064 --2.82685649395 -0.355279125273 --2.79234391451 -0.355281665921 --2.75783139467 -0.355289101601 --2.72331827879 -0.355301514268 --2.68880426883 -0.355318821966 --2.65428864956 -0.355334639549 --2.61781185865 -0.355318494141 --2.58133327961 -0.355301253498 --2.54681777954 -0.355288952589 --2.51230370999 -0.355281569064 --2.47779071331 -0.355279125273 --2.44327807427 -0.355281665921 --2.40876549482 -0.355289123952 --2.37425243854 -0.355301514268 --2.33973836899 -0.355318844318 --2.30522274971 -0.355334661901 --2.26874601841 -0.355318494141 --2.23226743937 -0.355301253498 --2.1977519393 -0.355288952589 --2.16323792935 -0.355281569064 --2.12872481346 -0.355279125273 --2.09421229363 -0.355281665921 --2.05969965458 -0.355289123952 --2.0251865387 -0.355301514268 --1.99067252875 -0.355318807066 --1.95615690946 -0.355334639549 --1.91968014836 -0.355318494141 --1.88320159912 -0.355301231146 --1.84868606925 -0.355288952589 --1.81417202949 -0.355281569064 --1.77965897322 -0.355279147625 --1.74514636397 -0.355281665921 --1.71063381433 -0.355289101601 --1.67612069846 -0.355301514268 --1.64160662889 -0.355318829417 --1.60709109902 -0.355334661901 --1.57061433792 -0.355318494141 --1.53413575888 -0.355301275849 --1.49962022901 -0.355288952589 --1.46510615945 -0.355281569064 --1.43059313297 -0.355279125273 --1.39608052373 -0.355281665921 --1.36156797409 -0.355289123952 --1.32705488801 -0.355301514268 --1.29254081845 -0.355318821966 --1.25802522898 -0.355334639549 --1.22154846787 -0.355318494141 --1.18506988883 -0.355301231146 --1.15055435896 -0.355288952589 --1.1160403192 -0.355281569064 --1.08152726293 -0.355279125273 --1.04701465368 -0.355281665921 --1.01250210404 -0.355289101601 --0.977989003062 -0.355301514268 --0.943474933505 -0.355318821966 --0.908959373832 -0.355334639549 --0.872482642531 -0.355318494141 --0.836004063487 -0.355301231146 --0.801488548517 -0.355288952589 --0.76697447896 -0.355281591415 --0.732461392879 -0.355279147625 --0.69794884324 -0.355281665921 --0.663436248898 -0.355289123952 --0.628923177719 -0.355301491916 --0.594409108162 -0.355318807066 --0.559893518686 -0.355334661901 --0.523416787386 -0.355318494141 --0.486938208341 -0.355301231146 --0.45242267102 -0.355288930237 --0.417908623815 -0.355281591415 --0.383395560086 -0.355279147625 --0.348882973194 -0.355281665921 --0.314370401204 -0.355289101601 --0.279857322574 -0.355301514268 --0.24534324184 -0.355318807066 --0.210827678442 -0.355334639549 --0.174350932241 -0.444497182965 --0.137838795781 -0.444476120174 --0.103322982788 -0.444461084903 --0.0688086515292 -0.444452084601 --0.0342952972278 -0.444449111819 -0.000217566033825 -0.444452188909 -0.0347304334864 -0.444461278617 -0.0692437980324 -0.444476462901 -0.103758158162 -0.44449763 -0.13827399537 -0.444516971708 -0.174749627709 -0.444497190416 -0.211227055639 -0.444476135075 -0.245742868632 -0.444461084903 -0.280257202685 -0.444452062249 -0.314770556986 -0.444449111819 -0.34928341955 -0.444452188909 -0.383796297014 -0.44446131587 -0.418309651315 -0.444476462901 -0.452824011445 -0.444497652352 -0.487339839339 -0.444516971708 -0.523815482855 -0.444497168064 -0.560292899608 -0.444476135075 -0.594808727503 -0.444461107254 -0.629323065281 -0.444452062249 -0.663836419582 -0.444449111819 -0.698349237442 -0.444452188909 -0.732862114906 -0.444461300969 -0.76737549901 -0.444476462901 -0.801889851689 -0.444497652352 -0.836405694485 -0.444516971708 -0.872881308198 -0.444497190416 -0.909358754754 -0.444476135075 -0.943874567747 -0.444461062551 -0.978388890624 -0.444452084601 -1.01290225982 -0.444449111819 -1.04741510749 -0.444452188909 -1.08192798496 -0.444461300969 -1.11644133926 -0.444476440549 -1.15095570684 -0.44449763 -1.18547153473 -0.444516971708 -1.22194716334 -0.444497190416 -1.2584246099 -0.444476135075 -1.29294037819 -0.444461107254 -1.32745474577 -0.444452062249 -1.36196810007 -0.444449111819 -1.39648097754 -0.444452188909 -1.430993855 -0.444461300969 -1.4655072093 -0.44447645545 -1.50002157689 -0.444497652352 -1.53453743458 -0.444516971708 -1.57101303339 -0.444497190416 -1.60749045014 -0.444476082921 -1.64200627804 -0.444461084902 -1.67652058601 -0.444452084601 -1.71103397012 -0.444449089468 -1.74554678798 -0.444452188909 -1.78005966544 -0.444461300969 -1.81457307935 -0.444476440549 -1.84908741713 -0.44449763 -1.88360324502 -0.444516971708 -1.92007890343 -0.444497190416 -1.95655629039 -0.444476135075 -1.99107214808 -0.444461084903 -2.02558642626 -0.444452062249 -2.06009984016 -0.444449111819 -2.09461271763 -0.444452188909 -2.12912553549 -0.444461300969 -2.1636389494 -0.444476462901 -2.19815331697 -0.444497652352 -2.23266911507 -0.444516949356 -2.26914471388 -0.444497168064 -2.30562216044 -0.444476135075 -2.34013795853 -0.444461084903 -2.37465232611 -0.444452062249 -2.40916562081 -0.444449111819 -2.44367849827 -0.444452188909 -2.47819137573 -0.44446131587 -2.51270473004 -0.444476440549 -2.54721915722 -0.44449763 -2.58173489571 -0.444516949356 -2.61821055412 -0.444497190416 -2.65468806028 -0.444476135075 -2.68920379877 -0.444461084903 -2.72371816635 -0.444452062249 -2.75823152065 -0.444449111819 -2.79274439812 -0.444452188909 -2.82725721598 -0.444461300969 -2.86177057028 -0.444476462901 -2.89628493785 -0.444497652352 -2.93080079556 -0.444516971708 -2.96727639436 -0.444497182965 -3.00375390053 -0.444476120174 -3.03826969862 -0.444461084903 -3.07278400659 -0.444452084601 -3.1072974205 -0.444449111819 --3.14137509664 -0.444452188909 --3.10686224699 -0.444461278617 --3.07234889269 -0.444476462901 --3.03783452511 -0.44449763 --3.00331866741 -0.444516971708 --2.9668430686 -0.444497190416 --2.93036556244 -0.444476135075 --2.89584976434 -0.444461084903 --2.86133545637 -0.444452062249 --2.82682204246 -0.444449111819 --2.7923092246 -0.444452188909 --2.75779640675 -0.44446131587 --2.72328299284 -0.444476462901 --2.68876868486 -0.444497652352 --2.65425276756 -0.444516971708 --2.61777716875 -0.444497168064 --2.5812997818 -0.444476135075 --2.5467839241 -0.444461107254 --2.51226961612 -0.444452062249 --2.47775626183 -0.444449111819 --2.44324338436 -0.444452188909 --2.4087305069 -0.444461300969 --2.37421715259 -0.444476462901 --2.33970278501 -0.444497652352 --2.30518698692 -0.444516971708 --2.26871132851 -0.444497190416 --2.23223388195 -0.444476135075 --2.19771808386 -0.444461062551 --2.16320377588 -0.444452084601 --2.12869036197 -0.444449111819 --2.09417760372 -0.444452188909 --2.05966466665 -0.444461300969 --2.02515131235 -0.444476440549 --1.99063694477 -0.44449763 --1.95612108708 -0.444516971708 --1.91964548827 -0.444497190416 --1.8831680417 -0.444476135075 --1.84865224361 -0.444461107254 --1.81413790584 -0.444452062249 --1.77962452173 -0.444449111819 --1.74511170387 -0.444452188909 --1.71059882641 -0.444461300969 --1.67608544231 -0.44447645545 --1.64157107473 -0.444497652352 --1.60705527663 -0.444516971708 --1.57057961822 -0.444497190416 --1.53410223126 -0.444476082921 --1.49958637357 -0.444461084902 --1.46507203579 -0.444452084601 --1.4305587411 -0.444449089468 --1.39604583383 -0.444452188909 --1.36153295636 -0.444461300969 --1.32701963186 -0.444476440549 --1.29250526428 -0.44449763 --1.25798940659 -0.444516971708 --1.22151380778 -0.444497190416 --1.18503633141 -0.444476135075 --1.15052056312 -0.444461084903 --1.11600622535 -0.444452062249 --1.08149284125 -0.444449111819 --1.04697996378 -0.444452188909 --1.01246711612 -0.444461300969 --0.977953776717 -0.444476462901 --0.943439394236 -0.444497652352 --0.908923566341 -0.444516949356 --0.872447937727 -0.444497168064 --0.83597047627 -0.444476135075 --0.801454678178 -0.444461084903 --0.766940355301 -0.444452062249 --0.732426986098 -0.444449111819 --0.697914168239 -0.444452188909 --0.663401275873 -0.44446131587 --0.62888790667 -0.444476440549 --0.594373568892 -0.44449763 --0.559857711196 -0.444516949356 --0.523382082581 -0.444497190416 --0.486904650926 -0.444476135075 --0.452388845384 -0.444461084903 --0.417874507606 -0.444452062249 --0.383361130953 -0.444449111819 --0.348848298192 -0.444452188909 --0.314335420728 -0.444461300969 --0.279822051525 -0.444476462901 --0.245307695121 -0.444497652352 --0.210791852325 -0.444516971708 --0.174316227436 -0.533080026507 --0.137808188796 -0.53305542469 --0.103292118758 -0.533037856221 --0.0687775267288 -0.533027350903 --0.0342639167793 -0.533023893833 -0.000249203993007 -0.53302745521 -0.034762328025 -0.533038124442 -0.0692759538069 -0.533055856824 -0.103790573776 -0.533080607653 -0.138306673616 -0.533103138208 -0.174781270325 -0.533080026507 -0.211257666349 -0.53305542469 -0.245773732662 -0.533037856221 -0.280288308859 -0.533027350903 -0.314801931381 -0.533023893833 -0.349315054714 -0.533027470112 -0.383828170598 -0.533038154244 -0.41834179312 -0.533055871725 -0.452856428922 -0.533080607653 -0.487372539937 -0.533103168011 -0.52384711802 -0.533080026507 -0.560323506594 -0.53305542469 -0.594839602709 -0.533037871123 -0.629354164004 -0.533027365804 -0.663867786527 -0.533023864031 -0.69838090241 -0.533027470112 -0.732894018293 -0.533038139343 -0.767407655716 -0.533055871725 -0.801922276616 -0.533080607653 -0.836438372731 -0.533103138208 -0.872912973166 -0.533080041408 -0.909389346838 -0.53305542469 -0.943905428052 -0.533037856221 -0.97842001915 -0.533027365804 -1.01293364167 -0.533023878932 -1.04744675755 -0.533027499914 -1.08195987344 -0.533038154244 -1.11647349596 -0.533055886626 -1.15098813176 -0.533080607653 -1.18550419807 -0.533103138208 -1.22197884321 -0.533080026507 -1.25845521688 -0.53305542469 -1.2929712832 -0.533037871123 -1.3274858892 -0.533027365804 -1.36199951172 -0.533023893833 -1.3965125978 -0.533027470112 -1.43102571368 -0.533038154244 -1.46553936601 -0.533055886626 -1.500053972 -0.533080607653 -1.53457006812 -0.533103138208 -1.57104465365 -0.533080041408 -1.60752105713 -0.53305542469 -1.64203715324 -0.53303784132 -1.67655172944 -0.533027380705 -1.71106535197 -0.53302384913 -1.74557846784 -0.533027499914 -1.78009158373 -0.533038154245 -1.81460520625 -0.533055871725 -1.84911981225 -0.533080607653 -1.88363593817 -0.533103138208 -1.9201105237 -0.533080026507 -1.95658692718 -0.53305542469 -1.99110299349 -0.533037871123 -2.02561753988 -0.533027365804 -2.06013119221 -0.533023893833 -2.09464430809 -0.53302745521 -2.12915748358 -0.533038139343 -2.1636710763 -0.533055886626 -2.1981856823 -0.533080607653 -2.23270177841 -0.533103168011 -2.26917642355 -0.533080026507 -2.30565273762 -0.53305542469 -2.34016877413 -0.533037871123 -2.37468338013 -0.533027365804 -2.40919703245 -0.533023893833 -2.44371008873 -0.533027470112 -2.47822326422 -0.533038139343 -2.51273685694 -0.533055871725 -2.54725146294 -0.533080607653 -2.58176767826 -0.533103138208 -2.61824220419 -0.533080041408 -2.65471869707 -0.53305542469 -2.68923473358 -0.533037856221 -2.72374927998 -0.533027365804 -2.7582628727 -0.533023893833 -2.79277604818 -0.533027499914 -2.82728910446 -0.533038154244 -2.86180275678 -0.533055886626 -2.89631736278 -0.533080607653 -2.9308334589 -0.533103138208 -2.96730804443 -0.533080026507 -3.00378447771 -0.53305542469 -3.03830057382 -0.533037856221 -3.07281512022 -0.533027350903 -3.10732871294 -0.533023893833 --3.14134344657 -0.53302745521 --3.1068303585 -0.533038124442 --3.07231664658 -0.533055856824 --3.03780210018 -0.533080607653 --3.00328600407 -0.533103138208 --2.96681141854 -0.533080026507 --2.93033498526 -0.53305542469 --2.89581888914 -0.533037856221 --2.86130434275 -0.533027350903 --2.82679069042 -0.533023893833 --2.79227763414 -0.533027470112 --2.75776445866 -0.533038154244 --2.72325080633 -0.533055871725 --2.68873620033 -0.533080607653 --2.65422010422 -0.533103168011 --2.61774551869 -0.533080026507 --2.58126920462 -0.53305542469 --2.5467531085 -0.533037871123 --2.5122385025 -0.533027365804 --2.47772485018 -0.533023864031 --2.4432117343 -0.533027470112 --2.40869861841 -0.533038139343 --2.37418502569 -0.533055871725 --2.33967036009 -0.533080607653 --2.30515426398 -0.533103138208 --2.26867967844 -0.533080041408 --2.23220336437 -0.53305542469 --2.19768726826 -0.533037856221 --2.16317260265 -0.533027365804 --2.12865900994 -0.533023878932 --2.09414589405 -0.533027499914 --2.05963277817 -0.533038154244 --2.02511918545 -0.533055886626 --1.99060451984 -0.533080607653 --1.95608845353 -0.533103138208 --1.919613868 -0.533080026507 --1.88313740492 -0.53305542469 --1.84862136841 -0.533037871123 --1.81410679221 -0.533027365804 --1.77959316969 -0.533023893833 --1.745080024 -0.533027470112 --1.71056690812 -0.533038154244 --1.6760533154 -0.533055886626 --1.64153870941 -0.533080607653 --1.60702258349 -0.533103138208 --1.57054796815 -0.533080041408 --1.53407159447 -0.53305542469 --1.49955552817 -0.53303784132 --1.46504095197 -0.533027380705 --1.43052732945 -0.53302384913 --1.39601421356 -0.533027499914 --1.36150103808 -0.533038154245 --1.32698741555 -0.533055871725 --1.29247280955 -0.533080607653 --1.25795674324 -0.533103138208 --1.22148215771 -0.533080026507 --1.18500572443 -0.53305542469 --1.15048965812 -0.533037871123 --1.11597508192 -0.533027365804 --1.0814614594 -0.533023893833 --1.04694834351 -0.53302745521 --1.01243522764 -0.533038139343 --0.977921575308 -0.533055886626 --0.94340698421 -0.533080607653 --0.908890843391 -0.533103168011 --0.872416272759 -0.533080026507 --0.835939899087 -0.53305542469 --0.801423817873 -0.533037871123 --0.766909211874 -0.533027365804 --0.732395589352 -0.533023893833 --0.697882503271 -0.533027470112 --0.663369372487 -0.533038139343 --0.628855735064 -0.533055871725 --0.594341143966 -0.533080607653 --0.559825047851 -0.533103138208 --0.523350432515 -0.533080041408 --0.486874036491 -0.53305542469 --0.452357970178 -0.533037856221 --0.417843386531 -0.533027365804 --0.383329771459 -0.533023893833 --0.348816648126 -0.533027499914 --0.314303517341 -0.533038154244 --0.27978990227 -0.533055886626 --0.245275285095 -0.533080607653 --0.210759174079 -0.533103138208 --0.17428458482 -0.618687048554 --0.137779582292 -0.618659302592 --0.10326327756 -0.618639528751 --0.0687484377995 -0.618627652526 --0.0342345880345 -0.618623748422 -0.00027877674438 -0.618627861142 -0.0347921466455 -0.618639871478 -0.069306017831 -0.618659853935 -0.103820871562 -0.618687734008 -0.138337213546 -0.618713140488 -0.174810852856 -0.618687048554 -0.211286276579 -0.618659302592 -0.245802577585 -0.61863951385 -0.280317410827 -0.618627652526 -0.314831256867 -0.618623763323 -0.349344611167 -0.618627816439 -0.383857995271 -0.618639871478 -0.418371863663 -0.618659868836 -0.452886722982 -0.61868776381 -0.487403064966 -0.618713140488 -0.523876696825 -0.618687048554 -0.560352131724 -0.618659317493 -0.594868436456 -0.618639528751 -0.629383251071 -0.618627667427 -0.663897112012 -0.618623763323 -0.698410481214 -0.618627816439 -0.732923865318 -0.618639871478 -0.767437711358 -0.618659868836 -0.801952600479 -0.61868776381 -0.83646889031 -0.618713140488 -0.87294253707 -0.618687048554 -0.909417971969 -0.618659317493 -0.943934291601 -0.61863951385 -0.978449091315 -0.618627667427 -1.01296293736 -0.618623763323 -1.04747632146 -0.61862783134 -1.08198970556 -0.618639871478 -1.1165035367 -0.618659868836 -1.15101841092 -0.618687734008 -1.18553477525 -0.618713140488 -1.22200840712 -0.618687048554 -1.25848385691 -0.618659317493 -1.29300013184 -0.61863951385 -1.32751497627 -0.618627667427 -1.36202883721 -0.618623763323 -1.39654219151 -0.61862783134 -1.43105551601 -0.618639856577 -1.46556940675 -0.618659853935 -1.50008431077 -0.618687748909 -1.5346006453 -0.618713125587 -1.57107421756 -0.618687033653 -1.60754966736 -0.618659302592 -1.64206597209 -0.618639498949 -1.67658081651 -0.618627637625 -1.71109464764 -0.618623748422 -1.74560803175 -0.618627846241 -1.78012141585 -0.618639871478 -1.8146353066 -0.618659868836 -1.84915012122 -0.618687734008 -1.88366645574 -0.618713140488 -1.92014008761 -0.618687033653 -1.9566155374 -0.618659317493 -1.99113184214 -0.61863951385 -2.02564668655 -0.618627667427 -2.06016045809 -0.618623763323 -2.0946739316 -0.618627846241 -2.1291872263 -0.618639886379 -2.16370117664 -0.618659868836 -2.19821596146 -0.61868776381 -2.23273229599 -0.618713140488 -2.26920592785 -0.618687033653 -2.30568140745 -0.618659302592 -2.34019774198 -0.61863951385 -2.3747125268 -0.618627652526 -2.40922635794 -0.618623763323 -2.44373971224 -0.618627846241 -2.47825318575 -0.618639871478 -2.51276701689 -0.618659868836 -2.5472818613 -0.618687734008 -2.58179819584 -0.618713140488 -2.6182718277 -0.618687048554 -2.65474718809 -0.618659317493 -2.68926352263 -0.61863951385 -2.72377830744 -0.618627667427 -2.75829225778 -0.618623748422 -2.79280555248 -0.618627846241 -2.82731896639 -0.618639871478 -2.86183279753 -0.618659868836 -2.89634764194 -0.61868776381 -2.93086403608 -0.618713125587 -2.96733766794 -0.618687048554 -3.00381302834 -0.618659302592 -3.03832930326 -0.618639528751 -3.07284426689 -0.618627652526 -3.10735803842 -0.618623748422 --3.14131382306 -0.618627861142 --3.10680049658 -0.618639871478 --3.07228666544 -0.618659853935 --3.03777182102 -0.618687734008 --3.00325536728 -0.618713140488 --2.96678179503 -0.618687048554 --2.93030643463 -0.618659302592 --2.8957901001 -0.61863951385 --2.86127519607 -0.618627652526 --2.82676142454 -0.618623763323 --2.79224801063 -0.618627816439 --2.75773471594 -0.618639871478 --2.72322082519 -0.618659868836 --2.68870592117 -0.61868776381 --2.65418958664 -0.618713140488 --2.61771595478 -0.618687048554 --2.58124047518 -0.618659317493 --2.54672414064 -0.618639528751 --2.51220935583 -0.618627667427 --2.4776955247 -0.618623763323 --2.44318217039 -0.618627816439 --2.40866875649 -0.618639871478 --2.37415492535 -0.618659868836 --2.33964002133 -0.61868776381 --2.305123806 -0.618713140488 --2.26865011453 -0.618687048554 --2.23217469454 -0.618659317493 --2.19765836001 -0.61863951385 --2.16314357519 -0.618627667427 --2.12862968445 -0.618623763323 --2.09411633015 -0.61862783134 --2.05960291624 -0.618639871478 --2.0250890851 -0.618659868836 --1.99057421088 -0.618687734008 --1.95605787635 -0.618713140488 --1.91958421468 -0.618687048554 --1.8831088543 -0.618659317493 --1.84859254956 -0.61863951385 --1.81407770514 -0.618627667427 --1.7795638442 -0.618623763323 --1.7450504601 -0.61862783134 --1.7105371058 -0.618639856577 --1.67602321506 -0.618659853935 --1.64150840044 -0.618687748909 --1.6069920361 -0.618713125587 --1.57051840424 -0.618687033653 --1.53404298425 -0.618659302592 --1.49952667951 -0.618639498949 --1.4650118649 -0.618627637625 --1.43049800396 -0.618623748422 --1.39598464966 -0.618627846241 --1.36147123575 -0.618639871478 --1.32695740461 -0.618659868836 --1.2924425304 -0.618687734008 --1.25792619586 -0.618713140488 --1.22145253419 -0.618687033653 --1.1849771142 -0.618659317493 --1.15046083927 -0.61863951385 --1.11594602466 -0.618627667427 --1.08143210411 -0.618623763323 --1.04691877961 -0.618627846241 --1.01240539551 -0.618639886379 --0.977891519666 -0.618659868836 --0.943376675248 -0.61868776381 --0.908860325813 -0.618713140488 --0.872386708856 -0.618687033653 --0.835911273956 -0.618659302592 --0.801394969225 -0.61863951385 --0.766880169511 -0.618627652526 --0.732366278767 -0.618623763323 --0.697852909565 -0.618627846241 --0.663339540362 -0.618639871478 --0.628825679422 -0.618659868836 --0.594310805202 -0.618687734008 --0.559794470668 -0.618713140488 --0.523320838809 -0.618687048554 --0.486845433712 -0.618659317493 --0.45232912153 -0.61863951385 --0.417814284563 -0.618627667427 --0.383300438523 -0.618623748422 --0.348787069321 -0.618627846241 --0.314273700118 -0.618639871478 --0.279759846628 -0.618659868836 --0.245244968683 -0.61868776381 --0.210728630424 -0.618713125587 --0.174254998564 -0.704287335276 --0.137752261013 -0.704256787896 --0.103235736489 -0.704234868288 --0.0687206638977 -0.704221844673 --0.0342065840959 -0.70421756804 -0.000307010719552 -0.704222068191 -0.0348206120543 -0.704235345125 -0.0693347118795 -0.704257383942 -0.103849809617 -0.704288125038 -0.138366378844 -0.70431612432 -0.174839086831 -0.704287335276 -0.211313594133 -0.704256758094 -0.245830111206 -0.704234927893 -0.28034517169 -0.704221814871 -0.314859263599 -0.70421756804 -0.349372863769 -0.704222068191 -0.383886471391 -0.704235345125 -0.418400578201 -0.70425735414 -0.452915631235 -0.704288125038 -0.487432233989 -0.70431612432 -0.523904919625 -0.704287305474 -0.560379430652 -0.704256758094 -0.594895973802 -0.704234927893 -0.629411041737 -0.704221814871 -0.663925111294 -0.704217597842 -0.698438704014 -0.704222068191 -0.732952311635 -0.704235345125 -0.767466425896 -0.70425735414 -0.801981508732 -0.704288125038 -0.836498081684 -0.70431612432 -0.872970804572 -0.704287305474 -0.909445270896 -0.704256758094 -0.943961828947 -0.70423489809 -0.978476896882 -0.704221844673 -1.01299095154 -0.70421756804 -1.04750457406 -0.704222068191 -1.08201816678 -0.704235345125 -1.11653229594 -0.70425735414 -1.15104737878 -0.704288125038 -1.18556392193 -0.70431612432 -1.22203662991 -0.704287305474 -1.25851112604 -0.704256787896 -1.29302769899 -0.70423489809 -1.32754275203 -0.704221814871 -1.36205685139 -0.704217538237 -1.3965703845 -0.704222068191 -1.43108400702 -0.704235315323 -1.46559813619 -0.704257383942 -1.50011318922 -0.70428815484 -1.53462979198 -0.704316154122 -1.57110249996 -0.704287305474 -1.60757699609 -0.704256728291 -1.64209350943 -0.70423489809 -1.67660856247 -0.704221814871 -1.71112266183 -0.70421756804 -1.74563628435 -0.704222097993 -1.78014987707 -0.704235345125 -1.81466397643 -0.70425735414 -1.84917908907 -0.704288125038 -1.88369566202 -0.70431612432 -1.92016837001 -0.704287305474 -1.95664280653 -0.704256758094 -1.99115937948 -0.70423489809 -2.02567440271 -0.704221844673 -2.06018853188 -0.704217538237 -2.09470212459 -0.704222068191 -2.12921571731 -0.704235345125 -2.16372984648 -0.70425735414 -2.19824492931 -0.704288125038 -2.23276144266 -0.704316094518 -2.26923412084 -0.704287305474 -2.30570870638 -0.704256758094 -2.34022521973 -0.704234927893 -2.37474030256 -0.704221844673 -2.40925437212 -0.704217538237 -2.44376790524 -0.704222068191 -2.47828155756 -0.704235345125 -2.51279568672 -0.704257383942 -2.54731076956 -0.704288125038 -2.5818272829 -0.70431612432 -2.6183000803 -0.704287305474 -2.65477454663 -0.704256758094 -2.68929111958 -0.70423489809 -2.7238060832 -0.704221844673 -2.75832021236 -0.70421756804 -2.79283386469 -0.704222068191 -2.82734739781 -0.704235345125 -2.86186146736 -0.70425735414 -2.8963765502 -0.704288125038 -2.93089324236 -0.70431612432 -2.96736592055 -0.704287335276 -3.00384038687 -0.704256787896 -3.03835690021 -0.704234868288 -3.07287198305 -0.704221844673 -3.10738605261 -0.70421756804 --3.14128563006 -0.704222068191 --3.10677206516 -0.704235345125 --3.07225799561 -0.704257383942 --3.03774291277 -0.704288125038 --3.00322622061 -0.70431612432 --2.96675354242 -0.704287335276 --2.93027901649 -0.704256758094 --2.89576250315 -0.704234927893 --2.86124747992 -0.704221814871 --2.82673335075 -0.70421756804 --2.79221975803 -0.704222068191 --2.75770616531 -0.704235345125 --2.72319203615 -0.70425735414 --2.68867695332 -0.704288125038 --2.65416043997 -0.70431612432 --2.61768776179 -0.704287305474 --2.58121323586 -0.704256758094 --2.5466966629 -0.704234927893 --2.51218163967 -0.704221814871 --2.47766751051 -0.704217597842 --2.44315391779 -0.704222068191 --2.40864032507 -0.704235345125 --2.37412625551 -0.70425735414 --2.33961111307 -0.704288125038 --2.30509454012 -0.70431612432 --2.26862186194 -0.704287305474 --2.23214739561 -0.704256758094 --2.19763082266 -0.70423489809 --2.16311579943 -0.704221844673 --2.12860172987 -0.70421756804 --2.09408813715 -0.704222068191 --2.05957448483 -0.704235345125 --2.02506041527 -0.70425735414 --1.99054533243 -0.704288125038 --1.95602872968 -0.70431612432 --1.91955602169 -0.704287305474 --1.88308152556 -0.704256787896 --1.84856501222 -0.70423489809 --1.81404995918 -0.704221814871 --1.77953585983 -0.704217538237 --1.7450222373 -0.704222068191 --1.71050864458 -0.704235315323 --1.67599454522 -0.704257383942 --1.64147943258 -0.70428815484 --1.60696285963 -0.704316154122 --1.57049015164 -0.704287305474 --1.53401565552 -0.704256728291 --1.49949914217 -0.70423489809 --1.46498405933 -0.704221814871 --1.43046998978 -0.70421756804 --1.39595636726 -0.704222097993 --1.36144280433 -0.704235345125 --1.32692867518 -0.70425735414 --1.29241356254 -0.704288125038 --1.25789701939 -0.70431612432 --1.2214243412 -0.704287305474 --1.18494981527 -0.704256758094 --1.15043324232 -0.70423489809 --1.11591821909 -0.704221844673 --1.08140414953 -0.704217538237 --1.04689055681 -0.704222068191 --1.01237693429 -0.704235345125 --0.97786283493 -0.70425735414 --0.943347752094 -0.704288125038 --0.90883114934 -0.704316094518 --0.872358486056 -0.704287305474 --0.835883945227 -0.704256758094 --0.801367402077 -0.704234927893 --0.766852378845 -0.704221844673 --0.732338294387 -0.704217538237 --0.697824701667 -0.704222068191 --0.663311108947 -0.704235345125 --0.628796964884 -0.704257383942 --0.594281882048 -0.704288125038 --0.559765338898 -0.70431612432 --0.52329261601 -0.704287305474 --0.486818127334 -0.704256758094 --0.452301584184 -0.70423489809 --0.417786516249 -0.704221844673 --0.38327242434 -0.70421756804 --0.34875882417 -0.704222068191 --0.3142452389 -0.704235345125 --0.279731124639 -0.70425735414 --0.245216034353 -0.704288125038 --0.210699480027 -0.70431612432 --0.174226764589 -0.792527735233 --0.137726370245 -0.792494550348 --0.103209614754 -0.792470827698 --0.0686943344772 -0.792456686497 --0.034180036746 -0.792452037335 -0.000333779025825 -0.792456910014 -0.0348476013168 -0.792471289634 -0.0693619186059 -0.792495310307 -0.103877235204 -0.792528688908 -0.138394027948 -0.792559087276 -0.174865867943 -0.792527735233 -0.21133947745 -0.792494520545 -0.245856236666 -0.792470812797 -0.280371509493 -0.792456641793 -0.314885817468 -0.792452007532 -0.349399633705 -0.792456895113 -0.383913457394 -0.792471289634 -0.41842777282 -0.792495250702 -0.452943071723 -0.792528688908 -0.487459868193 -0.792559057474 -0.523931711912 -0.792527735233 -0.56040532887 -0.792494550348 -0.594922080636 -0.792470812797 -0.629437357188 -0.792456671596 -0.663951650262 -0.792452037334 -0.6984654814 -0.792456865311 -0.732979297638 -0.792471289634 -0.767493620515 -0.7924952209 -0.802008911967 -0.79252871871 -0.836525723338 -0.792559087276 -0.872997567058 -0.792527735233 -0.909471198916 -0.792494550348 -0.94398792088 -0.792470827698 -0.978503212333 -0.792456656694 -1.01301750541 -0.792452007532 -1.04753133655 -0.792456910014 -1.08204513788 -0.792471289634 -1.11655944586 -0.792495250702 -1.15107473731 -0.79252871871 -1.18559157848 -0.792559087276 -1.2220634222 -0.792527735233 -1.25853702426 -0.792494550348 -1.29305380583 -0.792470827698 -1.32756909728 -0.792456641793 -1.36208334565 -0.79245197773 -1.39659717679 -0.792456895113 -1.43111100793 -0.792471319437 -1.46562531591 -0.792495280504 -1.50014063716 -0.792528688908 -1.53465741873 -0.792559087276 -1.57112923265 -0.792527735233 -1.60760286451 -0.792494520545 -1.64211961627 -0.792470812797 -1.67663487792 -0.792456641793 -1.7111492455 -0.792452007532 -1.74566304684 -0.792456895113 -1.78017684817 -0.792471289634 -1.81469118595 -0.792495250702 -1.8492064476 -0.792528688908 -1.88372328878 -0.792559057474 -1.92019510269 -0.792527735233 -1.95666873455 -0.792494550348 -1.99118551612 -0.792470827698 -2.02570074797 -0.792456641793 -2.06021511555 -0.79245197773 -2.09472888708 -0.792456895113 -2.12924265862 -0.792471349239 -2.16375702619 -0.792495250702 -2.19827228785 -0.79252871871 -2.23278909922 -0.792559087276 -2.26926094294 -0.792527735233 -2.3057345748 -0.792494550348 -2.34025132656 -0.792470812797 -2.37476664782 -0.792456686497 -2.40928089619 -0.792452007532 -2.44379472733 -0.792456865311 -2.47830855846 -0.792471289634 -2.51282292605 -0.792495250702 -2.54733812809 -0.79252871871 -2.58185499906 -0.792559057474 -2.61832684279 -0.792527735233 -2.65480041504 -0.792494550348 -2.6893171668 -0.792470827698 -2.72383254766 -0.792456641793 -2.75834673643 -0.792452037335 -2.79286056757 -0.792456865311 -2.82737439871 -0.792471289634 -2.86188870668 -0.792495250702 -2.89640408754 -0.79252871871 -2.93092083931 -0.792559087276 -2.96739262343 -0.792527735233 -3.00386631489 -0.792494550348 -3.03838306665 -0.792470827698 -3.0728983283 -0.792456686497 -3.10741263628 -0.792452037335 --3.14125886758 -0.792456910014 --3.10674506426 -0.792471289634 --3.07223075628 -0.792495310307 --3.03771537542 -0.792528688908 --3.00319862365 -0.792559087276 --2.96672683954 -0.792527735233 --2.93025314808 -0.792494520545 --2.89573639631 -0.792470812797 --2.86122113466 -0.792456641793 --2.82670676708 -0.792452007532 --2.79219299555 -0.792456895113 --2.75767922401 -0.792471289634 --2.72316491604 -0.792495250702 --2.68864959478 -0.792528688908 --2.65413284301 -0.792559057474 --2.61766093969 -0.792527735233 --2.58118730783 -0.792494550348 --2.54667055607 -0.792470812797 --2.51215529442 -0.792456671596 --2.47764098644 -0.792452037334 --2.4431271553 -0.792456865311 --2.40861332416 -0.792471289634 --2.37409895658 -0.7924952209 --2.33958375454 -0.79252871871 --2.30506688356 -0.792559087276 --2.26859503984 -0.792527735233 --2.23212152719 -0.792494550348 --2.19760471583 -0.792470827698 --2.16308939457 -0.792456656694 --2.1285751462 -0.792452007532 --2.09406131506 -0.792456910014 --2.05954748392 -0.792471289634 --2.02503317594 -0.792495250702 --1.99051788449 -0.79252871871 --1.95600107312 -0.792559087276 --1.9195291996 -0.792527735233 --1.88305562735 -0.792494550348 --1.84853890538 -0.792470827698 --1.81402361393 -0.792456641793 --1.77950927615 -0.79245197773 --1.74499547482 -0.792456895113 --1.71048167348 -0.792471319437 --1.6759673357 -0.792495280504 --1.64145198464 -0.792528688908 --1.60693523288 -0.792559087276 --1.57046341896 -0.792527735233 --1.5339897573 -0.792494520545 --1.49947300554 -0.792470812797 --1.46495774389 -0.792456641793 --1.43044343591 -0.792452007532 --1.39592963457 -0.792456895113 --1.36141577363 -0.792471289634 --1.32690149546 -0.792495250702 --1.29238620401 -0.792528688908 --1.25786939263 -0.792559057474 --1.22139751911 -0.792527735233 --1.18492394686 -0.792494550348 --1.15040716529 -0.792470827698 --1.11589190364 -0.792456641793 --1.08137759566 -0.79245197773 --1.04686376452 -0.792456895113 --1.01234993338 -0.792471349239 --0.97783562541 -0.792495250702 --0.943320319057 -0.79252871871 --0.908803522587 -0.792559087276 --0.872331678867 -0.792527735233 --0.835858076811 -0.792494550348 --0.801341310144 -0.792470812797 --0.76682600379 -0.792456686497 --0.732311755419 -0.792452007532 --0.697797954082 -0.792456865311 --0.66328407824 -0.792471289634 --0.628769770265 -0.792495250702 --0.594254463911 -0.79252871871 --0.559737697244 -0.792559057474 --0.523265823722 -0.792527735233 --0.486792214215 -0.792494550348 --0.45227547735 -0.792470827698 --0.417760193348 -0.792456641793 --0.383245892823 -0.792452037335 --0.348732069135 -0.792456865311 --0.314218245447 -0.792471289634 --0.27970393002 -0.792495250702 --0.245188612491 -0.79252871871 --0.210671827197 -0.792559087276 --0.174199994654 -0.880917936564 --0.137702986598 -0.88088235259 --0.103186037391 -0.880857050419 --0.0686705652624 -0.880841836333 --0.0341560635716 -0.880836859346 -0.000357948476447 -0.880842119455 -0.0348719679751 -0.880857542157 -0.0693864868954 -0.880883187056 -0.103901999071 -0.880919024349 -0.138418994844 -0.880951493978 -0.174890037626 -0.880917936564 -0.211362868547 -0.88088235259 -0.245879802853 -0.880857005715 -0.280395269394 -0.880841836333 -0.314909785986 -0.880836829543 -0.349423803389 -0.880842074752 -0.383937813342 -0.880857557058 -0.418452337384 -0.880883201957 -0.452967852354 -0.880918994546 -0.487484820187 -0.880951523781 -0.523955896497 -0.880917936564 -0.560428708792 -0.88088235259 -0.594945639372 -0.880857005715 -0.629461124539 -0.880841836333 -0.66397562623 -0.880836814642 -0.698489680886 -0.880842104554 -0.733003675938 -0.880857512355 -0.76751819253 -0.880883172155 -0.802033692598 -0.880918994546 -0.836550667882 -0.880951493978 -0.873021751642 -0.880917936564 -0.909494563937 -0.880882397294 -0.944011524319 -0.880857005715 -0.978526979685 -0.880841836333 -1.01304149628 -0.880836814642 -1.04755547642 -0.880842104554 -1.08206954598 -0.880857527256 -1.11658406258 -0.880883201957 -1.15109956265 -0.880918994546 -1.18561652302 -0.880951493978 -1.22208759189 -0.880917936564 -1.25856041908 -0.880882382393 -1.29307737946 -0.880857005715 -1.32759281993 -0.880841836333 -1.36210736633 -0.880836814642 -1.39662134647 -0.880842074752 -1.43113532662 -0.880857557058 -1.46564987302 -0.880883187056 -1.50016537309 -0.880919024349 -1.53468239307 -0.880951523781 -1.57115343213 -0.880917906761 -1.60762625933 -0.880882367492 -1.64214318991 -0.880857005715 -1.67665868998 -0.880841806531 -1.71117317677 -0.880836859346 -1.74568721652 -0.880842074752 -1.78020122647 -0.880857557058 -1.81471574307 -0.880883172155 -1.84923124314 -0.880918994546 -1.88374823332 -0.880951493978 -1.92021930218 -0.880917936564 -1.95669212937 -0.88088235259 -1.99120908975 -0.880857005715 -2.02572453022 -0.880841836333 -2.06023901701 -0.880836814642 -2.09475308656 -0.880842074752 -2.12926709652 -0.880857527256 -2.16378164292 -0.880883187056 -2.19829702377 -0.880918994546 -2.23281413317 -0.880951493978 -2.26928514242 -0.880917936564 -2.30575799942 -0.880882382393 -2.34027493 -0.880856975913 -2.37479031086 -0.880841836333 -2.40930491686 -0.880836814642 -2.44381886721 -0.880842104554 -2.47833293676 -0.880857512355 -2.51284742356 -0.880883201957 -2.54736304283 -0.880918994546 -2.58187997341 -0.880951523781 -2.61835098267 -0.880917936564 -2.65482378006 -0.880882382393 -2.68934082985 -0.880857005715 -2.72385621071 -0.880841836333 -2.7583707571 -0.880836814642 -2.79288476706 -0.880842074752 -2.8273987174 -0.880857557058 -2.8619132638 -0.880883157253 -2.89642882347 -0.880918994546 -2.93094575405 -0.880951493978 -2.96741682291 -0.880917936564 -3.00388962031 -0.88088235259 -3.03840661049 -0.880857050419 -3.07292211056 -0.880841836333 -3.10743659734 -0.880836859346 --3.1412347277 -0.880842119455 --3.10672074557 -0.880857542157 --3.07220619917 -0.880883187056 --3.0376906395 -0.880919024349 --3.00317370892 -0.880951493978 --2.96670264005 -0.880917936564 --2.93022984266 -0.88088235259 --2.89571285248 -0.880857005715 --2.86119735241 -0.880841836333 --2.82668292522 -0.880836829543 --2.79216891527 -0.880842074752 --2.75765478611 -0.880857557058 --2.72314023971 -0.880883201957 --2.68862485886 -0.880918994546 --2.65410786867 -0.880951523781 --2.61763674021 -0.880917936564 --2.58116388321 -0.88088235259 --2.54664707184 -0.880857005715 --2.51213157177 -0.880841836333 --2.47761702537 -0.880836814642 --2.44310295582 -0.880842104554 --2.40858900547 -0.880857512355 --2.37407445908 -0.880883172155 --2.33955895901 -0.880918994546 --2.30504190922 -0.880951493978 --2.26857084036 -0.880917936564 --2.23209810257 -0.880882397294 --2.19758111238 -0.880857005715 --2.16306567192 -0.880841836333 --2.12855118514 -0.880836814642 --2.09403717518 -0.880842104554 --2.05952316522 -0.880857527256 --2.02500867843 -0.880883201957 --1.99049308896 -0.880918994546 --1.95597609878 -0.880951493978 --1.91950508952 -0.880917936564 --1.88303223252 -0.880882382393 --1.84851527214 -0.880857005715 --1.81399980187 -0.880841836333 --1.77948534489 -0.880836814642 --1.74497127533 -0.880842074752 --1.71045729518 -0.880857557058 --1.67594277859 -0.880883187056 --1.64142727852 -0.880919024349 --1.60691025853 -0.880951523781 --1.57043921947 -0.880917906761 --1.53396639228 -0.880882367492 --1.4994494319 -0.880857005715 --1.46493396163 -0.880841806531 --1.43041947484 -0.880836859346 --1.39590546489 -0.880842074752 --1.36139142513 -0.880857557058 --1.32687690854 -0.880883172155 --1.29236137867 -0.880918994546 --1.25784441829 -0.880951493978 --1.22137337923 -0.880917936564 --1.18490052223 -0.88088235259 --1.15038362145 -0.880857005715 --1.11586812138 -0.880841836333 --1.08135360479 -0.880836814642 --1.04683959484 -0.880842074752 --1.01232561469 -0.880857527256 --0.977811068296 -0.880883187056 --0.943295553326 -0.880918994546 --0.908778548241 -0.880951493978 --0.872307509184 -0.880917936564 --0.83583471179 -0.880882382393 --0.801317736506 -0.880856975913 --0.766802281142 -0.880841836333 --0.732287764549 -0.880836814642 --0.697773769498 -0.880842104554 --0.663259744644 -0.880857512355 --0.62874519825 -0.880883201957 --0.594229698181 -0.880918994546 --0.559712693095 -0.880951523781 --0.523241683841 -0.880917936564 --0.486768826842 -0.880882382393 --0.452251881361 -0.880857005715 --0.417736418545 -0.880841836333 --0.383221909404 -0.880836814642 --0.348707914353 -0.880842074752 --0.314193874598 -0.880857557058 --0.279679365456 -0.880883157253 --0.245163846761 -0.880918994546 --0.210646856576 -0.880951493978 --0.174175813794 -0.966537177563 --0.137682452798 -0.966499641538 --0.103165334091 -0.96647284925 --0.0686496831476 -0.966456800699 --0.0341350068338 -0.966451525688 -0.00037917890586 -0.966457098722 -0.0348933725618 -0.966473415494 -0.0694080665707 -0.966500550508 -0.103923751041 -0.966538399458 -0.138440921903 -0.966572657227 -0.174911275506 -0.966537162662 -0.211383394897 -0.966499626637 -0.245900522917 -0.966472804547 -0.280416175723 -0.966456785798 -0.314930841327 -0.966451525688 -0.349445030093 -0.966457098722 -0.38395922631 -0.966473415494 -0.418473921716 -0.966500550509 -0.452989600599 -0.966538369656 -0.487506762147 -0.96657268703 -0.52397711575 -0.966537162662 -0.560449257493 -0.966499626637 -0.594966381788 -0.966472804547 -0.629482015967 -0.966456770897 -0.663996696472 -0.966451525688 -0.69851090014 -0.96645706892 -0.733025074005 -0.966473415494 -0.767539769411 -0.966500550509 -0.802055463195 -0.966538399458 -0.836572632193 -0.96657268703 -0.873042985797 -0.966537162662 -0.909515112639 -0.966499626637 -0.944032222033 -0.966472804547 -0.978547871113 -0.966456800699 -1.01306253672 -0.966451525688 -1.04757675528 -0.96645706892 -1.08209091425 -0.966473445296 -1.11660560965 -0.966500550509 -1.15112128854 -0.966538339854 -1.18563848734 -0.966572657227 -1.22210881114 -0.966537192464 -1.25858098269 -0.966499656439 -1.29309803248 -0.966472804547 -1.32761371136 -0.966456800699 -1.36212837696 -0.966451525688 -1.39664259553 -0.966457128525 -1.4311567843 -0.966473415494 -1.4656714797 -0.966500550509 -1.50018715858 -0.966538339854 -1.53470432758 -0.966572657227 -1.57117468119 -0.966537207365 -1.60764676333 -0.966499656439 -1.64216393232 -0.966472789646 -1.6766795814 -0.966456755996 -1.71119424701 -0.966451525688 -1.74570843577 -0.96645706892 -1.78022259474 -0.966473415494 -1.81473731994 -0.966500550509 -1.84925296902 -0.966538399458 -1.88377013803 -0.96657268703 -1.92024049163 -0.966537192464 -1.95671263337 -0.966499641538 -1.99122977257 -0.966472804547 -2.02574545145 -0.966456785798 -2.06026011705 -0.966451525688 -2.09477424622 -0.966457098722 -2.12928855419 -0.966473415494 -2.16380316019 -0.966500550509 -2.19831883907 -0.966538369656 -2.23283594847 -0.966572657227 -2.26930636167 -0.966537162662 -2.30577850342 -0.966499626637 -2.34029567241 -0.966472834349 -2.37481129169 -0.966456785798 -2.4093258977 -0.966451525688 -2.44384014606 -0.96645706892 -2.47835433483 -0.966473445296 -2.51286900043 -0.966500550509 -2.54738473892 -0.966538354755 -2.58190190792 -0.96657268703 -2.61837214232 -0.966537192464 -2.65484434366 -0.966499626637 -2.68936151266 -0.966472804547 -2.72387707234 -0.966456800699 -2.75839179754 -0.966451525688 -2.79290598631 -0.96645706892 -2.82742017508 -0.966473415494 -2.86193490029 -0.966500550509 -2.89645057917 -0.966538339854 -2.93096774817 -0.966572657227 -2.96743816137 -0.966537177563 -3.00391018391 -0.966499641538 -3.0384273529 -0.96647284925 -3.07294303179 -0.966456800699 -3.10745769739 -0.966451525688 --3.14121350844 -0.966457098722 --3.10669928789 -0.966473415494 --3.07218456268 -0.966500550508 --3.0376688838 -0.966538399458 --3.0031517148 -0.966572657227 --2.96668130159 -0.966537162662 --2.93020927906 -0.966499626637 --2.89569211006 -0.966472804547 --2.86117643118 -0.966456785798 --2.82666176557 -0.966451525688 --2.79214769602 -0.966457098722 --2.75763344765 -0.966473415494 --2.72311878205 -0.966500550509 --2.68860304356 -0.966538369656 --2.65408593416 -0.96657268703 --2.61761552095 -0.966537162662 --2.58114337921 -0.966499626637 --2.54662626982 -0.966472804547 --2.51211065054 -0.966456770897 --2.47759598494 -0.966451525688 --2.44308173656 -0.96645706892 --2.4085675478 -0.966473415494 --2.37405288219 -0.966500550509 --2.33953720331 -0.966538399458 --2.30501997471 -0.96657268703 --2.26854968071 -0.966537162662 --2.23207753897 -0.966499626637 --2.19756042958 -0.966472804547 --2.1630448103 -0.966456800699 --2.12853014469 -0.966451525688 --2.09401589632 -0.96645706892 --2.05950176716 -0.966473445296 --2.02498704195 -0.966500550509 --1.99047133326 -0.966538339854 --1.95595416427 -0.966572657227 --1.91948381066 -0.966537192464 --1.88301166892 -0.966499656439 --1.84849458933 -0.966472804547 --1.81397894025 -0.966456800699 --1.77946427465 -0.966451525688 --1.74495005607 -0.966457128525 --1.71043589711 -0.966473415494 --1.6759211421 -0.966500550509 --1.64140552282 -0.966538339854 --1.60688835383 -0.966572657227 --1.57041797042 -0.966537207365 --1.53394585848 -0.966499656439 --1.49942871928 -0.966472789646 --1.4649130702 -0.966456755996 --1.4303984046 -0.966451525688 --1.39588424564 -0.96645706892 --1.36137002706 -0.966473415494 --1.32685536146 -0.966500550509 --1.29233965277 -0.966538399458 --1.25782248378 -0.96657268703 --1.22135213017 -0.966537192464 --1.18487998843 -0.966499641538 --1.15036287904 -0.966472804547 --1.11584725976 -0.966456785798 --1.08133256435 -0.966451525688 --1.04681834578 -0.966457098722 --1.01230415702 -0.966473415494 --0.977789476514 -0.966500550509 --0.94327378273 -0.966538369656 --0.908756643534 -0.966572657227 --0.872286275029 -0.966537162662 --0.835814163089 -0.966499626637 --0.801297008992 -0.966472834349 --0.766781389713 -0.966456785798 --0.732266709209 -0.966451525688 --0.697752505541 -0.96645706892 --0.663238331675 -0.966473445296 --0.628723651171 -0.966500550509 --0.594207942486 -0.966538354755 --0.559690788388 -0.96657268703 --0.523220419884 -0.966537192464 --0.486748307943 -0.966499626637 --0.452231176197 -0.966472804547 --0.417715542019 -0.966456800699 --0.383200854063 -0.966451525688 --0.348686680198 -0.96645706892 --0.314172461629 -0.966473415494 --0.279657788575 -0.966500550509 --0.245142091066 -0.966538339854 --0.210624933243 -0.966572657227 --0.174154579639 -1.05216023326 --0.137663185597 -1.05212089419 --0.103145906702 -1.05209285021 --0.0686300965026 -1.0520760715 --0.0341152637266 -1.05207058787 -0.000399086857215 -1.05207639933 -0.0349134430289 -1.05209347606 -0.0694282995537 -1.05212190748 -0.103944150731 -1.05216154456 -0.138461474329 -1.05219742656 -0.174931179732 -1.05216023326 -0.211402665824 -1.05212089419 -0.245919939131 -1.05209288001 -0.280435755849 -1.0520760715 -0.314950592816 -1.05207058787 -0.349464930594 -1.05207636952 -0.383979298174 -1.05209347606 -0.418494150043 -1.05212190748 -0.453009992838 -1.05216151476 -0.487527325749 -1.05219745636 -0.523997038603 -1.05216023326 -0.560468509793 -1.05212089419 -0.594985812903 -1.05209288001 -0.629501596093 -1.0520760417 -0.664016455412 -1.05207058787 -0.698530763388 -1.05207636952 -0.73304516077 -1.05209350586 -0.767560020089 -1.05212190748 -0.802075847983 -1.05216154456 -0.836593195796 -1.05219742656 -0.873062923551 -1.05216023326 -0.909534364939 -1.05212089419 -0.944051623344 -1.05209288001 -0.978567436338 -1.0520760417 -1.01308229566 -1.05207061768 -1.04759663343 -1.05207639933 -1.08211097122 -1.05209350586 -1.11662587524 -1.05212190748 -1.15114170313 -1.05216151476 -1.18565905094 -1.05219745636 -1.22212871909 -1.05216023326 -1.25860020519 -1.05212089419 -1.29311749339 -1.05209288001 -1.32763329148 -1.0520760417 -1.3621481061 -1.05207058787 -1.39666250348 -1.05207639933 -1.43117684126 -1.05209347606 -1.46569168568 -1.05212190748 -1.50020757317 -1.05216154456 -1.53472486138 -1.05219742656 -1.57119458914 -1.05216023326 -1.60766607523 -1.05212089419 -1.64218330383 -1.05209285021 -1.67669916153 -1.0520760417 -1.71121400595 -1.05207064748 -1.74572831392 -1.05207636952 -1.7802426815 -1.05209350586 -1.81475758553 -1.05212190748 -1.84927341342 -1.05216154456 -1.88379073143 -1.05219745636 -1.92026042938 -1.05216023326 -1.95673191548 -1.05212089419 -1.99124920368 -1.05209285021 -2.02576500177 -1.0520760417 -2.06027984619 -1.05207058787 -2.09479415417 -1.05207639933 -2.12930858135 -1.05209347606 -2.16382342577 -1.05212190748 -2.19833922386 -1.05216154456 -2.23285657167 -1.05219745636 -2.26932626963 -1.05216023326 -2.30579775572 -1.052120924 -2.34031504393 -1.0520928204 -2.37483084202 -1.0520760715 -2.40934568643 -1.05207061768 -2.44386005402 -1.05207639933 -2.47837442159 -1.05209350586 -2.51288932562 -1.05212193728 -2.54740512371 -1.05216151476 -2.58192241192 -1.05219742656 -2.61839210987 -1.05216023326 -2.65486365557 -1.052120924 -2.68938094377 -1.05209285021 -2.72389668226 -1.0520760417 -2.75841152668 -1.05207061768 -2.79292589426 -1.05207636952 -2.82744026184 -1.05209347606 -2.86195510626 -1.05212187767 -2.89647096396 -1.05216151476 -2.93098831177 -1.05219745636 -2.96745795011 -1.05216023326 -3.00392949581 -1.05212089419 -3.03844672441 -1.05209285021 -3.07296252251 -1.0520760715 -3.10747736692 -1.05207058787 --3.14119354089 -1.05207639933 --3.10667920112 -1.05209347606 --3.07216435671 -1.05212190748 --3.03764849901 -1.05216154456 --3.0031312108 -1.05219742656 --2.96666145324 -1.05216023326 --2.93019002676 -1.05212089419 --2.89567273855 -1.05209288001 --2.86115694046 -1.0520760715 --2.82664203644 -1.05207058787 --2.79212772846 -1.05207636952 --2.75761336088 -1.05209347606 --2.72309845686 -1.05212190748 --2.68858271837 -1.05216151476 --2.65406531096 -1.05219745636 --2.617595613 -1.05216023326 --2.58112412691 -1.05212089419 --2.5466068387 -1.05209288001 --2.51209104061 -1.0520760417 --2.47757619619 -1.05207058787 --2.44306188822 -1.05207636952 --2.40854746103 -1.05209350586 --2.37403261662 -1.05212190748 --2.33951681852 -1.05216154456 --2.30499947071 -1.05219742656 --2.26852971315 -1.05216023326 --2.23205828667 -1.05212089419 --2.19754099846 -1.05209288001 --2.16302520037 -1.0520760417 --2.12851035595 -1.05207061768 --2.09399604797 -1.05207639933 --2.05948168039 -1.05209350586 --2.02496677637 -1.05212190748 --1.99045094847 -1.05216151476 --1.95593363047 -1.05219745636 --1.91946393252 -1.05216023326 --1.88299244642 -1.05212089419 --1.84847518802 -1.05209288001 --1.81395936012 -1.0520760417 --1.77944451571 -1.05207058787 --1.74493017793 -1.05207639933 --1.71041581035 -1.05209347606 --1.67590093613 -1.05212190748 --1.64138510823 -1.05216154456 --1.60686779022 -1.05219742656 --1.57039809227 -1.05216023326 --1.53392660618 -1.05212089419 --1.49940931797 -1.05209285021 --1.46489349008 -1.0520760417 --1.43037867546 -1.05207064748 --1.39586430788 -1.05207636952 --1.3613499403 -1.05209350586 --1.32683515549 -1.05212190748 --1.29231926798 -1.05216154456 --1.25780192017 -1.05219745636 --1.22133222222 -1.05216023326 --1.18486070633 -1.05212089419 --1.15034344793 -1.05209285021 --1.11582767963 -1.0520760417 --1.08131283522 -1.05207058787 --1.04679843783 -1.05207639933 --1.01228410006 -1.05209347606 --0.977769255638 -1.05212190748 --0.943253397942 -1.05216154456 --0.90873606503 -1.05219745636 --0.872266352177 -1.05216023326 --0.835794910789 -1.052120924 --0.801277622581 -1.0520928204 --0.766761809587 -1.0520760715 --0.73224696517 -1.05207061768 --0.697732627392 -1.05207639933 --0.66321824491 -1.05209350586 --0.628703385592 -1.05212193728 --0.594187557697 -1.05216151476 --0.559670224786 -1.05219742656 --0.523200526834 -1.05216023326 --0.486729040742 -1.052120924 --0.452211767435 -1.05209285021 --0.417695946991 -1.0520760417 --0.383181102574 -1.05207061768 --0.348666772247 -1.05207636952 --0.314152404666 -1.05209347606 --0.279637545347 -1.05212187767 --0.245121695101 -1.05216151476 --0.210604373366 -1.05219745636 --0.174134675414 -1.1404838264 --0.137645099312 -1.14044290781 --0.103127673268 -1.14041379094 --0.0686117084697 -1.14039632678 --0.0340967234224 -1.14039063454 -0.000417781993747 -1.14039668441 -0.0349322929979 -1.14041447639 -0.0694473059848 -1.14044401049 -0.103963306174 -1.14048525691 -0.138480789959 -1.14052253961 -0.17494988069 -1.1404838562 -0.211420744657 -1.14044290781 -0.245938185602 -1.14041376114 -0.280454136431 -1.14039626717 -0.314969137311 -1.14039060473 -0.349483624101 -1.14039665461 -0.383998140693 -1.14041447639 -0.418513156474 -1.14044398069 -0.453029148281 -1.14048528671 -0.487546637654 -1.14052253961 -0.524015709758 -1.1404838562 -0.560486599803 -1.14044290781 -0.595004037023 -1.14041373134 -0.629519999027 -1.14039626717 -0.664035007358 -1.14039060473 -0.698549494147 -1.14039665461 -0.733063980937 -1.14041444659 -0.767579004169 -1.14044398069 -0.802094995976 -1.14048525691 -0.8366124928 -1.14052256942 -0.873081594705 -1.1404838562 -0.909552410245 -1.14044290781 -0.944069877267 -1.14041373134 -0.978585854173 -1.14039626717 -1.0131008327 -1.14039063454 -1.04761531949 -1.14039665461 -1.08212983608 -1.14041447639 -1.11664485932 -1.1404440403 -1.15116086602 -1.14048528671 -1.18567833304 -1.14052253961 -1.22214743495 -1.1404838264 -1.25861829519 -1.14044296742 -1.29313573241 -1.14041376114 -1.32765167952 -1.14039626717 -1.36216667294 -1.14039060473 -1.39668118954 -1.14039665461 -1.43119570613 -1.14041444659 -1.46571069956 -1.14044401049 -1.50022673607 -1.14048528671 -1.53474420309 -1.14052253961 -1.57121327519 -1.1404838562 -1.60768413543 -1.14044290781 -1.64220160246 -1.14041373134 -1.67671754956 -1.14039626717 -1.71123254299 -1.14039063454 -1.74574702978 -1.14039665461 -1.78026154638 -1.14041444659 -1.8147765398 -1.14044401049 -1.84929254651 -1.14048522711 -1.88381004334 -1.14052253961 -1.92027914524 -1.1404838562 -1.95675000548 -1.14044293761 -1.9912674427 -1.14041376114 -2.02578336 -1.14039626717 -2.06029844284 -1.14039063454 -2.09481287003 -1.14039665461 -2.12932741642 -1.14041444659 -2.16384238005 -1.14044401049 -2.19835841656 -1.14048528671 -2.23287588358 -1.14052253961 -2.26934498548 -1.1404838264 -2.30581593514 -1.14044290781 -2.34033322334 -1.14041376114 -2.37484925985 -1.14039626717 -2.40936422348 -1.14039063454 -2.44387876987 -1.14039665461 -2.47839319706 -1.14041447639 -2.51290827989 -1.14044398069 -2.5474242568 -1.14048525691 -2.58194172382 -1.14052253961 -2.61841082573 -1.1404838264 -2.65488171577 -1.14044293761 -2.6893991828 -1.14041373134 -2.7239151001 -1.14039626717 -2.75843006373 -1.14039063454 -2.79294455051 -1.14039665461 -2.82745915651 -1.14041444659 -2.86197412014 -1.14044401049 -2.89649009705 -1.14048525691 -2.93100762367 -1.14052256942 -2.96747666597 -1.1404838264 -3.00394749641 -1.14044290781 -3.03846502304 -1.14041379094 -3.07298094034 -1.14039632678 -3.10749596358 -1.14039063454 --3.14117494424 -1.14039668441 --3.10666030645 -1.14041447639 --3.07214534283 -1.14044401049 --3.03762936592 -1.14048525691 --3.00311183929 -1.14052253961 --2.96664279699 -1.1404838562 --2.93017196656 -1.14044290781 --2.89565443993 -1.14041376114 --2.86113852262 -1.14039626717 --2.82662343979 -1.14039060473 --2.7921090126 -1.14039665461 --2.75759446621 -1.14041447639 --2.72307950258 -1.14044398069 --2.68856346607 -1.14048528671 --2.65404599905 -1.14052253961 --2.61757689714 -1.1404838562 --2.5811060071 -1.14044290781 --2.54658865929 -1.14041373134 --2.51207268238 -1.14039626717 --2.47755765915 -1.14039060473 --2.44304311275 -1.14039665461 --2.40852868557 -1.14041444659 --2.37401366234 -1.14044398069 --2.33949768543 -1.14048525691 --2.3049801588 -1.14052256942 --2.2685110569 -1.1404838562 --2.23204016685 -1.14044290781 --2.19752275944 -1.14041373134 --2.16300678253 -1.14039626717 --2.12849187851 -1.14039063454 --2.09397733212 -1.14039665461 --2.05946278572 -1.14041447639 --2.02494776249 -1.1404440403 --1.99043178559 -1.14048528671 --1.95591431856 -1.14052253961 --1.91944521666 -1.1404838264 --1.88297435641 -1.14044296742 --1.84845691919 -1.14041376114 --1.81394094229 -1.14039626717 --1.77942594886 -1.14039060473 --1.74491146207 -1.14039665461 --1.71039694548 -1.14041444659 --1.67588195205 -1.14044401049 --1.64136597514 -1.14048528671 --1.60684847832 -1.14052253961 --1.57037937641 -1.1404838562 --1.53390851617 -1.14044290781 --1.49939110875 -1.14041373134 --1.46487510204 -1.14039626717 --1.43036010861 -1.14039063454 --1.39584562182 -1.14039665461 --1.36133113503 -1.14041444659 --1.3268161118 -1.14044401049 --1.2923001051 -1.14048522711 --1.25778263807 -1.14052253961 --1.22131353617 -1.1404838562 --1.18484261632 -1.14044293761 --1.1503252089 -1.14041376114 --1.1158092618 -1.14039626717 --1.08129426837 -1.14039063454 --1.04677975178 -1.14039665461 --1.01226523519 -1.14041444659 --0.977750241756 -1.14044401049 --0.943234249949 -1.14048528671 --0.908716768026 -1.14052253961 --0.872247695923 -1.1404838264 --0.835776805878 -1.14044290781 --0.80125939846 -1.14041376114 --0.766743406653 -1.14039626717 --0.732228413225 -1.14039063454 --0.697713926435 -1.14039665461 --0.663199394942 -1.14041447639 --0.628684386611 -1.14044398069 --0.594168409705 -1.14048525691 --0.559650912881 -1.14052253961 --0.523181810975 -1.1404838264 --0.486710958183 -1.14044293761 --0.452193520963 -1.14041373134 --0.417677551508 -1.14039626717 --0.38316257298 -1.14039063454 --0.348648048938 -1.14039665461 --0.314133547247 -1.14041444659 --0.279618553817 -1.14044401049 --0.245102550834 -1.14048525691 --0.21058506146 -1.14052256942 --0.174115970731 -1.22873190046 --0.137628715485 -1.22868961096 --0.103111147881 -1.2286594212 --0.0685950489715 -1.2286414504 --0.0340799218975 -1.22863554955 -0.000434721121565 -1.22864180803 -0.0349493697286 -1.22866025567 -0.0694645196199 -1.22869080305 -0.103980664164 -1.22873342037 -0.138498287648 -1.22877192497 -0.174966815859 -1.22873187065 -0.211437128484 -1.22868964076 -0.245954692364 -1.22865945101 -0.28047081083 -1.2286413908 -0.31498593092 -1.22863551975 -0.349500566721 -1.22864180803 -0.384015232325 -1.22866022587 -0.418530374765 -1.22869077325 -0.453046523034 -1.22873342037 -0.487564139068 -1.22877195478 -0.524032682181 -1.22873193026 -0.56050299108 -1.22868961096 -0.595020547509 -1.2286594212 -0.629536643625 -1.2286413908 -0.664051771164 -1.22863557935 -0.698566392064 -1.22864180803 -0.73308108747 -1.22866025567 -0.76759621501 -1.22869077325 -0.802112340927 -1.22873339057 -0.836629986763 -1.22877189517 -0.873098537326 -1.22873187065 -0.909568846226 -1.22868964076 -0.944086402654 -1.2286594212 -0.97860249877 -1.2286413908 -1.01311761141 -1.22863557935 -1.04763227701 -1.22864180803 -1.08214691281 -1.22866025567 -1.11666202545 -1.22869074345 -1.15117821097 -1.22873345017 -1.18569585681 -1.22877195478 -1.22216436267 -1.22873187065 -1.25863468647 -1.22868964076 -1.2931522727 -1.2286594212 -1.32766836881 -1.2286413908 -1.36218348146 -1.22863557935 -1.39669811726 -1.22864180803 -1.43121278286 -1.22866025567 -1.4657278955 -1.22869077325 -1.50024408102 -1.22873342037 -1.53476166725 -1.22877192497 -1.57123023272 -1.22873184085 -1.60770055652 -1.22868961096 -1.64221808314 -1.22865945101 -1.67673420906 -1.2286414206 -1.7112492919 -1.22863554955 -1.74576398731 -1.22864180803 -1.7802785933 -1.22866025567 -1.81479379535 -1.22869077325 -1.84930989146 -1.22873339057 -1.88382750749 -1.22877195478 -1.92029604316 -1.22873190046 -1.95676639676 -1.22868964076 -1.99128398299 -1.2286594212 -2.0258000493 -1.2286413908 -2.06031519174 -1.22863554955 -2.09482985735 -1.22864177823 -2.12934440374 -1.22866022587 -2.16385960579 -1.22869077325 -2.19837582111 -1.22873339057 -2.23289340734 -1.22877195478 -2.2693618536 -1.22873187065 -2.30583220721 -1.22868964076 -2.34034979344 -1.22865945101 -2.37486588955 -1.2286414206 -2.40938103199 -1.22863557935 -2.44389569759 -1.22864180803 -2.47841030359 -1.22866025567 -2.51292544603 -1.22869077325 -2.54744160175 -1.22873342037 -2.58195924759 -1.22877195478 -2.61842781305 -1.22873187065 -2.65489804745 -1.22868964076 -2.68941563368 -1.22865945101 -2.7239317894 -1.2286413908 -2.75844693184 -1.22863554955 -2.79296153784 -1.22864180803 -2.82747620344 -1.22866025567 -2.86199128628 -1.22869077325 -2.89650738239 -1.22873339057 -2.93102502823 -1.22877192497 -2.9674936533 -1.22873190046 -3.0039639473 -1.22868961096 -3.03848153353 -1.2286594212 -3.07299757004 -1.2286414504 -3.10751271248 -1.22863554955 --3.14115795691 -1.22864180803 --3.10664325952 -1.22866025567 --3.07212817669 -1.22869080305 --3.03761208058 -1.22873342037 --3.00309443474 -1.22877192497 --2.96662580967 -1.22873187065 --2.93015551567 -1.22868964076 --2.89563792944 -1.22865945101 --2.86112189293 -1.2286413908 --2.82660675049 -1.22863551975 --2.79209208488 -1.22864180803 --2.75757747888 -1.22866022587 --2.72306221723 -1.22869077325 --2.68854612112 -1.22873342037 --2.65402853489 -1.22877195478 --2.61756002903 -1.22873193026 --2.58108967542 -1.22868961096 --2.5465720892 -1.2286594212 --2.51205599308 -1.2286413908 --2.47754091025 -1.22863557935 --2.44302624464 -1.22864180803 --2.40851157904 -1.22866025567 --2.3739964366 -1.22869077325 --2.33948028087 -1.22873339057 --2.30496263504 -1.22877189517 --2.26849406958 -1.22873187065 --2.23202377558 -1.22868964076 --2.19750624895 -1.2286594212 --2.16299015284 -1.2286413908 --2.12847507 -1.22863557935 --2.0939604044 -1.22864180803 --2.05944567919 -1.22866025567 --2.02493059635 -1.22869074345 --1.99041441083 -1.22873345017 --1.9558968246 -1.22877195478 --1.91942828894 -1.22873187065 --1.88295796514 -1.22868964076 --1.84844040871 -1.2286594212 --1.81392428279 -1.2286413908 --1.77940917015 -1.22863557935 --1.74489453435 -1.22864180803 --1.71037986875 -1.22866025567 --1.6758647263 -1.22869077325 --1.64134860039 -1.22873342037 --1.60683095455 -1.22877192497 --1.57036241889 -1.22873184085 --1.53389212489 -1.22868961096 --1.49937453866 -1.22865945101 --1.46485844254 -1.2286414206 --1.43034332991 -1.22863554955 --1.3958286941 -1.22864180803 --1.3613140285 -1.22866025567 --1.32679888606 -1.22869077325 --1.29228273034 -1.22873339057 --1.25776511431 -1.22877195478 --1.22129657865 -1.22873190046 --1.18482625484 -1.22868964076 --1.15030872822 -1.2286594212 --1.1157925725 -1.2286413908 --1.08127745986 -1.22863554955 --1.04676279426 -1.22864177823 --1.01224818826 -1.22866022587 --0.977733045817 -1.22869077325 --0.943216875196 -1.22873339057 --0.908699259162 -1.22877195478 --0.872230738402 -1.22873187065 --0.8357604146 -1.22868964076 --0.801242828369 -1.22865945101 --0.766726732254 -1.2286414206 --0.732211604714 -1.22863557935 --0.697696968913 -1.22864180803 --0.663182333112 -1.22866025567 --0.62866717577 -1.22869077325 --0.59415102005 -1.22873342037 --0.559633418918 -1.22877195478 --0.523164883256 -1.22873187065 --0.486694574356 -1.22868964076 --0.452177003026 -1.22865945101 --0.41766089946 -1.2286413908 --0.38314576447 -1.22863554955 --0.348631136119 -1.22864180803 --0.314116485417 -1.22866025567 --0.279601335525 -1.22869077325 --0.245085194707 -1.22873339057 --0.210567571223 -1.22877192497 --0.174099024385 -1.31437096 --0.137614253908 -1.31432756782 --0.103096567095 -1.3142965734 --0.0685803415254 -1.31427803635 --0.0340650924481 -1.31427204609 -0.000449671410022 -1.31427845359 -0.0349644431845 -1.31429737806 -0.0694797132164 -1.31432875991 -0.103995975107 -1.31437250972 -0.138513725251 -1.31441214681 -0.174981769175 -1.31437096 -0.211451597512 -1.31432756782 -0.2459692806 -1.3142965734 -0.280485503375 -1.31427806616 -0.315000765026 -1.31427201629 -0.349515512586 -1.31427845359 -0.384030297398 -1.31429731846 -0.418545559049 -1.31432875991 -0.453061833977 -1.31437256932 -0.487579576671 -1.31441214681 -0.524047598243 -1.31437093019 -0.560517460108 -1.31432753801 -0.595035135746 -1.3142965734 -0.629551365971 -1.31427806616 -0.664066612721 -1.31427204609 -0.698581382632 -1.31427845359 -0.733096152544 -1.31429737806 -0.767611429095 -1.31432875991 -0.802127674222 -1.31437250972 -0.836645409465 -1.31441214681 -0.873113468289 -1.31437093019 -0.909583285451 -1.31432753802 -0.944100990891 -1.3142965734 -0.978617206216 -1.31427806616 -1.01313248277 -1.31427204609 -1.04764720797 -1.31427845359 -1.08216199279 -1.31429740787 -1.11667725444 -1.31432875991 -1.15119355917 -1.31437253952 -1.18571126461 -1.314412117 -1.22217935324 -1.31437096 -1.2586491406 -1.31432753802 -1.29316684604 -1.3142965734 -1.32768306136 -1.31427806616 -1.36219829321 -1.31427201629 -1.39671304822 -1.31427845359 -1.43122783303 -1.31429740787 -1.46574312449 -1.31432881951 -1.50025936961 -1.31437250972 -1.53477713466 -1.314412117 -1.57124516368 -1.3143709898 -1.60771501064 -1.31432753802 -1.64223265648 -1.3142965734 -1.67674893141 -1.31427806616 -1.71126419306 -1.31427198649 -1.74577894807 -1.31427848339 -1.78029370308 -1.31429740787 -1.81480899453 -1.31432875991 -1.84932523966 -1.31437253952 -1.8838429749 -1.31441214681 -1.92031106353 -1.31437096 -1.95678085089 -1.31432756782 -1.99129852653 -1.3142965734 -2.02581477165 -1.31427806616 -2.0603300333 -1.31427204609 -2.09484475851 -1.31427845359 -2.12935960293 -1.31429734826 -2.16387486458 -1.31432875991 -2.19839113951 -1.31437253952 -2.23290878534 -1.31441214681 -2.26937687397 -1.31437093019 -2.30584669113 -1.31432756782 -2.34036445617 -1.3142965734 -2.3748806119 -1.31427806616 -2.40939593315 -1.31427201629 -2.44391065836 -1.31427845359 -2.47842538357 -1.31429740787 -2.51294064522 -1.31432875991 -2.54745692015 -1.31437250972 -2.58197468519 -1.31441214681 -2.61844271421 -1.31437096 -2.65491253138 -1.31432756782 -2.68943023681 -1.3142965734 -2.72394645214 -1.31427806616 -2.75846171379 -1.31427201629 -2.7929764986 -1.31427848339 -2.82749122381 -1.31429740787 -2.86200654507 -1.31432875991 -2.89652276039 -1.31437253952 -2.93104052543 -1.31441214681 -2.96750861407 -1.31437096 -3.00397849083 -1.31432756782 -3.03849601745 -1.3142965734 -3.07301223278 -1.31427803635 -3.10752755404 -1.31427204609 --3.14114299615 -1.31427845359 --3.10662823916 -1.31429737806 --3.0721129179 -1.31432875991 --3.03759670258 -1.31437250972 --3.00307893753 -1.31441214681 --2.9666108489 -1.31437096 --2.93014103174 -1.31432756782 --2.89562344551 -1.3142965734 --2.86110711098 -1.31427806616 --2.82659190893 -1.31427201629 --2.79207712412 -1.31427845359 --2.7575622797 -1.31429731846 --2.72304707766 -1.31432875991 --2.68853080273 -1.31437256932 --2.65401309729 -1.31441214681 --2.61754506826 -1.31437093019 --2.5810751915 -1.31432753801 --2.54655748606 -1.3142965734 --2.51204121113 -1.31427806616 --2.47752606869 -1.31427204609 --2.44301128387 -1.31427845359 --2.40849649906 -1.31429737806 --2.37398123741 -1.31432875991 --2.33946496248 -1.31437250972 --2.30494731665 -1.31441214681 --2.26847922802 -1.31437093019 --2.23200941086 -1.31432753802 --2.19749164582 -1.3142965734 --2.16297543049 -1.31427806616 --2.12846016884 -1.31427204609 --2.09394538402 -1.31427845359 --2.05943071842 -1.31429740787 --2.02491545677 -1.31432875991 --1.99039912224 -1.31437253952 --1.95588138699 -1.314412117 --1.91941332817 -1.31437096 --1.88294348121 -1.31432753802 --1.84842583537 -1.3142965734 --1.81390959024 -1.31427806616 --1.77939432859 -1.31427201629 --1.74487957358 -1.31427845359 --1.71036478877 -1.31429740787 --1.67584952712 -1.31432881951 --1.64133328199 -1.31437250972 --1.60681554675 -1.314412117 --1.57034745812 -1.3143709898 --1.53387767077 -1.31432753802 --1.49935996533 -1.3142965734 --1.46484375 -1.31427806616 --1.43032851815 -1.31427198649 --1.39581373334 -1.31427848339 --1.36129897833 -1.31429740787 --1.32678368688 -1.31432875991 --1.29226744175 -1.31437253952 --1.25774967671 -1.31441214681 --1.22128164768 -1.31437096 --1.18481180072 -1.31432756782 --1.15029409528 -1.3142965734 --1.11577787995 -1.31427806616 --1.08126264811 -1.31427204609 --1.04674786329 -1.31427845359 --1.01223310828 -1.31429734826 --0.977717816829 -1.31432875991 --0.943201556802 -1.31437253952 --0.908683806658 -1.31441214681 --0.872215762734 -1.31437093019 --0.835745930672 -1.31432756782 --0.801228240133 -1.3142965734 --0.766712039709 -1.31427806616 --0.73219679296 -1.31427201629 --0.697682023048 -1.31427845359 --0.663167253137 -1.31429740787 --0.628652006388 -1.31432875991 --0.59413574636 -1.31437250972 --0.559617966414 -1.31441214681 --0.523149937391 -1.31437096 --0.486680090427 -1.31432756782 --0.452162414789 -1.3142965734 --0.417646199465 -1.31427806616 --0.383130952716 -1.31427201629 --0.348616175353 -1.31427848339 --0.314101412892 -1.31429740787 --0.279586143792 -1.31432875991 --0.245069868863 -1.31437253952 --0.210552129894 -1.31441214681 --0.174084085971 -1.40002453327 --0.137600738555 -1.39998006821 --0.103082930669 -1.39994847774 --0.0685665970668 -1.39992949366 --0.0340512352995 -1.39992323518 -0.00046364287846 -1.3999298811 -0.0349785308354 -1.3999492228 -0.069493914023 -1.39998140931 -0.104010295123 -1.4000261724 -0.1385281533 -1.40006670356 -0.174995753914 -1.40002450347 -0.211465112865 -1.39998006821 -0.245982907713 -1.39994844794 -0.280499264598 -1.39992952347 -0.315014600754 -1.39992332459 -0.349529504776 -1.3999298811 -0.384044386446 -1.39994925261 -0.418559774756 -1.39998137951 -0.453076146543 -1.4000261724 -0.487593993545 -1.40006667376 -0.524061590433 -1.40002450347 -0.560530975461 -1.39998009801 -0.595048755407 -1.39994844794 -0.629565104842 -1.39992949367 -0.664080485702 -1.39992332459 -0.698595330119 -1.3999298811 -0.733110234142 -1.39994925261 -0.767625615 -1.3999813497 -0.802141964436 -1.4000261724 -0.836659863591 -1.40006664395 -0.873127445578 -1.40002453327 -0.909596830606 -1.39998009801 -0.944114610553 -1.39994847775 -0.978630959987 -1.39992952347 -1.01314628124 -1.39992329478 -1.04766118526 -1.3999298811 -1.08217608929 -1.39994925261 -1.11669147015 -1.39998140931 -1.15120783448 -1.4000261724 -1.18572568893 -1.40006664395 -1.22219327092 -1.40002450347 -1.25866267085 -1.39998006821 -1.2931804359 -1.39994844794 -1.32769680023 -1.39992952347 -1.36221218109 -1.39992332459 -1.39672702551 -1.3999298811 -1.43124192953 -1.39994925261 -1.46575731039 -1.3999813199 -1.50027373433 -1.4000261724 -1.53479155898 -1.40006670356 -1.57125917077 -1.40002450347 -1.6077285409 -1.39998009801 -1.64224633575 -1.39994844794 -1.67676267028 -1.39992952347 -1.71127799153 -1.39992329478 -1.74579289555 -1.3999298811 -1.78030776977 -1.39994925261 -1.81482318044 -1.39998137951 -1.84933951497 -1.4000261724 -1.88385742903 -1.40006667376 -1.92032501101 -1.40002450347 -1.95679435134 -1.39998003841 -1.99131217599 -1.39994844794 -2.02582848072 -1.39992946386 -2.06034386158 -1.39992332459 -2.094858706 -1.3999298811 -2.12937361002 -1.39994925261 -2.16388899088 -1.39998137951 -2.19840532541 -1.4000261724 -2.23292320967 -1.40006667376 -2.26939088106 -1.40002450347 -2.30586022139 -1.39998006821 -2.34037804604 -1.39994844794 -2.37489426136 -1.39992949367 -2.40940964222 -1.39992326498 -2.44392460585 -1.3999298811 -2.47843950987 -1.39994925261 -2.51295489073 -1.39998137951 -2.54747128487 -1.4000261724 -2.58198910952 -1.40006664395 -2.6184567213 -1.40002450347 -2.65492606163 -1.39998006821 -2.68944382667 -1.39994847775 -2.72396022081 -1.39992952347 -2.75847566128 -1.39992332459 -2.79299044609 -1.3999298811 -2.82750535011 -1.39994925261 -2.86202073097 -1.39998137951 -2.89653706551 -1.4000261724 -2.93105494976 -1.40006667376 -2.96752256155 -1.40002453327 -3.00399190188 -1.39998006821 -3.03850972652 -1.39994847774 -3.07302606106 -1.39992949366 -3.10754144192 -1.39992323518 --3.14112898906 -1.3999298811 --3.10661411285 -1.3999492228 --3.07209873199 -1.39998140931 --3.03758239746 -1.4000261724 --3.00306451321 -1.40006670356 --2.96659690141 -1.40002450347 --2.93012756109 -1.39998006821 --2.89560973644 -1.39994844794 --2.86109340191 -1.39992952347 --2.82657802105 -1.39992332459 --2.79206317663 -1.3999298811 --2.75754827261 -1.39994925261 --2.72303289175 -1.39998137951 --2.68851655722 -1.4000261724 --2.65399867296 -1.40006667376 --2.61753112078 -1.40002450347 --2.58106172085 -1.39998009801 --2.5465438962 -1.39994844794 --2.51202756167 -1.39992949367 --2.47751224041 -1.39992332459 --2.44299733639 -1.3999298811 --2.40848243237 -1.39994925261 --2.37396705151 -1.3999813497 --2.33945065737 -1.4000261724 --2.30493277311 -1.40006664395 --2.26846516132 -1.40002453327 --2.231995821 -1.39998009801 --2.19747805596 -1.39994847775 --2.16296166181 -1.39992952347 --2.12844640017 -1.39992329478 --2.09393143654 -1.3999298811 --2.05941653252 -1.39994925261 --2.02490115166 -1.39998140931 --1.99038478732 -1.4000261724 --1.95586696267 -1.40006664395 --1.91939935088 -1.40002450347 --1.88292998075 -1.39998006821 --1.84841218591 -1.39994844794 --1.81389585137 -1.39992952347 --1.77938047051 -1.39992332459 --1.7448656261 -1.3999298811 --1.71035069227 -1.39994925261 --1.67583534121 -1.3999813199 --1.64131894708 -1.4000261724 --1.60680109262 -1.40006670356 --1.57033351064 -1.40002450347 --1.53386414051 -1.39998009801 --1.49934631586 -1.39994844794 --1.46482998132 -1.39992952347 --1.43031463027 -1.39992329478 --1.39579975605 -1.3999298811 --1.36128488183 -1.39994925261 --1.32676950097 -1.39998137951 --1.29225310683 -1.4000261724 --1.25773528218 -1.40006667376 --1.2212676704 -1.40002450347 --1.18479830026 -1.39998003841 --1.15028050542 -1.39994844794 --1.11576417089 -1.39992946386 --1.08124876022 -1.39992332459 --1.0467339158 -1.3999298811 --1.01221904158 -1.39994925261 --0.977703660727 -1.39998137951 --0.943187266588 -1.4000261724 --0.908669412136 -1.40006667376 --0.872201785445 -1.40002450347 --0.835732445121 -1.39998006821 --0.801214620471 -1.39994844794 --0.76669831574 -1.39992949367 --0.732182949782 -1.39992326498 --0.69766806066 -1.3999298811 --0.663153171539 -1.39994925261 --0.628637775779 -1.39998137951 --0.594121396541 -1.4000261724 --0.559603542089 -1.40006664395 --0.5231359303 -1.40002450347 --0.486666589975 -1.39998006821 --0.452148787677 -1.39994847775 --0.417632453144 -1.39992952347 --0.383117072284 -1.39992332459 --0.348602205515 -1.3999298811 --0.314087331295 -1.39994925261 --0.279571920633 -1.39998137951 --0.245055556298 -1.4000261724 --0.210537694395 -1.40006667376 --0.174070101232 --1.14052256942 -0.173895969987 --1.14052253962 -0.522961810231 --1.14052256942 -0.872027665377 --1.14052256942 -1.22109353543 --1.14052256942 -1.57015937567 --1.14052256942 -1.91922521591 --1.14052253962 -2.26829105616 --1.14052256942 -2.61735695601 --1.14052259922 -2.96642279625 --1.14052256942 --2.96769666672 --1.14052253962 --2.61863082647 --1.14052256942 --2.26956498623 --1.14052256942 --1.92049914598 --1.14052256942 --1.57143330574 --1.14052256942 --1.22236743569 --1.14052253962 --0.873301550746 --1.14052256942 --0.524235725403 --1.14052259922 --0.175169881433 --0.792559087277 -0.173979990184 --0.792559072375 -0.52304585278 --0.792559072375 -0.872111678124 --0.792559087277 -1.22117754817 --0.792559072375 -1.57024335861 --0.792559072375 -1.91930925846 --0.792559087277 -2.2683750987 --0.792559087277 -2.61744099855 --0.792559072375 -2.96650677919 --0.792559087277 --2.96761268378 --0.792559072375 --2.61854678392 --0.792559072375 --2.26948094368 --0.792559087277 --1.92041513324 --0.792559072375 --1.57134926319 --0.792559072375 --1.22228339315 --0.792559087277 --0.873217537999 --0.792559087277 --0.524151697755 --0.792559072375 --0.175085861236 --0.444516979158 -0.174096226692 --0.44451700151 -0.523162081838 --0.444516979158 -0.872227922082 --0.444516979158 -1.22129377723 --0.444516979158 -1.57035964728 --0.444516979158 -1.91942545772 --0.44451700151 -2.26849132777 --0.444516979158 -2.61755716801 --0.444516979158 -2.96662306786 --0.444516979158 --2.96749639511 --0.44451700151 --2.61843061447 --0.444516979158 --2.26936477423 --0.444516979158 --1.92029887438 --0.444516979158 --1.57123306394 --0.444516979158 --1.22216716409 --0.44451700151 --0.873101323843 --0.444516979158 --0.524035483599 --0.444516979158 --0.174969621003 --2.35158749999e-08 -0.174422927201 --2.35158749999e-08 -0.523488774895 --2.35158749999e-08 -0.872554630041 --2.35158749999e-08 -1.22162050009 --2.35158749999e-08 -1.57068634033 --2.35158749999e-08 -1.91975218058 --2.35158749999e-08 -2.26881802082 --2.35158749999e-08 -2.61788386107 --2.35158749999e-08 -2.96694970131 --2.35158749999e-08 --2.96716976166 --2.35158749999e-08 --2.61810392141 --2.35158749999e-08 --2.26903802156 --2.35158749999e-08 --1.91997218132 --2.35158749999e-08 --1.57090634107 --2.35158749999e-08 --1.22184047103 --2.35158749999e-08 --0.872774630785 --2.35158749999e-08 --0.52370877564 --2.35158749999e-08 --0.174642927945 -0.444516971708 -0.174749627709 -0.444516971708 -0.523815482855 -0.444516971708 -0.872881308198 -0.444516971708 -1.22194716334 -0.444516971708 -1.57101303339 -0.444516971708 -1.92007890343 -0.444516949356 -2.26914471388 -0.444516949356 -2.61821055412 -0.444516971708 -2.96727639436 -0.444516971708 --2.9668430686 -0.444516971708 --2.61777716875 -0.444516971708 --2.26871132851 -0.444516971708 --1.91964548827 -0.444516971708 --1.57057961822 -0.444516971708 --1.22151380778 -0.444516949356 --0.872447937727 -0.444516949356 --0.523382082581 -0.444516971708 --0.174316227436 -0.792559087276 -0.174865867943 -0.792559057474 -0.523931711912 -0.792559087276 -0.872997567058 -0.792559087276 -1.2220634222 -0.792559087276 -1.57112923265 -0.792559057474 -1.92019510269 -0.792559087276 -2.26926094294 -0.792559057474 -2.61832684279 -0.792559087276 -2.96739262343 -0.792559087276 --2.96672683954 -0.792559057474 --2.61766093969 -0.792559087276 --2.26859503984 -0.792559087276 --1.9195291996 -0.792559087276 --1.57046341896 -0.792559057474 --1.22139751911 -0.792559087276 --0.872331678867 -0.792559057474 --0.523265823722 -0.792559087276 --0.174199994654 -1.14052253961 -0.17494988069 -1.14052253961 -0.524015709758 -1.14052256942 -0.873081594705 -1.14052253961 -1.22214743495 -1.14052253961 -1.57121327519 -1.14052253961 -1.92027914524 -1.14052253961 -2.26934498548 -1.14052253961 -2.61841082573 -1.14052256942 -2.96747666597 -1.14052253961 --2.96664279699 -1.14052253961 --2.61757689714 -1.14052256942 --2.2685110569 -1.14052253961 --1.91944521666 -1.14052253961 --1.57037937641 -1.14052253961 --1.22131353617 -1.14052253961 --0.872247695923 -1.14052253961 --0.523181810975 -1.14052256942 --0.174115970731 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 --0.445734696637 --0.0828902302899 --0.445692247811 --0.0737967733504 --0.445649417478 --0.064703695363 --0.445606239297 --0.0556114589397 --0.445679863006 --0.0461776751127 --0.445773675836 --0.0367384257144 --0.445770527198 --0.0276353019696 --0.445766983934 --0.0185314209562 --0.445763067015 --0.00942725128817 --0.445761023272 --2.16840434497e-19 --0.445763067015 -0.00942725128817 --0.445766983934 -0.0185314209562 --0.445770527198 -0.0276353019696 --0.445773675836 -0.0367384257144 --0.445679863006 -0.0461776751127 --0.445606239297 -0.0556114589397 --0.445649417478 -0.064703695363 --0.445692247811 -0.0737967733504 --0.445734696637 -0.0828902302899 --0.436720068262 --0.082671904706 --0.436680371294 --0.0736024313247 --0.436640325593 --0.0645333515411 --0.436599952455 --0.0554651263885 --0.436668843324 --0.046055883989 --0.436756690748 --0.0366412029928 --0.43675387234 --0.0275621570739 --0.436750703022 --0.0184823674286 --0.436747182825 --0.00940229597992 --0.436745332885 --2.16840434497e-19 --0.436747182825 -0.00940229597992 --0.436750703022 -0.0184823674286 --0.43675387234 -0.0275621570739 --0.436756690748 -0.0366412029928 --0.436668843324 -0.046055883989 --0.436599952455 -0.0554651263885 --0.436640325593 -0.0645333515411 --0.436680371294 -0.0736024313247 --0.436720068262 -0.082671904706 --0.42772069843 --0.0824546304453 --0.427683726166 --0.0734090328885 --0.427646457882 --0.0643638472548 --0.427608883285 --0.0553195257678 --0.427673082379 --0.0459346749945 --0.427754997919 --0.0365444136292 --0.427752498045 --0.0274893383098 --0.42774968085 --0.0184335323263 --0.427746526053 --0.00937745141073 --0.427744848909 -0 --0.427746526053 -0.00937745141073 --0.42774968085 -0.0184335323263 --0.427752498045 -0.0274893383098 --0.427754997919 -0.0365444136292 --0.427673082379 -0.0459346749945 --0.427608883285 -0.0553195257678 --0.427646457882 -0.0643638472548 --0.427683726166 -0.0734090328885 --0.42772069843 -0.0824546304453 --0.418705039499 --0.127909580671 --0.418638860928 --0.118899858163 --0.418572459355 --0.109891750727 --0.418505804701 --0.100885679196 --0.4186131322 --0.09156627982 --0.418736800937 --0.0822383873074 --0.418702567301 --0.0732165620209 --0.418668057162 --0.0641951679709 --0.418633263362 --0.0551746470402 --0.418692781454 --0.0458140397756 --0.418768778522 --0.0364480489219 --0.418766607157 --0.0274168396857 --0.418764121024 --0.0183849116393 --0.4187613401 --0.00935271598039 --0.41875986503 -0 --0.4187613401 -0.00935271598039 --0.418764121024 -0.0183849116393 --0.418766607157 -0.0274168396857 --0.418768778522 -0.0364480489219 --0.418692781454 -0.0458140397756 --0.418633263362 -0.0551746470402 --0.418668057162 -0.0641951679709 --0.418702567301 -0.0732165620209 --0.418736800937 -0.0822383873074 --0.4186131322 -0.09156627982 --0.418505804701 -0.100885679196 --0.418572459355 -0.109891750727 --0.418638860928 -0.118899858163 --0.418705039499 -0.127909580671 --0.41009473881 --0.128419202349 --0.41002329297 --0.119373218514 --0.409951595521 --0.110328863448 --0.409879658335 --0.101286573382 --0.409995416794 --0.0919313066824 --0.410128726126 --0.082567521339 --0.41009165461 --0.0735094386816 --0.41005428615 --0.0644517834241 --0.410016600788 --0.0553950085828 --0.410080974771 --0.0459975507229 --0.410163077344 --0.0365946809162 --0.410160491999 --0.0275271548648 --0.410157558615 --0.0184588914283 --0.410154317665 --0.00939035198173 --0.410152613004 -0 --0.410154317665 -0.00939035198173 --0.410157558615 -0.0184588914283 --0.410160491999 -0.0275271548648 --0.410163077344 -0.0365946809162 --0.410080974771 -0.0459975507229 --0.410016600788 -0.0553950085828 --0.41005428615 -0.0644517834241 --0.41009165461 -0.0735094386816 --0.410128726126 -0.082567521339 --0.409995416794 -0.0919313066824 --0.409879658335 -0.101286573382 --0.409951595521 -0.110328863448 --0.41002329297 -0.119373218514 --0.41009473881 -0.128419202349 --0.401384384469 --0.220459013968 --0.401234732054 --0.211406673167 --0.401085068122 --0.202358568892 --0.400935382782 --0.193315118551 --0.401168387605 --0.184069972977 --0.401419637028 --0.174810222373 --0.401306369068 --0.165741345623 --0.401192940599 --0.156675375937 --0.401079363821 --0.147612748826 --0.401258088386 --0.138284288904 --0.401455364036 --0.12894422573 --0.40137870232 --0.119860883797 --0.401301770995 --0.110779181101 --0.401224602254 --0.1016995729 --0.401348708507 --0.0923073740248 --0.401491576065 --0.0829066222285 --0.401451684586 --0.0738111722517 --0.401411475598 --0.0647161484081 --0.40137093684 --0.0556220151431 --0.401440139158 --0.0461866258209 --0.401528278013 --0.036745791605 --0.401525270531 --0.0276408390871 --0.401521902204 --0.0185351313067 --0.401518186144 --0.00942913730454 --0.401516244302 -2.16840434497e-19 --0.401518186144 -0.00942913730454 --0.401521902204 -0.0185351313067 --0.401525270531 -0.0276408390871 --0.401528278013 -0.036745791605 --0.401440139158 -0.0461866258209 --0.40137093684 -0.0556220151431 --0.401411475598 -0.0647161484081 --0.401451684586 -0.0738111722517 --0.401491576065 -0.0829066222285 --0.401348708507 -0.0923073740248 --0.401224602254 -0.1016995729 --0.401301770995 -0.110779181101 --0.40137870232 -0.119860883797 --0.401455364036 -0.12894422573 --0.401258088386 -0.138284288904 --0.401079363821 -0.147612748826 --0.401192940599 -0.156675375937 --0.401306369068 -0.165741345623 --0.401419637028 -0.174810222373 --0.401168387605 -0.184069972977 --0.400935382782 -0.193315118551 --0.401085068122 -0.202358568892 --0.401234732054 -0.211406673167 --0.401384384469 -0.220459013968 --0.392363274975 --0.219947418843 --0.39222371765 --0.210916108398 --0.392084157409 --0.201889065689 --0.391944581046 --0.192866684998 --0.392161978041 --0.183641637913 --0.39239642204 --0.174402052928 --0.392290845697 --0.165354384606 --0.392185098316 --0.156309644438 --0.392079211827 --0.147268258916 --0.392245936562 --0.137960719094 --0.392429962702 --0.128641624053 --0.39235852524 --0.119579633309 --0.392286863721 --0.110519304829 --0.392214961513 --0.101461081062 --0.392330654308 --0.0920904165832 --0.392463894915 --0.0827112382306 --0.392426800465 --0.0736372594136 --0.392389393632 --0.0645637212255 --0.392351686004 --0.0554910821289 --0.392416110506 --0.0460776293857 --0.392498204654 --0.0366587576456 --0.392495539043 --0.0275753608312 --0.392492532618 --0.0184912192771 --0.392489196252 --0.00940679729692 --0.392487459181 -0 --0.392489196252 -0.00940679729692 --0.392492532618 -0.0184912192771 --0.392495539043 -0.0275753608312 --0.392498204654 -0.0366587576456 --0.392416110506 -0.0460776293857 --0.392351686004 -0.0554910821289 --0.392389393632 -0.0645637212255 --0.392426800465 -0.0736372594136 --0.392463894915 -0.0827112382306 --0.392330654308 -0.0920904165832 --0.392214961513 -0.101461081062 --0.392286863721 -0.110519304829 --0.39235852524 -0.119579633309 --0.392429962702 -0.128641624053 --0.392245936562 -0.137960719094 --0.392079211827 -0.147268258916 --0.392185098316 -0.156309644438 --0.392290845697 -0.165354384606 --0.39239642204 -0.174402052928 --0.392161978041 -0.183641637913 --0.391944581046 -0.192866684998 --0.392084157409 -0.201889065689 --0.39222371765 -0.210916108398 --0.392363274975 -0.219947418843 --0.383355461543 --0.219438023249 --0.38322598326 --0.210427672928 --0.383096493354 --0.201421605927 --0.382966998103 --0.192420217166 --0.383168841328 --0.183215170602 --0.383386507335 --0.173995643974 --0.383288582201 --0.164969108557 --0.383190506714 --0.155945517498 --0.383092307232 --0.146925298748 --0.383247037372 --0.137638564792 --0.383417844867 --0.128340320544 --0.383351636319 --0.11929960232 --0.383285225747 --0.110260565943 --0.383218585458 --0.101223648672 --0.383325880794 --0.0918743940199 --0.38344949406 --0.0825166692656 --0.383415194709 --0.0734640849346 --0.383380581515 --0.0644119505479 --0.383345688702 --0.0553607250209 --0.383405351719 --0.0459690863836 --0.383481428044 --0.0365720523 --0.383479100254 --0.0275101287792 --0.383476463485 --0.0184474725428 --0.383473514929 --0.00938454192642 --0.383471967669 -0 --0.383473514929 -0.00938454192642 --0.383476463485 -0.0184474725428 --0.383479100254 -0.0275101287792 --0.383481428044 -0.0365720523 --0.383405351719 -0.0459690863836 --0.383345688702 -0.0553607250209 --0.383380581515 -0.0644119505479 --0.383415194709 -0.0734640849346 --0.38344949406 -0.0825166692656 --0.383325880794 -0.0918743940199 --0.383218585458 -0.101223648672 --0.383285225747 -0.110260565943 --0.383351636319 -0.11929960232 --0.383417844867 -0.128340320544 --0.383247037372 -0.137638564792 --0.383092307232 -0.146925298748 --0.383190506714 -0.155945517498 --0.383288582201 -0.164969108557 --0.383386507335 -0.173995643974 --0.383168841328 -0.183215170602 --0.382966998103 -0.192420217166 --0.383096493354 -0.201421605927 --0.38322598326 -0.210427672928 --0.383355461543 -0.219438023249 --0.374332491483 --0.264019018376 --0.374184158405 --0.255047225491 --0.374035977857 --0.24608114617 --0.373887933071 --0.237121126334 --0.374117425826 --0.228034613887 --0.374361208534 --0.218930795129 --0.374241797176 --0.209941335889 --0.374122359763 --0.200956169136 --0.374002919455 --0.191975700187 --0.374189228512 --0.182790547081 --0.37439014371 --0.173590971459 --0.374299859429 --0.16458549304 --0.374209439952 --0.155582971909 --0.374118911154 --0.146583840399 --0.374261676892 --0.137317799952 --0.374419289896 --0.128040293551 --0.374358299386 --0.119020772734 --0.374297109072 --0.110002950991 --0.374235725275 --0.100987260166 --0.374334658445 --0.0916592998842 --0.374448639351 --0.0823229048267 --0.374417114723 --0.0732916314001 --0.374385308886 --0.0642608234907 --0.374353239451 --0.055230933862 --0.374408147872 --0.0458609887878 --0.374478212158 --0.0364856706291 --0.374476212559 --0.0274451395804 --0.374473935986 --0.0184038883802 --0.374471362461 --0.00936236887826 --0.374470001464 -0 --0.374471362461 -0.00936236887826 --0.374473935986 -0.0184038883802 --0.374476212559 -0.0274451395804 --0.374478212158 -0.0364856706291 --0.374408147872 -0.0458609887878 --0.374353239451 -0.055230933862 --0.374385308886 -0.0642608234907 --0.374417114723 -0.0732916314001 --0.374448639351 -0.0823229048267 --0.374334658445 -0.0916592998842 --0.374235725275 -0.100987260166 --0.374297109072 -0.110002950991 --0.374358299386 -0.119020772734 --0.374419289896 -0.128040293551 --0.374261676892 -0.137317799952 --0.374118911154 -0.146583840399 --0.374209439952 -0.155582971909 --0.374299859429 -0.16458549304 --0.37439014371 -0.173590971459 --0.374189228512 -0.182790547081 --0.374002919455 -0.191975700187 --0.374122359763 -0.200956169136 --0.374241797176 -0.209941335889 --0.374361208534 -0.218930795129 --0.374117425826 -0.228034613887 --0.373887933071 -0.237121126334 --0.374035977857 -0.24608114617 --0.374184158405 -0.255047225491 --0.374332491483 -0.264019018376 --0.365558020549 --0.264943758707 --0.365397583892 --0.255939063157 --0.36523732978 --0.246940150083 --0.365077222806 --0.237947376881 --0.365325227778 --0.228834052091 --0.36558865133 --0.219703411783 --0.365459442912 --0.210681225743 --0.365330226782 --0.201663384125 --0.36520101215 --0.192650299689 --0.365402401283 --0.183436129649 --0.365619562785 --0.174207529989 --0.365521816454 --0.165169444582 --0.365423935166 --0.156134350958 --0.365325939383 --0.147102683202 --0.36548034851 --0.137805844793 --0.365650791603 --0.128497527761 --0.365584685136 --0.119445459288 --0.365518366329 --0.110395102485 --0.36545183331 --0.101346897892 --0.365558986982 --0.0919867945877 --0.365682367799 --0.082618230146 --0.365648055553 --0.0735544083387 --0.365613468096 --0.0644910541512 --0.365578594795 --0.0554286234186 --0.365638219399 --0.0460256520825 --0.365714208647 --0.0366172837493 --0.365711782521 --0.0275441556661 --0.365709058302 --0.018470290165 --0.365706027653 --0.0093961491204 --0.365704432274 --2.16840434497e-19 --0.365706027653 -0.0093961491204 --0.365709058302 -0.018470290165 --0.365711782521 -0.0275441556661 --0.365714208647 -0.0366172837493 --0.365638219399 -0.0460256520825 --0.365578594795 -0.0554286234186 --0.365613468096 -0.0644910541512 --0.365648055553 -0.0735544083387 --0.365682367799 -0.082618230146 --0.365558986982 -0.0919867945877 --0.36545183331 -0.101346897892 --0.365518366329 -0.110395102485 --0.365584685136 -0.119445459288 --0.365650791603 -0.128497527761 --0.36548034851 -0.137805844793 --0.365325939383 -0.147102683202 --0.365423935166 -0.156134350958 --0.365521816454 -0.165169444582 --0.365619562785 -0.174207529989 --0.365402401283 -0.183436129649 --0.36520101215 -0.192650299689 --0.365330226782 -0.201663384125 --0.365459442912 -0.210681225743 --0.36558865133 -0.219703411783 --0.365325227778 -0.228834052091 --0.365077222806 -0.237947376881 --0.36523732978 -0.246940150083 --0.365397583892 -0.255939063157 --0.365558020549 -0.264943758707 --0.356757272612 --0.265901351667 --0.356584843314 --0.256862623039 --0.356412612381 --0.247829744844 --0.356240558698 --0.238803080246 --0.356506902586 --0.229661935363 --0.356789789123 --0.220503450041 --0.356650878702 --0.211447396948 --0.356511964604 --0.202395739977 --0.356373072656 --0.193348896545 --0.35658942496 --0.184104660017 --0.356822691648 --0.174845970541 --0.356717548508 --0.165774126621 --0.356612272987 --0.15670530976 --0.356506869373 --0.147639950532 --0.356672822428 --0.138311214439 --0.356855993565 --0.128970984432 --0.356784817075 --0.119885210856 --0.356713407676 --0.110801160721 --0.356641758066 --0.101719285577 --0.356757053482 --0.0923259130888 --0.356889777888 --0.082924052366 --0.356852708126 --0.0738265172616 --0.356815343795 --0.064729450801 --0.356777682982 --0.055633316069 --0.35684198265 --0.0461961756694 --0.356923852338 --0.0367536113825 --0.356921015885 --0.0276467191689 --0.35691785532 --0.018539071498 --0.356914370689 --0.00943113994673 --0.35691254249 -0 --0.356914370689 -0.00943113994673 --0.35691785532 -0.018539071498 --0.356921015885 -0.0276467191689 --0.356923852338 -0.0367536113825 --0.35684198265 -0.0461961756694 --0.356777682982 -0.055633316069 --0.356815343795 -0.064729450801 --0.356852708126 -0.0738265172616 --0.356889777888 -0.082924052366 --0.356757053482 -0.0923259130888 --0.356641758066 -0.101719285577 --0.356713407676 -0.110801160721 --0.356784817075 -0.119885210856 --0.356855993565 -0.128970984432 --0.356672822428 -0.138311214439 --0.356506869373 -0.147639950532 --0.356612272987 -0.15670530976 --0.356717548508 -0.165774126621 --0.356822691648 -0.174845970541 --0.35658942496 -0.184104660017 --0.356373072656 -0.193348896545 --0.356511964604 -0.202395739977 --0.356650878702 -0.211447396948 --0.356789789123 -0.220503450041 --0.356506902586 -0.229661935363 --0.356240558698 -0.238803080246 --0.356412612381 -0.247829744844 --0.356584843314 -0.256862623039 --0.356757272612 -0.265901351667 --0.347724920797 --0.265362069175 --0.347565159292 --0.256341718324 --0.347405566427 --0.247327223388 --0.347246145816 --0.238318962132 --0.347493098433 --0.229194608313 --0.347755388682 --0.220052972594 --0.34762670284 --0.211015467292 --0.347498020556 --0.201982380141 --0.347369351937 --0.192954103975 --0.347569923768 --0.183727541225 --0.347786179708 --0.174486579335 --0.347688810028 --0.165433421408 --0.347591304042 --0.156383309829 --0.34749367377 --0.14733666834 --0.347647489938 --0.138026327653 --0.347817266305 --0.128704531188 --0.347751392539 --0.119637576193 --0.347685300148 --0.110572356777 --0.347618968734 --0.101509318134 --0.347725757499 --0.092134880176 --0.347848732234 --0.0827519901685 --0.347814492404 --0.0736733723203 --0.347779973698 --0.0645952351695 --0.347745171925 --0.0555180372583 --0.347804630133 --0.0461001865651 --0.347880394608 --0.036676936049 --0.347877899475 --0.0275890336959 --0.347875101387 --0.0185003855727 --0.34787199702 --0.0094114587918 --0.347870366031 --2.16840434497e-19 --0.34787199702 -0.0094114587918 --0.347875101387 -0.0185003855727 --0.347877899475 -0.0275890336959 --0.347880394608 -0.036676936049 --0.347804630133 -0.0461001865651 --0.347745171925 -0.0555180372583 --0.347779973698 -0.0645952351695 --0.347814492404 -0.0736733723203 --0.347848732234 -0.0827519901685 --0.347725757499 -0.092134880176 --0.347618968734 -0.101509318134 --0.347685300148 -0.110572356777 --0.347751392539 -0.119637576193 --0.347817266305 -0.128704531188 --0.347647489938 -0.138026327653 --0.34749367377 -0.14733666834 --0.347591304042 -0.156383309829 --0.347688810028 -0.165433421408 --0.347786179708 -0.174486579335 --0.347569923768 -0.183727541225 --0.347369351937 -0.192954103975 --0.347498020556 -0.201982380141 --0.34762670284 -0.211015467292 --0.347755388682 -0.220052972594 --0.347493098433 -0.229194608313 --0.347246145816 -0.238318962132 --0.347405566427 -0.247327223388 --0.347565159292 -0.256341718324 --0.347724920797 -0.265362069175 --0.338703945726 --0.264824761986 --0.338556832642 --0.255822731636 --0.338409872532 --0.246826574177 --0.338263060245 --0.237836669818 --0.338490645655 --0.228729026973 --0.338732371129 --0.219604160402 --0.338613901838 --0.210585148594 --0.338495435498 --0.201570571817 --0.338376958897 --0.19256080853 --0.338561772823 --0.183351828441 --0.338761052942 --0.174128505518 --0.338671434022 --0.165093982099 --0.338581693448 --0.156062521305 --0.338491830368 --0.14703454261 --0.338633511217 --0.137742504225 --0.338789904079 --0.128439048974 --0.338729322595 --0.119390853644 --0.338668539411 --0.110344406028 --0.338607534028 --0.101300149366 --0.338705832705 --0.0919445511326 --0.33881904894 --0.0825805322156 --0.338787642224 --0.07352077647 --0.338755962601 --0.0644615102707 --0.338724017988 --0.0554031914221 --0.338778656972 --0.046004532305 --0.338848321817 --0.0366004946955 --0.338846159198 --0.0275315237623 --0.338843717411 --0.0184618172168 --0.338840995161 --0.00939183773559 --0.338839561169 -2.16840434497e-19 --0.338840995161 -0.00939183773559 --0.338843717411 -0.0184618172168 --0.338846159198 -0.0275315237623 --0.338848321817 -0.0366004946955 --0.338778656972 -0.046004532305 --0.338724017988 -0.0554031914221 --0.338755962601 -0.0644615102707 --0.338787642224 -0.07352077647 --0.33881904894 -0.0825805322156 --0.338705832705 -0.0919445511326 --0.338607534028 -0.101300149366 --0.338668539411 -0.110344406028 --0.338729322595 -0.119390853644 --0.338789904079 -0.128439048974 --0.338633511217 -0.137742504225 --0.338491830368 -0.14703454261 --0.338581693448 -0.156062521305 --0.338671434022 -0.165093982099 --0.338761052942 -0.174128505518 --0.338561772823 -0.183351828441 --0.338376958897 -0.19256080853 --0.338495435498 -0.201570571817 --0.338613901838 -0.210585148594 --0.338732371129 -0.219604160402 --0.338490645655 -0.228729026973 --0.338263060245 -0.237836669818 --0.338409872532 -0.246826574177 --0.338556832642 -0.255822731636 --0.338703945726 -0.264824761986 --0.329668467414 --0.309133374479 --0.329508027268 --0.300167561665 --0.329347889606 --0.291209159149 --0.329188037071 --0.282258495016 --0.329435055643 --0.273283920838 --0.329694652245 --0.26428938609 --0.329560171692 --0.255305631414 --0.329425827107 --0.246327772219 --0.329291615245 --0.237356178995 --0.329499866398 --0.228265173503 --0.329721050949 --0.219156996323 --0.329612780628 --0.210156419488 --0.329504510411 --0.201160289646 --0.329396216656 --0.192168993279 --0.32956529162 --0.1829775173 --0.329747604651 --0.173771741456 --0.329665713586 --0.164755793686 --0.329583725599 --0.155742926683 --0.329501631894 --0.146733560644 --0.329631200074 --0.137459727479 --0.329774234646 --0.128174515674 --0.3297189285 --0.119145022145 --0.329663424504 --0.110117291454 --0.329607736431 --0.101091767582 --0.329697577919 --0.0917549152772 --0.329801055354 --0.0824096693039 --0.329772452306 --0.0733687174489 --0.32974360883 --0.0643282677537 --0.32971452015 --0.0552887718434 --0.329764341224 --0.045909206179 --0.32982791569 --0.0365242821668 --0.329826091023 --0.02747418586 --0.32982401459 --0.0184233647268 --0.329821673566 --0.00937227570326 --0.329820434085 -0 --0.329821673566 -0.00937227570326 --0.32982401459 -0.0184233647268 --0.329826091023 -0.02747418586 --0.32982791569 -0.0365242821668 --0.329764341224 -0.045909206179 --0.32971452015 -0.0552887718434 --0.32974360883 -0.0643282677537 --0.329772452306 -0.0733687174489 --0.329801055354 -0.0824096693039 --0.329697577919 -0.0917549152772 --0.329607736431 -0.101091767582 --0.329663424504 -0.110117291454 --0.3297189285 -0.119145022145 --0.329774234646 -0.128174515674 --0.329631200074 -0.137459727479 --0.329501631894 -0.146733560644 --0.329583725599 -0.155742926683 --0.329665713586 -0.164755793686 --0.329747604651 -0.173771741456 --0.32956529162 -0.1829775173 --0.329396216656 -0.192168993279 --0.329504510411 -0.201160289646 --0.329612780628 -0.210156419488 --0.329721050949 -0.219156996323 --0.329499866398 -0.228265173503 --0.329291615245 -0.237356178995 --0.329425827107 -0.246327772219 --0.329560171692 -0.255305631414 --0.329694652245 -0.26428938609 --0.329435055643 -0.273283920838 --0.329188037071 -0.282258495016 --0.329347889606 -0.291209159149 --0.329508027268 -0.300167561665 --0.329668467414 -0.309133374479 --0.320744955908 --0.310080821199 --0.320570485259 --0.301085709411 --0.320396332273 --0.292098067262 --0.320222487522 --0.283118241017 --0.320490865517 --0.274122269059 --0.320772909737 --0.2651063449 --0.320626629035 --0.256093511333 --0.320480492706 --0.247086616645 --0.320334508839 --0.238086049007 --0.32056082163 --0.228971393051 --0.3208011786 --0.219839568269 --0.320683364054 --0.210810061716 --0.320565546099 --0.201785038709 --0.320447710867 --0.192764909758 --0.320631492654 --0.183547841764 --0.320829647041 --0.174316461301 --0.320740481599 --0.165271688566 --0.320651204451 --0.156230017577 --0.320561825459 --0.147191889691 --0.320702765438 --0.137890886196 --0.32085832212 --0.128578484254 --0.320798018684 --0.119520217596 --0.320737505199 --0.110463727342 --0.32067678822 --0.101409461806 --0.320774623818 --0.0920442467726 --0.320887269369 --0.082670622224 --0.320855943618 --0.0736008989086 --0.320824374503 --0.0645316776622 --0.320792536323 --0.0554634155629 --0.320846982601 --0.046054709568 --0.320916368318 --0.0366406242064 --0.320914123314 --0.0275617125442 --0.320911616353 --0.0184820628573 --0.320908825258 --0.00940213754122 --0.320907354095 -2.16840434497e-19 --0.320908825258 -0.00940213754122 --0.320911616353 -0.0184820628573 --0.320914123314 -0.0275617125442 --0.320916368318 -0.0366406242064 --0.320846982601 -0.046054709568 --0.320792536323 -0.0554634155629 --0.320824374503 -0.0645316776622 --0.320855943618 -0.0736008989086 --0.320887269369 -0.082670622224 --0.320774623818 -0.0920442467726 --0.32067678822 -0.101409461806 --0.320737505199 -0.110463727342 --0.320798018684 -0.119520217596 --0.32085832212 -0.128578484254 --0.320702765438 -0.137890886196 --0.320561825459 -0.147191889691 --0.320651204451 -0.156230017577 --0.320740481599 -0.165271688566 --0.320829647041 -0.174316461301 --0.320631492654 -0.183547841764 --0.320447710867 -0.192764909758 --0.320565546099 -0.201785038709 --0.320683364054 -0.210810061716 --0.3208011786 -0.219839568269 --0.32056082163 -0.228971393051 --0.320334508839 -0.238086049007 --0.320480492706 -0.247086616645 --0.320626629035 -0.256093511333 --0.320772909737 -0.2651063449 --0.320490865517 -0.274122269059 --0.320222487522 -0.283118241017 --0.320396332273 -0.292098067262 --0.320570485259 -0.301085709411 --0.320744955908 -0.310080821199 --0.311114723926 --0.328856158238 --0.311449232147 --0.319973503456 --0.311797981005 --0.31106817986 --0.311609576738 --0.30204258283 --0.311421518281 --0.293024526883 --0.311233804985 --0.284014382781 --0.311523386256 --0.274996024057 --0.311827700487 --0.26595770441 --0.31166971783 --0.256914602091 --0.311511898693 --0.247877492559 --0.311354240764 --0.238846764529 --0.31159846641 --0.229707402238 --0.311857843131 --0.220550864197 --0.311730550875 --0.211491228355 --0.311603258882 --0.202436122224 --0.31147596671 --0.193385958687 --0.311674345544 --0.184142189101 --0.311888223853 --0.174884095487 --0.311791851552 --0.165809300296 --0.311695354516 --0.156737627306 --0.311598735632 --0.147669521559 --0.311750947083 --0.138340195759 --0.311918924971 --0.128999456353 --0.311853663607 --0.119911201227 --0.311788188873 --0.110824740835 --0.311722492926 --0.101740524498 --0.311828242874 --0.0923457631941 --0.31194996713 --0.0829425714879 --0.311915959117 --0.0738428572914 --0.31188167856 --0.064743643803 --0.311847114613 --0.0556453983994 --0.311906162326 --0.0462063543326 --0.311981312639 --0.036761905193 --0.311978656937 --0.0276529557015 --0.311975712602 --0.0185432527489 --0.311972466663 --0.0094332665196 --0.311970766771 -0 --0.311972466663 -0.0094332665196 --0.311975712602 -0.0185432527489 --0.311978656937 -0.0276529557015 --0.311981312639 -0.036761905193 --0.311906162326 -0.0462063543326 --0.311847114613 -0.0556453983994 --0.31188167856 -0.064743643803 --0.311915959117 -0.0738428572914 --0.31194996713 -0.0829425714879 --0.311828242874 -0.0923457631941 --0.311722492926 -0.101740524498 --0.311788188873 -0.110824740835 --0.311853663607 -0.119911201227 --0.311918924971 -0.128999456353 --0.311750947083 -0.138340195759 --0.311598735632 -0.147669521559 --0.311695354516 -0.156737627306 --0.311791851552 -0.165809300296 --0.311888223853 -0.174884095487 --0.311674345544 -0.184142189101 --0.31147596671 -0.193385958687 --0.311603258882 -0.202436122224 --0.311730550875 -0.211491228355 --0.311857843131 -0.220550864197 --0.31159846641 -0.229707402238 --0.311354240764 -0.238846764529 --0.311511898693 -0.247877492559 --0.31166971783 -0.256914602091 --0.311827700487 -0.26595770441 --0.311523386256 -0.274996024057 --0.311233804985 -0.284014382781 --0.311421518281 -0.293024526883 --0.311609576738 -0.30204258283 --0.311797981005 -0.31106817986 --0.311449232147 -0.319973503456 --0.311114723926 -0.328856158238 --0.302125836538 --0.328291634425 --0.302433525987 --0.319421559786 --0.302754310621 --0.310528889449 --0.302581158781 --0.301519011118 --0.302408323783 --0.292516681467 --0.302235817967 --0.283522281028 --0.302502184569 --0.274517504472 --0.30278208936 --0.265492815763 --0.30263691053 --0.256465573218 --0.302491882951 --0.247444343963 --0.302346996219 --0.238429501994 --0.302571624784 --0.229304587546 --0.302810180541 --0.220162547137 --0.302693216298 --0.21111891548 --0.302576257459 --0.202079828633 --0.302459292134 --0.193045684199 --0.302641726059 --0.183817124118 --0.302838409123 --0.174574281554 --0.302749888846 --0.165515614066 --0.302661260454 --0.156460089553 --0.302572498385 --0.147408126096 --0.302712419601 --0.138094624245 --0.302866863534 --0.128769753946 --0.30280695806 --0.119697730505 --0.302746850428 --0.110627514483 --0.302686545731 --0.101559554414 --0.302783699683 --0.0921810880424 --0.302895547776 --0.0827942164954 --0.302864399137 --0.0737108225267 --0.302832994055 --0.0646279402388 --0.302801320423 --0.0555460313023 --0.302855480935 --0.0461235884241 --0.302924455399 --0.036695758815 --0.302922148736 --0.0276031916988 --0.30291957004 --0.0185098789931 --0.302916707961 --0.00941628774828 --0.302915206788 -0 --0.302916707961 -0.00941628774828 --0.30291957004 -0.0185098789931 --0.302922148736 -0.0276031916988 --0.302924455399 -0.036695758815 --0.302855480935 -0.0461235884241 --0.302801320423 -0.0555460313023 --0.302832994055 -0.0646279402388 --0.302864399137 -0.0737108225267 --0.302895547776 -0.0827942164954 --0.302783699683 -0.0921810880424 --0.302686545731 -0.101559554414 --0.302746850428 -0.110627514483 --0.30280695806 -0.119697730505 --0.302866863534 -0.128769753946 --0.302712419601 -0.138094624245 --0.302572498385 -0.147408126096 --0.302661260454 -0.156460089553 --0.302749888846 -0.165515614066 --0.302838409123 -0.174574281554 --0.302641726059 -0.183817124118 --0.302459292134 -0.193045684199 --0.302576257459 -0.202079828633 --0.302693216298 -0.21111891548 --0.302810180541 -0.220162547137 --0.302571624784 -0.229304587546 --0.302346996219 -0.238429501994 --0.302491882951 -0.247444343963 --0.30263691053 -0.256465573218 --0.30278208936 -0.265492815763 --0.302502184569 -0.274517504472 --0.302235817967 -0.283522281028 --0.302408323783 -0.292516681467 --0.302581158781 -0.301519011118 --0.302754310621 -0.310528889449 --0.302433525987 -0.319421559786 --0.302125836538 -0.328291634425 --0.29314643865 --0.327728855145 --0.293427325558 --0.318871312022 --0.293720169091 --0.309991229175 --0.293562264739 --0.300997033758 --0.293404642568 --0.292010411142 --0.293247313591 --0.283031715637 --0.293490483838 --0.274040456003 --0.293746000929 --0.265029333695 --0.293613598777 --0.256017906715 --0.293481340678 --0.247012524896 --0.293349211326 --0.238013547422 --0.293554259896 --0.228903017001 --0.293772017929 --0.219775404749 --0.293665376869 --0.210747742834 --0.293558740235 --0.201724640336 --0.293452095477 --0.192706489384 --0.293618591561 --0.183493068299 --0.293798088144 --0.17426540047 --0.293717404946 --0.165222823118 --0.293636628613 --0.156183402794 --0.293555727237 --0.14714755589 --0.2936833818 --0.137849811617 --0.29382429695 --0.128540731022 --0.293769736876 --0.119484906426 --0.29371499581 --0.110430896087 --0.293660067826 --0.10137914843 --0.293748646038 --0.0920169045105 --0.293850646981 --0.0826462825828 --0.293822336078 --0.0735791704675 --0.293793790503 --0.0645125811023 --0.293765009486 --0.0554469706399 --0.293814287108 --0.0460410494009 --0.293877098597 --0.0366297619252 --0.293875140272 --0.0275535403926 --0.293872927117 --0.018476580657 --0.293870448761 --0.00939934751652 --0.293869139014 -2.16840434497e-19 --0.293870448761 -0.00939934751652 --0.293872927117 -0.018476580657 --0.293875140272 -0.0275535403926 --0.293877098597 -0.0366297619252 --0.293814287108 -0.0460410494009 --0.293765009486 -0.0554469706399 --0.293793790503 -0.0645125811023 --0.293822336078 -0.0735791704675 --0.293850646981 -0.0826462825828 --0.293748646038 -0.0920169045105 --0.293660067826 -0.10137914843 --0.29371499581 -0.110430896087 --0.293769736876 -0.119484906426 --0.29382429695 -0.128540731022 --0.2936833818 -0.137849811617 --0.293555727237 -0.14714755589 --0.293636628613 -0.156183402794 --0.293717404946 -0.165222823118 --0.293798088144 -0.17426540047 --0.293618591561 -0.183493068299 --0.293452095477 -0.192706489384 --0.293558740235 -0.201724640336 --0.293665376869 -0.210747742834 --0.293772017929 -0.219775404749 --0.293554259896 -0.228903017001 --0.293349211326 -0.238013547422 --0.293481340678 -0.247012524896 --0.293613598777 -0.256017906715 --0.293746000929 -0.265029333695 --0.293490483838 -0.274040456003 --0.293247313591 -0.283031715637 --0.293404642568 -0.292010411142 --0.293562264739 -0.300997033758 --0.293720169091 -0.309991229175 --0.293427325558 -0.318871312022 --0.29314643865 -0.327728855145 --0.284176859091 --0.327167778104 --0.28443097868 --0.318322716535 --0.284695904457 --0.309455167689 --0.284553221241 --0.300476629955 --0.284410797702 --0.29150568456 --0.28426862633 --0.282542669054 --0.284488611393 --0.273564850113 --0.284719764582 --0.264567223434 --0.28460013555 --0.25557159808 --0.284480635905 --0.246582025975 --0.284361246234 --0.237598874944 --0.284546729397 --0.228502671046 --0.284743712645 --0.219389428457 --0.284647379993 --0.210377692649 --0.284551051944 --0.201370535053 --0.284454715117 --0.192368351861 --0.284605283363 --0.18316999699 --0.284767618683 --0.173957439498 --0.284694761086 --0.164930917307 --0.284621819624 --0.155907562849 --0.284548769609 --0.146887801775 --0.284664176057 --0.137605736971 --0.284791570058 --0.128312364824 --0.284742341517 --0.119272701278 --0.284692961016 --0.110234870222 --0.284643409613 --0.101199308241 --0.284723413626 --0.0918532043858 --0.284815572242 --0.0824987536413 --0.284790101687 --0.0734478900564 --0.284764410932 --0.0643975562849 --0.284738525489 --0.0553482114243 --0.28478293923 --0.0459587369183 --0.284839594095 --0.0365639119206 --0.284837971153 --0.0275039987135 --0.284836118021 --0.0184433563703 --0.284834022761 --0.00938244496082 --0.284832910131 -2.16840434497e-19 --0.284834022761 -0.00938244496082 --0.284836118021 -0.0184433563703 --0.284837971153 -0.0275039987135 --0.284839594095 -0.0365639119206 --0.28478293923 -0.0459587369183 --0.284738525489 -0.0553482114243 --0.284764410932 -0.0643975562849 --0.284790101687 -0.0734478900564 --0.284815572242 -0.0824987536413 --0.284723413626 -0.0918532043858 --0.284643409613 -0.101199308241 --0.284692961016 -0.110234870222 --0.284742341517 -0.119272701278 --0.284791570058 -0.128312364824 --0.284664176057 -0.137605736971 --0.284548769609 -0.146887801775 --0.284621819624 -0.155907562849 --0.284694761086 -0.164930917307 --0.284767618683 -0.173957439498 --0.284605283363 -0.18316999699 --0.284454715117 -0.192368351861 --0.284551051944 -0.201370535053 --0.284647379993 -0.210377692649 --0.284743712645 -0.219389428457 --0.284546729397 -0.228502671046 --0.284361246234 -0.237598874944 --0.284480635905 -0.246582025975 --0.28460013555 -0.25557159808 --0.284719764582 -0.264567223434 --0.284488611393 -0.273564850113 --0.28426862633 -0.282542669054 --0.284410797702 -0.29150568456 --0.284553221241 -0.300476629955 --0.284695904457 -0.309455167689 --0.28443097868 -0.318322716535 --0.284176859091 -0.327167778104 --0.275069696207 --0.32802076568 --0.275347961655 --0.319159413297 --0.27563805029 --0.310275554138 --0.275481596181 --0.301271611763 --0.27532544883 --0.292275331642 --0.275169582419 --0.283287047536 --0.275410476556 --0.27429072797 --0.275663610449 --0.265274603837 --0.275532422884 --0.256253778465 --0.27540136729 --0.24723904213 --0.275270436511 --0.238230778675 --0.275473603745 --0.229114122226 --0.275689364234 --0.219980426346 --0.275583680425 --0.210943619606 --0.275477992612 --0.201911421839 --0.275372300884 --0.192884249624 --0.275537310898 --0.183663770114 --0.27571520061 --0.174429080312 --0.275635211471 --0.165377578693 --0.275555126561 --0.156329268619 --0.275474929424 --0.147284586451 --0.2756014848 --0.1379790344 --0.275741156471 --0.1286621608 --0.275687035827 --0.119597566138 --0.275632733326 --0.110534813151 --0.275578248208 --0.101474346538 --0.275666089959 --0.0921037267273 --0.275767223797 --0.0827247425563 --0.275739104616 --0.0736489508499 --0.275710744018 --0.064573688736 --0.275682160731 --0.0554994190123 --0.275731100507 --0.0460847562483 --0.275793436609 --0.0366647230362 --0.275791397737 --0.0275798412575 --0.275789106002 --0.0184942186436 --0.275786566269 --0.00940832041669 --0.27578523136 -0 --0.275786566269 -0.00940832041669 --0.275789106002 -0.0184942186436 --0.275791397737 -0.0275798412575 --0.275793436609 -0.0366647230362 --0.275731100507 -0.0460847562483 --0.275682160731 -0.0554994190123 --0.275710744018 -0.064573688736 --0.275739104616 -0.0736489508499 --0.275767223797 -0.0827247425563 --0.275666089959 -0.0921037267273 --0.275578248208 -0.101474346538 --0.275632733326 -0.110534813151 --0.275687035827 -0.119597566138 --0.275741156471 -0.1286621608 --0.2756014848 -0.1379790344 --0.275474929424 -0.147284586451 --0.275555126561 -0.156329268619 --0.275635211471 -0.165377578693 --0.27571520061 -0.174429080312 --0.275537310898 -0.183663770114 --0.275372300884 -0.192884249624 --0.275477992612 -0.201911421839 --0.275583680425 -0.210943619606 --0.275689364234 -0.219980426346 --0.275473603745 -0.229114122226 --0.275270436511 -0.238230778675 --0.27540136729 -0.24723904213 --0.275532422884 -0.256253778465 --0.275663610449 -0.265274603837 --0.275410476556 -0.27429072797 --0.275169582419 -0.283287047536 --0.27532544883 -0.292275331642 --0.275481596181 -0.301271611763 --0.27563805029 -0.310275554138 --0.275347961655 -0.319159413297 --0.275069696207 -0.32802076568 --0.265835698426 --0.373411774802 --0.266177956481 --0.364682933089 --0.26653254893 --0.355928961386 --0.266335276732 --0.346915553692 --0.266138532803 --0.337911547528 --0.265942307909 --0.328917250362 --0.266244553571 --0.320038643355 --0.266559633489 --0.311137530782 --0.266389510055 --0.302106948793 --0.26621972196 --0.293084102499 --0.26605025587 --0.284069337336 --0.266311930036 --0.275053487281 --0.266586890731 --0.266017831502 --0.266444217657 --0.256970560325 --0.266301685546 --0.247929429822 --0.266159305883 --0.238894834789 --0.266380051245 --0.229756630092 --0.266614456726 --0.22060136464 --0.266499479508 --0.211538241337 --0.266384501534 --0.202479767561 --0.266269522967 --0.19342635438 --0.266448887389 --0.184182603364 --0.26664222367 --0.174924621342 --0.266555149775 --0.165846884457 --0.266467968736 --0.156772363419 --0.266380669848 --0.147701492821 --0.266518299074 --0.138371257307 --0.266670159756 --0.129029686623 --0.266611182675 --0.119938897097 --0.266552005148 --0.110849957544 --0.266492621864 --0.101763320972 --0.266588251646 --0.0923669585861 --0.266698301529 --0.0829622057646 --0.266667540043 --0.0738602090719 --0.266636528383 --0.0647587474214 --0.266605265536 --0.0556582813833 --0.266658699579 --0.0462171781477 --0.266726671979 --0.0367706828153 --0.266724225018 --0.0276595573363 --0.266721501469 --0.0185476783533 --0.266718507691 --0.00943551714935 --0.266716946307 -2.16840434497e-19 --0.266718507691 -0.00943551714935 --0.266721501469 -0.0185476783533 --0.266724225018 -0.0276595573363 --0.266726671979 -0.0367706828153 --0.266658699579 -0.0462171781477 --0.266605265536 -0.0556582813833 --0.266636528383 -0.0647587474214 --0.266667540043 -0.0738602090719 --0.266698301529 -0.0829622057646 --0.266588251646 -0.0923669585861 --0.266492621864 -0.101763320972 --0.266552005148 -0.110849957544 --0.266611182675 -0.119938897097 --0.266670159756 -0.129029686623 --0.266518299074 -0.138371257307 --0.266380669848 -0.147701492821 --0.266467968736 -0.156772363419 --0.266555149775 -0.165846884457 --0.26664222367 -0.174924621342 --0.266448887389 -0.184182603364 --0.266269522967 -0.19342635438 --0.266384501534 -0.202479767561 --0.266499479508 -0.211538241337 --0.266614456726 -0.22060136464 --0.266380051245 -0.229756630092 --0.266159305883 -0.238894834789 --0.266301685546 -0.247929429822 --0.266444217657 -0.256970560325 --0.266586890731 -0.266017831502 --0.266311930036 -0.275053487281 --0.26605025587 -0.284069337336 --0.26621972196 -0.293084102499 --0.266389510055 -0.302106948793 --0.266559633489 -0.311137530782 --0.266244553571 -0.320038643355 --0.265942307909 -0.328917250362 --0.266138532803 -0.337911547528 --0.266335276732 -0.346915553692 --0.26653254893 -0.355928961386 --0.266177956481 -0.364682933089 --0.265835698426 -0.373411774802 --0.256843421781 --0.372880595957 --0.257155007289 --0.36416138265 --0.257477805431 --0.355417091688 --0.257298396159 --0.3464167442 --0.257119466541 --0.33742581245 --0.256941014122 --0.328444591038 --0.257216182568 --0.319576498446 --0.257503022997 --0.310685962434 --0.257348301974 --0.301668563295 --0.257193874445 --0.292658909373 --0.257039745308 --0.28365734543 --0.257277976479 --0.274652829833 --0.257528290573 --0.26562856627 --0.257398547393 --0.256594604071 --0.257268924679 --0.247566782164 --0.257139440741 --0.238545505432 --0.25734040131 --0.229419379175 --0.257553781186 --0.220276227174 --0.25744922762 --0.21122651492 --0.25734467829 --0.202181475109 --0.257240133263 --0.193141501148 --0.257403391127 --0.183910453894 --0.257579371662 --0.174665210721 --0.257500231225 --0.165600993337 --0.257420975799 --0.156540005282 --0.257341617204 --0.147482669911 --0.25746685232 --0.138165657456 --0.257605031929 --0.128837342054 --0.257551451243 --0.119760156431 --0.257497704831 --0.1106848343 --0.257443770025 --0.101611825279 --0.25753072048 --0.0922290734265 --0.2576308004 --0.0828379535489 --0.257602913149 --0.0737496354662 --0.257574802903 --0.0646618612348 --0.257546463706 --0.0555750888329 --0.257594968005 --0.0461478534607 --0.257656703538 --0.0367152422213 --0.257654595294 --0.0276178472825 --0.257652246569 --0.0185197058216 --0.257649639957 --0.00942128641518 --0.257648272323 -0 --0.257649639957 -0.00942128641518 --0.257652246569 -0.0185197058216 --0.257654595294 -0.0276178472825 --0.257656703538 -0.0367152422213 --0.257594968005 -0.0461478534607 --0.257546463706 -0.0555750888329 --0.257574802903 -0.0646618612348 --0.257602913149 -0.0737496354662 --0.2576308004 -0.0828379535489 --0.25753072048 -0.0922290734265 --0.257443770025 -0.101611825279 --0.257497704831 -0.1106848343 --0.257551451243 -0.119760156431 --0.257605031929 -0.128837342054 --0.25746685232 -0.138165657456 --0.257341617204 -0.147482669911 --0.257420975799 -0.156540005282 --0.257500231225 -0.165600993337 --0.257579371662 -0.174665210721 --0.257403391127 -0.183910453894 --0.257240133263 -0.193141501148 --0.25734467829 -0.202181475109 --0.25744922762 -0.21122651492 --0.257553781186 -0.220276227174 --0.25734040131 -0.229419379175 --0.257139440741 -0.238545505432 --0.257268924679 -0.247566782164 --0.257398547393 -0.256594604071 --0.257528290573 -0.26562856627 --0.257277976479 -0.274652829833 --0.257039745308 -0.28365734543 --0.257193874445 -0.292658909373 --0.257348301974 -0.301668563295 --0.257503022997 -0.310685962434 --0.257216182568 -0.319576498446 --0.256941014122 -0.328444591038 --0.257119466541 -0.33742581245 --0.257298396159 -0.3464167442 --0.257477805431 -0.355417091688 --0.257155007289 -0.36416138265 --0.256843421781 -0.372880595957 --0.247858830684 --0.372350682429 --0.248139748072 --0.36364105674 --0.248430763083 --0.354906400577 --0.248269207727 --0.345919098863 --0.248108077683 --0.336941221707 --0.247947377225 --0.327973061263 --0.248195494053 --0.319115453985 --0.248454115439 --0.310235439298 --0.248314778814 --0.30123120773 --0.248175705427 --0.292234737742 --0.248036906388 --0.283246360049 --0.248251707179 --0.274253144337 --0.248477387284 --0.26524021369 --0.248360551802 --0.256219532139 --0.24824383448 --0.247205014174 --0.248127241492 --0.238197039265 --0.248308409796 --0.229082930015 --0.248500769484 --0.21995184157 --0.248406648761 --0.210915533416 --0.248312530916 --0.201883909558 --0.248218405357 --0.192857355537 --0.248365559114 --0.183638953896 --0.248524193066 --0.174406395508 --0.248452968328 --0.16535568232 --0.248381632033 --0.156308202787 --0.248310225241 --0.147264398477 --0.248423066874 --0.137960555697 --0.248547572599 --0.128645426521 --0.248499390129 --0.119581829515 --0.248451058799 --0.110520106659 --0.248402562051 --0.101460702741 --0.248480838287 --0.092091500013 --0.248570959733 --0.0827139545225 --0.248545949998 --0.0736392980185 --0.248520733324 --0.0645651926218 --0.2484953156 --0.055492096413 --0.248538892737 --0.0460786675632 --0.248594401221 --0.03665987857 --0.248592631649 --0.0275761953393 --0.248590651279 --0.0184917720928 --0.248588437081 --0.0094070755878 --0.248587262899 -0 --0.248588437081 -0.0094070755878 --0.248590651279 -0.0184917720928 --0.248592631649 -0.0275761953393 --0.248594401221 -0.03665987857 --0.248538892737 -0.0460786675632 --0.2484953156 -0.055492096413 --0.248520733324 -0.0645651926218 --0.248545949998 -0.0736392980185 --0.248570959733 -0.0827139545225 --0.248480838287 -0.092091500013 --0.248402562051 -0.101460702741 --0.248451058799 -0.110520106659 --0.248499390129 -0.119581829515 --0.248547572599 -0.128645426521 --0.248423066874 -0.137960555697 --0.248310225241 -0.147264398477 --0.248381632033 -0.156308202787 --0.248452968328 -0.16535568232 --0.248524193066 -0.174406395508 --0.248365559114 -0.183638953896 --0.248218405357 -0.192857355537 --0.248312530916 -0.201883909558 --0.248406648761 -0.210915533416 --0.248500769484 -0.21995184157 --0.248308409796 -0.229082930015 --0.248127241492 -0.238197039265 --0.24824383448 -0.247205014174 --0.248360551802 -0.256219532139 --0.248477387284 -0.26524021369 --0.248251707179 -0.274253144337 --0.248036906388 -0.283246360049 --0.248175705427 -0.292234737742 --0.248314778814 -0.30123120773 --0.248454115439 -0.310235439298 --0.248195494053 -0.319115453985 --0.247947377225 -0.327973061263 --0.248108077683 -0.336941221707 --0.248269207727 -0.345919098863 --0.248430763083 -0.354906400577 --0.248139748072 -0.36364105674 --0.247858830684 -0.372350682429 --0.238882287023 --0.371822026727 --0.239132569721 --0.363121940147 --0.23939182484 --0.354396880892 --0.239248099843 --0.345422616533 --0.239104751569 --0.336457773771 --0.238961790726 --0.32750266724 --0.239182858065 --0.318655488508 --0.239413269513 --0.309785951408 --0.239289307422 --0.300794878531 --0.239165589885 --0.291811572629 --0.239042111586 --0.282836367078 --0.239233481465 --0.273854392205 --0.239434545483 --0.264852747826 --0.239330604819 --0.255845331518 --0.239226779567 --0.246844107646 --0.239123059229 --0.237849435776 --0.239284449974 --0.228747282459 --0.239455822079 --0.219628201687 --0.239372118069 --0.210605281392 --0.239288415559 --0.201587050865 --0.239204704207 --0.192573903105 --0.239335771486 --0.183368096643 --0.239477060543 --0.174148168886 --0.23941373178 --0.165110938684 --0.239350318113 --0.156076955185 --0.239286849167 --0.147046658371 --0.239387300514 --0.13775591985 --0.239498154068 --0.128453921435 --0.239455375927 --0.119403898574 --0.239412448761 --0.110355763173 --0.239369373251 --0.101309945732 --0.23943898742 --0.0919542342762 --0.239519163653 --0.0825902078698 --0.239497028518 --0.0735291935104 --0.239474696873 --0.0644687369172 --0.239452191847 --0.0554092970245 --0.239490851569 --0.0460096154687 --0.239540143606 --0.0366045886723 --0.239538712155 --0.0275345987278 --0.239537082624 --0.0184638753228 --0.239535266169 --0.009392883356 --0.239534308316 --2.16840434497e-19 --0.239535266169 -0.009392883356 --0.239537082624 -0.0184638753228 --0.239538712155 -0.0275345987278 --0.239540143606 -0.0366045886723 --0.239490851569 -0.0460096154687 --0.239452191847 -0.0554092970245 --0.239474696873 -0.0644687369172 --0.239497028518 -0.0735291935104 --0.239519163653 -0.0825902078698 --0.23943898742 -0.0919542342762 --0.239369373251 -0.101309945732 --0.239412448761 -0.110355763173 --0.239455375927 -0.119403898574 --0.239498154068 -0.128453921435 --0.239387300514 -0.13775591985 --0.239286849167 -0.147046658371 --0.239350318113 -0.156076955185 --0.23941373178 -0.165110938684 --0.239477060543 -0.174148168886 --0.239335771486 -0.183368096643 --0.239204704207 -0.192573903105 --0.239288415559 -0.201587050865 --0.239372118069 -0.210605281392 --0.239455822079 -0.219628201687 --0.239284449974 -0.228747282459 --0.239123059229 -0.237849435776 --0.239226779567 -0.246844107646 --0.239330604819 -0.255845331518 --0.239434545483 -0.264852747826 --0.239233481465 -0.273854392205 --0.239042111586 -0.282836367078 --0.239165589885 -0.291811572629 --0.239289307422 -0.300794878531 --0.239413269513 -0.309785951408 --0.239182858065 -0.318655488508 --0.238961790726 -0.32750266724 --0.239104751569 -0.336457773771 --0.239248099843 -0.345422616533 --0.23939182484 -0.354396880892 --0.239132569721 -0.363121940147 --0.238882287023 -0.371822026727 --0.229651167689 --0.372628618266 --0.229927860609 --0.363916788693 --0.230214468241 --0.355179988105 --0.230055333409 --0.346184117298 --0.2298966246 --0.337197725325 --0.229738346453 --0.328221156938 --0.229982731598 --0.319360229871 --0.230237451662 --0.310476932009 --0.230100199264 --0.30146445936 --0.22996322397 --0.292459811701 --0.229826493489 --0.283463316686 --0.230038115602 --0.274465747101 --0.23026046152 --0.2654485128 --0.230145343804 --0.256419856395 --0.230030355863 --0.247397424641 --0.229915487123 --0.238381597951 --0.230093957864 --0.229262238546 --0.230283455294 --0.220125947072 --0.230190695811 --0.211081897015 --0.230097941071 --0.202042560598 --0.230005198313 --0.193008350415 --0.230150239999 --0.183783935068 --0.230306567083 --0.174545389225 --0.230236349911 --0.165487105809 --0.230166042246 --0.156432092014 --0.230095645653 --0.147380778756 --0.230206862782 --0.138070291722 --0.230329579231 --0.128748540587 --0.230282053326 --0.119677497547 --0.230234371529 --0.110608351528 --0.230186529656 --0.101541539237 --0.230263735966 --0.0921652269094 --0.230352597881 --0.0827805859827 --0.230327886942 --0.073698558281 --0.23030296403 --0.0646170846254 --0.230277841296 --0.0555366273984 --0.230320897489 --0.046115781938 --0.230375702657 --0.0366895767916 --0.230373864722 --0.027598537392 --0.230371805377 --0.0185067546307 --0.230369547691 --0.00941469741526 --0.230368369429 --2.16840434497e-19 --0.230369547691 -0.00941469741526 --0.230371805377 -0.0185067546307 --0.230373864722 -0.027598537392 --0.230375702657 -0.0366895767916 --0.230320897489 -0.046115781938 --0.230277841296 -0.0555366273984 --0.23030296403 -0.0646170846254 --0.230327886942 -0.073698558281 --0.230352597881 -0.0827805859827 --0.230263735966 -0.0921652269094 --0.230186529656 -0.101541539237 --0.230234371529 -0.110608351528 --0.230282053326 -0.119677497547 --0.230329579231 -0.128748540587 --0.230206862782 -0.138070291722 --0.230095645653 -0.147380778756 --0.230166042246 -0.156432092014 --0.230236349911 -0.165487105809 --0.230306567083 -0.174545389225 --0.230150239999 -0.183783935068 --0.230005198313 -0.193008350415 --0.230097941071 -0.202042560598 --0.230190695811 -0.211081897015 --0.230283455294 -0.220125947072 --0.230093957864 -0.229262238546 --0.229915487123 -0.238381597951 --0.230030355863 -0.247397424641 --0.230145343804 -0.256419856395 --0.23026046152 -0.2654485128 --0.230038115602 -0.274465747101 --0.229826493489 -0.283463316686 --0.22996322397 -0.292459811701 --0.230100199264 -0.30146445936 --0.230237451662 -0.310476932009 --0.229982731598 -0.319360229871 --0.229738346453 -0.328221156938 --0.2298966246 -0.337197725325 --0.230055333409 -0.346184117298 --0.230214468241 -0.355179988105 --0.229927860609 -0.363916788693 --0.229651167689 -0.372628618266 --0.220994941014 --0.400457983381 --0.220796836909 --0.391455670622 --0.220599417687 --0.382464710489 --0.220402670336 --0.373485369837 --0.220705604405 --0.364760912175 --0.221019400392 --0.356011476985 --0.220844961006 --0.34699275816 --0.220670996657 --0.337983585591 --0.220497494956 --0.32898430237 --0.220765061248 --0.32010864618 --0.221043957073 --0.311210616228 --0.220893494423 --0.302175487323 --0.22074332497 --0.293148232322 --0.220593438842 --0.284129195963 --0.220825206628 --0.275114992477 --0.221068699281 --0.266081105443 --0.220942476341 --0.257029940099 --0.220816391706 --0.247985036323 --0.220690446453 --0.238946784032 --0.220885894279 --0.229809097373 --0.221093401456 --0.220654458361 --0.22099166152 --0.211588003408 --0.220889918757 --0.202526285822 --0.220788180227 --0.193469716226 --0.220947119109 --0.184225513209 --0.221118405658 --0.174967171159 --0.221041332835 --0.165886546205 --0.220964158444 --0.156809203509 --0.220886889677 --0.147735582409 --0.221008816149 --0.13840411933 --0.221143314275 --0.129061381095 --0.221091069823 --0.119968022118 --0.221038658411 --0.110876563039 --0.220986086113 --0.10178745969 --0.221070837132 --0.0923892806869 --0.221168330313 --0.0829827519957 --0.221141064697 --0.0738784041023 --0.221113566533 --0.0647746071628 --0.221085836768 --0.0556718287884 --0.221133262967 --0.0462285315435 --0.221193547048 --0.0367798557533 --0.221191309234 --0.0276664571392 --0.221188838454 --0.0185523046805 --0.221186125082 --0.0094378701392 --0.221184705469 -2.16840434497e-19 --0.221186125082 -0.0094378701392 --0.221188838454 -0.0185523046805 --0.221191309234 -0.0276664571392 --0.221193547048 -0.0367798557533 --0.221133262967 -0.0462285315435 --0.221085836768 -0.0556718287884 --0.221113566533 -0.0647746071628 --0.221141064697 -0.0738784041023 --0.221168330313 -0.0829827519957 --0.221070837132 -0.0923892806869 --0.220986086113 -0.10178745969 --0.221038658411 -0.110876563039 --0.221091069823 -0.119968022118 --0.221143314275 -0.129061381095 --0.221008816149 -0.13840411933 --0.220886889677 -0.147735582409 --0.220964158444 -0.156809203509 --0.221041332835 -0.165886546205 --0.221118405658 -0.174967171159 --0.220947119109 -0.184225513209 --0.220788180227 -0.193469716226 --0.220889918757 -0.202526285822 --0.22099166152 -0.211588003408 --0.221093401456 -0.220654458361 --0.220885894279 -0.229809097373 --0.220690446453 -0.238946784032 --0.220816391706 -0.247985036323 --0.220942476341 -0.257029940099 --0.221068699281 -0.266081105443 --0.220825206628 -0.275114992477 --0.220593438842 -0.284129195963 --0.22074332497 -0.293148232322 --0.220893494423 -0.302175487323 --0.221043957073 -0.311210616228 --0.220765061248 -0.32010864618 --0.220497494956 -0.32898430237 --0.220670996657 -0.337983585591 --0.220844961006 -0.34699275816 --0.221019400392 -0.356011476985 --0.220705604405 -0.364760912175 --0.220402670336 -0.373485369837 --0.220599417687 -0.382464710489 --0.220796836909 -0.391455670622 --0.220994941014 -0.400457983381 --0.211929408244 --0.399999319146 --0.211751793079 --0.39100744775 --0.211574780327 --0.382026933176 --0.21139836404 --0.373058041213 --0.21167034609 --0.364341306795 --0.211952070531 --0.355599650025 --0.211795652689 --0.346591475106 --0.211639660596 --0.337592847107 --0.211484083012 --0.32860411117 --0.211724326634 --0.319736889812 --0.211974732804 --0.310847347977 --0.21183981023 --0.301822857459 --0.211705145467 --0.292806240557 --0.211570739127 --0.28379784984 --0.211778851458 --0.274792743143 --0.211997480275 --0.265767993907 --0.211884303243 --0.256727559079 --0.211771239254 --0.247693388863 --0.211658295184 --0.238665871547 --0.211833774344 --0.229537859639 --0.21202007853 --0.22039293282 --0.211928863532 --0.211337296931 --0.211837644478 --0.202286407591 --0.211746422996 --0.193240662038 --0.21188910613 --0.184006642681 --0.212042871266 --0.174758515221 --0.211973788066 --0.165688783762 --0.211904618555 --0.156622346806 --0.21183536442 --0.147559632178 --0.211944782363 --0.138238765243 --0.212065490439 --0.128906651972 --0.212018699959 --0.119824259214 --0.211971749216 --0.110743768751 --0.211924654823 --0.10166564037 --0.212000658816 --0.0922783718241 --0.212088108523 --0.0828827715483 --0.212063735827 --0.073789441513 --0.212039157795 --0.0646966714358 --0.21201437672 --0.055604924832 --0.212056834501 --0.0461727422766 --0.212110842781 --0.0367351943393 --0.212108951366 --0.0276328569974 --0.212106845778 --0.0185297711111 --0.21210451682 --0.00942640638465 --0.212103292735 -0 --0.21210451682 -0.00942640638465 --0.212106845778 -0.0185297711111 --0.212108951366 -0.0276328569974 --0.212110842781 -0.0367351943393 --0.212056834501 -0.0461727422766 --0.21201437672 -0.055604924832 --0.212039157795 -0.0646966714358 --0.212063735827 -0.073789441513 --0.212088108523 -0.0828827715483 --0.212000658816 -0.0922783718241 --0.211924654823 -0.10166564037 --0.211971749216 -0.110743768751 --0.212018699959 -0.119824259214 --0.212065490439 -0.128906651972 --0.211944782363 -0.138238765243 --0.21183536442 -0.147559632178 --0.211904618555 -0.156622346806 --0.211973788066 -0.165688783762 --0.212042871266 -0.174758515221 --0.21188910613 -0.184006642681 --0.211746422996 -0.193240662038 --0.211837644478 -0.202286407591 --0.211928863532 -0.211337296931 --0.21202007853 -0.22039293282 --0.211833774344 -0.229537859639 --0.211658295184 -0.238665871547 --0.211771239254 -0.247693388863 --0.211884303243 -0.256727559079 --0.211997480275 -0.265767993907 --0.211778851458 -0.274792743143 --0.211570739127 -0.28379784984 --0.211705145467 -0.292806240557 --0.21183981023 -0.301822857459 --0.211974732804 -0.310847347977 --0.211724326634 -0.319736889812 --0.211484083012 -0.32860411117 --0.211639660596 -0.337592847107 --0.211795652689 -0.346591475106 --0.211952070531 -0.355599650025 --0.21167034609 -0.364341306795 --0.21139836404 -0.373058041213 --0.211574780327 -0.382026933176 --0.211751793079 -0.39100744775 --0.211929408244 -0.399999319146 --0.202869849478 --0.399541376814 --0.202712696236 --0.390559947777 --0.202556090028 --0.381589886262 --0.202400010611 --0.372631439127 --0.202641047395 --0.363922402073 --0.202890702501 --0.355188478546 --0.202752291936 --0.3461908379 --0.202614256673 --0.337202764084 --0.202476594184 --0.328224573762 --0.202689532236 --0.319365760649 --0.202911449756 --0.310484665841 --0.202792054323 --0.301470798791 --0.202672891877 --0.292464819335 --0.202553951438 --0.283467077735 --0.202738412805 --0.274471036891 --0.202932189177 --0.265455388782 --0.202832046461 --0.256425676115 --0.202731996348 --0.247402231082 --0.202632051945 --0.238385446136 --0.202787567151 --0.229267075752 --0.202952668451 --0.220131822758 --0.202871962478 --0.211086992288 --0.202791262101 --0.202046922709 --0.202710563058 --0.193012011593 --0.202836993681 --0.183788138023 --0.202973247156 --0.174550180993 --0.202912160297 --0.165491340874 --0.202850991874 --0.156435800269 --0.202789731884 --0.147383991006 --0.202886638407 --0.138073680215 --0.202993566323 --0.128752143435 --0.202952227409 --0.119680710324 --0.202910744758 --0.110611190482 --0.202869125949 --0.101544030597 --0.202936374374 --0.0921676246675 --0.203013782019 --0.0827829122403 --0.202992306606 --0.073700596384 --0.202970653262 --0.0646188490147 --0.202948824242 --0.055538130142 --0.202986309406 --0.0461170163846 --0.203034043512 --0.0366905511087 --0.203032493904 --0.027599268893 --0.203030743714 --0.0185072445957 --0.203028809091 --0.00941494645388 --0.203027790372 -0 --0.203028809091 -0.00941494645388 --0.203030743714 -0.0185072445957 --0.203032493904 -0.027599268893 --0.203034043512 -0.0366905511087 --0.202986309406 -0.0461170163846 --0.202948824242 -0.055538130142 --0.202970653262 -0.0646188490147 --0.202992306606 -0.073700596384 --0.203013782019 -0.0827829122403 --0.202936374374 -0.0921676246675 --0.202869125949 -0.101544030597 --0.202910744758 -0.110611190482 --0.202952227409 -0.119680710324 --0.202993566323 -0.128752143435 --0.202886638407 -0.138073680215 --0.202789731884 -0.147383991006 --0.202850991874 -0.156435800269 --0.202912160297 -0.165491340874 --0.202973247156 -0.174550180993 --0.202836993681 -0.183788138023 --0.202710563058 -0.193012011593 --0.202791262101 -0.202046922709 --0.202871962478 -0.211086992288 --0.202952668451 -0.220131822758 --0.202787567151 -0.229267075752 --0.202632051945 -0.238385446136 --0.202731996348 -0.247402231082 --0.202832046461 -0.256425676115 --0.202932189177 -0.265455388782 --0.202738412805 -0.274471036891 --0.202553951438 -0.283467077735 --0.202672891877 -0.292464819335 --0.202792054323 -0.301470798791 --0.202911449756 -0.310484665841 --0.202689532236 -0.319365760649 --0.202476594184 -0.328224573762 --0.202614256673 -0.337202764084 --0.202752291936 -0.3461908379 --0.202890702501 -0.355188478546 --0.202641047395 -0.363922402073 --0.202400010611 -0.372631439127 --0.202556090028 -0.381589886262 --0.202712696236 -0.390559947777 --0.202869849478 -0.399541376814 --0.193816669683 --0.399084150057 --0.193679970036 --0.390113163736 --0.193543750859 --0.381153545649 --0.193407984364 --0.372205530615 --0.193618092154 --0.363504165726 --0.19383569087 --0.354777958162 --0.193715277464 --0.345790850687 --0.193595187158 --0.33681332743 --0.193475423828 --0.327845681384 --0.193661067429 --0.31899523736 --0.19385451456 --0.310122550317 --0.193750635067 --0.301119310803 --0.193646955019 --0.29212396702 --0.19354346817 --0.283136860594 --0.193704289638 --0.274149843134 --0.193873220845 --0.265143254504 --0.193786095732 --0.256124256421 --0.193699050538 --0.247111546254 --0.193612101273 --0.238105509093 --0.193747656403 --0.22899673106 --0.193891566952 --0.219871107867 --0.193821370413 --0.210837080052 --0.193751175306 --0.201807822089 --0.193680987977 --0.192783745865 --0.193791181787 --0.183569977782 --0.193909937307 --0.17434215083 --0.193856833418 --0.165294198528 --0.193803654443 --0.156249551513 --0.193750400989 --0.147208651932 --0.193834807372 --0.137908852317 --0.193927945427 --0.128597840687 --0.193892054462 --0.119537364191 --0.193856034114 --0.110478812303 --0.19381989188 --0.10142262301 --0.193878398944 --0.0920570388636 --0.193945758688 --0.0826831656357 --0.193927183781 --0.0736118622871 --0.193908452826 --0.0645411342544 --0.193889561672 --0.0554714407577 --0.193922074895 --0.0460613506434 --0.193963525911 --0.0366459203568 --0.193962319758 --0.0275656911195 --0.193960935561 --0.0184847256548 --0.193959395881 --0.00940349007319 --0.193958586007 -2.16840434497e-19 --0.193959395881 -0.00940349007319 --0.193960935561 -0.0184847256548 --0.193962319758 -0.0275656911195 --0.193963525911 -0.0366459203568 --0.193922074895 -0.0460613506434 --0.193889561672 -0.0554714407577 --0.193908452826 -0.0645411342544 --0.193927183781 -0.0736118622871 --0.193945758688 -0.0826831656357 --0.193878398944 -0.0920570388636 --0.19381989188 -0.10142262301 --0.193856034114 -0.110478812303 --0.193892054462 -0.119537364191 --0.193927945427 -0.128597840687 --0.193834807372 -0.137908852317 --0.193750400989 -0.147208651932 --0.193803654443 -0.156249551513 --0.193856833418 -0.165294198528 --0.193909937307 -0.17434215083 --0.193791181787 -0.183569977782 --0.193680987977 -0.192783745865 --0.193751175306 -0.201807822089 --0.193821370413 -0.210837080052 --0.193891566952 -0.219871107867 --0.193747656403 -0.22899673106 --0.193612101273 -0.238105509093 --0.193699050538 -0.247111546254 --0.193786095732 -0.256124256421 --0.193873220845 -0.265143254504 --0.193704289638 -0.274149843134 --0.19354346817 -0.283136860594 --0.193646955019 -0.29212396702 --0.193750635067 -0.301119310803 --0.19385451456 -0.310122550317 --0.193661067429 -0.31899523736 --0.193475423828 -0.327845681384 --0.193595187158 -0.33681332743 --0.193715277464 -0.345790850687 --0.19383569087 -0.354777958162 --0.193618092154 -0.363504165726 --0.193407984364 -0.372205530615 --0.193543750859 -0.381153545649 --0.193679970036 -0.390113163736 --0.193816669683 -0.399084150057 --0.184536095083 --0.399791760233 --0.18438243249 --0.39080304667 --0.184229301156 --0.381825770986 --0.18407668424 --0.372860167999 --0.184312414879 --0.364149190855 --0.184556555681 --0.355413379335 --0.184421202468 --0.346408754758 --0.184286216235 --0.337413758579 --0.184151593234 --0.328428703154 --0.184359883854 --0.319567068605 --0.184576943899 --0.310683180505 --0.18446016209 --0.301662573015 --0.184343610141 --0.292649912316 --0.184227276272 --0.283645523972 --0.184407704205 --0.2746458293 --0.184597241586 --0.265626570356 --0.184499269809 --0.25659033096 --0.184401389821 --0.24756040742 --0.184303626608 --0.238537199784 --0.184455805558 --0.229414469402 --0.184617350671 --0.220274891097 --0.184538375633 --0.211223706949 --0.184459408813 --0.202177318673 --0.184380448158 --0.19313614139 --0.184504155454 --0.183907292043 --0.184637467527 --0.174664383101 --0.184577667752 --0.165599332999 --0.184517790403 --0.156537606445 --0.184457833221 --0.147479643297 --0.184552712161 --0.138163870005 --0.184657372746 --0.128836875895 --0.184616870586 --0.11975932269 --0.184576234396 --0.110683701134 --0.184535467653 --0.101610461124 --0.184601359408 --0.092228216202 --0.184677168169 --0.0828376658569 --0.184656083289 --0.073749289985 --0.184634819786 --0.064661485892 --0.184613383669 --0.0555747193085 --0.184650171111 --0.0461475222188 --0.1846969619 --0.0367149696546 --0.18469535584 --0.0276176393027 --0.184693559443 --0.0185195645832 --0.184691571597 --0.00942121338044 --0.184690531942 -0 --0.184691571597 -0.00942121338044 --0.184693559443 -0.0185195645832 --0.18469535584 -0.0276176393027 --0.1846969619 -0.0367149696546 --0.184650171111 -0.0461475222188 --0.184613383669 -0.0555747193085 --0.184634819786 -0.064661485892 --0.184656083289 -0.073749289985 --0.184677168169 -0.0828376658569 --0.184601359408 -0.092228216202 --0.184535467653 -0.101610461124 --0.184576234396 -0.110683701134 --0.184616870586 -0.11975932269 --0.184657372746 -0.128836875895 --0.184552712161 -0.138163870005 --0.184457833221 -0.147479643297 --0.184517790403 -0.156537606445 --0.184577667752 -0.165599332999 --0.184637467527 -0.174664383101 --0.184504155454 -0.183907292043 --0.184380448158 -0.19313614139 --0.184459408813 -0.202177318673 --0.184538375633 -0.211223706949 --0.184617350671 -0.220274891097 --0.184455805558 -0.229414469402 --0.184303626608 -0.238537199784 --0.184401389821 -0.24756040742 --0.184499269809 -0.25659033096 --0.184597241586 -0.265626570356 --0.184407704205 -0.2746458293 --0.184227276272 -0.283645523972 --0.184343610141 -0.292649912316 --0.18446016209 -0.301662573015 --0.184576943899 -0.310683180505 --0.184359883854 -0.319567068605 --0.184151593234 -0.328428703154 --0.184286216235 -0.337413758579 --0.184421202468 -0.346408754758 --0.184556555681 -0.355413379335 --0.184312414879 -0.364149190855 --0.18407668424 -0.372860167999 --0.184229301156 -0.381825770986 --0.18438243249 -0.39080304667 --0.184536095083 -0.399791760233 --0.175240732684 --0.40055438716 --0.17507019179 --0.391546694451 --0.174900243171 --0.382550500892 --0.174730881469 --0.373566071868 --0.174992110234 --0.364844592519 --0.175262662119 --0.356098261693 --0.175112442917 --0.347074833573 --0.174962637467 --0.338061088573 --0.174813237595 --0.329057349738 --0.17504406042 --0.320183529647 --0.175284615088 --0.311287458753 --0.175154997597 --0.302248198228 --0.175025637668 --0.293216915158 --0.174896532377 --0.284193963706 --0.17509648187 --0.275180540967 --0.175306519064 --0.266147536976 --0.175197759093 --0.257092758295 --0.175089106865 --0.248044328867 --0.17498058047 --0.239002639679 --0.17514929982 --0.229864819712 --0.175328389176 --0.22071013379 --0.175240682461 --0.211640484108 --0.175152992268 --0.202575656767 --0.175065304896 --0.193516058486 --0.175202463147 --0.184270932352 --0.175350261117 --0.175011735907 --0.175283804127 --0.165928268591 --0.175217256762 --0.15684813549 --0.175150623788 --0.14777178117 --0.175255923292 --0.138438776311 --0.175372052109 --0.129094541814 --0.175326971495 --0.119998589666 --0.175281745053 --0.11090457521 --0.175236372287 --0.101812952527 --0.175309603248 --0.0924127498898 --0.175393821881 --0.0830042261062 --0.175370249807 --0.0738974401623 --0.175346472345 --0.0647912239719 --0.175322502933 --0.0556860479417 --0.175363542903 --0.0462404256762 --0.175415658965 --0.0367894324019 --0.175413646912 --0.0276736601027 --0.175411432099 --0.0185571339248 --0.175409006049 --0.00944032634276 --0.175407737569 --2.16840434497e-19 --0.175409006049 -0.00944032634276 --0.175411432099 -0.0185571339248 --0.175413646912 -0.0276736601027 --0.175415658965 -0.0367894324019 --0.175363542903 -0.0462404256762 --0.175322502933 -0.0556860479417 --0.175346472345 -0.0647912239719 --0.175370249807 -0.0738974401623 --0.175393821881 -0.0830042261062 --0.175309603248 -0.0924127498898 --0.175236372287 -0.101812952527 --0.175281745053 -0.11090457521 --0.175326971495 -0.119998589666 --0.175372052109 -0.129094541814 --0.175255923292 -0.138438776311 --0.175150623788 -0.14777178117 --0.175217256762 -0.15684813549 --0.175283804127 -0.165928268591 --0.175350261117 -0.175011735907 --0.175202463147 -0.184270932352 --0.175065304896 -0.193516058486 --0.175152992268 -0.202575656767 --0.175240682461 -0.211640484108 --0.175328389176 -0.22071013379 --0.17514929982 -0.229864819712 --0.17498058047 -0.239002639679 --0.175089106865 -0.248044328867 --0.175197759093 -0.257092758295 --0.175306519064 -0.266147536976 --0.17509648187 -0.275180540967 --0.174896532377 -0.284193963706 --0.175025637668 -0.293216915158 --0.175154997597 -0.302248198228 --0.175284615088 -0.311287458753 --0.17504406042 -0.320183529647 --0.174813237595 -0.329057349738 --0.174962637467 -0.338061088573 --0.175112442917 -0.347074833573 --0.175262662119 -0.356098261693 --0.174992110234 -0.364844592519 --0.174730881469 -0.373566071868 --0.174900243171 -0.382550500892 --0.17507019179 -0.391546694451 --0.175240732684 -0.40055438716 --0.166163309336 --0.40020770746 --0.166013401131 --0.391207949743 --0.165864003486 --0.382219674363 --0.165715128616 --0.37324317409 --0.165945181307 --0.364527542217 --0.166183419369 --0.355787082926 --0.166051350978 --0.346771641064 --0.165919641918 --0.337765890371 --0.165788293073 --0.328770151464 --0.16599159513 --0.319902693298 --0.166203449188 --0.311013023521 --0.166089483029 --0.301981823942 --0.165975738911 --0.292958600829 --0.16586222241 --0.283943726364 --0.166038345709 --0.2749371556 --0.16622333301 --0.265911023028 --0.1661277029 --0.256864372876 --0.166032171795 --0.247824078816 --0.165936744737 --0.238790524387 --0.166085342904 --0.229659977294 --0.166243072633 --0.220512593128 --0.166165968602 --0.211451147776 --0.166088868634 --0.20239451607 --0.166011773299 --0.193343112805 --0.16613256929 --0.184105653442 --0.166262725869 --0.17485413661 --0.166204315216 --0.165778914449 --0.166145824814 --0.156707043069 --0.166087264332 --0.147638952681 --0.16617995925 --0.138313906048 --0.16628218463 --0.12897765 --0.16624260197 --0.119890003977 --0.16620288652 --0.110804299226 --0.166163030963 --0.10172098528 --0.166227453157 --0.0923289779151 --0.166301551047 --0.082928662512 --0.166280896504 --0.073830219489 --0.166260066163 --0.064732353353 --0.16623906417 --0.0556355322075 --0.166275091359 --0.0461982549913 --0.166320882689 --0.0367556163956 --0.166319216259 --0.0276482195234 --0.166317364487 --0.0185400719976 --0.166315333287 --0.0094316463763 --0.166314267836 -0 --0.166315333287 -0.0094316463763 --0.166317364487 -0.0185400719976 --0.166319216259 -0.0276482195234 --0.166320882689 -0.0367556163956 --0.166275091359 -0.0461982549913 --0.16623906417 -0.0556355322075 --0.166260066163 -0.064732353353 --0.166280896504 -0.073830219489 --0.166301551047 -0.082928662512 --0.166227453157 -0.0923289779151 --0.166163030963 -0.10172098528 --0.16620288652 -0.110804299226 --0.16624260197 -0.119890003977 --0.16628218463 -0.12897765 --0.16617995925 -0.138313906048 --0.166087264332 -0.147638952681 --0.166145824814 -0.156707043069 --0.166204315216 -0.165778914449 --0.166262725869 -0.17485413661 --0.16613256929 -0.184105653442 --0.166011773299 -0.193343112805 --0.166088868634 -0.20239451607 --0.166165968602 -0.211451147776 --0.166243072633 -0.220512593128 --0.166085342904 -0.229659977294 --0.165936744737 -0.238790524387 --0.166032171795 -0.247824078816 --0.1661277029 -0.256864372876 --0.16622333301 -0.265911023028 --0.166038345709 -0.2749371556 --0.16586222241 -0.283943726364 --0.165975738911 -0.292958600829 --0.166089483029 -0.301981823942 --0.166203449188 -0.311013023521 --0.16599159513 -0.319902693298 --0.165788293073 -0.328770151464 --0.165919641918 -0.337765890371 --0.166051350978 -0.346771641064 --0.166183419369 -0.355787082926 --0.165945181307 -0.364527542217 --0.165715128616 -0.37324317409 --0.165864003486 -0.382219674363 --0.166013401131 -0.391207949743 --0.166163309336 -0.40020770746 --0.157090171366 --0.399861310595 --0.156960884852 --0.390869480144 --0.156832040161 --0.381889140602 --0.156703643338 --0.372920563836 --0.156902517256 --0.364210753244 --0.157108441436 --0.355476137205 --0.156994519837 --0.346468695762 --0.156880905075 --0.3374709583 --0.156767599154 --0.328483220299 --0.156943377587 --0.319622094795 --0.157126528546 --0.31073878611 --0.157028212865 --0.301715656173 --0.156930086049 --0.292700515383 --0.156832149477 --0.28369372078 --0.156984433759 --0.274693966045 --0.157144372391 --0.265674676156 --0.157061875285 --0.25663616342 --0.156979458517 --0.247604007428 --0.156897131791 --0.238578601948 --0.157025611146 --0.229455309213 --0.157161977225 --0.220315196853 --0.157095472409 --0.211261953364 --0.157028963629 --0.202213525456 --0.156962457917 --0.193170331557 --0.157066886004 --0.183940497773 --0.157179397575 --0.174696626946 --0.157129031873 --0.165629664247 --0.157078602696 --0.156566060031 --0.157028106787 --0.147506244839 --0.157108196639 --0.138189127797 --0.157196528282 --0.128860815682 --0.157162428353 --0.119781478555 --0.157128215856 --0.110704088766 --0.157093887435 --0.101629095732 --0.157149503182 --0.0922452484018 --0.157213479993 --0.0828531090943 --0.157195739292 --0.0737630186006 --0.157177849225 --0.0646735106128 --0.157159816834 --0.0555850524271 --0.157190838138 --0.0461560870593 --0.157230294115 --0.0367217674091 --0.157228976235 --0.027622753572 --0.157227494253 --0.018522993938 --0.157225850468 --0.00942295775856 --0.157224988809 -0 --0.157225850468 -0.00942295775856 --0.157227494253 -0.018522993938 --0.157228976235 -0.027622753572 --0.157230294115 -0.0367217674091 --0.157190838138 -0.0461560870593 --0.157159816834 -0.0555850524271 --0.157177849225 -0.0646735106128 --0.157195739292 -0.0737630186006 --0.157213479993 -0.0828531090943 --0.157149503182 -0.0922452484018 --0.157093887435 -0.101629095732 --0.157128215856 -0.110704088766 --0.157162428353 -0.119781478555 --0.157196528282 -0.128860815682 --0.157108196639 -0.138189127797 --0.157028106787 -0.147506244839 --0.157078602696 -0.156566060031 --0.157129031873 -0.165629664247 --0.157179397575 -0.174696626946 --0.157066886004 -0.183940497773 --0.156962457917 -0.193170331557 --0.157028963629 -0.202213525456 --0.157095472409 -0.211261953364 --0.157161977225 -0.220315196853 --0.157025611146 -0.229455309213 --0.156897131791 -0.238578601948 --0.156979458517 -0.247604007428 --0.157061875285 -0.25663616342 --0.157144372391 -0.265674676156 --0.156984433759 -0.274693966045 --0.156832149477 -0.28369372078 --0.156930086049 -0.292700515383 --0.157028212865 -0.301715656173 --0.157126528546 -0.31073878611 --0.156943377587 -0.319622094795 --0.156767599154 -0.328483220299 --0.156880905075 -0.3374709583 --0.156994519837 -0.346468695762 --0.157108441436 -0.355476137205 --0.156902517256 -0.364210753244 --0.156703643338 -0.372920563836 --0.156832040161 -0.381889140602 --0.156960884852 -0.390869480144 --0.157090171366 -0.399861310595 --0.148021741802 --0.399515178262 --0.147913067952 --0.390531278698 --0.147804767163 --0.381558884054 --0.147696839525 --0.372598256307 --0.147864541885 --0.363894230132 --0.148038160684 --0.355165428496 --0.14794237423 --0.346165994135 --0.147846844812 --0.33717627066 --0.147751577519 --0.328196544473 --0.147899836163 --0.319341724329 --0.148054282151 --0.31046474239 --0.147971606895 --0.301449689558 --0.147889092998 --0.292442640016 --0.147806728367 --0.283443922006 --0.147935180191 --0.274450954981 --0.148070074138 --0.265438485553 --0.148000700696 --0.25640811315 --0.14793139339 --0.247384115789 --0.147862158522 --0.238366874082 --0.147970522318 --0.229250800434 --0.148085528135 --0.220117930726 --0.148029614316 --0.211072886989 --0.147973695899 --0.202032676437 --0.14791777984 --0.19299771542 --0.148005838696 --0.183775469424 --0.148100703632 --0.174539205519 --0.148058386117 --0.165480514854 --0.14801601442 --0.156425183573 --0.147973579744 --0.147373648878 --0.148041069652 --0.138064427349 --0.148115506282 --0.128744024631 --0.148086890461 --0.119673007722 --0.148058182281 --0.110603946926 --0.148029375804 --0.101537284382 --0.148076179606 --0.0921615627694 --0.148130036271 --0.0827775639457 --0.148115215237 --0.073695833127 --0.148100264278 --0.0646146917318 --0.148085192456 --0.0555346020663 --0.148111211592 --0.0461139163221 --0.148144341182 --0.0366878853622 --0.148143364993 --0.0275972623986 --0.148142249303 --0.0185058982738 --0.148141003202 --0.00941426067545 --0.148140351512 -0 --0.148141003202 -0.00941426067545 --0.148142249303 -0.0185058982738 --0.148143364993 -0.0275972623986 --0.148144341182 -0.0366878853622 --0.148111211592 -0.0461139163221 --0.148085192456 -0.0555346020663 --0.148100264278 -0.0646146917318 --0.148115215237 -0.073695833127 --0.148130036271 -0.0827775639457 --0.148076179606 -0.0921615627694 --0.148029375804 -0.101537284382 --0.148058182281 -0.110603946926 --0.148086890461 -0.119673007722 --0.148115506282 -0.128744024631 --0.148041069652 -0.138064427349 --0.147973579744 -0.147373648878 --0.14801601442 -0.156425183573 --0.148058386117 -0.165480514854 --0.148100703632 -0.174539205519 --0.148005838696 -0.183775469424 --0.14791777984 -0.19299771542 --0.147973695899 -0.202032676437 --0.148029614316 -0.211072886989 --0.148085528135 -0.220117930726 --0.147970522318 -0.229250800434 --0.147862158522 -0.238366874082 --0.14793139339 -0.247384115789 --0.148000700696 -0.25640811315 --0.148070074138 -0.265438485553 --0.147935180191 -0.274450954981 --0.147806728367 -0.283443922006 --0.147889092998 -0.292442640016 --0.147971606895 -0.301449689558 --0.148054282151 -0.31046474239 --0.147899836163 -0.319341724329 --0.147751577519 -0.328196544473 --0.147846844812 -0.33717627066 --0.14794237423 -0.346165994135 --0.148038160684 -0.355165428496 --0.147864541885 -0.363894230132 --0.147696839525 -0.372598256307 --0.147804767163 -0.381558884054 --0.147913067952 -0.390531278698 --0.148021741802 -0.399515178262 --0.138655752718 --0.400057603499 --0.13853018942 --0.391060148805 --0.138405063077 --0.382074236836 --0.138280368022 --0.373100153449 --0.138473557614 --0.364388681188 --0.138673583427 --0.355652433186 --0.138562920197 --0.34663957184 --0.138452563237 --0.337636461064 --0.138342510224 --0.328643408719 --0.138513313019 --0.31977994704 --0.138691256863 --0.310894308549 --0.138595733437 --0.30186593878 --0.13850040628 --0.292845611136 --0.138405258435 --0.283833656867 --0.138553251839 --0.274830965635 --0.138708670846 --0.265808766229 --0.138628498471 --0.256765174971 --0.1385484118 --0.247727982916 --0.138468407261 --0.238697573195 --0.138593296902 --0.229570807397 --0.138725847247 --0.220427244751 --0.138661199865 --0.211369046182 --0.138596551001 --0.202315699689 --0.13853190047 --0.193267616849 --0.138633440187 --0.184033852045 --0.138742828483 --0.174786067454 --0.138693844253 --0.165714250407 --0.138644794154 --0.156645806264 --0.138595681254 --0.147581172463 --0.138673595607 --0.138259757174 --0.138759508247 --0.128927158157 --0.138726308609 --0.119843036563 --0.13869300197 --0.110760872583 --0.138659579287 --0.101681113329 --0.138713734231 --0.0922926921845 --0.138776012537 --0.0828959864539 --0.13875869377 --0.0738011462425 --0.138741229841 --0.0647068930894 --0.138723627146 --0.0556136938764 --0.138753863098 --0.0461799762757 --0.138792288988 --0.0367409053761 --0.138790909047 --0.0276371515107 --0.138789369423 --0.0185326486928 --0.138787686229 --0.00942786953707 --0.13878681032 -0 --0.138787686229 -0.00942786953707 --0.138789369423 -0.0185326486928 --0.138790909047 -0.0276371515107 --0.138792288988 -0.0367409053761 --0.138753863098 -0.0461799762757 --0.138723627146 -0.0556136938764 --0.138741229841 -0.0647068930894 --0.13875869377 -0.0738011462425 --0.138776012537 -0.0828959864539 --0.138713734231 -0.0922926921845 --0.138659579287 -0.101681113329 --0.13869300197 -0.110760872583 --0.138726308609 -0.119843036563 --0.138759508247 -0.128927158157 --0.138673595607 -0.138259757174 --0.138595681254 -0.147581172463 --0.138644794154 -0.156645806264 --0.138693844253 -0.165714250407 --0.138742828483 -0.174786067454 --0.138633440187 -0.184033852045 --0.13853190047 -0.193267616849 --0.138596551001 -0.202315699689 --0.138661199865 -0.211369046182 --0.138725847247 -0.220427244751 --0.138593296902 -0.229570807397 --0.138468407261 -0.238697573195 --0.1385484118 -0.247727982916 --0.138628498471 -0.256765174971 --0.138708670846 -0.265808766229 --0.138553251839 -0.274830965635 --0.138405258435 -0.283833656867 --0.13850040628 -0.292845611136 --0.138595733437 -0.30186593878 --0.138691256863 -0.310894308549 --0.138513313019 -0.31977994704 --0.138342510224 -0.328643408719 --0.138452563237 -0.337636461064 --0.138562920197 -0.34663957184 --0.138673583427 -0.355652433186 --0.138473557614 -0.364388681188 --0.138280368022 -0.373100153449 --0.138405063077 -0.382074236836 --0.13853018942 -0.391060148805 --0.138655752718 -0.400057603499 --0.128783405269 --0.417795715428 --0.129027031361 --0.409239779378 --0.129278027418 --0.400656523148 --0.129135647531 --0.391644213004 --0.128993768039 --0.38264350287 --0.128852371657 --0.37365466268 --0.129070949202 --0.364934820232 --0.129297281399 --0.356190193664 --0.129171808691 --0.347162611324 --0.129046688231 --0.338144818663 --0.128921909598 --0.329137117903 --0.129115172345 --0.320263998444 --0.129316529452 --0.311368700284 --0.129208220247 --0.302325708416 --0.129100129106 --0.293290781227 --0.128992243709 --0.284264266087 --0.129159706902 --0.275250749426 --0.129335575453 --0.26621771439 --0.129244654182 --0.257159577389 --0.129153831491 --0.248107856452 --0.12906310132 --0.239062937798 --0.129204463545 --0.229924319466 --0.129354488673 --0.220768887501 --0.129281140154 --0.211696184089 --0.129207795486 --0.202628351886 --0.129134448653 --0.193565791762 --0.129249428209 --0.184319277849 --0.129373282422 --0.175058732587 --0.129317655145 --0.165972436547 --0.129261956192 --0.156889523297 --0.129206186175 --0.147810426522 --0.129294484369 --0.138475528451 --0.129391830871 --0.129129437914 --0.129354062313 --0.120030847319 --0.129316178051 --0.110934217972 --0.129278163593 --0.101839997578 --0.129339644298 --0.0924375477471 --0.129410311394 --0.0830268006765 --0.129390504826 --0.0739174798733 --0.129370537898 --0.0648087441234 --0.1293504141 --0.0557010635273 --0.129384853798 --0.0462529579613 --0.129428554744 --0.0367994862255 --0.129426771942 --0.0276812233729 --0.129424816111 --0.0185622051166 --0.129422693648 --0.00944290602232 --0.129421587797 -0 --0.129422693648 -0.00944290602232 --0.129424816111 -0.0185622051166 --0.129426771942 -0.0276812233729 --0.129428554744 -0.0367994862255 --0.129384853798 -0.0462529579613 --0.1293504141 -0.0557010635273 --0.129370537898 -0.0648087441234 --0.129390504826 -0.0739174798733 --0.129410311394 -0.0830268006765 --0.129339644298 -0.0924375477471 --0.129278163593 -0.101839997578 --0.129316178051 -0.110934217972 --0.129354062313 -0.120030847319 --0.129391830871 -0.129129437914 --0.129294484369 -0.138475528451 --0.129206186175 -0.147810426522 --0.129261956192 -0.156889523297 --0.129317655145 -0.165972436547 --0.129373282422 -0.175058732587 --0.129249428209 -0.184319277849 --0.129134448653 -0.193565791762 --0.129207795486 -0.202628351886 --0.129281140154 -0.211696184089 --0.129354488673 -0.220768887501 --0.129204463545 -0.229924319466 --0.12906310132 -0.239062937798 --0.129153831491 -0.248107856452 --0.129244654182 -0.257159577389 --0.129335575453 -0.26621771439 --0.129159706902 -0.275250749426 --0.128992243709 -0.284264266087 --0.129100129106 -0.293290781227 --0.129208220247 -0.302325708416 --0.129316529452 -0.311368700284 --0.129115172345 -0.320263998444 --0.128921909598 -0.329137117903 --0.129046688231 -0.338144818663 --0.129171808691 -0.347162611324 --0.129297281399 -0.356190193664 --0.129070949202 -0.364934820232 --0.128852371657 -0.37365466268 --0.128993768039 -0.38264350287 --0.129135647531 -0.391644213004 --0.129278027418 -0.400656523148 --0.129027031361 -0.409239779378 --0.128783405269 -0.417795715428 --0.119766262407 --0.417555499135 --0.119974885274 --0.409003148501 --0.120189781202 --0.400423487838 --0.120068151997 --0.391416533986 --0.11994694742 --0.382421190785 --0.119826154123 --0.373437718621 --0.120013366477 --0.364721791389 --0.120207192594 --0.355981107083 --0.120099980048 --0.346958939993 --0.119993062919 --0.337946555365 --0.119886440228 --0.328944258994 --0.120052018349 --0.320075402375 --0.120224501981 --0.311184382842 --0.120131933109 --0.302146841114 --0.120039547321 --0.293117366971 --0.119947341396 --0.284096307594 --0.120090831902 --0.275087363604 --0.120241501656 --0.266058917218 --0.120163787217 --0.257006267279 --0.120086155975 --0.247960037592 --0.120008605437 --0.238920613875 --0.120129733187 --0.229786845378 --0.120258268358 --0.220636283847 --0.120195574268 --0.211569110069 --0.120132885097 --0.202506817159 --0.120070198996 --0.193449793239 --0.120168713121 --0.184208369208 --0.120274816413 --0.174952929749 --0.12022728667 --0.165872202036 --0.120179697443 --0.156794867476 --0.120132040599 --0.147721345948 --0.120207656592 --0.138391734483 --0.120291023043 --0.129050944463 --0.120258779905 --0.119957955015 --0.12022643518 --0.110866933694 --0.120193977907 --0.101778324247 --0.120246595312 --0.0923813106566 --0.120307076178 --0.0829760084906 --0.120290210515 --0.0738723200174 --0.120273204204 --0.0647692185448 --0.120256054547 --0.0556671727486 --0.12028545944 --0.0462246045372 --0.120322798552 --0.0367766736493 --0.12032136235 --0.0276640601106 --0.120319778041 --0.0185506950764 --0.120318051361 --0.00943705050459 --0.120317149359 -2.16840434497e-19 --0.120318051361 -0.00943705050459 --0.120319778041 -0.0185506950764 --0.12032136235 -0.0276640601106 --0.120322798552 -0.0367766736493 --0.12028545944 -0.0462246045372 --0.120256054547 -0.0556671727486 --0.120273204204 -0.0647692185448 --0.120290210515 -0.0738723200174 --0.120307076178 -0.0829760084906 --0.120246595312 -0.0923813106566 --0.120193977907 -0.101778324247 --0.12022643518 -0.110866933694 --0.120258779905 -0.119957955015 --0.120291023043 -0.129050944463 --0.120207656592 -0.138391734483 --0.120132040599 -0.147721345948 --0.120179697443 -0.156794867476 --0.12022728667 -0.165872202036 --0.120274816413 -0.174952929749 --0.120168713121 -0.184208369208 --0.120070198996 -0.193449793239 --0.120132885097 -0.202506817159 --0.120195574268 -0.211569110069 --0.120258268358 -0.220636283847 --0.120129733187 -0.229786845378 --0.120008605437 -0.238920613875 --0.120086155975 -0.247960037592 --0.120163787217 -0.257006267279 --0.120241501656 -0.266058917218 --0.120090831902 -0.275087363604 --0.119947341396 -0.284096307594 --0.120039547321 -0.293117366971 --0.120131933109 -0.302146841114 --0.120224501981 -0.311184382842 --0.120052018349 -0.320075402375 --0.119886440228 -0.328944258994 --0.119993062919 -0.337946555365 --0.120099980048 -0.346958939993 --0.120207192594 -0.355981107083 --0.120013366477 -0.364721791389 --0.119826154123 -0.373437718621 --0.11994694742 -0.382421190785 --0.120068151997 -0.391416533986 --0.120189781202 -0.400423487838 --0.119974885274 -0.409003148501 --0.119766262407 -0.417555499135 --0.110751742117 --0.417315274808 --0.110925346472 --0.408766473353 --0.111104129904 --0.400190379352 --0.111003249053 --0.391188812813 --0.110902717626 --0.38219883531 --0.110802533973 --0.373220741868 --0.110958378702 --0.364508730072 --0.111119688201 --0.355771971531 --0.111030727986 --0.346755219899 --0.11094201474 --0.337748253919 --0.11085354599 --0.328751378553 --0.110991427167 --0.319886760459 --0.111135027779 --0.310999991612 --0.111058196668 --0.301967909787 --0.110981519736 --0.29294390528 --0.110904994658 --0.283928312964 --0.111024504259 --0.27492392456 --0.111149966571 --0.265900050138 --0.111085459482 --0.256852903861 --0.111021020619 --0.247812176647 --0.110956647439 --0.238778270164 --0.111057536223 --0.229649334423 --0.111164577364 --0.220503609295 --0.111112538766 --0.211441981182 --0.111060506347 --0.202385238698 --0.111008478192 --0.193333776206 --0.111090514781 --0.184097418811 --0.111178864744 --0.174847055736 --0.111139435575 --0.165771919152 --0.11109995065 --0.156700173227 --0.111060410628 --0.147632250175 --0.111123348847 --0.138307904754 --0.111192734136 --0.128972385464 --0.11116601402 --0.119885011115 --0.111139200726 --0.110799609235 --0.111112295065 --0.10171662909 --0.111156048584 --0.0923250296629 --0.111206345944 --0.0829251490813 --0.111192418614 --0.073827107581 --0.111178370131 --0.0647296568895 --0.111164200718 --0.0556332629377 --0.111188569053 --0.0461962057708 --0.111219538784 --0.0367537926475 --0.111218452367 --0.0276468463017 --0.111217242109 --0.0185391506386 --0.111215902743 --0.0094311772543 --0.111215199413 --2.16840434497e-19 --0.111215902743 -0.0094311772543 --0.111217242109 -0.0185391506386 --0.111218452367 -0.0276468463017 --0.111219538784 -0.0367537926475 --0.111188569053 -0.0461962057708 --0.111164200718 -0.0556332629377 --0.111178370131 -0.0647296568895 --0.111192418614 -0.073827107581 --0.111206345944 -0.0829251490813 --0.111156048584 -0.0923250296629 --0.111112295065 -0.10171662909 --0.111139200726 -0.110799609235 --0.11116601402 -0.119885011115 --0.111192734136 -0.128972385464 --0.111123348847 -0.138307904754 --0.111060410628 -0.147632250175 --0.11109995065 -0.156700173227 --0.111139435575 -0.165771919152 --0.111178864744 -0.174847055736 --0.111090514781 -0.184097418811 --0.111008478192 -0.193333776206 --0.111060506347 -0.202385238698 --0.111112538766 -0.211441981182 --0.111164577364 -0.220503609295 --0.111057536223 -0.229649334423 --0.110956647439 -0.238778270164 --0.111021020619 -0.247812176647 --0.111085459482 -0.256852903861 --0.111149966571 -0.265900050138 --0.111024504259 -0.27492392456 --0.110904994658 -0.283928312964 --0.110981519736 -0.29294390528 --0.111058196668 -0.301967909787 --0.111135027779 -0.310999991612 --0.110991427167 -0.319886760459 --0.11085354599 -0.328751378553 --0.11094201474 -0.337748253919 --0.111030727986 -0.346755219899 --0.111119688201 -0.355771971531 --0.110958378702 -0.364508730072 --0.110802533973 -0.373220741868 --0.110902717626 -0.38219883531 --0.111003249053 -0.391188812813 --0.111104129904 -0.400190379352 --0.110925346472 -0.408766473353 --0.110751742117 -0.417315274808 --0.101740268009 --0.417075024135 --0.101878848481 --0.40852974668 --0.102021515647 --0.399957183718 --0.101941382425 --0.390961010158 --0.101861523164 --0.381976429451 --0.101781943502 --0.373003731274 --0.101906412091 --0.364295613117 --0.102035197213 --0.355562756113 --0.101964488118 --0.346551428763 --0.101893977724 --0.33754989285 --0.101823659292 --0.328558462833 --0.10193383571 --0.319698053951 --0.102048551503 --0.31081551924 --0.101987466715 --0.301788934149 --0.101926498104 --0.292770404466 --0.101865646554 --0.28376029 --0.101961167607 --0.274760428032 --0.102061418492 --0.265741102446 --0.102010119565 --0.256699488419 --0.101958873434 --0.24766429203 --0.101907675643 --0.238635913778 --0.101988318244 --0.229511771275 --0.102073858792 --0.220370859758 --0.102032479475 --0.211314793669 --0.101991103365 --0.202263612654 --0.101949729949 --0.193217731339 --0.102015290236 --0.183986420294 --0.102085880732 --0.174741109331 --0.1020545479 --0.165671580743 --0.102023168528 --0.156605441374 --0.101991742782 --0.147543127287 --0.10204200199 --0.138224021463 --0.10209740021 --0.128893749833 --0.102076196545 --0.119812010379 --0.102054918687 --0.110732248155 --0.102033569895 --0.101654910329 --0.102068458358 --0.0922687017979 --0.102108568505 --0.0828742195417 --0.102097577341 --0.0737818407737 --0.102086488746 --0.0646900595381 --0.102075305023 --0.0555993343987 --0.102075305023 -0.0555993343987 --0.102086488746 -0.0646900595381 --0.102097577341 -0.0737818407737 --0.102108568505 -0.0828742195417 --0.102068458358 -0.0922687017979 --0.102033569895 -0.101654910329 --0.102054918687 -0.110732248155 --0.102076196545 -0.119812010379 --0.10209740021 -0.128893749833 --0.10204200199 -0.138224021463 --0.101991742782 -0.147543127287 --0.102023168528 -0.156605441374 --0.1020545479 -0.165671580743 --0.102085880732 -0.174741109331 --0.102015290236 -0.183986420294 --0.101949729949 -0.193217731339 --0.101991103365 -0.202263612654 --0.102032479475 -0.211314793669 --0.102073858792 -0.220370859758 --0.101988318244 -0.229511771275 --0.101907675643 -0.238635913778 --0.101958873434 -0.24766429203 --0.102010119565 -0.256699488419 --0.102061418492 -0.265741102446 --0.101961167607 -0.274760428032 --0.101865646554 -0.28376029 --0.101926498104 -0.292770404466 --0.101987466715 -0.301788934149 --0.102048551503 -0.31081551924 --0.10193383571 -0.319698053951 --0.101823659292 -0.328558462833 --0.101893977724 -0.33754989285 --0.101964488118 -0.346551428763 --0.102035197213 -0.355562756113 --0.101906412091 -0.364295613117 --0.101781943502 -0.373003731274 --0.101861523164 -0.381976429451 --0.101941382425 -0.390961010158 --0.102021515647 -0.399957183718 --0.101878848481 -0.40852974668 --0.101740268009 -0.417075024135 --0.0922537343406 --0.417458490499 --0.0924201889105 --0.408908734125 --0.0925915939695 --0.400331690901 --0.0924949021761 --0.391326199114 --0.0923985445397 --0.382332332636 --0.0923025238947 --0.373350384764 --0.0924520380861 --0.364636962394 --0.0926067758041 --0.355898801859 --0.0925214855042 --0.346878247463 --0.0924364308875 --0.337867500016 --0.0923516105586 --0.328866891038 --0.0924838952309 --0.32000042577 --0.0926216592094 --0.311111837185 --0.0925479817193 --0.302076088723 --0.0924744452754 --0.29304840787 --0.0924010525133 --0.284029155575 --0.0925157491421 --0.275022537825 --0.0926361432899 --0.265996458547 --0.0925742523447 --0.256945714984 --0.0925124326817 --0.247901414743 --0.0924506765735 --0.238863936581 --0.092547514989 --0.22973241045 --0.092650243628 --0.22058412784 --0.0926002963861 --0.211518970489 --0.0925503529797 --0.202458704639 --0.0925004129478 --0.193403752543 --0.0925791915423 --0.184164531586 --0.0926640157322 --0.174911312263 --0.0926261432862 --0.165832707397 --0.0925882196675 --0.156757493019 --0.0925502448466 --0.147686115163 --0.0926107364696 --0.138358665631 --0.092677399614 --0.129020046872 --0.0926517005361 --0.119929241049 --0.0926259140767 --0.110840410919 --0.092600040865 --0.10175400501 --0.092642115436 --0.0923591238643 --0.0926904510311 --0.0829559626843 --0.0926770069137 --0.0738545053553 --0.0926770069137 -0.0738545053553 --0.0926904510311 -0.0829559626843 --0.092642115436 -0.0923591238643 --0.092600040865 -0.10175400501 --0.0926259140767 -0.110840410919 --0.0926517005361 -0.119929241049 --0.092677399614 -0.129020046872 --0.0926107364696 -0.138358665631 --0.0925502448466 -0.147686115163 --0.0925882196675 -0.156757493019 --0.0926261432862 -0.165832707397 --0.0926640157322 -0.174911312263 --0.0925791915423 -0.184164531586 --0.0925004129478 -0.193403752543 --0.0925503529797 -0.202458704639 --0.0926002963861 -0.211518970489 --0.092650243628 -0.22058412784 --0.092547514989 -0.22973241045 --0.0924506765735 -0.238863936581 --0.0925124326817 -0.247901414743 --0.0925742523447 -0.256945714984 --0.0926361432899 -0.265996458547 --0.0925157491421 -0.275022537825 --0.0924010525133 -0.284029155575 --0.0924744452754 -0.29304840787 --0.0925479817193 -0.302076088723 --0.0926216592094 -0.311111837185 --0.0924838952309 -0.32000042577 --0.0923516105586 -0.328866891038 --0.0924364308875 -0.337867500016 --0.0925214855042 -0.346878247463 --0.0926067758041 -0.355898801859 --0.0924520380861 -0.364636962394 --0.0923025238947 -0.373350384764 --0.0923985445397 -0.382332332636 --0.0924949021761 -0.391326199114 --0.0925915939695 -0.400331690901 --0.0924201889105 -0.408908734125 --0.0922537343406 -0.417458490499 --0.0831360819065 --0.444864786105 --0.0830097557356 --0.435863151256 --0.0828839553109 --0.426875073677 --0.0827586696219 --0.417900803494 --0.0829529327818 --0.40934574628 --0.0831530070509 --0.400763398109 --0.0830398035615 --0.391747276122 --0.0829269949742 --0.382742817399 --0.0828145767893 --0.373750301423 --0.0829890837175 --0.365030649936 --0.0831697154336 --0.356286260706 --0.0830698817986 --0.347255154174 --0.0829703264907 --0.338233884983 --0.0828710405418 --0.329222755778 --0.0830253816348 --0.320349213875 --0.0831861382175 --0.311453548296 --0.0830998988897 --0.302407278824 --0.0830138314486 --0.293369114078 --0.0829279320157 --0.284339396241 --0.0830617604436 --0.275324922774 --0.0832022518303 --0.266290973342 --0.0831298015087 --0.257229744328 --0.0830574366452 --0.248174989053 --0.082985148556 --0.239127064589 --0.0830981490933 --0.229986981733 --0.0832180278687 --0.220830133126 --0.08315953593 --0.211754522301 --0.0831010480192 --0.20268380939 --0.0830425630793 --0.193618414852 --0.083134528955 --0.184370031669 --0.0832335552826 --0.175107644823 --0.083189162574 --0.16601859676 --0.0831447108639 --0.15693293639 --0.0831002033439 --0.147851119968 --0.0831709070601 --0.138514021432 --0.0832488095964 --0.129165741075 --0.0832186265684 --0.120064483798 --0.0831883463521 --0.11096520576 --0.0831579580829 --0.101868352484 --0.0832071973084 --0.0924634507146 --0.0832637432598 --0.0830502591578 --0.0832637432598 -0.0830502591578 --0.0832071973084 -0.0924634507146 --0.0831579580829 -0.101868352484 --0.0831883463521 -0.11096520576 --0.0832186265684 -0.120064483798 --0.0832488095964 -0.129165741075 --0.0831709070601 -0.138514021432 --0.0831002033439 -0.147851119968 --0.0831447108639 -0.15693293639 --0.083189162574 -0.16601859676 --0.0832335552826 -0.175107644823 --0.083134528955 -0.184370031669 --0.0830425630793 -0.193618414852 --0.0831010480192 -0.20268380939 --0.08315953593 -0.211754522301 --0.0832180278687 -0.220830133126 --0.0830981490933 -0.229986981733 --0.082985148556 -0.239127064589 --0.0830574366452 -0.248174989053 --0.0831298015087 -0.257229744328 --0.0832022518303 -0.266290973342 --0.0830617604436 -0.275324922774 --0.0829279320157 -0.284339396241 --0.0830138314486 -0.293369114078 --0.0830998988897 -0.302407278824 --0.0831861382175 -0.311453548296 --0.0830253816348 -0.320349213875 --0.0828710405418 -0.329222755778 --0.0829703264907 -0.338233884983 --0.0830698817986 -0.347255154174 --0.0831697154336 -0.356286260706 --0.0829890837175 -0.365030649936 --0.0828145767893 -0.373750301423 --0.0829269949742 -0.382742817399 --0.0830398035615 -0.391747276122 --0.0831530070509 -0.400763398109 --0.0829529327818 -0.40934574628 --0.0827586696219 -0.417900803494 --0.0828839553109 -0.426875073677 --0.0830097557356 -0.435863151256 --0.0831360819065 -0.444864786105 --0.0740398926542 --0.444733770196 --0.0739368860898 --0.435734894127 --0.0738343073975 --0.426749587291 --0.0737321519524 --0.417778095852 --0.073891248985 --0.409224896145 --0.07405505717 --0.400644414755 --0.0739626953606 --0.391631086696 --0.0738706551116 --0.382629422609 --0.0737789319562 --0.373639684434 --0.0739219318863 --0.364922044921 --0.0740699086105 --0.356179689102 --0.0739884104076 --0.347151384697 --0.0739071390621 --0.338132913561 --0.0738260862094 --0.329124589097 --0.0739526131508 --0.320253205352 --0.0740843646237 --0.311359705125 --0.0740139364482 --0.302316256323 --0.0739436477834 --0.293280907556 --0.0738734949336 --0.284254019576 --0.0739832374021 --0.275241846171 --0.0740984154472 --0.26621019123 --0.0740392341972 --0.257151807762 --0.0739801191999 --0.248099894397 --0.0739210660009 --0.239054807683 --0.0740137403275 --0.229917139443 --0.0741120305748 --0.220762711541 --0.0740642439376 --0.211689964427 --0.0740164609969 --0.202622117609 --0.0739686791366 --0.193559579294 --0.0740441031978 --0.1843137122 --0.0741252983994 --0.175053845762 --0.0740890341906 --0.165967668926 --0.0740527259947 --0.156884899471 --0.0740163692637 --0.14780596262 --0.0740743384203 --0.13847146244 --0.0741381991675 --0.129125795272 --0.0741135598928 --0.120027428907 --0.0740888407372 --0.110931043975 --0.0740640331129 --0.101837085375 --0.0741043681447 --0.0924348551487 --0.0741043681447 -0.0924348551487 --0.0740640331129 -0.101837085375 --0.0740888407372 -0.110931043975 --0.0741135598928 -0.120027428907 --0.0741381991675 -0.129125795272 --0.0740743384203 -0.13847146244 --0.0740163692637 -0.14780596262 --0.0740527259947 -0.156884899471 --0.0740890341906 -0.165967668926 --0.0741252983994 -0.175053845762 --0.0740441031978 -0.1843137122 --0.0739686791366 -0.193559579294 --0.0740164609969 -0.202622117609 --0.0740642439376 -0.211689964427 --0.0741120305748 -0.220762711541 --0.0740137403275 -0.229917139443 --0.0739210660009 -0.239054807683 --0.0739801191999 -0.248099894397 --0.0740392341972 -0.257151807762 --0.0740984154472 -0.26621019123 --0.0739832374021 -0.275241846171 --0.0738734949336 -0.284254019576 --0.0739436477834 -0.293280907556 --0.0740139364482 -0.302316256323 --0.0740843646237 -0.311359705125 --0.0739526131508 -0.320253205352 --0.0738260862094 -0.329124589097 --0.0739071390621 -0.338132913561 --0.0739884104076 -0.347151384697 --0.0740699086105 -0.356179689102 --0.0739219318863 -0.364922044921 --0.0737789319562 -0.373639684434 --0.0738706551116 -0.382629422609 --0.0739626953606 -0.391631086696 --0.07405505717 -0.400644414755 --0.073891248985 -0.409224896145 --0.0737321519524 -0.417778095852 --0.0738343073975 -0.426749587291 --0.0739368860898 -0.435734894127 --0.0740398926542 -0.444733770196 --0.0649446695436 --0.44460242984 --0.0648649941562 --0.435606375044 --0.0647856455047 --0.426623858592 --0.0647066262548 --0.417655146386 --0.0648305371547 --0.409103780532 --0.0649580586285 --0.400525149941 --0.0648865415777 --0.391514639249 --0.064815273704 --0.382515781935 --0.0647442521486 --0.373528848719 --0.0648557210988 --0.364813190687 --0.0649710229278 --0.35607283238 --0.0649078686906 --0.347047360011 --0.0648448864062 --0.338031714149 --0.0647820754375 --0.32902622344 --0.064880772978 --0.320156978728 --0.0649834990886 --0.3112656103 --0.0649288859383 --0.302225003903 --0.0648743829544 --0.293192506582 --0.0648199839881 --0.284168470872 --0.0649056252757 --0.275158571797 --0.064995472156 --0.266129185857 --0.0649495610531 --0.257073663839 --0.0649037015841 --0.248024614146 --0.0648578875923 --0.238982392823 --0.0649302205342 --0.229847120712 --0.0650069092844 --0.220695089525 --0.0649698309855 --0.21162522257 --0.0649327564162 --0.202560262928 --0.0648956829273 --0.193500616283 --0.0649545566728 --0.18425724797 --0.065017908699 --0.17499987908 --0.0649897758901 --0.16591659288 --0.0649616115858 --0.156836727189 --0.0649334082625 --0.147760698565 --0.0649786355164 --0.138428778744 --0.0650284463669 --0.129085700049 --0.0650093546011 --0.119990250175 --0.0649901968987 --0.110896780752 --0.0649709703147 --0.101805736261 --0.0649709703147 -0.101805736261 --0.0649901968987 -0.110896780752 --0.0650093546011 -0.119990250175 --0.0650284463669 -0.129085700049 --0.0649786355164 -0.138428778744 --0.0649334082625 -0.147760698565 --0.0649616115858 -0.156836727189 --0.0649897758901 -0.16591659288 --0.065017908699 -0.17499987908 --0.0649545566728 -0.18425724797 --0.0648956829273 -0.193500616283 --0.0649327564162 -0.202560262928 --0.0649698309855 -0.21162522257 --0.0650069092844 -0.220695089525 --0.0649302205342 -0.229847120712 --0.0648578875923 -0.238982392823 --0.0649037015841 -0.248024614146 --0.0649495610531 -0.257073663839 --0.064995472156 -0.266129185857 --0.0649056252757 -0.275158571797 --0.0648199839881 -0.284168470872 --0.0648743829544 -0.293192506582 --0.0649288859383 -0.302225003903 --0.0649834990886 -0.3112656103 --0.064880772978 -0.320156978728 --0.0647820754375 -0.32902622344 --0.0648448864062 -0.338031714149 --0.0649078686906 -0.347047360011 --0.0649710229278 -0.35607283238 --0.0648557210988 -0.364813190687 --0.0647442521486 -0.373528848719 --0.064815273704 -0.382515781935 --0.0648865415777 -0.391514639249 --0.0649580586285 -0.400525149941 --0.0648305371547 -0.409103780532 --0.0647066262548 -0.417655146386 --0.0647856455047 -0.426623858592 --0.0648649941562 -0.435606375044 --0.0649446695436 -0.44460242984 --0.0558508757184 --0.444470808283 --0.0557945312859 --0.435477564862 --0.0557384173564 --0.426497847967 --0.0556825343015 --0.417531957678 --0.055771244458 --0.408982422497 --0.0558624628286 --0.400405597914 --0.0558117946622 --0.391397909161 --0.055761300715 --0.382401885636 --0.0557109793387 --0.373417775588 --0.0557909086642 --0.364704088099 --0.0558735221554 --0.355965708128 --0.0558287131825 --0.346943088985 --0.0557840245722 --0.337930303215 --0.0557394535916 --0.32892765996 --0.0558103095256 --0.32006052185 --0.0558840043279 --0.311171267591 --0.0558452074467 --0.30213352408 --0.055806487117 --0.293103892763 --0.0557678421198 --0.284082725673 --0.0558293732053 --0.27507507552 --0.0558938810371 --0.26604795177 --0.0558612423967 --0.256995313358 --0.0558286396918 --0.247949154839 --0.0557960662871 --0.238909832267 --0.0558480482459 --0.229776926249 --0.0559031277629 --0.220627267794 --0.0558767607998 --0.211560297414 --0.0558503942285 --0.202498236695 --0.0558240268154 --0.1934415024 --0.0558663419254 --0.18420062191 --0.0559118479094 --0.174945736548 --0.0558918495084 --0.165865363296 --0.0558718280842 --0.156788417117 --0.0558517788059 --0.147715319 --0.0558842614978 --0.138385967868 --0.0559200161528 --0.129045453336 --0.0559064706546 --0.119952939134 --0.0558928780134 --0.110862410538 --0.0558792345882 --0.101774305473 --0.0558792345882 -0.101774305473 --0.0558928780134 -0.110862410538 --0.0559064706546 -0.119952939134 --0.0559200161528 -0.129045453336 --0.0558842614978 -0.138385967868 --0.0558517788059 -0.147715319 --0.0558718280842 -0.156788417117 --0.0558918495084 -0.165865363296 --0.0559118479094 -0.174945736548 --0.0558663419254 -0.18420062191 --0.0558240268154 -0.1934415024 --0.0558503942285 -0.202498236695 --0.0558767607998 -0.211560297414 --0.0559031277629 -0.220627267794 --0.0558480482459 -0.229776926249 --0.0557960662871 -0.238909832267 --0.0558286396918 -0.247949154839 --0.0558612423967 -0.256995313358 --0.0558938810371 -0.26604795177 --0.0558293732053 -0.27507507552 --0.0557678421198 -0.284082725673 --0.055806487117 -0.293103892763 --0.0558452074467 -0.30213352408 --0.0558840043279 -0.311171267591 --0.0558103095256 -0.32006052185 --0.0557394535916 -0.32892765996 --0.0557840245722 -0.337930303215 --0.0558287131825 -0.346943088985 --0.0558735221554 -0.355965708128 --0.0557909086642 -0.364704088099 --0.0557109793387 -0.373417775588 --0.055761300715 -0.382401885636 --0.0558117946622 -0.391397909161 --0.0558624628286 -0.400405597914 --0.055771244458 -0.408982422497 --0.0556825343015 -0.417531957678 --0.0557384173564 -0.426497847967 --0.0557945312859 -0.435477564862 --0.0558508757184 -0.444470808283 --0.046376121769 --0.444697368755 --0.0463015019339 --0.435699046697 --0.0462271935633 --0.42671427198 --0.0461531901581 --0.417743336845 --0.04626946149 --0.409191016344 --0.0463890961608 --0.400611405805 --0.0463220847688 --0.391598666486 --0.0462553051202 --0.382597607606 --0.0461887546874 --0.373608477694 --0.0462933838906 --0.364891673266 --0.0464015870842 --0.356150166079 --0.0463423811938 --0.347122510394 --0.0462833397026 --0.338104703199 --0.0462244547054 --0.329097054416 --0.0463171279016 --0.320226443793 --0.0464135690272 --0.311333722299 --0.0463623439017 --0.302290975139 --0.0463112181243 --0.293256337796 --0.0462601913479 --0.284230163991 --0.0463406467448 --0.27521873629 --0.0464250349706 --0.266187844466 --0.0463819472917 --0.257130204592 --0.0463389060857 --0.248079036004 --0.0462959063285 --0.239034718864 --0.0463639046393 --0.229897766748 --0.0464359783408 --0.220744048667 --0.0464011531855 --0.21167207546 --0.0463663312799 --0.202605010092 --0.0463315094147 --0.193543270418 --0.0463868831823 --0.184298105837 --0.0464464506427 --0.175038931467 --0.0464199993117 --0.165953546009 --0.0463935152564 --0.156871584243 --0.0463669965927 --0.147793478353 --0.0464095786505 --0.13845965595 --0.046456448993 --0.129114659711 --0.0464384600951 --0.120017127268 --0.0464204108961 --0.110921576904 --0.0464204108961 -0.110921576904 --0.0464384600951 -0.120017127268 --0.046456448993 -0.129114659711 --0.0464095786505 -0.13845965595 --0.0463669965927 -0.147793478353 --0.0463935152564 -0.156871584243 --0.0464199993117 -0.165953546009 --0.0464464506427 -0.175038931467 --0.0463868831823 -0.184298105837 --0.0463315094147 -0.193543270418 --0.0463663312799 -0.202605010092 --0.0464011531855 -0.21167207546 --0.0464359783408 -0.220744048667 --0.0463639046393 -0.229897766748 --0.0462959063285 -0.239034718864 --0.0463389060857 -0.248079036004 --0.0463819472917 -0.257130204592 --0.0464250349706 -0.266187844466 --0.0463406467448 -0.27521873629 --0.0462601913479 -0.284230163991 --0.0463112181243 -0.293256337796 --0.0463623439017 -0.302290975139 --0.0464135690272 -0.311333722299 --0.0463171279016 -0.320226443793 --0.0462244547054 -0.329097054416 --0.0462833397026 -0.338104703199 --0.0463423811938 -0.347122510394 --0.0464015870842 -0.356150166079 --0.0462933838906 -0.364891673266 --0.0461887546874 -0.373608477694 --0.0462553051202 -0.382597607606 --0.0463220847688 -0.391598666486 --0.0463890961608 -0.400611405805 --0.04626946149 -0.409191016344 --0.0461531901581 -0.417743336845 --0.0462271935633 -0.42671427198 --0.0463015019339 -0.435699046697 --0.046376121769 -0.444697368755 --0.0368957865161 --0.444987171929 --0.0368029213202 --0.435982459336 --0.0367104437487 --0.426991327578 --0.0366183450522 --0.418014027912 --0.0367621529761 --0.409458087731 --0.0369101772962 --0.400874872524 --0.0368268439654 --0.391855762187 --0.0367438017397 --0.382848344741 --0.0366610464797 --0.373852880195 --0.0367903502607 --0.36513201548 --0.0369241197068 --0.356386434688 --0.0368505382855 --0.347352409638 --0.0367771604939 --0.338328237088 --0.03670398221 --0.329314244085 --0.0368184553891 --0.320439156118 --0.0369376182664 --0.311541938433 --0.0368739805433 --0.302492833222 --0.0368104708014 --0.293451847212 --0.0367470831325 --0.284419322647 --0.0368464434403 --0.275403003566 --0.0369506908377 --0.266367212757 --0.0368971665135 --0.25730321024 --0.0368437013147 --0.248245675022 --0.0367902919329 --0.239194999809 --0.0368742888211 --0.230052803869 --0.0369633398847 --0.220893823109 --0.0369200695187 --0.211815473574 --0.0368768042488 --0.202742037724 --0.036833540927 --0.193673923463 --0.036901960387 --0.184423196968 --0.0369755745669 --0.175158460905 --0.0369426795739 --0.166066696507 --0.0369097426344 --0.156978340929 --0.0368767633164 --0.147893834856 --0.0369294345967 --0.138554219433 --0.036987410967 --0.129203425953 --0.0369649854024 --0.120099482013 --0.0369424848681 --0.110997515554 --0.0369424848681 -0.110997515554 --0.0369649854024 -0.120099482013 --0.036987410967 -0.129203425953 --0.0369294345967 -0.138554219433 --0.0368767633164 -0.147893834856 --0.0369097426344 -0.156978340929 --0.0369426795739 -0.166066696507 --0.0369755745669 -0.175158460905 --0.036901960387 -0.184423196968 --0.036833540927 -0.193673923463 --0.0368768042488 -0.202742037724 --0.0369200695187 -0.211815473574 --0.0369633398847 -0.220893823109 --0.0368742888211 -0.230052803869 --0.0367902919329 -0.239194999809 --0.0368437013147 -0.248245675022 --0.0368971665135 -0.25730321024 --0.0369506908377 -0.266367212757 --0.0368464434403 -0.275403003566 --0.0367470831325 -0.284419322647 --0.0368104708014 -0.293451847212 --0.0368739805433 -0.302492833222 --0.0369376182664 -0.311541938433 --0.0368184553891 -0.320439156118 --0.03670398221 -0.329314244085 --0.0367771604939 -0.338328237088 --0.0368505382855 -0.347352409638 --0.0369241197068 -0.356386434688 --0.0367903502607 -0.36513201548 --0.0366610464797 -0.373852880195 --0.0367438017397 -0.382848344741 --0.0368268439654 -0.391855762187 --0.0369101772962 -0.400874872524 --0.0367621529761 -0.409458087731 --0.0366183450522 -0.418014027912 --0.0367104437487 -0.426991327578 --0.0368029213202 -0.435982459336 --0.0368957865161 -0.444987171929 --0.0277912250248 --0.444981660384 --0.027721749714 --0.435977150736 --0.0276525625647 --0.426986243338 --0.0275836585003 --0.418009156848 --0.0276921931922 --0.409453356029 --0.0278038398448 --0.400870286991 --0.0277414079634 --0.391851381448 --0.0276791925915 --0.382844168581 --0.027617191548 --0.373848908368 --0.0277148895948 --0.365128133693 --0.0278159020838 --0.356382633697 --0.027760709745 --0.347348805515 --0.0277056687862 --0.338324835287 --0.0276507779811 --0.329311038806 --0.0277373525843 --0.320436002876 --0.027827422261 --0.311538833841 --0.0277796408375 --0.302489911341 --0.0277319545704 --0.29344911385 --0.0276843593895 --0.284416784772 --0.0277595591647 --0.275400464113 --0.0278384142699 --0.266364669017 --0.0277981943046 --0.257300850773 --0.0277580182275 --0.248243505453 --0.0277178837535 --0.239193014049 --0.0277814887559 --0.230050781339 --0.0278488851862 --0.220891766843 --0.0278163521898 --0.21181359598 --0.0277838210296 --0.202740345144 --0.0277512912181 --0.193672411395 --0.02780311733 --0.1844216154 --0.0278588482642 --0.175156813672 --0.027834108017 --0.166065227905 --0.0278093348 --0.156977049877 --0.0277845292075 --0.14789271653 --0.0278244276328 --0.138553018196 --0.0278683193791 --0.129202140184 --0.0278514545012 --0.120098365966 --0.0278345321638 --0.110996574977 --0.0278345321638 -0.110996574977 --0.0278514545012 -0.120098365966 --0.0278683193791 -0.129202140184 --0.0278244276328 -0.138553018196 --0.0277845292075 -0.14789271653 --0.0278093348 -0.156977049877 --0.027834108017 -0.166065227905 --0.0278588482642 -0.175156813672 --0.02780311733 -0.1844216154 --0.0277512912181 -0.193672411395 --0.0277838210296 -0.202740345144 --0.0278163521898 -0.21181359598 --0.0278488851862 -0.220891766843 --0.0277814887559 -0.230050781339 --0.0277178837535 -0.239193014049 --0.0277580182275 -0.248243505453 --0.0277981943046 -0.257300850773 --0.0278384142699 -0.266364669017 --0.0277595591647 -0.275400464113 --0.0276843593895 -0.284416784772 --0.0277319545704 -0.29344911385 --0.0277796408375 -0.302489911341 --0.027827422261 -0.311538833841 --0.0277373525843 -0.320436002876 --0.0276507779811 -0.329311038806 --0.0277056687862 -0.338324835287 --0.027760709745 -0.347348805515 --0.0278159020838 -0.356382633697 --0.0277148895948 -0.365128133693 --0.027617191548 -0.373848908368 --0.0276791925915 -0.382844168581 --0.0277414079634 -0.391851381448 --0.0278038398448 -0.400870286991 --0.0276921931922 -0.409453356029 --0.0275836585003 -0.418009156848 --0.0276525625647 -0.426986243338 --0.027721749714 -0.435977150736 --0.0277912250248 -0.444981660384 --0.0186860156002 --0.444975735568 --0.0186399405574 --0.435971473683 --0.0185940556291 --0.426980802862 --0.0185483586657 --0.418003952611 --0.0186215906088 --0.409448268772 --0.0186968292818 --0.400865311073 --0.0186553099206 --0.391846657033 --0.0186139331806 --0.382839671933 --0.01857269769 --0.373844624903 --0.0186387637773 --0.365123921895 --0.0187069911061 --0.356378487586 --0.0186701973657 --0.347344871746 --0.0186335042161 --0.338321129606 --0.0185969102985 --0.329307566403 --0.0186555612554 --0.320432544145 --0.0187165128832 --0.311535391593 --0.0186845969581 --0.302486682971 --0.018652742191 --0.293446104948 --0.0186209476571 --0.28441400088 --0.0186719669805 --0.275397667502 --0.0187254081458 --0.266361850744 --0.0186984998286 --0.25729823443 --0.0186716199759 --0.24824109151 --0.0186447663391 --0.239190802694 --0.0186879639425 --0.230048521631 --0.0187336882482 --0.220889456341 --0.018711899098 --0.211811494058 --0.0186901087876 --0.2027384469 --0.0186683171263 --0.193670711886 --0.0187035376386 --0.184419844137 --0.0187413701699 --0.175154968587 --0.0187247877332 --0.166063571675 --0.0187081826038 --0.156975585883 --0.018691555676 --0.147891459142 --0.0187186706924 --0.138551661498 --0.0187484646371 --0.129200676265 --0.0187371633819 --0.120097099211 --0.0187258231465 --0.110995505425 --0.0187258231465 -0.110995505425 --0.0187371633819 -0.120097099211 --0.0187484646371 -0.129200676265 --0.0187186706924 -0.138551661498 --0.018691555676 -0.147891459142 --0.0187081826038 -0.156975585883 --0.0187247877332 -0.166063571675 --0.0187413701699 -0.175154968587 --0.0187035376386 -0.184419844137 --0.0186683171263 -0.193670711886 --0.0186901087876 -0.2027384469 --0.018711899098 -0.211811494058 --0.0187336882482 -0.220889456341 --0.0186879639425 -0.230048521631 --0.0186447663391 -0.239190802694 --0.0186716199759 -0.24824109151 --0.0186984998286 -0.25729823443 --0.0187254081458 -0.266361850744 --0.0186719669805 -0.275397667502 --0.0186209476571 -0.28441400088 --0.018652742191 -0.293446104948 --0.0186845969581 -0.302486682971 --0.0187165128832 -0.311535391593 --0.0186555612554 -0.320432544145 --0.0185969102985 -0.329307566403 --0.0186335042161 -0.338321129606 --0.0186701973657 -0.347344871746 --0.0187069911061 -0.356378487586 --0.0186387637773 -0.365123921895 --0.01857269769 -0.373844624903 --0.0186139331806 -0.382839671933 --0.0186553099206 -0.391846657033 --0.0186968292818 -0.400865311073 --0.0186215906088 -0.409448268772 --0.0185483586657 -0.418003952611 --0.0185940556291 -0.426980802862 --0.0186399405574 -0.435971473683 --0.0186860156002 -0.444975735568 --0.00958062196408 --0.444969430065 --0.0095579563547 --0.435965417381 --0.0095353820167 --0.426974995376 --0.009512897692 --0.417998415256 --0.00955080404256 --0.409442844546 --0.0095896128528 --0.400859974234 --0.00956901262582 --0.391841565928 --0.0095484809934 --0.38283483178 --0.00952801706145 --0.373840035392 --0.00956242999499 --0.365119380352 --0.00959785233905 --0.356373985478 --0.0095794645274 --0.347340621864 --0.00956112471446 --0.33831712389 --0.00954283230263 --0.329303796754 --0.0095735426091 --0.320428783779 --0.00960535796275 --0.311531637523 --0.0095893127628 --0.302483166655 --0.00957329636066 --0.293442820542 --0.00955730796401 --0.284410954667 --0.00958413043115 --0.275394590435 --0.0096121416731 --0.26635873958 --0.00959855065346 --0.25729536125 --0.0095849713247 --0.248238444782 --0.00957140282504 --0.2391883825 --0.00959418036852 --0.230046029952 --0.00961821854386 --0.220886891636 --0.0096071759025 --0.211809157131 --0.00959613008312 --0.202736332311 --0.00958508140349 --0.193668824959 --0.0096036849819 --0.184417867519 --0.00962360683561 --0.175152892004 --0.00961518686925 --0.166061716617 --0.00960675382589 --0.156973956393 --0.0095983071859 --0.147890053645 --0.00961263044987 --0.138550130531 --0.00962831896545 --0.129199025118 --0.00962258422045 --0.12009567309 --0.00961682696756 --0.110994298675 --0.00961682696756 -0.110994298675 --0.00962258422045 -0.12009567309 --0.00962831896545 -0.129199025118 --0.00961263044987 -0.138550130531 --0.0095983071859 -0.147890053645 --0.00960675382589 -0.156973956393 --0.00961518686925 -0.166061716617 --0.00962360683561 -0.175152892004 --0.0096036849819 -0.184417867519 --0.00958508140349 -0.193668824959 --0.00959613008312 -0.202736332311 --0.0096071759025 -0.211809157131 --0.00961821854386 -0.220886891636 --0.00959418036852 -0.230046029952 --0.00957140282504 -0.2391883825 --0.0095849713247 -0.248238444782 --0.00959855065346 -0.25729536125 --0.0096121416731 -0.26635873958 --0.00958413043115 -0.275394590435 --0.00955730796401 -0.284410954667 --0.00957329636066 -0.293442820542 --0.0095893127628 -0.302483166655 --0.00960535796275 -0.311531637523 --0.0095735426091 -0.320428783779 --0.00954283230263 -0.329303796754 --0.00956112471446 -0.33831712389 --0.0095794645274 -0.347340621864 --0.00959785233905 -0.356373985478 --0.00956242999499 -0.365119380352 --0.00952801706145 -0.373840035392 --0.0095484809934 -0.38283483178 --0.00956901262582 -0.391841565928 --0.0095896128528 -0.400859974234 --0.00955080404256 -0.409442844546 --0.009512897692 -0.417998415256 --0.0095353820167 -0.426974995376 --0.0095579563547 -0.435965417381 --0.00958062196408 -0.444969430065 -0 --0.444966181715 -0 --0.435962284222 -0 --0.426971997728 -0 --0.417995562543 -0 --0.409440046984 -0 --0.400857220697 -0 --0.391838914927 -0 --0.382832312153 -0 --0.373837661282 -0 --0.365117029911 -0 --0.356371646096 -0 --0.347338418464 -0 --0.338315048497 -0 --0.329301835773 -0 --0.320426830896 -0 --0.311529691168 -0 --0.302481338043 -0 --0.293441104106 -0 --0.284409363878 -0 --0.275392978581 -0 --0.266357104707 -0 --0.257293854453 -0 --0.248237060256 -0 --0.239187114396 -0 --0.230044720345 -0 --0.220885545925 -0 --0.211807931325 -0 --0.202735225647 -0 --0.19366783814 -0 --0.184416826485 -0 --0.175151793255 -0 --0.166060737452 -0 --0.156973099541 -0 --0.147889311661 -0 --0.138549320014 -0 --0.129198151999 -0 --0.120094917391 -0 --0.110993660426 -0 -0.110993660426 -0 -0.120094917391 -0 -0.129198151999 -0 -0.138549320014 -0 -0.147889311661 -0 -0.156973099541 -0 -0.166060737452 -0 -0.175151793255 -0 -0.184416826485 -0 -0.19366783814 -0 -0.202735225647 -0 -0.211807931325 -0 -0.220885545925 -0 -0.230044720345 -0 -0.239187114396 -0 -0.248237060256 -0 -0.257293854453 -0 -0.266357104707 -0 -0.275392978581 -0 -0.284409363878 -0 -0.293441104106 -0 -0.302481338043 -0 -0.311529691168 -0 -0.320426830896 -0 -0.329301835773 -0 -0.338315048497 -0 -0.347338418464 -0 -0.356371646096 -0 -0.365117029911 -0 -0.373837661282 -0 -0.382832312153 -0 -0.391838914927 -0 -0.400857220697 -0 -0.409440046984 -0 -0.417995562543 -0 -0.426971997728 -0 -0.435962284222 -0 -0.444966181715 -0.00958062196408 --0.444969430065 -0.0095579563547 --0.435965417381 -0.0095353820167 --0.426974995376 -0.009512897692 --0.417998415256 -0.00955080404256 --0.409442844546 -0.0095896128528 --0.400859974234 -0.00956901262582 --0.391841565928 -0.0095484809934 --0.38283483178 -0.00952801706145 --0.373840035392 -0.00956242999499 --0.365119380352 -0.00959785233905 --0.356373985478 -0.0095794645274 --0.347340621864 -0.00956112471446 --0.33831712389 -0.00954283230263 --0.329303796754 -0.0095735426091 --0.320428783779 -0.00960535796275 --0.311531637523 -0.0095893127628 --0.302483166655 -0.00957329636066 --0.293442820542 -0.00955730796401 --0.284410954667 -0.00958413043115 --0.275394590435 -0.0096121416731 --0.26635873958 -0.00959855065346 --0.25729536125 -0.0095849713247 --0.248238444782 -0.00957140282504 --0.2391883825 -0.00959418036852 --0.230046029952 -0.00961821854386 --0.220886891636 -0.0096071759025 --0.211809157131 -0.00959613008312 --0.202736332311 -0.00958508140349 --0.193668824959 -0.0096036849819 --0.184417867519 -0.00962360683561 --0.175152892004 -0.00961518686925 --0.166061716617 -0.00960675382589 --0.156973956393 -0.0095983071859 --0.147890053645 -0.00961263044987 --0.138550130531 -0.00962831896545 --0.129199025118 -0.00962258422045 --0.12009567309 -0.00961682696756 --0.110994298675 -0.00961682696756 -0.110994298675 -0.00962258422045 -0.12009567309 -0.00962831896545 -0.129199025118 -0.00961263044987 -0.138550130531 -0.0095983071859 -0.147890053645 -0.00960675382589 -0.156973956393 -0.00961518686925 -0.166061716617 -0.00962360683561 -0.175152892004 -0.0096036849819 -0.184417867519 -0.00958508140349 -0.193668824959 -0.00959613008312 -0.202736332311 -0.0096071759025 -0.211809157131 -0.00961821854386 -0.220886891636 -0.00959418036852 -0.230046029952 -0.00957140282504 -0.2391883825 -0.0095849713247 -0.248238444782 -0.00959855065346 -0.25729536125 -0.0096121416731 -0.26635873958 -0.00958413043115 -0.275394590435 -0.00955730796401 -0.284410954667 -0.00957329636066 -0.293442820542 -0.0095893127628 -0.302483166655 -0.00960535796275 -0.311531637523 -0.0095735426091 -0.320428783779 -0.00954283230263 -0.329303796754 -0.00956112471446 -0.33831712389 -0.0095794645274 -0.347340621864 -0.00959785233905 -0.356373985478 -0.00956242999499 -0.365119380352 -0.00952801706145 -0.373840035392 -0.0095484809934 -0.38283483178 -0.00956901262582 -0.391841565928 -0.0095896128528 -0.400859974234 -0.00955080404256 -0.409442844546 -0.009512897692 -0.417998415256 -0.0095353820167 -0.426974995376 -0.0095579563547 -0.435965417381 -0.00958062196408 -0.444969430065 -0.0186860156002 --0.444975735568 -0.0186399405574 --0.435971473683 -0.0185940556291 --0.426980802862 -0.0185483586657 --0.418003952611 -0.0186215906088 --0.409448268772 -0.0186968292818 --0.400865311073 -0.0186553099206 --0.391846657033 -0.0186139331806 --0.382839671933 -0.01857269769 --0.373844624903 -0.0186387637773 --0.365123921895 -0.0187069911061 --0.356378487586 -0.0186701973657 --0.347344871746 -0.0186335042161 --0.338321129606 -0.0185969102985 --0.329307566403 -0.0186555612554 --0.320432544145 -0.0187165128832 --0.311535391593 -0.0186845969581 --0.302486682971 -0.018652742191 --0.293446104948 -0.0186209476571 --0.28441400088 -0.0186719669805 --0.275397667502 -0.0187254081458 --0.266361850744 -0.0186984998286 --0.25729823443 -0.0186716199759 --0.24824109151 -0.0186447663391 --0.239190802694 -0.0186879639425 --0.230048521631 -0.0187336882482 --0.220889456341 -0.018711899098 --0.211811494058 -0.0186901087876 --0.2027384469 -0.0186683171263 --0.193670711886 -0.0187035376386 --0.184419844137 -0.0187413701699 --0.175154968587 -0.0187247877332 --0.166063571675 -0.0187081826038 --0.156975585883 -0.018691555676 --0.147891459142 -0.0187186706924 --0.138551661498 -0.0187484646371 --0.129200676265 -0.0187371633819 --0.120097099211 -0.0187258231465 --0.110995505425 -0.0187258231465 -0.110995505425 -0.0187371633819 -0.120097099211 -0.0187484646371 -0.129200676265 -0.0187186706924 -0.138551661498 -0.018691555676 -0.147891459142 -0.0187081826038 -0.156975585883 -0.0187247877332 -0.166063571675 -0.0187413701699 -0.175154968587 -0.0187035376386 -0.184419844137 -0.0186683171263 -0.193670711886 -0.0186901087876 -0.2027384469 -0.018711899098 -0.211811494058 -0.0187336882482 -0.220889456341 -0.0186879639425 -0.230048521631 -0.0186447663391 -0.239190802694 -0.0186716199759 -0.24824109151 -0.0186984998286 -0.25729823443 -0.0187254081458 -0.266361850744 -0.0186719669805 -0.275397667502 -0.0186209476571 -0.28441400088 -0.018652742191 -0.293446104948 -0.0186845969581 -0.302486682971 -0.0187165128832 -0.311535391593 -0.0186555612554 -0.320432544145 -0.0185969102985 -0.329307566403 -0.0186335042161 -0.338321129606 -0.0186701973657 -0.347344871746 -0.0187069911061 -0.356378487586 -0.0186387637773 -0.365123921895 -0.01857269769 -0.373844624903 -0.0186139331806 -0.382839671933 -0.0186553099206 -0.391846657033 -0.0186968292818 -0.400865311073 -0.0186215906088 -0.409448268772 -0.0185483586657 -0.418003952611 -0.0185940556291 -0.426980802862 -0.0186399405574 -0.435971473683 -0.0186860156002 -0.444975735568 -0.0277912250248 --0.444981660384 -0.027721749714 --0.435977150736 -0.0276525625647 --0.426986243338 -0.0275836585003 --0.418009156848 -0.0276921931922 --0.409453356029 -0.0278038398448 --0.400870286991 -0.0277414079634 --0.391851381448 -0.0276791925915 --0.382844168581 -0.027617191548 --0.373848908368 -0.0277148895948 --0.365128133693 -0.0278159020838 --0.356382633697 -0.027760709745 --0.347348805515 -0.0277056687862 --0.338324835287 -0.0276507779811 --0.329311038806 -0.0277373525843 --0.320436002876 -0.027827422261 --0.311538833841 -0.0277796408375 --0.302489911341 -0.0277319545704 --0.29344911385 -0.0276843593895 --0.284416784772 -0.0277595591647 --0.275400464113 -0.0278384142699 --0.266364669017 -0.0277981943046 --0.257300850773 -0.0277580182275 --0.248243505453 -0.0277178837535 --0.239193014049 -0.0277814887559 --0.230050781339 -0.0278488851862 --0.220891766843 -0.0278163521898 --0.21181359598 -0.0277838210296 --0.202740345144 -0.0277512912181 --0.193672411395 -0.02780311733 --0.1844216154 -0.0278588482642 --0.175156813672 -0.027834108017 --0.166065227905 -0.0278093348 --0.156977049877 -0.0277845292075 --0.14789271653 -0.0278244276328 --0.138553018196 -0.0278683193791 --0.129202140184 -0.0278514545012 --0.120098365966 -0.0278345321638 --0.110996574977 -0.0278345321638 -0.110996574977 -0.0278514545012 -0.120098365966 -0.0278683193791 -0.129202140184 -0.0278244276328 -0.138553018196 -0.0277845292075 -0.14789271653 -0.0278093348 -0.156977049877 -0.027834108017 -0.166065227905 -0.0278588482642 -0.175156813672 -0.02780311733 -0.1844216154 -0.0277512912181 -0.193672411395 -0.0277838210296 -0.202740345144 -0.0278163521898 -0.21181359598 -0.0278488851862 -0.220891766843 -0.0277814887559 -0.230050781339 -0.0277178837535 -0.239193014049 -0.0277580182275 -0.248243505453 -0.0277981943046 -0.257300850773 -0.0278384142699 -0.266364669017 -0.0277595591647 -0.275400464113 -0.0276843593895 -0.284416784772 -0.0277319545704 -0.29344911385 -0.0277796408375 -0.302489911341 -0.027827422261 -0.311538833841 -0.0277373525843 -0.320436002876 -0.0276507779811 -0.329311038806 -0.0277056687862 -0.338324835287 -0.027760709745 -0.347348805515 -0.0278159020838 -0.356382633697 -0.0277148895948 -0.365128133693 -0.027617191548 -0.373848908368 -0.0276791925915 -0.382844168581 -0.0277414079634 -0.391851381448 -0.0278038398448 -0.400870286991 -0.0276921931922 -0.409453356029 -0.0275836585003 -0.418009156848 -0.0276525625647 -0.426986243338 -0.027721749714 -0.435977150736 -0.0277912250248 -0.444981660384 -0.0368957865161 --0.444987171929 -0.0368029213202 --0.435982459336 -0.0367104437487 --0.426991327578 -0.0366183450522 --0.418014027912 -0.0367621529761 --0.409458087731 -0.0369101772962 --0.400874872524 -0.0368268439654 --0.391855762187 -0.0367438017397 --0.382848344741 -0.0366610464797 --0.373852880195 -0.0367903502607 --0.36513201548 -0.0369241197068 --0.356386434688 -0.0368505382855 --0.347352409638 -0.0367771604939 --0.338328237088 -0.03670398221 --0.329314244085 -0.0368184553891 --0.320439156118 -0.0369376182664 --0.311541938433 -0.0368739805433 --0.302492833222 -0.0368104708014 --0.293451847212 -0.0367470831325 --0.284419322647 -0.0368464434403 --0.275403003566 -0.0369506908377 --0.266367212757 -0.0368971665135 --0.25730321024 -0.0368437013147 --0.248245675022 -0.0367902919329 --0.239194999809 -0.0368742888211 --0.230052803869 -0.0369633398847 --0.220893823109 -0.0369200695187 --0.211815473574 -0.0368768042488 --0.202742037724 -0.036833540927 --0.193673923463 -0.036901960387 --0.184423196968 -0.0369755745669 --0.175158460905 -0.0369426795739 --0.166066696507 -0.0369097426344 --0.156978340929 -0.0368767633164 --0.147893834856 -0.0369294345967 --0.138554219433 -0.036987410967 --0.129203425953 -0.0369649854024 --0.120099482013 -0.0369424848681 --0.110997515554 -0.0369424848681 -0.110997515554 -0.0369649854024 -0.120099482013 -0.036987410967 -0.129203425953 -0.0369294345967 -0.138554219433 -0.0368767633164 -0.147893834856 -0.0369097426344 -0.156978340929 -0.0369426795739 -0.166066696507 -0.0369755745669 -0.175158460905 -0.036901960387 -0.184423196968 -0.036833540927 -0.193673923463 -0.0368768042488 -0.202742037724 -0.0369200695187 -0.211815473574 -0.0369633398847 -0.220893823109 -0.0368742888211 -0.230052803869 -0.0367902919329 -0.239194999809 -0.0368437013147 -0.248245675022 -0.0368971665135 -0.25730321024 -0.0369506908377 -0.266367212757 -0.0368464434403 -0.275403003566 -0.0367470831325 -0.284419322647 -0.0368104708014 -0.293451847212 -0.0368739805433 -0.302492833222 -0.0369376182664 -0.311541938433 -0.0368184553891 -0.320439156118 -0.03670398221 -0.329314244085 -0.0367771604939 -0.338328237088 -0.0368505382855 -0.347352409638 -0.0369241197068 -0.356386434688 -0.0367903502607 -0.36513201548 -0.0366610464797 -0.373852880195 -0.0367438017397 -0.382848344741 -0.0368268439654 -0.391855762187 -0.0369101772962 -0.400874872524 -0.0367621529761 -0.409458087731 -0.0366183450522 -0.418014027912 -0.0367104437487 -0.426991327578 -0.0368029213202 -0.435982459336 -0.0368957865161 -0.444987171929 -0.046376121769 --0.444697368755 -0.0463015019339 --0.435699046697 -0.0462271935633 --0.42671427198 -0.0461531901581 --0.417743336845 -0.04626946149 --0.409191016344 -0.0463890961608 --0.400611405805 -0.0463220847688 --0.391598666486 -0.0462553051202 --0.382597607606 -0.0461887546874 --0.373608477694 -0.0462933838906 --0.364891673266 -0.0464015870842 --0.356150166079 -0.0463423811938 --0.347122510394 -0.0462833397026 --0.338104703199 -0.0462244547054 --0.329097054416 -0.0463171279016 --0.320226443793 -0.0464135690272 --0.311333722299 -0.0463623439017 --0.302290975139 -0.0463112181243 --0.293256337796 -0.0462601913479 --0.284230163991 -0.0463406467448 --0.27521873629 -0.0464250349706 --0.266187844466 -0.0463819472917 --0.257130204592 -0.0463389060857 --0.248079036004 -0.0462959063285 --0.239034718864 -0.0463639046393 --0.229897766748 -0.0464359783408 --0.220744048667 -0.0464011531855 --0.21167207546 -0.0463663312799 --0.202605010092 -0.0463315094147 --0.193543270418 -0.0463868831823 --0.184298105837 -0.0464464506427 --0.175038931467 -0.0464199993117 --0.165953546009 -0.0463935152564 --0.156871584243 -0.0463669965927 --0.147793478353 -0.0464095786505 --0.13845965595 -0.046456448993 --0.129114659711 -0.0464384600951 --0.120017127268 -0.0464204108961 --0.110921576904 -0.0464204108961 -0.110921576904 -0.0464384600951 -0.120017127268 -0.046456448993 -0.129114659711 -0.0464095786505 -0.13845965595 -0.0463669965927 -0.147793478353 -0.0463935152564 -0.156871584243 -0.0464199993117 -0.165953546009 -0.0464464506427 -0.175038931467 -0.0463868831823 -0.184298105837 -0.0463315094147 -0.193543270418 -0.0463663312799 -0.202605010092 -0.0464011531855 -0.21167207546 -0.0464359783408 -0.220744048667 -0.0463639046393 -0.229897766748 -0.0462959063285 -0.239034718864 -0.0463389060857 -0.248079036004 -0.0463819472917 -0.257130204592 -0.0464250349706 -0.266187844466 -0.0463406467448 -0.27521873629 -0.0462601913479 -0.284230163991 -0.0463112181243 -0.293256337796 -0.0463623439017 -0.302290975139 -0.0464135690272 -0.311333722299 -0.0463171279016 -0.320226443793 -0.0462244547054 -0.329097054416 -0.0462833397026 -0.338104703199 -0.0463423811938 -0.347122510394 -0.0464015870842 -0.356150166079 -0.0462933838906 -0.364891673266 -0.0461887546874 -0.373608477694 -0.0462553051202 -0.382597607606 -0.0463220847688 -0.391598666486 -0.0463890961608 -0.400611405805 -0.04626946149 -0.409191016344 -0.0461531901581 -0.417743336845 -0.0462271935633 -0.42671427198 -0.0463015019339 -0.435699046697 -0.046376121769 -0.444697368755 -0.0558508757184 --0.444470808283 -0.0557945312859 --0.435477564862 -0.0557384173564 --0.426497847967 -0.0556825343015 --0.417531957678 -0.055771244458 --0.408982422497 -0.0558624628286 --0.400405597914 -0.0558117946622 --0.391397909161 -0.055761300715 --0.382401885636 -0.0557109793387 --0.373417775588 -0.0557909086642 --0.364704088099 -0.0558735221554 --0.355965708128 -0.0558287131825 --0.346943088985 -0.0557840245722 --0.337930303215 -0.0557394535916 --0.32892765996 -0.0558103095256 --0.32006052185 -0.0558840043279 --0.311171267591 -0.0558452074467 --0.30213352408 -0.055806487117 --0.293103892763 -0.0557678421198 --0.284082725673 -0.0558293732053 --0.27507507552 -0.0558938810371 --0.26604795177 -0.0558612423967 --0.256995313358 -0.0558286396918 --0.247949154839 -0.0557960662871 --0.238909832267 -0.0558480482459 --0.229776926249 -0.0559031277629 --0.220627267794 -0.0558767607998 --0.211560297414 -0.0558503942285 --0.202498236695 -0.0558240268154 --0.1934415024 -0.0558663419254 --0.18420062191 -0.0559118479094 --0.174945736548 -0.0558918495084 --0.165865363296 -0.0558718280842 --0.156788417117 -0.0558517788059 --0.147715319 -0.0558842614978 --0.138385967868 -0.0559200161528 --0.129045453336 -0.0559064706546 --0.119952939134 -0.0558928780134 --0.110862410538 -0.0558792345882 --0.101774305473 -0.0558792345882 -0.101774305473 -0.0558928780134 -0.110862410538 -0.0559064706546 -0.119952939134 -0.0559200161528 -0.129045453336 -0.0558842614978 -0.138385967868 -0.0558517788059 -0.147715319 -0.0558718280842 -0.156788417117 -0.0558918495084 -0.165865363296 -0.0559118479094 -0.174945736548 -0.0558663419254 -0.18420062191 -0.0558240268154 -0.1934415024 -0.0558503942285 -0.202498236695 -0.0558767607998 -0.211560297414 -0.0559031277629 -0.220627267794 -0.0558480482459 -0.229776926249 -0.0557960662871 -0.238909832267 -0.0558286396918 -0.247949154839 -0.0558612423967 -0.256995313358 -0.0558938810371 -0.26604795177 -0.0558293732053 -0.27507507552 -0.0557678421198 -0.284082725673 -0.055806487117 -0.293103892763 -0.0558452074467 -0.30213352408 -0.0558840043279 -0.311171267591 -0.0558103095256 -0.32006052185 -0.0557394535916 -0.32892765996 -0.0557840245722 -0.337930303215 -0.0558287131825 -0.346943088985 -0.0558735221554 -0.355965708128 -0.0557909086642 -0.364704088099 -0.0557109793387 -0.373417775588 -0.055761300715 -0.382401885636 -0.0558117946622 -0.391397909161 -0.0558624628286 -0.400405597914 -0.055771244458 -0.408982422497 -0.0556825343015 -0.417531957678 -0.0557384173564 -0.426497847967 -0.0557945312859 -0.435477564862 -0.0558508757184 -0.444470808283 -0.0649446695436 --0.44460242984 -0.0648649941562 --0.435606375044 -0.0647856455047 --0.426623858592 -0.0647066262548 --0.417655146386 -0.0648305371547 --0.409103780532 -0.0649580586285 --0.400525149941 -0.0648865415777 --0.391514639249 -0.064815273704 --0.382515781935 -0.0647442521486 --0.373528848719 -0.0648557210988 --0.364813190687 -0.0649710229278 --0.35607283238 -0.0649078686906 --0.347047360011 -0.0648448864062 --0.338031714149 -0.0647820754375 --0.32902622344 -0.064880772978 --0.320156978728 -0.0649834990886 --0.3112656103 -0.0649288859383 --0.302225003903 -0.0648743829544 --0.293192506582 -0.0648199839881 --0.284168470872 -0.0649056252757 --0.275158571797 -0.064995472156 --0.266129185857 -0.0649495610531 --0.257073663839 -0.0649037015841 --0.248024614146 -0.0648578875923 --0.238982392823 -0.0649302205342 --0.229847120712 -0.0650069092844 --0.220695089525 -0.0649698309855 --0.21162522257 -0.0649327564162 --0.202560262928 -0.0648956829273 --0.193500616283 -0.0649545566728 --0.18425724797 -0.065017908699 --0.17499987908 -0.0649897758901 --0.16591659288 -0.0649616115858 --0.156836727189 -0.0649334082625 --0.147760698565 -0.0649786355164 --0.138428778744 -0.0650284463669 --0.129085700049 -0.0650093546011 --0.119990250175 -0.0649901968987 --0.110896780752 -0.0649709703147 --0.101805736261 -0.0649709703147 -0.101805736261 -0.0649901968987 -0.110896780752 -0.0650093546011 -0.119990250175 -0.0650284463669 -0.129085700049 -0.0649786355164 -0.138428778744 -0.0649334082625 -0.147760698565 -0.0649616115858 -0.156836727189 -0.0649897758901 -0.16591659288 -0.065017908699 -0.17499987908 -0.0649545566728 -0.18425724797 -0.0648956829273 -0.193500616283 -0.0649327564162 -0.202560262928 -0.0649698309855 -0.21162522257 -0.0650069092844 -0.220695089525 -0.0649302205342 -0.229847120712 -0.0648578875923 -0.238982392823 -0.0649037015841 -0.248024614146 -0.0649495610531 -0.257073663839 -0.064995472156 -0.266129185857 -0.0649056252757 -0.275158571797 -0.0648199839881 -0.284168470872 -0.0648743829544 -0.293192506582 -0.0649288859383 -0.302225003903 -0.0649834990886 -0.3112656103 -0.064880772978 -0.320156978728 -0.0647820754375 -0.32902622344 -0.0648448864062 -0.338031714149 -0.0649078686906 -0.347047360011 -0.0649710229278 -0.35607283238 -0.0648557210988 -0.364813190687 -0.0647442521486 -0.373528848719 -0.064815273704 -0.382515781935 -0.0648865415777 -0.391514639249 -0.0649580586285 -0.400525149941 -0.0648305371547 -0.409103780532 -0.0647066262548 -0.417655146386 -0.0647856455047 -0.426623858592 -0.0648649941562 -0.435606375044 -0.0649446695436 -0.44460242984 -0.0740398926542 --0.444733770196 -0.0739368860898 --0.435734894127 -0.0738343073975 --0.426749587291 -0.0737321519524 --0.417778095852 -0.073891248985 --0.409224896145 -0.07405505717 --0.400644414755 -0.0739626953606 --0.391631086696 -0.0738706551116 --0.382629422609 -0.0737789319562 --0.373639684434 -0.0739219318863 --0.364922044921 -0.0740699086105 --0.356179689102 -0.0739884104076 --0.347151384697 -0.0739071390621 --0.338132913561 -0.0738260862094 --0.329124589097 -0.0739526131508 --0.320253205352 -0.0740843646237 --0.311359705125 -0.0740139364482 --0.302316256323 -0.0739436477834 --0.293280907556 -0.0738734949336 --0.284254019576 -0.0739832374021 --0.275241846171 -0.0740984154472 --0.26621019123 -0.0740392341972 --0.257151807762 -0.0739801191999 --0.248099894397 -0.0739210660009 --0.239054807683 -0.0740137403275 --0.229917139443 -0.0741120305748 --0.220762711541 -0.0740642439376 --0.211689964427 -0.0740164609969 --0.202622117609 -0.0739686791366 --0.193559579294 -0.0740441031978 --0.1843137122 -0.0741252983994 --0.175053845762 -0.0740890341906 --0.165967668926 -0.0740527259947 --0.156884899471 -0.0740163692637 --0.14780596262 -0.0740743384203 --0.13847146244 -0.0741381991675 --0.129125795272 -0.0741135598928 --0.120027428907 -0.0740888407372 --0.110931043975 -0.0740640331129 --0.101837085375 -0.0741043681447 --0.0924348551487 -0.0741043681447 -0.0924348551487 -0.0740640331129 -0.101837085375 -0.0740888407372 -0.110931043975 -0.0741135598928 -0.120027428907 -0.0741381991675 -0.129125795272 -0.0740743384203 -0.13847146244 -0.0740163692637 -0.14780596262 -0.0740527259947 -0.156884899471 -0.0740890341906 -0.165967668926 -0.0741252983994 -0.175053845762 -0.0740441031978 -0.1843137122 -0.0739686791366 -0.193559579294 -0.0740164609969 -0.202622117609 -0.0740642439376 -0.211689964427 -0.0741120305748 -0.220762711541 -0.0740137403275 -0.229917139443 -0.0739210660009 -0.239054807683 -0.0739801191999 -0.248099894397 -0.0740392341972 -0.257151807762 -0.0740984154472 -0.26621019123 -0.0739832374021 -0.275241846171 -0.0738734949336 -0.284254019576 -0.0739436477834 -0.293280907556 -0.0740139364482 -0.302316256323 -0.0740843646237 -0.311359705125 -0.0739526131508 -0.320253205352 -0.0738260862094 -0.329124589097 -0.0739071390621 -0.338132913561 -0.0739884104076 -0.347151384697 -0.0740699086105 -0.356179689102 -0.0739219318863 -0.364922044921 -0.0737789319562 -0.373639684434 -0.0738706551116 -0.382629422609 -0.0739626953606 -0.391631086696 -0.07405505717 -0.400644414755 -0.073891248985 -0.409224896145 -0.0737321519524 -0.417778095852 -0.0738343073975 -0.426749587291 -0.0739368860898 -0.435734894127 -0.0740398926542 -0.444733770196 -0.0831360819065 --0.444864786105 -0.0830097557356 --0.435863151256 -0.0828839553109 --0.426875073677 -0.0827586696219 --0.417900803494 -0.0829529327818 --0.40934574628 -0.0831530070509 --0.400763398109 -0.0830398035615 --0.391747276122 -0.0829269949742 --0.382742817399 -0.0828145767893 --0.373750301423 -0.0829890837175 --0.365030649936 -0.0831697154336 --0.356286260706 -0.0830698817986 --0.347255154174 -0.0829703264907 --0.338233884983 -0.0828710405418 --0.329222755778 -0.0830253816348 --0.320349213875 -0.0831861382175 --0.311453548296 -0.0830998988897 --0.302407278824 -0.0830138314486 --0.293369114078 -0.0829279320157 --0.284339396241 -0.0830617604436 --0.275324922774 -0.0832022518303 --0.266290973342 -0.0831298015087 --0.257229744328 -0.0830574366452 --0.248174989053 -0.082985148556 --0.239127064589 -0.0830981490933 --0.229986981733 -0.0832180278687 --0.220830133126 -0.08315953593 --0.211754522301 -0.0831010480192 --0.20268380939 -0.0830425630793 --0.193618414852 -0.083134528955 --0.184370031669 -0.0832335552826 --0.175107644823 -0.083189162574 --0.16601859676 -0.0831447108639 --0.15693293639 -0.0831002033439 --0.147851119968 -0.0831709070601 --0.138514021432 -0.0832488095964 --0.129165741075 -0.0832186265684 --0.120064483798 -0.0831883463521 --0.11096520576 -0.0831579580829 --0.101868352484 -0.0832071973084 --0.0924634507146 -0.0832637432598 --0.0830502591578 -0.0832637432598 -0.0830502591578 -0.0832071973084 -0.0924634507146 -0.0831579580829 -0.101868352484 -0.0831883463521 -0.11096520576 -0.0832186265684 -0.120064483798 -0.0832488095964 -0.129165741075 -0.0831709070601 -0.138514021432 -0.0831002033439 -0.147851119968 -0.0831447108639 -0.15693293639 -0.083189162574 -0.16601859676 -0.0832335552826 -0.175107644823 -0.083134528955 -0.184370031669 -0.0830425630793 -0.193618414852 -0.0831010480192 -0.20268380939 -0.08315953593 -0.211754522301 -0.0832180278687 -0.220830133126 -0.0830981490933 -0.229986981733 -0.082985148556 -0.239127064589 -0.0830574366452 -0.248174989053 -0.0831298015087 -0.257229744328 -0.0832022518303 -0.266290973342 -0.0830617604436 -0.275324922774 -0.0829279320157 -0.284339396241 -0.0830138314486 -0.293369114078 -0.0830998988897 -0.302407278824 -0.0831861382175 -0.311453548296 -0.0830253816348 -0.320349213875 -0.0828710405418 -0.329222755778 -0.0829703264907 -0.338233884983 -0.0830698817986 -0.347255154174 -0.0831697154336 -0.356286260706 -0.0829890837175 -0.365030649936 -0.0828145767893 -0.373750301423 -0.0829269949742 -0.382742817399 -0.0830398035615 -0.391747276122 -0.0831530070509 -0.400763398109 -0.0829529327818 -0.40934574628 -0.0827586696219 -0.417900803494 -0.0828839553109 -0.426875073677 -0.0830097557356 -0.435863151256 -0.0831360819065 -0.444864786105 -0.0922537343406 --0.417458490499 -0.0924201889105 --0.408908734125 -0.0925915939695 --0.400331690901 -0.0924949021761 --0.391326199114 -0.0923985445397 --0.382332332636 -0.0923025238947 --0.373350384764 -0.0924520380861 --0.364636962394 -0.0926067758041 --0.355898801859 -0.0925214855042 --0.346878247463 -0.0924364308875 --0.337867500016 -0.0923516105586 --0.328866891038 -0.0924838952309 --0.32000042577 -0.0926216592094 --0.311111837185 -0.0925479817193 --0.302076088723 -0.0924744452754 --0.29304840787 -0.0924010525133 --0.284029155575 -0.0925157491421 --0.275022537825 -0.0926361432899 --0.265996458547 -0.0925742523447 --0.256945714984 -0.0925124326817 --0.247901414743 -0.0924506765735 --0.238863936581 -0.092547514989 --0.22973241045 -0.092650243628 --0.22058412784 -0.0926002963861 --0.211518970489 -0.0925503529797 --0.202458704639 -0.0925004129478 --0.193403752543 -0.0925791915423 --0.184164531586 -0.0926640157322 --0.174911312263 -0.0926261432862 --0.165832707397 -0.0925882196675 --0.156757493019 -0.0925502448466 --0.147686115163 -0.0926107364696 --0.138358665631 -0.092677399614 --0.129020046872 -0.0926517005361 --0.119929241049 -0.0926259140767 --0.110840410919 -0.092600040865 --0.10175400501 -0.092642115436 --0.0923591238643 -0.0926904510311 --0.0829559626843 -0.0926770069137 --0.0738545053553 -0.0926770069137 -0.0738545053553 -0.0926904510311 -0.0829559626843 -0.092642115436 -0.0923591238643 -0.092600040865 -0.10175400501 -0.0926259140767 -0.110840410919 -0.0926517005361 -0.119929241049 -0.092677399614 -0.129020046872 -0.0926107364696 -0.138358665631 -0.0925502448466 -0.147686115163 -0.0925882196675 -0.156757493019 -0.0926261432862 -0.165832707397 -0.0926640157322 -0.174911312263 -0.0925791915423 -0.184164531586 -0.0925004129478 -0.193403752543 -0.0925503529797 -0.202458704639 -0.0926002963861 -0.211518970489 -0.092650243628 -0.22058412784 -0.092547514989 -0.22973241045 -0.0924506765735 -0.238863936581 -0.0925124326817 -0.247901414743 -0.0925742523447 -0.256945714984 -0.0926361432899 -0.265996458547 -0.0925157491421 -0.275022537825 -0.0924010525133 -0.284029155575 -0.0924744452754 -0.29304840787 -0.0925479817193 -0.302076088723 -0.0926216592094 -0.311111837185 -0.0924838952309 -0.32000042577 -0.0923516105586 -0.328866891038 -0.0924364308875 -0.337867500016 -0.0925214855042 -0.346878247463 -0.0926067758041 -0.355898801859 -0.0924520380861 -0.364636962394 -0.0923025238947 -0.373350384764 -0.0923985445397 -0.382332332636 -0.0924949021761 -0.391326199114 -0.0925915939695 -0.400331690901 -0.0924201889105 -0.408908734125 -0.0922537343406 -0.417458490499 -0.101740268009 --0.417075024135 -0.101878848481 --0.40852974668 -0.102021515647 --0.399957183718 -0.101941382425 --0.390961010158 -0.101861523164 --0.381976429451 -0.101781943502 --0.373003731274 -0.101906412091 --0.364295613117 -0.102035197213 --0.355562756113 -0.101964488118 --0.346551428763 -0.101893977724 --0.33754989285 -0.101823659292 --0.328558462833 -0.10193383571 --0.319698053951 -0.102048551503 --0.31081551924 -0.101987466715 --0.301788934149 -0.101926498104 --0.292770404466 -0.101865646554 --0.28376029 -0.101961167607 --0.274760428032 -0.102061418492 --0.265741102446 -0.102010119565 --0.256699488419 -0.101958873434 --0.24766429203 -0.101907675643 --0.238635913778 -0.101988318244 --0.229511771275 -0.102073858792 --0.220370859758 -0.102032479475 --0.211314793669 -0.101991103365 --0.202263612654 -0.101949729949 --0.193217731339 -0.102015290236 --0.183986420294 -0.102085880732 --0.174741109331 -0.1020545479 --0.165671580743 -0.102023168528 --0.156605441374 -0.101991742782 --0.147543127287 -0.10204200199 --0.138224021463 -0.10209740021 --0.128893749833 -0.102076196545 --0.119812010379 -0.102054918687 --0.110732248155 -0.102033569895 --0.101654910329 -0.102068458358 --0.0922687017979 -0.102108568505 --0.0828742195417 -0.102097577341 --0.0737818407737 -0.102086488746 --0.0646900595381 -0.102075305023 --0.0555993343987 -0.102075305023 -0.0555993343987 -0.102086488746 -0.0646900595381 -0.102097577341 -0.0737818407737 -0.102108568505 -0.0828742195417 -0.102068458358 -0.0922687017979 -0.102033569895 -0.101654910329 -0.102054918687 -0.110732248155 -0.102076196545 -0.119812010379 -0.10209740021 -0.128893749833 -0.10204200199 -0.138224021463 -0.101991742782 -0.147543127287 -0.102023168528 -0.156605441374 -0.1020545479 -0.165671580743 -0.102085880732 -0.174741109331 -0.102015290236 -0.183986420294 -0.101949729949 -0.193217731339 -0.101991103365 -0.202263612654 -0.102032479475 -0.211314793669 -0.102073858792 -0.220370859758 -0.101988318244 -0.229511771275 -0.101907675643 -0.238635913778 -0.101958873434 -0.24766429203 -0.102010119565 -0.256699488419 -0.102061418492 -0.265741102446 -0.101961167607 -0.274760428032 -0.101865646554 -0.28376029 -0.101926498104 -0.292770404466 -0.101987466715 -0.301788934149 -0.102048551503 -0.31081551924 -0.10193383571 -0.319698053951 -0.101823659292 -0.328558462833 -0.101893977724 -0.33754989285 -0.101964488118 -0.346551428763 -0.102035197213 -0.355562756113 -0.101906412091 -0.364295613117 -0.101781943502 -0.373003731274 -0.101861523164 -0.381976429451 -0.101941382425 -0.390961010158 -0.102021515647 -0.399957183718 -0.101878848481 -0.40852974668 -0.101740268009 -0.417075024135 -0.110751742117 --0.417315274808 -0.110925346472 --0.408766473353 -0.111104129904 --0.400190379352 -0.111003249053 --0.391188812813 -0.110902717626 --0.38219883531 -0.110802533973 --0.373220741868 -0.110958378702 --0.364508730072 -0.111119688201 --0.355771971531 -0.111030727986 --0.346755219899 -0.11094201474 --0.337748253919 -0.11085354599 --0.328751378553 -0.110991427167 --0.319886760459 -0.111135027779 --0.310999991612 -0.111058196668 --0.301967909787 -0.110981519736 --0.29294390528 -0.110904994658 --0.283928312964 -0.111024504259 --0.27492392456 -0.111149966571 --0.265900050138 -0.111085459482 --0.256852903861 -0.111021020619 --0.247812176647 -0.110956647439 --0.238778270164 -0.111057536223 --0.229649334423 -0.111164577364 --0.220503609295 -0.111112538766 --0.211441981182 -0.111060506347 --0.202385238698 -0.111008478192 --0.193333776206 -0.111090514781 --0.184097418811 -0.111178864744 --0.174847055736 -0.111139435575 --0.165771919152 -0.11109995065 --0.156700173227 -0.111060410628 --0.147632250175 -0.111123348847 --0.138307904754 -0.111192734136 --0.128972385464 -0.11116601402 --0.119885011115 -0.111139200726 --0.110799609235 -0.111112295065 --0.10171662909 -0.111156048584 --0.0923250296629 -0.111206345944 --0.0829251490813 -0.111192418614 --0.073827107581 -0.111178370131 --0.0647296568895 -0.111164200718 --0.0556332629377 -0.111188569053 --0.0461962057708 -0.111219538784 --0.0367537926475 -0.111218452367 --0.0276468463017 -0.111217242109 --0.0185391506386 -0.111215902743 --0.0094311772543 -0.111215199413 --2.16840434497e-19 -0.111215902743 -0.0094311772543 -0.111217242109 -0.0185391506386 -0.111218452367 -0.0276468463017 -0.111219538784 -0.0367537926475 -0.111188569053 -0.0461962057708 -0.111164200718 -0.0556332629377 -0.111178370131 -0.0647296568895 -0.111192418614 -0.073827107581 -0.111206345944 -0.0829251490813 -0.111156048584 -0.0923250296629 -0.111112295065 -0.10171662909 -0.111139200726 -0.110799609235 -0.11116601402 -0.119885011115 -0.111192734136 -0.128972385464 -0.111123348847 -0.138307904754 -0.111060410628 -0.147632250175 -0.11109995065 -0.156700173227 -0.111139435575 -0.165771919152 -0.111178864744 -0.174847055736 -0.111090514781 -0.184097418811 -0.111008478192 -0.193333776206 -0.111060506347 -0.202385238698 -0.111112538766 -0.211441981182 -0.111164577364 -0.220503609295 -0.111057536223 -0.229649334423 -0.110956647439 -0.238778270164 -0.111021020619 -0.247812176647 -0.111085459482 -0.256852903861 -0.111149966571 -0.265900050138 -0.111024504259 -0.27492392456 -0.110904994658 -0.283928312964 -0.110981519736 -0.29294390528 -0.111058196668 -0.301967909787 -0.111135027779 -0.310999991612 -0.110991427167 -0.319886760459 -0.11085354599 -0.328751378553 -0.11094201474 -0.337748253919 -0.111030727986 -0.346755219899 -0.111119688201 -0.355771971531 -0.110958378702 -0.364508730072 -0.110802533973 -0.373220741868 -0.110902717626 -0.38219883531 -0.111003249053 -0.391188812813 -0.111104129904 -0.400190379352 -0.110925346472 -0.408766473353 -0.110751742117 -0.417315274808 -0.119766262407 --0.417555499135 -0.119974885274 --0.409003148501 -0.120189781202 --0.400423487838 -0.120068151997 --0.391416533986 -0.11994694742 --0.382421190785 -0.119826154123 --0.373437718621 -0.120013366477 --0.364721791389 -0.120207192594 --0.355981107083 -0.120099980048 --0.346958939993 -0.119993062919 --0.337946555365 -0.119886440228 --0.328944258994 -0.120052018349 --0.320075402375 -0.120224501981 --0.311184382842 -0.120131933109 --0.302146841114 -0.120039547321 --0.293117366971 -0.119947341396 --0.284096307594 -0.120090831902 --0.275087363604 -0.120241501656 --0.266058917218 -0.120163787217 --0.257006267279 -0.120086155975 --0.247960037592 -0.120008605437 --0.238920613875 -0.120129733187 --0.229786845378 -0.120258268358 --0.220636283847 -0.120195574268 --0.211569110069 -0.120132885097 --0.202506817159 -0.120070198996 --0.193449793239 -0.120168713121 --0.184208369208 -0.120274816413 --0.174952929749 -0.12022728667 --0.165872202036 -0.120179697443 --0.156794867476 -0.120132040599 --0.147721345948 -0.120207656592 --0.138391734483 -0.120291023043 --0.129050944463 -0.120258779905 --0.119957955015 -0.12022643518 --0.110866933694 -0.120193977907 --0.101778324247 -0.120246595312 --0.0923813106566 -0.120307076178 --0.0829760084906 -0.120290210515 --0.0738723200174 -0.120273204204 --0.0647692185448 -0.120256054547 --0.0556671727486 -0.12028545944 --0.0462246045372 -0.120322798552 --0.0367766736493 -0.12032136235 --0.0276640601106 -0.120319778041 --0.0185506950764 -0.120318051361 --0.00943705050459 -0.120317149359 -2.16840434497e-19 -0.120318051361 -0.00943705050459 -0.120319778041 -0.0185506950764 -0.12032136235 -0.0276640601106 -0.120322798552 -0.0367766736493 -0.12028545944 -0.0462246045372 -0.120256054547 -0.0556671727486 -0.120273204204 -0.0647692185448 -0.120290210515 -0.0738723200174 -0.120307076178 -0.0829760084906 -0.120246595312 -0.0923813106566 -0.120193977907 -0.101778324247 -0.12022643518 -0.110866933694 -0.120258779905 -0.119957955015 -0.120291023043 -0.129050944463 -0.120207656592 -0.138391734483 -0.120132040599 -0.147721345948 -0.120179697443 -0.156794867476 -0.12022728667 -0.165872202036 -0.120274816413 -0.174952929749 -0.120168713121 -0.184208369208 -0.120070198996 -0.193449793239 -0.120132885097 -0.202506817159 -0.120195574268 -0.211569110069 -0.120258268358 -0.220636283847 -0.120129733187 -0.229786845378 -0.120008605437 -0.238920613875 -0.120086155975 -0.247960037592 -0.120163787217 -0.257006267279 -0.120241501656 -0.266058917218 -0.120090831902 -0.275087363604 -0.119947341396 -0.284096307594 -0.120039547321 -0.293117366971 -0.120131933109 -0.302146841114 -0.120224501981 -0.311184382842 -0.120052018349 -0.320075402375 -0.119886440228 -0.328944258994 -0.119993062919 -0.337946555365 -0.120099980048 -0.346958939993 -0.120207192594 -0.355981107083 -0.120013366477 -0.364721791389 -0.119826154123 -0.373437718621 -0.11994694742 -0.382421190785 -0.120068151997 -0.391416533986 -0.120189781202 -0.400423487838 -0.119974885274 -0.409003148501 -0.119766262407 -0.417555499135 -0.128783405269 --0.417795715428 -0.129027031361 --0.409239779378 -0.129278027418 --0.400656523148 -0.129135647531 --0.391644213004 -0.128993768039 --0.38264350287 -0.128852371657 --0.37365466268 -0.129070949202 --0.364934820232 -0.129297281399 --0.356190193664 -0.129171808691 --0.347162611324 -0.129046688231 --0.338144818663 -0.128921909598 --0.329137117903 -0.129115172345 --0.320263998444 -0.129316529452 --0.311368700284 -0.129208220247 --0.302325708416 -0.129100129106 --0.293290781227 -0.128992243709 --0.284264266087 -0.129159706902 --0.275250749426 -0.129335575453 --0.26621771439 -0.129244654182 --0.257159577389 -0.129153831491 --0.248107856452 -0.12906310132 --0.239062937798 -0.129204463545 --0.229924319466 -0.129354488673 --0.220768887501 -0.129281140154 --0.211696184089 -0.129207795486 --0.202628351886 -0.129134448653 --0.193565791762 -0.129249428209 --0.184319277849 -0.129373282422 --0.175058732587 -0.129317655145 --0.165972436547 -0.129261956192 --0.156889523297 -0.129206186175 --0.147810426522 -0.129294484369 --0.138475528451 -0.129391830871 --0.129129437914 -0.129354062313 --0.120030847319 -0.129316178051 --0.110934217972 -0.129278163593 --0.101839997578 -0.129339644298 --0.0924375477471 -0.129410311394 --0.0830268006765 -0.129390504826 --0.0739174798733 -0.129370537898 --0.0648087441234 -0.1293504141 --0.0557010635273 -0.129384853798 --0.0462529579613 -0.129428554744 --0.0367994862255 -0.129426771942 --0.0276812233729 -0.129424816111 --0.0185622051166 -0.129422693648 --0.00944290602232 -0.129421587797 -0 -0.129422693648 -0.00944290602232 -0.129424816111 -0.0185622051166 -0.129426771942 -0.0276812233729 -0.129428554744 -0.0367994862255 -0.129384853798 -0.0462529579613 -0.1293504141 -0.0557010635273 -0.129370537898 -0.0648087441234 -0.129390504826 -0.0739174798733 -0.129410311394 -0.0830268006765 -0.129339644298 -0.0924375477471 -0.129278163593 -0.101839997578 -0.129316178051 -0.110934217972 -0.129354062313 -0.120030847319 -0.129391830871 -0.129129437914 -0.129294484369 -0.138475528451 -0.129206186175 -0.147810426522 -0.129261956192 -0.156889523297 -0.129317655145 -0.165972436547 -0.129373282422 -0.175058732587 -0.129249428209 -0.184319277849 -0.129134448653 -0.193565791762 -0.129207795486 -0.202628351886 -0.129281140154 -0.211696184089 -0.129354488673 -0.220768887501 -0.129204463545 -0.229924319466 -0.12906310132 -0.239062937798 -0.129153831491 -0.248107856452 -0.129244654182 -0.257159577389 -0.129335575453 -0.26621771439 -0.129159706902 -0.275250749426 -0.128992243709 -0.284264266087 -0.129100129106 -0.293290781227 -0.129208220247 -0.302325708416 -0.129316529452 -0.311368700284 -0.129115172345 -0.320263998444 -0.128921909598 -0.329137117903 -0.129046688231 -0.338144818663 -0.129171808691 -0.347162611324 -0.129297281399 -0.356190193664 -0.129070949202 -0.364934820232 -0.128852371657 -0.37365466268 -0.128993768039 -0.38264350287 -0.129135647531 -0.391644213004 -0.129278027418 -0.400656523148 -0.129027031361 -0.409239779378 -0.128783405269 -0.417795715428 -0.138655752718 --0.400057603499 -0.13853018942 --0.391060148805 -0.138405063077 --0.382074236836 -0.138280368022 --0.373100153449 -0.138473557614 --0.364388681188 -0.138673583427 --0.355652433186 -0.138562920197 --0.34663957184 -0.138452563237 --0.337636461064 -0.138342510224 --0.328643408719 -0.138513313019 --0.31977994704 -0.138691256863 --0.310894308549 -0.138595733437 --0.30186593878 -0.13850040628 --0.292845611136 -0.138405258435 --0.283833656867 -0.138553251839 --0.274830965635 -0.138708670846 --0.265808766229 -0.138628498471 --0.256765174971 -0.1385484118 --0.247727982916 -0.138468407261 --0.238697573195 -0.138593296902 --0.229570807397 -0.138725847247 --0.220427244751 -0.138661199865 --0.211369046182 -0.138596551001 --0.202315699689 -0.13853190047 --0.193267616849 -0.138633440187 --0.184033852045 -0.138742828483 --0.174786067454 -0.138693844253 --0.165714250407 -0.138644794154 --0.156645806264 -0.138595681254 --0.147581172463 -0.138673595607 --0.138259757174 -0.138759508247 --0.128927158157 -0.138726308609 --0.119843036563 -0.13869300197 --0.110760872583 -0.138659579287 --0.101681113329 -0.138713734231 --0.0922926921845 -0.138776012537 --0.0828959864539 -0.13875869377 --0.0738011462425 -0.138741229841 --0.0647068930894 -0.138723627146 --0.0556136938764 -0.138753863098 --0.0461799762757 -0.138792288988 --0.0367409053761 -0.138790909047 --0.0276371515107 -0.138789369423 --0.0185326486928 -0.138787686229 --0.00942786953707 -0.13878681032 -0 -0.138787686229 -0.00942786953707 -0.138789369423 -0.0185326486928 -0.138790909047 -0.0276371515107 -0.138792288988 -0.0367409053761 -0.138753863098 -0.0461799762757 -0.138723627146 -0.0556136938764 -0.138741229841 -0.0647068930894 -0.13875869377 -0.0738011462425 -0.138776012537 -0.0828959864539 -0.138713734231 -0.0922926921845 -0.138659579287 -0.101681113329 -0.13869300197 -0.110760872583 -0.138726308609 -0.119843036563 -0.138759508247 -0.128927158157 -0.138673595607 -0.138259757174 -0.138595681254 -0.147581172463 -0.138644794154 -0.156645806264 -0.138693844253 -0.165714250407 -0.138742828483 -0.174786067454 -0.138633440187 -0.184033852045 -0.13853190047 -0.193267616849 -0.138596551001 -0.202315699689 -0.138661199865 -0.211369046182 -0.138725847247 -0.220427244751 -0.138593296902 -0.229570807397 -0.138468407261 -0.238697573195 -0.1385484118 -0.247727982916 -0.138628498471 -0.256765174971 -0.138708670846 -0.265808766229 -0.138553251839 -0.274830965635 -0.138405258435 -0.283833656867 -0.13850040628 -0.292845611136 -0.138595733437 -0.30186593878 -0.138691256863 -0.310894308549 -0.138513313019 -0.31977994704 -0.138342510224 -0.328643408719 -0.138452563237 -0.337636461064 -0.138562920197 -0.34663957184 -0.138673583427 -0.355652433186 -0.138473557614 -0.364388681188 -0.138280368022 -0.373100153449 -0.138405063077 -0.382074236836 -0.13853018942 -0.391060148805 -0.138655752718 -0.400057603499 -0.148021741802 --0.399515178262 -0.147913067952 --0.390531278698 -0.147804767163 --0.381558884054 -0.147696839525 --0.372598256307 -0.147864541885 --0.363894230132 -0.148038160684 --0.355165428496 -0.14794237423 --0.346165994135 -0.147846844812 --0.33717627066 -0.147751577519 --0.328196544473 -0.147899836163 --0.319341724329 -0.148054282151 --0.31046474239 -0.147971606895 --0.301449689558 -0.147889092998 --0.292442640016 -0.147806728367 --0.283443922006 -0.147935180191 --0.274450954981 -0.148070074138 --0.265438485553 -0.148000700696 --0.25640811315 -0.14793139339 --0.247384115789 -0.147862158522 --0.238366874082 -0.147970522318 --0.229250800434 -0.148085528135 --0.220117930726 -0.148029614316 --0.211072886989 -0.147973695899 --0.202032676437 -0.14791777984 --0.19299771542 -0.148005838696 --0.183775469424 -0.148100703632 --0.174539205519 -0.148058386117 --0.165480514854 -0.14801601442 --0.156425183573 -0.147973579744 --0.147373648878 -0.148041069652 --0.138064427349 -0.148115506282 --0.128744024631 -0.148086890461 --0.119673007722 -0.148058182281 --0.110603946926 -0.148029375804 --0.101537284382 -0.148076179606 --0.0921615627694 -0.148130036271 --0.0827775639457 -0.148115215237 --0.073695833127 -0.148100264278 --0.0646146917318 -0.148085192456 --0.0555346020663 -0.148111211592 --0.0461139163221 -0.148144341182 --0.0366878853622 -0.148143364993 --0.0275972623986 -0.148142249303 --0.0185058982738 -0.148141003202 --0.00941426067545 -0.148140351512 -0 -0.148141003202 -0.00941426067545 -0.148142249303 -0.0185058982738 -0.148143364993 -0.0275972623986 -0.148144341182 -0.0366878853622 -0.148111211592 -0.0461139163221 -0.148085192456 -0.0555346020663 -0.148100264278 -0.0646146917318 -0.148115215237 -0.073695833127 -0.148130036271 -0.0827775639457 -0.148076179606 -0.0921615627694 -0.148029375804 -0.101537284382 -0.148058182281 -0.110603946926 -0.148086890461 -0.119673007722 -0.148115506282 -0.128744024631 -0.148041069652 -0.138064427349 -0.147973579744 -0.147373648878 -0.14801601442 -0.156425183573 -0.148058386117 -0.165480514854 -0.148100703632 -0.174539205519 -0.148005838696 -0.183775469424 -0.14791777984 -0.19299771542 -0.147973695899 -0.202032676437 -0.148029614316 -0.211072886989 -0.148085528135 -0.220117930726 -0.147970522318 -0.229250800434 -0.147862158522 -0.238366874082 -0.14793139339 -0.247384115789 -0.148000700696 -0.25640811315 -0.148070074138 -0.265438485553 -0.147935180191 -0.274450954981 -0.147806728367 -0.283443922006 -0.147889092998 -0.292442640016 -0.147971606895 -0.301449689558 -0.148054282151 -0.31046474239 -0.147899836163 -0.319341724329 -0.147751577519 -0.328196544473 -0.147846844812 -0.33717627066 -0.14794237423 -0.346165994135 -0.148038160684 -0.355165428496 -0.147864541885 -0.363894230132 -0.147696839525 -0.372598256307 -0.147804767163 -0.381558884054 -0.147913067952 -0.390531278698 -0.148021741802 -0.399515178262 -0.157090171366 --0.399861310595 -0.156960884852 --0.390869480144 -0.156832040161 --0.381889140602 -0.156703643338 --0.372920563836 -0.156902517256 --0.364210753244 -0.157108441436 --0.355476137205 -0.156994519837 --0.346468695762 -0.156880905075 --0.3374709583 -0.156767599154 --0.328483220299 -0.156943377587 --0.319622094795 -0.157126528546 --0.31073878611 -0.157028212865 --0.301715656173 -0.156930086049 --0.292700515383 -0.156832149477 --0.28369372078 -0.156984433759 --0.274693966045 -0.157144372391 --0.265674676156 -0.157061875285 --0.25663616342 -0.156979458517 --0.247604007428 -0.156897131791 --0.238578601948 -0.157025611146 --0.229455309213 -0.157161977225 --0.220315196853 -0.157095472409 --0.211261953364 -0.157028963629 --0.202213525456 -0.156962457917 --0.193170331557 -0.157066886004 --0.183940497773 -0.157179397575 --0.174696626946 -0.157129031873 --0.165629664247 -0.157078602696 --0.156566060031 -0.157028106787 --0.147506244839 -0.157108196639 --0.138189127797 -0.157196528282 --0.128860815682 -0.157162428353 --0.119781478555 -0.157128215856 --0.110704088766 -0.157093887435 --0.101629095732 -0.157149503182 --0.0922452484018 -0.157213479993 --0.0828531090943 -0.157195739292 --0.0737630186006 -0.157177849225 --0.0646735106128 -0.157159816834 --0.0555850524271 -0.157190838138 --0.0461560870593 -0.157230294115 --0.0367217674091 -0.157228976235 --0.027622753572 -0.157227494253 --0.018522993938 -0.157225850468 --0.00942295775856 -0.157224988809 -0 -0.157225850468 -0.00942295775856 -0.157227494253 -0.018522993938 -0.157228976235 -0.027622753572 -0.157230294115 -0.0367217674091 -0.157190838138 -0.0461560870593 -0.157159816834 -0.0555850524271 -0.157177849225 -0.0646735106128 -0.157195739292 -0.0737630186006 -0.157213479993 -0.0828531090943 -0.157149503182 -0.0922452484018 -0.157093887435 -0.101629095732 -0.157128215856 -0.110704088766 -0.157162428353 -0.119781478555 -0.157196528282 -0.128860815682 -0.157108196639 -0.138189127797 -0.157028106787 -0.147506244839 -0.157078602696 -0.156566060031 -0.157129031873 -0.165629664247 -0.157179397575 -0.174696626946 -0.157066886004 -0.183940497773 -0.156962457917 -0.193170331557 -0.157028963629 -0.202213525456 -0.157095472409 -0.211261953364 -0.157161977225 -0.220315196853 -0.157025611146 -0.229455309213 -0.156897131791 -0.238578601948 -0.156979458517 -0.247604007428 -0.157061875285 -0.25663616342 -0.157144372391 -0.265674676156 -0.156984433759 -0.274693966045 -0.156832149477 -0.28369372078 -0.156930086049 -0.292700515383 -0.157028212865 -0.301715656173 -0.157126528546 -0.31073878611 -0.156943377587 -0.319622094795 -0.156767599154 -0.328483220299 -0.156880905075 -0.3374709583 -0.156994519837 -0.346468695762 -0.157108441436 -0.355476137205 -0.156902517256 -0.364210753244 -0.156703643338 -0.372920563836 -0.156832040161 -0.381889140602 -0.156960884852 -0.390869480144 -0.157090171366 -0.399861310595 -0.166163309336 --0.40020770746 -0.166013401131 --0.391207949743 -0.165864003486 --0.382219674363 -0.165715128616 --0.37324317409 -0.165945181307 --0.364527542217 -0.166183419369 --0.355787082926 -0.166051350978 --0.346771641064 -0.165919641918 --0.337765890371 -0.165788293073 --0.328770151464 -0.16599159513 --0.319902693298 -0.166203449188 --0.311013023521 -0.166089483029 --0.301981823942 -0.165975738911 --0.292958600829 -0.16586222241 --0.283943726364 -0.166038345709 --0.2749371556 -0.16622333301 --0.265911023028 -0.1661277029 --0.256864372876 -0.166032171795 --0.247824078816 -0.165936744737 --0.238790524387 -0.166085342904 --0.229659977294 -0.166243072633 --0.220512593128 -0.166165968602 --0.211451147776 -0.166088868634 --0.20239451607 -0.166011773299 --0.193343112805 -0.16613256929 --0.184105653442 -0.166262725869 --0.17485413661 -0.166204315216 --0.165778914449 -0.166145824814 --0.156707043069 -0.166087264332 --0.147638952681 -0.16617995925 --0.138313906048 -0.16628218463 --0.12897765 -0.16624260197 --0.119890003977 -0.16620288652 --0.110804299226 -0.166163030963 --0.10172098528 -0.166227453157 --0.0923289779151 -0.166301551047 --0.082928662512 -0.166280896504 --0.073830219489 -0.166260066163 --0.064732353353 -0.16623906417 --0.0556355322075 -0.166275091359 --0.0461982549913 -0.166320882689 --0.0367556163956 -0.166319216259 --0.0276482195234 -0.166317364487 --0.0185400719976 -0.166315333287 --0.0094316463763 -0.166314267836 -0 -0.166315333287 -0.0094316463763 -0.166317364487 -0.0185400719976 -0.166319216259 -0.0276482195234 -0.166320882689 -0.0367556163956 -0.166275091359 -0.0461982549913 -0.16623906417 -0.0556355322075 -0.166260066163 -0.064732353353 -0.166280896504 -0.073830219489 -0.166301551047 -0.082928662512 -0.166227453157 -0.0923289779151 -0.166163030963 -0.10172098528 -0.16620288652 -0.110804299226 -0.16624260197 -0.119890003977 -0.16628218463 -0.12897765 -0.16617995925 -0.138313906048 -0.166087264332 -0.147638952681 -0.166145824814 -0.156707043069 -0.166204315216 -0.165778914449 -0.166262725869 -0.17485413661 -0.16613256929 -0.184105653442 -0.166011773299 -0.193343112805 -0.166088868634 -0.20239451607 -0.166165968602 -0.211451147776 -0.166243072633 -0.220512593128 -0.166085342904 -0.229659977294 -0.165936744737 -0.238790524387 -0.166032171795 -0.247824078816 -0.1661277029 -0.256864372876 -0.16622333301 -0.265911023028 -0.166038345709 -0.2749371556 -0.16586222241 -0.283943726364 -0.165975738911 -0.292958600829 -0.166089483029 -0.301981823942 -0.166203449188 -0.311013023521 -0.16599159513 -0.319902693298 -0.165788293073 -0.328770151464 -0.165919641918 -0.337765890371 -0.166051350978 -0.346771641064 -0.166183419369 -0.355787082926 -0.165945181307 -0.364527542217 -0.165715128616 -0.37324317409 -0.165864003486 -0.382219674363 -0.166013401131 -0.391207949743 -0.166163309336 -0.40020770746 -0.175240732684 --0.40055438716 -0.17507019179 --0.391546694451 -0.174900243171 --0.382550500892 -0.174730881469 --0.373566071868 -0.174992110234 --0.364844592519 -0.175262662119 --0.356098261693 -0.175112442917 --0.347074833573 -0.174962637467 --0.338061088573 -0.174813237595 --0.329057349738 -0.17504406042 --0.320183529647 -0.175284615088 --0.311287458753 -0.175154997597 --0.302248198228 -0.175025637668 --0.293216915158 -0.174896532377 --0.284193963706 -0.17509648187 --0.275180540967 -0.175306519064 --0.266147536976 -0.175197759093 --0.257092758295 -0.175089106865 --0.248044328867 -0.17498058047 --0.239002639679 -0.17514929982 --0.229864819712 -0.175328389176 --0.22071013379 -0.175240682461 --0.211640484108 -0.175152992268 --0.202575656767 -0.175065304896 --0.193516058486 -0.175202463147 --0.184270932352 -0.175350261117 --0.175011735907 -0.175283804127 --0.165928268591 -0.175217256762 --0.15684813549 -0.175150623788 --0.14777178117 -0.175255923292 --0.138438776311 -0.175372052109 --0.129094541814 -0.175326971495 --0.119998589666 -0.175281745053 --0.11090457521 -0.175236372287 --0.101812952527 -0.175309603248 --0.0924127498898 -0.175393821881 --0.0830042261062 -0.175370249807 --0.0738974401623 -0.175346472345 --0.0647912239719 -0.175322502933 --0.0556860479417 -0.175363542903 --0.0462404256762 -0.175415658965 --0.0367894324019 -0.175413646912 --0.0276736601027 -0.175411432099 --0.0185571339248 -0.175409006049 --0.00944032634276 -0.175407737569 --2.16840434497e-19 -0.175409006049 -0.00944032634276 -0.175411432099 -0.0185571339248 -0.175413646912 -0.0276736601027 -0.175415658965 -0.0367894324019 -0.175363542903 -0.0462404256762 -0.175322502933 -0.0556860479417 -0.175346472345 -0.0647912239719 -0.175370249807 -0.0738974401623 -0.175393821881 -0.0830042261062 -0.175309603248 -0.0924127498898 -0.175236372287 -0.101812952527 -0.175281745053 -0.11090457521 -0.175326971495 -0.119998589666 -0.175372052109 -0.129094541814 -0.175255923292 -0.138438776311 -0.175150623788 -0.14777178117 -0.175217256762 -0.15684813549 -0.175283804127 -0.165928268591 -0.175350261117 -0.175011735907 -0.175202463147 -0.184270932352 -0.175065304896 -0.193516058486 -0.175152992268 -0.202575656767 -0.175240682461 -0.211640484108 -0.175328389176 -0.22071013379 -0.17514929982 -0.229864819712 -0.17498058047 -0.239002639679 -0.175089106865 -0.248044328867 -0.175197759093 -0.257092758295 -0.175306519064 -0.266147536976 -0.17509648187 -0.275180540967 -0.174896532377 -0.284193963706 -0.175025637668 -0.293216915158 -0.175154997597 -0.302248198228 -0.175284615088 -0.311287458753 -0.17504406042 -0.320183529647 -0.174813237595 -0.329057349738 -0.174962637467 -0.338061088573 -0.175112442917 -0.347074833573 -0.175262662119 -0.356098261693 -0.174992110234 -0.364844592519 -0.174730881469 -0.373566071868 -0.174900243171 -0.382550500892 -0.17507019179 -0.391546694451 -0.175240732684 -0.40055438716 -0.184536095083 --0.399791760233 -0.18438243249 --0.39080304667 -0.184229301156 --0.381825770986 -0.18407668424 --0.372860167999 -0.184312414879 --0.364149190855 -0.184556555681 --0.355413379335 -0.184421202468 --0.346408754758 -0.184286216235 --0.337413758579 -0.184151593234 --0.328428703154 -0.184359883854 --0.319567068605 -0.184576943899 --0.310683180505 -0.18446016209 --0.301662573015 -0.184343610141 --0.292649912316 -0.184227276272 --0.283645523972 -0.184407704205 --0.2746458293 -0.184597241586 --0.265626570356 -0.184499269809 --0.25659033096 -0.184401389821 --0.24756040742 -0.184303626608 --0.238537199784 -0.184455805558 --0.229414469402 -0.184617350671 --0.220274891097 -0.184538375633 --0.211223706949 -0.184459408813 --0.202177318673 -0.184380448158 --0.19313614139 -0.184504155454 --0.183907292043 -0.184637467527 --0.174664383101 -0.184577667752 --0.165599332999 -0.184517790403 --0.156537606445 -0.184457833221 --0.147479643297 -0.184552712161 --0.138163870005 -0.184657372746 --0.128836875895 -0.184616870586 --0.11975932269 -0.184576234396 --0.110683701134 -0.184535467653 --0.101610461124 -0.184601359408 --0.092228216202 -0.184677168169 --0.0828376658569 -0.184656083289 --0.073749289985 -0.184634819786 --0.064661485892 -0.184613383669 --0.0555747193085 -0.184650171111 --0.0461475222188 -0.1846969619 --0.0367149696546 -0.18469535584 --0.0276176393027 -0.184693559443 --0.0185195645832 -0.184691571597 --0.00942121338044 -0.184690531942 -0 -0.184691571597 -0.00942121338044 -0.184693559443 -0.0185195645832 -0.18469535584 -0.0276176393027 -0.1846969619 -0.0367149696546 -0.184650171111 -0.0461475222188 -0.184613383669 -0.0555747193085 -0.184634819786 -0.064661485892 -0.184656083289 -0.073749289985 -0.184677168169 -0.0828376658569 -0.184601359408 -0.092228216202 -0.184535467653 -0.101610461124 -0.184576234396 -0.110683701134 -0.184616870586 -0.11975932269 -0.184657372746 -0.128836875895 -0.184552712161 -0.138163870005 -0.184457833221 -0.147479643297 -0.184517790403 -0.156537606445 -0.184577667752 -0.165599332999 -0.184637467527 -0.174664383101 -0.184504155454 -0.183907292043 -0.184380448158 -0.19313614139 -0.184459408813 -0.202177318673 -0.184538375633 -0.211223706949 -0.184617350671 -0.220274891097 -0.184455805558 -0.229414469402 -0.184303626608 -0.238537199784 -0.184401389821 -0.24756040742 -0.184499269809 -0.25659033096 -0.184597241586 -0.265626570356 -0.184407704205 -0.2746458293 -0.184227276272 -0.283645523972 -0.184343610141 -0.292649912316 -0.18446016209 -0.301662573015 -0.184576943899 -0.310683180505 -0.184359883854 -0.319567068605 -0.184151593234 -0.328428703154 -0.184286216235 -0.337413758579 -0.184421202468 -0.346408754758 -0.184556555681 -0.355413379335 -0.184312414879 -0.364149190855 -0.18407668424 -0.372860167999 -0.184229301156 -0.381825770986 -0.18438243249 -0.39080304667 -0.184536095083 -0.399791760233 -0.193816669683 --0.399084150057 -0.193679970036 --0.390113163736 -0.193543750859 --0.381153545649 -0.193407984364 --0.372205530615 -0.193618092154 --0.363504165726 -0.19383569087 --0.354777958162 -0.193715277464 --0.345790850687 -0.193595187158 --0.33681332743 -0.193475423828 --0.327845681384 -0.193661067429 --0.31899523736 -0.19385451456 --0.310122550317 -0.193750635067 --0.301119310803 -0.193646955019 --0.29212396702 -0.19354346817 --0.283136860594 -0.193704289638 --0.274149843134 -0.193873220845 --0.265143254504 -0.193786095732 --0.256124256421 -0.193699050538 --0.247111546254 -0.193612101273 --0.238105509093 -0.193747656403 --0.22899673106 -0.193891566952 --0.219871107867 -0.193821370413 --0.210837080052 -0.193751175306 --0.201807822089 -0.193680987977 --0.192783745865 -0.193791181787 --0.183569977782 -0.193909937307 --0.17434215083 -0.193856833418 --0.165294198528 -0.193803654443 --0.156249551513 -0.193750400989 --0.147208651932 -0.193834807372 --0.137908852317 -0.193927945427 --0.128597840687 -0.193892054462 --0.119537364191 -0.193856034114 --0.110478812303 -0.19381989188 --0.10142262301 -0.193878398944 --0.0920570388636 -0.193945758688 --0.0826831656357 -0.193927183781 --0.0736118622871 -0.193908452826 --0.0645411342544 -0.193889561672 --0.0554714407577 -0.193922074895 --0.0460613506434 -0.193963525911 --0.0366459203568 -0.193962319758 --0.0275656911195 -0.193960935561 --0.0184847256548 -0.193959395881 --0.00940349007319 -0.193958586007 -2.16840434497e-19 -0.193959395881 -0.00940349007319 -0.193960935561 -0.0184847256548 -0.193962319758 -0.0275656911195 -0.193963525911 -0.0366459203568 -0.193922074895 -0.0460613506434 -0.193889561672 -0.0554714407577 -0.193908452826 -0.0645411342544 -0.193927183781 -0.0736118622871 -0.193945758688 -0.0826831656357 -0.193878398944 -0.0920570388636 -0.19381989188 -0.10142262301 -0.193856034114 -0.110478812303 -0.193892054462 -0.119537364191 -0.193927945427 -0.128597840687 -0.193834807372 -0.137908852317 -0.193750400989 -0.147208651932 -0.193803654443 -0.156249551513 -0.193856833418 -0.165294198528 -0.193909937307 -0.17434215083 -0.193791181787 -0.183569977782 -0.193680987977 -0.192783745865 -0.193751175306 -0.201807822089 -0.193821370413 -0.210837080052 -0.193891566952 -0.219871107867 -0.193747656403 -0.22899673106 -0.193612101273 -0.238105509093 -0.193699050538 -0.247111546254 -0.193786095732 -0.256124256421 -0.193873220845 -0.265143254504 -0.193704289638 -0.274149843134 -0.19354346817 -0.283136860594 -0.193646955019 -0.29212396702 -0.193750635067 -0.301119310803 -0.19385451456 -0.310122550317 -0.193661067429 -0.31899523736 -0.193475423828 -0.327845681384 -0.193595187158 -0.33681332743 -0.193715277464 -0.345790850687 -0.19383569087 -0.354777958162 -0.193618092154 -0.363504165726 -0.193407984364 -0.372205530615 -0.193543750859 -0.381153545649 -0.193679970036 -0.390113163736 -0.193816669683 -0.399084150057 -0.202869849478 --0.399541376814 -0.202712696236 --0.390559947777 -0.202556090028 --0.381589886262 -0.202400010611 --0.372631439127 -0.202641047395 --0.363922402073 -0.202890702501 --0.355188478546 -0.202752291936 --0.3461908379 -0.202614256673 --0.337202764084 -0.202476594184 --0.328224573762 -0.202689532236 --0.319365760649 -0.202911449756 --0.310484665841 -0.202792054323 --0.301470798791 -0.202672891877 --0.292464819335 -0.202553951438 --0.283467077735 -0.202738412805 --0.274471036891 -0.202932189177 --0.265455388782 -0.202832046461 --0.256425676115 -0.202731996348 --0.247402231082 -0.202632051945 --0.238385446136 -0.202787567151 --0.229267075752 -0.202952668451 --0.220131822758 -0.202871962478 --0.211086992288 -0.202791262101 --0.202046922709 -0.202710563058 --0.193012011593 -0.202836993681 --0.183788138023 -0.202973247156 --0.174550180993 -0.202912160297 --0.165491340874 -0.202850991874 --0.156435800269 -0.202789731884 --0.147383991006 -0.202886638407 --0.138073680215 -0.202993566323 --0.128752143435 -0.202952227409 --0.119680710324 -0.202910744758 --0.110611190482 -0.202869125949 --0.101544030597 -0.202936374374 --0.0921676246675 -0.203013782019 --0.0827829122403 -0.202992306606 --0.073700596384 -0.202970653262 --0.0646188490147 -0.202948824242 --0.055538130142 -0.202986309406 --0.0461170163846 -0.203034043512 --0.0366905511087 -0.203032493904 --0.027599268893 -0.203030743714 --0.0185072445957 -0.203028809091 --0.00941494645388 -0.203027790372 -0 -0.203028809091 -0.00941494645388 -0.203030743714 -0.0185072445957 -0.203032493904 -0.027599268893 -0.203034043512 -0.0366905511087 -0.202986309406 -0.0461170163846 -0.202948824242 -0.055538130142 -0.202970653262 -0.0646188490147 -0.202992306606 -0.073700596384 -0.203013782019 -0.0827829122403 -0.202936374374 -0.0921676246675 -0.202869125949 -0.101544030597 -0.202910744758 -0.110611190482 -0.202952227409 -0.119680710324 -0.202993566323 -0.128752143435 -0.202886638407 -0.138073680215 -0.202789731884 -0.147383991006 -0.202850991874 -0.156435800269 -0.202912160297 -0.165491340874 -0.202973247156 -0.174550180993 -0.202836993681 -0.183788138023 -0.202710563058 -0.193012011593 -0.202791262101 -0.202046922709 -0.202871962478 -0.211086992288 -0.202952668451 -0.220131822758 -0.202787567151 -0.229267075752 -0.202632051945 -0.238385446136 -0.202731996348 -0.247402231082 -0.202832046461 -0.256425676115 -0.202932189177 -0.265455388782 -0.202738412805 -0.274471036891 -0.202553951438 -0.283467077735 -0.202672891877 -0.292464819335 -0.202792054323 -0.301470798791 -0.202911449756 -0.310484665841 -0.202689532236 -0.319365760649 -0.202476594184 -0.328224573762 -0.202614256673 -0.337202764084 -0.202752291936 -0.3461908379 -0.202890702501 -0.355188478546 -0.202641047395 -0.363922402073 -0.202400010611 -0.372631439127 -0.202556090028 -0.381589886262 -0.202712696236 -0.390559947777 -0.202869849478 -0.399541376814 -0.211929408244 --0.399999319146 -0.211751793079 --0.39100744775 -0.211574780327 --0.382026933176 -0.21139836404 --0.373058041213 -0.21167034609 --0.364341306795 -0.211952070531 --0.355599650025 -0.211795652689 --0.346591475106 -0.211639660596 --0.337592847107 -0.211484083012 --0.32860411117 -0.211724326634 --0.319736889812 -0.211974732804 --0.310847347977 -0.21183981023 --0.301822857459 -0.211705145467 --0.292806240557 -0.211570739127 --0.28379784984 -0.211778851458 --0.274792743143 -0.211997480275 --0.265767993907 -0.211884303243 --0.256727559079 -0.211771239254 --0.247693388863 -0.211658295184 --0.238665871547 -0.211833774344 --0.229537859639 -0.21202007853 --0.22039293282 -0.211928863532 --0.211337296931 -0.211837644478 --0.202286407591 -0.211746422996 --0.193240662038 -0.21188910613 --0.184006642681 -0.212042871266 --0.174758515221 -0.211973788066 --0.165688783762 -0.211904618555 --0.156622346806 -0.21183536442 --0.147559632178 -0.211944782363 --0.138238765243 -0.212065490439 --0.128906651972 -0.212018699959 --0.119824259214 -0.211971749216 --0.110743768751 -0.211924654823 --0.10166564037 -0.212000658816 --0.0922783718241 -0.212088108523 --0.0828827715483 -0.212063735827 --0.073789441513 -0.212039157795 --0.0646966714358 -0.21201437672 --0.055604924832 -0.212056834501 --0.0461727422766 -0.212110842781 --0.0367351943393 -0.212108951366 --0.0276328569974 -0.212106845778 --0.0185297711111 -0.21210451682 --0.00942640638465 -0.212103292735 -0 -0.21210451682 -0.00942640638465 -0.212106845778 -0.0185297711111 -0.212108951366 -0.0276328569974 -0.212110842781 -0.0367351943393 -0.212056834501 -0.0461727422766 -0.21201437672 -0.055604924832 -0.212039157795 -0.0646966714358 -0.212063735827 -0.073789441513 -0.212088108523 -0.0828827715483 -0.212000658816 -0.0922783718241 -0.211924654823 -0.10166564037 -0.211971749216 -0.110743768751 -0.212018699959 -0.119824259214 -0.212065490439 -0.128906651972 -0.211944782363 -0.138238765243 -0.21183536442 -0.147559632178 -0.211904618555 -0.156622346806 -0.211973788066 -0.165688783762 -0.212042871266 -0.174758515221 -0.21188910613 -0.184006642681 -0.211746422996 -0.193240662038 -0.211837644478 -0.202286407591 -0.211928863532 -0.211337296931 -0.21202007853 -0.22039293282 -0.211833774344 -0.229537859639 -0.211658295184 -0.238665871547 -0.211771239254 -0.247693388863 -0.211884303243 -0.256727559079 -0.211997480275 -0.265767993907 -0.211778851458 -0.274792743143 -0.211570739127 -0.28379784984 -0.211705145467 -0.292806240557 -0.21183981023 -0.301822857459 -0.211974732804 -0.310847347977 -0.211724326634 -0.319736889812 -0.211484083012 -0.32860411117 -0.211639660596 -0.337592847107 -0.211795652689 -0.346591475106 -0.211952070531 -0.355599650025 -0.21167034609 -0.364341306795 -0.21139836404 -0.373058041213 -0.211574780327 -0.382026933176 -0.211751793079 -0.39100744775 -0.211929408244 -0.399999319146 -0.220994941014 --0.400457983381 -0.220796836909 --0.391455670622 -0.220599417687 --0.382464710489 -0.220402670336 --0.373485369837 -0.220705604405 --0.364760912175 -0.221019400392 --0.356011476985 -0.220844961006 --0.34699275816 -0.220670996657 --0.337983585591 -0.220497494956 --0.32898430237 -0.220765061248 --0.32010864618 -0.221043957073 --0.311210616228 -0.220893494423 --0.302175487323 -0.22074332497 --0.293148232322 -0.220593438842 --0.284129195963 -0.220825206628 --0.275114992477 -0.221068699281 --0.266081105443 -0.220942476341 --0.257029940099 -0.220816391706 --0.247985036323 -0.220690446453 --0.238946784032 -0.220885894279 --0.229809097373 -0.221093401456 --0.220654458361 -0.22099166152 --0.211588003408 -0.220889918757 --0.202526285822 -0.220788180227 --0.193469716226 -0.220947119109 --0.184225513209 -0.221118405658 --0.174967171159 -0.221041332835 --0.165886546205 -0.220964158444 --0.156809203509 -0.220886889677 --0.147735582409 -0.221008816149 --0.13840411933 -0.221143314275 --0.129061381095 -0.221091069823 --0.119968022118 -0.221038658411 --0.110876563039 -0.220986086113 --0.10178745969 -0.221070837132 --0.0923892806869 -0.221168330313 --0.0829827519957 -0.221141064697 --0.0738784041023 -0.221113566533 --0.0647746071628 -0.221085836768 --0.0556718287884 -0.221133262967 --0.0462285315435 -0.221193547048 --0.0367798557533 -0.221191309234 --0.0276664571392 -0.221188838454 --0.0185523046805 -0.221186125082 --0.0094378701392 -0.221184705469 -2.16840434497e-19 -0.221186125082 -0.0094378701392 -0.221188838454 -0.0185523046805 -0.221191309234 -0.0276664571392 -0.221193547048 -0.0367798557533 -0.221133262967 -0.0462285315435 -0.221085836768 -0.0556718287884 -0.221113566533 -0.0647746071628 -0.221141064697 -0.0738784041023 -0.221168330313 -0.0829827519957 -0.221070837132 -0.0923892806869 -0.220986086113 -0.10178745969 -0.221038658411 -0.110876563039 -0.221091069823 -0.119968022118 -0.221143314275 -0.129061381095 -0.221008816149 -0.13840411933 -0.220886889677 -0.147735582409 -0.220964158444 -0.156809203509 -0.221041332835 -0.165886546205 -0.221118405658 -0.174967171159 -0.220947119109 -0.184225513209 -0.220788180227 -0.193469716226 -0.220889918757 -0.202526285822 -0.22099166152 -0.211588003408 -0.221093401456 -0.220654458361 -0.220885894279 -0.229809097373 -0.220690446453 -0.238946784032 -0.220816391706 -0.247985036323 -0.220942476341 -0.257029940099 -0.221068699281 -0.266081105443 -0.220825206628 -0.275114992477 -0.220593438842 -0.284129195963 -0.22074332497 -0.293148232322 -0.220893494423 -0.302175487323 -0.221043957073 -0.311210616228 -0.220765061248 -0.32010864618 -0.220497494956 -0.32898430237 -0.220670996657 -0.337983585591 -0.220844961006 -0.34699275816 -0.221019400392 -0.356011476985 -0.220705604405 -0.364760912175 -0.220402670336 -0.373485369837 -0.220599417687 -0.382464710489 -0.220796836909 -0.391455670622 -0.220994941014 -0.400457983381 -0.229651167689 --0.372628618266 -0.229927860609 --0.363916788693 -0.230214468241 --0.355179988105 -0.230055333409 --0.346184117298 -0.2298966246 --0.337197725325 -0.229738346453 --0.328221156938 -0.229982731598 --0.319360229871 -0.230237451662 --0.310476932009 -0.230100199264 --0.30146445936 -0.22996322397 --0.292459811701 -0.229826493489 --0.283463316686 -0.230038115602 --0.274465747101 -0.23026046152 --0.2654485128 -0.230145343804 --0.256419856395 -0.230030355863 --0.247397424641 -0.229915487123 --0.238381597951 -0.230093957864 --0.229262238546 -0.230283455294 --0.220125947072 -0.230190695811 --0.211081897015 -0.230097941071 --0.202042560598 -0.230005198313 --0.193008350415 -0.230150239999 --0.183783935068 -0.230306567083 --0.174545389225 -0.230236349911 --0.165487105809 -0.230166042246 --0.156432092014 -0.230095645653 --0.147380778756 -0.230206862782 --0.138070291722 -0.230329579231 --0.128748540587 -0.230282053326 --0.119677497547 -0.230234371529 --0.110608351528 -0.230186529656 --0.101541539237 -0.230263735966 --0.0921652269094 -0.230352597881 --0.0827805859827 -0.230327886942 --0.073698558281 -0.23030296403 --0.0646170846254 -0.230277841296 --0.0555366273984 -0.230320897489 --0.046115781938 -0.230375702657 --0.0366895767916 -0.230373864722 --0.027598537392 -0.230371805377 --0.0185067546307 -0.230369547691 --0.00941469741526 -0.230368369429 --2.16840434497e-19 -0.230369547691 -0.00941469741526 -0.230371805377 -0.0185067546307 -0.230373864722 -0.027598537392 -0.230375702657 -0.0366895767916 -0.230320897489 -0.046115781938 -0.230277841296 -0.0555366273984 -0.23030296403 -0.0646170846254 -0.230327886942 -0.073698558281 -0.230352597881 -0.0827805859827 -0.230263735966 -0.0921652269094 -0.230186529656 -0.101541539237 -0.230234371529 -0.110608351528 -0.230282053326 -0.119677497547 -0.230329579231 -0.128748540587 -0.230206862782 -0.138070291722 -0.230095645653 -0.147380778756 -0.230166042246 -0.156432092014 -0.230236349911 -0.165487105809 -0.230306567083 -0.174545389225 -0.230150239999 -0.183783935068 -0.230005198313 -0.193008350415 -0.230097941071 -0.202042560598 -0.230190695811 -0.211081897015 -0.230283455294 -0.220125947072 -0.230093957864 -0.229262238546 -0.229915487123 -0.238381597951 -0.230030355863 -0.247397424641 -0.230145343804 -0.256419856395 -0.23026046152 -0.2654485128 -0.230038115602 -0.274465747101 -0.229826493489 -0.283463316686 -0.22996322397 -0.292459811701 -0.230100199264 -0.30146445936 -0.230237451662 -0.310476932009 -0.229982731598 -0.319360229871 -0.229738346453 -0.328221156938 -0.2298966246 -0.337197725325 -0.230055333409 -0.346184117298 -0.230214468241 -0.355179988105 -0.229927860609 -0.363916788693 -0.229651167689 -0.372628618266 -0.238882287023 --0.371822026727 -0.239132569721 --0.363121940147 -0.23939182484 --0.354396880892 -0.239248099843 --0.345422616533 -0.239104751569 --0.336457773771 -0.238961790726 --0.32750266724 -0.239182858065 --0.318655488508 -0.239413269513 --0.309785951408 -0.239289307422 --0.300794878531 -0.239165589885 --0.291811572629 -0.239042111586 --0.282836367078 -0.239233481465 --0.273854392205 -0.239434545483 --0.264852747826 -0.239330604819 --0.255845331518 -0.239226779567 --0.246844107646 -0.239123059229 --0.237849435776 -0.239284449974 --0.228747282459 -0.239455822079 --0.219628201687 -0.239372118069 --0.210605281392 -0.239288415559 --0.201587050865 -0.239204704207 --0.192573903105 -0.239335771486 --0.183368096643 -0.239477060543 --0.174148168886 -0.23941373178 --0.165110938684 -0.239350318113 --0.156076955185 -0.239286849167 --0.147046658371 -0.239387300514 --0.13775591985 -0.239498154068 --0.128453921435 -0.239455375927 --0.119403898574 -0.239412448761 --0.110355763173 -0.239369373251 --0.101309945732 -0.23943898742 --0.0919542342762 -0.239519163653 --0.0825902078698 -0.239497028518 --0.0735291935104 -0.239474696873 --0.0644687369172 -0.239452191847 --0.0554092970245 -0.239490851569 --0.0460096154687 -0.239540143606 --0.0366045886723 -0.239538712155 --0.0275345987278 -0.239537082624 --0.0184638753228 -0.239535266169 --0.009392883356 -0.239534308316 --2.16840434497e-19 -0.239535266169 -0.009392883356 -0.239537082624 -0.0184638753228 -0.239538712155 -0.0275345987278 -0.239540143606 -0.0366045886723 -0.239490851569 -0.0460096154687 -0.239452191847 -0.0554092970245 -0.239474696873 -0.0644687369172 -0.239497028518 -0.0735291935104 -0.239519163653 -0.0825902078698 -0.23943898742 -0.0919542342762 -0.239369373251 -0.101309945732 -0.239412448761 -0.110355763173 -0.239455375927 -0.119403898574 -0.239498154068 -0.128453921435 -0.239387300514 -0.13775591985 -0.239286849167 -0.147046658371 -0.239350318113 -0.156076955185 -0.23941373178 -0.165110938684 -0.239477060543 -0.174148168886 -0.239335771486 -0.183368096643 -0.239204704207 -0.192573903105 -0.239288415559 -0.201587050865 -0.239372118069 -0.210605281392 -0.239455822079 -0.219628201687 -0.239284449974 -0.228747282459 -0.239123059229 -0.237849435776 -0.239226779567 -0.246844107646 -0.239330604819 -0.255845331518 -0.239434545483 -0.264852747826 -0.239233481465 -0.273854392205 -0.239042111586 -0.282836367078 -0.239165589885 -0.291811572629 -0.239289307422 -0.300794878531 -0.239413269513 -0.309785951408 -0.239182858065 -0.318655488508 -0.238961790726 -0.32750266724 -0.239104751569 -0.336457773771 -0.239248099843 -0.345422616533 -0.23939182484 -0.354396880892 -0.239132569721 -0.363121940147 -0.238882287023 -0.371822026727 -0.247858830684 --0.372350682429 -0.248139748072 --0.36364105674 -0.248430763083 --0.354906400577 -0.248269207727 --0.345919098863 -0.248108077683 --0.336941221707 -0.247947377225 --0.327973061263 -0.248195494053 --0.319115453985 -0.248454115439 --0.310235439298 -0.248314778814 --0.30123120773 -0.248175705427 --0.292234737742 -0.248036906388 --0.283246360049 -0.248251707179 --0.274253144337 -0.248477387284 --0.26524021369 -0.248360551802 --0.256219532139 -0.24824383448 --0.247205014174 -0.248127241492 --0.238197039265 -0.248308409796 --0.229082930015 -0.248500769484 --0.21995184157 -0.248406648761 --0.210915533416 -0.248312530916 --0.201883909558 -0.248218405357 --0.192857355537 -0.248365559114 --0.183638953896 -0.248524193066 --0.174406395508 -0.248452968328 --0.16535568232 -0.248381632033 --0.156308202787 -0.248310225241 --0.147264398477 -0.248423066874 --0.137960555697 -0.248547572599 --0.128645426521 -0.248499390129 --0.119581829515 -0.248451058799 --0.110520106659 -0.248402562051 --0.101460702741 -0.248480838287 --0.092091500013 -0.248570959733 --0.0827139545225 -0.248545949998 --0.0736392980185 -0.248520733324 --0.0645651926218 -0.2484953156 --0.055492096413 -0.248538892737 --0.0460786675632 -0.248594401221 --0.03665987857 -0.248592631649 --0.0275761953393 -0.248590651279 --0.0184917720928 -0.248588437081 --0.0094070755878 -0.248587262899 -0 -0.248588437081 -0.0094070755878 -0.248590651279 -0.0184917720928 -0.248592631649 -0.0275761953393 -0.248594401221 -0.03665987857 -0.248538892737 -0.0460786675632 -0.2484953156 -0.055492096413 -0.248520733324 -0.0645651926218 -0.248545949998 -0.0736392980185 -0.248570959733 -0.0827139545225 -0.248480838287 -0.092091500013 -0.248402562051 -0.101460702741 -0.248451058799 -0.110520106659 -0.248499390129 -0.119581829515 -0.248547572599 -0.128645426521 -0.248423066874 -0.137960555697 -0.248310225241 -0.147264398477 -0.248381632033 -0.156308202787 -0.248452968328 -0.16535568232 -0.248524193066 -0.174406395508 -0.248365559114 -0.183638953896 -0.248218405357 -0.192857355537 -0.248312530916 -0.201883909558 -0.248406648761 -0.210915533416 -0.248500769484 -0.21995184157 -0.248308409796 -0.229082930015 -0.248127241492 -0.238197039265 -0.24824383448 -0.247205014174 -0.248360551802 -0.256219532139 -0.248477387284 -0.26524021369 -0.248251707179 -0.274253144337 -0.248036906388 -0.283246360049 -0.248175705427 -0.292234737742 -0.248314778814 -0.30123120773 -0.248454115439 -0.310235439298 -0.248195494053 -0.319115453985 -0.247947377225 -0.327973061263 -0.248108077683 -0.336941221707 -0.248269207727 -0.345919098863 -0.248430763083 -0.354906400577 -0.248139748072 -0.36364105674 -0.247858830684 -0.372350682429 -0.256843421781 --0.372880595957 -0.257155007289 --0.36416138265 -0.257477805431 --0.355417091688 -0.257298396159 --0.3464167442 -0.257119466541 --0.33742581245 -0.256941014122 --0.328444591038 -0.257216182568 --0.319576498446 -0.257503022997 --0.310685962434 -0.257348301974 --0.301668563295 -0.257193874445 --0.292658909373 -0.257039745308 --0.28365734543 -0.257277976479 --0.274652829833 -0.257528290573 --0.26562856627 -0.257398547393 --0.256594604071 -0.257268924679 --0.247566782164 -0.257139440741 --0.238545505432 -0.25734040131 --0.229419379175 -0.257553781186 --0.220276227174 -0.25744922762 --0.21122651492 -0.25734467829 --0.202181475109 -0.257240133263 --0.193141501148 -0.257403391127 --0.183910453894 -0.257579371662 --0.174665210721 -0.257500231225 --0.165600993337 -0.257420975799 --0.156540005282 -0.257341617204 --0.147482669911 -0.25746685232 --0.138165657456 -0.257605031929 --0.128837342054 -0.257551451243 --0.119760156431 -0.257497704831 --0.1106848343 -0.257443770025 --0.101611825279 -0.25753072048 --0.0922290734265 -0.2576308004 --0.0828379535489 -0.257602913149 --0.0737496354662 -0.257574802903 --0.0646618612348 -0.257546463706 --0.0555750888329 -0.257594968005 --0.0461478534607 -0.257656703538 --0.0367152422213 -0.257654595294 --0.0276178472825 -0.257652246569 --0.0185197058216 -0.257649639957 --0.00942128641518 -0.257648272323 -0 -0.257649639957 -0.00942128641518 -0.257652246569 -0.0185197058216 -0.257654595294 -0.0276178472825 -0.257656703538 -0.0367152422213 -0.257594968005 -0.0461478534607 -0.257546463706 -0.0555750888329 -0.257574802903 -0.0646618612348 -0.257602913149 -0.0737496354662 -0.2576308004 -0.0828379535489 -0.25753072048 -0.0922290734265 -0.257443770025 -0.101611825279 -0.257497704831 -0.1106848343 -0.257551451243 -0.119760156431 -0.257605031929 -0.128837342054 -0.25746685232 -0.138165657456 -0.257341617204 -0.147482669911 -0.257420975799 -0.156540005282 -0.257500231225 -0.165600993337 -0.257579371662 -0.174665210721 -0.257403391127 -0.183910453894 -0.257240133263 -0.193141501148 -0.25734467829 -0.202181475109 -0.25744922762 -0.21122651492 -0.257553781186 -0.220276227174 -0.25734040131 -0.229419379175 -0.257139440741 -0.238545505432 -0.257268924679 -0.247566782164 -0.257398547393 -0.256594604071 -0.257528290573 -0.26562856627 -0.257277976479 -0.274652829833 -0.257039745308 -0.28365734543 -0.257193874445 -0.292658909373 -0.257348301974 -0.301668563295 -0.257503022997 -0.310685962434 -0.257216182568 -0.319576498446 -0.256941014122 -0.328444591038 -0.257119466541 -0.33742581245 -0.257298396159 -0.3464167442 -0.257477805431 -0.355417091688 -0.257155007289 -0.36416138265 -0.256843421781 -0.372880595957 -0.265835698426 --0.373411774802 -0.266177956481 --0.364682933089 -0.26653254893 --0.355928961386 -0.266335276732 --0.346915553692 -0.266138532803 --0.337911547528 -0.265942307909 --0.328917250362 -0.266244553571 --0.320038643355 -0.266559633489 --0.311137530782 -0.266389510055 --0.302106948793 -0.26621972196 --0.293084102499 -0.26605025587 --0.284069337336 -0.266311930036 --0.275053487281 -0.266586890731 --0.266017831502 -0.266444217657 --0.256970560325 -0.266301685546 --0.247929429822 -0.266159305883 --0.238894834789 -0.266380051245 --0.229756630092 -0.266614456726 --0.22060136464 -0.266499479508 --0.211538241337 -0.266384501534 --0.202479767561 -0.266269522967 --0.19342635438 -0.266448887389 --0.184182603364 -0.26664222367 --0.174924621342 -0.266555149775 --0.165846884457 -0.266467968736 --0.156772363419 -0.266380669848 --0.147701492821 -0.266518299074 --0.138371257307 -0.266670159756 --0.129029686623 -0.266611182675 --0.119938897097 -0.266552005148 --0.110849957544 -0.266492621864 --0.101763320972 -0.266588251646 --0.0923669585861 -0.266698301529 --0.0829622057646 -0.266667540043 --0.0738602090719 -0.266636528383 --0.0647587474214 -0.266605265536 --0.0556582813833 -0.266658699579 --0.0462171781477 -0.266726671979 --0.0367706828153 -0.266724225018 --0.0276595573363 -0.266721501469 --0.0185476783533 -0.266718507691 --0.00943551714935 -0.266716946307 -2.16840434497e-19 -0.266718507691 -0.00943551714935 -0.266721501469 -0.0185476783533 -0.266724225018 -0.0276595573363 -0.266726671979 -0.0367706828153 -0.266658699579 -0.0462171781477 -0.266605265536 -0.0556582813833 -0.266636528383 -0.0647587474214 -0.266667540043 -0.0738602090719 -0.266698301529 -0.0829622057646 -0.266588251646 -0.0923669585861 -0.266492621864 -0.101763320972 -0.266552005148 -0.110849957544 -0.266611182675 -0.119938897097 -0.266670159756 -0.129029686623 -0.266518299074 -0.138371257307 -0.266380669848 -0.147701492821 -0.266467968736 -0.156772363419 -0.266555149775 -0.165846884457 -0.26664222367 -0.174924621342 -0.266448887389 -0.184182603364 -0.266269522967 -0.19342635438 -0.266384501534 -0.202479767561 -0.266499479508 -0.211538241337 -0.266614456726 -0.22060136464 -0.266380051245 -0.229756630092 -0.266159305883 -0.238894834789 -0.266301685546 -0.247929429822 -0.266444217657 -0.256970560325 -0.266586890731 -0.266017831502 -0.266311930036 -0.275053487281 -0.26605025587 -0.284069337336 -0.26621972196 -0.293084102499 -0.266389510055 -0.302106948793 -0.266559633489 -0.311137530782 -0.266244553571 -0.320038643355 -0.265942307909 -0.328917250362 -0.266138532803 -0.337911547528 -0.266335276732 -0.346915553692 -0.26653254893 -0.355928961386 -0.266177956481 -0.364682933089 -0.265835698426 -0.373411774802 -0.275069696207 --0.32802076568 -0.275347961655 --0.319159413297 -0.27563805029 --0.310275554138 -0.275481596181 --0.301271611763 -0.27532544883 --0.292275331642 -0.275169582419 --0.283287047536 -0.275410476556 --0.27429072797 -0.275663610449 --0.265274603837 -0.275532422884 --0.256253778465 -0.27540136729 --0.24723904213 -0.275270436511 --0.238230778675 -0.275473603745 --0.229114122226 -0.275689364234 --0.219980426346 -0.275583680425 --0.210943619606 -0.275477992612 --0.201911421839 -0.275372300884 --0.192884249624 -0.275537310898 --0.183663770114 -0.27571520061 --0.174429080312 -0.275635211471 --0.165377578693 -0.275555126561 --0.156329268619 -0.275474929424 --0.147284586451 -0.2756014848 --0.1379790344 -0.275741156471 --0.1286621608 -0.275687035827 --0.119597566138 -0.275632733326 --0.110534813151 -0.275578248208 --0.101474346538 -0.275666089959 --0.0921037267273 -0.275767223797 --0.0827247425563 -0.275739104616 --0.0736489508499 -0.275710744018 --0.064573688736 -0.275682160731 --0.0554994190123 -0.275731100507 --0.0460847562483 -0.275793436609 --0.0366647230362 -0.275791397737 --0.0275798412575 -0.275789106002 --0.0184942186436 -0.275786566269 --0.00940832041669 -0.27578523136 -0 -0.275786566269 -0.00940832041669 -0.275789106002 -0.0184942186436 -0.275791397737 -0.0275798412575 -0.275793436609 -0.0366647230362 -0.275731100507 -0.0460847562483 -0.275682160731 -0.0554994190123 -0.275710744018 -0.064573688736 -0.275739104616 -0.0736489508499 -0.275767223797 -0.0827247425563 -0.275666089959 -0.0921037267273 -0.275578248208 -0.101474346538 -0.275632733326 -0.110534813151 -0.275687035827 -0.119597566138 -0.275741156471 -0.1286621608 -0.2756014848 -0.1379790344 -0.275474929424 -0.147284586451 -0.275555126561 -0.156329268619 -0.275635211471 -0.165377578693 -0.27571520061 -0.174429080312 -0.275537310898 -0.183663770114 -0.275372300884 -0.192884249624 -0.275477992612 -0.201911421839 -0.275583680425 -0.210943619606 -0.275689364234 -0.219980426346 -0.275473603745 -0.229114122226 -0.275270436511 -0.238230778675 -0.27540136729 -0.24723904213 -0.275532422884 -0.256253778465 -0.275663610449 -0.265274603837 -0.275410476556 -0.27429072797 -0.275169582419 -0.283287047536 -0.27532544883 -0.292275331642 -0.275481596181 -0.301271611763 -0.27563805029 -0.310275554138 -0.275347961655 -0.319159413297 -0.275069696207 -0.32802076568 -0.284176859091 --0.327167778104 -0.28443097868 --0.318322716535 -0.284695904457 --0.309455167689 -0.284553221241 --0.300476629955 -0.284410797702 --0.29150568456 -0.28426862633 --0.282542669054 -0.284488611393 --0.273564850113 -0.284719764582 --0.264567223434 -0.28460013555 --0.25557159808 -0.284480635905 --0.246582025975 -0.284361246234 --0.237598874944 -0.284546729397 --0.228502671046 -0.284743712645 --0.219389428457 -0.284647379993 --0.210377692649 -0.284551051944 --0.201370535053 -0.284454715117 --0.192368351861 -0.284605283363 --0.18316999699 -0.284767618683 --0.173957439498 -0.284694761086 --0.164930917307 -0.284621819624 --0.155907562849 -0.284548769609 --0.146887801775 -0.284664176057 --0.137605736971 -0.284791570058 --0.128312364824 -0.284742341517 --0.119272701278 -0.284692961016 --0.110234870222 -0.284643409613 --0.101199308241 -0.284723413626 --0.0918532043858 -0.284815572242 --0.0824987536413 -0.284790101687 --0.0734478900564 -0.284764410932 --0.0643975562849 -0.284738525489 --0.0553482114243 -0.28478293923 --0.0459587369183 -0.284839594095 --0.0365639119206 -0.284837971153 --0.0275039987135 -0.284836118021 --0.0184433563703 -0.284834022761 --0.00938244496082 -0.284832910131 -2.16840434497e-19 -0.284834022761 -0.00938244496082 -0.284836118021 -0.0184433563703 -0.284837971153 -0.0275039987135 -0.284839594095 -0.0365639119206 -0.28478293923 -0.0459587369183 -0.284738525489 -0.0553482114243 -0.284764410932 -0.0643975562849 -0.284790101687 -0.0734478900564 -0.284815572242 -0.0824987536413 -0.284723413626 -0.0918532043858 -0.284643409613 -0.101199308241 -0.284692961016 -0.110234870222 -0.284742341517 -0.119272701278 -0.284791570058 -0.128312364824 -0.284664176057 -0.137605736971 -0.284548769609 -0.146887801775 -0.284621819624 -0.155907562849 -0.284694761086 -0.164930917307 -0.284767618683 -0.173957439498 -0.284605283363 -0.18316999699 -0.284454715117 -0.192368351861 -0.284551051944 -0.201370535053 -0.284647379993 -0.210377692649 -0.284743712645 -0.219389428457 -0.284546729397 -0.228502671046 -0.284361246234 -0.237598874944 -0.284480635905 -0.246582025975 -0.28460013555 -0.25557159808 -0.284719764582 -0.264567223434 -0.284488611393 -0.273564850113 -0.28426862633 -0.282542669054 -0.284410797702 -0.29150568456 -0.284553221241 -0.300476629955 -0.284695904457 -0.309455167689 -0.28443097868 -0.318322716535 -0.284176859091 -0.327167778104 -0.29314643865 --0.327728855145 -0.293427325558 --0.318871312022 -0.293720169091 --0.309991229175 -0.293562264739 --0.300997033758 -0.293404642568 --0.292010411142 -0.293247313591 --0.283031715637 -0.293490483838 --0.274040456003 -0.293746000929 --0.265029333695 -0.293613598777 --0.256017906715 -0.293481340678 --0.247012524896 -0.293349211326 --0.238013547422 -0.293554259896 --0.228903017001 -0.293772017929 --0.219775404749 -0.293665376869 --0.210747742834 -0.293558740235 --0.201724640336 -0.293452095477 --0.192706489384 -0.293618591561 --0.183493068299 -0.293798088144 --0.17426540047 -0.293717404946 --0.165222823118 -0.293636628613 --0.156183402794 -0.293555727237 --0.14714755589 -0.2936833818 --0.137849811617 -0.29382429695 --0.128540731022 -0.293769736876 --0.119484906426 -0.29371499581 --0.110430896087 -0.293660067826 --0.10137914843 -0.293748646038 --0.0920169045105 -0.293850646981 --0.0826462825828 -0.293822336078 --0.0735791704675 -0.293793790503 --0.0645125811023 -0.293765009486 --0.0554469706399 -0.293814287108 --0.0460410494009 -0.293877098597 --0.0366297619252 -0.293875140272 --0.0275535403926 -0.293872927117 --0.018476580657 -0.293870448761 --0.00939934751652 -0.293869139014 -2.16840434497e-19 -0.293870448761 -0.00939934751652 -0.293872927117 -0.018476580657 -0.293875140272 -0.0275535403926 -0.293877098597 -0.0366297619252 -0.293814287108 -0.0460410494009 -0.293765009486 -0.0554469706399 -0.293793790503 -0.0645125811023 -0.293822336078 -0.0735791704675 -0.293850646981 -0.0826462825828 -0.293748646038 -0.0920169045105 -0.293660067826 -0.10137914843 -0.29371499581 -0.110430896087 -0.293769736876 -0.119484906426 -0.29382429695 -0.128540731022 -0.2936833818 -0.137849811617 -0.293555727237 -0.14714755589 -0.293636628613 -0.156183402794 -0.293717404946 -0.165222823118 -0.293798088144 -0.17426540047 -0.293618591561 -0.183493068299 -0.293452095477 -0.192706489384 -0.293558740235 -0.201724640336 -0.293665376869 -0.210747742834 -0.293772017929 -0.219775404749 -0.293554259896 -0.228903017001 -0.293349211326 -0.238013547422 -0.293481340678 -0.247012524896 -0.293613598777 -0.256017906715 -0.293746000929 -0.265029333695 -0.293490483838 -0.274040456003 -0.293247313591 -0.283031715637 -0.293404642568 -0.292010411142 -0.293562264739 -0.300997033758 -0.293720169091 -0.309991229175 -0.293427325558 -0.318871312022 -0.29314643865 -0.327728855145 -0.302125836538 --0.328291634425 -0.302433525987 --0.319421559786 -0.302754310621 --0.310528889449 -0.302581158781 --0.301519011118 -0.302408323783 --0.292516681467 -0.302235817967 --0.283522281028 -0.302502184569 --0.274517504472 -0.30278208936 --0.265492815763 -0.30263691053 --0.256465573218 -0.302491882951 --0.247444343963 -0.302346996219 --0.238429501994 -0.302571624784 --0.229304587546 -0.302810180541 --0.220162547137 -0.302693216298 --0.21111891548 -0.302576257459 --0.202079828633 -0.302459292134 --0.193045684199 -0.302641726059 --0.183817124118 -0.302838409123 --0.174574281554 -0.302749888846 --0.165515614066 -0.302661260454 --0.156460089553 -0.302572498385 --0.147408126096 -0.302712419601 --0.138094624245 -0.302866863534 --0.128769753946 -0.30280695806 --0.119697730505 -0.302746850428 --0.110627514483 -0.302686545731 --0.101559554414 -0.302783699683 --0.0921810880424 -0.302895547776 --0.0827942164954 -0.302864399137 --0.0737108225267 -0.302832994055 --0.0646279402388 -0.302801320423 --0.0555460313023 -0.302855480935 --0.0461235884241 -0.302924455399 --0.036695758815 -0.302922148736 --0.0276031916988 -0.30291957004 --0.0185098789931 -0.302916707961 --0.00941628774828 -0.302915206788 -0 -0.302916707961 -0.00941628774828 -0.30291957004 -0.0185098789931 -0.302922148736 -0.0276031916988 -0.302924455399 -0.036695758815 -0.302855480935 -0.0461235884241 -0.302801320423 -0.0555460313023 -0.302832994055 -0.0646279402388 -0.302864399137 -0.0737108225267 -0.302895547776 -0.0827942164954 -0.302783699683 -0.0921810880424 -0.302686545731 -0.101559554414 -0.302746850428 -0.110627514483 -0.30280695806 -0.119697730505 -0.302866863534 -0.128769753946 -0.302712419601 -0.138094624245 -0.302572498385 -0.147408126096 -0.302661260454 -0.156460089553 -0.302749888846 -0.165515614066 -0.302838409123 -0.174574281554 -0.302641726059 -0.183817124118 -0.302459292134 -0.193045684199 -0.302576257459 -0.202079828633 -0.302693216298 -0.21111891548 -0.302810180541 -0.220162547137 -0.302571624784 -0.229304587546 -0.302346996219 -0.238429501994 -0.302491882951 -0.247444343963 -0.30263691053 -0.256465573218 -0.30278208936 -0.265492815763 -0.302502184569 -0.274517504472 -0.302235817967 -0.283522281028 -0.302408323783 -0.292516681467 -0.302581158781 -0.301519011118 -0.302754310621 -0.310528889449 -0.302433525987 -0.319421559786 -0.302125836538 -0.328291634425 -0.311114723926 --0.328856158238 -0.311449232147 --0.319973503456 -0.311797981005 --0.31106817986 -0.311609576738 --0.30204258283 -0.311421518281 --0.293024526883 -0.311233804985 --0.284014382781 -0.311523386256 --0.274996024057 -0.311827700487 --0.26595770441 -0.31166971783 --0.256914602091 -0.311511898693 --0.247877492559 -0.311354240764 --0.238846764529 -0.31159846641 --0.229707402238 -0.311857843131 --0.220550864197 -0.311730550875 --0.211491228355 -0.311603258882 --0.202436122224 -0.31147596671 --0.193385958687 -0.311674345544 --0.184142189101 -0.311888223853 --0.174884095487 -0.311791851552 --0.165809300296 -0.311695354516 --0.156737627306 -0.311598735632 --0.147669521559 -0.311750947083 --0.138340195759 -0.311918924971 --0.128999456353 -0.311853663607 --0.119911201227 -0.311788188873 --0.110824740835 -0.311722492926 --0.101740524498 -0.311828242874 --0.0923457631941 -0.31194996713 --0.0829425714879 -0.311915959117 --0.0738428572914 -0.31188167856 --0.064743643803 -0.311847114613 --0.0556453983994 -0.311906162326 --0.0462063543326 -0.311981312639 --0.036761905193 -0.311978656937 --0.0276529557015 -0.311975712602 --0.0185432527489 -0.311972466663 --0.0094332665196 -0.311970766771 -0 -0.311972466663 -0.0094332665196 -0.311975712602 -0.0185432527489 -0.311978656937 -0.0276529557015 -0.311981312639 -0.036761905193 -0.311906162326 -0.0462063543326 -0.311847114613 -0.0556453983994 -0.31188167856 -0.064743643803 -0.311915959117 -0.0738428572914 -0.31194996713 -0.0829425714879 -0.311828242874 -0.0923457631941 -0.311722492926 -0.101740524498 -0.311788188873 -0.110824740835 -0.311853663607 -0.119911201227 -0.311918924971 -0.128999456353 -0.311750947083 -0.138340195759 -0.311598735632 -0.147669521559 -0.311695354516 -0.156737627306 -0.311791851552 -0.165809300296 -0.311888223853 -0.174884095487 -0.311674345544 -0.184142189101 -0.31147596671 -0.193385958687 -0.311603258882 -0.202436122224 -0.311730550875 -0.211491228355 -0.311857843131 -0.220550864197 -0.31159846641 -0.229707402238 -0.311354240764 -0.238846764529 -0.311511898693 -0.247877492559 -0.31166971783 -0.256914602091 -0.311827700487 -0.26595770441 -0.311523386256 -0.274996024057 -0.311233804985 -0.284014382781 -0.311421518281 -0.293024526883 -0.311609576738 -0.30204258283 -0.311797981005 -0.31106817986 -0.311449232147 -0.319973503456 -0.311114723926 -0.328856158238 -0.320744955908 --0.310080821199 -0.320570485259 --0.301085709411 -0.320396332273 --0.292098067262 -0.320222487522 --0.283118241017 -0.320490865517 --0.274122269059 -0.320772909737 --0.2651063449 -0.320626629035 --0.256093511333 -0.320480492706 --0.247086616645 -0.320334508839 --0.238086049007 -0.32056082163 --0.228971393051 -0.3208011786 --0.219839568269 -0.320683364054 --0.210810061716 -0.320565546099 --0.201785038709 -0.320447710867 --0.192764909758 -0.320631492654 --0.183547841764 -0.320829647041 --0.174316461301 -0.320740481599 --0.165271688566 -0.320651204451 --0.156230017577 -0.320561825459 --0.147191889691 -0.320702765438 --0.137890886196 -0.32085832212 --0.128578484254 -0.320798018684 --0.119520217596 -0.320737505199 --0.110463727342 -0.32067678822 --0.101409461806 -0.320774623818 --0.0920442467726 -0.320887269369 --0.082670622224 -0.320855943618 --0.0736008989086 -0.320824374503 --0.0645316776622 -0.320792536323 --0.0554634155629 -0.320846982601 --0.046054709568 -0.320916368318 --0.0366406242064 -0.320914123314 --0.0275617125442 -0.320911616353 --0.0184820628573 -0.320908825258 --0.00940213754122 -0.320907354095 -2.16840434497e-19 -0.320908825258 -0.00940213754122 -0.320911616353 -0.0184820628573 -0.320914123314 -0.0275617125442 -0.320916368318 -0.0366406242064 -0.320846982601 -0.046054709568 -0.320792536323 -0.0554634155629 -0.320824374503 -0.0645316776622 -0.320855943618 -0.0736008989086 -0.320887269369 -0.082670622224 -0.320774623818 -0.0920442467726 -0.32067678822 -0.101409461806 -0.320737505199 -0.110463727342 -0.320798018684 -0.119520217596 -0.32085832212 -0.128578484254 -0.320702765438 -0.137890886196 -0.320561825459 -0.147191889691 -0.320651204451 -0.156230017577 -0.320740481599 -0.165271688566 -0.320829647041 -0.174316461301 -0.320631492654 -0.183547841764 -0.320447710867 -0.192764909758 -0.320565546099 -0.201785038709 -0.320683364054 -0.210810061716 -0.3208011786 -0.219839568269 -0.32056082163 -0.228971393051 -0.320334508839 -0.238086049007 -0.320480492706 -0.247086616645 -0.320626629035 -0.256093511333 -0.320772909737 -0.2651063449 -0.320490865517 -0.274122269059 -0.320222487522 -0.283118241017 -0.320396332273 -0.292098067262 -0.320570485259 -0.301085709411 -0.320744955908 -0.310080821199 -0.329668467414 --0.309133374479 -0.329508027268 --0.300167561665 -0.329347889606 --0.291209159149 -0.329188037071 --0.282258495016 -0.329435055643 --0.273283920838 -0.329694652245 --0.26428938609 -0.329560171692 --0.255305631414 -0.329425827107 --0.246327772219 -0.329291615245 --0.237356178995 -0.329499866398 --0.228265173503 -0.329721050949 --0.219156996323 -0.329612780628 --0.210156419488 -0.329504510411 --0.201160289646 -0.329396216656 --0.192168993279 -0.32956529162 --0.1829775173 -0.329747604651 --0.173771741456 -0.329665713586 --0.164755793686 -0.329583725599 --0.155742926683 -0.329501631894 --0.146733560644 -0.329631200074 --0.137459727479 -0.329774234646 --0.128174515674 -0.3297189285 --0.119145022145 -0.329663424504 --0.110117291454 -0.329607736431 --0.101091767582 -0.329697577919 --0.0917549152772 -0.329801055354 --0.0824096693039 -0.329772452306 --0.0733687174489 -0.32974360883 --0.0643282677537 -0.32971452015 --0.0552887718434 -0.329764341224 --0.045909206179 -0.32982791569 --0.0365242821668 -0.329826091023 --0.02747418586 -0.32982401459 --0.0184233647268 -0.329821673566 --0.00937227570326 -0.329820434085 -0 -0.329821673566 -0.00937227570326 -0.32982401459 -0.0184233647268 -0.329826091023 -0.02747418586 -0.32982791569 -0.0365242821668 -0.329764341224 -0.045909206179 -0.32971452015 -0.0552887718434 -0.32974360883 -0.0643282677537 -0.329772452306 -0.0733687174489 -0.329801055354 -0.0824096693039 -0.329697577919 -0.0917549152772 -0.329607736431 -0.101091767582 -0.329663424504 -0.110117291454 -0.3297189285 -0.119145022145 -0.329774234646 -0.128174515674 -0.329631200074 -0.137459727479 -0.329501631894 -0.146733560644 -0.329583725599 -0.155742926683 -0.329665713586 -0.164755793686 -0.329747604651 -0.173771741456 -0.32956529162 -0.1829775173 -0.329396216656 -0.192168993279 -0.329504510411 -0.201160289646 -0.329612780628 -0.210156419488 -0.329721050949 -0.219156996323 -0.329499866398 -0.228265173503 -0.329291615245 -0.237356178995 -0.329425827107 -0.246327772219 -0.329560171692 -0.255305631414 -0.329694652245 -0.26428938609 -0.329435055643 -0.273283920838 -0.329188037071 -0.282258495016 -0.329347889606 -0.291209159149 -0.329508027268 -0.300167561665 -0.329668467414 -0.309133374479 -0.338703945726 --0.264824761986 -0.338556832642 --0.255822731636 -0.338409872532 --0.246826574177 -0.338263060245 --0.237836669818 -0.338490645655 --0.228729026973 -0.338732371129 --0.219604160402 -0.338613901838 --0.210585148594 -0.338495435498 --0.201570571817 -0.338376958897 --0.19256080853 -0.338561772823 --0.183351828441 -0.338761052942 --0.174128505518 -0.338671434022 --0.165093982099 -0.338581693448 --0.156062521305 -0.338491830368 --0.14703454261 -0.338633511217 --0.137742504225 -0.338789904079 --0.128439048974 -0.338729322595 --0.119390853644 -0.338668539411 --0.110344406028 -0.338607534028 --0.101300149366 -0.338705832705 --0.0919445511326 -0.33881904894 --0.0825805322156 -0.338787642224 --0.07352077647 -0.338755962601 --0.0644615102707 -0.338724017988 --0.0554031914221 -0.338778656972 --0.046004532305 -0.338848321817 --0.0366004946955 -0.338846159198 --0.0275315237623 -0.338843717411 --0.0184618172168 -0.338840995161 --0.00939183773559 -0.338839561169 -2.16840434497e-19 -0.338840995161 -0.00939183773559 -0.338843717411 -0.0184618172168 -0.338846159198 -0.0275315237623 -0.338848321817 -0.0366004946955 -0.338778656972 -0.046004532305 -0.338724017988 -0.0554031914221 -0.338755962601 -0.0644615102707 -0.338787642224 -0.07352077647 -0.33881904894 -0.0825805322156 -0.338705832705 -0.0919445511326 -0.338607534028 -0.101300149366 -0.338668539411 -0.110344406028 -0.338729322595 -0.119390853644 -0.338789904079 -0.128439048974 -0.338633511217 -0.137742504225 -0.338491830368 -0.14703454261 -0.338581693448 -0.156062521305 -0.338671434022 -0.165093982099 -0.338761052942 -0.174128505518 -0.338561772823 -0.183351828441 -0.338376958897 -0.19256080853 -0.338495435498 -0.201570571817 -0.338613901838 -0.210585148594 -0.338732371129 -0.219604160402 -0.338490645655 -0.228729026973 -0.338263060245 -0.237836669818 -0.338409872532 -0.246826574177 -0.338556832642 -0.255822731636 -0.338703945726 -0.264824761986 -0.347724920797 --0.265362069175 -0.347565159292 --0.256341718324 -0.347405566427 --0.247327223388 -0.347246145816 --0.238318962132 -0.347493098433 --0.229194608313 -0.347755388682 --0.220052972594 -0.34762670284 --0.211015467292 -0.347498020556 --0.201982380141 -0.347369351937 --0.192954103975 -0.347569923768 --0.183727541225 -0.347786179708 --0.174486579335 -0.347688810028 --0.165433421408 -0.347591304042 --0.156383309829 -0.34749367377 --0.14733666834 -0.347647489938 --0.138026327653 -0.347817266305 --0.128704531188 -0.347751392539 --0.119637576193 -0.347685300148 --0.110572356777 -0.347618968734 --0.101509318134 -0.347725757499 --0.092134880176 -0.347848732234 --0.0827519901685 -0.347814492404 --0.0736733723203 -0.347779973698 --0.0645952351695 -0.347745171925 --0.0555180372583 -0.347804630133 --0.0461001865651 -0.347880394608 --0.036676936049 -0.347877899475 --0.0275890336959 -0.347875101387 --0.0185003855727 -0.34787199702 --0.0094114587918 -0.347870366031 --2.16840434497e-19 -0.34787199702 -0.0094114587918 -0.347875101387 -0.0185003855727 -0.347877899475 -0.0275890336959 -0.347880394608 -0.036676936049 -0.347804630133 -0.0461001865651 -0.347745171925 -0.0555180372583 -0.347779973698 -0.0645952351695 -0.347814492404 -0.0736733723203 -0.347848732234 -0.0827519901685 -0.347725757499 -0.092134880176 -0.347618968734 -0.101509318134 -0.347685300148 -0.110572356777 -0.347751392539 -0.119637576193 -0.347817266305 -0.128704531188 -0.347647489938 -0.138026327653 -0.34749367377 -0.14733666834 -0.347591304042 -0.156383309829 -0.347688810028 -0.165433421408 -0.347786179708 -0.174486579335 -0.347569923768 -0.183727541225 -0.347369351937 -0.192954103975 -0.347498020556 -0.201982380141 -0.34762670284 -0.211015467292 -0.347755388682 -0.220052972594 -0.347493098433 -0.229194608313 -0.347246145816 -0.238318962132 -0.347405566427 -0.247327223388 -0.347565159292 -0.256341718324 -0.347724920797 -0.265362069175 -0.356757272612 --0.265901351667 -0.356584843314 --0.256862623039 -0.356412612381 --0.247829744844 -0.356240558698 --0.238803080246 -0.356506902586 --0.229661935363 -0.356789789123 --0.220503450041 -0.356650878702 --0.211447396948 -0.356511964604 --0.202395739977 -0.356373072656 --0.193348896545 -0.35658942496 --0.184104660017 -0.356822691648 --0.174845970541 -0.356717548508 --0.165774126621 -0.356612272987 --0.15670530976 -0.356506869373 --0.147639950532 -0.356672822428 --0.138311214439 -0.356855993565 --0.128970984432 -0.356784817075 --0.119885210856 -0.356713407676 --0.110801160721 -0.356641758066 --0.101719285577 -0.356757053482 --0.0923259130888 -0.356889777888 --0.082924052366 -0.356852708126 --0.0738265172616 -0.356815343795 --0.064729450801 -0.356777682982 --0.055633316069 -0.35684198265 --0.0461961756694 -0.356923852338 --0.0367536113825 -0.356921015885 --0.0276467191689 -0.35691785532 --0.018539071498 -0.356914370689 --0.00943113994673 -0.35691254249 -0 -0.356914370689 -0.00943113994673 -0.35691785532 -0.018539071498 -0.356921015885 -0.0276467191689 -0.356923852338 -0.0367536113825 -0.35684198265 -0.0461961756694 -0.356777682982 -0.055633316069 -0.356815343795 -0.064729450801 -0.356852708126 -0.0738265172616 -0.356889777888 -0.082924052366 -0.356757053482 -0.0923259130888 -0.356641758066 -0.101719285577 -0.356713407676 -0.110801160721 -0.356784817075 -0.119885210856 -0.356855993565 -0.128970984432 -0.356672822428 -0.138311214439 -0.356506869373 -0.147639950532 -0.356612272987 -0.15670530976 -0.356717548508 -0.165774126621 -0.356822691648 -0.174845970541 -0.35658942496 -0.184104660017 -0.356373072656 -0.193348896545 -0.356511964604 -0.202395739977 -0.356650878702 -0.211447396948 -0.356789789123 -0.220503450041 -0.356506902586 -0.229661935363 -0.356240558698 -0.238803080246 -0.356412612381 -0.247829744844 -0.356584843314 -0.256862623039 -0.356757272612 -0.265901351667 -0.365558020549 --0.264943758707 -0.365397583892 --0.255939063157 -0.36523732978 --0.246940150083 -0.365077222806 --0.237947376881 -0.365325227778 --0.228834052091 -0.36558865133 --0.219703411783 -0.365459442912 --0.210681225743 -0.365330226782 --0.201663384125 -0.36520101215 --0.192650299689 -0.365402401283 --0.183436129649 -0.365619562785 --0.174207529989 -0.365521816454 --0.165169444582 -0.365423935166 --0.156134350958 -0.365325939383 --0.147102683202 -0.36548034851 --0.137805844793 -0.365650791603 --0.128497527761 -0.365584685136 --0.119445459288 -0.365518366329 --0.110395102485 -0.36545183331 --0.101346897892 -0.365558986982 --0.0919867945877 -0.365682367799 --0.082618230146 -0.365648055553 --0.0735544083387 -0.365613468096 --0.0644910541512 -0.365578594795 --0.0554286234186 -0.365638219399 --0.0460256520825 -0.365714208647 --0.0366172837493 -0.365711782521 --0.0275441556661 -0.365709058302 --0.018470290165 -0.365706027653 --0.0093961491204 -0.365704432274 --2.16840434497e-19 -0.365706027653 -0.0093961491204 -0.365709058302 -0.018470290165 -0.365711782521 -0.0275441556661 -0.365714208647 -0.0366172837493 -0.365638219399 -0.0460256520825 -0.365578594795 -0.0554286234186 -0.365613468096 -0.0644910541512 -0.365648055553 -0.0735544083387 -0.365682367799 -0.082618230146 -0.365558986982 -0.0919867945877 -0.36545183331 -0.101346897892 -0.365518366329 -0.110395102485 -0.365584685136 -0.119445459288 -0.365650791603 -0.128497527761 -0.36548034851 -0.137805844793 -0.365325939383 -0.147102683202 -0.365423935166 -0.156134350958 -0.365521816454 -0.165169444582 -0.365619562785 -0.174207529989 -0.365402401283 -0.183436129649 -0.36520101215 -0.192650299689 -0.365330226782 -0.201663384125 -0.365459442912 -0.210681225743 -0.36558865133 -0.219703411783 -0.365325227778 -0.228834052091 -0.365077222806 -0.237947376881 -0.36523732978 -0.246940150083 -0.365397583892 -0.255939063157 -0.365558020549 -0.264943758707 -0.374332491483 --0.264019018376 -0.374184158405 --0.255047225491 -0.374035977857 --0.24608114617 -0.373887933071 --0.237121126334 -0.374117425826 --0.228034613887 -0.374361208534 --0.218930795129 -0.374241797176 --0.209941335889 -0.374122359763 --0.200956169136 -0.374002919455 --0.191975700187 -0.374189228512 --0.182790547081 -0.37439014371 --0.173590971459 -0.374299859429 --0.16458549304 -0.374209439952 --0.155582971909 -0.374118911154 --0.146583840399 -0.374261676892 --0.137317799952 -0.374419289896 --0.128040293551 -0.374358299386 --0.119020772734 -0.374297109072 --0.110002950991 -0.374235725275 --0.100987260166 -0.374334658445 --0.0916592998842 -0.374448639351 --0.0823229048267 -0.374417114723 --0.0732916314001 -0.374385308886 --0.0642608234907 -0.374353239451 --0.055230933862 -0.374408147872 --0.0458609887878 -0.374478212158 --0.0364856706291 -0.374476212559 --0.0274451395804 -0.374473935986 --0.0184038883802 -0.374471362461 --0.00936236887826 -0.374470001464 -0 -0.374471362461 -0.00936236887826 -0.374473935986 -0.0184038883802 -0.374476212559 -0.0274451395804 -0.374478212158 -0.0364856706291 -0.374408147872 -0.0458609887878 -0.374353239451 -0.055230933862 -0.374385308886 -0.0642608234907 -0.374417114723 -0.0732916314001 -0.374448639351 -0.0823229048267 -0.374334658445 -0.0916592998842 -0.374235725275 -0.100987260166 -0.374297109072 -0.110002950991 -0.374358299386 -0.119020772734 -0.374419289896 -0.128040293551 -0.374261676892 -0.137317799952 -0.374118911154 -0.146583840399 -0.374209439952 -0.155582971909 -0.374299859429 -0.16458549304 -0.37439014371 -0.173590971459 -0.374189228512 -0.182790547081 -0.374002919455 -0.191975700187 -0.374122359763 -0.200956169136 -0.374241797176 -0.209941335889 -0.374361208534 -0.218930795129 -0.374117425826 -0.228034613887 -0.373887933071 -0.237121126334 -0.374035977857 -0.24608114617 -0.374184158405 -0.255047225491 -0.374332491483 -0.264019018376 -0.383355461543 --0.219438023249 -0.38322598326 --0.210427672928 -0.383096493354 --0.201421605927 -0.382966998103 --0.192420217166 -0.383168841328 --0.183215170602 -0.383386507335 --0.173995643974 -0.383288582201 --0.164969108557 -0.383190506714 --0.155945517498 -0.383092307232 --0.146925298748 -0.383247037372 --0.137638564792 -0.383417844867 --0.128340320544 -0.383351636319 --0.11929960232 -0.383285225747 --0.110260565943 -0.383218585458 --0.101223648672 -0.383325880794 --0.0918743940199 -0.38344949406 --0.0825166692656 -0.383415194709 --0.0734640849346 -0.383380581515 --0.0644119505479 -0.383345688702 --0.0553607250209 -0.383405351719 --0.0459690863836 -0.383481428044 --0.0365720523 -0.383479100254 --0.0275101287792 -0.383476463485 --0.0184474725428 -0.383473514929 --0.00938454192642 -0.383471967669 -0 -0.383473514929 -0.00938454192642 -0.383476463485 -0.0184474725428 -0.383479100254 -0.0275101287792 -0.383481428044 -0.0365720523 -0.383405351719 -0.0459690863836 -0.383345688702 -0.0553607250209 -0.383380581515 -0.0644119505479 -0.383415194709 -0.0734640849346 -0.38344949406 -0.0825166692656 -0.383325880794 -0.0918743940199 -0.383218585458 -0.101223648672 -0.383285225747 -0.110260565943 -0.383351636319 -0.11929960232 -0.383417844867 -0.128340320544 -0.383247037372 -0.137638564792 -0.383092307232 -0.146925298748 -0.383190506714 -0.155945517498 -0.383288582201 -0.164969108557 -0.383386507335 -0.173995643974 -0.383168841328 -0.183215170602 -0.382966998103 -0.192420217166 -0.383096493354 -0.201421605927 -0.38322598326 -0.210427672928 -0.383355461543 -0.219438023249 -0.392363274975 --0.219947418843 -0.39222371765 --0.210916108398 -0.392084157409 --0.201889065689 -0.391944581046 --0.192866684998 -0.392161978041 --0.183641637913 -0.39239642204 --0.174402052928 -0.392290845697 --0.165354384606 -0.392185098316 --0.156309644438 -0.392079211827 --0.147268258916 -0.392245936562 --0.137960719094 -0.392429962702 --0.128641624053 -0.39235852524 --0.119579633309 -0.392286863721 --0.110519304829 -0.392214961513 --0.101461081062 -0.392330654308 --0.0920904165832 -0.392463894915 --0.0827112382306 -0.392426800465 --0.0736372594136 -0.392389393632 --0.0645637212255 -0.392351686004 --0.0554910821289 -0.392416110506 --0.0460776293857 -0.392498204654 --0.0366587576456 -0.392495539043 --0.0275753608312 -0.392492532618 --0.0184912192771 -0.392489196252 --0.00940679729692 -0.392487459181 -0 -0.392489196252 -0.00940679729692 -0.392492532618 -0.0184912192771 -0.392495539043 -0.0275753608312 -0.392498204654 -0.0366587576456 -0.392416110506 -0.0460776293857 -0.392351686004 -0.0554910821289 -0.392389393632 -0.0645637212255 -0.392426800465 -0.0736372594136 -0.392463894915 -0.0827112382306 -0.392330654308 -0.0920904165832 -0.392214961513 -0.101461081062 -0.392286863721 -0.110519304829 -0.39235852524 -0.119579633309 -0.392429962702 -0.128641624053 -0.392245936562 -0.137960719094 -0.392079211827 -0.147268258916 -0.392185098316 -0.156309644438 -0.392290845697 -0.165354384606 -0.39239642204 -0.174402052928 -0.392161978041 -0.183641637913 -0.391944581046 -0.192866684998 -0.392084157409 -0.201889065689 -0.39222371765 -0.210916108398 -0.392363274975 -0.219947418843 -0.401384384469 --0.220459013968 -0.401234732054 --0.211406673167 -0.401085068122 --0.202358568892 -0.400935382782 --0.193315118551 -0.401168387605 --0.184069972977 -0.401419637028 --0.174810222373 -0.401306369068 --0.165741345623 -0.401192940599 --0.156675375937 -0.401079363821 --0.147612748826 -0.401258088386 --0.138284288904 -0.401455364036 --0.12894422573 -0.40137870232 --0.119860883797 -0.401301770995 --0.110779181101 -0.401224602254 --0.1016995729 -0.401348708507 --0.0923073740248 -0.401491576065 --0.0829066222285 -0.401451684586 --0.0738111722517 -0.401411475598 --0.0647161484081 -0.40137093684 --0.0556220151431 -0.401440139158 --0.0461866258209 -0.401528278013 --0.036745791605 -0.401525270531 --0.0276408390871 -0.401521902204 --0.0185351313067 -0.401518186144 --0.00942913730454 -0.401516244302 -2.16840434497e-19 -0.401518186144 -0.00942913730454 -0.401521902204 -0.0185351313067 -0.401525270531 -0.0276408390871 -0.401528278013 -0.036745791605 -0.401440139158 -0.0461866258209 -0.40137093684 -0.0556220151431 -0.401411475598 -0.0647161484081 -0.401451684586 -0.0738111722517 -0.401491576065 -0.0829066222285 -0.401348708507 -0.0923073740248 -0.401224602254 -0.1016995729 -0.401301770995 -0.110779181101 -0.40137870232 -0.119860883797 -0.401455364036 -0.12894422573 -0.401258088386 -0.138284288904 -0.401079363821 -0.147612748826 -0.401192940599 -0.156675375937 -0.401306369068 -0.165741345623 -0.401419637028 -0.174810222373 -0.401168387605 -0.184069972977 -0.400935382782 -0.193315118551 -0.401085068122 -0.202358568892 -0.401234732054 -0.211406673167 -0.401384384469 -0.220459013968 -0.41009473881 --0.128419202349 -0.41002329297 --0.119373218514 -0.409951595521 --0.110328863448 -0.409879658335 --0.101286573382 -0.409995416794 --0.0919313066824 -0.410128726126 --0.082567521339 -0.41009165461 --0.0735094386816 -0.41005428615 --0.0644517834241 -0.410016600788 --0.0553950085828 -0.410080974771 --0.0459975507229 -0.410163077344 --0.0365946809162 -0.410160491999 --0.0275271548648 -0.410157558615 --0.0184588914283 -0.410154317665 --0.00939035198173 -0.410152613004 -0 -0.410154317665 -0.00939035198173 -0.410157558615 -0.0184588914283 -0.410160491999 -0.0275271548648 -0.410163077344 -0.0365946809162 -0.410080974771 -0.0459975507229 -0.410016600788 -0.0553950085828 -0.41005428615 -0.0644517834241 -0.41009165461 -0.0735094386816 -0.410128726126 -0.082567521339 -0.409995416794 -0.0919313066824 -0.409879658335 -0.101286573382 -0.409951595521 -0.110328863448 -0.41002329297 -0.119373218514 -0.41009473881 -0.128419202349 -0.418705039499 --0.127909580671 -0.418638860928 --0.118899858163 -0.418572459355 --0.109891750727 -0.418505804701 --0.100885679196 -0.4186131322 --0.09156627982 -0.418736800937 --0.0822383873074 -0.418702567301 --0.0732165620209 -0.418668057162 --0.0641951679709 -0.418633263362 --0.0551746470402 -0.418692781454 --0.0458140397756 -0.418768778522 --0.0364480489219 -0.418766607157 --0.0274168396857 -0.418764121024 --0.0183849116393 -0.4187613401 --0.00935271598039 -0.41875986503 -0 -0.4187613401 -0.00935271598039 -0.418764121024 -0.0183849116393 -0.418766607157 -0.0274168396857 -0.418768778522 -0.0364480489219 -0.418692781454 -0.0458140397756 -0.418633263362 -0.0551746470402 -0.418668057162 -0.0641951679709 -0.418702567301 -0.0732165620209 -0.418736800937 -0.0822383873074 -0.4186131322 -0.09156627982 -0.418505804701 -0.100885679196 -0.418572459355 -0.109891750727 -0.418638860928 -0.118899858163 -0.418705039499 -0.127909580671 -0.42772069843 --0.0824546304453 -0.427683726166 --0.0734090328885 -0.427646457882 --0.0643638472548 -0.427608883285 --0.0553195257678 -0.427673082379 --0.0459346749945 -0.427754997919 --0.0365444136292 -0.427752498045 --0.0274893383098 -0.42774968085 --0.0184335323263 -0.427746526053 --0.00937745141073 -0.427744848909 -0 -0.427746526053 -0.00937745141073 -0.42774968085 -0.0184335323263 -0.427752498045 -0.0274893383098 -0.427754997919 -0.0365444136292 -0.427673082379 -0.0459346749945 -0.427608883285 -0.0553195257678 -0.427646457882 -0.0643638472548 -0.427683726166 -0.0734090328885 -0.42772069843 -0.0824546304453 -0.436720068262 --0.082671904706 -0.436680371294 --0.0736024313247 -0.436640325593 --0.0645333515411 -0.436599952455 --0.0554651263885 -0.436668843324 --0.046055883989 -0.436756690748 --0.0366412029928 -0.43675387234 --0.0275621570739 -0.436750703022 --0.0184823674286 -0.436747182825 --0.00940229597992 -0.436745332885 --2.16840434497e-19 -0.436747182825 -0.00940229597992 -0.436750703022 -0.0184823674286 -0.43675387234 -0.0275621570739 -0.436756690748 -0.0366412029928 -0.436668843324 -0.046055883989 -0.436599952455 -0.0554651263885 -0.436640325593 -0.0645333515411 -0.436680371294 -0.0736024313247 -0.436720068262 -0.082671904706 -0.445734696637 --0.0828902302899 -0.445692247811 --0.0737967733504 -0.445649417478 --0.064703695363 -0.445606239297 --0.0556114589397 -0.445679863006 --0.0461776751127 -0.445773675836 --0.0367384257144 -0.445770527198 --0.0276353019696 -0.445766983934 --0.0185314209562 -0.445763067015 --0.00942725128817 -0.445761023272 --2.16840434497e-19 -0.445763067015 -0.00942725128817 -0.445766983934 -0.0185314209562 -0.445770527198 -0.0276353019696 -0.445773675836 -0.0367384257144 -0.445679863006 -0.0461776751127 -0.445606239297 -0.0556114589397 -0.445649417478 -0.064703695363 -0.445692247811 -0.0737967733504 -0.445734696637 -0.0828902302899 --0.445734696637 --0.0828902302899 --0.445692247811 --0.0737967733504 --0.445649417478 --0.064703695363 --0.445606239297 --0.0556114589397 --0.445679863006 --0.0461776751127 --0.445773675836 --0.0367384257144 --0.445770527198 --0.0276353019696 --0.445766983934 --0.0185314209562 --0.445763067015 --0.00942725128817 --0.445761023272 --2.16840434497e-19 --0.445763067015 -0.00942725128817 --0.445766983934 -0.0185314209562 --0.445770527198 -0.0276353019696 --0.445773675836 -0.0367384257144 --0.445679863006 -0.0461776751127 --0.445606239297 -0.0556114589397 --0.445649417478 -0.064703695363 --0.445692247811 -0.0737967733504 --0.445734696637 -0.0828902302899 --0.436720068262 --0.082671904706 --0.436680371294 --0.0736024313247 --0.436640325593 --0.0645333515411 --0.436599952455 --0.0554651263885 --0.436668843324 --0.046055883989 --0.436756690748 --0.0366412029928 --0.43675387234 --0.0275621570739 --0.436750703022 --0.0184823674286 --0.436747182825 --0.00940229597992 --0.436745332885 --2.16840434497e-19 --0.436747182825 -0.00940229597992 --0.436750703022 -0.0184823674286 --0.43675387234 -0.0275621570739 --0.436756690748 -0.0366412029928 --0.436668843324 -0.046055883989 --0.436599952455 -0.0554651263885 --0.436640325593 -0.0645333515411 --0.436680371294 -0.0736024313247 --0.436720068262 -0.082671904706 --0.42772069843 --0.0824546304453 --0.427683726166 --0.0734090328885 --0.427646457882 --0.0643638472548 --0.427608883285 --0.0553195257678 --0.427673082379 --0.0459346749945 --0.427754997919 --0.0365444136292 --0.427752498045 --0.0274893383098 --0.42774968085 --0.0184335323263 --0.427746526053 --0.00937745141073 --0.427744848909 -0 --0.427746526053 -0.00937745141073 --0.42774968085 -0.0184335323263 --0.427752498045 -0.0274893383098 --0.427754997919 -0.0365444136292 --0.427673082379 -0.0459346749945 --0.427608883285 -0.0553195257678 --0.427646457882 -0.0643638472548 --0.427683726166 -0.0734090328885 --0.42772069843 -0.0824546304453 --0.418705039499 --0.127909580671 --0.418638860928 --0.118899858163 --0.418572459355 --0.109891750727 --0.418505804701 --0.100885679196 --0.4186131322 --0.09156627982 --0.418736800937 --0.0822383873074 --0.418702567301 --0.0732165620209 --0.418668057162 --0.0641951679709 --0.418633263362 --0.0551746470402 --0.418692781454 --0.0458140397756 --0.418768778522 --0.0364480489219 --0.418766607157 --0.0274168396857 --0.418764121024 --0.0183849116393 --0.4187613401 --0.00935271598039 --0.41875986503 -0 --0.4187613401 -0.00935271598039 --0.418764121024 -0.0183849116393 --0.418766607157 -0.0274168396857 --0.418768778522 -0.0364480489219 --0.418692781454 -0.0458140397756 --0.418633263362 -0.0551746470402 --0.418668057162 -0.0641951679709 --0.418702567301 -0.0732165620209 --0.418736800937 -0.0822383873074 --0.4186131322 -0.09156627982 --0.418505804701 -0.100885679196 --0.418572459355 -0.109891750727 --0.418638860928 -0.118899858163 --0.418705039499 -0.127909580671 --0.41009473881 --0.128419202349 --0.41002329297 --0.119373218514 --0.409951595521 --0.110328863448 --0.409879658335 --0.101286573382 --0.409995416794 --0.0919313066824 --0.410128726126 --0.082567521339 --0.41009165461 --0.0735094386816 --0.41005428615 --0.0644517834241 --0.410016600788 --0.0553950085828 --0.410080974771 --0.0459975507229 --0.410163077344 --0.0365946809162 --0.410160491999 --0.0275271548648 --0.410157558615 --0.0184588914283 --0.410154317665 --0.00939035198173 --0.410152613004 -0 --0.410154317665 -0.00939035198173 --0.410157558615 -0.0184588914283 --0.410160491999 -0.0275271548648 --0.410163077344 -0.0365946809162 --0.410080974771 -0.0459975507229 --0.410016600788 -0.0553950085828 --0.41005428615 -0.0644517834241 --0.41009165461 -0.0735094386816 --0.410128726126 -0.082567521339 --0.409995416794 -0.0919313066824 --0.409879658335 -0.101286573382 --0.409951595521 -0.110328863448 --0.41002329297 -0.119373218514 --0.41009473881 -0.128419202349 --0.401384384469 --0.220459013968 --0.401234732054 --0.211406673167 --0.401085068122 --0.202358568892 --0.400935382782 --0.193315118551 --0.401168387605 --0.184069972977 --0.401419637028 --0.174810222373 --0.401306369068 --0.165741345623 --0.401192940599 --0.156675375937 --0.401079363821 --0.147612748826 --0.401258088386 --0.138284288904 --0.401455364036 --0.12894422573 --0.40137870232 --0.119860883797 --0.401301770995 --0.110779181101 --0.401224602254 --0.1016995729 --0.401348708507 --0.0923073740248 --0.401491576065 --0.0829066222285 --0.401451684586 --0.0738111722517 --0.401411475598 --0.0647161484081 --0.40137093684 --0.0556220151431 --0.401440139158 --0.0461866258209 --0.401528278013 --0.036745791605 --0.401525270531 --0.0276408390871 --0.401521902204 --0.0185351313067 --0.401518186144 --0.00942913730454 --0.401516244302 -2.16840434497e-19 --0.401518186144 -0.00942913730454 --0.401521902204 -0.0185351313067 --0.401525270531 -0.0276408390871 --0.401528278013 -0.036745791605 --0.401440139158 -0.0461866258209 --0.40137093684 -0.0556220151431 --0.401411475598 -0.0647161484081 --0.401451684586 -0.0738111722517 --0.401491576065 -0.0829066222285 --0.401348708507 -0.0923073740248 --0.401224602254 -0.1016995729 --0.401301770995 -0.110779181101 --0.40137870232 -0.119860883797 --0.401455364036 -0.12894422573 --0.401258088386 -0.138284288904 --0.401079363821 -0.147612748826 --0.401192940599 -0.156675375937 --0.401306369068 -0.165741345623 --0.401419637028 -0.174810222373 --0.401168387605 -0.184069972977 --0.400935382782 -0.193315118551 --0.401085068122 -0.202358568892 --0.401234732054 -0.211406673167 --0.401384384469 -0.220459013968 --0.392363274975 --0.219947418843 --0.39222371765 --0.210916108398 --0.392084157409 --0.201889065689 --0.391944581046 --0.192866684998 --0.392161978041 --0.183641637913 --0.39239642204 --0.174402052928 --0.392290845697 --0.165354384606 --0.392185098316 --0.156309644438 --0.392079211827 --0.147268258916 --0.392245936562 --0.137960719094 --0.392429962702 --0.128641624053 --0.39235852524 --0.119579633309 --0.392286863721 --0.110519304829 --0.392214961513 --0.101461081062 --0.392330654308 --0.0920904165832 --0.392463894915 --0.0827112382306 --0.392426800465 --0.0736372594136 --0.392389393632 --0.0645637212255 --0.392351686004 --0.0554910821289 --0.392416110506 --0.0460776293857 --0.392498204654 --0.0366587576456 --0.392495539043 --0.0275753608312 --0.392492532618 --0.0184912192771 --0.392489196252 --0.00940679729692 --0.392487459181 -0 --0.392489196252 -0.00940679729692 --0.392492532618 -0.0184912192771 --0.392495539043 -0.0275753608312 --0.392498204654 -0.0366587576456 --0.392416110506 -0.0460776293857 --0.392351686004 -0.0554910821289 --0.392389393632 -0.0645637212255 --0.392426800465 -0.0736372594136 --0.392463894915 -0.0827112382306 --0.392330654308 -0.0920904165832 --0.392214961513 -0.101461081062 --0.392286863721 -0.110519304829 --0.39235852524 -0.119579633309 --0.392429962702 -0.128641624053 --0.392245936562 -0.137960719094 --0.392079211827 -0.147268258916 --0.392185098316 -0.156309644438 --0.392290845697 -0.165354384606 --0.39239642204 -0.174402052928 --0.392161978041 -0.183641637913 --0.391944581046 -0.192866684998 --0.392084157409 -0.201889065689 --0.39222371765 -0.210916108398 --0.392363274975 -0.219947418843 --0.383355461543 --0.219438023249 --0.38322598326 --0.210427672928 --0.383096493354 --0.201421605927 --0.382966998103 --0.192420217166 --0.383168841328 --0.183215170602 --0.383386507335 --0.173995643974 --0.383288582201 --0.164969108557 --0.383190506714 --0.155945517498 --0.383092307232 --0.146925298748 --0.383247037372 --0.137638564792 --0.383417844867 --0.128340320544 --0.383351636319 --0.11929960232 --0.383285225747 --0.110260565943 --0.383218585458 --0.101223648672 --0.383325880794 --0.0918743940199 --0.38344949406 --0.0825166692656 --0.383415194709 --0.0734640849346 --0.383380581515 --0.0644119505479 --0.383345688702 --0.0553607250209 --0.383405351719 --0.0459690863836 --0.383481428044 --0.0365720523 --0.383479100254 --0.0275101287792 --0.383476463485 --0.0184474725428 --0.383473514929 --0.00938454192642 --0.383471967669 -0 --0.383473514929 -0.00938454192642 --0.383476463485 -0.0184474725428 --0.383479100254 -0.0275101287792 --0.383481428044 -0.0365720523 --0.383405351719 -0.0459690863836 --0.383345688702 -0.0553607250209 --0.383380581515 -0.0644119505479 --0.383415194709 -0.0734640849346 --0.38344949406 -0.0825166692656 --0.383325880794 -0.0918743940199 --0.383218585458 -0.101223648672 --0.383285225747 -0.110260565943 --0.383351636319 -0.11929960232 --0.383417844867 -0.128340320544 --0.383247037372 -0.137638564792 --0.383092307232 -0.146925298748 --0.383190506714 -0.155945517498 --0.383288582201 -0.164969108557 --0.383386507335 -0.173995643974 --0.383168841328 -0.183215170602 --0.382966998103 -0.192420217166 --0.383096493354 -0.201421605927 --0.38322598326 -0.210427672928 --0.383355461543 -0.219438023249 --0.374332491483 --0.264019018376 --0.374184158405 --0.255047225491 --0.374035977857 --0.24608114617 --0.373887933071 --0.237121126334 --0.374117425826 --0.228034613887 --0.374361208534 --0.218930795129 --0.374241797176 --0.209941335889 --0.374122359763 --0.200956169136 --0.374002919455 --0.191975700187 --0.374189228512 --0.182790547081 --0.37439014371 --0.173590971459 --0.374299859429 --0.16458549304 --0.374209439952 --0.155582971909 --0.374118911154 --0.146583840399 --0.374261676892 --0.137317799952 --0.374419289896 --0.128040293551 --0.374358299386 --0.119020772734 --0.374297109072 --0.110002950991 --0.374235725275 --0.100987260166 --0.374334658445 --0.0916592998842 --0.374448639351 --0.0823229048267 --0.374417114723 --0.0732916314001 --0.374385308886 --0.0642608234907 --0.374353239451 --0.055230933862 --0.374408147872 --0.0458609887878 --0.374478212158 --0.0364856706291 --0.374476212559 --0.0274451395804 --0.374473935986 --0.0184038883802 --0.374471362461 --0.00936236887826 --0.374470001464 -0 --0.374471362461 -0.00936236887826 --0.374473935986 -0.0184038883802 --0.374476212559 -0.0274451395804 --0.374478212158 -0.0364856706291 --0.374408147872 -0.0458609887878 --0.374353239451 -0.055230933862 --0.374385308886 -0.0642608234907 --0.374417114723 -0.0732916314001 --0.374448639351 -0.0823229048267 --0.374334658445 -0.0916592998842 --0.374235725275 -0.100987260166 --0.374297109072 -0.110002950991 --0.374358299386 -0.119020772734 --0.374419289896 -0.128040293551 --0.374261676892 -0.137317799952 --0.374118911154 -0.146583840399 --0.374209439952 -0.155582971909 --0.374299859429 -0.16458549304 --0.37439014371 -0.173590971459 --0.374189228512 -0.182790547081 --0.374002919455 -0.191975700187 --0.374122359763 -0.200956169136 --0.374241797176 -0.209941335889 --0.374361208534 -0.218930795129 --0.374117425826 -0.228034613887 --0.373887933071 -0.237121126334 --0.374035977857 -0.24608114617 --0.374184158405 -0.255047225491 --0.374332491483 -0.264019018376 --0.365558020549 --0.264943758707 --0.365397583892 --0.255939063157 --0.36523732978 --0.246940150083 --0.365077222806 --0.237947376881 --0.365325227778 --0.228834052091 --0.36558865133 --0.219703411783 --0.365459442912 --0.210681225743 --0.365330226782 --0.201663384125 --0.36520101215 --0.192650299689 --0.365402401283 --0.183436129649 --0.365619562785 --0.174207529989 --0.365521816454 --0.165169444582 --0.365423935166 --0.156134350958 --0.365325939383 --0.147102683202 --0.36548034851 --0.137805844793 --0.365650791603 --0.128497527761 --0.365584685136 --0.119445459288 --0.365518366329 --0.110395102485 --0.36545183331 --0.101346897892 --0.365558986982 --0.0919867945877 --0.365682367799 --0.082618230146 --0.365648055553 --0.0735544083387 --0.365613468096 --0.0644910541512 --0.365578594795 --0.0554286234186 --0.365638219399 --0.0460256520825 --0.365714208647 --0.0366172837493 --0.365711782521 --0.0275441556661 --0.365709058302 --0.018470290165 --0.365706027653 --0.0093961491204 --0.365704432274 --2.16840434497e-19 --0.365706027653 -0.0093961491204 --0.365709058302 -0.018470290165 --0.365711782521 -0.0275441556661 --0.365714208647 -0.0366172837493 --0.365638219399 -0.0460256520825 --0.365578594795 -0.0554286234186 --0.365613468096 -0.0644910541512 --0.365648055553 -0.0735544083387 --0.365682367799 -0.082618230146 --0.365558986982 -0.0919867945877 --0.36545183331 -0.101346897892 --0.365518366329 -0.110395102485 --0.365584685136 -0.119445459288 --0.365650791603 -0.128497527761 --0.36548034851 -0.137805844793 --0.365325939383 -0.147102683202 --0.365423935166 -0.156134350958 --0.365521816454 -0.165169444582 --0.365619562785 -0.174207529989 --0.365402401283 -0.183436129649 --0.36520101215 -0.192650299689 --0.365330226782 -0.201663384125 --0.365459442912 -0.210681225743 --0.36558865133 -0.219703411783 --0.365325227778 -0.228834052091 --0.365077222806 -0.237947376881 --0.36523732978 -0.246940150083 --0.365397583892 -0.255939063157 --0.365558020549 -0.264943758707 --0.356757272612 --0.265901351667 --0.356584843314 --0.256862623039 --0.356412612381 --0.247829744844 --0.356240558698 --0.238803080246 --0.356506902586 --0.229661935363 --0.356789789123 --0.220503450041 --0.356650878702 --0.211447396948 --0.356511964604 --0.202395739977 --0.356373072656 --0.193348896545 --0.35658942496 --0.184104660017 --0.356822691648 --0.174845970541 --0.356717548508 --0.165774126621 --0.356612272987 --0.15670530976 --0.356506869373 --0.147639950532 --0.356672822428 --0.138311214439 --0.356855993565 --0.128970984432 --0.356784817075 --0.119885210856 --0.356713407676 --0.110801160721 --0.356641758066 --0.101719285577 --0.356757053482 --0.0923259130888 --0.356889777888 --0.082924052366 --0.356852708126 --0.0738265172616 --0.356815343795 --0.064729450801 --0.356777682982 --0.055633316069 --0.35684198265 --0.0461961756694 --0.356923852338 --0.0367536113825 --0.356921015885 --0.0276467191689 --0.35691785532 --0.018539071498 --0.356914370689 --0.00943113994673 --0.35691254249 -0 --0.356914370689 -0.00943113994673 --0.35691785532 -0.018539071498 --0.356921015885 -0.0276467191689 --0.356923852338 -0.0367536113825 --0.35684198265 -0.0461961756694 --0.356777682982 -0.055633316069 --0.356815343795 -0.064729450801 --0.356852708126 -0.0738265172616 --0.356889777888 -0.082924052366 --0.356757053482 -0.0923259130888 --0.356641758066 -0.101719285577 --0.356713407676 -0.110801160721 --0.356784817075 -0.119885210856 --0.356855993565 -0.128970984432 --0.356672822428 -0.138311214439 --0.356506869373 -0.147639950532 --0.356612272987 -0.15670530976 --0.356717548508 -0.165774126621 --0.356822691648 -0.174845970541 --0.35658942496 -0.184104660017 --0.356373072656 -0.193348896545 --0.356511964604 -0.202395739977 --0.356650878702 -0.211447396948 --0.356789789123 -0.220503450041 --0.356506902586 -0.229661935363 --0.356240558698 -0.238803080246 --0.356412612381 -0.247829744844 --0.356584843314 -0.256862623039 --0.356757272612 -0.265901351667 --0.347724920797 --0.265362069175 --0.347565159292 --0.256341718324 --0.347405566427 --0.247327223388 --0.347246145816 --0.238318962132 --0.347493098433 --0.229194608313 --0.347755388682 --0.220052972594 --0.34762670284 --0.211015467292 --0.347498020556 --0.201982380141 --0.347369351937 --0.192954103975 --0.347569923768 --0.183727541225 --0.347786179708 --0.174486579335 --0.347688810028 --0.165433421408 --0.347591304042 --0.156383309829 --0.34749367377 --0.14733666834 --0.347647489938 --0.138026327653 --0.347817266305 --0.128704531188 --0.347751392539 --0.119637576193 --0.347685300148 --0.110572356777 --0.347618968734 --0.101509318134 --0.347725757499 --0.092134880176 --0.347848732234 --0.0827519901685 --0.347814492404 --0.0736733723203 --0.347779973698 --0.0645952351695 --0.347745171925 --0.0555180372583 --0.347804630133 --0.0461001865651 --0.347880394608 --0.036676936049 --0.347877899475 --0.0275890336959 --0.347875101387 --0.0185003855727 --0.34787199702 --0.0094114587918 --0.347870366031 --2.16840434497e-19 --0.34787199702 -0.0094114587918 --0.347875101387 -0.0185003855727 --0.347877899475 -0.0275890336959 --0.347880394608 -0.036676936049 --0.347804630133 -0.0461001865651 --0.347745171925 -0.0555180372583 --0.347779973698 -0.0645952351695 --0.347814492404 -0.0736733723203 --0.347848732234 -0.0827519901685 --0.347725757499 -0.092134880176 --0.347618968734 -0.101509318134 --0.347685300148 -0.110572356777 --0.347751392539 -0.119637576193 --0.347817266305 -0.128704531188 --0.347647489938 -0.138026327653 --0.34749367377 -0.14733666834 --0.347591304042 -0.156383309829 --0.347688810028 -0.165433421408 --0.347786179708 -0.174486579335 --0.347569923768 -0.183727541225 --0.347369351937 -0.192954103975 --0.347498020556 -0.201982380141 --0.34762670284 -0.211015467292 --0.347755388682 -0.220052972594 --0.347493098433 -0.229194608313 --0.347246145816 -0.238318962132 --0.347405566427 -0.247327223388 --0.347565159292 -0.256341718324 --0.347724920797 -0.265362069175 --0.338703945726 --0.264824761986 --0.338556832642 --0.255822731636 --0.338409872532 --0.246826574177 --0.338263060245 --0.237836669818 --0.338490645655 --0.228729026973 --0.338732371129 --0.219604160402 --0.338613901838 --0.210585148594 --0.338495435498 --0.201570571817 --0.338376958897 --0.19256080853 --0.338561772823 --0.183351828441 --0.338761052942 --0.174128505518 --0.338671434022 --0.165093982099 --0.338581693448 --0.156062521305 --0.338491830368 --0.14703454261 --0.338633511217 --0.137742504225 --0.338789904079 --0.128439048974 --0.338729322595 --0.119390853644 --0.338668539411 --0.110344406028 --0.338607534028 --0.101300149366 --0.338705832705 --0.0919445511326 --0.33881904894 --0.0825805322156 --0.338787642224 --0.07352077647 --0.338755962601 --0.0644615102707 --0.338724017988 --0.0554031914221 --0.338778656972 --0.046004532305 --0.338848321817 --0.0366004946955 --0.338846159198 --0.0275315237623 --0.338843717411 --0.0184618172168 --0.338840995161 --0.00939183773559 --0.338839561169 -2.16840434497e-19 --0.338840995161 -0.00939183773559 --0.338843717411 -0.0184618172168 --0.338846159198 -0.0275315237623 --0.338848321817 -0.0366004946955 --0.338778656972 -0.046004532305 --0.338724017988 -0.0554031914221 --0.338755962601 -0.0644615102707 --0.338787642224 -0.07352077647 --0.33881904894 -0.0825805322156 --0.338705832705 -0.0919445511326 --0.338607534028 -0.101300149366 --0.338668539411 -0.110344406028 --0.338729322595 -0.119390853644 --0.338789904079 -0.128439048974 --0.338633511217 -0.137742504225 --0.338491830368 -0.14703454261 --0.338581693448 -0.156062521305 --0.338671434022 -0.165093982099 --0.338761052942 -0.174128505518 --0.338561772823 -0.183351828441 --0.338376958897 -0.19256080853 --0.338495435498 -0.201570571817 --0.338613901838 -0.210585148594 --0.338732371129 -0.219604160402 --0.338490645655 -0.228729026973 --0.338263060245 -0.237836669818 --0.338409872532 -0.246826574177 --0.338556832642 -0.255822731636 --0.338703945726 -0.264824761986 --0.329668467414 --0.309133374479 --0.329508027268 --0.300167561665 --0.329347889606 --0.291209159149 --0.329188037071 --0.282258495016 --0.329435055643 --0.273283920838 --0.329694652245 --0.26428938609 --0.329560171692 --0.255305631414 --0.329425827107 --0.246327772219 --0.329291615245 --0.237356178995 --0.329499866398 --0.228265173503 --0.329721050949 --0.219156996323 --0.329612780628 --0.210156419488 --0.329504510411 --0.201160289646 --0.329396216656 --0.192168993279 --0.32956529162 --0.1829775173 --0.329747604651 --0.173771741456 --0.329665713586 --0.164755793686 --0.329583725599 --0.155742926683 --0.329501631894 --0.146733560644 --0.329631200074 --0.137459727479 --0.329774234646 --0.128174515674 --0.3297189285 --0.119145022145 --0.329663424504 --0.110117291454 --0.329607736431 --0.101091767582 --0.329697577919 --0.0917549152772 --0.329801055354 --0.0824096693039 --0.329772452306 --0.0733687174489 --0.32974360883 --0.0643282677537 --0.32971452015 --0.0552887718434 --0.329764341224 --0.045909206179 --0.32982791569 --0.0365242821668 --0.329826091023 --0.02747418586 --0.32982401459 --0.0184233647268 --0.329821673566 --0.00937227570326 --0.329820434085 -0 --0.329821673566 -0.00937227570326 --0.32982401459 -0.0184233647268 --0.329826091023 -0.02747418586 --0.32982791569 -0.0365242821668 --0.329764341224 -0.045909206179 --0.32971452015 -0.0552887718434 --0.32974360883 -0.0643282677537 --0.329772452306 -0.0733687174489 --0.329801055354 -0.0824096693039 --0.329697577919 -0.0917549152772 --0.329607736431 -0.101091767582 --0.329663424504 -0.110117291454 --0.3297189285 -0.119145022145 --0.329774234646 -0.128174515674 --0.329631200074 -0.137459727479 --0.329501631894 -0.146733560644 --0.329583725599 -0.155742926683 --0.329665713586 -0.164755793686 --0.329747604651 -0.173771741456 --0.32956529162 -0.1829775173 --0.329396216656 -0.192168993279 --0.329504510411 -0.201160289646 --0.329612780628 -0.210156419488 --0.329721050949 -0.219156996323 --0.329499866398 -0.228265173503 --0.329291615245 -0.237356178995 --0.329425827107 -0.246327772219 --0.329560171692 -0.255305631414 --0.329694652245 -0.26428938609 --0.329435055643 -0.273283920838 --0.329188037071 -0.282258495016 --0.329347889606 -0.291209159149 --0.329508027268 -0.300167561665 --0.329668467414 -0.309133374479 --0.320744955908 --0.310080821199 --0.320570485259 --0.301085709411 --0.320396332273 --0.292098067262 --0.320222487522 --0.283118241017 --0.320490865517 --0.274122269059 --0.320772909737 --0.2651063449 --0.320626629035 --0.256093511333 --0.320480492706 --0.247086616645 --0.320334508839 --0.238086049007 --0.32056082163 --0.228971393051 --0.3208011786 --0.219839568269 --0.320683364054 --0.210810061716 --0.320565546099 --0.201785038709 --0.320447710867 --0.192764909758 --0.320631492654 --0.183547841764 --0.320829647041 --0.174316461301 --0.320740481599 --0.165271688566 --0.320651204451 --0.156230017577 --0.320561825459 --0.147191889691 --0.320702765438 --0.137890886196 --0.32085832212 --0.128578484254 --0.320798018684 --0.119520217596 --0.320737505199 --0.110463727342 --0.32067678822 --0.101409461806 --0.320774623818 --0.0920442467726 --0.320887269369 --0.082670622224 --0.320855943618 --0.0736008989086 --0.320824374503 --0.0645316776622 --0.320792536323 --0.0554634155629 --0.320846982601 --0.046054709568 --0.320916368318 --0.0366406242064 --0.320914123314 --0.0275617125442 --0.320911616353 --0.0184820628573 --0.320908825258 --0.00940213754122 --0.320907354095 -2.16840434497e-19 --0.320908825258 -0.00940213754122 --0.320911616353 -0.0184820628573 --0.320914123314 -0.0275617125442 --0.320916368318 -0.0366406242064 --0.320846982601 -0.046054709568 --0.320792536323 -0.0554634155629 --0.320824374503 -0.0645316776622 --0.320855943618 -0.0736008989086 --0.320887269369 -0.082670622224 --0.320774623818 -0.0920442467726 --0.32067678822 -0.101409461806 --0.320737505199 -0.110463727342 --0.320798018684 -0.119520217596 --0.32085832212 -0.128578484254 --0.320702765438 -0.137890886196 --0.320561825459 -0.147191889691 --0.320651204451 -0.156230017577 --0.320740481599 -0.165271688566 --0.320829647041 -0.174316461301 --0.320631492654 -0.183547841764 --0.320447710867 -0.192764909758 --0.320565546099 -0.201785038709 --0.320683364054 -0.210810061716 --0.3208011786 -0.219839568269 --0.32056082163 -0.228971393051 --0.320334508839 -0.238086049007 --0.320480492706 -0.247086616645 --0.320626629035 -0.256093511333 --0.320772909737 -0.2651063449 --0.320490865517 -0.274122269059 --0.320222487522 -0.283118241017 --0.320396332273 -0.292098067262 --0.320570485259 -0.301085709411 --0.320744955908 -0.310080821199 --0.311114723926 --0.328856158238 --0.311449232147 --0.319973503456 --0.311797981005 --0.31106817986 --0.311609576738 --0.30204258283 --0.311421518281 --0.293024526883 --0.311233804985 --0.284014382781 --0.311523386256 --0.274996024057 --0.311827700487 --0.26595770441 --0.31166971783 --0.256914602091 --0.311511898693 --0.247877492559 --0.311354240764 --0.238846764529 --0.31159846641 --0.229707402238 --0.311857843131 --0.220550864197 --0.311730550875 --0.211491228355 --0.311603258882 --0.202436122224 --0.31147596671 --0.193385958687 --0.311674345544 --0.184142189101 --0.311888223853 --0.174884095487 --0.311791851552 --0.165809300296 --0.311695354516 --0.156737627306 --0.311598735632 --0.147669521559 --0.311750947083 --0.138340195759 --0.311918924971 --0.128999456353 --0.311853663607 --0.119911201227 --0.311788188873 --0.110824740835 --0.311722492926 --0.101740524498 --0.311828242874 --0.0923457631941 --0.31194996713 --0.0829425714879 --0.311915959117 --0.0738428572914 --0.31188167856 --0.064743643803 --0.311847114613 --0.0556453983994 --0.311906162326 --0.0462063543326 --0.311981312639 --0.036761905193 --0.311978656937 --0.0276529557015 --0.311975712602 --0.0185432527489 --0.311972466663 --0.0094332665196 --0.311970766771 -0 --0.311972466663 -0.0094332665196 --0.311975712602 -0.0185432527489 --0.311978656937 -0.0276529557015 --0.311981312639 -0.036761905193 --0.311906162326 -0.0462063543326 --0.311847114613 -0.0556453983994 --0.31188167856 -0.064743643803 --0.311915959117 -0.0738428572914 --0.31194996713 -0.0829425714879 --0.311828242874 -0.0923457631941 --0.311722492926 -0.101740524498 --0.311788188873 -0.110824740835 --0.311853663607 -0.119911201227 --0.311918924971 -0.128999456353 --0.311750947083 -0.138340195759 --0.311598735632 -0.147669521559 --0.311695354516 -0.156737627306 --0.311791851552 -0.165809300296 --0.311888223853 -0.174884095487 --0.311674345544 -0.184142189101 --0.31147596671 -0.193385958687 --0.311603258882 -0.202436122224 --0.311730550875 -0.211491228355 --0.311857843131 -0.220550864197 --0.31159846641 -0.229707402238 --0.311354240764 -0.238846764529 --0.311511898693 -0.247877492559 --0.31166971783 -0.256914602091 --0.311827700487 -0.26595770441 --0.311523386256 -0.274996024057 --0.311233804985 -0.284014382781 --0.311421518281 -0.293024526883 --0.311609576738 -0.30204258283 --0.311797981005 -0.31106817986 --0.311449232147 -0.319973503456 --0.311114723926 -0.328856158238 --0.302125836538 --0.328291634425 --0.302433525987 --0.319421559786 --0.302754310621 --0.310528889449 --0.302581158781 --0.301519011118 --0.302408323783 --0.292516681467 --0.302235817967 --0.283522281028 --0.302502184569 --0.274517504472 --0.30278208936 --0.265492815763 --0.30263691053 --0.256465573218 --0.302491882951 --0.247444343963 --0.302346996219 --0.238429501994 --0.302571624784 --0.229304587546 --0.302810180541 --0.220162547137 --0.302693216298 --0.21111891548 --0.302576257459 --0.202079828633 --0.302459292134 --0.193045684199 --0.302641726059 --0.183817124118 --0.302838409123 --0.174574281554 --0.302749888846 --0.165515614066 --0.302661260454 --0.156460089553 --0.302572498385 --0.147408126096 --0.302712419601 --0.138094624245 --0.302866863534 --0.128769753946 --0.30280695806 --0.119697730505 --0.302746850428 --0.110627514483 --0.302686545731 --0.101559554414 --0.302783699683 --0.0921810880424 --0.302895547776 --0.0827942164954 --0.302864399137 --0.0737108225267 --0.302832994055 --0.0646279402388 --0.302801320423 --0.0555460313023 --0.302855480935 --0.0461235884241 --0.302924455399 --0.036695758815 --0.302922148736 --0.0276031916988 --0.30291957004 --0.0185098789931 --0.302916707961 --0.00941628774828 --0.302915206788 -0 --0.302916707961 -0.00941628774828 --0.30291957004 -0.0185098789931 --0.302922148736 -0.0276031916988 --0.302924455399 -0.036695758815 --0.302855480935 -0.0461235884241 --0.302801320423 -0.0555460313023 --0.302832994055 -0.0646279402388 --0.302864399137 -0.0737108225267 --0.302895547776 -0.0827942164954 --0.302783699683 -0.0921810880424 --0.302686545731 -0.101559554414 --0.302746850428 -0.110627514483 --0.30280695806 -0.119697730505 --0.302866863534 -0.128769753946 --0.302712419601 -0.138094624245 --0.302572498385 -0.147408126096 --0.302661260454 -0.156460089553 --0.302749888846 -0.165515614066 --0.302838409123 -0.174574281554 --0.302641726059 -0.183817124118 --0.302459292134 -0.193045684199 --0.302576257459 -0.202079828633 --0.302693216298 -0.21111891548 --0.302810180541 -0.220162547137 --0.302571624784 -0.229304587546 --0.302346996219 -0.238429501994 --0.302491882951 -0.247444343963 --0.30263691053 -0.256465573218 --0.30278208936 -0.265492815763 --0.302502184569 -0.274517504472 --0.302235817967 -0.283522281028 --0.302408323783 -0.292516681467 --0.302581158781 -0.301519011118 --0.302754310621 -0.310528889449 --0.302433525987 -0.319421559786 --0.302125836538 -0.328291634425 --0.29314643865 --0.327728855145 --0.293427325558 --0.318871312022 --0.293720169091 --0.309991229175 --0.293562264739 --0.300997033758 --0.293404642568 --0.292010411142 --0.293247313591 --0.283031715637 --0.293490483838 --0.274040456003 --0.293746000929 --0.265029333695 --0.293613598777 --0.256017906715 --0.293481340678 --0.247012524896 --0.293349211326 --0.238013547422 --0.293554259896 --0.228903017001 --0.293772017929 --0.219775404749 --0.293665376869 --0.210747742834 --0.293558740235 --0.201724640336 --0.293452095477 --0.192706489384 --0.293618591561 --0.183493068299 --0.293798088144 --0.17426540047 --0.293717404946 --0.165222823118 --0.293636628613 --0.156183402794 --0.293555727237 --0.14714755589 --0.2936833818 --0.137849811617 --0.29382429695 --0.128540731022 --0.293769736876 --0.119484906426 --0.29371499581 --0.110430896087 --0.293660067826 --0.10137914843 --0.293748646038 --0.0920169045105 --0.293850646981 --0.0826462825828 --0.293822336078 --0.0735791704675 --0.293793790503 --0.0645125811023 --0.293765009486 --0.0554469706399 --0.293814287108 --0.0460410494009 --0.293877098597 --0.0366297619252 --0.293875140272 --0.0275535403926 --0.293872927117 --0.018476580657 --0.293870448761 --0.00939934751652 --0.293869139014 -2.16840434497e-19 --0.293870448761 -0.00939934751652 --0.293872927117 -0.018476580657 --0.293875140272 -0.0275535403926 --0.293877098597 -0.0366297619252 --0.293814287108 -0.0460410494009 --0.293765009486 -0.0554469706399 --0.293793790503 -0.0645125811023 --0.293822336078 -0.0735791704675 --0.293850646981 -0.0826462825828 --0.293748646038 -0.0920169045105 --0.293660067826 -0.10137914843 --0.29371499581 -0.110430896087 --0.293769736876 -0.119484906426 --0.29382429695 -0.128540731022 --0.2936833818 -0.137849811617 --0.293555727237 -0.14714755589 --0.293636628613 -0.156183402794 --0.293717404946 -0.165222823118 --0.293798088144 -0.17426540047 --0.293618591561 -0.183493068299 --0.293452095477 -0.192706489384 --0.293558740235 -0.201724640336 --0.293665376869 -0.210747742834 --0.293772017929 -0.219775404749 --0.293554259896 -0.228903017001 --0.293349211326 -0.238013547422 --0.293481340678 -0.247012524896 --0.293613598777 -0.256017906715 --0.293746000929 -0.265029333695 --0.293490483838 -0.274040456003 --0.293247313591 -0.283031715637 --0.293404642568 -0.292010411142 --0.293562264739 -0.300997033758 --0.293720169091 -0.309991229175 --0.293427325558 -0.318871312022 --0.29314643865 -0.327728855145 --0.284176859091 --0.327167778104 --0.28443097868 --0.318322716535 --0.284695904457 --0.309455167689 --0.284553221241 --0.300476629955 --0.284410797702 --0.29150568456 --0.28426862633 --0.282542669054 --0.284488611393 --0.273564850113 --0.284719764582 --0.264567223434 --0.28460013555 --0.25557159808 --0.284480635905 --0.246582025975 --0.284361246234 --0.237598874944 --0.284546729397 --0.228502671046 --0.284743712645 --0.219389428457 --0.284647379993 --0.210377692649 --0.284551051944 --0.201370535053 --0.284454715117 --0.192368351861 --0.284605283363 --0.18316999699 --0.284767618683 --0.173957439498 --0.284694761086 --0.164930917307 --0.284621819624 --0.155907562849 --0.284548769609 --0.146887801775 --0.284664176057 --0.137605736971 --0.284791570058 --0.128312364824 --0.284742341517 --0.119272701278 --0.284692961016 --0.110234870222 --0.284643409613 --0.101199308241 --0.284723413626 --0.0918532043858 --0.284815572242 --0.0824987536413 --0.284790101687 --0.0734478900564 --0.284764410932 --0.0643975562849 --0.284738525489 --0.0553482114243 --0.28478293923 --0.0459587369183 --0.284839594095 --0.0365639119206 --0.284837971153 --0.0275039987135 --0.284836118021 --0.0184433563703 --0.284834022761 --0.00938244496082 --0.284832910131 -2.16840434497e-19 --0.284834022761 -0.00938244496082 --0.284836118021 -0.0184433563703 --0.284837971153 -0.0275039987135 --0.284839594095 -0.0365639119206 --0.28478293923 -0.0459587369183 --0.284738525489 -0.0553482114243 --0.284764410932 -0.0643975562849 --0.284790101687 -0.0734478900564 --0.284815572242 -0.0824987536413 --0.284723413626 -0.0918532043858 --0.284643409613 -0.101199308241 --0.284692961016 -0.110234870222 --0.284742341517 -0.119272701278 --0.284791570058 -0.128312364824 --0.284664176057 -0.137605736971 --0.284548769609 -0.146887801775 --0.284621819624 -0.155907562849 --0.284694761086 -0.164930917307 --0.284767618683 -0.173957439498 --0.284605283363 -0.18316999699 --0.284454715117 -0.192368351861 --0.284551051944 -0.201370535053 --0.284647379993 -0.210377692649 --0.284743712645 -0.219389428457 --0.284546729397 -0.228502671046 --0.284361246234 -0.237598874944 --0.284480635905 -0.246582025975 --0.28460013555 -0.25557159808 --0.284719764582 -0.264567223434 --0.284488611393 -0.273564850113 --0.28426862633 -0.282542669054 --0.284410797702 -0.29150568456 --0.284553221241 -0.300476629955 --0.284695904457 -0.309455167689 --0.28443097868 -0.318322716535 --0.284176859091 -0.327167778104 --0.275069696207 --0.32802076568 --0.275347961655 --0.319159413297 --0.27563805029 --0.310275554138 --0.275481596181 --0.301271611763 --0.27532544883 --0.292275331642 --0.275169582419 --0.283287047536 --0.275410476556 --0.27429072797 --0.275663610449 --0.265274603837 --0.275532422884 --0.256253778465 --0.27540136729 --0.24723904213 --0.275270436511 --0.238230778675 --0.275473603745 --0.229114122226 --0.275689364234 --0.219980426346 --0.275583680425 --0.210943619606 --0.275477992612 --0.201911421839 --0.275372300884 --0.192884249624 --0.275537310898 --0.183663770114 --0.27571520061 --0.174429080312 --0.275635211471 --0.165377578693 --0.275555126561 --0.156329268619 --0.275474929424 --0.147284586451 --0.2756014848 --0.1379790344 --0.275741156471 --0.1286621608 --0.275687035827 --0.119597566138 --0.275632733326 --0.110534813151 --0.275578248208 --0.101474346538 --0.275666089959 --0.0921037267273 --0.275767223797 --0.0827247425563 --0.275739104616 --0.0736489508499 --0.275710744018 --0.064573688736 --0.275682160731 --0.0554994190123 --0.275731100507 --0.0460847562483 --0.275793436609 --0.0366647230362 --0.275791397737 --0.0275798412575 --0.275789106002 --0.0184942186436 --0.275786566269 --0.00940832041669 --0.27578523136 -0 --0.275786566269 -0.00940832041669 --0.275789106002 -0.0184942186436 --0.275791397737 -0.0275798412575 --0.275793436609 -0.0366647230362 --0.275731100507 -0.0460847562483 --0.275682160731 -0.0554994190123 --0.275710744018 -0.064573688736 --0.275739104616 -0.0736489508499 --0.275767223797 -0.0827247425563 --0.275666089959 -0.0921037267273 --0.275578248208 -0.101474346538 --0.275632733326 -0.110534813151 --0.275687035827 -0.119597566138 --0.275741156471 -0.1286621608 --0.2756014848 -0.1379790344 --0.275474929424 -0.147284586451 --0.275555126561 -0.156329268619 --0.275635211471 -0.165377578693 --0.27571520061 -0.174429080312 --0.275537310898 -0.183663770114 --0.275372300884 -0.192884249624 --0.275477992612 -0.201911421839 --0.275583680425 -0.210943619606 --0.275689364234 -0.219980426346 --0.275473603745 -0.229114122226 --0.275270436511 -0.238230778675 --0.27540136729 -0.24723904213 --0.275532422884 -0.256253778465 --0.275663610449 -0.265274603837 --0.275410476556 -0.27429072797 --0.275169582419 -0.283287047536 --0.27532544883 -0.292275331642 --0.275481596181 -0.301271611763 --0.27563805029 -0.310275554138 --0.275347961655 -0.319159413297 --0.275069696207 -0.32802076568 --0.265835698426 --0.373411774802 --0.266177956481 --0.364682933089 --0.26653254893 --0.355928961386 --0.266335276732 --0.346915553692 --0.266138532803 --0.337911547528 --0.265942307909 --0.328917250362 --0.266244553571 --0.320038643355 --0.266559633489 --0.311137530782 --0.266389510055 --0.302106948793 --0.26621972196 --0.293084102499 --0.26605025587 --0.284069337336 --0.266311930036 --0.275053487281 --0.266586890731 --0.266017831502 --0.266444217657 --0.256970560325 --0.266301685546 --0.247929429822 --0.266159305883 --0.238894834789 --0.266380051245 --0.229756630092 --0.266614456726 --0.22060136464 --0.266499479508 --0.211538241337 --0.266384501534 --0.202479767561 --0.266269522967 --0.19342635438 --0.266448887389 --0.184182603364 --0.26664222367 --0.174924621342 --0.266555149775 --0.165846884457 --0.266467968736 --0.156772363419 --0.266380669848 --0.147701492821 --0.266518299074 --0.138371257307 --0.266670159756 --0.129029686623 --0.266611182675 --0.119938897097 --0.266552005148 --0.110849957544 --0.266492621864 --0.101763320972 --0.266588251646 --0.0923669585861 --0.266698301529 --0.0829622057646 --0.266667540043 --0.0738602090719 --0.266636528383 --0.0647587474214 --0.266605265536 --0.0556582813833 --0.266658699579 --0.0462171781477 --0.266726671979 --0.0367706828153 --0.266724225018 --0.0276595573363 --0.266721501469 --0.0185476783533 --0.266718507691 --0.00943551714935 --0.266716946307 -2.16840434497e-19 --0.266718507691 -0.00943551714935 --0.266721501469 -0.0185476783533 --0.266724225018 -0.0276595573363 --0.266726671979 -0.0367706828153 --0.266658699579 -0.0462171781477 --0.266605265536 -0.0556582813833 --0.266636528383 -0.0647587474214 --0.266667540043 -0.0738602090719 --0.266698301529 -0.0829622057646 --0.266588251646 -0.0923669585861 --0.266492621864 -0.101763320972 --0.266552005148 -0.110849957544 --0.266611182675 -0.119938897097 --0.266670159756 -0.129029686623 --0.266518299074 -0.138371257307 --0.266380669848 -0.147701492821 --0.266467968736 -0.156772363419 --0.266555149775 -0.165846884457 --0.26664222367 -0.174924621342 --0.266448887389 -0.184182603364 --0.266269522967 -0.19342635438 --0.266384501534 -0.202479767561 --0.266499479508 -0.211538241337 --0.266614456726 -0.22060136464 --0.266380051245 -0.229756630092 --0.266159305883 -0.238894834789 --0.266301685546 -0.247929429822 --0.266444217657 -0.256970560325 --0.266586890731 -0.266017831502 --0.266311930036 -0.275053487281 --0.26605025587 -0.284069337336 --0.26621972196 -0.293084102499 --0.266389510055 -0.302106948793 --0.266559633489 -0.311137530782 --0.266244553571 -0.320038643355 --0.265942307909 -0.328917250362 --0.266138532803 -0.337911547528 --0.266335276732 -0.346915553692 --0.26653254893 -0.355928961386 --0.266177956481 -0.364682933089 --0.265835698426 -0.373411774802 --0.256843421781 --0.372880595957 --0.257155007289 --0.36416138265 --0.257477805431 --0.355417091688 --0.257298396159 --0.3464167442 --0.257119466541 --0.33742581245 --0.256941014122 --0.328444591038 --0.257216182568 --0.319576498446 --0.257503022997 --0.310685962434 --0.257348301974 --0.301668563295 --0.257193874445 --0.292658909373 --0.257039745308 --0.28365734543 --0.257277976479 --0.274652829833 --0.257528290573 --0.26562856627 --0.257398547393 --0.256594604071 --0.257268924679 --0.247566782164 --0.257139440741 --0.238545505432 --0.25734040131 --0.229419379175 --0.257553781186 --0.220276227174 --0.25744922762 --0.21122651492 --0.25734467829 --0.202181475109 --0.257240133263 --0.193141501148 --0.257403391127 --0.183910453894 --0.257579371662 --0.174665210721 --0.257500231225 --0.165600993337 --0.257420975799 --0.156540005282 --0.257341617204 --0.147482669911 --0.25746685232 --0.138165657456 --0.257605031929 --0.128837342054 --0.257551451243 --0.119760156431 --0.257497704831 --0.1106848343 --0.257443770025 --0.101611825279 --0.25753072048 --0.0922290734265 --0.2576308004 --0.0828379535489 --0.257602913149 --0.0737496354662 --0.257574802903 --0.0646618612348 --0.257546463706 --0.0555750888329 --0.257594968005 --0.0461478534607 --0.257656703538 --0.0367152422213 --0.257654595294 --0.0276178472825 --0.257652246569 --0.0185197058216 --0.257649639957 --0.00942128641518 --0.257648272323 -0 --0.257649639957 -0.00942128641518 --0.257652246569 -0.0185197058216 --0.257654595294 -0.0276178472825 --0.257656703538 -0.0367152422213 --0.257594968005 -0.0461478534607 --0.257546463706 -0.0555750888329 --0.257574802903 -0.0646618612348 --0.257602913149 -0.0737496354662 --0.2576308004 -0.0828379535489 --0.25753072048 -0.0922290734265 --0.257443770025 -0.101611825279 --0.257497704831 -0.1106848343 --0.257551451243 -0.119760156431 --0.257605031929 -0.128837342054 --0.25746685232 -0.138165657456 --0.257341617204 -0.147482669911 --0.257420975799 -0.156540005282 --0.257500231225 -0.165600993337 --0.257579371662 -0.174665210721 --0.257403391127 -0.183910453894 --0.257240133263 -0.193141501148 --0.25734467829 -0.202181475109 --0.25744922762 -0.21122651492 --0.257553781186 -0.220276227174 --0.25734040131 -0.229419379175 --0.257139440741 -0.238545505432 --0.257268924679 -0.247566782164 --0.257398547393 -0.256594604071 --0.257528290573 -0.26562856627 --0.257277976479 -0.274652829833 --0.257039745308 -0.28365734543 --0.257193874445 -0.292658909373 --0.257348301974 -0.301668563295 --0.257503022997 -0.310685962434 --0.257216182568 -0.319576498446 --0.256941014122 -0.328444591038 --0.257119466541 -0.33742581245 --0.257298396159 -0.3464167442 --0.257477805431 -0.355417091688 --0.257155007289 -0.36416138265 --0.256843421781 -0.372880595957 --0.247858830684 --0.372350682429 --0.248139748072 --0.36364105674 --0.248430763083 --0.354906400577 --0.248269207727 --0.345919098863 --0.248108077683 --0.336941221707 --0.247947377225 --0.327973061263 --0.248195494053 --0.319115453985 --0.248454115439 --0.310235439298 --0.248314778814 --0.30123120773 --0.248175705427 --0.292234737742 --0.248036906388 --0.283246360049 --0.248251707179 --0.274253144337 --0.248477387284 --0.26524021369 --0.248360551802 --0.256219532139 --0.24824383448 --0.247205014174 --0.248127241492 --0.238197039265 --0.248308409796 --0.229082930015 --0.248500769484 --0.21995184157 --0.248406648761 --0.210915533416 --0.248312530916 --0.201883909558 --0.248218405357 --0.192857355537 --0.248365559114 --0.183638953896 --0.248524193066 --0.174406395508 --0.248452968328 --0.16535568232 --0.248381632033 --0.156308202787 --0.248310225241 --0.147264398477 --0.248423066874 --0.137960555697 --0.248547572599 --0.128645426521 --0.248499390129 --0.119581829515 --0.248451058799 --0.110520106659 --0.248402562051 --0.101460702741 --0.248480838287 --0.092091500013 --0.248570959733 --0.0827139545225 --0.248545949998 --0.0736392980185 --0.248520733324 --0.0645651926218 --0.2484953156 --0.055492096413 --0.248538892737 --0.0460786675632 --0.248594401221 --0.03665987857 --0.248592631649 --0.0275761953393 --0.248590651279 --0.0184917720928 --0.248588437081 --0.0094070755878 --0.248587262899 -0 --0.248588437081 -0.0094070755878 --0.248590651279 -0.0184917720928 --0.248592631649 -0.0275761953393 --0.248594401221 -0.03665987857 --0.248538892737 -0.0460786675632 --0.2484953156 -0.055492096413 --0.248520733324 -0.0645651926218 --0.248545949998 -0.0736392980185 --0.248570959733 -0.0827139545225 --0.248480838287 -0.092091500013 --0.248402562051 -0.101460702741 --0.248451058799 -0.110520106659 --0.248499390129 -0.119581829515 --0.248547572599 -0.128645426521 --0.248423066874 -0.137960555697 --0.248310225241 -0.147264398477 --0.248381632033 -0.156308202787 --0.248452968328 -0.16535568232 --0.248524193066 -0.174406395508 --0.248365559114 -0.183638953896 --0.248218405357 -0.192857355537 --0.248312530916 -0.201883909558 --0.248406648761 -0.210915533416 --0.248500769484 -0.21995184157 --0.248308409796 -0.229082930015 --0.248127241492 -0.238197039265 --0.24824383448 -0.247205014174 --0.248360551802 -0.256219532139 --0.248477387284 -0.26524021369 --0.248251707179 -0.274253144337 --0.248036906388 -0.283246360049 --0.248175705427 -0.292234737742 --0.248314778814 -0.30123120773 --0.248454115439 -0.310235439298 --0.248195494053 -0.319115453985 --0.247947377225 -0.327973061263 --0.248108077683 -0.336941221707 --0.248269207727 -0.345919098863 --0.248430763083 -0.354906400577 --0.248139748072 -0.36364105674 --0.247858830684 -0.372350682429 --0.238882287023 --0.371822026727 --0.239132569721 --0.363121940147 --0.23939182484 --0.354396880892 --0.239248099843 --0.345422616533 --0.239104751569 --0.336457773771 --0.238961790726 --0.32750266724 --0.239182858065 --0.318655488508 --0.239413269513 --0.309785951408 --0.239289307422 --0.300794878531 --0.239165589885 --0.291811572629 --0.239042111586 --0.282836367078 --0.239233481465 --0.273854392205 --0.239434545483 --0.264852747826 --0.239330604819 --0.255845331518 --0.239226779567 --0.246844107646 --0.239123059229 --0.237849435776 --0.239284449974 --0.228747282459 --0.239455822079 --0.219628201687 --0.239372118069 --0.210605281392 --0.239288415559 --0.201587050865 --0.239204704207 --0.192573903105 --0.239335771486 --0.183368096643 --0.239477060543 --0.174148168886 --0.23941373178 --0.165110938684 --0.239350318113 --0.156076955185 --0.239286849167 --0.147046658371 --0.239387300514 --0.13775591985 --0.239498154068 --0.128453921435 --0.239455375927 --0.119403898574 --0.239412448761 --0.110355763173 --0.239369373251 --0.101309945732 --0.23943898742 --0.0919542342762 --0.239519163653 --0.0825902078698 --0.239497028518 --0.0735291935104 --0.239474696873 --0.0644687369172 --0.239452191847 --0.0554092970245 --0.239490851569 --0.0460096154687 --0.239540143606 --0.0366045886723 --0.239538712155 --0.0275345987278 --0.239537082624 --0.0184638753228 --0.239535266169 --0.009392883356 --0.239534308316 --2.16840434497e-19 --0.239535266169 -0.009392883356 --0.239537082624 -0.0184638753228 --0.239538712155 -0.0275345987278 --0.239540143606 -0.0366045886723 --0.239490851569 -0.0460096154687 --0.239452191847 -0.0554092970245 --0.239474696873 -0.0644687369172 --0.239497028518 -0.0735291935104 --0.239519163653 -0.0825902078698 --0.23943898742 -0.0919542342762 --0.239369373251 -0.101309945732 --0.239412448761 -0.110355763173 --0.239455375927 -0.119403898574 --0.239498154068 -0.128453921435 --0.239387300514 -0.13775591985 --0.239286849167 -0.147046658371 --0.239350318113 -0.156076955185 --0.23941373178 -0.165110938684 --0.239477060543 -0.174148168886 --0.239335771486 -0.183368096643 --0.239204704207 -0.192573903105 --0.239288415559 -0.201587050865 --0.239372118069 -0.210605281392 --0.239455822079 -0.219628201687 --0.239284449974 -0.228747282459 --0.239123059229 -0.237849435776 --0.239226779567 -0.246844107646 --0.239330604819 -0.255845331518 --0.239434545483 -0.264852747826 --0.239233481465 -0.273854392205 --0.239042111586 -0.282836367078 --0.239165589885 -0.291811572629 --0.239289307422 -0.300794878531 --0.239413269513 -0.309785951408 --0.239182858065 -0.318655488508 --0.238961790726 -0.32750266724 --0.239104751569 -0.336457773771 --0.239248099843 -0.345422616533 --0.23939182484 -0.354396880892 --0.239132569721 -0.363121940147 --0.238882287023 -0.371822026727 --0.229651167689 --0.372628618266 --0.229927860609 --0.363916788693 --0.230214468241 --0.355179988105 --0.230055333409 --0.346184117298 --0.2298966246 --0.337197725325 --0.229738346453 --0.328221156938 --0.229982731598 --0.319360229871 --0.230237451662 --0.310476932009 --0.230100199264 --0.30146445936 --0.22996322397 --0.292459811701 --0.229826493489 --0.283463316686 --0.230038115602 --0.274465747101 --0.23026046152 --0.2654485128 --0.230145343804 --0.256419856395 --0.230030355863 --0.247397424641 --0.229915487123 --0.238381597951 --0.230093957864 --0.229262238546 --0.230283455294 --0.220125947072 --0.230190695811 --0.211081897015 --0.230097941071 --0.202042560598 --0.230005198313 --0.193008350415 --0.230150239999 --0.183783935068 --0.230306567083 --0.174545389225 --0.230236349911 --0.165487105809 --0.230166042246 --0.156432092014 --0.230095645653 --0.147380778756 --0.230206862782 --0.138070291722 --0.230329579231 --0.128748540587 --0.230282053326 --0.119677497547 --0.230234371529 --0.110608351528 --0.230186529656 --0.101541539237 --0.230263735966 --0.0921652269094 --0.230352597881 --0.0827805859827 --0.230327886942 --0.073698558281 --0.23030296403 --0.0646170846254 --0.230277841296 --0.0555366273984 --0.230320897489 --0.046115781938 --0.230375702657 --0.0366895767916 --0.230373864722 --0.027598537392 --0.230371805377 --0.0185067546307 --0.230369547691 --0.00941469741526 --0.230368369429 --2.16840434497e-19 --0.230369547691 -0.00941469741526 --0.230371805377 -0.0185067546307 --0.230373864722 -0.027598537392 --0.230375702657 -0.0366895767916 --0.230320897489 -0.046115781938 --0.230277841296 -0.0555366273984 --0.23030296403 -0.0646170846254 --0.230327886942 -0.073698558281 --0.230352597881 -0.0827805859827 --0.230263735966 -0.0921652269094 --0.230186529656 -0.101541539237 --0.230234371529 -0.110608351528 --0.230282053326 -0.119677497547 --0.230329579231 -0.128748540587 --0.230206862782 -0.138070291722 --0.230095645653 -0.147380778756 --0.230166042246 -0.156432092014 --0.230236349911 -0.165487105809 --0.230306567083 -0.174545389225 --0.230150239999 -0.183783935068 --0.230005198313 -0.193008350415 --0.230097941071 -0.202042560598 --0.230190695811 -0.211081897015 --0.230283455294 -0.220125947072 --0.230093957864 -0.229262238546 --0.229915487123 -0.238381597951 --0.230030355863 -0.247397424641 --0.230145343804 -0.256419856395 --0.23026046152 -0.2654485128 --0.230038115602 -0.274465747101 --0.229826493489 -0.283463316686 --0.22996322397 -0.292459811701 --0.230100199264 -0.30146445936 --0.230237451662 -0.310476932009 --0.229982731598 -0.319360229871 --0.229738346453 -0.328221156938 --0.2298966246 -0.337197725325 --0.230055333409 -0.346184117298 --0.230214468241 -0.355179988105 --0.229927860609 -0.363916788693 --0.229651167689 -0.372628618266 --0.220994941014 --0.400457983381 --0.220796836909 --0.391455670622 --0.220599417687 --0.382464710489 --0.220402670336 --0.373485369837 --0.220705604405 --0.364760912175 --0.221019400392 --0.356011476985 --0.220844961006 --0.34699275816 --0.220670996657 --0.337983585591 --0.220497494956 --0.32898430237 --0.220765061248 --0.32010864618 --0.221043957073 --0.311210616228 --0.220893494423 --0.302175487323 --0.22074332497 --0.293148232322 --0.220593438842 --0.284129195963 --0.220825206628 --0.275114992477 --0.221068699281 --0.266081105443 --0.220942476341 --0.257029940099 --0.220816391706 --0.247985036323 --0.220690446453 --0.238946784032 --0.220885894279 --0.229809097373 --0.221093401456 --0.220654458361 --0.22099166152 --0.211588003408 --0.220889918757 --0.202526285822 --0.220788180227 --0.193469716226 --0.220947119109 --0.184225513209 --0.221118405658 --0.174967171159 --0.221041332835 --0.165886546205 --0.220964158444 --0.156809203509 --0.220886889677 --0.147735582409 --0.221008816149 --0.13840411933 --0.221143314275 --0.129061381095 --0.221091069823 --0.119968022118 --0.221038658411 --0.110876563039 --0.220986086113 --0.10178745969 --0.221070837132 --0.0923892806869 --0.221168330313 --0.0829827519957 --0.221141064697 --0.0738784041023 --0.221113566533 --0.0647746071628 --0.221085836768 --0.0556718287884 --0.221133262967 --0.0462285315435 --0.221193547048 --0.0367798557533 --0.221191309234 --0.0276664571392 --0.221188838454 --0.0185523046805 --0.221186125082 --0.0094378701392 --0.221184705469 -2.16840434497e-19 --0.221186125082 -0.0094378701392 --0.221188838454 -0.0185523046805 --0.221191309234 -0.0276664571392 --0.221193547048 -0.0367798557533 --0.221133262967 -0.0462285315435 --0.221085836768 -0.0556718287884 --0.221113566533 -0.0647746071628 --0.221141064697 -0.0738784041023 --0.221168330313 -0.0829827519957 --0.221070837132 -0.0923892806869 --0.220986086113 -0.10178745969 --0.221038658411 -0.110876563039 --0.221091069823 -0.119968022118 --0.221143314275 -0.129061381095 --0.221008816149 -0.13840411933 --0.220886889677 -0.147735582409 --0.220964158444 -0.156809203509 --0.221041332835 -0.165886546205 --0.221118405658 -0.174967171159 --0.220947119109 -0.184225513209 --0.220788180227 -0.193469716226 --0.220889918757 -0.202526285822 --0.22099166152 -0.211588003408 --0.221093401456 -0.220654458361 --0.220885894279 -0.229809097373 --0.220690446453 -0.238946784032 --0.220816391706 -0.247985036323 --0.220942476341 -0.257029940099 --0.221068699281 -0.266081105443 --0.220825206628 -0.275114992477 --0.220593438842 -0.284129195963 --0.22074332497 -0.293148232322 --0.220893494423 -0.302175487323 --0.221043957073 -0.311210616228 --0.220765061248 -0.32010864618 --0.220497494956 -0.32898430237 --0.220670996657 -0.337983585591 --0.220844961006 -0.34699275816 --0.221019400392 -0.356011476985 --0.220705604405 -0.364760912175 --0.220402670336 -0.373485369837 --0.220599417687 -0.382464710489 --0.220796836909 -0.391455670622 --0.220994941014 -0.400457983381 --0.211929408244 --0.399999319146 --0.211751793079 --0.39100744775 --0.211574780327 --0.382026933176 --0.21139836404 --0.373058041213 --0.21167034609 --0.364341306795 --0.211952070531 --0.355599650025 --0.211795652689 --0.346591475106 --0.211639660596 --0.337592847107 --0.211484083012 --0.32860411117 --0.211724326634 --0.319736889812 --0.211974732804 --0.310847347977 --0.21183981023 --0.301822857459 --0.211705145467 --0.292806240557 --0.211570739127 --0.28379784984 --0.211778851458 --0.274792743143 --0.211997480275 --0.265767993907 --0.211884303243 --0.256727559079 --0.211771239254 --0.247693388863 --0.211658295184 --0.238665871547 --0.211833774344 --0.229537859639 --0.21202007853 --0.22039293282 --0.211928863532 --0.211337296931 --0.211837644478 --0.202286407591 --0.211746422996 --0.193240662038 --0.21188910613 --0.184006642681 --0.212042871266 --0.174758515221 --0.211973788066 --0.165688783762 --0.211904618555 --0.156622346806 --0.21183536442 --0.147559632178 --0.211944782363 --0.138238765243 --0.212065490439 --0.128906651972 --0.212018699959 --0.119824259214 --0.211971749216 --0.110743768751 --0.211924654823 --0.10166564037 --0.212000658816 --0.0922783718241 --0.212088108523 --0.0828827715483 --0.212063735827 --0.073789441513 --0.212039157795 --0.0646966714358 --0.21201437672 --0.055604924832 --0.212056834501 --0.0461727422766 --0.212110842781 --0.0367351943393 --0.212108951366 --0.0276328569974 --0.212106845778 --0.0185297711111 --0.21210451682 --0.00942640638465 --0.212103292735 -0 --0.21210451682 -0.00942640638465 --0.212106845778 -0.0185297711111 --0.212108951366 -0.0276328569974 --0.212110842781 -0.0367351943393 --0.212056834501 -0.0461727422766 --0.21201437672 -0.055604924832 --0.212039157795 -0.0646966714358 --0.212063735827 -0.073789441513 --0.212088108523 -0.0828827715483 --0.212000658816 -0.0922783718241 --0.211924654823 -0.10166564037 --0.211971749216 -0.110743768751 --0.212018699959 -0.119824259214 --0.212065490439 -0.128906651972 --0.211944782363 -0.138238765243 --0.21183536442 -0.147559632178 --0.211904618555 -0.156622346806 --0.211973788066 -0.165688783762 --0.212042871266 -0.174758515221 --0.21188910613 -0.184006642681 --0.211746422996 -0.193240662038 --0.211837644478 -0.202286407591 --0.211928863532 -0.211337296931 --0.21202007853 -0.22039293282 --0.211833774344 -0.229537859639 --0.211658295184 -0.238665871547 --0.211771239254 -0.247693388863 --0.211884303243 -0.256727559079 --0.211997480275 -0.265767993907 --0.211778851458 -0.274792743143 --0.211570739127 -0.28379784984 --0.211705145467 -0.292806240557 --0.21183981023 -0.301822857459 --0.211974732804 -0.310847347977 --0.211724326634 -0.319736889812 --0.211484083012 -0.32860411117 --0.211639660596 -0.337592847107 --0.211795652689 -0.346591475106 --0.211952070531 -0.355599650025 --0.21167034609 -0.364341306795 --0.21139836404 -0.373058041213 --0.211574780327 -0.382026933176 --0.211751793079 -0.39100744775 --0.211929408244 -0.399999319146 --0.202869849478 --0.399541376814 --0.202712696236 --0.390559947777 --0.202556090028 --0.381589886262 --0.202400010611 --0.372631439127 --0.202641047395 --0.363922402073 --0.202890702501 --0.355188478546 --0.202752291936 --0.3461908379 --0.202614256673 --0.337202764084 --0.202476594184 --0.328224573762 --0.202689532236 --0.319365760649 --0.202911449756 --0.310484665841 --0.202792054323 --0.301470798791 --0.202672891877 --0.292464819335 --0.202553951438 --0.283467077735 --0.202738412805 --0.274471036891 --0.202932189177 --0.265455388782 --0.202832046461 --0.256425676115 --0.202731996348 --0.247402231082 --0.202632051945 --0.238385446136 --0.202787567151 --0.229267075752 --0.202952668451 --0.220131822758 --0.202871962478 --0.211086992288 --0.202791262101 --0.202046922709 --0.202710563058 --0.193012011593 --0.202836993681 --0.183788138023 --0.202973247156 --0.174550180993 --0.202912160297 --0.165491340874 --0.202850991874 --0.156435800269 --0.202789731884 --0.147383991006 --0.202886638407 --0.138073680215 --0.202993566323 --0.128752143435 --0.202952227409 --0.119680710324 --0.202910744758 --0.110611190482 --0.202869125949 --0.101544030597 --0.202936374374 --0.0921676246675 --0.203013782019 --0.0827829122403 --0.202992306606 --0.073700596384 --0.202970653262 --0.0646188490147 --0.202948824242 --0.055538130142 --0.202986309406 --0.0461170163846 --0.203034043512 --0.0366905511087 --0.203032493904 --0.027599268893 --0.203030743714 --0.0185072445957 --0.203028809091 --0.00941494645388 --0.203027790372 -0 --0.203028809091 -0.00941494645388 --0.203030743714 -0.0185072445957 --0.203032493904 -0.027599268893 --0.203034043512 -0.0366905511087 --0.202986309406 -0.0461170163846 --0.202948824242 -0.055538130142 --0.202970653262 -0.0646188490147 --0.202992306606 -0.073700596384 --0.203013782019 -0.0827829122403 --0.202936374374 -0.0921676246675 --0.202869125949 -0.101544030597 --0.202910744758 -0.110611190482 --0.202952227409 -0.119680710324 --0.202993566323 -0.128752143435 --0.202886638407 -0.138073680215 --0.202789731884 -0.147383991006 --0.202850991874 -0.156435800269 --0.202912160297 -0.165491340874 --0.202973247156 -0.174550180993 --0.202836993681 -0.183788138023 --0.202710563058 -0.193012011593 --0.202791262101 -0.202046922709 --0.202871962478 -0.211086992288 --0.202952668451 -0.220131822758 --0.202787567151 -0.229267075752 --0.202632051945 -0.238385446136 --0.202731996348 -0.247402231082 --0.202832046461 -0.256425676115 --0.202932189177 -0.265455388782 --0.202738412805 -0.274471036891 --0.202553951438 -0.283467077735 --0.202672891877 -0.292464819335 --0.202792054323 -0.301470798791 --0.202911449756 -0.310484665841 --0.202689532236 -0.319365760649 --0.202476594184 -0.328224573762 --0.202614256673 -0.337202764084 --0.202752291936 -0.3461908379 --0.202890702501 -0.355188478546 --0.202641047395 -0.363922402073 --0.202400010611 -0.372631439127 --0.202556090028 -0.381589886262 --0.202712696236 -0.390559947777 --0.202869849478 -0.399541376814 --0.193816669683 --0.399084150057 --0.193679970036 --0.390113163736 --0.193543750859 --0.381153545649 --0.193407984364 --0.372205530615 --0.193618092154 --0.363504165726 --0.19383569087 --0.354777958162 --0.193715277464 --0.345790850687 --0.193595187158 --0.33681332743 --0.193475423828 --0.327845681384 --0.193661067429 --0.31899523736 --0.19385451456 --0.310122550317 --0.193750635067 --0.301119310803 --0.193646955019 --0.29212396702 --0.19354346817 --0.283136860594 --0.193704289638 --0.274149843134 --0.193873220845 --0.265143254504 --0.193786095732 --0.256124256421 --0.193699050538 --0.247111546254 --0.193612101273 --0.238105509093 --0.193747656403 --0.22899673106 --0.193891566952 --0.219871107867 --0.193821370413 --0.210837080052 --0.193751175306 --0.201807822089 --0.193680987977 --0.192783745865 --0.193791181787 --0.183569977782 --0.193909937307 --0.17434215083 --0.193856833418 --0.165294198528 --0.193803654443 --0.156249551513 --0.193750400989 --0.147208651932 --0.193834807372 --0.137908852317 --0.193927945427 --0.128597840687 --0.193892054462 --0.119537364191 --0.193856034114 --0.110478812303 --0.19381989188 --0.10142262301 --0.193878398944 --0.0920570388636 --0.193945758688 --0.0826831656357 --0.193927183781 --0.0736118622871 --0.193908452826 --0.0645411342544 --0.193889561672 --0.0554714407577 --0.193922074895 --0.0460613506434 --0.193963525911 --0.0366459203568 --0.193962319758 --0.0275656911195 --0.193960935561 --0.0184847256548 --0.193959395881 --0.00940349007319 --0.193958586007 -2.16840434497e-19 --0.193959395881 -0.00940349007319 --0.193960935561 -0.0184847256548 --0.193962319758 -0.0275656911195 --0.193963525911 -0.0366459203568 --0.193922074895 -0.0460613506434 --0.193889561672 -0.0554714407577 --0.193908452826 -0.0645411342544 --0.193927183781 -0.0736118622871 --0.193945758688 -0.0826831656357 --0.193878398944 -0.0920570388636 --0.19381989188 -0.10142262301 --0.193856034114 -0.110478812303 --0.193892054462 -0.119537364191 --0.193927945427 -0.128597840687 --0.193834807372 -0.137908852317 --0.193750400989 -0.147208651932 --0.193803654443 -0.156249551513 --0.193856833418 -0.165294198528 --0.193909937307 -0.17434215083 --0.193791181787 -0.183569977782 --0.193680987977 -0.192783745865 --0.193751175306 -0.201807822089 --0.193821370413 -0.210837080052 --0.193891566952 -0.219871107867 --0.193747656403 -0.22899673106 --0.193612101273 -0.238105509093 --0.193699050538 -0.247111546254 --0.193786095732 -0.256124256421 --0.193873220845 -0.265143254504 --0.193704289638 -0.274149843134 --0.19354346817 -0.283136860594 --0.193646955019 -0.29212396702 --0.193750635067 -0.301119310803 --0.19385451456 -0.310122550317 --0.193661067429 -0.31899523736 --0.193475423828 -0.327845681384 --0.193595187158 -0.33681332743 --0.193715277464 -0.345790850687 --0.19383569087 -0.354777958162 --0.193618092154 -0.363504165726 --0.193407984364 -0.372205530615 --0.193543750859 -0.381153545649 --0.193679970036 -0.390113163736 --0.193816669683 -0.399084150057 --0.184536095083 --0.399791760233 --0.18438243249 --0.39080304667 --0.184229301156 --0.381825770986 --0.18407668424 --0.372860167999 --0.184312414879 --0.364149190855 --0.184556555681 --0.355413379335 --0.184421202468 --0.346408754758 --0.184286216235 --0.337413758579 --0.184151593234 --0.328428703154 --0.184359883854 --0.319567068605 --0.184576943899 --0.310683180505 --0.18446016209 --0.301662573015 --0.184343610141 --0.292649912316 --0.184227276272 --0.283645523972 --0.184407704205 --0.2746458293 --0.184597241586 --0.265626570356 --0.184499269809 --0.25659033096 --0.184401389821 --0.24756040742 --0.184303626608 --0.238537199784 --0.184455805558 --0.229414469402 --0.184617350671 --0.220274891097 --0.184538375633 --0.211223706949 --0.184459408813 --0.202177318673 --0.184380448158 --0.19313614139 --0.184504155454 --0.183907292043 --0.184637467527 --0.174664383101 --0.184577667752 --0.165599332999 --0.184517790403 --0.156537606445 --0.184457833221 --0.147479643297 --0.184552712161 --0.138163870005 --0.184657372746 --0.128836875895 --0.184616870586 --0.11975932269 --0.184576234396 --0.110683701134 --0.184535467653 --0.101610461124 --0.184601359408 --0.092228216202 --0.184677168169 --0.0828376658569 --0.184656083289 --0.073749289985 --0.184634819786 --0.064661485892 --0.184613383669 --0.0555747193085 --0.184650171111 --0.0461475222188 --0.1846969619 --0.0367149696546 --0.18469535584 --0.0276176393027 --0.184693559443 --0.0185195645832 --0.184691571597 --0.00942121338044 --0.184690531942 -0 --0.184691571597 -0.00942121338044 --0.184693559443 -0.0185195645832 --0.18469535584 -0.0276176393027 --0.1846969619 -0.0367149696546 --0.184650171111 -0.0461475222188 --0.184613383669 -0.0555747193085 --0.184634819786 -0.064661485892 --0.184656083289 -0.073749289985 --0.184677168169 -0.0828376658569 --0.184601359408 -0.092228216202 --0.184535467653 -0.101610461124 --0.184576234396 -0.110683701134 --0.184616870586 -0.11975932269 --0.184657372746 -0.128836875895 --0.184552712161 -0.138163870005 --0.184457833221 -0.147479643297 --0.184517790403 -0.156537606445 --0.184577667752 -0.165599332999 --0.184637467527 -0.174664383101 --0.184504155454 -0.183907292043 --0.184380448158 -0.19313614139 --0.184459408813 -0.202177318673 --0.184538375633 -0.211223706949 --0.184617350671 -0.220274891097 --0.184455805558 -0.229414469402 --0.184303626608 -0.238537199784 --0.184401389821 -0.24756040742 --0.184499269809 -0.25659033096 --0.184597241586 -0.265626570356 --0.184407704205 -0.2746458293 --0.184227276272 -0.283645523972 --0.184343610141 -0.292649912316 --0.18446016209 -0.301662573015 --0.184576943899 -0.310683180505 --0.184359883854 -0.319567068605 --0.184151593234 -0.328428703154 --0.184286216235 -0.337413758579 --0.184421202468 -0.346408754758 --0.184556555681 -0.355413379335 --0.184312414879 -0.364149190855 --0.18407668424 -0.372860167999 --0.184229301156 -0.381825770986 --0.18438243249 -0.39080304667 --0.184536095083 -0.399791760233 --0.175240732684 --0.40055438716 --0.17507019179 --0.391546694451 --0.174900243171 --0.382550500892 --0.174730881469 --0.373566071868 --0.174992110234 --0.364844592519 --0.175262662119 --0.356098261693 --0.175112442917 --0.347074833573 --0.174962637467 --0.338061088573 --0.174813237595 --0.329057349738 --0.17504406042 --0.320183529647 --0.175284615088 --0.311287458753 --0.175154997597 --0.302248198228 --0.175025637668 --0.293216915158 --0.174896532377 --0.284193963706 --0.17509648187 --0.275180540967 --0.175306519064 --0.266147536976 --0.175197759093 --0.257092758295 --0.175089106865 --0.248044328867 --0.17498058047 --0.239002639679 --0.17514929982 --0.229864819712 --0.175328389176 --0.22071013379 --0.175240682461 --0.211640484108 --0.175152992268 --0.202575656767 --0.175065304896 --0.193516058486 --0.175202463147 --0.184270932352 --0.175350261117 --0.175011735907 --0.175283804127 --0.165928268591 --0.175217256762 --0.15684813549 --0.175150623788 --0.14777178117 --0.175255923292 --0.138438776311 --0.175372052109 --0.129094541814 --0.175326971495 --0.119998589666 --0.175281745053 --0.11090457521 --0.175236372287 --0.101812952527 --0.175309603248 --0.0924127498898 --0.175393821881 --0.0830042261062 --0.175370249807 --0.0738974401623 --0.175346472345 --0.0647912239719 --0.175322502933 --0.0556860479417 --0.175363542903 --0.0462404256762 --0.175415658965 --0.0367894324019 --0.175413646912 --0.0276736601027 --0.175411432099 --0.0185571339248 --0.175409006049 --0.00944032634276 --0.175407737569 --2.16840434497e-19 --0.175409006049 -0.00944032634276 --0.175411432099 -0.0185571339248 --0.175413646912 -0.0276736601027 --0.175415658965 -0.0367894324019 --0.175363542903 -0.0462404256762 --0.175322502933 -0.0556860479417 --0.175346472345 -0.0647912239719 --0.175370249807 -0.0738974401623 --0.175393821881 -0.0830042261062 --0.175309603248 -0.0924127498898 --0.175236372287 -0.101812952527 --0.175281745053 -0.11090457521 --0.175326971495 -0.119998589666 --0.175372052109 -0.129094541814 --0.175255923292 -0.138438776311 --0.175150623788 -0.14777178117 --0.175217256762 -0.15684813549 --0.175283804127 -0.165928268591 --0.175350261117 -0.175011735907 --0.175202463147 -0.184270932352 --0.175065304896 -0.193516058486 --0.175152992268 -0.202575656767 --0.175240682461 -0.211640484108 --0.175328389176 -0.22071013379 --0.17514929982 -0.229864819712 --0.17498058047 -0.239002639679 --0.175089106865 -0.248044328867 --0.175197759093 -0.257092758295 --0.175306519064 -0.266147536976 --0.17509648187 -0.275180540967 --0.174896532377 -0.284193963706 --0.175025637668 -0.293216915158 --0.175154997597 -0.302248198228 --0.175284615088 -0.311287458753 --0.17504406042 -0.320183529647 --0.174813237595 -0.329057349738 --0.174962637467 -0.338061088573 --0.175112442917 -0.347074833573 --0.175262662119 -0.356098261693 --0.174992110234 -0.364844592519 --0.174730881469 -0.373566071868 --0.174900243171 -0.382550500892 --0.17507019179 -0.391546694451 --0.175240732684 -0.40055438716 --0.166163309336 --0.40020770746 --0.166013401131 --0.391207949743 --0.165864003486 --0.382219674363 --0.165715128616 --0.37324317409 --0.165945181307 --0.364527542217 --0.166183419369 --0.355787082926 --0.166051350978 --0.346771641064 --0.165919641918 --0.337765890371 --0.165788293073 --0.328770151464 --0.16599159513 --0.319902693298 --0.166203449188 --0.311013023521 --0.166089483029 --0.301981823942 --0.165975738911 --0.292958600829 --0.16586222241 --0.283943726364 --0.166038345709 --0.2749371556 --0.16622333301 --0.265911023028 --0.1661277029 --0.256864372876 --0.166032171795 --0.247824078816 --0.165936744737 --0.238790524387 --0.166085342904 --0.229659977294 --0.166243072633 --0.220512593128 --0.166165968602 --0.211451147776 --0.166088868634 --0.20239451607 --0.166011773299 --0.193343112805 --0.16613256929 --0.184105653442 --0.166262725869 --0.17485413661 --0.166204315216 --0.165778914449 --0.166145824814 --0.156707043069 --0.166087264332 --0.147638952681 --0.16617995925 --0.138313906048 --0.16628218463 --0.12897765 --0.16624260197 --0.119890003977 --0.16620288652 --0.110804299226 --0.166163030963 --0.10172098528 --0.166227453157 --0.0923289779151 --0.166301551047 --0.082928662512 --0.166280896504 --0.073830219489 --0.166260066163 --0.064732353353 --0.16623906417 --0.0556355322075 --0.166275091359 --0.0461982549913 --0.166320882689 --0.0367556163956 --0.166319216259 --0.0276482195234 --0.166317364487 --0.0185400719976 --0.166315333287 --0.0094316463763 --0.166314267836 -0 --0.166315333287 -0.0094316463763 --0.166317364487 -0.0185400719976 --0.166319216259 -0.0276482195234 --0.166320882689 -0.0367556163956 --0.166275091359 -0.0461982549913 --0.16623906417 -0.0556355322075 --0.166260066163 -0.064732353353 --0.166280896504 -0.073830219489 --0.166301551047 -0.082928662512 --0.166227453157 -0.0923289779151 --0.166163030963 -0.10172098528 --0.16620288652 -0.110804299226 --0.16624260197 -0.119890003977 --0.16628218463 -0.12897765 --0.16617995925 -0.138313906048 --0.166087264332 -0.147638952681 --0.166145824814 -0.156707043069 --0.166204315216 -0.165778914449 --0.166262725869 -0.17485413661 --0.16613256929 -0.184105653442 --0.166011773299 -0.193343112805 --0.166088868634 -0.20239451607 --0.166165968602 -0.211451147776 --0.166243072633 -0.220512593128 --0.166085342904 -0.229659977294 --0.165936744737 -0.238790524387 --0.166032171795 -0.247824078816 --0.1661277029 -0.256864372876 --0.16622333301 -0.265911023028 --0.166038345709 -0.2749371556 --0.16586222241 -0.283943726364 --0.165975738911 -0.292958600829 --0.166089483029 -0.301981823942 --0.166203449188 -0.311013023521 --0.16599159513 -0.319902693298 --0.165788293073 -0.328770151464 --0.165919641918 -0.337765890371 --0.166051350978 -0.346771641064 --0.166183419369 -0.355787082926 --0.165945181307 -0.364527542217 --0.165715128616 -0.37324317409 --0.165864003486 -0.382219674363 --0.166013401131 -0.391207949743 --0.166163309336 -0.40020770746 --0.157090171366 --0.399861310595 --0.156960884852 --0.390869480144 --0.156832040161 --0.381889140602 --0.156703643338 --0.372920563836 --0.156902517256 --0.364210753244 --0.157108441436 --0.355476137205 --0.156994519837 --0.346468695762 --0.156880905075 --0.3374709583 --0.156767599154 --0.328483220299 --0.156943377587 --0.319622094795 --0.157126528546 --0.31073878611 --0.157028212865 --0.301715656173 --0.156930086049 --0.292700515383 --0.156832149477 --0.28369372078 --0.156984433759 --0.274693966045 --0.157144372391 --0.265674676156 --0.157061875285 --0.25663616342 --0.156979458517 --0.247604007428 --0.156897131791 --0.238578601948 --0.157025611146 --0.229455309213 --0.157161977225 --0.220315196853 --0.157095472409 --0.211261953364 --0.157028963629 --0.202213525456 --0.156962457917 --0.193170331557 --0.157066886004 --0.183940497773 --0.157179397575 --0.174696626946 --0.157129031873 --0.165629664247 --0.157078602696 --0.156566060031 --0.157028106787 --0.147506244839 --0.157108196639 --0.138189127797 --0.157196528282 --0.128860815682 --0.157162428353 --0.119781478555 --0.157128215856 --0.110704088766 --0.157093887435 --0.101629095732 --0.157149503182 --0.0922452484018 --0.157213479993 --0.0828531090943 --0.157195739292 --0.0737630186006 --0.157177849225 --0.0646735106128 --0.157159816834 --0.0555850524271 --0.157190838138 --0.0461560870593 --0.157230294115 --0.0367217674091 --0.157228976235 --0.027622753572 --0.157227494253 --0.018522993938 --0.157225850468 --0.00942295775856 --0.157224988809 -0 --0.157225850468 -0.00942295775856 --0.157227494253 -0.018522993938 --0.157228976235 -0.027622753572 --0.157230294115 -0.0367217674091 --0.157190838138 -0.0461560870593 --0.157159816834 -0.0555850524271 --0.157177849225 -0.0646735106128 --0.157195739292 -0.0737630186006 --0.157213479993 -0.0828531090943 --0.157149503182 -0.0922452484018 --0.157093887435 -0.101629095732 --0.157128215856 -0.110704088766 --0.157162428353 -0.119781478555 --0.157196528282 -0.128860815682 --0.157108196639 -0.138189127797 --0.157028106787 -0.147506244839 --0.157078602696 -0.156566060031 --0.157129031873 -0.165629664247 --0.157179397575 -0.174696626946 --0.157066886004 -0.183940497773 --0.156962457917 -0.193170331557 --0.157028963629 -0.202213525456 --0.157095472409 -0.211261953364 --0.157161977225 -0.220315196853 --0.157025611146 -0.229455309213 --0.156897131791 -0.238578601948 --0.156979458517 -0.247604007428 --0.157061875285 -0.25663616342 --0.157144372391 -0.265674676156 --0.156984433759 -0.274693966045 --0.156832149477 -0.28369372078 --0.156930086049 -0.292700515383 --0.157028212865 -0.301715656173 --0.157126528546 -0.31073878611 --0.156943377587 -0.319622094795 --0.156767599154 -0.328483220299 --0.156880905075 -0.3374709583 --0.156994519837 -0.346468695762 --0.157108441436 -0.355476137205 --0.156902517256 -0.364210753244 --0.156703643338 -0.372920563836 --0.156832040161 -0.381889140602 --0.156960884852 -0.390869480144 --0.157090171366 -0.399861310595 --0.148021741802 --0.399515178262 --0.147913067952 --0.390531278698 --0.147804767163 --0.381558884054 --0.147696839525 --0.372598256307 --0.147864541885 --0.363894230132 --0.148038160684 --0.355165428496 --0.14794237423 --0.346165994135 --0.147846844812 --0.33717627066 --0.147751577519 --0.328196544473 --0.147899836163 --0.319341724329 --0.148054282151 --0.31046474239 --0.147971606895 --0.301449689558 --0.147889092998 --0.292442640016 --0.147806728367 --0.283443922006 --0.147935180191 --0.274450954981 --0.148070074138 --0.265438485553 --0.148000700696 --0.25640811315 --0.14793139339 --0.247384115789 --0.147862158522 --0.238366874082 --0.147970522318 --0.229250800434 --0.148085528135 --0.220117930726 --0.148029614316 --0.211072886989 --0.147973695899 --0.202032676437 --0.14791777984 --0.19299771542 --0.148005838696 --0.183775469424 --0.148100703632 --0.174539205519 --0.148058386117 --0.165480514854 --0.14801601442 --0.156425183573 --0.147973579744 --0.147373648878 --0.148041069652 --0.138064427349 --0.148115506282 --0.128744024631 --0.148086890461 --0.119673007722 --0.148058182281 --0.110603946926 --0.148029375804 --0.101537284382 --0.148076179606 --0.0921615627694 --0.148130036271 --0.0827775639457 --0.148115215237 --0.073695833127 --0.148100264278 --0.0646146917318 --0.148085192456 --0.0555346020663 --0.148111211592 --0.0461139163221 --0.148144341182 --0.0366878853622 --0.148143364993 --0.0275972623986 --0.148142249303 --0.0185058982738 --0.148141003202 --0.00941426067545 --0.148140351512 -0 --0.148141003202 -0.00941426067545 --0.148142249303 -0.0185058982738 --0.148143364993 -0.0275972623986 --0.148144341182 -0.0366878853622 --0.148111211592 -0.0461139163221 --0.148085192456 -0.0555346020663 --0.148100264278 -0.0646146917318 --0.148115215237 -0.073695833127 --0.148130036271 -0.0827775639457 --0.148076179606 -0.0921615627694 --0.148029375804 -0.101537284382 --0.148058182281 -0.110603946926 --0.148086890461 -0.119673007722 --0.148115506282 -0.128744024631 --0.148041069652 -0.138064427349 --0.147973579744 -0.147373648878 --0.14801601442 -0.156425183573 --0.148058386117 -0.165480514854 --0.148100703632 -0.174539205519 --0.148005838696 -0.183775469424 --0.14791777984 -0.19299771542 --0.147973695899 -0.202032676437 --0.148029614316 -0.211072886989 --0.148085528135 -0.220117930726 --0.147970522318 -0.229250800434 --0.147862158522 -0.238366874082 --0.14793139339 -0.247384115789 --0.148000700696 -0.25640811315 --0.148070074138 -0.265438485553 --0.147935180191 -0.274450954981 --0.147806728367 -0.283443922006 --0.147889092998 -0.292442640016 --0.147971606895 -0.301449689558 --0.148054282151 -0.31046474239 --0.147899836163 -0.319341724329 --0.147751577519 -0.328196544473 --0.147846844812 -0.33717627066 --0.14794237423 -0.346165994135 --0.148038160684 -0.355165428496 --0.147864541885 -0.363894230132 --0.147696839525 -0.372598256307 --0.147804767163 -0.381558884054 --0.147913067952 -0.390531278698 --0.148021741802 -0.399515178262 --0.138655752718 --0.400057603499 --0.13853018942 --0.391060148805 --0.138405063077 --0.382074236836 --0.138280368022 --0.373100153449 --0.138473557614 --0.364388681188 --0.138673583427 --0.355652433186 --0.138562920197 --0.34663957184 --0.138452563237 --0.337636461064 --0.138342510224 --0.328643408719 --0.138513313019 --0.31977994704 --0.138691256863 --0.310894308549 --0.138595733437 --0.30186593878 --0.13850040628 --0.292845611136 --0.138405258435 --0.283833656867 --0.138553251839 --0.274830965635 --0.138708670846 --0.265808766229 --0.138628498471 --0.256765174971 --0.1385484118 --0.247727982916 --0.138468407261 --0.238697573195 --0.138593296902 --0.229570807397 --0.138725847247 --0.220427244751 --0.138661199865 --0.211369046182 --0.138596551001 --0.202315699689 --0.13853190047 --0.193267616849 --0.138633440187 --0.184033852045 --0.138742828483 --0.174786067454 --0.138693844253 --0.165714250407 --0.138644794154 --0.156645806264 --0.138595681254 --0.147581172463 --0.138673595607 --0.138259757174 --0.138759508247 --0.128927158157 --0.138726308609 --0.119843036563 --0.13869300197 --0.110760872583 --0.138659579287 --0.101681113329 --0.138713734231 --0.0922926921845 --0.138776012537 --0.0828959864539 --0.13875869377 --0.0738011462425 --0.138741229841 --0.0647068930894 --0.138723627146 --0.0556136938764 --0.138753863098 --0.0461799762757 --0.138792288988 --0.0367409053761 --0.138790909047 --0.0276371515107 --0.138789369423 --0.0185326486928 --0.138787686229 --0.00942786953707 --0.13878681032 -0 --0.138787686229 -0.00942786953707 --0.138789369423 -0.0185326486928 --0.138790909047 -0.0276371515107 --0.138792288988 -0.0367409053761 --0.138753863098 -0.0461799762757 --0.138723627146 -0.0556136938764 --0.138741229841 -0.0647068930894 --0.13875869377 -0.0738011462425 --0.138776012537 -0.0828959864539 --0.138713734231 -0.0922926921845 --0.138659579287 -0.101681113329 --0.13869300197 -0.110760872583 --0.138726308609 -0.119843036563 --0.138759508247 -0.128927158157 --0.138673595607 -0.138259757174 --0.138595681254 -0.147581172463 --0.138644794154 -0.156645806264 --0.138693844253 -0.165714250407 --0.138742828483 -0.174786067454 --0.138633440187 -0.184033852045 --0.13853190047 -0.193267616849 --0.138596551001 -0.202315699689 --0.138661199865 -0.211369046182 --0.138725847247 -0.220427244751 --0.138593296902 -0.229570807397 --0.138468407261 -0.238697573195 --0.1385484118 -0.247727982916 --0.138628498471 -0.256765174971 --0.138708670846 -0.265808766229 --0.138553251839 -0.274830965635 --0.138405258435 -0.283833656867 --0.13850040628 -0.292845611136 --0.138595733437 -0.30186593878 --0.138691256863 -0.310894308549 --0.138513313019 -0.31977994704 --0.138342510224 -0.328643408719 --0.138452563237 -0.337636461064 --0.138562920197 -0.34663957184 --0.138673583427 -0.355652433186 --0.138473557614 -0.364388681188 --0.138280368022 -0.373100153449 --0.138405063077 -0.382074236836 --0.13853018942 -0.391060148805 --0.138655752718 -0.400057603499 --0.128783405269 --0.417795715428 --0.129027031361 --0.409239779378 --0.129278027418 --0.400656523148 --0.129135647531 --0.391644213004 --0.128993768039 --0.38264350287 --0.128852371657 --0.37365466268 --0.129070949202 --0.364934820232 --0.129297281399 --0.356190193664 --0.129171808691 --0.347162611324 --0.129046688231 --0.338144818663 --0.128921909598 --0.329137117903 --0.129115172345 --0.320263998444 --0.129316529452 --0.311368700284 --0.129208220247 --0.302325708416 --0.129100129106 --0.293290781227 --0.128992243709 --0.284264266087 --0.129159706902 --0.275250749426 --0.129335575453 --0.26621771439 --0.129244654182 --0.257159577389 --0.129153831491 --0.248107856452 --0.12906310132 --0.239062937798 --0.129204463545 --0.229924319466 --0.129354488673 --0.220768887501 --0.129281140154 --0.211696184089 --0.129207795486 --0.202628351886 --0.129134448653 --0.193565791762 --0.129249428209 --0.184319277849 --0.129373282422 --0.175058732587 --0.129317655145 --0.165972436547 --0.129261956192 --0.156889523297 --0.129206186175 --0.147810426522 --0.129294484369 --0.138475528451 --0.129391830871 --0.129129437914 --0.129354062313 --0.120030847319 --0.129316178051 --0.110934217972 --0.129278163593 --0.101839997578 --0.129339644298 --0.0924375477471 --0.129410311394 --0.0830268006765 --0.129390504826 --0.0739174798733 --0.129370537898 --0.0648087441234 --0.1293504141 --0.0557010635273 --0.129384853798 --0.0462529579613 --0.129428554744 --0.0367994862255 --0.129426771942 --0.0276812233729 --0.129424816111 --0.0185622051166 --0.129422693648 --0.00944290602232 --0.129421587797 -0 --0.129422693648 -0.00944290602232 --0.129424816111 -0.0185622051166 --0.129426771942 -0.0276812233729 --0.129428554744 -0.0367994862255 --0.129384853798 -0.0462529579613 --0.1293504141 -0.0557010635273 --0.129370537898 -0.0648087441234 --0.129390504826 -0.0739174798733 --0.129410311394 -0.0830268006765 --0.129339644298 -0.0924375477471 --0.129278163593 -0.101839997578 --0.129316178051 -0.110934217972 --0.129354062313 -0.120030847319 --0.129391830871 -0.129129437914 --0.129294484369 -0.138475528451 --0.129206186175 -0.147810426522 --0.129261956192 -0.156889523297 --0.129317655145 -0.165972436547 --0.129373282422 -0.175058732587 --0.129249428209 -0.184319277849 --0.129134448653 -0.193565791762 --0.129207795486 -0.202628351886 --0.129281140154 -0.211696184089 --0.129354488673 -0.220768887501 --0.129204463545 -0.229924319466 --0.12906310132 -0.239062937798 --0.129153831491 -0.248107856452 --0.129244654182 -0.257159577389 --0.129335575453 -0.26621771439 --0.129159706902 -0.275250749426 --0.128992243709 -0.284264266087 --0.129100129106 -0.293290781227 --0.129208220247 -0.302325708416 --0.129316529452 -0.311368700284 --0.129115172345 -0.320263998444 --0.128921909598 -0.329137117903 --0.129046688231 -0.338144818663 --0.129171808691 -0.347162611324 --0.129297281399 -0.356190193664 --0.129070949202 -0.364934820232 --0.128852371657 -0.37365466268 --0.128993768039 -0.38264350287 --0.129135647531 -0.391644213004 --0.129278027418 -0.400656523148 --0.129027031361 -0.409239779378 --0.128783405269 -0.417795715428 --0.119766262407 --0.417555499135 --0.119974885274 --0.409003148501 --0.120189781202 --0.400423487838 --0.120068151997 --0.391416533986 --0.11994694742 --0.382421190785 --0.119826154123 --0.373437718621 --0.120013366477 --0.364721791389 --0.120207192594 --0.355981107083 --0.120099980048 --0.346958939993 --0.119993062919 --0.337946555365 --0.119886440228 --0.328944258994 --0.120052018349 --0.320075402375 --0.120224501981 --0.311184382842 --0.120131933109 --0.302146841114 --0.120039547321 --0.293117366971 --0.119947341396 --0.284096307594 --0.120090831902 --0.275087363604 --0.120241501656 --0.266058917218 --0.120163787217 --0.257006267279 --0.120086155975 --0.247960037592 --0.120008605437 --0.238920613875 --0.120129733187 --0.229786845378 --0.120258268358 --0.220636283847 --0.120195574268 --0.211569110069 --0.120132885097 --0.202506817159 --0.120070198996 --0.193449793239 --0.120168713121 --0.184208369208 --0.120274816413 --0.174952929749 --0.12022728667 --0.165872202036 --0.120179697443 --0.156794867476 --0.120132040599 --0.147721345948 --0.120207656592 --0.138391734483 --0.120291023043 --0.129050944463 --0.120258779905 --0.119957955015 --0.12022643518 --0.110866933694 --0.120193977907 --0.101778324247 --0.120246595312 --0.0923813106566 --0.120307076178 --0.0829760084906 --0.120290210515 --0.0738723200174 --0.120273204204 --0.0647692185448 --0.120256054547 --0.0556671727486 --0.12028545944 --0.0462246045372 --0.120322798552 --0.0367766736493 --0.12032136235 --0.0276640601106 --0.120319778041 --0.0185506950764 --0.120318051361 --0.00943705050459 --0.120317149359 -2.16840434497e-19 --0.120318051361 -0.00943705050459 --0.120319778041 -0.0185506950764 --0.12032136235 -0.0276640601106 --0.120322798552 -0.0367766736493 --0.12028545944 -0.0462246045372 --0.120256054547 -0.0556671727486 --0.120273204204 -0.0647692185448 --0.120290210515 -0.0738723200174 --0.120307076178 -0.0829760084906 --0.120246595312 -0.0923813106566 --0.120193977907 -0.101778324247 --0.12022643518 -0.110866933694 --0.120258779905 -0.119957955015 --0.120291023043 -0.129050944463 --0.120207656592 -0.138391734483 --0.120132040599 -0.147721345948 --0.120179697443 -0.156794867476 --0.12022728667 -0.165872202036 --0.120274816413 -0.174952929749 --0.120168713121 -0.184208369208 --0.120070198996 -0.193449793239 --0.120132885097 -0.202506817159 --0.120195574268 -0.211569110069 --0.120258268358 -0.220636283847 --0.120129733187 -0.229786845378 --0.120008605437 -0.238920613875 --0.120086155975 -0.247960037592 --0.120163787217 -0.257006267279 --0.120241501656 -0.266058917218 --0.120090831902 -0.275087363604 --0.119947341396 -0.284096307594 --0.120039547321 -0.293117366971 --0.120131933109 -0.302146841114 --0.120224501981 -0.311184382842 --0.120052018349 -0.320075402375 --0.119886440228 -0.328944258994 --0.119993062919 -0.337946555365 --0.120099980048 -0.346958939993 --0.120207192594 -0.355981107083 --0.120013366477 -0.364721791389 --0.119826154123 -0.373437718621 --0.11994694742 -0.382421190785 --0.120068151997 -0.391416533986 --0.120189781202 -0.400423487838 --0.119974885274 -0.409003148501 --0.119766262407 -0.417555499135 --0.110751742117 --0.417315274808 --0.110925346472 --0.408766473353 --0.111104129904 --0.400190379352 --0.111003249053 --0.391188812813 --0.110902717626 --0.38219883531 --0.110802533973 --0.373220741868 --0.110958378702 --0.364508730072 --0.111119688201 --0.355771971531 --0.111030727986 --0.346755219899 --0.11094201474 --0.337748253919 --0.11085354599 --0.328751378553 --0.110991427167 --0.319886760459 --0.111135027779 --0.310999991612 --0.111058196668 --0.301967909787 --0.110981519736 --0.29294390528 --0.110904994658 --0.283928312964 --0.111024504259 --0.27492392456 --0.111149966571 --0.265900050138 --0.111085459482 --0.256852903861 --0.111021020619 --0.247812176647 --0.110956647439 --0.238778270164 --0.111057536223 --0.229649334423 --0.111164577364 --0.220503609295 --0.111112538766 --0.211441981182 --0.111060506347 --0.202385238698 --0.111008478192 --0.193333776206 --0.111090514781 --0.184097418811 --0.111178864744 --0.174847055736 --0.111139435575 --0.165771919152 --0.11109995065 --0.156700173227 --0.111060410628 --0.147632250175 --0.111123348847 --0.138307904754 --0.111192734136 --0.128972385464 --0.11116601402 --0.119885011115 --0.111139200726 --0.110799609235 --0.111112295065 --0.10171662909 --0.111156048584 --0.0923250296629 --0.111206345944 --0.0829251490813 --0.111192418614 --0.073827107581 --0.111178370131 --0.0647296568895 --0.111164200718 --0.0556332629377 --0.111188569053 --0.0461962057708 --0.111219538784 --0.0367537926475 --0.111218452367 --0.0276468463017 --0.111217242109 --0.0185391506386 --0.111215902743 --0.0094311772543 --0.111215199413 --2.16840434497e-19 --0.111215902743 -0.0094311772543 --0.111217242109 -0.0185391506386 --0.111218452367 -0.0276468463017 --0.111219538784 -0.0367537926475 --0.111188569053 -0.0461962057708 --0.111164200718 -0.0556332629377 --0.111178370131 -0.0647296568895 --0.111192418614 -0.073827107581 --0.111206345944 -0.0829251490813 --0.111156048584 -0.0923250296629 --0.111112295065 -0.10171662909 --0.111139200726 -0.110799609235 --0.11116601402 -0.119885011115 --0.111192734136 -0.128972385464 --0.111123348847 -0.138307904754 --0.111060410628 -0.147632250175 --0.11109995065 -0.156700173227 --0.111139435575 -0.165771919152 --0.111178864744 -0.174847055736 --0.111090514781 -0.184097418811 --0.111008478192 -0.193333776206 --0.111060506347 -0.202385238698 --0.111112538766 -0.211441981182 --0.111164577364 -0.220503609295 --0.111057536223 -0.229649334423 --0.110956647439 -0.238778270164 --0.111021020619 -0.247812176647 --0.111085459482 -0.256852903861 --0.111149966571 -0.265900050138 --0.111024504259 -0.27492392456 --0.110904994658 -0.283928312964 --0.110981519736 -0.29294390528 --0.111058196668 -0.301967909787 --0.111135027779 -0.310999991612 --0.110991427167 -0.319886760459 --0.11085354599 -0.328751378553 --0.11094201474 -0.337748253919 --0.111030727986 -0.346755219899 --0.111119688201 -0.355771971531 --0.110958378702 -0.364508730072 --0.110802533973 -0.373220741868 --0.110902717626 -0.38219883531 --0.111003249053 -0.391188812813 --0.111104129904 -0.400190379352 --0.110925346472 -0.408766473353 --0.110751742117 -0.417315274808 --0.101740268009 --0.417075024135 --0.101878848481 --0.40852974668 --0.102021515647 --0.399957183718 --0.101941382425 --0.390961010158 --0.101861523164 --0.381976429451 --0.101781943502 --0.373003731274 --0.101906412091 --0.364295613117 --0.102035197213 --0.355562756113 --0.101964488118 --0.346551428763 --0.101893977724 --0.33754989285 --0.101823659292 --0.328558462833 --0.10193383571 --0.319698053951 --0.102048551503 --0.31081551924 --0.101987466715 --0.301788934149 --0.101926498104 --0.292770404466 --0.101865646554 --0.28376029 --0.101961167607 --0.274760428032 --0.102061418492 --0.265741102446 --0.102010119565 --0.256699488419 --0.101958873434 --0.24766429203 --0.101907675643 --0.238635913778 --0.101988318244 --0.229511771275 --0.102073858792 --0.220370859758 --0.102032479475 --0.211314793669 --0.101991103365 --0.202263612654 --0.101949729949 --0.193217731339 --0.102015290236 --0.183986420294 --0.102085880732 --0.174741109331 --0.1020545479 --0.165671580743 --0.102023168528 --0.156605441374 --0.101991742782 --0.147543127287 --0.10204200199 --0.138224021463 --0.10209740021 --0.128893749833 --0.102076196545 --0.119812010379 --0.102054918687 --0.110732248155 --0.102033569895 --0.101654910329 --0.102068458358 --0.0922687017979 --0.102108568505 --0.0828742195417 --0.102097577341 --0.0737818407737 --0.102086488746 --0.0646900595381 --0.102075305023 --0.0555993343987 --0.102075305023 -0.0555993343987 --0.102086488746 -0.0646900595381 --0.102097577341 -0.0737818407737 --0.102108568505 -0.0828742195417 --0.102068458358 -0.0922687017979 --0.102033569895 -0.101654910329 --0.102054918687 -0.110732248155 --0.102076196545 -0.119812010379 --0.10209740021 -0.128893749833 --0.10204200199 -0.138224021463 --0.101991742782 -0.147543127287 --0.102023168528 -0.156605441374 --0.1020545479 -0.165671580743 --0.102085880732 -0.174741109331 --0.102015290236 -0.183986420294 --0.101949729949 -0.193217731339 --0.101991103365 -0.202263612654 --0.102032479475 -0.211314793669 --0.102073858792 -0.220370859758 --0.101988318244 -0.229511771275 --0.101907675643 -0.238635913778 --0.101958873434 -0.24766429203 --0.102010119565 -0.256699488419 --0.102061418492 -0.265741102446 --0.101961167607 -0.274760428032 --0.101865646554 -0.28376029 --0.101926498104 -0.292770404466 --0.101987466715 -0.301788934149 --0.102048551503 -0.31081551924 --0.10193383571 -0.319698053951 --0.101823659292 -0.328558462833 --0.101893977724 -0.33754989285 --0.101964488118 -0.346551428763 --0.102035197213 -0.355562756113 --0.101906412091 -0.364295613117 --0.101781943502 -0.373003731274 --0.101861523164 -0.381976429451 --0.101941382425 -0.390961010158 --0.102021515647 -0.399957183718 --0.101878848481 -0.40852974668 --0.101740268009 -0.417075024135 --0.0922537343406 --0.417458490499 --0.0924201889105 --0.408908734125 --0.0925915939695 --0.400331690901 --0.0924949021761 --0.391326199114 --0.0923985445397 --0.382332332636 --0.0923025238947 --0.373350384764 --0.0924520380861 --0.364636962394 --0.0926067758041 --0.355898801859 --0.0925214855042 --0.346878247463 --0.0924364308875 --0.337867500016 --0.0923516105586 --0.328866891038 --0.0924838952309 --0.32000042577 --0.0926216592094 --0.311111837185 --0.0925479817193 --0.302076088723 --0.0924744452754 --0.29304840787 --0.0924010525133 --0.284029155575 --0.0925157491421 --0.275022537825 --0.0926361432899 --0.265996458547 --0.0925742523447 --0.256945714984 --0.0925124326817 --0.247901414743 --0.0924506765735 --0.238863936581 --0.092547514989 --0.22973241045 --0.092650243628 --0.22058412784 --0.0926002963861 --0.211518970489 --0.0925503529797 --0.202458704639 --0.0925004129478 --0.193403752543 --0.0925791915423 --0.184164531586 --0.0926640157322 --0.174911312263 --0.0926261432862 --0.165832707397 --0.0925882196675 --0.156757493019 --0.0925502448466 --0.147686115163 --0.0926107364696 --0.138358665631 --0.092677399614 --0.129020046872 --0.0926517005361 --0.119929241049 --0.0926259140767 --0.110840410919 --0.092600040865 --0.10175400501 --0.092642115436 --0.0923591238643 --0.0926904510311 --0.0829559626843 --0.0926770069137 --0.0738545053553 --0.0926770069137 -0.0738545053553 --0.0926904510311 -0.0829559626843 --0.092642115436 -0.0923591238643 --0.092600040865 -0.10175400501 --0.0926259140767 -0.110840410919 --0.0926517005361 -0.119929241049 --0.092677399614 -0.129020046872 --0.0926107364696 -0.138358665631 --0.0925502448466 -0.147686115163 --0.0925882196675 -0.156757493019 --0.0926261432862 -0.165832707397 --0.0926640157322 -0.174911312263 --0.0925791915423 -0.184164531586 --0.0925004129478 -0.193403752543 --0.0925503529797 -0.202458704639 --0.0926002963861 -0.211518970489 --0.092650243628 -0.22058412784 --0.092547514989 -0.22973241045 --0.0924506765735 -0.238863936581 --0.0925124326817 -0.247901414743 --0.0925742523447 -0.256945714984 --0.0926361432899 -0.265996458547 --0.0925157491421 -0.275022537825 --0.0924010525133 -0.284029155575 --0.0924744452754 -0.29304840787 --0.0925479817193 -0.302076088723 --0.0926216592094 -0.311111837185 --0.0924838952309 -0.32000042577 --0.0923516105586 -0.328866891038 --0.0924364308875 -0.337867500016 --0.0925214855042 -0.346878247463 --0.0926067758041 -0.355898801859 --0.0924520380861 -0.364636962394 --0.0923025238947 -0.373350384764 --0.0923985445397 -0.382332332636 --0.0924949021761 -0.391326199114 --0.0925915939695 -0.400331690901 --0.0924201889105 -0.408908734125 --0.0922537343406 -0.417458490499 --0.0831360819065 --0.444864786105 --0.0830097557356 --0.435863151256 --0.0828839553109 --0.426875073677 --0.0827586696219 --0.417900803494 --0.0829529327818 --0.40934574628 --0.0831530070509 --0.400763398109 --0.0830398035615 --0.391747276122 --0.0829269949742 --0.382742817399 --0.0828145767893 --0.373750301423 --0.0829890837175 --0.365030649936 --0.0831697154336 --0.356286260706 --0.0830698817986 --0.347255154174 --0.0829703264907 --0.338233884983 --0.0828710405418 --0.329222755778 --0.0830253816348 --0.320349213875 --0.0831861382175 --0.311453548296 --0.0830998988897 --0.302407278824 --0.0830138314486 --0.293369114078 --0.0829279320157 --0.284339396241 --0.0830617604436 --0.275324922774 --0.0832022518303 --0.266290973342 --0.0831298015087 --0.257229744328 --0.0830574366452 --0.248174989053 --0.082985148556 --0.239127064589 --0.0830981490933 --0.229986981733 --0.0832180278687 --0.220830133126 --0.08315953593 --0.211754522301 --0.0831010480192 --0.20268380939 --0.0830425630793 --0.193618414852 --0.083134528955 --0.184370031669 --0.0832335552826 --0.175107644823 --0.083189162574 --0.16601859676 --0.0831447108639 --0.15693293639 --0.0831002033439 --0.147851119968 --0.0831709070601 --0.138514021432 --0.0832488095964 --0.129165741075 --0.0832186265684 --0.120064483798 --0.0831883463521 --0.11096520576 --0.0831579580829 --0.101868352484 --0.0832071973084 --0.0924634507146 --0.0832637432598 --0.0830502591578 --0.0832637432598 -0.0830502591578 --0.0832071973084 -0.0924634507146 --0.0831579580829 -0.101868352484 --0.0831883463521 -0.11096520576 --0.0832186265684 -0.120064483798 --0.0832488095964 -0.129165741075 --0.0831709070601 -0.138514021432 --0.0831002033439 -0.147851119968 --0.0831447108639 -0.15693293639 --0.083189162574 -0.16601859676 --0.0832335552826 -0.175107644823 --0.083134528955 -0.184370031669 --0.0830425630793 -0.193618414852 --0.0831010480192 -0.20268380939 --0.08315953593 -0.211754522301 --0.0832180278687 -0.220830133126 --0.0830981490933 -0.229986981733 --0.082985148556 -0.239127064589 --0.0830574366452 -0.248174989053 --0.0831298015087 -0.257229744328 --0.0832022518303 -0.266290973342 --0.0830617604436 -0.275324922774 --0.0829279320157 -0.284339396241 --0.0830138314486 -0.293369114078 --0.0830998988897 -0.302407278824 --0.0831861382175 -0.311453548296 --0.0830253816348 -0.320349213875 --0.0828710405418 -0.329222755778 --0.0829703264907 -0.338233884983 --0.0830698817986 -0.347255154174 --0.0831697154336 -0.356286260706 --0.0829890837175 -0.365030649936 --0.0828145767893 -0.373750301423 --0.0829269949742 -0.382742817399 --0.0830398035615 -0.391747276122 --0.0831530070509 -0.400763398109 --0.0829529327818 -0.40934574628 --0.0827586696219 -0.417900803494 --0.0828839553109 -0.426875073677 --0.0830097557356 -0.435863151256 --0.0831360819065 -0.444864786105 --0.0740398926542 --0.444733770196 --0.0739368860898 --0.435734894127 --0.0738343073975 --0.426749587291 --0.0737321519524 --0.417778095852 --0.073891248985 --0.409224896145 --0.07405505717 --0.400644414755 --0.0739626953606 --0.391631086696 --0.0738706551116 --0.382629422609 --0.0737789319562 --0.373639684434 --0.0739219318863 --0.364922044921 --0.0740699086105 --0.356179689102 --0.0739884104076 --0.347151384697 --0.0739071390621 --0.338132913561 --0.0738260862094 --0.329124589097 --0.0739526131508 --0.320253205352 --0.0740843646237 --0.311359705125 --0.0740139364482 --0.302316256323 --0.0739436477834 --0.293280907556 --0.0738734949336 --0.284254019576 --0.0739832374021 --0.275241846171 --0.0740984154472 --0.26621019123 --0.0740392341972 --0.257151807762 --0.0739801191999 --0.248099894397 --0.0739210660009 --0.239054807683 --0.0740137403275 --0.229917139443 --0.0741120305748 --0.220762711541 --0.0740642439376 --0.211689964427 --0.0740164609969 --0.202622117609 --0.0739686791366 --0.193559579294 --0.0740441031978 --0.1843137122 --0.0741252983994 --0.175053845762 --0.0740890341906 --0.165967668926 --0.0740527259947 --0.156884899471 --0.0740163692637 --0.14780596262 --0.0740743384203 --0.13847146244 --0.0741381991675 --0.129125795272 --0.0741135598928 --0.120027428907 --0.0740888407372 --0.110931043975 --0.0740640331129 --0.101837085375 --0.0741043681447 --0.0924348551487 --0.0741043681447 -0.0924348551487 --0.0740640331129 -0.101837085375 --0.0740888407372 -0.110931043975 --0.0741135598928 -0.120027428907 --0.0741381991675 -0.129125795272 --0.0740743384203 -0.13847146244 --0.0740163692637 -0.14780596262 --0.0740527259947 -0.156884899471 --0.0740890341906 -0.165967668926 --0.0741252983994 -0.175053845762 --0.0740441031978 -0.1843137122 --0.0739686791366 -0.193559579294 --0.0740164609969 -0.202622117609 --0.0740642439376 -0.211689964427 --0.0741120305748 -0.220762711541 --0.0740137403275 -0.229917139443 --0.0739210660009 -0.239054807683 --0.0739801191999 -0.248099894397 --0.0740392341972 -0.257151807762 --0.0740984154472 -0.26621019123 --0.0739832374021 -0.275241846171 --0.0738734949336 -0.284254019576 --0.0739436477834 -0.293280907556 --0.0740139364482 -0.302316256323 --0.0740843646237 -0.311359705125 --0.0739526131508 -0.320253205352 --0.0738260862094 -0.329124589097 --0.0739071390621 -0.338132913561 --0.0739884104076 -0.347151384697 --0.0740699086105 -0.356179689102 --0.0739219318863 -0.364922044921 --0.0737789319562 -0.373639684434 --0.0738706551116 -0.382629422609 --0.0739626953606 -0.391631086696 --0.07405505717 -0.400644414755 --0.073891248985 -0.409224896145 --0.0737321519524 -0.417778095852 --0.0738343073975 -0.426749587291 --0.0739368860898 -0.435734894127 --0.0740398926542 -0.444733770196 --0.0649446695436 --0.44460242984 --0.0648649941562 --0.435606375044 --0.0647856455047 --0.426623858592 --0.0647066262548 --0.417655146386 --0.0648305371547 --0.409103780532 --0.0649580586285 --0.400525149941 --0.0648865415777 --0.391514639249 --0.064815273704 --0.382515781935 --0.0647442521486 --0.373528848719 --0.0648557210988 --0.364813190687 --0.0649710229278 --0.35607283238 --0.0649078686906 --0.347047360011 --0.0648448864062 --0.338031714149 --0.0647820754375 --0.32902622344 --0.064880772978 --0.320156978728 --0.0649834990886 --0.3112656103 --0.0649288859383 --0.302225003903 --0.0648743829544 --0.293192506582 --0.0648199839881 --0.284168470872 --0.0649056252757 --0.275158571797 --0.064995472156 --0.266129185857 --0.0649495610531 --0.257073663839 --0.0649037015841 --0.248024614146 --0.0648578875923 --0.238982392823 --0.0649302205342 --0.229847120712 --0.0650069092844 --0.220695089525 --0.0649698309855 --0.21162522257 --0.0649327564162 --0.202560262928 --0.0648956829273 --0.193500616283 --0.0649545566728 --0.18425724797 --0.065017908699 --0.17499987908 --0.0649897758901 --0.16591659288 --0.0649616115858 --0.156836727189 --0.0649334082625 --0.147760698565 --0.0649786355164 --0.138428778744 --0.0650284463669 --0.129085700049 --0.0650093546011 --0.119990250175 --0.0649901968987 --0.110896780752 --0.0649709703147 --0.101805736261 --0.0649709703147 -0.101805736261 --0.0649901968987 -0.110896780752 --0.0650093546011 -0.119990250175 --0.0650284463669 -0.129085700049 --0.0649786355164 -0.138428778744 --0.0649334082625 -0.147760698565 --0.0649616115858 -0.156836727189 --0.0649897758901 -0.16591659288 --0.065017908699 -0.17499987908 --0.0649545566728 -0.18425724797 --0.0648956829273 -0.193500616283 --0.0649327564162 -0.202560262928 --0.0649698309855 -0.21162522257 --0.0650069092844 -0.220695089525 --0.0649302205342 -0.229847120712 --0.0648578875923 -0.238982392823 --0.0649037015841 -0.248024614146 --0.0649495610531 -0.257073663839 --0.064995472156 -0.266129185857 --0.0649056252757 -0.275158571797 --0.0648199839881 -0.284168470872 --0.0648743829544 -0.293192506582 --0.0649288859383 -0.302225003903 --0.0649834990886 -0.3112656103 --0.064880772978 -0.320156978728 --0.0647820754375 -0.32902622344 --0.0648448864062 -0.338031714149 --0.0649078686906 -0.347047360011 --0.0649710229278 -0.35607283238 --0.0648557210988 -0.364813190687 --0.0647442521486 -0.373528848719 --0.064815273704 -0.382515781935 --0.0648865415777 -0.391514639249 --0.0649580586285 -0.400525149941 --0.0648305371547 -0.409103780532 --0.0647066262548 -0.417655146386 --0.0647856455047 -0.426623858592 --0.0648649941562 -0.435606375044 --0.0649446695436 -0.44460242984 --0.0558508757184 --0.444470808283 --0.0557945312859 --0.435477564862 --0.0557384173564 --0.426497847967 --0.0556825343015 --0.417531957678 --0.055771244458 --0.408982422497 --0.0558624628286 --0.400405597914 --0.0558117946622 --0.391397909161 --0.055761300715 --0.382401885636 --0.0557109793387 --0.373417775588 --0.0557909086642 --0.364704088099 --0.0558735221554 --0.355965708128 --0.0558287131825 --0.346943088985 --0.0557840245722 --0.337930303215 --0.0557394535916 --0.32892765996 --0.0558103095256 --0.32006052185 --0.0558840043279 --0.311171267591 --0.0558452074467 --0.30213352408 --0.055806487117 --0.293103892763 --0.0557678421198 --0.284082725673 --0.0558293732053 --0.27507507552 --0.0558938810371 --0.26604795177 --0.0558612423967 --0.256995313358 --0.0558286396918 --0.247949154839 --0.0557960662871 --0.238909832267 --0.0558480482459 --0.229776926249 --0.0559031277629 --0.220627267794 --0.0558767607998 --0.211560297414 --0.0558503942285 --0.202498236695 --0.0558240268154 --0.1934415024 --0.0558663419254 --0.18420062191 --0.0559118479094 --0.174945736548 --0.0558918495084 --0.165865363296 --0.0558718280842 --0.156788417117 --0.0558517788059 --0.147715319 --0.0558842614978 --0.138385967868 --0.0559200161528 --0.129045453336 --0.0559064706546 --0.119952939134 --0.0558928780134 --0.110862410538 --0.0558792345882 --0.101774305473 --0.0558792345882 -0.101774305473 --0.0558928780134 -0.110862410538 --0.0559064706546 -0.119952939134 --0.0559200161528 -0.129045453336 --0.0558842614978 -0.138385967868 --0.0558517788059 -0.147715319 --0.0558718280842 -0.156788417117 --0.0558918495084 -0.165865363296 --0.0559118479094 -0.174945736548 --0.0558663419254 -0.18420062191 --0.0558240268154 -0.1934415024 --0.0558503942285 -0.202498236695 --0.0558767607998 -0.211560297414 --0.0559031277629 -0.220627267794 --0.0558480482459 -0.229776926249 --0.0557960662871 -0.238909832267 --0.0558286396918 -0.247949154839 --0.0558612423967 -0.256995313358 --0.0558938810371 -0.26604795177 --0.0558293732053 -0.27507507552 --0.0557678421198 -0.284082725673 --0.055806487117 -0.293103892763 --0.0558452074467 -0.30213352408 --0.0558840043279 -0.311171267591 --0.0558103095256 -0.32006052185 --0.0557394535916 -0.32892765996 --0.0557840245722 -0.337930303215 --0.0558287131825 -0.346943088985 --0.0558735221554 -0.355965708128 --0.0557909086642 -0.364704088099 --0.0557109793387 -0.373417775588 --0.055761300715 -0.382401885636 --0.0558117946622 -0.391397909161 --0.0558624628286 -0.400405597914 --0.055771244458 -0.408982422497 --0.0556825343015 -0.417531957678 --0.0557384173564 -0.426497847967 --0.0557945312859 -0.435477564862 --0.0558508757184 -0.444470808283 --0.046376121769 --0.444697368755 --0.0463015019339 --0.435699046697 --0.0462271935633 --0.42671427198 --0.0461531901581 --0.417743336845 --0.04626946149 --0.409191016344 --0.0463890961608 --0.400611405805 --0.0463220847688 --0.391598666486 --0.0462553051202 --0.382597607606 --0.0461887546874 --0.373608477694 --0.0462933838906 --0.364891673266 --0.0464015870842 --0.356150166079 --0.0463423811938 --0.347122510394 --0.0462833397026 --0.338104703199 --0.0462244547054 --0.329097054416 --0.0463171279016 --0.320226443793 --0.0464135690272 --0.311333722299 --0.0463623439017 --0.302290975139 --0.0463112181243 --0.293256337796 --0.0462601913479 --0.284230163991 --0.0463406467448 --0.27521873629 --0.0464250349706 --0.266187844466 --0.0463819472917 --0.257130204592 --0.0463389060857 --0.248079036004 --0.0462959063285 --0.239034718864 --0.0463639046393 --0.229897766748 --0.0464359783408 --0.220744048667 --0.0464011531855 --0.21167207546 --0.0463663312799 --0.202605010092 --0.0463315094147 --0.193543270418 --0.0463868831823 --0.184298105837 --0.0464464506427 --0.175038931467 --0.0464199993117 --0.165953546009 --0.0463935152564 --0.156871584243 --0.0463669965927 --0.147793478353 --0.0464095786505 --0.13845965595 --0.046456448993 --0.129114659711 --0.0464384600951 --0.120017127268 --0.0464204108961 --0.110921576904 --0.0464204108961 -0.110921576904 --0.0464384600951 -0.120017127268 --0.046456448993 -0.129114659711 --0.0464095786505 -0.13845965595 --0.0463669965927 -0.147793478353 --0.0463935152564 -0.156871584243 --0.0464199993117 -0.165953546009 --0.0464464506427 -0.175038931467 --0.0463868831823 -0.184298105837 --0.0463315094147 -0.193543270418 --0.0463663312799 -0.202605010092 --0.0464011531855 -0.21167207546 --0.0464359783408 -0.220744048667 --0.0463639046393 -0.229897766748 --0.0462959063285 -0.239034718864 --0.0463389060857 -0.248079036004 --0.0463819472917 -0.257130204592 --0.0464250349706 -0.266187844466 --0.0463406467448 -0.27521873629 --0.0462601913479 -0.284230163991 --0.0463112181243 -0.293256337796 --0.0463623439017 -0.302290975139 --0.0464135690272 -0.311333722299 --0.0463171279016 -0.320226443793 --0.0462244547054 -0.329097054416 --0.0462833397026 -0.338104703199 --0.0463423811938 -0.347122510394 --0.0464015870842 -0.356150166079 --0.0462933838906 -0.364891673266 --0.0461887546874 -0.373608477694 --0.0462553051202 -0.382597607606 --0.0463220847688 -0.391598666486 --0.0463890961608 -0.400611405805 --0.04626946149 -0.409191016344 --0.0461531901581 -0.417743336845 --0.0462271935633 -0.42671427198 --0.0463015019339 -0.435699046697 --0.046376121769 -0.444697368755 --0.0368957865161 --0.444987171929 --0.0368029213202 --0.435982459336 --0.0367104437487 --0.426991327578 --0.0366183450522 --0.418014027912 --0.0367621529761 --0.409458087731 --0.0369101772962 --0.400874872524 --0.0368268439654 --0.391855762187 --0.0367438017397 --0.382848344741 --0.0366610464797 --0.373852880195 --0.0367903502607 --0.36513201548 --0.0369241197068 --0.356386434688 --0.0368505382855 --0.347352409638 --0.0367771604939 --0.338328237088 --0.03670398221 --0.329314244085 --0.0368184553891 --0.320439156118 --0.0369376182664 --0.311541938433 --0.0368739805433 --0.302492833222 --0.0368104708014 --0.293451847212 --0.0367470831325 --0.284419322647 --0.0368464434403 --0.275403003566 --0.0369506908377 --0.266367212757 --0.0368971665135 --0.25730321024 --0.0368437013147 --0.248245675022 --0.0367902919329 --0.239194999809 --0.0368742888211 --0.230052803869 --0.0369633398847 --0.220893823109 --0.0369200695187 --0.211815473574 --0.0368768042488 --0.202742037724 --0.036833540927 --0.193673923463 --0.036901960387 --0.184423196968 --0.0369755745669 --0.175158460905 --0.0369426795739 --0.166066696507 --0.0369097426344 --0.156978340929 --0.0368767633164 --0.147893834856 --0.0369294345967 --0.138554219433 --0.036987410967 --0.129203425953 --0.0369649854024 --0.120099482013 --0.0369424848681 --0.110997515554 --0.0369424848681 -0.110997515554 --0.0369649854024 -0.120099482013 --0.036987410967 -0.129203425953 --0.0369294345967 -0.138554219433 --0.0368767633164 -0.147893834856 --0.0369097426344 -0.156978340929 --0.0369426795739 -0.166066696507 --0.0369755745669 -0.175158460905 --0.036901960387 -0.184423196968 --0.036833540927 -0.193673923463 --0.0368768042488 -0.202742037724 --0.0369200695187 -0.211815473574 --0.0369633398847 -0.220893823109 --0.0368742888211 -0.230052803869 --0.0367902919329 -0.239194999809 --0.0368437013147 -0.248245675022 --0.0368971665135 -0.25730321024 --0.0369506908377 -0.266367212757 --0.0368464434403 -0.275403003566 --0.0367470831325 -0.284419322647 --0.0368104708014 -0.293451847212 --0.0368739805433 -0.302492833222 --0.0369376182664 -0.311541938433 --0.0368184553891 -0.320439156118 --0.03670398221 -0.329314244085 --0.0367771604939 -0.338328237088 --0.0368505382855 -0.347352409638 --0.0369241197068 -0.356386434688 --0.0367903502607 -0.36513201548 --0.0366610464797 -0.373852880195 --0.0367438017397 -0.382848344741 --0.0368268439654 -0.391855762187 --0.0369101772962 -0.400874872524 --0.0367621529761 -0.409458087731 --0.0366183450522 -0.418014027912 --0.0367104437487 -0.426991327578 --0.0368029213202 -0.435982459336 --0.0368957865161 -0.444987171929 --0.0277912250248 --0.444981660384 --0.027721749714 --0.435977150736 --0.0276525625647 --0.426986243338 --0.0275836585003 --0.418009156848 --0.0276921931922 --0.409453356029 --0.0278038398448 --0.400870286991 --0.0277414079634 --0.391851381448 --0.0276791925915 --0.382844168581 --0.027617191548 --0.373848908368 --0.0277148895948 --0.365128133693 --0.0278159020838 --0.356382633697 --0.027760709745 --0.347348805515 --0.0277056687862 --0.338324835287 --0.0276507779811 --0.329311038806 --0.0277373525843 --0.320436002876 --0.027827422261 --0.311538833841 --0.0277796408375 --0.302489911341 --0.0277319545704 --0.29344911385 --0.0276843593895 --0.284416784772 --0.0277595591647 --0.275400464113 --0.0278384142699 --0.266364669017 --0.0277981943046 --0.257300850773 --0.0277580182275 --0.248243505453 --0.0277178837535 --0.239193014049 --0.0277814887559 --0.230050781339 --0.0278488851862 --0.220891766843 --0.0278163521898 --0.21181359598 --0.0277838210296 --0.202740345144 --0.0277512912181 --0.193672411395 --0.02780311733 --0.1844216154 --0.0278588482642 --0.175156813672 --0.027834108017 --0.166065227905 --0.0278093348 --0.156977049877 --0.0277845292075 --0.14789271653 --0.0278244276328 --0.138553018196 --0.0278683193791 --0.129202140184 --0.0278514545012 --0.120098365966 --0.0278345321638 --0.110996574977 --0.0278345321638 -0.110996574977 --0.0278514545012 -0.120098365966 --0.0278683193791 -0.129202140184 --0.0278244276328 -0.138553018196 --0.0277845292075 -0.14789271653 --0.0278093348 -0.156977049877 --0.027834108017 -0.166065227905 --0.0278588482642 -0.175156813672 --0.02780311733 -0.1844216154 --0.0277512912181 -0.193672411395 --0.0277838210296 -0.202740345144 --0.0278163521898 -0.21181359598 --0.0278488851862 -0.220891766843 --0.0277814887559 -0.230050781339 --0.0277178837535 -0.239193014049 --0.0277580182275 -0.248243505453 --0.0277981943046 -0.257300850773 --0.0278384142699 -0.266364669017 --0.0277595591647 -0.275400464113 --0.0276843593895 -0.284416784772 --0.0277319545704 -0.29344911385 --0.0277796408375 -0.302489911341 --0.027827422261 -0.311538833841 --0.0277373525843 -0.320436002876 --0.0276507779811 -0.329311038806 --0.0277056687862 -0.338324835287 --0.027760709745 -0.347348805515 --0.0278159020838 -0.356382633697 --0.0277148895948 -0.365128133693 --0.027617191548 -0.373848908368 --0.0276791925915 -0.382844168581 --0.0277414079634 -0.391851381448 --0.0278038398448 -0.400870286991 --0.0276921931922 -0.409453356029 --0.0275836585003 -0.418009156848 --0.0276525625647 -0.426986243338 --0.027721749714 -0.435977150736 --0.0277912250248 -0.444981660384 --0.0186860156002 --0.444975735568 --0.0186399405574 --0.435971473683 --0.0185940556291 --0.426980802862 --0.0185483586657 --0.418003952611 --0.0186215906088 --0.409448268772 --0.0186968292818 --0.400865311073 --0.0186553099206 --0.391846657033 --0.0186139331806 --0.382839671933 --0.01857269769 --0.373844624903 --0.0186387637773 --0.365123921895 --0.0187069911061 --0.356378487586 --0.0186701973657 --0.347344871746 --0.0186335042161 --0.338321129606 --0.0185969102985 --0.329307566403 --0.0186555612554 --0.320432544145 --0.0187165128832 --0.311535391593 --0.0186845969581 --0.302486682971 --0.018652742191 --0.293446104948 --0.0186209476571 --0.28441400088 --0.0186719669805 --0.275397667502 --0.0187254081458 --0.266361850744 --0.0186984998286 --0.25729823443 --0.0186716199759 --0.24824109151 --0.0186447663391 --0.239190802694 --0.0186879639425 --0.230048521631 --0.0187336882482 --0.220889456341 --0.018711899098 --0.211811494058 --0.0186901087876 --0.2027384469 --0.0186683171263 --0.193670711886 --0.0187035376386 --0.184419844137 --0.0187413701699 --0.175154968587 --0.0187247877332 --0.166063571675 --0.0187081826038 --0.156975585883 --0.018691555676 --0.147891459142 --0.0187186706924 --0.138551661498 --0.0187484646371 --0.129200676265 --0.0187371633819 --0.120097099211 --0.0187258231465 --0.110995505425 --0.0187258231465 -0.110995505425 --0.0187371633819 -0.120097099211 --0.0187484646371 -0.129200676265 --0.0187186706924 -0.138551661498 --0.018691555676 -0.147891459142 --0.0187081826038 -0.156975585883 --0.0187247877332 -0.166063571675 --0.0187413701699 -0.175154968587 --0.0187035376386 -0.184419844137 --0.0186683171263 -0.193670711886 --0.0186901087876 -0.2027384469 --0.018711899098 -0.211811494058 --0.0187336882482 -0.220889456341 --0.0186879639425 -0.230048521631 --0.0186447663391 -0.239190802694 --0.0186716199759 -0.24824109151 --0.0186984998286 -0.25729823443 --0.0187254081458 -0.266361850744 --0.0186719669805 -0.275397667502 --0.0186209476571 -0.28441400088 --0.018652742191 -0.293446104948 --0.0186845969581 -0.302486682971 --0.0187165128832 -0.311535391593 --0.0186555612554 -0.320432544145 --0.0185969102985 -0.329307566403 --0.0186335042161 -0.338321129606 --0.0186701973657 -0.347344871746 --0.0187069911061 -0.356378487586 --0.0186387637773 -0.365123921895 --0.01857269769 -0.373844624903 --0.0186139331806 -0.382839671933 --0.0186553099206 -0.391846657033 --0.0186968292818 -0.400865311073 --0.0186215906088 -0.409448268772 --0.0185483586657 -0.418003952611 --0.0185940556291 -0.426980802862 --0.0186399405574 -0.435971473683 --0.0186860156002 -0.444975735568 --0.00958062196408 --0.444969430065 --0.0095579563547 --0.435965417381 --0.0095353820167 --0.426974995376 --0.009512897692 --0.417998415256 --0.00955080404256 --0.409442844546 --0.0095896128528 --0.400859974234 --0.00956901262582 --0.391841565928 --0.0095484809934 --0.38283483178 --0.00952801706145 --0.373840035392 --0.00956242999499 --0.365119380352 --0.00959785233905 --0.356373985478 --0.0095794645274 --0.347340621864 --0.00956112471446 --0.33831712389 --0.00954283230263 --0.329303796754 --0.0095735426091 --0.320428783779 --0.00960535796275 --0.311531637523 --0.0095893127628 --0.302483166655 --0.00957329636066 --0.293442820542 --0.00955730796401 --0.284410954667 --0.00958413043115 --0.275394590435 --0.0096121416731 --0.26635873958 --0.00959855065346 --0.25729536125 --0.0095849713247 --0.248238444782 --0.00957140282504 --0.2391883825 --0.00959418036852 --0.230046029952 --0.00961821854386 --0.220886891636 --0.0096071759025 --0.211809157131 --0.00959613008312 --0.202736332311 --0.00958508140349 --0.193668824959 --0.0096036849819 --0.184417867519 --0.00962360683561 --0.175152892004 --0.00961518686925 --0.166061716617 --0.00960675382589 --0.156973956393 --0.0095983071859 --0.147890053645 --0.00961263044987 --0.138550130531 --0.00962831896545 --0.129199025118 --0.00962258422045 --0.12009567309 --0.00961682696756 --0.110994298675 --0.00961682696756 -0.110994298675 --0.00962258422045 -0.12009567309 --0.00962831896545 -0.129199025118 --0.00961263044987 -0.138550130531 --0.0095983071859 -0.147890053645 --0.00960675382589 -0.156973956393 --0.00961518686925 -0.166061716617 --0.00962360683561 -0.175152892004 --0.0096036849819 -0.184417867519 --0.00958508140349 -0.193668824959 --0.00959613008312 -0.202736332311 --0.0096071759025 -0.211809157131 --0.00961821854386 -0.220886891636 --0.00959418036852 -0.230046029952 --0.00957140282504 -0.2391883825 --0.0095849713247 -0.248238444782 --0.00959855065346 -0.25729536125 --0.0096121416731 -0.26635873958 --0.00958413043115 -0.275394590435 --0.00955730796401 -0.284410954667 --0.00957329636066 -0.293442820542 --0.0095893127628 -0.302483166655 --0.00960535796275 -0.311531637523 --0.0095735426091 -0.320428783779 --0.00954283230263 -0.329303796754 --0.00956112471446 -0.33831712389 --0.0095794645274 -0.347340621864 --0.00959785233905 -0.356373985478 --0.00956242999499 -0.365119380352 --0.00952801706145 -0.373840035392 --0.0095484809934 -0.38283483178 --0.00956901262582 -0.391841565928 --0.0095896128528 -0.400859974234 --0.00955080404256 -0.409442844546 --0.009512897692 -0.417998415256 --0.0095353820167 -0.426974995376 --0.0095579563547 -0.435965417381 --0.00958062196408 -0.444969430065 -0 --0.444966181715 -0 --0.435962284222 -0 --0.426971997728 -0 --0.417995562543 -0 --0.409440046984 -0 --0.400857220697 -0 --0.391838914927 -0 --0.382832312153 -0 --0.373837661282 -0 --0.365117029911 -0 --0.356371646096 -0 --0.347338418464 -0 --0.338315048497 -0 --0.329301835773 -0 --0.320426830896 -0 --0.311529691168 -0 --0.302481338043 -0 --0.293441104106 -0 --0.284409363878 -0 --0.275392978581 -0 --0.266357104707 -0 --0.257293854453 -0 --0.248237060256 -0 --0.239187114396 -0 --0.230044720345 -0 --0.220885545925 -0 --0.211807931325 -0 --0.202735225647 -0 --0.19366783814 -0 --0.184416826485 -0 --0.175151793255 -0 --0.166060737452 -0 --0.156973099541 -0 --0.147889311661 -0 --0.138549320014 -0 --0.129198151999 -0 --0.120094917391 -0 --0.110993660426 -0 -0.110993660426 -0 -0.120094917391 -0 -0.129198151999 -0 -0.138549320014 -0 -0.147889311661 -0 -0.156973099541 -0 -0.166060737452 -0 -0.175151793255 -0 -0.184416826485 -0 -0.19366783814 -0 -0.202735225647 -0 -0.211807931325 -0 -0.220885545925 -0 -0.230044720345 -0 -0.239187114396 -0 -0.248237060256 -0 -0.257293854453 -0 -0.266357104707 -0 -0.275392978581 -0 -0.284409363878 -0 -0.293441104106 -0 -0.302481338043 -0 -0.311529691168 -0 -0.320426830896 -0 -0.329301835773 -0 -0.338315048497 -0 -0.347338418464 -0 -0.356371646096 -0 -0.365117029911 -0 -0.373837661282 -0 -0.382832312153 -0 -0.391838914927 -0 -0.400857220697 -0 -0.409440046984 -0 -0.417995562543 -0 -0.426971997728 -0 -0.435962284222 -0 -0.444966181715 -0.00958062196408 --0.444969430065 -0.0095579563547 --0.435965417381 -0.0095353820167 --0.426974995376 -0.009512897692 --0.417998415256 -0.00955080404256 --0.409442844546 -0.0095896128528 --0.400859974234 -0.00956901262582 --0.391841565928 -0.0095484809934 --0.38283483178 -0.00952801706145 --0.373840035392 -0.00956242999499 --0.365119380352 -0.00959785233905 --0.356373985478 -0.0095794645274 --0.347340621864 -0.00956112471446 --0.33831712389 -0.00954283230263 --0.329303796754 -0.0095735426091 --0.320428783779 -0.00960535796275 --0.311531637523 -0.0095893127628 --0.302483166655 -0.00957329636066 --0.293442820542 -0.00955730796401 --0.284410954667 -0.00958413043115 --0.275394590435 -0.0096121416731 --0.26635873958 -0.00959855065346 --0.25729536125 -0.0095849713247 --0.248238444782 -0.00957140282504 --0.2391883825 -0.00959418036852 --0.230046029952 -0.00961821854386 --0.220886891636 -0.0096071759025 --0.211809157131 -0.00959613008312 --0.202736332311 -0.00958508140349 --0.193668824959 -0.0096036849819 --0.184417867519 -0.00962360683561 --0.175152892004 -0.00961518686925 --0.166061716617 -0.00960675382589 --0.156973956393 -0.0095983071859 --0.147890053645 -0.00961263044987 --0.138550130531 -0.00962831896545 --0.129199025118 -0.00962258422045 --0.12009567309 -0.00961682696756 --0.110994298675 -0.00961682696756 -0.110994298675 -0.00962258422045 -0.12009567309 -0.00962831896545 -0.129199025118 -0.00961263044987 -0.138550130531 -0.0095983071859 -0.147890053645 -0.00960675382589 -0.156973956393 -0.00961518686925 -0.166061716617 -0.00962360683561 -0.175152892004 -0.0096036849819 -0.184417867519 -0.00958508140349 -0.193668824959 -0.00959613008312 -0.202736332311 -0.0096071759025 -0.211809157131 -0.00961821854386 -0.220886891636 -0.00959418036852 -0.230046029952 -0.00957140282504 -0.2391883825 -0.0095849713247 -0.248238444782 -0.00959855065346 -0.25729536125 -0.0096121416731 -0.26635873958 -0.00958413043115 -0.275394590435 -0.00955730796401 -0.284410954667 -0.00957329636066 -0.293442820542 -0.0095893127628 -0.302483166655 -0.00960535796275 -0.311531637523 -0.0095735426091 -0.320428783779 -0.00954283230263 -0.329303796754 -0.00956112471446 -0.33831712389 -0.0095794645274 -0.347340621864 -0.00959785233905 -0.356373985478 -0.00956242999499 -0.365119380352 -0.00952801706145 -0.373840035392 -0.0095484809934 -0.38283483178 -0.00956901262582 -0.391841565928 -0.0095896128528 -0.400859974234 -0.00955080404256 -0.409442844546 -0.009512897692 -0.417998415256 -0.0095353820167 -0.426974995376 -0.0095579563547 -0.435965417381 -0.00958062196408 -0.444969430065 -0.0186860156002 --0.444975735568 -0.0186399405574 --0.435971473683 -0.0185940556291 --0.426980802862 -0.0185483586657 --0.418003952611 -0.0186215906088 --0.409448268772 -0.0186968292818 --0.400865311073 -0.0186553099206 --0.391846657033 -0.0186139331806 --0.382839671933 -0.01857269769 --0.373844624903 -0.0186387637773 --0.365123921895 -0.0187069911061 --0.356378487586 -0.0186701973657 --0.347344871746 -0.0186335042161 --0.338321129606 -0.0185969102985 --0.329307566403 -0.0186555612554 --0.320432544145 -0.0187165128832 --0.311535391593 -0.0186845969581 --0.302486682971 -0.018652742191 --0.293446104948 -0.0186209476571 --0.28441400088 -0.0186719669805 --0.275397667502 -0.0187254081458 --0.266361850744 -0.0186984998286 --0.25729823443 -0.0186716199759 --0.24824109151 -0.0186447663391 --0.239190802694 -0.0186879639425 --0.230048521631 -0.0187336882482 --0.220889456341 -0.018711899098 --0.211811494058 -0.0186901087876 --0.2027384469 -0.0186683171263 --0.193670711886 -0.0187035376386 --0.184419844137 -0.0187413701699 --0.175154968587 -0.0187247877332 --0.166063571675 -0.0187081826038 --0.156975585883 -0.018691555676 --0.147891459142 -0.0187186706924 --0.138551661498 -0.0187484646371 --0.129200676265 -0.0187371633819 --0.120097099211 -0.0187258231465 --0.110995505425 -0.0187258231465 -0.110995505425 -0.0187371633819 -0.120097099211 -0.0187484646371 -0.129200676265 -0.0187186706924 -0.138551661498 -0.018691555676 -0.147891459142 -0.0187081826038 -0.156975585883 -0.0187247877332 -0.166063571675 -0.0187413701699 -0.175154968587 -0.0187035376386 -0.184419844137 -0.0186683171263 -0.193670711886 -0.0186901087876 -0.2027384469 -0.018711899098 -0.211811494058 -0.0187336882482 -0.220889456341 -0.0186879639425 -0.230048521631 -0.0186447663391 -0.239190802694 -0.0186716199759 -0.24824109151 -0.0186984998286 -0.25729823443 -0.0187254081458 -0.266361850744 -0.0186719669805 -0.275397667502 -0.0186209476571 -0.28441400088 -0.018652742191 -0.293446104948 -0.0186845969581 -0.302486682971 -0.0187165128832 -0.311535391593 -0.0186555612554 -0.320432544145 -0.0185969102985 -0.329307566403 -0.0186335042161 -0.338321129606 -0.0186701973657 -0.347344871746 -0.0187069911061 -0.356378487586 -0.0186387637773 -0.365123921895 -0.01857269769 -0.373844624903 -0.0186139331806 -0.382839671933 -0.0186553099206 -0.391846657033 -0.0186968292818 -0.400865311073 -0.0186215906088 -0.409448268772 -0.0185483586657 -0.418003952611 -0.0185940556291 -0.426980802862 -0.0186399405574 -0.435971473683 -0.0186860156002 -0.444975735568 -0.0277912250248 --0.444981660384 -0.027721749714 --0.435977150736 -0.0276525625647 --0.426986243338 -0.0275836585003 --0.418009156848 -0.0276921931922 --0.409453356029 -0.0278038398448 --0.400870286991 -0.0277414079634 --0.391851381448 -0.0276791925915 --0.382844168581 -0.027617191548 --0.373848908368 -0.0277148895948 --0.365128133693 -0.0278159020838 --0.356382633697 -0.027760709745 --0.347348805515 -0.0277056687862 --0.338324835287 -0.0276507779811 --0.329311038806 -0.0277373525843 --0.320436002876 -0.027827422261 --0.311538833841 -0.0277796408375 --0.302489911341 -0.0277319545704 --0.29344911385 -0.0276843593895 --0.284416784772 -0.0277595591647 --0.275400464113 -0.0278384142699 --0.266364669017 -0.0277981943046 --0.257300850773 -0.0277580182275 --0.248243505453 -0.0277178837535 --0.239193014049 -0.0277814887559 --0.230050781339 -0.0278488851862 --0.220891766843 -0.0278163521898 --0.21181359598 -0.0277838210296 --0.202740345144 -0.0277512912181 --0.193672411395 -0.02780311733 --0.1844216154 -0.0278588482642 --0.175156813672 -0.027834108017 --0.166065227905 -0.0278093348 --0.156977049877 -0.0277845292075 --0.14789271653 -0.0278244276328 --0.138553018196 -0.0278683193791 --0.129202140184 -0.0278514545012 --0.120098365966 -0.0278345321638 --0.110996574977 -0.0278345321638 -0.110996574977 -0.0278514545012 -0.120098365966 -0.0278683193791 -0.129202140184 -0.0278244276328 -0.138553018196 -0.0277845292075 -0.14789271653 -0.0278093348 -0.156977049877 -0.027834108017 -0.166065227905 -0.0278588482642 -0.175156813672 -0.02780311733 -0.1844216154 -0.0277512912181 -0.193672411395 -0.0277838210296 -0.202740345144 -0.0278163521898 -0.21181359598 -0.0278488851862 -0.220891766843 -0.0277814887559 -0.230050781339 -0.0277178837535 -0.239193014049 -0.0277580182275 -0.248243505453 -0.0277981943046 -0.257300850773 -0.0278384142699 -0.266364669017 -0.0277595591647 -0.275400464113 -0.0276843593895 -0.284416784772 -0.0277319545704 -0.29344911385 -0.0277796408375 -0.302489911341 -0.027827422261 -0.311538833841 -0.0277373525843 -0.320436002876 -0.0276507779811 -0.329311038806 -0.0277056687862 -0.338324835287 -0.027760709745 -0.347348805515 -0.0278159020838 -0.356382633697 -0.0277148895948 -0.365128133693 -0.027617191548 -0.373848908368 -0.0276791925915 -0.382844168581 -0.0277414079634 -0.391851381448 -0.0278038398448 -0.400870286991 -0.0276921931922 -0.409453356029 -0.0275836585003 -0.418009156848 -0.0276525625647 -0.426986243338 -0.027721749714 -0.435977150736 -0.0277912250248 -0.444981660384 -0.0368957865161 --0.444987171929 -0.0368029213202 --0.435982459336 -0.0367104437487 --0.426991327578 -0.0366183450522 --0.418014027912 -0.0367621529761 --0.409458087731 -0.0369101772962 --0.400874872524 -0.0368268439654 --0.391855762187 -0.0367438017397 --0.382848344741 -0.0366610464797 --0.373852880195 -0.0367903502607 --0.36513201548 -0.0369241197068 --0.356386434688 -0.0368505382855 --0.347352409638 -0.0367771604939 --0.338328237088 -0.03670398221 --0.329314244085 -0.0368184553891 --0.320439156118 -0.0369376182664 --0.311541938433 -0.0368739805433 --0.302492833222 -0.0368104708014 --0.293451847212 -0.0367470831325 --0.284419322647 -0.0368464434403 --0.275403003566 -0.0369506908377 --0.266367212757 -0.0368971665135 --0.25730321024 -0.0368437013147 --0.248245675022 -0.0367902919329 --0.239194999809 -0.0368742888211 --0.230052803869 -0.0369633398847 --0.220893823109 -0.0369200695187 --0.211815473574 -0.0368768042488 --0.202742037724 -0.036833540927 --0.193673923463 -0.036901960387 --0.184423196968 -0.0369755745669 --0.175158460905 -0.0369426795739 --0.166066696507 -0.0369097426344 --0.156978340929 -0.0368767633164 --0.147893834856 -0.0369294345967 --0.138554219433 -0.036987410967 --0.129203425953 -0.0369649854024 --0.120099482013 -0.0369424848681 --0.110997515554 -0.0369424848681 -0.110997515554 -0.0369649854024 -0.120099482013 -0.036987410967 -0.129203425953 -0.0369294345967 -0.138554219433 -0.0368767633164 -0.147893834856 -0.0369097426344 -0.156978340929 -0.0369426795739 -0.166066696507 -0.0369755745669 -0.175158460905 -0.036901960387 -0.184423196968 -0.036833540927 -0.193673923463 -0.0368768042488 -0.202742037724 -0.0369200695187 -0.211815473574 -0.0369633398847 -0.220893823109 -0.0368742888211 -0.230052803869 -0.0367902919329 -0.239194999809 -0.0368437013147 -0.248245675022 -0.0368971665135 -0.25730321024 -0.0369506908377 -0.266367212757 -0.0368464434403 -0.275403003566 -0.0367470831325 -0.284419322647 -0.0368104708014 -0.293451847212 -0.0368739805433 -0.302492833222 -0.0369376182664 -0.311541938433 -0.0368184553891 -0.320439156118 -0.03670398221 -0.329314244085 -0.0367771604939 -0.338328237088 -0.0368505382855 -0.347352409638 -0.0369241197068 -0.356386434688 -0.0367903502607 -0.36513201548 -0.0366610464797 -0.373852880195 -0.0367438017397 -0.382848344741 -0.0368268439654 -0.391855762187 -0.0369101772962 -0.400874872524 -0.0367621529761 -0.409458087731 -0.0366183450522 -0.418014027912 -0.0367104437487 -0.426991327578 -0.0368029213202 -0.435982459336 -0.0368957865161 -0.444987171929 -0.046376121769 --0.444697368755 -0.0463015019339 --0.435699046697 -0.0462271935633 --0.42671427198 -0.0461531901581 --0.417743336845 -0.04626946149 --0.409191016344 -0.0463890961608 --0.400611405805 -0.0463220847688 --0.391598666486 -0.0462553051202 --0.382597607606 -0.0461887546874 --0.373608477694 -0.0462933838906 --0.364891673266 -0.0464015870842 --0.356150166079 -0.0463423811938 --0.347122510394 -0.0462833397026 --0.338104703199 -0.0462244547054 --0.329097054416 -0.0463171279016 --0.320226443793 -0.0464135690272 --0.311333722299 -0.0463623439017 --0.302290975139 -0.0463112181243 --0.293256337796 -0.0462601913479 --0.284230163991 -0.0463406467448 --0.27521873629 -0.0464250349706 --0.266187844466 -0.0463819472917 --0.257130204592 -0.0463389060857 --0.248079036004 -0.0462959063285 --0.239034718864 -0.0463639046393 --0.229897766748 -0.0464359783408 --0.220744048667 -0.0464011531855 --0.21167207546 -0.0463663312799 --0.202605010092 -0.0463315094147 --0.193543270418 -0.0463868831823 --0.184298105837 -0.0464464506427 --0.175038931467 -0.0464199993117 --0.165953546009 -0.0463935152564 --0.156871584243 -0.0463669965927 --0.147793478353 -0.0464095786505 --0.13845965595 -0.046456448993 --0.129114659711 -0.0464384600951 --0.120017127268 -0.0464204108961 --0.110921576904 -0.0464204108961 -0.110921576904 -0.0464384600951 -0.120017127268 -0.046456448993 -0.129114659711 -0.0464095786505 -0.13845965595 -0.0463669965927 -0.147793478353 -0.0463935152564 -0.156871584243 -0.0464199993117 -0.165953546009 -0.0464464506427 -0.175038931467 -0.0463868831823 -0.184298105837 -0.0463315094147 -0.193543270418 -0.0463663312799 -0.202605010092 -0.0464011531855 -0.21167207546 -0.0464359783408 -0.220744048667 -0.0463639046393 -0.229897766748 -0.0462959063285 -0.239034718864 -0.0463389060857 -0.248079036004 -0.0463819472917 -0.257130204592 -0.0464250349706 -0.266187844466 -0.0463406467448 -0.27521873629 -0.0462601913479 -0.284230163991 -0.0463112181243 -0.293256337796 -0.0463623439017 -0.302290975139 -0.0464135690272 -0.311333722299 -0.0463171279016 -0.320226443793 -0.0462244547054 -0.329097054416 -0.0462833397026 -0.338104703199 -0.0463423811938 -0.347122510394 -0.0464015870842 -0.356150166079 -0.0462933838906 -0.364891673266 -0.0461887546874 -0.373608477694 -0.0462553051202 -0.382597607606 -0.0463220847688 -0.391598666486 -0.0463890961608 -0.400611405805 -0.04626946149 -0.409191016344 -0.0461531901581 -0.417743336845 -0.0462271935633 -0.42671427198 -0.0463015019339 -0.435699046697 -0.046376121769 -0.444697368755 -0.0558508757184 --0.444470808283 -0.0557945312859 --0.435477564862 -0.0557384173564 --0.426497847967 -0.0556825343015 --0.417531957678 -0.055771244458 --0.408982422497 -0.0558624628286 --0.400405597914 -0.0558117946622 --0.391397909161 -0.055761300715 --0.382401885636 -0.0557109793387 --0.373417775588 -0.0557909086642 --0.364704088099 -0.0558735221554 --0.355965708128 -0.0558287131825 --0.346943088985 -0.0557840245722 --0.337930303215 -0.0557394535916 --0.32892765996 -0.0558103095256 --0.32006052185 -0.0558840043279 --0.311171267591 -0.0558452074467 --0.30213352408 -0.055806487117 --0.293103892763 -0.0557678421198 --0.284082725673 -0.0558293732053 --0.27507507552 -0.0558938810371 --0.26604795177 -0.0558612423967 --0.256995313358 -0.0558286396918 --0.247949154839 -0.0557960662871 --0.238909832267 -0.0558480482459 --0.229776926249 -0.0559031277629 --0.220627267794 -0.0558767607998 --0.211560297414 -0.0558503942285 --0.202498236695 -0.0558240268154 --0.1934415024 -0.0558663419254 --0.18420062191 -0.0559118479094 --0.174945736548 -0.0558918495084 --0.165865363296 -0.0558718280842 --0.156788417117 -0.0558517788059 --0.147715319 -0.0558842614978 --0.138385967868 -0.0559200161528 --0.129045453336 -0.0559064706546 --0.119952939134 -0.0558928780134 --0.110862410538 -0.0558792345882 --0.101774305473 -0.0558792345882 -0.101774305473 -0.0558928780134 -0.110862410538 -0.0559064706546 -0.119952939134 -0.0559200161528 -0.129045453336 -0.0558842614978 -0.138385967868 -0.0558517788059 -0.147715319 -0.0558718280842 -0.156788417117 -0.0558918495084 -0.165865363296 -0.0559118479094 -0.174945736548 -0.0558663419254 -0.18420062191 -0.0558240268154 -0.1934415024 -0.0558503942285 -0.202498236695 -0.0558767607998 -0.211560297414 -0.0559031277629 -0.220627267794 -0.0558480482459 -0.229776926249 -0.0557960662871 -0.238909832267 -0.0558286396918 -0.247949154839 -0.0558612423967 -0.256995313358 -0.0558938810371 -0.26604795177 -0.0558293732053 -0.27507507552 -0.0557678421198 -0.284082725673 -0.055806487117 -0.293103892763 -0.0558452074467 -0.30213352408 -0.0558840043279 -0.311171267591 -0.0558103095256 -0.32006052185 -0.0557394535916 -0.32892765996 -0.0557840245722 -0.337930303215 -0.0558287131825 -0.346943088985 -0.0558735221554 -0.355965708128 -0.0557909086642 -0.364704088099 -0.0557109793387 -0.373417775588 -0.055761300715 -0.382401885636 -0.0558117946622 -0.391397909161 -0.0558624628286 -0.400405597914 -0.055771244458 -0.408982422497 -0.0556825343015 -0.417531957678 -0.0557384173564 -0.426497847967 -0.0557945312859 -0.435477564862 -0.0558508757184 -0.444470808283 -0.0649446695436 --0.44460242984 -0.0648649941562 --0.435606375044 -0.0647856455047 --0.426623858592 -0.0647066262548 --0.417655146386 -0.0648305371547 --0.409103780532 -0.0649580586285 --0.400525149941 -0.0648865415777 --0.391514639249 -0.064815273704 --0.382515781935 -0.0647442521486 --0.373528848719 -0.0648557210988 --0.364813190687 -0.0649710229278 --0.35607283238 -0.0649078686906 --0.347047360011 -0.0648448864062 --0.338031714149 -0.0647820754375 --0.32902622344 -0.064880772978 --0.320156978728 -0.0649834990886 --0.3112656103 -0.0649288859383 --0.302225003903 -0.0648743829544 --0.293192506582 -0.0648199839881 --0.284168470872 -0.0649056252757 --0.275158571797 -0.064995472156 --0.266129185857 -0.0649495610531 --0.257073663839 -0.0649037015841 --0.248024614146 -0.0648578875923 --0.238982392823 -0.0649302205342 --0.229847120712 -0.0650069092844 --0.220695089525 -0.0649698309855 --0.21162522257 -0.0649327564162 --0.202560262928 -0.0648956829273 --0.193500616283 -0.0649545566728 --0.18425724797 -0.065017908699 --0.17499987908 -0.0649897758901 --0.16591659288 -0.0649616115858 --0.156836727189 -0.0649334082625 --0.147760698565 -0.0649786355164 --0.138428778744 -0.0650284463669 --0.129085700049 -0.0650093546011 --0.119990250175 -0.0649901968987 --0.110896780752 -0.0649709703147 --0.101805736261 -0.0649709703147 -0.101805736261 -0.0649901968987 -0.110896780752 -0.0650093546011 -0.119990250175 -0.0650284463669 -0.129085700049 -0.0649786355164 -0.138428778744 -0.0649334082625 -0.147760698565 -0.0649616115858 -0.156836727189 -0.0649897758901 -0.16591659288 -0.065017908699 -0.17499987908 -0.0649545566728 -0.18425724797 -0.0648956829273 -0.193500616283 -0.0649327564162 -0.202560262928 -0.0649698309855 -0.21162522257 -0.0650069092844 -0.220695089525 -0.0649302205342 -0.229847120712 -0.0648578875923 -0.238982392823 -0.0649037015841 -0.248024614146 -0.0649495610531 -0.257073663839 -0.064995472156 -0.266129185857 -0.0649056252757 -0.275158571797 -0.0648199839881 -0.284168470872 -0.0648743829544 -0.293192506582 -0.0649288859383 -0.302225003903 -0.0649834990886 -0.3112656103 -0.064880772978 -0.320156978728 -0.0647820754375 -0.32902622344 -0.0648448864062 -0.338031714149 -0.0649078686906 -0.347047360011 -0.0649710229278 -0.35607283238 -0.0648557210988 -0.364813190687 -0.0647442521486 -0.373528848719 -0.064815273704 -0.382515781935 -0.0648865415777 -0.391514639249 -0.0649580586285 -0.400525149941 -0.0648305371547 -0.409103780532 -0.0647066262548 -0.417655146386 -0.0647856455047 -0.426623858592 -0.0648649941562 -0.435606375044 -0.0649446695436 -0.44460242984 -0.0740398926542 --0.444733770196 -0.0739368860898 --0.435734894127 -0.0738343073975 --0.426749587291 -0.0737321519524 --0.417778095852 -0.073891248985 --0.409224896145 -0.07405505717 --0.400644414755 -0.0739626953606 --0.391631086696 -0.0738706551116 --0.382629422609 -0.0737789319562 --0.373639684434 -0.0739219318863 --0.364922044921 -0.0740699086105 --0.356179689102 -0.0739884104076 --0.347151384697 -0.0739071390621 --0.338132913561 -0.0738260862094 --0.329124589097 -0.0739526131508 --0.320253205352 -0.0740843646237 --0.311359705125 -0.0740139364482 --0.302316256323 -0.0739436477834 --0.293280907556 -0.0738734949336 --0.284254019576 -0.0739832374021 --0.275241846171 -0.0740984154472 --0.26621019123 -0.0740392341972 --0.257151807762 -0.0739801191999 --0.248099894397 -0.0739210660009 --0.239054807683 -0.0740137403275 --0.229917139443 -0.0741120305748 --0.220762711541 -0.0740642439376 --0.211689964427 -0.0740164609969 --0.202622117609 -0.0739686791366 --0.193559579294 -0.0740441031978 --0.1843137122 -0.0741252983994 --0.175053845762 -0.0740890341906 --0.165967668926 -0.0740527259947 --0.156884899471 -0.0740163692637 --0.14780596262 -0.0740743384203 --0.13847146244 -0.0741381991675 --0.129125795272 -0.0741135598928 --0.120027428907 -0.0740888407372 --0.110931043975 -0.0740640331129 --0.101837085375 -0.0741043681447 --0.0924348551487 -0.0741043681447 -0.0924348551487 -0.0740640331129 -0.101837085375 -0.0740888407372 -0.110931043975 -0.0741135598928 -0.120027428907 -0.0741381991675 -0.129125795272 -0.0740743384203 -0.13847146244 -0.0740163692637 -0.14780596262 -0.0740527259947 -0.156884899471 -0.0740890341906 -0.165967668926 -0.0741252983994 -0.175053845762 -0.0740441031978 -0.1843137122 -0.0739686791366 -0.193559579294 -0.0740164609969 -0.202622117609 -0.0740642439376 -0.211689964427 -0.0741120305748 -0.220762711541 -0.0740137403275 -0.229917139443 -0.0739210660009 -0.239054807683 -0.0739801191999 -0.248099894397 -0.0740392341972 -0.257151807762 -0.0740984154472 -0.26621019123 -0.0739832374021 -0.275241846171 -0.0738734949336 -0.284254019576 -0.0739436477834 -0.293280907556 -0.0740139364482 -0.302316256323 -0.0740843646237 -0.311359705125 -0.0739526131508 -0.320253205352 -0.0738260862094 -0.329124589097 -0.0739071390621 -0.338132913561 -0.0739884104076 -0.347151384697 -0.0740699086105 -0.356179689102 -0.0739219318863 -0.364922044921 -0.0737789319562 -0.373639684434 -0.0738706551116 -0.382629422609 -0.0739626953606 -0.391631086696 -0.07405505717 -0.400644414755 -0.073891248985 -0.409224896145 -0.0737321519524 -0.417778095852 -0.0738343073975 -0.426749587291 -0.0739368860898 -0.435734894127 -0.0740398926542 -0.444733770196 -0.0831360819065 --0.444864786105 -0.0830097557356 --0.435863151256 -0.0828839553109 --0.426875073677 -0.0827586696219 --0.417900803494 -0.0829529327818 --0.40934574628 -0.0831530070509 --0.400763398109 -0.0830398035615 --0.391747276122 -0.0829269949742 --0.382742817399 -0.0828145767893 --0.373750301423 -0.0829890837175 --0.365030649936 -0.0831697154336 --0.356286260706 -0.0830698817986 --0.347255154174 -0.0829703264907 --0.338233884983 -0.0828710405418 --0.329222755778 -0.0830253816348 --0.320349213875 -0.0831861382175 --0.311453548296 -0.0830998988897 --0.302407278824 -0.0830138314486 --0.293369114078 -0.0829279320157 --0.284339396241 -0.0830617604436 --0.275324922774 -0.0832022518303 --0.266290973342 -0.0831298015087 --0.257229744328 -0.0830574366452 --0.248174989053 -0.082985148556 --0.239127064589 -0.0830981490933 --0.229986981733 -0.0832180278687 --0.220830133126 -0.08315953593 --0.211754522301 -0.0831010480192 --0.20268380939 -0.0830425630793 --0.193618414852 -0.083134528955 --0.184370031669 -0.0832335552826 --0.175107644823 -0.083189162574 --0.16601859676 -0.0831447108639 --0.15693293639 -0.0831002033439 --0.147851119968 -0.0831709070601 --0.138514021432 -0.0832488095964 --0.129165741075 -0.0832186265684 --0.120064483798 -0.0831883463521 --0.11096520576 -0.0831579580829 --0.101868352484 -0.0832071973084 --0.0924634507146 -0.0832637432598 --0.0830502591578 -0.0832637432598 -0.0830502591578 -0.0832071973084 -0.0924634507146 -0.0831579580829 -0.101868352484 -0.0831883463521 -0.11096520576 -0.0832186265684 -0.120064483798 -0.0832488095964 -0.129165741075 -0.0831709070601 -0.138514021432 -0.0831002033439 -0.147851119968 -0.0831447108639 -0.15693293639 -0.083189162574 -0.16601859676 -0.0832335552826 -0.175107644823 -0.083134528955 -0.184370031669 -0.0830425630793 -0.193618414852 -0.0831010480192 -0.20268380939 -0.08315953593 -0.211754522301 -0.0832180278687 -0.220830133126 -0.0830981490933 -0.229986981733 -0.082985148556 -0.239127064589 -0.0830574366452 -0.248174989053 -0.0831298015087 -0.257229744328 -0.0832022518303 -0.266290973342 -0.0830617604436 -0.275324922774 -0.0829279320157 -0.284339396241 -0.0830138314486 -0.293369114078 -0.0830998988897 -0.302407278824 -0.0831861382175 -0.311453548296 -0.0830253816348 -0.320349213875 -0.0828710405418 -0.329222755778 -0.0829703264907 -0.338233884983 -0.0830698817986 -0.347255154174 -0.0831697154336 -0.356286260706 -0.0829890837175 -0.365030649936 -0.0828145767893 -0.373750301423 -0.0829269949742 -0.382742817399 -0.0830398035615 -0.391747276122 -0.0831530070509 -0.400763398109 -0.0829529327818 -0.40934574628 -0.0827586696219 -0.417900803494 -0.0828839553109 -0.426875073677 -0.0830097557356 -0.435863151256 -0.0831360819065 -0.444864786105 -0.0922537343406 --0.417458490499 -0.0924201889105 --0.408908734125 -0.0925915939695 --0.400331690901 -0.0924949021761 --0.391326199114 -0.0923985445397 --0.382332332636 -0.0923025238947 --0.373350384764 -0.0924520380861 --0.364636962394 -0.0926067758041 --0.355898801859 -0.0925214855042 --0.346878247463 -0.0924364308875 --0.337867500016 -0.0923516105586 --0.328866891038 -0.0924838952309 --0.32000042577 -0.0926216592094 --0.311111837185 -0.0925479817193 --0.302076088723 -0.0924744452754 --0.29304840787 -0.0924010525133 --0.284029155575 -0.0925157491421 --0.275022537825 -0.0926361432899 --0.265996458547 -0.0925742523447 --0.256945714984 -0.0925124326817 --0.247901414743 -0.0924506765735 --0.238863936581 -0.092547514989 --0.22973241045 -0.092650243628 --0.22058412784 -0.0926002963861 --0.211518970489 -0.0925503529797 --0.202458704639 -0.0925004129478 --0.193403752543 -0.0925791915423 --0.184164531586 -0.0926640157322 --0.174911312263 -0.0926261432862 --0.165832707397 -0.0925882196675 --0.156757493019 -0.0925502448466 --0.147686115163 -0.0926107364696 --0.138358665631 -0.092677399614 --0.129020046872 -0.0926517005361 --0.119929241049 -0.0926259140767 --0.110840410919 -0.092600040865 --0.10175400501 -0.092642115436 --0.0923591238643 -0.0926904510311 --0.0829559626843 -0.0926770069137 --0.0738545053553 -0.0926770069137 -0.0738545053553 -0.0926904510311 -0.0829559626843 -0.092642115436 -0.0923591238643 -0.092600040865 -0.10175400501 -0.0926259140767 -0.110840410919 -0.0926517005361 -0.119929241049 -0.092677399614 -0.129020046872 -0.0926107364696 -0.138358665631 -0.0925502448466 -0.147686115163 -0.0925882196675 -0.156757493019 -0.0926261432862 -0.165832707397 -0.0926640157322 -0.174911312263 -0.0925791915423 -0.184164531586 -0.0925004129478 -0.193403752543 -0.0925503529797 -0.202458704639 -0.0926002963861 -0.211518970489 -0.092650243628 -0.22058412784 -0.092547514989 -0.22973241045 -0.0924506765735 -0.238863936581 -0.0925124326817 -0.247901414743 -0.0925742523447 -0.256945714984 -0.0926361432899 -0.265996458547 -0.0925157491421 -0.275022537825 -0.0924010525133 -0.284029155575 -0.0924744452754 -0.29304840787 -0.0925479817193 -0.302076088723 -0.0926216592094 -0.311111837185 -0.0924838952309 -0.32000042577 -0.0923516105586 -0.328866891038 -0.0924364308875 -0.337867500016 -0.0925214855042 -0.346878247463 -0.0926067758041 -0.355898801859 -0.0924520380861 -0.364636962394 -0.0923025238947 -0.373350384764 -0.0923985445397 -0.382332332636 -0.0924949021761 -0.391326199114 -0.0925915939695 -0.400331690901 -0.0924201889105 -0.408908734125 -0.0922537343406 -0.417458490499 -0.101740268009 --0.417075024135 -0.101878848481 --0.40852974668 -0.102021515647 --0.399957183718 -0.101941382425 --0.390961010158 -0.101861523164 --0.381976429451 -0.101781943502 --0.373003731274 -0.101906412091 --0.364295613117 -0.102035197213 --0.355562756113 -0.101964488118 --0.346551428763 -0.101893977724 --0.33754989285 -0.101823659292 --0.328558462833 -0.10193383571 --0.319698053951 -0.102048551503 --0.31081551924 -0.101987466715 --0.301788934149 -0.101926498104 --0.292770404466 -0.101865646554 --0.28376029 -0.101961167607 --0.274760428032 -0.102061418492 --0.265741102446 -0.102010119565 --0.256699488419 -0.101958873434 --0.24766429203 -0.101907675643 --0.238635913778 -0.101988318244 --0.229511771275 -0.102073858792 --0.220370859758 -0.102032479475 --0.211314793669 -0.101991103365 --0.202263612654 -0.101949729949 --0.193217731339 -0.102015290236 --0.183986420294 -0.102085880732 --0.174741109331 -0.1020545479 --0.165671580743 -0.102023168528 --0.156605441374 -0.101991742782 --0.147543127287 -0.10204200199 --0.138224021463 -0.10209740021 --0.128893749833 -0.102076196545 --0.119812010379 -0.102054918687 --0.110732248155 -0.102033569895 --0.101654910329 -0.102068458358 --0.0922687017979 -0.102108568505 --0.0828742195417 -0.102097577341 --0.0737818407737 -0.102086488746 --0.0646900595381 -0.102075305023 --0.0555993343987 -0.102075305023 -0.0555993343987 -0.102086488746 -0.0646900595381 -0.102097577341 -0.0737818407737 -0.102108568505 -0.0828742195417 -0.102068458358 -0.0922687017979 -0.102033569895 -0.101654910329 -0.102054918687 -0.110732248155 -0.102076196545 -0.119812010379 -0.10209740021 -0.128893749833 -0.10204200199 -0.138224021463 -0.101991742782 -0.147543127287 -0.102023168528 -0.156605441374 -0.1020545479 -0.165671580743 -0.102085880732 -0.174741109331 -0.102015290236 -0.183986420294 -0.101949729949 -0.193217731339 -0.101991103365 -0.202263612654 -0.102032479475 -0.211314793669 -0.102073858792 -0.220370859758 -0.101988318244 -0.229511771275 -0.101907675643 -0.238635913778 -0.101958873434 -0.24766429203 -0.102010119565 -0.256699488419 -0.102061418492 -0.265741102446 -0.101961167607 -0.274760428032 -0.101865646554 -0.28376029 -0.101926498104 -0.292770404466 -0.101987466715 -0.301788934149 -0.102048551503 -0.31081551924 -0.10193383571 -0.319698053951 -0.101823659292 -0.328558462833 -0.101893977724 -0.33754989285 -0.101964488118 -0.346551428763 -0.102035197213 -0.355562756113 -0.101906412091 -0.364295613117 -0.101781943502 -0.373003731274 -0.101861523164 -0.381976429451 -0.101941382425 -0.390961010158 -0.102021515647 -0.399957183718 -0.101878848481 -0.40852974668 -0.101740268009 -0.417075024135 -0.110751742117 --0.417315274808 -0.110925346472 --0.408766473353 -0.111104129904 --0.400190379352 -0.111003249053 --0.391188812813 -0.110902717626 --0.38219883531 -0.110802533973 --0.373220741868 -0.110958378702 --0.364508730072 -0.111119688201 --0.355771971531 -0.111030727986 --0.346755219899 -0.11094201474 --0.337748253919 -0.11085354599 --0.328751378553 -0.110991427167 --0.319886760459 -0.111135027779 --0.310999991612 -0.111058196668 --0.301967909787 -0.110981519736 --0.29294390528 -0.110904994658 --0.283928312964 -0.111024504259 --0.27492392456 -0.111149966571 --0.265900050138 -0.111085459482 --0.256852903861 -0.111021020619 --0.247812176647 -0.110956647439 --0.238778270164 -0.111057536223 --0.229649334423 -0.111164577364 --0.220503609295 -0.111112538766 --0.211441981182 -0.111060506347 --0.202385238698 -0.111008478192 --0.193333776206 -0.111090514781 --0.184097418811 -0.111178864744 --0.174847055736 -0.111139435575 --0.165771919152 -0.11109995065 --0.156700173227 -0.111060410628 --0.147632250175 -0.111123348847 --0.138307904754 -0.111192734136 --0.128972385464 -0.11116601402 --0.119885011115 -0.111139200726 --0.110799609235 -0.111112295065 --0.10171662909 -0.111156048584 --0.0923250296629 -0.111206345944 --0.0829251490813 -0.111192418614 --0.073827107581 -0.111178370131 --0.0647296568895 -0.111164200718 --0.0556332629377 -0.111188569053 --0.0461962057708 -0.111219538784 --0.0367537926475 -0.111218452367 --0.0276468463017 -0.111217242109 --0.0185391506386 -0.111215902743 --0.0094311772543 -0.111215199413 --2.16840434497e-19 -0.111215902743 -0.0094311772543 -0.111217242109 -0.0185391506386 -0.111218452367 -0.0276468463017 -0.111219538784 -0.0367537926475 -0.111188569053 -0.0461962057708 -0.111164200718 -0.0556332629377 -0.111178370131 -0.0647296568895 -0.111192418614 -0.073827107581 -0.111206345944 -0.0829251490813 -0.111156048584 -0.0923250296629 -0.111112295065 -0.10171662909 -0.111139200726 -0.110799609235 -0.11116601402 -0.119885011115 -0.111192734136 -0.128972385464 -0.111123348847 -0.138307904754 -0.111060410628 -0.147632250175 -0.11109995065 -0.156700173227 -0.111139435575 -0.165771919152 -0.111178864744 -0.174847055736 -0.111090514781 -0.184097418811 -0.111008478192 -0.193333776206 -0.111060506347 -0.202385238698 -0.111112538766 -0.211441981182 -0.111164577364 -0.220503609295 -0.111057536223 -0.229649334423 -0.110956647439 -0.238778270164 -0.111021020619 -0.247812176647 -0.111085459482 -0.256852903861 -0.111149966571 -0.265900050138 -0.111024504259 -0.27492392456 -0.110904994658 -0.283928312964 -0.110981519736 -0.29294390528 -0.111058196668 -0.301967909787 -0.111135027779 -0.310999991612 -0.110991427167 -0.319886760459 -0.11085354599 -0.328751378553 -0.11094201474 -0.337748253919 -0.111030727986 -0.346755219899 -0.111119688201 -0.355771971531 -0.110958378702 -0.364508730072 -0.110802533973 -0.373220741868 -0.110902717626 -0.38219883531 -0.111003249053 -0.391188812813 -0.111104129904 -0.400190379352 -0.110925346472 -0.408766473353 -0.110751742117 -0.417315274808 -0.119766262407 --0.417555499135 -0.119974885274 --0.409003148501 -0.120189781202 --0.400423487838 -0.120068151997 --0.391416533986 -0.11994694742 --0.382421190785 -0.119826154123 --0.373437718621 -0.120013366477 --0.364721791389 -0.120207192594 --0.355981107083 -0.120099980048 --0.346958939993 -0.119993062919 --0.337946555365 -0.119886440228 --0.328944258994 -0.120052018349 --0.320075402375 -0.120224501981 --0.311184382842 -0.120131933109 --0.302146841114 -0.120039547321 --0.293117366971 -0.119947341396 --0.284096307594 -0.120090831902 --0.275087363604 -0.120241501656 --0.266058917218 -0.120163787217 --0.257006267279 -0.120086155975 --0.247960037592 -0.120008605437 --0.238920613875 -0.120129733187 --0.229786845378 -0.120258268358 --0.220636283847 -0.120195574268 --0.211569110069 -0.120132885097 --0.202506817159 -0.120070198996 --0.193449793239 -0.120168713121 --0.184208369208 -0.120274816413 --0.174952929749 -0.12022728667 --0.165872202036 -0.120179697443 --0.156794867476 -0.120132040599 --0.147721345948 -0.120207656592 --0.138391734483 -0.120291023043 --0.129050944463 -0.120258779905 --0.119957955015 -0.12022643518 --0.110866933694 -0.120193977907 --0.101778324247 -0.120246595312 --0.0923813106566 -0.120307076178 --0.0829760084906 -0.120290210515 --0.0738723200174 -0.120273204204 --0.0647692185448 -0.120256054547 --0.0556671727486 -0.12028545944 --0.0462246045372 -0.120322798552 --0.0367766736493 -0.12032136235 --0.0276640601106 -0.120319778041 --0.0185506950764 -0.120318051361 --0.00943705050459 -0.120317149359 -2.16840434497e-19 -0.120318051361 -0.00943705050459 -0.120319778041 -0.0185506950764 -0.12032136235 -0.0276640601106 -0.120322798552 -0.0367766736493 -0.12028545944 -0.0462246045372 -0.120256054547 -0.0556671727486 -0.120273204204 -0.0647692185448 -0.120290210515 -0.0738723200174 -0.120307076178 -0.0829760084906 -0.120246595312 -0.0923813106566 -0.120193977907 -0.101778324247 -0.12022643518 -0.110866933694 -0.120258779905 -0.119957955015 -0.120291023043 -0.129050944463 -0.120207656592 -0.138391734483 -0.120132040599 -0.147721345948 -0.120179697443 -0.156794867476 -0.12022728667 -0.165872202036 -0.120274816413 -0.174952929749 -0.120168713121 -0.184208369208 -0.120070198996 -0.193449793239 -0.120132885097 -0.202506817159 -0.120195574268 -0.211569110069 -0.120258268358 -0.220636283847 -0.120129733187 -0.229786845378 -0.120008605437 -0.238920613875 -0.120086155975 -0.247960037592 -0.120163787217 -0.257006267279 -0.120241501656 -0.266058917218 -0.120090831902 -0.275087363604 -0.119947341396 -0.284096307594 -0.120039547321 -0.293117366971 -0.120131933109 -0.302146841114 -0.120224501981 -0.311184382842 -0.120052018349 -0.320075402375 -0.119886440228 -0.328944258994 -0.119993062919 -0.337946555365 -0.120099980048 -0.346958939993 -0.120207192594 -0.355981107083 -0.120013366477 -0.364721791389 -0.119826154123 -0.373437718621 -0.11994694742 -0.382421190785 -0.120068151997 -0.391416533986 -0.120189781202 -0.400423487838 -0.119974885274 -0.409003148501 -0.119766262407 -0.417555499135 -0.128783405269 --0.417795715428 -0.129027031361 --0.409239779378 -0.129278027418 --0.400656523148 -0.129135647531 --0.391644213004 -0.128993768039 --0.38264350287 -0.128852371657 --0.37365466268 -0.129070949202 --0.364934820232 -0.129297281399 --0.356190193664 -0.129171808691 --0.347162611324 -0.129046688231 --0.338144818663 -0.128921909598 --0.329137117903 -0.129115172345 --0.320263998444 -0.129316529452 --0.311368700284 -0.129208220247 --0.302325708416 -0.129100129106 --0.293290781227 -0.128992243709 --0.284264266087 -0.129159706902 --0.275250749426 -0.129335575453 --0.26621771439 -0.129244654182 --0.257159577389 -0.129153831491 --0.248107856452 -0.12906310132 --0.239062937798 -0.129204463545 --0.229924319466 -0.129354488673 --0.220768887501 -0.129281140154 --0.211696184089 -0.129207795486 --0.202628351886 -0.129134448653 --0.193565791762 -0.129249428209 --0.184319277849 -0.129373282422 --0.175058732587 -0.129317655145 --0.165972436547 -0.129261956192 --0.156889523297 -0.129206186175 --0.147810426522 -0.129294484369 --0.138475528451 -0.129391830871 --0.129129437914 -0.129354062313 --0.120030847319 -0.129316178051 --0.110934217972 -0.129278163593 --0.101839997578 -0.129339644298 --0.0924375477471 -0.129410311394 --0.0830268006765 -0.129390504826 --0.0739174798733 -0.129370537898 --0.0648087441234 -0.1293504141 --0.0557010635273 -0.129384853798 --0.0462529579613 -0.129428554744 --0.0367994862255 -0.129426771942 --0.0276812233729 -0.129424816111 --0.0185622051166 -0.129422693648 --0.00944290602232 -0.129421587797 -0 -0.129422693648 -0.00944290602232 -0.129424816111 -0.0185622051166 -0.129426771942 -0.0276812233729 -0.129428554744 -0.0367994862255 -0.129384853798 -0.0462529579613 -0.1293504141 -0.0557010635273 -0.129370537898 -0.0648087441234 -0.129390504826 -0.0739174798733 -0.129410311394 -0.0830268006765 -0.129339644298 -0.0924375477471 -0.129278163593 -0.101839997578 -0.129316178051 -0.110934217972 -0.129354062313 -0.120030847319 -0.129391830871 -0.129129437914 -0.129294484369 -0.138475528451 -0.129206186175 -0.147810426522 -0.129261956192 -0.156889523297 -0.129317655145 -0.165972436547 -0.129373282422 -0.175058732587 -0.129249428209 -0.184319277849 -0.129134448653 -0.193565791762 -0.129207795486 -0.202628351886 -0.129281140154 -0.211696184089 -0.129354488673 -0.220768887501 -0.129204463545 -0.229924319466 -0.12906310132 -0.239062937798 -0.129153831491 -0.248107856452 -0.129244654182 -0.257159577389 -0.129335575453 -0.26621771439 -0.129159706902 -0.275250749426 -0.128992243709 -0.284264266087 -0.129100129106 -0.293290781227 -0.129208220247 -0.302325708416 -0.129316529452 -0.311368700284 -0.129115172345 -0.320263998444 -0.128921909598 -0.329137117903 -0.129046688231 -0.338144818663 -0.129171808691 -0.347162611324 -0.129297281399 -0.356190193664 -0.129070949202 -0.364934820232 -0.128852371657 -0.37365466268 -0.128993768039 -0.38264350287 -0.129135647531 -0.391644213004 -0.129278027418 -0.400656523148 -0.129027031361 -0.409239779378 -0.128783405269 -0.417795715428 -0.138655752718 --0.400057603499 -0.13853018942 --0.391060148805 -0.138405063077 --0.382074236836 -0.138280368022 --0.373100153449 -0.138473557614 --0.364388681188 -0.138673583427 --0.355652433186 -0.138562920197 --0.34663957184 -0.138452563237 --0.337636461064 -0.138342510224 --0.328643408719 -0.138513313019 --0.31977994704 -0.138691256863 --0.310894308549 -0.138595733437 --0.30186593878 -0.13850040628 --0.292845611136 -0.138405258435 --0.283833656867 -0.138553251839 --0.274830965635 -0.138708670846 --0.265808766229 -0.138628498471 --0.256765174971 -0.1385484118 --0.247727982916 -0.138468407261 --0.238697573195 -0.138593296902 --0.229570807397 -0.138725847247 --0.220427244751 -0.138661199865 --0.211369046182 -0.138596551001 --0.202315699689 -0.13853190047 --0.193267616849 -0.138633440187 --0.184033852045 -0.138742828483 --0.174786067454 -0.138693844253 --0.165714250407 -0.138644794154 --0.156645806264 -0.138595681254 --0.147581172463 -0.138673595607 --0.138259757174 -0.138759508247 --0.128927158157 -0.138726308609 --0.119843036563 -0.13869300197 --0.110760872583 -0.138659579287 --0.101681113329 -0.138713734231 --0.0922926921845 -0.138776012537 --0.0828959864539 -0.13875869377 --0.0738011462425 -0.138741229841 --0.0647068930894 -0.138723627146 --0.0556136938764 -0.138753863098 --0.0461799762757 -0.138792288988 --0.0367409053761 -0.138790909047 --0.0276371515107 -0.138789369423 --0.0185326486928 -0.138787686229 --0.00942786953707 -0.13878681032 -0 -0.138787686229 -0.00942786953707 -0.138789369423 -0.0185326486928 -0.138790909047 -0.0276371515107 -0.138792288988 -0.0367409053761 -0.138753863098 -0.0461799762757 -0.138723627146 -0.0556136938764 -0.138741229841 -0.0647068930894 -0.13875869377 -0.0738011462425 -0.138776012537 -0.0828959864539 -0.138713734231 -0.0922926921845 -0.138659579287 -0.101681113329 -0.13869300197 -0.110760872583 -0.138726308609 -0.119843036563 -0.138759508247 -0.128927158157 -0.138673595607 -0.138259757174 -0.138595681254 -0.147581172463 -0.138644794154 -0.156645806264 -0.138693844253 -0.165714250407 -0.138742828483 -0.174786067454 -0.138633440187 -0.184033852045 -0.13853190047 -0.193267616849 -0.138596551001 -0.202315699689 -0.138661199865 -0.211369046182 -0.138725847247 -0.220427244751 -0.138593296902 -0.229570807397 -0.138468407261 -0.238697573195 -0.1385484118 -0.247727982916 -0.138628498471 -0.256765174971 -0.138708670846 -0.265808766229 -0.138553251839 -0.274830965635 -0.138405258435 -0.283833656867 -0.13850040628 -0.292845611136 -0.138595733437 -0.30186593878 -0.138691256863 -0.310894308549 -0.138513313019 -0.31977994704 -0.138342510224 -0.328643408719 -0.138452563237 -0.337636461064 -0.138562920197 -0.34663957184 -0.138673583427 -0.355652433186 -0.138473557614 -0.364388681188 -0.138280368022 -0.373100153449 -0.138405063077 -0.382074236836 -0.13853018942 -0.391060148805 -0.138655752718 -0.400057603499 -0.148021741802 --0.399515178262 -0.147913067952 --0.390531278698 -0.147804767163 --0.381558884054 -0.147696839525 --0.372598256307 -0.147864541885 --0.363894230132 -0.148038160684 --0.355165428496 -0.14794237423 --0.346165994135 -0.147846844812 --0.33717627066 -0.147751577519 --0.328196544473 -0.147899836163 --0.319341724329 -0.148054282151 --0.31046474239 -0.147971606895 --0.301449689558 -0.147889092998 --0.292442640016 -0.147806728367 --0.283443922006 -0.147935180191 --0.274450954981 -0.148070074138 --0.265438485553 -0.148000700696 --0.25640811315 -0.14793139339 --0.247384115789 -0.147862158522 --0.238366874082 -0.147970522318 --0.229250800434 -0.148085528135 --0.220117930726 -0.148029614316 --0.211072886989 -0.147973695899 --0.202032676437 -0.14791777984 --0.19299771542 -0.148005838696 --0.183775469424 -0.148100703632 --0.174539205519 -0.148058386117 --0.165480514854 -0.14801601442 --0.156425183573 -0.147973579744 --0.147373648878 -0.148041069652 --0.138064427349 -0.148115506282 --0.128744024631 -0.148086890461 --0.119673007722 -0.148058182281 --0.110603946926 -0.148029375804 --0.101537284382 -0.148076179606 --0.0921615627694 -0.148130036271 --0.0827775639457 -0.148115215237 --0.073695833127 -0.148100264278 --0.0646146917318 -0.148085192456 --0.0555346020663 -0.148111211592 --0.0461139163221 -0.148144341182 --0.0366878853622 -0.148143364993 --0.0275972623986 -0.148142249303 --0.0185058982738 -0.148141003202 --0.00941426067545 -0.148140351512 -0 -0.148141003202 -0.00941426067545 -0.148142249303 -0.0185058982738 -0.148143364993 -0.0275972623986 -0.148144341182 -0.0366878853622 -0.148111211592 -0.0461139163221 -0.148085192456 -0.0555346020663 -0.148100264278 -0.0646146917318 -0.148115215237 -0.073695833127 -0.148130036271 -0.0827775639457 -0.148076179606 -0.0921615627694 -0.148029375804 -0.101537284382 -0.148058182281 -0.110603946926 -0.148086890461 -0.119673007722 -0.148115506282 -0.128744024631 -0.148041069652 -0.138064427349 -0.147973579744 -0.147373648878 -0.14801601442 -0.156425183573 -0.148058386117 -0.165480514854 -0.148100703632 -0.174539205519 -0.148005838696 -0.183775469424 -0.14791777984 -0.19299771542 -0.147973695899 -0.202032676437 -0.148029614316 -0.211072886989 -0.148085528135 -0.220117930726 -0.147970522318 -0.229250800434 -0.147862158522 -0.238366874082 -0.14793139339 -0.247384115789 -0.148000700696 -0.25640811315 -0.148070074138 -0.265438485553 -0.147935180191 -0.274450954981 -0.147806728367 -0.283443922006 -0.147889092998 -0.292442640016 -0.147971606895 -0.301449689558 -0.148054282151 -0.31046474239 -0.147899836163 -0.319341724329 -0.147751577519 -0.328196544473 -0.147846844812 -0.33717627066 -0.14794237423 -0.346165994135 -0.148038160684 -0.355165428496 -0.147864541885 -0.363894230132 -0.147696839525 -0.372598256307 -0.147804767163 -0.381558884054 -0.147913067952 -0.390531278698 -0.148021741802 -0.399515178262 -0.157090171366 --0.399861310595 -0.156960884852 --0.390869480144 -0.156832040161 --0.381889140602 -0.156703643338 --0.372920563836 -0.156902517256 --0.364210753244 -0.157108441436 --0.355476137205 -0.156994519837 --0.346468695762 -0.156880905075 --0.3374709583 -0.156767599154 --0.328483220299 -0.156943377587 --0.319622094795 -0.157126528546 --0.31073878611 -0.157028212865 --0.301715656173 -0.156930086049 --0.292700515383 -0.156832149477 --0.28369372078 -0.156984433759 --0.274693966045 -0.157144372391 --0.265674676156 -0.157061875285 --0.25663616342 -0.156979458517 --0.247604007428 -0.156897131791 --0.238578601948 -0.157025611146 --0.229455309213 -0.157161977225 --0.220315196853 -0.157095472409 --0.211261953364 -0.157028963629 --0.202213525456 -0.156962457917 --0.193170331557 -0.157066886004 --0.183940497773 -0.157179397575 --0.174696626946 -0.157129031873 --0.165629664247 -0.157078602696 --0.156566060031 -0.157028106787 --0.147506244839 -0.157108196639 --0.138189127797 -0.157196528282 --0.128860815682 -0.157162428353 --0.119781478555 -0.157128215856 --0.110704088766 -0.157093887435 --0.101629095732 -0.157149503182 --0.0922452484018 -0.157213479993 --0.0828531090943 -0.157195739292 --0.0737630186006 -0.157177849225 --0.0646735106128 -0.157159816834 --0.0555850524271 -0.157190838138 --0.0461560870593 -0.157230294115 --0.0367217674091 -0.157228976235 --0.027622753572 -0.157227494253 --0.018522993938 -0.157225850468 --0.00942295775856 -0.157224988809 -0 -0.157225850468 -0.00942295775856 -0.157227494253 -0.018522993938 -0.157228976235 -0.027622753572 -0.157230294115 -0.0367217674091 -0.157190838138 -0.0461560870593 -0.157159816834 -0.0555850524271 -0.157177849225 -0.0646735106128 -0.157195739292 -0.0737630186006 -0.157213479993 -0.0828531090943 -0.157149503182 -0.0922452484018 -0.157093887435 -0.101629095732 -0.157128215856 -0.110704088766 -0.157162428353 -0.119781478555 -0.157196528282 -0.128860815682 -0.157108196639 -0.138189127797 -0.157028106787 -0.147506244839 -0.157078602696 -0.156566060031 -0.157129031873 -0.165629664247 -0.157179397575 -0.174696626946 -0.157066886004 -0.183940497773 -0.156962457917 -0.193170331557 -0.157028963629 -0.202213525456 -0.157095472409 -0.211261953364 -0.157161977225 -0.220315196853 -0.157025611146 -0.229455309213 -0.156897131791 -0.238578601948 -0.156979458517 -0.247604007428 -0.157061875285 -0.25663616342 -0.157144372391 -0.265674676156 -0.156984433759 -0.274693966045 -0.156832149477 -0.28369372078 -0.156930086049 -0.292700515383 -0.157028212865 -0.301715656173 -0.157126528546 -0.31073878611 -0.156943377587 -0.319622094795 -0.156767599154 -0.328483220299 -0.156880905075 -0.3374709583 -0.156994519837 -0.346468695762 -0.157108441436 -0.355476137205 -0.156902517256 -0.364210753244 -0.156703643338 -0.372920563836 -0.156832040161 -0.381889140602 -0.156960884852 -0.390869480144 -0.157090171366 -0.399861310595 -0.166163309336 --0.40020770746 -0.166013401131 --0.391207949743 -0.165864003486 --0.382219674363 -0.165715128616 --0.37324317409 -0.165945181307 --0.364527542217 -0.166183419369 --0.355787082926 -0.166051350978 --0.346771641064 -0.165919641918 --0.337765890371 -0.165788293073 --0.328770151464 -0.16599159513 --0.319902693298 -0.166203449188 --0.311013023521 -0.166089483029 --0.301981823942 -0.165975738911 --0.292958600829 -0.16586222241 --0.283943726364 -0.166038345709 --0.2749371556 -0.16622333301 --0.265911023028 -0.1661277029 --0.256864372876 -0.166032171795 --0.247824078816 -0.165936744737 --0.238790524387 -0.166085342904 --0.229659977294 -0.166243072633 --0.220512593128 -0.166165968602 --0.211451147776 -0.166088868634 --0.20239451607 -0.166011773299 --0.193343112805 -0.16613256929 --0.184105653442 -0.166262725869 --0.17485413661 -0.166204315216 --0.165778914449 -0.166145824814 --0.156707043069 -0.166087264332 --0.147638952681 -0.16617995925 --0.138313906048 -0.16628218463 --0.12897765 -0.16624260197 --0.119890003977 -0.16620288652 --0.110804299226 -0.166163030963 --0.10172098528 -0.166227453157 --0.0923289779151 -0.166301551047 --0.082928662512 -0.166280896504 --0.073830219489 -0.166260066163 --0.064732353353 -0.16623906417 --0.0556355322075 -0.166275091359 --0.0461982549913 -0.166320882689 --0.0367556163956 -0.166319216259 --0.0276482195234 -0.166317364487 --0.0185400719976 -0.166315333287 --0.0094316463763 -0.166314267836 -0 -0.166315333287 -0.0094316463763 -0.166317364487 -0.0185400719976 -0.166319216259 -0.0276482195234 -0.166320882689 -0.0367556163956 -0.166275091359 -0.0461982549913 -0.16623906417 -0.0556355322075 -0.166260066163 -0.064732353353 -0.166280896504 -0.073830219489 -0.166301551047 -0.082928662512 -0.166227453157 -0.0923289779151 -0.166163030963 -0.10172098528 -0.16620288652 -0.110804299226 -0.16624260197 -0.119890003977 -0.16628218463 -0.12897765 -0.16617995925 -0.138313906048 -0.166087264332 -0.147638952681 -0.166145824814 -0.156707043069 -0.166204315216 -0.165778914449 -0.166262725869 -0.17485413661 -0.16613256929 -0.184105653442 -0.166011773299 -0.193343112805 -0.166088868634 -0.20239451607 -0.166165968602 -0.211451147776 -0.166243072633 -0.220512593128 -0.166085342904 -0.229659977294 -0.165936744737 -0.238790524387 -0.166032171795 -0.247824078816 -0.1661277029 -0.256864372876 -0.16622333301 -0.265911023028 -0.166038345709 -0.2749371556 -0.16586222241 -0.283943726364 -0.165975738911 -0.292958600829 -0.166089483029 -0.301981823942 -0.166203449188 -0.311013023521 -0.16599159513 -0.319902693298 -0.165788293073 -0.328770151464 -0.165919641918 -0.337765890371 -0.166051350978 -0.346771641064 -0.166183419369 -0.355787082926 -0.165945181307 -0.364527542217 -0.165715128616 -0.37324317409 -0.165864003486 -0.382219674363 -0.166013401131 -0.391207949743 -0.166163309336 -0.40020770746 -0.175240732684 --0.40055438716 -0.17507019179 --0.391546694451 -0.174900243171 --0.382550500892 -0.174730881469 --0.373566071868 -0.174992110234 --0.364844592519 -0.175262662119 --0.356098261693 -0.175112442917 --0.347074833573 -0.174962637467 --0.338061088573 -0.174813237595 --0.329057349738 -0.17504406042 --0.320183529647 -0.175284615088 --0.311287458753 -0.175154997597 --0.302248198228 -0.175025637668 --0.293216915158 -0.174896532377 --0.284193963706 -0.17509648187 --0.275180540967 -0.175306519064 --0.266147536976 -0.175197759093 --0.257092758295 -0.175089106865 --0.248044328867 -0.17498058047 --0.239002639679 -0.17514929982 --0.229864819712 -0.175328389176 --0.22071013379 -0.175240682461 --0.211640484108 -0.175152992268 --0.202575656767 -0.175065304896 --0.193516058486 -0.175202463147 --0.184270932352 -0.175350261117 --0.175011735907 -0.175283804127 --0.165928268591 -0.175217256762 --0.15684813549 -0.175150623788 --0.14777178117 -0.175255923292 --0.138438776311 -0.175372052109 --0.129094541814 -0.175326971495 --0.119998589666 -0.175281745053 --0.11090457521 -0.175236372287 --0.101812952527 -0.175309603248 --0.0924127498898 -0.175393821881 --0.0830042261062 -0.175370249807 --0.0738974401623 -0.175346472345 --0.0647912239719 -0.175322502933 --0.0556860479417 -0.175363542903 --0.0462404256762 -0.175415658965 --0.0367894324019 -0.175413646912 --0.0276736601027 -0.175411432099 --0.0185571339248 -0.175409006049 --0.00944032634276 -0.175407737569 --2.16840434497e-19 -0.175409006049 -0.00944032634276 -0.175411432099 -0.0185571339248 -0.175413646912 -0.0276736601027 -0.175415658965 -0.0367894324019 -0.175363542903 -0.0462404256762 -0.175322502933 -0.0556860479417 -0.175346472345 -0.0647912239719 -0.175370249807 -0.0738974401623 -0.175393821881 -0.0830042261062 -0.175309603248 -0.0924127498898 -0.175236372287 -0.101812952527 -0.175281745053 -0.11090457521 -0.175326971495 -0.119998589666 -0.175372052109 -0.129094541814 -0.175255923292 -0.138438776311 -0.175150623788 -0.14777178117 -0.175217256762 -0.15684813549 -0.175283804127 -0.165928268591 -0.175350261117 -0.175011735907 -0.175202463147 -0.184270932352 -0.175065304896 -0.193516058486 -0.175152992268 -0.202575656767 -0.175240682461 -0.211640484108 -0.175328389176 -0.22071013379 -0.17514929982 -0.229864819712 -0.17498058047 -0.239002639679 -0.175089106865 -0.248044328867 -0.175197759093 -0.257092758295 -0.175306519064 -0.266147536976 -0.17509648187 -0.275180540967 -0.174896532377 -0.284193963706 -0.175025637668 -0.293216915158 -0.175154997597 -0.302248198228 -0.175284615088 -0.311287458753 -0.17504406042 -0.320183529647 -0.174813237595 -0.329057349738 -0.174962637467 -0.338061088573 -0.175112442917 -0.347074833573 -0.175262662119 -0.356098261693 -0.174992110234 -0.364844592519 -0.174730881469 -0.373566071868 -0.174900243171 -0.382550500892 -0.17507019179 -0.391546694451 -0.175240732684 -0.40055438716 -0.184536095083 --0.399791760233 -0.18438243249 --0.39080304667 -0.184229301156 --0.381825770986 -0.18407668424 --0.372860167999 -0.184312414879 --0.364149190855 -0.184556555681 --0.355413379335 -0.184421202468 --0.346408754758 -0.184286216235 --0.337413758579 -0.184151593234 --0.328428703154 -0.184359883854 --0.319567068605 -0.184576943899 --0.310683180505 -0.18446016209 --0.301662573015 -0.184343610141 --0.292649912316 -0.184227276272 --0.283645523972 -0.184407704205 --0.2746458293 -0.184597241586 --0.265626570356 -0.184499269809 --0.25659033096 -0.184401389821 --0.24756040742 -0.184303626608 --0.238537199784 -0.184455805558 --0.229414469402 -0.184617350671 --0.220274891097 -0.184538375633 --0.211223706949 -0.184459408813 --0.202177318673 -0.184380448158 --0.19313614139 -0.184504155454 --0.183907292043 -0.184637467527 --0.174664383101 -0.184577667752 --0.165599332999 -0.184517790403 --0.156537606445 -0.184457833221 --0.147479643297 -0.184552712161 --0.138163870005 -0.184657372746 --0.128836875895 -0.184616870586 --0.11975932269 -0.184576234396 --0.110683701134 -0.184535467653 --0.101610461124 -0.184601359408 --0.092228216202 -0.184677168169 --0.0828376658569 -0.184656083289 --0.073749289985 -0.184634819786 --0.064661485892 -0.184613383669 --0.0555747193085 -0.184650171111 --0.0461475222188 -0.1846969619 --0.0367149696546 -0.18469535584 --0.0276176393027 -0.184693559443 --0.0185195645832 -0.184691571597 --0.00942121338044 -0.184690531942 -0 -0.184691571597 -0.00942121338044 -0.184693559443 -0.0185195645832 -0.18469535584 -0.0276176393027 -0.1846969619 -0.0367149696546 -0.184650171111 -0.0461475222188 -0.184613383669 -0.0555747193085 -0.184634819786 -0.064661485892 -0.184656083289 -0.073749289985 -0.184677168169 -0.0828376658569 -0.184601359408 -0.092228216202 -0.184535467653 -0.101610461124 -0.184576234396 -0.110683701134 -0.184616870586 -0.11975932269 -0.184657372746 -0.128836875895 -0.184552712161 -0.138163870005 -0.184457833221 -0.147479643297 -0.184517790403 -0.156537606445 -0.184577667752 -0.165599332999 -0.184637467527 -0.174664383101 -0.184504155454 -0.183907292043 -0.184380448158 -0.19313614139 -0.184459408813 -0.202177318673 -0.184538375633 -0.211223706949 -0.184617350671 -0.220274891097 -0.184455805558 -0.229414469402 -0.184303626608 -0.238537199784 -0.184401389821 -0.24756040742 -0.184499269809 -0.25659033096 -0.184597241586 -0.265626570356 -0.184407704205 -0.2746458293 -0.184227276272 -0.283645523972 -0.184343610141 -0.292649912316 -0.18446016209 -0.301662573015 -0.184576943899 -0.310683180505 -0.184359883854 -0.319567068605 -0.184151593234 -0.328428703154 -0.184286216235 -0.337413758579 -0.184421202468 -0.346408754758 -0.184556555681 -0.355413379335 -0.184312414879 -0.364149190855 -0.18407668424 -0.372860167999 -0.184229301156 -0.381825770986 -0.18438243249 -0.39080304667 -0.184536095083 -0.399791760233 -0.193816669683 --0.399084150057 -0.193679970036 --0.390113163736 -0.193543750859 --0.381153545649 -0.193407984364 --0.372205530615 -0.193618092154 --0.363504165726 -0.19383569087 --0.354777958162 -0.193715277464 --0.345790850687 -0.193595187158 --0.33681332743 -0.193475423828 --0.327845681384 -0.193661067429 --0.31899523736 -0.19385451456 --0.310122550317 -0.193750635067 --0.301119310803 -0.193646955019 --0.29212396702 -0.19354346817 --0.283136860594 -0.193704289638 --0.274149843134 -0.193873220845 --0.265143254504 -0.193786095732 --0.256124256421 -0.193699050538 --0.247111546254 -0.193612101273 --0.238105509093 -0.193747656403 --0.22899673106 -0.193891566952 --0.219871107867 -0.193821370413 --0.210837080052 -0.193751175306 --0.201807822089 -0.193680987977 --0.192783745865 -0.193791181787 --0.183569977782 -0.193909937307 --0.17434215083 -0.193856833418 --0.165294198528 -0.193803654443 --0.156249551513 -0.193750400989 --0.147208651932 -0.193834807372 --0.137908852317 -0.193927945427 --0.128597840687 -0.193892054462 --0.119537364191 -0.193856034114 --0.110478812303 -0.19381989188 --0.10142262301 -0.193878398944 --0.0920570388636 -0.193945758688 --0.0826831656357 -0.193927183781 --0.0736118622871 -0.193908452826 --0.0645411342544 -0.193889561672 --0.0554714407577 -0.193922074895 --0.0460613506434 -0.193963525911 --0.0366459203568 -0.193962319758 --0.0275656911195 -0.193960935561 --0.0184847256548 -0.193959395881 --0.00940349007319 -0.193958586007 -2.16840434497e-19 -0.193959395881 -0.00940349007319 -0.193960935561 -0.0184847256548 -0.193962319758 -0.0275656911195 -0.193963525911 -0.0366459203568 -0.193922074895 -0.0460613506434 -0.193889561672 -0.0554714407577 -0.193908452826 -0.0645411342544 -0.193927183781 -0.0736118622871 -0.193945758688 -0.0826831656357 -0.193878398944 -0.0920570388636 -0.19381989188 -0.10142262301 -0.193856034114 -0.110478812303 -0.193892054462 -0.119537364191 -0.193927945427 -0.128597840687 -0.193834807372 -0.137908852317 -0.193750400989 -0.147208651932 -0.193803654443 -0.156249551513 -0.193856833418 -0.165294198528 -0.193909937307 -0.17434215083 -0.193791181787 -0.183569977782 -0.193680987977 -0.192783745865 -0.193751175306 -0.201807822089 -0.193821370413 -0.210837080052 -0.193891566952 -0.219871107867 -0.193747656403 -0.22899673106 -0.193612101273 -0.238105509093 -0.193699050538 -0.247111546254 -0.193786095732 -0.256124256421 -0.193873220845 -0.265143254504 -0.193704289638 -0.274149843134 -0.19354346817 -0.283136860594 -0.193646955019 -0.29212396702 -0.193750635067 -0.301119310803 -0.19385451456 -0.310122550317 -0.193661067429 -0.31899523736 -0.193475423828 -0.327845681384 -0.193595187158 -0.33681332743 -0.193715277464 -0.345790850687 -0.19383569087 -0.354777958162 -0.193618092154 -0.363504165726 -0.193407984364 -0.372205530615 -0.193543750859 -0.381153545649 -0.193679970036 -0.390113163736 -0.193816669683 -0.399084150057 -0.202869849478 --0.399541376814 -0.202712696236 --0.390559947777 -0.202556090028 --0.381589886262 -0.202400010611 --0.372631439127 -0.202641047395 --0.363922402073 -0.202890702501 --0.355188478546 -0.202752291936 --0.3461908379 -0.202614256673 --0.337202764084 -0.202476594184 --0.328224573762 -0.202689532236 --0.319365760649 -0.202911449756 --0.310484665841 -0.202792054323 --0.301470798791 -0.202672891877 --0.292464819335 -0.202553951438 --0.283467077735 -0.202738412805 --0.274471036891 -0.202932189177 --0.265455388782 -0.202832046461 --0.256425676115 -0.202731996348 --0.247402231082 -0.202632051945 --0.238385446136 -0.202787567151 --0.229267075752 -0.202952668451 --0.220131822758 -0.202871962478 --0.211086992288 -0.202791262101 --0.202046922709 -0.202710563058 --0.193012011593 -0.202836993681 --0.183788138023 -0.202973247156 --0.174550180993 -0.202912160297 --0.165491340874 -0.202850991874 --0.156435800269 -0.202789731884 --0.147383991006 -0.202886638407 --0.138073680215 -0.202993566323 --0.128752143435 -0.202952227409 --0.119680710324 -0.202910744758 --0.110611190482 -0.202869125949 --0.101544030597 -0.202936374374 --0.0921676246675 -0.203013782019 --0.0827829122403 -0.202992306606 --0.073700596384 -0.202970653262 --0.0646188490147 -0.202948824242 --0.055538130142 -0.202986309406 --0.0461170163846 -0.203034043512 --0.0366905511087 -0.203032493904 --0.027599268893 -0.203030743714 --0.0185072445957 -0.203028809091 --0.00941494645388 -0.203027790372 -0 -0.203028809091 -0.00941494645388 -0.203030743714 -0.0185072445957 -0.203032493904 -0.027599268893 -0.203034043512 -0.0366905511087 -0.202986309406 -0.0461170163846 -0.202948824242 -0.055538130142 -0.202970653262 -0.0646188490147 -0.202992306606 -0.073700596384 -0.203013782019 -0.0827829122403 -0.202936374374 -0.0921676246675 -0.202869125949 -0.101544030597 -0.202910744758 -0.110611190482 -0.202952227409 -0.119680710324 -0.202993566323 -0.128752143435 -0.202886638407 -0.138073680215 -0.202789731884 -0.147383991006 -0.202850991874 -0.156435800269 -0.202912160297 -0.165491340874 -0.202973247156 -0.174550180993 -0.202836993681 -0.183788138023 -0.202710563058 -0.193012011593 -0.202791262101 -0.202046922709 -0.202871962478 -0.211086992288 -0.202952668451 -0.220131822758 -0.202787567151 -0.229267075752 -0.202632051945 -0.238385446136 -0.202731996348 -0.247402231082 -0.202832046461 -0.256425676115 -0.202932189177 -0.265455388782 -0.202738412805 -0.274471036891 -0.202553951438 -0.283467077735 -0.202672891877 -0.292464819335 -0.202792054323 -0.301470798791 -0.202911449756 -0.310484665841 -0.202689532236 -0.319365760649 -0.202476594184 -0.328224573762 -0.202614256673 -0.337202764084 -0.202752291936 -0.3461908379 -0.202890702501 -0.355188478546 -0.202641047395 -0.363922402073 -0.202400010611 -0.372631439127 -0.202556090028 -0.381589886262 -0.202712696236 -0.390559947777 -0.202869849478 -0.399541376814 -0.211929408244 --0.399999319146 -0.211751793079 --0.39100744775 -0.211574780327 --0.382026933176 -0.21139836404 --0.373058041213 -0.21167034609 --0.364341306795 -0.211952070531 --0.355599650025 -0.211795652689 --0.346591475106 -0.211639660596 --0.337592847107 -0.211484083012 --0.32860411117 -0.211724326634 --0.319736889812 -0.211974732804 --0.310847347977 -0.21183981023 --0.301822857459 -0.211705145467 --0.292806240557 -0.211570739127 --0.28379784984 -0.211778851458 --0.274792743143 -0.211997480275 --0.265767993907 -0.211884303243 --0.256727559079 -0.211771239254 --0.247693388863 -0.211658295184 --0.238665871547 -0.211833774344 --0.229537859639 -0.21202007853 --0.22039293282 -0.211928863532 --0.211337296931 -0.211837644478 --0.202286407591 -0.211746422996 --0.193240662038 -0.21188910613 --0.184006642681 -0.212042871266 --0.174758515221 -0.211973788066 --0.165688783762 -0.211904618555 --0.156622346806 -0.21183536442 --0.147559632178 -0.211944782363 --0.138238765243 -0.212065490439 --0.128906651972 -0.212018699959 --0.119824259214 -0.211971749216 --0.110743768751 -0.211924654823 --0.10166564037 -0.212000658816 --0.0922783718241 -0.212088108523 --0.0828827715483 -0.212063735827 --0.073789441513 -0.212039157795 --0.0646966714358 -0.21201437672 --0.055604924832 -0.212056834501 --0.0461727422766 -0.212110842781 --0.0367351943393 -0.212108951366 --0.0276328569974 -0.212106845778 --0.0185297711111 -0.21210451682 --0.00942640638465 -0.212103292735 -0 -0.21210451682 -0.00942640638465 -0.212106845778 -0.0185297711111 -0.212108951366 -0.0276328569974 -0.212110842781 -0.0367351943393 -0.212056834501 -0.0461727422766 -0.21201437672 -0.055604924832 -0.212039157795 -0.0646966714358 -0.212063735827 -0.073789441513 -0.212088108523 -0.0828827715483 -0.212000658816 -0.0922783718241 -0.211924654823 -0.10166564037 -0.211971749216 -0.110743768751 -0.212018699959 -0.119824259214 -0.212065490439 -0.128906651972 -0.211944782363 -0.138238765243 -0.21183536442 -0.147559632178 -0.211904618555 -0.156622346806 -0.211973788066 -0.165688783762 -0.212042871266 -0.174758515221 -0.21188910613 -0.184006642681 -0.211746422996 -0.193240662038 -0.211837644478 -0.202286407591 -0.211928863532 -0.211337296931 -0.21202007853 -0.22039293282 -0.211833774344 -0.229537859639 -0.211658295184 -0.238665871547 -0.211771239254 -0.247693388863 -0.211884303243 -0.256727559079 -0.211997480275 -0.265767993907 -0.211778851458 -0.274792743143 -0.211570739127 -0.28379784984 -0.211705145467 -0.292806240557 -0.21183981023 -0.301822857459 -0.211974732804 -0.310847347977 -0.211724326634 -0.319736889812 -0.211484083012 -0.32860411117 -0.211639660596 -0.337592847107 -0.211795652689 -0.346591475106 -0.211952070531 -0.355599650025 -0.21167034609 -0.364341306795 -0.21139836404 -0.373058041213 -0.211574780327 -0.382026933176 -0.211751793079 -0.39100744775 -0.211929408244 -0.399999319146 -0.220994941014 --0.400457983381 -0.220796836909 --0.391455670622 -0.220599417687 --0.382464710489 -0.220402670336 --0.373485369837 -0.220705604405 --0.364760912175 -0.221019400392 --0.356011476985 -0.220844961006 --0.34699275816 -0.220670996657 --0.337983585591 -0.220497494956 --0.32898430237 -0.220765061248 --0.32010864618 -0.221043957073 --0.311210616228 -0.220893494423 --0.302175487323 -0.22074332497 --0.293148232322 -0.220593438842 --0.284129195963 -0.220825206628 --0.275114992477 -0.221068699281 --0.266081105443 -0.220942476341 --0.257029940099 -0.220816391706 --0.247985036323 -0.220690446453 --0.238946784032 -0.220885894279 --0.229809097373 -0.221093401456 --0.220654458361 -0.22099166152 --0.211588003408 -0.220889918757 --0.202526285822 -0.220788180227 --0.193469716226 -0.220947119109 --0.184225513209 -0.221118405658 --0.174967171159 -0.221041332835 --0.165886546205 -0.220964158444 --0.156809203509 -0.220886889677 --0.147735582409 -0.221008816149 --0.13840411933 -0.221143314275 --0.129061381095 -0.221091069823 --0.119968022118 -0.221038658411 --0.110876563039 -0.220986086113 --0.10178745969 -0.221070837132 --0.0923892806869 -0.221168330313 --0.0829827519957 -0.221141064697 --0.0738784041023 -0.221113566533 --0.0647746071628 -0.221085836768 --0.0556718287884 -0.221133262967 --0.0462285315435 -0.221193547048 --0.0367798557533 -0.221191309234 --0.0276664571392 -0.221188838454 --0.0185523046805 -0.221186125082 --0.0094378701392 -0.221184705469 -2.16840434497e-19 -0.221186125082 -0.0094378701392 -0.221188838454 -0.0185523046805 -0.221191309234 -0.0276664571392 -0.221193547048 -0.0367798557533 -0.221133262967 -0.0462285315435 -0.221085836768 -0.0556718287884 -0.221113566533 -0.0647746071628 -0.221141064697 -0.0738784041023 -0.221168330313 -0.0829827519957 -0.221070837132 -0.0923892806869 -0.220986086113 -0.10178745969 -0.221038658411 -0.110876563039 -0.221091069823 -0.119968022118 -0.221143314275 -0.129061381095 -0.221008816149 -0.13840411933 -0.220886889677 -0.147735582409 -0.220964158444 -0.156809203509 -0.221041332835 -0.165886546205 -0.221118405658 -0.174967171159 -0.220947119109 -0.184225513209 -0.220788180227 -0.193469716226 -0.220889918757 -0.202526285822 -0.22099166152 -0.211588003408 -0.221093401456 -0.220654458361 -0.220885894279 -0.229809097373 -0.220690446453 -0.238946784032 -0.220816391706 -0.247985036323 -0.220942476341 -0.257029940099 -0.221068699281 -0.266081105443 -0.220825206628 -0.275114992477 -0.220593438842 -0.284129195963 -0.22074332497 -0.293148232322 -0.220893494423 -0.302175487323 -0.221043957073 -0.311210616228 -0.220765061248 -0.32010864618 -0.220497494956 -0.32898430237 -0.220670996657 -0.337983585591 -0.220844961006 -0.34699275816 -0.221019400392 -0.356011476985 -0.220705604405 -0.364760912175 -0.220402670336 -0.373485369837 -0.220599417687 -0.382464710489 -0.220796836909 -0.391455670622 -0.220994941014 -0.400457983381 -0.229651167689 --0.372628618266 -0.229927860609 --0.363916788693 -0.230214468241 --0.355179988105 -0.230055333409 --0.346184117298 -0.2298966246 --0.337197725325 -0.229738346453 --0.328221156938 -0.229982731598 --0.319360229871 -0.230237451662 --0.310476932009 -0.230100199264 --0.30146445936 -0.22996322397 --0.292459811701 -0.229826493489 --0.283463316686 -0.230038115602 --0.274465747101 -0.23026046152 --0.2654485128 -0.230145343804 --0.256419856395 -0.230030355863 --0.247397424641 -0.229915487123 --0.238381597951 -0.230093957864 --0.229262238546 -0.230283455294 --0.220125947072 -0.230190695811 --0.211081897015 -0.230097941071 --0.202042560598 -0.230005198313 --0.193008350415 -0.230150239999 --0.183783935068 -0.230306567083 --0.174545389225 -0.230236349911 --0.165487105809 -0.230166042246 --0.156432092014 -0.230095645653 --0.147380778756 -0.230206862782 --0.138070291722 -0.230329579231 --0.128748540587 -0.230282053326 --0.119677497547 -0.230234371529 --0.110608351528 -0.230186529656 --0.101541539237 -0.230263735966 --0.0921652269094 -0.230352597881 --0.0827805859827 -0.230327886942 --0.073698558281 -0.23030296403 --0.0646170846254 -0.230277841296 --0.0555366273984 -0.230320897489 --0.046115781938 -0.230375702657 --0.0366895767916 -0.230373864722 --0.027598537392 -0.230371805377 --0.0185067546307 -0.230369547691 --0.00941469741526 -0.230368369429 --2.16840434497e-19 -0.230369547691 -0.00941469741526 -0.230371805377 -0.0185067546307 -0.230373864722 -0.027598537392 -0.230375702657 -0.0366895767916 -0.230320897489 -0.046115781938 -0.230277841296 -0.0555366273984 -0.23030296403 -0.0646170846254 -0.230327886942 -0.073698558281 -0.230352597881 -0.0827805859827 -0.230263735966 -0.0921652269094 -0.230186529656 -0.101541539237 -0.230234371529 -0.110608351528 -0.230282053326 -0.119677497547 -0.230329579231 -0.128748540587 -0.230206862782 -0.138070291722 -0.230095645653 -0.147380778756 -0.230166042246 -0.156432092014 -0.230236349911 -0.165487105809 -0.230306567083 -0.174545389225 -0.230150239999 -0.183783935068 -0.230005198313 -0.193008350415 -0.230097941071 -0.202042560598 -0.230190695811 -0.211081897015 -0.230283455294 -0.220125947072 -0.230093957864 -0.229262238546 -0.229915487123 -0.238381597951 -0.230030355863 -0.247397424641 -0.230145343804 -0.256419856395 -0.23026046152 -0.2654485128 -0.230038115602 -0.274465747101 -0.229826493489 -0.283463316686 -0.22996322397 -0.292459811701 -0.230100199264 -0.30146445936 -0.230237451662 -0.310476932009 -0.229982731598 -0.319360229871 -0.229738346453 -0.328221156938 -0.2298966246 -0.337197725325 -0.230055333409 -0.346184117298 -0.230214468241 -0.355179988105 -0.229927860609 -0.363916788693 -0.229651167689 -0.372628618266 -0.238882287023 --0.371822026727 -0.239132569721 --0.363121940147 -0.23939182484 --0.354396880892 -0.239248099843 --0.345422616533 -0.239104751569 --0.336457773771 -0.238961790726 --0.32750266724 -0.239182858065 --0.318655488508 -0.239413269513 --0.309785951408 -0.239289307422 --0.300794878531 -0.239165589885 --0.291811572629 -0.239042111586 --0.282836367078 -0.239233481465 --0.273854392205 -0.239434545483 --0.264852747826 -0.239330604819 --0.255845331518 -0.239226779567 --0.246844107646 -0.239123059229 --0.237849435776 -0.239284449974 --0.228747282459 -0.239455822079 --0.219628201687 -0.239372118069 --0.210605281392 -0.239288415559 --0.201587050865 -0.239204704207 --0.192573903105 -0.239335771486 --0.183368096643 -0.239477060543 --0.174148168886 -0.23941373178 --0.165110938684 -0.239350318113 --0.156076955185 -0.239286849167 --0.147046658371 -0.239387300514 --0.13775591985 -0.239498154068 --0.128453921435 -0.239455375927 --0.119403898574 -0.239412448761 --0.110355763173 -0.239369373251 --0.101309945732 -0.23943898742 --0.0919542342762 -0.239519163653 --0.0825902078698 -0.239497028518 --0.0735291935104 -0.239474696873 --0.0644687369172 -0.239452191847 --0.0554092970245 -0.239490851569 --0.0460096154687 -0.239540143606 --0.0366045886723 -0.239538712155 --0.0275345987278 -0.239537082624 --0.0184638753228 -0.239535266169 --0.009392883356 -0.239534308316 --2.16840434497e-19 -0.239535266169 -0.009392883356 -0.239537082624 -0.0184638753228 -0.239538712155 -0.0275345987278 -0.239540143606 -0.0366045886723 -0.239490851569 -0.0460096154687 -0.239452191847 -0.0554092970245 -0.239474696873 -0.0644687369172 -0.239497028518 -0.0735291935104 -0.239519163653 -0.0825902078698 -0.23943898742 -0.0919542342762 -0.239369373251 -0.101309945732 -0.239412448761 -0.110355763173 -0.239455375927 -0.119403898574 -0.239498154068 -0.128453921435 -0.239387300514 -0.13775591985 -0.239286849167 -0.147046658371 -0.239350318113 -0.156076955185 -0.23941373178 -0.165110938684 -0.239477060543 -0.174148168886 -0.239335771486 -0.183368096643 -0.239204704207 -0.192573903105 -0.239288415559 -0.201587050865 -0.239372118069 -0.210605281392 -0.239455822079 -0.219628201687 -0.239284449974 -0.228747282459 -0.239123059229 -0.237849435776 -0.239226779567 -0.246844107646 -0.239330604819 -0.255845331518 -0.239434545483 -0.264852747826 -0.239233481465 -0.273854392205 -0.239042111586 -0.282836367078 -0.239165589885 -0.291811572629 -0.239289307422 -0.300794878531 -0.239413269513 -0.309785951408 -0.239182858065 -0.318655488508 -0.238961790726 -0.32750266724 -0.239104751569 -0.336457773771 -0.239248099843 -0.345422616533 -0.23939182484 -0.354396880892 -0.239132569721 -0.363121940147 -0.238882287023 -0.371822026727 -0.247858830684 --0.372350682429 -0.248139748072 --0.36364105674 -0.248430763083 --0.354906400577 -0.248269207727 --0.345919098863 -0.248108077683 --0.336941221707 -0.247947377225 --0.327973061263 -0.248195494053 --0.319115453985 -0.248454115439 --0.310235439298 -0.248314778814 --0.30123120773 -0.248175705427 --0.292234737742 -0.248036906388 --0.283246360049 -0.248251707179 --0.274253144337 -0.248477387284 --0.26524021369 -0.248360551802 --0.256219532139 -0.24824383448 --0.247205014174 -0.248127241492 --0.238197039265 -0.248308409796 --0.229082930015 -0.248500769484 --0.21995184157 -0.248406648761 --0.210915533416 -0.248312530916 --0.201883909558 -0.248218405357 --0.192857355537 -0.248365559114 --0.183638953896 -0.248524193066 --0.174406395508 -0.248452968328 --0.16535568232 -0.248381632033 --0.156308202787 -0.248310225241 --0.147264398477 -0.248423066874 --0.137960555697 -0.248547572599 --0.128645426521 -0.248499390129 --0.119581829515 -0.248451058799 --0.110520106659 -0.248402562051 --0.101460702741 -0.248480838287 --0.092091500013 -0.248570959733 --0.0827139545225 -0.248545949998 --0.0736392980185 -0.248520733324 --0.0645651926218 -0.2484953156 --0.055492096413 -0.248538892737 --0.0460786675632 -0.248594401221 --0.03665987857 -0.248592631649 --0.0275761953393 -0.248590651279 --0.0184917720928 -0.248588437081 --0.0094070755878 -0.248587262899 -0 -0.248588437081 -0.0094070755878 -0.248590651279 -0.0184917720928 -0.248592631649 -0.0275761953393 -0.248594401221 -0.03665987857 -0.248538892737 -0.0460786675632 -0.2484953156 -0.055492096413 -0.248520733324 -0.0645651926218 -0.248545949998 -0.0736392980185 -0.248570959733 -0.0827139545225 -0.248480838287 -0.092091500013 -0.248402562051 -0.101460702741 -0.248451058799 -0.110520106659 -0.248499390129 -0.119581829515 -0.248547572599 -0.128645426521 -0.248423066874 -0.137960555697 -0.248310225241 -0.147264398477 -0.248381632033 -0.156308202787 -0.248452968328 -0.16535568232 -0.248524193066 -0.174406395508 -0.248365559114 -0.183638953896 -0.248218405357 -0.192857355537 -0.248312530916 -0.201883909558 -0.248406648761 -0.210915533416 -0.248500769484 -0.21995184157 -0.248308409796 -0.229082930015 -0.248127241492 -0.238197039265 -0.24824383448 -0.247205014174 -0.248360551802 -0.256219532139 -0.248477387284 -0.26524021369 -0.248251707179 -0.274253144337 -0.248036906388 -0.283246360049 -0.248175705427 -0.292234737742 -0.248314778814 -0.30123120773 -0.248454115439 -0.310235439298 -0.248195494053 -0.319115453985 -0.247947377225 -0.327973061263 -0.248108077683 -0.336941221707 -0.248269207727 -0.345919098863 -0.248430763083 -0.354906400577 -0.248139748072 -0.36364105674 -0.247858830684 -0.372350682429 -0.256843421781 --0.372880595957 -0.257155007289 --0.36416138265 -0.257477805431 --0.355417091688 -0.257298396159 --0.3464167442 -0.257119466541 --0.33742581245 -0.256941014122 --0.328444591038 -0.257216182568 --0.319576498446 -0.257503022997 --0.310685962434 -0.257348301974 --0.301668563295 -0.257193874445 --0.292658909373 -0.257039745308 --0.28365734543 -0.257277976479 --0.274652829833 -0.257528290573 --0.26562856627 -0.257398547393 --0.256594604071 -0.257268924679 --0.247566782164 -0.257139440741 --0.238545505432 -0.25734040131 --0.229419379175 -0.257553781186 --0.220276227174 -0.25744922762 --0.21122651492 -0.25734467829 --0.202181475109 -0.257240133263 --0.193141501148 -0.257403391127 --0.183910453894 -0.257579371662 --0.174665210721 -0.257500231225 --0.165600993337 -0.257420975799 --0.156540005282 -0.257341617204 --0.147482669911 -0.25746685232 --0.138165657456 -0.257605031929 --0.128837342054 -0.257551451243 --0.119760156431 -0.257497704831 --0.1106848343 -0.257443770025 --0.101611825279 -0.25753072048 --0.0922290734265 -0.2576308004 --0.0828379535489 -0.257602913149 --0.0737496354662 -0.257574802903 --0.0646618612348 -0.257546463706 --0.0555750888329 -0.257594968005 --0.0461478534607 -0.257656703538 --0.0367152422213 -0.257654595294 --0.0276178472825 -0.257652246569 --0.0185197058216 -0.257649639957 --0.00942128641518 -0.257648272323 -0 -0.257649639957 -0.00942128641518 -0.257652246569 -0.0185197058216 -0.257654595294 -0.0276178472825 -0.257656703538 -0.0367152422213 -0.257594968005 -0.0461478534607 -0.257546463706 -0.0555750888329 -0.257574802903 -0.0646618612348 -0.257602913149 -0.0737496354662 -0.2576308004 -0.0828379535489 -0.25753072048 -0.0922290734265 -0.257443770025 -0.101611825279 -0.257497704831 -0.1106848343 -0.257551451243 -0.119760156431 -0.257605031929 -0.128837342054 -0.25746685232 -0.138165657456 -0.257341617204 -0.147482669911 -0.257420975799 -0.156540005282 -0.257500231225 -0.165600993337 -0.257579371662 -0.174665210721 -0.257403391127 -0.183910453894 -0.257240133263 -0.193141501148 -0.25734467829 -0.202181475109 -0.25744922762 -0.21122651492 -0.257553781186 -0.220276227174 -0.25734040131 -0.229419379175 -0.257139440741 -0.238545505432 -0.257268924679 -0.247566782164 -0.257398547393 -0.256594604071 -0.257528290573 -0.26562856627 -0.257277976479 -0.274652829833 -0.257039745308 -0.28365734543 -0.257193874445 -0.292658909373 -0.257348301974 -0.301668563295 -0.257503022997 -0.310685962434 -0.257216182568 -0.319576498446 -0.256941014122 -0.328444591038 -0.257119466541 -0.33742581245 -0.257298396159 -0.3464167442 -0.257477805431 -0.355417091688 -0.257155007289 -0.36416138265 -0.256843421781 -0.372880595957 -0.265835698426 --0.373411774802 -0.266177956481 --0.364682933089 -0.26653254893 --0.355928961386 -0.266335276732 --0.346915553692 -0.266138532803 --0.337911547528 -0.265942307909 --0.328917250362 -0.266244553571 --0.320038643355 -0.266559633489 --0.311137530782 -0.266389510055 --0.302106948793 -0.26621972196 --0.293084102499 -0.26605025587 --0.284069337336 -0.266311930036 --0.275053487281 -0.266586890731 --0.266017831502 -0.266444217657 --0.256970560325 -0.266301685546 --0.247929429822 -0.266159305883 --0.238894834789 -0.266380051245 --0.229756630092 -0.266614456726 --0.22060136464 -0.266499479508 --0.211538241337 -0.266384501534 --0.202479767561 -0.266269522967 --0.19342635438 -0.266448887389 --0.184182603364 -0.26664222367 --0.174924621342 -0.266555149775 --0.165846884457 -0.266467968736 --0.156772363419 -0.266380669848 --0.147701492821 -0.266518299074 --0.138371257307 -0.266670159756 --0.129029686623 -0.266611182675 --0.119938897097 -0.266552005148 --0.110849957544 -0.266492621864 --0.101763320972 -0.266588251646 --0.0923669585861 -0.266698301529 --0.0829622057646 -0.266667540043 --0.0738602090719 -0.266636528383 --0.0647587474214 -0.266605265536 --0.0556582813833 -0.266658699579 --0.0462171781477 -0.266726671979 --0.0367706828153 -0.266724225018 --0.0276595573363 -0.266721501469 --0.0185476783533 -0.266718507691 --0.00943551714935 -0.266716946307 -2.16840434497e-19 -0.266718507691 -0.00943551714935 -0.266721501469 -0.0185476783533 -0.266724225018 -0.0276595573363 -0.266726671979 -0.0367706828153 -0.266658699579 -0.0462171781477 -0.266605265536 -0.0556582813833 -0.266636528383 -0.0647587474214 -0.266667540043 -0.0738602090719 -0.266698301529 -0.0829622057646 -0.266588251646 -0.0923669585861 -0.266492621864 -0.101763320972 -0.266552005148 -0.110849957544 -0.266611182675 -0.119938897097 -0.266670159756 -0.129029686623 -0.266518299074 -0.138371257307 -0.266380669848 -0.147701492821 -0.266467968736 -0.156772363419 -0.266555149775 -0.165846884457 -0.26664222367 -0.174924621342 -0.266448887389 -0.184182603364 -0.266269522967 -0.19342635438 -0.266384501534 -0.202479767561 -0.266499479508 -0.211538241337 -0.266614456726 -0.22060136464 -0.266380051245 -0.229756630092 -0.266159305883 -0.238894834789 -0.266301685546 -0.247929429822 -0.266444217657 -0.256970560325 -0.266586890731 -0.266017831502 -0.266311930036 -0.275053487281 -0.26605025587 -0.284069337336 -0.26621972196 -0.293084102499 -0.266389510055 -0.302106948793 -0.266559633489 -0.311137530782 -0.266244553571 -0.320038643355 -0.265942307909 -0.328917250362 -0.266138532803 -0.337911547528 -0.266335276732 -0.346915553692 -0.26653254893 -0.355928961386 -0.266177956481 -0.364682933089 -0.265835698426 -0.373411774802 -0.275069696207 --0.32802076568 -0.275347961655 --0.319159413297 -0.27563805029 --0.310275554138 -0.275481596181 --0.301271611763 -0.27532544883 --0.292275331642 -0.275169582419 --0.283287047536 -0.275410476556 --0.27429072797 -0.275663610449 --0.265274603837 -0.275532422884 --0.256253778465 -0.27540136729 --0.24723904213 -0.275270436511 --0.238230778675 -0.275473603745 --0.229114122226 -0.275689364234 --0.219980426346 -0.275583680425 --0.210943619606 -0.275477992612 --0.201911421839 -0.275372300884 --0.192884249624 -0.275537310898 --0.183663770114 -0.27571520061 --0.174429080312 -0.275635211471 --0.165377578693 -0.275555126561 --0.156329268619 -0.275474929424 --0.147284586451 -0.2756014848 --0.1379790344 -0.275741156471 --0.1286621608 -0.275687035827 --0.119597566138 -0.275632733326 --0.110534813151 -0.275578248208 --0.101474346538 -0.275666089959 --0.0921037267273 -0.275767223797 --0.0827247425563 -0.275739104616 --0.0736489508499 -0.275710744018 --0.064573688736 -0.275682160731 --0.0554994190123 -0.275731100507 --0.0460847562483 -0.275793436609 --0.0366647230362 -0.275791397737 --0.0275798412575 -0.275789106002 --0.0184942186436 -0.275786566269 --0.00940832041669 -0.27578523136 -0 -0.275786566269 -0.00940832041669 -0.275789106002 -0.0184942186436 -0.275791397737 -0.0275798412575 -0.275793436609 -0.0366647230362 -0.275731100507 -0.0460847562483 -0.275682160731 -0.0554994190123 -0.275710744018 -0.064573688736 -0.275739104616 -0.0736489508499 -0.275767223797 -0.0827247425563 -0.275666089959 -0.0921037267273 -0.275578248208 -0.101474346538 -0.275632733326 -0.110534813151 -0.275687035827 -0.119597566138 -0.275741156471 -0.1286621608 -0.2756014848 -0.1379790344 -0.275474929424 -0.147284586451 -0.275555126561 -0.156329268619 -0.275635211471 -0.165377578693 -0.27571520061 -0.174429080312 -0.275537310898 -0.183663770114 -0.275372300884 -0.192884249624 -0.275477992612 -0.201911421839 -0.275583680425 -0.210943619606 -0.275689364234 -0.219980426346 -0.275473603745 -0.229114122226 -0.275270436511 -0.238230778675 -0.27540136729 -0.24723904213 -0.275532422884 -0.256253778465 -0.275663610449 -0.265274603837 -0.275410476556 -0.27429072797 -0.275169582419 -0.283287047536 -0.27532544883 -0.292275331642 -0.275481596181 -0.301271611763 -0.27563805029 -0.310275554138 -0.275347961655 -0.319159413297 -0.275069696207 -0.32802076568 -0.284176859091 --0.327167778104 -0.28443097868 --0.318322716535 -0.284695904457 --0.309455167689 -0.284553221241 --0.300476629955 -0.284410797702 --0.29150568456 -0.28426862633 --0.282542669054 -0.284488611393 --0.273564850113 -0.284719764582 --0.264567223434 -0.28460013555 --0.25557159808 -0.284480635905 --0.246582025975 -0.284361246234 --0.237598874944 -0.284546729397 --0.228502671046 -0.284743712645 --0.219389428457 -0.284647379993 --0.210377692649 -0.284551051944 --0.201370535053 -0.284454715117 --0.192368351861 -0.284605283363 --0.18316999699 -0.284767618683 --0.173957439498 -0.284694761086 --0.164930917307 -0.284621819624 --0.155907562849 -0.284548769609 --0.146887801775 -0.284664176057 --0.137605736971 -0.284791570058 --0.128312364824 -0.284742341517 --0.119272701278 -0.284692961016 --0.110234870222 -0.284643409613 --0.101199308241 -0.284723413626 --0.0918532043858 -0.284815572242 --0.0824987536413 -0.284790101687 --0.0734478900564 -0.284764410932 --0.0643975562849 -0.284738525489 --0.0553482114243 -0.28478293923 --0.0459587369183 -0.284839594095 --0.0365639119206 -0.284837971153 --0.0275039987135 -0.284836118021 --0.0184433563703 -0.284834022761 --0.00938244496082 -0.284832910131 -2.16840434497e-19 -0.284834022761 -0.00938244496082 -0.284836118021 -0.0184433563703 -0.284837971153 -0.0275039987135 -0.284839594095 -0.0365639119206 -0.28478293923 -0.0459587369183 -0.284738525489 -0.0553482114243 -0.284764410932 -0.0643975562849 -0.284790101687 -0.0734478900564 -0.284815572242 -0.0824987536413 -0.284723413626 -0.0918532043858 -0.284643409613 -0.101199308241 -0.284692961016 -0.110234870222 -0.284742341517 -0.119272701278 -0.284791570058 -0.128312364824 -0.284664176057 -0.137605736971 -0.284548769609 -0.146887801775 -0.284621819624 -0.155907562849 -0.284694761086 -0.164930917307 -0.284767618683 -0.173957439498 -0.284605283363 -0.18316999699 -0.284454715117 -0.192368351861 -0.284551051944 -0.201370535053 -0.284647379993 -0.210377692649 -0.284743712645 -0.219389428457 -0.284546729397 -0.228502671046 -0.284361246234 -0.237598874944 -0.284480635905 -0.246582025975 -0.28460013555 -0.25557159808 -0.284719764582 -0.264567223434 -0.284488611393 -0.273564850113 -0.28426862633 -0.282542669054 -0.284410797702 -0.29150568456 -0.284553221241 -0.300476629955 -0.284695904457 -0.309455167689 -0.28443097868 -0.318322716535 -0.284176859091 -0.327167778104 -0.29314643865 --0.327728855145 -0.293427325558 --0.318871312022 -0.293720169091 --0.309991229175 -0.293562264739 --0.300997033758 -0.293404642568 --0.292010411142 -0.293247313591 --0.283031715637 -0.293490483838 --0.274040456003 -0.293746000929 --0.265029333695 -0.293613598777 --0.256017906715 -0.293481340678 --0.247012524896 -0.293349211326 --0.238013547422 -0.293554259896 --0.228903017001 -0.293772017929 --0.219775404749 -0.293665376869 --0.210747742834 -0.293558740235 --0.201724640336 -0.293452095477 --0.192706489384 -0.293618591561 --0.183493068299 -0.293798088144 --0.17426540047 -0.293717404946 --0.165222823118 -0.293636628613 --0.156183402794 -0.293555727237 --0.14714755589 -0.2936833818 --0.137849811617 -0.29382429695 --0.128540731022 -0.293769736876 --0.119484906426 -0.29371499581 --0.110430896087 -0.293660067826 --0.10137914843 -0.293748646038 --0.0920169045105 -0.293850646981 --0.0826462825828 -0.293822336078 --0.0735791704675 -0.293793790503 --0.0645125811023 -0.293765009486 --0.0554469706399 -0.293814287108 --0.0460410494009 -0.293877098597 --0.0366297619252 -0.293875140272 --0.0275535403926 -0.293872927117 --0.018476580657 -0.293870448761 --0.00939934751652 -0.293869139014 -2.16840434497e-19 -0.293870448761 -0.00939934751652 -0.293872927117 -0.018476580657 -0.293875140272 -0.0275535403926 -0.293877098597 -0.0366297619252 -0.293814287108 -0.0460410494009 -0.293765009486 -0.0554469706399 -0.293793790503 -0.0645125811023 -0.293822336078 -0.0735791704675 -0.293850646981 -0.0826462825828 -0.293748646038 -0.0920169045105 -0.293660067826 -0.10137914843 -0.29371499581 -0.110430896087 -0.293769736876 -0.119484906426 -0.29382429695 -0.128540731022 -0.2936833818 -0.137849811617 -0.293555727237 -0.14714755589 -0.293636628613 -0.156183402794 -0.293717404946 -0.165222823118 -0.293798088144 -0.17426540047 -0.293618591561 -0.183493068299 -0.293452095477 -0.192706489384 -0.293558740235 -0.201724640336 -0.293665376869 -0.210747742834 -0.293772017929 -0.219775404749 -0.293554259896 -0.228903017001 -0.293349211326 -0.238013547422 -0.293481340678 -0.247012524896 -0.293613598777 -0.256017906715 -0.293746000929 -0.265029333695 -0.293490483838 -0.274040456003 -0.293247313591 -0.283031715637 -0.293404642568 -0.292010411142 -0.293562264739 -0.300997033758 -0.293720169091 -0.309991229175 -0.293427325558 -0.318871312022 -0.29314643865 -0.327728855145 -0.302125836538 --0.328291634425 -0.302433525987 --0.319421559786 -0.302754310621 --0.310528889449 -0.302581158781 --0.301519011118 -0.302408323783 --0.292516681467 -0.302235817967 --0.283522281028 -0.302502184569 --0.274517504472 -0.30278208936 --0.265492815763 -0.30263691053 --0.256465573218 -0.302491882951 --0.247444343963 -0.302346996219 --0.238429501994 -0.302571624784 --0.229304587546 -0.302810180541 --0.220162547137 -0.302693216298 --0.21111891548 -0.302576257459 --0.202079828633 -0.302459292134 --0.193045684199 -0.302641726059 --0.183817124118 -0.302838409123 --0.174574281554 -0.302749888846 --0.165515614066 -0.302661260454 --0.156460089553 -0.302572498385 --0.147408126096 -0.302712419601 --0.138094624245 -0.302866863534 --0.128769753946 -0.30280695806 --0.119697730505 -0.302746850428 --0.110627514483 -0.302686545731 --0.101559554414 -0.302783699683 --0.0921810880424 -0.302895547776 --0.0827942164954 -0.302864399137 --0.0737108225267 -0.302832994055 --0.0646279402388 -0.302801320423 --0.0555460313023 -0.302855480935 --0.0461235884241 -0.302924455399 --0.036695758815 -0.302922148736 --0.0276031916988 -0.30291957004 --0.0185098789931 -0.302916707961 --0.00941628774828 -0.302915206788 -0 -0.302916707961 -0.00941628774828 -0.30291957004 -0.0185098789931 -0.302922148736 -0.0276031916988 -0.302924455399 -0.036695758815 -0.302855480935 -0.0461235884241 -0.302801320423 -0.0555460313023 -0.302832994055 -0.0646279402388 -0.302864399137 -0.0737108225267 -0.302895547776 -0.0827942164954 -0.302783699683 -0.0921810880424 -0.302686545731 -0.101559554414 -0.302746850428 -0.110627514483 -0.30280695806 -0.119697730505 -0.302866863534 -0.128769753946 -0.302712419601 -0.138094624245 -0.302572498385 -0.147408126096 -0.302661260454 -0.156460089553 -0.302749888846 -0.165515614066 -0.302838409123 -0.174574281554 -0.302641726059 -0.183817124118 -0.302459292134 -0.193045684199 -0.302576257459 -0.202079828633 -0.302693216298 -0.21111891548 -0.302810180541 -0.220162547137 -0.302571624784 -0.229304587546 -0.302346996219 -0.238429501994 -0.302491882951 -0.247444343963 -0.30263691053 -0.256465573218 -0.30278208936 -0.265492815763 -0.302502184569 -0.274517504472 -0.302235817967 -0.283522281028 -0.302408323783 -0.292516681467 -0.302581158781 -0.301519011118 -0.302754310621 -0.310528889449 -0.302433525987 -0.319421559786 -0.302125836538 -0.328291634425 -0.311114723926 --0.328856158238 -0.311449232147 --0.319973503456 -0.311797981005 --0.31106817986 -0.311609576738 --0.30204258283 -0.311421518281 --0.293024526883 -0.311233804985 --0.284014382781 -0.311523386256 --0.274996024057 -0.311827700487 --0.26595770441 -0.31166971783 --0.256914602091 -0.311511898693 --0.247877492559 -0.311354240764 --0.238846764529 -0.31159846641 --0.229707402238 -0.311857843131 --0.220550864197 -0.311730550875 --0.211491228355 -0.311603258882 --0.202436122224 -0.31147596671 --0.193385958687 -0.311674345544 --0.184142189101 -0.311888223853 --0.174884095487 -0.311791851552 --0.165809300296 -0.311695354516 --0.156737627306 -0.311598735632 --0.147669521559 -0.311750947083 --0.138340195759 -0.311918924971 --0.128999456353 -0.311853663607 --0.119911201227 -0.311788188873 --0.110824740835 -0.311722492926 --0.101740524498 -0.311828242874 --0.0923457631941 -0.31194996713 --0.0829425714879 -0.311915959117 --0.0738428572914 -0.31188167856 --0.064743643803 -0.311847114613 --0.0556453983994 -0.311906162326 --0.0462063543326 -0.311981312639 --0.036761905193 -0.311978656937 --0.0276529557015 -0.311975712602 --0.0185432527489 -0.311972466663 --0.0094332665196 -0.311970766771 -0 -0.311972466663 -0.0094332665196 -0.311975712602 -0.0185432527489 -0.311978656937 -0.0276529557015 -0.311981312639 -0.036761905193 -0.311906162326 -0.0462063543326 -0.311847114613 -0.0556453983994 -0.31188167856 -0.064743643803 -0.311915959117 -0.0738428572914 -0.31194996713 -0.0829425714879 -0.311828242874 -0.0923457631941 -0.311722492926 -0.101740524498 -0.311788188873 -0.110824740835 -0.311853663607 -0.119911201227 -0.311918924971 -0.128999456353 -0.311750947083 -0.138340195759 -0.311598735632 -0.147669521559 -0.311695354516 -0.156737627306 -0.311791851552 -0.165809300296 -0.311888223853 -0.174884095487 -0.311674345544 -0.184142189101 -0.31147596671 -0.193385958687 -0.311603258882 -0.202436122224 -0.311730550875 -0.211491228355 -0.311857843131 -0.220550864197 -0.31159846641 -0.229707402238 -0.311354240764 -0.238846764529 -0.311511898693 -0.247877492559 -0.31166971783 -0.256914602091 -0.311827700487 -0.26595770441 -0.311523386256 -0.274996024057 -0.311233804985 -0.284014382781 -0.311421518281 -0.293024526883 -0.311609576738 -0.30204258283 -0.311797981005 -0.31106817986 -0.311449232147 -0.319973503456 -0.311114723926 -0.328856158238 -0.320744955908 --0.310080821199 -0.320570485259 --0.301085709411 -0.320396332273 --0.292098067262 -0.320222487522 --0.283118241017 -0.320490865517 --0.274122269059 -0.320772909737 --0.2651063449 -0.320626629035 --0.256093511333 -0.320480492706 --0.247086616645 -0.320334508839 --0.238086049007 -0.32056082163 --0.228971393051 -0.3208011786 --0.219839568269 -0.320683364054 --0.210810061716 -0.320565546099 --0.201785038709 -0.320447710867 --0.192764909758 -0.320631492654 --0.183547841764 -0.320829647041 --0.174316461301 -0.320740481599 --0.165271688566 -0.320651204451 --0.156230017577 -0.320561825459 --0.147191889691 -0.320702765438 --0.137890886196 -0.32085832212 --0.128578484254 -0.320798018684 --0.119520217596 -0.320737505199 --0.110463727342 -0.32067678822 --0.101409461806 -0.320774623818 --0.0920442467726 -0.320887269369 --0.082670622224 -0.320855943618 --0.0736008989086 -0.320824374503 --0.0645316776622 -0.320792536323 --0.0554634155629 -0.320846982601 --0.046054709568 -0.320916368318 --0.0366406242064 -0.320914123314 --0.0275617125442 -0.320911616353 --0.0184820628573 -0.320908825258 --0.00940213754122 -0.320907354095 -2.16840434497e-19 -0.320908825258 -0.00940213754122 -0.320911616353 -0.0184820628573 -0.320914123314 -0.0275617125442 -0.320916368318 -0.0366406242064 -0.320846982601 -0.046054709568 -0.320792536323 -0.0554634155629 -0.320824374503 -0.0645316776622 -0.320855943618 -0.0736008989086 -0.320887269369 -0.082670622224 -0.320774623818 -0.0920442467726 -0.32067678822 -0.101409461806 -0.320737505199 -0.110463727342 -0.320798018684 -0.119520217596 -0.32085832212 -0.128578484254 -0.320702765438 -0.137890886196 -0.320561825459 -0.147191889691 -0.320651204451 -0.156230017577 -0.320740481599 -0.165271688566 -0.320829647041 -0.174316461301 -0.320631492654 -0.183547841764 -0.320447710867 -0.192764909758 -0.320565546099 -0.201785038709 -0.320683364054 -0.210810061716 -0.3208011786 -0.219839568269 -0.32056082163 -0.228971393051 -0.320334508839 -0.238086049007 -0.320480492706 -0.247086616645 -0.320626629035 -0.256093511333 -0.320772909737 -0.2651063449 -0.320490865517 -0.274122269059 -0.320222487522 -0.283118241017 -0.320396332273 -0.292098067262 -0.320570485259 -0.301085709411 -0.320744955908 -0.310080821199 -0.329668467414 --0.309133374479 -0.329508027268 --0.300167561665 -0.329347889606 --0.291209159149 -0.329188037071 --0.282258495016 -0.329435055643 --0.273283920838 -0.329694652245 --0.26428938609 -0.329560171692 --0.255305631414 -0.329425827107 --0.246327772219 -0.329291615245 --0.237356178995 -0.329499866398 --0.228265173503 -0.329721050949 --0.219156996323 -0.329612780628 --0.210156419488 -0.329504510411 --0.201160289646 -0.329396216656 --0.192168993279 -0.32956529162 --0.1829775173 -0.329747604651 --0.173771741456 -0.329665713586 --0.164755793686 -0.329583725599 --0.155742926683 -0.329501631894 --0.146733560644 -0.329631200074 --0.137459727479 -0.329774234646 --0.128174515674 -0.3297189285 --0.119145022145 -0.329663424504 --0.110117291454 -0.329607736431 --0.101091767582 -0.329697577919 --0.0917549152772 -0.329801055354 --0.0824096693039 -0.329772452306 --0.0733687174489 -0.32974360883 --0.0643282677537 -0.32971452015 --0.0552887718434 -0.329764341224 --0.045909206179 -0.32982791569 --0.0365242821668 -0.329826091023 --0.02747418586 -0.32982401459 --0.0184233647268 -0.329821673566 --0.00937227570326 -0.329820434085 -0 -0.329821673566 -0.00937227570326 -0.32982401459 -0.0184233647268 -0.329826091023 -0.02747418586 -0.32982791569 -0.0365242821668 -0.329764341224 -0.045909206179 -0.32971452015 -0.0552887718434 -0.32974360883 -0.0643282677537 -0.329772452306 -0.0733687174489 -0.329801055354 -0.0824096693039 -0.329697577919 -0.0917549152772 -0.329607736431 -0.101091767582 -0.329663424504 -0.110117291454 -0.3297189285 -0.119145022145 -0.329774234646 -0.128174515674 -0.329631200074 -0.137459727479 -0.329501631894 -0.146733560644 -0.329583725599 -0.155742926683 -0.329665713586 -0.164755793686 -0.329747604651 -0.173771741456 -0.32956529162 -0.1829775173 -0.329396216656 -0.192168993279 -0.329504510411 -0.201160289646 -0.329612780628 -0.210156419488 -0.329721050949 -0.219156996323 -0.329499866398 -0.228265173503 -0.329291615245 -0.237356178995 -0.329425827107 -0.246327772219 -0.329560171692 -0.255305631414 -0.329694652245 -0.26428938609 -0.329435055643 -0.273283920838 -0.329188037071 -0.282258495016 -0.329347889606 -0.291209159149 -0.329508027268 -0.300167561665 -0.329668467414 -0.309133374479 -0.338703945726 --0.264824761986 -0.338556832642 --0.255822731636 -0.338409872532 --0.246826574177 -0.338263060245 --0.237836669818 -0.338490645655 --0.228729026973 -0.338732371129 --0.219604160402 -0.338613901838 --0.210585148594 -0.338495435498 --0.201570571817 -0.338376958897 --0.19256080853 -0.338561772823 --0.183351828441 -0.338761052942 --0.174128505518 -0.338671434022 --0.165093982099 -0.338581693448 --0.156062521305 -0.338491830368 --0.14703454261 -0.338633511217 --0.137742504225 -0.338789904079 --0.128439048974 -0.338729322595 --0.119390853644 -0.338668539411 --0.110344406028 -0.338607534028 --0.101300149366 -0.338705832705 --0.0919445511326 -0.33881904894 --0.0825805322156 -0.338787642224 --0.07352077647 -0.338755962601 --0.0644615102707 -0.338724017988 --0.0554031914221 -0.338778656972 --0.046004532305 -0.338848321817 --0.0366004946955 -0.338846159198 --0.0275315237623 -0.338843717411 --0.0184618172168 -0.338840995161 --0.00939183773559 -0.338839561169 -2.16840434497e-19 -0.338840995161 -0.00939183773559 -0.338843717411 -0.0184618172168 -0.338846159198 -0.0275315237623 -0.338848321817 -0.0366004946955 -0.338778656972 -0.046004532305 -0.338724017988 -0.0554031914221 -0.338755962601 -0.0644615102707 -0.338787642224 -0.07352077647 -0.33881904894 -0.0825805322156 -0.338705832705 -0.0919445511326 -0.338607534028 -0.101300149366 -0.338668539411 -0.110344406028 -0.338729322595 -0.119390853644 -0.338789904079 -0.128439048974 -0.338633511217 -0.137742504225 -0.338491830368 -0.14703454261 -0.338581693448 -0.156062521305 -0.338671434022 -0.165093982099 -0.338761052942 -0.174128505518 -0.338561772823 -0.183351828441 -0.338376958897 -0.19256080853 -0.338495435498 -0.201570571817 -0.338613901838 -0.210585148594 -0.338732371129 -0.219604160402 -0.338490645655 -0.228729026973 -0.338263060245 -0.237836669818 -0.338409872532 -0.246826574177 -0.338556832642 -0.255822731636 -0.338703945726 -0.264824761986 -0.347724920797 --0.265362069175 -0.347565159292 --0.256341718324 -0.347405566427 --0.247327223388 -0.347246145816 --0.238318962132 -0.347493098433 --0.229194608313 -0.347755388682 --0.220052972594 -0.34762670284 --0.211015467292 -0.347498020556 --0.201982380141 -0.347369351937 --0.192954103975 -0.347569923768 --0.183727541225 -0.347786179708 --0.174486579335 -0.347688810028 --0.165433421408 -0.347591304042 --0.156383309829 -0.34749367377 --0.14733666834 -0.347647489938 --0.138026327653 -0.347817266305 --0.128704531188 -0.347751392539 --0.119637576193 -0.347685300148 --0.110572356777 -0.347618968734 --0.101509318134 -0.347725757499 --0.092134880176 -0.347848732234 --0.0827519901685 -0.347814492404 --0.0736733723203 -0.347779973698 --0.0645952351695 -0.347745171925 --0.0555180372583 -0.347804630133 --0.0461001865651 -0.347880394608 --0.036676936049 -0.347877899475 --0.0275890336959 -0.347875101387 --0.0185003855727 -0.34787199702 --0.0094114587918 -0.347870366031 --2.16840434497e-19 -0.34787199702 -0.0094114587918 -0.347875101387 -0.0185003855727 -0.347877899475 -0.0275890336959 -0.347880394608 -0.036676936049 -0.347804630133 -0.0461001865651 -0.347745171925 -0.0555180372583 -0.347779973698 -0.0645952351695 -0.347814492404 -0.0736733723203 -0.347848732234 -0.0827519901685 -0.347725757499 -0.092134880176 -0.347618968734 -0.101509318134 -0.347685300148 -0.110572356777 -0.347751392539 -0.119637576193 -0.347817266305 -0.128704531188 -0.347647489938 -0.138026327653 -0.34749367377 -0.14733666834 -0.347591304042 -0.156383309829 -0.347688810028 -0.165433421408 -0.347786179708 -0.174486579335 -0.347569923768 -0.183727541225 -0.347369351937 -0.192954103975 -0.347498020556 -0.201982380141 -0.34762670284 -0.211015467292 -0.347755388682 -0.220052972594 -0.347493098433 -0.229194608313 -0.347246145816 -0.238318962132 -0.347405566427 -0.247327223388 -0.347565159292 -0.256341718324 -0.347724920797 -0.265362069175 -0.356757272612 --0.265901351667 -0.356584843314 --0.256862623039 -0.356412612381 --0.247829744844 -0.356240558698 --0.238803080246 -0.356506902586 --0.229661935363 -0.356789789123 --0.220503450041 -0.356650878702 --0.211447396948 -0.356511964604 --0.202395739977 -0.356373072656 --0.193348896545 -0.35658942496 --0.184104660017 -0.356822691648 --0.174845970541 -0.356717548508 --0.165774126621 -0.356612272987 --0.15670530976 -0.356506869373 --0.147639950532 -0.356672822428 --0.138311214439 -0.356855993565 --0.128970984432 -0.356784817075 --0.119885210856 -0.356713407676 --0.110801160721 -0.356641758066 --0.101719285577 -0.356757053482 --0.0923259130888 -0.356889777888 --0.082924052366 -0.356852708126 --0.0738265172616 -0.356815343795 --0.064729450801 -0.356777682982 --0.055633316069 -0.35684198265 --0.0461961756694 -0.356923852338 --0.0367536113825 -0.356921015885 --0.0276467191689 -0.35691785532 --0.018539071498 -0.356914370689 --0.00943113994673 -0.35691254249 -0 -0.356914370689 -0.00943113994673 -0.35691785532 -0.018539071498 -0.356921015885 -0.0276467191689 -0.356923852338 -0.0367536113825 -0.35684198265 -0.0461961756694 -0.356777682982 -0.055633316069 -0.356815343795 -0.064729450801 -0.356852708126 -0.0738265172616 -0.356889777888 -0.082924052366 -0.356757053482 -0.0923259130888 -0.356641758066 -0.101719285577 -0.356713407676 -0.110801160721 -0.356784817075 -0.119885210856 -0.356855993565 -0.128970984432 -0.356672822428 -0.138311214439 -0.356506869373 -0.147639950532 -0.356612272987 -0.15670530976 -0.356717548508 -0.165774126621 -0.356822691648 -0.174845970541 -0.35658942496 -0.184104660017 -0.356373072656 -0.193348896545 -0.356511964604 -0.202395739977 -0.356650878702 -0.211447396948 -0.356789789123 -0.220503450041 -0.356506902586 -0.229661935363 -0.356240558698 -0.238803080246 -0.356412612381 -0.247829744844 -0.356584843314 -0.256862623039 -0.356757272612 -0.265901351667 -0.365558020549 --0.264943758707 -0.365397583892 --0.255939063157 -0.36523732978 --0.246940150083 -0.365077222806 --0.237947376881 -0.365325227778 --0.228834052091 -0.36558865133 --0.219703411783 -0.365459442912 --0.210681225743 -0.365330226782 --0.201663384125 -0.36520101215 --0.192650299689 -0.365402401283 --0.183436129649 -0.365619562785 --0.174207529989 -0.365521816454 --0.165169444582 -0.365423935166 --0.156134350958 -0.365325939383 --0.147102683202 -0.36548034851 --0.137805844793 -0.365650791603 --0.128497527761 -0.365584685136 --0.119445459288 -0.365518366329 --0.110395102485 -0.36545183331 --0.101346897892 -0.365558986982 --0.0919867945877 -0.365682367799 --0.082618230146 -0.365648055553 --0.0735544083387 -0.365613468096 --0.0644910541512 -0.365578594795 --0.0554286234186 -0.365638219399 --0.0460256520825 -0.365714208647 --0.0366172837493 -0.365711782521 --0.0275441556661 -0.365709058302 --0.018470290165 -0.365706027653 --0.0093961491204 -0.365704432274 --2.16840434497e-19 -0.365706027653 -0.0093961491204 -0.365709058302 -0.018470290165 -0.365711782521 -0.0275441556661 -0.365714208647 -0.0366172837493 -0.365638219399 -0.0460256520825 -0.365578594795 -0.0554286234186 -0.365613468096 -0.0644910541512 -0.365648055553 -0.0735544083387 -0.365682367799 -0.082618230146 -0.365558986982 -0.0919867945877 -0.36545183331 -0.101346897892 -0.365518366329 -0.110395102485 -0.365584685136 -0.119445459288 -0.365650791603 -0.128497527761 -0.36548034851 -0.137805844793 -0.365325939383 -0.147102683202 -0.365423935166 -0.156134350958 -0.365521816454 -0.165169444582 -0.365619562785 -0.174207529989 -0.365402401283 -0.183436129649 -0.36520101215 -0.192650299689 -0.365330226782 -0.201663384125 -0.365459442912 -0.210681225743 -0.36558865133 -0.219703411783 -0.365325227778 -0.228834052091 -0.365077222806 -0.237947376881 -0.36523732978 -0.246940150083 -0.365397583892 -0.255939063157 -0.365558020549 -0.264943758707 -0.374332491483 --0.264019018376 -0.374184158405 --0.255047225491 -0.374035977857 --0.24608114617 -0.373887933071 --0.237121126334 -0.374117425826 --0.228034613887 -0.374361208534 --0.218930795129 -0.374241797176 --0.209941335889 -0.374122359763 --0.200956169136 -0.374002919455 --0.191975700187 -0.374189228512 --0.182790547081 -0.37439014371 --0.173590971459 -0.374299859429 --0.16458549304 -0.374209439952 --0.155582971909 -0.374118911154 --0.146583840399 -0.374261676892 --0.137317799952 -0.374419289896 --0.128040293551 -0.374358299386 --0.119020772734 -0.374297109072 --0.110002950991 -0.374235725275 --0.100987260166 -0.374334658445 --0.0916592998842 -0.374448639351 --0.0823229048267 -0.374417114723 --0.0732916314001 -0.374385308886 --0.0642608234907 -0.374353239451 --0.055230933862 -0.374408147872 --0.0458609887878 -0.374478212158 --0.0364856706291 -0.374476212559 --0.0274451395804 -0.374473935986 --0.0184038883802 -0.374471362461 --0.00936236887826 -0.374470001464 -0 -0.374471362461 -0.00936236887826 -0.374473935986 -0.0184038883802 -0.374476212559 -0.0274451395804 -0.374478212158 -0.0364856706291 -0.374408147872 -0.0458609887878 -0.374353239451 -0.055230933862 -0.374385308886 -0.0642608234907 -0.374417114723 -0.0732916314001 -0.374448639351 -0.0823229048267 -0.374334658445 -0.0916592998842 -0.374235725275 -0.100987260166 -0.374297109072 -0.110002950991 -0.374358299386 -0.119020772734 -0.374419289896 -0.128040293551 -0.374261676892 -0.137317799952 -0.374118911154 -0.146583840399 -0.374209439952 -0.155582971909 -0.374299859429 -0.16458549304 -0.37439014371 -0.173590971459 -0.374189228512 -0.182790547081 -0.374002919455 -0.191975700187 -0.374122359763 -0.200956169136 -0.374241797176 -0.209941335889 -0.374361208534 -0.218930795129 -0.374117425826 -0.228034613887 -0.373887933071 -0.237121126334 -0.374035977857 -0.24608114617 -0.374184158405 -0.255047225491 -0.374332491483 -0.264019018376 -0.383355461543 --0.219438023249 -0.38322598326 --0.210427672928 -0.383096493354 --0.201421605927 -0.382966998103 --0.192420217166 -0.383168841328 --0.183215170602 -0.383386507335 --0.173995643974 -0.383288582201 --0.164969108557 -0.383190506714 --0.155945517498 -0.383092307232 --0.146925298748 -0.383247037372 --0.137638564792 -0.383417844867 --0.128340320544 -0.383351636319 --0.11929960232 -0.383285225747 --0.110260565943 -0.383218585458 --0.101223648672 -0.383325880794 --0.0918743940199 -0.38344949406 --0.0825166692656 -0.383415194709 --0.0734640849346 -0.383380581515 --0.0644119505479 -0.383345688702 --0.0553607250209 -0.383405351719 --0.0459690863836 -0.383481428044 --0.0365720523 -0.383479100254 --0.0275101287792 -0.383476463485 --0.0184474725428 -0.383473514929 --0.00938454192642 -0.383471967669 -0 -0.383473514929 -0.00938454192642 -0.383476463485 -0.0184474725428 -0.383479100254 -0.0275101287792 -0.383481428044 -0.0365720523 -0.383405351719 -0.0459690863836 -0.383345688702 -0.0553607250209 -0.383380581515 -0.0644119505479 -0.383415194709 -0.0734640849346 -0.38344949406 -0.0825166692656 -0.383325880794 -0.0918743940199 -0.383218585458 -0.101223648672 -0.383285225747 -0.110260565943 -0.383351636319 -0.11929960232 -0.383417844867 -0.128340320544 -0.383247037372 -0.137638564792 -0.383092307232 -0.146925298748 -0.383190506714 -0.155945517498 -0.383288582201 -0.164969108557 -0.383386507335 -0.173995643974 -0.383168841328 -0.183215170602 -0.382966998103 -0.192420217166 -0.383096493354 -0.201421605927 -0.38322598326 -0.210427672928 -0.383355461543 -0.219438023249 -0.392363274975 --0.219947418843 -0.39222371765 --0.210916108398 -0.392084157409 --0.201889065689 -0.391944581046 --0.192866684998 -0.392161978041 --0.183641637913 -0.39239642204 --0.174402052928 -0.392290845697 --0.165354384606 -0.392185098316 --0.156309644438 -0.392079211827 --0.147268258916 -0.392245936562 --0.137960719094 -0.392429962702 --0.128641624053 -0.39235852524 --0.119579633309 -0.392286863721 --0.110519304829 -0.392214961513 --0.101461081062 -0.392330654308 --0.0920904165832 -0.392463894915 --0.0827112382306 -0.392426800465 --0.0736372594136 -0.392389393632 --0.0645637212255 -0.392351686004 --0.0554910821289 -0.392416110506 --0.0460776293857 -0.392498204654 --0.0366587576456 -0.392495539043 --0.0275753608312 -0.392492532618 --0.0184912192771 -0.392489196252 --0.00940679729692 -0.392487459181 -0 -0.392489196252 -0.00940679729692 -0.392492532618 -0.0184912192771 -0.392495539043 -0.0275753608312 -0.392498204654 -0.0366587576456 -0.392416110506 -0.0460776293857 -0.392351686004 -0.0554910821289 -0.392389393632 -0.0645637212255 -0.392426800465 -0.0736372594136 -0.392463894915 -0.0827112382306 -0.392330654308 -0.0920904165832 -0.392214961513 -0.101461081062 -0.392286863721 -0.110519304829 -0.39235852524 -0.119579633309 -0.392429962702 -0.128641624053 -0.392245936562 -0.137960719094 -0.392079211827 -0.147268258916 -0.392185098316 -0.156309644438 -0.392290845697 -0.165354384606 -0.39239642204 -0.174402052928 -0.392161978041 -0.183641637913 -0.391944581046 -0.192866684998 -0.392084157409 -0.201889065689 -0.39222371765 -0.210916108398 -0.392363274975 -0.219947418843 -0.401384384469 --0.220459013968 -0.401234732054 --0.211406673167 -0.401085068122 --0.202358568892 -0.400935382782 --0.193315118551 -0.401168387605 --0.184069972977 -0.401419637028 --0.174810222373 -0.401306369068 --0.165741345623 -0.401192940599 --0.156675375937 -0.401079363821 --0.147612748826 -0.401258088386 --0.138284288904 -0.401455364036 --0.12894422573 -0.40137870232 --0.119860883797 -0.401301770995 --0.110779181101 -0.401224602254 --0.1016995729 -0.401348708507 --0.0923073740248 -0.401491576065 --0.0829066222285 -0.401451684586 --0.0738111722517 -0.401411475598 --0.0647161484081 -0.40137093684 --0.0556220151431 -0.401440139158 --0.0461866258209 -0.401528278013 --0.036745791605 -0.401525270531 --0.0276408390871 -0.401521902204 --0.0185351313067 -0.401518186144 --0.00942913730454 -0.401516244302 -2.16840434497e-19 -0.401518186144 -0.00942913730454 -0.401521902204 -0.0185351313067 -0.401525270531 -0.0276408390871 -0.401528278013 -0.036745791605 -0.401440139158 -0.0461866258209 -0.40137093684 -0.0556220151431 -0.401411475598 -0.0647161484081 -0.401451684586 -0.0738111722517 -0.401491576065 -0.0829066222285 -0.401348708507 -0.0923073740248 -0.401224602254 -0.1016995729 -0.401301770995 -0.110779181101 -0.40137870232 -0.119860883797 -0.401455364036 -0.12894422573 -0.401258088386 -0.138284288904 -0.401079363821 -0.147612748826 -0.401192940599 -0.156675375937 -0.401306369068 -0.165741345623 -0.401419637028 -0.174810222373 -0.401168387605 -0.184069972977 -0.400935382782 -0.193315118551 -0.401085068122 -0.202358568892 -0.401234732054 -0.211406673167 -0.401384384469 -0.220459013968 -0.41009473881 --0.128419202349 -0.41002329297 --0.119373218514 -0.409951595521 --0.110328863448 -0.409879658335 --0.101286573382 -0.409995416794 --0.0919313066824 -0.410128726126 --0.082567521339 -0.41009165461 --0.0735094386816 -0.41005428615 --0.0644517834241 -0.410016600788 --0.0553950085828 -0.410080974771 --0.0459975507229 -0.410163077344 --0.0365946809162 -0.410160491999 --0.0275271548648 -0.410157558615 --0.0184588914283 -0.410154317665 --0.00939035198173 -0.410152613004 -0 -0.410154317665 -0.00939035198173 -0.410157558615 -0.0184588914283 -0.410160491999 -0.0275271548648 -0.410163077344 -0.0365946809162 -0.410080974771 -0.0459975507229 -0.410016600788 -0.0553950085828 -0.41005428615 -0.0644517834241 -0.41009165461 -0.0735094386816 -0.410128726126 -0.082567521339 -0.409995416794 -0.0919313066824 -0.409879658335 -0.101286573382 -0.409951595521 -0.110328863448 -0.41002329297 -0.119373218514 -0.41009473881 -0.128419202349 -0.418705039499 --0.127909580671 -0.418638860928 --0.118899858163 -0.418572459355 --0.109891750727 -0.418505804701 --0.100885679196 -0.4186131322 --0.09156627982 -0.418736800937 --0.0822383873074 -0.418702567301 --0.0732165620209 -0.418668057162 --0.0641951679709 -0.418633263362 --0.0551746470402 -0.418692781454 --0.0458140397756 -0.418768778522 --0.0364480489219 -0.418766607157 --0.0274168396857 -0.418764121024 --0.0183849116393 -0.4187613401 --0.00935271598039 -0.41875986503 -0 -0.4187613401 -0.00935271598039 -0.418764121024 -0.0183849116393 -0.418766607157 -0.0274168396857 -0.418768778522 -0.0364480489219 -0.418692781454 -0.0458140397756 -0.418633263362 -0.0551746470402 -0.418668057162 -0.0641951679709 -0.418702567301 -0.0732165620209 -0.418736800937 -0.0822383873074 -0.4186131322 -0.09156627982 -0.418505804701 -0.100885679196 -0.418572459355 -0.109891750727 -0.418638860928 -0.118899858163 -0.418705039499 -0.127909580671 -0.42772069843 --0.0824546304453 -0.427683726166 --0.0734090328885 -0.427646457882 --0.0643638472548 -0.427608883285 --0.0553195257678 -0.427673082379 --0.0459346749945 -0.427754997919 --0.0365444136292 -0.427752498045 --0.0274893383098 -0.42774968085 --0.0184335323263 -0.427746526053 --0.00937745141073 -0.427744848909 -0 -0.427746526053 -0.00937745141073 -0.42774968085 -0.0184335323263 -0.427752498045 -0.0274893383098 -0.427754997919 -0.0365444136292 -0.427673082379 -0.0459346749945 -0.427608883285 -0.0553195257678 -0.427646457882 -0.0643638472548 -0.427683726166 -0.0734090328885 -0.42772069843 -0.0824546304453 -0.436720068262 --0.082671904706 -0.436680371294 --0.0736024313247 -0.436640325593 --0.0645333515411 -0.436599952455 --0.0554651263885 -0.436668843324 --0.046055883989 -0.436756690748 --0.0366412029928 -0.43675387234 --0.0275621570739 -0.436750703022 --0.0184823674286 -0.436747182825 --0.00940229597992 -0.436745332885 --2.16840434497e-19 -0.436747182825 -0.00940229597992 -0.436750703022 -0.0184823674286 -0.43675387234 -0.0275621570739 -0.436756690748 -0.0366412029928 -0.436668843324 -0.046055883989 -0.436599952455 -0.0554651263885 -0.436640325593 -0.0645333515411 -0.436680371294 -0.0736024313247 -0.436720068262 -0.082671904706 -0.445734696637 --0.0828902302899 -0.445692247811 --0.0737967733504 -0.445649417478 --0.064703695363 -0.445606239297 --0.0556114589397 -0.445679863006 --0.0461776751127 -0.445773675836 --0.0367384257144 -0.445770527198 --0.0276353019696 -0.445766983934 --0.0185314209562 -0.445763067015 --0.00942725128817 -0.445761023272 --2.16840434497e-19 -0.445763067015 -0.00942725128817 -0.445766983934 -0.0185314209562 -0.445770527198 -0.0276353019696 -0.445773675836 -0.0367384257144 -0.445679863006 -0.0461776751127 -0.445606239297 -0.0556114589397 -0.445649417478 -0.064703695363 -0.445692247811 -0.0737967733504 -0.445734696637 -0.0828902302899 --0.409995416794 --0.0919313066824 --0.410080974771 --0.0459975507229 --0.410152613004 -0 --0.410080974771 -0.0459975507229 --0.409995416794 -0.0919313066824 --0.365325227778 --0.228834052091 --0.365402401283 --0.183436129649 --0.36548034851 --0.137805844793 --0.365558986982 --0.0919867945877 --0.365638219399 --0.0460256520825 --0.365704432274 --2.16840434497e-19 --0.365638219399 -0.0460256520825 --0.365558986982 -0.0919867945877 --0.36548034851 -0.137805844793 --0.365402401283 -0.183436129649 --0.365325227778 -0.228834052091 --0.320490865517 --0.274122269059 --0.32056082163 --0.228971393051 --0.320631492654 --0.183547841764 --0.320702765438 --0.137890886196 --0.320774623818 --0.0920442467726 --0.320846982601 --0.046054709568 --0.320907354095 -2.16840434497e-19 --0.320846982601 -0.046054709568 --0.320774623818 -0.0920442467726 --0.320702765438 -0.137890886196 --0.320631492654 -0.183547841764 --0.32056082163 -0.228971393051 --0.320490865517 -0.274122269059 --0.275347961655 --0.319159413297 --0.275410476556 --0.27429072797 --0.275473603745 --0.229114122226 --0.275537310898 --0.183663770114 --0.2756014848 --0.1379790344 --0.275666089959 --0.0921037267273 --0.275731100507 --0.0460847562483 --0.27578523136 -0 --0.275731100507 -0.0460847562483 --0.275666089959 -0.0921037267273 --0.2756014848 -0.1379790344 --0.275537310898 -0.183663770114 --0.275473603745 -0.229114122226 --0.275410476556 -0.27429072797 --0.275347961655 -0.319159413297 --0.229927860609 --0.363916788693 --0.229982731598 --0.319360229871 --0.230038115602 --0.274465747101 --0.230093957864 --0.229262238546 --0.230150239999 --0.183783935068 --0.230206862782 --0.138070291722 --0.230263735966 --0.0921652269094 --0.230320897489 --0.046115781938 --0.230368369429 --2.16840434497e-19 --0.230320897489 -0.046115781938 --0.230263735966 -0.0921652269094 --0.230206862782 -0.138070291722 --0.230150239999 -0.183783935068 --0.230093957864 -0.229262238546 --0.230038115602 -0.274465747101 --0.229982731598 -0.319360229871 --0.229927860609 -0.363916788693 --0.184312414879 --0.364149190855 --0.184359883854 --0.319567068605 --0.184407704205 --0.2746458293 --0.184455805558 --0.229414469402 --0.184504155454 --0.183907292043 --0.184552712161 --0.138163870005 --0.184601359408 --0.092228216202 --0.184650171111 --0.0461475222188 --0.184690531942 -0 --0.184650171111 -0.0461475222188 --0.184601359408 -0.092228216202 --0.184552712161 -0.138163870005 --0.184504155454 -0.183907292043 --0.184455805558 -0.229414469402 --0.184407704205 -0.2746458293 --0.184359883854 -0.319567068605 --0.184312414879 -0.364149190855 --0.138473557614 --0.364388681188 --0.138513313019 --0.31977994704 --0.138553251839 --0.274830965635 --0.138593296902 --0.229570807397 --0.138633440187 --0.184033852045 --0.138673595607 --0.138259757174 --0.138713734231 --0.0922926921845 --0.138753863098 --0.0461799762757 --0.13878681032 -0 --0.138753863098 -0.0461799762757 --0.138713734231 -0.0922926921845 --0.138673595607 -0.138259757174 --0.138633440187 -0.184033852045 --0.138593296902 -0.229570807397 --0.138553251839 -0.274830965635 --0.138513313019 -0.31977994704 --0.138473557614 -0.364388681188 --0.0924201889105 --0.408908734125 --0.0924520380861 --0.364636962394 --0.0924838952309 --0.32000042577 --0.0925157491421 --0.275022537825 --0.092547514989 --0.22973241045 --0.0925791915423 --0.184164531586 --0.0926107364696 --0.138358665631 --0.092642115436 --0.0923591238643 --0.092642115436 -0.0923591238643 --0.0926107364696 -0.138358665631 --0.0925791915423 -0.184164531586 --0.092547514989 -0.22973241045 --0.0925157491421 -0.275022537825 --0.0924838952309 -0.32000042577 --0.0924520380861 -0.364636962394 --0.0924201889105 -0.408908734125 --0.04626946149 --0.409191016344 --0.0462933838906 --0.364891673266 --0.0463171279016 --0.320226443793 --0.0463406467448 --0.27521873629 --0.0463639046393 --0.229897766748 --0.0463868831823 --0.184298105837 --0.0464095786505 --0.13845965595 --0.0464095786505 -0.13845965595 --0.0463868831823 -0.184298105837 --0.0463639046393 -0.229897766748 --0.0463406467448 -0.27521873629 --0.0463171279016 -0.320226443793 --0.0462933838906 -0.364891673266 --0.04626946149 -0.409191016344 -0 --0.409440046984 -0 --0.365117029911 -0 --0.320426830896 -0 --0.275392978581 -0 --0.230044720345 -0 --0.184416826485 -0 --0.138549320014 -0 -0.138549320014 -0 -0.184416826485 -0 -0.230044720345 -0 -0.275392978581 -0 -0.320426830896 -0 -0.365117029911 -0 -0.409440046984 -0.04626946149 --0.409191016344 -0.0462933838906 --0.364891673266 -0.0463171279016 --0.320226443793 -0.0463406467448 --0.27521873629 -0.0463639046393 --0.229897766748 -0.0463868831823 --0.184298105837 -0.0464095786505 --0.13845965595 -0.0464095786505 -0.13845965595 -0.0463868831823 -0.184298105837 -0.0463639046393 -0.229897766748 -0.0463406467448 -0.27521873629 -0.0463171279016 -0.320226443793 -0.0462933838906 -0.364891673266 -0.04626946149 -0.409191016344 -0.0924201889105 --0.408908734125 -0.0924520380861 --0.364636962394 -0.0924838952309 --0.32000042577 -0.0925157491421 --0.275022537825 -0.092547514989 --0.22973241045 -0.0925791915423 --0.184164531586 -0.0926107364696 --0.138358665631 -0.092642115436 --0.0923591238643 -0.092642115436 -0.0923591238643 -0.0926107364696 -0.138358665631 -0.0925791915423 -0.184164531586 -0.092547514989 -0.22973241045 -0.0925157491421 -0.275022537825 -0.0924838952309 -0.32000042577 -0.0924520380861 -0.364636962394 -0.0924201889105 -0.408908734125 -0.138473557614 --0.364388681188 -0.138513313019 --0.31977994704 -0.138553251839 --0.274830965635 -0.138593296902 --0.229570807397 -0.138633440187 --0.184033852045 -0.138673595607 --0.138259757174 -0.138713734231 --0.0922926921845 -0.138753863098 --0.0461799762757 -0.13878681032 -0 -0.138753863098 -0.0461799762757 -0.138713734231 -0.0922926921845 -0.138673595607 -0.138259757174 -0.138633440187 -0.184033852045 -0.138593296902 -0.229570807397 -0.138553251839 -0.274830965635 -0.138513313019 -0.31977994704 -0.138473557614 -0.364388681188 -0.184312414879 --0.364149190855 -0.184359883854 --0.319567068605 -0.184407704205 --0.2746458293 -0.184455805558 --0.229414469402 -0.184504155454 --0.183907292043 -0.184552712161 --0.138163870005 -0.184601359408 --0.092228216202 -0.184650171111 --0.0461475222188 -0.184690531942 -0 -0.184650171111 -0.0461475222188 -0.184601359408 -0.092228216202 -0.184552712161 -0.138163870005 -0.184504155454 -0.183907292043 -0.184455805558 -0.229414469402 -0.184407704205 -0.2746458293 -0.184359883854 -0.319567068605 -0.184312414879 -0.364149190855 -0.229927860609 --0.363916788693 -0.229982731598 --0.319360229871 -0.230038115602 --0.274465747101 -0.230093957864 --0.229262238546 -0.230150239999 --0.183783935068 -0.230206862782 --0.138070291722 -0.230263735966 --0.0921652269094 -0.230320897489 --0.046115781938 -0.230368369429 --2.16840434497e-19 -0.230320897489 -0.046115781938 -0.230263735966 -0.0921652269094 -0.230206862782 -0.138070291722 -0.230150239999 -0.183783935068 -0.230093957864 -0.229262238546 -0.230038115602 -0.274465747101 -0.229982731598 -0.319360229871 -0.229927860609 -0.363916788693 -0.275347961655 --0.319159413297 -0.275410476556 --0.27429072797 -0.275473603745 --0.229114122226 -0.275537310898 --0.183663770114 -0.2756014848 --0.1379790344 -0.275666089959 --0.0921037267273 -0.275731100507 --0.0460847562483 -0.27578523136 -0 -0.275731100507 -0.0460847562483 -0.275666089959 -0.0921037267273 -0.2756014848 -0.1379790344 -0.275537310898 -0.183663770114 -0.275473603745 -0.229114122226 -0.275410476556 -0.27429072797 -0.275347961655 -0.319159413297 -0.320490865517 --0.274122269059 -0.32056082163 --0.228971393051 -0.320631492654 --0.183547841764 -0.320702765438 --0.137890886196 -0.320774623818 --0.0920442467726 -0.320846982601 --0.046054709568 -0.320907354095 -2.16840434497e-19 -0.320846982601 -0.046054709568 -0.320774623818 -0.0920442467726 -0.320702765438 -0.137890886196 -0.320631492654 -0.183547841764 -0.32056082163 -0.228971393051 -0.320490865517 -0.274122269059 -0.365325227778 --0.228834052091 -0.365402401283 --0.183436129649 -0.36548034851 --0.137805844793 -0.365558986982 --0.0919867945877 -0.365638219399 --0.0460256520825 -0.365704432274 --2.16840434497e-19 -0.365638219399 -0.0460256520825 -0.365558986982 -0.0919867945877 -0.36548034851 -0.137805844793 -0.365402401283 -0.183436129649 -0.365325227778 -0.228834052091 -0.409995416794 --0.0919313066824 -0.410080974771 --0.0459975507229 -0.410152613004 -0 -0.410080974771 -0.0459975507229 -0.409995416794 -0.0919313066824 --0.409995416794 --0.0919313066824 --0.410080974771 --0.0459975507229 --0.410152613004 -0 --0.410080974771 -0.0459975507229 --0.409995416794 -0.0919313066824 --0.365325227778 --0.228834052091 --0.365402401283 --0.183436129649 --0.36548034851 --0.137805844793 --0.365558986982 --0.0919867945877 --0.365638219399 --0.0460256520825 --0.365704432274 --2.16840434497e-19 --0.365638219399 -0.0460256520825 --0.365558986982 -0.0919867945877 --0.36548034851 -0.137805844793 --0.365402401283 -0.183436129649 --0.365325227778 -0.228834052091 --0.320490865517 --0.274122269059 --0.32056082163 --0.228971393051 --0.320631492654 --0.183547841764 --0.320702765438 --0.137890886196 --0.320774623818 --0.0920442467726 --0.320846982601 --0.046054709568 --0.320907354095 -2.16840434497e-19 --0.320846982601 -0.046054709568 --0.320774623818 -0.0920442467726 --0.320702765438 -0.137890886196 --0.320631492654 -0.183547841764 --0.32056082163 -0.228971393051 --0.320490865517 -0.274122269059 --0.275347961655 --0.319159413297 --0.275410476556 --0.27429072797 --0.275473603745 --0.229114122226 --0.275537310898 --0.183663770114 --0.2756014848 --0.1379790344 --0.275666089959 --0.0921037267273 --0.275731100507 --0.0460847562483 --0.27578523136 -0 --0.275731100507 -0.0460847562483 --0.275666089959 -0.0921037267273 --0.2756014848 -0.1379790344 --0.275537310898 -0.183663770114 --0.275473603745 -0.229114122226 --0.275410476556 -0.27429072797 --0.275347961655 -0.319159413297 --0.229927860609 --0.363916788693 --0.229982731598 --0.319360229871 --0.230038115602 --0.274465747101 --0.230093957864 --0.229262238546 --0.230150239999 --0.183783935068 --0.230206862782 --0.138070291722 --0.230263735966 --0.0921652269094 --0.230320897489 --0.046115781938 --0.230368369429 --2.16840434497e-19 --0.230320897489 -0.046115781938 --0.230263735966 -0.0921652269094 --0.230206862782 -0.138070291722 --0.230150239999 -0.183783935068 --0.230093957864 -0.229262238546 --0.230038115602 -0.274465747101 --0.229982731598 -0.319360229871 --0.229927860609 -0.363916788693 --0.184312414879 --0.364149190855 --0.184359883854 --0.319567068605 --0.184407704205 --0.2746458293 --0.184455805558 --0.229414469402 --0.184504155454 --0.183907292043 --0.184552712161 --0.138163870005 --0.184601359408 --0.092228216202 --0.184650171111 --0.0461475222188 --0.184690531942 -0 --0.184650171111 -0.0461475222188 --0.184601359408 -0.092228216202 --0.184552712161 -0.138163870005 --0.184504155454 -0.183907292043 --0.184455805558 -0.229414469402 --0.184407704205 -0.2746458293 --0.184359883854 -0.319567068605 --0.184312414879 -0.364149190855 --0.138473557614 --0.364388681188 --0.138513313019 --0.31977994704 --0.138553251839 --0.274830965635 --0.138593296902 --0.229570807397 --0.138633440187 --0.184033852045 --0.138673595607 --0.138259757174 --0.138713734231 --0.0922926921845 --0.138753863098 --0.0461799762757 --0.13878681032 -0 --0.138753863098 -0.0461799762757 --0.138713734231 -0.0922926921845 --0.138673595607 -0.138259757174 --0.138633440187 -0.184033852045 --0.138593296902 -0.229570807397 --0.138553251839 -0.274830965635 --0.138513313019 -0.31977994704 --0.138473557614 -0.364388681188 --0.0924201889105 --0.408908734125 --0.0924520380861 --0.364636962394 --0.0924838952309 --0.32000042577 --0.0925157491421 --0.275022537825 --0.092547514989 --0.22973241045 --0.0925791915423 --0.184164531586 --0.0926107364696 --0.138358665631 --0.092642115436 --0.0923591238643 --0.092642115436 -0.0923591238643 --0.0926107364696 -0.138358665631 --0.0925791915423 -0.184164531586 --0.092547514989 -0.22973241045 --0.0925157491421 -0.275022537825 --0.0924838952309 -0.32000042577 --0.0924520380861 -0.364636962394 --0.0924201889105 -0.408908734125 --0.04626946149 --0.409191016344 --0.0462933838906 --0.364891673266 --0.0463171279016 --0.320226443793 --0.0463406467448 --0.27521873629 --0.0463639046393 --0.229897766748 --0.0463868831823 --0.184298105837 --0.0464095786505 --0.13845965595 --0.0464095786505 -0.13845965595 --0.0463868831823 -0.184298105837 --0.0463639046393 -0.229897766748 --0.0463406467448 -0.27521873629 --0.0463171279016 -0.320226443793 --0.0462933838906 -0.364891673266 --0.04626946149 -0.409191016344 -0 --0.409440046984 -0 --0.365117029911 -0 --0.320426830896 -0 --0.275392978581 -0 --0.230044720345 -0 --0.184416826485 -0 --0.138549320014 -0 -0.138549320014 -0 -0.184416826485 -0 -0.230044720345 -0 -0.275392978581 -0 -0.320426830896 -0 -0.365117029911 -0 -0.409440046984 -0.04626946149 --0.409191016344 -0.0462933838906 --0.364891673266 -0.0463171279016 --0.320226443793 -0.0463406467448 --0.27521873629 -0.0463639046393 --0.229897766748 -0.0463868831823 --0.184298105837 -0.0464095786505 --0.13845965595 -0.0464095786505 -0.13845965595 -0.0463868831823 -0.184298105837 -0.0463639046393 -0.229897766748 -0.0463406467448 -0.27521873629 -0.0463171279016 -0.320226443793 -0.0462933838906 -0.364891673266 -0.04626946149 -0.409191016344 -0.0924201889105 --0.408908734125 -0.0924520380861 --0.364636962394 -0.0924838952309 --0.32000042577 -0.0925157491421 --0.275022537825 -0.092547514989 --0.22973241045 -0.0925791915423 --0.184164531586 -0.0926107364696 --0.138358665631 -0.092642115436 --0.0923591238643 -0.092642115436 -0.0923591238643 -0.0926107364696 -0.138358665631 -0.0925791915423 -0.184164531586 -0.092547514989 -0.22973241045 -0.0925157491421 -0.275022537825 -0.0924838952309 -0.32000042577 -0.0924520380861 -0.364636962394 -0.0924201889105 -0.408908734125 -0.138473557614 --0.364388681188 -0.138513313019 --0.31977994704 -0.138553251839 --0.274830965635 -0.138593296902 --0.229570807397 -0.138633440187 --0.184033852045 -0.138673595607 --0.138259757174 -0.138713734231 --0.0922926921845 -0.138753863098 --0.0461799762757 -0.13878681032 -0 -0.138753863098 -0.0461799762757 -0.138713734231 -0.0922926921845 -0.138673595607 -0.138259757174 -0.138633440187 -0.184033852045 -0.138593296902 -0.229570807397 -0.138553251839 -0.274830965635 -0.138513313019 -0.31977994704 -0.138473557614 -0.364388681188 -0.184312414879 --0.364149190855 -0.184359883854 --0.319567068605 -0.184407704205 --0.2746458293 -0.184455805558 --0.229414469402 -0.184504155454 --0.183907292043 -0.184552712161 --0.138163870005 -0.184601359408 --0.092228216202 -0.184650171111 --0.0461475222188 -0.184690531942 -0 -0.184650171111 -0.0461475222188 -0.184601359408 -0.092228216202 -0.184552712161 -0.138163870005 -0.184504155454 -0.183907292043 -0.184455805558 -0.229414469402 -0.184407704205 -0.2746458293 -0.184359883854 -0.319567068605 -0.184312414879 -0.364149190855 -0.229927860609 --0.363916788693 -0.229982731598 --0.319360229871 -0.230038115602 --0.274465747101 -0.230093957864 --0.229262238546 -0.230150239999 --0.183783935068 -0.230206862782 --0.138070291722 -0.230263735966 --0.0921652269094 -0.230320897489 --0.046115781938 -0.230368369429 --2.16840434497e-19 -0.230320897489 -0.046115781938 -0.230263735966 -0.0921652269094 -0.230206862782 -0.138070291722 -0.230150239999 -0.183783935068 -0.230093957864 -0.229262238546 -0.230038115602 -0.274465747101 -0.229982731598 -0.319360229871 -0.229927860609 -0.363916788693 -0.275347961655 --0.319159413297 -0.275410476556 --0.27429072797 -0.275473603745 --0.229114122226 -0.275537310898 --0.183663770114 -0.2756014848 --0.1379790344 -0.275666089959 --0.0921037267273 -0.275731100507 --0.0460847562483 -0.27578523136 -0 -0.275731100507 -0.0460847562483 -0.275666089959 -0.0921037267273 -0.2756014848 -0.1379790344 -0.275537310898 -0.183663770114 -0.275473603745 -0.229114122226 -0.275410476556 -0.27429072797 -0.275347961655 -0.319159413297 -0.320490865517 --0.274122269059 -0.32056082163 --0.228971393051 -0.320631492654 --0.183547841764 -0.320702765438 --0.137890886196 -0.320774623818 --0.0920442467726 -0.320846982601 --0.046054709568 -0.320907354095 -2.16840434497e-19 -0.320846982601 -0.046054709568 -0.320774623818 -0.0920442467726 -0.320702765438 -0.137890886196 -0.320631492654 -0.183547841764 -0.32056082163 -0.228971393051 -0.320490865517 -0.274122269059 -0.365325227778 --0.228834052091 -0.365402401283 --0.183436129649 -0.36548034851 --0.137805844793 -0.365558986982 --0.0919867945877 -0.365638219399 --0.0460256520825 -0.365704432274 --2.16840434497e-19 -0.365638219399 -0.0460256520825 -0.365558986982 -0.0919867945877 -0.36548034851 -0.137805844793 -0.365402401283 -0.183436129649 -0.365325227778 -0.228834052091 -0.409995416794 --0.0919313066824 -0.410080974771 --0.0459975507229 -0.410152613004 -0 -0.410080974771 -0.0459975507229 -0.409995416794 -0.0919313066824 -0 -0 -0 -0 diff --git a/HiggsAnalysis/Skimming/BuildFile.xml b/HiggsAnalysis/Skimming/BuildFile.xml deleted file mode 100644 index c7d15503d12cd..0000000000000 --- a/HiggsAnalysis/Skimming/BuildFile.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/HiggsAnalysis/Skimming/interface/HeavyChHiggsToTauNuSkim.h b/HiggsAnalysis/Skimming/interface/HeavyChHiggsToTauNuSkim.h deleted file mode 100644 index a2b4cd3ad112a..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HeavyChHiggsToTauNuSkim.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef HeavyChHiggsToTauNuSkim_h -#define HeavyChHiggsToTauNuSkim_h - -/** \class HeavyChHiggsToTauNuSkim - * - * - * Filter to select events passing - * L1 single tau - * HLT tau+MET - * 3 offline jets - * - * \author Sami Lehti - HIP Helsinki - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/BTauReco/interface/IsolatedTauTagInfo.h" -#include "DataFormats/JetReco/interface/CaloJetCollection.h" - -#include - -class HeavyChHiggsToTauNuSkim : public edm::EDFilter { -public: - explicit HeavyChHiggsToTauNuSkim(const edm::ParameterSet&); - ~HeavyChHiggsToTauNuSkim() override; - - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - double deltaPhi(double phi1, double phi2) { - const double PI = 3.1415926535; - // in ORCA phi = [0,2pi], in TLorentzVector phi = [-pi,pi]. - // With the conversion below deltaPhi works ok despite the - // 2*pi difference in phi definitions. - if (phi1 < 0) - phi1 += 2 * PI; - if (phi2 < 0) - phi2 += 2 * PI; - - double dphi = fabs(phi1 - phi2); - - if (dphi > PI) - dphi = 2 * PI - dphi; - return dphi; - } - - double deltaR(double eta1, double eta2, double phi1, double phi2) { - double dphi = deltaPhi(phi1, phi2); - double deta = fabs(eta1 - eta2); - return sqrt(dphi * dphi + deta * deta); - } - - bool debug; - - edm::EDGetTokenT hltTauToken; - edm::EDGetTokenT jetToken; - int minNumberOfjets; - double jetEtMin; - double jetEtaMin; - double jetEtaMax; - double minDRFromTau; - - int nEvents, nSelectedEvents; -}; -#endif diff --git a/HiggsAnalysis/Skimming/interface/HiggsTo2GammaSkim.h b/HiggsAnalysis/Skimming/interface/HiggsTo2GammaSkim.h deleted file mode 100644 index e2cd2d2218ed1..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HiggsTo2GammaSkim.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef HiggsAnalysis_HiggsTo2GammaSkim -#define HiggsAnalysis_HiggsTo2GammaSkim - -/* \class HiggsTo2GammaSkim - * - * - * Filter to select 2 photon events based on the - * 1 or 2 photon HLT trigger, - * - * \author Kati Lassila-Perini - Helsinki Institute of Physics - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include - -class HiggsTo2GammaSkim : public edm::EDFilter { -public: - // Constructor - explicit HiggsTo2GammaSkim(const edm::ParameterSet&); - - // Destructor - ~HiggsTo2GammaSkim() override; - - /// Get event properties to send to builder to fill seed collection - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - int nEvents, nSelectedEvents; - - bool debug; - float photon1MinPt; - float photon2MinPt; - int nPhotonMin; - - // Reco samples - edm::EDGetTokenT thePhotonToken; -}; - -#endif diff --git a/HiggsAnalysis/Skimming/interface/HiggsToWW2LeptonsSkim.h b/HiggsAnalysis/Skimming/interface/HiggsToWW2LeptonsSkim.h deleted file mode 100644 index 28f0464b4e674..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HiggsToWW2LeptonsSkim.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef HiggsToWW2LeptonsSkim_h -#define HiggsToWW2LeptonsSkim_h - -/** \class HWWFilter - * - * - * This class is an EDFilter choosing reconstructed di-tracks - * - * - * \author Ezio Torassa - INFN Padova - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" - -class HiggsToWW2LeptonsSkim : public edm::EDFilter { -public: - explicit HiggsToWW2LeptonsSkim(const edm::ParameterSet&); - ~HiggsToWW2LeptonsSkim() override; - void endJob() override; - - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - double singleTrackPtMin_; - double diTrackPtMin_; - double etaMin_; - double etaMax_; - unsigned int nEvents_; - unsigned int nAccepted_; - - // Reco samples - edm::EDGetTokenT theGLBMuonToken; - edm::EDGetTokenT theGsfEToken; -}; -#endif diff --git a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsPreFilter.h b/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsPreFilter.h deleted file mode 100644 index 496f32f91e303..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsPreFilter.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef HiggsAnalysis_HiggsToZZ4LeptonsPreFilter -#define HiggsAnalysis_HiggsToZZ4LeptonsPreFilter - -/* \class HiggsTo4LeptonsSkim - * - * - * Filter to select 4 lepton events (4e, 4mu, 2e2mu) within - * fiducial volume (|eta| < 2.4) - * - * \author Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -class HiggsToZZ4LeptonsPreFilter : public edm::EDFilter { -public: - // Constructor - explicit HiggsToZZ4LeptonsPreFilter(const edm::ParameterSet&); - - // Destructor - ~HiggsToZZ4LeptonsPreFilter() override; - - /// Get event properties to send to builder to fill seed collection - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - int evt, ikept; - - bool debug; - int leptonFlavour; - - edm::EDGetTokenT genToken; -}; - -#endif diff --git a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkim.h b/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkim.h deleted file mode 100644 index 31afae4f7640c..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkim.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef HiggsAnalysis_HiggsToZZ4LeptonsSkim -#define HiggsAnalysis_HiggsToZZ4LeptonsSkim - -/* \class HiggsTo4LeptonsSkim - * - * - * Filter to select 4 lepton events based on the - * 1 or 2 electron or 1 or 2 muon HLT trigger, - * and four leptons (no flavour requirement). - * No charge requirements are applied on event. - * - * \author Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" - -class HiggsToZZ4LeptonsSkim : public edm::EDFilter { -public: - // Constructor - explicit HiggsToZZ4LeptonsSkim(const edm::ParameterSet&); - - // Destructor - ~HiggsToZZ4LeptonsSkim() override; - - /// Get event properties to send to builder to fill seed collection - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - int nEvents, nSelectedEvents; - - bool debug; - float stiffMinPt; - float softMinPt; - int nStiffLeptonMin; - int nLeptonMin; - - // Reco samples - edm::EDGetTokenT theGLBMuonToken; - edm::EDGetTokenT theGsfEToken; -}; - -#endif diff --git a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkimEff.h b/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkimEff.h deleted file mode 100644 index 6c196d97a7d13..0000000000000 --- a/HiggsAnalysis/Skimming/interface/HiggsToZZ4LeptonsSkimEff.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef HiggsAnalysis_HiggsToZZ4LeptonsSkimEff -#define HiggsAnalysis_HiggsToZZ4LeptonsSkimEff - -/* \class HiggsTo4LeptonsSkimEff - * - * EDAnalyzer to study the HLT and skim efficiency for signal - * A preselection on the generaged event is built in - * - * \author Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -class HiggsToZZ4LeptonsSkimEff : public edm::EDAnalyzer { -public: - // Constructor - explicit HiggsToZZ4LeptonsSkimEff(const edm::ParameterSet&); - - // Destructor - ~HiggsToZZ4LeptonsSkimEff() override; - - /// Get event properties to send to builder to fill seed collection - void analyze(const edm::Event&, const edm::EventSetup&) override; - -private: - bool debug; - float stiffMinPt; - float softMinPt; - int nStiffLeptonMin; - int nLeptonMin; - - int nEvents, nSelFourE, nSelFourM, nSelTwoETwoM, nSelFourL, nSelTau; - int nFourE, nFourM, nTwoETwoM, nFourL, nTau; - - // Reco samples - edm::EDGetTokenT theGLBMuonToken; - edm::EDGetTokenT theGsfEToken; - edm::EDGetTokenT genToken; -}; - -#endif diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleAODSIM_cfi.py deleted file mode 100644 index 57a808cba757c..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_EventContent_cff import * -heavyChHiggsToTauNuOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - heavyChHiggsToTauNuEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('heavyChHiggsToTauNuAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('heavyChHiggsToTauNu_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleRECOSIM_cfi.py deleted file mode 100644 index ea9b22c6873b1..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNuOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_EventContent_cff import * -heavyChHiggsToTauNuOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - heavyChHiggsToTauNuEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('heavyChHiggsToTauNuRECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('heavyChHiggsToTauNu_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_AODSIM_cff.py deleted file mode 100644 index f10460683e027..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_EventContent_cff import * -heavyChHiggsToTauNuEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -heavyChHiggsToTauNuEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -heavyChHiggsToTauNuEventContentAODSIM.outputCommands.extend(heavyChHiggsToTauNuEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_EventContent_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_EventContent_cff.py deleted file mode 100644 index 08abe77396901..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -heavyChHiggsToTauNuEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -heavyChHiggsToTauNuEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('heavyChHiggsToTauNuFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Filter_cfi.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Filter_cfi.py deleted file mode 100644 index f93202ba81842..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Filter_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -heavyChHiggsToTauNuFilter = cms.EDFilter("HeavyChHiggsToTauNuSkim", - # Collection to be accessed - HLTTauCollection = cms.InputTag("isolatedL3SingleTau"), - minDRFromTau = cms.double(0.5), - DebugHeavyChHiggsToTauNuSkim = cms.bool(False), - jetEtaMin = cms.double(-2.5), - jetEtaMax = cms.double(2.5), - minNumberOfJets = cms.int32(3), - jetEtMin = cms.double(20.0), - JetTagCollection = cms.InputTag("iterativeCone5CaloJets") -) - - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_HLTPaths_cfi.py deleted file mode 100644 index 7d44dc0a55de9..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_HLTPaths_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -heavyChHiggsToTauNuHLTFilter = copy.deepcopy(hltHighLevel) -heavyChHiggsToTauNuHLTFilter.HLTPaths = ['HLT_IsoTau_MET65_Trk20'] - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_OutputModule_cff.py deleted file mode 100644 index 63f359e07da49..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.heavyChHiggsToTauNuOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNuOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_RECOSIM_cff.py deleted file mode 100644 index 04b4fc8241c38..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_EventContent_cff import * -heavyChHiggsToTauNuEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -heavyChHiggsToTauNuEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -heavyChHiggsToTauNuEventContentRECOSIM.outputCommands.extend(heavyChHiggsToTauNuEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Sequences_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Sequences_cff.py deleted file mode 100644 index 3948f449c9172..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_Sequences_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_HLTPaths_cfi import * -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_Filter_cfi import * -heavyChHiggsToTauNuHLTrigReport = cms.EDAnalyzer("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -heavyChHiggsToTauNuSequence = cms.Sequence(heavyChHiggsToTauNuHLTrigReport+heavyChHiggsToTauNuHLTFilter+heavyChHiggsToTauNuFilter) - diff --git a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_SkimPaths_cff.py deleted file mode 100644 index 5fa0ff131508b..0000000000000 --- a/HiggsAnalysis/Skimming/python/heavyChHiggsToTauNu_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.heavyChHiggsToTauNu_Sequences_cff import * -heavyChHiggsToTauNuFilterPath = cms.Path(heavyChHiggsToTauNuSequence) - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleAODSIM_cfi.py deleted file mode 100644 index 9d329639b9491..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_EventContent_cff import * -higgsTo2GammaOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - higgsTo2GammaEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsTo2GammaAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hgg_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleRECOSIM_cfi.py deleted file mode 100644 index 698692ce574e0..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2GammaOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_EventContent_cff import * -higgsTo2GammaOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - higgsTo2GammaEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsTo2Gamma_RECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hgg_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_AODSIM_cff.py deleted file mode 100644 index 53f48ffc703ef..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_EventContent_cff import * -higgsTo2GammaEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsTo2GammaEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -higgsTo2GammaEventContentAODSIM.outputCommands.extend(higgsTo2GammaEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_EventContent_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_EventContent_cff.py deleted file mode 100644 index fc15b19381eb5..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -higgsTo2GammaEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsTo2GammaEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('HggFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Filter_cfi.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Filter_cfi.py deleted file mode 100644 index dadbe9ade7c2b..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Filter_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Entries for H2g skim -# -# Kati Lassila-Perini - Helsinki Institute of Physics -# -higgsTo2GammaFilter = cms.EDFilter("HiggsTo2GammaSkim", - # Collection to be accessed - PhotonCollectionLabel = cms.InputTag("correctedPhotons"), - DebugHiggsTo2GammaSkim = cms.bool(False), - # Minimum number of identified photons above pt threshold - nPhotonMinimum = cms.int32(2), - # Pt threshold for photons - photon1MinimumPt = cms.double(15.0) -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_HLTPaths_cfi.py deleted file mode 100644 index 81d8cc45eaabe..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_HLTPaths_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -higgsTo2GammaHLTFilter = copy.deepcopy(hltHighLevel) -higgsTo2GammaHLTFilter.HLTPaths = ['HLT_IsoPhoton30_L1I', 'HLT_IsoPhoton40_L1R', 'HLT_DoubleIsoPhoton20_L1I', 'HLT_DoubleIsoPhoton20_L1R'] - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_OutputModule_cff.py deleted file mode 100644 index 7356a642f995b..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsTo2GammaOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.higgsTo2GammaOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_RECOSIM_cff.py deleted file mode 100644 index f9b166bb1a86b..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_EventContent_cff import * -higgsTo2GammaEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsTo2GammaEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -higgsTo2GammaEventContentRECOSIM.outputCommands.extend(higgsTo2GammaEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Sequences_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Sequences_cff.py deleted file mode 100644 index f285c5a69c4d1..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_Sequences_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsTo2Gamma_HLTPaths_cfi import * -from HiggsAnalysis.Skimming.higgsTo2Gamma_Filter_cfi import * -higgsTo2GammaHLTrigReport = cms.EDAnalyzer("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -higgsTo2GammaSequence = cms.Sequence(higgsTo2GammaHLTrigReport+higgsTo2GammaHLTFilter+higgsTo2GammaFilter) - diff --git a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/higgsTo2Gamma_SkimPaths_cff.py deleted file mode 100644 index a35f362bb411e..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsTo2Gamma_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsTo2Gamma_Sequences_cff import * -HggFilterPath = cms.Path(higgsTo2GammaSequence) - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleAODSIM_cfi.py deleted file mode 100644 index 01c5e880f7aa9..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_EventContent_cff import * -higgsToInvisibleOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - higgsToInvisibleEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToInvisibleAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hToInvis_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleRECOSIM_cfi.py deleted file mode 100644 index 0310a165770f3..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisibleOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_EventContent_cff import * -higgsToInvisibleOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - higgsToInvisibleEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToInvisibleRECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hToInvis_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_AODSIM_cff.py deleted file mode 100644 index b7a258db15948..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_EventContent_cff import * -higgsToInvisibleEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToInvisibleEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -higgsToInvisibleEventContentAODSIM.outputCommands.extend(higgsToInvisibleEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_EventContent_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_EventContent_cff.py deleted file mode 100644 index 8dbadc83cc1ff..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECOSIM -higgsToInvisibleEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToInvisibleEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('HToInvisFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_HLTPaths_cfi.py deleted file mode 100644 index 42b21a45337d0..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_HLTPaths_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -higgsToInvisibleHLTFilter = copy.deepcopy(hltHighLevel) -higgsToInvisibleHLTFilter.HLTPaths = ['HLT_DoubleFwdJet40_MET60'] - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_OutputModule_cff.py deleted file mode 100644 index 51162a5fc56f4..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToInvisibleOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.higgsToInvisibleOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_RECOSIM_cff.py deleted file mode 100644 index 35c604a241a89..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToInvisible_EventContent_cff import * -higgsToInvisibleEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToInvisibleEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -higgsToInvisibleEventContentRECOSIM.outputCommands.extend(higgsToInvisibleEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_Sequences_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_Sequences_cff.py deleted file mode 100644 index b0debe941da19..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_Sequences_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToInvisible_HLTPaths_cfi import * -higgsToInvisibleTrigReport = cms.EDAnalyzer("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -higgsToInvisibleSequence = cms.Sequence(higgsToInvisibleTrigReport+higgsToInvisibleHLTFilter) - diff --git a/HiggsAnalysis/Skimming/python/higgsToInvisible_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/higgsToInvisible_SkimPaths_cff.py deleted file mode 100644 index b953d5f604351..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToInvisible_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToInvisible_Sequences_cff import * -HToInvisFilterPath = cms.Path(higgsToInvisibleSequence) - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleAODSIM_cfi.py deleted file mode 100644 index 8592b778cac34..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_AODSIM_cff import * -higgsToTauTauLeptonTauOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - higgsToTauTauLeptonTauEventSelection, - higgsToTauTauLeptonTauEventContentAODSIM, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToTauTauLeptonTauAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('higgsToTauTauLeptonTauAODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleRECOSIM_cfi.py deleted file mode 100644 index 923bb7b03b108..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTauLeptonTauOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_AODSIM_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_RECOSIM_cff import * -higgsToTauTauLeptonTauOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - higgsToTauTauLeptonTauEventSelection, - higgsToTauTauLeptonTauEventContentRECOSIM, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToTauTauLeptonTauRECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('higgsToTauTauLeptonTauRECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_AODSIM_cff.py deleted file mode 100644 index f1031cea1170d..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_cff import * -higgsToTauTauLeptonTauEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToTauTauLeptonTauEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -higgsToTauTauLeptonTauEventContentAODSIM.outputCommands.extend(higgsToTauTauLeptonTauEventContentAODSIM.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_RECOSIM_cff.py deleted file mode 100644 index 4ed1c2799f819..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_EventContent_cff import * -higgsToTauTauLeptonTauEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToTauTauLeptonTauEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -higgsToTauTauLeptonTauEventContentRECOSIM.outputCommands.extend(higgsToTauTauLeptonTauEventContentRECOSIM.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_cff.py deleted file mode 100644 index 2422a73c1b9e0..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_EventContent_cff.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -higgsToTauTauLeptonTauEventContent = cms.PSet( - outputCommands = cms.untracked.vstring('keep *') -) -higgsToTauTauLeptonTauEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('higgsToTauTauLeptonTauPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_HLTPaths_cfi.py deleted file mode 100644 index 2064f2788f5a9..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_HLTPaths_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -higgsToTauTauLeptonTauHLTFilter = copy.deepcopy(hltHighLevel) -higgsToTauTauLeptonTauHLTFilter.HLTPaths = ['HLT_IsoEle15_L1I', 'HLT_IsoEle12_IsoTau_Trk3', 'HLT_IsoMu11', 'HLT_IsoMu14_IsoTau_Trk3'] - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_OutputModule_cff.py deleted file mode 100644 index f1e77c04d4e00..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToTauTauLeptonTauOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.higgsToTauTauLeptonTauOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_Sequences_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_Sequences_cff.py deleted file mode 100644 index 3caeab4539332..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_Sequences_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_HLTPaths_cfi import * -higgsToTauTauLeptonTauSequence = cms.Sequence(higgsToTauTauLeptonTauHLTFilter) - diff --git a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_SkimPaths_cff.py deleted file mode 100644 index fae454485d67d..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToTauTau_LeptonTau_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToTauTau_LeptonTau_Sequences_cff import * -higgsToTauTauLeptonTauPath = cms.Path(higgsToTauTauLeptonTauSequence) - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleAODSIM_cfi.py deleted file mode 100644 index 1f27ec7c750c0..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_EventContent_cff import * -higgsToWW2LeptonsOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - higgsToWW2LeptonsEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToWW2LeptonsAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hww2l_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleRECOSIM_cfi.py deleted file mode 100644 index d4b02f9bda10e..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2LeptonsOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_EventContent_cff import * -higgsToWW2LeptonsOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - higgsToWW2LeptonsEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToWW2LeptonsRECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hww2l_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_AODSIM_cff.py deleted file mode 100644 index 2c560ba6fd7fc..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_EventContent_cff import * -higgsToWW2LeptonsEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToWW2LeptonsEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -higgsToWW2LeptonsEventContentAODSIM.outputCommands.extend(higgsToWW2LeptonsEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_EventContent_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_EventContent_cff.py deleted file mode 100644 index 72e64c924b959..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -higgsToWW2LeptonsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToWW2LeptonsEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('HWWFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Filter_cfi.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Filter_cfi.py deleted file mode 100644 index 13187b9e562c1..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Filter_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -higgsToWW2LeptonsFilter = cms.EDFilter("HiggsToWW2LeptonsSkim", - ElectronCollectionLabel = cms.InputTag("pixelMatchGsfElectrons"), - RecoTrackLabel = cms.InputTag("recoTracks"), - SingleTrackPtMin = cms.double(20.0), - etaMin = cms.double(-2.4), - GlobalMuonCollectionLabel = cms.InputTag("globalMuons"), - DiTrackPtMin = cms.double(10.0), - etaMax = cms.double(2.4) -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_HLTPaths_cfi.py deleted file mode 100644 index 652f4cf340ffe..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_HLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -higgsToWW2LeptonsHLTFilter = copy.deepcopy(hltHighLevel) -higgsToWW2LeptonsHLTFilter.HLTPaths = ['HLT_IsoMu11', 'HLT_Mu15_L1Mu7', 'HLT_IsoEle15_L1I', 'HLT_IsoEle18_L1R', 'HLT_DoubleMu3', - 'HLT_DoubleIsoEle10_L1I', 'HLT_DoubleIsoEle12_L1R', 'HLT_IsoEle8_IsoMu7', 'HLT_IsoEle10_Mu10_L1R'] - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_OutputModule_cff.py deleted file mode 100644 index 10304265f5af4..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToWW2LeptonsOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.higgsToWW2LeptonsOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_RECOSIM_cff.py deleted file mode 100644 index 5ae14873a061f..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_EventContent_cff import * -higgsToWW2LeptonsEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToWW2LeptonsEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -higgsToWW2LeptonsEventContentRECOSIM.outputCommands.extend(higgsToWW2LeptonsEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Sequences_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Sequences_cff.py deleted file mode 100644 index 05a5480322bc3..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_Sequences_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToWW2Leptons_HLTPaths_cfi import * -from HiggsAnalysis.Skimming.higgsToWW2Leptons_Filter_cfi import * -higgsToWWTrigReport = cms.EDAnalyzer("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -higgsToWW2LeptonsSequence = cms.Sequence(higgsToWWTrigReport+higgsToWW2LeptonsHLTFilter+higgsToWW2LeptonsFilter) - diff --git a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_SkimPaths_cff.py deleted file mode 100644 index 12abc034c5b89..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToWW2Leptons_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToWW2Leptons_Sequences_cff import * -HWWFilterPath = cms.Path(higgsToWW2LeptonsSequence) - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleAODSIM_cfi.py deleted file mode 100644 index 798fea02c475b..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_EventContent_cff import * -higgsToZZ4LeptonsOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - higgsToZZ4LeptonsEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToZZ4LeptonsAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hzz4l_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleRECOSIM_cfi.py deleted file mode 100644 index b334b7e5ddb62..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4LeptonsOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_EventContent_cff import * -higgsToZZ4LeptonsOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - higgsToZZ4LeptonsEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('higgsToZZ4LeptonsRECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('hzz4l_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_AODSIM_cff.py deleted file mode 100644 index 4b19e8cdfe6fe..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_EventContent_cff import * -higgsToZZ4LeptonsEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToZZ4LeptonsEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -higgsToZZ4LeptonsEventContentAODSIM.outputCommands.extend(higgsToZZ4LeptonsEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_EventContent_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_EventContent_cff.py deleted file mode 100644 index af2e45b354ac9..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -higgsToZZ4LeptonsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToZZ4LeptonsEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('HZZFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Filter_cfi.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Filter_cfi.py deleted file mode 100644 index e4286ec1b17da..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Filter_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Entries for HZZ skim -# -# Dominique Fortin - UC Riverside -# -higgsToZZ4LeptonsFilter = cms.EDFilter("HiggsToZZ4LeptonsSkim", - electronMinimumEt = cms.double(5.0), - DebugHiggsToZZ4LeptonsSkim = cms.bool(False), - ElectronCollectionLabel = cms.InputTag("pixelMatchGsfElectrons"), - # Minimum number of identified leptons above pt threshold - nLeptonMinimum = cms.int32(3), - GlobalMuonCollectionLabel = cms.InputTag("globalMuons"), - # Collection to be accessed - RecoTrackLabel = cms.InputTag("recoTracks"), - # Pt threshold for leptons - muonMinimumPt = cms.double(5.0) -) - - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_HLTPaths_cfi.py deleted file mode 100644 index d83c92c86a7de..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_HLTPaths_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -higgsToZZ4LeptonsHLTFilter = copy.deepcopy(hltHighLevel) -higgsToZZ4LeptonsHLTFilter.HLTPaths = ['HLT_IsoMu11', 'HLT_Mu15_L1Mu7', 'HLT_DoubleMu3', 'HLT_IsoEle15_L1I', 'HLT_IsoEle18_L1R', - 'HLT_DoubleIsoEle10_L1I', 'HLT_DoubleIsoEle12_L1R'] - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_OutputModule_cff.py deleted file mode 100644 index b6a2b2215ec3f..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToZZ4LeptonsOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.higgsToZZ4LeptonsOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_RECOSIM_cff.py deleted file mode 100644 index 81c589e4b1499..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_EventContent_cff import * -higgsToZZ4LeptonsEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -higgsToZZ4LeptonsEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -higgsToZZ4LeptonsEventContentRECOSIM.outputCommands.extend(higgsToZZ4LeptonsEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Sequences_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Sequences_cff.py deleted file mode 100644 index 4ac86902900c4..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_Sequences_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_HLTPaths_cfi import * -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_Filter_cfi import * -higgsToZZ4HLTrigReport = cms.EDFilter("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -higgsToZZ4LeptonsSequence = cms.Sequence(higgsToZZ4HLTrigReport+higgsToZZ4LeptonsHLTFilter+higgsToZZ4LeptonsFilter) - diff --git a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_SkimPaths_cff.py deleted file mode 100644 index 7d293119fc877..0000000000000 --- a/HiggsAnalysis/Skimming/python/higgsToZZ4Leptons_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.higgsToZZ4Leptons_Sequences_cff import * -HZZFilterPath = cms.Path(higgsToZZ4LeptonsSequence) - diff --git a/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleAODSIM_cfi.py b/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleAODSIM_cfi.py deleted file mode 100644 index 03a280d3e12cd..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.rsTo2Gamma_EventContent_cff import * -rsTo2GammaOutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - rsTo2GammaEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('rsTo2GammaAODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('rsgg_AODSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleRECOSIM_cfi.py b/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleRECOSIM_cfi.py deleted file mode 100644 index 85732374c1cfb..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2GammaOutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.rsTo2Gamma_EventContent_cff import * -rsTo2GammaOutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - RECOSIMEventContent, - rsTo2GammaEventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('rsTo2Gamma_RECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('rsgg_RECOSIM.root') -) - - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_AODSIM_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_AODSIM_cff.py deleted file mode 100644 index b9ae6989425d7..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_AODSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.rsTo2Gamma_EventContent_cff import * -rsTo2GammaEventContentAODSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -rsTo2GammaEventContentAODSIM.outputCommands.extend(AODSIMEventContent.outputCommands) -rsTo2GammaEventContentAODSIM.outputCommands.extend(rsTo2GammaEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_EventContent_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_EventContent_cff.py deleted file mode 100644 index 12a7d06efbbc7..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -rsTo2GammaEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -rsTo2GammaEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('RSggFilterPath') - ) -) - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_Filter_cfi.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_Filter_cfi.py deleted file mode 100644 index b3949c29e8816..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_Filter_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Entries for RS2g skim -rsTo2GammaFilter = cms.EDFilter("HiggsTo2GammaSkim", - # Collection to be accessed - PhotonCollectionLabel = cms.InputTag("correctedPhotons"), - DebugHiggsTo2GammaSkim = cms.bool(False), - # Minimum number of identified photons above pt threshold - nPhotonMinimum = cms.int32(1), - # Pt threshold for photons - photon1MinimumPt = cms.double(50.0) -) - - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_HLTPaths_cfi.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_HLTPaths_cfi.py deleted file mode 100644 index fcb9f7346719a..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_HLTPaths_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from HLTrigger.HLTfilters.hltHighLevel_cfi import * -rsTo2GammaHLTFilter = copy.deepcopy(hltHighLevel) -rsTo2GammaHLTFilter.HLTPaths = ['HLT_EM80', 'HLT_EM200'] - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_OutputModule_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_OutputModule_cff.py deleted file mode 100644 index f611064817981..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_OutputModule_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.rsTo2GammaOutputModuleAODSIM_cfi import * -from HiggsAnalysis.Skimming.rsTo2GammaOutputModuleRECOSIM_cfi import * - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_RECOSIM_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_RECOSIM_cff.py deleted file mode 100644 index 6d7ce7a4b8f3a..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_RECOSIM_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from HiggsAnalysis.Skimming.rsTo2Gamma_EventContent_cff import * -rsTo2GammaEventContentRECOSIM = cms.PSet( - outputCommands = cms.untracked.vstring() -) -rsTo2GammaEventContentRECOSIM.outputCommands.extend(RECOSIMEventContent.outputCommands) -rsTo2GammaEventContentRECOSIM.outputCommands.extend(rsTo2GammaEventContent.outputCommands) - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_Sequences_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_Sequences_cff.py deleted file mode 100644 index baa0fc29f0504..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_Sequences_cff.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.rsTo2Gamma_HLTPaths_cfi import * -from HiggsAnalysis.Skimming.rsTo2Gamma_Filter_cfi import * -rsTo2GammaHLTrigReport = cms.EDAnalyzer("HLTrigReport", - HLTriggerResults = cms.InputTag("TriggerResults") -) - -rsTo2GammaSequence = cms.Sequence(rsTo2GammaHLTrigReport+rsTo2GammaHLTFilter+rsTo2GammaFilter) - diff --git a/HiggsAnalysis/Skimming/python/rsTo2Gamma_SkimPaths_cff.py b/HiggsAnalysis/Skimming/python/rsTo2Gamma_SkimPaths_cff.py deleted file mode 100644 index b019abdd96d8e..0000000000000 --- a/HiggsAnalysis/Skimming/python/rsTo2Gamma_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from HiggsAnalysis.Skimming.rsTo2Gamma_Sequences_cff import * -RSggFilterPath = cms.Path(rsTo2GammaSequence) - diff --git a/HiggsAnalysis/Skimming/src/HeavyChHiggsToTauNuSkim.cc b/HiggsAnalysis/Skimming/src/HeavyChHiggsToTauNuSkim.cc deleted file mode 100644 index 6eb1f3c0b9fbe..0000000000000 --- a/HiggsAnalysis/Skimming/src/HeavyChHiggsToTauNuSkim.cc +++ /dev/null @@ -1,102 +0,0 @@ -/** \class HeavyChHiggsToTauNuSkim - * - * - * This class is an EDFilter for heavy H+->taunu events - * - * \author Sami Lehti - HIP Helsinki - * - */ - -#include "HiggsAnalysis/Skimming/interface/HeavyChHiggsToTauNuSkim.h" - -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" -#include "DataFormats/BTauReco/interface/JetTag.h" -//#include "DataFormats/BTauReco/interface/JetTagFwd.h" -#include "DataFormats/JetReco/interface/Jet.h" - -#include - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -using namespace edm; -using namespace std; -using namespace reco; - -HeavyChHiggsToTauNuSkim::HeavyChHiggsToTauNuSkim(const edm::ParameterSet& iConfig) { - // Local Debug flag - debug = iConfig.getParameter("DebugHeavyChHiggsToTauNuSkim"); - - hltTauToken = consumes(iConfig.getParameter("HLTTauCollection")); - jetToken = consumes(iConfig.getParameter("JetTagCollection")); - minNumberOfjets = iConfig.getParameter("minNumberOfJets"); - jetEtMin = iConfig.getParameter("jetEtMin"); - jetEtaMin = iConfig.getParameter("jetEtaMin"); - jetEtaMax = iConfig.getParameter("jetEtaMax"); - minDRFromTau = iConfig.getParameter("minDRFromTau"); - - nEvents = 0; - nSelectedEvents = 0; -} - -HeavyChHiggsToTauNuSkim::~HeavyChHiggsToTauNuSkim() { - edm::LogVerbatim("HeavyChHiggsToTauNuSkim") - << " Number_events_read " << nEvents << " Number_events_kept " << nSelectedEvents << " Efficiency " - << ((double)nSelectedEvents) / ((double)nEvents + 0.01) << std::endl; -} - -bool HeavyChHiggsToTauNuSkim::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - nEvents++; - - Handle tauTagL3Handle; - iEvent.getByToken(hltTauToken, tauTagL3Handle); - - if (!tauTagL3Handle.isValid()) - return false; - - Jet theTau; - double maxEt = 0; - if (tauTagL3Handle.isValid()) { - const IsolatedTauTagInfoCollection& L3Taus = *(tauTagL3Handle.product()); - IsolatedTauTagInfoCollection::const_iterator i; - for (i = L3Taus.begin(); i != L3Taus.end(); i++) { - if (i->discriminator() == 0) - continue; - Jet taujet = *(i->jet().get()); - if (taujet.et() > maxEt) { - maxEt = taujet.et(); - theTau = taujet; - } - } - } - - if (maxEt == 0) - return false; - - // jets - - Handle jetHandle; - iEvent.getByToken(jetToken, jetHandle); - - if (!jetHandle.isValid()) - return false; - - bool accepted = false; - - if (jetHandle.isValid()) { - int nJets = 0; - const reco::CaloJetCollection& jets = *(jetHandle.product()); - CaloJetCollection::const_iterator iJet; - for (iJet = jets.begin(); iJet != jets.end(); iJet++) { - if (iJet->et() > jetEtMin && iJet->eta() > jetEtaMin && iJet->eta() < jetEtaMax) { - double DR = deltaR(theTau.eta(), iJet->eta(), theTau.phi(), iJet->phi()); - if (DR > minDRFromTau) - nJets++; - } - } - if (nJets >= minNumberOfjets) { - accepted = true; - nSelectedEvents++; - } - } - return accepted; -} diff --git a/HiggsAnalysis/Skimming/src/HiggsTo2GammaSkim.cc b/HiggsAnalysis/Skimming/src/HiggsTo2GammaSkim.cc deleted file mode 100644 index e12f5447050aa..0000000000000 --- a/HiggsAnalysis/Skimming/src/HiggsTo2GammaSkim.cc +++ /dev/null @@ -1,94 +0,0 @@ - -/* \class HiggsTo2GammaSkim - * - * Consult header file for description - * - * author: Kati Lassila-Perini Helsinki Institute of Physics - * - */ - -// system include files -#include - -// User include files -#include - -// Message logger -#include - -// Photons: -#include - -// C++ -#include -#include - -using namespace std; -using namespace edm; -using namespace reco; - -// Constructor -HiggsTo2GammaSkim::HiggsTo2GammaSkim(const edm::ParameterSet& pset) { - // Local Debug flag - debug = pset.getParameter("DebugHiggsTo2GammaSkim"); - - // Reconstructed objects - thePhotonToken = consumes(pset.getParameter("PhotonCollectionLabel")); - - // Minimum Pt for photons for skimming - photon1MinPt = pset.getParameter("photon1MinimumPt"); - nPhotonMin = pset.getParameter("nPhotonMinimum"); - - nEvents = 0; - nSelectedEvents = 0; -} - -// Destructor -HiggsTo2GammaSkim::~HiggsTo2GammaSkim() { - edm::LogVerbatim("HiggsTo2GammaSkim") << " Number_events_read " << nEvents << " Number_events_kept " - << nSelectedEvents << " Efficiency " - << ((double)nSelectedEvents) / ((double)nEvents + 0.01) << std::endl; -} - -// Filter event -bool HiggsTo2GammaSkim::filter(edm::Event& event, const edm::EventSetup& setup) { - nEvents++; - - using reco::PhotonCollection; - - bool keepEvent = false; - int nPhotons = 0; - - // Look at photons: - - // Get the photon collection from the event - edm::Handle photonHandle; - - event.getByToken(thePhotonToken, photonHandle); - - if (photonHandle.isValid()) { - const reco::PhotonCollection* phoCollection = photonHandle.product(); - - reco::PhotonCollection::const_iterator photons; - - // Loop over photon collections and count how many photons there are, - // and how many are above the thresholds - - // Question: do we need to take the reconstructed primary vertex at this point? - // Here, I assume that the et is taken with respect to the nominal vertex (0,0,0). - for (photons = phoCollection->begin(); photons != phoCollection->end(); ++photons) { - float et_p = photons->et(); - if (et_p > photon1MinPt) - nPhotons++; - } - } - - // Make decision: - if (nPhotons >= nPhotonMin) - keepEvent = true; - - if (keepEvent) - nSelectedEvents++; - - return keepEvent; -} diff --git a/HiggsAnalysis/Skimming/src/HiggsToWW2LeptonsSkim.cc b/HiggsAnalysis/Skimming/src/HiggsToWW2LeptonsSkim.cc deleted file mode 100644 index 87e0a0afa4eca..0000000000000 --- a/HiggsAnalysis/Skimming/src/HiggsToWW2LeptonsSkim.cc +++ /dev/null @@ -1,110 +0,0 @@ -/** \class HiggsToWW2LeptonsSkim - * - * - * This class is an EDFilter for HWW events - * - * - * \author Ezio Torassa - INFN Padova - * - */ - -#include "HiggsAnalysis/Skimming/interface/HiggsToWW2LeptonsSkim.h" - -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -// Muons: -#include - -// Electrons -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" - -#include "DataFormats/Candidate/interface/Candidate.h" - -#include - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -using namespace edm; -using namespace std; -using namespace reco; - -HiggsToWW2LeptonsSkim::HiggsToWW2LeptonsSkim(const edm::ParameterSet& iConfig) : nEvents_(0), nAccepted_(0) { - // Reconstructed objects - theGLBMuonToken = consumes(iConfig.getParameter("GlobalMuonCollectionLabel")); - theGsfEToken = consumes(iConfig.getParameter("ElectronCollectionLabel")); - - singleTrackPtMin_ = iConfig.getParameter("SingleTrackPtMin"); - diTrackPtMin_ = iConfig.getParameter("DiTrackPtMin"); - etaMin_ = iConfig.getParameter("etaMin"); - etaMax_ = iConfig.getParameter("etaMax"); -} - -HiggsToWW2LeptonsSkim::~HiggsToWW2LeptonsSkim() {} - -void HiggsToWW2LeptonsSkim::endJob() { - edm::LogVerbatim("HiggsToWW2LeptonsSkim") - << "Events read " << nEvents_ << " Events accepted " << nAccepted_ << "\nEfficiency " - << ((double)nAccepted_) / ((double)nEvents_) << std::endl; -} - -bool HiggsToWW2LeptonsSkim::filter(edm::Event& event, const edm::EventSetup& iSetup) { - nEvents_++; - bool accepted = false; - bool accepted1 = false; - int nTrackOver2ndCut = 0; - - // Handle tracks; - - using reco::TrackCollection; - - // Get the muon track collection from the event - edm::Handle muTracks; - event.getByToken(theGLBMuonToken, muTracks); - - if (muTracks.isValid()) { - reco::TrackCollection::const_iterator muons; - - // Loop over muon collections and count how many muons there are, - // and how many are above threshold - for (muons = muTracks->begin(); muons != muTracks->end(); ++muons) { - if (muons->eta() > etaMin_ && muons->eta() < etaMax_) { - if (muons->pt() > singleTrackPtMin_) - accepted1 = true; - if (muons->pt() > diTrackPtMin_) - nTrackOver2ndCut++; - } - } - } - - // Now look at electrons: - - // Get the electron track collection from the event - edm::Handle pTracks; - - event.getByToken(theGsfEToken, pTracks); - - if (pTracks.isValid()) { - const reco::GsfElectronCollection* eTracks = pTracks.product(); - - reco::GsfElectronCollection::const_iterator electrons; - - // Loop over electron collections and count how many muons there are, - // and how many are above threshold - for (electrons = eTracks->begin(); electrons != eTracks->end(); ++electrons) { - if (electrons->eta() > etaMin_ && electrons->eta() < etaMax_) { - if (electrons->pt() > singleTrackPtMin_) - accepted1 = true; - if (electrons->pt() > diTrackPtMin_) - nTrackOver2ndCut++; - } - } - } - - if (accepted1 && nTrackOver2ndCut >= 2) - accepted = true; - - if (accepted) - nAccepted_++; - - return accepted; -} diff --git a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsPreFilter.cc b/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsPreFilter.cc deleted file mode 100644 index 65b7e19ac1eb0..0000000000000 --- a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsPreFilter.cc +++ /dev/null @@ -1,118 +0,0 @@ - -/* \class HiggsTo4LeptonsPreFilter - * - * Consult header file for description - * - * author: Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// User include files -#include - -// Candidate handling -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Common/interface/AssociationVector.h" - -// C++ -#include -#include - -using namespace std; -using namespace edm; -using namespace reco; - -// Constructor -HiggsToZZ4LeptonsPreFilter::HiggsToZZ4LeptonsPreFilter(const edm::ParameterSet& pset) { - // LeptonFlavour - // 0 = no tau - // 1 = 4 mu - // 2 = 4 e - // 3 = 2e 2mu - - // Local Debug flag - debug = pset.getParameter("DebugHiggsToZZ4LeptonsPreFilter"); - leptonFlavour = pset.getParameter("HiggsToZZ4LeptonsPreFilterLeptonFlavour"); - genToken = consumes(edm::InputTag("genParticles")); - - ikept = 0; - evt = 0; -} - -// Destructor -HiggsToZZ4LeptonsPreFilter::~HiggsToZZ4LeptonsPreFilter() { - std::cout << "number of events processed: " << evt << std::endl; - std::cout << "number of events kept: " << ikept << std::endl; -} - -// Filter event -bool HiggsToZZ4LeptonsPreFilter::filter(edm::Event& event, const edm::EventSetup& setup) { - bool keepEvent = false; - evt++; - - bool FourL = false; - bool FourE = false; - bool FourM = false; - bool TwoETwoM = false; - - // get gen particle candidates - Handle genParticles; - event.getByToken(genToken, genParticles); - - if (genParticles.isValid()) { - int nElec = 0; - int nMuon = 0; - - for (GenParticleCollection::const_iterator mcIter = genParticles->begin(); mcIter != genParticles->end(); - ++mcIter) { - // Muons: - if (mcIter->pdgId() == 13 || mcIter->pdgId() == -13) { - // Mother is a Z - if (mcIter->mother()->pdgId() == 23) { - // In fiducial volume: - if (mcIter->pt() < 3) - continue; - if (mcIter->eta() > -2.4 && mcIter->eta() < 2.4) - nMuon++; - } - } - // Electrons: - if (mcIter->pdgId() == 11 || mcIter->pdgId() == -11) - // Mother is a Z - if (mcIter->mother()->pdgId() == 23) { - // In fiducial volume: - if (mcIter->pt() < 3) - continue; - if (mcIter->eta() > -2.5 && mcIter->eta() < 2.5) - nElec++; - } - } - - if (nElec > 3) - FourE = true; - if (nMuon > 3) - FourM = true; - if (nMuon > 1 && nElec > 1) - TwoETwoM = true; - if (FourE || FourM || TwoETwoM) - FourL = true; - - if (leptonFlavour == 0 && FourL) - keepEvent = true; - if (leptonFlavour == 1 && FourM) - keepEvent = true; - if (leptonFlavour == 2 && FourE) - keepEvent = true; - if (leptonFlavour == 3 && TwoETwoM) - keepEvent = true; - } - - if (keepEvent) - ikept++; - - return keepEvent; -} diff --git a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkim.cc b/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkim.cc deleted file mode 100644 index a0e506016a33e..0000000000000 --- a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkim.cc +++ /dev/null @@ -1,115 +0,0 @@ - -/* \class HiggsTo4LeptonsSkim - * - * Consult header file for description - * - * author: Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// User include files -#include - -// Muons: -#include - -// Electrons -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" - -// C++ -#include -#include - -using namespace std; -using namespace edm; -using namespace reco; - -// Constructor -HiggsToZZ4LeptonsSkim::HiggsToZZ4LeptonsSkim(const edm::ParameterSet& pset) { - // Local Debug flag - debug = pset.getParameter("DebugHiggsToZZ4LeptonsSkim"); - - // Reconstructed objects - theGLBMuonToken = consumes(pset.getParameter("GlobalMuonCollectionLabel")); - theGsfEToken = consumes(pset.getParameter("ElectronCollectionLabel")); - - // Minimum Pt for leptons for skimming - stiffMinPt = pset.getParameter("stiffMinimumPt"); - softMinPt = pset.getParameter("softMinimumPt"); - nStiffLeptonMin = pset.getParameter("nStiffLeptonMinimum"); - nLeptonMin = pset.getParameter("nLeptonMinimum"); - - nEvents = 0; - nSelectedEvents = 0; -} - -// Destructor -HiggsToZZ4LeptonsSkim::~HiggsToZZ4LeptonsSkim() { - edm::LogVerbatim("HiggsToZZ4LeptonsSkim") - << " Number_events_read " << nEvents << " Number_events_kept " << nSelectedEvents << " Efficiency " - << ((double)nSelectedEvents) / ((double)nEvents + 0.01) << std::endl; -} - -// Filter event -bool HiggsToZZ4LeptonsSkim::filter(edm::Event& event, const edm::EventSetup& setup) { - nEvents++; - - using reco::TrackCollection; - - bool keepEvent = false; - int nStiffLeptons = 0; - int nLeptons = 0; - - // First look at muons: - - // Get the muon track collection from the event - edm::Handle muTracks; - event.getByToken(theGLBMuonToken, muTracks); - - if (muTracks.isValid()) { - reco::TrackCollection::const_iterator muons; - - // Loop over muon collections and count how many muons there are, - // and how many are above threshold - for (muons = muTracks->begin(); muons != muTracks->end(); ++muons) { - if (muons->pt() > stiffMinPt) - nStiffLeptons++; - if (muons->pt() > softMinPt) - nLeptons++; - } - } - - // Now look at electrons: - - // Get the electron track collection from the event - edm::Handle pTracks; - event.getByToken(theGsfEToken, pTracks); - - if (pTracks.isValid()) { - const reco::GsfElectronCollection* eTracks = pTracks.product(); - - reco::GsfElectronCollection::const_iterator electrons; - - // Loop over electron collections and count how many muons there are, - // and how many are above threshold - for (electrons = eTracks->begin(); electrons != eTracks->end(); ++electrons) { - float pt_e = electrons->pt(); - if (pt_e > stiffMinPt) - nStiffLeptons++; - if (pt_e > softMinPt) - nLeptons++; - } - } - - // Make decision: - if (nStiffLeptons >= nStiffLeptonMin && nLeptons >= nLeptonMin) - keepEvent = true; - - if (keepEvent) - nSelectedEvents++; - - return keepEvent; -} diff --git a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkimEff.cc b/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkimEff.cc deleted file mode 100644 index 8cccc06ab88ef..0000000000000 --- a/HiggsAnalysis/Skimming/src/HiggsToZZ4LeptonsSkimEff.cc +++ /dev/null @@ -1,223 +0,0 @@ - -/* \class HiggsTo4LeptonsSkimEff - * - * Consult header file for description - * - * author: Dominique Fortin - UC Riverside - * - */ - -// system include files -#include - -// User include files -#include - -// Muons: -#include - -// Electrons -#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" - -// Candidate handling -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Common/interface/AssociationVector.h" - -// C++ -#include -#include - -using namespace std; -using namespace edm; -using namespace reco; - -// Constructor -HiggsToZZ4LeptonsSkimEff::HiggsToZZ4LeptonsSkimEff(const edm::ParameterSet& pset) { - // Local Debug flag - debug = pset.getParameter("DebugHiggsToZZ4LeptonsSkim"); - - // Reconstructed objects - theGLBMuonToken = consumes(pset.getParameter("GlobalMuonCollectionLabel")); - theGsfEToken = consumes(pset.getParameter("ElectronCollectionLabel")); - genToken = consumes(edm::InputTag("genParticles")); - - // Minimum Pt for leptons for skimming - // Minimum Pt for leptons for skimming - stiffMinPt = pset.getParameter("stiffMinimumPt"); - softMinPt = pset.getParameter("softMinimumPt"); - nStiffLeptonMin = pset.getParameter("nStiffLeptonMinimum"); - nLeptonMin = pset.getParameter("nLeptonMinimum"); - - nEvents = 0; - nSelFourE = nSelFourM = nSelTwoETwoM = nSelFourL = nSelTau = 0; - nFourE = nFourM = nTwoETwoM = nFourL = nTau = 0; -} - -// Destructor -HiggsToZZ4LeptonsSkimEff::~HiggsToZZ4LeptonsSkimEff() { - std::cout << "Number of events read " << nEvents << std::endl; - std::cout << "*** Efficiency for the various subsamples *** " << endl; - - std::cout << "Four leptons: " - << " pres " << nFourL << " kept " << nSelFourL << " eff " - << ((double)nSelFourL) / ((double)nFourL + 0.0001) << std::endl; - std::cout << "Four muons: " - << " pres " << nFourM << " kept " << nSelFourM << " eff " - << ((double)nSelFourM) / ((double)nFourM + 0.0001) << std::endl; - std::cout << "Four elecs: " - << " pres " << nFourE << " kept " << nSelFourE << " eff " - << ((double)nSelFourE) / ((double)nFourE + 0.0001) << std::endl; - std::cout << "2 elec 2 mu: " - << " pres " << nTwoETwoM << " kept " << nSelTwoETwoM << " eff " - << ((double)nSelTwoETwoM) / ((double)nTwoETwoM + 0.0001) << std::endl; - std::cout << "with taus: " - << " pres " << nTau << " kept " << nSelTau << " eff " << ((double)nSelTau) / ((double)nTau + 0.0001) - << std::endl; -} - -// Filter event -void HiggsToZZ4LeptonsSkimEff::analyze(const edm::Event& event, const edm::EventSetup& setup) { - nEvents++; - - using reco::TrackCollection; - - bool keepEvent = false; - - // First, pre-selection: - int nMuon = 0; - int nElec = 0; - int nTau = 0; - - bool isFourE = false; - bool isFourM = false; - bool isTwoETwoM = false; - bool isFourL = false; - bool isTau = false; - - // get gen particle candidates - edm::Handle genCandidates; - event.getByToken(genToken, genCandidates); - - for (CandidateCollection::const_iterator mcIter = genCandidates->begin(); mcIter != genCandidates->end(); ++mcIter) { - // Muons: - if (mcIter->pdgId() == 13 || mcIter->pdgId() == -13) { - // Mother is a Z - if (mcIter->mother()->pdgId() == 23) { - // In fiducial volume: - if (mcIter->eta() > -2.4 && mcIter->eta() < 2.4) - nMuon++; - } - } - // Electrons: - if (mcIter->pdgId() == 11 || mcIter->pdgId() == -11) { - // Mother is a Z - if (mcIter->mother()->pdgId() == 23) { - // In fiducial volume: - if (mcIter->eta() > -2.5 && mcIter->eta() < 2.5) - nElec++; - } - } - // Taus: - if (mcIter->pdgId() == 15 || mcIter->pdgId() == -15) { - // Mother is a Z - if (mcIter->mother()->pdgId() == 23) { - // In fiducial volume: - if (mcIter->eta() > -2.5 && mcIter->eta() < 2.5) - nTau++; - } - } - } - - if (nElec > 3) { - isFourE = true; - nFourE++; - } - if (nMuon > 3) { - isFourM = true; - nFourM++; - } - if (nMuon > 1 && nElec > 1) { - isTwoETwoM = true; - nTwoETwoM++; - } - if (isFourE || isFourM || isTwoETwoM) { - isFourL = true; - nFourL++; - } - if (nTau > 1) { - isTau = true; - nTau++; - } - - if (isFourL) { - keepEvent = true; - } else { - return; - } - - int nStiffLeptons = 0; - int nLeptons = 0; - - // First look at muons: - - // Get the muon track collection from the event - edm::Handle muTracks; - event.getByToken(theGLBMuonToken, muTracks); - - if (muTracks.isValid()) { - reco::TrackCollection::const_iterator muons; - - // Loop over muon collections and count how many muons there are, - // and how many are above threshold - for (muons = muTracks->begin(); muons != muTracks->end(); ++muons) { - float pt_mu = muons->pt(); - if (pt_mu > stiffMinPt) - nStiffLeptons++; - if (pt_mu > softMinPt) - nLeptons++; - } - } - - // Now look at electrons: - - // Get the electron track collection from the event - edm::Handle pTracks; - event.getByToken(theGsfEToken, pTracks); - - if (pTracks.isValid()) { - const reco::GsfElectronCollection* eTracks = pTracks.product(); - - reco::GsfElectronCollection::const_iterator electrons; - - // Loop over electron collections and count how many muons there are, - // and how many are above threshold - for (electrons = eTracks->begin(); electrons != eTracks->end(); ++electrons) { - float pt_e = electrons->pt(); - if (pt_e > stiffMinPt) - nStiffLeptons++; - if (pt_e > softMinPt) - nLeptons++; - } - } - - // Make decision: - if (nStiffLeptons >= nStiffLeptonMin && nLeptons >= nLeptonMin) { - keepEvent = true; - } else { - keepEvent = false; - } - - if (keepEvent) { - if (isFourE) - nSelFourE++; - if (isFourM) - nSelFourM++; - if (isTwoETwoM) - nSelTwoETwoM++; - if (isFourL) - nSelFourL++; - if (isTau) - nSelTau++; - } -} diff --git a/HiggsAnalysis/Skimming/src/SealModule.cc b/HiggsAnalysis/Skimming/src/SealModule.cc deleted file mode 100644 index ebc94ace9f523..0000000000000 --- a/HiggsAnalysis/Skimming/src/SealModule.cc +++ /dev/null @@ -1,15 +0,0 @@ -#include - -#include -#include -#include -#include -#include -#include - -DEFINE_FWK_MODULE(HiggsToZZ4LeptonsSkim); -DEFINE_FWK_MODULE(HiggsToZZ4LeptonsSkimEff); -DEFINE_FWK_MODULE(HiggsToZZ4LeptonsPreFilter); -DEFINE_FWK_MODULE(HiggsToWW2LeptonsSkim); -DEFINE_FWK_MODULE(HeavyChHiggsToTauNuSkim); -DEFINE_FWK_MODULE(HiggsTo2GammaSkim); diff --git a/MuonAnalysis/Configuration/python/MuonAnalysis_OutputModules_cff.py b/MuonAnalysis/Configuration/python/MuonAnalysis_OutputModules_cff.py deleted file mode 100644 index 7d43e59fc2bce..0000000000000 --- a/MuonAnalysis/Configuration/python/MuonAnalysis_OutputModules_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from MuonAnalysis.Configuration.muonL1OutputModule_cfi import * -MuonAnalysisOutput = cms.Sequence(muonL1OutputModuleAODSIM+muonL1OutputModuleRECOSIM) - diff --git a/MuonAnalysis/Configuration/python/MuonAnalysis_SkimPaths_cff.py b/MuonAnalysis/Configuration/python/MuonAnalysis_SkimPaths_cff.py deleted file mode 100644 index 7079b2c9c5db4..0000000000000 --- a/MuonAnalysis/Configuration/python/MuonAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Muon POG standard sequence -from MuonAnalysis.Configuration.muonL1_SkimPath_cff import * - diff --git a/MuonAnalysis/Configuration/python/muonL1OutputModuleAODSIM_cfi.py b/MuonAnalysis/Configuration/python/muonL1OutputModuleAODSIM_cfi.py deleted file mode 100644 index ded73bd7db787..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1OutputModuleAODSIM_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from MuonAnalysis.Configuration.muonL1_EventContent_cff import * -muonL1OutputModuleAODSIM = cms.OutputModule("PoolOutputModule", - muonL1EventSelection, - AODSIMmuonL1EventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('muonL1AODSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('muonL1-AODSIM.root') -) - - diff --git a/MuonAnalysis/Configuration/python/muonL1OutputModuleRECOSIM_cfi.py b/MuonAnalysis/Configuration/python/muonL1OutputModuleRECOSIM_cfi.py deleted file mode 100644 index 1308b0d920862..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1OutputModuleRECOSIM_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from MuonAnalysis.Configuration.muonL1_EventContent_cff import * -muonL1OutputModuleRECOSIM = cms.OutputModule("PoolOutputModule", - muonL1EventSelection, - RECOSIMmuonL1EventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('muonL1RECOSIM'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('muonL1-RECOSIM.root') -) - - diff --git a/MuonAnalysis/Configuration/python/muonL1OutputModule_cfi.py b/MuonAnalysis/Configuration/python/muonL1OutputModule_cfi.py deleted file mode 100644 index 88bb5916ce6be..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1OutputModule_cfi.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from MuonAnalysis.Configuration.muonL1OutputModuleAODSIM_cfi import * -from MuonAnalysis.Configuration.muonL1OutputModuleRECOSIM_cfi import * - diff --git a/MuonAnalysis/Configuration/python/muonL1_EventContent_cff.py b/MuonAnalysis/Configuration/python/muonL1_EventContent_cff.py deleted file mode 100644 index 508fa745d7b77..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1_EventContent_cff.py +++ /dev/null @@ -1,22 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -muonL1EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -muonL1EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('muonL1Path') - ) -) -RECOSIMmuonL1EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -AODSIMmuonL1EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -RECOSIMmuonL1EventContent.outputCommands.extend(RECOSIMEventContent.outputCommands) -RECOSIMmuonL1EventContent.outputCommands.extend(muonL1EventContent.outputCommands) -AODSIMmuonL1EventContent.outputCommands.extend(AODSIMEventContent.outputCommands) -AODSIMmuonL1EventContent.outputCommands.extend(muonL1EventContent.outputCommands) - diff --git a/MuonAnalysis/Configuration/python/muonL1_SkimPath_cff.py b/MuonAnalysis/Configuration/python/muonL1_SkimPath_cff.py deleted file mode 100644 index 75bbcc8c5f081..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1_SkimPath_cff.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# this is just Juan's sequence to select l1 muons -from MuonAnalysis.Configuration.muonL1_cfi import * -muonL1Path = cms.Path(muonL1) - diff --git a/MuonAnalysis/Configuration/python/muonL1_cfi.py b/MuonAnalysis/Configuration/python/muonL1_cfi.py deleted file mode 100644 index e48fa840e7bf8..0000000000000 --- a/MuonAnalysis/Configuration/python/muonL1_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -muonL1 = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('CandHLT1MuonLevel1'), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -) - - diff --git a/QCDAnalysis/Configuration/python/QCDAnalysis_EventContent_cff.py b/QCDAnalysis/Configuration/python/QCDAnalysis_EventContent_cff.py deleted file mode 100644 index be26e7d1e0cb6..0000000000000 --- a/QCDAnalysis/Configuration/python/QCDAnalysis_EventContent_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# -# Collection of all Skim Paths for QCD Analysis -# -# -# -# -# Added by D. Mason 8/7/07 -# -# Pulled out single jet skims -- brought in -# Andreas Oehler's 3 skims + 2 more from UE 8/21/07 -# -# -# Andreas Oehler's skims -from QCDAnalysis.Skimming.qcdJetFilterStreamHi_EventContent_cff import * -from QCDAnalysis.Skimming.qcdJetFilterStreamMed_EventContent_cff import * -from QCDAnalysis.Skimming.qcdJetFilterStreamLo_EventContent_cff import * -# QCD UE analysis skims -from QCDAnalysis.Skimming.diMuonEventContent_cfi import * -from QCDAnalysis.Skimming.softJetsEventContent_cfi import * - diff --git a/QCDAnalysis/Configuration/python/QCDAnalysis_OutputModules_cff.py b/QCDAnalysis/Configuration/python/QCDAnalysis_OutputModules_cff.py deleted file mode 100644 index eb9147043e18a..0000000000000 --- a/QCDAnalysis/Configuration/python/QCDAnalysis_OutputModules_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# -# Collection of all outputModules for QCD Analysis -# -# -# -# -# Added by D. Mason 8/7/07 -# -# Pulled out single jet skims -- brought in -# Andreas Oehler's 3 skims + 2 more from UE 8/21/07 -# -# -# Andreas Oehler's skims -from QCDAnalysis.Skimming.qcdJetFilterStreamHiOutputModule_cfi import * -from QCDAnalysis.Skimming.qcdJetFilterStreamMedOutputModule_cfi import * -from QCDAnalysis.Skimming.qcdJetFilterStreamLoOutputModule_cfi import * -# UE analysis QCD skims -from QCDAnalysis.Skimming.softJetsOutputModule_cfi import * -from QCDAnalysis.Skimming.diMuonOutputModule_cfi import * - diff --git a/QCDAnalysis/Configuration/python/QCDAnalysis_SkimPaths_cff.py b/QCDAnalysis/Configuration/python/QCDAnalysis_SkimPaths_cff.py deleted file mode 100644 index ed8a333fdb4b2..0000000000000 --- a/QCDAnalysis/Configuration/python/QCDAnalysis_SkimPaths_cff.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# -# Collection of all Skim Paths for QCD Analysis -# -# -# -# -# Added by D. Mason 8/7/07 -# -# Pulled out single jet skims -- brought in -# Andreas Oehler's 3 skims + 2 more from UE 8/21/07 -# -# -# Andreas Oehler's skims -- apparently requires random numbers... -from QCDAnalysis.Skimming.qcdJetFilterStreamHiPath_cff import * -from QCDAnalysis.Skimming.qcdJetFilterStreamMedPath_cff import * -from QCDAnalysis.Skimming.qcdJetFilterStreamLoPath_cff import * -# QCD UE analysis Skims -from QCDAnalysis.Skimming.softJetsPath_cff import * -from QCDAnalysis.Skimming.diMuonPath_cff import * - diff --git a/QCDAnalysis/Skimming/BuildFile.xml b/QCDAnalysis/Skimming/BuildFile.xml deleted file mode 100644 index d141dcb9bd34b..0000000000000 --- a/QCDAnalysis/Skimming/BuildFile.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h b/QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h deleted file mode 100644 index 8314de06c7285..0000000000000 --- a/QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef __QCDSingleJetFilter__H__ -#define __QCDSingleJetFilter__H__ - -/* \class QCDSingleJetFilter for CSA07 Excercise - * by Andreas Oehler (andreas.oehler@cern.ch) - * - Filter to select on pt of the jet with hightest Pt - can do a random prescale (requires RandomNumber Service)[deactivated] - - */ - -// user include files -#include - -#include - -#include -#include -#include "FWCore/Utilities/interface/InputTag.h" - -#include - -//RandomGenerator Service taken out -//namespace CLHEP { -// class RandFlat; -//} - -class QCDSingleJetFilter : public edm::EDFilter { -public: - // Constructor - QCDSingleJetFilter(const edm::ParameterSet&); - - // Destructor - ~QCDSingleJetFilter() override; - - /// Get event properties to send to builder to fill seed collection - bool filter(edm::Event&, const edm::EventSetup&) override; - -private: - bool debug; - //CLHEP::RandFlat *theFlatDistrib; - double theMinPt; - //,thePreScale; - edm::EDGetTokenT theTriggerJetCollectionAToken; - edm::EDGetTokenT theTrigCollBToken; -}; - -#endif diff --git a/QCDAnalysis/Skimming/plugins/BuildFile.xml b/QCDAnalysis/Skimming/plugins/BuildFile.xml deleted file mode 100644 index 8397360261c4d..0000000000000 --- a/QCDAnalysis/Skimming/plugins/BuildFile.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/QCDAnalysis/Skimming/plugins/module.cc b/QCDAnalysis/Skimming/plugins/module.cc deleted file mode 100644 index 8a1bc598327d3..0000000000000 --- a/QCDAnalysis/Skimming/plugins/module.cc +++ /dev/null @@ -1,7 +0,0 @@ -// Framework-stuff - -#include - -#include "QCDAnalysis/Skimming/interface/QCDSingleJetFilter.h" - -DEFINE_FWK_MODULE(QCDSingleJetFilter); diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetEventContent_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetEventContent_cff.py deleted file mode 100644 index 23f8dc27a591b..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetEventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -QCDHLT1jetEventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -QCDHLT1jetEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('QCDHLT1jetSkimpath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetOutputModule_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetOutputModule_cfi.py deleted file mode 100644 index 62e8becf6ece9..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.QCDHLT1jetEventContent_cff import * -QCDHLT1jetOutputModule = cms.OutputModule("PoolOutputModule", - #using QCDHLT1jetEventContent - QCDHLT1jetEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('QCDHLT1jet'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('QCDHLT1jet.root') -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1EventContent_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE1EventContent_cff.py deleted file mode 100644 index 17fc7a78646d0..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -QCDHLT1jetPE1EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -QCDHLT1jetPE1EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('QCDHLT1jetPE1Skimpath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1OutputModule_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE1OutputModule_cfi.py deleted file mode 100644 index 828e3da253524..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1OutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.QCDHLT1jetPE1EventContent_cff import * -QCDHLT1jetPE1OutputModule = cms.OutputModule("PoolOutputModule", - AODSIMEventContent, - #using QCDHLT1jetPE1EventContent - QCDHLT1jetPE1EventSelection, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('QCDHLT1jetPE1'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('QCDHLT1jetPE1.root') -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Path_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Path_cff.py deleted file mode 100644 index 16113e14ce603..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Path_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.QCDHLT1jetPE1Skim_cfi import * -QCDHLT1jetPE1Skimpath = cms.Path(QCDHLT1jetPE1Trigger) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Skim_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Skim_cfi.py deleted file mode 100644 index a0da2c2d8bd0b..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE1Skim_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Module for Jet trigger skim -- HLT1jetPE1 trigger -# -QCDHLT1jetPE1Trigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT1jetPE1'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3EventContent_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE3EventContent_cff.py deleted file mode 100644 index 9d2e94730819c..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -QCDHLT1jetPE3EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -QCDHLT1jetPE3EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('QCDHLT1jetPE3Skimpath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3OutputModule_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE3OutputModule_cfi.py deleted file mode 100644 index 05eee187863b7..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3OutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.QCDHLT1jetPE3EventContent_cff import * -QCDHLT1jetPE3OutputModule = cms.OutputModule("PoolOutputModule", - #using QCDHLT1jetPE3EventContent - QCDHLT1jetPE3EventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('QCDHLT1jetPE3'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('QCDHLT1jetPE3.root') -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Path_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Path_cff.py deleted file mode 100644 index cc54b5b902311..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Path_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.QCDHLT1jetPE3Skim_cfi import * -QCDHLT1jetPE3Skimpath = cms.Path(QCDHLT1jetPE3Trigger) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Skim_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Skim_cfi.py deleted file mode 100644 index a04616959f197..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE3Skim_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Module for Jet trigger skim -- HLT1jetPE3 trigger -# -QCDHLT1jetPE3Trigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT1jetPE3'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5EventContent_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE5EventContent_cff.py deleted file mode 100644 index 0d1e5d90019e1..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -QCDHLT1jetPE5EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -QCDHLT1jetPE5EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('QCDHLT1jetPE5Skimpath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5OutputModule_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE5OutputModule_cfi.py deleted file mode 100644 index ee6f23186aa1a..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5OutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.QCDHLT1jetPE5EventContent_cff import * -QCDHLT1jetPE5OutputModule = cms.OutputModule("PoolOutputModule", - #using QCDHLT1jetPE5EventContent - QCDHLT1jetPE5EventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('QCDHLT1jetPE5'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('QCDHLT1jetPE5.root') -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Path_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Path_cff.py deleted file mode 100644 index 10c902dedfa7a..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Path_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.QCDHLT1jetPE5Skim_cfi import * -QCDHLT1jetPE5Skimpath = cms.Path(QCDHLT1jetPE5Trigger) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Skim_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Skim_cfi.py deleted file mode 100644 index 617fb2b86cd9e..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE5Skim_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Module for Jet trigger skim -- HLT1jetPE5 trigger -# -QCDHLT1jetPE5Trigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT1jetPE5'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7EventContent_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE7EventContent_cff.py deleted file mode 100644 index 1f35fa575c02e..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7EventContent_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Can insert block to customize what goes inside root file on top of AOD/RECO -QCDHLT1jetPE7EventContent = cms.PSet( - outputCommands = cms.untracked.vstring() -) -QCDHLT1jetPE7EventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('QCDHLT1jetPE7Skimpath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7OutputModule_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE7OutputModule_cfi.py deleted file mode 100644 index adb6726d36222..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7OutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.QCDHLT1jetPE7EventContent_cff import * -QCDHLT1jetPE7OutputModule = cms.OutputModule("PoolOutputModule", - #using QCDHLT1jetPE7EventContent - QCDHLT1jetPE7EventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('QCDHLT1jetPE7'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('QCDHLT1jetPE7.root') -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Path_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Path_cff.py deleted file mode 100644 index d389ebc8150be..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Path_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.QCDHLT1jetPE7Skim_cfi import * -QCDHLT1jetPE7Skimpath = cms.Path(QCDHLT1jetPE7Trigger) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Skim_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Skim_cfi.py deleted file mode 100644 index fc25d000c6808..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPE7Skim_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Module for Jet trigger skim -- HLT1jetPE7 trigger -# -QCDHLT1jetPE7Trigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT1jetPE7'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetPath_cff.py b/QCDAnalysis/Skimming/python/QCDHLT1jetPath_cff.py deleted file mode 100644 index 3c254cf982c77..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.QCDHLT1jetSkim_cfi import * -QCDHLT1jetSkimpath = cms.Path(QCDHLT1jetTrigger) - diff --git a/QCDAnalysis/Skimming/python/QCDHLT1jetSkim_cfi.py b/QCDAnalysis/Skimming/python/QCDHLT1jetSkim_cfi.py deleted file mode 100644 index bcbb62d7298fb..0000000000000 --- a/QCDAnalysis/Skimming/python/QCDHLT1jetSkim_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# Module for Jet trigger skim -- HLT1jet trigger -# -QCDHLT1jetTrigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT1jet'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/Skimming/python/diMuonEventContent_cfi.py b/QCDAnalysis/Skimming/python/diMuonEventContent_cfi.py deleted file mode 100644 index ea3cdf920aeda..0000000000000 --- a/QCDAnalysis/Skimming/python/diMuonEventContent_cfi.py +++ /dev/null @@ -1,22 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -# "keep *_genParticles_*_*", - -import FWCore.ParameterSet.Config as cms - -from SimG4Core.Configuration.SimG4Core_EventContent_cff import * -diMuonEventContent = cms.PSet( - outputCommands = cms.untracked.vstring('keep *_ctfWithMaterialTracks_*_*', - 'keep *_globalMuons_*_*', - 'keep edmTriggerResults_*_*_*', - 'keep *_l1extraParticles_*_*') -) -#include "Configuration/EventContent/data/EventContent.cff" -#replace diMuonEventContent.outputCommands += AODSIMEventContent.outputCommands -diMuonEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('diMuonPath') - ) -) -diMuonEventContent.outputCommands.extend(SimG4CoreAOD.outputCommands) - diff --git a/QCDAnalysis/Skimming/python/diMuonOutputModule_cfi.py b/QCDAnalysis/Skimming/python/diMuonOutputModule_cfi.py deleted file mode 100644 index f752bbb7746f5..0000000000000 --- a/QCDAnalysis/Skimming/python/diMuonOutputModule_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.diMuonEventContent_cfi import * -diMuonOutputModule = cms.OutputModule("PoolOutputModule", - diMuonEventSelection, - diMuonEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('diMuons'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('diMuons.root') -) - - diff --git a/QCDAnalysis/Skimming/python/diMuonPath_cff.py b/QCDAnalysis/Skimming/python/diMuonPath_cff.py deleted file mode 100644 index d00928f429b1d..0000000000000 --- a/QCDAnalysis/Skimming/python/diMuonPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.diMuonSkim_cfi import * -diMuonPath = cms.Path(diMuonTrigger) - diff --git a/QCDAnalysis/Skimming/python/diMuonSkim_cfi.py b/QCDAnalysis/Skimming/python/diMuonSkim_cfi.py deleted file mode 100644 index dded3bc9412e7..0000000000000 --- a/QCDAnalysis/Skimming/python/diMuonSkim_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# -# Modules for soft di-muon trigger skim. -# -diMuonTrigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT_DoubleMu3'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiOutputModule_cfi.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiOutputModule_cfi.py deleted file mode 100644 index 4165b36124608..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiOutputModule_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from Configuration.EventContent.EventContent_cff import * -from QCDAnalysis.Skimming.qcdJetFilterStreamHi_EventContent_cff import * -qcdJetFilterStreamHiOutputModule = cms.OutputModule("PoolOutputModule", - qcdJetFilterStreamHiEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('qcdJetFilterStreamHiPath'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('qcdJetFilterStreamHi.root') -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiPath_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiPath_cff.py deleted file mode 100644 index c60be546bc5bb..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.qcdJetFilterStreamHiSkim_cff import * -qcdJetFilterStreamHiPath = cms.Path(cms.SequencePlaceholder("qcdSingleJetFilterStreamHi")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiSkim_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiSkim_cff.py deleted file mode 100644 index 93dff235f969b..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHiSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdSingleJetFilterHi = cms.EDFilter("QCDSingleJetFilter", - TriggerJetCollectionB = cms.InputTag("fastjet6CaloJets"), - MinPt = cms.double(1000.0), - TriggerJetCollectionA = cms.InputTag("midPointCone7CaloJets") -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_EventContent_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_EventContent_cff.py deleted file mode 100644 index 0fae61d9c6964..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_EventContent_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamHiEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamHiPath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_cff.py deleted file mode 100644 index 1361636def947..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamHi_cff.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamHi = cms.Sequence(cms.SequencePlaceholder("qcdSingleJetFilterHi")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoOutputModule_cfi.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoOutputModule_cfi.py deleted file mode 100644 index 3cbfd23ad4e2b..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.qcdJetFilterStreamLo_EventContent_cff import * -from Configuration.EventContent.EventContent_cff import * - -qcdJetFilterStreamLoOutputModule = cms.OutputModule("PoolOutputModule", - qcdJetFilterStreamLoEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('qcdJetFilterStreamLoPath'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('qcdJetFilterStreamLo.root') -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoPath_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoPath_cff.py deleted file mode 100644 index d42034c8a4d47..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.qcdJetFilterStreamLoSkim_cff import * -qcdJetFilterStreamLoPath = cms.Path(cms.SequencePlaceholder("qcdSingleJetFilterStreamLo")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoSkim_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoSkim_cff.py deleted file mode 100644 index a23b55092b4de..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLoSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdSingleJetFilterLo = cms.EDFilter("QCDSingleJetFilter", - TriggerJetCollectionB = cms.InputTag("fastjet6CaloJets"), - MinPt = cms.double(140.0), - TriggerJetCollectionA = cms.InputTag("midPointCone7CaloJets") -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_EventContent_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_EventContent_cff.py deleted file mode 100644 index 430b514e87c08..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_EventContent_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamLoEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamLoPath', - 'HLT1jet:HLT') - ) -) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_cff.py deleted file mode 100644 index 3397d066f87e8..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamLo_cff.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamLo = cms.Sequence(~cms.SequencePlaceholder("qcdSingleJetFilterHi")*~cms.SequencePlaceholder("qcdSingleJetFilterMed")*cms.SequencePlaceholder("qcdSingleJetFilterLo")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedOutputModule_cfi.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedOutputModule_cfi.py deleted file mode 100644 index 272719529bb7d..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedOutputModule_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.qcdJetFilterStreamMed_EventContent_cff import * -from Configuration.EventContent.EventContent_cff import * - -qcdJetFilterStreamMedOutputModule = cms.OutputModule("PoolOutputModule", - qcdJetFilterStreamMedEventSelection, - AODSIMEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('qcdJetFilterStreamMedPath'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('qcdJetFilterStreamMed.root') -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedPath_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedPath_cff.py deleted file mode 100644 index 280743dc437d7..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.qcdJetFilterStreamMedSkim_cff import * -qcdJetFilterStreamMedPath = cms.Path(cms.SequencePlaceholder("qcdSingleJetFilterStreamMed")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedSkim_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedSkim_cff.py deleted file mode 100644 index 7659ac29459b5..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMedSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdSingleJetFilterMed = cms.EDFilter("QCDSingleJetFilter", - TriggerJetCollectionB = cms.InputTag("fastjet6CaloJets"), - MinPt = cms.double(500.0), - TriggerJetCollectionA = cms.InputTag("midPointCone7CaloJets") -) - - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_EventContent_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_EventContent_cff.py deleted file mode 100644 index 514d9c17ef9f5..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_EventContent_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamMedEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamMedPath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_cff.py deleted file mode 100644 index 444561a75588e..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStreamMed_cff.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamMed = cms.Sequence(~cms.SequencePlaceholder("qcdSingleJetFilterHi")*cms.SequencePlaceholder("qcdSingleJetFilterMed")) - diff --git a/QCDAnalysis/Skimming/python/qcdJetFilterStream_EventContent_cff.py b/QCDAnalysis/Skimming/python/qcdJetFilterStream_EventContent_cff.py deleted file mode 100644 index 4809104ad3fef..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdJetFilterStream_EventContent_cff.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdJetFilterStreamHiEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamHiPath') - ) -) -qcdJetFilterStreamMedEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamMedPath') - ) -) -qcdJetFilterStreamLoEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('qcdJetFilterStreamLoPath') - ) -) - diff --git a/QCDAnalysis/Skimming/python/qcdSingleJetFilterRandBlock_cff.py b/QCDAnalysis/Skimming/python/qcdSingleJetFilterRandBlock_cff.py deleted file mode 100644 index 8d9f21b334f22..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdSingleJetFilterRandBlock_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdSingleJetFilterRandSeeds = cms.PSet( - qcdSingleJetFilterMed = cms.untracked.uint32(14821), - qcdSingleJetFilterLo = cms.untracked.uint32(3214), - qcdSingleJetFilterHi = cms.untracked.uint32(9821) -) - diff --git a/QCDAnalysis/Skimming/python/qcdSingleJetFilter_cfi.py b/QCDAnalysis/Skimming/python/qcdSingleJetFilter_cfi.py deleted file mode 100644 index 91edc1f4ab2f3..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdSingleJetFilter_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -qcdSingleJetFilter = cms.EDFilter("QCDSingleJetFilter", - TriggerJetCollectionB = cms.InputTag("fastjet6CaloJets"), - MinPt = cms.double(3000.0), - TriggerJetCollectionA = cms.InputTag("midPointCone7CaloJets") -) - - diff --git a/QCDAnalysis/Skimming/python/qcdSingleJetFilters_cff.py b/QCDAnalysis/Skimming/python/qcdSingleJetFilters_cff.py deleted file mode 100644 index 38b4afed67081..0000000000000 --- a/QCDAnalysis/Skimming/python/qcdSingleJetFilters_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import copy -from QCDAnalysis.Skimming.qcdSingleJetFilter_cfi import * -qcdSingleJetFilterHi = copy.deepcopy(qcdSingleJetFilter) -import copy -from QCDAnalysis.Skimming.qcdSingleJetFilter_cfi import * -qcdSingleJetFilterMed = copy.deepcopy(qcdSingleJetFilter) -import copy -from QCDAnalysis.Skimming.qcdSingleJetFilter_cfi import * -qcdSingleJetFilterLo = copy.deepcopy(qcdSingleJetFilter) -qcdSingleJetFilterHi.MinPt = 1000 -qcdSingleJetFilterMed.MinPt = 500 -qcdSingleJetFilterLo.MinPt = 200 - diff --git a/QCDAnalysis/Skimming/python/softJetsEventContent_cfi.py b/QCDAnalysis/Skimming/python/softJetsEventContent_cfi.py deleted file mode 100644 index 6aa9f4d8dfe8d..0000000000000 --- a/QCDAnalysis/Skimming/python/softJetsEventContent_cfi.py +++ /dev/null @@ -1,24 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -# "keep *_genParticles_*_*", - -import FWCore.ParameterSet.Config as cms - -from RecoJets.Configuration.RecoJets_EventContent_cff import * -from SimG4Core.Configuration.SimG4Core_EventContent_cff import * -softJetsEventContent = cms.PSet( - outputCommands = cms.untracked.vstring('keep *_ctfWithMaterialTracks_*_*', - 'keep *_globalMuons_*_*', - 'keep edmTriggerResults_*_*_*', - 'keep *_l1extraParticles_*_*') -) -#include "Configuration/EventContent/data/EventContent.cff" -#replace softJetsEventContent.outputCommands += AODSIMEventContent.outputCommands -softJetsEventSelection = cms.PSet( - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('softJetsPath') - ) -) -softJetsEventContent.outputCommands.extend(RecoJetsAOD.outputCommands) -softJetsEventContent.outputCommands.extend(SimG4CoreAOD.outputCommands) - diff --git a/QCDAnalysis/Skimming/python/softJetsOutputModule_cfi.py b/QCDAnalysis/Skimming/python/softJetsOutputModule_cfi.py deleted file mode 100644 index 60f34d3ea16ad..0000000000000 --- a/QCDAnalysis/Skimming/python/softJetsOutputModule_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.softJetsEventContent_cfi import * -softJetsOutputModule = cms.OutputModule("PoolOutputModule", - softJetsEventSelection, - softJetsEventContent, - dataset = cms.untracked.PSet( - filterName = cms.untracked.string('softJets'), - dataTier = cms.untracked.string('USER') - ), - fileName = cms.untracked.string('softJets.root') -) - - diff --git a/QCDAnalysis/Skimming/python/softJetsPath_cff.py b/QCDAnalysis/Skimming/python/softJetsPath_cff.py deleted file mode 100644 index e20cecf38ed2e..0000000000000 --- a/QCDAnalysis/Skimming/python/softJetsPath_cff.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from QCDAnalysis.Skimming.softJetsSkim_cff import * -softJetsPath = cms.Path(singleJetTrigger*~muonTrigger*~electronTrigger*~photonTrigger) - diff --git a/QCDAnalysis/Skimming/python/softJetsSkim_cff.py b/QCDAnalysis/Skimming/python/softJetsSkim_cff.py deleted file mode 100644 index 5a33acfc72ab3..0000000000000 --- a/QCDAnalysis/Skimming/python/softJetsSkim_cff.py +++ /dev/null @@ -1,38 +0,0 @@ -# The following comments couldn't be translated into the new config version: - -# -# -# Modules for soft Jet trigger skim. Designed for CSA07 only. -# Should be used in veto mode and kill dominant samples of other physics -# - -import FWCore.ParameterSet.Config as cms - -singleJetTrigger = cms.EDFilter("QCDSingleJetFilter", - TriggerJetCollectionB = cms.InputTag("midPointCone7CaloJets"), - MinPt = cms.double(20.0), - TriggerJetCollectionA = cms.InputTag("midPointCone7CaloJets") -) - -muonTrigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT_Mu15_L1Mu7'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -) - -electronTrigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT_IsoEle18_L1R'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -) - -photonTrigger = cms.EDFilter("HLTHighLevel", - HLTPaths = cms.vstring('HLT_IsoPhoton40_L1R'), - byName = cms.bool(True), - andOr = cms.bool(True), - TriggerResultsTag = cms.InputTag("TriggerResults","","HLT") -) - - diff --git a/QCDAnalysis/Skimming/src/QCDSingleJetFilter.cc b/QCDAnalysis/Skimming/src/QCDSingleJetFilter.cc deleted file mode 100644 index de1f2e6c5627d..0000000000000 --- a/QCDAnalysis/Skimming/src/QCDSingleJetFilter.cc +++ /dev/null @@ -1,108 +0,0 @@ -/* \class QCDSingleJetFilter - * - * QCDSingleJetFilter for CSA07 Excercise - * - * author: Andreas Oehler (andreas.oehler@cern.ch) - * see header - */ - -//MyHeadeR: -#include - -// User include files - -#include -#include -#include -#include -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "DataFormats/JetReco/interface/GenJet.h" - -//rand: -//#include -//#include -//#include - -// C++ -#include -#include -#include -#include - -using namespace std; -using namespace edm; -//using namespace reco; - -//detruktor -QCDSingleJetFilter::~QCDSingleJetFilter() { - //delete theFlatDistrib; -} - -// Constructor -//QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset):theFlatDistrib(0),theTriggerJetCollectionA(pset.getParameter("TriggerJetCollectionA")),theTrigCollB(pset.getParameter("TriggerJetCollectionB")){ -QCDSingleJetFilter::QCDSingleJetFilter(const edm::ParameterSet& pset) - : theTriggerJetCollectionAToken( - consumes(pset.getParameter("TriggerJetCollectionA"))), - theTrigCollBToken(consumes(pset.getParameter("TriggerJetCollectionB"))) { - // Local Debug flag - //debug = pset.getParameter("DebugHiggsToZZ4LeptonsSkim"); - - //getConfigParameter: - theMinPt = pset.getParameter("MinPt"); - //prescale taken out for convenience - //thePreScale = pset.getParameter("PreScale"); - //thePreScale=fabs(thePreScale); - //if (thePreScale<1) thePreScale=0; - - // Eventually, HLT objects: - - //get Random-Service running: - //edm::Service rng; - //if (!rng.isAvailable()) { - // throw cms::Exception("QCDSingleJetFilter")<<"QCDSingleJetFilter requires RandomNumberGeneratorService\n" - // "--borked setup\n"; - //} - //CLHEP::HepRandomEngine& engine = rng->getEngine(); - //theFlatDistrib = new CLHEP::RandFlat(engine,0.0,1.0); -} - -// Filter event -bool QCDSingleJetFilter::filter(edm::Event& event, const edm::EventSetup& setup) { - bool keepEvent = false; - using namespace edm; - using namespace std; - - //now get right Jet-Collection: - edm::Handle theTriggerCollectionJetsA; - edm::Handle theTrigCollJetsB; - - event.getByToken(theTriggerJetCollectionAToken, theTriggerCollectionJetsA); - event.getByToken(theTrigCollBToken, theTrigCollJetsB); - - for (reco::CaloJetCollection::const_iterator iter = theTriggerCollectionJetsA->begin(); - iter != theTriggerCollectionJetsA->end(); - ++iter) { - if ((*iter).pt() >= theMinPt) { - keepEvent = true; - break; - } - } - - for (reco::CaloJetCollection::const_iterator iter = theTrigCollJetsB->begin(); iter != theTrigCollJetsB->end(); - ++iter) { - if ((*iter).pt() >= theMinPt) { - keepEvent = true; - break; - } - } - - //double randval = theFlatDistrib->fire(); - //if (thePreScale<1) keepEvent=false; - //else if ((randval>(1.0/thePreScale))&&keepEvent) keepEvent=false; - // cout<<"KeepEvent?: "< - - - - - - - - - - - - diff --git a/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h b/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h deleted file mode 100644 index 79fdd8b483ae2..0000000000000 --- a/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef AnalysisRootpleProducer_H -#define AnalysisRootpleProducer_H - -#include - -#include -#include -#include -#include -#include -#include - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/JetReco/interface/GenJet.h" -#include "DataFormats/JetReco/interface/GenJetCollection.h" -#include "DataFormats/JetReco/interface/CaloJetCollection.h" -#include "DataFormats/JetReco/interface/BasicJet.h" -#include "DataFormats/JetReco/interface/BasicJetCollection.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -// access trigger results -#include -#include -#include - -class AnalysisRootpleProducer : public edm::EDAnalyzer { -public: - // - explicit AnalysisRootpleProducer(const edm::ParameterSet&); - ~AnalysisRootpleProducer() override {} // no need to delete ROOT stuff - // as it'll be deleted upon closing TFile - - void analyze(const edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - - void fillEventInfo(int); - void fillMCParticles(float, float, float, float); - void fillTracks(float, float, float, float); - void fillInclusiveJet(float, float, float, float); - void fillChargedJet(float, float, float, float); - void fillTracksJet(float, float, float, float); - void fillCaloJet(float, float, float, float); - void store(); - -private: - bool onlyRECO; - - edm::EDGetTokenT mcEventToken; // label of MC event - edm::EDGetTokenT genJetCollToken; // label of Jet made with MC particles - edm::EDGetTokenT chgJetCollToken; // label of Jet made with only charged MC particles - edm::EDGetTokenT > chgGenPartCollToken; // label of charged MC particles - edm::EDGetTokenT tracksJetCollToken; - edm::EDGetTokenT recoCaloJetCollToken; - edm::EDGetTokenT tracksCollToken; - edm::EDGetTokenT triggerResultsToken; - - edm::Handle EvtHandle; - edm::Handle > CandHandleMC; - edm::Handle GenJetsHandle; - edm::Handle ChgGenJetsHandle; - edm::Handle CandHandleRECO; - edm::Handle TracksJetsHandle; - edm::Handle RecoCaloJetsHandle; - edm::Handle triggerResults; - // edm::Handle hltFilter; // not used at the moment: can access objects that fired the trigger - - edm::Service fs; - - float piG; - - TTree* AnalysisTree; - - static const int NMCPMAX = 10000; - static const int NTKMAX = 10000; - static const int NIJMAX = 10000; - static const int NCJMAX = 10000; - static const int NTJMAX = 10000; - static const int NEHJMAX = 10000; - - int EventKind, NumberMCParticles, NumberTracks, NumberInclusiveJet, NumberChargedJet, NumberTracksJet, NumberCaloJet; - - float MomentumMC[NMCPMAX], TransverseMomentumMC[NMCPMAX], EtaMC[NMCPMAX], PhiMC[NMCPMAX]; - float MomentumTK[NTKMAX], TransverseMomentumTK[NTKMAX], EtaTK[NTKMAX], PhiTK[NTKMAX]; - float MomentumIJ[NIJMAX], TransverseMomentumIJ[NIJMAX], EtaIJ[NIJMAX], PhiIJ[NIJMAX]; - float MomentumCJ[NCJMAX], TransverseMomentumCJ[NCJMAX], EtaCJ[NCJMAX], PhiCJ[NCJMAX]; - float MomentumTJ[NTJMAX], TransverseMomentumTJ[NTJMAX], EtaTJ[NTJMAX], PhiTJ[NTJMAX]; - float MomentumEHJ[NEHJMAX], TransverseMomentumEHJ[NEHJMAX], EtaEHJ[NEHJMAX], PhiEHJ[NEHJMAX]; - - TClonesArray* MonteCarlo; - TClonesArray* InclusiveJet; - TClonesArray* ChargedJet; - TClonesArray* Track; - TClonesArray* TracksJet; - TClonesArray* CalorimeterJet; - TClonesArray* acceptedTriggers; -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h b/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h deleted file mode 100644 index 45472f7f7b9b1..0000000000000 --- a/QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef AnalysisRootpleProducerOnlyMC_H -#define AnalysisRootpleProducerOnlyMC_H - -#include - -#include -#include -#include -#include -#include -#include - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" - -#include -#include - -#include -#include -#include -#include -#include - -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/JetReco/interface/GenJet.h" -#include "DataFormats/JetReco/interface/GenJetCollection.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -class AnalysisRootpleProducerOnlyMC : public edm::EDAnalyzer { -public: - explicit AnalysisRootpleProducerOnlyMC(const edm::ParameterSet&); - ~AnalysisRootpleProducerOnlyMC() override {} - - void analyze(const edm::Event&, const edm::EventSetup&) override; - void beginJob() override; - void endJob() override; - - void fillEventInfo(int); - void fillMCParticles(float, float, float, float); - void fillInclusiveJet(float, float, float, float); - void fillChargedJet(float, float, float, float); - void store(); - -private: - edm::EDGetTokenT mcEventToken; // label of MC event - edm::EDGetTokenT genJetCollToken; // label of Jet made with MC particles - edm::EDGetTokenT chgJetCollToken; // label of Jet made with only charged MC particles - edm::EDGetTokenT > chgGenPartCollToken; // label of charged MC particles - - edm::Handle EvtHandle; - edm::Handle > CandHandleMC; - edm::Handle GenJetsHandle; - edm::Handle ChgGenJetsHandle; - - float piG; - - edm::Service fs; - - TTree* AnalysisTree; - - static const int NMCPMAX = 10000; - static const int NTKMAX = 10000; - static const int NIJMAX = 10000; - static const int NCJMAX = 10000; - static const int NTJMAX = 10000; - static const int NEHJMAX = 10000; - - int EventKind, NumberMCParticles, NumberTracks, NumberInclusiveJet, NumberChargedJet, NumberTracksJet, NumberCaloJet; - - float MomentumMC[NMCPMAX], TransverseMomentumMC[NMCPMAX], EtaMC[NMCPMAX], PhiMC[NMCPMAX]; - float MomentumTK[NTKMAX], TransverseMomentumTK[NTKMAX], EtaTK[NTKMAX], PhiTK[NTKMAX]; - float MomentumIJ[NIJMAX], TransverseMomentumIJ[NIJMAX], EtaIJ[NIJMAX], PhiIJ[NIJMAX]; - float MomentumCJ[NCJMAX], TransverseMomentumCJ[NCJMAX], EtaCJ[NCJMAX], PhiCJ[NCJMAX]; - float MomentumTJ[NTJMAX], TransverseMomentumTJ[NTJMAX], EtaTJ[NTJMAX], PhiTJ[NTJMAX]; - float MomentumEHJ[NEHJMAX], TransverseMomentumEHJ[NEHJMAX], EtaEHJ[NEHJMAX], PhiEHJ[NEHJMAX]; - - TClonesArray* MonteCarlo; - TClonesArray* InclusiveJet; - TClonesArray* ChargedJet; -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/python/UEAnalysisJets_cfi.py b/QCDAnalysis/UEAnalysis/python/UEAnalysisJets_cfi.py deleted file mode 100644 index d00381f57847a..0000000000000 --- a/QCDAnalysis/UEAnalysis/python/UEAnalysisJets_cfi.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -UEAnalysisIconeJetParameters = cms.PSet( - verbose = cms.untracked.bool(False), - jetPtMin = cms.double(5.0), - inputEtMin = cms.double(0.9), - coneRadius = cms.double(0.5), - seedThreshold = cms.double(1.0), - debugLevel = cms.untracked.int32(0), - jetType = cms.untracked.string('GenJet'), - inputEMin = cms.double(0.0) -) -IC5GenJet = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodParticles") -) - -IC5ChgGenJet = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("chargeParticles") -) - -IC5TracksJet = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodTracks") -) -IC5TracksJet.jetType = 'BasicJet' -IC5GenJet500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodParticles") -) - -IC5ChgGenJet500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("chargeParticles") -) - -IC5TracksJet500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodTracks") -) -IC5GenJet500.inputEtMin = 0.5 -IC5ChgGenJet500.inputEtMin = 0.5 -IC5TracksJet500.jetType = 'BasicJet' -IC5TracksJet500.inputEtMin = 0.5 - -IC5GenJet1500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodParticles") - ) -IC5ChgGenJet1500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("chargeParticles") - ) -IC5TracksJet1500 = cms.EDProducer("IterativeConeJetProducer", - UEAnalysisIconeJetParameters, - src = cms.InputTag("goodTracks") - ) -IC5GenJet1500.inputEtMin = 1.5 -IC5ChgGenJet1500.inputEtMin = 1.5 -IC5TracksJet1500.jetType = 'BasicJet' -IC5TracksJet1500.inputEtMin = 1.5 - - -UEAnalysisJetsOnlyMC = cms.Sequence(IC5GenJet*IC5ChgGenJet*IC5GenJet500*IC5ChgGenJet500*IC5GenJet1500*IC5ChgGenJet1500) -UEAnalysisJetsOnlyReco = cms.Sequence(IC5TracksJet*IC5TracksJet500*IC5TracksJet1500) -UEAnalysisJets = cms.Sequence(UEAnalysisJetsOnlyMC*UEAnalysisJetsOnlyReco) - - - diff --git a/QCDAnalysis/UEAnalysis/python/UEAnalysisParticles_cfi.py b/QCDAnalysis/UEAnalysis/python/UEAnalysisParticles_cfi.py deleted file mode 100644 index 9a6f806923596..0000000000000 --- a/QCDAnalysis/UEAnalysis/python/UEAnalysisParticles_cfi.py +++ /dev/null @@ -1,24 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from SimGeneral.HepPDTESSource.pythiapdt_cfi import * -from RecoJets.Configuration.GenJetParticles_cff import * -# select charged GenParticles with pt > 0.29 -# -# (threshold used to be 0.89, but tracking in 2_0_0 -# saves tracks with pT > 0.29) -goodParticles = cms.EDFilter("GenParticleSelector", - filter = cms.bool(False), - src = cms.InputTag("genParticles"), - cut = cms.string('pt > 0.0'), - stableOnly = cms.bool(True) -) - -chargeParticles = cms.EDFilter("GenParticleSelector", - filter = cms.bool(False), - src = cms.InputTag("genParticles"), - cut = cms.string('charge != 0 & pt > 0.29'), - stableOnly = cms.bool(True) -) - -UEAnalysisParticles = cms.Sequence(genJetParticles*goodParticles*chargeParticles) - diff --git a/QCDAnalysis/UEAnalysis/python/UEAnalysisRootpleOnlyMC_cfi.py b/QCDAnalysis/UEAnalysis/python/UEAnalysisRootpleOnlyMC_cfi.py deleted file mode 100644 index 20faa87392d09..0000000000000 --- a/QCDAnalysis/UEAnalysis/python/UEAnalysisRootpleOnlyMC_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -ueAnalysisRootple = cms.EDFilter("AnalysisRootpleProducerOnlyMC", - #label of Jet made with only charged MC particles - ChgGenJetCollectionName = cms.untracked.InputTag("iterativeCone5ChgGenJetsSeed10"), - #label of MC event - MCEvent = cms.untracked.InputTag("source"), - #label of charged MC particles - ChgGenPartCollectionName = cms.untracked.InputTag("chargeParticles"), - #label of Jet made with MC particles - GenJetCollectionName = cms.untracked.InputTag("iterativeCone5GenJetsSeed10") -) - - diff --git a/QCDAnalysis/UEAnalysis/python/UEAnalysisRootple_cfi.py b/QCDAnalysis/UEAnalysis/python/UEAnalysisRootple_cfi.py deleted file mode 100644 index bf0c04ae94a9d..0000000000000 --- a/QCDAnalysis/UEAnalysis/python/UEAnalysisRootple_cfi.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -ueAnalysisRootple = cms.EDProducer("AnalysisRootpleProducer", - #label of selected tracks - TracksCollectionName = cms.untracked.InputTag("goodTracks"), - #label of Jet made with Tracks - TracksJetCollectionName = cms.untracked.InputTag("iterativeCone5BasicJetsSeed10"), - #label of Jet made with only charged MC particles - ChgGenJetCollectionName = cms.untracked.InputTag("iterativeCone5ChgGenJetsSeed10"), - #lable of MC event - MCEvent = cms.untracked.InputTag("source"), - #label of charged MC particles - ChgGenPartCollectionName = cms.untracked.InputTag("chargeParticles"), - OnlyRECO = cms.untracked.bool(True), - #label of standard Calo Jet - RecoCaloJetCollectionName = cms.untracked.InputTag("iterativeCone5CaloJets"), - #label of Jet made with MC particles - GenJetCollectionName = cms.untracked.InputTag("iterativeCone5GenJetsSeed10"), - #label of trigger results - triggerResults = cms.InputTag("TriggerResults") -) - - diff --git a/QCDAnalysis/UEAnalysis/python/UEAnalysisTracks_cfi.py b/QCDAnalysis/UEAnalysis/python/UEAnalysisTracks_cfi.py deleted file mode 100644 index 497eafd09f57e..0000000000000 --- a/QCDAnalysis/UEAnalysis/python/UEAnalysisTracks_cfi.py +++ /dev/null @@ -1,34 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# old ( < CMSSW_2_x) cuts: -# -# select tracks with -# pt > 0.89 -# at least 8 valid hits -# distance of closest approach to the primary vertex <= 3.5 -# z-difference to primary vertex <= 30 -# new ( >= CMSSW_2_x) cuts (under investigation): -# -# select tracks with -# pt > 0.29 -# at least 4 valid hits -> moved back to 8 -# distance of closest approach to the primary vertex <= 3.5 -# z-difference to primary vertex <= 30 -selectTracks = cms.EDFilter("TrackSelector", - src = cms.InputTag("generalTracks"), - cut = cms.string('pt > 0.29 & numberOfValidHits > 7 & d0 <= 3.5 & dz <= 30') -) - -allTracks = cms.EDProducer("ChargedCandidateProducer", - src = cms.InputTag("selectTracks"), - particleType = cms.string('pi+') -) - -goodTracks = cms.EDFilter("CandSelector", - filter = cms.bool(False), - src = cms.InputTag("allTracks"), - cut = cms.string('pt > 0.29') -) - -UEAnalysisTracks = cms.Sequence(selectTracks*allTracks*goodTracks) - diff --git a/QCDAnalysis/UEAnalysis/root/Makefile b/QCDAnalysis/UEAnalysis/root/Makefile deleted file mode 100644 index e21ff63567fa1..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -objects = UEAnalysis.o UEAnalysisOnRootple.o -source1 = UEAnalysis.cpp -source2 = UEAnalysisOnRootple.C - -CXX = g++ -CXXFLAGS = -O -Wall -fPIC -LD = g++ -ROOTCFLAGS := $(shell root-config --cflags) -ROOTLIBS := $(shell root-config --libs) -ROOTGLIBS := $(shell $(ROOTSYS)/bin/root-config --glibs) -CXXFLAGS += $(ROOTCFLAGS) -LIBS = $(ROOTLIBS) -lEG -SHARE = -shared -NAMELIB = $(CMSSW_BASE)/src/QCDAnalysis/UEAnalysis/root/UE.o -BINFILE = UEAnalysis -lib : - $(LD) -g $(ROOTCFLAGS) -c $(source1) - $(LD) -g $(ROOTCFLAGS) -c $(source2) - $(LD) -g $(objects) $(LIBS) $(SHARE) -o $(NAMELIB) - -bin: - $(LD) -g $(LIBS) $(NAMELIB) -o $(BINFILE) - - -clean: - rm $(objects) $(BINFILE) $(NAMELIB) G__a* diff --git a/QCDAnalysis/UEAnalysis/root/RunUE.sh b/QCDAnalysis/UEAnalysis/root/RunUE.sh deleted file mode 100755 index 9af1ab18b2f66..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/RunUE.sh +++ /dev/null @@ -1,18 +0,0 @@ -// Compilation instructions: -// make lib -// make bin -// -//Examples for use the analysis macro -//List of parameter to be passed -// 1) file that contain th elist of root file to be analyzed -// 2) output file name -// 3) kind of Analysis possible option are UE, Jet, MPI that respectively means -// analysis of Underlying Event, study on charged jet properties, study on counting the MPI via MiniJets -// 4) trigger stream, possibel otion are MB, Jet20, Jet60, Jet120 -// 5) luminosity scenario in pb -// 6) eta region -// 7) Pt of Calo Jet for trigger selection -// 8) cuts on the minimu pt of the tracks in MeV -// 9) cuts on the minimum pt of MiniJet to be used only in case you are running the MPI scheme - -./UEAnalysis listMB_09.dat StreamMB_900_lumi1pb.root UE MB 1 2 0 900 0 diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysis.cpp b/QCDAnalysis/UEAnalysis/root/UEAnalysis.cpp deleted file mode 100644 index 7b31f25436119..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysis.cpp +++ /dev/null @@ -1,104 +0,0 @@ -#include - -#include "Riostream.h" -#include "TROOT.h" -#include "TTree.h" -#include "TChain.h" -#include "TMath.h" -#include "TRef.h" -#include "TRefArray.h" -#include "TH1.h" -#include "TH2.h" -#include "TDatabasePDG.h" - -#include -#include -#include -#include -#include "UEAnalysisOnRootple.h" -using namespace std; - -int main(int argc, char* argv[]) { - - char* filelist = argv[1]; - char* outname = argv[2]; - char* type = argv[3]; - char* jetStream = argv[4]; - Float_t lumi=atof(argv[5]); - Float_t eta=atof(argv[6]); - Float_t triggerPt=atof(argv[7]); - char* tkCut= argv[8]; - Float_t ptCut = atof(argv[9]); - - string Trigger(jetStream); - string AnalysisType(type); - string TracksPt(tkCut); - - Float_t weight[7]; - - Float_t Jet20_900[7]={1.000000,0.254008,0.027852,0.011589,0.002788,0.000531,0.000071}; - Float_t Jet20GlobalWeight_900=9.95; - Float_t Jet60_900[7]={1.000000,0.416103,0.100088,0.019064,0.002536,0.0,0.0}; - Float_t Jet60GlobalWeight_900=1.86; - Float_t Jet120_900[7]={1.000000,0.190474,0.025338,0.0,0.0,0.0,0.0}; - Float_t Jet120GlobalWeight_900=23.43; - Float_t MB_900[7]={1.0,0.0,0.0,0.0,0.0,0.0,0.0}; - Float_t MBGlobalWeight_900=0.104; - - Float_t Jet20_500[7]={1.000000,0.263501,0.026244,0.010588,0.002454,0.000493,0.000067}; - Float_t Jet20GlobalWeight_500=11.32; - Float_t Jet60_500[7]={1.000000,0.403430,0.093489,0.018767,0.002535,0.0,0.0}; - Float_t Jet60GlobalWeight_500=1.99; - Float_t Jet120_500[7]={1.000000,0.200737,0.027111,0.0,0.0,0.0,0.0}; - Float_t Jet120GlobalWeight_500=23.43; - Float_t MB_500[7]={1.0,0.0,0.0,0.0,0.0,0.0,0.0}; - Float_t MBGlobalWeight_500=0.276; - - if(TracksPt=="900"){ - if(Trigger=="Jet20"){ - for(int i=0;i<7;i++){ - weight[i]=Jet20_900[i]*Jet20GlobalWeight_900*lumi*0.1; - } - }else if(Trigger=="Jet60"){ - for(int i=0;i<7;i++) - weight[i]=Jet60_900[i]*Jet60GlobalWeight_900*lumi*0.1; - }else if(Trigger=="Jet120"){ - for(int i=0;i<7;i++) - weight[i]=Jet120_900[i]*Jet120GlobalWeight_900*lumi*0.1; - }else if(Trigger=="MB"){ - for(int i=0;i<7;i++) - weight[i]=MB_900[i]*MBGlobalWeight_900*lumi*0.1; - }else{ - cout<<"Select an undefinde Jet Stream "< -#include -#include -#include - -#include -#include - -UEAnalysisCorrCali::UEAnalysisCorrCali() -{ - std::cout << "UEAnalysisCorrCali constructor " < -#include -#include -#include - -class UEAnalysisCorrCali{ - public : - - UEAnalysisCorrCali(); - ~UEAnalysisCorrCali(){} - - float calibrationPt(float ptReco,std::string tkpt); - float correctionPtTrans(float ptReco,std::string tkpt); - float correctionPtToward(float ptReco,std::string tkpt); - float correctionPtAway(float ptReco,std::string tkpt); - - float correctionNTrans(float ptReco,std::string tkpt); - float correctionNToward(float ptReco,std::string tkpt); - float correctionNAway(float ptReco,std::string tkpt); -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.C deleted file mode 100644 index 6833eb423875d..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.C +++ /dev/null @@ -1,269 +0,0 @@ -#include "UEAnalysisJets.h" -#include -#include - -UEAnalysisJets::UEAnalysisJets() -{ - std::cout << "UEAnalysisJets constructor " <cd(); - - dr_chgcalo = new TH1F("dr_chgcalo","#Delta R Charged RECO vs Calorimeter",100,0.,10.); - dr_chginc = new TH1F("dr_chginc","#Delta R Charged RECO vs Inclusive",100,0.,10.); - dr_chgmcreco = new TH1F("dr_chgmcreco","#Delta R Charged RECO vs Charged MC",100,0.,10.); - dr_caloinc = new TH1F("dr_caloinc","#Delta R Calorimeter vs Inclusive",100,0.,10.); - numb_cal = new TH1F("numb_cal","Number calo Jet",30,0.,30.); - pT_cal = new TH1F("pT_cal","P_{T} calo",50,0.,50.); - eta_cal = new TH1F("eta_cal","#eta Calo",100,-3.,3.); - eta_cal_res = new TH1F("eta_cal_res","#eta_{calo} - #eta_{inc}",100,-3.,3.); - phi_cal = new TH1F("phi_cal","#phi Calo",50,-3.14,3.14); - phi_cal_res = new TH1F("phi_cal_res","#phi_{calo} - #phi_{inc}",100,-3.,3.); - numb_chgmc = new TH1F("numb_chgmc","Number Charged MC Jet",30,0.,30.); - pT_chgmc = new TH1F("pT_chgmc","P_{T} Charged MC",50,0.,50.); - eta_chgmc = new TH1F("eta_chgmc","#eta Charged MC",100,-3.,3.); - eta_chgmc_res = new TH1F("eta_chgmc_res","#eta_{chg MC} - #eta_{inc}",100,-3.,3.); - phi_chgmc = new TH1F("phi_chgmc","#phi Charged MC",50,-3.14,3.14); - phi_chgmc_res = new TH1F("phi_chgmc_res","#phi_{chg MC} - #phi_{inc}",100,-3.,3.); - numb_chgreco = new TH1F("numb_chgreco","Number Charged RECO Jet",30,0.,30.); - pT_chgreco = new TH1F("pT_chgreco","P_{T} Charged RECO",50,0.,50.); - eta_chgreco = new TH1F("eta_chgreco","#eta Charged RECO",100,-3.,3.); - eta_chgreco_res = new TH1F("eta_chgreco_res","#eta_{chg RECO} - #eta_{inc}",100,-3.,3.); - phi_chgreco = new TH1F("phi_chgreco","#phi Charged RECO",50,-3.14,3.14); - phi_chgreco_res = new TH1F("phi_chgreco_res","#phi_{chg RECO} - #phi_{inc}",100,-3.,3.); - numb_inc = new TH1F("numb_inc","Number Inclusive Jet",30,0.,30.); - pT_inc = new TH1F("pT_inc","P_{T} Inclusive",50,0.,50.); - eta_inc = new TH1F("eta_inc","#eta Inclusive",100,-3.,3.); - phi_inc = new TH1F("phi_inc","#phi Inclusive",50,-3.14,3.14); - calib_chgcalo = new TProfile("calib_chgcalo","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs P_{T}^{Calo}",100,0,200,-4,4); - calib_chginc = new TProfile("calib_chginc","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs P_{T}^{Inc}",100,0,200,-4,4); - calib_chgmcreco = new TProfile("calib_chgmcreco","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs P_{T}^{Chg RECO}",100,0,200,-4,4); - calib_caloinc = new TProfile("calib_caloinc","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs P_{T}^{Inc}",100,0,200,-4,4); - calib_chgcalo_eta = new TProfile("calib_chgcalo_eta","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs #eta^{Calo}",100,-3,3,-4,4); - calib_chginc_eta = new TProfile("calib_chginc_eta","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs #eta^{Inc}",100,-3,3,-4,4); - calib_chgmcreco_eta = new TProfile("calib_chgmcreco_eta","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs #eta^{Chg RECO}",100,-3,3,-4,4); - calib_caloinc_eta = new TProfile("calib_caloinc_eta","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs #eta^{Inc}",100,-3,3,-4,4); - calib_chgcalo_phi = new TProfile("calib_chgcalo_phi","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs #phi^{Calo}",100,-3,3,-4,4); - calib_chginc_phi = new TProfile("calib_chginc_phi","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs #phi^{Inc}",100,-3,3,-4,4); - calib_chgmcreco_phi = new TProfile("calib_chgmcreco_phi","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs #phi^{Chg RECO}",100,-3,3,-4,4); - calib_caloinc_phi = new TProfile("calib_caloinc_phi","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs #phi^{Inc}",100,-3,3,-4,4); - -} - -void UEAnalysisJets::jetCalibAnalysis(float weight,float etaRegion,TClonesArray * InclusiveJet,TClonesArray * ChargedJet,TClonesArray * TracksJet,TClonesArray * CalorimeterJet) -{ - if(InclusiveJet->GetEntries()!=0 && ChargedJet->GetEntries()!=0 && TracksJet->GetEntries()!=0 && CalorimeterJet->GetEntries()!=0){ - - float phiEHJ = -666; - float phiTJ = -666; - float phiIJ = -666; - float phiCJ = -666; - - float ptEHJ = -666; - float ptTJ = -666; - float ptIJ = -666; - float ptCJ = -666; - - float etaEHJ = -666; - float etaTJ = -666; - float etaIJ = -666; - float etaCJ = -666; - - TLorentzVector *m=0; - - int nIncJet=0; - - for(int i=0;iGetSize();++i) { - TLorentzVector *v = (TLorentzVector*)InclusiveJet->At(i); - if(fabs(v->Eta())GetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)TracksJet->At(i); - if(fabs(v->Eta())GetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)ChargedJet->At(i); - if(fabs(v->Eta())GetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)CalorimeterJet->At(i); - if(fabs(v->Eta())Fill(nCaloJet); - numb_chgmc->Fill(nChgMCJet); - numb_chgreco->Fill(nChgRECOJet); - numb_inc->Fill(nIncJet); - - TLorentzVector *IJ0 = (TLorentzVector*)InclusiveJet->At(0); - TLorentzVector *TJ0 = (TLorentzVector*)TracksJet->At(0); - TLorentzVector *CJ0 = (TLorentzVector*)CalorimeterJet->At(0); - - if(fabs(IJ0->Eta())Eta())Fill(IJ0->Eta()-TJ0->Eta()); - phi_chgreco_res->Fill(IJ0->Phi()-TJ0->Phi()); - } - - if(fabs(IJ0->Eta())Eta())Fill(IJ0->Eta()-CJ0->Eta()); - phi_chgreco_res->Fill(IJ0->Phi()-CJ0->Phi()); - } - - for(int i=0;iGetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)InclusiveJet->At(i); - if(fabs(v->Eta())Eta(); - ptIJ = v->Pt(); - phiIJ = v->Phi(); - break; - } - } - - for(int i=0;iGetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)TracksJet->At(i); - if(fabs(v->Eta())Eta(); - ptTJ = v->Pt(); - phiTJ = v->Phi(); - break; - } - } - - for(int i=0;iGetSize();++i) - { - TLorentzVector *v = (TLorentzVector*)ChargedJet->At(i); - if(fabs(v->Eta())Eta(); - ptCJ = v->Pt(); - phiCJ = v->Phi(); - break; - } - } - - for(int i=0;iGetSize();i++) - { - TLorentzVector *v = (TLorentzVector*)CalorimeterJet->At(i); - if(fabs(v->Eta())Eta(); - ptEHJ = v->Pt(); - phiEHJ = v->Phi(); - break; - } - } - - - if(etaEHJ!=-666&&etaTJ!=-666){ - float dPhiEHJTJ = fabs(phiEHJ-phiTJ); - if(dPhiEHJTJ>piG) - dPhiEHJTJ=2*piG-dPhiEHJTJ; - float delR_chgcalo=sqrt((etaEHJ-etaTJ)*(etaEHJ-etaTJ)+dPhiEHJTJ*dPhiEHJTJ); - dr_chgcalo->Fill(delR_chgcalo,weight); - if(ptEHJ>0) - { - calib_chgcalo->Fill(ptEHJ,ptTJ/ptEHJ,weight); - calib_chgcalo_eta->Fill(etaEHJ,ptTJ/ptEHJ,weight); - calib_chgcalo_phi->Fill(phiEHJ,ptTJ/ptEHJ,weight); - } - } - - if(etaIJ!=-666&&etaTJ!=-666){ - float dPhiIJTJ = fabs(phiIJ-phiTJ); - if(dPhiIJTJ>piG) - dPhiIJTJ=2*piG-dPhiIJTJ; - float delR_chginc=sqrt((etaIJ-etaTJ)*(etaIJ-etaTJ)+dPhiIJTJ*dPhiIJTJ); - dr_chginc->Fill(delR_chginc,weight); - if(ptIJ>0) - { - calib_chginc->Fill(ptIJ,ptTJ/ptIJ,weight); - calib_chginc_eta->Fill(etaIJ,ptTJ/ptIJ,weight); - calib_chginc_phi->Fill(phiIJ,ptTJ/ptIJ,weight); - } - } - - if(etaIJ!=-666&&etaCJ!=-666){ - eta_chgmc_res->Fill((etaIJ-etaCJ)); - phi_chgmc_res->Fill((phiIJ-phiCJ)); - } - - if(etaCJ!=-666&&etaTJ!=-666){ - float dPhiCJTJ = fabs(phiCJ-phiTJ); - if(dPhiCJTJ>piG) - dPhiCJTJ=2*piG-dPhiCJTJ; - float delR_chgmcreco=sqrt((etaCJ-etaTJ)*(etaCJ-etaTJ)+dPhiCJTJ*dPhiCJTJ); - dr_chgmcreco->Fill(delR_chgmcreco,weight); - if(ptTJ>0) - { - calib_chgmcreco->Fill(ptTJ,ptCJ/ptTJ,weight); - calib_chgmcreco_eta->Fill(etaTJ,ptCJ/ptTJ,weight); - calib_chgmcreco_phi->Fill(phiTJ,ptCJ/ptTJ,weight); - } - } - - if(etaEHJ!=-666&&etaIJ!=-666){ - float dPhiIJEHJ = fabs(phiEHJ-phiIJ); - if(dPhiIJEHJ>piG) - dPhiIJEHJ=2*piG-dPhiIJEHJ; - float delR_caloinc=sqrt((etaIJ-etaEHJ)*(etaIJ-etaEHJ)+dPhiIJEHJ*dPhiIJEHJ); - dr_caloinc->Fill(delR_caloinc,weight); - if(ptIJ>0) - { - calib_caloinc->Fill(ptIJ,ptEHJ/ptIJ,weight); - calib_caloinc_eta->Fill(etaIJ,ptEHJ/ptIJ,weight); - calib_caloinc_phi->Fill(phiIJ,ptEHJ/ptIJ,weight); - } - } - - if(etaEHJ!=-666){ - pT_cal->Fill(ptEHJ,weight); - eta_cal->Fill(etaEHJ,weight); - phi_cal->Fill(phiEHJ,weight); - } - - if(etaTJ!=-666){ - pT_chgreco->Fill(ptTJ,weight); - eta_chgreco->Fill(etaTJ,weight); - phi_chgreco->Fill(phiTJ,weight); - } - - if(etaCJ!=-666){ - pT_chgmc->Fill(ptCJ,weight); - eta_chgmc->Fill(etaCJ,weight); - phi_chgmc->Fill(phiCJ,weight); - } - - if(etaIJ!=-666){ - pT_inc->Fill(ptIJ,weight); - eta_inc->Fill(etaIJ,weight); - phi_inc->Fill(phiIJ,weight); - } - - } - -} - -void UEAnalysisJets::writeToFile(TFile * file){ - file->Write(); -} diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.h b/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.h deleted file mode 100644 index e2f93bc99911a..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisJets.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef UEAnalysisJets_h -#define UEAnalysisJets_h - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -class UEAnalysisJets { - public : - - UEAnalysisJets(); - ~UEAnalysisJets(){} - void jetCalibAnalysis(float ,float,TClonesArray *,TClonesArray *,TClonesArray *,TClonesArray *); - void writeToFile(TFile *); - - void Begin(TFile *); - - //Charged Jet caharacterization - TH1F* dr_chgcalo; - TH1F* dr_chginc; - TH1F* dr_chgmcreco; - TH1F* dr_caloinc; - TH1F* numb_cal; - TH1F* pT_cal; - TH1F* eta_cal; - TH1F* eta_cal_res; - TH1F* phi_cal; - TH1F* phi_cal_res; - TH1F* numb_chgmc; - TH1F* pT_chgmc; - TH1F* eta_chgmc; - TH1F* eta_chgmc_res; - TH1F* phi_chgmc; - TH1F* phi_chgmc_res; - TH1F* numb_chgreco; - TH1F* pT_chgreco; - TH1F* eta_chgreco; - TH1F* eta_chgreco_res; - TH1F* phi_chgreco; - TH1F* phi_chgreco_res; - TH1F* numb_inc; - TH1F* pT_inc; - TH1F* eta_inc; - TH1F* phi_inc; - TProfile* calib_chgcalo; - TProfile* calib_chginc; - TProfile* calib_chgmcreco; - TProfile* calib_caloinc; - TProfile* calib_chgcalo_eta; - TProfile* calib_chginc_eta; - TProfile* calib_chgmcreco_eta; - TProfile* calib_caloinc_eta; - TProfile* calib_chgcalo_phi; - TProfile* calib_chginc_phi; - TProfile* calib_chgmcreco_phi; - TProfile* calib_caloinc_phi; - - float piG; -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.C deleted file mode 100644 index eb899a0d7f9a9..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.C +++ /dev/null @@ -1,157 +0,0 @@ -#include "UEAnalysisMPI.h" -#include -#include - -typedef std::pair AssociatedObject; - -UEAnalysisMPI::UEAnalysisMPI() -{ - std::cout << "UEAnalysisMPI constructor " <cd(); - - //MPI Analysis - - fNumbMPIMC = new TH1D("NumbMPIMC","Number of MPI",20,0.5,20.5); - fdEtaLeadingPairMC = new TH1D("dEtaLeadingPairMC","#Delta #eta Jet in the pair",100,-5,5); - fdPhiLeadingPairMC = new TH1D("dPhiLeadingPairMC","#Delta #phi Jet in the pair",40,120,200); - fptRatioLeadingPairMC = new TH1D("ptRatioLeadingPairMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet}",100,0,1.2); - pPtRatio_vs_PtJleadMC = new TProfile("PtRation_vs_PtJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs P_{T}^{1^{o} Jet}", 100,0.,50.); - pPtRatio_vs_EtaJleadMC = new TProfile("PtRation_vs_EtaJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #eta^{1^{o} Jet}", 100,0.,5.); - pPtRatio_vs_PhiJleadMC = new TProfile("PtRation_vs_PhiJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #phi^{1^{o} Jet}", 101,-4.,4.); - - fNumbMPIRECO = new TH1D("NumbMPIRECO","Number of MPI",20,0.5,20.5); - fdEtaLeadingPairRECO = new TH1D("dEtaLeadingPairRECO","#Delta #eta Jet in the pair",100,-5,5); - fdPhiLeadingPairRECO = new TH1D("dPhiLeadingPairRECO","#Delta #phi Jet in the pair",40,120,200); - fptRatioLeadingPairRECO = new TH1D("ptRatioLeadingPairRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet}",100,0,1.2); - pPtRatio_vs_PtJleadRECO = new TProfile("PtRation_vs_PtJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs P_{T}^{1^{o} Jet}", 100,0.,50.); - pPtRatio_vs_EtaJleadRECO = new TProfile("PtRation_vs_EtaJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #eta^{1^{o} Jet}", 100,0.,5.); - pPtRatio_vs_PhiJleadRECO = new TProfile("PtRation_vs_PhiJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #phi^{1^{o} Jet}", 101,-4.,4.); - -} - -void UEAnalysisMPI::mpiAnalysisMC(float weight,float etaRegion,float ptThreshold, TClonesArray* ChargedJet) -{ - std::vector JetMC; - JetMC.clear(); - - for(int j=0;jGetSize();++j){ - TLorentzVector *v = (TLorentzVector*)ChargedJet->At(j); - if(fabs(v->Eta()) assoJetMC; - assoJetMC.clear(); - - while(JetMC.size()>1){ - int oldSize = JetMC.size(); - std::vector::iterator itH = JetMC.begin(); - if((*itH)->Pt()>=ptThreshold){ - for(std::vector::iterator it=JetMC.begin();it!=JetMC.end();it++){ - float azimuthDistanceJet = fabs( (*itH)->Phi() - (*it)->Phi() ); - if((*it)->Pt()/(*itH)->Pt()>=0.3){ - if( (piG - rangePhi) < azimuthDistanceJet && azimuthDistanceJet < (piG + rangePhi)) { - AssociatedObject tmpPair((*itH),(*it)); - assoJetMC.push_back(tmpPair); - JetMC.erase(it); - int newSize = oldSize -1; - oldSize = newSize; - JetMC.resize(newSize); - break; - } - } - } - } - JetMC.erase(itH); - int newSize = oldSize -1; - JetMC.resize(newSize); - } - - if(assoJetMC.size()){ - fNumbMPIMC->Fill(assoJetMC.size()); - std::vector::iterator at= assoJetMC.begin(); - - const TLorentzVector* leadingJet((*at).first); - const TLorentzVector* secondJet((*at).second); - - pPtRatio_vs_PtJleadMC->Fill(leadingJet->Pt(),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_EtaJleadMC->Fill(fabs(leadingJet->Eta()),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_PhiJleadMC->Fill(leadingJet->Phi(),(secondJet->Pt()/leadingJet->Pt())); - - fdEtaLeadingPairMC->Fill(leadingJet->Eta()-secondJet->Eta()); - float dPhiJet = fabs(leadingJet->Phi()-secondJet->Phi()); - if(dPhiJet> piG) dPhiJet = 2*piG -dPhiJet; - dPhiJet = (180*dPhiJet)/piG; - fdPhiLeadingPairMC->Fill(dPhiJet); - fptRatioLeadingPairMC->Fill(secondJet->Pt()/leadingJet->Pt()); - } -} - -void UEAnalysisMPI::mpiAnalysisRECO(float weight,float etaRegion,float ptThreshold,TClonesArray * TracksJet) -{ - std::vector JetRECO; - JetRECO.clear(); - - for(int j=0;jGetSize();++j){ - TLorentzVector *v = (TLorentzVector*)TracksJet->At(j); - if(fabs(v->Eta()) assoJetRECO; - assoJetRECO.clear(); - - while(JetRECO.size()>1){ - int oldSize = JetRECO.size(); - std::vector::iterator itH = JetRECO.begin(); - if((*itH)->Pt()>=ptThreshold){ - for(std::vector::iterator it=JetRECO.begin();it!=JetRECO.end();it++){ - float azimuthDistanceJet = fabs( (*itH)->Phi() - (*it)->Phi() ); - if((*it)->Pt()/(*itH)->Pt()>=0.3){ - if( (piG - rangePhi) < azimuthDistanceJet && azimuthDistanceJet < (piG + rangePhi)) { - AssociatedObject tmpPair((*itH),(*it)); - assoJetRECO.push_back(tmpPair); - JetRECO.erase(it); - int newSize = oldSize -1; - oldSize = newSize; - JetRECO.resize(newSize); - break; - } - } - } - } - JetRECO.erase(itH); - int newSize = oldSize -1; - JetRECO.resize(newSize); - } - - if(assoJetRECO.size()){ - fNumbMPIRECO->Fill(assoJetRECO.size()); - std::vector::iterator at= assoJetRECO.begin(); - - const TLorentzVector* leadingJet((*at).first); - const TLorentzVector* secondJet((*at).second); - - pPtRatio_vs_PtJleadRECO->Fill(leadingJet->Pt(),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_EtaJleadRECO->Fill(fabs(leadingJet->Eta()),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_PhiJleadRECO->Fill(leadingJet->Phi(),(secondJet->Pt()/leadingJet->Pt())); - - fdEtaLeadingPairRECO->Fill(leadingJet->Eta()-secondJet->Eta()); - float dPhiJet = fabs(leadingJet->Phi()-secondJet->Phi()); - if(dPhiJet> piG) dPhiJet = 2*piG -dPhiJet; - dPhiJet = (180*dPhiJet)/piG; - fdPhiLeadingPairRECO->Fill(dPhiJet); - fptRatioLeadingPairRECO->Fill(secondJet->Pt()/leadingJet->Pt()); - } -} - -void UEAnalysisMPI::writeToFile(TFile * file){ - file->Write(); -} diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.h b/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.h deleted file mode 100644 index 32737c0573458..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisMPI.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef UEAnalysisMPI_h -#define UEAnalysisMPI_h - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -class UEAnalysisMPI { - public : - - UEAnalysisMPI(); - ~UEAnalysisMPI(){} - - void mpiAnalysisMC(float,float,float,TClonesArray*); - void mpiAnalysisRECO(float,float,float,TClonesArray*); - - void Begin(TFile *); - - void writeToFile(TFile *); - - TH1D* fNumbMPIMC; - TH1D* fdEtaLeadingPairMC; - TH1D* fdPhiLeadingPairMC; - TH1D* fptRatioLeadingPairMC; - TProfile* pPtRatio_vs_PtJleadMC; - TProfile* pPtRatio_vs_EtaJleadMC; - TProfile* pPtRatio_vs_PhiJleadMC; - - TH1D* fNumbMPIRECO; - TH1D* fdEtaLeadingPairRECO; - TH1D* fdPhiLeadingPairRECO; - TH1D* fptRatioLeadingPairRECO; - TProfile* pPtRatio_vs_PtJleadRECO; - TProfile* pPtRatio_vs_EtaJleadRECO; - TProfile* pPtRatio_vs_PhiJleadRECO; - - float piG; - float rangePhi; -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.C deleted file mode 100644 index ed34de609eb03..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.C +++ /dev/null @@ -1,1052 +0,0 @@ -#define UEAnalysisOnRootple_cxx -#include "UEAnalysisOnRootple.h" -#include -#include -#include -#include - -#include -#include - -// -#include -#include -// - -typedef std::pair AssociatedObject; - -void UEAnalysisOnRootple::MultiAnalysis(char* filelist,char* outname,Float_t weight[7],Float_t eta, - Float_t triggerPt,std::string type,std::string trigger,std::string tkpt,Float_t ptCut) -{ - BeginJob(outname); - etaRegion = eta; - ptThreshold = ptCut/1000.; - char RootTupleName[255]; - char RootListFileName[255]; - strcpy(RootListFileName,filelist); - ifstream inFile(RootListFileName); - int filenumber = 0; - while(inFile.getline(RootTupleName,255)) { - if (RootTupleName[0] != '#') { - std::cout<<"I'm analyzing file "<cd("ueAnalysisRootple"); - - TTree * tree = (TTree*)gDirectory->Get("AnalysisTree"); - Init(tree); - - Loop(weight[filenumber],triggerPt,type,trigger,tkpt); - - f->Close(); - - } else { - if (RootTupleName[1] == '#') break; - } - filenumber++; - } - - EndJob(); - -} - - -void UEAnalysisOnRootple::Loop(Float_t we,Float_t triggerPt,std::string type,std::string trigger,std::string tkpt) -{ - if (fChain == 0) - { - std::cout << "fChain == 0 return." << std::endl; - return; - } - - Long64_t nentries = fChain->GetEntriesFast(); - - std::cout << "number of entries: " << nentries << std::endl; - - - Long64_t nbytes = 0, nb = 0; - for (Long64_t jentry=0; jentryGetEntry(jentry); nbytes += nb; - - -// int nAcceptedTriggers( acceptedTriggers->GetSize() ); -// if (nAcceptedTriggers) std::cout << std::endl << "Event has been accepted by " << acceptedTriggers->GetSize() << std::endl; -// for ( int iAcceptedTrigger(0); iAcceptedTriggerAt(iAcceptedTrigger))->GetName() << std::endl; -// } - - if(type=="Jet"){ - if(trigger=="MB"){ - if( EventKind != 92 && EventKind != 93 && EventKind != 94 ){ - JetCalibAnalysis(we,tkpt); - } - }else{ - if(TrasverseMomentumEHJ[0]>=triggerPt) - JetCalibAnalysis(we,tkpt); - } - } - if(type=="MPI"){ - if(trigger=="MB"){ - if( EventKind != 92 && EventKind != 93 && EventKind != 94 ){ - MPIAnalysisMC(we,tkpt); - MPIAnalysisRECO(we,tkpt); - } - }else{ - if(TrasverseMomentumEHJ[0]>=triggerPt){ - MPIAnalysisMC(we,tkpt); - MPIAnalysisRECO(we,tkpt); - } - } - } - if(type=="UE"){ - if(trigger=="MB"){ - if( EventKind != 92 && EventKind != 93 && EventKind != 94 ){ - UEAnalysisMC(we,tkpt); - UEAnalysisRECO(we,tkpt); - } - }else{ - if(TrasverseMomentumEHJ[0]>=triggerPt){ - UEAnalysisMC(we,tkpt); - UEAnalysisRECO(we,tkpt); - } - } - } - } -} - -void UEAnalysisOnRootple::UEAnalysisMC(Float_t weight,std::string tkpt) -{ - - for(int i=0;i=ptThreshold){ - fHistPtDistMC->Fill(TransverseMomentumMC[i],weight); - fHistEtaDistMC->Fill(EtaMC[i],weight); - fHistPhiDistMC->Fill(PhiMC[i],weight); - temp3MC->Fill(fabs(EtaMC[i])); - temp4MC->Fill(fabs(TransverseMomentumMC[i])); - } - } - - - for(int i=0;i<100;i++){ - pdN_vs_etaMC->Fill((i*0.05)+0.025,temp3MC->GetBinContent(i+1)/0.1,weight); - } - for(int i=0;i<1000;i++){ - pdN_vs_ptMC->Fill((i*0.1)+0.05,temp4MC->GetBinContent(i+1)/0.1,weight); - } - - temp3MC->Reset(); - temp4MC->Reset(); - - // get 3-vector of jet - TVector3 * jetvector = new TVector3; - Float_t PTLeadingCJ = -10; - for(int j=0;jSetPtEtaPhi(TrasverseMomentumCJ[j], EtaCJ[j], PhiCJ[j]); - PTLeadingCJ= TrasverseMomentumCJ[j]; - break; - } - } - - for(int i=0;i=ptThreshold){ - // get 3-vector of particle - TVector3 * particlevector = new TVector3; - particlevector->SetPtEtaPhi(TransverseMomentumMC[i], EtaMC[i], PhiMC[i]); - - // use ROOT method to calculate dphi - // convert dphi from radiants to degrees - Float_t conv = 180/piG; - Float_t Dphi_mc = conv * jetvector->DeltaPhi(*particlevector); - - temp1MC->Fill(Dphi_mc); - temp2MC->Fill(Dphi_mc,TransverseMomentumMC[i]); - } - } - - Float_t transN1=0; - Float_t transN2=0; - Float_t transP1=0; - Float_t transP2=0; - Float_t towardN=0; - Float_t towardP=0; - Float_t awayN=0; - Float_t awayP=0; - - for(int i=0;i<100;i++){ - if(i<=14){ - awayN += temp1MC->GetBinContent(i+1); - awayP += temp2MC->GetBinContent(i+1); - } - if(i>14 && i<33 ){ - transN1 += temp1MC->GetBinContent(i+1); - transP1 += temp2MC->GetBinContent(i+1); - } - if(i>=33 && i<=64 ){ - towardN += temp1MC->GetBinContent(i+1); - towardP += temp2MC->GetBinContent(i+1); - } - if(i>64 && i<83 ){ - transN2 += temp1MC->GetBinContent(i+1); - transP2 += temp2MC->GetBinContent(i+1); - } - if(i>=83){ - awayN += temp1MC->GetBinContent(i+1); - awayP += temp2MC->GetBinContent(i+1); - } - - Float_t bincont1_mc=temp1MC->GetBinContent(i+1); - pdN_vs_dphiMC->Fill(-180.+i*3.6+1.8,bincont1_mc/(3.6*2*etaRegion*(piG/180.)),weight); - - Float_t bincont2_mc=temp2MC->GetBinContent(i+1); - pdPt_vs_dphiMC->Fill(-180.+i*3.6+1.8,bincont2_mc/(3.6*2*etaRegion*(piG/180.)),weight); - - } - - bool orderedN = false; - bool orderedP = false; - - pdN_vs_ptJTowardMC->Fill(PTLeadingCJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTowardMC->Fill(PTLeadingCJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJAwayMC->Fill(PTLeadingCJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJAwayMC->Fill(PTLeadingCJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - if( transN1>=transN2 ) orderedN = true; - if( transP1>=transP2 ) orderedP = true; - - // add histo for ue fluctuation - h2d_dN_vs_ptJTransMC->Fill(PTLeadingCJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMC->Fill(PTLeadingCJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMC->Fill(PTLeadingCJ,(transP1+transP2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - if(orderedN){ - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - }else{ - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - } - - if(orderedP){ - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - }else{ - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - } - temp1MC->Reset(); - temp2MC->Reset(); - -} - -void UEAnalysisOnRootple::UEAnalysisRECO(Float_t weight,std::string tkpt) -{ - - for(int i=0;iptThreshold){ - fHistPtDistRECO->Fill(TrasverseMomentumTK[i],weight); - fHistEtaDistRECO->Fill(EtaTK[i],weight); - fHistPhiDistRECO->Fill(PhiTK[i],weight); - temp3RECO->Fill(fabs(EtaTK[i])); - temp4RECO->Fill(fabs(TrasverseMomentumTK[i])); - } - } - - - for(int i=0;i<100;i++){ - pdN_vs_etaRECO->Fill((i*0.05)+0.025,temp3RECO->GetBinContent(i+1)/0.1,weight); - } - for(int i=0;i<1000;i++){ - pdN_vs_ptRECO->Fill((i*0.1)+0.05,temp4RECO->GetBinContent(i+1)/0.1,weight); - } - - temp3RECO->Reset(); - temp4RECO->Reset(); - - // get 3-vector of jet - TVector3 * jetvector = new TVector3; - Float_t PTLeadingTJ = -10; - for(int j=0;jSetPtEtaPhi(TrasverseMomentumTJ[j], EtaTJ[j], PhiTJ[j]); - PTLeadingTJ= TrasverseMomentumTJ[j]; - break; - } - } - - Float_t PTLeadingCJ = CalibrationPt(PTLeadingTJ,tkpt)*PTLeadingTJ; - - /* - Float_t PTLeadingCJ = -10; - if(NumberChargedJet>0) - PTLeadingCJ=TrasverseMomentumCJ[0]; - */ - - for(int i=0;i=ptThreshold){ - TVector3 * particlevector = new TVector3; - particlevector->SetPtEtaPhi(TrasverseMomentumTK[i], EtaTK[i], PhiTK[i]); - - // use ROOT method to calculate dphi - // convert dphi from radiants to degrees - Float_t conv = 180/piG; - Float_t Dphi_reco = conv * jetvector->DeltaPhi(*particlevector); - - temp1RECO->Fill(Dphi_reco); - temp2RECO->Fill(Dphi_reco,TrasverseMomentumTK[i]); - } - } - - Float_t transN1=0; - Float_t transN2=0; - Float_t transP1=0; - Float_t transP2=0; - Float_t towardN=0; - Float_t towardP=0; - Float_t awayN=0; - Float_t awayP=0; - - for(int i=0;i<100;i++){ - if(i<=14){ - awayN += temp1RECO->GetBinContent(i+1); - awayP += temp2RECO->GetBinContent(i+1); - } - if(i>14 && i<33 ){ - transN1 += temp1RECO->GetBinContent(i+1); - transP1 += temp2RECO->GetBinContent(i+1); - } - if(i>=33 && i<=64 ){ - towardN += temp1RECO->GetBinContent(i+1); - towardP += temp2RECO->GetBinContent(i+1); - } - if(i>64 && i<83 ){ - transN2 += temp1RECO->GetBinContent(i+1); - transP2 += temp2RECO->GetBinContent(i+1); - } - if(i>=83){ - awayN += temp1RECO->GetBinContent(i+1); - awayP += temp2RECO->GetBinContent(i+1); - } - - Float_t bincont1_reco=temp1RECO->GetBinContent(i+1); - pdN_vs_dphiRECO->Fill(-180.+i*3.6+1.8,bincont1_reco/(3.6*2*etaRegion*(piG/180.)),weight); - - Float_t bincont2_reco=temp2RECO->GetBinContent(i+1); - pdPt_vs_dphiRECO->Fill(-180.+i*3.6+1.8,bincont2_reco/(3.6*2*etaRegion*(piG/180.)),weight); - - } - - bool orderedN = false; - bool orderedP = false; - - pdN_vs_ptJTowardRECO->Fill(PTLeadingTJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTowardRECO->Fill(PTLeadingTJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJAwayRECO->Fill(PTLeadingTJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJAwayRECO->Fill(PTLeadingTJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardN*CorrectionNToward(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardP*CorrectionPtToward(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayN*CorrectionNAway(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayP*CorrectionPtAway(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - */ - - if( transN1>=transN2 ) orderedN = true; - if( transP1>=transP2 ) orderedP = true; - - pdN_vs_ptJTransRECO->Fill(PTLeadingTJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransRECO->Fill(PTLeadingTJ,(transP1+transP2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transN1+transN2)*CorrectionNTrans(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transP1+transP2)*CorrectionPtTrans(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transN1+transN2))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transP1+transP2))/(120.*(2*etaRegion)*(piG/180.)),weight); - */ - - if(orderedN){ - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2*CorrectionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1*CorrectionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - */ - - }else{ - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1*CorrectionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2*CorrectionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - */ - - } - - if(orderedP){ - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2*CorrectionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1*CorrectionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - */ - - }else{ - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1*CorrectionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2*CorrectionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - */ - } - temp1RECO->Reset(); - temp2RECO->Reset(); - -} - -void UEAnalysisOnRootple::MPIAnalysisMC(Float_t weight,std::string tkpt) -{ - std::vector JetMC; - JetMC.clear(); - - for(int j=0;jSetPtEtaPhi(TrasverseMomentumCJ[j], EtaCJ[j], PhiCJ[j]); - JetMC.push_back(jetvector); - } - } - - std::vector assoJetMC; - assoJetMC.clear(); - - while(JetMC.size()>1){ - int oldSize = JetMC.size(); - std::vector::iterator itH = JetMC.begin(); - if((*itH)->Pt()>=ptThreshold){ - for(std::vector::iterator it=JetMC.begin();it!=JetMC.end();it++){ - float azimuthDistanceJet = fabs( (*itH)->Phi() - (*it)->Phi() ); - if((*it)->Pt()/(*itH)->Pt()>=0.3){ - if( (piG - rangePhi) < azimuthDistanceJet && azimuthDistanceJet < (piG + rangePhi)) { - AssociatedObject tmpPair((*itH),(*it)); - assoJetMC.push_back(tmpPair); - JetMC.erase(it); - int newSize = oldSize -1; - oldSize = newSize; - JetMC.resize(newSize); - break; - } - } - } - } - JetMC.erase(itH); - int newSize = oldSize -1; - JetMC.resize(newSize); - } - - if(assoJetMC.size()){ - fNumbMPIMC->Fill(assoJetMC.size()); - std::vector::iterator at= assoJetMC.begin(); - - const TVector3* leadingJet((*at).first); - const TVector3* secondJet((*at).second); - - pPtRatio_vs_PtJleadMC->Fill(leadingJet->Pt(),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_EtaJleadMC->Fill(fabs(leadingJet->Eta()),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_PhiJleadMC->Fill(leadingJet->Phi(),(secondJet->Pt()/leadingJet->Pt())); - - fdEtaLeadingPairMC->Fill(leadingJet->Eta()-secondJet->Eta()); - float dPhiJet = fabs(leadingJet->Phi()-secondJet->Phi()); - if(dPhiJet> piG) dPhiJet = 2*piG -dPhiJet; - dPhiJet = (180*dPhiJet)/piG; - fdPhiLeadingPairMC->Fill(dPhiJet); - fptRatioLeadingPairMC->Fill(secondJet->Pt()/leadingJet->Pt()); - } -} - -void UEAnalysisOnRootple::MPIAnalysisRECO(Float_t weight,std::string tkpt) -{ - std::vector JetRECO; - JetRECO.clear(); - - for(int j=0;jSetPtEtaPhi(CalibrationPt(TrasverseMomentumTJ[j],tkpt)*TrasverseMomentumTJ[j], EtaTJ[j], PhiTJ[j]); - jetvector->SetPtEtaPhi(TrasverseMomentumTJ[j], EtaTJ[j], PhiTJ[j]); - JetRECO.push_back(jetvector); - } - } - - std::vector assoJetRECO; - assoJetRECO.clear(); - - while(JetRECO.size()>1){ - int oldSize = JetRECO.size(); - std::vector::iterator itH = JetRECO.begin(); - if((*itH)->Pt()>=ptThreshold){ - for(std::vector::iterator it=JetRECO.begin();it!=JetRECO.end();it++){ - float azimuthDistanceJet = fabs( (*itH)->Phi() - (*it)->Phi() ); - if((*it)->Pt()/(*itH)->Pt()>=0.3){ - if( (piG - rangePhi) < azimuthDistanceJet && azimuthDistanceJet < (piG + rangePhi)) { - AssociatedObject tmpPair((*itH),(*it)); - assoJetRECO.push_back(tmpPair); - JetRECO.erase(it); - int newSize = oldSize -1; - oldSize = newSize; - JetRECO.resize(newSize); - break; - } - } - } - } - JetRECO.erase(itH); - int newSize = oldSize -1; - JetRECO.resize(newSize); - } - - if(assoJetRECO.size()){ - fNumbMPIRECO->Fill(assoJetRECO.size()); - std::vector::iterator at= assoJetRECO.begin(); - - const TVector3* leadingJet((*at).first); - const TVector3* secondJet((*at).second); - - pPtRatio_vs_PtJleadRECO->Fill(leadingJet->Pt(),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_EtaJleadRECO->Fill(fabs(leadingJet->Eta()),(secondJet->Pt()/leadingJet->Pt())); - pPtRatio_vs_PhiJleadRECO->Fill(leadingJet->Phi(),(secondJet->Pt()/leadingJet->Pt())); - - fdEtaLeadingPairRECO->Fill(leadingJet->Eta()-secondJet->Eta()); - float dPhiJet = fabs(leadingJet->Phi()-secondJet->Phi()); - if(dPhiJet> piG) dPhiJet = 2*piG -dPhiJet; - dPhiJet = (180*dPhiJet)/piG; - fdPhiLeadingPairRECO->Fill(dPhiJet); - fptRatioLeadingPairRECO->Fill(secondJet->Pt()/leadingJet->Pt()); - } -} - -void UEAnalysisOnRootple::JetCalibAnalysis(Float_t weight,std::string tkpt) -{ - - if(NumberCaloJet!=0&&NumberChargedJet!=0&&NumberTracksJet!=0&&NumberInclusiveJet!=0){ - - float phiEHJ = -666; - float phiTJ = -666; - float phiIJ = -666; - float phiCJ = -666; - - float ptEHJ = -666; - float ptTJ = -666; - float ptIJ = -666; - float ptCJ = -666; - - float etaEHJ = -666; - float etaTJ = -666; - float etaIJ = -666; - float etaCJ = -666; - - int nIncJet=0; - for(int i=0;iFill(nCaloJet); - numb_chgmc->Fill(nChgMCJet); - numb_chgreco->Fill(nChgRECOJet); - numb_inc->Fill(nIncJet); - - if(fabs(EtaIJ[0])Fill((EtaIJ[0]-EtaTJ[0])); - phi_chgreco_res->Fill((PhiIJ[0]-PhiTJ[0])); - } - - if(fabs(EtaIJ[0])Fill((EtaIJ[0]-EtaEHJ[0])); - phi_cal_res->Fill((PhiIJ[0]-PhiEHJ[0])); - } - - for(int i=0;ipiG) - dPhiEHJTJ=2*piG-dPhiEHJTJ; - float delR_chgcalo=sqrt((etaEHJ-etaTJ)*(etaEHJ-etaTJ)+dPhiEHJTJ*dPhiEHJTJ); - dr_chgcalo->Fill(delR_chgcalo,weight); - if(ptEHJ>0) - { - calib_chgcalo->Fill(ptEHJ,ptTJ/ptEHJ,weight); - calib_chgcalo_eta->Fill(etaEHJ,ptTJ/ptEHJ,weight); - calib_chgcalo_phi->Fill(phiEHJ,ptTJ/ptEHJ,weight); - } - } - - if(etaIJ!=-666&&etaTJ!=-666){ - float dPhiIJTJ = fabs(phiIJ-phiTJ); - if(dPhiIJTJ>piG) - dPhiIJTJ=2*piG-dPhiIJTJ; - float delR_chginc=sqrt((etaIJ-etaTJ)*(etaIJ-etaTJ)+dPhiIJTJ*dPhiIJTJ); - dr_chginc->Fill(delR_chginc,weight); - if(ptIJ>0) - { - calib_chginc->Fill(ptIJ,ptTJ/ptIJ,weight); - calib_chginc_eta->Fill(etaIJ,ptTJ/ptIJ,weight); - calib_chginc_phi->Fill(phiIJ,ptTJ/ptIJ,weight); - } - } - - if(etaIJ!=-666&&etaCJ!=-666){ - eta_chgmc_res->Fill((etaIJ-etaCJ)); - phi_chgmc_res->Fill((phiIJ-phiCJ)); - } - - if(etaCJ!=-666&&etaTJ!=-666){ - float dPhiCJTJ = fabs(phiCJ-phiTJ); - if(dPhiCJTJ>piG) - dPhiCJTJ=2*piG-dPhiCJTJ; - float delR_chgmcreco=sqrt((etaCJ-etaTJ)*(etaCJ-etaTJ)+dPhiCJTJ*dPhiCJTJ); - dr_chgmcreco->Fill(delR_chgmcreco,weight); - if(ptTJ>0) - { - calib_chgmcreco->Fill(ptTJ,ptCJ/ptTJ,weight); - calib_chgmcreco_eta->Fill(etaTJ,ptCJ/ptTJ,weight); - calib_chgmcreco_phi->Fill(phiTJ,ptCJ/ptTJ,weight); - } - } - - if(etaEHJ!=-666&&etaIJ!=-666){ - float dPhiIJEHJ = fabs(phiEHJ-phiIJ); - if(dPhiIJEHJ>piG) - dPhiIJEHJ=2*piG-dPhiIJEHJ; - float delR_caloinc=sqrt((etaIJ-etaEHJ)*(etaIJ-etaEHJ)+dPhiIJEHJ*dPhiIJEHJ); - dr_caloinc->Fill(delR_caloinc,weight); - if(ptIJ>0) - { - calib_caloinc->Fill(ptIJ,ptEHJ/ptIJ,weight); - calib_caloinc_eta->Fill(etaIJ,ptEHJ/ptIJ,weight); - calib_caloinc_phi->Fill(phiIJ,ptEHJ/ptIJ,weight); - } - } - - if(etaEHJ!=-666){ - pT_cal->Fill(ptEHJ,weight); - eta_cal->Fill(etaEHJ,weight); - phi_cal->Fill(phiEHJ,weight); - } - - if(etaTJ!=-666){ - pT_chgreco->Fill(ptTJ,weight); - eta_chgreco->Fill(etaTJ,weight); - phi_chgreco->Fill(phiTJ,weight); - } - - if(etaCJ!=-666){ - pT_chgmc->Fill(ptCJ,weight); - eta_chgmc->Fill(etaCJ,weight); - phi_chgmc->Fill(phiCJ,weight); - } - - if(etaIJ!=-666){ - pT_inc->Fill(ptIJ,weight); - eta_inc->Fill(etaIJ,weight); - phi_inc->Fill(phiIJ,weight); - } - - } - -} - - - -void UEAnalysisOnRootple::BeginJob(char* outname) -{ - - hFile = new TFile(outname, "RECREATE" ); - //Charged Jet caharacterization - dr_chgcalo = new TH1F("dr_chgcalo","#Delta R Charged RECO vs Calorimeter",100,0.,10.); - dr_chginc = new TH1F("dr_chginc","#Delta R Charged RECO vs Inclusive",100,0.,10.); - dr_chgmcreco = new TH1F("dr_chgmcreco","#Delta R Charged RECO vs Charged MC",100,0.,10.); - dr_caloinc = new TH1F("dr_caloinc","#Delta R Calorimeter vs Inclusive",100,0.,10.); - numb_cal = new TH1F("numb_cal","Number calo Jet",30,0.,30.); - pT_cal = new TH1F("pT_cal","P_{T} calo",50,0.,50.); - eta_cal = new TH1F("eta_cal","#eta Calo",100,-3.,3.); - eta_cal_res = new TH1F("eta_cal_res","#eta_{calo} - #eta_{inc}",100,-3.,3.); - phi_cal = new TH1F("phi_cal","#phi Calo",50,-3.14,3.14); - phi_cal_res = new TH1F("phi_cal_res","#phi_{calo} - #phi_{inc}",100,-3.,3.); - numb_chgmc = new TH1F("numb_chgmc","Number Charged MC Jet",30,0.,30.); - pT_chgmc = new TH1F("pT_chgmc","P_{T} Charged MC",50,0.,50.); - eta_chgmc = new TH1F("eta_chgmc","#eta Charged MC",100,-3.,3.); - eta_chgmc_res = new TH1F("eta_chgmc_res","#eta_{chg MC} - #eta_{inc}",100,-3.,3.); - phi_chgmc = new TH1F("phi_chgmc","#phi Charged MC",50,-3.14,3.14); - phi_chgmc_res = new TH1F("phi_chgmc_res","#phi_{chg MC} - #phi_{inc}",100,-3.,3.); - numb_chgreco = new TH1F("numb_chgreco","Number Charged RECO Jet",30,0.,30.); - pT_chgreco = new TH1F("pT_chgreco","P_{T} Charged RECO",50,0.,50.); - eta_chgreco = new TH1F("eta_chgreco","#eta Charged RECO",100,-3.,3.); - eta_chgreco_res = new TH1F("eta_chgreco_res","#eta_{chg RECO} - #eta_{inc}",100,-3.,3.); - phi_chgreco = new TH1F("phi_chgreco","#phi Charged RECO",50,-3.14,3.14); - phi_chgreco_res = new TH1F("phi_chgreco_res","#phi_{chg RECO} - #phi_{inc}",100,-3.,3.); - numb_inc = new TH1F("numb_inc","Number Inclusive Jet",30,0.,30.); - pT_inc = new TH1F("pT_inc","P_{T} Inclusive",50,0.,50.); - eta_inc = new TH1F("eta_inc","#eta Inclusive",100,-3.,3.); - phi_inc = new TH1F("phi_inc","#phi Inclusive",50,-3.14,3.14); - calib_chgcalo = new TProfile("calib_chgcalo","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs P_{T}^{Calo}",100,0,200,-4,4); - calib_chginc = new TProfile("calib_chginc","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs P_{T}^{Inc}",100,0,200,-4,4); - calib_chgmcreco = new TProfile("calib_chgmcreco","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs P_{T}^{Chg RECO}",100,0,200,-4,4); - calib_caloinc = new TProfile("calib_caloinc","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs P_{T}^{Inc}",100,0,200,-4,4); - calib_chgcalo_eta = new TProfile("calib_chgcalo_eta","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs #eta^{Calo}",100,-3,3,-4,4); - calib_chginc_eta = new TProfile("calib_chginc_eta","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs #eta^{Inc}",100,-3,3,-4,4); - calib_chgmcreco_eta = new TProfile("calib_chgmcreco_eta","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs #eta^{Chg RECO}",100,-3,3,-4,4); - calib_caloinc_eta = new TProfile("calib_caloinc_eta","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs #eta^{Inc}",100,-3,3,-4,4); - calib_chgcalo_phi = new TProfile("calib_chgcalo_phi","#frac{P_{T}^{Chg RECO}}{P_{T}^{Calo}} vs #phi^{Calo}",100,-3,3,-4,4); - calib_chginc_phi = new TProfile("calib_chginc_phi","#frac{P_{T}^{Chg RECO}}{P_{T}^{Inc}} vs #phi^{Inc}",100,-3,3,-4,4); - calib_chgmcreco_phi = new TProfile("calib_chgmcreco_phi","#frac{P_{T}^{Chg MC}}{P_{T}^{Chg RECO}} vs #phi^{Chg RECO}",100,-3,3,-4,4); - calib_caloinc_phi = new TProfile("calib_caloinc_phi","#frac{P_{T}^{Calo}}{P_{T}^{Inc}} vs #phi^{Inc}",100,-3,3,-4,4); - - //Underlying Event analysis - fHistPtDistMC = new TH1F( "HistPtDistMC" , "Pt Spectra", 100, 0., 4. ) ; - fHistEtaDistMC = new TH1F( "HistEtaDistMC" , "#eta Spectra", 100, -5., 5. ) ; - fHistPhiDistMC = new TH1F( "HistPhiDistMC" , "#phi Spectra", 100, -4., 4. ) ; - - pdN_vs_etaMC = new TProfile("dN_vs_etaMC","#delta N vs #eta",100,0.,5.); - pdN_vs_ptMC = new TProfile("dN_vs_ptMC","#delta N vs P_{T}",1000,0.,100.); - - pdN_vs_dphiMC = new TProfile("dN_vs_dphiMC","#frac{dN}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - pdPt_vs_dphiMC = new TProfile("dPt_vs_dphiMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - - // add histo for ue fluctuation - h2d_dN_vs_ptJTransMC = new TH2D("h2d_dN_vs_ptJTransMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200,100,0.,20.); - - pdN_vs_ptJTransMC = new TProfile("dN_vs_ptJTransMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdN_vs_ptJTransMaxMC = new TProfile("dN_vs_ptJTransMaxMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdN_vs_ptJTransMinMC = new TProfile("dN_vs_ptJTransMinMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdPt_vs_ptJTransMC = new TProfile("dPt_vs_ptJTransMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdPt_vs_ptJTransMaxMC = new TProfile("dPt_vs_ptJTransMaxMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdPt_vs_ptJTransMinMC = new TProfile("dPt_vs_ptJTransMinMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdN_vs_ptJTowardMC = new TProfile("dN_vs_ptJTowardMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdN_vs_ptJAwayMC = new TProfile("dN_vs_ptJAwayMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdPt_vs_ptJTowardMC = new TProfile("dPt_vs_ptJTowardMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdPt_vs_ptJAwayMC = new TProfile("dPt_vs_ptJAwayMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - temp1MC = new TH1F("temp1MC","temp",100,-180.,180.); - temp2MC = new TH1F("temp2MC","temp",100,-180.,180.); - temp3MC = new TH1F("temp3MC","temp",100,0.,5.); - temp4MC = new TH1F("temp4MC","temp",1000,0.,100.); - - fHistPtDistRECO = new TH1F( "HistPtDistRECO" , "Pt Spectra", 100, 0., 4. ) ; - fHistEtaDistRECO = new TH1F( "HistEtaDistRECO" , "#eta Spectra", 100, -5., 5. ) ; - fHistPhiDistRECO = new TH1F( "HistPhiDistRECO" , "#phi Spectra", 100, -4., 4. ) ; - - pdN_vs_etaRECO = new TProfile("dN_vs_etaRECO","#delta N vs #eta",100,0.,5.); - pdN_vs_ptRECO = new TProfile("dN_vs_ptRECO","#delta N vs P_{T}",1000,0.,100.); - - pdN_vs_dphiRECO = new TProfile("dN_vs_dphiRECO","#frac{dN}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - pdPt_vs_dphiRECO = new TProfile("dPt_vs_dphiRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - - pdN_vs_ptJTransRECO = new TProfile("dN_vs_ptJTransRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdN_vs_ptJTransMaxRECO = new TProfile("dN_vs_ptJTransMaxRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdN_vs_ptJTransMinRECO = new TProfile("dN_vs_ptJTransMinRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdPt_vs_ptJTransRECO = new TProfile("dPt_vs_ptJTransRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdPt_vs_ptJTransMaxRECO = new TProfile("dPt_vs_ptJTransMaxRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdPt_vs_ptJTransMinRECO = new TProfile("dPt_vs_ptJTransMinRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdN_vs_ptJTowardRECO = new TProfile("dN_vs_ptJTowardRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdN_vs_ptJAwayRECO = new TProfile("dN_vs_ptJAwayRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdPt_vs_ptJTowardRECO = new TProfile("dPt_vs_ptJTowardRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdPt_vs_ptJAwayRECO = new TProfile("dPt_vs_ptJAwayRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdN_vs_ptCJTransRECO = new TProfile("dN_vs_ptCJTransRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans''",100,0.,200); - pdN_vs_ptCJTransMaxRECO = new TProfile("dN_vs_ptCJTransMaxRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Max''",100,0.,200); - pdN_vs_ptCJTransMinRECO = new TProfile("dN_vs_ptCJTransMinRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Min''",100,0.,200); - - pdPt_vs_ptCJTransRECO = new TProfile("dPt_vs_ptCJTransRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans''",100,0.,200); - pdPt_vs_ptCJTransMaxRECO = new TProfile("dPt_vs_ptCJTransMaxRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Max''",100,0.,200); - pdPt_vs_ptCJTransMinRECO = new TProfile("dPt_vs_ptCJTransMinRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Min''",100,0.,200); - - pdN_vs_ptCJTowardRECO = new TProfile("dN_vs_ptCJTowardRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Toward''",100,0.,200); - pdN_vs_ptCJAwayRECO = new TProfile("dN_vs_ptCJAwayRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Away''",100,0.,200); - - pdPt_vs_ptCJTowardRECO = new TProfile("dPt_vs_ptCJTowardRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Toward''",100,0.,200); - pdPt_vs_ptCJAwayRECO = new TProfile("dPt_vs_ptCJAwayRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Away''",100,0.,200); - - temp1RECO = new TH1F("temp1RECO","temp",100,-180.,180.); - temp2RECO = new TH1F("temp2RECO","temp",100,-180.,180.); - temp3RECO = new TH1F("temp3RECO","temp",100,0.,5.); - temp4RECO = new TH1F("temp4RECO","temp",1000,0.,100.); - - fNumbMPIMC = new TH1D("NumbMPIMC","Number of MPI",20,0.5,20.5); - fdEtaLeadingPairMC = new TH1D("dEtaLeadingPairMC","#Delta #eta Jet in the pair",100,-5,5); - fdPhiLeadingPairMC = new TH1D("dPhiLeadingPairMC","#Delta #phi Jet in the pair",40,120,200); - fptRatioLeadingPairMC = new TH1D("ptRatioLeadingPairMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet}",100,0,1.2); - pPtRatio_vs_PtJleadMC = new TProfile("PtRation_vs_PtJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs P_{T}^{1^{o} Jet}", 100,0.,50.); - pPtRatio_vs_EtaJleadMC = new TProfile("PtRation_vs_EtaJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #eta^{1^{o} Jet}", 100,0.,5.); - pPtRatio_vs_PhiJleadMC = new TProfile("PtRation_vs_PhiJleadMC","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #phi^{1^{o} Jet}", 101,-4.,4.); - - fNumbMPIRECO = new TH1D("NumbMPIRECO","Number of MPI",20,0.5,20.5); - fdEtaLeadingPairRECO = new TH1D("dEtaLeadingPairRECO","#Delta #eta Jet in the pair",100,-5,5); - fdPhiLeadingPairRECO = new TH1D("dPhiLeadingPairRECO","#Delta #phi Jet in the pair",40,120,200); - fptRatioLeadingPairRECO = new TH1D("ptRatioLeadingPairRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet}",100,0,1.2); - pPtRatio_vs_PtJleadRECO = new TProfile("PtRation_vs_PtJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs P_{T}^{1^{o} Jet}", 100,0.,50.); - pPtRatio_vs_EtaJleadRECO = new TProfile("PtRation_vs_EtaJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #eta^{1^{o} Jet}", 100,0.,5.); - pPtRatio_vs_PhiJleadRECO = new TProfile("PtRation_vs_PhiJleadRECO","P_{T}^{2^{o} Jet}/P_{T}^{1^{o} Jet} vs #phi^{1^{o} Jet}", 101,-4.,4.); - - piG = acos(-1.); - rangePhi = acos(-1.)/180*50; -} - -void UEAnalysisOnRootple::EndJob() -{ - hFile->Write(); - hFile->Close(); -} - -Float_t UEAnalysisOnRootple::CalibrationPt(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - Float_t corr = 0.1122*exp(-(0.2251*ptReco))+1.086-0.0005408*ptReco; - return corr; - } - if(tkpt=="500"){ - Float_t corr = 0.1389*exp(-(0.2364*ptReco))+1.048-0.0001663*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionPtTrans(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - // Float_t corr = 2.80452*exp(-(0.278432*ptReco))+1.30988-0.000869106*ptReco; - Float_t corr = 1.214*exp(-(0.9637*ptReco))+1.204-0.0003461*ptReco; - return corr; - } - if(tkpt=="500"){ - // Float_t corr = 1.18227*exp(-(0.184019*ptReco))+1.21637-0.000416840*ptReco; - Float_t corr = 0.4174*exp(-(0.537*ptReco))+1.136-0.0001166*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionPtToward(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - /* - Float_t arg = (ptReco-(-248.6))/-355.7; - Float_t corr = 1.396*exp(-(0.281*ptReco))-28.13+0.06122*ptReco+37.61*exp(-0.5*arg*arg); - */ - Float_t corr = 0.1037*exp(-(0.1382*ptReco))+1.117-0.0006322*ptReco; - return corr; - } - if(tkpt=="500"){ - /* - Float_t arg = (ptReco-(-73.4))/-35.53; - Float_t corr = 9.206*exp(-(0.07078*ptReco))+1.196+0.0008953*ptReco-69.16*exp(-0.5*arg*arg); - */ - Float_t corr = 0.166*exp(-(0.1989*ptReco))+1.073-0.000245*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionPtAway(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - /* - Float_t arg = (ptReco-(-1015))/-1235; - Float_t corr = 3.635*exp(-(0.4059*ptReco))-53.26+0.03661*ptReco+76.71*exp(-0.5*arg*arg); - */ - Float_t corr = 0.2707*exp(-(0.2685*ptReco))+1.169-0.000411*ptReco; - return corr; - } - if(tkpt=="500"){ - /* - Float_t arg = (ptReco-(-35.38))/-148.1; - Float_t corr = 1.553*exp(-(0.2515*ptReco))-0.8953+0.009215*ptReco+2.178*exp(-0.5*arg*arg); - */ - Float_t corr = 0.2835*exp(-(0.2665*ptReco))+1.1-0.0001659*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionNTrans(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - // Float_t corr = 2.41052*exp(-(0.268028*ptReco))+1.26675-0.000509399*ptReco; - Float_t corr = 1.101*exp(-(0.9939*ptReco))+1.198-0.0001467*ptReco; - return corr; - } - if(tkpt=="500"){ - // Float_t corr = 0.970339*exp(-(0.178862*ptReco))+1.19788-0.000293722*ptReco; - Float_t corr = 0.3322*exp(-(0.445*ptReco))+1.146+0.00002659*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionNToward(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - /* - Float_t arg = (ptReco-(-701.9))/-763.1; - Float_t corr = 1.366*exp(-(0.288*ptReco))-29.98+0.03649*ptReco+47.78*exp(-0.5*arg*arg); - */ - Float_t corr = 0.9264*exp(-(1.053*ptReco))+1.16-0.0005176*ptReco; - return corr; - } - if(tkpt=="500"){ - /* - Float_t arg = (ptReco-6.429)/-7.393; - Float_t corr = 1.155*exp(-(0.1146*ptReco))+1.208-0.0005325*ptReco-0.312*exp(-0.5*arg*arg); - */ - Float_t corr = 0.2066*exp(-(0.3254*ptReco))+1.109-0.00006666*ptReco; - return corr; - } -} - -Float_t UEAnalysisOnRootple::CorrectionNAway(Float_t ptReco,std::string tkpt){ - if(tkpt=="900"){ - /* - Float_t arg = (ptReco-(-1512))/-1517; - Float_t corr = 3.094*exp(-(0.3886*ptReco))-44.83+0.02965*ptReco+75.99*exp(-0.5*arg*arg); - */ - Float_t corr = 0.2663*exp(-(0.342*ptReco))+1.178-0.0004006*ptReco; - return corr; - } - if(tkpt=="500"){ - /* - Float_t arg = (ptReco-(-170.4))/-281.4; - Float_t corr = 1.232*exp(-(0.2355*ptReco))-7.733+0.02271*ptReco+10.74*exp(-0.5*arg*arg); - */ - Float_t corr = 0.316*exp(-(0.3741*ptReco))+1.136-0.0002407*ptReco; - return corr; - } -} diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.h b/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.h deleted file mode 100644 index e8a19e999fa4e..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisOnRootple.h +++ /dev/null @@ -1,389 +0,0 @@ -////////////////////////////////////////////////////////// -// This class has been automatically generated on -// Tue Sep 11 11:54:39 2007 by ROOT version 5.14/00b -// from TTree UEAnalysisTree/UE Analysis Tree -// found on file: MB_Pt05/UnderlyingEvent_RootFile_Result.root -////////////////////////////////////////////////////////// - -#ifndef UEAnalysisOnRootple_h -#define UEAnalysisOnRootple_h - -#include -#include -#include -#include -#include -#include -#include -#include - -// -#include -#include -// - -class UEAnalysisOnRootple { -public : - - // declare file handle here - TFile *f; - - TTree *fChain; //!pointer to the analyzed TTree or TChain - Int_t fCurrent; //!current Tree number in a TChain - - // Declaration of leave types - Int_t EventKind; - Int_t NumberMCParticles; - Float_t MomentumMC[1000]; //[NumberMCParticles] - Float_t TransverseMomentumMC[1000]; //[NumberMCParticles] - Float_t EtaMC[1000]; //[NumberMCParticles] - Float_t PhiMC[1000]; //[NumberMCParticles] - Int_t NumberTracks; - Float_t MomentumTK[1000]; //[NumberTracks] - Float_t TrasverseMomentumTK[1000]; //[NumberTracks] - Float_t EtaTK[1000]; //[NumberTracks] - Float_t PhiTK[1000]; //[NumberTracks] - Int_t NumberInclusiveJet; - Float_t MomentumIJ[1000]; //[NumberInclusiveJet] - Float_t TrasverseMomentumIJ[1000]; //[NumberInclusiveJet] - Float_t EtaIJ[1000]; //[NumberInclusiveJet] - Float_t PhiIJ[1000]; //[NumberInclusiveJet] - Int_t NumberChargedJet; - Float_t MomentumCJ[1000]; //[NumberChargedJet] - Float_t TrasverseMomentumCJ[1000]; //[NumberChargedJet] - Float_t EtaCJ[1000]; //[NumberChargedJet] - Float_t PhiCJ[1000]; //[NumberChargedJet] - Int_t NumberTracksJet; - Float_t MomentumTJ[1000]; //[NumberTracksJet] - Float_t TrasverseMomentumTJ[1000]; //[NumberTracksJet] - Float_t EtaTJ[1000]; //[NumberTracksJet] - Float_t PhiTJ[1000]; //[NumberTracksJet] - Int_t NumberCaloJet; - Float_t MomentumEHJ[1000]; //[NumberCaloJet] - Float_t TrasverseMomentumEHJ[1000]; //[NumberCaloJet] - Float_t EtaEHJ[1000]; //[NumberCaloJet] - Float_t PhiEHJ[1000]; //[NumberCaloJet] - - // - TClonesArray *acceptedTriggers; - // - - // List of branches - TBranch *b_EventKind; //! - TBranch *b_NumberMCParticles; //! - TBranch *b_MomentumMC; //! - TBranch *b_TransverseMomentumMC; //! - TBranch *b_EtaMC; //! - TBranch *b_PhiMC; //! - TBranch *b_NumberTracks; //! - TBranch *b_MomentumTK; //! - TBranch *b_TrasverseMomentumTK; //! - TBranch *b_EtaTK; //! - TBranch *b_PhiTK; //! - TBranch *b_NumberInclusiveJet; //! - TBranch *b_MomentumIJ; //! - TBranch *b_TrasverseMomentumIJ; //! - TBranch *b_EtaIJ; //! - TBranch *b_PhiIJ; //! - TBranch *b_NumberChargedJet; //! - TBranch *b_MomentumCJ; //! - TBranch *b_TrasverseMomentumCJ; //! - TBranch *b_EtaCJ; //! - TBranch *b_PhiCJ; //! - TBranch *b_NumberTracksJet; //! - TBranch *b_MomentumTJ; //! - TBranch *b_TrasverseMomentumTJ; //! - TBranch *b_EtaTJ; //! - TBranch *b_PhiTJ; //! - TBranch *b_NumberCaloJet; //! - TBranch *b_MomentumEHJ; //! - TBranch *b_TrasverseMomentumEHJ; //! - TBranch *b_EtaEHJ; //! - TBranch *b_PhiEHJ; //! - - // - TBranch *b_acceptedTriggers; - // - - - //Charged Jet caharacterization - TH1F* dr_chgcalo; - TH1F* dr_chginc; - TH1F* dr_chgmcreco; - TH1F* dr_caloinc; - TH1F* numb_cal; - TH1F* pT_cal; - TH1F* eta_cal; - TH1F* eta_cal_res; - TH1F* phi_cal; - TH1F* phi_cal_res; - TH1F* numb_chgmc; - TH1F* pT_chgmc; - TH1F* eta_chgmc; - TH1F* eta_chgmc_res; - TH1F* phi_chgmc; - TH1F* phi_chgmc_res; - TH1F* numb_chgreco; - TH1F* pT_chgreco; - TH1F* eta_chgreco; - TH1F* eta_chgreco_res; - TH1F* phi_chgreco; - TH1F* phi_chgreco_res; - TH1F* numb_inc; - TH1F* pT_inc; - TH1F* eta_inc; - TH1F* phi_inc; - TProfile* calib_chgcalo; - TProfile* calib_chginc; - TProfile* calib_chgmcreco; - TProfile* calib_caloinc; - TProfile* calib_chgcalo_eta; - TProfile* calib_chginc_eta; - TProfile* calib_chgmcreco_eta; - TProfile* calib_caloinc_eta; - TProfile* calib_chgcalo_phi; - TProfile* calib_chginc_phi; - TProfile* calib_chgmcreco_phi; - TProfile* calib_caloinc_phi; - - //Underlying Event analysis - TH1F* fHistPtDistMC; - TH1F* fHistEtaDistMC; - TH1F* fHistPhiDistMC; - - TProfile* pdN_vs_etaMC; - TProfile* pdN_vs_ptMC; - - TProfile* pdN_vs_dphiMC; - TProfile* pdPt_vs_dphiMC; - - // add histo on fluctuation in UE - TH2D* h2d_dN_vs_ptJTransMC; - - - TProfile* pdN_vs_ptJTransMC; - TProfile* pdN_vs_ptJTransMaxMC; - TProfile* pdN_vs_ptJTransMinMC; - TProfile* pdPt_vs_ptJTransMC; - TProfile* pdPt_vs_ptJTransMaxMC; - TProfile* pdPt_vs_ptJTransMinMC; - TProfile* pdN_vs_ptJTowardMC; - TProfile* pdN_vs_ptJAwayMC; - TProfile* pdPt_vs_ptJTowardMC; - TProfile* pdPt_vs_ptJAwayMC; - - TH1F* temp1MC; - TH1F* temp2MC; - TH1F* temp3MC; - TH1F* temp4MC; - - TH1F* fHistPtDistRECO; - TH1F* fHistEtaDistRECO; - TH1F* fHistPhiDistRECO; - - TProfile* pdN_vs_etaRECO; - TProfile* pdN_vs_ptRECO; - - TProfile* pdN_vs_dphiRECO; - TProfile* pdPt_vs_dphiRECO; - - TProfile* pdN_vs_ptJTransRECO; - TProfile* pdN_vs_ptJTransMaxRECO; - TProfile* pdN_vs_ptJTransMinRECO; - TProfile* pdPt_vs_ptJTransRECO; - TProfile* pdPt_vs_ptJTransMaxRECO; - TProfile* pdPt_vs_ptJTransMinRECO; - TProfile* pdN_vs_ptJTowardRECO; - TProfile* pdN_vs_ptJAwayRECO; - TProfile* pdPt_vs_ptJTowardRECO; - TProfile* pdPt_vs_ptJAwayRECO; - - TProfile* pdN_vs_ptCJTransRECO; - TProfile* pdN_vs_ptCJTransMaxRECO; - TProfile* pdN_vs_ptCJTransMinRECO; - TProfile* pdPt_vs_ptCJTransRECO; - TProfile* pdPt_vs_ptCJTransMaxRECO; - TProfile* pdPt_vs_ptCJTransMinRECO; - TProfile* pdN_vs_ptCJTowardRECO; - TProfile* pdN_vs_ptCJAwayRECO; - TProfile* pdPt_vs_ptCJTowardRECO; - TProfile* pdPt_vs_ptCJAwayRECO; - - TH1F* temp1RECO; - TH1F* temp2RECO; - TH1F* temp3RECO; - TH1F* temp4RECO; - - TH1D* fNumbMPIMC; - TH1D* fdEtaLeadingPairMC; - TH1D* fdPhiLeadingPairMC; - TH1D* fptRatioLeadingPairMC; - TProfile* pPtRatio_vs_PtJleadMC; - TProfile* pPtRatio_vs_EtaJleadMC; - TProfile* pPtRatio_vs_PhiJleadMC; - - TH1D* fNumbMPIRECO; - TH1D* fdEtaLeadingPairRECO; - TH1D* fdPhiLeadingPairRECO; - TH1D* fptRatioLeadingPairRECO; - TProfile* pPtRatio_vs_PtJleadRECO; - TProfile* pPtRatio_vs_EtaJleadRECO; - TProfile* pPtRatio_vs_PhiJleadRECO; - - - - Float_t etaRegion; - Float_t piG; - Float_t rangePhi; - Float_t ptThreshold; - - UEAnalysisOnRootple(); - virtual ~UEAnalysisOnRootple(); - virtual Int_t Cut(Long64_t entry); - virtual Int_t GetEntry(Long64_t entry); - virtual Long64_t LoadTree(Long64_t entry); - virtual void MultiAnalysis(char* filelist,char* outname,Float_t weight[13],Float_t eta,Float_t triggerPt,std::string type,std::string trigger,std::string tkpt,Float_t ptCut); - virtual void Init(TTree *tree); - virtual void BeginJob(char* outname); - virtual void EndJob(); - virtual void Loop(Float_t we,Float_t triggerPt,std::string type,std::string trigger,std::string tkpt); - virtual Bool_t Notify(); - virtual void Show(Long64_t entry = -1); - virtual void UEAnalysisMC(Float_t weight,std::string tkpt); - virtual void UEAnalysisRECO(Float_t weight,std::string tkpt); - virtual void JetCalibAnalysis(Float_t weight,std::string tkpt); - virtual void MPIAnalysisMC(Float_t weight,std::string tkpt); - virtual void MPIAnalysisRECO(Float_t weight,std::string tkpt); - Float_t CalibrationPt(Float_t ptReco,std::string tkpt); - Float_t CorrectionPtTrans(Float_t ptReco,std::string tkpt); - Float_t CorrectionPtToward(Float_t ptReco,std::string tkpt); - Float_t CorrectionPtAway(Float_t ptReco,std::string tkpt); - Float_t CorrectionNTrans(Float_t ptReco,std::string tkpt); - Float_t CorrectionNToward(Float_t ptReco,std::string tkpt); - Float_t CorrectionNAway(Float_t ptReco,std::string tkpt); - - TFile* hFile; - -}; - -#endif - -#ifdef UEAnalysisOnRootple_cxx - -UEAnalysisOnRootple::UEAnalysisOnRootple() -{ - std::cout << "UEAnalysisOnRootple constructor " <GetCurrentFile(); -} - -Int_t UEAnalysisOnRootple::GetEntry(Long64_t entry) -{ -// Read contents of entry. - if (!fChain) return 0; - return fChain->GetEntry(entry); -} -Long64_t UEAnalysisOnRootple::LoadTree(Long64_t entry) -{ -// Set the environment to read one entry - if (!fChain) return -5; - Long64_t centry = fChain->LoadTree(entry); - if (centry < 0) return centry; - if (!fChain->InheritsFrom(TChain::Class())) return centry; - TChain *chain = (TChain*)fChain; - if (chain->GetTreeNumber() != fCurrent) { - fCurrent = chain->GetTreeNumber(); - Notify(); - } - return centry; -} - -void UEAnalysisOnRootple::Init(TTree *tree) -{ - // The Init() function is called when the selector needs to initialize - // a new tree or chain. Typically here the branch addresses and branch - // pointers of the tree will be set. - // It is normaly not necessary to make changes to the generated - // code, but the routine can be extended by the user if needed. - // Init() will be called many times when running on PROOF - // (once per file to be processed). - - // allocate space for file handle here - f = new TFile; - - // Set branch addresses and branch pointers - if (!tree) return; - fChain = tree; - fCurrent = -1; - fChain->SetMakeClass(1); - - // - acceptedTriggers = 0; - fChain->SetBranchAddress("acceptedTriggers", &acceptedTriggers, &b_acceptedTriggers); - // - - fChain->SetBranchAddress("EventKind", &EventKind, &b_EventKind); - fChain->SetBranchAddress("NumberMCParticles", &NumberMCParticles, &b_NumberMCParticles); - fChain->SetBranchAddress("MomentumMC", MomentumMC, &b_MomentumMC); - fChain->SetBranchAddress("TransverseMomentumMC", TransverseMomentumMC, &b_TransverseMomentumMC); - fChain->SetBranchAddress("EtaMC", EtaMC, &b_EtaMC); - fChain->SetBranchAddress("PhiMC", PhiMC, &b_PhiMC); - fChain->SetBranchAddress("NumberTracks", &NumberTracks, &b_NumberTracks); - fChain->SetBranchAddress("MomentumTK", MomentumTK, &b_MomentumTK); - fChain->SetBranchAddress("TrasverseMomentumTK", TrasverseMomentumTK, &b_TrasverseMomentumTK); - fChain->SetBranchAddress("EtaTK", EtaTK, &b_EtaTK); - fChain->SetBranchAddress("PhiTK", PhiTK, &b_PhiTK); - fChain->SetBranchAddress("NumberInclusiveJet", &NumberInclusiveJet, &b_NumberInclusiveJet); - fChain->SetBranchAddress("MomentumIJ", MomentumIJ, &b_MomentumIJ); - fChain->SetBranchAddress("TrasverseMomentumIJ", TrasverseMomentumIJ, &b_TrasverseMomentumIJ); - fChain->SetBranchAddress("EtaIJ", EtaIJ, &b_EtaIJ); - fChain->SetBranchAddress("PhiIJ", PhiIJ, &b_PhiIJ); - fChain->SetBranchAddress("NumberChargedJet", &NumberChargedJet, &b_NumberChargedJet); - fChain->SetBranchAddress("MomentumCJ", MomentumCJ, &b_MomentumCJ); - fChain->SetBranchAddress("TrasverseMomentumCJ", TrasverseMomentumCJ, &b_TrasverseMomentumCJ); - fChain->SetBranchAddress("EtaCJ", EtaCJ, &b_EtaCJ); - fChain->SetBranchAddress("PhiCJ", PhiCJ, &b_PhiCJ); - fChain->SetBranchAddress("NumberTracksJet", &NumberTracksJet, &b_NumberTracksJet); - fChain->SetBranchAddress("MomentumTJ", MomentumTJ, &b_MomentumTJ); - fChain->SetBranchAddress("TrasverseMomentumTJ", TrasverseMomentumTJ, &b_TrasverseMomentumTJ); - fChain->SetBranchAddress("EtaTJ", EtaTJ, &b_EtaTJ); - fChain->SetBranchAddress("PhiTJ", PhiTJ, &b_PhiTJ); - fChain->SetBranchAddress("NumberCaloJet", &NumberCaloJet, &b_NumberCaloJet); - fChain->SetBranchAddress("MomentumEHJ", MomentumEHJ, &b_MomentumEHJ); - fChain->SetBranchAddress("TrasverseMomentumEHJ", TrasverseMomentumEHJ, &b_TrasverseMomentumEHJ); - fChain->SetBranchAddress("EtaEHJ", EtaEHJ, &b_EtaEHJ); - fChain->SetBranchAddress("PhiEHJ", PhiEHJ, &b_PhiEHJ); - Notify(); -} - -Bool_t UEAnalysisOnRootple::Notify() -{ - // The Notify() function is called when a new file is opened. This - // can be either for a new TTree in a TChain or when when a new TTree - // is started when using PROOF. It is normaly not necessary to make changes - // to the generated code, but the routine can be extended by the - // user if needed. The return value is currently not used. - - return kTRUE; -} - -void UEAnalysisOnRootple::Show(Long64_t entry) -{ -// Print contents of entry. -// If entry is not specified, print current entry - if (!fChain) return; - fChain->Show(entry); -} - -Int_t UEAnalysisOnRootple::Cut(Long64_t entry) -{ -// This function may be called from Loop. -// returns 1 if entry is accepted. -// returns -1 otherwise. - return 1; -} -#endif diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisSelectorRootple.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisSelectorRootple.C deleted file mode 100644 index e0bc7f0023926..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisSelectorRootple.C +++ /dev/null @@ -1,93 +0,0 @@ -#define UEAnalysisSelectorRootple_cxx -// The class definition in UEAnalysisSelectorRootple.h has been generated automatically -// by the ROOT utility TTree::MakeSelector(). This class is derived -// from the ROOT class TSelector. For more information on the TSelector -// framework see $ROOTSYS/README/README.SELECTOR or the ROOT User Manual. - -// The following methods are defined in this file: -// Begin(): called every time a loop on the tree starts, -// a convenient place to create your histograms. -// SlaveBegin(): called after Begin(), when on PROOF called only on the -// slave servers. -// Process(): called for each event, in this function you decide what -// to read and fill your histograms. -// SlaveTerminate: called at the end of the loop on the tree, when on PROOF -// called only on the slave servers. -// Terminate(): called at the end of the loop on the tree, -// a convenient place to draw/fit your histograms. -// -// To use this file, try the following session on your Tree T: -// -// Root > T->Process("UEAnalysisSelectorRootple.C") -// Root > T->Process("UEAnalysisSelectorRootple.C","some options") -// Root > T->Process("UEAnalysisSelectorRootple.C+") -// - -#include "UEAnalysisSelectorRootple.h" -#include -#include - - -void UEAnalysisSelectorRootple::Begin(TTree * /*tree*/) -{ - // The Begin() function is called at the start of the query. - // When running with PROOF Begin() is only called on the client. - // The tree argument is deprecated (on PROOF 0 is passed). - - TString option = GetOption(); - - std::cout << "UEAnalysisSelectorRootple Begin " < -#include -#include -#include - - -#include "UEAnalysisUE.h" -#include "UEAnalysisJets.h" -#include "UEAnalysisMPI.h" - -// -#include -#include -// - -class UEAnalysisSelectorRootple : public TSelector { -public : - TTree *fChain; //!pointer to the analyzed TTree or TChain - - // Declaration of leaf types - Int_t EventKind; - TClonesArray *MonteCarlo; - TClonesArray *Track; - TClonesArray *InclusiveJet; - TClonesArray *ChargedJet; - TClonesArray *TracksJet; - TClonesArray *CalorimeterJet; - TClonesArray *acceptedTriggers; - - // List of branches - TBranch *b_EventKind; //! - TBranch *b_MonteCarlo; //! - TBranch *b_Track; //! - TBranch *b_InclusiveJet; //! - TBranch *b_ChargedJet; //! - TBranch *b_TracksJet; //! - TBranch *b_CalorimeterJet; //! - TBranch *b_acceptedTriggers; //! - - UEAnalysisSelectorRootple(TTree * /*tree*/ =0) { } - virtual ~UEAnalysisSelectorRootple() { } - virtual Int_t Version() const { return 2; } - virtual void Begin(TTree *tree); - virtual void SlaveBegin(TTree *tree); - virtual void Init(TTree *tree); - virtual Bool_t Notify(); - virtual Bool_t Process(Long64_t entry); - virtual Int_t GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; } - virtual void SetOption(const char *option) { fOption = option; } - virtual void SetObject(TObject *obj) { fObject = obj; } - virtual void SetInputList(TList *input) { fInput = input; } - virtual TList *GetOutputList() const { return fOutput; } - virtual void SlaveTerminate(); - virtual void Terminate(); - - ClassDef(UEAnalysisSelectorRootple,0); - - TFile* hFile; - - float etaRegion; - float ptThreshold; - - UEAnalysisUE * ue; - UEAnalysisJets* jets; - UEAnalysisMPI* mpi; - -}; - -#endif - -#ifdef UEAnalysisSelectorRootple_cxx -void UEAnalysisSelectorRootple::Init(TTree *tree) -{ - // The Init() function is called when the selector needs to initialize - // a new tree or chain. Typically here the branch addresses and branch - // pointers of the tree will be set. - // It is normally not necessary to make changes to the generated - // code, but the routine can be extended by the user if needed. - // Init() will be called many times when running on PROOF - // (once per file to be processed). - - // Set object pointer - MonteCarlo = 0; - Track = 0; - InclusiveJet = 0; - ChargedJet = 0; - TracksJet = 0; - CalorimeterJet = 0; - acceptedTriggers = 0; - // Set branch addresses and branch pointers - if (!tree) return; - fChain = tree; - fChain->SetMakeClass(1); - - fChain->SetBranchAddress("EventKind", &EventKind, &b_EventKind); - fChain->SetBranchAddress("MonteCarlo", &MonteCarlo, &b_MonteCarlo); - fChain->SetBranchAddress("Track", &Track, &b_Track); - fChain->SetBranchAddress("InclusiveJet", &InclusiveJet, &b_InclusiveJet); - fChain->SetBranchAddress("ChargedJet", &ChargedJet, &b_ChargedJet); - fChain->SetBranchAddress("TracksJet", &TracksJet, &b_TracksJet); - fChain->SetBranchAddress("CalorimeterJet", &CalorimeterJet, &b_CalorimeterJet); - fChain->SetBranchAddress("acceptedTriggers", &acceptedTriggers, &b_acceptedTriggers); - -} - -Bool_t UEAnalysisSelectorRootple::Notify() -{ - // The Notify() function is called when a new file is opened. This - // can be either for a new TTree in a TChain or when when a new TTree - // is started when using PROOF. It is normally not necessary to make changes - // to the generated code, but the routine can be extended by the - // user if needed. The return value is currently not used. - - return kTRUE; -} - -#endif // #ifdef UEAnalysisSelectorRootple_cxx diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.C deleted file mode 100644 index 62a47acd70d85..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.C +++ /dev/null @@ -1,542 +0,0 @@ -#include "UEAnalysisUE.h" -#include -#include - -UEAnalysisUE::UEAnalysisUE() -{ - std::cout << "UEAnalysisUE constructor " <cd(); - - //Underlying Event analysis - fHistPtDistMC = new TH1F( "HistPtDistMC" , "Pt Spectra", 100, 0., 4. ) ; - fHistEtaDistMC = new TH1F( "HistEtaDistMC" , "#eta Spectra", 100, -5., 5. ) ; - fHistPhiDistMC = new TH1F( "HistPhiDistMC" , "#phi Spectra", 100, -4., 4. ) ; - - pdN_vs_etaMC = new TProfile("dN_vs_etaMC","#delta N vs #eta",100,0.,5.); - pdN_vs_ptMC = new TProfile("dN_vs_ptMC","#delta N vs P_{T}",1000,0.,100.); - pdN_vs_dphiMC = new TProfile("dN_vs_dphiMC","#frac{dN}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - pdPt_vs_dphiMC = new TProfile("dPt_vs_dphiMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - - // add histo for ue fluctuation - h2d_dN_vs_ptJTransMC = new TH2D("h2d_dN_vs_ptJTransMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200,100,0.,20.); - - pdN_vs_ptJTransMC = new TProfile("dN_vs_ptJTransMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdN_vs_ptJTransMaxMC = new TProfile("dN_vs_ptJTransMaxMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdN_vs_ptJTransMinMC = new TProfile("dN_vs_ptJTransMinMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdPt_vs_ptJTransMC = new TProfile("dPt_vs_ptJTransMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdPt_vs_ptJTransMaxMC = new TProfile("dPt_vs_ptJTransMaxMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdPt_vs_ptJTransMinMC = new TProfile("dPt_vs_ptJTransMinMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdN_vs_ptJTowardMC = new TProfile("dN_vs_ptJTowardMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdN_vs_ptJAwayMC = new TProfile("dN_vs_ptJAwayMC","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdPt_vs_ptJTowardMC = new TProfile("dPt_vs_ptJTowardMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdPt_vs_ptJAwayMC = new TProfile("dPt_vs_ptJAwayMC","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - temp1MC = new TH1F("temp1MC","temp",100,-180.,180.); - temp2MC = new TH1F("temp2MC","temp",100,-180.,180.); - temp3MC = new TH1F("temp3MC","temp",100,0.,5.); - temp4MC = new TH1F("temp4MC","temp",1000,0.,100.); - - fHistPtDistRECO = new TH1F( "HistPtDistRECO" , "Pt Spectra", 100, 0., 4. ) ; - fHistEtaDistRECO = new TH1F( "HistEtaDistRECO" , "#eta Spectra", 100, -5., 5. ) ; - fHistPhiDistRECO = new TH1F( "HistPhiDistRECO" , "#phi Spectra", 100, -4., 4. ) ; - - pdN_vs_etaRECO = new TProfile("dN_vs_etaRECO","#delta N vs #eta",100,0.,5.); - pdN_vs_ptRECO = new TProfile("dN_vs_ptRECO","#delta N vs P_{T}",1000,0.,100.); - - pdN_vs_dphiRECO = new TProfile("dN_vs_dphiRECO","#frac{dN}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - pdPt_vs_dphiRECO = new TProfile("dPt_vs_dphiRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs #delta #phi",100,-180.,180.,0,100); - - pdN_vs_ptJTransRECO = new TProfile("dN_vs_ptJTransRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdN_vs_ptJTransMaxRECO = new TProfile("dN_vs_ptJTransMaxRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdN_vs_ptJTransMinRECO = new TProfile("dN_vs_ptJTransMinRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdPt_vs_ptJTransRECO = new TProfile("dPt_vs_ptJTransRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans''",100,0.,200); - pdPt_vs_ptJTransMaxRECO = new TProfile("dPt_vs_ptJTransMaxRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Max''",100,0.,200); - pdPt_vs_ptJTransMinRECO = new TProfile("dPt_vs_ptJTransMinRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Trans Min''",100,0.,200); - - pdN_vs_ptJTowardRECO = new TProfile("dN_vs_ptJTowardRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdN_vs_ptJAwayRECO = new TProfile("dN_vs_ptJAwayRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdPt_vs_ptJTowardRECO = new TProfile("dPt_vs_ptJTowardRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Toward''",100,0.,200); - pdPt_vs_ptJAwayRECO = new TProfile("dPt_vs_ptJAwayRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet} ''Away''",100,0.,200); - - pdN_vs_ptCJTransRECO = new TProfile("dN_vs_ptCJTransRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans''",100,0.,200); - pdN_vs_ptCJTransMaxRECO = new TProfile("dN_vs_ptCJTransMaxRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Max''",100,0.,200); - pdN_vs_ptCJTransMinRECO = new TProfile("dN_vs_ptCJTransMinRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Min''",100,0.,200); - - pdPt_vs_ptCJTransRECO = new TProfile("dPt_vs_ptCJTransRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans''",100,0.,200); - pdPt_vs_ptCJTransMaxRECO = new TProfile("dPt_vs_ptCJTransMaxRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Max''",100,0.,200); - pdPt_vs_ptCJTransMinRECO = new TProfile("dPt_vs_ptCJTransMinRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Trans Min''",100,0.,200); - - pdN_vs_ptCJTowardRECO = new TProfile("dN_vs_ptCJTowardRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Toward''",100,0.,200); - pdN_vs_ptCJAwayRECO = new TProfile("dN_vs_ptCJAwayRECO","#frac{dN}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Away''",100,0.,200); - - pdPt_vs_ptCJTowardRECO = new TProfile("dPt_vs_ptCJTowardRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Toward''",100,0.,200); - pdPt_vs_ptCJAwayRECO = new TProfile("dPt_vs_ptCJAwayRECO","#frac{dP_{T}^{sum}}{d#phid#eta} vs P_{T}^{Chg Jet MC} ''Away''",100,0.,200); - - temp1RECO = new TH1F("temp1RECO","temp",100,-180.,180.); - temp2RECO = new TH1F("temp2RECO","temp",100,-180.,180.); - temp3RECO = new TH1F("temp3RECO","temp",100,0.,5.); - temp4RECO = new TH1F("temp4RECO","temp",1000,0.,100.); - -} - -void UEAnalysisUE::ueAnalysisMC(float weight,std::string tkpt,float etaRegion, float ptThreshold, TClonesArray* MonteCarlo, TClonesArray* ChargedJet) -{ - - //std::cout << "UEAnalysisUE::ueAnalysisMC(...)" << std::endl; - - TLorentzVector* leadingJet; - Float_t PTLeadingCJ = -10; - for(int j=0;jGetSize();++j){ - TLorentzVector *v = (TLorentzVector*)ChargedJet->At(j); - if(fabs(v->Eta())Pt(); - break; - } - } - - - //std::cout << "PTLeadingCJ " << PTLeadingCJ << std::endl; - - if ( PTLeadingCJ == -10. ) - { - //std::cout << "return" << std::endl; - return; - } - - //std::cout << "for(int i=0;iGetSize();i++){" << std::endl; - - for(int i=0;iGetSize();i++){ - TLorentzVector *v = (TLorentzVector*)MonteCarlo->At(i); - - if(v->Pt()>=ptThreshold){ - fHistPtDistMC->Fill(v->Pt(),weight); - fHistEtaDistMC->Fill(v->Eta(),weight); - fHistPhiDistMC->Fill(v->Phi(),weight); - temp3MC->Fill(fabs(v->Eta())); - temp4MC->Fill(fabs(v->Pt())); - } - - if(fabs(v->Eta())Pt()>=ptThreshold){ - Float_t conv = 180/piG; - Float_t Dphi_mc = conv * leadingJet->DeltaPhi(*v); - temp1MC->Fill(Dphi_mc); - temp2MC->Fill(Dphi_mc,v->Pt()); - } - } - - //std::cout << "for(int i=0;i<100;i++){" << std::endl; - - for(int i=0;i<100;i++){ - pdN_vs_etaMC->Fill((i*0.05)+0.025,temp3MC->GetBinContent(i+1)/0.1,weight); - } - for(int i=0;i<1000;i++){ - pdN_vs_ptMC->Fill((i*0.1)+0.05,temp4MC->GetBinContent(i+1)/0.1,weight); - } - - temp3MC->Reset(); - temp4MC->Reset(); - - Float_t transN1=0; - Float_t transN2=0; - Float_t transP1=0; - Float_t transP2=0; - Float_t towardN=0; - Float_t towardP=0; - Float_t awayN=0; - Float_t awayP=0; - - for(int i=0;i<100;i++){ - if(i<=14){ - awayN += temp1MC->GetBinContent(i+1); - awayP += temp2MC->GetBinContent(i+1); - } - if(i>14 && i<33 ){ - transN1 += temp1MC->GetBinContent(i+1); - transP1 += temp2MC->GetBinContent(i+1); - } - if(i>=33 && i<=64 ){ - towardN += temp1MC->GetBinContent(i+1); - towardP += temp2MC->GetBinContent(i+1); - } - if(i>64 && i<83 ){ - transN2 += temp1MC->GetBinContent(i+1); - transP2 += temp2MC->GetBinContent(i+1); - } - if(i>=83){ - awayN += temp1MC->GetBinContent(i+1); - awayP += temp2MC->GetBinContent(i+1); - } - - Float_t bincont1_mc=temp1MC->GetBinContent(i+1); - pdN_vs_dphiMC->Fill(-180.+i*3.6+1.8,bincont1_mc/(3.6*2*etaRegion*(piG/180.)),weight); - - Float_t bincont2_mc=temp2MC->GetBinContent(i+1); - pdPt_vs_dphiMC->Fill(-180.+i*3.6+1.8,bincont2_mc/(3.6*2*etaRegion*(piG/180.)),weight); - - } - - //std::cout << "bool orderedN = false;" << std::endl; - - bool orderedN = false; - // bool orderedP = false; - - pdN_vs_ptJTowardMC->Fill(PTLeadingCJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTowardMC->Fill(PTLeadingCJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJAwayMC->Fill(PTLeadingCJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJAwayMC->Fill(PTLeadingCJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - if( transN1>=transN2 ) orderedN = true; - // if( transP1>=transP2 ) orderedP = true; - - // add histo for ue fluctuation - h2d_dN_vs_ptJTransMC->Fill(PTLeadingCJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMC->Fill(PTLeadingCJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMC->Fill(PTLeadingCJ,(transP1+transP2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - if(orderedN){ - //dN - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - //dP - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - }else{ - //dN - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - //dP - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - } - /* - if(orderedP){ - //dN - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - //dP - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - }else{ - //dN - pdN_vs_ptJTransMinMC->Fill(PTLeadingCJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - //dP - pdPt_vs_ptJTransMinMC->Fill(PTLeadingCJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxMC->Fill(PTLeadingCJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - } - */ - temp1MC->Reset(); - temp2MC->Reset(); - - //std::cout << "done" << std::endl; - -} - -void UEAnalysisUE::ueAnalysisRECO(float weight,std::string tkpt,float etaRegion,float ptThreshold, TClonesArray* Track, TClonesArray* TracksJet) -{ - - TLorentzVector* leadingJet; - Float_t PTLeadingTJ = -10; - for(int j=0;jGetSize();++j){ - TLorentzVector *v = (TLorentzVector*)TracksJet->At(j); - if(fabs(v->Eta())Pt(); - break; - } - } - - Float_t PTLeadingCJ = cc->calibrationPt(PTLeadingTJ,tkpt)*PTLeadingTJ; - - for(int i=0;iGetSize();++i){ - TLorentzVector *v = (TLorentzVector*)Track->At(i); - - if(v->Pt()>ptThreshold){ - fHistPtDistRECO->Fill(v->Pt(),weight); - fHistEtaDistRECO->Fill(v->Eta(),weight); - fHistPhiDistRECO->Fill(v->Phi(),weight); - temp3RECO->Fill(fabs(v->Eta())); - temp4RECO->Fill(fabs(v->Pt())); - } - - if(fabs(v->Eta())Pt()>=ptThreshold){ - - // use ROOT method to calculate dphi - // convert dphi from radiants to degrees - Float_t conv = 180/piG; - Float_t Dphi_reco = conv * leadingJet->DeltaPhi(*v); - - temp1RECO->Fill(Dphi_reco); - temp2RECO->Fill(Dphi_reco,v->Pt()); - } - } - - - for(int i=0;i<100;i++){ - pdN_vs_etaRECO->Fill((i*0.05)+0.025,temp3RECO->GetBinContent(i+1)/0.1,weight); - } - for(int i=0;i<1000;i++){ - pdN_vs_ptRECO->Fill((i*0.1)+0.05,temp4RECO->GetBinContent(i+1)/0.1,weight); - } - - temp3RECO->Reset(); - temp4RECO->Reset(); - - Float_t transN1=0; - Float_t transN2=0; - Float_t transP1=0; - Float_t transP2=0; - Float_t towardN=0; - Float_t towardP=0; - Float_t awayN=0; - Float_t awayP=0; - - for(int i=0;i<100;i++){ - if(i<=14){ - awayN += temp1RECO->GetBinContent(i+1); - awayP += temp2RECO->GetBinContent(i+1); - } - if(i>14 && i<33 ){ - transN1 += temp1RECO->GetBinContent(i+1); - transP1 += temp2RECO->GetBinContent(i+1); - } - if(i>=33 && i<=64 ){ - towardN += temp1RECO->GetBinContent(i+1); - towardP += temp2RECO->GetBinContent(i+1); - } - if(i>64 && i<83 ){ - transN2 += temp1RECO->GetBinContent(i+1); - transP2 += temp2RECO->GetBinContent(i+1); - } - if(i>=83){ - awayN += temp1RECO->GetBinContent(i+1); - awayP += temp2RECO->GetBinContent(i+1); - } - - Float_t bincont1_reco=temp1RECO->GetBinContent(i+1); - pdN_vs_dphiRECO->Fill(-180.+i*3.6+1.8,bincont1_reco/(3.6*2*etaRegion*(piG/180.)),weight); - - Float_t bincont2_reco=temp2RECO->GetBinContent(i+1); - pdPt_vs_dphiRECO->Fill(-180.+i*3.6+1.8,bincont2_reco/(3.6*2*etaRegion*(piG/180.)),weight); - - } - - bool orderedN = false; - // bool orderedP = false; - - pdN_vs_ptJTowardRECO->Fill(PTLeadingTJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTowardRECO->Fill(PTLeadingTJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJAwayRECO->Fill(PTLeadingTJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJAwayRECO->Fill(PTLeadingTJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardN*cc->correctionNToward(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardP*cc->correctionPtToward(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayN*cc->correctionNAway(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayP*cc->correctionPtAway(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTowardRECO->Fill(PTLeadingCJ,(towardP)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayN)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJAwayRECO->Fill(PTLeadingCJ,(awayP)/(120.*(2*etaRegion)*(piG/180.)),weight); - */ - - if( transN1>=transN2 ) orderedN = true; - // if( transP1>=transP2 ) orderedP = true; - - pdN_vs_ptJTransRECO->Fill(PTLeadingTJ,(transN1+transN2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransRECO->Fill(PTLeadingTJ,(transP1+transP2)/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transN1+transN2)*cc->correctionNTrans(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transP1+transP2)*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(120.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transN1+transN2))/(120.*(2*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransRECO->Fill(PTLeadingCJ,((transP1+transP2))/(120.*(2*etaRegion)*(piG/180.)),weight); - */ - - if(orderedN){ - - //dN - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - */ - - //dP - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - */ - - }else{ - - //dN - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - */ - - //dP - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - /* - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - */ - } - - /* - if(orderedP){ - - //dN - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN2/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN1/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2*etaRegion)*(piG/180.)),weight); - - - //pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - - //pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - - - //dP - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - - //pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - //pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - - }else{ - - //dN - - pdN_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transN1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transN2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2*cc->correctionNTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - - //pdN_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transN1)/(60.*(2*etaRegion)*(piG/180.)),weight); - - //pdN_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transN2)/(60.*(2*etaRegion)*(piG/180.)),weight); - - - //dP - - pdPt_vs_ptJTransMinRECO->Fill(PTLeadingTJ,transP1/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptJTransMaxRECO->Fill(PTLeadingTJ,transP2/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2*cc->correctionPtTrans(PTLeadingTJ,tkpt))/(60.*(2.*etaRegion)*(piG/180.)),weight); - - - //pdPt_vs_ptCJTransMinRECO->Fill(PTLeadingCJ,(transP1)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - //pdPt_vs_ptCJTransMaxRECO->Fill(PTLeadingCJ,(transP2)/(60.*(2.*etaRegion)*(piG/180.)),weight); - - } - */ - temp1RECO->Reset(); - temp2RECO->Reset(); - -} - -void UEAnalysisUE::writeToFile(TFile * file){ - file->Write(); -} diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.h b/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.h deleted file mode 100644 index 5787098413d36..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisUE.h +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef UEAnalysisUE_h -#define UEAnalysisUE_h - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "UEAnalysisCorrCali.h" - -class UEAnalysisUE { - public : - - UEAnalysisUE(); - ~UEAnalysisUE(){} - - void ueAnalysisMC(float,std::string,float,float,TClonesArray*,TClonesArray*); - void ueAnalysisRECO(float,std::string,float,float,TClonesArray*,TClonesArray*); - - void Begin(TFile *); - - void writeToFile(TFile *); - - //Underlying Event analysis - TH1F* fHistPtDistMC; - TH1F* fHistEtaDistMC; - TH1F* fHistPhiDistMC; - - TProfile* pdN_vs_etaMC; - TProfile* pdN_vs_ptMC; - - TProfile* pdN_vs_dphiMC; - TProfile* pdPt_vs_dphiMC; - - // add histo on fluctuation in UE - TH2D* h2d_dN_vs_ptJTransMC; - - - TProfile* pdN_vs_ptJTransMC; - TProfile* pdN_vs_ptJTransMaxMC; - TProfile* pdN_vs_ptJTransMinMC; - TProfile* pdPt_vs_ptJTransMC; - TProfile* pdPt_vs_ptJTransMaxMC; - TProfile* pdPt_vs_ptJTransMinMC; - TProfile* pdN_vs_ptJTowardMC; - TProfile* pdN_vs_ptJAwayMC; - TProfile* pdPt_vs_ptJTowardMC; - TProfile* pdPt_vs_ptJAwayMC; - - TH1F* temp1MC; - TH1F* temp2MC; - TH1F* temp3MC; - TH1F* temp4MC; - - TH1F* fHistPtDistRECO; - TH1F* fHistEtaDistRECO; - TH1F* fHistPhiDistRECO; - - TProfile* pdN_vs_etaRECO; - TProfile* pdN_vs_ptRECO; - - TProfile* pdN_vs_dphiRECO; - TProfile* pdPt_vs_dphiRECO; - - TProfile* pdN_vs_ptJTransRECO; - TProfile* pdN_vs_ptJTransMaxRECO; - TProfile* pdN_vs_ptJTransMinRECO; - TProfile* pdPt_vs_ptJTransRECO; - TProfile* pdPt_vs_ptJTransMaxRECO; - TProfile* pdPt_vs_ptJTransMinRECO; - TProfile* pdN_vs_ptJTowardRECO; - TProfile* pdN_vs_ptJAwayRECO; - TProfile* pdPt_vs_ptJTowardRECO; - TProfile* pdPt_vs_ptJAwayRECO; - - TProfile* pdN_vs_ptCJTransRECO; - TProfile* pdN_vs_ptCJTransMaxRECO; - TProfile* pdN_vs_ptCJTransMinRECO; - TProfile* pdPt_vs_ptCJTransRECO; - TProfile* pdPt_vs_ptCJTransMaxRECO; - TProfile* pdPt_vs_ptCJTransMinRECO; - TProfile* pdN_vs_ptCJTowardRECO; - TProfile* pdN_vs_ptCJAwayRECO; - TProfile* pdPt_vs_ptCJTowardRECO; - TProfile* pdPt_vs_ptCJAwayRECO; - - TH1F* temp1RECO; - TH1F* temp2RECO; - TH1F* temp3RECO; - TH1F* temp4RECO; - - float piG; - - UEAnalysisCorrCali* cc; - -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.C b/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.C deleted file mode 100644 index 8bf89e2605b37..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.C +++ /dev/null @@ -1,23 +0,0 @@ -#include "UEAnalysisWeight.h" -#include -#include - -UEAnalysisWeight::UEAnalysisWeight() -{ - std::cout << "UEAnalysisWeight constructor " < UEAnalysisWeight::calculate(string tkPt, std::string trigger, float lumi) -{ - //This method will be filled once we start analyze the data -} - - -std::vector UEAnalysisWeight::calculate() -{ - for(int i=0;i<30;++i) - fakeTable.push_back(1.0); - return fakeTable; -} - diff --git a/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.h b/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.h deleted file mode 100644 index 4c2ca35a16603..0000000000000 --- a/QCDAnalysis/UEAnalysis/root/UEAnalysisWeight.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef UEAnalysisWeight_h -#define UEAnalysisWeight_h - -#include -#include -#include -#include - -class UEAnalysisWeight { - public : - - UEAnalysisWeight(); - ~UEAnalysisWeight(){} - std::vector calculate(std::string,std::string,float); - std::vector calculate(); - - private: - - std::vector fakeTable; - //Once we have access to teh date we have to define - //the relative table that we must use in order to merge - //toghether the differen stream - -}; - -#endif diff --git a/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducer.cc b/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducer.cc deleted file mode 100644 index 3f042e9b90b0f..0000000000000 --- a/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducer.cc +++ /dev/null @@ -1,365 +0,0 @@ -// Authors: F. Ambroglini, L. Fano' -#include -#include "FWCore/Common/interface/TriggerNames.h" - -using namespace edm; -using namespace std; -using namespace reco; - -class GreaterPt { -public: - bool operator()(const math::XYZTLorentzVector& a, const math::XYZTLorentzVector& b) { return a.pt() > b.pt(); } -}; - -class GenJetSort { -public: - bool operator()(const GenJet& a, const GenJet& b) { return a.pt() > b.pt(); } -}; - -class BasicJetSort { -public: - bool operator()(const BasicJet& a, const BasicJet& b) { return a.pt() > b.pt(); } -}; - -class CaloJetSort { -public: - bool operator()(const CaloJet& a, const CaloJet& b) { return a.pt() > b.pt(); } -}; - -void AnalysisRootpleProducer::store() { - AnalysisTree->Fill(); - - NumberMCParticles = 0; - NumberTracks = 0; - NumberInclusiveJet = 0; - NumberChargedJet = 0; - NumberTracksJet = 0; - NumberCaloJet = 0; -} - -void AnalysisRootpleProducer::fillEventInfo(int e) { EventKind = e; } - -void AnalysisRootpleProducer::fillMCParticles(float p, float pt, float eta, float phi) { - MomentumMC[NumberMCParticles] = p; - TransverseMomentumMC[NumberMCParticles] = pt; - EtaMC[NumberMCParticles] = eta; - PhiMC[NumberMCParticles] = phi; - NumberMCParticles++; -} - -void AnalysisRootpleProducer::fillTracks(float p, float pt, float eta, float phi) { - MomentumTK[NumberTracks] = p; - TransverseMomentumTK[NumberTracks] = pt; - EtaTK[NumberTracks] = eta; - PhiTK[NumberTracks] = phi; - NumberTracks++; -} - -void AnalysisRootpleProducer::fillInclusiveJet(float p, float pt, float eta, float phi) { - MomentumIJ[NumberInclusiveJet] = p; - TransverseMomentumIJ[NumberInclusiveJet] = pt; - EtaIJ[NumberInclusiveJet] = eta; - PhiIJ[NumberInclusiveJet] = phi; - NumberInclusiveJet++; -} - -void AnalysisRootpleProducer::fillChargedJet(float p, float pt, float eta, float phi) { - MomentumCJ[NumberChargedJet] = p; - TransverseMomentumCJ[NumberChargedJet] = pt; - EtaCJ[NumberChargedJet] = eta; - PhiCJ[NumberChargedJet] = phi; - NumberChargedJet++; -} - -void AnalysisRootpleProducer::fillTracksJet(float p, float pt, float eta, float phi) { - MomentumTJ[NumberTracksJet] = p; - TransverseMomentumTJ[NumberTracksJet] = pt; - EtaTJ[NumberTracksJet] = eta; - PhiTJ[NumberTracksJet] = phi; - NumberTracksJet++; -} - -void AnalysisRootpleProducer::fillCaloJet(float p, float pt, float eta, float phi) { - MomentumEHJ[NumberCaloJet] = p; - TransverseMomentumEHJ[NumberCaloJet] = pt; - EtaEHJ[NumberCaloJet] = eta; - PhiEHJ[NumberCaloJet] = phi; - NumberCaloJet++; -} - -AnalysisRootpleProducer::AnalysisRootpleProducer(const ParameterSet& pset) { - // flag to ignore gen-level analysis - onlyRECO = pset.getUntrackedParameter("OnlyRECO", false); - - // particle, track and jet collections - mcEventToken = mayConsume(pset.getUntrackedParameter("MCEvent", std::string(""))); - genJetCollToken = - mayConsume(pset.getUntrackedParameter("GenJetCollectionName", std::string(""))); - chgJetCollToken = mayConsume( - pset.getUntrackedParameter("ChgGenJetCollectionName", std::string(""))); - tracksJetCollToken = consumes( - pset.getUntrackedParameter("TracksJetCollectionName", std::string(""))); - recoCaloJetCollToken = consumes( - pset.getUntrackedParameter("RecoCaloJetCollectionName", std::string(""))); - chgGenPartCollToken = mayConsume >( - pset.getUntrackedParameter("ChgGenPartCollectionName", std::string(""))); - tracksCollToken = consumes( - pset.getUntrackedParameter("TracksCollectionName", std::string(""))); - - // trigger results - triggerResultsToken = consumes(pset.getParameter("triggerResults")); - // hltFilterTag = pset.getParameter("hltFilter"); - // triggerName = pset.getParameter("triggerName"); - - piG = acos(-1.); - NumberMCParticles = 0; - NumberTracks = 0; - NumberInclusiveJet = 0; - NumberChargedJet = 0; - NumberTracksJet = 0; - NumberCaloJet = 0; -} - -void AnalysisRootpleProducer::beginJob() { - // use TFileService for output to root file - AnalysisTree = fs->make("AnalysisTree", "MBUE Analysis Tree "); - - AnalysisTree->Branch("EventKind", &EventKind, "EventKind/I"); - - // store p, pt, eta, phi for particles and jets - - // GenParticles at hadron level - AnalysisTree->Branch("NumberMCParticles", &NumberMCParticles, "NumberMCParticles/I"); - AnalysisTree->Branch("MomentumMC", MomentumMC, "MomentumMC[NumberMCParticles]/F"); - AnalysisTree->Branch("TransverseMomentumMC", TransverseMomentumMC, "TransverseMomentumMC[NumberMCParticles]/F"); - AnalysisTree->Branch("EtaMC", EtaMC, "EtaMC[NumberMCParticles]/F"); - AnalysisTree->Branch("PhiMC", PhiMC, "PhiMC[NumberMCParticles]/F"); - - // tracks - AnalysisTree->Branch("NumberTracks", &NumberTracks, "NumberTracks/I"); - AnalysisTree->Branch("MomentumTK", MomentumTK, "MomentumTK[NumberTracks]/F"); - AnalysisTree->Branch("TrasverseMomentumTK", TransverseMomentumTK, "TransverseMomentumTK[NumberTracks]/F"); - AnalysisTree->Branch("EtaTK", EtaTK, "EtaTK[NumberTracks]/F"); - AnalysisTree->Branch("PhiTK", PhiTK, "PhiTK[NumberTracks]/F"); - - // GenJets - AnalysisTree->Branch("NumberInclusiveJet", &NumberInclusiveJet, "NumberInclusiveJet/I"); - AnalysisTree->Branch("MomentumIJ", MomentumIJ, "MomentumIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("TrasverseMomentumIJ", TransverseMomentumIJ, "TransverseMomentumIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("EtaIJ", EtaIJ, "EtaIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("PhiIJ", PhiIJ, "PhiIJ[NumberInclusiveJet]/F"); - - // jets from charged GenParticles - AnalysisTree->Branch("NumberChargedJet", &NumberChargedJet, "NumberChargedJet/I"); - AnalysisTree->Branch("MomentumCJ", MomentumCJ, "MomentumCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("TrasverseMomentumCJ", TransverseMomentumCJ, "TransverseMomentumCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("EtaCJ", EtaCJ, "EtaCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("PhiCJ", PhiCJ, "PhiCJ[NumberChargedJet]/F"); - - // jets from tracks - AnalysisTree->Branch("NumberTracksJet", &NumberTracksJet, "NumberTracksJet/I"); - AnalysisTree->Branch("MomentumTJ", MomentumTJ, "MomentumTJ[NumberTracksJet]/F"); - AnalysisTree->Branch("TrasverseMomentumTJ", TransverseMomentumTJ, "TransverseMomentumTJ[NumberTracksJet]/F"); - AnalysisTree->Branch("EtaTJ", EtaTJ, "EtaTJ[NumberTracksJet]/F"); - AnalysisTree->Branch("PhiTJ", PhiTJ, "PhiTJ[NumberTracksJet]/F"); - - // jets from calorimeter towers - AnalysisTree->Branch("NumberCaloJet", &NumberCaloJet, "NumberCaloJet/I"); - AnalysisTree->Branch("MomentumEHJ", MomentumEHJ, "MomentumEHJ[NumberCaloJet]/F"); - AnalysisTree->Branch("TrasverseMomentumEHJ", TransverseMomentumEHJ, "TransverseMomentumEHJ[NumberCaloJet]/F"); - AnalysisTree->Branch("EtaEHJ", EtaEHJ, "EtaEHJ[NumberCaloJet]/F"); - AnalysisTree->Branch("PhiEHJ", PhiEHJ, "PhiEHJ[NumberCaloJet]/F"); - - // alternative storage method: - // save TClonesArrays of TLorentzVectors - // i.e. store 4-vectors of particles and jets - - MonteCarlo = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("MonteCarlo", "TClonesArray", &MonteCarlo, 128000, 0); - - Track = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("Track", "TClonesArray", &Track, 128000, 0); - - InclusiveJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("InclusiveJet", "TClonesArray", &InclusiveJet, 128000, 0); - - ChargedJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("ChargedJet", "TClonesArray", &ChargedJet, 128000, 0); - - TracksJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("TracksJet", "TClonesArray", &TracksJet, 128000, 0); - - CalorimeterJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("CalorimeterJet", "TClonesArray", &CalorimeterJet, 128000, 0); - - acceptedTriggers = new TClonesArray("TObjString", 10000); - AnalysisTree->Branch("acceptedTriggers", "TClonesArray", &acceptedTriggers, 128000, 0); -} - -void AnalysisRootpleProducer::analyze(const Event& e, const EventSetup&) { - e.getByToken(triggerResultsToken, triggerResults); - const edm::TriggerNames& triggerNames = e.triggerNames(*triggerResults); - - acceptedTriggers->Clear(); - unsigned int iAcceptedTriggers(0); - if (triggerResults.product()->wasrun()) { - //cout << "at least one path out of " << triggerResults.product()->size() << " ran? " << triggerResults.product()->wasrun() << endl; - - if (triggerResults.product()->accept()) { - //cout << endl << "at least one path accepted? " << triggerResults.product()->accept() << endl; - - const unsigned int n_TriggerResults(triggerResults.product()->size()); - for (unsigned int itrig(0); itrig < n_TriggerResults; ++itrig) { - if (triggerResults.product()->accept(itrig)) { - //cout << "path " << triggerNames.triggerName( itrig ); - //cout << ", module index " << triggerResults.product()->index( itrig ); - //cout << ", state (Ready = 0, Pass = 1, Fail = 2, Exception = 3) " << triggerResults.product()->state( itrig ); - //cout << ", accept " << triggerResults.product()->accept( itrig ); - //cout << endl; - - // save name of accepted trigger path - new ((*acceptedTriggers)[iAcceptedTriggers]) TObjString((triggerNames.triggerName(itrig)).c_str()); - ++iAcceptedTriggers; - } - } - } - } - - // gen level analysis - // skipped, if onlyRECO flag set to true - - if (!onlyRECO) { - e.getByToken(mcEventToken, EvtHandle); - e.getByToken(chgGenPartCollToken, CandHandleMC); - e.getByToken(chgJetCollToken, ChgGenJetsHandle); - e.getByToken(genJetCollToken, GenJetsHandle); - - const HepMC::GenEvent* Evt = EvtHandle->GetEvent(); - - EventKind = Evt->signal_process_id(); - - std::vector GenPart; - std::vector ChgGenJetContainer; - std::vector GenJetContainer; - - GenPart.clear(); - ChgGenJetContainer.clear(); - GenJetContainer.clear(); - MonteCarlo->Clear(); - InclusiveJet->Clear(); - ChargedJet->Clear(); - - // jets from charged particles at hadron level - if (!ChgGenJetsHandle->empty()) { - for (GenJetCollection::const_iterator it(ChgGenJetsHandle->begin()), itEnd(ChgGenJetsHandle->end()); it != itEnd; - ++it) { - ChgGenJetContainer.push_back(*it); - } - - std::stable_sort(ChgGenJetContainer.begin(), ChgGenJetContainer.end(), GenJetSort()); - - std::vector::const_iterator it(ChgGenJetContainer.begin()), itEnd(ChgGenJetContainer.end()); - for (int iChargedJet(0); it != itEnd; ++it, ++iChargedJet) { - fillChargedJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*ChargedJet)[iChargedJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - // GenJets - if (!GenJetsHandle->empty()) { - for (GenJetCollection::const_iterator it(GenJetsHandle->begin()), itEnd(GenJetsHandle->end()); it != itEnd; - ++it) { - GenJetContainer.push_back(*it); - } - - std::stable_sort(GenJetContainer.begin(), GenJetContainer.end(), GenJetSort()); - - std::vector::const_iterator it(GenJetContainer.begin()), itEnd(GenJetContainer.end()); - for (int iInclusiveJet(0); it != itEnd; ++it, ++iInclusiveJet) { - fillInclusiveJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*InclusiveJet)[iInclusiveJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - // hadron level particles - if (!CandHandleMC->empty()) { - for (vector::const_iterator it(CandHandleMC->begin()), itEnd(CandHandleMC->end()); it != itEnd; - it++) { - GenPart.push_back(it->p4()); - } - - std::stable_sort(GenPart.begin(), GenPart.end(), GreaterPt()); - - std::vector::const_iterator it(GenPart.begin()), itEnd(GenPart.end()); - for (int iMonteCarlo(0); it != itEnd; ++it, ++iMonteCarlo) { - fillMCParticles(it->P(), it->Pt(), it->Eta(), it->Phi()); - new ((*MonteCarlo)[iMonteCarlo]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E()); - } - } - } - - // reco level analysis - - e.getByToken(tracksCollToken, CandHandleRECO); - e.getByToken(recoCaloJetCollToken, RecoCaloJetsHandle); - e.getByToken(tracksJetCollToken, TracksJetsHandle); - - std::vector Tracks; - std::vector TracksJetContainer; - std::vector RecoCaloJetContainer; - - Tracks.clear(); - TracksJetContainer.clear(); - RecoCaloJetContainer.clear(); - - Track->Clear(); - TracksJet->Clear(); - CalorimeterJet->Clear(); - - if (!RecoCaloJetsHandle->empty()) { - for (CaloJetCollection::const_iterator it(RecoCaloJetsHandle->begin()), itEnd(RecoCaloJetsHandle->end()); - it != itEnd; - ++it) { - RecoCaloJetContainer.push_back(*it); - } - std::stable_sort(RecoCaloJetContainer.begin(), RecoCaloJetContainer.end(), CaloJetSort()); - - std::vector::const_iterator it(RecoCaloJetContainer.begin()), itEnd(RecoCaloJetContainer.end()); - for (int iCalorimeterJet(0); it != itEnd; ++it, ++iCalorimeterJet) { - fillCaloJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*CalorimeterJet)[iCalorimeterJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - if (!TracksJetsHandle->empty()) { - for (BasicJetCollection::const_iterator it(TracksJetsHandle->begin()), itEnd(TracksJetsHandle->end()); it != itEnd; - ++it) { - TracksJetContainer.push_back(*it); - } - std::stable_sort(TracksJetContainer.begin(), TracksJetContainer.end(), BasicJetSort()); - - std::vector::const_iterator it(TracksJetContainer.begin()), itEnd(TracksJetContainer.end()); - for (int iTracksJet(0); it != itEnd; ++it, ++iTracksJet) { - fillTracksJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*TracksJet)[iTracksJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - if (!CandHandleRECO->empty()) { - for (CandidateCollection::const_iterator it(CandHandleRECO->begin()), itEnd(CandHandleRECO->end()); it != itEnd; - ++it) { - Tracks.push_back(it->p4()); - } - std::stable_sort(Tracks.begin(), Tracks.end(), GreaterPt()); - - std::vector::const_iterator it(Tracks.begin()), itEnd(Tracks.end()); - for (int iTracks(0); it != itEnd; ++it, ++iTracks) { - fillTracks(it->P(), it->Pt(), it->Eta(), it->Phi()); - new ((*Track)[iTracks]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E()); - } - } - - store(); -} - -void AnalysisRootpleProducer::endJob() {} diff --git a/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducerOnlyMC.cc b/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducerOnlyMC.cc deleted file mode 100644 index 59c0ac3330e28..0000000000000 --- a/QCDAnalysis/UEAnalysis/src/AnalysisRootpleProducerOnlyMC.cc +++ /dev/null @@ -1,179 +0,0 @@ -// Authors: F. Ambroglini, L. Fano' -#include - -using namespace edm; -using namespace std; -using namespace reco; - -class GreaterPt { -public: - bool operator()(const math::XYZTLorentzVector& a, const math::XYZTLorentzVector& b) { return a.pt() > b.pt(); } -}; - -class GenJetSort { -public: - bool operator()(const GenJet& a, const GenJet& b) { return a.pt() > b.pt(); } -}; - -void AnalysisRootpleProducerOnlyMC::store() { - AnalysisTree->Fill(); - - NumberMCParticles = 0; - NumberInclusiveJet = 0; - NumberChargedJet = 0; -} - -void AnalysisRootpleProducerOnlyMC::fillEventInfo(int e) { EventKind = e; } - -void AnalysisRootpleProducerOnlyMC::fillMCParticles(float p, float pt, float eta, float phi) { - MomentumMC[NumberMCParticles] = p; - TransverseMomentumMC[NumberMCParticles] = pt; - EtaMC[NumberMCParticles] = eta; - PhiMC[NumberMCParticles] = phi; - NumberMCParticles++; -} - -void AnalysisRootpleProducerOnlyMC::fillInclusiveJet(float p, float pt, float eta, float phi) { - MomentumIJ[NumberInclusiveJet] = p; - TransverseMomentumIJ[NumberInclusiveJet] = pt; - EtaIJ[NumberInclusiveJet] = eta; - PhiIJ[NumberInclusiveJet] = phi; - NumberInclusiveJet++; -} - -void AnalysisRootpleProducerOnlyMC::fillChargedJet(float p, float pt, float eta, float phi) { - MomentumCJ[NumberChargedJet] = p; - TransverseMomentumCJ[NumberChargedJet] = pt; - EtaCJ[NumberChargedJet] = eta; - PhiCJ[NumberChargedJet] = phi; - NumberChargedJet++; -} - -AnalysisRootpleProducerOnlyMC::AnalysisRootpleProducerOnlyMC(const ParameterSet& pset) { - mcEventToken = consumes(pset.getUntrackedParameter("MCEvent", std::string(""))); - genJetCollToken = - consumes(pset.getUntrackedParameter("GenJetCollectionName", std::string(""))); - chgJetCollToken = consumes( - pset.getUntrackedParameter("ChgGenJetCollectionName", std::string(""))); - chgGenPartCollToken = consumes >( - pset.getUntrackedParameter("ChgGenPartCollectionName", std::string(""))); - - piG = acos(-1.); - NumberMCParticles = 0; - NumberInclusiveJet = 0; - NumberChargedJet = 0; -} - -void AnalysisRootpleProducerOnlyMC::beginJob() { - // use TFileService for output to root file - AnalysisTree = fs->make("AnalysisTree", "MBUE Analysis Tree "); - - // process type - AnalysisTree->Branch("EventKind", &EventKind, "EventKind/I"); - - // store p, pt, eta, phi for particles and jets - - // GenParticles at hadron level - AnalysisTree->Branch("NumberMCParticles", &NumberMCParticles, "NumberMCParticles/I"); - AnalysisTree->Branch("MomentumMC", MomentumMC, "MomentumMC[NumberMCParticles]/F"); - AnalysisTree->Branch("TransverseMomentumMC", TransverseMomentumMC, "TransverseMomentumMC[NumberMCParticles]/F"); - AnalysisTree->Branch("EtaMC", EtaMC, "EtaMC[NumberMCParticles]/F"); - AnalysisTree->Branch("PhiMC", PhiMC, "PhiMC[NumberMCParticles]/F"); - - // GenJets - AnalysisTree->Branch("NumberInclusiveJet", &NumberInclusiveJet, "NumberInclusiveJet/I"); - AnalysisTree->Branch("MomentumIJ", MomentumIJ, "MomentumIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("TrasverseMomentumIJ", TransverseMomentumIJ, "TransverseMomentumIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("EtaIJ", EtaIJ, "EtaIJ[NumberInclusiveJet]/F"); - AnalysisTree->Branch("PhiIJ", PhiIJ, "PhiIJ[NumberInclusiveJet]/F"); - - // jets from charged GenParticles - AnalysisTree->Branch("NumberChargedJet", &NumberChargedJet, "NumberChargedJet/I"); - AnalysisTree->Branch("MomentumCJ", MomentumCJ, "MomentumCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("TrasverseMomentumCJ", TransverseMomentumCJ, "TransverseMomentumCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("EtaCJ", EtaCJ, "EtaCJ[NumberChargedJet]/F"); - AnalysisTree->Branch("PhiCJ", PhiCJ, "PhiCJ[NumberChargedJet]/F"); - - // alternative storage method: - // save TClonesArrays of TLorentzVectors - // i.e. store 4-vectors of particles and jets - - MonteCarlo = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("MonteCarlo", "TClonesArray", &MonteCarlo, 128000, 0); - - InclusiveJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("InclusiveJet", "TClonesArray", &InclusiveJet, 128000, 0); - - ChargedJet = new TClonesArray("TLorentzVector", 10000); - AnalysisTree->Branch("ChargedJet", "TClonesArray", &ChargedJet, 128000, 0); -} - -void AnalysisRootpleProducerOnlyMC::analyze(const Event& e, const EventSetup&) { - e.getByToken(mcEventToken, EvtHandle); - e.getByToken(chgGenPartCollToken, CandHandleMC); - e.getByToken(chgJetCollToken, ChgGenJetsHandle); - e.getByToken(genJetCollToken, GenJetsHandle); - - const HepMC::GenEvent* Evt = EvtHandle->GetEvent(); - - EventKind = Evt->signal_process_id(); - - std::vector GenPart; - std::vector ChgGenJetContainer; - std::vector GenJetContainer; - - GenPart.clear(); - ChgGenJetContainer.clear(); - GenJetContainer.clear(); - - ChargedJet->Clear(); - InclusiveJet->Clear(); - MonteCarlo->Clear(); - - if (!ChgGenJetsHandle->empty()) { - for (GenJetCollection::const_iterator it(ChgGenJetsHandle->begin()), itEnd(ChgGenJetsHandle->end()); it != itEnd; - ++it) { - ChgGenJetContainer.push_back(*it); - } - - std::stable_sort(ChgGenJetContainer.begin(), ChgGenJetContainer.end(), GenJetSort()); - - std::vector::const_iterator it(ChgGenJetContainer.begin()), itEnd(ChgGenJetContainer.end()); - for (int iChargedJet(0); it != itEnd; ++it, ++iChargedJet) { - fillChargedJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*ChargedJet)[iChargedJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - if (!GenJetsHandle->empty()) { - for (GenJetCollection::const_iterator it(GenJetsHandle->begin()), itEnd(GenJetsHandle->end()); it != itEnd; ++it) { - GenJetContainer.push_back(*it); - } - - std::stable_sort(GenJetContainer.begin(), GenJetContainer.end(), GenJetSort()); - - std::vector::const_iterator it(GenJetContainer.begin()), itEnd(GenJetContainer.end()); - for (int iInclusiveJet(0); it != itEnd; ++it, ++iInclusiveJet) { - fillInclusiveJet(it->p(), it->pt(), it->eta(), it->phi()); - new ((*InclusiveJet)[iInclusiveJet]) TLorentzVector(it->px(), it->py(), it->pz(), it->energy()); - } - } - - if (!CandHandleMC->empty()) { - for (vector::const_iterator it(CandHandleMC->begin()), itEnd(CandHandleMC->end()); it != itEnd; it++) { - GenPart.push_back(it->p4()); - } - - std::stable_sort(GenPart.begin(), GenPart.end(), GreaterPt()); - - std::vector::const_iterator it(GenPart.begin()), itEnd(GenPart.end()); - for (int iMonteCarlo(0); it != itEnd; ++it, ++iMonteCarlo) { - fillMCParticles(it->P(), it->Pt(), it->Eta(), it->Phi()); - new ((*MonteCarlo)[iMonteCarlo]) TLorentzVector(it->Px(), it->Py(), it->Pz(), it->E()); - } - } - - store(); -} - -void AnalysisRootpleProducerOnlyMC::endJob() {} diff --git a/QCDAnalysis/UEAnalysis/src/SealModule.cc b/QCDAnalysis/UEAnalysis/src/SealModule.cc deleted file mode 100644 index 30f7ba663a232..0000000000000 --- a/QCDAnalysis/UEAnalysis/src/SealModule.cc +++ /dev/null @@ -1,8 +0,0 @@ -#include "FWCore/PluginManager/interface/ModuleDef.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducer.h" -#include "QCDAnalysis/UEAnalysis/interface/AnalysisRootpleProducerOnlyMC.h" - -DEFINE_FWK_MODULE(AnalysisRootpleProducer); -DEFINE_FWK_MODULE(AnalysisRootpleProducerOnlyMC); diff --git a/SUSYBSMAnalysis/HSCP/BuildFile.xml b/SUSYBSMAnalysis/HSCP/BuildFile.xml deleted file mode 100644 index b95183c1fbe2b..0000000000000 --- a/SUSYBSMAnalysis/HSCP/BuildFile.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/SUSYBSMAnalysis/HSCP/data/Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db b/SUSYBSMAnalysis/HSCP/data/Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db deleted file mode 100644 index 548874cf0d90235690614417b051f94b5e5ec4b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074176 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%0Dfg_TQG?_TQ1-@!yr+_0LFW{P(2y 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 z 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 diff --git a/SUSYBSMAnalysis/HSCP/data/MC7TeVGains.root b/SUSYBSMAnalysis/HSCP/data/MC7TeVGains.root deleted file mode 100644 index e7f004f2bdf18ee24d4e97cb844f0db797f96153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2631340 zcma%hWl&r}7v-Q69D+N61cFO~+ay>BBtUR?2<|#)Ah-l~*8suY9RdV*8+-`v!^|+S z`M%n%+WoP$+f}FfzIylc>G!JZRM+ixb#ihC0LBji0DuMHHEY#Bc>arp{sHYDL@@sw zyr#ea0EpcHXll135g4T;TR~`(vr&=V=l|aRe>Hc&e+K#>O^R*^;QH^#7XRU4X~^5y zTjDC1+BmxLxc+A<|9cF;`cM8p82w9i`UjDJ_%9FenmqacIT`SOH6{M5Dg9r~<^S+; zHDqmEEzRAXTz&A>ZPeXeZJcFH?QP8dkB9$5y67KG`XByF2fQY`{3m^Pc=dn(519G? zk$#>2UunMoNTaF$hmWP9;c96Ke5b1QpD+Gjy`J(jYfM1;Yk)V}Y35WsnHFpS_`iXeA*B5#dC} zx)`&ash~(S{I72l@T|RWD>_=hEtNSIim!@0gbZ)nE1RJn{#X9Di16O-DL$SchuXvV zD2(K&8sW*@uWcLoC6CWxb5!*Tdmo@q^<%aBmpDXE`mATeVfMGMN5tQ&*0&)-bQ-N* zGAk+?-+MQOL@Dk^Mp{PodfWZ;#tfR4j*JdRQO10%LDnmVH1EdJw#*%by2nNm~#?Bquh>VzY5 z6%v$K@L^(uMdG0-{fs%oSPM=B!+v6u?4bqMxSF2g>$IGG11X z!Hj12dV$*(fxVwH`f+c$r-gD#6|;|@HGZnhC{k9pF50E|`X;F_`f?caRPT^`)d4^L49}FD^`Qm>xXT^)A4gkGb+=Z0X$ez&^}9 zVk(p<&F*TuK57?el0*;Qo^W)-l53IuRT>c^VH+3itMK-DDoxj2_;XiLKIPc}V+HW! zz~pYIbtYC$qXF)JnKC5*%K()vcU@+X89)W+(Jer>X?c4IC-R^GIRkU zO>}9Io;%`ggpLQRiE_sbUA^e87vnZ>LpZW1?gcNE^aec_wZ64*BUy>q(MdvGgnPby zk@nZTUF9EygLXK353Tb3NSE))FYeiH&O9iV8|jxHct6dz^v)Th>q`T3kyOjwfX)kw zS~v9NCdTCkf@Sdo6??O5z^k)Ae*geCQj8M-z_0ed{`B#mGyS(=UH{L(0;uuc)XmP) z9rJ&;DF8YE;QybDX8-_E>OVRH@Xxt=T>-Uz|D4Oh&qgHGZeA#o*(R~z`S0`>GM3F8 z0%Sk&320;wUdkMNkS%>q@-gf~A@Pf-t{AR{b4!FsOJOY$H(2bL}9Y z+U}PJ;c+M0%t@*n%9>PlZ?O)P$|ZocUd zLTeh-Db}|jE-y#V!`R~FD-y49Ebe54*AuXt{y}-@XAx-8?Lkds zj3{&%RZ>&ogicTaw|~qAoqi>)uOS{eZ-K_!1hA{xW+=3o2?Vdu+=YD@e%joWsOi}g zR+ZzVf{8N+BXXY}8ob%~TCx)^wtWcqR+t8QyuyQDB&${VaS)Y%Tg-_rtO{PYer@+A z2R+$EO3C{ruKXS5__@>|nliUEEBgV)U?gL-ao{D|L0@*7*)YDzWBLaPJ}xZ$a|LE> z^*#_z30t>qG?rOE6G9@5qt^RP{H@?5z%K28TGA(wDJq;S>bYOg(bVH$clon)P5aBG zvo4_4a9y%iB{^tR!7VZc7hrB4P!Nh45Xb$6<(um#P<8s5SZW9)&CBA0au-4Q>S-U? zk2@H?Z9xd1WOyC2W4YF1j9n^olVHWpp3l~LV!yW&bR>YgI68sh%eAAY^kkin-To%^ zOc!sjD{U@wB^N~2zV4&WfgVaDnJ#XH!4*80yZ9RtoL!Tmd-g;Yk-j) z_zUf5w4mfbMG9>Q;t{%bj}{ZUAVo8-8Jp<4fDck!ZDgblebyT zxsIz0;!k+g1NY&it5~W?|+hv27&}00=DeGqyIRD zd2R66qPOoir&?$N_?+w&1Ct+UsCZ%}X2H~;$%{d*1PZ{> ziXZygM5tDvmM`jt(bA8HX>MiHds|PRppkQQwPt;&{S@r{#X62zZn>aUNDV~ykv8J* zkBqVX*aXWW3WaHvlxpEnys;gdZs;?G^_D9#|c^t<6&s**3V7&6* zlG$B$F+qA(8CIJ{Xc|tL3+K~PC)Ws$tfDKBQ!HnLfHeM13p>lgJv-BQs=Sw(5FPDc=%Z5zLj(AycR=aAD9T zV?d^^Y`W)NDF9`*WFmSJuOFx)PG{8a;{8z)98>XU(m3+^y`l(+*D_Xz@j8% zAu8#3+i9nuGCZ3+i2pB}+k7nA;Ls<3;4aYALa-%EDITA=JeC8-B{D?B{oC-96fGCW#zQhyK95pR_BMrapFJyQ=5IhgOiFxQn5A+Ab{D zUU11eg_lVb{>Z1mheu-++jyKOhTt&+oaKUE)uu0R1J@$R_flRxpoxI^A#Z8)*btlI z_#!OJh5Q~)jdawTN9VNZ`bk>@td-cj>C)+7I8re0dYA_cTRVPIx+DrxY8! z_=dewz&CiRL2WE_5}V`TYnHn%DPN7VETP{)Fv%@>Dec&mOF$*Jp#UGgGHT0>Q`#R5 zyWyvDWk#g;06SZG&I|!Mg5(K%^@m||Q2Sa>Knf-H&FAiOtv5RH z@tjG9GAFg4=cVN6dwm^5{v-;Jqwk=e2d6t`lm1><3!w7>-dr7Is?=qI_BZ^0?gc>w zm_Akbt%gCrI@B3cL;E_+^M1A22J0ZE77%d#{NufOKP?z~*Xf66HEFy%TfaA$10q4X zR)nmy_2xYvXxm1q@p8io+g1YH>fpfuK={G?k%^jfNb-h zS!~9uoxtIetES6R`Q8&lSoCr?gZ$#}l+pHLbZVEi_PI=)!MbrxhYsuDW%j52cWiiv zL#5!hipy(jwy(ZYeQ=s~h;PdWR@FLjL&A3R9*=A*j_@-XzfPYV)B!qif`DcPa0xKi zYw*69Y6@&~Up?~KW`WR6@o#iIb4mtcC7h zW{ER(Yz4euf&mWBuUDuN~ zxS5-5gPG}O+VaTl*FB!sd|PV_9PV<`w&S1)x*YcSyFTw}A~AjGA{HlMJtMzM^+{p` zFVJKO>)Ya{g>Pd@6QvczP!l7h9 zHQ(LuHXRcl@|bp`dkP(>A}v4q@t^M-%j3Xv>y2FKlTj0Z{eZsK?3hp0jHa!|78xx1 zwW9SCz$el61~rvx2HH5zJ6;$@P(F#yy!K#B2kI~qE~-3@Olc|CLjmgin+tk|6cKM| z!&bshgW7ISZF3#sO+`*?^ZI32RUbJc2kK}qp`zo^2YCbK6}R&9kk`aWpe(l(^X9qq z@zuGS@Q*65xR05ml!i-#c(~gJ9uRL$L^b=5ny|d&(NT0=cP`{U*eQP&f>`4pyg0sr zW#W$PxRJk(IBG&~;yCi}3-@D!@%$Cl)&qp92DJ{H$AeNDoIH(#uhp1Dw!cLKi7}Mx z^rDmQ;n^C{)CIt`o!fna#U8(*Qp`>ZJ|M?So%z5PeW(367SB2Z1k=ive$n;(aH&J8 zB0K{P4sRX4j;0KrJksQuTLsE?5AK&F7zaBdTh^^_cy_jCK5{BiGi5zTNC%z*eJyjQ zGo$#JjEy}mSzIQusC>(~zl3f-E9yV3Yv;S#)lfuw;V~H`eO7k&!sudi*doV(7U3Iz zC0g=g62d?FP3TH>1CK zZ#7h__4cYSrWjAVuG{aGX#9R{&MGqk|{`*IgF>6@@~u>gTr9zap4}cz<}$ErD^Ga9L*x5QzeevH;4x?Z# zjcb7}kxPk1WM%9oa22Zmm;;O$|BHsxFB+lpTX-MyvqYb0Xg+x6!VSVJ+_8vn2c6@&hW2FYYJ=>hfawVYRWd0olId=X$ zQ!O>a1Hxx>`syc&y_c5Yv<+iPV5F4K)}h0hIQEjV(K5tLH0~IFAB%b9oQ_H<6Cqlx z*qjs`XzS8v_8qIBEr&QtC`$GOl{j}o8xpbkaJ+VxvqWH=l#(~MH9*^TnmwZ3g=vEvv9Tc+Ly*quML7`=cYJza}pgrW7 z?)-Pirb2Y40Yq+*>8kBE+M$u^!Vj`TNw!N?f%a5pIxKsiU(IRcBN zU{n*fkKxBDD+|_XM*f@^7Nnwf=DS!uA&P+nkLOzDOZ}?!okucZT*_)|E1cp^mPs@; z6)*;yoLPW5LdAA6b1zggxMH5sICn67#5_okIQ*$4xt9}vmfM~|RAn?CDzI+|nrv3t ze3psn+ao8FYW-}w?_JUAw-k`eeAoI@Ki#vWxz&Z!(UES7Cl9*{V7-NJiW2tK56*#r zNcpUw2@l2BnaTsm&9;Xwik*}Ci2I-kB~Yg(3*!u+vA4Z|Hxm-|*x}|phcnQF6@vC-H z@cD;~3Z0IYw^zIV{(X7m!3k6yUiwb7d`4>}h!hr;);ot!s}5i$vCJl(7W5<9gN&n3 z-JrS^iAQpJ!oAZ#Hy6#LUM}xlq01qh*O3NoP2;sh1E&&i1M)Cud5;QyW=rs0NqsHF z+j7G*==|y`fqMw_XXW0)viLbQBcl*!wjtWxF3ug*uCF`34;9QW0>(EP%18y8J(|v& zX4e#2Cj1f`4KdjKi|;3EWM7C5mG=m~tPeaNrrOh#J~IjG#aHY!aI8<|4CJvLJg>-Ub9YjZ#|w zf*~9KVZCy$CintJ6KZ=b>rX>-HIRxk@!_&=KjVx~f|5}4lme7m3H^2J3GBB#J*x=x z0VxapU1ofPF6C9}B_a(!b1Rd!ZflOjFtPS0{l+;a2cKZuY3PWaGr! z87CLqiAKhOo*G)lNB58D5pQQk^m!v$Y7E&FxGXS!D!H?zun?`%Oi$3=W08U7Y=UU- z3IZT;L+qEmtp;Nndmu^bONW_J#yzzf9oH%8VWOB8D-Q$N zb&fqrrby$OS6@00;2!zfWSmg88i3wcC!a;96DaiCD>N215VT3MD~H z>8(ycqmvU@cmm=4%*Vj^Bsv_Yg5nCC7x9c2pw4~Fm6c@Pqg=k zKYV!H-DbpU?-gk1K{uG{=a!d@&mMzRoh^H7?$w0sR zj;Jb5CwlZ>&d|3}yKj575c-yv9gStPsq@7nF)?iyF40e|9sh%=Jx2=}NtbNN`$;jX z&0627mMRV^_EN8- z=j^+ilU<;w!POd#cT%jaLbvJYv<`4=2Oq1JOC{Nd2{b1CKUKP^1WA#Nyz0O|etj_8xIubD@Z`QI`|}U_ zb#9DPCzyLOSk9{^zenDIQRvs=`@FtN_4_oeyK#b)iy9vhVE@wR`}19FW`!@3<}k{e zcV-+~#~MSd?@$ne}w3#-C>)x0Nt{J}~`6 zUbEeaAck97zlLH;?`*L=>OpKwUX6+F(E`yt&NK(o8F#pa*^t8_fx&dwx{LlaKKT}n zXbDQ_3-xcLc7GCVj_(Fu%Z!TGc=R}Whh0biG&O*l;hF!YV=o=(2x^@%B%AzAr2IGc zak1pyr$=jvNJ9`nZNy=066@bkb90-sJ2WcH%Io?B%2nI^lH%jeP+rALUuJdxW6H71 z)pbRY>QU!--oJq)-2ydQ!dvr^7X8M57&;zKv1PV} zrT{8GKzBD@)h~}U(TTTwL{|zC_R>3Jnr>N&f?XA=*sx1mHrZ1m#_>E6;zsD~f^&5> zRuoj^x6sr)e*zYZ!-avuWd(sD)1je51<6E5>BlvKbR#f#W6dI3k=@hHl;gZ0cAb{O zmpUWL#wW?gX|#zB9D1&wJ|-H*wIWM@u=jXu0?02VZeYTlGg{PuBQdY%ZjM+-FH{~^ zGw4pjcjjL&Ihu5uIS^6}AOc-YKV`G!s%Tl?)uP<;4J~Dbxew9&%{zR?hOG7^8?2tU ze+LC}B~@>a0axLbu_Hv;9k?{94b&{X?NudA0|T)EvLkM~e~J$6gz58yMghLtYbhBD zntU7zD-Hq!0iKcI{0I+F#!o+K5vwq%O8wjzygQ|uPn>}=Z)&w9+#g;+qkJz6V=G#z zf7n$^{YveHXFRM`+(**kYm-F@mYiS?U%nwgVW;xdFC4^vnf9PE^11U~?>9ENPvB8b z!HDRfW^_7#w@KfDINx0^0@-z*?C9G@AZ|W6-FLF{4XOOrNx4AxA13ssRE0+Amt9?( z`X`}t6i6HQewec`E}7>T3{RIma$_cz4KcbO6Eev?^?Go|p0ZoYmMJ^)n%@pj^=l0k zyJFIvu?P!Ll`+!#u&ZWr^j%NtYrp6YUy0E3==T09sZL=k=xMmM`78_ukc3%Pmi!^e zpNFvCPYq*u97;TR^aXGlG<&}&2k5vo>`2?)PD8gHCAd&nhirz$x{P-P`$|QT$L7o7 zVx_OTb$CZe-FRT@pe|{%{vJ9Q)p3Qpo6|Eu0=Phu8eNUI#KTWt%UC!tf8w|Kem0oCMNMp#{!l1J@DgE^G;o0l8 zD6>k&!0boP3R+WA9ri^kzjdzS+<71{uW!WUAIt02Y zS8D@kcjaHImc?RL{-Jcm;Dnhk{K=CNIj7dlQ&!pS4jQ>Dd5Iw%m^X*gE&}BeQ-CL; zrAF9&P??E}Caf^Q&LoA0vlca;c9Lf-QHme^0{asJ7x%0yUewH02ll_Q#fUL(!Md@$ zpsS`6V>yd-dx&+GCysp3^gS*+a=kGnos5AjzLT^lYw#Gmr~g5_qn*RMduCiv|{)OZ~e89lW9cHs)P+Nb!ilQAvD|#FtUo7n-#G zuwbG}xQmgu^q%ge6QM`?ky%AL@bY~ZpAbGY%~5sFvV`u2)=?so);qL4c0_OjAL-7S zHqiZ@IzLxFDw-Z1*E!K~cy`nPa;)awK6wuj<(GM(@RNz#Q5w zMl`6!S*Pqb<zvz7<$)&ri*a&*&MD zAe(}cCSih}v*mj3aD15{p953lvr?~!@m;j2;pd<+Bwzevf8GGNEvJ$SdC?a>NnLkc zE-f1atiAw*%vNstO*|h?`^9(PMj!Ohas5NogRs4@zy&+4fa`en>faU{KHu>TEa5WDoLt zh1^`S7~#K3`94|Q8vHo6F;UbJ{)6bmIHv?h#|s?!al<-7<&@W0vd5Xq<;Cd?cb18X z1H~7^;^QXX)-Qh}9WukOWssmp8+0 z<@+jK$9q$z1Ma82QZwW0dF3iWc}AVmt9kgjd9Qbm@L4t&g2RPXy}@dXZ^v}9wJ^$K zkr;;ZDw6uan7e*Y{@wdVxo#yCwE3r~Vf~;J^XTB4Ht$$#kh0{RI14pAUO&8R@j+(>ir+vf;@N}0i@ETYO6FkA*yOJ6vV0v(5bO}1!p7iqNNbECsUWrvpn~RWqR=G(Er-;NjYDG z8siI#?&0<5ty9K3iH@I!UrmA@++7Xk8!dr+;AUCWCt2x)r9n0$1NskWA3C$4vE3fg z#zW*MOIvv7)r{{Rjcn&Bshpob(^{zi`Dzrh5R2zoC4epP&h~t#=hxxDNR@}*o8arc zC)D-R)5+3(Q)3l+Ij`{^VRZKU9A~G3a}x^U`j#G1vPSgN5=)06C1!?DggZ(}CP%p8 z!xSdmK3(RR5G)ZM`Mqv%Av!2m_pip30pYGEKf`WI?PFYe;0GN@6wGO(LKBeI0cFm2Wc?Ay7PE^(hw={5Tr$5Q!_BQKG-&u9r{o~)xJ zsECOJ=1S}dr>`gAU0&umw>tAR=*Z}}6YY1K*M&W;%81PJDw;D0?niurnk`WvIQ9UA z+5f0=o5ZLcWQFtl(jyh!!;(#{EQv5#!LJfF<(j`a{usU7PgK+*@`ol*g-M!e&3cLx z10`R;+bTi$Op<6s{=BSrovSQhr;=o{F3qz^?x45IMVCf0FB%3)Lr@v$`XIl)WI9HP3rJf25ACe=<)dDDn4Bgh9%hQ&luxtFYnC8-P4n?&o~14-U=@@H$y@efI#Tu`&K;jN!0j!NV1goIkT>#XgI;rd&>v`J9U3 z;5Ka&Jx{)Ozf)(7{5rJRD_?9r4iQ z^s}{tm~QPG-ZrOLN;S&QZyjE&2Q>?Q1Xq8DQTlJDzj=1->lfq1ynq)W{!k_EvFxS7 z<|T4y1gtplD)9>h#AK&+f{_@LmBQIzBS-XyHn3!l^mx&^w1JpZ)Zc{uNjkgd3IIrrfE(iGr< z2Yyu>+BUS(t%-hV!8hDb>SDAwQ#yqOw_WTe)8wftOM|Bf{60^B65$$8$ZuMeeBNJW zL+`rTQwjePI4@aJGRS`7_PZn8Q?#h&PH^J&3Bk_apj#o`Xl5oSl%ONH4}CFhW99an zH;=f&Fy~lX0-K#Op4Rc!b!yJT^@;E_ulV_mm+RJ)f0DC(Ao@X)rv&sv)IfKg6?xcn z@6O{{E`m|Tx3Q8*pEdCKnSsh}tSHVSrv^u>7e)F6`t+6cK>sF?mS*rV zZ9qhADIEiUR;S0shW<>thO6prYh>s5Ht4~bA{7Hc0>7IfX7Xs?Rf&^@8e7-Vy(ilF z^~DX%F8QI8_0^QE&sJ{nP3jvj?kh8Kl?8D1AzsSIC%&(8M(YJ{1S)rfkO!MFtb;CJ zx;nooE>o2kZwo%LZtgq=UC-ay&od&>79*vOYjZV3AT_+e)adM+Zwyz);}M|XPxl6R z$h(g#yFEQ043ORAZrJjRU7o8EOIJ(lJnQg?d;Y**EzjZZ={CmZLRWdBkq?cQx}c8Z z`3gTunJ4x~HCfTkCzea8Xs$gLdcwNDq%c#BwyVD@Bk|pp*+R}l1bXmL9b&VZwxN6+e=tuMh*tMH)jv&g zClNBu7;Z5iPqg{>PHOPnOOwgjf9T~=SX!A9cMVfd&SPPfB)WUQ-U8A~u9gsL@AVhA zu*RTOLxco5u)oD>y0Ot}Y!)vB^N)l_8juwA*LXW6dmo&V?vvrznJj!??&SnF zp@>Dqx(nzRxKw}QnG51NE~eaQUCEMvknQr=NxF?`8HzujSDsJTt9?Wh zq$N^C<4>J&Fud5%JI1hkna22@&Ixi7daL5W|5OnuXFw6}-&&;g?2sixUR>Cc`Ez|h zk8>{y88jTmF@g1Cj#;Mide$WL)A!v&*1_Obk-8MK^ms&opfzw!(L_kN3>?KoG{c(> zA&wM%aRkw;Q)-16dbuxfG^v!YK@A0VC4vF$b3^0_tt#8zqmghx#RUg=kwKkltn8rX zb^cTHptlm;@$);)t=wFQ+Ml>44UyOnINJ|*K{H6haih`3uZ zGGNTh4U`@+`cmLrs$91~jR4swsk5nSo6pq>xvQv9_=jikAgYcDqcr4UTHpfP5kbN^ zn_=g}x#ZdRQYWkhu6IU1n#;mFD5;K4Na2Ab(s7~9V+?TY7`Cj{z@vgd(lg2~t9?4+ zSG)Fiwhkga_lD9_wncf83CV9u32sijQx{d=@X5&e6ZyAeR~Z*^hP$PhCa-xgYlDg1 z#06>MyKMkIAO70^Cfp-(&C2s|J4T<2J4vM)Mz9kvn>BV~o(sEtYl2}+&uuDA-7XhO z!)}VY*SSqHm0yx!?{@b-j0c>?i$M2CvE|IsgIv0WE|bw0S1K^1Y3wnAztS(!#DF$# z`NgjHN!NvQHQDc%<_MJq!*<=mp{->xJNlCB*es{b+=O8FpsgIP2YrA1!`3V?uHPBj zhVb>;AAGoLZL8v__Fzh8B4OR<2}RGBZDiH5-MtPg`qM*rRcdm-C>3cyCn&h#1s$pU znD$u|vC@bS`Q4!Tsro#vRez;NEklFlb~dGj4vC6SksHHtq69g1C9EqT!yAdZv}3WeSA`pa)Z3j( z2JnSqa-WQ}oMZ2o!ZEdO0>GpAz7H+`N}!ITW%WW*YR9fX4o!WiPz~9Ei1a6-HSHI9 zl4)k!ArCeStJ7<9e?Ug(QeIhuzBk(7m-WYlXVB%RZeqE>C{yI<2lLs!T~L{Gb%j2xwt8H87FPl}09xzsM@NZW6+qUA4Rpo(YUG%ulH!lge0 zN5k-W3SsOEi>l!dUvjm-^pMC?iD3!!ZJRlV_r4(!jgs(ZPn%5!9*FlxJvbx<(J_%;6B;C`pVM@Yx<;5(z8pIs2OR zHVnB87Q~VR{>b}NgX13%LIi6dgdMbZ2CG&{dkvFcb368&5#ccfaII$qF4~4jEqNDn zcd*u)eY8*_Dns)x?7@HJ%I|Tl(MaMO@Ueql3s^pffBrzYq&=bTYzseOA29fL)+bkb z?h>cn+{pJ$mF=wQL7v8Ja(P~J+aCX_78_yU1EQ$y^b(R<^(FT|u`>tKsnt+;V`eQ6 zq2C@9jfGfL2@mt1?X#eRs+FBMwfi6W_>335o!$gU*Qv<;jo{_4ZRIEQ!G`3Vh{FDhH(0y8a=g;9qMKxH;6KkN z*mD0O9z95igTWN>FNx4(?EJ2dYFYW{^iyvwQn{g1wKHgCzs}3e0>h z?adFLk@%#rpvFAeOY58KVU@N0r>Xp9)ky^h2z#{MNl*S><(wAf9ub-mZzM+jYUtk;#oR_Ea*f^qF zmF*Sd9f?(l7`@mZ#2cI`Z*81gb0(6P2&f9Xg&I3Qz$SQaD0|{3;al*{*7TQU%i(^d z%dE4axIRaEXul@Gqtc?YG@i_lxF4%Kc!Rqmje|r-%CILC@6L6+D}YtCBMnArYSKS% z=@YpehuTK1ZG_9vLtkfIT&_i?>kB1+IpiD$OWUr~MIZr`{B<|wFwphE&{uZ|x@$#d z8jk>A_RKW>mJC7dKaPphipqjuuj41>ABiEgBg`0G4{G`bt)6R-v&P_o*&z|(E7752n>r)}b&6kK|?(vV|4fI@gLnYGT_on3F;Pm6#_bMpO)ey{Qd zDgTNIP!~nG%W*5m1f+$+{}hhf_=T#aO-U>UH=Dm$d`vCx)!l(9L#7q2$dO(hDe|B# z=r3L;+i6=}*UwIn-;)}@K_mLqg7xJeyP8W;>Q}lQ)54wH9isa^l2^k@5|s`&z*E#uj zAHR@>MFe_sH2`3Q_A2|Oq(NdAwet-uRJWGhi;J%7bAG$~8%=*{u1L#vC;pm#e9u?-C5 zb`#M-;Z4IvjO(&f_MDl3^h&aY-<>F#xe{{s(!#&kH$hr7HXnJ0UX6Hf-^f4+zJVlUj*W8q8qEPvYNqTj}~ z@?Nk*G!TQ~VT6_|^&#ykHE!0pRyxjCu2uXsEizwhrrL`^dPMHJ<(95Ip7FQFg5;pj z$wKih3Teqy(=Klm;6`z*;M`nDeK}w@X0~okK26)0O7^lAZTzfpFU3WeDpp#}@6RgX z>zc~YOtLG?H<~$m8Db`q`>U(9#tib^hu)BtkZ$kva3l9{p)Z0mnAf<(Kt0tpW9ufw8x5hmaPnq{p`tlbqD;5liv$$&ud=%qRK#7LRFn zG{e@zGuPBXNemKrjMG3~aea@+1IzroMK@ftfKU@iF-7j{(6(%5Aq4IfndRqPHfO*y zeIb>Oc;k!iH%(p5W=}nE+II#vatu33^!{XdoEF38fithxwX0fF3O#Xjs4pK*NdDP& zt6e{BTw7^2XSjzsNtu|0-TJ4QvdMC>M{93-DeIMAdrt@Pj~r7$;sPR!oQu9~%qmNd zk9xusE;iTO&*uF0HeUFrme9NcWejiZt%r9)3uZrTNzfixYwVTGwmLt#OPjWcW1w=X z0S@!(p-qPq_96#rVfuEYXFH;g9e=DOBHI#wXgUUj&n&H~PD7L9+@3DJhKiR_PHr47 zfgzvKqlwE%cc#k(-~3TAq*9Rfjz)REWV~X?vGbHgy9;c;S}74aj29KBaUAY+AKwc> z;f7y8eO7C3tp~bHkEif{AF8~5rF6d<(4W2BmstG9D&m}+{jRmF=o?Mj+G#DrYL2kP zX1G-MZkI;Vb-G)*gVLIH@Z$nwgE3L)7uB-YRXT0v^jGm%kQuD?Xqyeg+ddcK+qoS( zEN+SNq8=gqUF6q^*&^L)r4BV<7yn{=#KSey(~|1?d4s#Q!&jqPjQ(P-vST+a1X`9d zc^-3*MViMpwaz!Uj1ZO~w9DNU-=0gGiDO4ol|T<2eCU#cew@iVq}Wk8ML;h1dUw(@ z+)yMwEor^Og2;Swz{e4U2^$#6jh8&=@7w{8_vx#5gDOtPU~S=2iXTl5emIo=N1BZB1S|W>! zFpN{vWx<22$W9Zjx`pQuA~<|-tKL%JtPfgWg}gwu-YjWN$hAT$^OhSmCK;}`ho`E5 zlEJtzLNYLSu&BCY!}MRdd-xGsW@bt719u0^5Xyg}Isf|3R%QJhF7~ly3(S63DHJ_g z@(+d=KF5GgAE?Q@8nbTG}v``NA)Q2ai0lkqdT$m;r?*VEMOc&m#V^n zM(>r^xoBihW;~9@ST10_OWFdJn~Iq9(@UAnFs*t#peR zWQw2?dO%?yYk9&Iig$5tZtkhQI3e6Unx-v63nRl_$^N`4i*HsrLe|q%>iT$pG@WA} z&**?-kPtXw*&5&-NDA{%usoyrRA8i+qyzY=s54b66CX1(wJZgEoqd4(NDg z1m9j}v*T3Q-)I99s`;}8nnuQi>>^lsOt|-7J4l4Qm?Sc6XH6`?YxK%P?8R&4pKRu4 zc;^9&o0!?FvvC?r6&&B6>zVxGQkH-pp&=meaLR6OO+pKn4q9k@LImHuziS2(ldu^B z^R9uVug>ip6;Fy#7Oi@;cO4R(YoAu=sZ^l-t#ST++4BL8x0Ds5LW#r;{T>mj=D{+;szLK~DY7=-D*e>}q@83ub) z)7bZlNlDOL)@f27GJ5@K_&!akm94UI9Y)|W9e$lqQgi7abPUnYb|$KZ zSY85PFRKdw)jE2(U5FSTRYiUi9*(W$K1L;#JMmWCf4dIRX?ON_VY^xgBdw8A`iT~; zE$AhPaqNy7q%nUNus6jRd&>ACPj@bHSjr6u>pLfaIPaN$u7QSa!9S%3rU}Oh)M5-D zh^Vu3XXjD$BVL5p5;=w{urpYg7KTU>DSZBKX3Yx&k!z(%TL^kZ;F^PeSqAK zUzL0QT>{g*+vHEPFv-j!BZF>dOP5l&ZL;F|7b@}(?ROoPx$9DQ^`SP~reKsAP?i9R zWJB%P)_d*M9+6Z$c{jS&u+J}4=C;I`(gY&FH4jlxtz~V^-JzYRM^KerN+l{7#!E5X z@23`lq;9JUZ0QeDUYv%$e&1c%dEZdwEr{T&x@uoFq1x`LxMwRTgk|0ol&Bxt%>uRU z{}l*&h=c>O@diZQ5}GEjxDgtu+|R}RM5d)KNo?^k131<*#Lp7p@dRF0xqQKU@m86pNJaD%qva|$!G^?<5 zPvJX>aTdqtOUlAPXss72SC6Su9up-aa*0AKx=oZ|26@IQYmZl&@f>S9md>f?E1V

llkX!n&#v%^imS3eFW%fC>XX?`3(pPuFQ?f;(z?jAu-RY`R;?I3fp(oI}5VUv2a-{IeZ-#gbshq5?wR>Ni%Pbqh3}O$p zYb@%=hqV7#erND>hTgBx9x)N-hB<3dV}-1~pT?qnfo#8>Iho(%Bn^u3Zx zO&&tLs+h$0B4HFLN|vh$SdZu)Ilg+($dn7`SUd$wL}I2KtcMUJC-r+@4|?Aa7jaFu z%)Am9@qWVZL#fmk=c*@T|AqG{vGdh1?UaqIl|u*n0;zA+;Z@c@slNJ;o>=V^d^hiI zf_Jx&erK#hU^*jFty7bSXe(N4X-B8f8Kuz1y+j-R7Y{u(e|>Z*mo7e2kMD&u3R?wO z!GtAdc%!pY#T7j2r20Bf*m{@W5u0e%{mFY_Ut(08wjJB6qx6$RpA^jH*}2tD3+Pu) z+@U4=Y1QYq2lFNT<^l894x_!i$ji4fKUU3`=UNxakV%G3YSeb?T|F%~Kc|noUw^Yu z`nz`5Xi%yu@Mey(TY(~*k+^u|&En^_=sNf)6F>-X!goy9P>5>ibv0fP! zlbW$K&#Iro+@Sg4`gR;YAf<2Q+n{Y-Yma+bNCyYK=Ql z06R(6Gjc_|)>U>v5@Bao>13pAdd?LoWVR$Dd{bM}BYCLS_$=z`H}GhLG;oD5xv%Sn zY`a(4_awI7ZNKCup2NYf+}aXk2Q}DYnCc3;CkZM02B9wLn$yIGW@+9IF020_H%)TO zYJ4Ppv<5Q-w6+)0vr@vqxKq^~Y`w7ZlMwB%j#6UQ=eIQxh8(CrR<>cq*mn{c}_f!oHBJa-T^ zIUzFMj^nZQ|Nf1{ZuyT<`@~wo>&HoK$?`oSe%$Bta@Zb=$UBM3)4fg}`-PGhjG%y0 zTcEJCL~ME-47NpV(W}7S{@_)SP0;SJ=b|j8rT$srCI=1r=cjtBPXy2mNU$|G5 z%|Y0z78eOyAmWQ{4&fnn#*qRzEw1~%VDsqmc}VTAuFc~>%`D#U?IEW}0@lr;`XHYX zu-Rn#6=kk3&O|Lh6*WPpHihJ3Z^8I*m zyrbP%YQA}weYe|dIUwf)L;d@usOwAgnnW)%wGts7YiLSHmD_;!qr8C{mlXYvFdV)Z(I27z+dq6MNs#E&IgK{Uug)bV# zbjnUD+sqXU!=2*DcY0$3;aS7LBlfH=(a(VWvjhO@K1!DHGWgHg-N4qDHzLu54bjWdR;E zz9w|V2QRemi6eY~xX?q(bA_}cxFnRO61?86_N34%P3Up0$^)D~-tS^W?%aA0;Qa9( z@SJzE_QQWDhsmEK1#N;71<~~*2&0w(eqkTo!JZ@+Kl2F1K%Z40}zUyV*}T;I#2^;)Y5{ZJYVJnUIyXn(2wlh7wEbW~ZKg=&RW(;&0#nathO4 zpMaz&^yvg-gpto$_s~8J(I+K3R;V)rlcEg@)wO4|eAPB-5EoT!T_3U_;$8oTdWK{9 zxrMDbl3`j(VR>8(sTf{x(~UnI!is$!gzt$N%iClaGJ5{3q=dCvIUgkmyzO_s1|`X~ z=Io(646+P+K0yhGcP1^162RoAug|egZ?-UOpAhc%z&dT1RN+)|Cps_yCU)Jm%tE2- zGt{v~gH}U}-@@7yo=qoq2^&+V&X|Q2UcEyxq{6-u#%RgYx~l88NxY;IIS!u)$>&J- z-o+jl^06!<BQ2X zEx9xRznG{0m4NQBr0&fc8Rs!dKuCvorG>$FzM(!mhrMPXxrbLz6CUnLT)pp!kwAI$ z*t~}K8~N+>75PNa@2qk!iA!=|ZD^g!X5TJQ@~eij4&8g|8p5kyKE#9q4n9*JBjXTq4#Y=!8sa~x$)&yV*4RLS;XWe#m(r{`gaP=5chx+ zDCC1p2*~+d<72bn>_T7a5({IP8&q}?b+8*6{5xD|D)Fz{jEX|Dqp-V7U0Qw0$US^c z{hnH~9JJ^9B)4835)Aw!lrt-6_eWW6(uVAFU+<3w>C5xCS9#}bMa5x}td(JKJ8~2R z7g>Oe`L7L&Ond{qO|l;L=XNEv+iz6;-oHo zJivpH+#6l5uN{_cyI~iI)s8wRGsHi1$bZW1MsPVCTQ}{mQ35-46-G;v_%?Z--h{uM z!cuXBbU2Z+PfVKo0`mr>8l`o#N$!j@`fi%2p_E&OEU)K-BSCF!6(uZpDFDmU@Fs7` zx;tr!_kr8XRsd#CED_4^PQNSXbQaQ?Ld6z_U`N^=y!%Fa=xmBYMa$Z}POF)n9CplOf!SZRkpil_$AOe2^qZz*V zbw$QusowuJ`?c{uFIG=<8~o_~wLbo#?aFRp32Q*JjXH54i+|>o_*A?I)vwD477K#G ze=Y-S{@uaWH>n+)KTRZ(ALT~OlK&M0X$4=?`KI3LFh8)c|GhopyvtH*$3A_py*nVq zWLIjy!jl}be!P=APIixZ60Btxy$#WC`f^{fmke~jcQTSgIfk+Z#85BqFwvy%HO}_m zm)rjQ-b+7A3tK!#vqc7aHtpzsqJFT%bJ38|p9(w;Dc!#VqZ#V@9vyHN2?AVv^h)Na z5iCbqeHzcgkm6Lp-yS58FW@x9d#)Kxvevp>58x^}4FhZ_P*$!ysGx-ICSP|8@&0tO z*w*ESN?1F6R)w?TC#>}f1EHy=ES>z6S@3S7@3MoOReT6ALToi2;hPT~;vw-%{Kq+? zC117^KjEmv~1KUwA_r2%wh70 z<^Z{e4w}>6kUBRwD=NGv6Xq5VNC41%w^YN?S|%$nmnF&99=2XrMd4d;hD@OskahNh3GQhjk8~^21GEVY*her`9M%QQ`u|FWRz4c2_DQ8=0NuRq> z@MW>!qLa(}e%9Q8{;G`J7?iQ3*mQ9?LcvVEAuSdb~8=a&Ius zURqpNL*&YiX)kO_v4K@YwxMkm zeBj27ud|6hjZtLHPb>fI64>9oR3t_2@O9D#hCff9X@9njKZCmBxt!%aR&4ES-?;#B zCG}lWfXwQ*smU)NP5pK$NK%fXbWqd?tdXhFkWU@j8vH>yn^$S7y?y7$f0Kl5(A<7x#CafYvHgw!VwSNp_Ts zM;M?WY|j?SB);T=X4+xZs7kkp{{!Zx?4!X6d0Sztp|wJozgqy1*C+Q5!(UgRvS#%I zPwgmty(w?P!b7;=W%o%w;g67xmqvnW_ke|D$Bf$}ve~YUYC=36a!h7O<*Q&q^SP0S zq;SCZP`{rE+ytRqo{@I!=gYfS;@<@n_dMiEb5as~#p<2xh>(e^*`(n3Uqokjk*_MK zp!bVh5`<_Kij1fq=~Wqziqm>K`EW4>oGhC9Kfy{EqBW20XQ=tzE>n~*Igv~5FffC* z)=H4g3H$=ySF!X}22cmb6pW~;^lvJu>3P!pffl-?yuzka@VMF)UFQ)M%&YJUZUqf` zn4Y;=#G@IW<*npK1LV9_Qp-}m`PO^B_G7tMw{Wqmy1>o$y6Tyl9~%ZP>vulyCU5(h z^Kuas*Xv#C7o?ZKIX4-v;9nUS*rc)r1i|{t=5hgl9zh>&PFT+ z9ZXc*8_>g6jwP6BYy7djmB6Hgw72R&@OsLRzrcY|T#NCp8vh(B$F_JmR{sje`#|~x zVqbt`^%X*7B>93%*Vyo$IzagLu_H4p>U#XxQu~MXe)@V>Ym0n%frLdNXB;LqN0+AO z5wQ69_kGy(wy?1uAC(c!c6Zu^%c`YJSZ=EmEtBYeO4M-v~|#dRWVp zd>C=u1Ct0lh7n@D4)!1K$~89y2RMa|=BxQje^IC7)?Rka{2L4MaclKimKl_7KZ~oK zc3rqhsejulxJ{nc@K&JO<H20&34;=#_1as?-wbsT$r zMTF9e_tW}>h2Jc^Dyybqh0Yfa)}I$@B(5XaOFpp{per$?5VrHuZ?|?|yIlP{#?DsW1fNBkDqn@a{=5Z?*(T+80x?QyN}1(qnaCK* z61(*dhm_QJ$#yXpe~2C(G56+5dxOaR@nUn#K4_g;219(sP9Oue_kE5HnAEoFAwfC- zM=ksmO~fW+lY{;%1cf?!J(n1HD!pLkoT8q!RJQBJgrgnb#{9b%2!{XYA(AjF^{dpS2YCp?-azBJGE{-UwkgI@I61wu%K=tIPb)#v{oSt1#K0FG=ZIM5TF6rW|4PClm*Q+T1&e(;kHj#5{nUwVstPrDKuADIR3 z8FE#Wk<=+uNF+&5+qv_-C4CPV0iHAoiA1@z19BWckt)EMxx9&&@I(XTgQG6eW{n8dDC*^P}!Q)a0DiX$!^o>s)9~&-8LAhtR>_X?5MRS zwfd~`ug;3jn5!bO*%lK5M^@cRP!;jylKS-@k@Wm5Sgtmc&GaXEG#Z88+9oonOfAr- zFIW!M`)yxlQ5?Kc6_3g zcj%IyM)Cz0#W%gI1Z5)HVsu}K{&|HawCBRTP{(eEe00;8`$*C9FA}cC4XyT5?aGht z9*|K56Db#yQ?+K%9EGWBeqTshV~#Qcc7Eg&qxtt8Zbv}e`fMbc@`ol->>TI=NCN&X zf>6Wmo7XP3B+cO8w81N%q4A{nd|puI8)5ugMA8TD1Om}A@na(ZAi8sv=3{9fEePVU zGjA3{weO=6>I|31wGtADuRiDU+01ryWFR^&&+2tUF)pMgHcD|q6$(+L9PWya^Fi4@ zrT;+`b2dV|0C60}Ojr6uJB{oMKOJV&$oAd0f>A`lL!f3OcO$xw+T|hUp0vh4VVu6$ zm47&gZ-46aCA(Ks>Yx=w{B7uyZ6k;SKdzv`zf}wSg6C!M7Ln=r55uCF^n`eX+8LRR zFkF^y#=zg+tU!71<>F^j3-ndjEQ=3%@E^Qpmw6Y!0@Ql$E9pT&ZaurzU8&L+fp z5mHBuJZdK%Q>-E^V8nlYt!5iH{#Zw->?sYg(KgXcD?!!9X0bx=-O=8LnhC0|t3%w> zrdJV~^*NlpI8LBKF6quFrf80#B=-}Xn?;kS(rHLyYds)_GL$RBabC!la)ws74XcNH z-!KfClA!7BMg1wXDlB%hQriUGirlc0yMN>ti0BpH=(VB+B$fQIZC!tiuElD06W?CI z+#j6RV#Y-6$D^4Rq6>a?_(n2$)x%;~cwghtb`m*06vVPzn>DyKGfL0I6!!$<3ez@k zfz{)}rAtb?)LKT#z2C3PeGVPWe44+S2f?*^3k%tE$KZ__ivjpH$HVGSW_J-Aj@#or z@xi8&*wcuci$JYyugt;c4e_(fc-@aUEUrB*S2p(crF=!S(hci`LSrAQ)*g7f<8_!5 z<&O$p|Jg{pu9-w^QRe6@z;tL(U{Tn5i7>9+6w!tW&)MMrkhI0H+G4fT(ua>CNLE}U*DMEN<<%P#c_OJ%3dOo6Jej2U*dAjMmg ztX8I?e&IsEuV3YQpTBXM$yi%-Y#INx_?rJUqOc$8k$;UXP} zEVdD$%rM64TIBT^Ks(6f`1yFQN<3nbhsL1_8RM=BEhUqGh-Vk<(A+GCm1Gg+*E+|lLAPFh#+K)XeM^!o9^ z^4z??J!^`Z;l*j$N!WZr-jAF+2y4Tp6czGuP>ADEQI|FKr8B;o(QF6Zq!~TIp8t<^ z6AP*?F~)yPz^~g!$3J&7b(T*gbhP!^lX z6NA$oH#i?k7sofan{_9HR!=%Au;uaqLlp=oFR0pK7@L&8E6*=;eaD&9m1yN3AwPTU zKVC?TIl@pbYrx8iQ^D%!5_!$?n4WLDp9iCgU2;bcoz$RzWcc$zd!24>Ca%8VG@Z*} zQS4A7GC&vIlNVea79~27n*E)~$UM zmRxc>ZE|O%_u(nQ=R`eR)$gXSnN_8~=Pn2GIiquQGAAlY_=X-7a@SsrhhvoGZtwqu zPePmKJ5D|nX9{n!%QH?tJM5g<-5B>T_vZe{soNu|a5H|^D?lyF`lCvYEgznoqYYkJ zP<@3SKHF^nuDZ?qjCA$6cDb0QKAS{S|MIghgB!E%XZAB%$+j$`CpI*p)FFjmM(s~n ze#&F(tNvaPgp%dRQ6I!1!1uwf4uXtJll}a_Rp34?%?iT5zprH@V6Or4XsNG#Edy#U z!cqhZf>a1>r?0m3qh>R&SYY`s77| zHcFbFVB!QG+U_qGKW!&R>|f3WLf>dQio$T+xvE-o9eF8A1<)vI9;A&?Tuc3rM;G7J)mlTLu zCn(kiXa+b8B|=t0WoxcAD2w+Kb6&sO=|Hxw)R<(k8_?=&XIBNowySY<%^*;rZ+2sjm zBGl!~@@ZR4Ouq)pf+o~P>mY0|-MFd<4OMfoe7W5h&!eqX<#|6psfzjCG8W*fGA292 zZ7-SbCitY1eIbG%Zc2HDHC|#&KMB_{=HqB$pu1x4!zWG-Sdk#(sqbCw%y0)=OY&d;A**GFHG+6WLK}U=1%{|l zzLD#EX4lO{Iaa1tT29d}nOMm!+yWU|`Jo*4y;bdH$1U=H>2_4PwBUab+V`kx+D8Hi zhccKUYsAc5W4r~D?%K4NdC0v!2_0N!#H_4P&@559YAqKdPZxNO1LiND9M&!)y;J+0 z5`qJtOYqICk%pZDm1RiU zY-tK&<*0`9dQW@Ac7(R5tAq3W05+QU?HCsKzi{_RH%LV$LQAw!I#o7G&lacIs@@^!qt0D%bXr{2b& zXrh0DH-t?p9_L5)s(LjC;CsyeH6E%?|7R*sLP~Pz&1T+8n=^fTBX_f^kZ?s!hdQD9 zM5==jf5b$QG6Ix;S#~CC8P**fzjxrXFs-xmert2vbN{}g^1toTy?cnHYJ>Jn4pGp0 z(0_tK4|MZQoKq6T+Wu@33gT4GmLU7&PTr~#5SsqPYVwZ)&PnS2*+Vi+>hdawqxqdZ z^uT^6dQ!sX-&6eSG~v^U`sOo19{5?PocFh%-m@UK-UE`bwhm(yzw4tUGcz#bmdIO^ zHOz--(%HggSrJ3mN7`9Q(#sZ4fRy)Q-*z!14{prHj_TYtWc(&N-crI~I@2>?D&9#+ z*8JTm$3lxh@w+rzsS4GTWJ-VNLdH8K{YDE&Hc2Cx2@2m5Kb&ozPvgdgkN8NyS{G>`~y z?8_;Apcf1P-ymPSY?TGz^n9EEbP^%vo1Bv^r+lGQ=C2C}-icUtp#BDK%Y4?dJzrIx z%_LmX@(8jm)P=d!lBAA!TfMbaHrRXM=(YM}^?X5ht`3(hd`zDyVC}a80gKp8unQZq zqrW7?cVC@O;OOYbU}8V4^%JX{P}{KYUxbG23`b6F<2{QbZoX^;#^cwEOWlHF4jk>r z{Ln^SFI=w*8_R}x;2ZbjFF`_gz6rB0w@wVD6l1?9{+6cSLoi+6F?jxWA_X+FSl$Cg zU20ly#RUB)TeoxP+Ufx%m`k#a9J{fsq~`0AhyY0XO;Z5*^LG|+7YTYX$Vfh792Svc zSx-38jE#e4=s0a&wAR|wQIEWSjG*kztDD%`7Vi*5qX^+X-h9$H0G}lnr8DsY^hwIyrwl}^P$4_ZrDQ3A8nfx9(5DJVh@ zKj%lSCNvc9e!#UsY(4l9=H)NLHr^Z|%D&A;s%Np5IxjFM+Bh~-m2eX7|FHbM4nHAD zXaRMJ{3fNo9|2k**8u=2QJ&L*GD|E=?n_7%YRDy(_nsMHKl)&(y335bX{vfSfDUB_ zOJ^fIdQwL34w-i(CYW6r=Q`X!XRpthTFIRVgLdco2W~~h3;`C}mnE3aRdur@A7Vhouc!Kt= z>N&e1RlN~8|2SmVQF*B{MF0BnfZEcJ^)V=HPSp@H5+17`^&~|BPXf^qdIu%y?LKep z-;IScroEP!RHi(32yYjYfJQCJyy(`NNvPl7Z@l#9=kT%0*Q?qOvsXSAmzPtIky+;6?`D{v-DMY6D#6^8iMD}5Y;k_#x?E|YN>U$>3R7wc6t5h z1Fbp~Rxv2`j33fsNu>m8JSdwn#)A|hY4}Fo0m%1#YBm!w8BJa#j>6Z+9%pzTD;;K| ziM=eDJ5`i*j(eT%kIBD_%g9;nzf1Md04z4j#TUBjY?LVKA9 zv*j6Qm%BsC#mRE!sCr2)>876b!FG?Kc09`GB0{06I-R14$Qr2}}1E9%}$SAU5I>`54E^cB1rk^OXlCn-$Wbkn{+f{~QC z)2;RK77o#M3pTyyh5k});@w9T^J=CWBEKqvXWwU$$3++Dg(gQ{+!hKz+q@yqLmmV% zw4$Y-JkRyV(_Lt0H3lsbM%~U8!AoLweYR?JDP>rnP%O^9&B~w@alW(qI&$+9JPgv> zdv)wE79YTXa9|mLaOo~t*(+fYLYj;n@rXvS;%?i4dfq72mT4xA#fH=KlI=k}#S5m4 z9@?-@FL;pWi9P9dJ5|upE#FiP2;0pS!ul}O`8>BmG|G)#{CNNvzk^8v14qH4D#u&J z1jyQbb8WSvMB!&5>m^{*?0!djExF~Ru^~CDW{YU%00}$YjF+^BstXd5gt)Bur-g`T z5lL*9+jH6kGrD!XZ7p?=eA}JGjFVp@9fn#qsD1I^KS0K3BaoNE8C3h{hO6X&kEiQB zudi8`gYzBzZCEme4QM?Xk>CFKeL$!S78jsg?l8ZY@2u|7*z8d(tCe<0pLVdNfClu4 z0p?#D;cnxZ#5)=ugQE6*v60D))~x~75TSNa+cTe7o%f;d6wEf>faUtdMaQ<;sIERC z>f#jUGRZ~@H_sBT$V8VG*IxKTY*-eRAZ!cCJt|FXyv3tW3SN8mD3wpNmF5mY+gVwz zeD!AynST%MBa{fUr<-fqrSX{I4YZl!UiGewTG$W|oAN4t!U+D1EJvX_%er^!jT^}SwJG#=2jv-H|=@}jcJlFOUtlMF_j{Ae%M6cjHW_nmk(KQl^}JKX~Gdkdj!Ia1o|{T+9{&So1A!>MI?RX@)r8HZ+bC) z^f90*;{>pv9CMgxm|=AS-yr)vzWyB4ZSsLrqk;vqX`lOHk6>Tvyr4`VWCZi@)I2pV z6cLOl%^YHtF4Y<7kT7Z6)e4!!n*|wt{St4sqhvDOWmlRaGd_I8DV)zB+g9%9_rT

CuL<+A45_vYR6X3v1&qM&PQShcK>q~h8hc5lcp6$hI68_D+1DK}C~cQF zc)K4NT1^YXLU;hs?~=s}ChE5|)?jfOKs@bR@VZU;3?C)v$#_h_3=JmJQDJB9V9b9e= z?KaL~XNMN5kN-e;R9|={Ex6vwrhtUWKZ&<2%Um(jSMd|CL8}#=e(Zu){Msqj&eWH? zCM6$F4@{u6yTppm_1CwoV$m+k{+BS}(IDfq+Vdu*ErqUEwvPht>WnhiG|WS>ZlpJj z?-gnJAHNFepb1Q{Py!MbO?DV=Z7g`^CB$+HtWDxr(sMqAS2Lfeod2q1?JayEs?$m) zWq4R}e|4AU08iX@lrQTjPBlC&^iWbLIa0$6GZ8AOH1v!g@E)o^*=413DVbT+UH&|X zXugGh?4bs*fzH!B2o7a^yn^NZnqElENm8PuDA2tDOFjeuGozgy8OuD_G84@JaGs?7 zO%YEtg1Wet^+dQc9*9DD!@^dX4#}xG-nrvq4Zik1xsR=?F=m>XRI&I-VOieCaAP*v z)bjors&-dw$eu^G-=A`#XENNFnk`cSL>i5?;T3LNqmY&JMw{N4Anm{DcEt>2_9gnb z`ACO7bd^02XW(VeTUP903(E4;_)SHbdzRF zX{kKOoUcjc_a9$$yfv+x5_%Eb0m=l`?8?>P6gpiBaa`XVOhbhlssCZBd;+zEC*^;sVDJtXFkxaW@%*tZ_} zaTEqh*FPbyb&JHRYOm$YKLQA&<^%P@%y0fS51nLCs@R(>eHB|8y?vU0nO}|-B>Tn4 zqcx~tz7M8ySIY{A%v641;o7UU$2Z2WcT;Ym+y~=wogPa$E26^#*=}Y(^5&_oax`>` zPz3O$t;@fpMj-gM4(7G@UpF#jr{=@EEG?MKZ*XOs^|n*oDLhsxo?;*@v&xVNx4Rid zP*Bi-r7it2A(mshe_9gcByKeM@2ID{amfwqI{0P~BUS{%tafkXvsfCwq8HOm%(KgAI_cpYoZ=?)Mg zD)w@;#6fcj&HcPTS-k7Iw9py83;Qw-$TjAVWI?`AAeW-d*t3c};i}ojIy-fKdAn&6 z>Z2PYc7Da!H{PXAI>r0G`m;}%JT1y?cV1O&aN_sX>BsVye7P3QK5!nR_lM$2%(9@^ zLK^w8A=U0COrUlFj!iZ~?ZiA6X?1det;ABTeNwAoA8Rpv!1%d711ismu+9vv7^{%} z-gPJ=ItW8AQpeX8!)Pt#d?$~1ec7awuK69Pvm})f_p;Bc_P$(45cQG~Ok>g)`8Hq9k+WpePkrCJ%6RFoa`HQRD&h z_pP52R5e(8>))O&#~#WickxTI(&+nd-!?o`bZRC=-i6{~oy3BiL1AqSwF-L@WFfyK z1L8#!B6TzhgeD}zBYm2KUNi7NHiU$1Ih~1JH;5m_V|~~ugD{-?IOWrebJPX15~fr} z=Gm(_nD3sQ$d|{;GJ~F2?K|CfM_p8uSN9eJjL8nEj zsZZD87G8IJP%np=k6V1(pr~U>^%Uky9C8R$Z#)0!cc}gH_?_^L2Y717_hA&+k)Qr zb>?DE`0p_9sFvEk?Rvrj%|1bn5PFQQvf7>s^tqAanpS!|B~9kL+~!e1s0}}{!MVF6 zp=9{W?j*$|KV5M2Nl(8R?Uolrbs!W|5z;^m7!$bKDK)X5ipHEh>FB)#2a;WNz}SgS zEY{?41Z7q6oJ;ZrwK1W~sSVmPyb`{5PdS(WR(j;a#>(=8>W^sxsQrWczKX*^pT3IC&s{r49l?h4yl+sg2(fQR+Vw0gArD1+p_8fjnrxA%Y*omZ_&OiG*a#KLr!;lD) z`qlSr!r&P(Tbez@Hi%i*_#ZL{vHR3V=F$D3Mu|lQI&k?|=GwL8)7&6EG&z=6VZmClM>DDyps0{58T2KV7bPuWrLW3;pRrep zy{RsUEZE|B4QXSA3}-~C#YS3rjN=0XMqVx~5%;i7!_9b_fA?m;W-~7K==sM#2}5D( zE+GzKF63nbYsK%KG|-7lf&YQUf9Gk6;3Uako`hG?hjc2eEA$@Rz9HMrj`(;YI}^(y zL`2r7?UX<{{jKiZ&bqG@XL$*B;be6D_-F6f>(*<{{L!1h7>LOb2rP@?<1b>Bg>!Pe zH7CD%Wq;wvjtsoHdwt-y5Eo&Pd;7a|OeyeIQ z86q6;2I{^_Lwb$p-^;5hsT!}c2vjHTRV_c%lDT`5`Z#~dpuvi&qhdIAueWQqOiu)1 zaHpUGJRN_fZRB6fm~WD7K%*xj?JH`)b>^u zm$7svG)^?t3%2!}L9nGl;la)AGvWc9imIf@RAeJHu(49I?=u%_{&yFJlwduWr6A|s zLvqDpJ%q%a`g)?w>n-1Y!`>N*M>g=I~p@hY#d1IC4RKrUAY%1(L=viypY(VCj-D%mbd|SMG4=LaTUHaD(vMie{HOreB23HZ^;B8s_R9ip2t2*%jfKgpcXvtbpspS zl|qkfRe^O_YA`!l0x)YX`gnbqWubvf6p4b8kqtFsNE~{$rBrBMy*=)2k}^%o2G>#$reh2eoVMn|2@S{_ttuO z(tpOtw`pHZQqrydB8feA6~^)XyG(X-sxCk>;ag0meukJ8*%DGR_-#yS_Jq!7N}2gJ z-}Kz&dc(qTxJ9P^le;X!D#^%WC&1@)_;?9?(B^)a><|T~Qn^(ZDEcg)I0Q#WkljS+%cp6G>Yv!f%QdS9%-AI8Ofa=_JNQ}R-R3A1z_8BYe#kM@ice>1?|hKzDC+&nk@;rqTGN7#szabWp1jm3 zdOiE~C^acQNi3;nQMKN3bmfLOPGssbeIT5Z3uZ5#1*kH9(g^x^>D$muQbV%>s(QHl zrZzu)xpv2mmPEm+KU+MHi}eM-8wXC!S|-X^Fxe#Q9ES_;RY5}LZCP&v-KwAKS6^D! zTc>N(R=W$G{I(PoIjd{srDF3vF?(%{P9+j8r+VpftaM|jNIOw?2KhjpZ~b?Q-0!wn zpnEKGXZr_kWzCU!Ir;;aVFdRQdCgh(uu{{P8RO6{Jm2-;gidoFy@O;(k>RqHlvK?R zV&CIMvJRnWa>Kii0@)l*VP1b;eC`SAi!{24_juLTL%Gm%+`bU%@3%e4%u9M0X!(Ak z=)OhJ*C(-n#djJ{-r!G*Mi7RHE-!S{IzaC5pV1}!&E(M^X1ctSsp8`@`UOF6=><6v zqF18XtPS#ix3qbj-|1uq4UTh0eranTm=#I#D(d|{VtpFA$|1Vhc$hyk=e5d1sPeba zRwvQvNKb-^ZR}kp>0zhnZ@(gS2beY{QE)cs06;tOag@}dr>BU_vW)@?T_Yd24kgrc za5=MOA(=Q+yz?kJD>EyP{9^oQ+L-HShq*%LVWW++sCe?SSS{XSD}*JD$j$Vm$9wkk zon>TpA1~ysoOd0bA^J)n+cs}t%0=*JhT!Q5OGb|yBy>0gws7>%c)joQnf16ux#GrO z;YqWPc8AbuW`AT5SUmD#vrgWCBAE5$M}?GhIk2BYVTnd(Dbz;jiikr^>`sH6Uz>|Y z2s*#%N3l~>Qs+velP-CzBz0|^d}{bjX|si!y~^%p?1LcFC9#{(iGtfxoqRQ@l2kbh zmwu1^{((vB9)beuVaFXQRcoMckXI8%U zp{u&T^B5MSgS|;_8FVFNu5Ls)dfYXu&0mS5bbLRYDl!X34)_#jAzD;|SozV+aBCq~ zo)Q87@A{zfvp39D#To#oN<#Z;uL!1)u+(*|tOjSb*iBKj_qT!V6-^w& z788MNnIu(93n!tgRs{a)a|JGYugrT?z0!#LUMijyapNhOo|e{LvF}cZK-vurAw8q;6Cvm#i&lQ0@iP4d+}rTm{S zB5fkX2(H?l-8%N6rL8@u5uKv}gajI=5ME?WwptTbiGfz7Ef1z-Q9%%^?%#k>N{d|T zIYlG}nPi%3Vg~=17sPp#kI>i)>Gd=c`$nh|?DY{=7-Ij4*Go`LSJt6!$)~;x(T!^) zky4{}E*dLa%_0q$v z6IKDCaxct#0stG?%?-hV4SQk9K|h0hU;|qu&*+EDynv`wQN5L3gT-G`u%i2gARA%A znkC-PEx|=aK%Ynwje?g4L+e1Q+X^)nDObK0;F4*P{Xo0`$8B&Czqh4nZzXV8Uk~gj1Z}ey%62qA%+zXZI@LdC zL|hkb1+A93txZ_ZU>$8-(B~{Sp=bZY)_a9DwRT;gpAA$nY()i>A|eD(AvEbhWDC+m zRU%b-uK_6mHA1$6fb>p6P3Teu1Vp5lP!f8P79gQ0AwdWvC;xLU&$(YW>sjx5=NNO0 zIi?MUYxf%7PQ4(l*&|yXx3Otp>ig9&P+eHK%i8Gh*{Rm1Nt3aD<@llhs3Z>Vk!b*7 zpR4vCLNx1Gi-$0G6GgVkCB$K(TdF!yrK;zTdz&^JlISdzSo`L*J+bhW?UYrobp?BA z=_QPY3k^MR#NANVl4O={qaCxZ3aaOy9zcefM0un}J*FL-1T0Uqt41kwFQ+M-Q+|*3-!d{K%l=|qBenkrN2;}awvkzz$!fOWw z$o)X4(Uu})=$&j;P{q>B8_G{L+yYNTy%dwDG?cvEsM_X;&oAK}3hO-0IqvvWL>e1{ zI{x?F+Sk{R&Huf=jZZea^X~hiS!M#P-k3Ci$PurrV%+NLTOg=oj=-9WVH-&nAE9(c z4`wj_56U{~12ot}dX%(wk6l~w%Tn@NnsxpB-xy*wbXdlnc6t&I6}8*70+j$q*xcemKDJkIL}bxB>7$Ai_{p_M6Op|#KZ_tP--u`Xo&M-!(jyt zoMjUm{FuSGAgq;x(17Dx_QE9w(B9AK3bJg)>!Oq5Qjj+PC&b|$E2<0lPmi!8O?V{1q@{4O^3Ss*=8cdj&Uv>_!9 z*IpL4<2gWw1$@xT-Tt~0BFYE#mi7fDC@wAvsW@wUC>)|=n+2`rRkqPc!2KTJdR>Kl z`rzQ~NWjOZ%MsCgGtJPRvD!lg%|$vw?fq zXDFC%f1CPVAQ53b=p?lG2ECQQiw&DIBGqgLJK-*LKu0uDFX)<0ST zLe+%%?#*qOM8OB59Z2G)JGFbrZ`6UfVX~ZJ(>dplXWku1em-_I=Bcb5F0yRfAy-XJ z)h!e}=xyO&{2AS{?>8r4#5!Jg+qf*G!lR-QkxgwL?cc4XUwDAX9gAYrAI$Sm;D}TB zil>L@WfPs1N3|4ENahhzZ~1$YV5ToegPIxy1*0cOrI3S;4tD*)QYkRATSG?^@eWP}Y-eM%Os#Z69=X%<=W+edFFdpH$xnzk z&+J7RZ6`WhpeviCKEE_Xc$+O1mq(G~D~UUbv<(`K8(yuReOwkDHPJFeRp_-Iu3b_L z+m6ETABVFCHj6j1TM*;<*|y(vb>)X8k?@L~mHQ>@5JuR5N>@9xtoSs7WIW&1a?8I{ zIKN0Cqbg(uy7>i}wlsAUf@BxK2nPLe$oNvyd9cxgm(;ny^YCT6BWT>E1S#`S zXeemN|C2dZuf;8NR~h!ZxqL_TDrwVfll*I25f%=N0*2Sf(+{rkb1_vZFpRN4H5aO>PgWdLBqt-0W0;ZakQfaxs# z$ql_#v*+>6?OE%*P|8)dK$h|KJl}4?_ZW0WjxjN$Z5G=Dy7#<6%uN89xv@1C@#HDu}4icL!_a)1210klNeK+ zE{hHVNDqViXS&>%LLq4ZHkf>GQ9?nmAe7KpU8i<1TbgJ3{cUHdhBCF}j1+Z;i%rfh z)8=uiSDnse)Q^5e94FB~N7d<{XKy2OBU{)lTK=-tF)BbJ8$*=7(C7RCg!9@y70X%{ zjUo~=I?2QqcE(TCwQyxCYE5U(9c-~1?uU!oQPc!Yjq!*`rP^PxS6+FmmNLd*nguHz~rewcd` z^sFP#EQ+y!@F1D7lkV&H*`Edr37qfsQXMqNTFkI`+%U6P?Qn^%Qf5v&!gk!vnPdl` z;3`oO?3IM`07P<>5+q9bBa|y|t-#{+UqS4?Eatw2OvXmtaWjXAp^qFXSWYP=Uy%+{ z`ZI?3m|BxJC1#laZ6_(pf*TUjxL1Djf?EAh`jl{buS~|`{&(RhzX;5DPegpSbdYwg^~#c*olm)7#I(n(v}o0a%gx-(}hwh zEmesVNTvSDUXnE#gr#4ADh?5oZZPg3?BtH{nt?`<5u_(GCrO<-uG@O-Wd$;a^r8~5 z%653CJq@M|L=CjOF>7K@iMsX{0Lb+XZFB8aVS&D+Uu!%@*W;PjDPZ%QAq@L0`SYCg zES1CN!thH0KZmcxiw*I|v4sRe0T{m{nRJypf?oXAV^4doHjGxw!wHiuu7mg^Qq7u{ z)|1Aj)G)C@S0U;W{SGz%$_8xkdn}BGjD|Hx_wBQKamNk#fI|3^Z7ILwR4diq#HHh8 z>)kn6{PH`fQlpN%liNa58`t_I55AMUSmbe(;aD~Ppg64;*s@teg9Fyv8^K3+K64OW zCa4&s<;A7E9t2IPC9|)$B=eWeW@BJ~j>Lv31}!#^3FT)RW*O5ugFDh{rq}JAn8*Ai zOb&R)``a6b64qjdhR6e~PW?JQL_;p%Re-G1oW0l9s>)yl7N#|4lew=;}G7B>fNo z+jSA7CS87a5+>U)A~&IlL^5tdPD8Rd*)?3;Y--awS+TB2Qz zexr3J-P|9_WttgdR)735(9=F$egHHML0cllI7poEi2Wc_F4C6}8{WJ{qsp?4;>l>K z;|!g!_LAnIZ=awVzM>$mRa$8?$!1=YoGFT-CRSSq{k)=Up-`L~HI@qHYV9tl={VF! zgsM-j33u5MU*qdSIK)-cme)Q+MPLTv>)J8ku4Zi#cw;}t?P zjy9IFI)lQ($Ya`d#1~uwXW7ztp!ll!7aOLl>~ZetJSN*>xYkODKzJKw#OI;@_Yzi$ z=#Vi;>sQ9Rzq*8pAFdUk7wF0{U4VSrH+Vp5$vAtO_gC+otVA=7zwcBY z_{X8wzYd*cgJlJHj7`{sbpq$YLA=m@V8Sde+hEZOWwCz(NNI>t%;?>c=`75%e*1Ys z&xD*8l_^hNitI#3jE(_&mCu&F-FuelD5!9gC28kMF4b?d77M|oiF9gt6}|=c$aF+v+fn@)koTm6nFC3?44}r( zgE<)^_fbQj7^p?A^Y{?Ef)hkt*XZFy3HN5r^cD62o^&kL7zYokX}bb@QFm5n@EaB@ za)HZCM>2BtRaN*+*$j$`L(d|haYja!Ox{%#f?TbX(nV~+ZzWwO8Q~&$)1Iv*iI5@XlY|S< zD{b4~Yqk`$bLEx!tgcch%fGe&M9rQAwm^n-c4Es9h)|_jyg!Ol@EFoN(%l!kV2vrM zLRqF~J|?GJm3?3~SF{DC2-KR|dW1%n?)*69C4TOrh2MQ9kU-Qd(JY!xV!;fRJl1+q zRfWQKs$7HQ;U|TS|M_e@R1dH)LWF`tv|I4r08>w2DXqclrOM{LkvtGz?*SBlM!HtR zql7oL-hwTerH zJy2ma^Gzq?Ios+CQw@WFJAFO!Og~O;vn4d28K!o+y$yXa*PI?Yec0r9>Xh+>_M*v+d^+Bu78C#hrq2_W z!o*m=`IsYiJ)=y_kcqm$r||=&V(~s%zd9Te{F2p8ym7mNDn#G>wSSFkfI`7q#4AZb zc``jfbVY-!Yls0(?Ev2Zhv}2JH>4i#@?f?4oQ8$yGNWJLpDi$X8*Wn~mtMGxSL`vT zM#!`qc-Sl3CV8q_{m9&>v51$K5nCmh7%El=3^h#feVKLxKk+d@yh*GnSFTByLVo4& zoQ>d4KUvpkgV*OJb-f+4nKNToOiBuX3XtDcP9`WXh}TKKVCHvjR|oWoBp9qhx@U>W z9rdr)PR0RvjqQIRdG+~!}!(*;ClPGDS^rGrQAiYj|$sel8-=TkEm?ICTKwks^mh2@3`*aS_?0o~P-m8TqlzfFOE@+do6%4Z|^LqM~ z+JfA8>2SWGRj(_&_zfWr-u|=+1j+yQIokwbFlXCc7CpLVrhoNmWpGC@=y}x4MzLLW zaWkW}(8f1t>_Ilg{GwOWj&C^L8cCGkzJ!rAv}8x$w}<=<<(eUY4zF-c5w6M>4O+ic=#>(7>tFZw^aYv&x^xD8x8YI=yRfli?<=MP zB;A3~knM=&8|1gQ)dsdX$ocjVqq3)!$eaG7VPgu2&~K%*F!TG*QS0Ata+0=b{#{2` z;Ptnz$7*5gsju~f1T2@f6Iagx)(d3fzP&Vf{IExkH%RYs3?KN&?R3K3BUGc2)iq2n z1~*Gq>jSXPpaj*bO08fCDSIV96|9dce%UR9E7oR;FKvdC5W%yP~Qv;dN%RPl zh?(p^4u{yjSWS*i{|Y(@Yh))}qPLJXEClL(Zh3vsMOkSv01DR~;E|aUFun*)7;pvkE=iIe zFZg8WsJlM|_S)QlG#YJd=GNVU6)jxy2vw@nqL?)Bnb#?{ti7LfQgW_*OdjZ0+XU%*v?Uszlr9fEmniwMIKAqXgCdg8Xvlr-Nuqd zH>?9(T@vD29-tmPO6#gQ@HdSW;`a2Iv)ZY%pOQ#A1{Vlu$)1pTZ>U#JCn_W6MU>{uo<^%1F zu;Y|=$aZ`F zvRhyei(p=Cy6DXeBzN|7Xr8;%!6%}N*9g5N^GyI;F5SRmDFM}UgG=D#^ewToUgGRS zxnWV*KAY2;iQLo|$mg;G8mlJvew4S=J7ZI?KJu#HMrpa#N=O({oM{?1Z=6 zIp6%3L=z5z`y}m5^mAjO`LjJBuEP*uL;iGOm2J;kQm}}Tl**mH!TY-KJN9n5_nWmI zHC31Eh0Hx=FK65-v@>vYYaWl(U~e@Zw-$ZYE5kMN{OTIg5@4?0;etOBnrUawJT13$ zC%Gh65wxiY)C-%vU(ks8lXgvSo`29&*fQ61#!`xoFG&y)?8BU+cQ&E znvWGCZb@V}290XQJ4l)Pw##O~=Qvc>HV*`qNi|x;d84uzn~0#_m}ZWyr_EQ0jOH7D zr0uo~_(31Da%jib&1c9qHaQJ&swNEknY}9>fW27>8x5GV1Doe+1n?TbjYwU_{Pp}( zlfXeWg$(%KVA65#>10o6#8B5jJcskA_?#BzV^ZJXsAf5El@Bkp|5>wZoAq_NX($rw zS1wUqPyFI@wDzeyF6Y~VJ%djA{*S4h_~2;3-Zl3296!Cs4W92B%=r_Jzl-ybhKet6 ziW!T+e3!HaBQphf-Q^Koes~tF%k#bb6~cgZB0q;^Y31S~1^PZ9LfHd_Z+gYj=YZ-D;i!(4WaRNB z%;kE;46<9shZGBr%cPmPXH+pFwS9iETWwzD9lmKl)U8b;{!Ujd*t`j8TFyp;C3@WK zvfhYWPv!w8?oZ$5snm|@?|VyD=dJ4Bd%VzI(rJCz1wLCAVus0+J-%F+U`7aJkkxw6DS<AeoR+{) zw%F)$@*p^cVkV23Fa|mw#l2JUloT51x@3cqy;*m9`ZzwV^N_Rb+SUcW)Cv1zCk=Me zO*=nQuof?8c>Nc6={Kb1mZ}nnSAl?B4oFCbuYPqZMFY$;I~w-wZ0dcoQ=rC5ECLbA z&7=2a1{oIRd4}*wd(u1CFe_9xTnO95rB)viJ`~;QOWTOHU-wZp4qfQ99@gk`__e*? zuMo&<-u$r{|M~9OfjOC_!!O&6&2tHE>fc(Xs`BYmUUE3!tkZdtX+D2FenySA->MsU z|I-bKF(cQ^_~TLg(ZP2eWS#zmHEw5cv}G*Pl&bNofbgN{T^u1Tg?WjqviE0%ZQyQU zbDsKl^wDnvu=(wY7Q7ZWh?Ep zg!NCwr{oX#*S9wkkh04rnhWI_od@IB05I(Yt<(ych6f50TI8Saw7PMh9XfS51uPf0 z9yhFi;$p=m*@xL((=@6jcm5FuK%1Uvmo51;C8D~h^8CN{uG|b7eOo~ z9dGt2FCiR)&H^lChWqFO*5XX;Ru^bs1N2qV{PB!uv@ubm8(oD{!$8}v;t?M~;&p8@ z8Pq!d}iADj2=WWP$7io@B-13rYY}X z)tBmxQa*NpnCfhZ%{I2Wy}VP#XxGk$o%+D)#L0{p58G1_eo~p|Gb*+L#SnP~n(9<( z!AAgrQS-pQOMf_tuWiPQS+xgxTCam5WTOS+g7P-I>}{hETQanhec0I;%dPu#2vF)C zDlVnS(nLg=8uCYt*ZRxS?R^7{WMb%}L1WU$L;m`#qua>N3Rl4t#ckaEGW2Oq`H{@w zGJO{?3CrRt(yRaZ6sa$G5hJzk*VoFfR%@)Bo?|^{A5Sk+D$T=BiZZ=`edEqp>btvO z=#&tyFDzY+SK@b_R@;gipRRHqy6c;Bgg6ct=-_uxph5C?1M8CbFbLw!(O=QDktw`G z_6|f@2c>^5b$ty|^0wSdh21p%|ps7 z<|H0pHv9*#t1Lm_5>$EJH1xI%(c6DrLq=S#HvqjmOF%j-jh`*!zo0HYH~%QZuKKX| z63YrFq#aOsXT9)wQM>wwiEo?o>?FQsCC)sdI~J+cd{Bb57|OObu?ux5ncwo;fv4;d z6Iy=bAN)-4F~knL{n#oruk#=s&~R*>WC9$#i#jfU->H^xWVgNelRkc>6!e^5X!)|og;t%2V zrn3Vac8Q%)nd+p-b({U(t6+1rXsy$*6b|Ylg-wp>D35*VduXP0Q3_$%y0f!+pgJqc^T1Z)yHnk=93;L~0ba}I9nD<1~h84mI~g5h^|w$Mwi4d1LR(S2ClZQ=)S-HiMT-I}|dwtGLO8D~lTSE*NEFZPt z3)sBXHw@pLe#?L>N)(l2mC?1Cpol4?!-H9c?;e}QyBkFjFTNLTMHgC&uXAcImTz|6 zSrj>AF_bTId1Hr$4Y~KHPqUIY#m40bU)^3}DJo}5-fZHhfEZ?`Lc3j~pO5L!QbRr= z0fHTk@%me+u5y3tfSm)pYdN_3D6`oe4I*@br!qI@3DPoAi1Oe0#)b=AE%(tz4f_vL1-{;O-r31$m1fl z49Sn`N1Ysq@G0jcnC~>PFg@lCv_s8hJSPNt+k>!@7i*cj121BO2VnM6RzU_Gi^wdX zqthgZR7zdQF{GQcp$R{})F9>e#w?_Ir0;7TzwELALfJ^*0Cl`CB4T$v0ObXl5Mehe zowR}m*0&tCvafFgCyj@#>suDIA0JILfvN9I@yo69oC4tgf*pQ;Nnm$Aoqne_(fO8S z5t5+7^Z`&cC>KH-#2aqmN3_Z3+UPE2&ZGSrpWCtFRKUWa z(YN`AC_?Fj#Uo*afW>gu1+?#dc3>F@uZ?R1z)I9h1w$9?C&}sozsfK0SYtji zHakIqY(m<#>7qCCUB@e;{w_v4jDHcNPHb}yw7OpDF&5QrI1(9C$~bzPuc-Lb)k$h=8?-iocPa`OPTUh4PV}{b^v9W zUl`!1e;_c7@=;{5_Dyy~riS&p$;RK#Qo*@y(Fv&_l#!0KlPKXpwqaYoU*$w8L6+QE z7r2)Fx>CJf((d2K%`T!1d1?QlyIPojn3CsWU4NC&Lvqew>yKUh1RH!+~euHbSJ<3s$@_tjB3bGx2{nstt?u6;+mG%|xl z#Z>)kj-tr@?{6h1IkaitUeP-cc!wN~q3P}NnTZiIz;DdN#-ohYv;$YC z*$@0AWdD^O;XSY3GLk7pgfpf=Fn|;-=Uv^miCV9>D6(DrS+u1Z#ewA{p<~RE=(*zaYP?G(+pwWW=gNE6h??p3*!aTsz`d3b? zk}L~|PP9O6zz}(qtN_ahspZRFWgH%=#v4hGb~cLg$IQ93LY&(iLAhjZ;0E|6WCKim zlDe9tqrQ=FF*G>r{?PFZ& z+Py!vuX~NXOs|X6MP2JEple+Jyty5%(6T8_6(7}Gchh6X%yniZDZ505_tCh6`+UG{6pwkZkB2+C1Z9o~%qBS5bJ!6hReZSw~ zVMfjP5dEa;l1X8aCF@@qmf$G|q5(nN>4pHk57!6z|=LZJGp)1J4V-HWjnGfq;_ z(u!Y+(ViFgzbo+!kg7RdqH^lbl1y;@zmCM>Ej4n29sZi7aM|&c-?1OvNMk2_Mzh*j zVqd&BUK$AeJPFlQ9$yp+*ibd1(^CEcxhc+z*jYM4fXbVXVa}zUIn@&$JR~_{!q*)WTm>RQRnV+kb%G?d!wP8IhO{RKv&mZko1A9d;W zPH#iz(Tk^HfIrMcscPcYoHWxBZ|6$u7hEzax1qr%Ml9xr?r0)2$e-p2hns|V=Y!JE_1POoJ$=}PK6gGDm*^;U=Ae{^% zIiF(e4ApzbYRAPAtZ!4Aw`=|*db|kEB8M=OB!@2mFK^@vB00^ri<;x7H*Sc{f3K;U z>sE^#TH>iN1K!LiFXw=ZcSTu~URdxQxhI~3;m;X0hCX>niAPz+`}VlNsc?2l_y@B? zADsQy`N(SRM^{+x)%E(l{F6w@h7+0Ggyy*X*ktm6(wcBORJqF_i+Yy;uMP9mCT6Vv zxI>WTY9~#+OL5&-b<6e2=~SwXf$6z(3G`JIokZkuMlI=-Z7DxZu}arp3amAZ^iXI< zBPKHkWHGddt7~*Awu!mt$4;fwPDLgrF#rlU2n`PYj+6}aLS#M%Kdt1RY$WPx55#-E zzD|Sj>#)7-sLlQL+%&JlIc@mp+T@MV6L{%lg$=7MH1m;jfU*<8dtFKjLuPaOWo(a+ zHub|0)Y4TLz5w&wSvsV2uM6V~RLnR+h!vSHMAUQks6wzW1UUsq93iDm)lq(Zk@18n znS^A8e5*(Fc4E}(>{^0(&@ug(nOmAFRQRNC$crAt)D^KF{TiS&={4Nv4 zT7|_}E^$4|AoGHIi{l%oiaifX(xe+-XAE+;=~~psA^_w=8hY_dDpb8?cyxc|HIKGz zdJu}leGCEr?G{lrcYs_9kHVg6WXf+0%B2!j_VYLe0UtxQYz_eMIFwcw;HkD-PD}~J3|Rl4rhP*l@tjq5rEP|Ke;a@hHg1#J18A*8K?ttet5`g^Nuj3MQsp65LoR)Y9<8(JwU#)i@6Rithy&v0_HI*mT(~Nw+E*aE zH6%o`o0Mm80Ep{YNh+@0tz++9t%5pf=*iUd__@d z`k&FTU`-(_Z05WHISDJPZB!l``D^9BPZN20$wOm-i0f&$Jp_>f;LqK5Ce79b$Y)u%~)~S z<@_1ln(U`?Eue}+-9&fRcMI9BG|u(E-5}+fkKE0Rcc?-N`~$HObOuc|ABZ=MP`+!G zd*mwNb9s1&R)Zp+RNCGXMg+P?WC7=vKRXv`*|zlbyVB@7htKYf?oYe3gwWA{Cu7Q$ zsFO2N<~M|H$7%4mu4Rd9GE9*v-kvPCvuryDVP)I0TDnk5aS^%yQw(`hpRQ%&oqvbN z`Hw@;ssg|Eie(_mgPi0rX(|OZR{nvWm9v8+JYe}FVsR{ofAR!yFNYgcA)f<MaDEo5uP3!BMgCd4VjX+73875Mx#;N>A$CxX&L5yMGSx`L#Mryjmklab{O= zL*jFtK=CIF(WLCX3$TIrY!s%ivg%Z^pk+36M0p!+G3dlUFerlUA_!p!zu}yL7U(bM z&QZFU6Ey}t9#(gR_$0D&9Bl+}|5gTns}Z0aLa}g|Kn1zKQ2p<|w;fAbX;Fmvfi6gJ zAG>%}Z8!;=QY(pQM8aI9&ZJ+xUIC_XPc0bB(=L+{x&kdy3;&7ETZrp?rkIXD^-ysO zC1!PQcLe9+m!5{Y*+dE*b#&z04ohyll4|lIf()YikS)7*oMnSq(Dr>B(xRslXC2F{ zlxUyKPWY4#4n2O)0qc)A%T~O54C#TBA$BjtQ3Ki0CR3Y+10GEgK^fDFNX?Rkvz1)M zRQul;Vc74Q0xh^hHM{dL6-*VOA8}<#p_)~=WrrHVk>(=3UpM`X)wtL^LoSgP8{p!e zvxgQ-FP2UA{!@au{x{P^&P}jvHVp@vqGVxx@kt~v@A&3<>$zyskUs#n(snlHkX<&w z=1Ts&vmGlbFiW1S5G=>r4;hYT?$Q4+>wq^KLPvnQ97hJ4x8V+|ErZ9fhb`>5I0kjviXvIrOv7P>n@Jex4Rtl6Hcm^KY4QC5YNjD-xF+nfkjZ5v&~@G_8TRulSsz zb$X)Dr5$yW%lWQE3hJUe!kW$CFBMFkD2`;7-m%+7r5)PMG0N+Z%_m3SU=jMrmY=>- zaY6U*pgiP;ke$8#c$Gu@7)#NV&LP!^POPF!QRIR{UBYD7zA`Az+fG{HfJ>9I6aW%` z?sC}AnFS5aRNmF}Bo z2tqXKC@_oeW>t5g@JNTwz?9#1uWBDQCi(n8Q_sa-A^t5LR*JjlwcQ1pgYc9|<$Sit zZ6LuoibOZr3!LKJu4w*z~;k3ERu;Z_l_;5Wai?Ng3BvP@t(A6 zJ=*_7TLsHrmTS2rRWA*2M!WyLm#LXsFUZ;YSUNSjFev%5gUFS8Dj8Y-p$Z&Kexe^0 z#s-PR2|5*E1ZNlIf-<2osq9 z62ee-06pT7!Q51e+m5-Tup)FsFC3xQ`&xHXnfdgEd>* zv+6e=5+?Wu6t`|34D3H^aQpsr(C-q`!>Z(5Th>GTzAgIk;C5oC61+Ql@z5qN?vp>} zxTtf!RE^~z#9b6Gm1G(B2vXE}?lXiV9{?;+r6E$o7ftYr!wcEYxh>`W1DT3z1yRf1 zm;ik*uSSi$?*{(wf54&tzgUCjh5t{ifzeZ+pa6I0Kz2=t<^RPS{O|1l{s;fRr!M~Q ze_Uz*`(Fg(|6&bb!2dVaAT<|WZ$1^8?|ZR_*YV*KQ0MzT#q*9gdomz;7sdA9zls)r zZ)$K!>_vO5y`EFrJDHw;yEDWyAkmT!_&QHBR0Caz5x6O3xj^X$(Z4*Si(fspuzLSg z9KB!pM4V9Y-n8r=JvRb9d~pKG%+%Pei`-)w=n*?|YcT-W=~7fPI_k29WN_Zq zIp$?XN(T5z0*`9z@>Ty$%BIHkT`X_nZPKR@8``@|a*+qEW?C#ilwf3@NKSNF?l{?D`{BrOE24?a=) zH#}xD>R6_@)a>V)^zz0}u~Rp&=t9Ohu8;jl`%8I9kpiT~{L9UzUpK~FBTk0LtBj9T z`o8|<==r%aAa) zi!12>N3na>uJN_|FQ4uyJd4y2UNW2h&|%ggs{ZY2qUf3x6SDt4*tVDQXQ=jx-q*v z+|_<|_lEjP_wCPM7(XLR$-tV^H(8JrJybe!_n>zC$PyrpG#m&)JQ#6BYtC&)@29v-?RCXyQp(&_s9S&0TIY%7n#s{S?u-#ynUxKU5lpTo(Q! zdrt7?!gJKHS^S2~p3#Eo@m9jet|s)+vc;Bgm8(h)6Zw1aA1c=b&g|g;H&BA?7-mDO z$d5CA0uP2y%$G-8iZtY1S`!lQKm-vpb3;xhYM+mEaTKTm4BK|qw!GjyON*j2@OZN5 zcxfbGEh8uEuKEf4Z$AG`*q6ZT@Q(*ReQNye?-(1ej`e?MCx*I3dMu`@3kxQ@j~n(V z^4-m)ywYQu#-YLntv-QaJ8f`;(gGV|c(u^N0m3J5Z7aSbRF*yY| z-Hp)P(&FiF`e&tS*|+dR@4YmmC`$u|pdm9Ua+`TO@_)N;>bt5!l5(e&s|M8$fP=f^ z)t6WIhJP4+vuH%~#NOyxn3LYA=5C9B{gFz&zN69bFKyXoAxzf0X)M z9MTxV@a;ZG_$4FLe8v0p)NHFq;cMIhPIE;*)KEpCLnARbFfq(#cE_lDnRo=JD^d82W$7&9CJuR>F+~FSCk|+ zkZW)D6)pdhi1Zr%?8D-G%Scl27ODKzw6u1}PZe5FU65XAt8c~f9_dPPZ?AaA?Ujz- zsG#pkF++3z1wXZHM@106O;2A+XNr^Sdsm9JRUKahrgQ{bR~VO`oR^REneQ3#&n_Q* z-o57f>%n%4uWY2%X}GR*?6ChUc=?M~0Jcfxu1&6Z&uaH?aF&0CtaKT_M!9R|zJmDD z9Xo;WPk+i~G(3{AA;=eoKeN_Lb77MoRCcPzs%M=CH1wNK@pTuycf1mDq(Tjg6GDbI zc7D z)Z-#K@(_iu44A9H(W#$qGHP$($-EG7mR=ZOd_?l7T)h_fw=ERX;(uuo>G|_k#dt?g z@C-RFu#2?ySzXu;e)q`Z)o_o4LGZfA--j=KffD)MzTN`sma&g;9yopW>W|A4ul`lN zdvc@gUUM{8tUu=)3yak`8LRmkYP6+!b}IyQ!O;4`=0_BsoOfY7c_MtWo$BmpYAdj_(&QH2r&HZy@yV!tVb= z)^~+9(M4-pS@n&1eemV$??X%C*m0f>!g?kTC&!E<7N|?s& z3hYOzXgtHS<+dns3T#}vQA1kXK$|* zkj@XSHrsxIpapnK4leFQRzz%;jFnGG#KaRCkzL3MrQu5Jgo^YNzjy)*asy zhQcIq%sm$ZV~c9uk4R06G}x&t!RxG8kA#fj*@|moG6x3|8oudT941RXSR+6wZ81UqiLh9uRi@K$A~R*o$WNn(VfX2@5ziP>l< z5J&lqMQJMnthwG%hNLu%7>(TSKr>2C6cI7S`zNJm$e_Q+}C; zdtd++M_0^=z6hT1@CTMxu{oRaQz5Z~m6n21N(32u3IgFZ6ZkPtWl}6{&t2|&n;g(v zAy=QPxyioisK;bM0m?8Bgr0g1O+nxVd6Yxw-%l8$ozT@`-b5ZVetIU_kg_7?*@d9D zEx~zP=z=|n?Wg+Q#9w87#xq&R4JVED?Z`(6|0#RYZj9e8m8(0<3kQzzTO3YERNf)9 zptpO_7#H-PTqKPO7(p8cpsoC}ry=DriP9u0_t(If2miZxi*)NEOaw|iTfcY8c(P~l z*hI0_2%kz^y!+Ik#j{cnzidj7*f;2RJBX(G)9E5~>rd=SHv$g2C5uU*JG3K)sB60# zyp%fmEx$oPc%>!pip-c8w3g$s>R?1MC*;{b=h1{pKm_GV8^6#SENL9Xh(8?>teo$+ z^K*g_+sE!egJ5-K z*{Oo_;^}6(rfv;zj_;FxeTOM$P>P}I4M_Al8}ek!AbBC@nnDM;&D;J8^tPvRn#V4# z%Fh}{lb?Q3#Rs-&NY#Y91=-d@Xy5TkIsz`aC;ace7@J^D;xfWKnm?U|}z{2vV^0NwR z9dRG4p=U^hlNnqj}dKLTYNI!pN)e5&s8Tb|cpiWaiRkzpEY%u}Apnz*_QbaT}ZHpEZ{rkRkrqn>L zm0V@ATbs}%GKnX82DX9jFhZ!!<~<19()43Ey%b0r#I_U0h4w0PwfCnxA_|nN)GY*fB=vWvANhMo8}i>x0;dpR&cI(NC+V1!dH5)M05CDXVkzQ4L zS{|}jxgbWfYROx=SWzNx@MhYcDS$e-)1;kTMapy}IZ+lclvq=M$He&y;$}Ac&K*2O z->c5si@AuGNG;b@HlLqvxvTn;>S$KK!N9WoJ;=m2&7;f`sFbks<8TU})?WMHXF#*K z)z@4BJh~A2t%T6Ae}s${W{7GZ5o|T8^DGwAYdQ!yZ}W~s{gcu&#ReaXg6Gwj2NyT~ zI6MT|Rpm;In;W8 zRPonPoWH#Xo&Frpe(uhY=_A_1uylWDseiY=9#7g6N>F7{<)5YY{C(;Kb-VYM5V<$J zSVAub3d%hj{w93a6%g6PN@;Z5va!G0n%I0`ouXoP$suOx;URZ3=uoPYC1GV+)o%{X zQ~q_{S2~;CxnScN$Q!DKkW{8+OER_gm_E_9c#4aVqYd z;y*dTQ66O@X~fA$Ny>GSUPO=4m|#x3X?JdpTzU!h^^gP;O_{?Lr9FZN7XzZ1Rc<&L zJ!-;3@sYA6L=v;d%JTP;V5Y{i;;mj*;$Cf!;pJo4eZgW2>i*>?coBtU&`m;=4aYL+ zudY*`#|@z`dwz|1nR~a>BZ4(lVu1t4_V5R)Z9j%Kmi?gg_*$N6O4|ad)h`9xD)9EA ztuj-5*xK#EJ#le5WNRSw7luq{MHO3nALFHD(E9x~Rm|O9;3roXJ|*>RpFMtvPm&r) zf)udFg~aM>wzfT}g~mHhp?6eqH~Y~$D960kxHGAra=qfCmN?8)oi;maw7uUZs_vda zoBUy&f9`%6A6!%_Ek2Tbtc6SPxCI?E>HTs|qB3%7_w%-KRq1=5H5XI@u+`PdgFzHz zAHMlkS>hQoUo5SCijThCN{__u2fd)KAP>G{^vPNq{B1GZfElmJGy0jB<8FoLszWL3 z`an|evF_nb>9+rXHGVOTSfQ@-@$0w%=|1Zm(VSnreRBrYUdqs_6()xvVlHB6$TT0( zX!v6xxgQc1@4eR|?{6S}7+EacCWj{KFt{uFq?feWQi+>d4Y}o!oia^N11x`b3 zl@TVr1MA~XPw?NDN&h@%@YIENVJn4Oaz8(9zO1SMq;O74xRp+gn)rg&xn6Z(k_uFK z@dyn?LUgYIIG?kCR!VmxDx&K#t}_Dc!>fEdEppsI2he4V+vV6EX=1l3hBds_t9m(V z!H<{KoU3vrv80sfI>4#}?9n!2O`;?&zZ+Ax9a&s-f1R!gfX{ z14PtTQDW^?LTTJ#2uuH_FFL zttN#ZU05%0xv|!fQ+S;G3LLR&uQu~4CRmn>JQL629m!&~gu2GTTshRX8uHnxEBf^T z(4No>YPTpN@4V~hB`PC!>$e*Ts1DCjIHbvYx?zEBXFarCubujNRinTJ}F zj>$d5=F3Ih@W@c^>3Hcv5z40LWwVXvMW@l{vEc(BgU`C#wu5m~gAOMS`A!b83jqei zeVTEbTqT)eeM`1fM^oGt-?LYXh5SU#~(e8+PIS%g=}06gTzEV{=Wk_onY^@UFg4wIa}2+sO6Sn(>R z*-N!w0fip7dKCpXkz+P+(p?9cP3csSzjSV6i1BsYg2RD>^Ma;F1ASlha&JNR_-^*k50Z8LdWZ6 zz(HJRgfXNV@FaR+`6uImhh9?gFu7;Qzs8%*?PDQ$j!ns^07bh8BwJuAsv?OhP_p1E z*?u7C-y_JZ{fywUNCEdA(>5Wp(MTm*fP0=VhZxE>Hj2b7kD2pBqx>H-f<_t}yXRWk!7_^B=cmsr$y znPhaIijX9@Z(<$PoE}uTt0kQ)I17UuhI>0DZa(4(Q^NF0fR}E~t93vNP73YzJf9Jn z;0>pW2vI0duI0z5ERKlou8OKaF;AR-<16L3JMUVD zugyrpT->6{LrO!o|4+u8I54gt9gkF!Txhz%bC1YaEf1U_~1)SUY!`Z6$2*;JnmqA>=(p zBvywl9T6sop@-Ly$zVC((-o0Bp6j3pe~-WvhbN8Zi9*B&-%BEJBkkDeGH=S6Ss-bK#cUeig{mdhpfT zBg(A#fg;k@=r7D)SG*a#vE?2y?bZqS2wf7^df>M<+vBq(i371HDd?Qz$^E53Vx)Xb zt{R#-#P6^EG+X4-qaa45706c7g76y74;#6ERKZ+#6z0#-V>D`qiDHN;!LVM`GU1bQ z?++Ulj5vB~b+aRBVDVI=rk$I5$+JEA5g;iqwS9DtrgbMkk0^3iV;xG&_PmBO`YF0A zf6}T2&3#9z>9wz&gMaIA#WbQCAO+q_d~K4m2f54XL4+R{IZ@rFz1!sPP8i?wv0T0! z_&raG16g4LJ+S!w#SW=w)>|jL=sY*bgnuR7Q{@kz;XT_y0t^`lJo!i4dl%6l0zpls zWWNqnpD%uj3-8T~>vx&KtHAvYS~8iP7cOx7dcrC5nJd05?E*My+lDK3h(mqi*zp%& zR}iQ?E`+v6kz&}vmxJeB49gXj<><(7 z^ZwjQ@CL$s7UUgDV6uYOYdpD3C81Ipu?_8L7J?=-uP_&=q*XAYj|^((NZWC6Tnlnx zIp)-vq=VE2(QvSl4Zq6f1s(il9LI`X>oI*!#<$2oJ4ogGy$(GO;gz02WcrKD>MQk4 zhLlFYV&6gsLnGlgzSXUDr@~;&<3qr4qZ#(UJ%p;+A}b!@Pl0xp7w?l#QpV&`tk^GN+W?~*<v7DfoX zM|g;W{1A36Yd8|K*jM%!f9G3+ago7Eu$#7?-jlFC(-%kld_V|?*o8eV_QGE+za z&&OHczb0|$dYtY!74aH0yIixalV;vjOF*O>E#4?@Juc~zpX<0cM{9#!dMzo2u+N^J zy?z1N5YW>na-xH7*tI8-{h@mX!Y|_w{7*MFQH&a=8~{mIG@=$}G19*ousD1%I=Ec!#$F2CkeIxofU|ZY z!+6NtPs#L8IE<*s1O~wDk;#6+HgR5I@naw8k3(@C%*P(LebPs>kGhc;`r8?;o9$CO zNAXKsnWk!FITQyBnGUJ_tHZ|B!3Z-XK#QcV>6@_PE;V{th zG60GKWmE*Ysf`fT+Qh8jEKCs#CbJJC-K=-Z81!g?T*7gtfJ+=(qO`t#UqfD^Ps4XBo~Y9eXSYvYAR8RQQv~!ddec`f$&1JgwQ#wVb9_ne8 z`CE!{?YPpDWrd=xA71pj>O6o1xT19YIh3gMraDR!JNHL=kELe>bKH3se`4b-YUSk5|D?Te&{licKSOq_viQzs@!!HZItUyj611nt5meL4qqVkF(+3XrS5K6V=Q@w^1 zK@fR1+v+u_YLgAioV6uAYNwAgj~)cPRkS&~7uy6wB?ZMCK3-F0KrvKBc_7(U?sVh9 zyG+WLFFGm^;0ubMf_yKc(p9ym=tPTPsnlV3>E=!wn44aL3S&tY%ymIP7|&UViPZFT z_>GS10g@lKUJ#*nsH($tm2o&plC1LU1#vRsTZx4BVRtTe=HN6zeq<3;pA7gySqGA> zhbp`4D20MUc_n$Wc`hImn`jIzDU$wRikLD(i8yh7R27tw=ZW#nOIb`Ag%b|%p3>~L zP20^UITTIc5`4;z?ziy0C!}%kLaFR8LGlGbzPtpix)Ru1GxnR@9O0*8;!%u8_11>+ zN{aA~i}h{8H?XVwY`RjOmUB}UKdYQj`z7UcIKQzT(=M39{_UA0WFpn$Se)x)RZK-5 za~({zUd+2%iczBvdjZKCV?ZCL__kjD7IY;eqT4Z754!zvE+E=|?(GCZsiVg-SC8s{ zev!Rd;D6m;r@^WvmJAu#&tiH;@}S~FR71Mw!CzB&eeSzgimlYFkVS^H=q1hqO2_Mw zV>?2cf}y;gLj07UQ45;UHP4cI0fN{zkZaUVT`5vL#vS0M^a>MFvB_B`#oEfymyD4A ztg%@YMT902&!N+Ve_u^g7BO+Qqi63)NlQ${5d?K5fNNSK;VMO9^P(N$+6j*7@&9U8 z?cZrM)7FJOxjiJ8&Wu-D+=lT}2N$K{ML?I&OLD!PKc{Eeo^vE8@%bDI-V)|Jnjr*g-<}b) zFnyyFQT5XR{0{yFw0CRh$Jlc8={5AA8zH3b=!Xy#F5JU#0Z=E%bFKO}!dY~id?f7K zOybk1ZU6KUjGnwHIU9fw7>Du=1keR`9i~-J_*#3wzLME4)yv@9(S+5iBUiW}%;Qg) zN>82$!D9hGl&M@jkdXH8QV0XC=}$uOZ?Va4(&(4V^KdEUoT|f6dEE}loLcxSrL6+w z`mc#%--wh0&v%!+R*hYq$#*@ZhH0 z*s+6q!Qq#)+&XgV@yG3_>yU#;?;+(uIE09-uCs0|MOPv|hy3=^s3!z>abQ@M2XjLr zWbB(rqQ2Z5$rpF54YJ+&&aR;RVr^5pF})isJ9l z!KG6>F&`v~r=+5u_Q^Fi_hB34QWnh&;AeMsJ~xs?h)P38N2?%#H|Bl?=9ncR=`XyD z@b64gjYdD?*-%QU=lztVvg|RBhje@%E+`Z;!AZdCZyGIc_>#Y93Z(>2qV}XpoIA;5GyD)1ZE0BG5@nNQ6>Dx1ynfQfB>;fA-^_l3qnx(GR4FFy-XBIX~_qt7T|?% zvBKx-HIHw@?vCDDL6U{jPMkCT)%Z*-KiElGAkv<40idI8y0}H#0wbk5LKE9N&~w#O z0)sxStv`YE&^oD+v`VD5D;xVBAd|i@L=lzfic2mkI$(Gl$+xzBZd!frARw@i>kxLl zkZU^Q1t7!j%>m8qVc$B6PMu>Nh`HXci0?u+=M?SWX2Pxd^QR62er&nSg|8Euhfk5` z+pSd?`n5Xpm5p3)Cx&@i;9q#n*{w{EN~?s*1=ccC{-Yjy+-AHZHQEUhCtvFNCa|4v z7XBr{zk$@#8Bk2CubCI%fHJYc-ngcshaRrzJW@xqhk5{OJGw_ywH~yGFjbo8N zIlw7HqALXvu>k5`n9HB;O$6Xl)06tRX^hB zmsv$S* zg6y8DSJiey9GDyR22y~I`Q=n?TEF2yR61K?oGH`-SL@%xr2%1=kERt@2}0+v{T1xy z>kA43n2eQhyZIY}Hm9pEn^t+VbAE|&!ucYi$T9N&arw#t%>P+kGX6gX-=(E*|Mz4^ z`%2x$%h}$WPTR@b)XC1HrC3cj zNPPN|?Cs|#XGy!TAQ2rER>~(U@Ff&X%j)X~om=?d3+^1W0$b!ovsWRAKh?Hj6%C_a zxn4YUApvgkJ${`y3pzcciUfTlpdcpc#dRnd9@o{uK2&em!cXqA(S)(y)2}PqO zS0umQmgnm)h9Z=0YW{_^c^E{JMjhXtfuLVZ=@uId0Eg4Uij~HC)&R=$LZAf31GZV}_m&zUQ<2DF9%A8qD=oSMnDJ zjZO=GaL8oQlwLt}mU?C#`nldx-KUYB+6;&Fa&bAkfva00>2sKk9d(5Z@PLuIf&7I> zj9DK&j@OR5a7Ubq{9)RXB!&B+7GH znC4uc4h=^qkgcNPM-`vXjy!9H@(BS>zr3ouGqLA4M*SK(1H3(=c(K{lZ@(S9HeeYT z{u!4bw2X+}<8=Y!!)IjdC1*1&g8q$?ZzEYtHod;@NmBv!21xaIcDb0(Rv^DOYbMBs{w*SJrBgUzkG(oMw;8nFJu_MJ({anT>idRW%>zgH( zU-7|j#5a1tuCL>L^~LTbwY>XmAxH_Dp+`1rdP|NzJ3o^Z=U#F2`V)OA0CITd!1z=+ zWB0C%3&K~eNgwJGdkXgQ<=~F@dqya|x8D+l5&q*dK-kocsO6hwAaxz88LbL`(?`YA zYYpG}o%LSO6cT!}pvxY$fpx1^dE9%n%q433mw0V%De2KbwdPi~^t!6;i=%IyvQ9Vq zN}fssX6UhPY4TP6k-dMTM0lmT?H%qm-h{Z18}o*C1SN$%h0yaYh!|BDXxWOv@ z=Ej^T^A{n9PX!q`?0Io@zeI0Ys647e#T%+I%xh15fv<_}>t>3ur|KjAb=WAZWgXU# zd2w5moB@N!Mcp9%TO|vfc1M@nQn&lXMK4v%2jb>tWX!VXVpFFi?lSSd<7hTNCFea1 zhPHs=+xPl<$IW~VyL)PHH6SaRX@Owl^^gyJPO}{z+8d+tvv(T{Fl(&)ln+J7!ieRu zZl(!(ZFXMnm`OelLrDfLsSY+hsnkL_4H}wO=}k*$jK-dqcU{P%H=Gf!F{L?x?afDD z=&t1`8&@>P7IX=5QQjAB?q0f`p>&M&>~(lAeR(LtV+PUA#U<}|CK|~r|~AP zC&CNeqw7~&#zDrJ=a#3B4!Isu7z);$;$M@`$GD51M|_laB(=pX4>_dYN{`>lP_LJ9 zc&ChEU%*XBPv#)iCuwnnZU5&`%QSfTi++!HVw2(K>{|-pvGa$roU*n)(wAW8%;_pm z_~a>k*En0>v9-|0rH~&xLih~M?WaHGQsnv+t`90*qwd0uLhzTXTiLB4zQ zB6?@aO}>cj@0QnP;b9K>^{KzVO%oGn(U0nlJ4NQWoGEk1EtTDbGeht8r{iVLT8k%a z_&mEWxr-MAx%hgDct}edKs#sdo$o7d-ZEP=s(3e`LFz5z!|7b_?pX>arm+`n6sUuG zh_F#@=A5KqU79<3+~;bf*Y8~TqScSSRe)wBOWXF9ABV3);a9(V`~RwyA!=h2Sg?xH zc;jU9zt3{X9s9yx4g_Mwk>F~I&?w~X?&gBtJAxm(%BwD~DczyAOm?5?$b9=7YY4cg9YM`2SKj)(zTmbavW{a(9A8q+!}pNX6&WS9-#~ zg#=s4g50b*pLb%-_!qc1B_w!?`6>uDV)z&Hdf)#&W4iE)Crzh!-tb7yBM*gs1!2cFFSZ(+E3@1cjaR+1Kj^rJ-&+Sx+SYu%+=MnPiry%G07$-GV>BXh zRKq)uj3=e)Fqro0l-R$~i%`napUU~Fzfr-XYZQ^mUvl((_OW-FcVlgicdPu{7B6y( zchDQw%fmr8Fwp|5lxGilHeODTM*q&vx~l;FEHP?-o&@~n|4MK3lH4_M)etZAn%PN@ z+J$p#IO?b8n@6fi;Y)>FA>RToS6V58YdY9oj$F%D&HGGMKxnAV7zT=f`0#UZV4%Bu z`JpnY`hpn@u19^>_tOi{S9HiebW2Y0M%PGr$fPn&N?js_bQ~UkHJFvWs>kYVvhAK; z)E*y;B4v7uaq2BLJ^I%x8Vld)Gk|b>rCEsF|I-`z>Y5~D#TB+7zWE-eI6_#n-)TtH zx>*n_BH7I#Ppo}XMW~&#RE+X?0ok(8G@ElB_~(oz+64V&xA;w9+ni<#4{LP!{C$@$ zNv1RY+#)|)>75@TZn!_I>E%KSE^_0vsRS6Z!ts+1o;@Fn90ffmwdQWZuu?nRm&zGTnEiZ<(YyT7rg_+WF(EmAWId8|by` zANYKfpaKAQ_JZUtKkz*)w}=faXJ}O8F{8BV_qjT>*)9IvorsLBl=N>u=*M-7cF~nA zd5>vrqP%*ZocESs`4#2a^$|(+FRTLZ_S$=mo2?_YTUF%0ZL1x9dRpu3P$(?XGw&_- zfwupS?9xrDJ*RulY)B-8ZlFyzule?cZRcLd&(8dJ_d{m+^|N2*E`dmla)hAYwAnrQ zVNf|#ZbcptvQu)-xEpZK$u&#*LR0!}`PQ*hBSGlJOUP`Pm;SsyiFX#IXnJdJ~8+G#I2Lz546DZfPI^Dd`uL7e5wtb1Lp1{gN zN)uMS|HqQw%j{m*##nnE-;)zwv{P?#x+u6sd)3 z<%!>JP+;fG?fw4y?p9LO3t~pdloNx?ONV!92i(s349P-xwzn{@cz|-vjxuXX>x6X6 z32R9=xjJJe)~a6RGVe8$ldm+Btq!(r7v9j)Vq*+h;S{WEfiJwLmh?E;?RJk`XPizq zG<2q3(Bq%5F#{`~Pa6LV0{uVx;O4KYC02``^@W;on;V+{b(*=&i9V^im8te%y1%N= z(^2*9hlrYoH`E|Fo!Ko)gs+nAt9oRiyeu7Ox6t#snU#5TO8xhUbhp{agoWctt7m}y zCvKk^_5-nxtRCMRrsP#mriaYMo0v_B_sTY2A0~v05Zkr;t>$pYeauOs{q7a6AzC_* z-fw}c&8Q)vAraN{9G@22;!CTfv?10I9Qq-5L62&+B0j8l>|RY%*n7@ZwUK(e0_8Bb zw@)~-M(&pLSTeR4U7jKhKRUPr8*-PtmZU%STRCn4{8V5KEKSUdb3OvcR(%XEXMISQ z+)EA;&ebp#Hxa8o{T}xZ&p1Fo+()pINj0g$P?tdSz;Z20x4@H8Lp8TJneZqLC-UMg zFHpez^Mw~6S=zd$1!;-7|5DVYgu-nf7jmZZbdS|YYHw}($L3Odu@!gPkp~|0$2?gz z{F^%a>C;j@wbpE9%_`|4mFl{^Ofd)794SsAdoyC`^GLS5jXNKt`rjc|Xe0#>q~AVV z?_!Zv64v!`_{Bx$L=e0l&z{ zm0zRfw_Wf5E0Ydrhec(cL?uTb-L-5DBc}K62?g$ zjqHXbS~s1o(WQmQ=|Atlz&@3>UfOAg^f4Ymsx(dcu6uOo`x2rN%N68=>~+Q@*<|yT zAzeD;eLI^gw;(+V9(?q2N=wqyQIR(HnzP=2K3Te_#n70jD!{EI!|gGOHkQ{7`RQh^ zsba0!(eGmU8+b>?h3&!Agzl@iI!$z$J;Fj`D<>Z?JAaJ-V52r0;fEKVkj@57laCqi zuZ1ysR^Og9dJ;7%!;dyfaVzkhZhigE@0{(;HI-I1w2UI&~fcU~gf`$Hsuu9))HTH5OXM;6%N zOj)+To_1o9ud>?iwt)H>II&N)$Hv-1Ac<<6%xSp1OXt1yDCuv%QT5i+`1<*o;7ERQ z4~_cp0(S`EGO)!!NxRzmvNZ+D2mu*-CSHwdQhGc(OB=&N889!_T<=pa#~3BBU1(RV zY~ATz+Sr||^(Y{PcE`O>T?~6Se)9U;B6GTo+8TqtY#3-2i8_n2${_X6UxAyR^X-lr z2T1~%ip=AuB&6n<0WX-?4BnmbsL!S{Zm47=nhV|KTGX$5aN#k`5l|)2r zoxBA<{(Rkep!du~TooU9kz2>q?h`#wi_$6z=E>*Ca>At=PG)JBC%@bzYljRptKO}c z)+Br{3*8}TywCx8Hq0^q5g^vJ%UOAa^XITBmS{Z5zY2*|@rYam{u?aa3U%%u)ZF1! z%ceU2{(8zRTNs;ev^2fl5f5zTzY=<+ z#?e|2IuEKR zgXhc9p+*7vi&nts$=hG2{%8kImon!Eg);qlT;QO{JoSKwH0>qd&Z|$XJP4I=M&kDG z2-I4*mnp{M@xbYWtdAWz(s_<*cDu3y+)@c{|8zH_)a(>#lO6#$kkaHx`5(#4ueYvy zo;_Rted%%i`_I*0t;a64x7-)hGlGRx6pc!f%#^Ame41U&!?2kOv1fZ>t7-4=i>t=s zGhQfTxfo?|*NpRW1#l^MIs(Piws@D?yl+&pQg%<}uWSIpJcCN{`XjW?q)CryAO(mf4g3C=8dlC34 zZ%7+FDlcH*(u(o1cwLu_AqPs7?FLe;duo^Q<(E<$Mm$HY|NZ=K<|q%2=bHQAWg?=J zUpBp`ace-aAoP_tx75;Af0v(zWU__8=0lxtm_J@sncQ|(?(B=AzQ-x@X@c( zfQJi0b}xC)Qfm7{BH!G4zpd?4+Y(8_)g*pC`XltYctTbY8YRlhg?{sB&Tj0t7cv~>-O!~y=jv; z>Zr^72)%K&NVw#%ek4X!C-8?fjiRjJ)x-DGwX9vlFtDB2lU=;IX8A4tpf7TR7KON= z8TH@UG|Ba6#YKom#eO_8^+1kq0asjHH zSfk2&#_76`WB;y419=3f1F!Yo(A#&;ynFfn3^<|;Jss?OdE~^%Z|ER8;jHm(_xeM_ zSOLVO^?qL3%g?oG$xDev55pMu+-_XXgeAPJ21t5aOom!$7(!sNOr}%G?vYn3a^qW)e|$2F%!nWE zqymMRQMSMt*Tx?1OkERaQ21+E&Ey(J!+t9#Y*FS#oRr#9cIBayo)K>C_rmWuD}$3U zornEWMSa2_buVjVDB@J&`iz{2^8K$ST)oXfztU6E9C^k$kypFY7*BsMj-@)D*Mwr* zBPUujp^}I?nYKzsit>09fQ4m1qK1AcdwsZ?qmP^8_xToa4zzs zfyEVl)KzEld1vY@4JwAk`%{7M}wCx2QVDtu*uvfYnqDEeB_@0cmd57~D&w?R(4c={hUJ)d}T z9W$lZQbCTMGw1k(&%0xlq;IjoG#llW&&m=VmAAWid%tE!=GHIYtw-PQMcVw~jy-iA z%lBmD{ zz0<(>Az9Pv(#o#FG?kM*MosbaSaOp^Xv66J;n}40NYiO9Lg@QXWB8|tN6li7L*8&E z&u%RF8#sm*YmCR;&{%R8zFUU0IX{!gmBbD-K{VDn_nse>7Geju>qp>y<96ES{z6TIoB@du1v%)fGu$z~)j$A4nAY;|{6&Hy}Q{ z_z2DS*1d|mtUM_+9Op`I9}_Cg~=$TI!KWH6iYq_r%J4Rtdm_#XJ{ zez&o|zI6xOtm=9n?!@7Y4I((iSpQ*aB`ZJ7yeHshC@Hs?{Lw>kBjfKqbvdZ{HN;@P z!uh=uNJs*`60_BNjSXM!s5EbB*zudQ_%yrI4MwutqZu3Om5!&ye1*B+?<^G#wj}Ki zr-km6?3zKehsx9~(<+K1_4el)g+-q7OcjUstb%^l)m%bLYh0hkL=5~y9s_o?N0(-F zOdpHhAqNhu@L|>w;O$p}?_-X(VG=39lgu2m&UY0|fy|aSY`A-3Wjp@M`ygEKUv7*_ zc_jAb(|LG&p+ygG8`hw6<&Va89Ffruua?mJ=)W*tmN9+DX6q7>a|zGn-ywJD%kG!{ zp=;pGy&C|%vy&Lr8qcD!gXZ%xr|&@aI4rn_)n48A{vKOY_tGIS1;vjq6Vf$0UxFkV z#S)#>N6TcM$y%0U|9f0c&y?~rKlP0MVw$mH+LiU(d59lg zD4V##%cuflcRTGWkyF*Jg$gLV{$Tfe_%j@mH&)Z+(MskTRbpy2SDq^6affnfZFpZ- zROPx5Ep1|cMD21Saa7~5=M9$xLP?(|I_Udr)UmDBLbhn80{s$`)jRrKKLvYy&jstf z71dm6@0?n)HL)amx7Nme;&;N zSNAdfpnvcOmk{x%!f7Tu80NzoQiYTDs7|++r2@Cn4%6R8@9(~T67}uZYEy=KpP>Hf zF}6@Y?UIYij?7?c_d$Yf-3MG0V7hSMm_Nf!d;KExeFjjZ1fi6JgH`LbMS*DVL9hY6;F6je_ zSVeaI`zyaKI~kebqOcCIdz83Xz+BH(Q4*bgpQPTunJ{44S7csF@+( zJ07}l9(?}S_E_qKp>FqTXaz2ObXs_`*|`8QpFk=U zOFka)6tRoReKL1vV)`hwLFLopUuo|Pk2M-`xWqu*pBD#KHX@k(zJfN8QB;nevNJ3 z_$jx9Clj|5`1`d}s6ov~5Ya zWTaoc)dM{dD;Hu}YVs9u>n!$f*X!2XHXwX!s+r@BC%HR6X)0Q--@ccBI=-3pZ>2*l zYXC2?sw^6OI6RFKXMq;6lVzE8Vwg^-zlt|gMFi7CbV1?onMpsHf8ik2Z4$><01y|d zgj$jTdu(9*2Pc-Bl>p=T(|E8GP;uw5S9=wDYTCm5>Pv7`)V*-gjUp^9X!()r)r%CO z@Q-Zm z4nSS{3Essv{j}YHpLsHr7NW1n!SopKql5oM;5VA$rdO@-l3bm^tMb!nSJIgm=d;wh zy!RR?&R*k}nv=bPo|xt=sAv=LClSs0hqT{xVoNMa8vnyAB2BJ(R3WbQuf-Edbhkl&#z$cE^!awET0_C1 zG3wHsMJ|{XBMk0!G~P-MgB;vNk7R|O&wR4}DmV_B_o#8^Piej{&457%lCyxkFO^>kdA{FaEWGyZ-LYF43DEL8P|5xl$APP zTMgXTvKClAc%@jLBS;Z@_|tKNs~+maFIRuHEKz`*-9-D~D(x*xZ9ZNbA&Sa4TQMAc zy*#$--GEei2z7ZHB^Et_w*B^2Pv?y(6A<3>P3`w^-j}`UTML&EPliePDh*QkHZWbB zoQ`9F1XphRJKsMldY|lYEkV-0SCbNQBTU{&7?~9f#2#_IV9Tvdokp_y-7P|3n^uBO zZe7d&^@(#(t!nGZvQJFS30LeV`HjmmVE}{=o3DfGjb>#gbVP-G$xhdW{nEwhQ20Lp zKS030UOR}GZyQKBp&(t9*@Mn!ZMxo0#{G^7URPSk{qlj_w_E8RX+ct3MT%uY(KQx4 z)A4Z_dq?0R{3e?}(WpAuq7W#0>C*+&$l4RigZL*-MY zi!XhpM`Hwcv2`bHtbR!^3m-`HF87k=Z0aB_jJbp9CE>GaDG(!@%kY6=I5owP^KdlW zc}w!=6~x^bhquaD3VuWp5Em#t_$g}TkVxrKgEulqP9q~)&*ux{k@XxSy{Hkago-nA z?JcE0<^^=fX_YQpUY52V8YHd0w@W%(YbLEJzaZ_}>MiXVT_qi}z93!LCL>+y-AP(q zdR@A-#)_E3FY&+LMCjd<44FEPK(CiX4)bJyMFD{#TNz#~G^3Ut6}rn|VTyENgA(nn zQlw}4ucUWtKA>1ogW{z&qGqne_)rGzrhO*aV>mj~Ls0S$mM*!imd+RkNSkIJkXCJq zkq-afAYJYnAw7L}M0(QrOFC2$BAqe1FCFUqQaU)z2&()k?dOlT#tHmC2%W!eE>f@4 z%L{Ai*aY$1re{lE&L5V3 zSbaj@#zFM?+nBr#Kt+77X8K0y+x0-&%?l-B(I-5DtkHJ*it5e51lS!ULT5>s_x{)9 zjJ$&Li+4!vTQU2xQOtS=aMbIE_UD^u{jx-EPcc@4?NCd2j`JlGyfY6Af7=>qWhLtO zYG}VbLONw5kJgDSY*($7URbt8yDF6ECMDEX?LaZn8||_>WdH4zKKiUjX60mj>{4;w zbq&9f%W)P6jBUd%oLjz-)^{+DzwgukvJrMezhP_PfJcp3k1b+;=_dHW?t}4h5!}d) z8VuSy5qRM$;Ythe_A?WFPYlWnOE5fAE4_YcC_Rmtjm-9os0_A4LB0W%`4ZmFx3OKa z8l5^#F)#l{S7giz8rrxyj6?5i2@V@JV(})7pttX_-eW*q^HdD;mSC~77mkxsv1|=R z{qS#;#!Z#}RGbq$&_kRR24H!|9*sBa#mp{voqyLw_B;T$fpN%)5Y=>>SdU|I$ma{c zCtGCFe>Y)1L>BE5XTf51r-RvG^p1?d#ON>1U;HqLeov77N6a+eU~XcESGFVO( zGmManL-5jhfVD|aoNLw+us0XiroD8WRE<~KHQ}Xfkv`9Qgu>)TjC6f9?3Fl28j7NBcf>=r1Ga}E2>!WLctq}aTVE#pWV*;d^|4#D6s6TB z*se3cXrDSZqfZEypn#B*fta0JieB(|;mfLH`of8hi{4|HH3KJ;+jwf9LSxEl6t&WY zC;SNgcj9-=x`>g<89H=0CVglw$434ywtf;uCnHcBaS6S>E?6&4C1S6kP+2`OTqiiH z=o>igK1J*_3%n9OqqsaCorp)coGr&Nx0E<+#X^^%`h*!I4UvX?XrtAh_Q-(hq8*?pcdZ%TM$bbx^;39akqEd{1~{X>$nM zFQph>H5H!jd8E}LSP!>Fx8F20{}o}H_?DD2SI`boL9W^w^I`qq>ugN*D+!%ES!jEa zZ;xAxPre~?mbWo%JcD_O5-Pb9F*Fy9Mp-qEHj{Cv>`#i_RuX#D5uGs+^Igd(&9y*g zVJ-S`PtaU;3*ABckjp<$`}^xLUb6(#W16VDioPl@G~Dqem>pb7hr_;D80;6BKp)i1 zdZ9M9QSdx|V*V37^{GCc`qZG?U3iuzJx~_jnWo7rjNDqVT=56h8@@z#o`X~8j%e)m zA#lM_-1oN^e$^SgZcRI(HR5_=Rw+TVm-y?I<~s<+v9n6Ebc*J)^eLb)*Fu z)xU8meoX9`OyV^+5uY}V3h(puUbm3!tX8^~)KI$kAbm7fF<3#9ltK2Cu3k;-oXhl& zm_gQ$Z-n(}V$8;l1br=L2lI2gMMkumrjAF5cl$&Srx21O zpEIH&AHNm{>=(`>x@rgJ&w5jMQ6HZhdcym9PRTjpj~FF2pMg;yA^Y17% z!s71YR(}nb=~e{&>Pm{oJ>qKGknfVmi0OiT>9U-NXgzAis*?1$oPY)UD6H&7Vr?Hd zR!R8!C;}@g==@OR<8M2WawLfU-?q`s^a_bBrKDM}p~w7(|PTEhqey@G6{V zlVG4nK+XdEdQBpz%M@JN+6o@KFA+m~5PbIq$=Cie?Avqtjh#Tjf!mb!*+aJhnxsBl zK$@8XBSLo|9axQHZcM>y`v#H@H)E~(6|4KZ2wGH0 zq(*0=ot9CM+=jj@uHgPVh74IJ;t%X6U+V$AgqQ05=O_6x14z3&lKQSqRhoseZ%^F!>iLWwnOkH>wXE7r8d$9R^w_uxRR zk;uZXt75VJD>kvCiLGf*M!R!@u~sKLZob$f2IPF-KzubsYwFWat&*afoiX^8BUpfD zI;|f@+|9*w{iBFy_)-Ex^KcOCdk;M;y2sw2pNbBnZif;TcY=X}pACQJM%VkJ@zbA0 zfTEb8hWg6{}&{dlFg@`-%) z5&~C0pi8wJqrbl-LGg&_@*al3r9tg`ooDulg~5+F?5HZjaa06kLZL$4#&xeu8-jm3>US zjwk+~I^tWn2Dckw7-(A}grX>S~; z2~;E{Ut|#du97VH+?rS2$U4{`^X5@FZV~gP^DBbfT?OBM4Z6-C&DT{hV?qPA&&J&B zD>3Fmql|dP@b*G0WxJ3jG63I!U+{_%*`Ta9T{5+?cZkF5j_~USuOV&PGqRpmksmiy z)DKr0zSWZZ!-1T~7Q|2aOXK3B^c>imv1Q{Knz0J^zy5T)KNcPF^#K>{KINY)m2QNDN+KTGI}Gw1O+7>m_$0}@MOi9Wo7+^(XY&AEin zmhMQyL~peeIex(`Ttg=OkAL#NUzslrpttW&YKA_e+qq_{9=#RWjPUf*V+fu+9J9~; z2-FgHM1H=<)&3fub#26XxsGW^(bLEHq0$_VWzs5~4=Lez-HU9mMZ`sq!E=&Wx8nyG z*K;D?;p0Ue8bHzeN@8qFaen`mnmgL`ACu02U*42P&Sm()ENc36rBN$`G2gXlHYukt zaU?a(8B~URAw#E-#Cb~yIaf#ci!hvOGAf_M-3G0Ds1J2Szoh}wRb6N^-2vIw{U~3Lk)DjPLUZ1G zMxJP4i(Zq+M@KW_VK(F2iEQ_u8TBh)vP9%04J${`cZ3Tg_speEVH(t>3BDtqXn9>? zef|;DaWInGOR~=ik9*B7LIj5pnAwpSO%swY-N3+cm2}bP3|{9}3h%T6i_}TzUZ|ww z++kRGika3U9hr-7Q0O-TcdacAN@==Gv>D=b)731cRz-j z4WDSV(`U!x%kW#4KHa+!XwjQ6y=BA<6^z`JAavd*B6Sd%@pjR7uNC1V*ptfib~qJ| z#x(Ef|6M1`4`T&?okz0ZQw<(k2rvB$ZjHT!Z@UQ3NHyZ0iJv>ZiE`Nl#>{F<&697; zTECaEn!OpW@`SnucXD^^V@z`#b+5gM@vJ5|E?8)}KlC- z(}oCF9lV3(=zT*S4=d5LYXy^PI|u8jH;J7$3+*^f;%sv8Jp7iR%Fc999*jxW1!T?l zQ8n)(Jt7bQMJ!RezcbieNPHbDAP4DgVc+~ z)H)U7`L2M`yL*zjB2I8ARYdL-o@oy!D%+hQVVWIrA(aG(wRRXEhgF`)Syfta^^TF+Tb0)-Y^GC}Z;Jt&QyL*mggoW=dFuGyz(P;(>N zY8u6(#q;pA7Ma^LT)JtBdOK5O?Tg4sP!KHqHF6$YA-8ucJ~Fyn9T>8E>Ic-w|-=3k3rg6MJ-}U=IW7|K>Bj-GxRM`A_1AF#2u{BWYY4qMCLP zBJ&TIW*rKQu25<@o~*NiHB$Xem#tomet(HBsg4Xu(H45!fDv;=|NSlW`KQ-}cC943 zQv?C3qMvs2qsJCo$`&ipEpBd>Y9h(?%W*@O@dQ*H$7FQW@k6O-&f}^AG z4Sh`UyT3#p`HvvySV}&fqH^3>8r>QNi|0(CV0e6u0*H0Y5*m0P!FA8^8Wc-%#8*nif(mi&hO7`wbKx-xO;w5f=16wmYeY{J-`UdHJKtG?}+4QO8+QDqSl`vwaa4M8&(j~poIT& zS^RFE!Ex_uda^5wH4sH`rdV0=F@SF9znjktRv?vZASc_#FRA~DwcNY=bV)RX=sy%|e| z)hryok45tEBrU`VKe674FP~GCe1^#T&E%B!rRZA%_RAlWIPU+gyE2~`5Ma23vcca8 z)c!!WZXi<5A(}L2GgI~iv8QSUo4S^vOAYW?w3^Lc3q_ANp+&BVW#PgrdiwE>%Tg+)b^O&lxHjKF)!1({xQh(BvDYN3)zHcLq zC&#mHy#n+1ouuE+4ov){&Z15|m?r(DDN~oGJ_f9M@K~%t8PmVsWP1k<)|f12z2P@z z?7c-*lqR)SmQ>cqQ#E2Ub82g88e2_mQ%~xxUXcI6hY6+4OxQf1#vkvQ+2aP&OEoDf z|4MvS5UW)-GB<7`^7 zG6xAgJA_GtwoqO6l`0n##xL5=9PLp|K5&eQV{&Qve2_Wa#<1h9H51aJ>DPBVnJS~0 z`}-nIFZ0W-^LS=aS1Yd3GB z#`rR=%Vx0qSTiHKyk*IT@6=9^r8;#Cn9D-J7^l9M(MuiG;|)r zgi{90zx0A4&G!r$_mqkA7t*jcoBqFT8IhC9yr*K8x|K)$jX)X$1~IoRnvM1k7;AO z$-Wme?KH+0?PQZmE5nPl8E9w5;6blxy#H3{#?MT8)=J&RiIfCHC`5R_7_y9>k~?e+tLB(#7^G^G~0oTi;rSoC>76 zHiVVCwP;$on&PXiEK1g3#->&V9r#CKi7X@Ly`#70OBRScxAEaKS`Tex{;>p>RohWD zx+9YlZD~>O!_vH+G`WmqO2>IL6?|fO!Z)^L_2EF>8CEN3G3#nCmQK@Ul9<^_)+jUX zMj=&lQyBYp7GtI;QGLjrq6HQ-t{zX#G$mF>{-nQPPbR;bFSPy}nyef=~)Th#* zA;%DLuc}Vw91~Oq(|215wa03htyIlCGZQA|&t}HU>(uV~#>4>{EPNG9%i18$FH&ND zQx;2qFJWFvFPeYKP^*5Mo(B&yLiDfUM*7UTC{NEfRV-W9z~q3nOsM@r>3vmd^Te5+ z)Q<^riB#GvP}wn&$)U3uGUq-c3dDZuX~n3mQOq1Pnfk|PnJkydsuQc2?$VBhc}~>t z*QB-0JW=b0(Vn| z#avoXi%|5hkMhWEY-Xz1H&EU~-$6Lu?#t5Qy*MU1j*HVFT;{gNdha#7Vi#lGE(!A% zdvFq-eBD3=Q4Jh%^NYtPZ8K)KB>&tzoha2$?6+;j$9fzwpXXt;`Ct4}hGV+$GO-Is z5s_htQ{(2?_46cXdje6@tgsM`-|WPA_RZaZ$qK<#Es{9g|0rg4Ug&Qx#&w1c85J>D ziC@J+xP05Nd01Ob!@X@QnO8^QKA{Oaw`Jqu)&&dCeR4LN;5d6WyDjAZT?{X zq+k6-{Q3-3$GL4eVV|;BGOv5 zz@_#rA%%S~2#UbN{s?vh3^+32r~D1|F<&RVvR+H+dES^TTuSQM4){y&v0R&uN14nN zb(I`z6h^|Y)mYV};`z2Q`dzF!n*IaBSN1rXpW#x?2Yg3o5MZ|e|HB>>9r~N#v?+w1 z9ZT|-#v}_y4zrHIC9NTWCBv|tzaP6PcQHAygGG58);X`k>~=h+FP3n;krNJe4(PTx zjLDE~*oDY*T_(@bw2uADbnzT=gNUr7oZqR3xA-v~e)Pd(#&Z<6tq5vz6xVn2C^MZ) zk*@`Q!P3*$dXSv)lJKpI@!j)`h(3#`xN?q|%6fRdnuZh*xEC@KF>NGi!qMl4aSnNook}0owzqg^ z|HkZ;Gm35*n2oxIPiZZox--d-H6|di88(*%%S0v1>o+FuV`tpX{KLgQ&G5hG_kZyG z$s}t`yM7@eP=m}tTPYOJdtwV6!k(#6UOIqJwcOq49hiw<;N=^HbFiP_$#H!+Ydk>C{6@lSlCi&Vg4EEhMBiP-m7Qw27Z=g1nUDV)Fj|wyo@=vk zZLE)7@-wpf*btsN8`Zvd`g9lNW$`Yr9fI+% zWZcGm}n7m{9QQz<&cwW62oj@*Nh@DU!u$GBe_#g5&DxafDqL3)?(uCeGn zPeb*qF=p+=*LwXXyPkL8KjB5D3Z9%^*M;?ZO+=$rvt{I7Ryj$ox3&$-P8qVc>3q>V zFXC@(Nx^|}R1WBj%6%$6k;BOl&tv(`30#DE z7{85RQT#>@EqTHQqkQQ2h3TSK=B+j0%fS!a&?@3-xebwqP9*DS6T5LM=bU=-{PIJp zcdn#hyPEuC{&>{A$GYw$X4kE8_+`Q2XDJ-W+mDf|5|_PISgc&ZzPrJ=l(xssD1bwc zmSCklgFVALqfl=Z+|(a^>z^F7TEp>~^8LX5;=8Wl#Og3k%`zbE_F?G(3B=!XCiSld z_(jbj_DvMQ`6;M6pCD||0xn(}jryB5gZ_E3UYO-jZH+ioyfVYvhg`*HF7Yr@5-6saxZHh;gh@;rS?v|muO>hY%Y;{?{WWh zP&kG!IIW$C@l68`PUwQ?gi;PUmt$H#8h5=0c&s!QZpRq6Cz@D{*Cl@60P=pf##eOg z#IiXARLgU+x(&Qf*@fWO-vghX`oz|?$2qA#)i0iqY8yn7czt6I$R@5v0c3R- z%<*Wv^sko$=H+7Xcmy7Kf~g(!aBm>LWCDsWq@oXkN^-T^=duI`_N@lxmZ*WMNf_r%(YQIXH)3V5! zzfJI5M|{K&#BS_=EYL{ zVGYW+jyTUv!CG~nQ%BW!bsr;hmo_du$3^nN4uAY{Ek2Lm<7&*C*>Pg!4jjU7V;Vo0 z@GYj&Qw4h-oQUuJ=XgCx;L!Xh=sIt~z5lt8r-^~QRtE;-@tgv0kh8TtUf zEiYGIee$e`)+Jc!1xiU^*#%>uE6E&TY{RuCTLVOCeJruc=8HvRdzU(gkpI@ z6PK^8@aHwo0Y^!^It6vZJ$PJvgIc_YL36$l*>FAnqEl9lGRE&hM=UHFqZ;dlY5sle zuWul)>tCcsA0xQSVC?RV!++ld;h}0V4l2OEU>Obp1-SQGic%GarTARd{3~~V-&8_f zwFrtb$7yl|2Mac0yX&j)4ll7!nS)cGV+5J}gLPzEOb12cbTJx-b~6bbJ`j(JV<<;y z;9IAGrBa`B2QPE!#wq;51s7DT!eeY134M2wr~MbI?0)gdf3k1g-^t8(KQl@ zxl|=Nq?>qOJdH!}AKa{O;i+jraB>q){#uUpcxzlee5y{@4VM7|Dkw3pShPfTwW$dUlPmNZ-W)*@5S~M~(dyC*fNJv)7C!WOoK$ z!!tR1pbYyho;WuM=X}@I*!{jQxxlIT-IdqcG75hiSE}`22_8O4$N`z>AL(OkI2-Nn zf>q)>X_{%={??tM|cZeX8Vi16$5+|A)=uzqJi+B0OU? zwzFI%|Ja8Ef6IGM8%1#0M>!KZcnDT;>RV2r^*cE)g6&F`I2`uJ&o>C4c0);iyb#mJ zzj3-zjOt)>{EjuDy3a59dutP6vXf{V6Cy%I6MO#!mv>94*?0ic)OXy-n9tcynPi!@ zA@VO{lH3Mz#dEF9|NFUhdnmy%`S{EoOxdM8JjJhg(cF?7pVpJB5l_;A1X8QcbFJyRT&CRkYplC!>V(c#yQ92pl z*8NbWJ|%49RKm|*BF4~_c;^^WYnGtO{Yv<}v3T4bfM024-*Qx|O3YHL6l8%2Tsa2)paFhK=@okr)vRa2<$_L_I>Jh##pK}*lNL`qN zUw%7s4qPG3zdati8W3IY5Wxl=3HDh)Qs{Z?(jIVeO0qoXL3peWp&8&q!#=nsQozNL)Q~@a5a{{rt+*_J0kzJ!MnH{LB0o3J%}bT$b+C> z#(1qAO3t_e|7V`ait9nb_T_}!`9RdbaVS!!5&v1{fcLHNY*&Vr(h#p21CH-;Bs4<< z&wIj0y*ZBc%f5s>A46hcFpe(%1ociPFj|KY!;2(1S7DX0ovaxd6n*GV#R%a&ANi5c z^CoKZC!A|%iLYjNGPhsEB5etwXS_(>RwuZB0pX%+2h_|Zdv_C3_oU&__$C4J?_^1K6Lt5to%y$!!0KNbz*K?f*!0!bD8FwZY?C5z#XT3I5uTQus!fCJ{I_ zordd3cap0vaJ%FWR-zLoiPs|`uz<6=lL@X7+}E%<&U%%kPmw%b;jdP8@xla zaf|Ikiho;F&z2Bh`7a^PQ#tp@nTP@Jak(Ev_@Ga?WQXDA=7Gvfnw&#@l1%+sa(n$NPR4kvsADZ)z!UnFN4WH{tJ(fwiL`;&H2}- zMK8}J_4^MTKDXfKN-M&g9+TOnn4H5V_}yDibrTaVbsbE!mnUbxX5t+_g81Vas6uZL zCHwr+>LSRo`9nmjc{s~H&%ht&h?6{tPhA04s{{k83Q(tH;F_bt#k2>ip2hgutA*z) zCT;WuqT6;LqRB0i_B|nTnlaw{+mIpqY?Cw2kudZeYRT?LjFIy`w;r+0CZZ7DDKNbg z87sDt*|slf2|;)rorF)lhngA-rxV}p8IiBGh#1)we{Wj?bW#ae-xG(EGdXoK9iO%; ze4kuJ`7saItR*N1M&n&^i4>#B!dHL9TXQclYx+`t%^2Se^SIt{8ve=mv8|L@dfPgz zhxa3P&_PnRT;W1!CH`Bg2`#q8duKT=;!RX#e@A^vMXaNW^ba@4eXy1!A&b(iMiKV9 zT5x4JUXB$wmp3IO&Ks953S0+&Cm>dZ$J}=mSm^l4SMkNDn{GcG)+%LqA}IVqIH zwZ_x2jM(`q!W!nuYpxYcxR|s)v#=lBlcaIKC~l)9Fn<_nA4U_XHHnlJuSps;L2BuB zEG3s*Zrh#e{*$m9b{A*CRGt}+F;{&f+IN_EH%8;97=>B1c)OlD;9~R{hq9+cy^vXT z(OLrjE5h~8Yn;A5$2T>EGyMyxQh(=Mua_826>X(ncbq@AC&nd&oOB2Br;j0Ll^=n3 zhYOxONSe%--ZKL5wKS(N#gH`dI|p?!<^7^xgww$7rw$#CL{O8&cA6d=0 zl&#n|9fPv`30+(D6aH^6IkodpFTYAuyJZyg8cA5+=fpjDgst`|Yz{QSUpts?n+eBf2f_JhzS(c zHF6;7SpmdG-KL=49fB9@5HO~O=y%!VZ#Yec?EEWPc#7Z!$4OJ~AYytlCCxI4ysjiz zAmbjx4~gu$Gwj7dg0m8nGiq zyUI5t`$b=rP5My~8BEO91hO{i%HGCu3SWm)AliIn#uI!_R1>T7jLLb{q}a9Q!AfUx z_l+d6?_Kf)i^W^Vl4Gh%!K?-(E_lY>ew)Z1-=EZQaE^U~%>qw+gT~DY?BI8;iTx zTU{lr*#Uz0R1tn<4r#A%QzY|g`lTr-^lXWUyZ^tnt4JFK>VMNn8uXmvHG+}7=HWE- zIguyBP`B%V)z~efF-^d?m0%lo;kc@Z;4xE)9c@Y0(S=0qi^p%)Eb`{x!egp6K@C2V zI9c$izto87PYBer!O3P5-pjY(wYr~ZDrd<^)W(0n0-{Gh8l$+4hGxUz->5kpBX=^DtfpIe*ik`QoSK{06UmOzCwtUd zf==$^MRg1ERK0n(=K{%{2a;BBp8Tw>ByOn3g^IyEUgnSL=S@7CPbPC^5D%Sy@=QmI z6f3FE1Dj#HY$56;`!H^yA$npFh4=1|wPZbB)gC;`SVhI2mRvMyH!H4t3u1acBW(Hw zQcq4H{LD_`qs9W zCpOA%n-v(>FJnvCBMknYf#>4qd`qz5>eW5ejajPM^vEsECUYliHjezk_1JA(o4<*S zufdv~r?DvzjdlFF>N02bgdD)7NYoculjh zvzBJlHk~z_tZvKYPF*RgT*`GV!TVYvJo4Q@(!f`Q-R~uT`v>Gr6@L5SU(~FJuLYmv^D$PYfQmfMe-$Lpz@=|axw&75mqMRw_4-Y)J=)?_7B?qhg;A%*<^c5>y& zdSbiI;QWhR3Qx=<|93K1Cl*kALv)G-=Qz7RjmHIHoOkx;N!dv9mmA4ldP3M6JMy~) zQmrAJ*f2-Zzg{OOdlb2SGYQ$DPsExK!dEBpQu@XH5I0navt@#~rk8QYzxuB}J>)(w(1c1B8}Xl zvs@G(Otj2t%C_B64mwZdxH<~%+(otjI3dRWVBh;TCEetXFNx;t+#wWR_MqbaJFfj0 zPmWJ-o>aHyn#ml>YDZHusUugC+wy+JFRpl9qr7zjx9dq?etMrw!#rMyk1bPUC~<{S z`^TCPlOM^YiwWfZ93Z;G4erJ@;p03NS#PXKzoA9Z<{9$d-Vp3yh5cvYpGJ%(dEf{V z{+&SSac7E3MiY1b2N#>!bMMA0GG$-Ay2l#cFP=^OHJQ;4P2t_mDO7$<;YzfEn({!I zm3xwVB8Ea;BdUrglB52MqCR01t}-Dx;Ue)CKPZjaKtV!FZan`?`SNPvzt$1oY8`GD zyosC>Bz$8>Vw-2$8BI|Qc!Ck_S%+BTV zsYtHM*)JdUl$_YN6z}Lo!OrKX%haSjO(Z|5CEjnh5#RYS_qMGfW3xXGtTz()Ul|!C zw>fM5A2H+n@aQ;;#QGVe)w_s#@&e9>gj0Q}oZ=?4h>i^4;ksYKxlQNkn|!Ve%)oce zzeM&}E?RFiVP)b8c%4O+MjR!rJ9EWSX5R<%$uId#S|bkr6yMp(z%kv-AXR@ zJxcDd8KnP`zT^;0PSRWoinnk!tR1lt(VSbnpUmM~NXhCh=Q5s~GbP7zNGtIp(?&`9 z!__$Sh`_tHj}WgQn^mqC3(6qC7ma6M06+~J(_A!>Wn3iC(3_G&7Ui?`>}_3EDNBl z^)#+bmvb9zL$-T0(SzbBu>4Kvq`ygbFD1;cFRq>Hb9SpHP9KM(`YioDN%V(h;!FCq zUbM4+a6A8&^bHZjjVU2?T_e2H+H&vP8{8&5Cuy{Je9p_W>b_Iv%4*@7r{KTsF_$ca zhw)uQsC^>I-%Lqge~=89C#V}`;QzZj!QKBNWzRR6**6gTWFN}24!GM@kf767=9gXE zQ7@)yy!cyePLr0rjQFXWQ4b9joZFA!#z#;(EuvWFrZBj7FR^R1wi!_Jb9* zV#TZPY}kEK_AM0Rl)M+a+()<_oP))MG>kf45MN{!VP?BoRrMTWo58}POy}e*H@urn z!+X?jYz_6WeRmz7!u8nH1rgwW1M}9`Q8j;xx910rYx|?Meh*s*UBqF20L}wKIli)x zGh4=DIj)2=@7oa6^Cq>zpyk9M}O`lP7M%0mePrn76VySlz`b> z$#T|gMYr#APWAcC!Kqg4owNk|K?XQ#+2Ry95%Xc&NdABZrxcwV`>@okLNDqWe$N9j?zS1*uA*-nH;~selo~expO4wZ zJ&naXRc3dJ9@1_aJwFyzHEbW+CV(B2MMSB5xcv(vO~NMn@PgqDTUmS(3~Sm^@g+M#ulyZ7m#~XzTVy z13A@l50>eY?^DScD*P_~?4}&g-HX|-39MM?$F?WNIG8R+*F$`?uUy54=D>l<65N_a zaX3E#|GN*^k3Pq{`*P^{SG@0+Vz%B@_&#rZMf+7OPr&tzt@sTe;riA|yjq_ytX8qR z=o2S5o@95Y1h(JYBi`WtC^}?dw6)Lw*6L0x)^TS3ah%Sip|JXdbGu(yHk32^uMg(k zZ{pJD43;mt%WK_5uOJkwpDE~FTZ83M(Jg0HVzK8xd=m%YZ&{3;_~hcnW2cPohoj+C zyry{K(6dOqR+Bi>U^VV9g3(^m1s(lg7`Ch@Iq;txTfG*ow`Oc@djYGxW7#m`2**AQ zMA57-N0SGkFPS}0-4)n9u*dGn0-WZ&V!K`+^d*y+C%ZEPUr2AdwjGOvo4BcTsczj4N_RJ7@%ac>Ij?^th>{k7Zr zq1{D1AQrVa_IZh+nfPc;Mq?uS$j1JiMVo4a-O4%G-*1n7O>4A#|G|8PXb{iDQ~A0P zijnQGsy~SInVu-L6l~u*hyc$B+;1%=!qrXi%y1%XXOPjpIlGtMKsW6-^ImLb@AE|% zPnF%urJqD^_eU@I5{m0h2pli|ox1UCTP-}o)y7yww!_q1kJICqOMURexPKyNR&K_? zwG6`s+few71uqCB}2pYo2_iND_Xdut42ccN?ao0turhx^ze zI6t{ap4(92Ei>?RZYnf!_l~V7({Jk-B=%VY6swQ?lqBnA4?XzF%RPk zgx_}MW9O5?NjBt4L@9+Kd7AY`=W=U7oo4-w->ItkLUd9kIogeIvie4*^1EazrsL#j zhF^9#N&9~iXL*;rwWP8LraOeD#7EJ0H)kzuPV9=`x8igS59X%LkcMp8IpmS%(E zFajT%kf<9$sZTF*j~&5P_7WvsH6+RPf$-&`)&F;$;AfqwejUe;HX5R7h|h0bjC>YV zedZ3`!ED*#X!7(HyO;No&mKu(X;Z1M4Lwk-2|}oN-Zjx6ePsw&2mRztn>j>m989ry zKQ8n>P4=QHss|q7-8|tO%kPnBU_ppMD{eg&k8RJR$%dG6{@c^0|h8&I>igc!+JR8ROw&Hv1j z@dKy{ZbevDym*SnQP^5E2(410t2z*~tBe}OKlqHFj&jx}PHX#cvU&l#yyd<%Y>&RH z^iqEfj$Yb;;f`N8O?{2|&?BVTEf#*p77y=P1pkaC+wCZEo0_72-Az0_FG%0Lk_<%# zmny}(tUZOe-houwitlQ|d;$+!hu(=)9;9Aqs^{55A3h4z~S3mPA<4Ce$Hu^-xCbu6a;)o9s zI&FlnNXGH(3UYSV;@c;O{Lp;>hd_A00oEZK&J^5SMu$)#KJAmlt8>D*IPbj*x0S7qw&uqE4?9o^u&zH%_O-<_=NYPm3mg zk(97~czi7(;fEED6CUAz?<=Z1|KZZcoUC@^iImTxOD)JHseP9Ce&=JN`bf~5xtMP* zz&2qO;iXw9y7a`W;3T=QGzQIMaqxXYM6YEW)#^ZqhPmY8?l3N` zi}>v>;JbYnZsI`?lKt1JZjw=ZxE6;N*KvC!`dXdnZRvBdFB0By=1QW5Webj4Ns4(V zEOc(-JnJz5(GT!g`~_b{lw?3uWVY#m-p=)+vrEpxN6D6z+E^bKzp^5ikd9q&eA+~2 z26GISE|I?YFS@1cNp|UqLfISF!gaXk3vMhsfz`NjLOW@Rj_6F-sH?chPIdQ?NBH*Z zL`>*xyiDz|J=H?9~-Kjzl1n6AE!+eXR1-aU)cgTKis3BlpUGMs-sCOq-Dyq9m7-S`XD z@}oE`9Yu<-yZFV%5O+#=ly=g)w)e-mv-mefcL;nq9gk>h@o)~Qm)nIU}Y}(DC6JwxoyC-;TF_I?{RG~o$%^zqYfd)fPDRXpAz}0{3iP{HM$Af=f=E6})=hBMtM7y|C-t zkt0E-99^7=$Ld*}=&%#(&ypFbS;|hwKRCzzjZcs6*xisl@R^z%)R6qiygvj7jKs<7 z9wsmR(EHwjfNrPIdni~@wGF)u|C1$YB4;5G#j!Rj}X~EzSt8HyhsvMi_?a;&4A#yf{JfUVm_^w;s+%GcjMDgv|iyHQI|X7a!rSN0MXH`be1g zP{Lv!3ogvW_*pY{+9qQj(*<8Y4QyTCqyAg@e>2F1&yvRi|)~9c0m;o{4`doRG#+7fpJS*ZLWWbz6z~ z)}Ca^S)B{pPV9=~*v}ls#g?Oq-@6&Nh_Pf>PNmS|Es5h+5Y<(@2_6r{3to@x?xMN0 zETgc!;LSekQJkMg%#)U+`F_XkZ+${U8;*N01HbR0tB>tVMEy?K9;~A3T6eNjgkv^> z+=6Ue)*YkrK!2hK4(Z^zPlHjvPjO!CK<89}+6M z*t=mda<@N|-N=rsFM|j@x=r~0LF9E3TsBy;OFeer`lFVxdwoc)Eg^FE4N?u#sg$|B za^zy+P_4N3)rxyHA8rL`J2ZTo+9SMBw}@UlW#8`lA$v1 zJ^7A(;2c!$4^apI!e@3ir$6l?YL^b@a=znZ<|TZy)P~A|WEkj@*Hmi%n75L<+e2=q zHl^L?kulyI@l004ae000040018=004aa09s54 z{%HWLd;oX>T)S0NRp0x*jUbANiHVBX*kTL&T6TAU9oQ%;Ay{-vcS%Z@AT1amh|0%6 zOt8RKKoKxd-}yiIz6ZYp#vXeBWAC-roX>MV_kB&N&AKhroePr`TH5h`!9O0qFW_tK zD_-O%Qt`oo7h~MG9raggv-X9gwCx=4cQ^BXqp_rz^M#Da^PJ!HfQM73aasQlVMliJ z>S`R-zozr@XchV0CKB4Rn;Yq>guYNATxAtLPm9=e*@}=QN<_-5klN6P(7hWl>wT4s zYGz&&RR-xc7Pp zuM;=pr|E`&{}p7lQYG`TJ-LrMaaW~*suNfFVy#P6Q6Ivtv=Fl1oTRiM%+)(!8N3${ zuV2_XKO#{I;8@aE+*h6;&f9_bJ`Fs%y;SPzY$o-5e1xAq&eR=Bq516=o_qIiOz&Z0~$Nm5vM zgLgOH6EN*O{to?!tA0aHM z=iAJCB)<&h$+!UOJ2-LAbT5UL_qg%Kl7~^H#QKfG_Cq~>vsdHmbd}itPswqpouKkwe zgLd*SKU0#wYauE2RpEK(mE6g=!h3yxUJpFLOW6)eFU{uW-X)S^+9saNdQWm>TPhyj zBjDp!e77AWeVac)|9!(fu_u{dYtXN|O0Z8j{)20APdY}-el?P#?4`DI{H0MpKS+vO zuS%UJ8}VhyU;bqd7uOjm$+zT6T~EH2T3b6wec!Z^TFW{}ifd{qU$c=fDfN{7457-T z6GbECx$)!-PntSOZT`E*Yu_7Gezc-#>N6Z&He&s&JwXR+N$e%Vsc;3JZ(DPE&k}+o za@cWj3tmpW@pi7qQKi4s_3Tf6yVXhkt?H!iF@chTp9#%UJ4xZdda94sN}amTl}5XF zllokJCUyTckB8Sg(Kxsbzr`AO=cmrw{Lws_?N4>;BL4JUPvORA)GfL|W%*}5Or1kO z>NKo(eZVJmAjcow#^hitf+JmtEbNcRn%xAh%4BC)Z%jfr;Gy4N>UXFEO>500)i7nL zLx4(xQBvzx}GD&fDKpS2J4dBY!ILH}G+P9C=;! zNN`r5zOpaxifbv6W>OhijpM;d7+Unh{`f)c3O#YOy@J&q1x}^D$1k`J(?@Qk zWh#)}oI#*rTdD1iXOj8`b*aPr<5JuAU-)piffkj1yjgghrlGo$vVVW6v-wqYXjysn(W;x_Wq=5tYE34{dwDgVOg3{aaw6_e*5GdLijVbf-1}&tmvj{e^+TLBsK&L{4)@^h zWFDPJ`0gL)+W=OT|iavSE=pmQIcYpi&CFqVl6w$@rPSf zjA_Gz!uLGhbB_A*(^SoSK((O(<+FZMxqk`2y{GZ{)jJ-2oJ897n}p2DC)TkVk6>pk z6LT;MDaWXF5c-8LkX(im{34&2zpq*HE}K0XouoNM@1;RXzol_s=hCQEBek#V%!{Z{ zNiJ)zq+s!sfBh|_KA(ytIlUxF#q})Zi{klu{R35&8I<2E=Ki-p?#EmryJ`>bYZg%5 zWj|jG8>s&Iosw1M_hTKzO9@qGneQ<^aymCVuN zha_APpTANLqe-W5QkKJ^B#wyut=!Nr;MBtcT&Knobkj!aaAv0@pPazGI1dWFzEJ7< zoQk*AB>yeJ#<4SzH@lGayDe3nBlwo~SyEnD&wpbTsJps?+`QX-{B%g_q}-8aqXwz< zj&zde_LlnmIV24>c96!Xbf&hdnvz~SsJ!k;g5P95>9m%V-8H0H@oS}VpDm>>sb7eb zo)WWJ)JUaW__(gb(!3*j&3ibS=EeT1?VMchi>J;%d@uQvI3|2{lH#!` zQisBcQtNg#Qg^2dl2S$m4d-6b@WYi5hX**t9VPMAQJl`-AS&S#Cf7!BH1#s!*Z(7G zo#=^Wh9m|~!Euuc`40mr7}&_G+dgDGP#{BjHaAAjqHw}?ZY3Wh#it+1Z`%@Ypi0&{ zUCO#8P*Hq^KU=h=Zu8IM5E`Y>MGMbG z8%cR~n7|+xBDcq}c#AF}GwKO!HJ8At8iYP~#j6I2lZ?3L7DVK{8I-QyOYXvS0&Fda zdgH*wv^dJ2T_d@=iMu8n$ecEvpO%``yFKRCzn5f5+bB0$&f{&Z2*1*v;%=?UQh31i zvJrebg(}}d5^=#F*v&zkVOU2K0PV;wU3O09wb^6 zQ@{KgWyxaAbTuGuQ3XCjIudu_CYP#ya3S_F*>)$n*sR8biQmZZ8N%%;4V=HUnvB?~ zoclfoj}l`Zx4p}S*4IdBROiBSh~IpQb2GfTX8MTqAGyTs{zoPqNm|^EfLC?+sag=K z{gb%C?mW|NB(Lvwyq?V_`BGg! z))ejbCt>bCQj)dt8?+S9#|sDu_)E;<)um)z8N;g~_enb$%Y~Lg@>cgF z$lQ#;Iy1r=Hj<<`kj!=__#V+FSCS*jQJH(|>bUgt7>VOA;@8`du)zOtu3m`8LPe5p zRulHim~c^#lBcOqtS52ju?1z`LgyAmQ?%U^FXPc%blXVf_zH@T?B{;R30za{$sM_1 z@=Nb<=h8t6E_H^fy`XHE7CE&)u(9Ywcyb-V z+P?{XFhhkH_o8FBJ?p-OL|B2_zCvd4vemHH;GF5kNCGo@T_d)?D{xP zUs5OO_8n6X?nkua0LOb4;8NQe&)a`->{W#84zYi|Bo006!}%Sa()3Mtcy-iFYTIrR1*KW! z{KzJ+Y%|x5oCtq3h!?ZEQ2V$=>Zo#;XD@#9FinF?cbD)bv4yXW$GCH35BD<05isZ~ z7iM&&$3RoLl>^iuN3v+n7D6qNcyBh#Eknmf1iqb^9j7x zj>q2dHAge+IPzc;r;;afw)Q4LRcA=aR>knwa<0ZCbJNiW&-GJCuSz0vPY+@ho3P4X zgVU@!!e&h%re-nsZ|@^Dy$e<^6xfr}2Iqr=F)Yi$Vu2-=YgL(YN0p^v`_OMS5a+_T zn44e5IYgqbwh!~g{vO_{44L!|wYxnTaA6?RRJSrUXaure0~y~k2dUM6EY!To3$GF6 z7cC?-JBIM9D!9$7#3y_wsm7y-t-s3cNU@f(6eyUy7_ZZFS-m8Oqk8+X*=2*pJE6g6 z%CkM#iz9L~u#Q*8TdjtjU8ZyLV0#Q6sG{$t!p7xy7-C_8G<*#MqyMnnNtbCJ_v!5A z%#>H%=%QA@{B`3Pnl+ZksuRioK8i@wN%(Yd;MTWgTubVNx7JcJMnw_T-jUSsQo>4) zazV2dhg-H`A3BOPzkJ!>I0J7LPY$VMazv+$<(Ic$p)&-hDVvBNxg3LKL+O?l%D5g* zY#6x;$$SmN9=%8FR}K9ye`3|LflNr7M29V#P>pP6Y}8NAt2c_;x{5HvMR@HzLzW|(3yrGVJ#HVmCGnh`n!nAH0z{g3@*sInQee^oFjyBl50JaVSl;6q2T9A?#7S7 zpmqssga)%})riBqZ5;3O5OdL2HcT$y#NvT$P0qnt^E)~@OK}tRaIs!H#$M4z=|eZP z%DST3VHAt9VXRyxUG21Jzw0{-^ET3JdKfxm7I1mYV`40=Ij=l|a?xW7iYoEY-p={| zM6VIE6NL+ps?k1`uiWVmV9RZ%P4St!!l{G?AL?MbbP2mZ>yQel{}+{W>m8J5Ktz6~fCHNo4L{0?J!sJ?#aKiIYUnSj+l0#VqmffazvC zww9#f)iW2@^DgWZ{VDW}4I|pkX2iWJlZf#Q>1tI;LyRV zOgAmWxa|v83Z3G6uo%aixvXCM4gbYA@Up#(Cm9?Qns-N3JtN|tFni`&vEGy!8Kgv? z6gh^wmLR`zIUWBELaW}CPKM(dQnZDU?V?F758%3=5n(TlxN>D9`RiX2H8Y23`A)>Q zJ42zEe@b>)@Nn}+p4#2OPTU{e>BU&6`eKn8!p5pd3~V#eOK?O#w!3$j>I;0Ffqq35{ z3wtxgZNt{;e#%2T|>J~{KT2={kxM62i!+J6Yn!Y{DZ?TUl&+1C#0 z!MrbXFv{|0&s2YG#2Rs1{DIhCrMMXc5clLX4n2;trf4l^cj>dCmsrmqzq6|*1;-yk zv$WR6!a|k9pVV;?^P$_hpPYT?L5NNx_U}_!Jo6zZl!|bC)QzZv?$}1G;(&W+_Py|IT-79!+X;w9AC!}VEGyS z4)@qtoQ!>N9zH$2*!OcG){T2G*v1)e>>oy@o`XvcZZVoJLevh^5WmXicaiAN_R>;Q5@dCctU)dLNoLwj8vg`C9tW%b;XS6)Ji*{j? zoXrW5nrCb4SrFV@BEU~$Jn zbdR~Re&s&4EdIjQ=iaOnp1`3`127EEXRdQ=tmb{hcBPnUzeN);tUE3@<3x=#W#5qu z+z%P!-18#tLzj|jW{&-XD_E#ZMqkgI?T0V1HDoLso*cwA;W#J9Ca`6%AA81?a_GJ# z8r@meb| zUbcemViw#s>@#MorlV`T82#U(pPqk=)%7kI?tF-;}zC)Zjat2p)rz! z(Olxf4s)T+`kz75poaOctI;Za%#w9s%$}pec8l8tTxcf#(=8H?s$w%%9*-NvxMa0L zf9wJ*e-`1;IE_muRf*`ef=h?1&}qzJRioHLrxI{DJPN%pv&FTiW9!k21B-TIsBsy+ z@LNRZr(rcJl!fyqu+(x82|%eSX;wonV(iv#i4n2d*7Ee7i! zFsj9ewX@!E+I=9044kkQp4|cEKiD2_hjH;G#>ao5-%v-!zbavxT{zme&oE=nTKaZd zK+oLe3_CE6&4=%^?Zi(u{kNRJi!r4B9Yoyf_xQdm$8}8wu7xfHB{`C?@ExwnR>V}k zCRc48-tNmdlON4ykuO@zDZuiWIeYdj#pH@67P9S}iE_Yl_8;tDwde4!NRHoI$^7bh z7^%B5Y}-*r|9rsC^v7&huSdJnU9p}o(DTAmWMc2HywQQ){Q`Iuf0O%0ce(q?m+w=b z@@eKKNq+Dja;g$|l-P@K?+hNzkdqYNyVCHlnCuV>lD6+A-*h!eqE0$~tRP~g4Uw<@ zVY5oq>a#((w0lb2kKqJu4&gY$TX861{if5RP6acq;1;{Rt1%v?$mEbEEY=v$qBoux z1^33n_JGuR_J7>@(8Q1Vy{Ok(PhHGavOEi@O}6CLF_A4gT;}&U;X6cB@yq`hx4OS3 z{-`yu>4;aZlc*tIxu7m1{_k9l)>yGZ@Duwd83|uTk5j!&F%NjiSi>|- zXD#FCj1e3^pv&p@|5$$Rxzz4XYd(KCCCQf*@$2aa?myDxOP8+PIlG%iy*jD&H77pB zZIP4@OyzmmQM}`4<1kPk=Y>7VmHQzwiUER|NWt^ic04xh;`#9^aX&Qh6*@lG&Ks-f zhu9f8;?XsplWi548>!0rQ=8ebe+%ZngV0;yj<)I&tatpvdh7>2CRa#GCc07^MQuqT zNL^C0)1a|hn->GVNyBv2dH(A>4SgJ>HZOWe9Ui9OKjAl7eNGWI=|55?yu+j2MFQTI z3C*g6-Ix8iC2b-_^AukDy-83hV(r2NjtbpmQTLSt?_RL{TM%}mw=vai1QW`AF$s%WDW1wvwo(Vz_I!L;A`LDT-gt*X-VOP}`**#>>^_p)s)mxvz@t*9 zrWH6uv?F-^H)4dAi>(_>ghn8#@*A*z1u5aeyV=>9@GoC*T2@4S#ADp{C}H^~0W+&g ztj+dwx+Ou>%mM~WLpb@d1ziVq4i;?W;L~^L#QhNrfvMEhc#EWva!EX^L>huu@vxu` zRqgIda8D29amEfOGj` z{q(+0^d(DTt_(po$Cb_NnrWx3z~-|@II$pe9ENaS+q?(%;?=6S+J}Doeg~$Y}3FI&2wzq?M(gcT&nwR<&%TAq;Nvw%O68N zUC||b*;t->$@A;eG#ackrM5Ftq+WycNH(59@)H@^w?uZgd$s7fO@udh;8e{T&i~dS zc<&oRXJ(7MU^jWQ(%D^mN$9TR@Urf zr{;C3SMpn0GKWfX8#AQV-wkQDea!EYBfJ>6TvF(_gc{=#Nq+nRN$F7(&lYqe`s`7B z9x75JFM6Bt6+GH*z^!vUCk97}`F%6KuUx5G7)$K^zaqCRWA@*3Y`5>j@~Apaswr@E zwT$iG3ed8A$l%5(X1`8lzIzM?0n?auMU8J!^3srzm3*;mp~_sF=QhLn-NB!C#(I2v zx|>fQ^Z24|BPs3rM@@;y{rWtlutO}t!fo@Is7Kzm0k|1!W4EU}uFG$UO!zc4N3Kv{ zc!B)O|ImCT^zZXHwB9tJZXs&n7fS{RR!70NGg|Qrn9*t(dOeL|? zG*8qnQSsknseP@#B;Pfcr-#OJKXDr^gSYbf%mrRL*m3vT6&_dB;nLwI5zRxmbVg6~ z<5*l(!Kv3&d?pRYtxRw=(rL~$ zjD4ob=C>cQYc1x&QNdiFtxx7td2)LDNb2wEd65xA`E*bITNlBjeu_M|3**7l_XK{@ zBFnIbnl1+<#RY=R8Db#GPr699dUuk~$cRe5hPU!9K6hq^@wJ;6N1R#eZqJc8BWbuTty58${N=kA}a|Qs>e+QvYNx>T6=94nGw6@Ome& zjQ2|&(wFdE_?X2(b17YPk!ax}#h+eC(C8@v-pFm>*Sqapdb)tZX?c9EdqA$A8CMGWlk54D%i*rv>F!RnM-n!D z0&(g$n(QInxVHB$VYbtVohq`iLE7Z`k0oQ90~z;5k>38a@Y1IceI=jNq^|@Xc|yGK zOYUx;LFyqRiu%1KbNqN7o<2jel@6sdlSoyWiT~KS#5vfLchro~?gxoneGT8(Cd#G^ zAWM5KsWHQ8Fi$0>N@!At{p8-z!OgQ1_pBU9srpUY;ZlNkKH%Eq6NDZahqsl;q1r6u zY1IKPPD#h>yvQz>jv!^o5fWpc318+2S>{dLvs}%qsc#WhAh%;*kv{VxmWO6zy0n-u z7kvWD1Bpx(oKoX_;unZLy2A^blEU2{<_B#!%7OHYq|VlI=1E`@Qm+7zMC#yeddrG`vsSu-&uRN zj5Bxj+52%Hmg8q(I^`E?;K|>ClXfgjPG_Y{CBxw z)!mp>>v4ps-yn6CE}17=IClFFUa!_L;iTZj^1EPZv5oz=yqJ4-1-?VUr2T6gBWL4V zJ_dV*TU`1#l-kqpq%OVwP#N)nlI-rp^o+pSsSnxDW|5$6!#%vIHEN(lX_R0%7LwE2 z9v{(nBJ$Mr7y28<}8CoTb)%Dvcxd5%@rGJAFrzF-V0J(evEmgs*b82kt@r@qGRq7otdtdPK~gR>W@z zCGE|2P8}Z0=C$&iO1p@yav@7na+xE3$>(6OJ(3E^!z&D@6ntq4gzb)M8l^t+eq zYk8)mLZPZAw_Em8cI^Wd!V|ptOXwlrY~GmLNUa0sP;m7rIX$WFnEpUfCa>z(!p1EsPF+-2!{14$5)wPH?1BUg$wu{y@Bn>YaGe?B662c ztg#8iPpdD-H;oqecAn^o{kSmBn)FTng56w2tam2o?$_aDS53h3R}@AZB5QUt0sRMZ z_PX#iJ9ojMyWnst#$u~gPGI6g!WK7UaorWmeT#5DzK~$cPWXr!V^z}{h#SPrqGY7J z?aZ{_i)KgzieqmfRqHUzygfr(rLs=_F-LbQbH6fe1{XD)LQKEQ}{EIvpwDt zdt@pRCU&F^D(CX@)?D}*&+$oSM5(Fav-ce*2jAngTnICk>|@0TRStxta;{q}HXl1< zw8@I#-|Lv!vzUpR%NXmDj>Q2_I&`x@vve)vcRpbf2bkft8|m;LRNGoGYd|iKR|r0? zVkTEiDhU?8lY5gr$vOS-+24&TssWS-rxMq^m{;ccq+iUzetQjm>VjP!I+hrb3A(@d zi|e~V*!A3w@2soB|IFurLmf74#cbGC9{jvJjW0XYqM43wxhLcKtJA&4(7| z#-Cx@no0DOKg@v8PK;^)fTg#B*l^JqT6JN<-*#xn>hd6JGKnJ7zkKgKHxoJ$60w>1 z?@0s+9w=f!BL!!sPft zGqQPPE%>8D!w5P05C6Z5$xYpa-~K|}5=CyYQn1z6if}P>L{Duup?$ST(cekP{2wf; zD?xvw8Ed}3MRG1=;MG9pt&OL%$gg|7YoMbzqo9fKt#jTnH02SO9Bs+_I+673tK_^` zO0t-BBmRlL+^E14;UB#Y&*j#J=ah@Np;BiVft?o2bU`^!gp7@#mX6VUNOdO*?*A8vq^JE58&t^!MNvK4GF!8l1JKGAj!`gxs zhl<%ZrJS3Ek>nMI@V(s-E*Hk|NcAxlrv(caAlRnF@q82hR%2g($_CsevHgBd&eFy| zZ2)OYP4U^@i8$?LIJk&9-KKZKME&nx&Leoc`CSUmM@cvnKLNchERf!5pJ$K(PO!{8utmhQY zjyJ(VaB?U6C2>6BCkcriiSQA%QLvZVgDaVF*o6&u<}vutd6YyRH~5wt14V{0A}0jN z?G}4g7o(xIgPnanx!iUhua`aNal zKA!Gco0$|oo8iN!Gi==e+211v87jDJjpQ)FEL}l!pS$qb##1f+H-Gwn#Qmxh-ex^v z&PtSg3nx0ugw%>@A`9J3y2)Ywo2N|RvEQ7$+gs>Rq4lQZ5fmjjmOK4%Y%s=ps>rKz zGjJF?7GJq31oeIVKmX+azS8#ScUljA!2tI!bhNZ%hNw%6x38r7(qUe8Na2Of1}a_F za>GfF*zx(~O#F)9mnu>&8}Lv3&A*{4)V^>c_~9EI7WrcLIEwQoFEP8@6|)gG*tQm4 z_!oJM8v_YAeiNI{*@A0xL;1j3x)tA~U0NNZx@IxedjK+VhGoD?9n?oHkv;p*M|jgO znV}Ml){7BBQ*9>Pt}~Bs2yS=7UCMQfdEEXg=Qfpa?bZvjcYWr{+vP-beuQ773O<8f z*t@O`<_^7aK2=De!)p@NPKrFL3rrGg7JuBv)6lSKhV$)<7(R1=xp7wyDa{j_&auC^O9P7JS6O$H!_n%B$)ci2s zHI%az8kn?`!#vcUg)63FX>|bShJm;niF0oce-WR)m78a#6ZGRJ&Z9rz^!X+JTLq^x zvIEyUe8EE0{)lC{*r%SvXtk7nQyHiUI9ChS|3 z!&05j?04;t;j>-1Y<|avt+t%7dWmybJ5I#j!P_TRWQWywiM(ac;XqcNUV#2FWA;1$ z!=m^E-h#h7dvY3n8lgB#@>t)x$kH47n3P1KGp!S{=c|$J=!&WHah87wW@U3T+pm4Y zqvb!2?_7iBkHNS+NyVnZ1=~?JtiE-KL*pNDWI&T(X8y2c^LT99G;%Vp7cR5^Uxq&b zvv>R0`+NuPv8S<@jmPrSIIQa*a=0P@BYokSg-payoF_6K-NecJ6Ied~8LQ6NV7??A z!vX$mz8Zp4%wRv&6ldVC&s4Z7Ie zu;JvWVH})c&f(E}aM`$m6QiR!A-IlhkDNK&^Dnzc#$kP81bP!suy~sqfq{>)Xuid! zX|0&!wHnKB57@E#JiC6!vBq!;Cv=L0F6qFgx3z?1d!cWnhUe(rm^FOol)W~FR)URH zjm6SC4P%FeBnj>()K#0<9wMuVx<$yhQanVS=+IX|aMpb|_M$h3nz}%1NooAu`=O;T>eiJ&oAJG@v zkd<|sD=oJIcJTLs*tK1eY_$Bn5dBdiy@^|1vnc_7bl9rV*Gr9Y5J*>@xo16|9W! z{#T@3_9f)dd+bLwV*5o8tIKIP%>0JU%daB8*u-9Jz_OtPIZI0>8M6YHcsW#Jb z9d|=8k~yTEn8|S)vClqS;l!u6_+)LwrnwXT4~2G}7fe{*d7NL~#p8vFIQNynkx+Fe z&c1;4)x*r2u!0H0H!`zg72`R_#EaSVSyRV^U=5*TD=_S)hUv&3WDW2m-NuKs-dZ@T zjm1?bm!Jn-h$ssq(O?s)Id%9NB#84nqsh22n^57+S>4sfq^TK)wyIdA8RGF#Fc04s zVRUXH>nz2Y+odIVY_q_7WFnKNo@3tKM%K7gGI2&X2DjS5@EuF&dsdf@>f6vVP(j_s znc0WGvTQ~TG4=a6pXfwXp*?PDZ}9CZyv#d-`BA@%m&J2(4ZOH`xqyuCnw&i>M@-+b zxR0#Bzi&OqE`7$&`we<}KH{FX!}?qsyi?}mb0M3ksu6e>^j(J2vRyi>);=F{~6(W?PaZdk0 z&`>!7(u9XPRp_HFbIF?19=pZ2xuAN9vn{Q#OTEE*^*fkphKYNahw+*=xF1x+Dt8N! zW)fa=rwSHeJpH;>Fzwl0mfg)}RbnCIJDotyv6LaFlF_h=WpZD^OkQbZm6JF--2W(1 zPOXWa*oC{Dds8T9$$8;5Mca$qz0i=D_Um|FB=|#d7O%kTJ~r|bND7#XTlYj9pL`-> z+ZG}mCj4(b{@+)IFBRtnul{53t^>^0GGyEXEBf?&hxUrK%zWp=%DfcDKV8AN*Q+r& z8N_slHEc@Q$TUqq%udI1!1tff?W!G!-Q5@QtHlEJ1SF3boKiY3&ccWl+gTp!I@`LRICvhw@i4%bvFnH+0 z0lg?r^bqV)?m(u$GG}SLa6YCjW7<6%mcP8oeCX+;b9?Zy?MJyVsz<}g( zWEcII8)3$xJHHr`T+7^qV@zIQ&C>q1%r+jup!N4;k9E(>o@XzYJ?qhdKF-}3*hv9p zeHYowkWaF@7a!;@SXM>1J}7Dal-2f*VXI&tmK`_7Hs%bjmFL;LV+Pw}Vp#j71)12x z8{OWsbNxp)YnZaV{2&X8Y8kb5KNEW8GW>TM+QY*c@x+t~qnpv`1Jdy~j zbF*c?jpozl;TpQCSTo?^TvVRXV`WSdfvZZ|R_AsS85YiF%pM~?|F>D+veG4En!b%Soo zKF73{J<|=O<2zT`zxGx14IhDmqNnUzuLwHdI3%n3HB|O0Jy!PN-zLEh3w@x!kxk;9 z*t+g*1;69Wy=7CJT@XK)(4 zH+0yRDdI#iF*+nP=hhd$dnPR?*2bZ^HN0(6FOg@KICg?l)q6AXIG>un>+nCTS7H9n zh+&dlwf^@PZyvfk-mK^=O2%#%%$W9^ZDmrSQ8^V$H`U2O{AHJ zXKKSQDD}g@%j{`>AM4&rx=lyAt^L37JG8%X=%_-X^wv$`8yj^t%^Pc2d`%l0q!D2_ zVT9D*NX;fPJoE+qdQy3qa7?{-VqV@WT`EtX7t7v6m;GrwKDc+be5fbeOvo#a|2Q=Z z=8<|}@M0`Rq(P`1Y!>*SZ=>qa+jneP{OnvnIoqg+Swsx%oYL*%&#a{bR&h7_{snzD z@wGnzc|TWBC{+@cKrD{$c2uiB~lQObCG1!iwo!fu4*Ljwn@S5cPc@Ki;*C}8CUvDI&iWG0=T`2OiXOU2DQkmDrtt#mUQI1m%VPRY%nmY`%Pgspghd$P{=Y_ z1wFojMCSfph;MzEha+XXJqGIK7MsGi^Iv&%4_|S#s|eC`x`R|k+i~PY@CYQ?f}4_r zxW-eBs;aUP)r83)0v}om5pFDhgc{xfb!}1e`qxZ*q zQq{kTx4Fpqnupqh*X@*)f$cRBVMRP)LOKp!O49Px4BXhAKPxOzqwkvcp47#MG(ONC ztqC1u-YE<}td!=Qr4oFVFn?gJ4NPqcn%@#fFLr-T(Z&mN!}StV>8^z6R_436c*j4^ zH_-)0AwRm%n?2rV-6m<_WV&>-91OZ2>B?6OvV=?=2_248)@5n^y)#1O43GJ?q4=k` z6PL%Syr6lP!WDpNadX0Po;HP1G#7ftHu^~2Nm*nA`+esg0-WH$bQ{g?%guwx*+G5m zyOyC40H*9Y7#dAt9@HMTo5ePOfD+DRt729l3B0OhO$DJ19~FzFtkg2~{{}31NYb*Y zt4ryX>2kfirlhw2apfH3W>gcF<+7D}a%z)NK2#sg?2giK=G5SL2G?To2jb3rtDw9)L{4&=1ni z(C#5-x`|yi?~)gZUyuU20_LlTub4{WeeV7vs60e1ZB9+fuB$x6UB_u#{IfhLK}^8D_4dzr zXUqt$`(Ml<4re?=dAo4%DPkAcLx%XUhBn#IcBRJz zcGTr_GNn239DqBI>6{sG1u7`Sfc$U3O1}undF(WYeU92Om&ssWhM*gfaES8%eWA8S zDxDN^W<(-4YP6tWnae@pa4uO1$(5&I$lmBF zR==1FSXsug$@7|G{LgMZsQ5wX3+zHHp821-094+#!R?F&*dc(I)Uiiq3pZ0_HA=q_ z1Ii0a5x7!`^d~>cl#BqB!?jo7jL)~sgnVL&w2L=+xsIl!wKQj~8~5!@SlgzaH0PLM z2cL`uy>hSJAWCJyIe_&&rV5^0$4A?QkTi_4bVBl+ZO- z?Zjbyl9SIiACctN!5o!UuRR~ibjE-+bbhxVMb(G9+IYd?PM>XNjV*8m{)2h-hSeBm8w{*lzhIPIpbub^(v{Y$*0L8A50+pX3uwXYO-7 zd?Xu*xg%R{(Gv8@C9?r{VV3S04gZOr2=B#SD>?Ec`9JGol%YmY1%*Vx(hZdIRzt8? z{+xR;Q+xZ)SHP&LQjup~+?!|ZkB|@9cc%{fL_C(t>yIm)ee$hZd{^RoBW*qncC#2X zJHbT|;4KoGqDyl3C)qri4QWal&X|N+AHau-U5)1XJ5c8JuY;<&jo^c?G6o)k71Qy|(hD|W}y#fctj z@2)VM)wtZ{&TyBhP_sxwZgEc*0Q=sf`NB}PySF*ktq?KB7MX=IFm;Uj*~xF4$LX6Z z6^NxuFl;3TChxU?Sh`fFW`PZ?HF@Tb;T6Gpj{e2gS*+Huu%siO&ZjIquXQ+S5!-b4 zfZbm=)AvzkO0^~QRtf1+rVgx$K~bGzauL1seAi;bO8QI67l87-n|+PkA39Lb;6^Tf zicz}+XXr+k?TT~~#w7Ka^(gB;_FYy+b>QvJX{KQbwK4V30(gTT$QPlhxq&u?9GT!W zs_VSTkC}{)9geLL4=zmS0LMu87lxvUS6UC_Xp892dbcgQ#0w_xgZbvs9_^5-U;@ag zRHa+8GcuK_hRs5I7Fm{qIA)6^5thEY5fr!%Z=R#re0MbWaQjJ=Emvc`rQuzF7W|&+ z*fID!2k%PTJNh#0E+5Gp=`FHx!v(6>%F$NtnwND^!o2*PzEBr^o!jlW(Fcc*YM#iWT)vi?l$~pe}|6OkF`6E6LwgqIYY1@ zq^g?T*IUK(G*f-dchz=F81s{Chh;`-GRT!T_;@QOTuE1|$9bhuwrs+o)K{`xcjDi8)EF9?&ieM!LNbVJVC6G3c2H4bxLbPr_9V)~RTvGGUaYgm{wGm}$ z;Md4DlCM4xVNE5?Ox|NrD%b&QAhqrezp>Q&hw@Pq85sF>$jB=~n?6vX4keVUW5k99 z@9>@V2%=BzTM(!>wz1`J;tHOSnFl}SD=!Sf=gYjSOIkM#FA9kcycg#Y3Cw+&@!ib5(g1kDE11f{qUDkVWBtTGCZb%J6Lvx=pkB|*zr`uy4~bD$kHJQOjCk(n z()Rptg_ocuzf|x)LzwgQ=h7b+(mJsLi|kMGlgMD}H=;h6|snq8^sX4K()$4xBF7IOw;+-Eq7OWQI{ea^?O$I+FeJ z&P=39%iR5T?J!iN{x!KWX-{EhK-dhw5=F+=c33J8&`Ek$y0<6nww?AP)Mm;>S>@-_ z9IRD`vrqUvKFHM-@BX8u;wa($S_4ZW{% z|0tJM^`S%W1~g$4IK7+FCLTLi?ND04RJGu?e3Qd?X~D9Th46}2-c1r-zm zJ;ew}mA`>l$(}CkWvO&nd&<$6OiYA{#b@$c{r^@d&JyE8JggcY>qmsVqmhTSUic1N z(jC6phHk*{EDbH874gG^V%b>mQE7cNckN$Q!)9Bz%w_ecFAO$8+8>+{petulX!rXR zKS>o4cSNjfG&M%xz~!B7LssV>!$R`Dq*ch32aNB)F3Uzk);AF4>V$8w!md`F(}F{` zE~3hN&Rl~^)z0UXxL+-|xDqcQta;K%E2o$6z=%KJdceJlGwnnl_M68Ndt)fS4CF$GgkH7 zzaeSeOhG2Kp7r&o&EUv;M{hc(W%95l(^R1;N91Y7zNfl4U^F}D66(&h%yeoa_&&RJ z{2M#!bW>G#oCAJYkHIp^Ey5{z-)w{D&t_ayLyM<$hhQqD{?R*`{_}SR2(l} zS`)x>5>Q2cq1E-$>(-c=XCppcx($1eM~wI*?s>VS@Hg=V2++eW67vIVV#XwIyjO0r z^c>uNiwWJI5`Z$B7L^>o;BX{bD&<0PVwO4`kUGQ0F1|eTl<$SR?Vl7bN%fs9GqQ-?SaNKg^d)x)@#rD=>N`VTj4hR;Y0e{ctxUZ!7gXX|H={!xz0Hgn z>y6bsy@=9CnYyEzCrx;ZW!8B{lQ%O-Q6UJG{ULK!>yCXJezOBm z1`;b)#dd)Z^XF z`0|1w#r=^iCVFVEOX~=36x$uh6nj$~wWiazOpbu7-vT{+UMb1sCKEK!qZ>`m5PC4` zYN_&&WtUay_4&|6$1t&5cE^z)AK7wg58eH=ksGsO`3gM|jB0$XYN} zT^>`Vwef@#Zw--hE6;yaU?EX$j&`dozItKT8W;?ORZ5T}bNip|S`E)u=i;1g!^_pLJ>tOZ9bVkSY? zM_2DqKaTmavGvEeq`Rb>@&)8cLi_um$g!@tg?F%mQb<2C0CI z&%9ENc6@)VK?|3sPX8p!5DEpB|DK#wP$gv_*ijLKgx~hz79wI`_gzmb;RKJ4!$UHJ zxS(|^_3nD1C7>~hHv)hwODLf*tLV!t z%`XVm=U+fd z%LKs9LdU%!%3ZP3%Bi*}+B1|K5%-6M)i%x=uL*(>C#7qf?}?(T;uwZ5Vy5-4lpVt{ z<5~doQeu+B*V>?EKcUJgTrK>3(R>JrbMXY`1j-92WKM8WM*_Nwu1Vu+Qep2ui)RuZ!Yce9RF4y8t&{4Sd35zPg+?ChmEVg z@(hF?C_|rwgER7p#&}dg>H`NYuKWSOsg05sK)*;i*Yl``R7vFEYf@rK>a&XKfdab0 z;F@_ zs=Vu97Z1!3!LKQVbQnzXgE`y>&E`ayq`uzEjI^GO7zPW718+JAVu5D(szU(G1vYfC zfhi=2-W>c2@OWnM3Y&p*Bk9zK^Lb{h2JcGEv)>@++O@;oMf&qY1q?ZjO@I+g-qVcX z8RyxrnZ42y9K9$beUuTV3#_|#z;@gL=%fk_@^VbCdg=Y^#l4{A>>;Klxn7c=$bw8z zv~!?|TF#rnJ?y!sJg?)95o)GQTw8h7(PGOYGHJh_s3WotH$nNYTcvI+L{di*eIhnLWr);F5$`YLA{E1fae4 zZaA=*91{f~q4dP;$x0=)TZGY-`K6YDtDhN&#mNLa^5j^YaThIFHH|g!$%mi;dpILK zJ%uTi>RmF+fWn3T-?BP*ELlA7;!<(Ox=Wv*v6ZPRriId16y?|HII_3#P~7!3Q^O_w z&}+c>IqO^S8zK)Mie8lGx&)%5POh~#R=>9wCTt-F$D%w0r+%c)Q`R_u0&4+gk1Z2i zt%Mz)TQ@}GIN0VzLTZszK|@!2s>Mi4p}y1yDKK}O!c=&5joA9ZnO9VtFr=4*~$|$03++P`r{Ncb$ zW+V;NTj*NNn?mHW9^~2z@)(_=Z|HijZJ+^Up_1Q7X#237keAT^99BHCTJ+szUUgU{ z*C%Y5M%Q$)8-xzlTypVpSEcXK6&bhGCneJjFWW9Z|PSD_e}F) z-3VJ7#L-Pl$O(aq(uOZVS}8@|zrVSLYF{*Bwk1Q?=a9Yog6DPWuojUA@EWDa%#8g1hEDPnCaCm$o`zTP{$ zTqArdn)QKU{VajOH}Z^Isa6@We~1>E7we!b*OE5@X@l3c<%l` z__B{`_!~{uAI5Ahd#f$DTLPgEJ-czJIsZjmuP@)+Sn@Y7>#tR8O zb3#hm>@gSrXHeW?SznU`P5S2PAOGQgvO?zlu*P~QvPMM$j)9Z0OCg{=@(L?)5R+?J zU9y^(U6XG1nyc}=R!mYH96JFHrLS#v_&?m1^9DAMC66dH0ohzyFE`1Ok-@5?=E+f= zooOXh-6-C?%2E8-obefri^b+%{3U_#yBet0Zdaik*U=Qvfth#%XW_u0s%mhDr4uvJ zH*OtD-9D$^5%nHex$Bn#&<>vUYmIxbCA(r!_}hQUt(dR$RUefpx)f%B6`=4~$J43BA4KL%9}KVO2t!6ZTqc-zOR|YR`*FEE%KvAldpjAFF}A zzGR3o`hx>S8Zt$$B=ZIu4f7DggZO)k|#SqPQ-`n_7@44AWrH8g(BoJFL#^v*TMOW)!F^ zT%wXyG|{KV{e@qh9kvO5VW~M{wvQsu^_fB&$yN9ii0f$!8ej@<*jQMjpK2S*Nw-XPSbXe%sBfkGcJ2IJM{~ zEdk6^OE+?b*;&q-?f%#O^aKet%hZ%eukVKeTU|0-+zHWtWgR< zy}_vKZs=oBnA}CTTe5nHdi+fmKnlQcFd@ERBQl)34&g68ABdq75Zg_w0HXQ!&dHB6&C05m zabBl-eo)4i%9iO;REB>ei@FtJZOKd5nv5}e#0&HW>#V)DYvwn5oQ;P}c>3k&+IbWY zUC%(dJC8F=eMy7R+YVyN)CGb81fDzBas|T9JrE<1x7`PmxQu;QDt)@ni_cRX!Wn|a$ej$6BAoQWYP6)dc z9C?%So-*5X%YYquvt~|_#Mf}Fc;EK8#L4)ZeYh;bUg_%}H)nRMQw2WzO&RMaT-(WT z8m$5dXG0o#o-i3#&=V9gPl)2$RW!Uco_aECS3~ z*XgRF4ajIg_Yt9u_*ZwWAudZsqFfh+LnM5C$(eoL*X+itKS;WsW*K>s%on&T7!y$! z>9DuR(3`zzp_m?Up$nb9%Y=Y1iw}?G5pOtPUm+u%6y#SNSxdd4*@ zFD}?SvIo)pTG*QE@nHB+6R`gR+kORasLG&8M;cch=&oCo5Yj1% zrD}y59`3+TQPQt%E5jAt^{i$Z;rknHta=CGl?2ISkbqt1Q}0L*G7QZ%DG-H<-R$Lo zM_Yw`;fE_wSw3m*qh!3lvn}12?s%7o{9B!sR8rwBe5a1&`=S_PT)l^`pIHV{F-BcQ z{^P5gfh9H-xqW2~f}2>jVv)mbVS!XkEn7C>=0}_?SMxClI%~5bfmFCH9talqYZg>i4v>SVYeFUxqXULimByrC+%fY^kMzgM z)dEunqmm`QV-PNr(^8z+#Ou%X_OHfHd9l-N-q*AWv+59SSFz%-5zUBQkyM)nGeYrl zbn_XK;F&D(+Y03(zgf2=zJdBHS3->7J|xRS6F)E)*`RW^FG`Brj7U&%Vu6%?tLP zZMf4G8|<&m9lft6EL{|DGv8g~I&<635Tt8l?5NE0zc;j<%orU?%BoJHE!z>!5hSs2 zbO<20;jk(>hJu=WfjyT_&bmjxnt46UG%~(|ywzuS2Uu3+qD>6PVB6mJ8K-1RlQjVu zXa0@O2DB_Y5gxK>i69?suIp%`yqasu_i8!lx*oMpvBpgO(!km_^QITbA#Sy$seN&5 zrGOxRo{&53FbA&@6XwAUvEwblf^Ln4=b4aA!=zqvQunk=z^rVB)pW{hqyyFs*7Q-* zFBHB%M&8U(oGK(yo%wFdCi2^PUrl5D@At-WtO-V=;jOo0$8yb+GlF46ez`W6&y!h8 z-&(x=YtXpDTGOKjU#!flIR@Kg^3D)WYBw~3`t6UsymQE(;HU;^-^czsWWAca1(sII z*VrFxKE$o8av}q8EIrp z=CvFcqF;6ngYFcP`{GKB`@_TmTmBet$*Lwvy_a>N2tIYgBdGN|gKfSDm>@T3 zP+@qGVKpw;o@@bwsO8NakvoZ>+Hi@NiC$pq6oKR?_4X8}4;Z<{m&kqx&}cuzevQ&1 z-v9`|L#PmWb}3K)E!>iK8K>udtxj-=t9R}>-~64t*{^cKgz1X2-KlyIX19RWyw7`t z>#ev6ZAkQhK}IiRyyNIn81DQl@(OkrHeHR=fCj!#P~76OfVwFF^9rVhD65L1apmBy zLxln57xWFUn7;Ztc~d&^T>%#se@Z;je{@~(OhoTN*paN+&;2&-(+LDZX%Xm31|9JH zCo#q9tgx4U;e+%?f&XDY+DkR*zUB@mD}%ABcrlX-NHa#dEblz(`g7gQ zqs&(<1BiVm%h$OrMsvG3Ppz^48ur&eoOO|AQGeODRfGp-{WVo2^O)M(#j?ro zFSaRoxE(mXU~XWv#$LEVoQ}&vD8}R~B|Z%s4B^OIk#sDAGtDz^!ZtY!PVr78SWBPe zUQcK(IvoPiEy<+J`+1&?4V0X~Vyysco+bRl01lA-xwoU2jKT#czh`&9o(al~1|`05 zPX>->>_IdxUYO)*B-u2suibL3Ue?2qtXj0%4q~QG3ZX9S|mGEE>T@Y6WwdT zIA}6GE$`|td+_%?6oYP=Gm=gxzHIT_)Y#0yi~Zoa9C!K4OY}pQP=2&>@Y;HY74V$Qffb zMT}ml|C%AT^{X25bkgHmtaJeF{^}Whz0sutSWOMTKJ4PCLN<3IysPD;OXAS^XNZ~L zoWs3BWanJXsjb)+Vre#ADe1KdafU7>1XD0E>2wr&;e|OA;VSwN20qs@t8gtJ^Q_Zb zwOQmpA1DHA<<~~rc!?Rbx{?mEXc)m&c_3q?* zAC_HzJ+}%(=9&nXNi4wBE}p3MdjQ_xwwD$2%1m5$O?yy(B6>zzB(#mGI~_~nc)l`n zQdwuI)|r+ln|ug!B~Y=P=f4VfNyijkTYr=*57(HZBeYvug9wew^jmfh$?ApcH|hoS zS4N~#oZovbZ`VYrYAv=aF<$z9+Q=QCa~>^_G!sPM4F--4;fz!wr}G@K)CX>7!3r5m zCkw5_D{{E0`zS$4G`YxW_OK>%bA#}RFkSMNt+W_9!TV9PG(J(wGw@~=EspYKlMM#y zr^NW?9SkOpU8PSJKy0i`5bUL4{S zCO&36mmC}a6CgMu}GPf24skYB(PK-~{Y8 zGQ@&aUXIMRL3YL%wIIaW2#m+Au7IiB7;a4-N!uE@bCl{NTqV8t=8r?a7dP*=G2fbB zi(PP?1D6;BLG!2EES6uL#x{GiN=nP^bF#hqvTy2kZ|<_G_*+}fPZ{ell{ z8|#G%iytAU+4BZIVw~p=xH7JLVybuwN2KpG%3^LTD6*dH*k$Uk?bPOs$biPlH})`Y zj<{P0Vb~A#S+>kyx3`?!cHN;XO~-k(W^~fU3c$5l^eL(#==&mCdT6;+TVYgk?HSaq zyN6aaef>Bcr>i~4;&QV#$COTw3mItq8&gcCNvTF+(+^iwByIfHh?U8ou?+2uA(Y?q zcN<`V7)sV%Tm-wfpHAl*gJovZz^-xBO!fYh`0MwwF(d8?&4ATr8O`$X0kgofVoH6X zIWz2&F*qQ=IwQ8KTyqpX7!QzytX%H-FRO+WK%TGLAo_$y46*+yL>eTee%n zZ?3H=>mGKhRzpwPa4N7xFtVTG1x66ND1NaX{xDadHePV=SE!`w{Ro?9GDT5&_K4Zv zhp7hU!Hsw3TxBOr_dNvYabwF96GgkSV++t0RY25KXU`{Z<52%wpy+K~Ud{J2|FvWn z$HmATlWTcxHwCbuE3Wp4mwkNe*Oet3d!HOKb?kc#Y`*`(W!6lHxr^mr@hJ9@eW$>{ zasle0eGtBU7Gz4uN(rM|eZ8fQ*dVY~TJ-Y#=kdVQxuH}_ z6wvjK8$Zn+;(&ByEU9%|hH=^24E#es54<@Q=5?_kCpwgab9<)pyh|z+Txf$-y#g4( zgvqU^Fu!f@hlNBp2!(%b702n=MSZ-kG&KDa(sVk`yM%yF6j)M9s>ClFd0ny76q#Os zzGNI8F?K{kDg#?E%hB6xaLR(EAacSr?x|Sh`V7zXWklGZ;lU+44Q=Dm3-!gNiO1xg+pZS`2_QS-_gNtkH_NI{OOa))c+?D+5eSDW7_|o z2<$)6mYkyc|1pmLDcSNg`G4ck%>e$@^O(N?*6)shIVoMQK{h%VYx29!#A~*68^_C& z;3gX?jMJ)CwaZSm%TQGfT5hw;&UY&TZT$X!C8GPzp}A|uGM#+Qrz#XBF8S>;X55D% z+oS3f#U)$+QauG(GS524S6OR9ubs)25JELFDf5+YG9Vo5^96UJ4^h5`Zzpn2ipbGD zT83P`lrP`>_>snTZ_MYkQFV!<$!@%!yeJ&@^rJkNkUNI9wo_Me3=XD5ZB`;%&B%@L z%^=5JKjxm-xH-ACGVAb6qREazynpdnVVq2fh2wmDS=;T$p_8X79l=qi4bJUeK;GJh zl!WsCoOnh)&marRTnX3HgUdhtoR&`6ky=sG91S*F`*UrL9=@xw{X!N2_Gg32O@$Z6 zV7$$UoA0ju{mmb9r{i&Zrwp}852;r(wT9cMc(NpAZ@@0g!q8IP7x=zUMv7u0ve8A7 z#S1s>Ef@*eq$3al4AyIfb?c!d0^!l3NNWV?BfTz3Zvm6&ZZ+KZ*sbv7QG# z!!`)3R01bQ@+u9lN^E9ytc5yP(MIm}797%*GKnQVLzg6}rjLonF>SHul$LBdwB>7U zV7dF&hC0?7v0T~t&37WI{KD(?Ynf3xY}Wxid4vA1nsF`k=VUO%H-fVqS#2hr+6!*_ zH@rxve(0(z^3=PkE}>OzNJonPqrvn-M8e;9BYD<+kFZF>R#)Df2a0k#8hpeth zyE>S=bEZeH7zvjf#)F~Enx={%mmsvmK+?yx%l_Lu;*f4o?wV6b&p>!eGKX-nWoY9y zIsNGn>x;b_X^g4ZgYMKQkYa|&JJjS9%lcTUgp*FvVZ`jWzW=*6Ys8nS+R9YX@hE>y zHwEE+-st=p@o_j?Bkw1o@(0pIW*8+p?a{Yt|8572_3-#BZ|Y#q`eeipzHvJ2zl)EI zrBiRivO6pdpjPeE&xTjc=bsOF1MmKT`_e+Mx=T|^b^H7v;hB_a~_s~ zQWhWed>XI#Bi|=`M4gbjaW7RbeM5sef}1Pe|C&o{gG>frk1+HZfjAl|%Myjqt<&J* zSprsC6v`5<0JlwV_MtH}z$IDlh1WMutDt%aNe8hj29`i_iI3W}saHT=9}a#0-I19- zS)TxoT$Wk|EhoVZz+l?tJm`MU<5elp{zC_Esj8`kZWHWv&Ke!*bR=`E#2GWx@<%1u7B-?aB`WPloyMvYFq=|Y`ov8o5|nEwZmr<;ss6VK@(`2{MdG5A9C@gjd0~r zT2G5KHvFU$o8Iyq1$I6oyHM+%uEGm|JmAb%n&m`hD>(0@i9T!O(E1|Vgzg;KS~+y; zhwQo&R5{JnV3~(HSQC?WCs7?p!yc@(PW#|QZ)HfU)-Dxn0)lQfrL40(f!?%tdJhWh z3#$KF1X0Z?M-uNj6-~waV#&=z<&UsjDNe?@lH}j9mnycF1>5b@)sDVrOYjT^-u(Yn$W5hjVs$@TJ$+@*KGePp76P@saB+3?0nz`?B^0~RC>}&`HGhm67xzZ z1Tb+dV@u>#HsR=b(x&lM+N1D^=!R3v{%a0Y8<4vAVV;hp2Q8J$h-US>&pOufuSu?_ z6>?7*{5`yf+dPFO=sq;$D9F!dc+)*`*oX+==CvV9!3r&$RUdaEQ{og9-%Ievsfwhm zal{_n$Te?zFsdB!x7<-v#jukm9uKwJbL-O&&PluMO>IIlpyb$u3uZxCm-*dIo#7Tp zo|SZn(?}o^Zk?iWIH;dbz_~y|051dOs0hCN1$XwczC3;%$>;XdR6^i3_s%}FvVSp` zq!(dn=04Gk(~yYs&QR4sVCJmrPp%VkU!Hs}&NX^J=+h$B#~qM@7AO#D(QMC|7I>a5 z@}ELd50~YS5ta6wuJ}tzk!;WMLEZ0v*b1&ODAr6aXw0KI3-!KGxr)&yC9E$xg;cRX-K0 ze~jLVtKQd&4$wgNv*-o9h*#OxpkgO8)S*WFiU{$yoN`IlqTXTR4m+Qp7u6BlK+9X4 z;3T!+LUob(ffGaGJfZBVARbb_h>^4LzTZAOx+CsMQj{DC(FftjIl)l^ z9Q2(9`K=@PKeYj7hRGnG=6Rc3z&F8F8By!+Rm~iV)dGP&L(cSbr;yUvkljOG0*>_U z55(wziHZPbi8|ceK42EKKa7ro#%}ek`sctY$R;etD@)D^u-#2b! z&20}8S5IR)Z}8_8zN8Gk3GIcfrvR3~c#g;_Sf%lev6@9yLIzeywR$(ksRjJmNAbU&@R~~G=%)z$YQ?&&u(2`44FlO68TfHF+Z@NFp86fT z^?F}O2{-0TVZA%Zm3%*N{CKCnc1Zmv#m-NmIkt>Bs_h8v;D^il7U>MiEAQL~RU32=Y4`RRp_%HfZhuMc(Gk_?Obpg~&$**Xij z=m|disxn#KH;3i)E$j~TkQ-^TvzLc$%<&&@JYkoLcKmeFh8;u^yMKR}-AT8E==TYd zQb~RFggk2zl;05Zr>nU;u7+jZ65Ld3;Mish-(9met;^IRxUx=720nqX7s4!$0_!zB zPH>gr&Q1*xqx~|C#;#qlRm3VCBoVm|7dvorOE4J-m>3Nto{v2R%8>oL6@-Z`_Rz|y!!fK zUjh*S`=zSzRx!rC71hZsP097d&$=ad*(xM!Y7dNs#4hUDCPVF)=IuB179F2{%LZVF z68=Cdn|p%CUONg!QE}jMq(Aqh4Jk=_e2S}~!sB4u6*l$iJ61(zI9Py}^TJzB_OO|o zs2a@K$=X$f7x%n1*wh6-h)EVv(W%vR%dvAQU3X&2fQ9%X49<1VKeY+qvm`wVy%62`u?$7P^{kM%;H(r?R-XVY!f`_sDOTY}V=Ule*-bS*8j zwhfJ+Btc3{y zVr#lM&}lzd5lnEQ@wC!B3tuXgXQOkoVI@}cw6(IzFpbE1+!4-Y8l;#$ha0#`d!Boq z(fnXhAR-s211vTL+Pkd!n_S@>fAure{`oOPi;s0KaJIJB1=j14M~=*%024hWr!W#a zoOegFRL`qy?cjX)hTYEzV2$!bG>mnys`l%ekfJ?_8)+qCsL35iIR$g+kI3vj2$QSw z`8T~vM@swy69O?d!eo3-kD50Z;!7A~+&$BR*^l*dOnNY;W#V@?Lg9CrU&@0` zO91DQdhD+#+v=71*!0ZT=UBFeV_e6W1Jrxx0#N=w*0rD$zA~1RvF3UhVVZN_+?uA29@MBh zG^q!x{EX6DLVGHGL`~76%WwwMQVysu?1r?j(Vz=5hPrPEOGy`+qxwS{*NnBqUxM^e zz0>7x|BU4``~2|LZ(;88ypv=}2JRj=l3VzW`RGMKY#A!1g4QOjV&0%MXMU0f>8*r* zO0A0o*M4-t*w&}fMT0iu{`u~RRLodd>wG%y3sa<`&z6@H2{dzl-B)+Xr)?=AZ_mCB z7}w}zDeBqwu)xl|mPvkaHrFrXdHZPb2GJ!-uB;LociUv~SpMK66ZL??|MC-4Wgzk0 z%$(lgt_Iwt5gaA)WrmV6;%mI3EwVxoE{Pn4Zb<^RuxFz|{!_RlOO&tWF8v*O7~+X& z8>8&#Iz!uSOGFxX>>WmP%W3vm+b1VrK4)_~b;?oFmX4x~8C-EhmDOGTc~r0R3(-9e zR2Bg=x90Hwh!W5{9<@Agtr2AawYvxSuWF(nElNp8tB#bErc{(rq?wp*pr$TtV>iY9 z$rg)U63_arz$vVW;mEVTB_%$inp|Ep5pbhb=aDU2teYQC=FE&A08;_28oCw^?~Jg| zjm*MHj}dp`M45b%er=~iYwn^i8qtz!xgjtcsnXoFj4$I4eM>=*SpNN`kl4@;nxzJk zslOk?iHmE_@jC+(>BBtC(UxF;gx9~&$f8*7DCk7kwA@zImX=&{QS4+FX-Z?6b#@U) z*VYEWz5NdWT0o`0*pIr2pZx{*OONPD`w5o*Mbe*R@eJ*br|CSj|H%2MSxTix$g9-RmQ>3>zSdn}bd&q6nl^URHB|Yf& zc)_Qa(ao!dM=#v-Y6Q`PMW-5e757Tv1MSaaGW^2xxfrQ2gK$qu%Nz`nT_u&WBGI(XLAjjbA3=ve~)h5S5(<{V2)ak z=0$nTjkC+FY>4XlMsyMRQPzEqA%8ivGo*iKi*rskklkyhb zw3&ow_e{atupIX6T9oNs(OV*z z*sm3iW<$^p8H4Z5JN#?nakh|aF*TDjy#kxEF7Ay<_?9KHsYOGnzyGkzYSOl@$6sU; zzVbE#F;9s0-9gvx1CjD?tao;?vce@It|*9XHx6~Y4U_Q&nqfWyL$YFu7>4#}HoU@% zJ^hxW|C)~GfM`k`stR7&M|6=mHaG8rLAemktSY1(*+$&L&gctv#+GLa=8g49suE6g z|HGL7`iLz@MIy4Q@eR8qJa{0!o4?UT)n!dvnbGI!$@Qn=u6q`(MzpXf(Gp93!7{!p zF%t`6IBq5MP+qJPo?v{O9Y=#K()UN9E-rIx`3J%~D{;2ok0SIpvCW^Ozb~5D<==v{ zACl-QhpHE36ii^ll7YC(mcVol0{_lNd1wJ1-iqE)i^R|X&h1K+Lk|%>_btK9_lW2l zN+8Q%46{ySt)L=i@Cc$lRmNzkNa%dwZ8wh*tM5%hyaBVnJ(g4VMPJ>Harr?q5`-)N zdcoR9!gq6g#Uu0D{h=KCMOr*tR^xwq7t4+8*he14d7(dXiAQjM8;8pw*IP^Y*Z4hb z8Fq-3H5`OShvR;{2DitGHZBp@**e$)H8H;z>^(&srr@o86~)(VIC^AA zFW!iz>oaV?IwZc!PfR`0H4d#IWyvEGegR5Vj<9sCWN5Ey@!nBr!1yMLmo zBxg0CMg8nPp2b~p%s!58d{9^u3+fn&*)InFZU`AGoG2C#`iu)|sMk zDw>He>n!L@E3EXdRWHh$2jU9?%`R4w~8jzMD(^EqBV~_ zPfYtiMPFHju0Sa)1M@Tg^dlTe%|%NoCi-F%R&>mTy8aV%*8~s73m@s_C9?e&mRR3y3XRLS`7Pzc)XVcr!4G(*HZ~cwRFLu1u(}<#qB+dbAAP>qlqL8Pa*EsCX7c6 zSS~g~QB!by+cvmYzm)U-68(+?*doG-s}+i_wHw2o)}jRquKv^(+Z&DGbtn-U4u>qo)`Glqd931(l7t>+b)h3U8(wnm{6j9m338{WOdF=`tADU;>d zOc0Fr7(?(ej>;i82Tmuhfb{K^Z?O)!jql4q%+~#QTg&~;_;osqC9}4C+6~X>bPvU3(z>!BZ zzlVZ%+hs^^sEH}J==Pljd)*c5gmkt}orSAq zW#L|HNEdA)bg}fZZI#d$*-6^O^>`x(5K*WP=5CXuAMC=Jatn2ZcA`1n#(l9RiIoqD z-n$3KuGeVdq2yqR_uR0LEUTR6WX&M(>)Iibg%et9eaE^o6nEErm?zvN zqSQXjwX$Mwy+gFZ$5{UTMr535u-$8+Y_^}6>u*u%j-$_?jmRJJTqpID^EU@~NN!9A zd*FRtpY_?K7I#>QDKiL9|4XRa?IgZh2!ZCi(7$hqucC0<{EY||zGN^p!qvPsn*QC; zwSSFmtLWgH#e?*GLwQ*AyUdG3&-g@A=w>|AeWGu7MfY|;p1IR;4ckTZqB*1vUqrm> z9_He9d|3|SC>=uZ%2k4W?n_;X_qVKp{M~OPJlIT3f@ow3i!ptlK``tYNhAAXd9{tu z2di+7x`4izcwnni3Ez-aIAR70(MGg&3lJFFflWQL6Z!ZEsU<#PxZg>9we6UzcK!c6 zXxl`5x$@wv^$vR}JB~x5XDkv8uElDphtb5edPGXdFZ`cB5q-5kuHi?qo$n=HOeq52 z1XqR&*S+5wbJ9n-Zt>iTDlx`h{Z zVA@$s{HD61?_MRT;Y5=DsU$l7Jp!eC7>-mFU9k|FkM#+AEI701O!VE$pf4fX{dn=) zu6DvUqdv+!*+^fdW>XR2qRnRDy(ed~PA}5(cf_A_rD%kML~Fi}?QMS1JU(D{b|O6E z6M>*`;EoqiE?SJU*CX7YPYFidNzCj_sCN2Dcy^v`Ra)aH?k2kKR@VL)i?&RP@D1tz zgT7)ZR9pIs^v)1id3Pm=2AlNc+RSm?!{yn7>3$s?bqnJyF5cPI0iw0PMSCTb^h+m6 zeEpv|2T=Wz4Y!6;w9Ybg=I!4-d}&?NS#Ie zk6-wrOA_q-62BprXcAAQUy1i{t{sLy|3)`qCE?`-g9$fqw^>f)f_TjRyJAZbZsC_1 zv~>^ROPs_%l=GWDnT(z-q_!HO`?oN`F8$fORCr5LXYnOV6X-FEz@ZYvWRW=`n85tJ zJHhHlaUIJ}^akPa+MguXO2(E&aL~0CB+g0|&rW#%u>u%-S3{8@nrid;7-yd%a_3hx z^FN|6XC}O*=qd%A7{@iiFbs?n-eA1b0grnJ$~)p|-CBmzp~jYM6TPqm!91ej_j*U5 z!EBt0JXrn`ul#__`ekxPt7bueN_c3J^xOBFh!fw*leZ0qidAqHizDgWNXZRc7mYq1 zUGcnfpI)$}czrZE&C(OQ60x^6G1-QS_cR*A@D-?+uO!NS8GDP|g6~G)88wb*(LF7X zALIGE9rinS@zzNYU9UNTPQtJI48Q zp7MvVjWo#Ibda9*8C~;{SXT?SsMDVCs~brlQW1?;ywz*st>n#&$1mslgXl2Vo}zj^ z6T`&wnDa_4P5Lc8rM&j6@cqY-96223DaxC$K1UC=eN6LB8px;%H+=Cfk z@Hk%KQuapTtrzJ}aN!V4*~(%JKaczSA>7NP7d$vYWR)$FedvJd(`M{*&$71Y0m3dc z#5}1F%6em^mn34Tou6fwauBEPE1c9w{3j=#HTf~rj3U{*mJFo=|Fq4d6pMWS+xPWJmD5#A5@drz1Ca78%oK*>#v!dk8g&Vo%z z6TMHnSo(9ZzC_2=mn=(W@q31#e6pPA#-q^LUHJ9l9Xy zutkfv5p{lfwV2v$oh!Fku zeG~NWL<>5s!jYp9j@k-L?<%7o;3Uz126N_WqLoP|r@MGb$0|rZLikR#^)kCRVLK}4 zV6&XVJgE8q=8s$I&D5a`Zt2gKrOSDDstA29c15xKH_DBl z@NC?RMR>TU?gPo}3?c5Gc)E`pVwqh4`=(gb-|q<@eu1gwRMz*LPNMOiaNH_*=Y(Te zBiOm!2F&y7W2w3X*QoK>s>~qquQtRdHW99LnAod3(TewJk{+n({}E&N?WijkM!j%0 zjS`j+3jg0SmL$7LaG+#KMy?=SvTr#D6Z(4PU5u7kvfSuRe_O?nlDH)}fwK zPB83itTP*mCb$FNJ||HHw_BMQ?j@*@zCGzB&RL6bnLW4!gE`LjC!ua<(d`TvJBseqrvnLZ(oiN?N!YNE zeci|$)`aHzw-i`BGd8}(6$=phjdm!gx+8mC4%!7ZQ==hm-VY@M0 zFtQR`zT9XFNycf4WKcq+{uEk*JWFFl^S5SJ>l@q8N-;li3V)Qkt zq1kpxFm@-r?K4m=FDqG+W7zk;Lq9}v21^zZEI(dw-f`kO)J3~)8m>gir8M1#r}_pA zzw3)<^#N_?=Gf-VB5HqgoK0q9`6ZsF@gK=5%q2mW7v~J=y`@KsU+{`J(E!~qMe7l- zTT^E`ic${z6%P~9Kz!YXcASf%3A63SqG?B18Ke(N?G7F;GwuiOGd=O2$V+tjr;@V? z6%AK1deeW9()t=nHwWXbkRNw%;YV%H5_@77?iL1ADZ7Yk6^&=a70G#(CefWr;(eK8 z)mszayga@;%dm}C;65PvpI!#>Vb`#%Qa={#UV?t{8!SDf&s7rry;(cF`akqRm(*nY+tGU3-YWqIk*)!mEGGB=T-y3JhItFm_1Q#k6kd7v z8OCVIii#F*x$+fzn?H%}^px=Ge_=M?!8&1r@ZnyfOXeabt7zd_>f;g3M>DYnh9Wue zcaVNwM)c)YS8$!`kGo$T3{yie+pFX5Fb8$wY1Ai#OJ}y=_+&y?Rc5zNp37h2|4r*D z{%A|-@m^9kZX*2lZq!|+$Mx{y9J_-k(NW^^ihi843D%=+FuO|ND5(}r;cxM!ijp{Z zDzPc;i8IMuA0fG~D_x13J&DAZwS^bn5Kmey8N*yC_X+==BeSekems?TkTPHJN>~@P z)eB*JaFfJ;PviLd8n<{HvF$}`_3XqXIXIWhH){pCj?b;}hspfev=d`17q(K_@%NF8 z$z$Q_gXtQPOvy$$Ek6yhb5XP+)OE}LY7 z#z$bgBsieMBJoS4FRGWY$s}2vd_6?#$$>pA24BCj=-f}(bGsJqp#?~Kdxwp0HS+!K zB>gIY>B~9Pzr+`QDR?^bEzz>1)_;n}B$|oxw&W=Lik@D06*|Ry>9OyKy!1D_?Mf`Y zBv%#f#(N>1c<(rDvqY=C8j5qP)ZR?VL>tzkI`>r{2BQ^{Rq@vLU`0h z!XnP2);C7wuS!fF@qZ4aqL?E0f4~vUsT%P%o{7d=5m)~@M6YXw&UKzOH#(CPaYi(y zwK5YUu;di2KPjHreZ@tW|0Wpzx8Tn9f`LAuU-O&b#hQ4!-Nlhl^uo4w;{Oyrv~~yy zdg1*uijg>4eCV-q_Vb8FFg+H<5*slmqfx$HK|-NNtaWdd8d*VT@)9|h^I1DovUiRQ zHguI-!2!|RUoS*I)KALfi)imm6D>-z2*nN)`j=q+JJnG)n1FFgUSj_~gfV}#E6Djq`|YKKgM$XF#TH}*F4c+B@>7vB;l03`o?kGn* zBfP2LW%1(_{-dZ$2@X0@R5+-HC1%lRwU^MyEK`4$dRdj7wUxymn01qgEHzkoCkv?o z>3OOZ!f#T<6N*54R`l#l9WWg~j{2_P!sn7b85@pmL~eWu5hUb(L7+xs9P5NrJ3r$% z_7+R~bGV*07wt@sQ!wGj*t@SFxLLCBe+n+Q7n2;jWL}ob zS=uMr(Ih3VniB{#jw7XpS3IAIST7vMyrUTI6*WmXSs%lhX2d03#M4g6whf|fZ=Hdw zhYD}g5d=;LBvbQ&b+$PCf-fUSe85^TlK8s&+2Y89V&@lJO-@SYM?9elZ$)Pn{L{lO zo|j}@1-C`Kn=aZ|Cw!9A4UCa2UG*_U=Z?i)Vi?hPN(ly#dEc`q2}@TCrsz&+LE(L6 zQ%LYN#kWz9tI`8ho2H>@v`cgf$w|xEG^XajmGv90_0S@o-*({%6`(53WkF9iI%ErEBW7^ZWOsBPciyBi6w*szx@|gmE2f^*;&#u6UrM!F%Rg4Vw`Z! z#**hwl3Fy2R@1uyG3#~{mt}$YzM>135R7Gx$FqJ25+xF!SaK;@rQQ`6B?H(%=Cx=p z&HG|}mzluX4LIgJ!TWLpDJyQVSyxMZ)r;tA)j{_|{D6O2qrch){jaB(W8zSDJc;I> zU|tcT!bc=A-6kJ^p`_m10hsg~3 z@K!u73zo)puwE)ddd6nrnv5X$raPv?dx(E^4#y7hJ#uV8wPgbqdjgS#K4UH|T5?W# zp5AGauWO2GNr>#ANDioS0uf>2e^1;XSm+MwdM71^;vjOr_-fCe;~w)L2it(_m1IM6 zNbcx#U7T+uD||l_&V!YRczaf~A;}gU?=Bjf}^IbHR#3O0h0o&P*7`L_;EN_<2Nh9ptb=kT2gYf)zTx<5R_yTf&jOj^q^E~0AL9^<)LD6T0*r@2c01v$sn%mBRsAT zi4kS+iofK`-B>a_huJL_ZoIUG~vvf^zuH>@Gz>3qqRsfcLuhBXuA*-aOX_q=e``>$D^vncvD!Z-ff zk8brzl+8uo+jUm_#@i$=A3#{EHG)-gVZ0$4*gPZ3@8?;Y;}x-!N)R|F-m7StaWV^C zy`&eU^})A&uVgtSC)52ct^y{Rfy434=qQ@I1^>>gqLK6_?EOO}lKrvE8Ey0wyY8p(kDF-!6^zlsA>M`fh%TDVt8jA;}RR=!*KG?BW%^Dmhpsn@^rW^Fek~ZdFE=EF5#7%4Rw)OY#b!m@B1_yy~Kl^b{t!A z$uf1C$s&W?-*$T?BeNLISmDO!<@tS?FMVCS1E17E$V^sdx-5GDM=>l(5`Rka%*`sZ zZb5FrnzzyGB!fP7kDN8>#nR7ACy&W~hTzhnbBK!^jyJ2|z-tcSII^c`@W{?aRo2)A z!-a@vpJfEzB6dQR{|LV7f})=h%fg;0Owp)kr^visLRbYgakG9A)mi%Rsiwj+ze^pr zlKkpe!o<_DAC;=BF4$X9g!ox{(Ikr!cV>b3{Jrod${Ejk5VvG}5)U86D7!kTj$y+8 zeAsiV1V`D#SLlW7%}mm(XC}4J1lGA_PPCRi5^HHvUeEZS`}n_q5-A)@>C)pFES}Q+ zb%dKOk^!wj;O1BHDYg;Y>7?W;n_)dD^Lmfydiez(9uchL|Bi0;g2Z_rx59dPhkaBg$6(=~cdJ|GEUB{`aN7^;XfuFPyy4gue_ra__H<`%p zg1@3uP?i%9Irl=M#Q#?JTO;_=fKt45eFxcBEIkqR?q{qYqr$9~eHC>dT)s%j-H#`9 zu+-|cE9@^9hOf5t-77P&*1IE_?tZAx|Ao4M0&D$?c)N(kJWza}ZI$sZk=eI6JTl|cJB(0Vi(!_^u zhUAaRtRy;J_Kik~w!2rjzN!VA#=Ed=%8Au6isa3Oh+e!FpYsCdYJ%nFOO|h|XsmU| zh-N7IaP6lg7U_s;?Gz$6+0h(6gR|2z;!=uW`um;C`ViEI_hUIC9>Lt%lF>PVzFR#s zr^OSC6kKrev-p6wWp8mWz8e9Ivd0kHNcifQ5bWcJpgH0rSU@ztFQVVeb!vCtl?+q> zbI&n^4iL@#?^;CGJ4*OOo#?f)Gmz~E8}Fx~T_l?6#%zRLe1=LmysMIAfWK5m86jLS zU3l8QvXc4UF8Ww0lJ(;-{*c)@c`ioBMjZEIFqZBr9>;S`)l9Mv+6l+(Q8==TJ`%M6 z$4(o;y;IP=iNanMq zU${Ya!g4y%j=dr~nmJK-5$-10qM$*%qOF28&WayzmA#`(qXhSj`=5IJ-#;Y-DE^vn z6)Ep>pq2&o*wJjH>hHic8NdN6SYd_ z?Ze(EvdIqJs1ew^Nlx^*Lm!xVW(b}J`~9xxYMCGn~H$o|>(CV2NWl^ykS1lkl~ z%bG;NMG34gF1y(7p@eUrBD>VGKetNu{H{uF^@>lhP$T)(5OwY!B+jl$>f=ZPdt*qb z)e_ex(U!W1w%YtEQ3JPN(F;fVCmem_KheFn%AQwk)=V;@|F?$Z-s(zL^Cg zJdTMYWzXgr86#WZogseu(pG3^jTLMrddMKjmQU$VR3*_+4$hUmI??5GF2{ZE5y_bY z1dJ`jgDgU7e!(rzXJQ&tle8{PL<5xE+0K#}T%vWXpMv%IH_0LHm7JAu*<81AUX_e< z`Q=0yIgk0DmD;(VXEW_I}_*`LgJ;>Y-@Z-xYaD&f7?+^yCvF` zVB01K(47&VJMs(qLz8iT5IthZH?;jF!+gFw@%=tXf1l5$3z^ZU3Wu64Jb$KW*DEE< zv#KUhm;J)o8_7JMjZL_gXM9V^GnK-n=t!(+MuEB}632;uIVByf?I)^7p+vt}i6@un zKV^f&q(x%8(+%U7@sjP7-I#RIQ$A`%H^%fJ^dRnie^L*fA$Dq3$?29N@#7uh zrXM7#t7uaTH=@7YQZz%kmO4Kq3($?oP8wooN`EibRWjL2S-ZoC`N3iw2j&pl;u?lk zlD&Fl7aeaLzKQZYj|oSvyPJg2^O%{brvxfI?KJ2{h8CdBonevvaNFMn-u6rh$p>q9BG-3 z6Llw%@U`c}kCE9ppf;{qqVYWv{2_X&@yTx@9>lR>{$Z>`zn~gW9&btmHr#E7H%@ja zH_N~4_>Sbf;<3JyYl)QXX@2o(caLTLXb+Y)VIv zL8}~#Kk1Y_%Ok>nBrE$vMPjfm5!+9YsQd4{NPZ@3V}cv66V>On>=i#Dcr$>v>MX3Y z4VWg^!f;FS{&SkJ(RG0h-?Ct8umH;>(T7J!7NL{u61V49q$}8|qiDG@{I-+%7 zK{c-raieA5H0xl=5LISv<4VHyN)fw7a;C*3>sx9fmb@oO$}d@jU^OB}32%xrNcJcw z_#mt3HUII>O=#+yN$6S^*S7h@t8WpvQ#4-jjWv}A3b$P+dCI}WrRBoJd0r44uM*usLwr&>JbN=s=3RCbp9|*J%DHVVc*nd;G;_iDcLf*Ze~Vdi zL&-C8NH)1G{=%0@Unf4AXw>R6k~@m7fGyWs>1RK&43(XN`&CiCE03e6WNTN>kld=| zf82uYqs0HnEcinyI{it>p=@r+?gP&xhb(8Mb}4N2Wf#jM8JK`zu=jT1+S@QE+$A|v zSt7$Tku*kj1Yh^W-bHjU$=a(0`zPMMkH6!>|GVd99UnrpTD0nxCDDnWWj`gEpofxe zYANrWkbB`QI}~@M%-&C;(H!cJ&OeF3oZ@IdX2zOUhm@u=$N#BK!lY`V^UC`nUfblI zB7zUU{)sVkG@dsm$=gjqJ#Lr0GedmQ6AxLw!h(L*DqQ=2;7neG^|FST@#n;c*J7_0 zBRSr@s3J;`@>x9dBPAsNR9UnP1;+X5#E!~}v7%(wCw(9x-$%*u=fNc$*z&y?DRHv1 zy8boJSGR;8$i25-xX6YIpaAW;XJYkgH5Q>@}3)|XGlYB{%%wF;8 zpXOm>TiGpY@KrS3wxY`qk-WEXYIg{3@t@ZJC7#wenOFI{3l6#{dpgxf8x@bWXgR!R za}wWMo^goaMV)ZcS9v896U3Rf50*KS=b0VP>c!o#PL;ix^%GG1Q5AcE*%)(!@ouE- z{6`WLt;?BHc1r&4PD1;dr2p>8k&u_-r)R=3<}dLaEZ7o`Lj^YcN+qee3wL*r(6$i%cgwXEwE-h<_fZZvr}~8q>1Qrq4jOln~#pyqit#YEm15 zFCO<|%P-L#5?f$hB^WsJ7D4q~e4iyNIN=-aF5=-_e1SiAFXE20L@oOa5z+bNUdar| zWJKFCJIY&wFqe^BB*!N6%TehenjM32=Ual? zwh-H-)50(EV_tL{)vRrTWs2eNE7|khM~TcW{Jd{B$+Zf8ye|5^?-$-15u}!?gHw}E z;H%^t^NhnOINQ7^1nbBD_CO``Izlq4okp-?x`Ggw-RjN+=aLEB0OW_<=qO)(9e)-O%*=VxHsxv^GV$&KAPw$HhE4l zy=0H%*&jHHJRzltyz3~7ymP}QUUL)K1C8BCoN5WigQZwArUM&7nh{!kA4**r@xb>J zQKk(pXMm{N4~Y2Z1)dJsNXmYXaQjYFgC#p+O&}@n59~3ch#Mn&n0XFh%Mn9tk!hGJ zI3#l}dp?IwO5cbPUA89v>GB;i?Z$q3tmHe+%PwI!DKBMbH(x%IZWY5bER5LA5yUNB zMIbVn*hQbwRM>?=xQVK9D-yx?Ko95KluP8KNa_*(sE~ z_WBPb&Y6b3<~o!k!Cpb$XK~<^WWExKX}Ao-$S1@f7>^;o2iE;xiK|o|=S0yO&rTuk zs_Y0Kl;=J6EeT(85Ri8+Xq4hr{VD&yUUc{)qS@Y)_m7yqVk*@EW2O-(_x8d0NpgY% z+GCI%Z2e>L!9Vv$HB2=AMrO&0$hBOQoxkq4FipuJd&PT+O%5j@J3twsa{kZAJANL8 ziKn@qq|%kqYHJZKnV*dV^0R(Z526Ro6C5l1XD!#E^T}@0`Y-a%nWo}{+((^Nav~QM z;{8c)>Xd{vUb5%I6)1OaWL;j#vsA4t9`Pu_0Y&f@6rG`Ll4Rml*o_s0?+VVY)t^B1 zR;W#>c*0~StnwC_B_D|IFTB4)sO%Q?7Tg?zt(~0nMFS?qNy4JnAnq=m>uHSj?ee8Xq`|O#6A3jqy|LN#66Un3EkAq0ER&(A7apz-S&B&ttTR_D3c-hdm@G#ldaTZ)J53m&)XH>gG%*xv;slzz2{ zj82|so^nk3_e zDvJFJf2GwqSu7nC8<{M_;@;>dOO%+%JdCfI^eY+0BNJuWyrYp7fB)EgVr@0mWi z>=2n!D=InxF8aa0-CN|l8qAcJ{Hi%GoLU1|$u=vruv~kYR`TCE7%oRrJld+i;%W>~7d4EKk$n^wv=c%HeG9QlS zUht`>h)vUEx;RHsu(siKMrqYcA8j!5U6nK`rg0}(Kb28h>*M_F5{fb`f?0}_DLI}# znV0h3h2ftkTKiIV$UCw%-jS?nymSGSK^Ww(} zpEFj@5#*Hyu~#PIA0$;!(x-*W%vT?c;72*&OrsX^dsbw2=sZX9X^Z3{kM8N$Oz!D^ z+ByjTVB~a|T)4FgYn4=OHvD*g=BoMHy{xLXtC<`ya8Y|;t%Jze6n(AqWrguPp3A%e z#$sn~1@!q+D-R!1T=19Z(e%4Cx-6Gr7JAv&_{i*sP4Q~Wl$LFwuM%F=QFL3_(|pYp zy}be6QJ|u4kZ-SKS5)r+Ww6ui-o9Lpk6*}H4{j=dXZVDl72mC+wps8d+7*#w70mt* zE(KS{Yb$9}c*!4N&(pQ!?K-Xz^yfu*ok<1ph6li5(yJJ{91j!C4sRvd2gWPtAD&^W z6n$@zY&Xg18M$u<4N^QaUTjbWIR}iSp9EHX(gmeVI;afqVi;pGA^Q$1DRmlMSiVY$ zpQ`Y=_`u;@bEQYhw=x-{sbTWZF;kJ(2gu%YnM^ZN74qmby7ykC1%06c7|d`{2|BPc=E72 zWUNW2%{X|5*+b=^%P-<3&%9T3C5+0%!yz}nva-U)r_0g0KN(^4?pEllujkO4xCy43 znfY)_Ite?-I6RrI2=uUxFtDdLD05m1Ib(LpJ*tizr6l|1Z}|O~VQ<4}Uu&xsJ=!Xy z_ar)M;Q8A4C}dj`*>`M|>2QjiE$C{xwno7*{plCt9QhKiBKU@4zK4-y#<4txNvU67 z)-AEh>XJ$a31{tOa(4rYD*7!TxB;V|)}aXbD;eeG;=9kh{gNadR#A+^9IdGw1KQ$#v78 z)ccdN2EaNLB!_=JuOe&N6hHMhv>!UTCcf2%+f5W%m|62YJ6yiJ%-CpN{-x#EzHZB zlx{C2)0%nct(O&e747*|Ud6^WmTh;e+|57}7Qm(ca{Y+^R>Op)b6d&T0Z8~a?r zYwWKT;lHq_4OVo0vm&c!((zPQ>uRt^er~5-v#ThP=T(yPYpwGPR9X$#(xp7p9fRQ{ zS}UU(GsT)xvUi5JFb_~-3_B5;k8S5^dNn-?d;DC1@g2yw;9Hm<3(4Vm;LxXw$p$4my+hfSpC^u$xHLlwJ=vfdoL;Ya+sn&lB23QlFqiding3k zSPQuHgc?c+q*vAZSz&m%rnfL$)u+q-YJhBiR#XP(c)I&91$dt*{mOG02aMLX9`vF9 zIUK*38QBg`y|I$Kb&$3HH9RO+DbChb)#UakJN_)M0w?1M zmMp5o33N0JpO5B3{%U_`+4tv?c{<&1eIF|_3h(w$GN)d+^xB=}{)YSc0yE7IjTDvp zJ4G~DuDFNqxL01&{n1yh25V&NJO+QBEc~ff3aElsTWt!S1bg=I4oX^$rnD9QuJZ}) zK6V)mmVbZNbUAJ|eB~Ut zMgb>BD>2D)!Mut znALA^|SIM?^eSRv--GYtHk}YZcyarVK^K(PI&SFNk)R zf=@ajLeBE&{dsq5Wi~roYxeAphsk+9XBRanc9vHOkG7&4>{49bs|wwJh%8)d#Sbzn zYTmE1o^KMdD@+vVhx$kzGONG|PbEvmd^XG1p=QXPSLuD|Ff zcVvvk4}1xmbajHPZ}GZ+$0sR6KVaZXxsKDDm3RUsVu9jw6qa`=EWMR{?^uPnrATI#o%|-LzzH-WrN0WzvLgcKUIQbxZ*;JNmNIfg=G8jiT1wu*_4wuj*WwL@hDZ@T$b=U8s95w}TVOYZ+~zrZ)*}0j zezFw8>uc1J9Lhtqp$-b?vq=A&UaaTzYg-&5E=}11k>TdX#vHZS2 z%W{OA+jMlrHANNq$4EJPjF)S{16X%ZtzHh+KL8HZ!GcrH9i_av}G(+*Pw`keQ){3>@yPC-W?B;KO zI8vUYGv(iBH7q^zWQjbo%{?qr%Qv#@udAp+Fm8vL8U4?~h*ec$on!Ph{QGxu7QewC z%U45=uI!n&@uPo(sr@NaS#R(RgF7g&5p2%8Q?L`{b1N{fSDK`iMMlcd_jfHjJ3=X4 z$U@d@Mo(m_EX|+GQUm|9*hM++GXv~kj%OY+OlF4C30Y^BmSF++%(^nnVRg~*U(5Ox zz9gKR=NVlh^n`dumX&K0Jl(7bib(rHiC6H0TJm$-Zjq<=Fr{?ctBB38Xme&NXw((i zCVjv&WPhpfPRrjHkZIgIh1Be?ppCuA!ZgC0s7JSTIC;$O^ot)+%&h$izYs2S$pkp1 z9g5$co82Cdq|-;4>;Izklo?8F>!Y~-TV#KVSKIBJHdH}}p6d^n)R(iTo}%-SB|kA5 z|7i(+J~_7fWO%!uSHwvAE4!{$;PC=Y@1Y)yUA^lId4YEGRRCGnap!P z=J%hhGK|eq=&ew?3ZHVOa9=)$eU8Up&9_|c8Tgc`d1OwN!oQZ%N1-*lLtyZ&+%M>n zW;%4eQ*b3t0OkFkNiwl*dt!THTN4`-TQ`{4xv_2Awv(G=Vw*R%H{Z9rRa;xN{n*t{ z{m|8Y`keFA8~!M4-ODW5pA6XY&40xTsiIi@oT6}J%g|jg;uz(Y^sY;f+S2lzzH-;^ zQ}r0x+6=Tgtyt7<#yx)?f)L*zs{rAi!4VZ+y#O)q!*u6^R#@$Ds;&n85?3pOGWEt1 zUCPRv5>7$^I_jHav#ZyRJ!pQDBG3Y&*!Zhbyx!ofZ>;*~`8<9F!5!pgf*itm`x>^y zV_oc@=sR^Z?ZM&a)+Po*oN6Ln9Ff?V!ox8L)adV00Gf@ z$@5vUv8#VtGDzVRjeOlaZbRa}9QeA zVPfSHrvoVHX|3;*pCQJZ5v_h$a(`1Lcd|7x(#57JTCt`qnjxP3rssWzTEq!rk`=xy zH$b{!bMNPVP*G7Aa*KVDiFy0W`J#P@)0+KPZ(XtN`igj*>0Q%vZPv_Si~O_22jkYW zCv)LC%x|6UtO8qGCHtq+16AAR9`T)J@Zsbw`@6N);;zLG{K_U&eikqu5G)Cs^*9rb zTD9yHxe^SRNb*)-Ns;+SJzP1no_p0Dcra$#Tm!21cJGoSe@ll>UH8g^NU^ez>1A-+Wjx4)|h)|pH7&5|CQX1(&@Bu_oW2hPUH zxhH`q>}dgy&ywYm&L_4b#<4mizjq`ya7)KQ=V+R0P!z#YdyzX5Yi7e(ErM(K zC;hiY(7`#J4y$lng=h91US%PJD<<0^ebwqC-w}Y(YjCF}asUbZDf5j<1k<^QTC2qP z<~{oD`QQ*7Y##jlRyCuPntRG+lrcuE*3M``=n`ZOFthei4Vhh<5ly4^;~L$Ow4cR( zJctHd=R68>Gx1>PVcUHUFn6-GkRdw{+jf3$;E}=dT$9yC>k~ck&tY<6&6hT_piXlx)EY~|J8m@jp<7AUNZXko3 z7$FPPh!Gi5u-I41eii7k2r!LlCsiJl4%LniC9?bAzc`qfC5kU~o-%>rR&Lgbe_c@Y zsBF;Q^}8*$L+D^`q`gv;;xIwE^@u}=^Q59nu)sG-0_fVc`}Tov$DR(M=PJv){j8U^ z^wtSj;G?o*{k1fEAZtoz3B)e)3k4I+V8k$CTJ9i0rn}zkly!Upznk`jdF|?mOfBE+ zSpAGa^@6FR)4()>un_K?oU~}oT#l;jv<083eqZHUR}9wXN$K*Rvd)Qop0`iK6|7FB z-%4m&(Yx9!M_CBx6@3y6x#YNhU2gJKBlL=X!iW9yk`F1D|KrG2jZ+7#9j znnSkQ$Xv|-O|`Oi(QnO&*Z#VA12dQ4{kcE+Jb}1htQp@LRnU5_?FY>$b{zsJb*I9s z`D5M9z%v2)=a`&vfT}Z()DI8OVYYwWp<5KtCs_mUoBs)PsL}?nr^^Z9BTQG2?RPzA zwrOUnYt#Oje{>oYqj}KG_B?2&9}IBsDGe2YkfEvPYm3_p#N>GR-nl02rpxMj$vgfU zhH$zPw_mpDVEa*S`Y5FBxR=~t0UDw&;p!xCo;!hy7$pq!jg>*B*|K<-WZi5T+l*)P zRW%xVS0HLO!}RW~idY`1-t0zxbO;0QUk8w#yq$~*I1t*=M(dZ7ebQ|FP~Du;yjHiP z-_a%JVaf$P3RXUaNFS3O?>k>Hul8U12%UbOntur?UmNkU1={(%1bt&PuZn8%a>z1J z+wb_!`qre!LI($msHuy1Zh59pyO2-v9Km5dEx_z#*G(IC);@L?rBCO zB%dy&@XJ}`glRex+DF$ZF1XjGpR4Eq1%Jhe^u%u?`k|SeJRge4X0Ly#KX!`IG92s{ zL$=OVMR(ZxlbVCUOGLa7)CGzLspLX$+Om^eF0u1UHkvR0%(v8yXMei+)knHb_qn|r z=G)~h{XXH!AOV8ByyUOWyY}bl8J@IQ^Q0HYmo2%h`hy>iD~@^bkyQfra+GqST8{fS{zIlo;ZqasIW z+?X21;aT+`N=%92Xgv2s#HmWgHVQK1jUwXh#AyIVT$Eh{ft_)Rhkf#99t7ljCF5`c z@X%W*4+VOHP{=RRs+q5t$;8bT!wSJfbd^Et&uJApqc^!&FMqE9Q%+Sd;vKyvLLw#O zklfriPZxh_JunhRNr*I+vXG8ZsE_OUAxqSfr+Lh4;{{Cd-4)}Ef1JPlAQaTz{Cln4 zh7LTNHVMu&3Q^^OI&0|Xn?-f3WlHDRLd|Rnx0!FD|(Nu@N#JU<~{^T0kuP&Jp8m8T33#r8CKUZ|!{&VH0T0MdJXfKFp&`Eg7 z*$xRX4Z-AjPJNHbd~$HonL?hmkg47Q(?UI0s~!LFHe&yG9M@p_VMnDmgNSK^(3{du zV{x$SgxOm|Ab^I2dRe2-5iFStg_%=Y+MoA@0WR*T%mN!vXGT0KKL^KmpOhT`d)mc5 z*?*?j%N{UW_Tk2VF!6j)saWNuCS8;pr{nyTOT5a)`MQ#{?laqB8O@T z92!B87&(po^l<})Iom4mlX1l(L3tWhh$YZXt$$4^&Awsca9HxijA8N&Fr;BGJdD6p zWc1gVt(mrTAL#}kw4Y+5GFpoa*WCayd;kSdBGNk6ij?w(>H`0)_rUiAj)em?LzlisKzl0j^g0XM^E7=Zn!*iyh>ak8j2 z+;uE`Lp6%{MM~)9y5DX>H`^{{>Ps*3!S>C_Vu^bcd=s9&c%iI{!u5arKxH^aB7%Pz zJ^rzNWV+OiPx^Xzv5P5W0H3Lr6pcw}=M+Cua33%BtL0)IM9BqAj=!fu@0yPH;AORp8* zq)lq{hUi3ef-KgqgZf*DV;>KgR|a3Jt?G$CJSD2Xihf@N>5JDzgReGWZfUZGC#QGx zw&N9IXMdvkb08=&-o6KBiDS5ecS5Rs6!{J*p5|;1jOd?`R>rn6yi~*%#Bkj z!Bi-py%zWSLCqxmt)GEeG^Z}oo&gUuzA)Y1&c7R?OB!zo3Cz`7o4-FkYoT8o`e~ZF z(TY#%lJ1pjuwqi5Z8c@*DwQrD`oZ@+%X=mBZ}c=5nl}|Y zp@v=JC|IwH2%6q7&SJ_qE!{xv4&N);k9_S;5pYrAKhBF*vfpJnGh{)-pDl>Wo>3}o zGPc6Z7BOi=nR<0oGpaSvf=QZ^3c01rEOhxNkNCtTJu296JG3)kR1r_UZL-0X zc5~KtF1JfpSLgxR19fY7O#iW#Kk$XNk?!)BwQQ&i^-~VjBoGmP{DIEj=e@3y&j@cU z(37i6V=}M0zL!K>uu9c!Ud_|s>Zd-thLN=w9m8{;hFn|W0X`g!=_V8F0w=B0RL_QU z#x>K}S4(L85lZJ&i1)?^FbG_beYig&pFPxU&T$;`B%Pdl0o~ z5>>s=7~fv2{refKwa{faF|XpH4?h6Sj`j}c2n2C+aA*tu`>iu@l4L1HvQ~8hb7oDL z6S6tHQfya_{p+96EbLR^WD273Wyf>58vjP0f-Nr8<_mQXN6R9^B740N1!Z)2N@s)H zb<&d`iVZ58?`HNc`3T|LMyNo<=6x>qX5xx3$d`=ChQ?gCKx@y_3^h!38(1^( zE8p~AVl;U3FFin23GK$epGxyiVvm{(Gwlg57>Ne#r#fU^-e!Y8gjgDM<1ZI$Oj|sz z^^Zk5bYa{)yG4+l-98TCHO1_Q?jB``zFBxxM%RzKByyDf_aV*X)oC@3JIWJzX(1D- z;gnS^(}vJ;3O(Xdm=E@`qoJry-36){B9)dOK zMr|_Vsv4d4`HX+#6_^dk@Q1Vh)Cy7Xb(sV%-n>UHegHF)EXvnf(m@w~-sL}}!YCD$x)%-l^h-}LjyCE$8j73Ny1~`^1+m#v_6rK&pL@GQJhbi z!qTn2d3(Z=X?HWshI7QCjXf3M(_-9vNi|M#6w}ZA@TscdXO+H_zWQ$WbYV@@88(oq za8tJx)+_n;%6GW&`VRf$r~5gN%W9wYr=CvT=ii6PcWz z_nb^yuWo8U#f74W!<5%A!M-6Y(`-KeR_fpXu^!3PrPmzoK@N!7vtUp)k25eWCCugK zKG?RaN$cZ`-8ljiyZ95Z9YNlvKWhYNfTa(7;4RVhYI>C)Qr_=i(->G}+@fM%zk#CY zgy`RmebdNh*I(x(>xJ;5i5EXm*XOq+_s{FHCOx2RpBOM|(vBvpcWU3O4!V4W)7S)Q zuYW!YCp|=r`j#Iv*BfzcSiYDY6ZM0Llwy4wqTy^ucpO<%exXu?~MzIddc zHOcf&_?c6dPgN+y3^bRbLeyTi3H4X79=7DjH$SJ0sRD#E(uSMldpwoM+bTNer@yWf zFL*sCcwQ$Z$r0y-&=p}R1}r7~LV07$8uU&WX<6Y~5xyIWJD?rTo+&1L5Wr+?{nOSj zS-Pp|?RA6|I~WlzP(IxMz$1%-`mOs~tvpTHwDTv9<*c957iN4|XNNmNgf5f)MK{yo=fmTBEZj15{0Aaqb?^OvDe`c@_DF>6_|ZjjlFx z#&O6al#hrwBV&=IO?IF=m<*5qM&t%RI3L&~quXbk^}xRK^Vk>E zIrrSvjb0cRccbM7iTTyvSD1d-vcJDOF!S_d{wDio=S;}cfnc^@WZ~PVv#Ht7H^NPw zDV~sc(O+_NMI`r1aJNBxz_TK(|Ijs>=7Ja+y$}+rW2Oa!UJ-&cApL!zQ0K&8Hv}m7 z*vUM6Uan{eOg*OeH#gthf`FWjB>VwwLj2nP=J-S8gtFQSPY+) zncCihH}<>E`z*CZo-Y0BG{mE@@Fz(fQmoh0u4uwEvRPx-JbnKMH$g;Z;4ybRL>jTK ztVH^FG;#BYriHz80Gg<}x*stOf&cxImlfZ$itx&*!E$~<_W_o@>3%(7euEfh(NjL# z=@xm8aUS4(5hRODkwhgWP7)xOp6xLobwhL`-}2O=ZccPwVrK1kP~+1aPoLhJ{)x+B zTCjWDk+|ETLz+W3)}zakR^8|i+@e1FxZHj_Ci(+UZDUy?zt_e!cXfQUsbU3P9nI^K z+fBk&7n{{0r?n!qm^gbc6W3xf&M{a_Bh=|%Zk<@~8E1^#vb`eoTgziZi$P=J%_x)K zV`U8MMZ$cqE3_{@=0YKPpFihBN2|i@ny6c!l_8RnT=G$z`Br%f+Y-cMO3{S z+_PB$3T`E*-HQ3%V3iz{ON5xN69r>}|1QF_)q~4-E2;uTnW}2_xRM-St(OZ9KA|c8 zn(6%a-=DDm1LyL;0XN_A|NP%L7uf%aa}jrP`hOB#{(ry?^Pm4kbm=rx!_=LxJ~wgy z8iswr0W`UP!$`vZ{%tJ$3p2N|u|X?EQ&Fg!E7?0V34 z-n{Lup)^+ybp&w0A*cP|EK_e_sg592Lv6JpCoP-9(Z`LVYWuBgIdpmlpUf~OakMQ= zfOL|ur!3mp0Yx=J==i1<3_{~`!{E&K1_ij1%Q-lB0=t7TWqpV0#(Z#Z2(_Pj6#B$n z5w-DoP0IL)pHnTs-hSWLVz++3b{g8I(yhsAl68^(cNw|61^F>VZ;W>Kz*V4J6BZ1_ zKSf(p`Y;RfI@g}e4yk`1H3?wFfNehxe|d@T615(wo>9OqeeVurs!mzJ#LuiC?Y zMW1WkTtruDzg3LFEOsgODtfWSU}taZ*#%@wA>Yj<*InQEB+gT#|0|3VZ|3A9_pa5+ z5$>IZ_7JD8r5#ME67Eud*BB|E(Xm-C>TAv$iBq)iKYZrpbQw2N&0z%})%2BdC%4L5 zD{rL^w{PlO>hT8}y(rwh$Qv72ag;~m*Ri+_7S138-sP8lrpY||2wk>pCA-}*b@)f} z^qo;!UexAKr|RTz{m(Xwq$-~xMWUd!8A1xRfdlPwP&y?f?Dl^OSWFn_hEir~Kf@II zV4FAJV^Ri9-R@e3c`s1b4jCnUC(tOqK(R5t~IQt{KeGa7cTVJhkvGf{~^vdBOcq;6;I6!8^=ydkBZ6>%N=60<3uB$2AiYRU(n$dSt)- z#A4)^FtrYs;hXpXjyk&jCk?kY8j&Pc^4t;n8_S#W{wtuz0^U3{9fCbKX{DWb*(w<+kx6$0qbDg3Nh_NH7v0Deg zJ+;PgEK3<$m6R-|aITE|$i?3703%u?Q#aTQsbaEvhrYc!!0$`n%07>{fab5tOv9>M4 z_QPzMpiz@OAxzkcaE}V^9c|30$8kxIWa5#fV$_suy_F?)lt|p{r~8QELmws$ca^`1 zOqC8wBfHk9REKrP=I$d$UF4^a2g|XG#Lq!6i;Ya?pi8cw-JPi6J@3mijo}P{iCUa% z{E2ga4;sZG^D=B+{537t7t+OX6>#cV-!SZD?NTQ4blKp6bc2NnlsTzrt-SK^wJ=9| zv*Pti;UG~1w58DMPADa(*I6ii_7ziC>g^PtHRHmvHgHvcm&^tnLArU(3>CR z3tF(O>hIpJR~TBzP^+Eu=IP)@yewHgSRxOMm^7FA*n;DZdkrm-G|t;;+&`wu7i4Qo zbs>%RuEU7>HxEK^05&F%>mZM)yP-dWmTo@HgVXGhQnpYJAFDx;bBHb-JjUi+@e8ED zSg(8Jd+bGS>+E3%z4&8%lNA*8pv)yhPWkNV!wZ?^4Ucbh5OI~8!_BoKVDocRKVRJT zU4cJ8TO(4&Imoy&#eLS{*!k{FkB-v7cq_P(2Q9Vi{G?Wg6yLcF`uXm^>x<`ao>Y^t z=OZ{5@mQX3h3qAgL-u%!DJfVWFxm}!$q{47{%COQrdx{#*4D9&PWD8a=W`67iLTtz zK=z=9gMC~4dqcI3F|}&_TrG6lC(x3M#-4UK8j<(veWEVxBK$jO z8MSX(8D$3dMM-A)`jxig(e56(sgSbj?*07N z5{I5z1Slvz_zs;ht~3NC&&Q`TTX}ko;ykybQMPyWLldGq#9;>u3ME>>Ixyz4o& z$|-g4v5^Cmu>9!Q3AJ~m?OqXshseg4y~1F--_yw^BWaJfl;pPGaj)GO_WmK@x{vzv z$cSnQk!I<;3o_5nC$ErGvzgd3n7nYI+PKE%9$UTb*>LZ>r+2o(&D~&(COK2xO5%yX zLU1Ry#~#;1Br+)th>l}UD1Yws7{lAOb<}P6B=o9QTcf~L(l7>PNXZ*f1N1!@eP4!hnDhhj@jJGt?r`FpgREPD63toyt zLPE-tD>kLa{70nRc@I^_=I&f}OnY*%+cr!|kfk2wX@(+5ZC`H@KxQP0Y}9j2l>O}$ zrUIV)MpV&-O=EZMh^2Ys7FO-jP$L^bR`9|+{EkB-`@eHlJe#z8$vb)aMp=zKD)(T| ze6Gp(bKqo?0eFf>&f`*(LO&yTXdE}ut0F<5i)oD94y{ZmazE5B49pYOFTN%9tp2GXR16tLLE=q}nB3I`=dLGtKnwNul}0o^prBP>VDjGn_svc; zytZBb;`#R>SZ6dnM($^Eq_0i~p8P+%V+@cXsHDa+^r2VK3hRda^s2QPPp66+(xv0q zb{lZ8)rWG`R|vIfwNMfoW&b^EnS%+o{WD+=kD;+-de}7(TOs9CYC|w37nRrJ-bc!d zNyr;ra>wc;GqyrxEmt)6josMn4yNlFeWB^Faw#WdaqPpgJz9e6Kw!Ax^ooAr*KIa! zz2;VK%M4-$Bbp5t!LRi}$nSpMy|;5NWEBPp*T1r!UP24QyAHQL!mcgCr}t4)DM*GLwFH{z zegxTBhO(;M#b+B=nUCK`enDsY?7>bGOvat?F7NaA&o@K+@8m0fq(|SD3;%xO3Aar_ zrWrchWw~ZIiU)-;`$`r9sjK~SU{dtu?&hN{VX97e{>4OVN`!ZBK)1}sQy_ZA1a=GY z9ZKig_n?(LC2-rzN&uwM0aMt9t;M?kI18RSvH0rDlNI~Sj&;|`ZENr5hCS=?0olY7o96s$_H+fL>}dm0 z$R0KkrUoy#lSg(YpfDP=X*&~pbM|a;;L1x4HrDgI*6bxd3$psk+2NGF9`0Ltz2jzE zX6p8anEV$CH;OFtaB#<_GQe$0`@1`pAvykF_c+9Fi!O^1qCBXxc$l>Gpx|?<0Pw5H zyCX4{HB#N53)9LA(}wdA$4rgMUe9x=d912mhwmi)hxA6bj0sctMc2u!qI?JZR$H94 z)uCL60{F3nbI_r+M^8f9A&aK44|?Ff3qKYySA@asY2lyAE<@V=*zafmR#5K=68=~{ z0oQ}{cbNHqx@~9Df~xOP!58n?CE0$pHE<@62Sb)JvW7Y7Q5w5scj~TRc9kK)SqphFr29y6;+PfBdiT!U$ zg$3VikE1PQp265hl6QC2PY{)Z(i9m;I)h95V4EDWigR{5*mKHMJ z(j&i&LHM|U7prOB|CP~LTGu^@zo6>qBJ}5=IkDT3Qty>U90@d`lvmsg^*G(9>MB4J&q!SK=M&Fc{pZ^&~obl@!%mX>WV=QEE zS@QXbjH<3a*bG3sb0iRCiBI%76JAgBeDb-FtIrf1>!ONfw!yHq{xaq|QdS(1-3W5; z;gu^EXTmpSWWglji6#uYvYw8hy?FCc655B^_z7>LYdwg!p*!RUytQ1yI56C{* zK9cMh5*Q7rz@i+nFMD#6ZmeCqxE4^Tr=hSkNb>VYy^Z0{LlcqgWs?R6i>_GEg$~TS zV|=EC=Dlfm4s~MGWJ(NrD;ES@ptO2$;3D;KtL;c%a1-x3-G-O74hPCRk3BUfz1s`swsRF6pC?d3d8iE5ImSmv7vlC)^!xX-RJ*Y3R!TlRUh>BBUo z)xGy*XfV3gOXRyV@*bLg^wGW!q+Nrt;xn8v2N30)R#9U4TmPN)n8UNo8!wc1Pc=2! zIa(2V7L1QWrp+ahX$?G;NxD#;k4;%=Vo9?%Pt$Luc{27ID}%QZ9yG7AphI6eis>#g zmt|J)`N7rm;@_nksHbsR6n?2Y;vEC1b)F!g=XXJ;sVDlHUT0-oefLO*tTo|yYqD3j zmED}KLUphC{4dG0g^@6cwT*a#oYlLH~rCpygcd$ zVb_lj)g9RdjMVhl9>jv$=Lz-X^#jZ#k{_~AHGYr zSC(3mT5Hh8JwL*`Yef61atb$jhj_+7g%)xoQ#SuWkK_z{U&~vqs)oZol(Y&&2Gzyk zq!LpzlVnD9u#L^Qkj_XF86V9wY|%YP!vG&mHM5(*6`~!eex_vkz-nT z<550C#;uTL=zq34?U6#=J{U4}HqUeTo4yQgmzOJQM|=38R!Awam3SM_GH$6{Eq+9u zeEfS_mm?S2V|cb_4T~p|3Rn=aQtg6W`j=<4heGB9EchHlGXS_67uS%kzvAJ>@E9w$ zD8CvqnhmhhT5}v(zGJ47`HUqh7a9H{<>|H_^=U}2IM`wqNFSK4(=aV6N2lkf`}}T? zHe!RdIv5P25@D$Dp+egz;rbo@`+i39TWc?Sd<5 zRSoJKrS?_`OogI~cUnpvXxR63m}Hvdx6>H;Z$(Z0XN2d-}+@;c)zBxTXpSUaD`=s6I9Lvz={yHJWL)^rv^ zC8{$#=h;6#ksB@{X*A0-C!Swut{s`&WLg!?FS)K-F~9T{%aqcUTAeB*Q(1+;k0o0N z$Ztv0p>XoY4=-vnS6~JH?179iN}al;9_11i*@1ZGSG_B{I0rrLi*rEj!rY(&2dS9| z9LogzD1IzZxjmcv2o5}*Fi1L(5C#&GF25(;9c6gfcvAR#0O1{ExQ<3Qv91@2LkrC| z%-&!H;?5)8yRKC+TUw`*;jsXeKw?3{nSj1my~N~M-4 zFpD6lAa&`7^9N=NAWOlv6vCosN6)s&%{t&qqoN7TRv?PK!en6>mU;luP6nuDo0vRg zVXKM1%^9??fA7_?fMskWK3sX$+2{K0SXoS6)d1~a)o*I29of{q9LgT5tKqIVY~_iS zZAAO@xJY^jG9o|&p@X-=mZ<#lJlppQXQc1?#66HJMO*GrHPEN?@0|$nOR~%lhuh?; zWsC+=;%sPQ!~~xO&os})1F}>3*i}A`=pW34HokNxv90_FC%GJJAr~(f%1l4Scxt?tqeW$DF9;ul%f1l9?o_b+-PCkPNO4>F(yGhSQifkO8sIDMvZ)xMffZL?xJ%^oeZdT=&EtvX z{g}S3YnHg7@yeK*-n_zut5R$fPX3q*cTTj|$$%dvDFiwfprLLET84E+lNndW3xlbw zmN8R=*`mJ2jf4wY(oWOR@t^b746zql-Y*A5( z4vw=tNe{mm&$P;Uhj% z>JkG&Z!eS^=Ud|&_bEPq5bQO+IiA)CQuC zr9a0+jfreEK2Y`fK_76bjB4@zIFnC4w#i~LNAl~;0g@<9AinC*wGx0Rr0zBc+mbA4 zd$5Q^1RqLLlt};zcN1jk_<-3(*2I1TCCd9Kd?b<2=xGY8;veBPNO1=nQc@XD1ZdXb zSw_OA{zik3=mMAi-})rp$1>?B?n8j=e!Q*wjZ)v+c8b`bVb31kH>D|NBIvL=hZiFHnr927&I zD00S@sY-j=yU)od?{YOJ&zDq$FUFIfPtx^+LU*xYg$Fj#_^$rLgue^NrM=sKSAdLp z7Pr%3gHkLQUEY!~JTjN*&LWxMiA+4trr`cb+O-~^s)IuX4WIEJI~?3+v(zgBsT%pm%jgs z8O62qOb5;!)^BqxJo5@45|E5$$lwnYC5}iuQo>+K+pb`fCLjZ@*4WzG%9qI)((O*qma@F?7?b0|rR%^s1#Gl~KTJj#QzauqNI`Wi|@KY+?6?^mYf5n!pqXzBHP=Jtph$}heM!=i;{8N;{M5sPgbolOh;R3!kR5rOk zk%q;^Hi)AA0~yODa=FI8737qc2A!C=Jm8<=t}VOnc3t5JHQZ*7DuNs8o;rScFHV!a zeg@>{vpnqZ7!y4QEfuchC$E$Ay>We%^&i;~g-kp%rb^)CJ6FPUp1s7)A3^Fb>C~RD zVZLH^i<$q9xP8V5q&{u6eG=&oyd-9F{;Qtl-d~@7MkgpSHAjiljp(>9lyS$GX=r zT+coR)nc}X0uVD(n41?J43n85E|*^F+OvsLMaO!(FLKvCy#4lsUIvk={A}}ghl|=Y zinrlZ7~(qRX2n;*qYlb%C37?AHs>6NU=~|TgH|W`soqYVkuE)=R8Lm)7W_>&l-Kxz zNzmGk4{OMNR!{A3Vl&;V;N{4J7P;V!uZ_@MVwXx@>V+N2ZwspFmdjm79bgb=pV7Ks z_}T%f2jWY>{jL~$gn*W3K@!J+P%V`;?29;DWer+(d!M44E{x-^Jwgx0IDRoB+_H!ER^d$HVcrFFLx1H4TcJ3mOvV#5MbEpPI)NK#*Zb z`pzEzb3qI|Nzo?eL3SfgkqATw(0$LbRY}dD&6_hGSmh#S_WToS-ZJsK4&O5mSctu! zzjWcB->0OOR8lv+hjRA+fe$E%hVsyBKb`T<-$iF5r3Pnv!^BEpZL0bEKF&_SOHPs- z*AM_n{a?*{g8DiCR;sfCfsN2VTEzAFJW)_rpdFAADe51ol!XqBZ+3}%eZ<^+fA6pP zXpsLw30Cz$UDSjKHgNd$WGgy5wKACb2SQ2CFXpYHuGO}l8vKsS;;ta9aQp?nOJb3J z8mtx;bvWZtaUdn?$A=aEocl95jJ3yV#Pk9oWaRyaWR}Wl8F3}_--m;@TckdR?tWK7 z%=RK#sGsalVc~@*-1WDd5Awa$Rng)Mi>;<1S)}pFGt#!hfIXHIMH%d+V>PjwHZOML z^Tq*A>){`|+8u={ldB*8qDzgSDXrV1!@;HvP>cazlS%vCV+64^f@#B|3%!a~!}R4j z-iZ*)9Q6j@Rl3Jt`I>}UMf$<^SMp8*Iq7(QsZn#$d?#_lBm>1?#mM@cB9eXrpyqEC z%D<_Gny2Y(6w*hU4-UzIO1($pKbjdn$m@Sfx@eaxb^9hq3+cl!xM6LPt}U-LA#dgk zwQXP>M4u;i7=UZ*I}Z;vG+T+C>SmIR;bZyT4qhv(N=* zkcs;^e}`-tW$8nWBjV!B{~Y-UK`IVOfwjjX7~FCWB6<{)1d9&5naV-DiTV0SPyUxr zUBeylxM0xQ65j648@zw~IOuIn3Q{#?uc1yr#TMy|CZgjliR;=4&NAX(Mb@t;ZQyEt zj`t`nuJg2F7>4qq@%cU2UcI)`xe?kc2Y+WRx@@5lA$i$AW2!e&{wt-nWg?8$JG4R` zU!p$Ww+y+LWCD@llT!{0R?%{vowbY0=(7NOGeh&X{0*;(wJdQ7d-r8EC@e^;|6gEi z&gyY1dmXu5o*{q;_QxNZign}b(zD36c^MbtDT|UV&D~+0oiug?vrqRY#f3iSJ3TP| zJB;Nx+0{E*r^N6sVNZl9D9dt;iPF)S0v5X|RjCI^xbubEyTa+AB@>m!%8rtQE&~}j zU%jfwQ(~!ji`ByNklIA?hL^oS252yuT(()w+i2!{kYX3K`hdsTh7a<#gOknC@9xq@ znM<}m_n3SD{N~%EmJ$T9X5b}XnhSRE@>_O<&6wV0N2-h%PPQfscPi~kBk7&*WjPk( zh5C=Lk~IZ+QFc62LH!!$Z7wEj(=euUfvK8T5~mFT8S{}G-6~r^g&~#hz`p^&!Bg*& zKa~XfdHrX%*}vwGmrTtqX+UN8-`^aN^!Srtd=kNmEz=50D0RJzh3`=~FBbnrdVA%ec z5yibO@G)PJ;uBA*vL9Xq?IM@A7O_fZ)&&1!0Q^Fr@%6MBUZ$+{7DBsKmYthtfkUdp-hCn5e+Zp4#VM} z%Q|V}7{Vx3>HqY{$;WEB`ak=9@B*v?2M-6cSaPAHIDswv!j(Jcn@|^c-cqD$Cx?V=E zGjx_Dc9X+6dMt$-SA7WITnzKuSG-%Y6E(Y~?+>OXED}&`_g(g^KWN`=2lMnzY#A*T z#l(KsimS2C@6oXwpBPx7InDbweqb5)JmS2r?QI^iM{9l2V(S6E`>LIh-KAr7@TGG}5bXhAYJ?4*A|hc>!|~V}2LVfaZQV@wDL^B{@n5hB$Ws z*vYE=61cENR#h$um(7`74xZTM(5t1VAE|FqrOyVq!v4kx%8-EUxFDvqX%;}u*@a!d z5i`ZMqZuRaZ!V8p@QWI>jut;WXKZZVGU_@;T-#LWU;Bml+NQ~}cKuCN58~&8c%87q z)A^$;Gs8vy$B7Ym?3v!F1(sVP4K@7(BjIDh!6mBC_g)CBcrRuhf}mXkX+Prvp?S~A ze=l~?p^17=YixeU)a&wsUg<6F>r)4R1_BN7OERk?qbqS6k0IsF5>%PjJr?u-I2le= zcM+9$6_i-&Fq}PrCxY)VYWW$Eo9b=T#c8*ump8A` zXEpL%y2eP?9{TwHExsQg8zFE1uh={|#d!T6YE7LAjQ}0W$FuF5!QHPTJDy>9=U5O* z6qsP(6O`ekiHS#E{A=GL_=zz!wC9a{JzeHHhcz>coTy=75N?DYAa^cktdSU`^(vpA z5kHy~I|Mrad`ZX_Bh;1uxUlf}l&0`~{Gn?f;ca%UlZXZC)qcu6jG!f(Xd;u^kBYO~ ztNYl9@ic+>P+(b(aIU6bCjS?#@FWKu2K8WNsZS_-e5P!lY2eUb^qn7=)WsY@r92SF zr%=~Z?|ggJcpNDH6lKTeG|nuFFd6eCBkyuVOaH~Bni=l9am`;JhBMUWQPk2<=7#bk zp?%kU23ZFL!m)$zbv>kh*vbjdOa(ENxEijMP}k|O*4o&bA7Gd?Zo*vrGNX&Qoh#)K z3^7pP+@Tx^651e~8Ww=$&gwrNCvgd~KX;ai`0Kv8tXMVRTsqofOJzddY4Z7i_8{0Z z8FQ)s71pZn;Ea(QQOJMnAZ7cP<73Z-PDlJV+6Yk@Umgm%F2=U`84|%WBw)Kgii@#t z(m@jCC?t}1(A>y%94Cy}t4HM^U8Pacm2+!?g5i6od0A^(T*Pc8pS z9RZo6pDf+!e-DD#0y5tJDn`uEuN@hFmf;j_!v@Tz`|Dq6u{T1lrN0q$Q73^3$Q#Ap zf81CViYe;*JI-*Zy>?3I+|mJl)C@Q9U~cHA1#Peoe##-1o9w~JwMkqFBd)*O!j^YN zsz+bli=2gfr^&tj$I@Ykgw+-S6$iizzhb~{n{+Dwltxdk#{}i7!F8WgR&6(I8(Ab2 z*T=8FK$5x*??^<-qihDw)a(d;)-Qbj-h58cCdEnIzP8`}#}t~*6_%yQ+SF;d*!l@&|waMm@(B@Iuo z^nQeaHt5?ZwHsP!j!6Vjr9Nq*xnNXZU{o6PMq6SxCQnRpmPCrV zpf1N?k8c4OH0FLK zdH!0db4}4hD6Na!=Nf!R>As8~P#9Xr=YgTzZ|?~28$1A`XT1M`9yN&bkPgnb3_qp@ z1}QQ$TCGDs^)Yy&kiP^hY&qgE-0qGt+wMZ!QB-?mU1=esJzOw$hhW28KlgnE;69x$ z#J65kvsf1fg|79@7E2Of5CC>;?Bg1~L_k;GGOznWDWC1254nJjtlq~}t^5hXvPOsA zMKhXgsfeu_nUyVCL5rlaPkW%NfL`k6#1_pQH*G zVnp?VCvRrMPRMXb5fvLUFeQid%6Cp}4!ZxI=<_fuKc-JCx!s zMT)z-JNY_0yE8jGv;X0o^URs&zOQRzc9e0pH|Y0e!Jzkw>U60*$GaT$??UMzy{;^z z4@;elkptsqCx?we8y2(!CN;4cl|gUz#3Jt;jRs1^6{cr7qBKHiGT$nh#`E2+DE&4u z+VZ~^!_>M4+>HI#W&d}*6N!~W&343}7L;+R98`H=D&QrG3-c8cQwg6w4?I(+1lxqJ zL01HbQoqPHt(Cv-wjFhGvu{O|)E`WLEsxBmXTr5dX3pKsa&0sJm!O%u+N zQJ72opiPs?*dLLa-Jg?bmaF2zP?ZRq^(2ea^nH-m!Na| z#2_SQ0TEA8jCA4BRmnkE_!B8yZLzjUWK89GZ~cvSWnTO!sm#?(5&hS5KkDyX^;+X!m%r=|wzVflh2I0Qm>4a72Pg*O)9(kc#MTQ8cmX;r(*f$; zM?$yYu%t0Z=Y;3jxv6MbDpANM7t1GsJEE2~LP*~0YP^T&)vqK+(v%U#ApH8mFCe>n zF2M%PjhCphfp=jM|9}Qtvw>SAxIOpFJZ*R}JthpHbs-#6k6MW)ei}cM8SAt@B_csz zk9es!JXCjEq^adDg9JIBGaeQJ=7NF2uNOm@*UX~==0F+}-qGH-l!R=Tq4=(;X|YTp z79(VQkANxhj=sxtrTjvV4Q;#N+#<0!J4Utx=JoE*L=82$lwCDHSu{cy7e?b`RfrK% zb*X(1De*Fh4A}ZZ;mP(T{LhAK1l&&GKte>#OW?odJoX5EK%}`2+c)F^kG)Tv=Nu=h zwMxJ5C-EJB;LpVe)WZ1apVs%Wt}qI&6+Vc>T%@48I?|6B`-_?QsD#0JJ1);q_n^nS zk4FRNUhzM+z>gd@A)W^J3!k8U)>&^wVPSnVhCUpswkysKoX$ny3;f-92SmV(!jy(0 zcoYl}Mlw%23asCJJlZ^xyQ9EPDbb{)XMcgw-G7DepUM{bC-m$_Y0Zox=pM=Pw7DZO zk&qW}*tRDsA&Y3n&zvb>AZ$~zo#FHBM&-A&I}}^jl8R)&>6L9%)pha1AIve)oS|SFVG(0lolvEsMd5knUkNs0F8WoS3xt~-u}xR309#r*?Q<5%hEhhtPQZF zIXzG*H07bCrcgK&F%Y$V^F#A8?(V{dNSMskv?Hy(C>hgagSun5Eiy6Vo06sk2b5z% z-R_r9393!zjXA@?j};>Sk=C}~E;`~D3Y&l58!iPmyT^u(KJ2A|Cf^rnwCJwT=sy*d z>WQT(bze1`ON7TQp}$PM%hzGTp>Iv&hwjdV`6%4uxjRM?#t2=$k3H@)YW|jJvEW zxDOLrHpLJ0wGeod!TaA5)-=e!pACYDt(u&%goen*_E|as6~vYM9Ic5|{C%G~PpwbO z*7rp26K!_F((jDc{XMW>szg4}NTc^+$?rH|*XNS|aoQprrMwk#KYTN;lBDJ@AYE=G zR=jG+pyYL_1!cB)S-R!_7K-tA{#7+WnJc>Fj~eRmel;$l2Mk z=!OxFm3lHo%xFO zuodPM>9)}if~!|w2F{)bN@(Q3rGq=TD=Y(C8!q3#f2e5adBsHSOp;8;ZKtJ>6yIXJ zScDDKjReBxY{m8FmB9YZuo9EnfmQDm2Chx#Y!B?q$^5u%6Pc^4XDy-dga?t7B=!98 zEBpRa3yB)Ms1dHZ?2Qd{=~HYxt_EyXIirCb&$x}O-Dv~S!h;hN84cug~U* zR3FL}?wavT$E#;h3x^Uqn#jA_Rp7|7C@Su*{cGM|rMgtHQvefPd|;=_h`5S&53PY} zsXN)5U6R47=Z{@?PF<%dgcR;^n^O-#(eIh2cZf&1Wd;-zinnk7gDc~dSZmXNQjRBy zJPcVPu4k4%BQ$c0q^6WrgRSA!s;bu;#+QeW^~4)0ZogwC+V}u-b7#!^BYIBZ4>ub( zNaCKNdv+mLtl}>6y2Fp_buXH5B8<(Xg}vp2_jyb2T10TD4+ZTNm&)dn-E!$1B(_`u zL$l|cKItb;8A#iT45}ATMxPx>o8jPZrnLmi4%cpFf0FK4+r|^6QW+but|KLdi%A>= zp2q)sM@;_28fK|M3JOhE z^%{4VjXNF`S`3u+R42XEa-2fq{!=!B!u!POk#JLPwEhH7PmnH7EQH8#c*eKT5X?pI zaV`poor4qbhj%a62nl}LTfAVJs*rQEN(P9}CA;KZsy+!zW+|icbY_Ct%NS11ErZaS z6PN_Ak`US<2M1~wMeN?&qg#~6^e;1nY&ynt#!Km=$G*m1bH_~|{OJT*u)F@;Xf)k( z@X&%Vk}HTmI#VYzGdqdtRc+2eYp0TlzFzOWC!iowT;7TRl!8^YzI2c;q82>nmOmYM?eLP)VyW zYfbBxfa&Vsn)G<-piqu0NQ6Mh_4xi<$j6$blbzh|dx*voxu-=ShAKkJf(4&sS!iLC zk36>6wb#VS;$6P=r01^vld|!B`EFNe?2=6b!l#3O^qWfEl8>@MD%J_U5XW+ByofHP z@}0fO=nv$B8mkM;cjl$8vDA5V2fHx?&DsAFZQo(eQ@uR^%h7iM?AhuAk1x1Y@+7{z zsQ>#yMUyrPaSm)=P|tZVuJX~)C{B8@X%XG2Ig3qSl9}AUQ-z3<+5BY zf?hbBh#U9JSXyUgko?O0?p0Q=Go|AZb{eaa^_V|UYG%IgAdM|9%FQm;GZf!iyX(r( zE};tWbTJJDdLmnUXHHIq)Q$Qka~y?QThexwTdgxG6%FjrRgEPOn|-4DD__i;vJmp_ zU0-S(+{-lSkSl}URowBIVT+5@QT#KNp|hf>L>L>>M49nO^GmTcpP-a&&{?mKoSIEt z+G>!p`1W)1Qm6OQLFTVTBU^7Ko1OV8GowEI&0}d+n#lCZmh;!C4Kc+=^@=TXr(YI4 zaZ_pBm*gKL+%a($us8qNY)}#ulIy~pGR%cCN#)=+m4xx|IB*lwz zE;AMcW4pXe-;j-u>kpn&1he9@tf_~Q=ngLkirDch0LWdhx7l*+m+6)_%^ml@jq3~9 zUqqohW;MBY2Oaj#Pl?SMt)=Q`xy6Szx2X;%(=Gy69 z2R55J4C)q+w&^z|NJOh>3aB52I;=J?k7sZr53J_Yb_T=HDu<0XHb2SjuWZ^BqK~j{ zj8CVE*5r)dDp(u7D+8YgS7y<)2bp6By80YYWdsBu9Dd?9&jc6_`1D6A5cxq&WbQ*V zmsW05b8lYNP5y%As5S|jj3|C%qKXMr)YSVg)p0q0g#9aDm6^ByK0U2bk@K>}D^=Sq zLG_nJ5lhv}!O39eXnb(I=w*5?X8%33a8P8mz_2=_Z=V63<)Jlx6AfLkVK^CI{g&0( zqT3`f-f+%tJ!1h_)&X+ySP@>~UK%IOwkhKdSC`o0(WNcc*q)bqKJQxM&{OHH-Cwfx zT$BE7QMp*Y<=9HzsGoT^x6|caO#9@WK0H(V*$}6Nez~9~^s!^Hu(c#~lB`<2)MN(`z`&xFY%O{d_H(Q z|MC-)zNLfQ*?y}Z%>(^*H9PCrB=ca%VZ_5kSRE2)qS+jK@U$Z?qR0Tl(2wkdTmtYu z>QU-o>5pI?(Rp$4`dp?RNvt}ZcHeWPEfZi0iDo-C2Hp{3)63=p*K5n|FuHqXMTfHl zP?%lDzJITQCRF2-6}!dfj8xTFAF=S!!_XLG`Tk++KP(2Ugq^?g(y^});w5yk+_V$M zNkMHF!0G~6z(HR;rM*ZuLHKHKwFLcwJ^e(={XYN~qAT)oO%x8S4Lu(iT zg|C*w&U5lTR_~MleQ~ASPIsnXTo0X$D50}WfR&y;>S?&@nWlIQiNz7b=hj{}a)_U9-#5m@tkN9l_)tgo3MYTbpA6Mr!POg^A z4s-uWcPjwaJDs!i=7Jp^um(AGf(zRzbBY`yIBmw zYWw3$NHi0>)zt@m>x^r*k5k7TEw2fu-oNVX`UP|Z$#*cMU&|qGs-qFihEmt!=+pkL zvcf5J^lX&s4ZDP;0W_yOoO07!22T_`sxho5(Nk3k~fPH%PO-jkgk`?WTVfI0j- z^D()#VDk6R=_2r`%DlT!;z6Mt=B^fdg2!Rlc?-Uk;UrR`3G-Vmlpq5{z3k5q+-;8l zq3J{PYh!^=-lbCk_@^>FufDpwT`0JY_;j2MJ$L12E;5xApu|`T!!IseT`D61FL0*MGphTNt4H z&TeUyTJifCeSL&`-Vxu_&fT8mx21{fY(gO--%{Z~z!>giPc}HdBFBrqyXiS?%S-JX z3GAFs4480(;|&3+|8UfFSYfID@InnZlq(f{)4aHJPXCjNv6K@Wrz|sL;fwl{mhXKT zd0setU8fG$G5qxF@Crz9{Bwo+Hm3L$P0#c0iI?w|D9!0|csS;^m)j5)x5)Uqp+GJ< z+!pLVEj^_w9@}BbTH^MHZX1VT>W)!Ln7J|W+buubs3x**HkYoe$Qz@z`t3PhB?geu z%X#CCJEiKEyef!6z?z+q^@&(35h zb4x*sU_6j`?)!Ew_1;VV*9Hg|!u$yi{D7V?J4yYPWl@oL*F@S4gkr&0^m}to;py&y zf-taMW~>f)=Vd}S*x`n{L=zuFrVI^S3H~)re)dU}@Z4s|X}J2g?xS=M1-Q!*f7ROP z$6Dq%AE3ot?deXiYOcy^DN&Mg7@zKNLIT+OK*JlG!Z6PE6_omJaxKzP?T7g5(T5cT zLv1*M%t?aPgYO~NPIl~5AawA*?N}X*!OZwD^EudzW?V$~7}$A8;n;^T%0r96YlQ=v zp}KWXv#XBK2>YpbKj7+zE1>Ht`vpfv9x2vCLjX9gW`=-L^L$!G57P?3mk;bjTcYy4 zZkiwh*h8zCmIx=H{UaeHC6KAzvRmEs4CkAC>O^rJIw6FeP@I=CGGJA0y#p)1i&%X@ z|LgbU&wFe2$)zu^tI_ZibhKi@W4qqrj&jR?#qJuMQG+h;xvXH4+WJ@lPh(Pfw=xKi z%!D90Zq|nFylVDjgbl_9=K8>F3BX&5V!x$LvelKajL0P|(MaAv^_A>SrPX3b$Z4%A ziwR5U^n3wbhd1TxR?oaEGiug~oTxj;QJiA=)iD*6ntzB6e>(Wq6Hc~lJj zDNMheXkV#q?H?LDUu5Ptu!L{Y1y463`|;l{pmT z4&feHYwaS;5$Y$jxPF@-#tBa3k@_eja$)}Z-cL9<$|P#wJ#E;}y4`;@PM;Hs@0(d1 zL?UhzAU#5BqDGi{Moic}9*gk~t~$Oa9}YTftS&S{wLxZwmR$Ws>P@o(6F@4EGb0qQ z#3?&=M4t~)bkVZ!Dy`W4N#j#HtzK_vNeIeiDHQ7XDb|Gb@XY)(2y#^sJRZy)v-mh^ z!5mH7o&mHwmU8S>C;DPtz&}S@$aSc8#`#+A)C<}6q(Yf}IC(!6dis8a4>MrT&Of;5 z@Wd(5jSw{ot8D1}0l z#P}1ltF|pshCsq+Dv}FCoI_IqF|ENGkk{XETqqjlA{TEL{ko z@wUy6*|h2frPb*^T9Aa^oox(LTjG&5#nBah|IjV8Gz3jFpqPD@}bQEKy@REsmP) zp)v7l$sQpD{ZG46moRJV+ZvxO!HvZ`8`NDj&QC!v#Fa6+3u=aR@mkmxB)Gt?pN!X4r0u<@ImM$EQUvP?Ii;t5un$yF#QiP$qNREz zQ)u!EQWwY+>`zRP>>m!)C82Mg#de;JCva9I;zwHL2j9#0ZObOv3&n(;QtnlI;phHg z97*S9sGt4Db4L$#sjTNbcvrToB6)1iy_Jy(Pq^Hs&g}d?Fislj+osN^kGGFSyMBGm zS<1o1JSvx~=21y~9oQ}KbPbbfAxY}zg%F-#^3V8NlO%Vz`!|OKKRrd3#DWNNmy(5fYh4bz-h_j$elgH+8bA!H|8Q+?GffrRTSGM*KD5pe)n(*2zqS zw|)o&NfJ?JH&|4G)9$iv_0}y5XX(v|h(KcGBVJ7tZ|byMGq7z>o>$Wo&i^>^%&-XI zb097yD}+t|awb(=!xmc3d^6gN&jk zb3$FOGZ9yubUW4M+jO0)S~zC-7-b!)zGDtQB4*? zz=UzXf2`!vUg11a1CG4D2)sirjcJh@@)@!+5F&Y9X`TQb=#+To4Y(asn2D9cFnUJe z_Yfg$TE#owNM!j&iCKJ2zuxN);)DS8uxWc7EuJ0kctN=Q3Uhr7K-!6rEy8<*&o)k} z@{?SK#$1Ayu{6>B?xf|0a?9uYa?OVX(-|m20xoaVL=Fk#R+yP5-+L0L<+l(3yW3Kk z|DGJs@C|FgPgG+P!)V{v17>H3c=fFWIOY_X4q(9pH)2jAQ`J{2!o^qlF=A6>1`Az` zRddy|#iLKX@ptYdV9Wf3&Et_FFA@VBQ@GBU#=us^WD+XcgsT-%qBEht`ojy=&SIsQ z@_BT*=X%XNY<6#5)As4A{nrHK?c&shYl3j+r8ZN{1*~iZqbveoxgyLYY>zuw@W$DC$1jI{|?9dMXo*@Sy zvD$plj9QfiYxj=p8PtR z(6`~g{rdjNnc}bT+dw)cr?=Uyit6Ip#QqJdV3t|Q)oS^^I9En~4cJJZTVSxEfQeG0TP7Y^a@6TbVi$714Vd2Ds2D!G2 z_W;fXV;9;ihQnOK*(sUElUGdLaXa{+Qxh0yA?6cDEA8;iG(B{xaDGfumn`S3v&rQm zv6l}rjA&EhM6fP}EN#vMtHZ~K!=qRPt3nX9fU9jrnDqP8#EJ%>{~>1-m$l^58-x;L zg4v`za9997l~0c#Gz>QD76M-J$^^@ZvnJ=zm5zTIp`Qb2_+{Y8WtDvUp;~0J^oS8U@hU&|N3#v;O4I#L+?9WgaxV6Z%R*4h;KpVuV9i&QU+Z`e8$8% z_(9twB4a&F=hT$4_LT5JK7-C&nVM4ihgyp@R)?)%e*Uje=tTwidUX^m)QKv0*+^Fk z^B$#l)tJ`&bsEBLbxJE^LutHs&zlJi&z0KtBkK$8{FG3nlgg2MQfseafbs#&Y?H>ko!k>c1 z-tw>_PUI}+@IaABsmx^psDrvfcVVy97RBJGrY$&6Kjy$x8~zswAF+#7JKv#zXz`}L zyUe-@Jg5Gbs2fZ&$iKbEO=53jPX1#uP%ag;vxG|@d@Tk<4#Z9OU|Tgk6Y*jw0WVod zHR75eW!T)`FCn71N=d-p)KqKvA`oUdE?C_t0~8Vr**FaZ2j;z=hcxJc{N)7BA1iAbc@!*~5OH?R!SWfUE8-axqjl*VwOQf) z?K@ewoKsn@gxQV=u$c?{U?T|j>*9mr(N@A|;!q6xjz7L|f`;IUt9i0lN`FPD`Dok? zL}3S)Z*aN7fTb;&VMmk2kxaNCFC&uJA9dfGEfLlq72a?XSx#K7*VJ8j^Y~a)!b`K6 z6nQ@d8h!4y+~wmn(vRqw-$&e%BJSIWmgTj9*7q2%`8_A@4JfTkzpyNvk(?^d0iaR5 zDEw`N<<+sf3wzy%7mRmeTUmonHyAhV;mGR65{(Six<|(JMx{SJXThLWp-8f3?>~N< ze9)B?#Sek)4Eys^b@$uKl!kQ)VN4g#K;ImaTSS6|D$yY2DBW>h`C@#Q)J3cem?;SC z97%fcQo>mHS;6{mx);_=OkpQFW8!ACjGO(ONCvG~riUZ#pz*LJ<%48w651%xzug`& z17M2Yx3qFzb5GoDy?LB&~Y zro^$}W$5$o98}Lfc;4YE!kr@-nt77AKNtIDA&>YK) z`Zk*W~klQv_uw-$^hmo{Fw+IK-&demtGW^CSB+QZW1^O*om`U4mR&A7 zi}3rUW)O0QCPTwDhv|fyA==f_ddS<7(!(IQT);6ea+rJ~X48D2MnBoq|6jX86!No; zXyc71WLr+6R1^jX7U+f6Y>ThTAz?asuQR6m6aA9WSjz}mf`Vy2CS|^aIQm$WnwuKpLnHS+rg) z1D>=XqX>AAGv^N;l(gX0J77+bO!W`_y@(LKc~$D($^0XK9l>Y8#mayCo$s0uR~4Vp zz3?+=V*ratUN}#D5+$3Q8qDv?nEr7I2Pxu>uy`Q2b~J(%UZUtX46b`N0w6`42%e5A z>%aYaKwpXEFirs`%}W!I)w3s@oeLPO-2psz;~iA(0MDurTV2H3BA{9FK8-g&vf^W_9{d=vTVX;l(Yq^QTIl`ywN9n6idOr1Gu#@cd3L9aE77NYR}f6@|OE> zuU`fByVoAE`IDpqJ4j9F2Wj(tv06@%(r+i-tG_piHNB2g`ZXEn$6QlFS`e9}EAUGd zhnv3%xIw%ha#I)qrFOM;S+bmJvym0vkU`X1Q(!V#C)^l2PQg!@I3KwYHO?se1{_S< z!8~n6U*KoG@27Mz0I^T6p((w#28T4P_D+EH2kMfVhfLsfIjme=YU)-+TJ(-mSga88 zfZ*p1-_UZu(G;l{yl(uGOJiZs{YPl=%|5_tT9Iyo$E;*LA(1gBH5s*KpPl zDeeXy-0)NmO@$u>IHDWW3;FIbB|>?0A{SNEfpF)7Z;{+1qlBeu!fgkwg6Y$3loBrH zeWqvvzB)g>p8APtCfc5plv>He*|*m>iRUIL45&IXGBynsTyo z-bj<%Qrj!HLQbo)5e*GV9NPkU!?z!-Q$N9{ZUV$L9lrN^@;(&dGY+n+!e|9EMjFKt z^u?a$bXo2>#fy;3VJOiw-|Ccv3_SX8ZrY||SWZkQ=c9VIqk_vNSHeRtGtlCR98)*D zh+fwp(kV%4#FK(JttNZJKn_pZdkQnxtpS1W#UaMihMsd#nS_aB@U$lh+N|G1%lg`7+%HX z6(vmanEca|E7iQKw{jYh08$^y4h`n*nd8xc`I)YJV-dVwuUXU3V1_PS!nc(9Yh0U@ zqlYEy>5-$w4hbs@k{T;7+0(96kdmypN+ViG6CedKvdbV6dmeDfHO2o?!S)VqYOyVw zWCfhC7T*bRzEvazC(syuW~LUhk2MvzkujkNFIS0 z;glmKb>em>)oXIErpKp#wylE9Xl$uwoiSAIBg%fMz}H_sZOe1R1OF&s`EUUnf5z8| zS1QCB(6kuzF%;V|S;vhQcJbZECEziKE)yOxbnet1y?Q|6(WM8*eOEUVt9emU2oL9S zk@@o7Ih}HRbvbxdX>*byEpo)RuROZ{Vs$~rg<7KovnjIe>Ke3Hi6h%-0XeAPZ=ozu zH{%WUmlnFJXpnN%Bu)2eEbx^gT9`FvklOcwuNI9iEK<3txX8=Nh*AEK=e0cR`SqF) zUb)@rAKQGKU<}{51+@KY(mbTwHyo2c{Ps$N3<(&N`SLdHx43RKhdx<{g3bbeU-8l4 zC+!4;-UM>*3lh1DM54Z!+@Y#%bI2w{iTPEf(f_grcAyIb0x)+s*o!tEJIe-)s_-Oo zZYjiS|4a6?A$*vJ1Ccv1&dnq_%{`ml{wD+;BT~O3`N7`2VeRwb5tRMHmK`EyMe+sa zqZVy7dXc{@j`(V6E;t8pEmXVJJLqvRZ@&P%qfrlZoM$g|$QByY0DETWKFKy}_6_*o zd@hy-7lQCrx?yA!K_eHqch2fWQkI3Vga*{kk$x%BQ>GdfYu6nCs+_U#2_y(-@{a`l zX1_p4!;rHl&45U8e4q1viT@>z^aD$jV!PlGeHMlPz&&R;?h|4w`Yw_08SYACr#%NGe>`b0@xuA2OEn-#9MA z#6oHC0MN20JXYTBnjE#&H_s-Qeu(^(Ig%m^+rS{)?q9X`^ciyZev&fhqQPlVC-^LE z72M?WkN+yFq|o(NT-4-;smtr2&dj`*t2aG$!VF*eESz(s25$UA?oMA3AQL0v3LDo% z0z`lJb4XTP@+Rfzhr8uu-|Krb@p{qt+GXGcX@;_3`$imviaPR&zq2;rBRs7mAABP+ zIX&zeC@|Z#yNCVM1bX{9wBAcs{hOnMHA@LqP)y-)bL~#gX{7JgQUT`6(C%%P{at_u zp)}~ndHJJBQ{1jzWMIa6=KU)m?S=d=diEwxOOvWCMsb&-8oO5J4(6MU@Fp?|GraFE zu^*&&d2^BcD4fE$M@A`hj%)ZmVpg)(z2p%mn<~pzs(v|T@&DCo__1Y#+$xa$D!3#D zEDO!8W&9T}^Kgdg9bzgn7Lny5H#MzV($;HKjv^%M886pli5B&PlThefXv479ONZO? zRq?{_)aSox9NN>4b@ES|CP{vp(zWQmmj!RDuu}nz#nk!w0(GuvAI5AjrBQ>=FCUai z7Vf);zoV{Zb2DW5=R}})o^KkXh%Of1Q{Z!fy_#^Vb}}~}m$|{(gzJYKInMsig1!nz z-xi!ZMh|E%Y*#lnzuRLR95V1TlaF1*$%mqs_3>Y~Hd^;4^Bd zWii8=tRNA&Nmtcs2l&uVrY)CuV(}c&)3?vM#6Eu>#t9ocf9A6`BX3R zV~pk@x%E=#Q#=?8uCH>L3cJ{|+ZzqXTu)6Rr&FGnv{fWShF{e=nsv^t3*>7R(_7pU z!QXL)CjH&KTX4a4_X$>i?=0$bQz>=31Ix12Q{bJ{J-?R32q;Ti>o^DciSWMqR#oKO zNcU>}Mr1uZJ03c&Y=sGuE5RQhk?=&d;LRj(ZT~MXOf*=q4R2NFNfJC}6yh(4-x>2E zq$5^tY7UG#9kbylM*uN0L$=M6?@K(XHM+d_xnu(T^uZSw?TDmvA5(wSW)N~A-7prR zN4~P`*47JOEevLPLkx=l3obja1lC7A7tu1SS;NC{3OIULsKTl!9-YRxBBqk12giLP zu$U9SK=^lg110@rC@MaDL8N_&i=zIcF6t|uuk<2&ILR=eO&hz?qY2bARfP-iuZx*R zRQ0W&Wu(RL9a*r{5lXpb^2bGSk6;5Kjt@@IEnGT_R1|o-AoIUkAZ~e}B72qORVGu< z{1XItvfpfCd*rYS3B6c*0<9`q0O20|E%M0=uh`FBW9gF zJ_K;K-HQYkGNQ*jym@k4<3b8k2wsT${G>-Uu9Bd0DkAbs_dA~-!3Z_^WTL7sZ+Ob| zZc_pA;`=6c#YO>bD0dLLM!a8k{GH;!chJS3b9C%;>_Ixo=4Dk(ujltQr#GxdO>t4b z7Qvq8M|#~YN9&nD&r^;Cfw%eZ<3;f0p0XlBFqQ_}gU6-x?(Q70f;c$Ogw8PnR)m9n zvjUwTvj+JZd%a$+NNM`!{(MjB)YElA(5p}b{UhpktdFWJixNFzged&+88lz}PUVux z3De+$s?6T&2P)Iemx*f3FDaB|peK+wr69;F=zC-2j<9tKJlC<49);m6A>*KR)v=Xg z?dpbw?&UZXQNCtO%bOaRz_{MxZd<2Yb8Lx3dP>a87Q)-q*EJtwta=uIAoeO0bcAL= z0U=lqxBr~-wBcYr#srcRk;K98s-Q10V%(ZEC5>k`D{eQyuoAq)r|~OCGq*ag9QDRb z?Z2ZZ8>C7LIlkv2Su_FM=co{Utd*ODiu;K* z&%cPC%A6qkc8d}_p8R+ngk_jU|3K{dc6FLHKam8)#rVx8^!*Ff+--qy7kG0>a4H5T zd?X$M@R?*%LqS&jyJ52dOn=^)3+nn3_)BH=Uy6)(VEL9&cp%o7@vpV%6 z2ddr6#V%b*%NzhU_?}Wa*iDYM__>S21n}>1M|`;i6Krx(>_WkS6uHtvoY{psh{KqQ zxIl`N$8;S3D_ywm7tR+wQHn7>hR?p(n3YlBT_Ykac_;b&h)co^ak!BH%Jc0E*eqB~ zG48A*gGfe^n;*=$i3vy%-ZVGk{moU4ZU+n29psG=P?Y4_-RcZnKN;6>m9?c&m?wBrWyZOvjSYk{1xZan11cD7=xbNm z@mDo>UEZsD9SElV5$_}=E06z5cQU?L?!JOVC@|O$swQE+td$?X+IrUx42?h@6S5~x z_@WLPCd*dZy$%YS&kL{;2FxTS)OhirQKAr*&V+9aFELVzU|pM!<@M+KQi+VJRXkGf zcVx-5`Jvz-42ci7y}4XZ595Bb1SQC5izj!CzZZ z;$d4}@xU9>O$F>-6+DZA--8$wtIRN2d(nfiWmA(tU|Cp|eE@k!qN|8I!DTQQwHXzG6C0mC^1eB0&CHQZ{!HPiVy9kYD+TwVD2dw6T2Eq*SXvBTqM`<-8Ocwh(79?+ z4vD`_Jj&;qo)U+j3yxEZDx)UZ$^IP4J>$Zb4V|D)4wl_h%Lq@qr^IM~WZvW@?Ga_{ z`FT@e(?8F$Dw-tEnD2du1=sr&{(g4f=V>89f+Ydf^YGjrXp1S&tWJx>)XQ~E*l+t6 zK(L$Oq6*3IBqXS~k(4^N*%B7b>xvJ8@u~$iheZk%4Mc4G+pQgrLNG0$W!-Qsk~T32Bx;=3PnXlxtQsl`DY}pU3*`u`BRC)|ZGK z3e$L^RAzcXuo!%6pxZ^W2r+DNf@~2p+vUsLYZaY%)JW8Wh}| zd7n%`=q#W3L1ZogJ6jgwwc@p_SxO5Zz76OJ#UrMs2Fn@WVp=TmF9M~XhZry#KLQ6K z0txLO-%uk|50XD&*5n-I|0*QtozqAl+!&z#ZOanfD0_f|338zozp21?EeszR%nsd1tKJ*P z4Tg^8_rCF@)A%)BbdZJ@zbITnlM}@Kqc@`SZybF2;_R|Lrj7_5N~J9|Sk4r3ASyi; z2i~I6QlK9HkD#+9j-Z>nT*|h(^H1a&-bp?9(k?IVy%&yBu+^2O*Uhu+?^>@Dlby9c zZ)CQtT$qZ|YWv3sN3u278b@&Vqp2r7X3(vp#~7?;-t;;3v4}mU?S?v?XqywFaC6Dv zbjo}EV(7{7`4%&82_qP;y;Er1Xyuf6L?rpHz;Uw_I^$jfgpyYMgH1${JiF8XT9IHt z&k?7e{SfS7n);g#4S4UIxfC{rA(j_{Uta|i^Cn%epH1j_X4or1{(8%ROFP>p<8{jr zVQCAvR}%IV`71La8WeV$3I5$5vPE4snaakrXf6Z(@b?@4zMzJliDXdT?u3LL1MA0i z(IexNiLmi4V>Vws_3|HuDTx|?oyRPl!~u6WtkVdXQ!Njq!TDvA&{8`LXJf7-Jcu5B%3I`IA#F5EHumsr|h`Kd45?1p5lyBU7ct3SPPte`Pr52tiu z>Wy+pvJlKW-m@j*D3jXURj~3u?b~JEW%K-ym@{fc)N(}sX2#*h%PwJvg5o;0Z5K+R zWc3jUF^~XBumX~qcp&3xDn!Gcf6_ddaoo!C-Td)NXP21f$8<|vN*Rf%Pm;B%q-yI? zAkUfcMSKe2-6HCJ-1?0Z(s2l_YzftD_{yXdkV-TS$iGwF_>z9@z?$(>`c=EF1^B}j zAw`;rbm|xK!F_y&_0A%M&KcIV%#)heC5A9XYw7sZI)7(&wIoGpx*XhWnp~sO>!Zw= z3G?txB4S5489K_8a1hEgWzDt8wU0N2{5J#ytP+!E#REo(G@Ml=Z%P87Y%a$8DV&sL z7Vp)1C>qc;y=i*z;ED}^>mQd1fs2uRCfsx`oib%gk#$~Sl4i3YB48C@dm<3re*TvA zhoPiOx9wD7d(=t9Bof<3i|_Qm|7`01FAtN-|F$oogq;7s9wv-`9wuFDsGHUQSHtx3 zpZ-S-Bb)!DVRBbXwVi&(_1iy@*ZSEiGFx-_x1wLTq5ov;pP7lBg_Z7qshAj+?~TVr zE}ve!c5u2&_`*+@ZrzXDXBTpDmHpVQ&Ksi1eE*@(x0x&s+e_VgGSMPe>Lwmig^BRX z9C`8w-@K#LGL+eAksd0)i&vZ@|JmB5W&`an=pA}{ZIh8yJ|VSyg12lu2-ipTIw5TjM_2+fh+iNeiXdlHY4=qO{C6xK)q*Q*yBG<_ILK7 z++Uhhk!z*KJsl4HXiwu?*Vyf!GU|68qV50o-wj!gEST7f~U@nX(GcP=3ytsw!7dd1EfzGpgV*V;ll( ztPt+G0FjCJ5Yx*5ewBydn(`9qS&E1&o&tNFehAq1l1Aa0=<1fh+r-Ui zDJiEU)*jiBUDR0J9SOPj5gs!JDK{pT?mL>myJvb%Kf&y(u-l4IQy-seGv%O<(MgVrGQ6&g}>|?~KgqSY##T zBVBC;9JL-GBe@w-?(s;~OF&588N>$~QAO_v)$9JF?p6mX@64l#)=}z)hEk>Z4E3*0 zqN4ve8VBy6j*K)7@9(2x@f*sX8$ij=5tQ+KLFtQX=v*ma>+ox^M9(qZc)n zXH%tZ0pdcR!(Q?TX(9cP@aq#YRxClnC0j&39*)4sd5D>8gHq!CxpjU*%AD8uJgf=%NA(d{QVw_fSqRA6 zg}Cl-;iH#^jPPc0t{=na`%-FkIJ3u$-&DJvMQ!yAYPe@mdg6QbkX=UeEx|M!@`l}R zgj3hCC%eyjjb{H=$|vMgZhk*Xy3L@>!Cq)}8iDqqpu*`UG(WwA7UxrxpDGdG$H6N} zypQ`?uvOB6U$ZB&;%_5;j4HB@sUuc%Cc*uJ)tM%>9%x zevBHMMaV}W6^yo`X#Q?0PaT1XToZ&_u13)2K?qxL5|L}_;Ws@3UT1b9`{yHsYC0jI z+usOi{)yloTd4k`lIm0IX(W0^-=1|ekq@N0vJn-Et*D}XM!e4*)crM&y*}GgHT?z3 zwfa+fsvMOJ#2Hh_r~)@wfXEi}-S@dT|JC6vg&p+x2h{N|@1BzrAF<%T2a zb|zxR4?z6OX$X%$ij)~)@cH2@YC;(zf5srQVlMT2Sy9U!>}?%L9qR^aj~q@ty&x)- zHdDpcl?KX-X(qRk21+-mQI>$lD0$8X9-0vLl2B))#4b)|cJp`p~d*2D^1nrLyf9 z8uzd^lWJn0*CmDJ5fd1rgln) z9j8gZi`2+*r{c7Jlz+UFD%*BaJ9H^~c)g?Qw;MF+A4*9NZ8WRNQMPRnx(2$U_L34M zkBw0`IsuhcW6}EC1LaqzQa=0}I(yGUY@8H+jnjgQO&V;jy@lU`4G4~Zh`{iVC~!T2 z5HEG4=AA%jwlxB^zfpJFaH%({YI;?s5_o3 zsNG%E<(Rot&GV&pmL)a&>ayqhJ2W0EhmJW)D9-Rfqg4pytYlGhehYpzzDC13ceMF9 zQGWA1%304q^=>0H#%05C&SE$pQbOtpSEOyvM0!tOLdUk8|qg>Z5ns$?;&c$x{bE5*q zscEQm8chY8I!Z}tp|Vqp%603hwB;A2l%gp~2&St1T0f^s&Jy%G`D zWrn0ZZAiB3gNX0lkbhwjJpb`W;f?|nOp~GEkU=zhvx%nC=czwQLfyXOXqbMT@|D}E z`?;LzU+UODJee~8Q^P-upgSxJVq7XZFAbr3P$fD;zT?m9Gn8nmqq%ex<+E2) z-DWQ}&YuwaVljN1H4(o1Ai^enM)cGhNT|t1-ePY=H7LSKD5#LSiHHscVtY$ySuu%5 z-At&H7Ej|n7!ytDJC)RVH;9HuEvS$cfJ&{2l<}U0=BgKH za!jILi>N;}-_WvS6RLfZQ7v_gnhPaVTsr_kqfa90+eG}D)Q0emZ3sO$5rG@Sg+44s z{P|u89v6V%*$X-JWg4T1YKkml<@y4`Vq)vnR%h5dG z4>gA>(s=EAs#M9LK_d`tMJq**`iQPDWwdk`@91e38uwpBQ~Dm%Ox#I*pU;#?3r)OA z4lW*tkaRQ}$!YhIWOow2pAC?)dL-gx4j@Z;7xE6?h5M>Xq@7Wu!L{$yhAZV}&!VE% zPHJlWL*=)RsCfTx>RO)Vgx|xcI>MOBHpkg*)fKe&xJcQz|DiSXH`;S&BD47zItMU$BPZ-OkF=V%C8fUv`k2wEbIV7s%3 zF{ww!zdi`Qt4b5&N@_~JP$sa3Drt8q^LiQ@3mm9;Y#Wu8;%GRvjeQEIQT?+YRSpdo z=VcsPI=!h}v=)UO+Gw=^s@r1Gc(@-rr8lB&m*`!+S5nHk4h2X-*h@nMIh7+jwFi`@Fx-15;<# z;nFzxUsHzXlg9`*FQDQcA4;8DLZiQLQ~AgwN@>2Q+HouDI4aWom;|l6A}QN_G^OKx zD4*$y?7-Qm*Nw!ln|)FGVhZAh-9zobF{teO3Sn9)_*FL$g(Kb|BXI$;YI`Ec?gRps zHY0KQ9fZGnflscV@!l#J)+;XIdtfBqEf@gX!+Y^{-zV60xKibzCpF9=?p6uqKmMl1 zNM#zGpHJ0ci)h(9pUSCmlo*EjN=Zrm&lf6&Riol`De`)ZLhSZq0E@cJ+l zuC{)#-cUw`=ebl-col4_4u4 z@KgCU0(I}h^SCm8DBghWbxXv)(i3{^Fy3k2V86UhYG<5gmjk+4H}KML=nL7j%1 z)J*iCvZ)e#IRsI=$4jbsX`teDUzFP}rS#rosChpYaci1UGQI}cA#V^cLI*f|I3|2U)T%sV8= z_))%f3(DjdqGV-16l|Z48s$oqZrzC;Nq_yGNthE2%N{3922EMNeEwIh7xx zk91M_{Y>h3J0M2q8;V9qMuJJn*Zp);^>^Z_GIpa_F3vljt0AIQp;#+$^{P_GY!Yk_G`z;hs*E`@kX)HpM z4d8aG5k9k|@L@)=$V|Rd(_47t@J&=1dy`t>hSYteK#S0DYH21>OJy`omd~eNQ52O$ zZc{q3H)@>5q2S;#;Z<%SwPQ1WNCzQf^h(5S5ITK!9`c2TC<#A^M7hKGY8MTw{CV*0 zJr^!F{1K8EgNRXA@oky`qE!mvsQL=u&Y8i!=P3j<4xol@U#cv*MMWoRG&B@b#&Q_C zqGwSh;0-nYo~Z zlJl-1RzqY|?<`UB;5Y6D{Km&`2Vs9%WQnpKaNS=9hu2;3$UKE-p7&t&buAuUI0BC$ zQ(<@c9Hr!HM4xJ;nX)@gZ;hgwOeGZ+Zc!)m548fi)8xQ5s_hy{sqwkgxbs=`oWD?V z@G6qrS0nbV4|4ez{QauY^ynVKHBO^>(Ly9=w!)`i}T}wGsH( zVvD!mL*V-}6<;mN;NCY94w-Y2K3n*&VfK`r6GGFhR+`xbQf{0%P1ToD;a_QL{^h{F zb{nY>E}qqZ5K63GP|YkIEsI;xVtN%t-vh^)eVl+STQ z=6zF?EM0-<2L`BEvk+lx_9Lqy8YSzZ(ebT697ldd;Bw)aXY0dlQ8sMe1tPR{F#N7f zg_TnmLN+Zz(A!)@Xez+{tP17zXHzn)7qu>)q>1@GYA=_fqKg8R);dt>!eS~L#8J)p zo6!9`sd!Kc9S@>Vt)7XTZt5s#S%}=>KhSv06LsSgP;*!hZT~GpPVG_@S;nBfZ2;bW zo(Fg9^YHT9jL!v{aJtou=q=)1W|qMxs0yCl;}D-_3#)l~2u~`f?m^KUDxSd@?8vi@*M9s~EC{qQn=K3w$%A!eaI{8O&MTbc7n+pw49B;h%h`@}U$e*Y2i{q3|lJTB!1IAr1QMqv4F#lv6lOb zdoXf;DX!8(_1{5PlUG;JKjRxN6YUUCebbmheVJz6WYKXY3z6lIQM+?L zG7GH`_d*`|gR|f@=pIT&x1u%32RR8l(0J|=DzlRDsrU(gI$OYV)M+^9t%KKvP6XQ~ z!`-6;0sl0^z9tC1zyF0(;%>OSkcj%HPxW&;l=(B8nh&p0viUg;FN!<%WxvQNFHq4) z*e*AkHxp zb_b8ZdEi3$OzbY^0zE~JD71UTBP2GS#E+)ccpvi;@8493oJ@kS&*LeRBXah1Z<UyYUWbW z{5xe5MfQGknfMYKH&kH%<{VOfoT1{*S0V?WM7_-&>^^!Ljb*n} zUt1YXpL=qo&Mz9f^ru17S}Fv;qG59sDpV~Ixp_aLa|Vl??mraSR)~p;9eyudi{dM1 zQ8)JiO8?QN#MKPV!{5NF%@d#0OyGPc2OeH}@Odx`j%jc4@~<{nWp+ovjiGoORE>~h zm*AKqviU`usI*R+CLLz%xn(p}BnPQ^HHK!JTB-c?H>D4mQSLuc6Jqw4u0;F5Om@kyk_g+*{DDS-uecQ-d?c3;6alU z$y6CUlF|p$D8K9~)eaw`Y@|A6hHs*3+(Ifl52MoP-;|pcNyT@2kY^u4sk+N3dsu~1 z&uxe=8j9k@kIP(RWP>HY`)pAY)g+KGlEZ&03a5WjCvLC&2uC_Xe0F1vce zS}GsjiboJJ`zl;UJ%+btI=mkJfa{oH_~|I#;gbgVS>J+ROKj8YJGG zD9*rW)Mlrm_FEgW>O@bOB9Bl1w&LS~Y#sYv9JlT3uq(xbxTDr%Z%Q*rnm%8d|rebo;to2}rm14F4? zwF7lMi%@%d1Tto<5Ob%Qs0`7=ub#WmF~SCaI+h}OxdO7cOhd%OLWIuO#rqpy@Nr}r zT;5c|V^|d2Kb(Wpz+BuHwJ~Tlk=zw1>eL{(ojZx9$tF||w4;`D4z&tItu|at{WYD` zdYOdA!8z=?DwWzXM^G|tsn9~hkUG;J`I9P8wqgaG-n~av*;{1Z{)o!cf6!p#g{%}#yHK$p z7;!xhBTqX6B}=qX_}5CLM7_tavzL&0;|_8cN+I`xH$IsR!rQ=Bd^*&OuRD(7d)zD7 zl>EJcQEipU_dc2W8y` zqiX$Mu*-UhA6IU`O7#amuM3AqULE{ihaffLGCVtv!tZP^M6HU2bHa9n%!;GR>z-7Q z-720*FqQj>e9-bf<#s(nv)cvA^!iHWC!?sCD`x)rr>MTi2&u!ukQn(J;j4gOInqeI zb{@Z7o}nMi+r8-C=Jq6W)ILh`4`VXk;I1=!@KT`W&>% z_GaIEB6qQTMb*I{Df9CV^=|r5U11H?BfO|6Yk{b3!;#P_L9DSK(ysZTqT3xYL*Iz% z*we`IFhW{4Dfm2DfQpVr{BC;##}7~OG2}Gf_Z4}V(A!qBj(9rz9ezHDMcSM!d|Ce( zo+Xj+7%&lz>qzDE3Y7koOzG;2l=|LFWGtu9-ggyh5BgA9gXr9&MmdW+R5O%C|hk$oQM};`Ebc|#Pf0Xa6I0MH`dX3zWyKrp1Q(&w<&_fdk?!T4_otLaLd?2 z14VJ4=DSilG==&v7g4V@nEKw<)cJIRD#?pcw9-N3iRM)770+%eJc&Q^hnmPdNn7so&wTW-45yvi`UKa8|#59CzR@LO-}{wu4XV1lUd)Mvdwess!6mwPO<% zZqB8`#=ByMvW5EHj#E-C&z>{>p<0s2882NGnM?|bylv6`;uTW81p8w(8#(!w_+v?g z7mXAQQWsjsS)$aT0R^vO;qBrEyPt3I-QqBuH}sVJzf{Ns;iJ~xCZv~onUo&Fup5I z$0u)Bxcn!)hD8hl7KI_;o*`miZ-UzvJ47j2!h6UIs+e_=U73%(tG)3%B^fm* z$_2|2fSP4XP~%gJ-@SgKQsy#cmBf5>(KAZfi~BI(IGzpof)^n*__1^wp0|F(^RHI; zR&WV^sjHAAd_~y7Plz+F5dK~Vp|;OZZ+C_YL6@lb(US7V{zF5;D9V<9Mdz5uRNa$E z{o*0iURz1I9S1U`r0;_A=L1mvXCmsY4k7FA1|(HE zBWLM2IB%YUAH83}+59GKYNO%sW*%H7A4N>9En@avLy%cCtP9@2ZsTCsT5F-%=8<3l zW>WpcG+K6BhXzNH^T?K>YxpWE`}U&RW(!LG#EOhu_`?OINI2t!-{PG`IQZaK{4C^r z-iU$)4fs`Z0LcXxP-VUmzeayT&g$>T|2+U7XQty}VF#W{x55UIu-Q9E_`s3)Ic+I| z`hP}1^(%yye}nb@cm#EBq3RPEDmU$*N{#SZtF=)*Vm~F%PEsXk9wnK1G{3%rvK!3U z?Nk;O$4!7w;bY{RYawWa8v@R4LAuj=r0oe3p708qWiKPCr!v)~j8W141bL$-!}?qR zKF74y{S@n1em%?j!pP7N@e+jKId>DHt&!d9r9LnDm zyiJMtJd@W^e$))AIvhmD;09`~iKhBop#iQOMCS6X$e*?d#c{=`RG*31EsDsk5$9ls zJ1Po$A%FcKU zC_&kirAXg342hd8QG8=D!mVDTv#uLjJ?@~`aSHxue@D^fJ19?_gCFxf@%q&(eAz8B z)kXusjra=>H&tj6L&PV1N2v9F1k4GAua_nKe~Fp8*8!?X9YO7Z0Vwo8LuFYDDi1E< zlKE4p<6lGRW2>mtFaRB%7pUr(jH)A2D0u%7$+GE)GM|Z@JSikf-$KQq7*yPfLTPai zwCQ&tGkzbUMyJsI^RRAl@;Q4gN+cy+4#{9znG^4=AH_oEE{xRNQSXGCU)yzY+JwB2{?eF{p3K zMZ<*^;#m|U`C%0uP50Hmz`fXequc+;MV$IVM&{qGR`d^ZcuM{eL} z*)T-5{X*1>jR;EoiqQYU;gg_`PZRdhpk>Du=&N@E{k_Nkh=C7mjQ#E96A^qG?bWqVofh zrLzWarJL})|4BT*cNSmYWFzp04&3_8f?HrI97DIl+3P#pyF%f;w-cUs1uG)Gn@UMu z;++Xz)=%)M?@m(Q@iI01g;onKq54F@xI7qi-B)Yn+fZeOY?`zcnimh#kJ<-(pnPf$bW z6-^_?p<>KR6grJTbmU2799Bl!Cy`_BPDZ))Ks1N^hfGNZaxT0<{SZgwdHjNX4_VkX z&cfH(e_*}-Jv^l+!DjhL#J*nw-?Whk2|Ws5^$oE3CNj@`=Y)Q^MKzZ&sz~2OSJwne zrA?-^b0$?BcTxTyaW)I-4Y?%pj}a&+eM`y1$M}5R2Dkb<;-knfoUC`ks!{MHA0HzyA_-}?1tYm+D;)0n zi~M0dJX&8+G1h{HRWE7K=_+bt7Bxhk-*tWmrERZJvsHL$@yuk7jiF+j$YNf8p-R~( zq>d;?@Xg8i9a%2=!*OJ9D?>-#AmsHLEj-yZv}osv>`lyljZNXc;sd^S|0yzq0yy;$ zoI;5*g4Vhqeor9sPCZ4+xwUXVEM_etGymS_2GxK55`OCvwfyS^S1m({+Y>5D0;t$I zn{s~UG@36*^U}}Mda#XhXO&St=>l>s*9y=vNNtKZVNcim9%%gG$DJR9MaW%Usmh)5?bn3%nM|$Yy9JNf6OC65+1(R zY~Ay{Xm{F*(zPn+XuXb_mjP($7=Wb4ayW(Gf{)n~e0R)6e8CcUrcXt>^cj@6)*x)O z$Y1oe5F>31|CmYCNSZ+XqhZu`+)1-Pzi6?tGWOmWmqNfC2s zb4t38pwyy7O7t_SSSD(u>SI)I5zJyA!5NQgMseC$F$?jb(p6d1Ws0-_Pxyzb8rUyCOm@AoF#}{n}Pt#kN9bRSxlF zQ!qU}l-c`tcWU_EruMK8?D@CI%4Te%?0FC57quY8WEVB}0j>Fm(fDW~nx%?qDXq#cD;dQYFzV)w=lF=WLC0YoG`hb|+r-=RDh0t#)VxIR0S@Qkh z@>Yu432WKy-3Jce+D`cyq82$i(#Y{&_K_{6g8D#q-)}(mPN8W!Wog`dDy4__qtuE9 zs`Pk4<%^jp{NqcR`+}=jFLx9T0V- z>pdmAqY!<-9zSIC;C!MQR-wx9&rlXULe!}#>WH%n68dfxA_qQ0sC^Q`<<8L9eH!%^ zH&WMo7PX?Psq<5gnty_*A2pOpmxfb!i-LFe@5K2w z6rOBt3|hW~qpIQpWxM4G?(U1=rG!5@vlc$x{RG#t5k7r_;ahEtkYy|37F3787m0{D zD_GJ?ItY7XiiGEa;nH0}jrSjEG5$T(H!Nfina}KNJc`}dxro{KNE$mhpuKPdRX+`+ z;YJ;5b$cXwrC<|lebKOZ5IS9cP`kaouqWrchtYth24`F z*rx1)=j~f+?oPzq7ux5hU|FBE z!oevLA#cu7t*eQql8My$Fq#(U6RA}!JlBRP>?wbgI$NiRdDGuwRv_3p?`_m+5sdb{ zwaA>fjIx@7Suz2dCdN@-+W=)#9tv)52Rc5tBX`skG{0Sge9&UJ9h%fgRr zU4-8#fltUYgvK%p7|yF~{4L<+@wMU8qWJloYW>OB|F85cQ-dQ`PMwyNewM>Hm6Bw=NWU6D!G=7cO zLi?q3)Nc-_w9Z{%?Nrf4`$u>|8_)55qw4O()Ov164XJc0s98|8PMjYbk(IydjpFx% zQL@~UvI9%dCDjY1@@G-`BaFIBM2@Huh?aE0s|yBJCaE3uA1x4<)EDt0!wmeTAoxB9 zM0McqSA;zi^LuNoA&4u#$3AgwZz%4e=nqp)4fN6l!u!=0K2;*RT=Q>*DV zjatuA|3WiON=?LW(PzpG74tR&U9`;_gpLabP@5wd(OZ9n? z4-BB%tp_v~I~1Dhn<(>j3bm4Zpi@?gHOd-1kVy|hnvtu+9O463Fg4YbZT8)K*@*RRQ>vv>IX%Z6Kl!t zItQpF`j^6XRVrKSQS;qel&KCzqnI&Q2v)dhwxh_N-BDO#g2sh61yk9G>Z=hbnLrfz5+j^EIf&FK;DK#cznn~yv!Z=hik$&`2pg)6Tcs1UBqvXspG%YxVvY0qD z{Lw|R$aunx!cfv*5&5U~pjt%_#ovBVv$PO?vD4uBKJWj%r(p9BBL5YcXn&!xjg=65 z;3WLAU&B*T7f}I+gr1v7UDIl6Da@tzNue=i@6!B%VDY8;2_9UI+Rwr$cR*;Qwq-QE zS1f$YN7TE`rpmxtDn!|#=+`ZDoVTOo?i#cTHlwLw6WSl06!U}QR9&+S31bJs=g%Po zD)m8dS3kt4&4Mjb5nHN?un~umcs3uOY&MD+)CbrN6E(*45>$i|S zXQfasXC7tGET`--Tj~rKxy$ul4qbYbv3111>J_ROOJ{K2-ELMdi4O)KVHlW!F2@o+5Swt3lPH{xnzAqKdQ7 zpojcW(RV2dQy)`n?o`yDzJrnjwqn0i>|5$7h@bbb@VPH&TrqwP6;jUs zg3rFQ_~JJcK4&f>@wngwu1`nq)Wb+CUx?uSo^T%1z}|2E68kbksQXcPnEgtWOPw!j zjd&h?(y4hzb_`7p$-Uyk6-jY#tleDFb`fzn;zuNn;JIH4C_ zR|xI=fI8L1H0=QzT)D(<6IH0W@)!-z#ZaXpik30=sPV3pT7p^Eu>A{N*IQ88xPnst zwv;=0lk)a*l!UmW^)sos%@WlfThVc8IP${8jKwq`DP^IEeyT6_tn3k>KLEe?pN3o2 z>i>H_{`b$637X3O6MWfQdI!}$|3!Jf5_XSirIC2%vJFXsmHNu=$L~{R?QWWlR}nMy zJIJQ=u=k0jRGao1RUf>B=Gu*XyK|`T)=8e}^R2X|wV);qTVIwKMXAR{e#QXCW-1!_0d?|NN@*x|iqv%4(ctTiKMwjR=@>&<)h}qds3dqVFVw_{Osi`@>Qco1*S%wulANQG z&P)U!EkJ~o8RC}TM||9D6c#Q;{AcmA0~C-oN1Us#-^C2XO7yZ-@Yh;Sv(gdNGZ3C@ zxHYv_&ZS1K$XT`pvFAL&g~to-S^XJ%{8prvjV!yL8ZTJcDQK$}Ijr#Xk}E|>pHYTC zoBv-w_}_E+zu%E$eH&h#Do9c{5qr392s-Kyo0Xj?pC~67vvG+3xC7pSJ5l6z7yh5s zX*RK1?C71Kj;uDj8w&n;??alVCQLk+`rYE3Ywg8yCWy*-1Ddv$1AlaJQy zd=yk~N8L69v^P4SW7!Exxpkw?$bG1Ph~2005lGFq73}m=Bu`y~LR)F7J`6^e)=w(72%n-+CGOZV_8gT*)$2#8nc0Ub z@|V$MP)_-+QB>K!1dS6mP)a3N?0o!-)FKx|xQgBD|N2uZY#Qn#@8I_jM|5mEgQD(z zk+s86?7mKhr<#q(_dF16CW~ZCdt}x=LT+!tcuakZq7N64GS3=e@r%&hab5IvTfxzM z6SEV+6xU1?Jbxq=ws}*hX&&W#Y^XOycn&pbYBjb|-+BznQ*2P(PyEcf)5sqnGTm-o z|HEcdwtAu1`SzpkxNxdaaDS(dAby55BK!{{aQ|HdjQl3p?KyB2j9>Jm1Qhh?6niV~ z@LrNGI9Rds9T<=1i}}>;C3M!D1a+z{zEZK?2dFuGcDQSn&pq!yN-_1_v4R$WGP#U-TJ zKSYeE)eePb@OUfsQtpU(d7Kx1xqe2*R1^5kJ%Egp(Wtm~Lg>z)G%8*u*jXL1|Mx}Y zQ}vWfn?R)=GPJy`NA>3kRMT%p=Swdt-@1kd)Kd2La1?D!M45)rZL+D9mexnPMZ4Iq zbfo-%S!jrfLh~?f6l@Xsa9<1jidBN|+hU}s3obN7WV_Mnh*LI($Dl*-Kj(lb!)=H> z)DMx9chI2fAT0+i7HmyV8XP=D?O7wK7L`TA#oMVmL|XVS3H#I^rSz$(f~{GK(mqD0 z)>w$vMW-mWyG3lbNuz2`Uu0KZ7d*KIYVJxQ{l5^j&JdjPTs=e&nGMhJ7I3oiM{=a7 zIYxpfpLj{IeFcad`2iJU%Mm5`(T*)q_|>LGqns(!mJg-r<>z8=$C?J$S5hf(0lOU* zyNqp8l)W*Yrhh$UkEf&2l_q|t!UmChjk}Agq&<{;U5P(G!%;9?iBf+TqGjC+)UREI z;x$faXzE32sa6!+T7x#1aJaSBAn^5n2Bih~mAZeMj z&|(K@)@L}SeZ?Mzl9-=b4NyehSL58Za_LO+dq2k~D;k0%qyt39HtW6W?@5~WDDiOI? z4SQ?;OGP+@O%xm>~>M<;B<6Z z51`&7A90pHu*U;^{2Dx)()Ub6p7&VnpM5};hAY}-D$ppn!@O>Rs5s$^R+~A%dXdNoCI}Ca97### zGirZ5OYMru95`2ezJp2}Y_*sMK|wUK+ei7mJEwhJBQ%lJ6n*7%xyqFcDQH!IayyiP}BC z)9CC?@&5>>!qsmmRTQ(X^rL8RZa_M8sq*3gy6T=&&UX`P0uG`jMVbm%?!sHr6LFK) zBj(Rk_?rwwRIvDcB#i+m>-`nKWQW85M@BqL7D7)!1Wq{csgL=85kT*6gq_HL!t z`R!B~*q^$2VbtvTH@ijOp%g1lDN-Ct zaf(BW6fLg710*3rT!@i`I3f0|d)~P}K7YVF^L)BG*L3Jfa-93IZA*Up7kY&KOw*E| z=oCd|ex@_9eG^&?X~BRuGwFNm9G%BSA$8R_{-(iW(ByR> z3h)0#t0m2lar!ahZ-gMKU===^r{d;E>2wqc(w0}eKVn`ZNdR5|GSx3B| z7l7zRMs#*fXZ;=?+F?#GsF@?Zo-LroDL)##*3ZuBGF|t4N1y$vG%voyn%Wyo7LJe) z*Nw&_&GGTb8^q#II{y75@(&i$vbj6*?@d8+o&hqxO-1oucYOYd2vct3>Bm-hntf0` z@E*#PpI3i)ITF1lAS?O^qSN1L9-6Cc;2?TfE6+E?mM+VrTaKBeF0LhAmZmAIS&OEx zQ|VUs4bA78(R=~v`eF|)j;%w9tF)(T1vKu`N_pIc^xsrRx|n?WH_8w!laHIVo#rP- z(0D{k?LVHVbdSgTWE=VOrAYbeipYR%cpa=v&b4kRy)gx8L9g(j6nHjtGcEgFpwm_> zy7cWu>tFt(&)|8QZQ9W0NOM*XT21GEhU&n^(zxDO%|K0%>t}?-ro*L6%tY2Vr)jxY zntkobv>AAgMrp&OnT*HhphP5=?4?m%6TIA+iI3m@gf~pXt=zA8tk040J_a8y-a}|b zAxcsvs^>EIf9EAyPBx=$t#$ODt+~h6mfjl+8SuG;?!(VZyHsa)`x{!gm(zB<&VU-3 zNC;N8t#~l<^HXSK+z4qCS0K5qJg6m~X?mmqVvUy4Y-l2ihs@Bk9VM?!UHImAaP8nV z+{>y&;YhuMf4-`Hxd^FI6Y(>sl-nQ8SaY7l6M(V^?{F3 zLGR$J=!i@%r=^ydLO-gfDLp z+G-6VYe-u-re0EYeYYIDB4%R?-0E#fvp&vr>aTfy^cCfOo}zqwTRJX0NqcW&y80ZW z$5CY|92V2bWF<|9jlw6}8pyBXi&XjR$qUw~5BCL`hVN+HUAbr*<=bjR&^Rp$6%Uo0 z99;`f_Ld@Ye>;REPQ}%PDY%`Kg4?#0h~3v357Y^Zf7uEl)i21i?1sDB)bX!b$vPIl zGN}GvtasuQ?S3(#vr7QYXMabRO#-v8)*AUnwb$$xcE5AXLQA<R$_Grn~UC;nnC>h}fEqSFi2x zy3Q~>IhBtW*Mkr-q&ePh*{3|_Q+zt6&gbxxbgcaY&89x5Q)w_Qe$)Kvwt;4+4%5Z6 zE6omcr_*qCjR1>4bibO$(AMfXN~fq}UZ}nFSum0dE-3S7jpA!J5nDKf7B+8?pnTS6 zzW~HUoJHi?CwNeB6_NIZcrx%aUYs_?hnJi2!hQu}>ZBsH%niqT=sc@4g(kl`(4xZ! zdMh7YX3>Ej?f*o@WNH1~R@1laPX=j6G+v;rs4{=9)w8AVeL_kT=^#_*DKj|;RjsrG z{re-5$B(61cXNFH^CXh}S|OJuC~h2s#I5%c^13EsUf;s2)#AGBH$-^pOT=y6j{7@x zZsg=hNBD{`!x4zdDWv)MBQyxruC=y+ewCY*0UuB6fHkxn>`b4b$7y=iodHgN(enIz zdKm0MdOsp+h_b(DlsP`@g6#Y1G{t^GWiU~3+KYyDyCCLvnDm!;#2BmsO=~`#UN1@XWt8aoK%76hzNw9I*RZtf832}j?kxucz0|7 zBD~kqazPK;x`)#|-BxqPK)Nn&Lyt$&1N*OF!>4*?_GtInx|_}sN9Yt*jV4j&5Y=`b zijFKXDjao03m9hwZ#5{8BLc7Dt z(Kd^s+2zy7^X^NZ@6<=B(+34Vrl4fK2fqH?9v@eE)BM|PR1_CWH+!uNQh!ujReq{a z`r?&jJhR=3$m=5zy}<~<6P4BaHVIdkpV9tb8#isHBJ%JsB<(wmTNW0`>DZEXb57E; zpSnBC*U{=#npjoa>A3NecElA7d>%}vl7I1KOuDo?Gg_t`MCGI&c;m4E*`wK;tPTTkd{kxYa6gYo(KNn{1=kp8Z7DeeVcte$}vjUDjPNc@D6@<@F;BKCoFO@`s& z@%;#`YmA50HsbU8H3(l|h?3PkX!m&tZP%?9N616{CFKAH%%Noiaf-(8qq)r&nhn0h zYCD^2xA_TQcCM$Pu{V;ZO~BXsfi#N!q6~*6&Bqked|wTepK6Jc?Hf_{V^10`3dAk% z{`l`|Il@j1#k&E)czm}2QMvM{Q*!X`msR-Uv>9n1N8*iU&d3#!;+E~9TmDnp)`(+W z^Iz!N^8+oPJ*D4=Lo|HSo2Con7`S=`z3<+p-QzPz+$n7*Wg(t7jX}yYv1Ok5pfquh zm|Cw<@$oYf7Ir}Rgk0sRSEKCAYebxQjnFF=+Pi`fvf&z@y%>Vn4&srunuZTO598$% zF%>R#!s}!)Om>W+-IQ$FeKUym2OrZpL!QNkQr6E}&PKUU>DXj5Ydw_zu5-upyGN|n zR{g~joAA+UBvR*w;p4LDnhkHz_^di&F53`uY89%U973MyHGCOR8$~Y4XQ+pM{gwRM zm`R8_Bn@?{Kc4ne2Jhf0Mw1&MNik2bbXq~n#L7u z-|#3cvZVX0uS?4fVoCicE=M1ABIX!q)~Q0llFc-luQ@e1Pa1GfWY+jkoWXk15qBYF zn*R9*&5!erNaL)A(2YmcZTf%$qYg-lPe4?o8+h@v147SUz_a5HxMna9B@OGN!Z-wB z8(*pi<4V&d?zBG}#-J7QE;m)srP*vc{rX;?VGW9&yrXBcIGPl$(;Ote&GEEHk0m5Zn=w!tA=c@Nc4G$;opCoiC^WIeK7J|WI+DoyVnpvlK^ z%Ki06{82wVIy)9o9n_awdmFEAR3UWAQ^W*o-rwbjyyp6zUATylVSgd|oU+E{59!~1 z6V0Xs(@`_DPkIl!f0Iq~OAqKY|2gYj8iz{htF=o4XuWFz4Xh5(@a7bn`}UzrTz}+; z2D8SvakMm&mT9US!N~b2`6|Z93MV>P9z;%x9g^MvDS9`Vb!d**_8m|(Oy|Xxp-4Qu z4+)>0Q4ybnIA?vAPj_X#!-r^D>mPdC`ZK6P*|iV8^lsII&a-3b^h-Q_r@7L(uP0sS zd+T?oK20@wWdoE+S}(oeMn9B&x=zcZ`fnW$r^$ZxJx6bn_r4WH_r;*w^EXO|-bTbV z8+md$i0ge3?>5#);kHe9*=!(E79K+Kz7q(u_CZ#)n}`p1$m%m|)A*Bo!ueBJy|$4w zGIiz}4`j85um&^y8RA>P)Vg;$>5C>i-3VtZ^w!kBN6 z5cd$-iNDi)eKehZd?p@&J8l2fyDUxG*nzWjH&{-WsUPTWHi5PaPqBKsX4oC#W5nM_ zStnb1>`-6rww^cYy!^S4jv4!Dd&*on+i?t>qRvLmVTj+O8Ea`3C z)yYr2?fk#{1PV(3L)ixlg#K|0QTgggzm)fXZK?Wk>X$D|rQxa1be$kO59d+oOyBMGUf;eU3k^a+}&NZ7L>t;Ke zj!nUbEer6)cQhgnRp?oHfLANk$$In&pI%%-WL@>>MwcKYdn^i_&mgO#5iQO|(A8Og zPW{RBeSU|58GqC4#7i1RYF^xD&N?HT(>p(j_I+IF`MIX{s!&wT{;J(?E~;F6>sj}u z@no@yGB%?8fvNHr;;8jrj-1g$X+7!!((~?VcN~Z`PY1D5_3j$zhVu0_5qiS~_nKTp z#OPOg4<_Q1#ZbijxSaNR>*%pRjy8LZ>7^c;#r<)#zjm4R8tkF-t6chTTu;YZ33Tap zh5^lT#6hZ32YwN4(zerJnYy158`YyxZsL3C*vog(GGaZgp3kP+^oPi5Q%kvkO-SE- z80GCMq?1Tn3$R1n)20Z|e}we*O_6CAf=p-WQ3dJ)o%@G1JfrC66h!x-%J`J5q=Q8@ zT7HP8W6hCt^5{#O*nHO9qJPISiXQcD)6iP^=)$++GBv}OMonloVjxPZUq(f~@>2Z{ z&^|)?R=n~`rG1rkcRa4N&J!aJFnBRpZE@~57O?P6&v(We(sJf z4YP)$*zX>Sn@NkWrti@A=Cp4;9F@&x(P`2kv89I7)cZZMQ$1+gFcUY=twvT_IZCIQ zB4pDpr2fz!(IqcYbmJt_S9iyUOS5suBw88D{V2YhM2i*;X}_`#T_1l#^HhJD^@%-Hcz;(De-6pVVRNxm#)4 zQ}490wY0YSM28;jki9<{;99vbv#q)>hk~XlWCg-w}H?;2W_B|D$;;JGy+|fmWYR(`)=5n%~lA@+grO z>5sTEjgT|X3q{U*5Ig>=bjNE5JNOj^=O!R!(0qg~y@gC4^(ptbBKA@xeLp$V|3*(~ z@IOftYeT1+@-CW5)3kA>_1?p@Uvrd!$I@sp{tx;Le@j#Kbsa{eqGZiix?LQkyiO$D zH!8a^ZxwxF&(iHnFWRnjqtUg|G!pBg2;C7|{7Sn(F5>@He|4J?3f-3?>YnlgLETXB zDHn;^jx-*n4!w(b0Edp#I*c?)x-9+ly!J3r#+ zx|I1}G+e3N_P6>Sp8p1AkHozEX#!2FIni>$PlahHxG>|syDHWo8-d@}MHdmx90~2+WpVmuw0D4 zdGz^sR+;BIv|en(fbwaq?X#A(UBm(`Y(mo-RdkpVgsQ{mY4`d*T?Z-C;dg;nzpG=c zY+vErt2CP=ChLS*h<00xg5B{a0I&QCK`Qzij+j!gl9~x}cewi>ESrg>z zrsUD;$su}{xY9Sxh4m_1(lK7=Yz=36dQM@rezWP}XTboQzv*pPi`8c2YrK-PE8Q`qdSUU)~1o|d(HIKP}pTQ zqA#Dom)CP~tL+K7!SbdeC3Kjb*;F{@G`dYxzCv1<%y( z;i{c#3(B`#KvlvDv6%a#GJGsepIYJT*?p*LGaluEr)gd=0hudCqw1^?om$2q&u9_e zU3iJ)u9`ned*NO7cCqGM#T6J&vwg>q^zFaMEMAD%kwo+;<@CGGQx^0SUD~VvuJ4JH zx}6@2bRHFnnQ72M?7CAldl*a0t74V-Jf46*Gu{z=tV=%rl?wd1qBV|8zn4M z7PcuZ;!Ks)nf3@_SAy|6mU#1DFND?bL`HxqlFY(2tJaZ+ zz70{4;(>0OO`jVlX|eUTau7FJGc1NylcH&UXeS#bHlyn<<-{A=XwJ|~*s%wV^3_-S zsQya)78>_^MyG}rv{TK(tYoIhx1jqo8OlLQJ8(qyX>RF9n`U}Xj22HNX&PPZH4pYx=GeVH4Z4fF=Vd^H_4eYi-$DMk za(w;sA5?`sMea&_oy!mCEiT5V^%?2_K0sXTEmS17L-DF&h$t ztyn+pf5l7ndOi$Mzb{$5<(aOm<2hS%^9`ER9?UuqpwC)q<nmwj?1&egtKnn) z1Ng9Bdh2+3J;ysCacUi;iT9Zm9*;7gu{2myrC#<}BxnZp=qP>J^(pI!>+Uo56pcF6 zq2sgzbnoOq+n@*HqlrVUcdFBZTl9}Ug#3NVy}5p*iL#+p&-&x*px5$IZ_#A?d1MF9 zq-+1ZbZyX?COd{m$BIV2$pj>viiE3Ht(dP2Kdov?G`#ZenYRaAL#jqJomvi%KfgOTUZF~79OW@Pi2vA zJBfj_9r!T z(TFvR-{|*noz*gysn4T~N?q+w>wiP#9WQ0vJQ?&+J%r+KY1KB8)wK_LR;VNUauzM` zi_0&bcW4a){RBj??Yc5n8mDNp`aH~WA8`~UHP|KHEy|KC3c-Q6Jl-CE2+$4+z)Y(nQOf3 z*683!CzpwIo07+XHqyl#2P+eN1qpe{$Z?ZDIO#G9?*{AqJ43t0(xV%C&^%n(l9uXc z{O*h@>DBi;DI4GH2?}b8rII4AH~0YZj~Xa{b`M!K-=XrlJemuU>R?@cw$rVH0Ub`|&}pYJjVpGrhT%Ng zwv!f-@2&j)37v(S5&!8=k1Ymti!l}>F%;zoC(_`z1!9?tUG$UQdBIUg=;DHim!8VM zj#4L0?6jo?c=uGfuTmFr^SaY~>`Hp{pF_JJq-A#1-8)my(s`{o!i_hu){i~tcjgfT zkV7+nv1R^!Nt-#p(p?={w{Ppv;kP;RRmE%^xQ&L*G#h%&WwlLi^vVgro3mnjMGwN8 zH*PdG4M*nBiO5=Di4<=u#O3AUOY{TecT@)8r`o9cr6D~hN_W4NPMdY})$^1#ceM?@ zs}kwmM)~lz-y<(U@AloBSYy>i+SYWUYfd6tm*|nL{>>aaqz=-(63sp#w}p}VJ>f|3dL?Zy6=?+~h&`}b9GW@EI64a15$bSU zQSL#Sw@Xl6>GKx!edHxC_XNHCd|B)JP7Es2-9+AF=&|7nJ_YAbg$=8xN=Z0>bsx5uHVQyxBDEynu`s}T8O9zN{wp+T<- zq|ZE3xZS zP})umfZxTrGPtNN;dNw3`qQ965;7L({-VCh8;#@csTGH9xnN~ffFyL7^jgvJK?l7U{%yGyLjn_R6(#9s_(;?t@ z-EpLh-RW$6ad)TTpdGB$rv;r&yVGoKDWb=HmJa5J(0l*Tyhc2N+YLrmqB0(4b5V4u zDN^6}!b{chv|DFO+h;A=IKzP6 zy^QFcpbXbvf70keOS-JRsyWw*HZOmm$F%V%nJ|@(D>u^iX%E)>MJ$L%rP?uaknzGA zUpvf1h2MDbJlZ4lC;1*11|X)_B_ytjqEYW2$el3`3B!k>po1%I?|RbAu)6dg1G?M^ zpu>UVde8sB>UX}S`HI8Jyqux=j(2pe5lZJz?U6IKp1APx>$XPIXsmcVTVK&;XDQ8t zFVf?_p64BpXzkHn@B3`}4v0eB)I1u6$ou}O55o6$K%Vt^L@oXmrM(`}V2g*?0=-ah z@F*hhlpQgw9|!7S!L?PDet$t4NdQNqHmZ9l3NYN$6Fnc?NKbA z>tMsl3!f(Sqhai1>64i>yDIMVA%EJnoghzA^LWb%bZemdtPUBndaY>s zt=p!IWGRD2MY7qI7P{*%looAt#&kVPyGB;>FGkTSuY_iImy1)sh1LhI$fu8?b(>T= zba112mNFgFw$t>W3qC#$MQ*RI>Le($6x;!+RRMVJT?(=B5X| zPVS<=TQQv?T7diJ|-(N!9~T~b5( zuBnOgxE^$!F`SN_yU}^T1R6_NvNnHC%Rcg`MvE&vR^8AoJ}61zBNw-3py~o(Xi`@&|1{NP|A}obI)%(f(hZfgd!R zhq=%f72+zC(e?dYdd?KjJ9HkM0tZQhQWo!aOO#6E_o$wzeoHgjH5b3R@(N9Dmmuzh zx-!`_kmkM;`IFnCIP$R=fwo9#=SU;p7bwYlC9YLR?Ss05F5#T+XHs4!S@$1EbFxXE z!|JxVbU&;++Xl+h`5!KTd~>J45v-nlgsz?H(J^l!J$+Y;Gdh^|A?B#~O*uB}tu$)= zg4W7**`?~9vS{UCl>0Bebr|X8E%0if-Ve*_A@(mvlnoq;^zWM>=Yluh7$qRZ$`NmT z7APZRgoxJKzpW0_a>gI@+^^l~nK&TMt)<;6%bGrg-j}z~ZT%$LPw7f0CvOJMK8uRp zVggRqJ7%pk{Sjs;U3i5KK9zKSd!Md@rA>z!BKxV>iCZ#QokhrcSd3zI0phy2A>8o< z9=WeY{*N0FWq$!rJEr1ActbJ0t|L8Bd%nYAX+FAJC|Md}(NC=1MA}5_HS~Nxluo;} zm-z(HqwC+SHKis!wrV%t8HkF@XX*W~xCtwiYZ#?W#@%0(7vCd2BAZroq`4-FYiT20 zYoPMKW6JTR{28*UzD4eB>1VZjXkUGathJ9(W-?8jx&uhrWs5h{C*tE=o!?uc=^i4T zC-+Cz+SQcqJJZxzZ%?CivHaAn_O7M(T3&lrtJ_@rxfp5c%9)<|NcZo?NGEzE?(ZJf z*sc352kU3scbl~8A8C7_f<{OFR6cGxZCtmae0y`GZs>!wm<+_FbWomkC(`$y!~5^_ z41GHXQI6_Yu55vwWhjgjs59( zdyF!W>u9d*s$bC|noqH!e=FU+)$VV4-PApxbsy8cTXnk0o6ISNU=wna%IC z-1eJzJU`Q`n|kUq;*exyqI)bC;X}+JRMgd7OZ&%&;pdFpYktUlF1=YCk*dHjF`m>% zwY*HD^96J&k|*+KBt5Ubph4v-ov%X}*tk92U3B(ET;ezEM8}cO=y^@vYK;Z74Btq% zwbf~|vmqUC)YkXq0IkN3p~FV`K9P;+7ObwQeM8zNm(bpH8PZPAMtHpxlwGWaWXr`U zwCh5P;q4J`c?qRv$B^1zEQ;{IQSs=$a*66PG;XLIx3VDq`VQS&Ovku?w2LaY;nj<7 zw`Q@rue`ZivC7y!psO@5R||D>ABi1sX_hok4>}J1p7u#=l(%R|=aHt!iY=l|khInE zK{PvQiu`%wk-=mdb^eI-M!zWQ^HSW~GrA{oI9_j-2GqNm=9L&sd6SZdha%E zfYN7iI?FZRW(Cvsu(C=w&(Z8n2|X%~;+@zJmi?s-&8sbT%Y9@nx{tJj7BsMUj`UyV zieFZS51w|&=+_1@Q{L;WRYr5-UETk5nof_N=q|!kT8%kI*Th+@nXFm5!&kc4YQCAH z&(`b^?K|4g)?Rsfr+qY>-9{SNeOm56OCxcytQ{}X`u$*f%}bzd&vkTu`kba6|3yq> zMv2fL$a{|_j+dk~5HU+B)c|6yo! zMt13||J(jd=ljyWPTA2ZeidyZJJM%d7F`=Bs7K^LleT@7$<*9)%Y}ZW(m(1r{NMhZ z|J(nMjK))t`gt48T-@<>&Lw2Gt%vj^Wkwd~s28Yy%=S6DdkeZlPu}2>NcyB~q;pl3 zSS|nR?i+b=Q@3co(EVjUE@V)OwAz2Pr@1=Fb3G(4IgdWs>M}oGL+5j!7-as6&KA?8 z$KFA-?l8))x{Ta!lvPeXi}Zc=DD3Kwn9q(VXpo{DV--?QZ5FFk`r(Yp;!Uf6_9C4A z{g=^p=v-PD)~Cy!3u1Kp(na@1x(BDQ?!+!^WK_i3Q{K`($X#5y_cR+bTF>ocIxHSc zr>Q11si}sp{##`?!fHghmwgo2!FU2IkVM!9H?#!q=Bt(f{f))5O?#nIO50f z!h8ch->MS3cPKutTtb)HyJ))Tp8ON-4CfZBdvS^mt*6rcF6q5u1cRcw%ct|8=~{K* zo$s*DBq#NVOlWayB`VkG-m%^r=z6IMN*<~Y`u8bX-598hwtSY{DblGMAx2!tG!HR9 zlaAq2KPwvl7L43q_aoNO3W;N$G+dk@T5RMvv&W zwCkxpSX8+B9N*Gz=UoQe(45p#UcX%je0`!h|CHvUy$fh!B|g0W0=hIwq;cy8v}>F} zKjo2(UawHU@h@7}?2B@*88pA)iHeqKi1IeVyMF&6Geo!Qjqyf7t69iyd{}w)eJE|I z{q-Ap%dT(KiRsApg-hx7c0c|5xH8D}0X_Ydy-9qk@0A$CddGU?#v^UZugJS-O2g9H z%DncKwlEwOq3S(0JVdiSmuXS6jhKa_==}S6nru|ZY2M4Gfv#+w)B1*MAxx7?0D;M@pG5cy|c83zz(RYY^C0ViTvGG>O(F? z#nes6@zwpBH{~_YctXR@+P}IhH~v=@BEQ|J^QAMY8aKt)`+A4&k3rOl7kY0kN76e3 z@d4jy|5}33daqU^#C;!E)_Flg&6q(L+SQed7$3rDC*df0g=TFczIL& zpAD#dW`$3_>uI@s5}g+=N4l>8%^K~Y{poNzO7pcJQWuGzW5o2RiIPJ6A3g)$&j0{! z2m|Z@0DQ1N69QcTN&o=>000000`H{&00000003kMR6=2MYh`oIz6r?FK;< zwVV$BTrn^d2hOm6iUMl=d(CwT>Ok+)4=AI30A_vW2QlsUFwIq{IBORNgn$)C?%W1o zD1Y!@b8;4@zVPYiZ9fW(S1!XZh1-BK`(gFquOAR!)*Lb4zFAW$3HxqowZ z0R8po{bxs|fQ(5uZ}egU?Yg+EFn1piY<p1E_X3qbrmZS+*t;GGs`dA_X>%ai8%4Hk{{(c#FRQkMJ^0)je8mICf$a2tm@0$M z$N2GJ$8j1^B2Q#vBRpX$_>yPNQ~YK*`gMP-ab5!e?8KyCO~m=&km7sbco%R$M z&)&Q2%f_$cjH@BqSSJz!VsR{9KzeWTd#ZUB$g%npdF4$&kL7*UC|3-VMDlRZv-iN9 zln@Bid=KQinzwHA#z68iF6uhvVI3?RF#om$q#0YdN>mpxu98PD|Mdh$`&GFI0w00C zLP#sO<1G*|{i#V?=7CgbuIO{$0pxnI`a3>&e|PUP?w$_>=7xjk7CDT8l1h2Jsiz#M z)y0LHydQyiRK79348OluZu~~fBOrG4Y4sXB0p_*or)lzdeisV|-4&yQRHGj57wu|m7Zd(kL>J}Q%976*8Y@LnG>()H0zjeIui)R zvlSZ}41g}LMRy1j2a-$FHnL0%h=A6KNE1aM{fNNpi9SHK8g}(2{sj8+XTpU?=rA*^r4CwAE>n|`d{ zlxdrD!9YGbWEEu<3gpRMxw`9FfIOdM(OGf^sN}rygjY|166P-5`|ku$znS~Xc4`4p zxK8-9M+M^DlRkg`VxZ?_ib)!Y1LfQr`O^)5UT*V-z5qpFtYgnE9FqeoFw;rYDga24 zj_q>00)dd3oL#Qm0;J1m*^kFEz`Vz^-sGAukkfev2kwpoVQjfU;Ocu|j5_u6AKC?! zsLXD*yI+7R^GnP4HUi8uwZ<|rh%cAIax2c%0E73_THSN~z~ro3e!8kqPdVaDP7{xW=@6IA#t3;nTaOx~jU$=bjJl_EX zj92gXb41)JHH(Pw0mk;qp7`)kpd^%<<#tN}lXvs{RCzeiyI9g%w_{yizplZ$9_zBa zig_r-8OT8vxgqfmAlns$*AH+5ZDgdi%I71H7W;n|us;IQ{o)>>o?0Nv4X2&6uwM;1 zCD&}ke=p*;EwHf!>TFE&<+vYMcbk9F4=Nzuj2f9uL?F&q>TsT34h+{fFS**+08zD% zW^LX8j0~eHzH`_=L_x^kstv$Q^)2C%-UxIJsc6ZnV4&?OaGSY;{J^$uRg0<=P}_8? z9=yB`WXO`E%{4WkHs7H3T_6!Jh?22FJ0PSyDG5gbpk02$%|Cl1ICx9zc~#b8P>{9|1wKG%<*hrBI@fglyr>HRUlSj-h(uVD*JnZx<6 zD(`^wsJOYqN*oy7h6U~Wu-;g`J~5O7f!zObOHH8csevo019<+gO0HVoK|J}L!yk9Y6Nqnp*VJXLfEYPtF)J1Z47C=o zV3y55aSiR!Xx@Q+dHHp%_%Wb`6a~gUKpgBBN-VVJ0P1h0vhC+1K#SXU@t+F;)SqXS zTYk19zqqQ@*`5I6YM|%`C3~PC<=NFYRX`UEW_5|#1N2Mp1`fVn2b9525dob(ARBc_ zi@W^z`6?|6d3gUjt)D0TE<)VD+F10|3aG>R+Iy`tVQQ0`+l|WGFeS2k&3@iQAXG)0 zlB1ph@xZzEVi@+h?Aj(74o?QA z5P6i@7I?IG1e_Y^jXivjhxKjEq**5k&XpCp8Af%Z~{N2^&C_0Ngn>H70P|EZlP z^L!6bpMPc7M|?nj9eZq0k2raT}%M0t;1L_Q=|?Uwn6dc(*(*YR2%P`1aW4y7TlaeT=8 zmu?0W?Xf|vlP*x2-z-PDQ8)4*U4HfUdZ6Ai)$+JCQTJ)SioFd${~bI(_PrL!t%rH4 zbMQGmS^99j8+mS7>fz$phd}IIxn0uY2N1q*^0f_kfwsZeSWlM|$OO)Hd0MDD&aK^) z8N`ltTJWv4Hy7x0n;O=CT?gcB;bn@0ADFe%2dA|=x2fhR!nCCsay4S&r4e%f+lX= zu0tJm^xGY39Q(hV*JDS+XCQyhCPnUH0Hg8}hvT(EAopsYweT?m(lkV};tPI$g~I2{ zD@kJ)79o94Ty{L;#|T}s2^kxRVW<=+Rxve+@b_9SI+TrJc|Qr%Z07?=TPTtV6tnn zQb3mq`YS6?0rWQ;B{EqDfyr)SG&L3rYaol&yjG#S`DT5m}eL;nN~ zKrDY*wL=T_ORdXjZ0Q3a-gv})Jw5^S8nFn6Bj^vd`q`e>UIS$0{EdY^C79^c{}Um9 z9vC-`l&%K20~s+XB4cv^c~?v)@VEo&*iAh7naE#fVrPV-c!1;?+ASjc8%W9cFIu-_ zfnpiRSZ7=g^knYcol?8eAAD7%ET({{)$LPF!g}i8edrTQIS}l%tJN(w0Ks*u|K*pX zK*eiLO#Hk6j2Xku=aOepUpyZ@*Mj)haUbag28%e(!H6ag+y!&#V-uJ`<=_-jHf|7|7#W?jP%>17liAfx{4W zW3p&N^1MCJAF8ZpKEU(6#N!Z97zV_iPuT%Ka)I%pXr+h<3x1#c0~>xTV8}{txbN`< z$dNaX-?It=lbknvaCsm09ek_gHpHLXa5Hc9S0Eoy+>Iv2*nel!Y~u_NfAwawF8lzJ zc3iEr$rQ+*X7iD^Yk?8CEg&{B8>k(eq(xN_>eBdc^*Sej8Fkl2&>VScv#T%5P1Ij^ zf66fa!(IM>zdol>H&zksp&O!r)K*jC*Kh#(-&+MkNvIo2il_g+)<9l&V#FUhgF2Kg zeWKj}m@JYd@qGt@czuU+Y2+R-U2o|pZ1@D^4E=asG8gLh#-heeX?PBqKg6#W0_}%T zX?z{(ovRD^k_yP%3%{>%l(hl*M0eg-{~^$3f+RC6O@KTi+1cjT4-6|yZn9z<-nZd` z>F-2f49^J)a`pk$m;Zcx2zBVDk6RvlJq7a954Ga(MxeJFefl1D7xmdnF*!*?APS5< zrBJ6ZdtOBs_n?l@H#rg}a2hB#nU&(%cwaIyNB?%+M7;X$ZRdx&O!)oD1FMXIxk|g} zvU@!+rV_Fr?N|j2)y1Flwdfa~IgeKxngKJ9xo>Vk6bPkesbBXdfRPpyapCuQAR>=e z2~Q*L95NpG#f9I0HJ)bFS%yAum)-TdM!)x4$0ZeLcVGYU z;YPpv`K!Wb(i#Zm>gyGf6+n`T0?HPZ$XmOPt8Lf_)a44BVsX@Wd7pUMZ6grh8`C~a zqCTr&nVwoXi@x`TT4u;RFa#XcZfeQFl*GNRZPt81-1e6L_4NkU*Z!qn5$Avu&oFo= zsRN9{B+=1I)a{;%-yU}0bIkfs!Sn44FyDt{m7g}p=YBJzqYLk2^?5ph{*K(X&A9Fe z^1oWuN~@*`VBWO#SY;)JdbXr-<_y+L_mLH>J*dlScZL2KMm}$lG*xC>1X4h|uPqXJ z$woX)OaOJp<**ZvI}?CBEM;@%yaMuU&BJ$(1o7*2SC3T%FbTAa*+p1yLklc@>DX6a zri4_}p8_qb@rRPX82Z580=DnBfI)$S55Bx>Bdl^a$eRRFJ%bHR{v` z7lUO%z&IvFx?HM3{@$|ei4$J;n=!UhZCCicYei~><9@`oH;Z1P=v(w&ryW{;0?2{% zDF=1r?^QqQj=H@B@~l$mp3qA`2J(_t-(z4ZQ>;yo>|&3H3QP zKhb#&P!WGT)}F`&%4v7JN97$L=BM9@C8BRTBC=E`a1eD&I{RSFgTVZlA8|Z)HJVv)#1A`vG%Po$^I_`bb0~P(5UB*xF{)x3L=!>0SXM-QKm>d>E#{Ij1J93v&&jrsz9Z zFaKZu#IUS~$L@l_a6ej9IUfq-+riP01_>bJ7xPK|jk>hB>)bA&e~uX+Vq67!eYulTO(QU_8TuwDVD2DPCpC7b8yK-M^p-8CD=SX2 zKW|F{vVe_RSA@^yn_x;%+6^Gqu~6-+-GNvW{&>Y#1H3Oy|Cwm?qlE_zIF6xy*`jr- zo18~n*OJaljzNEr>A0|v08ABCwkNgN*I#Wn4GN&%2v!>77mNhjU!&Li1<*&j{AM(+ zR)(n!P^(jZ5%Dd6U83p`;?9LRxk3qGdOlDcWW5B0{jpz85eoQxPn2x>hPc0#zyE9l zo|lB4g3lKgpxt}lV|L&z&YxBI^p z*xyzAf zXK$0)R5T z?RSZW*VSnM_p16UAm@}#ESZQma47IYB+Q#T@bQJ)HwetTS{hJ9yj2!{~Ahug%&0}(%}6U|ds zIsj=W9`T+33($R=l1?1M>wjbv+E&+#eN+?|o`(AUy2Ftq77D2Ifjex^qpsc(Y40Y7 zK7J_e?aS75pcX^jdEX;{33NEOlpg`YOi8$6QU{np@5>#Bhk^3&`!s1+2UDKLWjaQ9 zK1pm{J>ixxWl-0*dYc^LhRmf)dnh1|l$=|}G7VGFzm^|OJdVCqWWT7(G!Ub%nr%n$ z{!6VmKi&I*`7W4v%C}(d@mX2L33CSv8}X)Kyr0Wk;~&2_Kz@8KzTd$V`KUhjVUs`l zvc8$}0CS)>YaHp+eFC(|jdj}pu->-{I)F3w)$dR2ydR$cLwfbPEmxml&Y>G({R{Qh zafkFfn*;DX#Il^6&jI-|XuIi!Y9KB5ZZcBm2S$P@%iwC%1;M8d>V6Fe##d?!-vhjk zvmIqipV3bVg>oLbjptN({E=T0>b1{8D^Hr10V9MpTDk25Fb40YWjHAV$uvB@I!+kK zymEGK5hlHvWtu;Kj?>o@8u=nkA!Cdd}>M>zAYs}#ljy;j{#+*0yQB&Ajp!|RA4LaS3 zdXYsu;=mHnjk;FwXgvk`_5Q$SKg`GGDkYB}c?;B1ZNgA2<_;~}BQO2o$No2N(snEX z@}VNz=)FoH-Wy!G5Pvrf0vRL)K!QZt09^*^Bw5UPQaz98eEa zRU#^|zIsx}o(4Do)6OgX{f;Ogo#`9a$ZP>h0fRsm>_aar?^#9E$DTf=i3U^ z{QM5YViWh4b(lY^h|MhPv_+l&w(w8E7a-iHv&V)qVS@3rhv3CI#T$!xP5V_qJimW@ zyNfo^TU75h)Lp^*e##fN?kmvQ#P|f6qL^dOMV^R6pEW1lApBSy$eZfqZv82szkRqN zupV{yaCV4HGYe4F4t(yhsIPmRq+7Fk5dRCW$qLG1UoNM~Me+h&63+e9@&v{WI?KR+ zJ^)WZu)lY;UCF}XF~pVbjg1OkK(BZkefUBU=6(BTJbqmV#%%D@&a0^7R#7E9ZvU_! z_pY^jeI2O1yFLdbI0L!8Cfv`}3;oq@t;If^rxbKY$R}XkPsF&7x#II0-Z{m^I*fjE zh}oW(kYlNXc1xxboCie8M!5(C9pXv{6*Y(IP%o=VKXqf0+e}Lb^^`V za@#Lu%*UccVdn_e%Y=K%pOjCScZdz`_5F+2Q|~nd~Kt6q@ z_-!A~fx;b>sOzZT6rU$820sHz+y9y2j;)AKaaXl5|06V#vh_J|E^;(<)%ejx#Lc~2 zrJ}9C)QN6md|X05duT-V0^+H8cl0U)tm|EMF}B^Mz&vtige5=(byO|a-<&$^FSpx) zmFv-eoUp6U!u;_{K}$LIIhCKfiK)eoIn1SOZbkHk2@7|>e*J*?$x4$e{QFSvaY%*g zssjD|zZLbn@!b1ksezYx&b;Nml}sI=7a6TFWlhJv^j3WH;{fu5mbJh1W1#aH>qI$^ zVgB%l3h_oC8PZv0qqhq47!kM5SiFB}R@e58sJ9COUY>1n#Cb|&<@Yjn#H$ZCwcf`7 z{lK#urra-(PscPod%?E1egbvdrc{Sx8c6%6l1W}USl`K2@~T&Xdh)Q!_ynG_s(h#Umm%zL z>(#NBP(Mx-9Ul1QiGGMPQuaFfx&;ls@(a^I-MZ_#`cN0$c}iuHZ^<<~kV60db4H_D>e(cS3d*H)9tOzYOKS%_w_{`1=I=WYwZ-wcLT{-*nDd3ZOj>-=MOmG^@ga2tdK(; z_2y@9e^(38dm_1SrWRqIuCmSG8u|dwwuZQySTCYpI|qgq(MRfOM;^o+$p6(%J~hl? zima0i%5Xjtefdwe5zfQha`q(F;`|~m#4d%WAAOKq)bD+OIo#Q7wSj!hf%JJ~$xO`W zWp{M=*#Xsg`4{(U)CcRbjztvIV*P#&DlWmg?mk@oE`AY6ncnz|2OJYBbh|ozhOWHYz8Bv%jl=}zSG?F4RZj=r_Pml&JUYC ze&4VLy36XF=loD-gjggSiQfX+vWEqY?~$(~P82?lIuBG1*M+%)D9kg{BdmhmfoYQ> z;gNv+y28V;d(ABRy<_K`$aJjZSAXw|gaJM4Rj8f*J*XALZv3mVVb&;lsq=Mc#HLPG7a%TI6`7SIPAqMC)}4+%sJ6FW{_-xI-^h3qO755wEGBWpbph4h;C@sZ z{etE0c=fF+KzlAw`@!V}F#Oe9*B!#VtjT!8!8MgI(OXZ(an8X+?!xO8Nsc&|x)ZiH zc^@$1-Fw}Y(cgZaeyFfQ4Rg0Bb9*U6oUf^FIVP`$y1$9uzYu|Q>VcvaJJGN4P1614 zl9101{$t&{7w8Gqr?^jI4yMPqCG~G`zzoN+27W1E$-3wm^ z9sy-9j?WN%K?Qk0VV4ii({m0z+l=SR=KfP)EAm0U*1+B=VVJs1DVP|Z1EwU)7G@0M zfc$H(+x0fM`K5Dr*6(xlId{mqY(ZV_Ns$V8kIA8U8 z88uyqICf%R@8K2bul_AttiJ9DbVc94ciabodZ8@%v>)@aRh3DXWxaq=b*;C)7oWGJ zP*S`E*3m=P6z&m4m84?!ihwTs)-RwF(r zj$Z3HjC{KG<6)r*n5-KiTGv`*&a}^`vEUuzXY&W0NJC)mr)KDHTM&l|vcDPQxgRKO ztYnJ?GTmaUr!(%K6b7q_)eE3cjMWyxyqOfG9;DsI++1v*#V1S5JKwQ8pE-=V&aSk- z7A>_vn!AXl#33HA-#a46f;jZyWU>Xh8yF9=Z>;5c28^>mA3tfcL>y1C;n3O+4Dp!F z7y|$^Mg3jj8F84>SC{FoqmY09+$n#JI`ehqsNt$NK-kqEA}@W!oQ-uif%6vTx@o0? zb2x9=dwi#1I{K9NJ3a_?+2eCQbMgFLtgALJ>+QF3-n04hb9bj`ARo&c%q*a8`E==C zn$cgNjpgPx6)FJvV)vQooYi>$hFrGFHdsf8ynb#)zF1bLR>N`zD6f^kw+-u;@7BYY zt=T|KHBc9xBaU0dj1HZp0Zo&|Z(z_D=cC7pS@z+cMo#s1_p671nYQ&W*C5VseopLE zir;|#P3d&RNiOtPb-CLG8i0PgZ|7svlfX#ysnc#81iB{0Q>Ma>`a^(^wF3M4I>#Te zt%y^6;g^oBDTk@~hOa$Q=(EkTpIzFBeQr@I`v&LC^hh$sM-1m+%H=0N-a$X4B$~Q4 z2K!nTEY@tS2Wt8r=YuWiPxp!NNSwWeUnO>kT;2%OP473N>rt=iu1#|L*pGVz*Dv0d zumV!B=L?&!I*Z-q6{31!q-rXYWqY;iM4M%|liCCGQ902tL#61v|^ zfGM~|llA2%AaY986;|Wk)YsPBvR5a75ZUcDJ0l9T9bFf9y^x2=vCHrHQZXmuP*|OD zArR<#A8P8NvXQsqH4omyb3eayX7W7+G$%#FuU)9`IQ`hN_;F9AapqprMlC#t^E17t z@!SKy)JSzL0d=hEbiVOj)F*kTvS%-0PB5D!Z>x%X58q|PqV@xmpUYgyE(hyj=ROr; z3i&5RbN&GKukIq}RDmfl6={$@+Xd79X|e0Y(T9pHMn4P-!#x5nqnP!m54~8fxrrL% z98BcJT<>zAwyJK=%C&{5vFl0Gm5xB`5BgB)!P8Zy)ZGHb%kHe9&zOKwoS>d=$n^qw@W~O_73t^5958# z{MhwyD;;%^Z0fQTmbMoar+w6D|Z>G#WScg%U-^zS7ya|2zkq^}Gmn;a&q%sM;3iMW@$_nRCVgy(&;TRPqzzhel0V=PR81H7tGbdXIWc zLt5V*``2}9d8*4>)D5RsR=Sq}RWBs9Fl7%+4L!Z1ztPX$aQdJ!djrTWuF~e%cc?$* z+PXw*fE+!uF=Y$R1>Q=ID0<@ODH;4cGLHCljE%!%jTg>6sJF zX{R3YQd`>Xfgh+Rnt1Jp43G!4CcHFFcu_}vPqyGK0j8tZ_`Q-%_}m2zZq?t!=cA`H z7)${9oyTNLY9ZpZY}rLqC%mrjo62{JAijQ~b+OOlpZiy4!606r*ahxD)VFmm;gRjS zK#OIS{{15X^+~9Ssuup7n_eG>7xaK^k#D=ugZv=+(IL8LEifF110{=B2soJCZ-VRgf2#d8;?2u>*0yZXmb?>uDD=aDhh$_k1e=HkiBhPNx6Ib;Pa|0?Tqxc~5Nr7;BkPy!6H+o%7@>quZPhNa#I3H&2 zTllEajrE}@-Cf5bhT?dM>qyIIfM)k3GEb`xG*-C^=W;`(7t!*%F)wdme1{!0S?wQUCBk4CfNLGkgQyIL{kn zGkb>TAnj4z{~Gy3b$P}EnC=m|?Hlm>)j~Lb<)V&%ttju9 zEe8aPK=^(IHz1@d?!4o12Zoi?gJ&z{fiPu+Qw@#4bUx7}`~-7FWo3uyA2=tT`Lu@? zgZWkETzRVrp4X|vrCg4tK;4)K)Eq+Je?xoJjYl5+Vc}RCdkEH@AAgEU2GCjhHobZ* z3BqHe^KUk>a{)YVU&il;L$ zN6n^JXSH*pPmBm=3M`;r?h0u-dll$0R|xlLXQ1s==l*cw818j^^jL^OoGIF%?>AQo zjLhm3Ue;P5LUo?hoh zV;(ErdeRc{x88*JQzQBYrhq!klK6wXr1R@Ww(J$uSe+Y=g z6z*$xyHK~*S>|j^{9p44ie32CxnR_f(Vum*ugajlTkh;z@eqj9yE#>Hu09!R{`6xP z;)Ku}w~dQ!s2{Ip4L!gdW14RLC>Zx!G)(L@EqH*?z9}Ng*9?<(x%!rO@Oj4?HjZq< z{BkbxEl&o{Qw>;~L^Jh(W+2Vf?Z7_SvEM#GvjF#EHGVQf6=5@toD{TbGNpHty&BwUU$uk*bfPH@re!shkb>zz|)!sFXdf}+oF_^(~J|Dy4D-N`e zYrg6p;KKb0-)prSaZW`S+ZZmHjyT?TRr(j6%jLY_UPnQoRgCs*=d*xccMr0T)E)-L zg_^KRn^m|U@oM@02F!V)zx>*mi@fA(HZ{O(#_Nt_Q#S5`33|=wxW)(Er%=i|Jcao& zTTuOpjhIs|HC;0HS^x&?`u6lrF<`JCZmf+&J!Vz9C(X5>~2j=i@^u>4)%zYJIyX`e_p8Ug`wgY`f z$aC*ax{5gevUvZZBor7z2V4J@4Fi3soZZzPuk(G z4SIBqCZMl9oi6>;7|7dR1GSkgxW94zs;M>N(B`FlTE;lm`|ipO5qx-FGU~4FNkE7j zE!7TkV(!qbeRvf6hB4meKG6r0eOx=OC7faM{{BZ5FXnNcmY`pD3USeTZBlIu<{z0K zwz0cf0ud}A>UJIX#8_%ujU-Bd&aOA%Y_AQ|=00CFIdEIsjD4>Aup$tuV!> zKYe}f1yIEOEA8x_KsqULuBb!3QZ{_nST$vvb(FF}!+l6uO=n(q_Wi6ohYiIhzu>mb& z{{F|{8^G}JKbvQQdr5(srggW_Pj}|MdlP{AZNEY3nA~pE_Z^N^YN#XoDqkPFiFp!- znsDo9^a1@x1@9gUN1kH)!)qRo`+y<^UT4{m-(-tGSQYs!M18~zpL6=Gj^@fM==&E_ zr(R^D|6A+%dk*VpAAQC30K_|?e@uhqpUAHwxnfN0PoF&wYhQ7|RL)c7FPYpx#1~8j zbE^S)-?4Ly@*I_lT>*@_GE)Mtl7 zy4GS26Sx1UBb!xOMxD-c~qd_J<#eBrJ^sTOQ#QcRv{;sgKew>~HPNDeLdpxA)qI1`VfyNH8evpF*Fe;CODdHUpR<{w}pz4nQ+8S+A?- zhk3;F`QG|8pc4hhb}a9Lsi75JH>R-O50}l9JfPz|?~`vU&t9yDZVjz1IA5tceXiJj z7<0ClqPge7Fu&okICHia`|VxgFL|s-owR>>2Gu}liRbP9jW`tbR?><5$+jr(uex!`Jbmfe42Ny6Vr=kP7mSbNn6Y6R~UltJBx7hv!s57JWc9uB* z$iH~y?$K`CbIH2@gQ5eip8tC=?!ggL8jq#>(T{w{%5rIZguEMFy;P6;lx2q=HP4~{ zSYZ1zK9r3(`6?;mr87QfUGdKTw>a+;PzcsFK%FglY2r2J(HgA(>O3-l)ST*86hRzH zGN3qP(B}&9T&o$qguF7YI`9_j=}(#Bs_{>_XC6DEaf1c(O~r;t0#7d7vi`4lVi=uha39-@nVilj+$5xi62J&JZ~UcrU^vU)0akanDcGT z|CZ^q9i{^hWmQGq#XVTr3q>0+&keAPUEsoc5Vfv5w{r&Z_DPZEb8TR(-NIwVz+Bb- zpx!gnXFxZ&Jbp+z047sn-u=954TM7dQjUTG<`KNFTZIn+qhnu2*aG?o*1@IH83CZD zC>V*zVE!l?rFQTo`WT_gzo(kfx5g-6&lSfU!E=#XxpWfuBr=jj*8Ac)FYie{qKA8e zt#w*PILD#e79YcXHZaL)BMb#Unj^Aga+v{{K}XUzC5Mj&(}Q z?~uT}%-%k8)v1d>@7`pv@Zb9g2|s0XcH+Ec)w6HCJh(r@_^_hx%rr0#BzE+0{O7-{ zSNFY21e%q`Vd)DAxL+^0s#6Se{=JGq4HeC(W4*&Bq=GU3wr^ROz`8w{@o`kY8uwaX z`zwzlUcQj17_qj&{?jNJeZvcM2OqC}%9vkyc-t)BD28=cv4=<~2AaTBw~@+r>?=Y< zQwi(f#P|29mx_RvQs?_!ITD|5t@Ooy^lxgD-e)$}VO?K)Zj{^wlhNA~v*)p|?r$D% zx7>s8M;%xf`3dVLa<5);dlu#(s%6Im7J$rM=j5|~JJ$Q(bjMb-zi!sU+smtzj$l3{;~kfzx6uy|1m<}U(U(lg!5s+_9N%E z;C$v=fA7vG2Y}#vbz9^#KF>n?$uCn^aSwBETA%S8>dJOEa2*Ebm$5~SOeNemuX&n! zDhg;a`)C;ob+0Q=_z`ewN=aDyiQ2$+oc)AYGOBcCTv|v9o`V$67tc#DM%dXAW zp}yalt}ZB#`MdOZnEWo>pNbE*8WM)d5uS&aMKIS0y=8jhAL5(sYt!);n6uo7d9@=K z=RF3yNm&Ng-B?=Nm~0Q`Av_l%{z;-vQ@Or<-C^7_I8MB&dx&{FYX)&2{rk#Y^Cs49 z_`EOP;C9CQGf>PJ+Kf5Yq4!yu-pGU1a@KUbKB~6*k7bNH?vbB!dZC86zAl*JUr+t# zPx*4V|6uMN`Lk{}Ue6D!scP+1AU@^>cGytJ51zdj&T`_MOT^v!I}PV9oTcmI*GqEQ}`8Y7R{9H~dV(ujT z@wZ_<3-Y@_(yK=}hfX#t-md!$>r^8rf$b(xz8bOH-ym=I`u(VAMST9Y$QaPxLcX4( zwq{7CN*MuP-Sh>r)qi*PJj4krP`a8bo`sz`fmrSoZbIed0m`|$M5-%!YKdRXn zrsMaeJBmGOK%df+8+qdp&Ue^d-bmWu`8yun;QEFD2E+vj6a&uX-Bu`0U{3VNr7A9P z5&i59UHgA>K-d4cyW;@j?UAQ4=l=1)gz>0Iwt^n+cc{#Tz0Cyzr!HG!u)du;iQ-W%brKgl zEb8(3TtBXWdmH5M?uFEb>o|u$cF2C!XRNaqx#`K6H>tb#1?sIto{7!~uETkl<-XF= zH%UP3(=UWR6WlZ1s~GKt`1(LBO_T-uSdf>~^I<+v))m8t>%D;DaCNa`89<*doTt~T zi1^WeTO<(QkJNOvaCwG)jVmwpz&%qSmR_BYmzD=g=H1>0JHO$)|MBII`FNeFTFsri zPh(vSxINMuMV)J{%DMvI&(U0K>{Ld_y^f{T7g!LlqXpKv$v(q;@ykKk$LQ+_0q5J6 z%YitvE$g4(ZD9Vf=&9b0_**%(Sny;M>VdNF0xs8p6lh_F>70bA<#N7%KE~mD9hG}V z^!K5UeNvIEiO)eoG5@vQ0MM;PGv8*~0^>@nfEv3T?p3r#o=}>^d6l+AvgjE4yBo{a z@U!6gJ$lrcVgig6noTOnIG3CsiH%l4{-&JPthr`^b3qorZhT*e+@mjK7KixuaI@?` z0px$U!P#VmI!7WoVs$eG44R^d@<0u~7qb1p6q$!Q!{cK8H)kNqH*t=5qmPf-7PM0Y zuY+^I|9Jx946ux+=^@UKmE_6bK0TfBaaKlw znb|R*KZy9%5pC4>`6e(A+{jwRM4dk+(=w@R3rzW^g!h$H^hNg$AA5^9Rr#sSHdqSt zgOBI=wD7*g1H%VzI%EF%HmJ=>0OyW_rG55~fGBoX3g;g~Jo+=S7ck%2lJfZN68cZ2 z?(Ykg=9ovDFXLCi{uS5He!k`c=J=b3?U!MW*m3e5v^67Mfx#^5JA%*PX*?70=3-1_ z?4AqwKHZ_3{iU0M;K`m82t!?D-eq!lkcqlgZP~VR>=Uc%J70I<-09$}{)Mwo@%gIH z?YyuIh_!!neYRk}dDw=z>eM3Yvx;{jzp>xz_je47uS5N~{6*qE^l#@lQa1+IWA1nG z?@I3rI0xpc_ZL7s%8l~%Bbjd$^;3h~&!{r=JDWJq z4q%<`8XA9Ki2Sx!qs2=K=c%XmXBm0m-qzjt-#a_8{?3$Ht!>1da%7#EN%2*nWo*_3 zN33J>V)pVBtXJN3x@+-`w7O5=KucllXg^~*Lk1}-~WkCMjf;KTD|K&>JJM9gJhcKTFxo-H*4fC{|`_q_5kX$dgTwh{d zy}2mq-m_Dv^Qpk^|FDjlFM796;5^mexCdUN@A_4ct7GH_H21SF^y~c~{)e&6+vvhBzi%GoUkzKC*)6 zFxB@8_i;Xl&x*UDuQP2CC_-IY`$}|T#SP3Ae&5gYEk$3kkW)B?SVzxv)gm}mH&r0R4+>NTEJPi^Sy!x zyD%SH(Y9IS-5H?OeA#J23$4| zRy4<)YTtU9aeV(ne^f@r5&5XbBwDp+9;ldV%iljlab9nsu7Pt|N^kA62lu7%{DW0T zSaDwPD*x>b$1|8Srn}WJk;hM0jC1eA`dP|2B4&sA(cdX9slIuvuRxv85tsvLcGJDv zM}YEnUvKl@??<@g5m%*p6n&4#`VQ7^)Tx;rrKc>AuT_^BX=85jt?+ijGQ{i7&|%4) z$Tys-J)&ZdfV3T#?~XYEjB8TP4XQCf%X^x0@J}Vs64xeob-e{iCY4}s#40a3F{`+JAP(e9`0Lbtx)a2 z{UwF7Cx7{on0Jq>GWKF!x-Uhje!=|gt>R;au(Rk>Oxqrce+T02!-;5%A3#3iUD^FL z2YuNq(~Hb>#7mEv!?+(vJU?}$;}p)@23a13?`H$XI{Vjm!j*x!YEArxx?s$UB$LwW zJTcG9ijZJO-uc5;SfLsU)N89CvqtnqHGbOv&gt z0|h&CKNMgt-F7ta-!km08tu>%588pDWE;p8$&dN0;UlXw)WuDoEWMd1|%5`c^2FOR}3oo>8#r+0}N#%{75x312LN00rU|zW=d$wsC z&c$p-HO5iTYxy_y52J4H5jH>3cM|;(f%7BrZI01}5#|O-TtU#1RVvp6?%k zT5p+IndlGGn<`%rmY92Z?zB2B?uR*<_ttwmxq&h7DjfU|^B>!)$oRtdm}?Z*o?=J7 z<$G?rsO1e4>;_gAEV76L{L!^-$jhTmTZl(kcSlVvf9#S6B295PU-3OKq_UhlY7viq z-#y*Ly%HuT%D)Y&vf+EI{?)G|@&343jiU~Sz@!p;Kb^S}DE_{=ZcX%4K{uy&X$j!_ zh`$agzKjCmYWTGnbJUG@q$e&BbQELPRzFba?RZ_ z^beMke4*`_+kNFAC0a1YdRuzzzxPTfmQ;pJaG$2nE9>sKA&_;o4VhmjfVsVLgiWLt zexLVO8N7%4aru#l{=Qib%(Iu3kL9B-l+DvRunK+T{siu>{9xQyl1%R4sKI$6>-S#6 z9LztY4acf6ukPg7B=SxT`AgTzT<_q2`zqxuUy)Ck)Kr4hIh+qaW*It&dvk{)eBZpu z1^PFiJy)|R)St7Kd2ymJxhix;kZmb2)|+hFx4s|WPd(7Bu|pC2Ak^|)9nPWkrtI_Q zva!Ci1>Xi4;QL@(&yeou=kvWwZtLP4%A;pubL%WHrTD^jrO0D{NYn1b;rm{XYj3qg zBQNqiS{|!}`#3A~>WF8Vsag(PK;E(~_3XQb z{id1}tT%$XRh}*C4c6ej$TjPn|v~l8O6ZezuN9;>e?s2}=c))-dT;S^fF^a;)QN z(Mut(B$J!IhdmV>OYe?#*Vr|Qr|RBbQSu>!fm;un9Cp4p1e7j4HM1X z=W5b1SK9R0Dft%q_IU2hwfs153e-CgWQcPY#YdsaHmH+mVY;fK$TNbakK6Ozf%yHd z(r^Iv;FZjB_k0tqJI(u-4O1}>wyWv8QVx`vHXqLq{M?3=>*QPHlP?MtmN~Yl4>`W& z&F{eans6;`n!`Q%>|ME)4v16l0{-MApkF%Wv7@#J^Orm2jLKnrpFk#LVVfH2={@$+ zx5j{+GSpqVs16LLXm>YToZGeBqWgdxo*&<4!36Y8w1%zcxO0J~zw+f8Kwm{3apb#z ze%nNP>EV0i504<8HCJ&j;n=&9oHNKHQ-6N0#2keZ_7OU=4(mzL{6qZ`&T|viM$sL_ zfbp_gV?`wHxtTo>`RQW=jEXm--+8Q%cT!FWV!p(9X)7;Kk9tM(&Xtc(J@Ea+^BKkW zF-L4Tt=BBfj(ehI?0>8=ci&#9Q~Zu zqt70SA2gG}xyq}xB{BH>6awWrl@A{S%7*#)jI9{*PEqQ`gR%G?Nga39^Vi7B^`EM8 zU*leRd<|{SYQ&MBb3bLJ==@o>08`{qC~An2_Qc;m<09zqfVx^jb~vf1 z2qt9T&HOmE4Cu_YeS4Rs(2%fWsSjl7I{Xo6Ul9}0!_!W0pec`kYUT3YD z%^pL^n6;3fs|{Rr%An$5k+^k}`&$M|-s(h z@_g`XHqg3-7XL8?V3PgBcua&e>br|BXG_e0_(trYJ=eiKsl&Q5>z-k5ta>eO_jkl= z_sJ{^oF{~a{#r3phkm<9fw>a*f;vlHtQ13@409oF=7s~Y{>>^kk09jJ#h`on$;cCT z=Uh|n;O`+hXqfZ40exoWmAs#$hzHqsc3ae7|8Y8e{~(TY`?QaGVxE{!d%RTh6hSs?s5!o8Ch0bxin^#$yYRrO3ap>A zfA>h5;klE-Bi&e6Ew>a}NI77}ldYEl z06+R+2dVT*QT#bQv%IFRcM$*e{c+L-lg6^oO<%R+`xjXzy0i8;FO-cuC(aJ^lGE;E z&sxy`Tl4$4!WaW8t3@n&07iN8&i)?vJ~N&f$|_nq-n|8MwGWMq_4$jppND7$x3L`F+QB%@?xR7ML)Wshh` zNGJ*^Dndp|MI;#wqavK;95agl)&JrD+3&&s+4oVeUXF7<-s8Tn>$$`=aCLeqo<4EAZ0V zjM2~IU8vrUI8b%E^H3yorO|a)^tGYG_pW=262lOHzQAQ-`aEU0CeDz_Lh|U z73hnwe!TES81R?p8vaGljd*x1+dr_NtA*X=@}WZ)*eO!81UQ(zU#r()3jC4%`|m>h zd`Q(Q_E;{VYuDfUt$X%xT{APH&W9kyrD~NR<|7cj{U9VaR^pNf5xAKS-XE4 zfj1gvy$Xf?{^PJ??h5FOEyu32T?7yE>`X6mIEA`SKTCN<9if#94E)?21)d;qR7R{C zJ~YFQ83lhb;&kf#L?r5rXA>ivyur_3+u3BkK-^iQDm(pUgwU4HRf$R9o^}2jRODU^ z9eduvCKmT{#CU=Jn*_p=FElKAd<(d)-gpf2e@4sqe2wA9dRBfal-0H;OeA8JN#MY~ z*4F9ww$P{hdzV3{9a~yx+E98Pyus_(*FT5{t*0ND1iPXyMWlSZPaO5o6E@O*2GIHL zp662OAPm1p%9R@69|^g%Bk8;0S50I+^5iE}TJFv&>mEX}OESNHZ!h-E&o9dxI!CR! zop&VSZhy>cCl9Qn`e3P+;|bKy-)ruV)`Z_H^G6!|FN}pwThENu|IF69_V z`(a<>1MiQ~pwk>lNgOUf{`LO;eDyb+OSfhpy-n?yk2T$H&bkadnwne=UlBc}HKD{E zb!y-B+cgEZ66U2p(Sr)V$S7~r!E-OuQSa7x)A2lt(Azl%bB9Av7nvckep+NC_F4JW zo0p+O@yz6fH4$1;v`KgaaKbZg*Q-3>t0!wD_zgn{t$t?tN_NyEtRgw)yX6U`>0L@B zA8_uuD8C{;9m{JH~RazX7IxeSGb3w+Mo|4wdXx?2Jdv3^o>J&y~VE;+JA|#YDK@Nq2G=< z;Gi4Ec#FKN8Jq9)8~Zq`wS#RbVQp>??p6B+zgbBb*$906VKny2RrpR1Cif0K1n!oY zwRc7xjV|1MKitBIjM#5=-kuHKR)schPvnaetnXZca)fGE(0g=282oZ&UZ$5&4^X9D z-fZRs{KT^$`QFywc)E878otah8P5kwxWIH$qi@d5tqWt~se)!`rfLwy$nA5ejQ#-|B$ zLMf~K?ox{NSsA=n`$;GI%H`s?DJq2OHY(Y91^Xm=bVt|nebB*AnXK?X4FAEZQvYdj z!t^B{IZP2hN**%VS_06=GSqNr_9bC_8e3^n4L%l@D}QSib;~8Psck&qzw24${>yQH z>_Ya~7`735ftBwW;~cF2dhY;ZylK z|E?)PyyiM$sJaMwZ2c?y!EDs0Qn~Y0wt=_r`P;E<7kH2yFELPw!2bFudCCA^{6GEh z|NZ}eoKN}R`u$sh|IX2W=it9{@c-i;gpkdr`SQdc+u4$@dBuLInF}{RQ5@(|Azh@C@*t+;&_?0Ms{0(yN zo5)gIA4G@i|}xhPB( z^Sj4T%m^*-+LGrA#)RpS=bGaJ9KF_eY6AU7qbEiciXVYzs+o*FjE^VG`L!mmT7e^l zqiUoCQHKf+?G)-n-{2m`#d|7hgmUn0ocdz$Tfq~ym3wy+<}udawWpvbeOLbBJ1`9V zw8rSuL?dCk#gV0)*MYANP3XZ7$KW3tnx&!s+$oWI?`b??RV zf~#5AI?+cs_<(Hza5&fHbvtjvH)i^JSG+86%B4v5k*_;3pYL6mLjHC_`>MvbLI%DJ zc9-G2OTZcIX*CtbFA2q1UuWZ1M?zQTyU70vJ~i{Ht*4T!2wiuNgO>$xiRrjXRu>2Q zJuNalEi1^Va==tm#uV^b^k$nsHweu^QcF&DHyLwp?D1DaoycyP{n&o!bi-<&7EA<@ z(aguOid#{?4T?Y8QV-rADjcXaiFMmwv_5opCHf7%?K$rQ9o5}UM(lG8VFohkZ58k{ zyTu3Z2$&(XsozX$nqwZ3=`eAJVKJV)5q~?6+vFYli$HSxv^ZIY6aAEj;hHCsH-}e#v zyHx>lT>|if#aNmsfOiQC@0QtwzyFB0=)1S7@J&W`9^c1}Ih@C?Pt{=_M(={qyT7Bz zFbAtO;)yPy-J3Yhfj(vPlH^9}1(s-b22fH0-icPxaTi1Jgl z{EM|Vp>;hs(K(BAq<)h3_(ULlWyEZ|6#U^|tQ^0_BEGCLJ)vU@U#p_d{^h3k;hP%r zIG%is(5}A8h*E`48}Mx11u=Fqc8*FK`*;@ z($auEn~b#C>DOE@z+4ipb9cR{EIV+xAQ(=-(ou--UGie5=%YKgpsRg;N-Nq5eWX}o_r${`gj(Wi*Siint8>y#9;@Bx<9^=m zr~DOj9K@bK)P;^(r_1_XNF#JXo?NDK8KI86>VMOTxuF-825-pWbEGmFuC+ad?xlJz z>;dBW=J~F!Lx{sut7UtRLVwWTZMSjW7W0<)Q%z_uF}Lo#m(wnsC+)HQ6ou=!cg7LY z5vbEmo>(>#4PRqt{Xotd4ni%|+HdyHf1$^5F0!{Q@P!B%LM8>G}@#w_{7#uKQ^ug@X+}***mBkc-4N^*GS@2g?IjonkM}N3@K;At1B9yJ_R-Vs??$7<|wF>l;gQ|UE zBFG0@vqYv&qJDhUTvcypailf=JzzhYtLLw+mtvy^e}N4}v}|E86BL_n|qS!T09 zj*R?{tZ9Z{ffib({3_J|^B$a4uGXQ>bV)w+i=PtuHJZ<~E`lzQGoYp2i8;#SZtp@c zFPO%-zfus2W>xIu8s5KVj&hktW4;`el*`rJK^_O@6l&G zg!!4TWcE2D4;1D-_&O|u`CZ!-5fD)umkI0Yc&!oE`Yj1!Lq1Bc+Rx7UxQ2e z3Ejn}-1fyGLh=8&?S(-*bSmyZ#S`H3a|RJoTY3mP&2`l?6J78M)JFC_^D_Fp*A zujU=#eW)9KgC##)tD!I0MW=6Jp*~<0CMH=19Y~fZ*5xSjQDY#x_eJy{I*F96NY?MbB5f;5eEE# zTzu+9xQE-G&Wmq>jz=|pFW>@RU!N1BND+m89=(cWycEft#q$&Ub`)pX#H$ z=mud*Gze!<@%b*p^Di+cXSA!9cH-z(LemkA|LrLa9mnoAmnih?)u#S62Z!NzINPC; zgx`zQPc6&hfi8BI)8r%ao5YZ*U=sZ4<`s9R^bo&owJm&&aSqRLmd9qvqORUj7VgnN z=)S5`Uo{q^?x}uL(zlh+7F=GC8!m)7+TL6WM$1k%1Mf7uxP1f; z4K{kLm8p*dz2)at`upRFWg7a$XXm58Nb8bGiq-wwqclK9?8`jHZS-=yOleRGWEQ&Pmb&B=6yKOrnH zeZ#t>B*Jpt-mh_gfH3PPh2Bm5MP2oey@Z1spsEZ4Hi-yk65IQURG8Ok+;r5n4LT-e$MR$_6%?@*J z_}xCvxf04n{X+JA$oGp!a(K-PP#?=I_c@Mw(0!jlYcbRTJ;!go(S8YkGslA^buG|m zW*i=Tl^_i9lo?y-@$h}TbUTIDd#;t+{RVif`pKN#-~-I#uwL)z=Zo(pP;(8)#=L9A zhX=KfZbbazFgx`d`0~-l+xmf1@H>yFgbY(r7j#r4(U29eS6ow;O$1W$Rw4puW!DmR~ZC{jrMw z_HbMX^}zV#FFv?G7T3qET;x$NQFYoTw2{zcBlq@VE(_IpoP3@4KO27Z?`>5oT~@8O zsJ3dB0|&YfD3$9d_J`4HrOB)ga|4ren91e5{Y#p@7)UP(63_(lUjOV z4hKA^bNBLMfV&WIVDq5+Ue9oOW#j6KIkA+@3!bzuQU^d3l+d7UYzSodUFk+Z}d}HmJPQW(MnHz zC)ZSzi>_XnE9&o-6gf)4?|*mjIWA)E`meh1T4-G60cn>kp=?{E#IbW3#Fy(jc-~Tpk4_gF%Fy+{6JIvA3VlaE zJS!EX>UV7@p>RIwEi-VitKk zkIdmNqfys>zWmW}aQRw<^kd92Qi|aFGJq(BeI)Q5Y*cF)GMBD zd(E`j{n{oae|g^`=Hs8T9R{K2pC^P*U*0{7!whqo4krRg@y*MDAsm9(t+1(1>m|Lx zb=7Wj$EYi=_mR9^t)uMo5@-*@Ri=%0_cWcP5rHzv+(QEnlg(4Cs)9vg{M^UL00IMS z>d7p8PPBZ(qL2DQm`Ih4D{0nf&8O3(6^Vv|(q%es+<*(LEaW{+V;_jpE6!Hh?NQax zX&f87v1`Rx@_0$O&Fj%!A|;Ku3lXVc&$%X0z5f(8HY;G;d5hp{4T^^k$MR75->AC) zik(l{U1cl*-p`#tzY(v^i5ifsR-m71;wPIM;ZeW;R-G>(bNDOhQS)%5bcHyeK$faF}< zJD3kWFzp*}vz4y0)1kB)wOgegJ$sqjSm%f4r|>HIqv*0 zXm>{MSG*f02D%YJ8{vQVbsHb`$u!W|^wN&uq>zR*gS3ST@=k0JPMK=hk?KsgFh|{L}=>^ zCs=Xb(FTA+42E`ZRiwF`;Fdpdnm+0mIk>z1j1)6;gJJe3(GHrda+oRKg5LCZ_MbIBDN%OpJ_}C5&-n+Fi+80fq ziICXjB5B~AJ(;2oN(M@pY58&zi(lcPvxFQ$&h@xAMsGK&oI?b^KIS;gpSzh5!Nac^ zd?7U8{fLHJHsJUf_VM>76pzrSx#OSG!pHWw`|qx)+duOAT+h;}B6(cbAi6j%hy!4U zKZj^mj*a{1A?*uhXu@|6_Tv(bgKlrCJD9rb-5**jr@<$n3&YZfa@%4_oJBUyzk_*> zbdnS{LVS9|^3j-L3oYTVlFzXmf~(2O=e`%tM4G5i}HAo z?UskY8y4rcnnhJ^mmKY+kKHb)1NRN<$5_G-5FJ-L?Fam%T22M&us2LF)oTjz%5DdW z9i+bwI%PkQ#(7W{)8XX3jeM-K^;JTUcQ<${F7(0z|`?KXcK@0kp6&cO+ zm5$evz^IlP--pMER)_I=znTL3Ct7R=WcK5?^j}M_$r5Ehe3NTO(Z{#A-^AF^cRthk zwEd#wu4`xW>0%LFz4_1j7dZQ6=|1V*@Kt!ZbZA7>W{1mWS9lc16IFP3Z|KZ z^6QoIJliwHLxiZnOTTgA>7(a2HhjrS01AA>4ia(5)0Zpca-lC-x6N3;U3VAnJ*QYQG`ZY>hU3W z1Z(9qK2ubkiiqNxOYM|z2~B=jAI(>FuwdzJS8W+=Z^DO4g4^S%#m^%4h0dP1k>KT~@X=jtO*2yfFmXo&Ngl4xe1M z6bIE$*QKedZAx6dx@`5BRa^IKTlg3GiEAsm-<4~-$6tRKbo?2$CW3@l($KxJtQeNA z@uGOMKT<1i^&bX_uWayNS;YI7=e(XjX^uJTT?>MX__=OdPB?lUICQLpYy%1h7A=A!5d4jUUEvu`JL;gM$> zP51t!i-_>>bkdvQ7d2loAYX*YJ(KCoGS`^#?S9~LQS<$!gsfhzh=(xEE+&|h%W`U# zkX97QbhzJ`H@cx!_w#M8h>C*uFTM+?R6X^q>$59F;@>xQUf(7| z(4Rh1q;J}JFVj||Vsk&H+svvf|7mN2i=sjzhX3eS`*P!ldww51#=Wi$-`}M~@UgFX zvCM`11)o^Nwy!oF>U5g<`GyrY1n5XRRw=AT+#p}O-dbr3R z^sY8!FLWWz0r&&s5qeI<<2`bNmPYCA-%@{`UoNv#IOxXd0)zHOoj;y2^ZBDR4MPomTJ4?VDDKZWs$ojCnR6LiB;ze2I$ zY>Rv6%OMP)Guq0*bIkZ6_Qp=Au;J|`^7oFU?NZN;@*|8&oC{&Z>1W!#*lPFt-0PS$ zRsFtn#<7KXZl}S=&M(pf+are1Mgk{yr;rwZT!gt$p*n_k@WAUC5oU~`0XLudd$o!l z6n%ec?ZsT?8*&$`h`n}FBSFi?axERjW$np^AB^-_<H-Slo2 zyOb2IdKd^uU*uekYq;UuF_q375#`>pJ`h6CeI&56e7g0}0XdK`x>=y6>B_H`a%z38 zvGCu^&#oFj>toH>M#t*jNqSuJ6a71&W>l1XwiSB1G68RE<@zV9 z#k9T%ek5g9q7~(~7)FlTVVmONH2!IF+myh%XjtiF)2w9}v!9Wpi=??1YQFG~OncF#JWq)^ZtJ#q zZ~=N_SbXid1U2SpZMXEwpWldQE-+0u*;uSPh&H55xX{j(lWhTmlwgciCU72Y*K=_dZ7*J+8jcTnBB#r|sStH?^l zvL}J@RA}wZ!kr#UR<3#Dd8u%ndtjXb`7onE?M);-#y9_clHG-}!bB9GlU}FMjM6i4 zj@iFm^Mh}thiH~-8b0|;xCvQ} zx>$(Ao0>{B$1gfw3`-8&rLCJm?=5Sm^1@aK;K7}+s;^~&iJ?CKI(2Ga#vdM?-2O7$ z-_gi_J*8w37D+k{N_iBO^!&fYl(_2$XN@wMY5spM)RcUZ30xh(uBEz;$49F9V1hQe z%GmC1yjef@M6kRdWqVj{d7|F6CbIdt&*odb>HW>{EWE?BrJu_#SCYg5)0@Eu z(Q(wDS_ zshx|*K|E?@5yqH>U0(7vg<>W9(83S3JW9@IEN8oUU1_p5Z{lQ0dBR)$m+dJBvDZ!B zhot`OME~*nR%ixlsw?fY&1PlP?f2c=_UUlxy?nR=p`e9Yuaa)C6};8#uk%XT8uhpz z&mG=_k-lG;5GChfce-Jofy~*ZrI7Vv~BTofy3bsn^bb}ywtK- zfh^7%N;`+PlnA#n9e!&*cCeKz%?9nYqkFnd+0)-0a?*SH_D{A?aYXdU{npZU$}tbT zZq{gj@mRc$+x5(>ub@bB&>4GWYf?`h#Ch1H>AOr@QCAi=sW_be+}b{*?tAx!SW4!S zO&9XnL)(H8uID+aVKwrN{~ofqe!x-qAASLzyq)$hB1^dP@pz_BJe|`UH6VXsWQ-?y zj|NYDk5Fj_s?g0;mERy4;Bvs%{}vSb~?XFyr%W< zx583TVnOM9xS>MP{`~L$@Drodhw%PimTz3HM41KZ!yid+qi6O-$`7KxK0>`YV&46J zgGZ0FPz0Vi3Vm!Mbo5Ky5(IKw-3UKX3yJ68cjEf>JZAnB6F9vfJ6@l#yh|Ot=JCO> z@X5U)r$>~_deYnn<~zvGc62&=2Y{}kW?#Kdg>oc%Yo zavjSKgpIsTyb017m~X{tGOBmAnmvGUY<&s*Zks@5`!jrL;5aqYla*5VW4P{eSbJw? zzr^Yv-Dict=~^z4wK6-CB&9{V*>N2<>}a8bL`cmaX8|ehovBNwS2|WUgW~13pXwzH zJ>?)x88$dIAJ8yCnufbSJ{=2E1hS?t%=ZnuSSJ2)^Dxs%zE-C6jr!sDzJ|_800etw zQ8EyR;i~2?5gWt|zzbDl08qK=-?g7Ls~-yt4-4GcwKU_mTwvr?kcpTSxN!Uwmfsp+ zeig<9kK^29nCEu9@|UPz^gCFKW`8p^rMRuO{*bdV+`@Z*w?U21It=O~umdhA<_0u1 zvqpmob1nWD39c*Rv;7{37(30{&l%is1uD$#JdVAnzC_Hi?29=Rr8ZqT)a9e@&Qn=0 z_c8K^_V5Ii4z;^&#=d7C()Ha%)H;5BsV;_f<$A?Z@wX^ZA*e8pxU3^c)L-AfXlEy^ z{hw(ZH#h6oKN3$u!@^LpDa4ZZ!z{q(#DO=2i?I}q>yMMML(Ir{%d^-q=Xlz)@Y(dx zPBWio=kIijC(KLnl915NcWSe;*70dRhYP(<+w8C#niHnGx8|nIHQR zbPXdqo&VmEJz{vlE{`E|zBkLZ%@`^6Rxj-q-)*8ucVlCDGvAgmOLAtYtxfhMNzkbJ9h?wyOA7$sGfU^8L9k~^;`AuzDBl4ctnedAOc^^7D6_Njo184ew zIB<+k_5Uvi?t*#1^Wgt43-0uPSa5^N|CL{cm^=)wi%^0$>iO#k2AKkeJnJifC8QN477@y6yU)Sz4R~w1sJ-_125#MhxDU5wTSrW+GB67ZSZs5C2f7p(!kyA00$Kp&^t z5)ImW<&rTVWLdc2VuYrxiX-0(UehWLRjlwKSZNim8WRLRu@V>+_%s(YjY5v`Rvf(m z`^N}3B_?}V<{@?AcEM_+q^rB<;rM%t=bKI?FXRY<98vXTRrgdK3y&|nKk9y zeV@%|)2RJL|+221t1It)2)zaD(uj%zX0k zBm?T7KVZrw_#v44WZ``2Fpv(?y^2AYR`B6kO?OM}#u8M4D;)&I&`{w(SQxXHtkora z%U@mD_vV)6J;ibwVBZMi`WNb=J&%@{a8zwh>;0)poXWT^`4bKRp#A0_zlL-RLzP6)W6x9w z-H#|8&Qva3PlU6QgnY$tu6#uZ$+HhLnF~LbDy_9i_;OI?8wi$F zx==bb#7B(-Fr}n-EIrY5TFZXGQ5uP!hcA3CuEZTG>XNCH0Pw|#`~3~J{Rbhh?XhZb0(~P`fZ5*I!#=-~`zZFNR zH}~v*%a$#NU{xA6J!osPXuSG)2L5^uJz>m84h;DI7#vxvW>oLtB4N&oSyuG|%gh zC{vmIEy6PoDD7%{D=%0+oQ!M!k~)i3NcQrHYh+e+tXB{C_3~Fq_z!$lfGg*EOID@b zr+ZrDED8dNMGSDahDeZ@V&&jYq zM{lDY$uh5gL)%FVW7=ZKroVGhLky?%2pI*#D1xTzyO?pKT-#-n{%M4Xa3;dL@}nQu zQQCnH?YDXyrPG1w#KHgpNF?%Bzh`>HL8W6*)U=~Z0Kx^wZP(p#p5~V9D?=s3YxV@L z$aibJ$qv^HX`4`!!bDjgiP1Ml;o}rfoZ;a!L3UzRmpoXPTN;@-_@x%`zcUD13NRAK z$dT86Wi}WVAR2dnLz3QPVl{HK+jFZ1^q{Ogau4YBT948y8PqS?abh{=c=lJV0>+OO zg``%~k5f_42*jg$A=URP1%&E(=$dn1ssXG!?-9HrcXUP_*)wwA0}i0(4{#tHTh&RI zY*nnnoh=G`xfsxsoy92wldlP*05*hl0hb;2ote`K?ntIG#wf(`qnnUjSz>(4iXB|- zjQXE!(R&8;y{$$71N!>IiL6^1J@qA1Y6 zGA~bwFj&a-W|g<2J&x(?Ykn*1?qc#sdzR!v%LugdFMX}%)@G34TtFM`D;n7TzFky0 zh`oQeP6KSYoFyZW`9v#w_hDR^V-4MuRiOqr7aGtew8tkNzE16L-C;K0x4T(0V6})R z%$f?acsXK96jF7INsqLg>RO^*bD|8IL@w1BU1F1Io#eEf4oj@Tt$iZ6uJFsUtPD&& zAlV38PD>MM^1k7@_KmYz^(A}m3)j~(HQ{z!r%mJO^r6yN3qIL{- zL)oHuiM<;U)rGIzDZ?rpnr39bpYvjbJS=;^Z#T3pZGJ_&NfSy}f8PM{w^%)>ZO2F$ zaoxqTP;G?zaWa`DpPcIOL&oG8GHgJB6HN8qR zEhCz!P#1%<)PX~Bz5JwXBPk~Hnjiwk!ZRjKc%)c2+dJB9ZvIyP<&F4&_-WK;Gb;OvwuCW3004GJ9ncqh~D|)AAK%T#Hq(Q4E5n00d1iqe~zi| zg%zg_)mr2#7g^q1^|kCT%J3to``0iQ98H?3{UEegFKYXK1X|?s(2QL9J}5EAWLsTO0`SjtZf6Nv%2~1;LHBjk5q=>Ua3n)+SUU(!b_Dnpq&|6WMl&~Z#)`{U7 zU6L?oE=7mirF2uii=x!o9R}~hczdPDzZ-p8DTrb zd&j|n7`b?=dMaV4h+Wq1l1kHsuD$8u8@z(=72PQ{Y?X-iHgeV$H1%%_J#&5{+ey+qA2!##lOKM% zHfc7*a5l;5RlhqMf3!!-1gn8cwmMx8_~U9H2XpptpD;tq#Ijyeb9w|PUNoCI`8R-0 zcDl2|9=*`_n7&);g%pi;UHm0vb+Vyc)LKD)W(k_m5D+>~qX?y3{9ZBHvUP`P^3P>> zaJUt>w7nVlRKsHWscX)qh2ag z_mMK-)49h}ee*}FGJgfxAQV?2+O97=Tw_9*op&F@SmE3PpDIbm4mWo$_WI0+MEM68 zssW}f6wWIx`9q3CiW$Gjw&vR|$G{jz~ihjiTZ zQg!wO^H1b)@Vw=~W7eN}tJOE8b1GRcFH-`U(TsaW+b0?vi071xsJe!LHlN*QQFvE- zx*3R)j|p62U)6yGF&9~IcDk5JQ>WCdx{E#Fb*M#lm^D|L z;xv1fYr!56nwCe8HkRA&dnfR^t0kOJ({SAID1c;S##|7o9=8`{%h{~t zly%}Ei^|Orr>3e3*^84Xy3oyu=&(^up-G9b+56$DiD`xMSwv!8g`H@bFI0@Y@s@Hhh@75KB*rn=+M~tlf0Gu@aag7F`=| z=dG|K=dIyU^4W2CPW$yW4@^*3Yb9&W8=!5~*b~#8;u^3|q~I6)eF!T&ylBREqhlX) zk(A^X0e<1+E(083`Nd&&t(1EBRY;z#g4__y8N5ccm0*&W4z<%Mlof6k)R=omrY}}* zZ!ZD#Ak$x&`x;30uLy_XQAxl_A^<*ZtAGS`RlbWR4HJL_SfN1xQB9yX6|$B+DsDmE zlSWZVt2B~PVnt|sawW#PC)vNRAfbzwu*ChSLG}Aci_b-RC`|I)M+wk>jR$3dTS_@3 z+=ow}EghZfjPgE(9=HsG$B~rDEcJwJW8{SCTYnc30 zNQ|J+B0G!9Xgx4X!^ z+{eX4`-g)L1>G$j!sh8Z-RlMg-xV*tcViZb@#7N~Y>Cj?*+iNdSndK4(+sVl9BD2< z1bTks8Tjbcg=V_|gnf6j!ZuvmFgxN&%8`rS5sgh4VUn#vUGSo}n&qYu63@yM-7IC% z_gZbT#>$7?^4lJQ$oqju^1g?8(R*GNEMwm*uOe7AP(74^_MpaqwrgfC=xqxq>IerySJx>KKj@R*oIlbD{I8l2O zgrQ*T$K>>J6|NcjSqY6;O5kYQ-2*jTa|Zw6gr(*Klk-=Mi}rz`FdQ zmJl4GRo`-aOGfD^T(87=<=1+*Tyo~gYXjMpr<{-hZBEZF9}Yy$J;ne%MZ-Di!7|w1 zuegO$ECa$5hJt*5L_gIlm7+Q#62ob^w^in&*&F9^qT{`@D3X?TRPIlB2PN1_%M4OW zoayC-J^b3Fc$`4i3qVlaz%UbfXF`@Yd}$&YLycq`YwBb`SQKUI{bF{FY)sRF&<7p*lR0)46WT=NTx*0jEvD91$CGXDLs zUPdeCG1yW=6ldE5L$BFcem1|pLU7B@+-jQ6-0Nc(BHo{#peM-PkpUk((B>@0m9;D} ze6sOD8vkdJk-B%ZOe71*Lojlr^R?B6I?(Whu>-&Pis56@kV_btIxJ70YKw=5S^V*H zl4gY?kk<)zLSg2T7C`8_t9u)bzGma?NGsuj7rq?YbCBvyPl8 zLROi!mI9)0)x$UZq!rn}mURkcL zF)V(_r(5{NS_6#q;Xn=8{8=ur5JJz3ZkOG-(j|T9dPG-G$?+=UaGq^*yUAlHhX)1u)rPLVWv#V;no`!CaD-Imk*!k}!5@52( zUx^rtCS->P3_`Y61HDI=J;9c(pP~qt*4 zyljSO?9Dpd|9UkLy7d6=KdqD<7FvSx><;Y$I3N9It05JNUrrq#Q-d+tQz8mSj|1o7 zwSR3a^1_77eFbo(*qJxFg-Wlj7#j?Oet$sSJmI28*VW3Qq}2DyLhDSlq`dCA{tm7O zQ2)3H`oN}`=*LF5uTGhnhT*><|Cnp?@ly9r>8Bhg@AvneOHt;1L)6s>JyP5}D*>>h zI&=D$xyEGHo1tEIZ2##?&NWMTpECNL?**`p2}h~a$DxW-6?nA2-L=Ok3BZN^Y8Y?( zUr+5S^<{0UxAtYKxxUBhqVCa#v=GO@>G!fQ%9Um>XFRA-?Yp4_RDOOj5aD}Q>W3My zlJlBAvf~WaO`5yMI}X`nudgrTs}6=1#-r*@5yiR{L#p|%4TpaL{olGD zZyWD+4rY86fFwQGE1Nsh`RX?s;SIHs+0Cxvs#%XoWf1frEqyr%-{C{MX44@$o{M^o z9^lhd`=2V`#++73{#qvo4aC_OSGBN5W`pGv^tI~EEXYV-f08MH*J^E8WhM;4mub|l zRp+2rV{*cJwH{)M?CiuX9PTdAO(k;~ScXf~RD<>_etgt<=9H&Q&fMW@E|@8pveD3o zsEu8E_QCAIGraNigZ^;C{)383eD-~foTaz}V0EOU`PUB$6`cI0`y(EIhUiHDsA6c5 zv)!6T18u>Uy;A!w>nw%2)G%w8yp01(+uN;;JYc88WRzw7Hog}0oCUh~42VwdHAE2w zt8Jt~ufWBWc{)T(k3nHWDtug@CUblzxo6VnBD{87P`@~Wr+KfTBWSWbX}PMz#I~UHLu73i89RvG%4Le=u!=pmaa@4x)$qLl$Qw^Ql1F~EsNq(#(?${ z%0Ek=fdqyu-59_;eU@bCk%9FSQ10Zwtl53UTQeA{!@g zY7Wpp%?I0lkv?VfTnIXDrcC&Lk%mt@w#iD)Wx?lL#1^S#+YA4<@M~RIt{<-GutQhd zSGo8jXUeFv2{elBD;{<=tFr`Aw+majrSl|b80D&+J$O8z`) zT>Vy7t8Dr8x7@xV%tJu8Fg-i~B_UsC<9mvIQf$YZU-zj|9fjjY4$2#3t)-Z~SWFkeJHGq?`@oR}%-l2YuDVFAViAll zwI(g)@bHN?r^>3|(Zs3o)R%DHsnh?=v`$uJ0Eo^g8I-5MR@u}igeAaRkOm2gD!4A8 zF*t@=k5va7IGvS&x^}|P`-Jtbl^Ap`Av^iuAoPmlkM|DhC}$)`X~B(wvXiQ$c+x~O z2ZH^QfKN%2JsmZ3C*^&+q1NcSVsq_SVa0kbzmN*bfX-y&Nmkfz6I0kHgjrX(Lffg;wn_(XFKu(SQWj_EYS%}ODx-djjra>TWG(#g5}Hz^aDV>K zKXz(x(u8E$S0UA`-P;CjiqvSXpHbJE?iEok_-0;skI}Hho$I`pNinQnfn=?IFu4L( zGyA82JQl??EMx=aCwhbp2Cb{UbCB|Ql&zvFcU@LyG zA?&0V6B+@>PHd1tFsI4KI3X2{GQfJ~D|!>63g^mTEYK58vtHM}{s8XtX>!CNy<@TKY$_CL1`rlSbY8h6P8iec zDQFRo7)(8uyg4zJGUfi3&@Em$ZkHE8Dz9Te*>K!i^5Iz_AO*L}hB}mPW*1i|&VnA3 z$^!*AwvL4U$ZWiH0U+)@7uaZPZ)PAVYG&3RTL?q4#{%2>B(_@Pt85zjgGTx6kr2`T z_ySRt$X9eGWqLrWrk4tbv=TdNny0Kq;(q3xL86-vW`e!H5m-4spcYOjcDVos8H<_p zozI@iKXSZQOY=ivsMH_BLWU>_O=@Yo+Tg;W_C=(Xu5t>0pjtGk;~y{u7CIgmT;5k& z`{Xy=f6Rr+{M=_Nqxy!$bheoC)LZ1b?n%%a)-jxAkt&2wKQe!8VccbpxU4pEW|X5%QQaTEzR{}mdD)zZ3r%uLCYRx_RI^M4a^f-CN+WMkP!-#JdGHLQo@#V zS~lNa-wOf~TYA&z5H^&IFbnUzjYe{Z^Ud}2F{UX2^?$lf5*UE-v^?RCb!RCJEkKW^ zd4%B!G~lP*Si1V;>zieWCjG4DVRqigmf3|p7q16p>nc+s1BxOh?I{cp?1S?wMT8QZ zROQf!qQQlsQHYk-Nu`=N;8CN|tjnKYf)kBd0F#)bEP(?_c<>`veeA?}lmFx8nrfCz z$l3FJxWXAnX{ew?8Ege(=2WE)cWv<%BQQ6}f{i8?2og)@^R3{pMeRcW`uM}p1v-T3 zI~d6WqCvVbE#RXuxu5k<*;FfAGdKJ63ahi(NHoUfIm>zm7D%`>k>S7N!A26gRD+vf zG?q2Ix2wRwy_GmgY zqS#7R$z^kDF+En&(7b zrlyv~9`4=y<#C)+v4nLttd&WGD`uNo^c{*hVOFdc$^c{U|_*PoWiwQY!l~MX3A<)#r>oIAw)a+y{iSBj1=HE@PFW(qy>*LgU zkrB7zg6C8@dp2~mEY&qdJRNh~dlooIK5zk_uD%s|t9l1^@U=Uo<7|pvF*)UUjWX^r6t z+DBXdrjbzv@)biD&@}a&o=`cyn(FsdJZ3_f1+vY_@VXH~XR@;z_$<=!JD#*{!`Ty4 zEa(&EY6{_}n|KG$#JIQt>Q7dwH8+wgLdWh`+F2KmkHvh8;cwIAaWIA;6u1Zz^N!sf zo{VVDNFx62-G6?=ZbR_OxviG;wBa-HntjO(@N9*sNMFlVzi)sXczB-^)i@K<1_Rv5 z*jsMsZyb0ym|C-}UAW5?=h{A73G94aN=Z5ZKrV=d815Tkl9v zA@K8wsKK~s^2u-;w~7^ho+G>H;4{sP9$cPvru$wqL4R%&Ph5}VASDVv4sZYo_m=S8 zE5(SbgVRc$F8e;#(f}5NPB4~QU13>0>qY}2*U%Y+lkKqO5;ze3_l_)yUxFFhJjvPF zFmx4>;AQCWx6)`|Ic_){FEl5LlAv5dU8@gl+y9&Q9SDV=GLYtS1UJ-+I}QmIb=fTo zjU4ru)bjDssZ8(R-M3l#awhfao74l>(ln1_r|!HLMFpPy^XqFY8Y&g?BfwjTfrjVA z?;fbve6{mKEgdC7iX(8 z4N5pUvaGw#qfAt#N_fwf$AgN&Z{lkgJ2-l)y7|pDy-C`$)xvN^m;Gqfg<#pvUAR`A zy^=_4ce@J~tV33%g!$B1I zc^4n9sFng4+Z_`CZoObKH-jx^It#JjN(AYx=BvwEaGJqu7;QyT8^Vog>cJbf(h@EW zK=BS;^F6+GOWX2cK_%f;3x3x zmMM#vG&3(4FSoM(R0}2ie1@A8eFw`|BTEQcJKXkSgM38xw-LiN&{Iu!qcM+mY36}d z28dzG=hC%hHrYFer?h!w2l=X)m(LDh`$L0pO0|t`UiRT=a2Bzm&ksCT@<-RYuBJyL zU7lhN@2YzR9;KDuBs*^Yh`N7%Tx%okVA_;;RLx2ze<8C>ghvfEL6xC?_+3cbPKfks zwnDbv>^}+p;$2q5)ArAChlUqftY?wR^3^Le8J|Mw(uNNS*#qe;%Zr(rxVF;0`{!R` zGwqNE^3v$&sUq0*Qj;TAA*)t)3v%DO7vnTZS zZdured~K&1Fdc5)zVcK_6GdgbWri#Ei`Ep*q^gg7)g^ziRF)4Hf6RNduT77G zrE61buQo$qc@@;vmq07ekjz8-U|Cac4|x~IZ*d;05vCgrVn0Y<;ag6~i@c}uqj8D@ z&|jT7zpJtT{a6^M2mwkB3HjL-^Eu{?&I^8hP^rJ!mQpg{DW1JjMCkNF+L?zp9d7bQ z<;A|tEn(|T8NiE!N~eiOrO-knV2U)C0m-M28T~_CrO3toR!^=M13HcG`_q5NOO>iS zSgpc?=_fo$av3D+dX{ni;6j>%%0L{^FVyg4O$c6S`%}M`%?^g1mHQI6@SUHtHOf7K zZVD||K1B8>b)3tE8ejd>umKQx2EvFkl@h0Ju}IBEXmyHGC>Kf#po1buviiX!Gm^x| ztM$U5l~!p7CU9Y6J7_0M_{e?s7GZB9N=4P@GdBzLG%jm5&%AE1juCB$NY$NvmuyDl zCHk!tpBAu=Q9>BDp`0w#3PAycQ&fhcH7s#l0>Fmy(e!US1+v0DCSs!v=j{PS>2s@r~s2RW+ZT@I;9=17u?!QEdIm5F4kKUz(|2ca{q1T|P^pMBK#Q%Kl zh&rvPyVRAJ%b$d6ddkd1RgFLVj`QwGrX!si>+JkPfN}*^bh|uLde$9)NmJbX zKSuVtCM)ml#+KnG6S9s;3N^M?RQ%za>-Y#cqb!hTMhg`|C)nCl)U*B~L`!RIU)bU- zQ=Zhy4VwG0kvkje9&T#7E>(&M%hg`bsg4ZVcQbSf%4ao+SfV3^RjWV|A)+b#4g~mN z{S|`ZnT9u1T&-uOv&5`kuJtMyN@4c8c6Ql(UQoL1WF6-(aVHGyBzXvH-8lAud20#> zHod6mS@)$HfBoR@?>)L97t`Y6v|m;-JF=kqM9py4m0Kj;chUTkv#`06_Z^hO3CVA# zAWFZ%aA>4zssl(Umaj40>>sb0{k=|6dZK0d530rOC zl|UTqyvaf~3pPZB6z!GqnJ3%N?ifsWF!wmF%&up)+gu3PhI1fj;xN+HE`u@5^JV;G zEV0kjyzgX2x7>O}PKeM5Qkij~%nALhv9!L5Kh6;gfGVbkSwY~_zFCh^9z#zFdga|% zb|duGNEQCN#o19t8MPE?&~#r4;oB}M1K8PkXH$34yl^30nMfR6jr<_T*X%s?5J8@2 zs^@82@#_;0)0;xyV?dv39Fh%2>#`qBzbxRj5^FsN!<&A0o$1(eUgw@Yd%6EH z!;moZ4L_dmowq#g&50Xn^4oWlSNRa(xar9~(HNlSw$)d5t*!_N7%l(SR1IpW(A&QW z@0973JN^3h);p?ziYL#H%8nREYu~VB(aUoNBu$)Lh9JY1$x`YyJwg^hLy5satS;kd zrW0dOSgZy8vft+OoZD#=KVZV6hnX6^xaq{3)1gLB?$~Y(d^0oR!FRLeuT6xryaB5# z1w_RZL&|uyquwpwoILEeZ6t4hBF+OHKsUWW*PmQIa;`caof(mLH(v6Y)jpgbZY}nd zux&)zB#w!4!P#$?fsD0M$i48k3!aMww?F0;hlnz1XQL3JyR}F52_Wa!0*#~j{-bY( zS<9~Wqv6$j&Fmp$`IErVlj}Ges9)~>1!wEJbBNM_mOV9hmq50Rl`D;mo67ro+iiwn zSul^z`y7^;6FL1-p8pIG#k0B1y=(%7` z-qnSD84NX5qWWjWFS zcMAQ4yCKiI&*5H%LT>kw4Iubx`J@Az+pbE*>402Je2%j4)*#1F1ont+sk$h1SMpU` zKv5*`U33l~+|KXUZeN=7rkQf>LN{@wV_6SetoU)iDVM8>d?;+l#``Nt0!MR`GBr}h zJDQSI&UDUASKJWn8rjxjMp)T*u0HuZNABxv0xlq2dw5&odIE|q^Br^9deY!59(+h0 z9=NH|n0Etv4IWrJ1WCRpiMIAfkf-?}lYWMwR)?0pD3~ zzIxME5E9xon*%mW^g2|&OhU6H{E%rqNKpj*QLPCFk8@Q#ehn6E$=NlP0)-G}h^E)S~oU#A)!US^2|Ud203 zEp9WqK8JDMLQD}1vval8Ar}Qx#5l34QyQO4wYEuWu+Yg%jJsPp8V&2kZSTfFe!%8~ z7x&)15p+N7)uS5i+es=bTzQMww{!Bmr*W?H!XP0|dLs4St1CxpyN&%Vt(1pZPeV;K zh7@GDGFxA=qZje+J1x$7{w{9Yd2=_(IFwm^abwgEyM!Y;H7+Lp#&o#$XhpgH4B&`A z%QJHt2_ev2Ss!S8-H-Rd{us{L?c!WJr9cNsyxChhdp*~`<>{i<+qPas?zl#@T+Frp zw7vPtv0@`$J5d_}hPI>YW<>JejdmCH$@hr%=wax%crPp^!gdN8hI+ySQQWk$*8k#S<*rE_I8r_8u*w9BXL;cQMc0W3w7?u-Z`F1__dAvm*uRV_heGe zET;>;?)@+r-+0@D3cbDfYhd2f^qqclgV$Fk^{oCizWfQLS0k|2M7Nfz!dL2I9$INoS5#gbBn<0J^1$KYVSD%EXP_Av~xB5SA^Y++L z9`Q)9Sn=zc`nd)eOHqg^BI&@_P2M45E8%uOtehM&DgsZuv+XQ^SbPmHohKDTw)@Q{ zi8dUIp~$+ES@%OU`|d7#`>87~`%o)STnL^FUtT+@F%qU4FtsjEb?>Sv+S`u}ZH`m# zFGtM)GN06#ibl?(jyOOgwjkmgY8w&ajoB zu-s3OuYII^*>{pTYtk%qKVzj=v3$1*72-y~Dd%6~vEN_X8^H=6spYVKH(R0%^k3R6X3Ss z-BS4BDIP01M8CXN^guuL$nYOi%bg_&Gqm}XtBGV+>CbPRNz$IAJh5<45gpiHQ)h`x zft-7dh{vy(wv@LC469|0^`N~mcNadNe73``xhIqZaXpPwy~2Fpy_|(0s^N+^DFi zxl)Vetfj;Ixt-;Dlu{dMJVxiS@7&SPF_LYj^Q7^#o8Q|roT`F#Ix8p^-c9qFJN_iT>1O!1KO9Otw^?6yQTNLwW*nKjb+;-aW( zjjQC`7EOGWB*KIX)RR=6HU=6+eXyaUdeWwdQT1*wBbICD)Pf9HO@pv_MGk4lgCRv6 zW$i}%B2N$97S5%3?I1-b>Iq(DidYshvhVrw#5(|BeqajAm%pyqH>=`6W%1-Cz9I!h z_dTHL2KSq!xYwg)ZLb4bzZBEK>L1p5O`B5PM#2Rq-zAMumj(|Uq(!Do?i;_3^k?iG z^H6tFq5RSYyYYThAysQ;FGJqqbTUb6eT)UCqcGM>U%R@}+XFH9mzuq>W zYYVU9Uf+9umvek6_H=JILTOwnbb9f&{6%(x8PxXcnTWXXFkeFBs6#KXsp zcwVkj@7%K=Xx`wPVD=WT(gSk<&m@t>y;PXRZMyuFs4Cmbw+G=m**Ur#cbBe+R?PSx zWmbGf8h7-~&4@jIKpzTEN3X_+Nf;vo*X2%^F`*C-^{7Vcqubh@nI72`N9V6k1D{R^ z`PPr6@DFjD^tsQhpX}{@`h)%ni`V&^?C+2TM-EQZ>q(OWvdwd<6G_e6qE*>GD&u6yY&ny`#|4_ohjL2%a0I790XtI5t=58 zNhRj{l_}&e`BK%ecxYXv=E}zx!bG|K=BzLMYPI(ev9(u4&(uO>_SG_JiptxV{Pr@k zxrl}>bI8te80TW(?VV7QDh283O(f%~0e`aI*Z1?jkJQO*AIbNVxSDn^ya@9(+6l({ zc)&tk{ek6VecPk1pf!2ZZRV6B`=3Vn0H7rL`qgSj%}?sx`G+WkzN9NJfTwlTO0xoV zYM_0TP|)hvQFQprdc;R$Sv*&uZRLYC=~Wba#3+(hdmi$KDGt z=@?wzkOWNJgBop#b`_9FVD)9SC)9Fe0lM9J2esFCq?|{rCX+vbsF>abwrVeXplK%F zatJxDF8hu&`X-!sBGM{*TNUswO%H`=e8?I3W7OB!%}GSRCOCZ^(wO<;`u2e!W1C4Y z&-$J){G8iR*yr+o2mW0ftndUk7JEH_®mktaNKOO@qKh6m%=xlrPWeuYK0v@GvE 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

1t+8DB^Jz{5GDQAGtpNc>42 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 KMsLRn=a#V$B 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 z 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 b0>^>j%fBoS1c?6b^mP0+_4s;97z%3;k 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 uYU2V7jRb19=b0;`castRI9xCk?p$yw9J# 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%0AYk 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 q(fe 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

xgGKifWxfDCC0gcX+^6`wW2rs>%31 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ʜ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

ZKmeJ+p!zIngMW~?gtNfCz!m)!t3!j=o?js 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

Z5-p&9Ef%R;z?k?q0)@V?iP9Ek%j5 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 z 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Úro=v_i=4y_3oBhI!e!(xvW>RaxDq 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/=;|5j^f8Htcu9Y4z(k*eMZvnzS+7b|Uun`pf#kBZcNoDc9~J)oo|DlC&=;AE-945ki%v=7NtuGuBhYHQnb)t)X2jSFfkTANsTR1nX z3L95X(R0ssVG*b_wKobrJ2XmI;+%IzplH65k)|#jp0O8KKZg z`acY}n5G{mWM|D`QkUL*`sEtqV%syhM1|3b5zHQ-^?&+$?`W?7|Nr0Kd+)thR-tga z-n5jab}AJO?LAe5jE1zO;e|A`6_xg$NIQiRr6se7{O;dB-k(2ze{^(oj?VEI&-?8< zE;m$nSHqw0d+_=)qw1X@p6BMGHt`SEf49dL%||%&%oJDFyu`7Len?lZz`mQ=hznK2 zwg(y5TiuD&ZMjHN{7mnR&eFRKKx482j5RL6w4?| zLVGTN+{e-MC$33ApMo>e}N~(Yxw953LndnNtuT6pa{Sj0nBQ%n>CDfFt zOs(CNp#1V7mE~WfZxasCk6D3`Yiy?mTOXJtGrjC13z>rq)vN)Kt(ZkWPF{h`(2-PJ zR!No4kLlt1eN;MlD*ZK>NI$>n(DxK2YS%nYr8mdZ+aW@C?WYWNgXvOxGl>Q}?Hl2D%Nt*8ntLD(IS3xv>yE>)3384s`BQ*6<5gk9+ zLEFy8QA$rwTJXl4Hk@stKF*UV<+L=--uE397lT-{?mTN+b+JydvB=h4K%;pl%X1>@ zp1aAiNyk~k=Cbgx>seye1vd28V`bC3thM9=J2@^yeaQ?~S@jWZJ37(1F$a%T6Iivg zKbwReXT4;wyI(sG*gcFjC){Ec#|`+HX26Dvgil&qiy!TY_!^my+aprgzW;qToP7>A zgS=6>;|a=MfMxGmvzc`wD{S%;*}s3Rl`X@vYs!Q^+J=0$RvfM{L3PF-v<3^!?pzy7 zwjO4Ow*S!eEl}Kpk!Th7%fpmlJbBa~FNUhK)ZIu-z9WUX3mHpmeqxf}Zw#q;htY?6 zBI%(5mT4Wrbi?h~p_z(dgLJW~BoRyP3NS9=14daL!C=w1cdNHR&-X*n=V=MLe~pLP zfZqt6w*;0KDn*xgAZ#|YVMh6N1O=qPI`|8M6_erO@g4)W6ru08Jz$X&8cH>Aax@kB zP~nTb&BCyBX@o5x^nRKEcNMGumrI7d_)M1ZxI69YC3h z&*^mIB0BTCftDI>r`+Lzbh`4?|IU}RzkCVhG*r>%ZPs*X?r}C+dY4r|@nkC(&}eiWM#=utshTdp#4`nqKSKDCQ9BL`C9$ zi!NICrtu{GGptc?fDNWMvT}15OG{3&5xbOi8XVF3 z^d-Jcor6M~{ph&=8wY;6veST-tfldlW&d8q7r!Ldmk(i$K`CtZE0vAS{-Mvmn;5kB z2}ZA6Ah-zz7#2|`I3N<3_evd+k!!I2EaAY$1}wi=iI`X&>@X@q+|FhkY8Z{QA|H6q zwS$|PF9xPmqvz%mm|anhAr}qcKIRbyt!zMlV=0WhCeEFPBBy=77s8b8!d7S&lc!(A zRFM~*?(qYW4u=u+&jNimx}e7ZeT1uNqF>b~jPuSE{gWtI$(6up-dyOY+lsD}gt!MU zQD=k%hDi*Aaj6^TEiHm;nh%`5H$Y!nWV$3I;FUH6UaLpa;=XJls;^z-?#KPvqT~)UXlz3pBIUdS}C@b`yoiA0c>9affKhR=w<=oNYiOJgb!mK=jI zR|g=ntp)?d2huc$g|L)d4)f*XVD!uoj+0NqMRpamT)p5xK`@y+8NEkz!0U{doAVCA zMDhi+b44ygMtOR(UYDw^ zuL(~?nnuMeqEx|GTGS(s);>t1FwreanR|uK-YKP>$%+&|YX?oQ6}br4g*2u2Sc*$I zO5qDX(tsywl##HNhU;fj+#EaFqCb}9Qq)mrn8L2>4zgil99!yMMq9{TwD>XGPcy|& zr!i>gQ-MG3k@)hcgVpu#u<`bXtd^I?_M;}VPO$j*mAB9|JBHQa$%=z3@WVTVUD|fD z@rMM|ZW@f*wwK6%dKYz3`%&&Nh83qu;7~v$I?DBNeVrVuhz?_m_6G5}vDAt;98<-I<{0urPS|TVMDVtcQ)b z544`@P}i2RP%rj?R=8kO1%<-7PB3S>FMwNb!Gclng8e3Ucsq)0-+^G5W=cUXW;krB zVqi499a3q>MVI?Az1ffqr3@#iYF>kilJMGtenGxhK3yDt2kKs~B4?*ajW1mO@AIJY z{Q;_2*PqG{OrnR1hbig)4Vq;Ch=ydWrGD>QX>wqHn*Jb%X05KHNMjwEF5y9&hi#=K zpG7oneQ!!S=|Kw}q$zgrRoef&4{do-Ni)4y(S+vJv{WgB-GAO;{W(JK&C_MQkB3>a z=m-A2iedLBi`eT_H2#eW;Xyt3v&w}E*57|wWH7Iw!SovnC1O$N)Ds2!Oz`8f96lTh zN9mqI@qKAjR41TG$_fpCb&)&gI8H>*z(x15xN<2RN7F8&P)Y`yO7d|`X#2k7MVoQU zR|JVJmPYMas2=qZ>>a`Gk!%sUkz@b+J^b%0HTK>D)2Tb56g&Vb`z)zysd(nXHbC*O z65Pkt3GUE!xGh>jpWh@vcZA5v96SM&oiZ>y`45Km7hx-90F_9=2soK7vekEBv(OjT zVQEk^{R;_oRq8bR4edWcaCCbQl&S7^a{&~s{kC49lJGwDx88Z<}5!sfXJ%*MW@ zrtBH?q0xk@tvaE&tU~mI{OHg23s7;$p$@^qGV9v})7z0SUcC+a%g#~y{ZblwVp$;CWipvWPe*v=!Tt>SS%^V#*cBzx|a=PA2R zb8wR_x_TwzoY!r1c70)qiBnkab`&dQ?!={o-SB+)3pV<$hwm=w_?V!Kt~d`Q?_Gd5 zVTIVJ9EptW-ElxS5;qU#nmuNZ-&)&1sG*#P+9IxDs_5Jb&jdx-8mGhi+j?m-!;%u z60?KPQfl`S%%&~jP&ws5tuwa3Fi#PxE1jTs_Lu0d3;xZjUoalF6NY<^!{Yle`aDa_ zkf*Ld@l6T+xi1(wO-|Ig$qS0}q9MI}7*qFBsW}YV@{2$@UYp`s|~|>5m~X>O93*{-(YS^|UeNDJ3mRqwJF}DDqP@ zEm$&>X8f@hy3;e-x_=F&_mrlc6PQwWM9}spy=Y10Ra#OpTjc&0?2eW(eV3zy!mVLsQopsCDWaUZ@JM@VsrR_%v{Xn(8KW?47 zg6msP;Y&jztEP%Pd%xajTY47lFTGgRvyRp855wE1JyA6FCQhG?$MLh$*nLh;%=mvX zrXm)X*8Rb5>nZS3Cm1!$z&Lmb3}YRk)h6`hn*~sgodo?Ab#M-=5;N3QXdN+ycK3R#}(U=1S7y2VS&1;|pyt z&!Z`M?lk52cAD%OOsOi36u)Rcr92-`$#?B3`qf=py!jj}lpC^=!!@?qyocoz?b$YW zE!%yb#JUeNd93FU*7~=YjXUExWQ-hR><=`qb;r*<8j+V;K@aB`!PQzP zxM+gkw)P=H_KXnc)hzgKog{wdUkncy*W7L{6zbI>q4JAbPnS|vq75}Po`iZPLG9Ei z`m5v(<+@|kRwD(s8zbm<(-oMci!)Q{W2nr}q4#;m=*5l@sGqEW+QCd}wv-WEt6`9l zn+J(ue$a`sg4gvy|Mz|`y|tA(|FeVqkKuHC!esh%Sc+;q;^}SSX=?s4jdp*^qO(sl zDK%b&l4VM1m0Azl^e2&aclDvfd|8UuGp6~zTWQwOJv7AnJB@fVh!VU;kYDvmqJ>!$ zk$8p{yuCzA?UiZFCMQ<3?-cLH!yM2qbloe9SUpFYWiylUQ__m9mqqaa=SA%LS^W8M zp0(>na=^LG?5dH9)}kS-oLhpQk0Vez#GWPFhTw1SV*GB}!TME(tgkqTO)E>;Zekrv zStO(Rj|zTVy~=LJf7z>iCaV^mW0$%nZ1n1jC3%jxgk#Ph#QM1xP9q-2>5|AD(MwuR1TqF7Z1zPA$q$8nUw7DFY{j(2!!S#&9xEK1FzLZV%vAh@klo!77}Zbo zAYx&=s}o~(g~RWdBl|zov+YXOwVaDIE$L z%knOQ(e}20O<#AgSwCqs7hOl&;7HW$9mJZ?gIPalFKaK9$KSKjtbEu}cqo2oOJ0kH zRFV7LpNYnxr}%B0fa2XpSi<@ePEAz7Klkfwm)6P}Wm8x(Z3D`>_Tr_?5!_RrhYp)a zT#Kke-Kj6Aw+=$=tZSgReK6!*Z%j#&Mug}bCw|sN#7qms`Q5~TmNE=myC39jg2+=- z5s)zi-tW5LEino1iF&Y_=8sv=AH)0NRZQwDI7QxW*% z3VMuRiQr{((f8bIxD@ZgfI;hF#c}9fB^YYEQxFvR1fCDZqR)z1nEy~0;SEV}cfO4= zCg%_A;7@=3U2L=LDi^7 zcz352>FXchL=u%>jl?=-Qb z^aB&KhGM*UeGhBzq^`F|s7o&gHaQPrl{y9%%}*d`D$wiu9?q?4(9RwNi~LzIk`lSt zyV>x#UJJunAK;>y4t8Wx%Y`5<;OM2Dg!+bMVxg^8-CK2o)`56T@ zU3i|Kjo;dl_~m~DZSUW*T3t43MXv8g@FyIPZNX)o2dFWT!LzxSaN*N7F=vRL&e9LC ziSR>@o5SHKG$W13q44wjC;aZAm>)AyFb{she}NAMY!Zw)xC|D2xNRQL7$|bN z7kywKCJp^dE1*B5`v0z*;siZS zQ{+yoKDkr3Z$*?k)<RChimnW&^p`o55Nk!@9p;p9 zM29w&PpAF!)={kPA^LB77p>@s!U^9?*e+Sj)}OQ3VfQs2@?#;(q!#02Y5<=9_l*s; zvhce1XWTxXf&yzjmKIs>`Xya#VAvPmuKqytt+S$w`w@S?3}f&3zO0bQ+-?63c8L4S zS~^`UySbi?O7&R1e=w^boQBV@YuTuKIG)^|gRj@i*wj#pRaO+SZO%~Em;Q~W#w8** z5z0EAK`fi4iQ3hjY&J_3We&pQ(3#9`f6lP&l`X7Lna!%t>yfJ$fgCFvWNZq>{fh~> zaBw~fMoHte#601dcOa{4C2nyEDyy%cuzd#n%|!M+(-^Mq^3b+C2uDp>c-%9Eo{Jx> z@1(*;@EVkN?SoZJC|s-y;CA#7R7GFP@2@FTv<+Zi84bm!zhKld111~S!7|JTM)^lz zo3jxP?tQ4^Ul}aA#=%DLDg6Y`LgC&6$VyFtd4n%hLkgjjxC;73s_=@t4{gIcuu4;f z^+`RLrw9hD?*r(}ZH0tmFkCNPfKK@s`r*i0;l^q0`o}(fCTlgXcs?d)2h5C%U z&=bEGxy%ueygM3-^=-7lS%I?OE~6#p<0)hAU`jnTnkK*5K@-a~Xz{37H1Vti?f9ij zsS*7t*|3^Y6YkP1#hIdu_mj5s6xu!M7lp^iP=e$Gin|=hy1Qnw>G#=e`8|qNWdE>* zL@GP=SGb zud%~~v8<7J3ir#0v!&Y-fm-v#H|;;H9yJ^tYc7iaSNLH!@8RKt;b@$aiDvsnEGOfH zvpW^AeM24&jV;Gs^CBEEbwq*a(xr$j=^56>r3yt9-Z_g?{np`fbPi0HnnH8=OxTo7 zg88OnaBxe6`z2*KOn3^lbIZ{^$sIPcPk_oFz(pqv0di_^e=44JlOK@S{FUl6KS6Kq zJ~;IgOvlK>&=_wHh1dI_7SlmpyOu#e^AR)>N5kRb9nsU7Bix552!>neh@yRGownm5Y zdib6|C~gjEx&w*gjL1C1Oh1c+7cx+Wdh{ zx2m!Ar64w3@Rtp9@>y#5LA>3SigOY>kbd|UPCV4codff5sOu3`X4(_(x0H|^m+UPdS`A2_q~T< z`Sv(;#5rEieHb+Quc7LawSt3r1J0BBK}xVrBzlj8x|5iribb!lvJUpw6X|_ZB~@+R z2TPlJNWC2eb-Nx^)B7l7vKG_D{bAH~SO*4jX|;b4s?yz1JLw@SzHVh3C0mr(m2luR1+@OqXEm8Q?76lb zzel`8joeh>Yd>PW^x@q1+IUuNy~?(C*5H+CBI`UkhSwn~Y@wXQHt9>)c%2FN=rfAD zx45(VlO-&x@67VMuds5!5LWoImZfJM#Uq;otkiuXeq}sEtJhGru3}cfU6#B!hc(+p z{$Xl3TmKaIj=Kknb#?Ia_9RxY6Pow(Rf0co4rRIRth!)7Tv9fxLm)$coRz-Yh*FANLTa2iJ@Deu&_-XhU|uEGRyF0?Yh)Fq+;18O2~2 z9}~=weT~o)9BFIm;i3=z2*&OwVK;Cy?4Df`yB(S!bH0V%R|uU-oJH(T&4cxd(^T*5 zEOJtUiTE)ax)8m-tWknhYYfe%C}`yGg<`eHJ{DR-Qm~8E&y~S6N0(~X2u8o1I1{~d zgse{Fy=7AzTo|Sq65QRPgFB5oba1!eZo%Chg44LWySr=f;O-6q8h5vOcXqdGYij2g z%r7`!?mBhkxvz`T^*jo1^X`LXqeRBQ*g(1SCyuYdCjlWsY_K}b9aCj>Tu(C&S3tqC zWeW-JcygI-TG}ccqW*hkbOB9A*cM4#DcId@=Hvdzl51R9bAm;tNndJK?I*|O3$``} zcd~JB@LW!%frZVTlT4?9*Z|kqOki~ahxA&iu@g{vxX*2kn?0w*O?;LOPI1XV{r4%J zI9#PUpLHwHgrZTrZNo5RI+m+3{|H(g*CrNoUNz;-dTKb@UQ_FiPX<(L7Of$w)%V2B zP<1*=&mOkB1yN18DmSX$1Ka3&2XmrG)a%CPSbV&u9y|s&c5l0-ygVhUx!kmm^y=6^ zD*JBYB{sYlzAYX0oiREmkQ^A~D<7~j2uT~S#+I%c=A=E(|I`!(657&G*Xau*SX27` zS{);OdbnY)jF#!oowH+nJo_$VVj_0b6(4iR zfq%Xs>Y*-AtM?SJNwMj#;5ObKcw)KJbcVu0tC8GU!h|NmHhdXN$9Lp|pXc5h$x3X6 z`ec{lav1sN?#nt?iX|Aso##IOBb-yZ1%p)c~dO)|?bTlPTaA|zZ7 zL7UfAvN|umj`PxMqn3uD)Px?nmX|PV3F0MoN;=y;d58Cn5Xj>RY8Zk)>C2Q z%%NMFX~WI6#g!OW24AA7I!}Syt{;aje)J2jrHf6JnFiHv>qx9w7|B!>K3jV9+(*5t zoxr*Tblp-A9;1Cb>SDQ*4aX-8!=i#|b3F4|+a}=PV z3qX9oa=hhV>aCbYM6$2jd;OWR>4X~}!Ss6;DGJv!`M#jEyQ2`KPR}I#XVGdR?G=R~ zYuV^Beml+C`wOat%+3aq;4jtt!HN-J{6hgs%!PJ8oSH;!eJLxQH^Uy(#{^ z3qgwD;vi-pz+uCYKv3WT$t{fsDY@v+=slf8&Ew#&;_9oV_3(fpaeP{@5z%YHs|B&7 zN2!UjuE^cU$GpoO+a{MKM?TK_EcKW6nVM5?x`#>GwHHsJ^D0lp&X~zOEUI>w-EovP z>L=PxcbkH!P4nZZzwhVO24Y&Vtq686I%~%!G8*b{7*QR11*zRgv83X4Hru>a-ouG% z-;ic|$S`_)mKtg<$=tFV!>D2?8^q=`RIBx;v=z@B7eNu6zmTRq zk@UBk0@BGNuN;>D-kyh+{=0_QBoOF>yDn~>Po5GyQ(U>hx)Uc3s>SV%K4J)d5W4&W z8SKhTuKJd2HY=HjhN(%Cep%k(3ZpSbEd4Nzr{K)!%xhoBS1y!llaS-Fst$W-z9ab| z*~kA(nGMR*)it|)aVQq)C9%fi-cL34u!>%?yL0PqO`#!slNP&ut(r)%dgy`r9!5p? zo)e3NA-kIjMs7Q(!5!xkZ*kLUTaZw?T%cikH%8axo#YQ7O>l6RIAp<#5|{(m%Aae* ze2Ah`E{;zxWbo{WH1U;Gl-@GhBeg4NI*^pb*12z`za3s``&%Is+HUn~u)cMPF(fzO zs!Ts%6s=&!_SrM;#rWw{H|S#M{f}S(UA#8LjOnl>*pY>pHo)&y43@!{_be46Y+D8) z_4lNFyZ_9~S%)GJmBn9H?K?|HAuhDuy;dUSdryS?NWeV*y#GCCw_Tb%hr_WYmSVha zYcbwRm-OIDciuzebAHNi@gD@(7`LTR-f1g|b0Iaxba#7<5E0*|RoB-Xf*lB&RV5v?I`nN{X17+a zR};QXC03tr6(4ZVdv;(YvQ_*gS&rQ_b!V>VD!a6mHCDk7*Vy7%&QojFsNK#TvBsyQ zw*oj=Zk$P5j-A}s(VCl$Oy-i=o&5n4Sknp}R$@=le*iFW;5HZ}d6YhF4xE;q+H`0} z7E2KKFDLp{Ic_5!EXV9zE$L?2^u|Uidn?&okplR#9Sb+mj_?lic7qUmLe%$@)H-*_ zn<*Y0zKf`-?Ib25rXFC_JvjmV49rX(;=n)lq2xTOzw)n>LKu8nX!RuT!qL;QZ#j5+ zUHbD9Rg9eMNdKGP33E+?Bq*c=xo%MNRM7o#t%oggMa^IC`!w9tM?A0%1k^1Pa5Yo} zI=YDbqY3tpQwiUhK<1p^BMnJKN*zLzH}G^#{fERpXH z$$3jg+NfH%E~;cyS;!-3eOg2XLfzX(6lT}oS}tb^HQ7yYXFy(s@9;jA!ZZ18J>Fxe zZNPcIrtPqs?SZz0R2|l*gsV<}clFd?QK30f?A->4SC2ZQ*brVk3cfk)dM8po_b|3#+ki5{CRG?VcJek-Uw7PYe1M2;VZRmZ7no* z4BP#$r^eeOM*@F0<^wK6u^eo{;&GFR^&>+7w*dyj&Q1XF8ub449d;U{eCc+p|9{53 z(rVg{)#B3~8Yay?%U479cXCE*k3YBXq8`34a0lM|5L*XcMu1-EdjqKwLwQJlvJXTb ztJ76`aGS`W&uv=3LkKnSqm4a|n2~Rc@7UogI%Lj}p{@?59X?YT)QPRYpE{&APJ6tmMR#$px{p3$ZHHeOD`VzDZx2dDqX+DY)&(W&t2KlCI8Tm<#@ z75U;^{t*B)G1Mn(i1Rp>pTH!U`re7$tBv)LL*>4Oo%9x=vhX4 zGk(RbzKB_{A#e9YkwPYO8m(S{K!>(1(C^pVB&tAMBG+mh! z+txf3X=0H?v{9_+twsw-oRF<=bDGnT5M2}Nn@X-)66ax0_gR)OI^MC5yZDbwNDDnt z2_lxIEVfM6Z84}Cc>u41x z^l>Pbr>!O6-MF=D9LN;o>esi6?i{soFZ`r~>!9g}*$_?6KXXoWMrduA%m#pc#Gav9 zCWHkJi>~&QvME>2ewMCG;$(-f)-Idm@qFIrzMv_iJq(okvayu>IQz>c{uJ$n%rY^w zqV_lge889x@hyKJwXk9o{5mw%9ry8(?sun!RE^)~mEDXX0aJiw3jLSnKCDLEoQQ^j8;|*oY$*bU(FeLspeDjI&K5T<+W- zM;nAM%ghgd7l0uP`xt?&MB@GwlMqi&grdNnx%$gFmtCgFHz{me+492bOy(Jn_ROZC zUHD0VH~C+)-E?12QowkWNXdn)?d6;f4-s2taD$0p&F-&fs#&}fLE&f>3 z-7eXhmpSxA#a4|kwYcgEd?DO=PK;PCaiVw=hNAYf=GPqowJOH5j-%MyKGE0Dee7JF z^n5DS+*%C!Byj5d#*wpe&M`t_zb2Q^_o|W#@zCMa$wB|(a!!97_F|*KHUFuZ6WLG zhqXQ`HXbR`yz{OHL~^}{m7|2h*QyFjoKQ{N(F-?}K>TZ~`gdM|v-Vb4u;t7nb0Ib1 zN?_6La$}8*RCePdYQvlj5=PdBz6>Xms_o+6RFkA>Ol{wsRa|#{oly>Tkj2^#36ZTY z2Isb%(dpRG_JQ^RM=TojJPy&Q^fATna6=#cr6!Pn2@>>fI>Nlx^2ZlFeJ*9v8_Bx;xJY(VOZW~BXa z?0=1(h48pA!aPTGSS;TTZVxcG@pM7ElHa-m$G?gvWP5ZUerw>;9r8?cw$Rs&+=~cU0NR8C+4D#77KP_%rLwe}aN;(- zVd>q<1=j%kpG>S-Io^5As`;ti;?4%ThWhYbJK$gy41z4%kyuRRx#b8?zb(8E)}c$>YPaR_Xre!89G^jirw^dliF*` ziVCJU9Jia2t{K;m{qqk=MDCfBDhdzR=9q8M%yrkb@>P%RKsZ>5I{We&Hvh4PkaH`p zN84ZT_3>qjC(|j*5e}>@m_zo7D}17ei!p2#5D=i3yZT4_Q_F$*nR9w)J1%-?lr1A7sc;HxD;T83(fr%;zt18K}`MyIEJ6IgtQCvhJXL6G#eQl zkOOh%4Bz|_h-9;74 z;kj$)gqL~C)!#CTv;B?$m_Iq+@M=v{u_9LwZ15}Zyv7rCMOLRk;YWhy=94K_J}>AI zE$Iwe%$GD)Btq=G%*I2xc29A?rl|KX>dA{6v@)40W3$HC0l6ct{(>9NR2}`3-;~fR zBe|m`+CY40>5I;ePZ^-Di{Ui}N z-mkA9=REFwWYpE5-5EzXGvnHz2Lpt=s7%Dn+iVs&yr|#R)Q~MV*s;T1csp$NymZ*F zH{u`n>uh&XY{BP*`B1hWqD(Yy19hCJHH;0J9V2-lGQ_Fl*_j?6oD|7mRF)2cn2>;l z2gs-EeZ>x?y^Me9W9Vw71)*7e?gvtj9KmoWq-#wG6G17Xi#nLArn+Qtb3{oucO09B z1M)8;(yt>#NO68-YCF}*yMkBj(^G)_2Wm4YeDH-a;bJXU+{a^Q1T;f^Tl_zQd zj81Uxrp<4p*sh@|4H8Z8hEuPx0W`h*Anm8Fg->*UoyTvt_I}UuoVMNjddFu8f`*Vqeh;;?(~oMm8V8^vQmrHUM6K)pHT zRDF)Ry|xTo1(W3mwKF1-p42*V=})gcK1Y;fTKXL*TM}A%Z*Th|X&n~}`4LdWEtSlF zV2op9f0Kk-5>s{R`3+}w3%PdkN|g3NHVs5g?^7prlFqSOok)N+Kk%^ z6I}9J7GPXIkp<`c?bgQTtAZC|y(!V{>B03iBu4%RsLGnpAyj#Kn+MJ8Y*?K7o)4`z zmz4fkgjOXMTMn5I)g6lzD7MO9@{5brP_lee2@KN;T%U9q3so1LnVSUyAqWJ$P_P+Bn{jZ8W z1XT-56KgwDXXpQ4!ye<8FFv3Dmtl|U>z6v8FCI|mNqzEzUyz}_^GM@p!-UFyiyT8; zPXfmjhF5R*N#hmxAF2{#r!QM$;oi6W{d*F6Y0mvds-#;#wcID(D2HE6d$~{D--V97 z9kN_6-5=gbU# zFFStTyI=U~`7ira_ujjALEU=x`Y&HNzHgphR$aDyW^N+}Z7u=2V`t+>i+o!SGW7_~ zT0S7YQ89AV=Z#F;XJdw~_mY<;F2C3;b8Vl^G+;ZcL0*7DibUyGxueV)>V|p0<1R4j zWV*%nvCsUXnA;jKn|n5&7weoq+rA^?ufl8bEj1s9d4X@~t-J=-s%5XsmRQ)KT+?NX zPb0(siEDS>%BRA<+VyfwJ9vaV!;R|!*S>r)zxn@!PwxK>AAiOF8a~+n{EqTU>i^s1 z{ZF@Jw)y{^ys9o|mu%04$4xgY1zT^c%-ppW&gPPq`QcGs-WHrnOO^GO=<;(R?=APu z$Iof)X+R@ew)C9yd)=ePYrl>yZbgC_vf|ASLvI3QZ??xRbXKl;BHt@DLCt8Ick0OX z1MrLq$VQd=2A~Y3PUxi^iea|BRwHG)cRw--v$k|_aiTmPtJ{zjq&szFr z*e-e%y%XMkIYhH%aVT5$+j**O*=susC%u$Z4UPr#ThLx#uLXCunMy4|S!@Z0({_0A zoO)DbFP5M+Tnz{hqqUkd=fgjbmK(9~m99dZ+8ET+r(1+mf)fkB@HfJ_Urg7#bnn?2 zv}IlF06Yowwjl4Q1I@%B_G9XQyBvY_KtbV&@cF=mxvH%IAMC(${kLu2HN2&Pd=3rg ztfJJuuHfSSarWbmsY1s$01y7OI%~$w2dHM$5ye9qn<=kNJSRrm>)ld%&E>d^t@)Km zY9;GB@FR%l>nHhQOYF(cP^!d|EQJ?zNsgI%4e>RDXVk;O34CELo6PV>76*6^6*opV zuRvaME@R@zxq%Mlxkgn&h-$kIHVUhW8SSg_jfg2JDl@?~BCgJq9Z`K^xT~UnPld&N zEG3`Xax|-!5qy}zlXwa%OIeVg%UBO4P$dk>jxix|GMh6gAxynV_#+yU>l)yiMF1qn zbg$Np)I4Vt(wW=G_xYuz@0m3l^4s*-qKgSdGc}!M5c$s?L*i2dop-~p(VJ}$M8~S` zaz*%MK;j8*R4B{iw{sZ6_ROWGV#}X&6WV}>+xoEgAoq1#-7r3r3%kC?C-M$)tZTo@ z*v0m5)2E(oja!t@yFQqN*(2-aUk>kX@Yxv*g*Grn^IL)+ry_dK{R;37`gv+`*O-aI z?^H)P%&{@D%|-mx#_4MaF$Ele5j7Z=TNi7VDVXq04O*S%cX? z`2BpbJ^hk>UzijipzfkPw&7fX@i-IQ?uau2z*4f2?Pqxxdo;|^ zgwe1kinzRghc7HKET66?_0<(nOD}Rkq{ggrLMYY?AVrLB;7eo6aKWg2E1Q?3ai9UXuBHMRBIv=0q4m!qF+_scNXWIb<5;Yr%>-Q0OGcgBe0 za=hEvRVGHM_6FalPQ)TNsUIi-~0} zbUfk+%L9ahW$2m7wQw&LA>FpD_KbS6Hee1t@K^7Xo=+FE&@ZnCQ6{&I--5F!H4_%czZOlb7z*-Ml65Xs9(2u5J zi4MwTh!^M!uwMCgjM1(n-#s~1rUt#Y6vrcfG1&cxe?jD+t_Suvg1smyx7jWp6zJlL z00&+9yoCB^=KK|p+k1`?)G*TRB^qzf1k)?JMIB(zou(AlvY}`UDARhk_9ZMw)E|*G zB@0UROfw~5dap*!pUMSld-Zr-R ztADLnf~CD#(PC#KnAeAIaJ~ToZ8FGW&UfS$!{haK7hvZtZ|wRomMKU`b1hP(Bk>D@ z=!~TM!1-HD|`6# z_+>i?|Mrfe3_v*R+x25*%XUy;TlQZPi5PF>&e(^{RP@<3ULTrx#!fhW_|3u(a*o^? zw+WfIyaTbSGBNE9K^tXno)_tn)R)93b7jS2>DFft}UeT4J)x54{n zMAW$*zMjk{QpB?%Gn4Wyg_mi7jlT=j>p>^PziGh2Cp1(C8X2G@p)iDzGd1;`cewx; zq#b$u0n?=NNp+)P)CFuX)YtyWvMek@^WQFFiPLhQ>oC+T%J63qxG~8jxnUcf1nq&IyWM0_`S5Ry_g>?0dGxU+ZYgUF42G;m#DYY(- zAsD1cQ(u7Pd!RKq**;m54g1w}yCC}(r&Hoes#>^A`;L;0i94T$+eiajyt7egSY8PE zampxb;oJVJ0*?&;6%%Q6&yvsA$$A7g??8QU5`;xFPkI^$ld^%r@M{VBSyS`xB)%m6JNxH-ZJd<@}B+ioAAtT{-+$ zl}tkgWh37>tkYDbEYT0)?h5vjLO$I@(j5W^f}y?~{FJDH)h@)IZFZKb%i!WG4grdF z6X~@`vtR#FAx?J7GQvmSa3^mmRsC2##_}w5=nw!8EUiFB;14c zZA1&vJ5lp4g}H3$AdWpQ%K6qiORyq;eFBdp~y0%t@-y^ z=cGd}fk##$Ld0>h3bEIvc{_Ce*{er+V~gFwI;8xLJ)!sbC3M4Hsk$qya2I|;I1!%C zD=_?MAMAA#I)kFmAwOS#I4&Hh{jzXb35kfJD7-K|OD89ob$~@}Xm|u&JgQI#9-(b~10)c}s|lsbI~+Pib>bQNss=xKQ-AfxcVxaV>~h7s zG~3k!_U_3Mf)^dJf&>wUt_lZr|0W%2)A-Pfv#jv#F(7C-g8r<`1-nh)aGY=NZ+T#t zlkg@|)b9Exe0$C3<9Ypi+l}?+X^VacRA^BflU%8a<jX z=fOJd--kq3><`~wzK20FS{&s$?;<#yO%b^&hZNaa2oU+Z!!IgQS003=i$T|{;Ez3D zT|oxpXh77Wb_h$zRi0E|(Y=l_<28EXMT`SvHmyhZyHdwjE^DoVQgg(Xjd1I26y5zz z=))o`TQA*e0~ zGI^IPsves(bCU01`~0i6!s5E9&EJo@KfI0&QOEO+mr0OWrZo2Qp{P1_fg+Sb8J1v_1ONT_ZLe+do-(4#%Fg z>8H>BoZ|@Kf57;k>xun3XT~r6no+Q?oB|0D+{TCkvBRGeM0Nf!$5d|~V1MHq%c%vU zR!8s33PijU%^Y^i$h2ET&56$6ZV#&pAhl!~)N^)*9%Q~vY|Y_6-p6%Ar0xtJSzGAC z>F)`aI{o)~lyjrSr_djaxC1t!RLf?4K%vF`isiRB4&9x>H_wXXnJE1~54jH=;T$J1 zayVabuD{Xe+0$ya4v3cPiLwF(n7cnYJGlE@RY1nm6x;lAUQ1VsW!g-C6v1k#S>xM{5d7P>*)`>s_W4p0n)7Sn+a3}o^O9>-dWE~d1AtK+fb{99+uI4 zsLMZ#jfvo0=1^k6>G?ehpUE1Sy#9>-tBuCmavIrkY#%7| zZ{VtcWvyyeNpLdAQdrN$DfRAwAWh?<-(ff$_)ZqD7J=dWF3?i-?dqU6ywF+gOxyr5 z1`u{>NaF&k$l1gSLb&CD(=;5)3SW=xDi!AStS*Q(GU=8@|_B^{~5OnB{M2;)> zeXIrZ{Ar9fLZUDNMe_b1)Zva;lMt|e_Z|T&t5Q%6us$UthG!GnbLrDH0`r>O9(5b? zZG15SLb6@I35c8qg}&pI8e4A?8*r89X3Jo)OGZ~GLI^YA@;rDDUXQKk!eEfbg~U<2 zBk9jMbGV&Gd?v#$<}u%w4{Z!eMUIGpFVe0H=MDK9@YGfw5lscz*9*WP3Nq4G#Ro?f z;i@q^o~`OXbM2&~M3c}Nsgk`^n2CmEgW)n~+snAtDTQTd!G=tfYhyCUxfL=Hces5o za&gnwG%rEtAR(oZH0)%Fve?628DsYXe4*I@a|a(eYTTSdM{2 z+dKV92lo{x?t~I~P&kRU>ZFX+q<(0lh5rVc6M6xY=&yZ#O@;Dbf~1LT??fG;fk5pp z5oOwdG~%I|m{&0otXZg$x9Imr>Ug+#9!s`nv*-`&^0H9NPM+||-;GnHQ8!^v zuxIbX&|sFWr?s8TVaW}I*IZJ!tZ=ZINde#aNX(;gS0>QvZSbnkLlPi4?$Qy~!gJ@v zJQCIp_#eiP`Ep&GQ~S)om*V^{2qRmKrGC&;N9N+amgF0kMA`@NU7kWne$~Qbf$eE_ z8sv1Rn#3B+PGx&C6FH;*J?js6u#hfKR6}AU@&MG`-<4FF^0g?ZPNIEH-8m-1{=UnJ zv>H(#vhs$5)}ahq%hULCB|bY)&HO#99xE`ld`M$h)J^7cS7uNcqg)@!vZA;0 zYH&v5L(LuDdP24v2~H;~f9Xy$zpP^;o0WfVR>s*RXcvu!nATifYLWT?YS4K&;)^y5 z6fgO~zMu9Rt9MU!;i3Gyj2I}vBb#l(ZWk>7)i5Yj{3KE*BXxRHuV(CNLj`H}ejs`; zjDuIP!#Y&__cRoK?E6QUr!0Wka9Eg#qn*bkjb)_Kwv__~H(@bY5Zp$caEcG%Gq4iD z2x3?{pd?6~NU-TA*{gQkLXNC5<7C9;1#Cf7?2J14hbIgCI*=$sB#%!0cirx#lz&B^ zdJDYsZFmXCLpL4{;Oj~Xo2%dp*S6KZB}Outz&lxV)fkGa6R`vz31mV~)o zjEAm3-t{328uz)3v_R%=o}8@azb+$@67=1@dC6(9z`=nsahs1sd<8Z1O>dfu=4i0q z1HRZPQ| zv)Le=ozYVzLBNhn(ta;y_b1PZ@rWZwMeK2X*0Kf-_=PsjCz9k*bk=XAYrsj~>)}52 z>2;!CSG#Sy5!$WvPV%!2!;)kP%iR$+Ah<7$`Cy2@484B&)x?g@eQyT&8c@VN>Z{s< zV@q$v@!(qESnVy_q;TS8TdsvBDy^R+$#Hb>bZT1Hy(jXfznYm~I^%-XoA>#PI2Oi) zYlCJ@nOo~}u3tPS{w~#^E#m9IZNLi0et7!_%;IhatzWbFqCI6rV*}a&T>g6px@~mi z9_Pj|t1%XMd3#S@Kc;&X#<<62WL5ZNo%6U)1r@^#FUR2wN%^H~khe2WU9B&zP1nI( zTK97?EC?w6Std0xn}KhdO%WMAwDQK82@n|Qm5@VQ%7Vr9cYk+bfG&yv| ztjQq~@+3g9y4Kq6Gi}s`E!rydbv+a7=2L7w=QXe?Vz#X{@`2Z$<3ol7ym;#1UJ+zD z?ri*m-M>~0On)(g_Hl~>)g*fTVhLsaG-j>?D0X0Z8={9^I7>b21n9qnR}TPq%qx`W zH#KvnhdMT-eU=jTYMaR&x;PxycFX+V$lJ_-1t}v~u8x!e#0B*nC*P;v)C2^nV*YWk zEiLzFaWa&|>5B#H4jL%1tdF|Pk?UZc;zdI|g?#i{>&+*8T1s}2@pA8ztW@*C4M72Yi&kBO%Lk+ zI6zZU{ZB&+b<95SS^~kWs-DC@#tyRoDFG^iKACBSlpvwb84RudxNA9ftv8~scyl&x zRTp({L|Iydn|)}PzY8T0i%RVAVwLi!v1tAVlrqR156#t5LcIu}srptSj|aBC|EhLn zJR4+>S$`qJ<*!_b0{l(c-gs|&J^=hoK ztz;H2ro&;)14sydxYybUJ*xDgD>1x|P|T+~X72uXSu)`+BFt>d2h))Sr6U4^m;w4^ zqb!ZweRNt}&wkbKy)uIFPG=9vQX{21@|~$apVS1~4>T*c{^SRhcYmPj1F0%7KOc=} zcatpAM;`<$r51=WZEXnDKk>50v)cNL?SogPdLM(@LJJzBkE5HLEcP4BmL$Mp$pW%+ zImAC3|4sDtlDQjrIIkcqsOe+q(esCbeukINpqY-x?)7eoYAwh1Dsi`@VvxwOqfh7S ze}XOvJC!`n*nN1du+TsD*wvEQy;9D*m(lqhkze*q>OJ`5X^F?wrMp%h_C~Y(A|9I% zRHEy}uxSIyDSwN%63J%UmT?XL{csyzGY3X^n_PdANJgp2FXTfN(3tJ8{=AI*I&M5o9l^BLwxsfF!e8mFCS%maR9bDP{d}}fC~5F^kSGbwT6q%!$NPh zuj7`pdcgw(?2o%vf>^G*SaXqE``wPDDkHr3>ckS8;#Zz_I9u=(FJ3r*vz8*xJwN&y zj|jndGP{X>7*YbEZXd=I?Go|r(ma<4Gz5ZQDSb1f@9L#yF;B2`J>dHi1);O?Pqf!+3!vwz$g*BUOS_T#j`8@%8>x>I$$Dzc!i1vcvQyDWo@Xa4=s zw?j~nCvVXQAlNVIawH$6g#Za81gVXVO&NV8o!yB8S`b!pWduhjWL4u6pX@#poRvs* zsuOHjB??!*Yf=?547(uBnzR_<_LOf^b=@~I+-6m<3Aw`cQHb+`8QC&^qR$D(( z1->w)^0VNYE>muJ`WXQj)95xM*GR+o*|8;Yj%8c93!D)ANsF+$W+Sf@&{!CesU9l8 zWw`yB{dNU*m{Csph$)r*;#S9X?~Orq@2)EgO>7S*{_#p?-(t|3;gc{FFP1%s`TcjV z^!{*NbJb9^uJE>^JDPF~x?e{9Wc!{&d;nuI9M8p$wE%l;0@XIY$ml~Mt&FaAyHX{PE6zuz($+XHR{loOu8xumCY7UWPKECugbBS?m1=H4#W!X&u^!A#m$R$X^lK!hRFm&b(nDTC-G;?7)>x!d18+lvucP zRXnL1XNlG6=vD@|L`Cm9?huPp`L5(Q&io-EK6jEhx7^#p-%|*cyD=(W)Y>83a6+y5&@s8w0>5?;W|f5aU+I$8;K)ZtdKcV zVxmIvCOrt=Umbp#whzaf0i%VAyCfxZR-i7gDj7~Ecce@ahuUhw;u^>}H-Z!Bd!Xy4 z9bwkA^FDm5l#LgAqDtUny}hUFOzc07G)R{j*Z#AC$7ySS4jIxa<9iHga3wIPy>uDK5!BVt#U*be1*B z_?5?4Xd&H>6QFmS_{z^FzC0ZCqGiwmky(wJqJFUP~4dZ)kkdG5gC&k zd(%4ZraQqt<|XNh$$bdTZg8%vGQ#~`0dj(^b#ZkxRkX~0KL$_$`Oept@wReKBtva9I8$4 zA{_|Z9pocPIQ~oBE#b1(s}0UwNuSxdSh>6q!!e>5W0m2U4ZwGDlRU4K`*jpkR`{B? z{LBLQq~E&Yvl*De&??}F>HWzP1Mc@br>qGFugFGf(D>?rWWdfHsRL61gH?DS21ka9 z_k?j;H3KKqgj6r*^t2oKa3S~X@Y}sGhU>u+jayaD{Y^S&d9OGnA$N$Hy-$_V#lTh18x zTE2-ML6tQdrGacyGWZegKh7vEmcx7Phxs|tq-_UHqAcipdkNFUd-6!Wr}tKyQ|gd) z|2o$Bxes$`K1KEM7ds)67^A8;zAbAXKH>%GfVc0J7a)`UjP;q|FYdecR+11=iY!d?t%}R5EOIcFKD7jw0{*;85nAk>HUKa zlyf;4ng-y9RA+nGuQQBxWBJ)6ArDl7R=sR!D=sg=X_eH0V`biQ!pi0dtdIJ6jC@3< zFH&5ZuZS&}dIhhDUr`3(j+J3vH~t%`j?(d`on6+Gosb>1l=r8xo>Spj$HGp}b<6?= z?Y^>LOX{O*3BU9i_nqyFi-K;zO`OM1fn58@wQ{=5a36?|lsbFZ%$`|=oQDbZ`;<${ zk>X+4%$d#Pqt|<{zV?bT3fB*4MUe{gn9F;%#LDC8{EtZXqJ@z1X9ph!hSyIhcZ2d| zP*`ER3$E;QE&hqX_rjQeY;z^ypDkY}&08%(5Y8^|V20dAAy3F>X#`=s>llpuIs1$Y zUlh++Mjc@CN$Io(Tz^idz8|GdNt{l^URoLLmUV_(XT#a2P|kH+QWyB4xl|Jwt>cpu zG7b7;ZVNdgKOoEj++-)G=sXDqU^!0hWVV_aJ8dQ28YlN?4F0T~3f2$7eEtIj+-%ae zpyWi{zo8!+xhesth37^ip6I!#iy9V25cc7>J#%Je-C10>zVqVFs%EvWI_1awLMD{G zTnWs7B6I2WliD(-SI*(W&wyMjXftXd%t|nz^`*5oT?IN0K9GWqPK>|C>KN(2O58x7 zhCeg5N21N0a$B*6GhYa)Aghe>iVf=a8T{nfV0nHtEts#y2XZn6Z&D?Q0}#>mG~Uug zX48y6zc<{|?23rb_<4stNIzra3Ta@)rG!&|FDB%Of2fb z#><(zqq$zD5_PhHf2gZo=|~!Bwjqgu${ngq@!GeGX}{6b%{2#q)JM)NG84Og;sV`~ z`;HH;TJ=MkC#WYR-S^qJL@N`bMq@)D52Nknl=nO=;&mH1vrA!x2EISovR|*z&^K*6 zNko17+G2;c6QY6zErjS6Yx3JF1}q@qpnCe3qiM&YV@K=TNVIwRx9H5aTP=r+OuD0d zEM*c=*0mxy$}%OCQ(4s(n-%**YSU+GIhqj@fR1)u)z`&vo0XSsoc~~hE1bc%Lx}&) zjIWq>>aTWx&(SBdkYE&d z&jVH@CJy#uMa?J(g!9S#1cA4GXn`d&dVA$X`93cyK3!at{BIV$Xf)TMZy%GSj0mt% zqI_{}$~Po66&^P}SoY7nIte9lH@qnCY&iAp1}4*tvOn`3DL*&p*6yXd`g|Ri{i6L( zFsnSN_ei_5qeeHc7ctIz4ZQ^}6U9M9KYZ?26G-rS_nS5nP1dFU+7GiY(`b<(l@y$_ zRDZ%9jB|Xwr<`vqA|EaU%$~LXw%qu&`=kFFs1X>r<|KQQA;2A1mJZ%!-_pD zlDwF;jWSr?pYVn&zAJA7x>C`+Ax*=NK1sn+HZ^*<7BcMNd&4N^8X9NHhPrm&t(T}F zcx%QdZu_C19tS_z@SIjQ^>f*APOXk3_|tqms$C}z(af3o#S=bA3C#Zz*;4#oV1WHU z098P$zhMJA;B9dW-Jpk(C9Z~QieS$&W6_pwP2{GJ=)`LXem{@U1DlA^O~&^%KmI(T z{e*46w&ES``R(xaDv0UFE}ZWqUp46?k-Jy2OEg#qqF29@8fADxT!`GQA(8k;sPSi& z9NeYi#Fe-~!r3&uACBVE-#n66XYJPSCPI(Jl>Vth)Aw4p1EKy;SNz#a-z5_TK?U4n8Isfki5@L=s>D5{v=QEWPkPh`sfEqE2+z5XW@#{KPvy_<>S%)` zt5)HnWde;sUDB};N%w6wwEA3hch^vxUe zd9zEFl}{zXH{tbJIBs*cPLDEpJzyC$By_fYJUj7CoBH4TnRrl%{8PhM;x z$B5h0LbT|1IQDdsyq4q$mR}Jpxd~s1jwF2hC>hN|q)A_K1&c;>-~fA@jbKNsIpQ(a zB`$p|$+yJwN|H4=(F(`cY?2SL5%PSI_#=W%-i*Ojb3EoUPf_fZd-7HGCM**7(;KM% zko}e#>0TWpIr?1~J?)4+D!rg|PsxrvMmupaakRmB;Sv5^o#dPd{@m4`?OG%o9D?!9 z1w5)t7)Klx?`#}OPh*Z1?d)ihS1NMZ^m#AinDe>^U>V z?{*QmzZQGs4pf>RqC=<F)Z-8JDGo?ZYe?6=z48C)h4^?Z0eF{i_gV8xAV{>IgkX*=G+E8_tKVKA0X-FBYO^*>} z5w5jC{N%qySUKFm_CxHV458}U6R@O?ee%~FWjMhD6Vo_FfSjE zVrOl6j(AKj+he#Aj9y=nMBy2xuaeVTEP3h*&9HZGP0E?w#10;eH}5BGv1@Q-2-lih zR(QKXW)8}e5i4A7NllWoPeRcy52^xQQkFi(8v2*;7s+r<{)MWR=*I7_Vu`7UzMAB# zmR-U6xINZ#F}QBj6rC_P`Wk{yH;R68+b8^V3Bk{#W*^TZxq}gC>}G;C<;1psr_AOY z6g-UNn?=(pCwymbceYNp;61YeWtE1~(2Kk@4x(O7k*{{ifPNG`EhlQl03uKA zBdT*KQJOm#pWh^AwfIrla)}OY!}_WtaorwbGR(je(GAPYWZ{1g1%qeE_lj3iU21^t zDaJjCBn1!Vc>YDW`iq})M)G0KWwI}QcaEu_BH8%T*c(VDChtSs-K6fS1`2)`967rgx(ZU4T8qC`=WodmJRnY8PG%^) zm>(ozzAYI7#~>VCnqiqL9O2A7yxk?EalwkN!)w$>3!(m_03k7=VLX$Zp6V{U29^^2 zT=?3k0_dupAW`;3UH&&V%SmEP`6N$d7Og|_6-&;`Jc?-SXA7f^ZN%2AK_uLfwURm& z@$VtRqbAE&@mB6^!zB3(<4>tGi$!nyNQwkDJM1LZ{qIH zMVWObhQZS@k1L1mYZU5gf`3*mA+pW{jKNalv^Pnqd>Bp0H{pbn8$%_T{mULLnTtIC>vI`e#1gw)cwgRCvVW3KS+Eg9u`NU|5^V7LFd?yp2o#YV zQa8cBI_df8%}_gDqfKr{bbpx-*mRP(I(dmn-HPSk1%wQZl{zH4V@2_qM~e>lcPe{2 zOO7bE2*!+Z801`N!?#KRh2oYx1!H}7Y<&iI^hR&=zB>% zpgGqc;;W>}C zVYJjEDt}$vO=NaO+XCg}uA+(NC-9H_zabhlansQ^5^ZGa1HzX}Hh=MDd}V(MPI^u3 za20Dp7wLqqqI`b0FG{SkzXix(gC5y7=2pDa4Pt;}FN3x(fanu&M!PHgu? zgFYtDdM%%1QAHoPu#nWjCrQ{k1ACj}l8v1%Tu-?AyCvv;hKZ;6Ui9yFB<|>mMP>=K z(!UMDGc|hIix*`D?;giHv;{HEMJqio8f8wI_muT9POpsF97gbw&w{%;qw0DSMSjU- zEtI;_O0d?9qG;s%-A^TV{7mK)AN0n%K=KU3^NZ&&7{B-&=EfPAC7+;6ijX zDU5IFcB20-heLShkr7icOn*Xp;f(*!`%QZB6-QCY*EK&RTI@N_zi&@mwNzXd`Pm;* zV>|a^moXXZ=&Hn~93t?wCFV@26|;AfJk^dS>j%l*7LrVuXmh77VUDYURkGOHsgDVy z4aS9NGZ~}Ny|9XQJRe7n6!8w<67yd+tD?+Be%y}v`VVxyjiPVv!mcbqT93E5#LIQO z6mFvwY;`j~8B3eU{D(H#RAi=~LyBkMj}@}B?Z{oi|~ zI$A%Ap}@TDZ~=4B->6M}yKKa!)3LVH;>oN)2)--)JNNoK){-y`a8!9n?t zOZ^@%{kI{?Yy~CPE_Z&GWcpV8iD5x?R)1KGdy42~gJn)h&ab6-ImvuUpY2l^%e21I zzr`c%HAm*xo}=_FK=t7mriPMn`+fr7#@?cj)WOm7DAB{+(q|W;QEo@Mc?l8Uy2@P> zA8fz)BlmX_yI8VclQiNl*Fk@$Hl~Y>aZON>tR72T@b@O#|P|v zWDcRo6rx)VL|b1c`n2fEOB>>oGh%)zGbOd8mb{Yrv)VN|eNgswa0G_Q=diw&99jp_ zPHm!@T$dX2@dt(>dBpR-A@kK9Om|k{dbt%(+H0AE>x8*t2I^=3O6{(T<4^~bKUc_q z6Fqw7G86??5|Q+dXsh7j!AH?O|5tJmRZz$rvR$-2?Fi9*w-%Oryq}05@f>Q@Ber7+ z6ixezZqfnI72#u#77;eO01C@;w#RHCQnaYVJ*CmK6#UUzvURUpV%;o0WA(o1N;$|> z9wt1wG*Q!k5}c&Md8)n4BUB`5nsDh2e~PX)R4`g^qJNJO?wMP-tLXkw_t7R@L;G+5 z;lBhYS?>~G^&yGh>l4x?Cz^rRP_GP;tb@#i{B{ymMlu(p5(rzG9qmTZcdq$RXFq^5 zUmoJR43n9$(j?56{CoAcl3m$^Gc%H#y#&`c6is5EV7r`!a8e(AObg7@1*2Z5FPZCn z_&ZCUquW~XuDf8GBsJiQXtjy?*#1fKMcv1V4!?-_EN8@b%8lXUJpymSF=UmzLQU}j zRtZPyGZ{lq$&H-cK}7j~uukre&Rq_DY#(&d1}r<nwef zkIHqDeD`^FypdAf~9{A(j#7p zuPqpB(oXbMy}~#4p|`#zGqi#DJW;rxOAq|Dn0>>)k}i6H!zelJR>C3tv#<;kKX7Af z$@GZVbaNTzy`o8-m07!o(r2=Y&Nur{bXyN%>t`e8n0TR;o}vGE7mZy!+8=+Scs&N= zx8}kbF5sUgS^qg@4{Sc zaR+b=?u0^oA@`@1QZKp^?>jC2kU_9dGhFp6;fj&0$Ng*Q7PduE^%#+v+p#?neWT|o zTr%se?w+3*>6OZYb{-`5ovI<+ep2jq@E~=%i2pdzKr~%ng z{TPp{gJ6c~qDOb>g>vFutoJs`dbT3GfcS+A>k!?p4eGz7)*P*h_TWO)Ib;U!j^tk6 z-WUB^wCN(<(0&nZ>rQ)u(hMl_iKeYxz%Gwu9Y+hs-S;<+Ja=&{yD9nc8dz3%HZ1PUPME>FLQ`*en{5&Bd)ML>?=Bg*gKNjQMO?3eyKk_N02T#>cEfy0l~eFvtBHN zBqz1DzxdWB$>xp1I=(u-zjDYsCO)EDWh0~MpXl$(y$i_PZQV0O%#vC5VGhX(OaCae zke#KhnBPi%=KUPZT?~RJWu~(3P2$@G6Mw!1fl~>%z8uAu@l@t+&&jMny7X`p$!i~y zvbnlwZPF)d9>!)&6>K++*!eE;e3CFMU5+JpOAL1wNXF?shBq68)8@c?BDd&+J49y_ z{`+SwRJ$s%N4E@1xyu;MZE!{GL08U&^@?cE>EeUExkY5FS44~tN3%FP#-ho%#=ar^ zi_G5D%}V$VS=Y8I{06zdX_85~ESlOU$<>%8bGT_VVG&Yix=g?uu0{J?bnG}SQLY2T zj30x29D3sO3r*9*7q1_9@t}GXyVXeH+ zK`{99!l=`N2x`!a?Og^F?iUYxykMS>%}|s%i+l4?yz@$-srp4`()MBNag~ilO_+Nr zFnIgo%pZb!h@FI>eW=76i&@!)r0fvcCKmhg50VoXT_&j~zE3X+3~xb3;fpfQCAj2- z_zO#KOZ_=0byV`0zoj;>5*}a1N1$Q2%sj3pq4a9vMl2KDCR|M;8K1Gji_UKoKjo0* z$Ex7|Fq{oRVHPa)zY?^Pe5b5jb-^PJaZb#yun~%HWU#Y z*;}#)g8e+<=wH0Uu)88rGGnNl@03|t6QLy<$?WuFwk^^Tn*B1-B`2cqK0|zD@uLPR zMMqxAR^4#P5B-pAOl2(3&Y|ca?>z7gBO-F7%#(<3d1kECyxh`1+K4V0j&-K!{rBR~ z70pI?^R+6fq%P-JfwOH-nGq1ZcwQkAt`{f%_cGDYAFyNpId;~U9LiMj>dO3=YweEb zyS$sDT2_u2DiR-=1EutP=Zdko56s5aHbVSs(P;Y|Ms;_q_@06ZcgEp!en*j=Oh<9_svIh zs1T-O%ZRvCov?|LGrYf2@`h5Y(q;CL90aG?+34>}XwV>eCyf{5Tfu#ABxCgKyyT|l z26o#glAf;>9eRxT zj#B^jRV1!y12mNmiXV6jQ+#KP_q!41tB330E;0r_!TG1mU5=9(-S>jIK1$ZFig3 zFv*TTuT4t*pOSC<3t!*;7*DN7*GqB;2}|)rJwbKHhq6+4l5d{IdEAE5I}}Um9(=iT zkda$(%u><$`pG*R^x|JPeNXD9GVJVf4$bX@*cZz?0!nVf)l;ye$BuWg9MAv$xmpytd^T)D2(Yx6G@U86sY8-j>lC>5rSmhbc+rv?mh>`rkHS8|QgLT{^ z^9iT1?GU|fZ3KZ5EzsO}iSM5eBnr-nXf+PEt*X=*$-jPEMrNzt#0`-%RNb zNQ0!(At{m~4SFa+kP<{f8l2SXLe_{JAtKBx};N<5>${z;P>*muIKsl z_t$;h*L^F??0i3;_xqgJIbWEJ<<%7XQ)k8Oy)O4GdN7`KRXlp9jqio}y4T{$q}rJ0LPDRUOjqjR!ygU>0UaSNHB zo}^pkq!MfOld}qZpuH?J&=jRbMe=-3Qe-L_+Xikqj;xWPMZBV8!?bI2GX-S*Lk5+6 z|BuxbTl52b&)$lfK8ZP?l8k{3@H5aX8sUxJI;h~gvlSEELB1X8DD?hdxL!1=uae}6 z8i4Qc)BkY)v90j@yP&ajDxyG>ucFL_3f|e1yW*G%`u#z_47>F6^K#FF?SWTJE#|F^ zea!gmO0E-2$yTmY;=E)et|MNJD<(iazG8@@-zAK+rHjbe|wuGo*hRNN5miwy3imz>qJH^~DJ zV;=+GU^mE?ZB}^U;7lv*Cu4<`im2!((|2p-emhL&@3!K3GxtmiQ1}kmjhJzY z%ga<+;n&Jacn913j}m9|`S?aC`Z|mwf5(EqkI2@Y^X3`#9wsC6Cq2ptPe)QDbEO zZHRIL@oailMPvF*do!oYUN90yrK93{&89;MzAuH(uJ@1Rdg)#``I%h1!j#mztjxdH zk-G|+z-k?oefzKiW-LW>S)lkh&W66*mC|XpOm)X8g}kVz44l_$KKok7W$0W_Y2DG* zhQE~2cvr?h==-Uafwqz$+?Kx0k3j$;-b4TVu%t-0p@aN=J zwx`NoI9k4$^|XF*Tlo$_*Kpx2J->y%ca@%>2C{U5i@RS`el75z&eH4hk~61RZ~VlE zvijdweDAJwq>Wa>ize`qTV(qqPH}tIDtTI>Vpf&JQ#hnZ??-gZw2-l0rec`&+$#!{ zl<|oY4fNVvnW7z|I?DO$eWkBLYe<3#^#|JvuxduVh*iIu@!b-u}7bF65GjKwlgA0u8Az3}B#AK58IW#!;Dl$xSwH zr;v9glu4$=k%PB99?kvOZAHwcC*d3{+0~!f<8QF{FxS_vk5)tH&(-}(d^&>8jz!us zAyUpcWFt)3+PoewF>#Bc_p<9(gaHjJst7}4IcAVGF|7R`ztlK%xZKb1aSZfqo@y!6 zj3^kJ;XI>sWvxO&pY=j8aa&M?fLZc>{Rskb>unImEHq`5`O%F z{r(slPp~qA;3AtO(C=kb{4jh4SCCQ`v{P&(8sVG}T1vAj+_%i6kURTpMBm+pE_P)RbXMf$PkTbAxHQ%+28yl>p(ht za(`FUFHy?t-B|(X!ijy4$uykvF)vDvMpfkU3FCX+M2^4b${O2<+2x`#zQse`zn|Rt zE56HkgJqew8usTIVQ(IecKH}hE-FKgTUX@T8zD;;oPF{<_WM?3OqeT9lvd_I*y+dc zN>3KbR*~Gmxs}ST`W)Zlw1N**QCLn@7{~*hCGZeY%<%V0$~+EEVV+ga=l5hkK9&B5 zC$g`DU+P$1A?fGQrr~q*(c;$?!5j5eKs#pk`}pxT81j8V3WT%sev0Nch(3eQ@$B`p zf_b(hR+dtTH%#6~bm*MJ`}yLf;veHhhxDS)qb*(uojx}X$>EbpE@7HtqGl=D$xK?~ zJzX%nd3HEg2aHg-$JsKS(C8dUBn@pRTe`0m9ShIu8%yM|s|kB+J(T505+Y-x+cg{fwTbG&(t) z%Gx(g0c&CutF_@X-bMY}e3On6d#(nPy>$*=YONU_PCl@yRD$MO}N-v{KW{X(g~-cxW}^u%~}g|}#}JHA$=d6<%)w^VE# zx%w&3mA&G)5+|OPdm%f`OqjG1eE&NBE6>v+%Aelhe?JfQpgMA~$2su|!v-&)YpDg9 zI?lNda^xv7l9`$vjoBoj+CV}`QUN#K!}pOZ!8eZot~%cNFgd(9*P8d1+h$VI z9x_m|aFV@B$^7SBrJXNIZWEUB2EHu%U;NxrFt49|p|D6a zve^%=n6YBT%qM_qQz}e2%lZp`GE?4Cb=G?d$j#qek;fw=68`bF#lvtKyZ9gg3QBDQ6J# z?d-M6|8^McTuu4!f&ZP)v-V%FXN^ykvT&^&P1h^<)I_<4`fBqzI)p1FC~Z~|#s5ps z!j+M7CHyPn{I_T*QHndvEI}WK2@Nyr2p+{w?lf-%epFIJ>F~?*s-C-WywI3 zI+G{s{E28XbkH2CE`N7lrP;_0mmE!204?sxQ$+{DNe-(ncj6p{M0A#C#vr^&_ToMF z6uze#dASF2d_sn+vq9FW(P*hJ6*e8-G_Mj|bx-tzg9^#rpr~g2-i|ewbAAx4>vTCf zdKBIXzGp=MY!pmy$^u0!xucLvWLo`UI0kg5kL`$ptI^{&E=F-_aEK>i8spE>Ev08HT@?Ys3PXc9Mgy zOIA4r&no#gzR+H!TOTQQP8R+pJUW_BTB9uZP;$9m&y{%3SI&JrpMz(}vK9aJR+=Ir zN~xgjSVf*iUtUBfLML{Ct$gN-nbUm}71E1La|<+)-{6c-Oq1^bn9ZA$6&hchor3TE zAM9#NZz*c>A2Rl@tAvUD>E(eP9C%vEMfqObTF#xtOnZoo%!6;_^6>M-Oj5KP-o^Ar zY4we=ZYJB2olQpzJjMWg%Slh^lwnW(gZZa+D@Cq3!#uD-=|8ohyG-c0LzVFj%wX?A z#Xjz!i2w4Ula8Xrp+y$ZUky<3`ymR=@1?*#_>4Y($lm;8h1afzUe${X9zRzsItW?Nytrru z|2YYLkxt}L=0dV=S*tiRHl9;t?s@K(e%#B;>4mf67vEF-%F(h6H7N>B#@qxgtR}g= zV|dH66JQ4YWhyuhlL8Ad<1P7<97UBRFJJnJLY7=r&_;Bq&$lYXr~EHV07tt z+PFn7|CMME3$!QOth^~7DgEdPIom&ERxF}j6y3E_wD5GPz61&tu!{c1c9i-T0_{b}ED;O<*!>%+Xd$WT(zLY`S z52uYVapcm=F6O><$lMCCvvw8QRZMWcz2GVp>9+3(>_W_g+*FVmu9!$ z*!%uc$X4={b?~UrghK4qVEH=A{GL5A;Undz!d^uFzzlnsbA;LdI1F6MO7eszB@Z(x zdgWSl9A@LMlF8!peEr*ze76-1%BTRpT?##h9|UI+>_CfIbxV%0{q!?=E8;zOZP8k= zA~8JYugSx=P*l0aikii<_~SdYwM()*8$(u?UFk`zVouGI&!+J*cZNR?vBBGM)>*$% zXrY%9@4y+iJukmkXgod3DR%f&1+BQCh+T!URNbzy(#Gcd6p(5;HyWg(cwkTNjP*daA6;@DDfB7ZJ)XGP#{H zrg6R`eJs}*n3CNaTGbRwYiE zq}1MUE9;Mt`M4{?W}c@SeBWCZk*f&I{`6LKE7W9vATwq?F4JH<7%{6?gbi!gN7mvG z@D9t!(|}x9PrUK%=!O{?bSwW9>Gh5zPg5MLxY`LnuyAxztGK7vIvSg>}j4Owx-jm$cCeEw&chF7` z;^pFDPM#yz`Jr$s1UqS&h*Jj3bM#^5mw{$EV?-Ug)8YmR%nEbPkYgYa+!Vk z1Ns`_QtmF5v#>zHKULxT@<@iS*{ABy=3G6ms80)J+BQxR-8ly*AA*-5i!>Y`dO?Vs zFZU^Oc{>Gq!-y7{sF)t)sU8iGu`o*6?G*^ZQ@_%PYK$0@xdGh^G)Jo~Ujv(75AD?DD^fyysSuCL-CB~9lZ8JaI^ zPq?|a6<~+f$kTYVat`_`)74VOoP|od6d?C&nA>3m+Hsp_JN=zfYhC6pCeveRik7j8 zEYy$m!j|U_A&-=suYk@s&`T~b>!9@x%*RV0zdC8C%oCQt1<*GJ8*Y1m-?a_j9!)7e zh(6w{Khjg0Ob^e8N@E|-_zKRyXri(_ugI2i-c+5#@28cb*3gGz{Z{VPLlko$LKz>I zRKZ_u6!}Lh<%Y3KblXFIVL3gzG{>oOF1b(BKtk5|-Q^ugw26{0g0HgSuBuArOwz%qY^u9B39w{TGA zrFapYQkAgjXIZwT%TW*~cagqd_f3>vX!jH;Z$v<1A zlZ>}-D#AhrVk`XQ3G$;C=wLOc$x|U6&IGnLbtd|7OZEo*@GX;hm&5~h*wgs1+~rf7 z!@U+k%jP-zc{X$EXoZ(C$T5GB{>xdL_dTGKXsB!te`S_N(_J`No2yu5Uz)49#>~_9 zM~b<7NSSbO&S!WsSJBt5lX*SLzc*|WyEC)3L$D3#Kf7Y#)(y;+KCF(XlEPz(w006v#;=bzO7LDa>I^1Rq&%gg?)nGTYQb2Z`nah z^pN|93}xQyi>H2!|8HA`P4h5^cHj$J(&VCRcq!+^T}AvpSg93Y8xkff zrB=Ay<9aFi>U!?5af&}SS@s4Cm}iU7mGxfk#}j0o&7CsubD2|qCAZj?%*;oMTTvg6 zeWCW=!1K0WkoEl{rM@Ho(4O4HZSIE89?4ja9IhAq(%2v6kJo5U_)ZyFs}uphpLRBu z9kz%P(wi#8i3Xa_9Ce>F=N$ihNDDnWi0|`G*;S?}bMrI#_4iVQ9S^qy`I57x zT%*z`OR-v2O@J(-`S@e{tE zCHX#$klFN_S?3Yl?K&A+JK-Z%$p>c6jRqb(H(!CTU`bzX<#Yc>8Am3_a|6F%7SCi5 z=gNILd?M)R7#a(o=BM=IL&%J9S08JMFFi|HEztBUR90L;RXNco?ILekzN}*Y>Y{{^ zn-%1M`?8l|Pc5gdGsn;s;ZkOgp0c*Sq5O3wWk0y49p&-2(>ur*6-=HaS$UhDE2&3C z7?s~-+20*+Z;5>WL^GJMlYT82sxrSRKHwBA*$%!>{EYoL(?-EYt-hw1(&Vt0yV$L- z$Z_~D_!l}8nJZj_*Rb2pRMK|*w#ww(YTSoCtbm?KUqat5+TVAxV#fw6Bsc)g;9rg9r;;mwh@Y6s8B2C?Hs7<1`^q*l+igpu*O_^X$#KK z+j~c*9ptl%HDgag+bK1Qo#dE8`u;6T6n((6AIUVRrSdM|4Nv`2zixRiLw0Ss7So6R znjWc4_=oj;U*m?-{W=Hc|D61$w3G9~6#4dH9?X5Js7|jHy&+sS)m0?lt=Ma;Wc}d~ zUPH73@wDs~n48f-oS$d#RJj`t!Da2jn_YHQn|>*+*wt1=?;1nTF`4$;MsnFZ6ys$6 z(;7K;q|m1~Me!r5DdN@|5kz*^t z)iGOC*`n;#?EPtYGovD8>{y_h72#bhi~099m8lj?>Z%SE> zw4P#Dz%JJx!teYwJKb#U`I~-`=m2H)zND8OpU+!as+U*gsZD_nF6v zUC~~@sfwP#y?SAV>}hlOY{-NB+?sA6dLtGOmiyjYMO^$w2`?wZ*>qCajH8O-oU-xX zBbN74NLUmcG@S!u-^zkM=E|ALOz)+zVlU)eT}^>a$U~7aa`d~;>@ipIXX#V=;fd~! zq?@{Wf9@}`64Q3_nJj^qX{pd3>&o;t37yd*=hhfSHpCZSSB`tF47&Ar1>DP%bv=J( zfEWB3?}MpS1G^Xaqn5B}mv3yq@;b(_%Ji_12q zhin1(M-|wU;6!)%*T?(Jkl&po*{Y#4-t7i6LDzPp|9Y^y!%2;kYt%({suE;JYsvXn zq;ld*aaYq1;d7WCtwP1z{6n$B*qh4US87N)Ua6V$9**e-UfZO1a);HBZGK6fXS||X z%@zIO8`+9AlFbOay0NYd<}if?!%O-PBtztsD`q@126>$w=pAT(DPePYpUlVb%p>JV zI3UNsBxR4``8{|{$*J%eDf<CIL*IazBeA;%Dcb#?$>#&fnux(25jFo*b`kdh|%t%pXrO=sI z-=ck$VF+H*Q`(n3RNZBJF;U4!#D3OGF`-kL7i-G0g}mxlEtMRAR$rrooUdSv<~(H1 z`bf4*cBQps-y81Mkv*6A%>Pv8!}2_jDN4^fk1kZG)UzkZEFDr>g9~yM&^29so}!QT z!*f4NCV#A~K3$bK?4bM}o>J^&y7VvKRp>cy_@Q7q&cYDc(9HIHkG^KduceD%1$xdD zBmK2=?8Zgb)lj1N4~?4{F1YzpWYxtq=Xekc5Xj4z3_jB$p=XvSJ+`ImU?7fdDr})Q8X}L(A z1H3!Im%h4*>|`Z*$CU3nMIJ6s-WEQ(>MshIb(8&-oJ$Pz*oqct8mr*4PRX|zT`-nx zd7q^RwFA6qZyQWRWjPlo%5rg&GK!FKg)4MU&1Ck6Ne_D#xGoL&pX)xN1Lx=fN%mS|fq^hOKXSYf2XpB-2H z!s&GXaOc*@k@Ndo^bC@TF2b&zS6b1FIOjZWS#4GwdjCd_3vtRFdrr~Jo@wn0`3`=n z;4An%<@p^g?IG)(S_=Pf27i1)G4Gzrb`u^Tk{veVcNyE^W&W0>=p~h8Sle0orCXzW zr_ed}i^6WwU*RCnn0-~wiufnrF(nER zbwb-&W;)1SVQ^M+Z5e_=&_!3+MF zKdWmSS-Np=uO<7^nXFrLG|1!g75NM%D9MO+eo4lfeU!-e!*AmnrOceb-x*JuyTim& zmI@>4>hg{9o8zy2O6+u#{y(pB=%i1u_$StBZFNA6k`$5dwS^_9a7~5{vGgdFgOlJM=@F{T4&?io#iC!@yQzWa&JBpZ$Si+@H#RubC`^ipbw#R>ZHc*StF^vI6~uH@}Br z;`7WZhgRqXD`1BOJSqRFKFmlBmF0Doj%)hLs=+qzT1;oaB}FD4mFrTxa`~>rHJPl` z*Rx<}`^!Y$)X_GEdzy1Iw!H$l$L;g}RrqGQC#rN%5^R|#pV__QUiLZ|$fs${h3Gb& z=%U-td0Ow394GmmzG@=h9RuZA1xIjcq7uy>84p#4vmC4q*GI|Po!;!ZbVrQ&K)yAr zEAY25GL$LB{PTknKkBETIkl8%!qdd(ifTYVCUcyDtXWiZ19vWcC`De;cT*&aja2M?aS%uay$={(;Nn?%j>1e)f08l(>gq+6X<6?#6K~@Jkny5qzr5YMiS* zVT%5$udTz#o8D?B_mC#cOCuE9zGDC@Fop|Vf%aK(}t_^S+sRqteW?pY^bl}x=H@lS>$h_I}m7=#yRbWu z8@5+TU+Y>${E`o-={?_nB3+vcf+f~>x%k$A6Yrxol+cKeG=KNhMXN83*|aC zL&2-=$kEu1M){%KOB>LiHxfQ#f&xPP@ZKxQ@~BYBxv&j$X2~}cKc){H@SG)ba<&J) z!si&Auc$a9d)8J3?kyr??htZse=Fp|Jq3BeS2p2ixG+Q3F7svV%UM)#QXyVT}hh84m zg03Po<$?E<%lQ&f{~Nj6UuHL|$@7x0aAO#=Qyp2GlF!Uo!pydZ3>F^vVfdgDeH8wN z`@DNDnYh6Ut=bS)5$~^Yx{Q68aho2L#p@0;6uB*1wESB8;r}Pe(Vm&C)PCi6Vn^Dy zSs|0rI!e4%P|h{^*5clr`@3w}>lJ}N;r`M`QPzD5ES8~gS1WmY3Kdink7O5K%|7nU z;&r)8D$9QUk@DN!hbzV_$MebY=6kUqLCH^(v~3x^K>flMZwOV)=LY4}B4a=BcjcCj zQ_i+ul@d1(PN<7w_m@|WA%)HW-kVe9ysTklq?_MR+?1l)d9I8MH{o<|<8ylTQ0&}V zvK!es>Q^KOvrgs(E%7%y%H0{=0shYL0Cu92k8EB6@|1e3n9VR(e@D^-e_1ZFH8G~; zFpUxiN9)H$xLAH#S4MBiP-CCniqivE12EUu%n z%o?tY${C7U1YeZpf-mkbOY<3uSjgVH`jyhq$E?HPC@=AM@nXN2aGrN(4N&5SF`VD* zvQNmLWwzJ0dfzGNb8;+q*z?w$klT``z(?rh&1&QAtWd}&{N3u)p*;eg%QH$b#jnb9 z>X=g6Usd!n{3mkg5wq~&oA9}RmB6e}OvVIQ|K!$W-^ukXE2k~ZzL8Ijujxjl7s-r< zKgCPYi9s?>8=?sGp70?ixejt(_w$lFwwP>n$+iSGCMQ~!ylAFuE&3| z-hD+K2!Lm5p_swf6yGaD=E;+Ev>{z_gV6-5@IKLz|4YU2zX6)^W ziu`mi{`DV9d&b`Miao0U=IK=nxu3tJhu&qeJ zS57O*MXzwprt+!#CGV|8w?F)$66Pl>@F%#0xA-OF&`GmlMed}@zn78s0kQfqb_zxvQ%3p4VUT=lo~Mv3Z7^YhhO#`D$CKQp$SE zdwslHphHYh9PddnjNgujga!-a;JyGCAKgTm>2R+9>{bR|RMdxK6CjWKuWIm*GeqC9j9CYqL$3F8I^tQE(FU%yH+K zdrXpR=5<)slW5%&l#|Z>Y(Jpn!nJZ=g_nNuLh&p9MEe*>Cq3R~*NzHbJ6eJ3lV$2P zhdt4#yhbsKtTkIX` zp1#cjG&UPu31qh$hbv|9Ik`eMDD*P>#3Am@sgvQcK9TuZwnA>5kge$NcpbdIbLwb% zSz5_=hPQl|oL0b2vH-ce6jUk$_61h?1pCVw-eD0*=BVkW|9S6|F{vsZC@k>t+X|{0 zrA^~Y$k?0w*nRpur@)C=(cLO-U}yMNksZ&Tf#TjlyNjPn^*>U-v&lAGn&Ggg^{*2oX7#y)?YEZ=32o$92JXOES!|5t@C z@R23Q{uIwb+Of;xHbY;)%q%FB-W!TaFYLl}b z7p#au$x6v{=|IL>`e)IMjkC1n;stqL!~LAZpkh zK0kcr4oZH-xtD!G_Fi}^y^hG#uD%QrKPY2on6@?=2j|lh_FyVH*Y{+U(c{eM8G9oY zdYzok@m6xqh6(@ry>fi2DCPPSS*Md3>|arPTGG?ot15cVY=yUjkG*$FuB-ez29U#w z!*_MPfFY2=53l@xsY!U`003?71MC0*e6T+g0$u=500#g70000WqnrSVKz6?X00000 z003kMR6=2MYh`o^Mrm|SP*z29atA?BR!3oJZU6!R0DS-e000C403R#>0DS)dT1*I* zZ2+)*0C)kcyJb{XZ`AcmNOyO4cf*==DF`ZxVvCBHU>73Y-6;(sScoFFqG0@OY(;Fr z02EY=_j=xOp7Z^TarnX*47hLZz1LoA&bfXUEJjyB+@=KzD^I`--Ea)M3ukvtSUpU| z^xOnE1ulb3(*U$q3PR1&7MznCAad0gf)>+hWKkz%SIU-o0+#Ao2)Sr~YQ)1O!;8r$}ahO0{GzJV9@{C!UEFBs9G^bmS+ zEfZ7TZiUL_4sgy3gtUts1YgX6!E;$?zS4!Pq9kHKCWWlla9QYh(!;o_goVPZBPnsW^-%FvT=LPM@1JHST9-euCfs+N4 z>_+I_r7{SOWWk813<4SI5P!ahMs`_3wX&6lhrd#Pr#g*qPNE;ri@+Pu3dP0e=+lZB zn6hj(66}28a^n*;)~tlTzi0NMrhvh8@F;qvee;2}*2Ee%M z8Ro@}VWHJHwjN)E`QPurzfuRzgZXsjr2}0(*-rHv|I&rLRO+3wjV8}70H=QyJs5Zl zq05J%dxalLyoaH^Iv;M-2zfgN7z{k2@9~weY5EBRRc$B@{)9?_7Q2U!VcgITnUZ#B zON6!1XVPkx6%fdTs0j3&li+7Er;e*KX{p+hbFHN)PLQ8 zszec7lU76DyAl555m=Tx9SWTU)%~whl=kDsQb4==+AumB6lCc+kVpEyDV`3@uUCF{h)tuc0#jDkbd*r1b1c(1lFq1 zw}ox=`|c2?B+xrZ7ADj9BMAt9en^wDE9hrdD8zLt zpk7)4>Hc}pye|dK-!2d|*#n6=wUGFA9yS(bP%F6rnU!Ub77v1vfhqJ=0wCsm9lTE$ zfg>p&Jf^-d7W-lhFRUuZ&yi+Wac(8CT68Z~T%`bAd% z(K?VB=m5vcEQk#ZL$8GkYM)!6=KKhznsQL%dkWzoBdA{f3z3%z&<{w0$DAUlYAu6V zxi%cH#zK!f4|)p9bW`#+z0^}=|Kn>K&EuhKr+w%~fe~GQqX#bWNoaUjLh{jNh%Vv8 zw8{n;Tl|8^t9n>S?uPJ;53Jw4gM|4y%(O3okL&qWEUk}sA2`~_N47E4MV6nmo3Y%ttf3YI0KC0L!FC5O=!hbJ`hDIHTHr?J|*2`%w4D7XYb z$EAzS<}xT9DuEpbFLa-k!S38+=v3~6uK7PGr_O|iLkgrPwJ~M&DJUn%d=(lSf*?LRk0z^@L%pjI)=zaI5x@)U=T{*X*8{^{hao9e0+Tt$uqnL< z4XqHUr=Etoej(gtKS6!w0;oJ6gyLaU=(+!bjc+vMZZ3!Jsy0a0t;dw&FVM*J1Amb* z^~;BYU+@jMW(GiLf|p*_UIdS~A`L%qrCX8l;4)nT?u8OGlotg0?Fu)CD%fSMfa%0X zxZIk+!t<*TdUyb{R2IUg>>TWQo1i+81N&ExNZE3 z`4L`l-{=T4$yu=2^ADzBU!fM=1|yLsD0gteV5d0z&mM;Hhc4)Fh{32&0v^``;kfoU z#BcnCc~KOcXZ1sQp)mq#Q=mF~HX`h&LhVs1%r0j_s3Ztd+u1Bj_d~!IGdLt&WxanG zQv3JA>Rck|vmcBuro-}H2K3h3!)P9$z3~v-XP7{y-v{D(?;-sp8nV&C(CW$tUz7=~ z+o~|X;V+aqK0vz92fAEOApD6B-1+-izi@)arcfBXwgUG+4zxM`gLl{?Y`XUlbJUh2 z_un(Di?Tw()kY-n7Gbm9ORUcMiUoro5Xzs3g+4bh0@DUoNzhG2w66&FLkoA&; znQ|1XO-|TGaKqr)S72NecINdkk-7?_oM3i+RN*3b2;%+kVWx5#;x!?#c)bMTv88Zo z%7J}pI&>EM!dQ4YOngP*>3Ild52B#&qzx&L@8JD)0`is8P|*Jg8RtW+zTdOCzk>DK ztI+Xy10gvZ$Ul4pgW-JeUTC8~IX9tRqXw-qQ)phZhkT?T#Cn!PrBNIx&qTI zx*=$|0f9V`up1JGmWLj+Cv0F;ngFfxHmDk>K~Mb(T(=iO(?f?~CWLmPA z69JEQ!R?j@+&MNwF{}?Np4PCQAq?viig3;>fTn{M%+9Qa^rsmxih0WVLMv1rUZ4@p zW;mE^gUI9?_IGDt8LkH2#6ZZ*vxc~QK*gCUZ3D~B@PBd2{7gg1+Sb3_#c_Wtu+jO z_rhWOIUPzR`IxHt5mwC+@Vin6P3J~9O$NZj_zg^Bzrv)X6X5NFien7)SABt!+zANo zya%BW3+Q@0hFmolBoyw#+|LcBOkc~X<-^hFEZpe;WR<5v^`T*wqybPC}!$`V06$z_3F+1icLglw%;};Y7`59p8#U3o2 z$FxY_TFkw81M@dchkxV{1g+Dtko7P*fg^CfYY*)eRnT)ugZ}C|7(QJFt9Nsuv8s^i z?HK5$*g;{tJ2X;5VLa;^jJN!Qfp#&XEPwtJO)wr z|0pV3L-OGY_WTxNMf6-4{;-DbDW<(!|G-_K2%OM>^1B<5?rnk;S2rvd@Ic;_z;QZ~ zMn4wNzrIBJ*zQF?&L@MHM};OYjM1AYK6?LbGx$~cA-??uBt>(eARG)H*A7e>=b&HT zykRN(43=`vaO0H3H0dLN{xjHp?S;>}0T{@37e_(+mj~pmn2*acfQQUK zi1s-_Q9%G3*i3S=XI@Z{J$t*HVZ1yLB1yV1+Qb2Ql~?rVMG17bmV$SNE(FR2VVY46 zG4FGbD%}D8;AU`#AAlmy9%u$wLoIy~w2RI|MeaDn=Kh9!!V%bPW!meaG6DyVKr-z; zJ^lQZUKcsiwY>9mccTOiPXCWSm=w^95E<&%aiMEN#`LxSFWtRW1Ma*wx?R4W`d7$O zUsyNYJMavy`72@1vmP#-ym0bQfQIG*n5_KwHCXQp#nPy?tPkCS%HnFsJyV6rfjETn{f5g%Nobe^L*Zuy z^ecWtgNv8dXE@~D)gd9qG>p(D=E1Guq{4jRicxS}Yk_#+2N+(Hf%Jc_H1R%!&E{?x zcuYcRSv&omZcpDO-RSM$S$cP@hX&9~WA{BFINh7Rwk?4a?+DZ3HjoSsfVk2mO{UC- zG~WRId{Rt<&Sfz4JqptwCm?b0AA-}SVZpKi_$c0i)~3(U^h<)5=^|*|6oQddGo~wT zf$bVmta`->>t9z8XmuCvJpr(s_66R0gD@X8f$C5{492D4CAtDQ)d9by%21uz0Lk_B zkhydRftN+0`%n+&q4uEFk701E0InDHVU@ZAiW}l#d3X$t=D*=65{b~*ZE$Ru3mFjy zsI4yskAeb30|g*{vg{6fT_w-%2&uvXctg$A9UJ5$5pL5A>-g`O5e`wrHB ze2b_lx^S*lf`^X{>@S$n-V6?7tGfhlH=29|R%GrAdJPbv^@DhWlq4$NG`53kKkPt5dz%%2%hwYvt}N6TP% z=QiX$OhFr5;AeRl?vED3b}gHot!?nJ?}B0QeCYY7!8)}Qn%*u@S$`A!cY2}Fmkh}x z<=_}4h}`)GG24X@5`GRb{U!(rj6w6pHt=VhgLdgsm~0n=uf=LC4tWo|o_p}ke~tCW z=OSX^a%@uQguR>!{IvGLEB6kI7f6FOFJV3cZ!u>U$>t+E$#TEZ|7zl;@sx?z1G9F7MEVbGrgn_r2LnRtx_ zLI1&g`V5#;5iG8<`;k@w?YA7zcxegqxzFHzZX+xg&VqX9Y3R$9V*WcNEL+eB({N$t z`7>bH=nBocoA9iE4SBBH(EpeL{gfxL(?5rmXKWyG!5rq5iqJiH119ypkm-iA|6X4uPCwH_X&hA(uM~ z23akz^E!_;*K^=KFA4D{cVI48Kf<_6Fn!?*I4(VhY03hKi+PN>#j;qCvkbv!xUo5F z4(2WHMfk^1gpvzZ#1&y4%Ms11}2+^dvq7tHh@UTP3S9~hat=J4BP&&jOGl~2eS3&ur6*T|)gEuG&CLJutk(>%)wb@YRvjV5k zQfM4jg7U!vh}s!L>DnN+=c&QJAQ0}lUGOhghgX{^W-Q^u;?XnME;E2R>X)$S<2Lv$ zI*#z79hjP1hz*rTurli+Le?(A(scH>doN&v%tm-ee1zT~Q}~ve!o7rLFgZ*=8#Djc zo&yJmHLxwxhE?k{m|0B&ZH>YL-cvB2Vh$9?Lt3dF`ai!w+gcd0g7@I_>M9Is3}Lye z8C)szU{&S??^!?K60;jlkD}l?b34l?w!@)*FT|NgaW#Joo09}v=OfTu*$mIrF*q-O z2xm1xXjpYZ-$Vd&I4ofi(F&u#L6BBY2X~kiwASQ8G$0X@kw|%8Nx}f9m=JNV1gVovIP+Ol@HEt zme8?pfkWvrc#qq`B*Gq={a4_B{SNp=?ZDmJ3bz&^NX+~MyWM`6eQz-oHI_nIcp0Q$ zSiotb8Yc3rzkj+9X^evBYbE4nJ%{)jrsXb0LG6n>luJ4g^6fmd=sQ$xTcL0>0fG(Y zn6>*RWF})_arXsyTJFH<-wPNTJAN*@X0y^f0u;eg$QV09E8+$5omw? z05^UQrkPm}aN~zzq(3Z^BBAm7Ck!|9K*{zpc(ZrYU(RqgON7BCvYAFB62YlfN)s{b zX-JRg+06amY}`eE79XO|o0aIFf*{ONZ$rY8AphT0m<7o}hL_cY@;FQ{O@|F9!K`I7 zWUW~qp&AE;vPPz(ykPQ3fqs;H#IzBDp@a(@g;@^sXj*pkYt0Wbc zioTfYxejwRA0luTn>k0FF`d^C(^fK1q&fieD-u}lzrl zELNwlMIid#3YM?hU>=(blM8Z?mobEPQZr1w+F*6l9AXjoA=^I_y3g;xPJS=_6*GrX zCd-+sP2jX|6AUYPV8}d`bI5tvYp8)@zQWA)E)=`Dppjz)#|}xz7;S~{FF;r~2K*@k z^y}6%h-|z}-^IGXdu0ju0s}GSa16M1t3bF#0fGYO;eM$bVde8-Unc=u7jJlQZa_d( z0zf0I4|~7?Oz&&H!qUN9n7xz&aELu)YM5#~3CE!}m^Kx`;Ibp!%3`3sd?uW~vkds! zf0!mA#+Zn!-RPRGL#&gPUuS|7B>*n6;9 zB+t7Nir@FbG?C@PcT!*wauTkGvRUr;5IQHaVD|5SvLa=u=nO()OdM+QHsEoqhE8EK ztUii@w|op}=-uIuA?Wo!<}5&;HQ4wGyUd6A05c z!SwvaSl^z7$Y3d0Ivc}h;|AJuc_)l4;9GA&_0RRRBty%RX5bBHQAjiqc&0^cMu)$@}c^W za%y;0O}UnTY43+)6yF;_brTj;l5~}l#WE?kEQP{jg(?2a9%`B?Mtkobpf2}x%GS9< z&8VWx14C4hzm^(K{-#QmTFO%Frret|D8bm2_U%|ejnnJt_|p4SxF?Fr0{kiGcnnpZ zc|%2_LvHXT|Z`oDV+hzU+YY=a8hm$uNrj-TK*p9YR2iZo=;dU3>52x!ZL+rkH$ zvs9V>&Z3`t)WN;&CB!}WA#f%fGCvI1oNb3~N*5%;tKsCB1}$!NSPgH7`tTFjDs!>t zW+nKV#bI(~3Z(yhh9D*p>>R>o=Wb|bH82hP1-2t2Fny&2io6KF`1{Z{GlY1&3v?Y_ zK>Y1cvk!yBD-H;*9f$vZVR-l2v!2xkZsjm2a*9Fjgb0rsL=zITxlzV4$-PNJ$c~Ce*_154B`+JTbe2e5n9HYBIF zqxo($vK!NpX&r>fduNdv_=<8>8Y#NpnKEu&p?yLxsOacr%3M=K`;7UhV)|i98n{KZ zf17A;i6f5xb__HL{TpXbC$82A+`WGb&##5!# z6RH>mWj{!weQT#t?OR7GR=z-aRuj}z?@x8lK z`;ha{ftRcuZ2u_3ByAXc=AWQ-${TpYYD$;Qs<)S*Bz_i}SKh*;6%b2Yg5c#Mun3BW zoKOXHj0X{tstVmFJP*yQ2 z3#C8(O?wJ1P|4+ol(Os+rA*3Ee&Gprz5h|uyW5oheLv+zZKoRD=aiRugz}d^qdevP zRB_9e%KSBH_aRT(m)J)w>m;f2atEDUWJ1krjj8xU4V@Vnr{+6hlzy#&;y3WoG1=3U znD0O}=lN*!{clw0<3|P8yr{&?g>n)$Q|+bMRHj-@E&cB(E%6*}=)FQY(OGmkGm1KI zm(!z#W>ntyhtkf((~0NhR5Uk}E{9dqrTJ&6@{lPt#%R(NB@-xa)`7^^5%5fkf`584 zOu$Yzw?IgR9ZeJB_SKs?`Jr1qXc zUc4D<7MP+`Q3U%PGmzIcj`)Fdh*3L&9qo>&E+|5Z*FBU;S|L_zfTA9&P`RciC2;TSGOuk2zCZ8x{#}#UL{FX{Z-cg%tHkAyor`#!K zl=bl()ogL2nh8ECP4TC!z5*(^d5RjApQGx47HSpbWUs^KmM7~2RoCfh?NX{#WAiIT zgR)jmqeEF|sYLiG^>n?X);3+rv2CZ?%XZYdm6Hxm;OhgXCnddX}YMJmm zZ3lBrUU=OehgHo7_!?Wl;hP;qqsn0&BLrO)L%2unhR%vT2paW;h2}zNNir6wO9pB4LcZYL@8W^ux+hTkOzw zM}5QqVkAURooX&_lY0n1erut{b%(x&f2^ybCLPJD-^OfIB!2xHacGCJUU zjB@k~D0lJ{9aM^X$^-vKJ_)$D5M&*UYqwCW`;?n%bUPP-UPVb&js3 z@}F{4DSwJG0&6L^d<`8Mj->QeTV=?VnT0u*=rcwI4Q&#wSq*Bu(G=B4v@hv~Y#KR9OgQk(T%I&+H4E;7Nq#1!zn@58!@ zXV|(R6k9Ax(b#(oJIv%zsTql|%g?brY7vrG9KbqmVWbC57hYGiK=5qs8rgD3gnm`=$fE?1~;i_Q#%!ey`dbH z$FyDJBoz%mqEy*6lprff>8@`m*)poJ214^j5b*A(Zofi?(RQk+yErM{d&hrKsZYWzJau|G(At0pMMdziv}c2KOq zJPNh$rbP?;DDagu&As-3Hb?r=iud7kpYs`gNVBG|O9tuT_%JwvuF)G01$rp{p88ZS z(4(b6bn5h3>YHIjy(aE-Ok@?E89qo=9g*}sUjib|BH*fIePg{8y^gpG&fq)XzW5fx z5|8QItS%baIUmvy!t{-YWzox*(H~($`lhQvzaxz3n_mIbpcRnZHVa%e9^gGH53R6O z^k7pIILuGb=(_97pPE8ubtpJ9E9m=a6Yy=@#<;yCh_DP?+C3P`CroHEXf`#M zap0ASfcT|%5b#|{BhzOid6o!bH5ySCIs>Iws!?dU1^Jt1BgeiTxdt+5tXz$%-HWj$ zY#VZdJg{+D1Co09&@Nzz<+YMX3}E}YlV>q)!#|YR)YGztLCU=kN((KeymN2qXlw~p z7gtl;;w~!t$F!ir9BRALNvSSDRCjU~9rc)`?)W?^s)(Ut;-s#55pw=Pn}(-x*trcvstQ|}5 z4k=Si;232;x=7*Uw<&SO809Z}L_14IsHI(nN_yNWJNq3qNw68XK8*PuOuLRUP9Q^ z5b`@#Lucq0=#x7%U9_Rm#kftuy-@7zgU%|(BN~5!UStNuT2?_-@i~;A{z0&022|_M zK_T}NcwMxhnD!picgV8O(gBMKUIab#fV!eL@?%<2%O#9Fr+hTJtV80yU1(USj^^cS zk^apP8LLWhN&5zNT`EDz$N*X^%~8*D0m0k@NF3Ba+LOJgIhBFx(T~Vk+fEg;V=1-% z4)caWR3Z4Cl7b4UB6tb)g^y8<#5LM)d5Vf#1!%vt4V8|5rQ9XKw0;2})tVoq!m~%H z_@*P2)a>}s0Kn4HAsYUb`6`kBh`!)I(0(TavCL1<@r**Kek+{08X^771Xh>k zLYnO$xbG~gDC5=K!f}{6kN|kjj{_4Mt2~!#tDgccu{um8gh=FM7_^rG<8`cf8{XZ zPVPkMN)4*&+dxHXb7>ElcXVAu8Gl|<>Y6Q-Uf4=it(|l-evnEwbx`5>OOw7iH8R zrOFR#w9o!M9X3~`YQ>L~SK3Nv{{5l~ha1!w9Y`5lS+6+xmuV4IDt~d0jt5v%wNgG+ z9fHp982i^gvHLXH+f_*gvs ziw=jv+zQ4{tcF}+158xwwr%4fu3Fg?>;YjDp%>ZpJcT4nIiG zRDuZ?KV()N2j>GHn3e8AY`GPR<~w0e$qJ;6)gxKx3@!w!V9TQn9GqH?RNYLZxV%K# z?JmScH6qpN0_ysIV6&7D);w8&giXiL(tHSI20_TkKTie4AE?CmCe_7Hq3kI?Y5$cc zRQc&SwWp_1@xT{~SCpdW&UMVs&7=K?eo+^HKV|n;(LR+al-9eE#&2-Y>7IV78Em4h zE|FAyn3oRNHd5O2TU327nyMB}rIssR)c7=wE*R~k?9vmI>&8Lp=Yr_6kp<+Jg+f|L z5`s6E!c61=B&K|zv3c%{hk8rDw+bB+&}(;wl6N6gJ%*s@I3HG4t6|M4 z2jwzN$QKHM=X)MztmB5d>wf5;XhZBKs)fS;M=FHBgu-xgCv z#;=7@h9VX%$zhD950pjV)B1(|$4uMhl2$Z*|Kzpx+m z(F~tX0i=Ft!3KLTKCntM@EH49~h(-G^Nf`jFEab(>)tTk*wrjiR17BwKg z<0KlJJ&`bBPDyJwP?}W{ohg&0Lne!<`kxz>nC4QEwgcrH3!om|dTPwAqwL4oR1v#~ zQXHM>^b8JaO%tFJb*A-K?4|Cfcd35UUg}IqfXU}5V9&6~F||0Wl_p0Vdf z^9M|G#Nfj#0rw{lVcfF?db+PLTb|WL)Gk;|Rzv*YUa0-K4t>{g#)YxG-o-H(tImP#rp3@YsR8SuZJ4^M0}5^3@LjqT?2TX%qm2k# zb;iYm+IX zqL$VuxUgB5LFJ<&bcnN*$|iy-_Y}(pyW}YQvl`VM{zQjmx6y%pm#BfSjm^n!DlG}5 z8lRhV^n)X1j8#y|jYv8=XNdCtJ3&pWcxm5}7CPrLkGf~RqWyZQEbsNC%Lm+OtdwaX zy-vtjjzBKqJ2-TVAm!i=U9-*L@mFN*{59xauLpnC6{zsOh2pCh;LB=bet7{b|D{8< zyA_T>wV9fflX4-AYs0h;A&70tRy8_Pl&od^e0JgrSuw`tVw)b6lGtc8^ z5(3vmUsx5*hKz-(bqJAkhq%$5);2w1Kmcq4o7$Kf)cd7XiMrt99J3WY<+m2v; z?H&~R*CDl54QKMjP_)ks)obRXjQci9v;jE)aIdJMHo^CcT(;u4d!Qtsd?93D(@MioN3}zusMhtbQGv0(2PpsL@34S9c7G% zP5}NbiAjJs_QMR=M#qq?_!UwY{bnr5{^%ax- z96O4cKS4pvC%KPy(CoF@6%0hy?kUw_d~zYS1w+9Ci9y5E1c-#-8y<3C%&2n*XKdHVk@1{DWs2WPSju$PXq7&(6u8M=tYn} ztC>ui;8;)pbSCLTq$Q?kjDY*{0R6qOmA>SxfxxNR^w9l2Jt^A){jtZ?Kbx^&hCk@% zOc{C-=MKLAw$O()zvz>1CjD5J0&NoohRxljw>?Ji{j&};+8$wdX)V?jhGR?O57@VG zBlf=`xNi@~)Yb|F8a5-2__1lrX`~$O$GZDNh<^ANJN3^ZN#-n)*XyJB=6VEORi&!6 z4RnhC3}x|o(|(`5v|l%o?Mi8q}Ml%=XShiTun#gsZOPKi5wX?Ii? zRn9S|gFnvF^Y}_C2=t-kzur`OY&msWZl}by4yyY-L5Z4mRKDm7?On2ka_xsGZYYCd z%}Z&sq%6&592)2N7W%gM7F|j8pu3Z}Xx^PgJ9z8rnLvDpMV%kO*4oK5^&!5ye zLlH{MF{_JoKwf(p^9=m-Q-Ph;n6VAQ#Y-W)-wb>SyXi;I4*KU_OrxVi;Qf0Rl1XRj zyY(QHJA3K-;gyh1RAlUC6U5}_gF9syqA$82A~*vA69=JOo&YhQ3i{o%5P}PjvHiUX zl!E6$wEZvmy;*jWHXGbMFBrSmOTSIGK#ER4RExd;&5h7A)dzp65L8#HLbziIW59JG zblMX}%`Br^U&*k6%{ZYk7e#C1&{Ac9t?8eT<1mOg{v(Kaau5Zr^*Hx~2ipXvBeP`( zQU(tqUDFV&j}9ZnxDGM(^$4+J&#KT6VwI$kc-N4MXR1;C*9oe*_K|9Bo>JMX6I9@~ zoXXa(q0$ZP9yZ5Nx5NgjyckWXGaBgFXgXbN9HGO9O6kz#a@sG?ey4IZolccu45IA+ z?zyP(a2cJ|8mBVfb<7u3Qn3h8^`jG%HR(%5&7WzPzX=^)DNlp9Q^6gyg}$uppz$U? zn&@q%8}CEt*HnJ+Oz}*^a8s6Xfb_OSp>_jI&kiP&(2#Fz$1GFbd2^vYU4Es z+4R%oPESarnL+lJ00f_~EJ6M}_!ly6;gKGF6>^5i@GvAwUeohcCg7ONgY2tA5V<4< z-Z93vdCY=zCu7dFB$>{rf_d{yhzhQUri36QBHH1zToT4_*_pxg0q`?sLrAF++!7xl z<`)RFE=gz}FMy6$1C%G;!)?L@`VN1gzeXOqv$G-Ly$(}$K7!t+4&-&#A@gw~>I_3r zm~{zB=iVagOevBsj-d9}6XY%&$HsAQB=TEh?d1Y7T)Qwr_s;6@n?{5OF*O zfthz8V66(ZLSJz2_{era@euvT_DW%;5ZK4Gh3hXUI}O3+Nd$D>W<&i{DdaK^!Xi8c z0p9G)&;9_&+%kr$%L-WeeT0beD(DPE!2c;bW6`x2CXOu6UOfz3-WAa1%7LoGe8_%r z!R-1Au>4sBokkZZB{CgZa}@61W??8=c7!;c1@?bvf< zFS7i6kXNM#rbEyYmxT;7X{2UEqg-18$2VL;weAe$Jzqnuj(l`&-h9fr{e?>PR#0JO zFja*LQ@f=z+Z(Q?O8rVI$uj(ZpR2+hWpr$9Db>fWpyE9p6uaX!+d(>0@whT&PjjW~ zeTV5#?|v!|ETMAi`;;4EO;w*dsi4z?3ItD6iNp^|eEys&HV)D0;fK^&KASQlbtzlF zmx{%AQjXP4mM;fT_5M;SmQALL&32SNO@XqviBR>D-&ANMOesoFsOU5EmKB+F!1OBB z|6WcJW#e?-SDp&5U1ixW5mQhtFA9r_qcr6Y%_gtrr-@)sd;VmpL*Eg|X@ zO}{F~A!opHI+m#kUV8=3G+QWbmngW#SPviF0XfFK%QGfZs*JH3jMI{1x{bp08a6>V@)3BW|Ipv&SFpeN8Gc+^5O3*&W`Yyk*9Spap9hu?oM6HE7N!+j zAeQU~0mHAbF=bqhQ4oCiZ$k05Azp7UbODd;0C2J_@zm2rt;{&A?gwv6eu~ffDkZKv5zaQ&quk8}5d@f4I@7$tP ztyHWv3ko+l6dl?-ORAWB)Dm~3#N=-G9RQ@NE4$s_8b?0wWivr7(>r3fe#A^sM zCZ1P2ls>IfhGuLQH0%wb^GS<7CS*gr+W|ta4WTz*6MUz{>HFV%;Bqylq3(9@?y-h& zwmmx+?E%$Kd!Tx}f$cIUU@3YJRtw6YaO?}j&eNVoMWNN6%NgqD%Pi3Az|MQ;fI3kyz55r-Q|J$ViRbblZ1t*8{FnLL$x^&YRb15 zQ=tqgo`uj0V_dp-4CJ%SA(_z$?h;e_`XCJ&KSZJV{5%xz&&IY5T!_v4ikiX*#10f= z2x$QiZKj7DF22k?H_0LbLuDM&gG;77w=Jp zW;@%Hb5WY36{XE#`>fB`sq@W6IwIsk#ebS8Yq|<0+*?Q)w>habX0LN;`hGx9c;>@;zz1fZxcl=6JwOV&Y3cwBvNjZ6Xl0~rMk6~l&HltK9@Be z6MaSL9~V$Xks_tc{zAtS!l)weDpkK}rECiyy3T4cBWQpc&nr{Qme+L9I*yv;cTnZu z6_hyl7ab~oOX&^L5IH*z!OMH0`Opj!_pd^H%RTzLw2}TTI}CvZH`v)TPwmfS8dXe4*h%Zcs zlUhCWx!HZQPr;O)VfZj#t@GzHOeKy&>p5dBlUP1+o1H`buonCUSuokp&Q5iFfPw1> zRFj=yCe#AM);Um!WM^gn&4QHZRG4vGfQi^)sMpD`OpBdKw~~c!`D&Td<5UtUWEUnVIo_a&v|ex-6=CEA|Mw7_!5W3|yuv=Vx@{5;{(#ib1IUHDL4@lh_^w_BZ(Rf1OHPBN z_b&*!G=RHkKU4!1Afv^2iij#0sa~VufiO&&xCiMVCwRHWKu7vE6i zI6g6lnUL4ghS|e1sHUUD;XgVI)%hVXcsdT1 z>3+~|- zFSE0zOU_~DoeXG6DB;LTRvU*)kXkT`oLFJR{iljp>BT7RyN(Tgs`g+T#tk-CJ zn?^cC5G?HO);YHw+wN|~?m#RQDHRY<8l?{`+rILQ%y8Q3F3L?3 zaDI1N1oY{F3oqNj%hDd_$2ubUmKMB>Kfu1(A-KBLiAFjB&I>Hz8TkNvcPxZs?nmsn zxf2e<|AS|O=oh;-V1J8t*uKsHu6+-~DYgxqLj2&oJ`;(3H{fiZK8`FLjx8Gx;%J|4 zI1@J?P6u1SucALZdKtnyVlUiWE@RfdV%T2K6@7jYtmZz$;tCx&Y;T7J9p~awi7yC|DYRuX-c#?Sc;ee5%FQ#{E?EIgMv=&ruU|232mmP_5{XpMS(R zynPyec=bl*D#=PnU1NGLl*%CoK+yA8fj%ReAx|3&APH?xMc<{FNk_zuwlbqHG|XL0`{NXlM}b1Jn6dpiN{E)6)A z)`(!gB7_a@3IFdoIHh(8u|+BfnQslh_Wp?T^gzVTx!7nj182LM;rR9;a0xR(UMo|0 zTziR-Ay!B@d=H+wp*Up~0MFeo5$JvvaiU{*x3-4Qk2yFNx*jL{Rbt2GY;4sT0AGVv zn3WI#hasYYKkp8AlSp`#w1j)AF5EnOVDIYfi2W(GO55%@y}7mcetKcj)xTK!c@Ny9 z{ov%`fn&1=V4hYHmZ|oJ{m6?{*=dMp-rEo#a|N}}?<4i4A+9}i!u4x0DBgDrHzRa# zWqoseUb!3B1O1VEJr3Emz-9GMgy-^G`O^srfHAZYLqWq-%X~j?L*W(5iY=S$+&KEM0s2s>cfoD=%UDOH!7&w zt}F8Mrc&WV0UZXW)3N#rJvzoRvw15Xo7Rsz?bgzzD3pnBmT{ZrB)XZ; zt=@NHxQZ(MMx=4cY+WAgdX>Z5uch_Lw%mLs8W(O(#>L|;u`TNY0x$M}Pl=V(isEY= zwg~5LeS^30RGfDSMtJ@>_|^cvWk$H%d?Y-^?!~3Tc(`t>f>;0fIJe&%JGRe2Y?=Yi z=~~0n;x1gqe1L1Q%$AC`BW!OKTwoVbz zFXUbdFhbHaz(>5BX-n&H_P!bdt-na0GY7%x1&B)bMO0`%c((F~o01FctY6^dS2vuw z(i*PDci^#L2hK(Rg1z&8oZO`bzma3$VHl2s?(0#x0E<9$zb=(Z%`VgIODf7ckHCv3 zmAEV3!b02a!iHFfHzphKZtD(Ycyy7Oe`iGXOhW#*9#n|xjhc%I)adgV4S%9(ctrfX zIvepYZ3A`Y_n}Vc9vYVHLRH)jd>iD%UjEvsD+^%D2kKP+V~%f%%TQQrPwk*0D(m*7 z*1=Aw)m$oGz~Ok_d$({p-lICUHw~MOm;ClvTK)xR)>pCBntwR5s{)axBtGziY+-YN z8U^FTW1-2`hUWNPyp032oWkct>#J1aRae2%MteV1ibv(;@J1qaN5xp@rf*%!eJ z#CwrB2v-cJWB>kh*yEfhwMQNTmp;I$9)a*pB!azW!TYBH^31OxWY$GQb$EtSe;cZ) zou!U%1s<=FS+J!Q^(rS)Vbm);s-22AS(0tuw1^r8mrzsYP9x7xsB8~>J+DP=&yRBF zw-#2^4!jLar?&ZZw%&h-omO0C_i=jo{Z0>c6XK~b_ZAJcmQ&;57+Ss@NkfAsYFKVU z<4ZdlWG15SgXGYKYhzd_S=u*}A31V>3SFj9>$Nclmo8@WXOG#h_AUqJUlToi2@M-B zbIgt~w#xUEEYxjk3|;+y_d$mjQ>dq^NlRxx4vDnjxeaa%Nc}GJEk+bX0+Q-~A!dts zeRqsSZd^TH?k~l=zv35)9?x-W_RQP^(uo z7+p?-)uNXOLtlv5=o9G|*>p;pT%Hmh-x zny`R6TgT($hYTtQ59O+$6Euil!Pa?uXk5FECWdR+t{|V`Hq?9twl|o$ffbbS2`o zG7vUbJPoOD5yWhi6okU2_zFUvzk=thEl9JUi;U`N2!M{%_3hxhY$;;JC+}+C2=|Gf zaBfg{B<5~~U&djC=BDGum}o=>`JwQj0`4R}l^k~gbsN=b)JB;C|EAOc{`7Mn;JF-`$9aZ`~q;i1h1ZP*# z(z_$O33kJXtr8)`i79nW#+9D~a@puBF3H z@hl$ihM4qR#N^BDx6eDAIQ>g}KMsgqu?DUdJrUh_8|Pe)z`{PFh-PA`|uP*TK8-+X53fT?$2%2nF*N`s>#0wSE;fCF`WQPKAb54peLqzj3Dq z_STa=`uA+fC%2&XrCn?n{)PsNrJv5Jr|PBO96#d+^^e)nbh|r8e4EMf3-$g-597d~ z&FtdoPQBZ+Q0DwnxDV^usme=oVb<(*>oHA#8*#{w*=)H_SU}gMr}y4V!`2&V?zUa- z>fvk?a)Uj37>ZVqN!>DQcHJd;^sHGlX^5nWa2HIw*0YUhsr@=EV(;fkGU2cH_Z|8Art;D zXTo1=JsgIvM8>NTIIrmlmu>6e5!;C5LA?=Rx&~g;&%@hs1|st$x0IqJ-ot9dO{o?i zOE@Ci4}$wAC0s3wM%=WeNYY!5o1aW&Ug!bmp=I#ywiqE5r*SXe6s6xS@OR4_8oeLE z4z0gYS=)mhB_D10HkWF)-`FxIpZapfbo{3)4MJ9mM!5|&8#<#rVmKA{_M*0J9rgR& zqtcTL_%8aGg}Dw2mCNvMhaMh{yhXDoGK29EUf-rw9J+EH4NR6$@15}N!iTcu>Jij? zJD2(|WyTUJelXPq9NYE>+gjMuBDayf=je0z1-ZM{y&}{N*ru&8e@=Czp5c1_^I#xN zdduhecq6r@J^sJ*eZrh#wmoP<^XLMi`*3zWI+80xrV9fmojT#W*=24zXZbDRzUITY zz5bQtPJ46TyjFBI>&acm<9Ph%4xTW6&r^Oev|p9Vzz=aud$EtHaZC7OuQ6lH4H#3{ zjlMN@jFK6?&+LncamqkI^#i1Q?T;i2H}QzBLi8a!c$EWoYlD%YcnATycM*PY4IEph z;LtfGI5#$v8UGjf%l+s#(E@%;8pU4{1Ka+;5w_MD=l;53wt^$}t=x)LX45cxL1!HI z9DyT&Td}5ODwZj|!n}4*aWTjfZmX@3>OUSKW7i?g`WG^-A0WZ%77|BgB4y-6JYKyK zk^kPsYvVe+{CWw=g+93Ty&jKiA4o5#f`Z`xaHnTiq|MDl>YJHJ>^BORR-Y2T#8D)K zhvH%8Z=~ zWjWwlcn`eZyjT3ZZK+$-5t+7aQ2hEUzN~+M2D&5LwE*9@c;aWTuc$b;2sJM|;M24A zY!=~#$~p7cdBI)e7iCiCSR%gZjpc};{W(ehGpGJuLd)GZB?t41!`cYf>g7Dz&YH)$ z7Js?KY8&nM@8bg16wdU?7fxSN!Wn<@qZ~EB<-c1Io_-9j3q~R$ zC=utDWlJ5~4pF)aIDg3$fm`(9`FSV~E;PcqZyj+;Wd*|RwQzFjAn|YSN9=zg@Xnoz zijLX1d9Dc&_WSYV=_x#ZTrVutQskVB#+?C<$myk1LCRf z*q27y&8c7!PrY-JBdd@+b6PRgR^6lO*C2fRt&7?j|5JCGQStm+d=!t>>wEIOexHWV zQR&p}vjwk04Nz5lk-Bd$qoU~uwFCQ8-R3TyWjB+1d?8y;j;4A!{$T@uNHBZX2zv^Ai5)kKpwA2ZENK#?`}R@W~pB^R2{N z(zPoR)b`;=;&|%)=!`eh2BF;03186*udaPSW#A{g4QY-ly^Uy45ncK8JJen_qT1tp zwmmmXUVn;?+KQ@^2IAN6T=lK6)6U3@v$-8L@?>^-^9$8Vo(h9^I2FGyVzb~) z_X^M@K{PX~P2wqLC71yZ{6pOcW-cWP& zMd}4zK*QwOcr>#Lm4j~J)6h2T8)L`mCnx>y>p^3gYw3NsMaw7esk1znE!?`W)zJVd z%sN3+mrNdI%_IV(ImFGI!_fquZBS#K8;+%S#c{0f^te9|<~E@VcT4 zdzU81VO_LLCu36H1v~W~5x2O9Q zM>^cB;Q2t&K9??L;164RsPtx7fenvMA+wH?hx#Apk`3xSx%Vm^GEC??bsB!{b)a&? zzevr$kGxzR_%FSPH_Ha1B(WAxYlLa~zz`2|<_K$Z5$gRupvXE0PcshTLS+MfZ?Z=5 z)Hlf08H(adeQ~}~6Awde5!rbvF7aI{4HN8;NGG#Q7)`*jH29|!*r2?#v6 z5T}0W;^we+2yWVdKtCh+?-+=v!yQG>9EDUl8H7W6WF)?)M&i%7U@F`^N7XwOAdrDZGgt=)zo|fG+8&Y<&e45 zmYkkhV-VGPUc>Ln&BSB6fku*PG5V^F3JO3sq&D)aRAgFN0slN;4eF!{q8`cI6aOZFpr?U+yJ>Cy7* zGb7})m#|YA#Uq#EY27;9*Smoyg)fol9El-8vpq5TeI9X&y%!NzdqOr*;kF1}ZRybr>0 zq~BhgZ66E|(Io=zAI6Dx>2M2=!I@x9xM*yLUoU4kcXUL^;pGUv_Xu7mw;(li4}vS~ z;C5{uE;epOVVx;lW{79Fcp!4uJ;nveNWE}&LePo;1YQ=u)uOKm+f$3AgSALmACK!E z$%xrLTQcD8G^|f!Pp4P-`%0H4n}i{F@n8HZ4Wa6iH&oacK;0x;sv4Z3;Ra(W-L1pV zq&A{cJK)o{jrcoMW_vfRsdD5z8oyLgy=l` zL$40h>UkXxo2{YYizhTZlP><#sltR4&EbSQnhq&RZg?7%j=f>qnw>N}+J>ef&1pno zeP7)~-TQe|j;X-I!FlX_{~zkikSxc?zw&=n(%i{gJRNo%-dz|(s}Hhg&%xAx>cjn$ zz3Hkmje){{h*1_knpZJx-xo1zQabJI--}nYoJkWG)4QaA%k$D0H|!6W4*SN<4gGl5 zxs;A6ehl3_o`L;$(P`>KTtBUddw+W3>XBH)v=M(=Q$*?bbx}x3x%c?gGCq;#+L4hDgye&jmTatE?I!zQOQ4 zzDVkNH$=`k2j7O)h_Vn*RjZeh8BRdz+U9V2dKyvJKf>p3A>!lV#|B=_!axChWD>{LpJjZd=8LWqDoh>x{C0vvXwQN2zlkG1zvhVm; z)H^kr+8)kSM1Qt)8N`l_li8!`3Wry`rp3a;w4A9yGn>I|`8kR@`JZW)y`Aj_2%l8> zEe+C=*nXf3&Ab0)3vWYOXbRU)srLWVNG;;Wu%*fq_6SI4i)KzV^b=m$pIj*3R zHnI7F61E;Yj{%R*%e}5kn>&km+?8+{lYkp96BB}rK{**Vb48rud6-2R;)7TrXBb z;iGSe>N66_T}%*Q-5F;b-H>J}jF9PB@Y>TJVOR^V5yB7Yyc$7MgK_#{GD0Tpfq(A< z$aIc|U$bJVNAAm+;4faOI7IY!#YvNvNQs?^r0U7=8r>X$zgFO#Y9cQGS&cx^*%HR> zM8y*es>h5)w0S?7pZnqIK4&Dq$wurRZ(NGIPMx7+gk3m}sw;%otgl7I^M!C;#P_xfBJg-Z~_xDpTwD~6#m z!%XTpa6q-_nwnkMV%d6`V-}+6&v&Zt6)$tCGBwr=!%hBhNFRT8b!ifA(lS)65N^`#-olhWOpD*4)SR3m_tHtW z+c<{$p53TZq|Z*g!j>gND1;k z-M+o!fqZLPj}?8ZRS`F6-{o%ouiUdGgTdGS^8ByfOf$WSq6zlGulj{sYgXZ%!cG)O ze*5vT+ekYl?~UGTP*gh+Wg|6E`A-5a9~+OmYm@MK#dln|F%g+&=aF%D5t18*w|;*?z>qkcZ%Bf_iK=iW zPQc;NMI1BUf(>&Q!nf6QoPHqMY1(_Z*kt3ixsq^E{E<2+2nUtU;;EiJiaX`vm9;zW z97x55FR^&O?H3F|V7vUk0GezBz7JAf(v-M8Wzz zT-GU;zD|uA9W`+0Su-@$&O}aG20rM2MN+8;UKeka8Tchc{cVp+dSehevq7}5VnhV5 z!QF|Z$T zU5eZFyO1^i1xj{~L17!wAD)h-!W_w7|2T;<$6(~>XyfS^Ba{zGKi&) z|2bdBwfjd<(@7DfpO2$5w-S$9l_7HP2;}}UqjH%ZUJSf|?4}B;ImQT za|EYs$>Ne6b38fP8Q(_MA+lhw+%X$*cUU2EztZyva!Cts_B#y=wOK`J82$B|L;`F_{h+keW z8S^*dw-BC@hd74{7sS-8$I%*pM2)G2_kEc`4gMsxj`+NHYRTVei}MftadH25 z1RZuqP@U8#2MrOXE_aNaS3xela3;D1ynap;-;JHj?~Wn({RsFj-33q6)5x(pk1YKM z2q}Ck|K=9BIz6Yx_7V8cbP--XIfxRy5IkR~i^|~NC_PYz`!-)uG{6Pf>-w;TX%b%c zSc_r05nkhZ-)!+^CM@i4Cz62#s z(fF`Xp9&*{dH2v%Jmtbv?I;|%%{q9k`It&$wxd#E0E#ypz^{J8P&KAMo?m}LBfMbh6#opBvx_rOQCZ#4o{(_BU4d57xu z|M66S4})vIap%yjbVzQ=qnCFv@>3=qLnbnK{7Rm%2&2ypZ+gdB)5qI^+j>{#7q!Jd;nfqF7bTl&v=r`LB>Sy)3*lGWTS;~kxGZ;~tYvJjpg{Zdg5HYf?)GJN${r*OX@TcSF`65!k8=~SzNH4Vvv4c9n zE4LF4>{5iUrXNnnY=*1Na%A-zhr`YDP@m~Sg-$*2Ud@^s^}=iJr6+aC7|9`7vROwZ z8a#c3Djh?7pE!+*+V7~Gl1SYTLs0ubcpzpuRQU;f8zMZ^ADyYc{j%&BSb+C!#^Fl` zZ`4fqi5K&F;!{G3XnHNtR2oUuvog<=eG-}md#IB1S3H>U^84SiTcw@~&5cm|LkZ8e zG)L2qj#L#cgy~*=cFz>Hb^8d}%^-cz>tOu4vzlt3hft@>0O|;gfF_J>}!nH>agyxTd>z&cK`eTFS5a;6RvEGR5&^WKmpz7gpj?4Q)`W_z8uN6;LYKrsRENkzu|GzoNBK@WVjv zzo~G0B!2pmp$MDu1Nk=9$lED*f1N9?M#=oEa6c}3N8-dSQ|T$CM~Je4SJ*;$J(sgt zp__07YjCAXxML4Ruj^YTJ*i|VT+2{-dLDi>$S#D*3)t$@Tbjx)64Oq?f{XH`?!X{w zbho8KtS}(&UH!j#pZbatYDnfnElb{4v$ANI{gWnMH>kSm0@Xe4(8Tp1$H@*f<^K1n zt?WhJ+Df(xl)XyI!hLU-$`)gF@k8be&&1QNJ8cT}C&<|vA>2XPnb2XXJd?-H?Ao+W zdNi08v$%vey4JI z;_qA@f1%1<@z?2ZFpzfN-g9l1hv?sC+`MZLPYDD0l-hUhj6RG%zCl!Z+8qxcc0hLT zv3O{0iH9R?QP$=na<`?RX0;3Qotopui8-ikbVllhwQ?7?K-w)8oQWNTfc!LDdv^f>Em$?J?Ky zjh%msui%w1|2JHxzIelpkH3>V;Y$uQ=}*o5AE-BdI(`Yet8HE}zPY_*hwS+rtoD)p zd}`Tl_zW6O@nvfhVF)ifK&Aep(4aP&sxm)p5RYopg+TV!EEJx)1^atuv$cVEl#=hV zMe7>2NR)Z?qsP?v*@^m#x5}HXk0EfQJ6BnqB> z3lFzQMo!yD?&l4nxoM&J^mMo%>WHYCa74EaMd6q2Y@IR?AKpIW;5lvC!_$x*kCag9 zQxB?~?#&k6d&%di0e_dDWyg-AP%8fRXWr3x<+BZ!_iaRzVk%yxPo`?gWK@i5#Qm^z z_Kvb|cf;7~yYmzaJ zKQzStHwAEN8ZMqeYoxY5fwXW>M3h}c@ER+`AJoPJ?OjqQmEcB~6x@%r!;NY4kR*QR z^qXz)RKXkhUq2z`qcD6nyCNyi2FWY$A=R!A(%VkK^Hy;PzH|$h-oHR}WPjm1+R7Or zEI;EHh|EvM!+kIDevD`Xg=NTdYypp~{O*p7a}8_T}9R-KD?zs928 z*o0~$x}wNtmuMQ5s8U{x9NkB_GVfnJ7cSGqe{7I-%@y~5UdDrQSMYAiK2(;@!S&wf zaoI$?<#S8W&`t$H5#+dqO>8r`n6y8|i8JSLMq?9~OsnRJPE8y-s6GE#GlG*`*KvE> z$6S^sy|d)?4!4!P4mBg_&>@ricW$9e=@{;OoWP@p+fZfTa1^HmBQN0~ikDx<{rVW$ zg>p?Yjh*pn-!9~rZ^PZr)+oGi6Mv0wzlJwF6hC z^ui<2?t+RwBVqbor1YAL^Wx(xE_{#3!98%+eIR_M6p4TQGaM#9MdqQ8_`2E?uZE3A zy>>Jna|UjQJVk!L2qf*%KtjwWy4|a zPPqLx8u^cg;Lp4}c&yP#?YV6bUpGno+{LKe>VneukMOk3SCol&=1t;GTq%-WEf0tX z(_&F(JPx0(?Vw7?eSCSeUwUG1REZARpe1wBP+Q>uTosRJH++eZ{-t;u?mTSGh;^cm zbW&%WLIYjZz{A1f5n7y0PX%M{9&gS=Q$jdPdlI))P2o<5W?XpaD!o43=jtB1+@Ua$ zn;Xw?;jnrhTc*ujzyF}=Z3jH5?1TI{>u_~WGhCk5fO~qgsIVvmMMu`7_`cj}{u`-l z)e|>+NKbbv6rq@WcKML!;9a z{H}hAFO`k>)vg8pQ!t>4`F1LLtfS(jOQ@=jLhX>VxY>0T$`qpU^@BFbK8E6pNQY#ofqCtm7TGs-BB(%Plc)LsNFUT)%| zzb0Kp{meh?(M*{N?!x5>dWRnxZ>iCK1(i2mrO%%l`fd&7o_pK4bYP ze%t`$K6rv)4PW64F2JKW?C@9Q#mw%UOk1IiIJVH!f`ha<>rI|3>) zaLHskUVT`CvImX$uk#W7xR=i6TSu|0WGlWG)>EsWGYy2dQh($R8k9_F@O8fU27K`4 z@-wQR-iYd$wfJ~uK6N7&(BQTbzI5J-pWPZoSNe}8&8qNzNf=)IwnyzKTPp3EM3u!; zsr)+_4-!NJ`ye^dfwIq3nD^a7#T$86*a}7gsCS)0jcq=tKGKtFM)&adykvC;zQ#xM zerz$hJ+<_OUA@KzRdXiGUfbPN7Uq?af-`kurlT&-0ky4%Qs=0!&ohV8;-DQhXMCel zis)@^yxFX&1MO{e=^>2#?LBWY{zn35EA`}ozT@SLG-c56*>v;lOb786#%wvofK443 zEdErF#Q%6QsF;3>f6^`?oy)!b8NE+-qGer&*T37~H_s2rl`~MRH63n6@|xG3#Ch?Z z1dF%n_TM82+AB)=ZxkY+HW42^`ywh_?z4-F5ZYjY zYYYCth5b43eJ**1MWTb3+91BWpXj3hBF1tMQWhy7XNd5P3y!YsCvanku1-(A2^Kbw^83zqpPAs4V`m88kRFnPzT%q;GmGe6XQ3c+{8r7B*CI z=tYhFN2yZLmpYPvRqxo9%KjT@;v0`=9ga|?+(BlMXV|9W2mF2Vi^gk9@h2>YdT?il z%|GyEY#jSe989g_%50HzhDx%N&T?1_TDIAQy0L@MG$4unRI52pxE(GL6|}Bcz*DbV z@{H~{>F+ktQFvc=^0S{$_u=Y?X*?2QNL#a^+`aW0PwcGa?xCeTd&ro_lCx-+y_-%o zujn*lF~Y7!A#=zsna3;R-0HSSH~5N3d&xj`J&X%w-(=n<9KR7Q;d3ehwxtOu%8iA0 zXQ@2{l;A$*H7;xlMa}3|2wvJ1{_SqzaIO;%M=qWR~Ic;0^eyU?MELS@`d5 zlWSSyK3DYW$Vu$1?a00tTnY>xPBIs^y8x5IV50fJ{- zg5T4%Q0*uV(mSou%-sJqY${)uDQI+?2VM0#^5t?QJbYWh*kTh5J`U)2_kyE&6`21jp=nbYrq-pPZCMDK z8tFt;uXL%@7k^hMzx zz84maKdhgE;azJrbPcA$Hf{pUOO`^NaTw;HmeAx`$!FgTmAfDGt!}|u>;W8W{=spr zIXs4D!8Y;&^hcY)^v=TeWpTpBpNzP z6KMSf+Kp}b^C!TNa9%Rs%!cOYeu+4L9p*i)U@boemic#}YjqA@2gBe@uLI@wL};&0 zf%!AfOxef(_k90?eX6`N+x}Sz_T~B!2%z{q)3AWlD_<4%Kf9G827A%75`D5s} z#KJJhCaH?SaOW&UP}OrV?Pw3J-#b{k_)7Mk>hOHhRbumPgx+_1FYk;Z!&_ zE`aa3TQDScgNIL91ddQb*}0>n=dnVsC@CquuS#-kGHb*t*fSTwP-GXpi!Ora|D1($ zEqH$O!@MCA{?TXQvGo(o`L4ix{S&;?Uc&d+W#|U4fcDl=$r7DvbNuXquLIrTJ?neK_*lU zp2PC|6>NXbN#few68oqQJl9TvvSJ)e&VI0My9iVFHc(Z51;eE7l3MNpbU&uS@v{t! z;W`+4o`CJ@acE1Iko38wpne`8sloqX>1~3?xsOmMl!D!_FU-(MO*H5)^}wXEc4I@6A&~;>R|EX-I~o9{vs0 z$yJh(z5X54t|f;hNA6h40^l_is0xZ!+Qh(VF%A8ob({g=Z@}yl{+Q$>UzOFG99j< zDzHq}a=kl3cOX`h_fCRGW;%4I_DJ-pQSf^CG)ryh9yaG{$V}NDIwX>WBCjf5%Mb? zmbl6Y-ZD>;2Yi*Zf)^0jdn}Zpwcu5&9UL3#!{TFyuK8uCmd=MOdn+81o58wCfuPHa zB(wiHuKgX!XmkqR^_7xbm~~Cl75b6vqxsgsU|kA*;0S1Y-+{a5d*~~Thx?)r`wi>f z?()#isST?gPz+ot8RbU7RNn>NKtE`&ZG++7a`y3J&^UL(*eMr^$X*h4tv3w)t?)6= zgJSYf_(tULJk5l;VLd2g*TJLxL3r=_0@L0)Fm;#;L-ujx8QUJF)aTGYyavUy(y)BV z3&);VD29xLW#Uoj-m}l1`3YO-6u7>>hO&JMe00m;7?29@q>)f9E(OPoW>6n4Cdpm$ z!S3Q-U%n1y!T}g9!7wP-Kv_LNGVX>$6P5&Tc>rhD5jeL7Ks&W8)RrQWasMIoFSbcW zW?OjG{|2?s8aO(sB)k1j7)qF6xWjur@ew?4vez$Z46XS!boT{{&

&hKi0k&^}3o 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

SLJGq>z++DY^ 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"-Jj=yuBThBS?f2+=YLDl~S7Ft8QSMR+(>pQ!5 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%0ADxXQDyo@eRf&+y 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 diff --git a/SUSYBSMAnalysis/HSCP/data/MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db b/SUSYBSMAnalysis/HSCP/data/MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db deleted file mode 100644 index 0b9d8244b86ea29fcc1f6aa8bd8ae5118e9f66e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1075200 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

S|w|74D9WbSi6KeIt^7(&>q| z{+c4x*1kF;bZ?VRb?vLKgu15F6Mg+9MX0ZR^@RxUFzHm-zWQ9`YNyi^jr|!#sIh%@ zTI5}9(y6k2^{L2TU8g5H+pTAtbn0wheJl#PeiMYHeSAD9RQw z>4VrGh^m!z`aow-y-$$=Jp7&*w#KCQXTK|YU)AaTIC7FAeR=pD(eR2%@56puv>K?> zdvoLjMSAh@aS=Xd(tEPs5_xax^d1~JMv?A3{HDl#(xi7|9~Fh&E1|9&IYN;xJbYLT z&ob$q*@r}*H+6a^jvS;&M;?Adv|DG=JFs6DjgIN`_8fVQ{-d{JzDjJ%e1+JCd4SlO zxu4jI`7*I3^Ce;n=8MGU%om8wn9mcNGM^(hVeX@sn2njw(r6>*GsK3>r-==idx`a# zdx-UzyNPv~yNGp|JBhWKPZ4V|pCr~~K0z0*!F-%Xt1}-XR%7lUR%LD{R$)F$tjyd- zti+@(BIy;GTZt8zTj&zynGgTt=l`eGGw8Bs)U(jDY9F*uJqJCfo`;@SFF-G-7oiu` zOVCT|W$0zKANo74v0oj))efjvpjXtZ(5vb-=r#2^^tyTjdP5zA4yr@YA$1r!td2lO z)KTcDdJ}q69fOXkx1hJwap<@@0i959LvO2hpm)?s=%jiVdRM&%y{F!X-d7($AGr4+ ziP`)^bqYGAK7u|{A44CjPoPiKr_iVBG;~^h27RVJhdx(dKwqdYp)b`}&{ygVbVhv* zeXYKMzENkPv+7&uTlF3EojM1dQ|F=c>U-#Wbpg7det>>Z7om&l5_CyjhAyis&=vI~ z^rQL-`bqr^{j7e0eo?IQT}{SN)E{($~aH=&#APn!RG zitYdL`Tzg9^MAkgPI+&6ukZ-~oA~^{W!@}ryf>Ji{@cK-;+6E0`4fOk;*2=uPXD9( z|6IrMFOxwX?dv8Y`Gn5klGcsg1d>4|?dwLOP#cp$E$!=uqR8DkgKJthpa|8puj`BA zx0wv;XzOF6mUD6p`)w&i%sH%NkQ_Q{7WKdW8 zx`r5MbOx8Tu1*muYhPCr?cyeb+S=DuMX!f-2G_N&LJ_KKUso1+H<%3SYhPCq1ygkf z7q+fQ5h`q7R}lFgG#S*`zAi6H9MTzF*}5D>%JFbnv0#bGD9bJ*ChgW4Wt=@-nj)on zxRe<9n#m}|E-5;l*BK=_Qo>CK86}v-iN%@4h{c#iiA9-3h((x%iG`Vkh=rI1i3OPj zhy|GWiTRoNi20bw#AIe(VqRt*VjiaZdDI!XnY4VJk&792b5=%}X=&6l-SV||Zwlz& zSrau=5fxJsC6l&=WCYA48ckw`h#{s=^qC&fW4a$cogs+omSg%F=3m6s%s+{%m^W!+ zUCI1|xPtjR1(q{!xcw68%b3?`bSd*1aS8J``oAq^UUl0n(ibs*rNBbwFEqM<`7^Cy z&1e2ZfqBdy-Lb*xbD3A%R>kx=%**a4B7L@_uPzC(#iY+-Uld}U`{Vov@BdeSsaxo> zTUsQfh4vs%`;f0gP)H|1N$%)Wo{e{Qd%eUcU(iei{ZLPTgd7#6xO+* zTsk+DTjzoD=)6!~oeU-Gd{91}AIh%_Km~L`sGu$c71D*F!nz1lL>GmM>S9naT^uT| zOF$)bNvNbQ1(njJq0+hxR7RJD%Ib1ZIb9wquPZSjNta|TQ4MXb?XI0u5LY_$knaq5xKhcTq0MuoE-Q1HVGrBRm(oaNJM_+dl;-<;y!tN}@t2(1I zM>P->#lo1 zJ#A}!oJp>w} zheAW$aUqF+qhWeDG+d8>M(B~yNIeP~rAI@f^%!W39t(}t+&wys=nb1r<3!0^8L$mc9XpWu>&DHaud3ruHUoU_b z=!MWiy$D*Q7ekBn5@?BD3N6*kpk;bFv|O)%R_K+`O1%nNrB_3%^%`i6UJI?&w?Vh* z+o9X_9nc+m9kfp03Eiphg6`6HLwD1&?&GTGPm7!x$OlLxwIx8{%yZ8TB-Ti-`@%jHRxcmRMgmT>de``Vuc>h0r z`rnM7{!=()dH?@8KK++Y|9{GV*q#1MpZ+iMr@Q@s1O0A%`d?MQl%L;M-c4TpKkc1# zpZ~w;?c&paqTU_eQhxV8#Ovv`^BTML|FT{ozWbl<{`*3_FOG`+V(gVA~mTORS zBvNgA`VC^DwO=PvYkT@NB9*qMUnM3w`xQ4U#i+AAeSk)(vOP^})v-il(^_?m8r##f zRvn|l_VkOyL|@Zdb&UGj)6Wx|GHI9=>0=8+KwP*c(N#RL6>QBXU9arB|4Um zBN-G)=HYZvtfh(NWk*HHeL9whBWV=L&BGB<=BSC~VyB8K#dIvpkrawp9$qi%-ecTf zZTd61M>OB2W11s(yBD)DDZLZgsdquU^loUk-UIE? zd!fDhY3OPF4D^hC7J63igZAm?py%}S(DV8Q=mq^E^rC(VdP%o=e`^g-yL+e?&~BM<4r&|!T9I--w4NA;V~oB9}ZOuq%arH@0$ z^$F;Nej9pQzXQFaPeLd4yU@G(J?K6CKJ>o+0Qx|G2z{teL8tUb&`0`X=wtl}^ojly z`c$8WPV3L0&-CZe=lTnp|9gl>{$u_BWay31^Pwk0n?u>5^`TXv`EK{$@KB#n`%t4$ z^-$?h{*ZD{|GDCy^*`pb|DNS%|7H4j`78W6{se!h-;HY3q@y`C+PyTzv zeRJ-Y&ZNTjOmQOjwJAoVzV=K}BGt8LXsJ4r+uG1lbtbj7XK1N9lgipN1&Q3%hL)-` zsjEFhOVycF)t<>m>oTsyCb13ij{9Yp-L=IdX#{ z%Xs*@JN4JZma?yjkb5z(gd@LEWHAq4748$v*dq3?A~>&O3pw%&MHcYz&mw%u#OAYq z61I+x&Ev?A6q(DzSKJfpO>7SPvPf>MW3xGOi6XOj_@XG>#KdN@e-K67^gM$j7br5F zhrbsklT2(H`@ASqM#rXdGtXpQvM#IC7RE6M6U>(P)o}O<;d5 z+6~sR@fz#qc~PHj4e3m{>~3 zMsnmdMMm)Or=s8x6C2L{M3gM9W5YP|F-3;*@JFJ^ITIVgJ|!xR(y_rD`H;SwL5?B) zfe@Py+t@(<&HHWv>w=CA;Lv;Yb^1H{`dzX3vWfL$pA_Rx{=?t@f2qGhmwlzrKxg#V z(AWAK=o@_&I;+2hzSZAB-|2JEIei{FufK=>j%$3cFW_ny^bgPv`XY2uUxF^_%g|+g z1-hbtgnraNK|krAp`Z0H&@cK|=vRFex~hMJe$&^WYx+8LUEhFi=-;8=^&ik5`X+Q! z{|Wu6|APL~x1d`_B;@|-L7wp;--ICdPbkR*P+%k^je?ZXko(XCGR8vIgrTs>1?4ii zq1+}9l*i7v-pdzLyRMZrMikae2aZ>^+ zVM;eJRqHBYlMXEGn}PySI>IbY^dk^rA>F9(K#s3ruEDb`N1U>C7G+ z=}wXEJlsv>`@&>)V|NwFPwC9A9O*)lE6n@BLc4l`HMcu23P8{h-k&ZmvL6nM^ z%nt1KqU?U1*`6cqDAJCH+lorVOlDhl8&Rvj&TPYx))Z;Y!>vT~Tqd&>yQS#3PG`2{ zNDDWYWwvk(nda_+wasm2bN)>;cf(=}o!N{-P3h}2b@WXWF{Y`>Y{G6VrWeqejXBbY zB8_;sp(tF%WHw|s5Tzd1nGHBnpCa{nxSlBXg2}AMt}Cj!|4MZ^Qir~qI*uVz+dWFR zt<9{>zp3RW{mMGC7Kdt5s3wos5aNzsO=b=E8{bqH)2ryr>YS-YKUCG2Rf$!ZRftuX zm5G&^m57y?6^Rv@6^Ip><%#8)<%s2&Wr<~(Wr$^%rHQ4PrHG}NC5a`OCER!K{)YW? z&;K*kO$~He4O0`UX=*{WOl_#PsRPw<2Q4HTwyvoM)id>>`lbQYz%+#Zj%zeDjc~O_ zrZLpmG=Z9!rchJU3~FYYL(NSKsD)_>wKT1uR;D%7+O&b%n6^+`(++B9+C%M42dIPT z2z4}_piZVU)Y)`_x|ps|SJMsZX1YV&O%JGt=?V2Ty`WyEH`Lqof%>@P#}ogJ`kH=F zKhq!TZw5dE%s^q!|T`GNYlP#Y}~!nrYB9GaZ_4W-qmb?*IFrcK|%@Kj3Hjce+;q^!y(> z0jM>f{!6a_lDupGA5Z`PLcAxAh?m4Jw=BWGbQZOO%eQPF*+SxZ-MZO~@i|W}oTSRhkot5b4hbcn+ z?3>M^@GB;Z3feahi6T>UR-&OFqzE;%ZypdOGffs%v~M=8I zEt3_v-}q*om~*?%O5)5NZZ69TF>fdO%-e__b1hLY*EnXbVXh{wX09TxVy+~vWUio> zk1LqVX>>Vr8F3kNDRC)t32_N?F>x_-5pfZ7A#ovd0dWCyK5;&iHi2Z$W6mYcWzHea zVa_JbX3iqcV$P&*awc;Ijm}_Br_t%mX*4>GIh8n-IfVjKn3MnU^Zz2V7+tp5EP8j%%zjYjL%;<~Hayb31gqxdXbxtb^8> zJE1$xUC>?TZs=}v4|I=N53M&TP>M-~-19`Bh)ILeOcaWmbST|qKpFI56MdrW{+S86 z;)1eF9EzK4DBI*fIp$vIUb6w(VD5wNGaI3e=6>jYvkBT{9)KP&4?+)`hoFbdW@xi{ z7<$-jfwq{f&{p#Z^oZF8Z8MKTkDBe!cC!Q8VIG4XGmk@$nn3ud4=Zxp6-|({`~)o(EFjIq5Yw~q3xkfp;+jy(2CI9&?No@pd+6ESRqt2 zl$%cgy6B(rPx){8ulmpWkNXe#aeuwP+F!sY0QC2}xHEw2@frX<0q~kz1NhQ=&prR= zCEfwB!Hc-(|19#Rx#$1%^E!HT`ahljXT@K9`u}M`r~g0iPXB+{%_Y>%zPTy#e4w)u z_524-F;vgK`CSxx%4AVL`{sry#RgYU!@3D zv~PYD8x=a`ieqhdE6~pr(ZN#W880i^M#mKM`w-Z%;#>x$Qs4`j5v~cnmB^_DRDUS z6XG!D$Hbw`kBCE~_GT$QhU>5;ud6d|dd4vL8n1^Y!GxHF!6Z0SiIx^p&(GJYl ziS3!M5!*3eCAMY0LTtl4;MS_LS~K?(TQOgzKuhLJZlgt33+9V7+MM|Uu^IDuccNle zQ|5E-1EH)Y%zYGS%zW0J?w{3&`HXwSb5=v<)AW-6X+B3DfFp1 z4V^ZhL7$n=q0h}1&==-Q=u7hz^p!aSoiSfSUz=~BZ_HWftoauD)_ezjXU;+A%z5a% z`5yY-T!1c^AD|!1Md+fr1YI(hq08n9bjAD#{b+uIelkBpKbv2mU(B!2ujVRr)%*ti zX0Ack%ysCxxdGiUzeB&9KcGL%P3Wfi6Z+Hq1^s1iLAR_($O`L0p7kN$hM^WBay^ zJ6+Ypsj_|BT2!l}d(#%ry#Y!Mdpe_z7iAW4lWV*PvoHk;GYipZA!b1uEyyfDEWpg~J_w5EXXbM^3&is=lPQqQ z%Ub_54vS?v9%i~p*2FC*+(Q}D={*vqweY&S z9c&y?6j3}ZMd)o4m+V0JXLUT_ND@VocsL~7iK}t{nyn61w>6*|wkA~5)`Du; z+E8s<2dZQ1LUnCDsGi%4%c~8xzHI+I@>N#7uyx;YP&(* zYTCN!{cL}zza0P#umhoic2HveclZC%{{PQI z?}h03KfCz(KatQ{cmDr0zW=YYJN>UVpZ*sP(dmEZ`Sia-?)1N1{#Jj3pXSd0UBaLL z5B7WT4#4Vu89x2zFYgz3{@>^P?*C!+g`RRW}c>e!Q z{2;z^_y5uT|9k%9{y&|a=+9@9b!QM0 z)tydERCkn^sO~f(Rkvp)wa5);jxLZs&Q?0O;yIiPm06q}KNA9YiW^&)!ZTJ)hB~oR3mR76d+}M^@tK-zzo~705_$uZ~ z;!5TU;tJ++;&SFP;xZzkzX|+1Ogt?fwnCYG&qvMO13u$yAa{+My(>*~($LBL? zwK_hJIhQz>IfuT&9Oi8I#xy>gIg0|bm@`FK$7eEUxO0o+GnmsUFr7I~RM7Eh%&Bg} zMSLoA3e9L!9DO_4-L9_VlX-ZOn4#m7m=h^6krNYyH{8T0u*VCpt&Wf9$T*6OFV2%u;$RHjbDDq!7@qz3CqQGJuAHb3R6zR{y{Y23T zCf<+TR}`P4<9#{Oha!D=xVI>iW8%Hpy+ozuI^K&TJt@+YhkJ$40gbRDp^FZ)+40bLI{}(tCqfhLBxsVI3{AFEpec4LG}TUnrrGJxbUOo@VP`@!?JQ`Poej;l zbD%kPE;QH9gXY=!(0sc9T3{DK3+*CkkzEWewo9NTb}6*fE`yfY<!I~F1xm50 zP^yhU5t|03*(emX=}@}OfHG_hirGvklRg8bPf~1_d&+A#J9y4P-i zHrV^1`|L(&qrD%x-)@37*$1Ep?1RvQ_95sYyP4+y9(4ZCFQM;3r$g`j5BvXzg?hW) ze~m*mLS;e)LfXIS|LA|~f5Pwn_wm|)mVdXu(x2;3^oRMq{C0k0zdD}&^S|frKQ~Ea zQ)PSBtyk;pL}P#9W}IwlY|qkSbv6~YXFnq*`ua4H`r5Of5~;2|`w218*0fliO>OO2 zTCC2dvi9sLVxp^Qu{xW&+Or?f)u^gH`#y~(n)*FAEoM_wdzKcfv#F>(dy<&wY4^|= zolQOMSz4^lrkeKb31Xt9kGmD$Y-(xGzD1XylJ@K|3M4w(JupURcjM8c6zIx4LV+&K z!y;K{cV-@Px8Y@XVjiSGN9G%%uFmejeBIq6klmj7nwuW7+d2C7Rky!RXSe0ySHuXN z-G+I960JG0UwBPSb}RPFLR`?g)y_ajVuQyFL%^5xL5l?0W3oB3xf* z*X77AiqzrZog&#c*|phEiR5lNyB0^Dq)1I3enJ$=GTAlQkBcJJbar))JVudfJiJ4c zxMi}dvbT$}xpj6Gjyy_{$~?SH)ZSpSE3qFDjXUY=iX7QWuTv{HhOAq`N}FM_%X8*o zF}H-yF2|Y8^kvHO@IzvNHQ8m@4~miFb#`fvJV23BJiJL1Y+$lWvhNqgKi1hLII@u< z#d-KXQM9YcF2>#%`euqahHQ=yFa2h-3-fQXh1m4+KYadw*lt0WZLwRS zt@aV<5xWiAW*>zfwcDZXb_cY>J_bEzABP^dPe6aiHJ-3f;%ZOYr=X|oPH3my1?{rC zq1|>5w8!p+_S&bRr|mP)Gxk~NS-TI~XP<+fv(H1%+ZUi0?2FKg_9f^g`!e*h-4E@z z2cQG?73dZFD)g#-4SLPK4!v&QfZnhNp@a4ibjTit4%;Kp5qlImYTtz3w8x-h_ATfw zdmK7$Pe3Q^+tAzg9q1i<5;|$$h2FLALGRi3q4(_v&VrU|9{^9KQ}ZnG%VCJ)F#w0R5esGlrI$U`v2Gb>HjPK z)BX;Blb_*s|1ER7|Hk`+`T2hh{3?D)pFaD);a&31xU>I`c?aCtf7|)p|2o|LPiOzM z^%{BA`Sf4IpZ=eB&;F(Te=q;9cmHlG%b}+B!qtgf)L~kw&Y`0A!n9JILp|+orU3VIxRiTPT@LlL7cMEP>l~_QFI>V^at^h#A9gF%+jI`qvllKV=II=2 zXD?io5>(E9xQOtYn;dFqKkU}3Pv{&fXD?icB87Okpzs5eQ;=Oic^U5|OkZcVqi-*XmF^p!#l9%U z-=?!?a^wg16O}!Kd4V{c`8{zO^E`1X^Bi#s^E={X=C{O2%(KLa%x{Pjm|qjeGtUsm zF~9o9zyH5zFQLmW*~`#ndj+~;e}sOtKS4j)pP`@aFVHXcSLj!J6}oDFgZ_?d{ARD= zYS-*_=(@cD-LStyzuP~cKkQBDru`H8)BXkhWp6>Z+}~<`M;R7j5Awo3H=GP5hx0-C!ug^6;Q~;B za6zbGxDZq*To@`GE&>$^7ln$3i$TT0#i8Qi5>Sb7NvLGF6jUl)8Y&$w1Cfsttjc`qDBWpdBwauo-b(i z|4Tmo=Vh^5Y;zL={n9zq&t7(U&mXFu$gsgIf*?&q*ur%u&5)X!dcK1HaW{qQ{D ztu{H-&wkjgRR5uKsGhy>9Ewmm`{CKb51Slr=de3oZ@JE)cJ{(EDMID!hiACy)Z|b* z`{C)rpQCfQp2O29LiOy2r;0$C9O`F3JVhjp(>Yww;mH)Cg7(9cggXv9hZ@=sPZaW+ z&f$szTX+~4vX>S#YaPS{s<4wrOzEJeoh@EDQjN0T##Jz6Ap&^e=>z3?cC zjN;*uqF@n|GmhIMSOU zy?MBoC|KL%^kVlEWk=|oo*e1nW~Q7Tj-haOAs!9eobLRaZthc`w{=c84t1rk)78-r zcMw; z@7g^xsY>nIRTX!4cXxMpcXxLoh6WNsrhBG)dL$5q5C~2PZUK^D0Rq8Yf`s63_w)4k z-gAHVy!ZUhJ@>Ax75;fYYp?H14`lf6?x(AEbtHCVb|7|Owl|}gz3rLpXtf=)EwL@L z4Y3W=Tn1wAZOv>&Y{hIzY{_gvY{6_!Y|d;(Y{qO#Y|3mxY{G0zY|Ly#Y{YCxY{+at zY{0Bftk0}RtjDZ-weSCKOScuetd-juYVEdx+PH0@wr)G9o!cI2?{-O}c7?jS-Jou6cc{DD1M1=SgnGKYpk8iosJGh(>f`o>`nvs~er|uL zzdHaL;0}Zax`UuW?qF!JI|Lfy4uyug!=PdAaA>$Y0vh3tghslfpi%B*Q0Ing+@EHJ?%`<@Cw_Y>v03NmOHtzspeE#nWYmRvbFx2X4-T^eSs+o5Hp1J<- zviOS6|D!tq?@rwT=wwnsOZN#88ER*y8v1e5{h8Fz(mg5CA9gaSqNV$oNY{2|s-sU( zggRQfj|y{QLnf89bRQA+ayv8C(hpOFT3Wgf302+6q?(rQgTi~v&P?_60~Dd2mhSx` ze8f=dd)CRU!#*gA+;3;r zHn!XY6sg6_`$dsTPG(K^9irS4JF^By%)6?>nbi#=?mi)+8BS(3&J>6>m+Z`{oH0{t zC$kDK=ZTrCoXpDXTrt@Eyp=eTH2X+qMP?4M0@IAF?acDbII$cvn^=~aMJ&UN5lb_p z#8S*mVo9bMSKFB-m}XdQXBKDfAr@oaN-WCUO)SFPMGTp@5Ci7TM4!2nsF^nrJ?4!> z#k_&&GOs5VW?n~hnAZ|*<_=;Z=5}HRa~m<8xs{m4++yA~WJZ|R(5hr^CR)r*M8Tvh zK=y8AZXj-8uBSoNdgeNM53-KAmI7;;Ys_^Pd)F{mo3D=cu4b;Hz$)fS(Zk-mlDR_E zDs2Ayzk2Wgcdv1`pv$(nTcNG)HfWo>9op{hfOfdoLf5+2LD#w0L)W`EKsT7nCsUuB zuf%KI=-z}^yUE=N?R0O3Zgy{hZgF=(yWHK-ZueH`R(B7y#~l8g`sr_T_dmG-WyZ1r&x%Wf&yAMDQxDP@Px(`7Qxer4RyN^JRxQ{}Qx+kC$?qkqn?n&sR z`#AKt`vmla`y}+F`xNw)`!w{l`waAq`z-XV`yBL~`#ki#`vUZWd6rx1-|36)Dd?2@ zQfmJLeAj>J3c%EN0IBQ$ z+nWhM4Xccq07S$ueEr|+eE#n-OaPoHm9?d8)YeidQND#8<+@g`*{z~f*HRT0 zgQq!B>T9VS(Xj)a0BZI{WmAL-TdG2$(dSN-8e6Ii(JbGNa%HP@icn=sl_t!eaFjY* zs)z{M*-6LagRonm2?n<>CasM{otFLu3sko*4mzaOM zotbLxKh57JlbTz)e~2*$oJ^{2>HaQyW!Rai?*7dbc4n%(eCrD)uWxh&*Aec(u3Ox1qP)cc6FN^U!(sUFco+J?K660(8NB zA9~;Y0Q$iF5c<&l2>QtV82Z@#1p37N6#CTt4EoId9Qxe-0{X)J68h5p3i`_Z8v5G( z2KvSv_L6@`kbVo)(v94f9#KqXYk z)c%k2|Nqaf|9@3JD<6?}%iDSSztw#Izkp8w?k~IW(|;?=64I5z`kBxFdEI(}uK+k; zC9K`n4r`sY*qULDwFX(;tu}oBAAJK55x)w0{$J|)|NrUy|0vhC8g1GuO0_N3D6w*n z6Q$mkYNVKa+KzH@s}U5T;+AT-7#uoLYHq29iB47QC|9={YWh0L)vbmQxw@5^T-#Bu zZZ(L=)vX2+sk$vSfXL0Q`V+aiRX-v%x25_Lskkj=rq*_pds~^AwH>A2wp1@7)wZR2 z61lZi4L_=%qIq?cI@?lR%*Gb&!lZe1v@^34u@kc+u_Lnsu>-R` zu|1RK)zNlLnpa2LGHG5NZNqF$Y|U&%Y{hIzFWi#Zg4lvd^Xh1GW;0rC#-w?5v?;R* zu?e%W*<7QInT^aA7j49BNP&jT2IjMEv;ng|W$QERQJ@~Pt~rx2T9;Wzl(wUFn6>E- zytbiKwS;)pj@IJknqsmYt;wuGi5i@!E@Z-qR%e^L76;kUY86q|JMCz3jufLvF!_p|YwRR8EzL%Bu=c1yvEM zs478~%(bPwYpKer3Uno2ql&7ESF5V3LDkGaGWD}mS2ds-swPxZ)q-lN+E8s(2dbm$ zLUmO=sGh11)mIIm2C5;{P&I-Ysm4%a)dXsynnF!gGpLzr4mDRTpcbkn)KayATB+7h zYt;s7quN4kRXeDiY7ezn9iR@XBh*oKf;y?rP-oQz>Y}hC)NtFld+>4h>f$ zpb=^$G*XR%Myb)zXf*~JqsBsG)i`LJ8V`+E6QBudA~aD=f+nfS&}20wwf~#*e=bG7 zF!%qRjXY!S|D)&sWb*TW==p!+`1yaW&HaB>A|)a&KmX?oe*Vuh{QRGM^ZXy0{V$a> zJj-?8l2G%huY)i$6)Yq1Z z5>s_e1M3*owWVla9iz6k6b-Cnsj}WW^avYUcHG{J?4!>#iW6C%w^KRI#!rT1M8T>yw+Uo7_*r)u#OdCZYO3i zx0xH-W9iJT=8l3`8gq-;L}C#`sm#DSVaFsdZx$2nn8n;g3BietLe_Ai8`&F#W%lX~ z99d60(RyB9C({M8??BB^+5yk;S~c$UOhYi7sL<6zOa1=t7Px zpvVGVo-fQ3WTW%h^Mt+8j?UxAT#C%)IUcrbt816x(T{T?Syu! zo1vT4Ezm7$7qm<5hIXr4pd<&v|k;74yc3BL3Ic^ zqz*%e)e-23x|8<*zT)7&|NcK7xh1kKvN|$9G9@x1(#Kr?-<0S7f!PgyGtd8})Bj$S zkD2TL_seW^{Xd=m|F2H}rStzkH2Xh&`ls{%|Fd`hpA^Te^DD z5mRmbDFvvlE%gbJ%Gy#NQy|sVADNG@G3shdeQ3UUjZsxw>H`X-n)-cF(vDG6Tk3-F z?HCocrQV}Js;A!-tLzx{w586APIioH+EVYB_KuA)laO zj2-RRK#sgZkpaB?vWSFEtUvoDA@8+g{Wx-pB7J%JMUl4JiS=Q>Akv1}vECeco+7N&k&e9lm}pbliFII~5DgmJvGyE!lp^hT`4Lg&CMVXG{jjLs$d0w)$U_uq z&C3r8`>+#h#eP7zh3!~Nj@(a?7QB3)Fz>Hp&DqCAk!S2!GmhL#k*2(SkC?s9i8Wy# z6T?2WV~sg-H$@up@=?*fiW6(dzDu;c-HtWj$er}tQlEK*SdV#_SeJQ-Schr;^RZ*K znFolqnEQz}nRf_t#&P%lC+s#DM@^%C@wdKr3Iy#l?WPD7{F8R(2U z3!PQ3La(aVpx4yv(Cg|A=neHI^rkuool|c?Z>hJTx79n)JL)`iUcC#wtKNg&Qx~8M z>V4>a^#SyO`Vjh1eFS}^K88M4pFp3ePoYoMXV7QrbLeyR1@wjb68cho1%0KyhQ3zc zK;Niup>Nf9(0A%0bWwc|eXo9ieo#L`KdPUgpVTGjlKL6?SzU%Mt6!jB)UW^B{XY@e z9oZ3C7g=nc05~@Czn=g9i~L%CAYYfy%M_SPXL}sGg}UIU6yJxi~?NUz{zQ9nzso`~eySzORwU5ZdaORtWI{N-d(Lrbr=h*Yq% zxS~BXyLPguqNP_;$Yo9zb+q(q2wB_Cs$pz-)hSY)m#c}$Y$vN4yQ+w6v9qdjqzXl< z@N#95-q6Xa%&sKTSJ+vVI8u=!6?wUWu&X&)71-s4)5y*$&yjKzDaXrYh5p^iD$6b- z!e(|>8IF{uNNHX!B^r-(vP!W_iW(2tStU7Af+8h&xwt6*lap1PT})Jb%g!psk)jkS z%FE{Tz3ZKWP}x9#+A*A|V^>@1rjh3L1X5Ho|A!AvKnGt-D^%m~rE6E=S+ zk|>!L(PEly)y@(`^^aj}Bhy?FV#hWx|01qu{z+WN{DZib`8#n9^EcvZ=C8z6%wLEr znU{$xm~=5nY&r81aT)U`;!@_1#3jrhuKM}^Z|Zk++3)HP=nwTL^r!j@`b+%{{jL6i z{_#Xgp71Ql{Bc6kiy(IeUc-xcX?Wc5oyy8%CuLM-WD+!hKNcU#j6Tc^{PSDyy{SOuLe}Zs|nTgYC*NU+E8t; z4phgh3)S`NLG`@)P<^if)WB;9HS`)mjl9NCW3LI+#A^yQ^_oG=yyj4IuLab?YYDaV zT0yP6)=+D&4b;YK3$^vyLG8TuPw?m|T=VVhqOK-b~l(n-{1-*?TRM67fD$<)c+0@X| z+al6>+1aUzzJ?-H(bC&2WVVw{9WA|0LXNYuxum^~v_DWuOK*daX2+wJmfm_HzqGTs zroD9(p_-Q7T9G!-$)cW?-WrjXV`p(ud#fozMJ>HmBI9i*i<(+`D@7smcj2n`R#1eh zT6)Wcndf9tS4(f1@EhA%T-M%FicncgZ;7bW*2$u_mfm7fxw@UT*x2$GQDhM>FBGNw zI9UtX3q+Yu?5qVGnNN}VygW~2)N``tvF8fgyc3$skvSBZ!^^XUd7@O-Z1yanr`cJv zI5LwWGkJN27*xZ_n!%nfI^Aq%P3OooicI6>siNs-Cu=Huim3gPoi&9clg*x!HJLey zIEgutIFUJlIDt8yIG#CnvIEFczIGQ<%IEp!vIFdPnID$ExIGj0*IE*=z zIFvbrID|QvIG8zzIEYD?f@BS34j>L-_9ymd_9OOV_9gaZ_A%3@ zY$xQ^{rTVP=5ksw!20&NhH3oPC z@oEFTLC_#?Ff`a30uAwoLPNb_&@gW}G~62jjqpZ7BfU}3C~q`0+8YCn@y0@9y>ZYu zZ#*>Kn*dGlCPEXvNzf#3GBnwn0!{IzLQ}nI&@^v4G~Js4&G2SIGrd{REN?b6+nWQ; z@#aEvy?M|)Z$32NTL3Na7D5ZXMbIK|F|^oQ0xj{DLQB16&@yj1wA@<(t?*VtE4@|F zDs%J+PvpJT-Wq6)w-#FKt%KHi>!J1D255t~5!&c&f;M@Zq0Qbk&^6u`Xp6TM+UjkC zwt3s3?cNS(hj%S>t#=)Cop(KSy>|n2gLflzqjwW@leaUq{~w_J|9?LJcV8qH*%{dq zS;h1Jk>>oL&U^x3rAYBeVRHq*CHbYiAYbFp|M!@00OE3&+%DIeGXST{F>;_xT?0V- zzh@=@^!y(>1L&0XxVZ*^t^nL+ZL`)`3#=*DNOJ~IN2{4t%PMDuR=W62d?!8@yUh#+Ke`GcIAJJs1QQ-nHOdM}BpUpm=T+R{5E%HC^dr&{|(ico7y?*&n!mXl4jExqSO$uf3! zs<)q`2=%t~o)zgUoop&@={+L~m9n!_&HXe*sJW&0l(1Vm*;L)qds3)d?Cex`KS2@d zZs|QPy4~$$Q+Z48q-bScDAnGNQH0uCdM8A^rcO51xAYzr)ppw1?Tjt&5!33~ZJ7@f z+b|y@wq`y^Y{h(l*phiau?6!!VsqwkVl(Ew#HP%9h)tNsh>e+d6B{v)5*sq_A~s;& zNvzMLiFI~8CQYof>oN}!>o93zon4zr6YK0+%>Bfg%sYrRn70$FGxrgzF$;)QndZHt zon3{QXST}h%FJ9^t;9?cD>8G46_^QPd1jngj+sq=hqBBpS}ntj(Q0XClvYbIGl?ac zd(9U?*(I2CK}dFS<{n}(=B?(7pzNZ|-DYr=U4*%d0wMDj(ag>cm^X_ScDB#lNxu== zPDer0MY3~{68FLqQ z>QC!g?>Xo>?|JBX?*-@u??vcE?-X>(dkK2Udl`D!dj)#MI}M%o&Om3pv(Q=ZRp?dk zHRv_(b?9~P4d@MXwNL8jd(%4yo%7y;-tyl5AN&7*=K8;?k&+P=vE*f*{=Z?q|EJS` z4$2&PtGrgOmrM8xz`^|KzmcrYcmLA~fZtgkTW?t}TTfaKSVycpYp->K`TW0}@BbfW z^|m@#P0jvap7;OXdH+Ah`~UHO+y9+7b+*(MMMg(E&ZVs@n1+i}X-i#R6q?|~skNmp zCkoHA<6PUiEJdicr7k1dn+Wx`)TKqE@phbxTbH5;6}QwSMa}L`oSIwe5~AX5cATqQ z7dLer=jztQh+N&eD3PmM7a?+W>yXIRtpg%gxAuu#-C7f=x-D(~<=b&;Zc8g77q@na zRNR&}pU&(!^|qxQBGQCI(r?HX4ctjnKZM`Uc;oBb@poJuf$bMnptPB zWL~Dda|QEfT3yb(L|n%Fi2_TRG_%fL!u)}_nEAc=e4D+9dC^>Zk-d=l9R(IJzco+G z%bw5thBnuE%&#dhm-&@wYiG}4ekmH**|V8n(9Su_PEc+c1F>emXaO7=@jOOLHgdFB%k7Az_vXz}Zk|S?YWCSn2 zAtKi~*~8hdn=h!Y^3VV8c<0e&=e>8KcfI$Z_q+?x1@C?6eeVP41MfrVL+>N#BkyDA zWA78_O1#D=-lurAPrc8e&%Do}&%H08FT5|IFTJmzue`6Juf1=eZ@h1zZ@urJ@4So9 zMelp)d+!J62k%GdNAD--C+`w;$@>}l*}Du~_I`nW@qUGV^?rkX^L~eZ_x^zX@cxAU z^!|eW^8SYY_WptX(IO=+v;|pOLQ+Sdh)#pjbUKu-GoTDz2r8s)$kq`8O6pQjDP0;Wt;;}VbXlmZ zE(ev<<)QMr0#rd)gevMvP$gX%s;sL(RdiLTs;-vW|IPWo|N8!ay8eGWU;j_f|EXg3 zf4cskp8xZ%JS*w?|GOkz|9^wrB$vtAa)KNxd&%~)37`KP$_(od>wD`{>mBQ~^|bYn zb(fj`NBQ)hmDW6Kvh|-l0oaanb?dpNy5n5kdJd7RThAtPb?aF~s%}fqByw}>8ANVw zJ)KC+ZRu%5DsD?pC30`;DMadROViXkPPJ|6NkndKO;hVQwYH@v5UI2+O;hVQcebXf zb(}ie(loV>Q)OG4rq*$8Y(3g+Y;kIAOOK*eDr`&B)H=?6t!Zi#)sIbF{*I-u{rTW|P>Kv&?k!rkLRTMev#H+Hah@yw= zcomLRrbuO8t|ZdVUETY?uC8mK%WCMFP)%J6s-YzJ99nB4-{5ev0(w(8sx(n1rcZIs@ZcsPf9qO)oKs|I%sHg4)_0qke z-ntLeNB4#L>V8l^-5=_&2S5Y#Kxm*I1P#)Ip}~3xG(-=DhU#I^Fg+X^u17#4^hju= z9tDlkqoL7y3^YcMg~sY}&^SFF8m}in6ZAxAqMigz(vzXddI~f}PlcxHY0xx19h$CZ zKr{4AXr`V8&C;`>*?JB%N6&@k>Uq#SJs+B{7eEX2!qons`)}X>KOcECax8K?&;PH9 ztcc8wOyu)_+VS&$OGmtjG@t*!lJA@8|8w$DbN~N788grS+bmbeIlTY(G~fLur+S0evYO1RDnGdfCs%lHq%sN3$ZRvbss;KkK`7#MA zYD?#uPq&Fm%p?UWGIPw+XcHBf33E4mqC7KBfpW}jvCvMGWoC&%cA^Y3W;TFCX+x>a z%=!l>QHpJb)-gL#k|TR5Qi7LnGh3>YD9+v^tPXaf7)NfUNKsziEh67Ii6ZP>BI4PJ zkR!KHB;e(nMS6WF;j?#|yWZ`D=EzMH@p$=0y5k_B*f$7ytDSH;ay>-~^YV3cS!BXt zUrV>tCv1-FphzKJHW!Bc>?AVS+eBJ#JCV+jtrSV)?8zxqbT;C9pA{24JH!bz{~4JP}7O8XRi}sJ3GFPBWo$LmY2*}eMVsz5)^&V)Cz74uf?}hg2Oej-Fp{R~QF`Wfv>1-%l$Dz13T|wWZ z=!DLJa&!_(>Rc#S=RtWoAIjGSP=VeD?bEkIx9dBgJM?~NzdisR&O23%W}mg^udGp}X}l=$O6-x<}s&-K&p7$Mt>Cefoare*FOSfPN5qP(K7c zq#yow`~M4($0GMe4n+Rd_5c6z1b|Ken8hambT=me)Hf#pl#qq3f6ViLKeyhs&hY2| zJ9+wly|uwwYVQC4*QfvdfA{|!YHiD>;dKs`w&hDAceZa4sk1FJU^k@7w)8)SiBx0% zO?xjjwx$1~4VMbr(tlDQ)z^QRPq7K=YfJwwY&$`9ZD|@_CsJ+wtEgZnsI4viizsF% zsH`o0nF6V<{#o?56V%m~zGTM9394#K|77YpK}{{S8D1ASiBwga>Gf7SK~-((?Pwa)lz>aEb}9!y82s+P*+R+4Smi{%wvB|v)#m8V@rQUkvY8lrAT|iNz7({ zA=28|iCG-^oFX%M`7^q?J~4y+sfaYP6Vo~J2}P#y^2b89brMtAAJNVAi76cUkRp?L z`2!JI;Up%p-xrYw?8HQlT%gDVUVcwxyx=6pv)>hkX4{Ez963*svAq0_DB(MaG3>WR zXxS=HtXp%#*~9 z%*Tiwm?wzsnU50NF&`neWzsbvi8joKh^?6qUiJI`Bl=Nv*`xXdbV5G{J*H1WC-vjd zDWq<#u|NldIG^o!7o`V@3ZzXZLc zUxr@RuRyQp)6i*s20Ek9LTB}>(5w12=r#R1^tyfndPBbny{XSZ=k#09Tl#J2ZT$}P zjy?~a*Y85_>i3}c^abdGejj>Ye*k@;KZHKiA3-1KkD-tCC(tMQQ|MFu8T6U{9Qs^; z0ezvrguc{YL0{>wp|ABf&^P*9=v)0A^qsy4T{I70Nxh%=UjG37pnrsZ)IUK#=}XWh z{WJ8lz6@Q~zd*m}U!h<1Z_sb%W~Tdpa0wI|M&0}0E_whzX5y#U|m^J7L&F`&j9|^dfR%%eE)yH zb=XSs2|(+tMb>m{wAJ70Vzsd734ledLgG*Hz4%1DEnfMz^M7)E|4(YU%eAVvC(aU2XY&#S}Y-s@n4VP=cCT`n`qt#L1zmmcAKezhvid zSNlCFLR~HW9zr&9a;U7O-(6S-?Hq1vzZ*rUt)<^pM80rxsIH~oMMRF;Io#KNXNpi? zOTQC+^2?#ZmVQT(R?N=f#`ZfQU6g*;$*In+CW?7> zPBo5HHM>?$Rb~}p6=r2(Wo9K}C1yopMP>zJ1!j3-d1g6cIc8a6S!Nkx8D?o>X=W*6 zDP~DxNoEOR31)F(aVA|Hl2eRXlvtEmgjj?b5<_M{44CG z{N_+|zXjC7Zwa;ZTS2Y-)=+D|4b;YO3$^vzLGAqZP` zlKNWuSt9a_lcd6yzBz%etes3Xc9bI2*wW7wva6G%%9j3K^SRberaJpJicn`u-yF`j z(n(TjOaE3ggSL~Y*4|AKYHjK75@|0uNvdt>-(oKGx09*fzL_G_+tS}D{I{JX6}R+n z66&O#Of~n76rtvp{tcpV1t&?>E&c07;a}}!s=KeF2z9sg%~1Qilce&N{tgk@V<%JX zy`3V|-qJTi?Nv^a>Rb9-MaC36nPzPHTPPCY^BIZKkLMF|!a~3eoGaK!k`OJB=I*&P*IF~txIEOi#IGZ_( zIEy)xIFmVpIDvQNXm|6j-b^M%;CbZbA~gAnSoZ$Fy>GS3}p^6M^EJp zVGb6>?VQ2PL09|de}Aw)1YI`79|{fihe5;q;m~k@1T?}Q361neL8JW9&}e@QG{zqb zU5VEi>yN{$jq}GtVj*G}oU8&GY9&^ZfDX&wANn-t@GDI>-`PT27e>8(cc7Z@;5`9{cE6W{4LNH ze=D@r-v({-w?o_g9ncQ{TIgE;I_Nt8dgyxp2IvO!Bvk%f@89U(1l{ECgm(HjLpS@k zK)3k2pk4lMXt#eWbgRDy+T-5_-RAFw_WGGnrXPi(ehiBFSx}aro!b8o(e;1->-oPo zMm9y3N9LIC|A$3-M>?4E|7u0bM~XxW$v@=}@-ul}o-tPdJ}i$)x&mOQdHye*060aC zl>KC9*+SNpm1J@L2H=vp|NjC%|L=r318~0;H~0T-x7PlL6M&cb3V=gqtdGB(BsI45 zKNoI8JDIBN&uB}d%9j48!anUJsk5d3iE#SZ$y8~7Oc5$=>6>ZxQYT5REq!xMc2hf< zs_hRbLbWY@GtIu}B&oNhZ?4HcU?)?>{T@ZAxTXKDsMy*`QgciHyeL!JPNu5+9g0wO zOaELORC&KnOqKU*#8i2|N=%jaSz@ZZ z&kzTh*RcH4#DUCLhy$1}6ZdbwVsK$u`AyfjPSf|ke$vl{a{W9g z&(DYQ{Q{`K-v{mUZ-;L8?|`nvYuw@Q$E)r44?qX}gU~_$5Ol~t3?255Ku7#Lp*#J% zpu7B|&{6+x=x+ZQbj-g8y2rm4y4ODr9ry2p?(^@5?)M*n9`GN89`qlA9`YZC9`+xB z9`PTA9`#Q^C;Z2t$NZDfN&j)^asLVE3I9pxN&hM6DgSBcY5y7M8UI=6S^qicIsbX+ zdH)6I1^-3pMgJ6Z%6|!Z$$uGo*?$Fk#XQ_C^*eOhKLefd&q8PYSD{z^*Pz$@*P++_ zH=sBCH=#HEbI>{eE$A)tkumieZ~N~+@A&7T^ZvWgyZ(F7d;SIJg8x4BzW)LAf&U@& zq5l!|k^eFDvHuD5iT^3|ssCAO|3CbHdj0=@_3r=stV3r0zsI_cuK<{3&i@(0&;M;~ zp8r?Y3e5fgzl)3b2H+|41c1ZX{ONz3TxxC^G!;UchG>y-5t~?a(4&yh}_*lT_SgPP>0Cf9n>arcL%kI+}%Mh(#%q3JIgJ_q~UdLNoEOR31)F(aV8C~bBi&H5{oj6 z5Q{KFV#o}L0n;b?Od4M2YNq+MvU5GAA}Xd!KaR^Z`;MJknCX~D6PTW+e>U4(=$LCW z3sImDGsAph&COt@n-99V>C7|=q%kAr9{Jn|Q;PC-u4Gyiu$V%uwsQs1|Hphal-$Vt zo3_ObhSL8_h$BvNJ^N1~_SwmG9QlJHYkB#1VMUze8uo9(GH(M`bL3Zwtm5Tggp^Kl zCHu0F<~_j*j{HoK<-B}JM4on%%h*4O$SFIylp{YJ{-}x7zi~je}_x=yim3WOG{2%dZKl(pG zKlzuSOa9N$&;DiTvi}S8i~lS1tN$DHoBuoXyZ;CDhyN$^r~eo9m;X2PxBn0HPaskX zL|{QyAR!q391xShAIbDpejLCsA^CRsuom-ss}Zo8s_?9es>Vm3~E8Og4$5+pbk_gs0-B% z>Ou8_`cVC#0n{L92sI2EL5+gOsr`Q+egFSIpZ`-}p8rFi|CgEP|I+<`JtB1fAKm}& zMg-sg_a5K>_b}i8muc?*+i33pqpSb^>v#Vb;qU){5TA+j;tZevcT||qKc>a=xVnRl zROnpY!3H8#w-u}>Qgd6uIwBW$Kr`!HDsC%SL!{oe0-9Opa%~4Rv(Ba3wgQ@2=Td81 z!3rXmcCegCrELW?v(BZ?wt}TZuIyk5kt*8?789wltzZ$63p-dyq{6lWnpx*kUt7U^ zBG+{=k4SZG1vInHrM9+$IYch&V7B?RnM-AD1vInHoyD9A$Ut5mAR>jF+yU(VB2v!I?az^Z6zRvy zeMO{|liQcwhYo1Y?Zc7Y6zR>&y@d6#liQ2kQ%Licr6)&vP^1ShcNdWpPHuO0HxYT+ z&h5sLt`zCY%Uy)q+sW<1?kt>bc5Y{mbfQQnUhXIg)pT+@vO5U7i=EqnBkd{Do|ny~ zA?EMWj&1IAe8kRe%aJw|X~WCr(vWAI+}3P!r(;Vyw-rZPQlup>w-99yJGm{`%|(e@ z?A+!YX?C^G|AQt$Q*>F=pc&LGXbv?GT0kv=mQc%}71Szd4Ydy1Ky8AyP}`s#bR}M+ zUC- zQq;`<|B&CyPvl$jW%-1>PaZPo|Lm4K%;|p%nX~`? z&p!P>DDI^5f9*VKZY!X{bsiPB6}(7H^)?Nz^QgD2fCkrjRNGeY95L0}&l0J%t$+sC zc~sg~@H8>i*)+J$qt3Ph8eHd5Wm~}$#8hKHZa%f9+kBf(BL{R)zuG(rgk26wH4eiD%*Kf z)mCsH1yW6YT+Fodn(^wrW|W-QlzES-_`D{DGB`#bVDlQY&E)!eJFgK(j#8u{FW)7^ zYffGR_MJlH+j;dla)cuFc=@ofS~z)i*@uKx)y}KKk%JVe&C3UbobTk-V(&NCPS|-h zIdTU@YVh*yA`&=x)!F8qZxM-zMa7JFhrL_E4l4FW)L6L!G>$?A;=5jh$D7BfBUP^71XB)Hx?F zVBai?MeRJFBReUgdHE(`W`B7e`$nODu=5m0ZlFJBmw7$0F!MU1!@QPgGj|XRF}D*l znA?cy%&o*U<`!avc@0rAHxn)9rmKGcUmt8hmu(0(LK}lk(57HBv^ls2x+d5HZ3(tQ zTZ3)TwqQH7J=g(ViPzW>T#Hw`HnxDC23*bD6qGNH^M3Ppn$6brJTtRNf84&qQeNI;1o2g(VO zP%_Acas%^APT$r9c|ksu9~3|Z!9HkTa65E+a0hfpupinV9Doi42cd((A?Q$W7&;sr zfsO=sLU#stL3ag5p`*dw(A~i?=vZ(MbWdARIv(5y-51;s-5)#vJrFzyJs3O$ zJrq0)Jsdm&JrX<$JsO;VP6UrZj|C^8lfmQAm~A+p3fl^cn>Nemz7C6- zX8`3>Ut3{O^M!3b)wLBCp#Zma7@GSA@~N$@FfcoEK9#i<`V`=<4z(C%=Tlc(p(k3| z`Bc?bs7!(H4g@I@~Nt2XeOtd?0oL((4h!*wG3?`o_F%8tYv6s*x7bIw{@67 z5o&80rVH_plTURm!!#j2w)45K!w5yFugyi1!g}1vr^1$@C9H4ld~R$rf;SOC%fUb9 z(F9K3M)uz#V%{HYFt!3S%69VB^YWiUn(cfY`wt=K*?DU@@;gP=@bYg$KIY`DX8$VW zJ9geGj{HKAmArge*o~dM73`ly#zi}CIY%y0WEn62B+|_bEoJ{GGV0oSOE~faMHch& z_rfZ0@)of#3OT{fTgZ{`D6)W;%_Q6W6U}FTBhq|3Zyra!rpR1g{z?>o(#e~{{!$d# zZRgGA$QKlu#mk=y@2HbEll_@+&)Io1IPxj&d()Yp5T`LeCQfC3M4ZC>kT{w70dW%Z zed0vs1>ywed&Kd~cZuVe=ZRyP?-0i@-zJV`zC|3xJV);;M>5}})e+1$h{Kt$6NfQh zBMxQ0N*uyGOB~ERLmb3BO&rL4g*bruGO<7NrK^7be?E8tUG_roBJ^T#3OW_M1iciz z480t@0=*KPhE4}(pfkZ)=xp#RbR}Nn)!;R}+H1k<(Cfh)&>O*<(3`0Xy&Jp-y%$`7E(GsG?*|`19|Rvl9|j*m9|a#n9|xa6p9G&mp9Y^n zp9P;op9fz+Uj$!5Uj|=6Uj<)7UkBen-vr-6-v-}7-vt+;i^2EM_rVX)55bSnkHJsS zPr)VVQt&hMb8s2D9Q*?P68sAN8vF+R7W@wV9{d6Q5&Q}L8TuzhG6*DIQZnjpK^M5B; zL(TX9ZLLODHLH~6S(f-&d?hZ3SH*MU5%J&W|M}e2;Z#%d`P9`ioFc^gPCk{j49zh6 zpqYH98VGIYZ;Cc)&eJ=3R{NeBJ3S@J~wta zh9cD1G8|3E(&STR%W#yCf7|)o*`b+fJNeYvG8`e~EGM5zTZY4FMw`#A9S)-iwYCh0 z3c1?Jr`nd`5FuyV`P|##V2V(0%W#m$IOXJ1am#R^NZ)1Wb909SC_>FG!~PzRy3{?)RKvlx3P}Q&+R4uFyRS#=GHNu)u&9D|!E36IG4(mX5!n#o1upU$| ztPj->8$b=hhET(>5!5Jb3^fj$KuyA?P}8s()GTZcH4j@rEy9*i%di#HDr^n44%KwZMFP}i^<)Gh1|bq{+$J;I()&#)KN zE9?#R4*NiT!oE=7upiVf><{%12S5YDfzZHk5Hu(p3=Iy4KtsZz(9m!gG%Oqr4G%{^ zBf^o;$Z!-iDjW@s4#z-a!m-fUa2zx)9G}|%kEFi;zYuvX@_gh(NIbGDvOTgk zvM4e=GA1%G(k;@OuK*~;CjkB;zmXrxH{~h$IDZ3>lzZfLas!_LG+qvoJ^2a1HFyG$ zZtnlPXnn#b06b+qXwex!w^?)s&=NiaXrR^2YGu{4DqF=ZNBk{*Jhc;)wac z`#=723aGPXc$D_xf>deWWwxXODs36wDdYmDfLdFIM}!<~7o=+YFh!`gWq3%WzwQ)J zZ_DtYNPEsMNEP=1icoROaKDH=%+=EU5HMk73gk%0LsS1yoVlPNlc$8SmB&^VkwC#eD%)P`C%-e{?nR|%En70y( zGItY;Fn19{<}Jj4c{9;x?lgNxfo9%Bs~+=4qGH}abeS~DE-1{TQFejDyq0J)X_Q@1 zh)JXDf(+(1VmgyX*#&9LE%d?><~6h`nKa5Su$Y^Og1ON!eKVaSf9$6UkrATt!^PTuEHXTtQsHTuxlhTt-~RTuNNZTtZyJTx>4J$Y0D{M7!`J z=0XZAWG)b%oxgxN-`vNSKc6{|0`r)2%@;-abD49@!BqKkn6oJ`n>ouoq#%D5bEf&C zD1Rn%hWVY!pJ6D&>B1bUnLnMEr-}JyigguV{~t~WC!)(HhLfO4;bdrXI0c##PKBn1 z)1YbLbZB}w1DX-egl2}bpeykjv%=YUwb|huXihj6nj6l8=7sa2`QZX+LAVfF7%qYq zg^QuZ;Sy*`xD;9%E`yeZ%c14r3TQ>R5?UFqf>wpAq1E9UXic~lS{tr|)`jb#_2C9+ zL%0#z7;b_#g`1(x;Wf}T;TC91xE0zOZiBXk+oA2@4rs@Jqwc=LtSH)b;aB&X8M?`< ztGk+{gw<^XjynUv^@MA^jvrav?9C`S{YsitqQM(R)^O> zYr<=xwc&Npy6}2veRu=3A^be_e0U?YF}w-d6n+7EA-oyd9DWgcF}wxZ65a}J4Zj4v z6y64H3vY+Ehj&0b!aJdz;a$+K@NQ^#SZ6FfNeRb?6QG1}B9s`8K#_0~loU?>@8kdf z?)?95djDU2KL0mgD3?y*U(9dJ&-nTO>*hf-&D@1A0L;`U01q~Mm~DCezl>Q>?*Pcc z=l^_Re4tMNJk8(#rThQY##8zUz(oH3Uk9V9J^`q_QACgbS$X`wt9Jli7N`E_@t;E5 z4C|%rLUuf*wi*6aglsE5i0xl!ffZH9jqIaXTnL2&;>B^2Cd_(zd- zsvS?sZH9jk)(|T`i0(%^Oyh&-{+<{__jkk~x*rmQ=>C=%ME5tuAiBRM2GRY17)1Ad zVi4V55rgRdk{CqyJz@~ucZorCe?g?^Ho|v^L2}aycKitLr4{V>;ml8o!d8|F>x^SBjO=2c=h<`o*?yE177JH89^GO;uBEh^~5yhQBCe3J?~FfZ!CHNHLbg5HG@ z-;Q~n3feNy>8%&>ZJ1~EYXtGFnP;e=74x({P&vLO^OVSM#kXL-K?Tj3uZzxBd^6@r zy(==lDf0yVoob?KhK~!8WW_h;?qmA&<@iR-qg2t5D~OUI1|bY?}7G&_dFdNX_px)gp3dMkVxx*UERdOLgtx)Qz$T@7D@u7$5d*Te5X?}TqaH^T2i?}p!l z-V47Ey&t{_-3)&KeGvW-`Y?P8x)uHi`Y8M{^l|t$bUXYB^hx+r=+p3L&}ZS#q0hs2 zpgZ9&pfAFAp}XOG(7o`N(3jz_ps&LBq5I(n(1Y;T(AVK_pl`z8Lf?iTLJz~=LEnYH zhrSO#3daAG|MUI-nP$AXS)c#^q&eH1z)%0%n@!A`W;s6n&o=(l=l|X_ZW&j3^?$Ds z(a-L82&^8=exK7~Ac4`nQ zvkj*@ks{l0su4M{9a^|fpu{$uD#R+x%EZddN_sp@sKl&Dy%m`ih!vRSiRGE)h~=1N ziDj9zaGg+wS(;dyS&CSSSyFFtOeo2uh3kY8Oj@{3D9$XVcV{FNV;0rpY(i0H5h^Ic zEG$Y`35A)3^yZ6%Ld=3xP>@+b->xPUVCEO)tc3i`e0sP_$fs#KdFg=1guL9HM@+I3 z@-Tg>@VP<>5w#N(+oQoX!Q&E_N?h)iLfogP zS)eSA1zC;_*-lm{tCJ1N=46MmJ2{{nPEIJNlMBk_5Ixgfo9^^R+ zQjQP#P97+alNZYCtf(ki>p~6lPsEAV(D(V!2iaEuh;!X*u zgi{hK>6C&>Ii;b}P8q0-Qx+=gl!MAS<)QLU1*n2k5vu4^f+{(cp~`yIm+#V@Do$0X zs#6WB=2VBOJ2jvhPEDw$Qwyr))P`z1b)Y&i@ylfB)C-|0Pm(8_otjSR_((8_s%SklgEtl-!21mPo;EIBSSOZm%X% zZX3=jBE`1htRx1hy@E)oZ8*;nDYOk|IWfp=TC`52%r=~7^{r(hMYiEArQRU1pCM9W z8xAd6CsJS=&Qru7uW8Xbk@DJbXwf>6;@WVYAaYtei}kOYKxu6_i}a0b0)@5VEYt-F zoYl?(eXdNx0`8qpW9@wAJSv#SoJ)h|T;?48IiQ3&%-K{hn>kB#vl3=8XNt;J!c682 zDwx5XE*4t})0xvmKPzDxb1DrrQ#DOziV$zu2~*gUg-Em#CUeOoDw)LH6NPwSCro5d z5aPO(Fo8?PQ^|Pl9w&?(cEULJSRw9P31hir43&)G?$JVj4~Okxo+)Ys_;^>g||{ha~O0B0aH&=~{` zat1?#ogvT=XDBq(83qk=hC{=h5zq){Bs9_)1&wk>L!+HB&=_YdG}ajhjdR9BUwjG}oC2 z&2#2M^PL6I0%sw#&{+g6au!32ohP6toF&i_=Sk>E=PBqZ=V|C^=Naf3XDPJQc@}!s zSq3e0mjAos|NrXyKb1ozLU}^jLx%aINhbhZHP4ub_4$9a0X-~WBVSYbS2%+$O81{*zi|9^F(j8V||-;Do3Zhx$k zE0J>BaA@^9kz(6$ZV`jj{!rftCsJw~4y|4%QfM2_O=6JQ@9W#xM9OT#d5=huZ8+~z zL6F!t^eCH1iETLV=+6NqQeYd-bt(w*`kKCtO{BawoU0;_l}K@II9I43Nb9#n6DyI@ z+HfxGZ`vkOSR2k;R1jqKC9%*-46^!7G1N*7vihP9`9#WU)43qT2|JO(+H}qfvBgRZ z()t{gwBhcvLfo?xTeI~7_Hiq*mA2uWrjnN2eM*QQ?8Fvqy@dUxmDrq1UZ;{~+vH$2B6QeJtiwJi%v)AsZ7z9*N@{WU0b%B{6Kk^f>-%CWu?CmCOeNL1 zdml|L605QGIei1H#Hw7fhf1n&ccw57*@>0e`lP;Qr=1|!zD@dhgg~!A(mn$5=$}@h$Wcu#Ny1|#A3`{ z#G=fd#3IZc#KO$rw%#DdJ1hy|EiiTRmZi20Z=67w=Q6Z0@%Ao|QrM8(`l^q9~8 zxY|Z% z6ST>B0eZpN3~hE^gkE&EKwF%x&{pRq=p|cH*IU zCjm-u^sNv*TXqti2o!OWpd=?5N_JA96ekr*b)rzzNrTdybST})fHIs+DAU;k?Q!-( zd!2pIKIdiVWoJLM-#Gvsa9)94aSlQUomZh(okP$e=QZdx=P-2GIRYJVjzUMBW6&|@ zICR`O0iAG8LMNTqq1T-^pf{XT&?)CMblN!sopH`WXPtAa4td@oj0L3 zolDRq=Pl?h=Q4EJc^i6Le*`@EbGzbPg|0f+pli6LcRNMl+n-Vtk?f*>)n4v3>Ulq z?urk^6>&!I|KB5Yxaxnb2<5dQ%M&@SWjX!)H9~Q1$g-l66``~?WEm>pu$HC80xQB{ zElY_WR)oV^meeU9p|CckUdKLSML4ZxaeY2qgwt9UqY6rEQx?@Pyrtg9sq0ly^FU-_`so&Q2%sM6$E>d41)qNH#9X zN+nsj+ZM*twoU>1SuA0;u_6|iWTBEQ+#M%!l&~Xl>{yZYh82nBk{Bw9;coo{wzMN5 zwkhIHSP_#;4Ei%PnEXdCh|XWSH*qoZPvRoxAH;>s--!#DzY*s%e-!Smr(A80KB#XyzBhQOrBUk<8C&4m^VS8TAfleo7q1{De4^dHWwf{=ehg zK$hKb-i6+E-h3ju!<=ltvI}e}-&ezb_&Nt9E z&bQFF&O_*-^Bwe^^F8#v^9Xw6`~dyn{0RN%`~>~v{0#l08~I0gbK<+P$5~^)EQexZ@Jh1B{r|hoJ?1g}MWCDJJ@cnfjQ&zU z5&gzMgHXFrpU^0MlHik}wV~~yw9sq%9fKR8&qLq;k1hHU_@BC2Vhp_zpl?6jsu%pE zB9%`9Zh+R0dY6C@je?fZ#AvEpP0(6ltkkV$Xx%XM&An(5wDf#LkM8=P|Jzq+h3ic) zC+e%ULF=HYcXNq$K`Ug2Lb}xft&X8iy44Y_%^`h5Cpx3`S?F`!>Ke3SD#hq0|Drou zb7SV|R!_7}#hliy-a#uiSF9fSMPIb~#rD^&{%9q}>N{955Uq!?dJq$XgH~MqxCXj4 z6s@Ik&+682w64Tm)vb|1D@%ba1$ApQTBEa!(XFv)?aQKX-Nksc{>Y+7Z80%uS#2!6 z2rVX~wZYQ&p<*gpA6Xyk*7Trdm$l33)=ac!*fVu&Hd@E+6S_4wXl2csHJfhDN2_Pn zUb?jqt({qS>DFSj?q}6wuUHbaven8~TeqG1<*9-JH6+H6g`a*v&LvMu$ zTDhz06SMV$8?+YWUKsrMuO}|T$fv)(`Tzfa|0%)G7IyR@9<-f<|1H7;=@nkRb24Zp z>z8-vOv#}2NN?X2VsFrL8qrQ3@iJP=>4}~=fYx=rsHa~R#{cgB-W3i8SCEBe5q-VG zXpNKOb?Ycv2jnZdbv$Uf!qwAWaT2ZeZU^0Z1FcQ2UdR!r(fY*wRJYCsEw6%CQMb;c zHQSq`TNlxK-Fri~E(I->L*>-1%V_mceRb;!TJb7Dw{U-`zEOJeDy|3rKfkVDPq#43 z@}Ksf(Jjoc{LB8^x`mllo_u-o>lWrzc}C_LrCXRy<=K;GuWn(EljpZQdbTbwyUE)s zZ)@Gcye99uyz6xfGn%{~=GDu)daaZHr1O=|r*H5CW-^g>Zee~=cw*s6x`mlV;a3YE(k;v>iiC>j`ziyoi6Whfbk;4* zBZ|COWQ%TL22temBKlUrz}%r|<)T$`=zob0dYj#U$^Ac_0X)_mWOnC00M+yfK*9I_ zels5G_y68AE*U5J48ZNidgEFB{U6!^*vFv#|22)WMj`zKAWrYrkpB_Z>$L4wMm__c7*QQOgUME3fU35Z8PO05pt{u-?zz$R6_S{rko&R3_C(M zZl?b4*}P&!_|8p^qY}DvGv!!eY_ubE>t@O^!gyds_})#9rV_e$Go}7-SOA z)CbF35x#qqBdCP#-b^`M7*E*|x_vX{Fgi>=!uM}d|3$MSbpK|`AtHMlJ2HelSlExP z$Y5a4UQgSdO3$g;_f3}g?W?*&E%aEYD_SdsqBe#CxE9ST;YFS8G^53@J1H&c(Q zR-_lRC$T3}|JP+jdN8{ayED5HyD|0fWJS6%yAZoD^!1Q>UO6 z>A-AHY|m^*Y{%5o2rJT-*@oDLspG_ov}U#i;gSNHbUonDX~3*ctk2Z>X+`QW>k{iS>(C|YF!cn) ziqvM-(%V2HwU{-jpeC~h71Ur>r-JItYQ$>Hs#H*wSw$ax6{*6kOsveTLd3lKU5WcISx?qSUww(YFxfyhL|;RRdokHaHb!4#i90gcL^efVQ;GXB*-SP^ zUvt?4Y9U)fEhX-tWGmSkeXS+#qhuS|7JY3c?xtir*&coECGM$Y2iXyQ9c3q|lk5z2 zmR+DOvMbb8c7wXf?ofBx1L`4rLOo?KsF&;w_12$!<5`OABXQ3q`^tXk>nHm|{pA2? zfE)-7l!Kr_axgSl4uOWqq0mq{3>qefL&N0=XoMUIjg+IHQF1giT8@Fn$g$8^IgZBv zj{2Bg{rx{W|NlzpjJ`k52*rmshgRu3_St&>-_TI6Q2S7mP|Z-eP~ngpvduruNBSQB zmVW+!);z*H0JrM%|DG}D@d?0v^{PN~z5ZX(EXF$k41NC3edD(Aj&Z>_uGbM#jP1q- zV;MgI7;OwNx*9Ewx<)1a27ofMiNC}naZf)1pf3O%q7#6vq#(3U=|L@tLfe#Y(09&~ zD78)bx-iCDNkMF%q!Nm4Q=Smwpq)gyZOY?9+_92^;MS8wJBfnZlt+cp-AH6OXgC^ zT<)HuPssX*kN@N41Z3F+IT4yDCqa|sWN5OS0!@)qp{a5jG)+#2rpp=73^^0}JFYQP z&cfAZ$=T3sIR}~}vC1Xq%6aIUC+9=+Nlv~iZMQ(+*%9o&*&~6zI#mfXJK_)_pG6F@UP7K;fA(Lb>lq^%A6qyR8$|w|-X;7L> zhtg#Rlp!;rOt}ZzBlkjkMLK?uYiv1OGDq|J(2Xt_UsGtM+3;1N8TQTH^E{ zpLhTLWZu{N|KH)$fA^ay`uzV5<}!03KmGr&{Q^*i*lj0Mh?{O$#BH*ZDaB1Uw}}10 zO6C}MbLren<`{Q#5;?|Q{qJQZbBw#$i5%l@HX_HktAo!<<`{SNQjw+qDD*h$T11X< zHw%$t+>Il0jJvT!j&V1J$T9AQh#cdtN#q!(B|R&dW8BrVEGs#P@xL^aD8>!>Cy`Rz zkbe+^5Z7yCRuYA{A%7!Mh8yx%Vi4iK5Gle9`ItC|sTY~7q}j}$h_jeK5@#}hAkJVu zB2H(1Pn^d5jyRS1kT`|;EpamQ8{#D9*ECE{WImwY3C#P%@yxGibREb1l4{2??@_@R z=3Ocn&HRE2MltVD!AR!kBF;)0!Te0Wub(uW`6(3)V}7E)x|=kVd7H-EAjc)SG+@uoJl>|*M&G`CH3HvYgE#myRQnPww=_CeMN}xtfa17@-~%p;qJ@AsAMN~ zX6uscGAzjBQp@doH;^CGEKTJRRno)Ruitgz8&KZMftt zm9*yWGa}|!JE;}>v#pugi9C*(<7?WBAidR@K&y&+FQr{rnqv^)cyk!PW^@*H$do`=rM3(y655xOYf zgx-{wpiA;C=q-5}x-8#@-j-LOEAlFIRbGRx$?MQ{`404syaC;i??Ug&_n`OW`_TLH zCUjGN0DT}ogg%tFpj+}I=p*?t^s&4R-Ikv~pU6+4PvvLOXYzCCb9o24Bfo&YkawZG z@*Z?gehGakzkk^M9|2bK7PFI^GMnfd*5oG4##GRl*+>tx z$&Hu|^{a)+4Vew7paHYK{<1=HeP%s<_nTagS(ggxGV6$1R&pI?ZBg1vuFb4P1+|zp z_1KwQlUYOG{U+C7R@dWFa&=A9ttP}uE4dnXSJk^QldCeTP(>B4s7y~plPj|;>8Gkz zawRUQNF^1yyMhou+sPH!<>^?QDm0X5PN>fQ`?k+{E zOUb3!C55roN-oJIC8(qXcNZ7tNISVWyO@6e!AdU1B}J*ED0dgpXE@u*Mc9Q!Xo;0v zm`e&#Ng?jm8%9gp$pzU3gwe%HF2E)EsU$yl=c5e=$@$oM^-aH(oR>@TP)Q!{_JvW? zPWIXQ!x(q0WW^;Om3Z9kimb!zWS1?4wZ%%7T;lxG_y4(uYX({7ntEZ9@2lL98w16- zu~4iV2gSKrpe(KhS*{J)ZdNF(n+^Iqu93~nj;m#Nb3i%VoKQ|T7nIA*4dr&jP}p@K z$CZ$DUC4Dk$a58>Tp#k?JWw7tFO*jw{vG^I=5zBy`P~9g0kN@ZBvjHZ1(kA3L#5p^P#L!@RMssAm2=BO<=qNU1-Bwp(X9kk zaw|iX-6~KOw<=WCtp-(dt3%b@8c+?lCREd{1=VtEL$%#HP#w1}RM)Ks)pP4Z_1y+g z1Ggd6&}{@YavMX9-6l{Iw<*-rZ3Z=Sn?udr7ElYfCDhVw1+{WpL#^F5P#d=`)YfeW zwR77CT|Nmd#|NF1{{@*3NfAFB*{lClD^dElzFNLz(aA`R^g`(SVlZioc>nVbj zLdk8ow49wn!ELyS#2~k6IXi`N+i+<)JB4D~aCZ}f)ZV2B$P`L#!`(@}6xxQngBWD? zb}FFEHe6cHPNB#)+?R+!VsF*=vMH3=c{5Oz#%5QYZD`VTRAEOQKT40AMbG;g)D{`nmm~{_X&1fIAQx=njGgxr3p>?ht5*I}{q~4ugid!=d5s2xx>m5*q1_ zf=0Qcq0#ObXpB1+8taaO#<}C6@$Lj@f;$nK=uUzrxs##E?i6T>I~AJhPJ^bo)1m3^ z3}}Ws6PoGHf@Zn1q1o;nXpTDyb!q1Emh zXpOrTTI;TZ*17AU_3j2}gZn)6yt@(F=x+L#`~Uy=_kaH9@Bd9Qhw~SJ=>)*CeEx47 zpZ@=u@vcE%0H&w^+l+O_Qe&Qew_rGS|NXzG|NbxU|5Jk4{*gvkifzOFLBGJCLaA-I zk94G^1fl)CUMWtY&^FxfM0P8MGTU$;Qb7>e-|9u<6pC!a{YEbur%+-W?$=Zh1oi{{ zhJOkLw&C6vMXVIcYs3AD3WB))QnayBg1EjX>RTy6T;J6>pF(kMx?c#f+DZxX`i_`y zr388XIaN?zo9<^q9I{g=uua;|yTwWg68jS>p~N=b+qAhfg(BN@^^*1@D<#P6kEmo2 zci*Btk0}G$`sjnMR>}Zv!~K9t`g8Y9Iw&@!ANze_47F1Fa*1Bowp03W_q)QZZKw2R z-w@^qE2S5g=!I=Nr6+e^7g>hcDLvTNM9d3TN_Q@~N+sR6Tc6*%)=uflep?v&x1|f0 zT&CZ*&dj&OY%8S`^OAl!Go>T*P5L!DXqv8G)y`_Cv}a%7AGRHroTrku+`|mz<%JR@{AB#GbWNTCz`xm?Kt73odzsev;uMz7p4-xA!UnSOI9wgRgzCx_UJV30;+)u2*e3@9CxsOOX$`f5F|1EZgk92)*cTfws6?p{?#q z&`a(%Xq&qo+V1XvcDOsCo$fB^@3_V;cQ>xK+l`0f-2^DXO@tEN2o!OXpd>dLN_O?! zot`bbDQ+s1>PDfcn+B!1=}@|x0cE(EP^P;F+T-qp_PYC^eeTQ9%kF+?zk2{W;JyOA z;vR$!y01d7x`&`c?rYF%?qTS#djvY-9)*s&$Dm{Gap<^v0y^QIgigAzL$AAUKySFG zpi}N?=(KwVI^&*&&bsHIbMATQyn6w<;9i6-x^F^nx|g6!?px4X?q%q*`!@8pdj-1U zUWKl@*Pv_eb?CbL4)l(D1G?e93%%>U2fgRM554c+gl@VYKp(gtLLa)fpj+-o&`0ja z(8um==(hVwF#ae1*YE%TpTGZi-8j!*0Hzaw*YNrO6Z9K~J@pAd4GsDNa6TiK5fVR( z2jaH4F3yW%;$@-l^Mik^RL*O!sZOs{&TFrUm}jMOUVDwjOe>Z1+H0gof>g?D(`!iY zJ*84$o1R|HPPS4xvAz0KLWym9^@MoWPNm2;J-wd&qm{~;?bV?Y%52lCEsSDzDuuS` z)e=TeE0t5*t4Sr4+NM`S7}e}lifz-YE{rFvRL*U$8kJCPn_g96{9&h3aGPEgVK%i= zIk`Q(s%@uIa+_Wyk!6dWO3`iVw|ZjUw^BK~y$V!9*=>5|h1t?hrSLYra{5z$R%$tI z!z)X_D`lBw!~iR`46`)-29;)(qFT*O?=oWz_={rBHW&B4r0%+Ab4 z%*M=0%*wQhHq#5kt+`R+c zale4RaPLBQ-FwhI_eX`i-BUiSSZ$ugW|j_P!`XEEYF5)FDsPQ%LZlhvP0Ru z98eA~CzR961?BQ`L%F>$6!sj*@gyWY7jiuh@;n78&xd?350uBt3+46lLHWG=P=2of zRKP0;74!;0g}lO0VXp{O#48FF^@>5oyy8%CuLM-WD+!hKN~7M(_XcqWAyT zGb-~JfawbWKk^QMt9$}brvB0FD5bXP>5tDXAZm-m%Qj~Jr^i~Mt z7duM9ZFB=>SEq2xBbWg<(09i`|ty=O&CvK0-odnuJrcAMTa!c4QH6yB!y zG`$!Q4buB5ou|CF|f&)caK;ii7IH>R4E${Fs>);~!q zXSg?uI7?R;-b~_5re4#wQfDxy6Q?t$5vMVy5~nh!5T`IF6DKn#5hpPx5+^bz5GOFl z6UQ^h5yvsd62~%WEjx7#lh(3RM>9teM=@zFJ9Q+J*0NJaFozR|Gifb5br^FfaVT>L zaR_rTaWHcbaS(GLaUgR5aR9SFu|KmPu^+Q9u`ja^u@AF1u{X09u@|!^u_vqcU#j6Tc^{PSDyy{SOuLe}Zs|nTgYC*NU+R)!|joMxvT&<2*7pm*k zgX($pq556}sDalIYUnkB8hMSO#$FSsiPscr>NSI!dCj5bUJIy&*Ai;!wSroCt)bRl z8>o%f7HaFYgW7rRq4r(}sDsxL>gaWXI(eO;&R!R&i`NzE>UD#>q5j?gXn;2m8t4sz26=;_!QK#Ph&L1(>J5X2dBdUM z-Uw)fHxe4@je7-)<)78>h~gT{H|q4C}XXo5Epn&?e}CV7*g$=(!biZ>OS z>P>^DdDEfk-VA7lHxrua&4OlmvxD(J@^AP5CH$@L|Ftse8&!;wdIcb-Vd@ot`{HB0 z0&q?o5qm{M2b3OmgAD&bzYP@)GW;fuwUpte_r4Grc9cTg^xo6Yo~>w*;_p%krMT(c z5LuqIqZH$&_l}6mXGMb?zfL8T6dFkmP5HL6V;#21$OJ7$o^AVvyu-5Q8MA z742v<{j(b$t!PJ^GEWejFlj|Q+L%cz+R;YLqr`^HBg6*G!^HZ`*NF9)hlq8Vuj+9w zT8DX%dTTRZA=Y9ZAl78=C)QxnigvU*lUB5&)tGyURhfH;RhXH?%1m0(j#gr(6DuJRlHQXMEx_DL1^Jm<#3C!2 zkNKjQU`6vXH`CwBJesEWf)KA+QJ=dv>8B=9#oS009#=e1OIT5ty+NOxVnrpFtfvx( zyVuciC($r_t==wZMRRk>nt%HJzceE^mkn2N$)9K?J4hR=xOg6=oxP*wA6bRde&P8E%TN`%f08I=e!lr3U4K} z(pv?s@>WBuy*1DpZ!NUeTL-Q4)Bec=m1a0zOfL`!6Lz}%9p%=X^ z&=zkiwAFhFddb@cZS%H6+r1so4sR#4)7u5@@^(YJy?7|zOMnu*L@3dVKoKtqO7fDS zWG@9u@lv5wPv0)mlN2xNr9o+4I+X5ZKp9>plzMG3c0g96IiufKGTPp_AV0!T68+ z|BpgfLuW&WLzy8O|5t{Vgl2}uh6aU#@BdZ~73b6cg+BfNEAwOi{?9Shph}GZq^&jIqWbqr1_D z*Z)f!1&lDC|MO7X5jXk!zlTJIzW=wN9h+&K;;J-}Q(ToIa*8XxvTdbtimMVt zPH|P7$SJOh5jn+GQ6i_fDnjHGSA~h3;;ImlQ(P4!a*8Wj(@x_QSNVyY;wm4JQ(WaG za*8Wj(@vulH~lY3sk>^y|`^cACY^Ld?R9BgQdf z^^ltu%Z#Dk7-mRs$w&(^O+DnMnM{KU45rYdWSSs)f9c!X=wjxdx*)oU`G+WDMHe!E z7s`q*VE#r0^O?WuEg8{y%wI$fD>|3?mqcF zk?3wkr!&8&A#$3g>3v7%$wjBKAJR*I(J5T=EtO2>?r-S9NpuqXYaw2@q7%8~0hLVP z?)$X!F*=_8l`yJU(Q#bzC6$cj?tApCC_09HR~Wmj=x8qaf=Whl_Z?w8vZEu}p9|wB zD>{NpKBJQ1-2JK0J2Ilf*q_jjjOb7R=q_1=Tt^WKNv_ijQry$_%d zybqxdy<5;N?<43V?_=m=?>2PX`vm&L`xN@r`waTb`yBe*y93?vzJR{)?m~CHd(b`a zOXy4QE9filK6KxE06p-&hQ9W`fxhv+g}(J3LJz&~pzplzq3^v%&?D~$=m+md=tu7- z=qK-I=x6US^w|3a`o;Sd`qldl`px?t`rZ2j`osGZ`qTRh`b&vGN+<&|lnI$C1cg)# z6r*CHSQQ7wsVqY zxS=KyDa8#nk;oygXkj~zLflZ}iIm}n8b{;^SG2I5MiFi(TG&pb1UJ-ZA_uq{MWg^X z6fJD0QGOe01d-!g(ZY5b#kZkoVLOe|+fYM^9Nub(zO7E9@HP}JY^PCn8)^`dqgxH6 z0hps(4WLnX02lP9g8s~Y`i?cNAG5Ds9Zu`Zq=oIYKFr>tww2bK*-H|sh}sb zhbU>K^gJZoBec01bqnAVO<+EPhd?ruY8lcu#{w-(}>mDZX|T2VyPIeJ-g-CH1(wt_UUCX?59kgn8RatHUL=>35|zvzBOPrPX5A z6ho}En#>yXYt+y*Rdw1DnpT}%O&=F(rB&mSs#H>yyQ_#SzMWQuU0KAYT4|NJq!N`> z;%>cf2ZxTHM&B;}dqh~=1N|LOPtDyPbYEX$>GL%CHL3M&V4l!T;m zAy;{jrxc`=5BVw&^mkk%kIIXy{Y74bh?Vxt5J=9)xfI6s- zP)F4X>ZCeDomCg8i|Pt>Ro$R&syozO^?-V)o={KK3+knML%mg>e>47H51kJk3;pZ+ ze^d3@{ry8-_ynMep<*Ew%4+_l&;Pq?erR6#4}SmeKQsQP2ibi>r&l^3O(B zFK*lEK6h^tag*$H#oj1lhFIwym*~}PJKg2(4I*^HPM7TU!rX7AJ6y7kepkZGwW6t& zo}0Nw&ppy}F;~;CkyF!DtLV`D^c?J!`XF;FJv*1IpptCd{hWx~V5etgFBh?staO`8 zmQjht-Fn~1Gj@6w_EHf_u+rnW1qZvL(PO{s#(x1H5;0( z=0J1QTxhPE2hCISq4{b7v_LI{7OF+iBDEM=te$|LP)ndC>PhHH^%V4!dK!9KJp(RSJ}%QlV58g`z4AN>e)R>A8 ziK}I*JzY7<5b>hmNZg&UqyDRmk;tN<2?y#u|YZa_EGyU@GpJ?K64 zKJ>o23Efm5Kp&_Np%2w9=$85j`bd2YeXMRnx78=mC+bt^Q}r42nfe_1T-|~0s4t)| z)LrPVx(D4;UqWB1ub{8gedxY=06kD&Ltm?Jg8Bb{`uiU{_yo`e<`i?J+1Ko7HZyDg zfBybw3!{!vQJ?

u--4`paJT#clD9xFC*;{r~d)4=aOaZHAv+PhT>4(&lH=-`CEd zNt@wk73Hi9nzI?cO$9t<^DR-&%AhHm;b+k=?Pk!7&G6%>fG2Ezte$3P@Py5e5yhA2eB{ z8Jnqor*HnG)0E9r`kB`2R(ddJ`;|&)&St7#=tbUinzWfpzp3F`>A|e+XDXpto2h=H z&ClsHZ8O!6JjPva8(XvpEQrI!HH$1%SYU9I%7%zN}} zjL|gJT{^WYeKh+E{#PEwC3mP~BzNn>J(t<(BiNsbn8#N7a4z|jN``UwCn9voP9Ms? zEkbRr^dVgGG5sWinI91cF>etEGCw2^V17XC&%83p zwqc$nwq~9owql+pwq%|nwqU+NY|eb0*o=AdA3y*9Ry{L7R@6{vdk@^Ap zLH!8*sD6TeQa?jKtH;n|^$YZOT;mt@E3Wpd`VIO`{SN)E{($~ae?ot%zo5T-5y%(5 z0U5ptnSKZg`7uz89}C6$aZsF}1~7_%)%Lel4h$UmL3J*MaKzb%XIg`u{xt z``@kq)eBV)l?dexcz|NGzniZy;QzR^2?ZWtH; zhwpzZFs2wIjlKpw0jy<|GYT8h$Rd8%Um^Tlye}?^lj0Tr>ZcxU`5!BTBirwz&ymRB z$o6~d(ISH)+w^vrS(=&pK~qaA^BIsDwh>^t%gj*Uq5SHhul7hG%7PZ2MiQ zgkszDy9lF!ok6*6`kjTb$jad0_B&At1-I$zBR#L$8I;_n-$9sVtqhKCzde;uben!V z5m(*LpzJpNwj%V{%HZ(!^xVj*ThVnJpBVgY7; zVt!^mVm@YGVqRt*VjiYX^qGpNm>$t%xL>4%g|hk6}mSnqYt2s3l*)$5Gh%v@BE zi{N_+| zzXkMnT%(2G5?5>Kw}M*vt)bR_8>o%n7HaFagWCD+q4s_UsDs}T>gacZI{BTU&VCoD zi{BOM>UV>>`Q4%Jeh;XJ-xKQT_kw!)y`kQIAE=Mt7wYTxgZlaXq5l2=Xn;Qu8t4y# z2Kj@b!Tu0vh(8n>>JNj4`NN^%{s?Gi1gU0#eq4E9% zXo5cxn&?l0Ci#=0$^H~*ia!;a>Q95F`O~54{tRe_KNFhi&w^(8v!U7k9B7U|7nz#r_k}6aErtiT@<@r2iE3l>ao1{~hW4?;rH{zdj0G z)8FPk8rm013cVCs7g`#cADR*x8R{469BP3tfaD3~2$|;3<^%H+^M-lRJYgO%Q_UUv z``^pWMdoyKj5*NkX0|pPm{rYEW_~lb8OtYteQvyOyk)#$ylSKyyNwr&mBtcdmNAZZ z0JrA%e@Ym6_4_{|@mPEgGa4R!N?nFIsWm0mReu9X7$IhhaHvM=J)7Hui zvU@j`PEy+fyAW{}?7MK>!mNbhZWUq)t--Y-!>kltIx zBs-JR+w`~SJ)%}-5Z^D-RVcnqf3t{<+L@H!rvCzM5XlSzd=r&WfSdkC5t?RaQi7ZQ z^TPbl$_yfW16?PG@b$zX!q*Xl2wzJKB76-oi15|KAi`G>bLd~#@b&X7D>FND1u+}* zIbv4ka-z*#MzomE60NsqEJ<}hayXESFJXEA3IXEJ9HXE3J| zr!%J!r!l7zr!r}aSjH6QWa4DzBpO*KF(*>*MCJtI1m<`eWXChdQSCV9SSlFH9HY;0 z%^1TRt@k`F$owDL5PIfB-%Mlgp{!Eoj<{TDN17;~s-WMvFx4xxe}%)$EX zxs1WgL87viF^D;k3I;LPc|2gP6e+9I{UkR=BS3#@%)zE5x4fJc0fN#l;}sGh@S){`N>eSp8}=$sZgpPg`$2Ml;)>H>3#;3;p;e~r!{`2 zzX#gm?}hgI`=EXP%h1dIerUgc06O5m0=?oNgbw>HC)G$;nR60~36b{9iznKrsJLXOE zvU$opWM-K0=4Nx1`J_49oL~+$dztOcCi?u(a%N%EHErWhp8z^pfB(C$(aC83?>qsZ_kWM-_kZ<>uZK~}aMS-@#Qbb$Qiz-WcltZrR%Vdm z52=Jw-1NT{q1JXL#klEzBg{)yW{~4w>s-tXa{K`?$npEcAjiKV208vEG05?I#30A@ zqPCS8Ahu(kC$?pt)1zl*8|GPJYvvg$XvNgu zsIoF!GXEQO_Z?+L)vXJEt=bJ#k#pCoTD8eJ=bUrSIp>^nRxu!mIf0k}5fk0LI|mg} zQ4~=G1w^8OpeRZZ1mUhZ>$&H6;<)#o?_&)4>o?YzZx_wmKCAbv6+WPX_RROGpdE9U zIpsB>E%QAy(dUmGg%C=6Y4Qz=9u<`y38c{ zv8`ih#V69`CJD9K2|~PUC)DDS9aK`2hu@-oz6mwhZwl$y3Dvpe4JxU|!>JdnTKB$a*vZxiM`Equm0il{}=K5k!Abizl6SwKL8zwKL{O+{|fpl z{%h##_(Ra4_`}fQ_#@Df_-~*)@r-ZckK$=Zk3RvOh(8IPj6VgP zia!mVj{gq&F8+Jy`}iNAAL4(6evCf@orymSosB;Sor^yYosa(s`YHZr=;!zg(1rM4 zpkLyDg?^2{2wjZ-4f-wqcj)){OVFkG%h2WcE6|nrtI*Z>KcGM2uR+)1uS3`4|AhXG zzX9EdzX{!p{|ovn{uXpA{x)>m6`@?=N=UjEWVsP2;>JO7ZZ0U7n;XjQ=7I9KHe|aF zncdOUO4~r{U3k-{J$--G4e=cHQ)a|I?_MV#mxV8A{8SZcmMymWA}e1h^;0? z6FJGDD50j=R*hL!G6O0InA)6Km8h9M(Pw&8;4zgbYbPqEE6Ui3 zE;F7A;+ZAQT$@;uSweKT6H73QQ$cZNF)`6jEXFKqZoy70$}B4K`JQ7EMSh*NG!n2FJ{|``I-656quOL&~nX`m*^zsWjjJ_warHd`nR;H#OC2V zLY#9F^RROZaotYL%_X_0Bo`0I30c%hjAKWH9B(H^xWu9oi-)C|f z9jflufNHokp_*bP~Gx^6wFo?9QP?>2xMxDBC(ZX>9X+Zbx>Hi4SB zO`)c4GpL!{9BS^ifLgdMp_XndsFm9qYVEdx+PH0@wr)G9o!cI2?{jK29qR7(fO@z+p`LCpsF&Lt>h1P{`nY|ezHUFLpW7em?+$4DeEtWm{_APAvl?49tg=?TmEYvuRr!-VDZi4R{F}G`E96``$(;V#NB-;S zUxj3xxGsJX--*NK{r@hJZvJ9_`(r1CS-#E$TM}itbk`Co%BA}tF-&smZYNQaOP9La zNfhMLy`LE7ICZy^D95Es-R&fbap|rmhAB?n?IcQZ>E3N-#Uu)G>E1=7oZ&8Yw-YJD zrAyuIM2c|ft{`%PyUU4`;L@e;b|MA1be9r2zg=@-m7U1>?NWC;k@MSKMCAN-7n+O0 z5;?!!1w_hk>CUGDj&FCK`8b<6k4NVU-%gy%oI?e3n6u3un8ex4S!Tyk;wsZau0P92eSu>xUqKPATAk5 zB?EbQfQYnl5(lvR3+tMl*q=-K(YM@>+1DH(lGvBo$J`&D*oWDh3VJhp(LZ}HW>0hO zNMcWB4|+%sL(AwoS?pkQAyAE3CJ_J4Fu7}pU4?_>Tk3f&Ok3x^Sk3o;Qk3)~UPe4z& zPeM<+PeD()PeV_;&p^+(&qB|-8=wvDMrfn^9Q2&K3EJd74?XX`0KMS82)*dO1ij?G z4881bhBmufpe^oJXsi1Q^oqL;+UC9rz3OgZ0{$AvHgX}V<&~N{khrqn-s?OJ}L-f`!jO~SQ5pyboZK8 za}uStbU&qnFtk4rz3e0kZRzeYXFMiRW=r>D6Xi)1*_Qi}5RchOVP@|ZGwh@=vp=LS z5oY!Wroo&PX7>B01DzCR_AV+2Gy6UBGB_#B?49Na)TGw@jCbi7t@s)52=S7W)RJvl z+X;433ogl_lIA>|O@}}xHDjAS(B|82$|adp(u9Z2xt=ARq{i%Yx{x}l5tpP{cYayNI9>axvmOa1MnI$UCU+)h$$9!?OEWlmBp_6}j) zwv%dd$y@X-*I>SBmOLg^XTBlE*-6!yuTw!)=4<9xlcXxl?P9T=RGIlIJ*1MMQp^{KQRef+ zfVqjNna>e@=0>8&+(1;!XNfNJ8Dc#1X<|v{Q^XR?CyB+GPY{bSA14-NK1M9Ue3V$2 z`3SKP^I>8^=6YfQ=0pGZ`9H~xAK}{?q)z4ZYGrJW>?J?8ulpJFnY$0#=Y9@-?tTG%;qHg_yI(?Ix(A>G?m_6F z`xW$+`!)2ndk8w@9)=FPN1!9_H_$ikQRt}qE%dE>3_9i>hmN}^pcC#%=%jlJI^~{* zPP^Yh-?`sI-@89RKe#_aKe}h2GwxaFta}bR=bneoyFWocxj#ccyBDAf?k~_U?yu0V z?nUUL`y2F|`#bczdkMPaUWP8aSD-8IRp_ew2lR(~4Z7xDhpxMSLVvn9{-5Um|8D*N zWNWz9$D9D##HwkPvs|lynGLA}a6%rCADj38bOP80xnADGtN%us^FKSu=H~S8zpwuL zFXsOkg|<}XL@PT+nJraWlVvfEY*ofwv>D^bR;A5+5#z{KrKo@-TSdhRJI0Z%0x{B# zabzn^1svJR7X$4WN4E0Jd>iA)R?5s4F^X(UxpbsPj56C&rl-Bhj&W$Kl2k&WZK)DM z9C2cl+LkJAUf9|(j%`(pN+`B1RaD5R6QkU=R1tbf8{^v&SYL7&S3sboX-4-IE{IpIF)&h zIE8tZIGK5dIEncqaU$~v;soaR#PQ7Uh~t>2iDQ|kh+~*1iKCe(h@+Uti6fcEh$EQa z5{EO75{EIrAr568Ar4_4{>RV%H{HLGWq-N1pj+;3=(ZA}lu#0q%7QEvfg&mnic`6u zTq<`c_YOQmHRROA?Dnb=iC8(0B3{_TDpem{=R8>`js;TNwbyWkZp=v@kRV}ENstwgv zb)Y(`E>u_5gX*dJP<_<^YM>fI4OJtkk!lPzR!yKLswvb|HG`U|=1_Ch0&1aJLM>G* zsFi9BwN`DQHmWVuR<(oLsrFEN)dA|DI)?NAf71VdKJs|vfyna6zn=f~|GNJ#x4a=Q zO1l4RpWG$W%?aQy$|vO-NgaTRk~#q42>@ke37J>i62FTx;wYd0o$+t`|4xiD+fuX4 ziI7f=LfcZNnSH~KacZj>G%HbRTWY%b^yskLLA z-fE0V*%+s{8Z9O}F-mVsjS^z59pm^`BdLPpTa6GsoEXKorG^V}w;kjBR>SBql;4&b zDkA1L0t#?T4H1zdc8n8T4W^R8JUmEP!=2b5_CR5oFFw#%ssZ$z0nGly{>*;Fe$2ka zzRW(vKFr?4-ppRaUd*1vp3EM^9?b5@q+WKc9g}+5v9`=M#5PRR%eG^!nXQPem@SDdnJtJdn9YgJnazmJm`#aI znN3VzDb|G9m_{2j8xb2Z8xk8b8xR{X>l5oU>k;cQ>k{iS>k#WOYZGfTYthqcF>BIj zO=b-mt--8rx>&L5%xY9njak(!cZ^kKRxztFVpW)xsh~2ml8Cosm6#RHk#(_(%nDRc zfmvR(F~2YVgYW-Rom6LJS!dM+>Y}hC)NtFld+>4h>f$pb=^$G*XR% zMyb)zXf*~JqsBsG)i`LJ8V`+E6QBudA~aD=f+nfS&}20QnxdvcQ`IzRnwkzxS2Lg) zY9=&O&4OmB+0bk?2b!biLUYwTXr7u6%~uPc1!^I*P%VNMsm0J@wFFwCmO@L_GH97v z4lP$JpcQH*v{J2tR;jz7yVTv#-Rd6b9<>@;t?q^HRrf*nsr#Y()dSE2Y7MkTJqSIh z)b=FTv-3UbfCz$NxkBe;J?uGt}y3wg21ae@p%$f0n0s|Nl;zDqrXM|3SHu@BbVj z`~Iy1P~dMT0PQjB|6}3(UrsUwx21AKWVM|fCU>@(`jRQREtMt2eNHk(x1}S+>85Fr9ACL3i+*_9OicdJtoZW9mFud-y(+jZB{YZ$zguKK@9Wzbz+#`uMxxi-cAhj z`&D9?-`j{`e!oHt^Ls0?y!rb`wS`!YxtUm&`7*H#^CeSHIzGpUcAT$1?|u>|u;VsYjZ#A3|HiA9;z$4)N7e3V$2 z`3SKP^I>8^=6YfQrs-qb$@!V|bhE0wz@1X*VdAB)aJy|mEA`0dzQxIFlTxpgl##S;{n4JN!70l)4XDYVb z&{E6HkFFhC#=}d^YJ%8O<`Sw{!WE0TF|(M57m2xcY!P!IJ!BzsfmulzTfm%eR!7F> zGw0Elm}h9Ixk7AlVsqJZgfPFy&f${T|MbuQ>T&f1vg`@;+Nhp`o>QBkJMoN7>UlivdG!MHf_f2pQN0Acq+W(zR-2*CY74YQZH2a~ zSD;taHfWoA6?#=|hqkNNpx4yv(Cg|A=neHI^rm_XdQ0tqcBlj>K_x$ItU$9UqN4~uc5EiA?T1g3>{WSpd;!V=o@tuI;y_? zm-(Oe{~wF&kL-?QMRr8CM4pMPi`*5NADJ8(f&0H|M=F^0|Aqc9PyhMXPye6e_U|q7 zS?>QYlGEiFIZ$?!tz`o~|EIWg%;*10;;c9(z7!w*?f%ac&T-E%p=W-C%!KFJM9y(9 z50P`+%T44Q_i_SZT~DNeoY&YG29}3ytPVT@ZA5ckq z9)6#8@g=uo?-KHso!pj7-lLK>JiJrn?&Ku5X1_}>h>}}z$vafil84_Gk;8e-&wE#? zg}HsNqInC~)b!$d%E5B1`EPTfyvy9v_oRG5ZkI9h=5DwA!u0UIH)nZWvn;c+x1?3t z?D4H{wX`~$6F-KVyZ>gJ6+rh|51ZYNs>< zoq$fLlh8?Z3Oc1uL#Neu(0A&4=zH}8^n>~l`ca*M?!+_BsIz$5S#=INr_Mv?)lbk* z>SyR@bpg7det~{bze2yNi_k^&8}ys{9r|5ef-b4c&}DT6x}vT^SJfZTAL<%(Oe?fn#ThJ|a8@la@P@eE4Bs~kVya*KW;-EM$7nIA(4dwRoKzTeH zvONcKyu46eFCUc8%Ma!E3P1(Cf>1%P5LC!33>Ef@Kt;TwP*JZKRLm<5757R&CA^YQ zNiQCX_gu*J6r?;4@;o2%Jq>9ufC4WHMZHo`DX%nC+A9N<@ybGFy>d`FuRK)Vs{mE- zDnb>#N;Lm>7q9=@{r?GnyZ>t{@Bi-D+}=L-#?qvf4&xavn=_kHK{IAk8g0sKLTtipY!*DGG-ft3I}lPDF&k1rLuLa}%uZ>* ztS<`MDfOB4sGuIRuBd3I)MeH&hbE`gVb-RC+RR$!fX0+s%$nv*rIeb?8fM~2sbOe& z)rEM*NvY1RMpI@=H7==2U!y9siWp_5RAE*YQ|y$=%t};HiCNLC`AezDtYAJBr&M5; zr-zg`w7hacq&X?&*kx&^O)1MIWvHYK50@6QfRj?1Z8kr4v{OoPNt8;WJRH!W$|(Wc z%#ye56wM_*mH0gDiChPr6pyV$Tz5M~afwSME)U0x$RQ^so?TKz*4im0xugV@l;Gjw zLOkN66lWJRpV#e_Vq8*`zU89KBBFzxQiNI9{4$eLm|2LvMj=DXGiyc8IVlC%1%$Q6 zPAR}8`Kcs759br|rjwG7oma@G|Jn1uSJ|tAEUV&Gg{pehplV)qsJd4Js^QgyYI?Px zT3&6awpRzL^ji5$eW2mv$1Zv_ng_?TJpk`ik zsJYhyYT>nnT6(RZR$gnUwbuq}f!Z-dV0N}US4mgx7P>i9}Dwl@cwXryPPU8E83{|o#7m(1_<$ISg-A6i-F{GZL%GuApj{r5kv{ z|EGre{jv$fRLXDZy+ow=mfnlRFukd#ol5B~J?d$vQg};m6EVzg>S?D^c1w?X+Nl)X z(%V1`llxgBCAajRG4p9E1-JB`rqM9BpQ2I9ZRt@@JC$NvdQT9;)PCHwi&MkYe$0H} zO$}4~Q7Q;i`w`PFPNmeA-oxetZz_eh^wv{BnAs1RSvHk2TYBq6DLa)STY77$ATRSl z^C33XVXhHf?NpojfQkClJcgEczYy6@YHqe^YCmJA=HiljsU(hvR|~P;PL1&JJz|8N zYBBGor%2{qW|~bE%vEB5owAC#k|vauhL*QNh!35V73}3g9J5oFbBSqeJ1NU}c&U)Z zoRp>PB|jZ2H7d| zxMVJs%;n)ZBC^LxnZurKRzKP)v$JnF=vWZPRdNKm|j*j5(AzlsSYrggKZvm^p|z zh&k||-v9UJdGnEF^SuSo0&gL-&|3s8@)kpjy(Q2RZz;6YTLvxjmP5Z0q5HiDpa;A)&>HVS=s|BSwANb( zt@9p&9`e>h>%E7ehrLIjN4!U&N4>|O$Gpd($Gs<@C%h-2C%vbjr@W`3r@d#OXS`>j zXT1&325%#@(R&Vh&f5fS@}7sD_g;Wr@Lq&o^j?Bq@?M5s_BKPCy)DodZ!5Ibdj)#M z+Xij(UWH!uwnN*!*Pz$D*P++FH=sAXH=#GZx1hJY9ncOh0ZQ-^p+qkUO7db*%u9xn zy%Z?LGl5TUQoK|z4NCLUp>!_;%J4FwOfL({^0J|9F9*u;-VW#g|H1t~JFOJ!HS2la z{};ah5AXkJ$mjnRv+~HBX7wMP{`;AHPo|l-|1ZcV{$=%F`1$|;=>DHnN^R*~F!7Zd zhPJt$#!d}G`zNz^FEtG9^HdOq_BnIZc`Ajr^v;@#I#VgLrFVu3!pQznRI^hlvZeQf zSuB-Gi7mbFsUQsO@61Mk)G)A5n;rD2VPKy!NuNrAZFwh!c+pM`6Z?c%Xs3pWeVi&N zu`TbI*(uqFgF@zaQv0(Hm|G0&)P7uIy4p@^Umo5sBYnQM6MxDYESlOBCfif+Jj5>Qb~6n{!~QLoz!mZPef#-o!XU4OlR9k?ZU&R zvAy0&?acm2h*#{?PF%8^zU7Y056#s~sU4Uf&@UeCneWrrXlH17yM%R*liHU39^K5H z+J;MZQb}tbepkphozzzBcjyS7)RtWGHa(^VGl$rmnN4iQ%px{rW)hn)Gl-3u>BL6N zG-5+$DzO1Gg;<}NOsvO@5$iIOh;^8W#M;aRVl5`E6iKbge2Z9v`6jVC^9^D(=Ig|& z%-4ujnA?e!nXeKnF}D#bGG8H9U~VOrXKo>uV{ZP(&;Rdu?;^|I^>#u#z4xH^yj{>P z?|tZf?*r%q??dQAZ#T5t`w05T`xv?t&-mEegQxBBK7l^*K7~H@_CkBT&!Eq|eb7Gd zbLeyL3+M}PKeXTb68h3R03GlSLI=ICps&2Ip|8C|&>`P}y;IOB?=*DU`wsff`yTq<`vLmF`w{xlI|H5Z&O&FsbI>{O zJapds3Hr(V8T#3~0A28YfqwCRg?{xeLKnT?px?aTq2Ikr&?WCOblJNCUGc6$SG_-= zKfG(uHSaof-TM>z)4KuP@NPmky}zKpyj##M?>2PX7omLNOGx?_Wcd*&;>SU8el94N zpBu{U=YjJ0_WyYP|L^Yqsc3mtAuIB?^?&cmWb-z06QBRPM9whp83)R)vX!hSE15Tt zh5vT`&t5_Oe-n53IAX4y0fZp*JK|JBs-1M+b>5Yl-`zan%bM4w6g3nLS)!! zWsId?n!e@I%u;4$SXwD&)O3u~qRfE4Mqp_9T39QbG|l#D(?FWfB_5S{JgkIV=%gvO zD`Z7G&E=AKdQ3dCB(Ws31hE9ubhPcX;!M-fw$q9+ixP`6ix7)23lj@73lR%33la-5 z&CjWwR)CqGn4g)Cn2%{1*>+l9rbBd?HqmD0A?9J`Cgx`5BIaVo5#yKd5gG``4@2o^CodQ^9FGl^H1VZ=5^u{<~8DC<{#8!TEx6cqYIf= zhzppPsbD_y5{=Gd{!X0B{Eaw=d677q`73c2)2tFP|7`!@_y4}*=S7y~_47gb{QOXU zzW`LgF9;R%3qgha!cbwq2vo!`3KjK>L3iRA#r)!UT5-PwRKhO_mGtAGc;AIwUqQu1 z{SHtEza!Mq?*w)7J42oQE>IW0E7aBR26gkhL*4xzP!GQ+)YI<;_40c|z5PB=AHOfu z*Y8L3e-E+c&fovDPOg&k=s#Khxx17>0xT$ zZ|0q1-IqjEh6vR>0xr;MJ1Hn zmcL3wYB*^W-Il*nM4q(MIJ^B7H2G0>TmEwTB%4OzZTZVgKiy8_^!AsU5KZIs_Lqq6 zP8y}RHb{Yq`Kc7k{z%75Ckmfm*;FdpE z$g*}CN4P(Sp2HFD&n9w&`?H7~;r>kGO!L2!{tV&_=5*q8<}~6o=2YTTrrG>xr%ho_ zrqRjFNyJIaiNuM_3B(D^@x<}Wal~;PCVZ4{GQ*=Zx0BZwoI z!->P0!-&I}Ly1F~)XGj9!W>K-%p61<#2iQ*$Q(c%!0b=#&+JF+$Lve&%j`q!!|YA$ z&Fn?&#q3G!$?QSw!R$`#&g@3)#_US$%Ire_zFnA|iJh69sGt+GBaL=sb}((Mv<}Sn zRM4K;&a84wYsYMBmSLo|WwxP$Hq6$-wbNQNTbbTfS}SHtDrm`UVeXGiYr$+T>f33} zna${ju9>0bHx=R^{{G+Z?+-wh4e$p-1N}kJAb&74*dGE7@rOb~{bA5Be>gPU9|4W< zM?!bv86*8sc-km`G&I^D1C8;=LSy}L&^UiQG~S;8P4Fi|6a7ihB!4nA*`ESU@uxyl z{b|rNe>ybXp8?JAXF@amSt?=UjeP~S3)cORnRK`F6b`*Zs>0R9_Su_HMH8l7rNKK54z94 zAG+Uv0D8b*1Fi8NgdX(QLTmkX&^rGi=plbSwBCOhdf0yidc=Pedenamddz!vyX_eblf^##BGPq4OH8_cTT)z;$wPgVe473akX zap2#q|4$D?{DAp9n;wSvmtwx19)|dS6KUxb;+Fq~umUHYQrz-C7xEoDJ&f^vR6;Rs z`JV~7+)1Y#xBR_AN;^Fa@=r~2riVfP2{8=vJ;X4`O;_7a4}<(8Vi@GRiD8g`NDPDg z17aBD?-Roy-$e|A{5@hA1Pp}GO3@P z-h`P!Y|Kn2He#j`8!}Ug4Vcu=POs0Tes+32W{g;unMAC^OeEH3CJ<{ecMxkb-y+sv zzDcake1lkx`8u&G(=>SO^eRm1XQx+YzDlgb+-4@q^omUCXQx+SZY7pyZXuRqZYGvx zzDz8`e962UN-xcPkw!}~Um!-A&zrpk=>c<-IpQ&0GoPaZpSjUYwdo#ngD7FAE9SFQ z;4+^v?}pOjnNJf-GM}O!x)O$#|0HemOE1pDPnd0f>BX3jQ$)8QSb`fwuTtp{@Qa&@28nXq*2k^s2ud z+U~yw-HB(s=D&`oz3#sOz2UzJz3IONz2)zKcK8WUf}aQ_`bkidAA@3kGL-D6Kq-DI zl=^ua&_y?hb{#Vdf{@2jg{vqg)e;7LKAAyee-$38^N1>zsx6rr# zG3c0o96IiwfKK=)p_Be8=#+mNI_-Z4edm78&iH4cv;H}n|8f3* zxc{H_|0VGLzlV7L-xRa|uTP|7q^a4rQ!Wx8$rlmUWnTUF@7Mn?wPso4|9?IIKZ8?T zmokxU&XvdT*>^4xPp0;=H%tf8#KC%`6rDoWnL#PVP2zx#mqlwa$Ur{Dhk-? z3z=7_U;*>8SrnN*pLvPq*?G+0sbDViH**I;`W)s(QOQo9&HR-LW-)&;JM_|LGB1e9 zcKQtF&ouu{H?;hpg!sTopT<5fg!u(=Dwmw2k|{iV)-2L+(kHXe&}}*ClepwZDw)W` zKbTDmPWlA)_d+~tr;q27@2F%P51$s|S0{Ze`;?G@oj!(3PEyHe9zG%D4kvvS`?!#w z+36#>wH zuZ1w}vVrWcgxGDT58#r6|M>p@dH*M5*-!q@(9iw_=z{+X^o##1^s9dny6FD~{pSA; z{qA3aF8Pi+@#;a`KU`PZTA{-4mF{tf7ce-pat{{{W!--2%W zx1rlwgwjGwNNNkRbOeg%I4Dl%f^zBHP;Q+E%A;+_)(+(8yii`956Y+WL-}<9sDLgA z71V{GLb@2dbm%LUnaLsGhDL&j0^z{a?)N#eI(N|63fH9vNeH>UNFL z=l@C(-|XRyv#wbetW(xkW_Ry9|HbM5|I^!lzY?E_cSXwI-v8Sf6yQ=%Ghv@W`7QNS zBFDF$LZtYXdNPsHTk1(f4sT8U>xxJVJEJa_)S;3(JY1VDIm)Qbt|f$d zP%SR0N#9RRW(~2>$*92<)#=i~jOsjGjlM`V9Gl+8I^2q%xIM=HW_a zVW*Q(iCt01I6I>vmsFtVRA81TmS>hDmSdJBmSvV9mSL9ur_cYofo_N_Yp5GRjdWwE zv2Fr2(M_SIx*60=H;0<*7ElY_5^AYiL3iRAt#oTVt+j3gwb5;%wz?hEPPd2J>kd!{ z-4W`jJ3*avXQ;F80(H?{p{}|c)J=DXy6YZL58V^$se3`abZ@A)?gRDFeWAX(AJk9x zhx+RQ&;UIU8mI?BgY;l%upR;p(Lj}^VJrSCyCqa|+WN5OU0!`6Vp{aTrG)+&3rt2Bd3_TN?sb@j6^lWIh zo&(L%bD_C<9yCwShvw@A&;q>>TBsL6i}Ye>v0ef#(MzGFdKt7#FNc=v70?R35?ZNO z{ipMPa%6ktzdHZdjpXMO0O#&hJfHp_p8j`I z9+Z3J+cHURlh5($zol}P9508M(?;6K|D*N)nPGNQD?5|2TWV@$XHs-aok|RoJB3Ke zEj6{WGby;GjuFG$PBOD>Cgrx&iDnYbq}Y}^feOOZ-eET6WrnH!mf5_QNvSRMn^X{n zwz)3J&ZN+m+MJwVXHsTM{Tda7k-go_vY8awQokyS+nJQuQg5SzFtA@Sr`2SJfxT6f zw==`Q-a-XoU~e`X4>H5Re%V|wloQLPYJQt z&Md(tPf|&79)5yesALvnKQ81UJF_U4n2xrSS%ill6>+aSnT6Sph{%U_W+5(lm`V!r z@OojHzia{aLv)aGW_~VNMdDvW3Lv{eEShDxra(D9yT{V)^jo?`z|4l+nIt(R+;BytYWSt zu4Jwtu3#=FE@v(yE@LhwE@dtuE@3VvE@mzwE@CbuE@UnsE?~|l&S%ae&STCc&SlOa z&SB0b&SuUc&SK6a&ScIY&R|ae$It(F>AR6-ck6qgd-Q5(wZ0d+SKkNSr|*aE*AGAs z=rzz9{UG$9UJKocXROuh@U(UMA?P8!9$K#-h91_BK#%B0p-1&&&|~^>=yCl7^n`vA zdQv|HJ*A(9p4QJm&**2NXY~eXgWd>j)XzcB=}pik{XF!%egS$xzX-jkUxHrJFGDZu z&Cq7O1=^ywLRra~^O=716@L4FQ0x)!h-9%{;E$a}ku8IWNv|wU?7;j3+gX&@GLWWmoJD~x z15 zuq|yG*>~HSVPgM5C6w5fzG_z9JDC*OmcBwK$Yq9^eVHB;X7(j9&&j0BwzTPGKVWBu zq5T_u5ejWfUlbzM$)wb_^shpkvNOZj{)I{?wk>@@$c;`W<+i1N7IKrFIo()l)6jM@ zr}6N4bNGytIhB1*MDDjUr*O$xDw)i~XM|;@&`Incg>}HroX90VP{{-yHvQ~Joy_s< z@Awysaa?kmzM-+qQ}hju;fj+&B-@#zdH4inZwxM2(i!39Lgm}=s81}hlzukhlqoiUlRv1zakD`9whc>9w7E(eo5@h+)wPo z{DRn<`8lx{b04uM^D|-(=3ZiV=BLDN%uk42nR|#`m>&~6Ge07BV(un(WPV8O!2E#N zp7}np9dj44E%QBM8|F@8Yv#MeR?K&ZEtzid&Ch^gd{x{v7&Te*t}=_e1;jm(Z8`0CYefgbwPjpgZx5uk_b=+SmFJbVwhD z4(lV(5&aGHjXnw;)!#zj>SNF`eH=QjPe3R1N$8|L1)b8Tq0{<1=sW#A^u7K8`a%B) z{ix4CXY^Uw)90b{`X}fo{WJ8lz5rd&zd*m}U!h<1Md+gb4f;+04*jk#L6`Jp z=(4^7UC~#etNIV<4}A@~rmsWS^`Fq6`UZ4E--K@Jzo5VLE$EiM4c!hzs6Ye~l7R(T zK?I5faZp^43(6JbhH?japge&M*?|K&L0%|tkPpfix7B|GN;yZEJ-2eOU_Wxy3U|T^iAwILSII)AC zW;V&9#I}MSW?P_>MUia<-Gx|VXK`i+-Kc~z+X}i0k>q4iXj_5lXUFU;PVJyGl~8J1 zK_?++J6ROlR$x|WzhP%_ZU-HxgmT*o+M8YRP8J2X6|@tPRdyC9chHtfD7memjj$Fv zSrpw?&{|lZ+F6|4K`Sbu?6!iI^yxi|!rKa3@ZW{gJ7`WNl-^d*jK3p_Z!2gj#OHPv z=XcPAN+`dr!1S~~cd{C@8`1f7S&fWk(2zvnyS@z9rVpb$p zWL6+nU{WtTt30zDu^h83u`H8%*;!?nrHQ4PrHG}NQDT&7elxVQ0;VQvrcd;l9?@ee zqGGy4ml;otXO<+EWR@V7U=}A9XBHzCV-_VAWfmb8VHPG9W)>nAViqJ8WSajn?W_XK z{KWjse5N6lm5-U1M)NWqqQkVQz-Hzl=3(Zhg51np<^ag7T+BETXTHckc>P~cGKfc( z#Ro3r1`1Mv2YG=H`GJOX5I{i?g`zPhvOzhhTu>e=A5?%U z1Qnr*K_#eCP#LNmRDr4lRiUauHKI8M6x89+bb-1AU7@Z)H>g|C9qJzRfO-Typ`Jl6 zs8`S%>K*if`UHKUzCk~zU(g@w9}Iv71OuUg!60Z*Fc=yf41tCOL!qI;FlbmX92y>s zfJOu(p^?ETXjCwo=KmgIYqI=Mv{K=Md*GXA@^LXAx&HXA);JXAoyFrxT|$rxB+y zrxK?!rx2$wC!5zlS(BNxJ|t@rb0Tpfa{_S!)12LBXN_l$qtS6pbI+rlHI_Ms3dS%; zQ^9EFD6{k;YZP;&d6$$mk~xA3Mlgq)gQ>EHGl!Yuma~R2hf={%<`7ZO&KklTEUMaB zgPDVWDYP#DP;{{_BTJ3S^W*IpdT$!%<9MPORE^O`f^DhD(S<+y@g2l zhtL0Gg0aZ5vB5ZKTreIQA54HI1QVf&!6ax>Fd3R0Oo65ZQ=zHBH0Vw|V_GmBPn#ah zfMx_Up_#!fXjU*AnjOr6<^*%0xxqYWUN9e;A1r_t1Ph^s!6Il;uozk#EP<8;OQEH~ zGH6+_99kZ%fK~)6p_RcZXjO0*bXRaUba!wMbWgAvS{>XA-5cBo-51;s-5)#vJrJyc z)&vhi4+d+YwZS@QUGNa}P_Q0aA3O{_96SO&5DM zY=O1}TcNGNE6^*!HfUS$D)efw9oine2E7)%4!s_{5zhaw{M-G1J0hEL|IdO5t^e;E z3D5rz@BfLju3NuY-&u#P&#YZmy1D7&W$S5k{_kDZ0`vZVl-1wrV(tW~XH~WWt0c9`P_iIn3qI6$Nrm%*3BFva&1DaB>*1+h2tb7C*%K4MSiXT%=Ny~OU!Pl?@_ zpAfq;_Yk`% zra8aQ&Th$kn+jSm&3%t{c5`Mn6*OaJQ9)B?CKWVcW|)~ayD>AJ3K}uf%$|enhRjs6 z=ODWQGldH3Gn36eg6w+Cn26fhb(u+2P=}c)+S}Q+nF*q`on4E$gMKP&8d||ybf{x? z4IX~e?90op&U}L^s&U2Zbm>oaRrYJfc6Jpm*-lTX%zRZ$bFwRO#WuR|FS{ZSo1cCs zy8;iJUxd@0?DFg_w1_{u9G7gSlCnJfvXG;l>@w_^gnZ4;F3lw`Qb{QuenCVoI@wY7 z^CGhTA3p!T8N7uodn?!h?FbT}gdh=043eOvAO^*PWGFdEfl`80C^blf?!+_Ff^@mwHjH~tup3@ zuzZ$TZY9sl6TJTK9X|c}n7Vo{03!_pk==;TPY`PtfJ=LjkZZqppO ziiU$*=3E>ndnNlXT4$KOf=g~v$#NdPA!IKndl}p8do*pKrCf5IN|x~OH4*vJ$zII< zLqvMm*^9X3DwQnc;VZ&w>0~cpUpDI>?d;zl+4Gpco23@nbGhO-+BT3qhlelH z7n#k&zY4Lz$)3gjMTk%B?3rA0fl6lZuvstizLPzj{gaU0?d)k>a{izG{y+F5xP~md z7F>s}2Y*6;1~;G^!A+=gyPMX0EVN{rosXGCSx!gH-?1d2rCptxu* zC|5K$lslRS$`iFAJL*7AG%u7lnh(ks%@5^|7Jv#w3ql2>g`h&w!cgI85vWMCC{#3B z3@R2a4i%41Y52(I^y+mV!z}OGBljWuP+A zvQXJ*IjCH;JXAhf0jdzK2vv+$f+|HTLzSadpeoU-P}OKPs9Ll-R6SY)su8UT)r{7H zYDH^9wWD>QI?=jN-Do|iUbH?`KiU9l5N!xGj5dNAMH@qnqfMYD(WX$-Xfvo;v^mr~ z+5&13Z3(rEwt`wkTSKj*ZNmBg-|heV`}+Uck@1lsrvKk2(lAmr5{(qY`9D8cN34D3 z^M9K4hV`QLgtf+W|7Tkh%>I9x|HIS&i(8JoB`?Xd@|gTmeq`D~O!kQR-;tP2j83Bh4(#Yua}r$6R34pT zmOSQ6VNRxk$;?SY**TM#6U~yxoQcc{R4{=#UNo_D#xuv6lWKCtF~?HDSmqcp(#{#f z9BpnG${EcZWhRrHQHEA@q!34(oRRDi^j;-r1eXk_lHoi&jPCc#8O9!JPARr?hH}Xe zDjCAVgUwNiPR?NVAlf9DGl)wDQprFb9w1~7Cuab=zmN~wIsLiBbhe$GemvY)L{2(6 zec63P#Qe_Chf7Rn+sWz8!@Y#n$jRx&?kTKQc1}+&=|SIe4`z4qzo@(GXe*AbUHH|# zkY2buE!DkocXxMpcX!tW2mul-L92UKfcD9&Es_FSNSG!TMZMk4ozCa9yEg2_CG=t|LT(aj*`T)TWP8n^}uk zi&>LclUajUgIS$eomq`ojaijgm05*Yg;|+cnOTWgiCK|Yky+twpa0D|W?f`iU9%ok z&#VvCHyc0=%!W`yvk}zDYz#Fvn?Oy>rchI}8T2Nu(ada)t2H-UKrPIcP)oBF)XHoP zwKm&8ZOpb%TeBV1&TJ30H#G|C(ejW)+XW6ZJ8SaTdS&KwVoHzz<7%!$xMa}qSkoD5Air$AH8 zsnAq&8Z^zE4ox>_Kr_sl&`k3k=pFN2=v{LbG|QX~%{J#ibIkXk_sqG_T=RYCeRCc( z&zujRN^Q+dQj=^rg|=oUQh}e@393&VPMNKl@#;o4oFZE@{vC) zhErl|W{gN-gi~N^W;7M}c^##e$cOuR9a3u$!u`CCqyj&$Bh(Ywa6hlZMR_CK&+CI! z;OF%L(b@?2^LoGNYlQoGy-!UQ;gr|9xmSoa!Eg#}-Q1%d(;DG^V*fxT6?k~JI(aA< zUY@P`+3St)a>|;ib9cJ1Qx~!`p?HHW*%#y-jH9vy|YH ztyEH+hqs8p-e7n!wrUi)MtD&!*-RxxczBc0O9sOWv%eAgNF%%umu#exf;_Cc+OvY; z1=t(Z+mA+g7?-HFb}-!IVb#@M5e#?PYlV1dgi9{@ib@rFNF9z7@nWKiZ;><&&MSz>90R8a|JOE^K)Wu=5k^#=4Zs5%uk6qn4b`{Ge0I~ zV=g0RWqw4=!dyzs%v?gu#9U0w$XrCsz+6a7&!iVc!qYK7Af{z5Af{o?CkC1Ghz9e0 zVru4GVk+i)#FWfA#1zcg!~k>FTR;CVG#4Su7MY8o#pV)diMbS7YJLQLWG;i2nIA(R zo1Z|Rn4dzQnx8>$;u@cs%W<{k=I7Ao<_c(qxe{7wu7XyXUqD}&tD)8Am(Z8y8fcCA z74((47FuhrgVverq4nklXoLAR^tHJW+Gu_QePeEdHkq5D&E~hzx8@dTi@6orYHowJ zncJc5=6BF{<_>6wxf9xHeh+>s`-b{cJ%tR>BOoEck zWGLA@1RXMegnl#+Lx;^H&=K<}bksZs9W#G|elm|k$ITPa3G*a$(mVy7GEYON%`^V| z|6knyj}8n7bPco$)K@zI(i4FH?)(4M)D8e)>ixg;I-LMaPXJD6iM#{A25p6U{y$5b zs14P6YVEW}S~ab-7RLR5UAz$Y#Z~bi?Ee$Nfo=ZRHZBj0g^FE2nyj8^M8X z<)8u%Y%9Au$~A%m+sY;y84(=VR#r7vL{MPsRu&<)1tTc2bt^ON;}*e@ZDpboifrA= zNQ>wrD6@4-HM2uT1c$bz{^EiW6xzC#j_wX4D7AGfEjao+aO+ko5ttv0pybxAlpS+ffD7tk^ZM|437(v;sTe{Gf z84Py4V$mk4+)>a!++78cldPnpF-R>!l!Y`D=L}F z!>XfwDHuM5t+w);V1!TRlHaLh5)c2T*2M?IC$e7%5p9G|;F9MwyNqW(BaUM}C5~l2 zA&z1GN*v96OdQ2j{cIzABvZAsjqnl7Ux>q*4~WB<_lZN9_lQH7cZq|UcZh?Sw}}Ip zKNANqZxQ=5ZxZ`4ZxH)3uM_()uMvAQuM&GPuMm4OFB5w(FA=*lFA}>kFA%#j&l9^a z&k;K_&k{Q^&k#E@PZK*ZPZ8TQPZHZPPY~NOj}zN4e{=kjh3VV5NXkSSg{DRw^i!l^RNI8IWNGp`eupN@Jyk(pu@DbXIyOy_EsVU}c0d zTA83sR%R%(l?BRTWrea@*`RDzb||}*1Il6LgmPNBpj=jND7Tdd%46k)@>=8WjwNaSZ!XsUYu5k&SL^?7Y3H@0yaT{CZLQh?fX@FJ%jf^l8vvEH z5`6v-?Evsh+~M?7LVFR6pzPMIZbI*E zL~wXpT~%;KaClo?#Ef7Bg|}{XR`=LO1gE#viGB#Bw{CT$y=o#TzICgE5a*2u&Tp$d zl~8``mg;Gr4@OXc>sDK#tuZ1v!L2q_LJ6*0t%a617(o%PTdjmRVMK6-TP^9MaE4ng zh%HowW;G`^XEq}?V>Tr=Wi}x;VXBU{5z&~b8rnugBW6QlLuLbF17>|db1yYRsy{s!Zx-M^s@}CRS!vB35En zBvxcrAXZ?OCzfZHBbH;9C6;BDA(mm5CYENFB9>y7B$i~BAeLYjCl+TGBNk&8B^G5C zAr@h(4g8FV!puT6T8LSYSddwOSb!Nu3}brqKl7NbYEDJCOi2Zj>8S2igu}FnHq)X4 zi)pGC9wSU)ReMuKQHs722{hU3DvY}LA9*fP;ILY zRL80d)wSwD^{o0(eX9Y~z-kCJv>HK;tj17ds|nP^Y6>;AnnBI1=1_C11=PZ73AMCZ zL9MLTP;09V)W&KHwYAzo?X31td#eM~!RiQgv^qhZtjI!wWxOxN+`#5Yn#wZ2O}xSb!#i_1smxn`4%dnB-gEP zg;p~dNl~s_n}v8_MEY62Nrh*mpXJ{W{VZ1>%!u@}{A;40wR zYl(iAe?|1Od=1gh@-K;gmaiuIS+2U;Mx>wRtB8J#B|IL zh-sM%h-sMfi9zN(qQQKhn3_44n2PxxF(q>jF$Gg?JNju^tjgH?kj7%`YVNQg5=#2_vi__p8wTO+KI$g+{v zC}@;58X9elfyP*4p|RFDXq+`38gEU2CRh`piPj|OO_1gZu~ z1>XGnznz%>jS%O!t-cBvAwS3eR*dv>{58?fan;>6BK;iylj!I8E25v{FNuDR|3UO~ z{CA?CL`}t! zEtrR?pgHqLb>2Z_Gv*<69&Th)W-=8tVJ4}SevyrtiK4y{*@&4y1r3?;>g2x22Fy4y z%80DbjHPdo^%Qk0Mu>gE$hz!kA&wi7b+{yoN^0|PNQjSuk+s;7YO6&fvL=^AP)Q9Q z4j1A@FtR%PpwMy{k=3~50F_kb;r$}eIT%@my-(;7Mr36!*-IsrczBP{UIim7vVRb| zYeZJylHK&@DbL&`hNe;fqTb%~|Ezu1eq`Bx>i~4XItU%K!l7_00*bKIS512EYeiZi zC}c%JQC2h*ZN)%u;uk9fOWpKS4iP$D!la3Fw4%5;|#}f=*edq0`nG=!|t1I%}PS&ROT7^VS9E zf^`wPXkCIXS(l;9))nZAbrrg5U4yP!*P-jy4d{k-6S`^Lf^JzqLqA)$q1)CS=#F(4 zx@+Bo?pgPt`_=>Kf%OaYi}etCXgz`+S&yN|*00d7))VN7^%Qz)J%gTE&!Okm3+RRQ z8}ys?JM_Et2lR*a5_)O9f?ipFLVsF+L4R4Vq1V>m(BHQ3WeZz_G+T#sJ3#Y4*8klL zTnU^|^Z!A$|Ihls=e+)Jf?EGa=l?beR11_=^FKZP*Yy|reYN|~2|ZCi_$Jr?g*eCU zW-7o!oa1&=BImf>gvdE=Hzsn9+l`2v<90(L=eXT~$T@D;CvuM4^@x+qH?5;+kEHNFlD-HHnLU>h?BNlv#udiZBbSr3azH%t9iE5h}zi zNCgF%1=Q-jPyuF`dNCsu#`LJbW4fY-5ptPQt*H-5rb7h|(-sqqkj=EjL?dJ|O*OlP zOhw(!Pp@T!^0V^^vC9bMB4CQ3! zpm!lcIk+S{m1O7PY$8x77|O=ZD)d`MC@Ys_p^_{-oLOk6f}zapOlsCOLYcTEBmH?Y zGBbz~!B7USQ2*jSHbUunI34|vbUd6^b+&?`v}`pgpEW{hxFkp=K^|6H`)v+}40dXv zsgIJHOHxruDjrU$_F4{xQnFLfc8{SHToRy<5@6~?ovFR;_y2YZJ0-F#rJV{&Wv7Nx z+XiIVK`3aafzsG%p|o~7D4m@iN^fU?-o!OB*coxPjCLj{lbspLY-fS8*jb^hb~Y%R zogK<<=YVq9IiZ|(E-06s8_I3xf%4dSp}clJD4(4l%5R&HX>g$mxM~%rJz!FX{fYa z1}bBhh05CHpmKJ3sJvYPs$f@yD%zExN_J(avRwtLVpoN#+SQl%L#-)Px&F$*tK7Y19vHbwZ61MZvAv9}p?G zHG2US_^~}-9mE$!v8~zj)Uv-QN^Q-4p9=iYo~tI&C<<-Oeox)cMp0&K_8cnkBYU>U zVnq3oJxi@fi1H)*T`JJH_8oO_P?TWKRGs6{Oy&$#5Sqc9PP6QE<}`Ib8=A(PN(EDy zQ`Gr=p()JC>hzz`WacEAP9`bp_C&g$4NYWE5aN^(n!qLFsboA4kE5dtLgUzDX;E8f zESHR-k}*6yn$Fw}jb@Kh=g%9VQCu>TN=EYV2%$d-hDNZ53w?nR8qOudsAL!q4;9+3 zU}z|Nh|umBp&?wNn%hQbFmsR?5DX3Cih;BTbZ8(C51=11fQS3526-^lpWTlh6ovY6 zNna}I%fo$yek~a4!|pBg{zj-bm-M2NUOe1WXtRT%p6nh%D{6##a7lOiDBYReh~1c7 ziCvjph+UYSiJh69h@F@ni5;08h#i>iiS3!~i0zndiEWu}h;5jyiLIHfh^?3{i7lBe zh%K1S-}?E#rQHfy*2-=TwYJ+pZS1yCTe}_9&TbF2w>v-`?2b@JyA#yO?hL(&Yjn1| z;A&m$u25II8`RD24t2MCKt1f9P*1xT)XVM-^|t#!eeAwaU%MaF&+ZTPw+BE2?19ig zdk{3p9t;h(hd@K@q0mr!7&Oct4h^?QKqKst&`5g}G|C)2bL{t^_w2dQT>E|KeS01>&z=v>w--PQ><^$1><^(2?S;@ndl9tAUJNa^mq1JG zrO;CQBj_W08MMs)82Z@$1p37O6#CTu4EoGo4lTDo_ve4L#Ory0?*IR*`TxIq|Nr0b z0O0Qcl%00~c*6Vt9o1sAz1kMu{dc}LT^ob*e;R1C`)`<*N6V?>+Pd=!PY zW?!ZPKeI2XgXW|B%)Us|te@EzsKC$c^TIZw{LDV5Zf2wW%sxv6erBIh``SeLnSEOA z)f(kz_9-gxGyA0IVnq3weS+v`_Hi|zL{Vnz_D^(tY!rpIZXXk3qY>q&_E9RK)Yk1I zYK?p_ieg*04^wA3s=2ae|41dxc=!;VL=@GOolLtUMm6D*Br0jl!-+zF5R7WXP7wNX zBdQ^n#8XKF9*z@QWH72eJ632njHr5CqFUQVR9$AY`q~gxhZ!Yi7*VyEA^I7$6m?tm zwdVz+YO*6}N93p)T%sD=!KmsytakRB9*nBSJ|Oh*MpRWU*-s@^czB=Co&}>Sv-i@9 z`lw1=vWGrNMdlC03e4Ta^2}Yta?J0EWtlsPWtcmNrJ3ImOEI?-OER|+OE9+*i!;?P zqY+h%`7N<1b2G6Ba}%*J^BZCz=0;*c=GVjm%niga=6a&XTt{@7Yl)Ki713d?A==C@ zi57D;(PVx>%+Fj!%*R|w%*$Ls%)|Wrt)Kr_*ej7`EA3U#D*FrQ3wt%R+Wr#y(q03t zvA=@8ve!au?RC&Pdp-0fuCdStYtS|OI&|H>0o|}~ z()|Db^ZWlPwLi3nYXAS!+954c+of$%=l?9z=4sQkQCfd>0x<0WP(drAma%2kQj0&u zV{ucQ6Gudh*ekZG&10fDw4KtTrV-7d?UWJ~jc5*Sr=&`=Xbx?sglKO>b7(uo)jLzs z9NJDXHK9aPXzNZCrpUV!Dvcu-SOzn{%DSF$E6aAZrzb;Y7ItHcI%Eqw~)~s-i}Qr6yCaH3GF~I zn$lZ$Om)V95zX=KsJ^xl&GGHz6TOXSj&CQgm~KRKd^@VEZA5c?JGsTwV03Q&5xHn_ zKy)r;&B;ku$;rbxMBrpFItM$u&_6VyvvWx{D#^yfs;B*aFghzci_o?h(OI}8GhHV$ zGZQfrGb1r0GXpULQ~eSd(dn7#i0PQBqisZ|Wu_sfVFrmora?5AsfnqXsfekVDTyhW zDTpbU0b+njz3gb6sS!1%`js}K1=0RnF={6BHE{;>FXD9OpTud*SH!8zm&7T|KZui= zzY`}he_4GD?Z2SE?AOq1`)}xPNBDAtqd}UZL%I`y0!|7j zg_9CW>7;^EIjN!4jsY1?5DGeJpfpZeD6NwYO6R19(mNTT3{FNUqmv2BhH^W3pgc}qD6f+b%ID;V@;fGEIu>L(He@>v z=c2DI7OkNPBEyMQyePplz>V&CH?vT z>;KpL|26t2`T~9e@SmOk_s{G9)@jSNg=zxigwdD9Uwblt__27)@EOJ0pdD*ofvZcScYNg}Lsi_V(*wG^M%j3=`U8Bbwvf z8A_joP+UIsJ(Jn0<+TnSF?Tn7xU; znZ1a;m_3O-nLUU-nB9rpnbg*f?#86Hc63)}7h)GCwY8%=GpVf|-HF+e*pW$X?dT3n zYHLTgXSO4@V^Ui?x-GK}u?@2|u{E<5u@$o=u_dzwu?4d^u{pCDu^F=|u_?0&u?e#= zu`#m|u@SQ&u_3bou>rF_u|BgNu^vSsjPW!9n5I?UR{+RR$&ea7fo%$ihNlUaib zYA~y-=ReWanboMa8nY@DRAp9CovY|7%*v{t6Bv%0uOy3Qz^7B2>|- z1XXe>LzSH>(3`kM6{jk$R@JEnRdcFC)twqp4W}kl)2Rj3a%w}hojOn*r!G|2sRz|_ z>O=LN22ca1A=J=m1T}IRLyes#P!p#q)YNGPHFKIn&7Brd3#TR2(rE>?a#};Joir!Umk=?C?5`a}Jl0nh+vAT-b!1PyWqLxY_m&=6-RG}IXe4ReM=!<`Y( z2xlZT(isJfaz;a=oiWfDXDl?<83&DX#zW(s3D5**A~eyN1Wj@#LzA5;{`{}@|9cj= z8}QHn+aK5#Sf}3qUl^Dbm>3uq=pE<~Xd0*$D6jVawF21!LH)IQ{(ncmq#xH4)Ej_1 z^sn`mYX86Y^eOsCy`S0vxP@LXgJ2BBxb7s0KuROV&+$Ymp&Zwp1QD1RjG-Xc zop_`4JUlVJ=k@Y)oe6 z61Ac)CKGcp6=Y;CQcsCuGB6jaB?mF-nIBR?I_3xJaKD(e%mwP%QA`@AQ+R9Jx7R5MobDWnN1}D9-gJXDhFe9_PccEP>jYU z?@)>0;h92wmqz{DdVAmhccwbikY&@H>Ckj%1~kK&3C(ogf!=Z6h2C{$L9?9M&}?T8 zG{<=ldK1@p&zXy>&2`>~-go9f^PKt6d}jf)!1)0B!1)mR&{+sAbQVF2oW;;$X9={# zSqd$6K7u}SmO;y$kD-s9PoPhnPoYnp&!Eqo<Ch39WQiL93iEpf8-& z&}!#P=u2k}w8r@g`pQ`gt##Hx>zwt_dS?T)!TB2c+Sv$gbiRSUaW+AloXyZ?=UeDo zXA88&*$QoSwn5vR?a+4TJLo%S2eiZ43GH;ghrV}qLA#vY&~E1k=m%#Hw8z;C?REA+ z`<(sIe&+ymz&QvVbi$!;Gao$z?7TlChlRGAEIfT;?Eh zlFRHwPI8%z$Vo1<5;@6b79uCP%uM7Ym(=2pO_ihO=?6= zaj8<%z)THG;HnAGBqnaup1IEnciaUzpi z+%XfF&xzxi&uD@j$9zhoW0_BgW0=3HPIJs?=40Y0<|8T?$$Ust=?La8YI$GGaOMLl z7{V{`Y^AlZJT3yGp|xXFXk2XlqII8qV8O#<@GT=c=!^{quqJC8T>mM$1Eow(!-m2~9c(?V|*jOoBWCA2?`nD$(9l1kd~ z@Cl(U3dXc$9~atjBc=_P{6wF&HS?HgYQ(f+9#yLqV_GtgP(cgkVRhI+Omjuu`B80W z`IgWB@lFD=EWt^H5}hO{$w`KiokP$e=SS#A=P-2GIRYJVjzUMBW6+zp#xdt7Ta4td@olDRq=Q4EJxdL5r zu0mIxYtS|4I&|H+0o`zJLN}dT&@Ja@=x66PblbTD-Er+Cgo175egUkqJl$reb|KIKZw=u9Xup}@iFexxx-T$`_GzruUlnWFN zQnjrpDub!y&k{+@9MdD_ut>N2ii4$`XADE zYn!z%wU4#=+6>__Azmwkzx zCnATq>`0^#*CchfV=2Qm*`CM|E~&d6OA)R~>TbtUf@`u3kpo;(cRQ8?T((m8 zwXq!FvL%gjfXfzYu8rjYm(8hw0$h{LsGu3Msap0I+mzXa*o4`b3K}yTspSN*jhGEp zw>Y*TvjG(}VAfY>(#O_k)>BhyY&~XODyYk>L!)(=wbgxXY;9&ODyYS*DGC^|HJLTk z0{hq+%<5E7omovZG-9hUtBPhuY*l6zDyYJ&EXD<6D=X@+1%ya6VheCd7?p(auqRS12*!GBwc}qcBi7{-^$jl=D|y(VLylq{wk`A_My$;x z7JU+nX%bCleqw%RK4Ly*USeKm9%3G5?zg@FFEh(5$g(UlE0k4cgR;r&PJ$ zC(A?SWd*2$tO!+wN52`2YL-l0?sDW$q&X4jPM2d1vQja^1l3bJ9iGGl8 zBT|rSax0N?T$5XfevGTV{){+3#;M00=g0Uaq95bx7#kywVqB9Osg_b)lV4MTAL1L- zdV@F$aZRpQGj1GZxF*+8fgj;(RVO))B3zSSsVBT~l;E0NLj`_-f2r0R#Q6cfTFtF- zet>^L1%80968VidKfqV2**VS+@D)_x2l(frgb|mUf9`U1C{bK4=4VuplliH-9gNGt z{6wt=jLXjamFzFOzg!%+%V!Ya>*hp z$-u)4X@9x6^z095QjSZ4Vka{v5hpPx5+^bz z5GOFl6UQ^h5yvsd62~&f5XUe_6Gt;g5l1mc5=Sye5JxbF6NfX05r;8{5{EK}5Qi`a z69+Q~5eG2`5(hE|y!G>cH`yIo)?N01ddQwoPuUCVC3{1?Wgn=I>}6X+B9DfFrQ4EjtihnCCFq0i+CXoXw}t(2>vRq_ky z3%MFvEx&}mlxv_h@+;^oxfWV0*Fo##dT71e0Bw+8`}6<$|Ni{{pP&CTU!Sgz(Ff?% z0r=$K0*?*H#-qXIv{pQ?wuaejh7QS0yH`~?4%3j73r ztkx#P`3e3=ZEX|hC-_4u@DuzOwM-$-Pw)q-LmTHO_P@L7=}J{Z@DeMSU6G~zmP$!RL-z{96R;9)SXJ^Q54zcb?6amfj~ zPFv=2VjJd9#MaDX#8%9s#Foq>#1_oM#OBN&iOraYh)tQv#3sxnVq<0^u@N(Y*pL}d zY`}~o)@Q~N>oH@9b(zt`I?O0yZDxpAiy29*$&4V@V1^T`GY=B0F%J-{GWQd!F!vEF zGxriJG4~KFGJhaeVD2WCXYL}FV}AeE&;J|cH^{PYkdaWN3_&3o1x3kdC|brqF)|j4mFn9(JzJJ>G9HST2~dJegc4;E zlq8d(WO)cWB!7f{l!u|i@(6T99)*s|W6&}A6ZDfj4jq>#pcC>WbW)yzPRY~IX?X@Z zBhNx-YSI;E)#jr}cl+wb5$*Ul*+fp8#A`t^doW8EXCCe=z@Zg1gOxYs7PcyG>Py#dCtY zP1HSbJSVu@SRDu$&k61}q5@8Ex1pMF<2k|I25Q&VcusJ)zM6jGDZzEOo)8;?@f6{@ ztNPtP8S$LqZXGJ24AUdu@;yK0Lnp8q5uDdmawj&r%F|NDSg*L>9 z=NxydQ3>U^?p76Asch%dn<#pyc5nZ=03m_><2nMH_2n1zXjnT3djm<5RinFWXim|?^)rbqOc zF41L5qGUQmhiMaSrbV=v)a;Honbho#&(F+9%*Ui=cYI!E9%3G5Zeng`E@CcbPGU}G z4q^^wc4BsBHexnrR$^9W7Gf4=W@2V$CSoRLMq);024V)L`qyT}r)Q=kremfhre&rf zreOw&L8d`8m}=iYBR(}V6^*81s%`&__>{~PG@61LAO@H^QD!+8^isZpUdcb9H*t+W+)!>e50uBv3*~k5LHXSL zP=42hOxJ=e*M@A@fgD#t(sd!%^&rm;gTmYbPyx3fRM0I16>)ve~w|LXn!|F`{r{_ocR{o50O|FHwmzkmNf!B6qe)g+ccDXzQAh4ytYfnr>D zKNDIpBf-z{PpO1*Tz5ZFhX4i>D9Cm9W1*Qwf}iBeR0byaN&b;KBRIiN@}**^k>Dr! z5-RYMe6i>nOrRv!-9>bVo8U+JLb?h?x$b^QE#(Bta@|$C0d6!B{4ifYB^2hmJ6{A| z1rsREb$6c7R~rd_oWD=k@#B0h(U0@@h<=>UA^LGXo9M^+ETSLh?-Knue}^d4H8gjo zV*E_z4B`ytbmDa8G~zVoRN_?T6yg--Wa4BdHM`>{F{#-dKan|sIDtvc?)dS{al~=V zvBa@VYIetuVN$a@el&9waTJr9-SH!tBZwoI!->P0)a;HQ#vDo<${a!*!W>K-%p61< z#2iQ*$Q(c%!0b=#&+JF+$Lve&%j`q!!|YA$&Fn?&#q3G!$?QSw!R$`#&g@3)#_US$ z%Irey!tAV`8O3*Ic2X~Q#CKwLq=Jsj4r=v5d|uN{T9Ff?^btfAj@jFHKCerEvS}T8>;Qr zf$F$*p}KB8sGeINs_!;{8n_LiH*t-IZX;Z+k=qz*>^6a#xJ{v^ZZoKv+Z<}{wt!l= zEuoffE2x#*8fxvff!erjp|);2sGZv$YVUS{I=CI7j&3KYliL~U>~?{=xLu*HZa1i# z+a2oe_JDf0J)xd%FQ}K>8|v-$f%>?8p}uZEsGr*(>hBJK2Dk&Ef$kt^kUJO}><)p3 zxI>|#?l5SWI~*GBj(|qEBcYM*C}@;B8XE16fyTIFp|S2bXq-D98t+bkCb$!!iS8t5 zk~

  • `sBExKp92?lfqcI~|(t&VXjPGohL8JJ37syU@GtENGTH8=CFTf#$gHLGQV9 zp}Fq+{`|j*-v7VD>;K{c`}zEz&jX7Bv-$nMK7o#bW`Wv)3W1^lJCL3C|9z(4)i3i2 z0O9&heWSkWU;YN*S@ENY61&AF6;SkFFo9xRcYhWs{thNkj_d9%5twWw_(6V?N+`&6 z_l5`@4JJ^M>+W@-FEkSTD8HtXFTs!Ut3*G_uMqtxzfAO_{1VZR@{2@2$}bT8C_hj1 zqx>AvkMgrbKg!P#{U|?8^rQR~(U0BeF%zeblOlou|RATNSR%EK< zZH$Bp%-!lvIH5dq7ZsFaey`ruNGQwPsV3WmGRz%RP@4IjT7HmFin(1)%n2o#+o+%f zbE`UCD4{rWi&~VBP>lI46%=J|rh+2OO=?+SLSg1NR8WYyk^W}|nP00dB@+rTH&8(s zbG>?Ul;APfsV-20%UnwZlKGX|JTk#yu2JVBB-qR^=@;Kp)ZNu;@5o?+$^Jr!WFsLz zm#m_ad_25Th;zY&yzCX~;nG_^|Ic&hBg^Ky3!nw=2ha!ZhtP-aLTI782wLPWh8DX^ zpe627XsP=V^d_$Hk-H36TjqWYee8Y$ed2x!ed>M&edaEQmb;%rpSvrd74AxCrMn7R z<$eKu;jV^OyI(?Ix@({{?pM%P?pkQAyAE3Cu7}pU8=wvD*U;DQMrfn^4fKt>3EJdt zhBmw3Lf^Vupe^oJXsf#o+U9PDw!7a!-?=-W9qvwOr~5thy}JwAI z?p|oGyARsu?uYif2cQG)LFk|x4u!iBP=p%^MYtMh*f1o8$l1yZW_{~zf$^>g|WJx1TFZ{_{} zKh)pVC+I_UdjGG9UQ;ip7uHQZt8Qq2X-~A<+C_f;e?a?A+n}w`7He~~$=V35uhxn8 z|Es7K(;O{_mR1wuxwt2;h?8pnA3Fb6B`E!8Byy5_Wr>{RUKt`MxmTLVN$!;*a*}%` ziJatK2_h%CSDeU6?iC|)l6ysooa9~+A}6_5n8-=)6(Vwyd(`7jIi8+|m<4(-Z%tp+{%u3A4q#k!-7G`E*W@aWeJtk&iQja?^ zBQpar12esvYZKEm)2VqmFȢ{KaRQFCo#8fH-4*s5Q1`coKGU@%jwH!l)XGgA>$ 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%0AjI!- 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 TE^=>gbN~PW004~IcQup%VRw!c diff --git a/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2011.txt b/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2011.txt deleted file mode 100644 index 923249bab92bc..0000000000000 --- a/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2011.txt +++ /dev/null @@ -1,3106 +0,0 @@ -637566980 -0.54825 -637599748 0.949943 -637632516 -2.93543 -637566982 3.11989 -637599750 4.01475 -637632518 -3.15935 -637566984 -15.8282 -637599752 5.31518 -637632520 0.671882 -637566986 -5.8648 -637599754 2.22948 -637632522 -5.24969 -637566989 5.47475 -637632525 2.32308 -637566993 -4.86417 -637632529 -0.886712 -637566997 6.20121 -637632533 -3.39547 -637567001 -7.79198 -637632537 4.77651 -637567005 0.678291 -637632541 1.1537 -637567108 2.25723 -637599876 -1.32955 -637632644 7.13276 -637567110 -1.32297 -637599878 -5.09807 -637632646 9.66427 -637567112 4.04016 -637599880 4.97838 -637632648 11.7094 -637567114 5.28602 -637599882 4.52049 -637632650 5.52124 -637567117 4.32638 -637632653 -0.416447 -637567121 5.10487 -637632657 -5.87838 -637567125 8.50734 -637632661 -3.97512 -637567129 -3.44312 -637632665 0.705437 -637567133 3.19274 -637632669 4.14705 -637567236 5.38406 -637600004 6.53442 -637632772 1.8919 -637567238 2.87289 -637600006 1.40396 -637632774 -7.64573 -637567240 1.52575 -637600008 -6.24801 -637632776 1.94148 -637567242 -5.62642 -637600010 3.77316 -637632778 -2.21807 -637567245 -0.927925 -637632781 1.98242 -637567249 0.469939 -637632785 3.35778 -637567253 3.40025 -637632789 0.0247274 -637567257 0.669699 -637632793 -6.50361 -637567261 10.1999 -637632797 -3.8703 -637567364 -10.0033 -637600132 -3.73939 -637632900 -5.90777 -637567366 -4.8132 -637600134 10.0657 -637632902 4.36448 -637567368 9.69303 -637600136 -4.69573 -637632904 -8.17894 -637567370 0.277902 -637600138 -3.3577 -637632906 -1.58948 -637567373 -0.571988 -637632909 -0.129552 -637567377 -7.0785 -637632913 0.43841 -637567381 6.61704 -637632917 -1.73842 -637567385 0.317941 -637632921 1.8316 -637567389 1.85351 -637632925 8.57226 -637567492 1.08777 -637600260 -3.03081 -637633028 -7.64577 -637567494 4.85243 -637600262 2.41655 -637633030 0.463351 -637567496 -7.24735 -637600264 -12.533 -637633032 6.66279 -637567498 1.86912 -637600266 -0.255423 -637633034 3.60769 -637567501 3.92872 -637633037 1.31557 -637567505 -4.85149 -637633041 0.113582 -637567509 -2.9909 -637633045 3.13101 -637567513 0.770356 -637633049 1.50866 -637567517 -4.88241 -637633053 -1.24616 -637567620 -4.62485 -637600388 4.17009 -637633156 -4.15142 -637567622 1.74261 -637600390 1.631 -637633158 -0.835259 -637567624 -1.90584 -637600392 1.93343 -637633160 -4.27454 -637567626 -4.03159 -637600394 -1.90478 -637633162 -5.9056 -637567629 9.33487 -637633165 2.22477 -637567633 -4.97273 -637633169 -3.39858 -637567637 -1.4782 -637633173 6.30623 -637567641 -14.1326 -637633177 7.55448 -637567645 2.56901 -637633181 8.69499 -637567757 0.0251438 -637633293 6.15146 -637567761 7.54069 -637633297 0.00331819 -637567765 -10.1268 -637633301 -4.5161 -637567769 2.83008 -637633305 -5.79594 -637567773 -9.55809 -637633309 -10.869 -637567885 4.60449 -637633421 2.74938 -637567889 5.84943 -637633425 9.32703 -637567893 6.52935 -637633429 0.765314 -637567897 2.55962 -637633433 -3.1393 -637567901 3.50424 -637633437 2.64584 -637568013 -2.81008 -637633549 3.2293 -637568017 4.04131 -637633553 -9.74897 -637568021 -5.40237 -637633557 -1.55474 -637568025 7.40741 -637633561 -3.59782 -637568029 2.42784 -637633565 0.0298086 -637568141 -0.336222 -637633677 8.53511 -637568145 -6.22653 -637633681 4.13591 -637568149 3.49544 -637633685 -4.61481 -637568153 1.79503 -637633689 -1.06422 -637568157 0.0718886 -637633693 -1.95245 -637568269 2.46336 -637633805 -1.99954 -637568273 -1.10068 -637633809 0.180165 -637568277 -0.14968 -637633813 -0.0668611 -637568281 -0.26237 -637633817 5.14512 -637568285 -1.79736 -637633821 -1.9808 -637568397 -2.6767 -637633933 -2.26294 -637568401 9.36669 -637633937 -2.52591 -637568405 6.76381 -637633941 2.11004 -637568409 -3.83077 -637633945 -12.3055 -637568413 -6.1029 -637633949 -1.7245 -637571076 -0.964312 -637603844 1.30948 -637636612 2.00939 -637571078 -2.79966 -637603846 2.95257 -637636614 7.79661 -637571080 2.43369 -637603848 1.32935 -637636616 -0.614873 -637571082 1.5531 -637603850 -7.74007 -637636618 -14.6045 -637571204 -4.1763 -637603972 -3.83262 -637636740 8.61637 -637571206 2.4631 -637603974 -7.22921 -637636742 1.98934 -637571208 -6.83659 -637603976 -3.61622 -637636744 2.51258 -637571210 -1.17684 -637603978 -2.93719 -637636746 -5.90492 -637571332 -1.30733 -637604100 4.10243 -637636868 -3.30163 -637571334 2.74197 -637604102 -9.74734 -637636870 -3.09347 -637571336 1.96458 -637604104 4.14566 -637636872 -3.49542 -637571338 -2.9031 -637604106 -1.07744 -637636874 -2.28438 -637571460 7.84067 -637604228 -1.82744 -637636996 -1.23245 -637571462 -2.10323 -637604230 -2.88649 -637636998 -6.16042 -637571464 -7.84099 -637604232 -3.20089 -637637000 6.64647 -637571466 -3.31898 -637604234 1.22743 -637637002 8.29804 -637571588 -1.41747 -637604356 0.62095 -637637124 0.670404 -637571590 -2.21146 -637604358 -2.11718 -637637126 -0.208664 -637571592 5.68841 -637604360 -7.25456 -637637128 6.9089 -637571594 -7.22151 -637604362 -4.18985 -637637130 1.94308 -637571716 2.48212 -637604484 -3.6147 -637637252 3.65236 -637571718 4.14743 -637604486 1.43399 -637637254 9.63188 -637571720 -2.59887 -637604488 2.65129 -637637256 -6.50771 -637571722 -7.27841 -637604490 -0.778229 -637637258 3.95056 -637575172 -6.33595 -637607940 -1.03366 -637640708 -4.92394 -637575174 -4.79788 -637607942 9.89951 -637640710 1.51517 -637575176 -1.79888 -637607944 0.405213 -637640712 -6.33561 -637575178 -0.0748711 -637607946 5.56466 -637640714 6.26123 -637575300 -0.0882322 -637608068 -6.60782 -637640836 1.66932 -637575302 -4.74806 -637608070 -0.72546 -637640838 -6.31267 -637575304 -3.39001 -637608072 -1.88332 -637640840 3.76965 -637575306 -1.60423 -637608074 -2.50018 -637640842 -7.33383 -637575428 -5.15268 -637608196 -1.55812 -637640964 -10.7352 -637575430 -5.82587 -637608198 -1.18181 -637640966 -7.03436 -637575432 1.58461 -637608200 3.52565 -637640968 -4.8347 -637575434 0.745435 -637608202 -4.22216 -637640970 -0.198822 -637575556 8.72811 -637608324 4.13306 -637641092 -1.93093 -637575558 0.504006 -637608326 -4.66653 -637641094 4.47765 -637575560 -8.24046 -637608328 -0.483929 -637641096 3.97375 -637575562 0.917794 -637608330 -3.05788 -637641098 1.63833 -637575684 -6.1682 -637608452 -6.66116 -637641220 3.18669 -637575686 -3.4679 -637608454 5.42775 -637641222 1.48455 -637575688 5.43826 -637608456 -3.94814 -637641224 4.93566 -637575690 -3.92341 -637608458 1.1025 -637641226 1.18038 -637575812 -7.4948 -637608580 1.83546 -637641348 7.55707 -637575814 -8.39462 -637608582 1.06256 -637641350 6.04283 -637575816 -5.68661 -637608584 8.3923 -637641352 2.85884 -637575818 -3.4662 -637608586 8.01506 -637641354 0.424497 -637579268 0.765138 -637612036 -4.76876 -637644804 3.89189 -637579270 5.34724 -637612038 -1.76508 -637644806 0.332866 -637579272 5.51425 -637612040 -4.97524 -637644808 -8.04122 -637579274 5.52362 -637612042 3.84446 -637644810 -3.97011 -637579396 7.44973 -637612164 1.6487 -637644932 8.32166 -637579398 0.491653 -637612166 1.18992 -637644934 2.27996 -637579400 -0.107862 -637612168 1.26844 -637644936 6.20492 -637579402 -1.09422 -637612170 0.0401733 -637644938 4.46886 -637579524 -2.5008 -637612292 -9.22931 -637645060 0.862653 -637579526 -1.6866 -637612294 -0.836017 -637645062 5.81386 -637579528 -3.93464 -637612296 -1.63098 -637645064 0.511446 -637579530 -5.67424 -637612298 -4.11606 -637645066 -10.2008 -637579652 3.21899 -637612420 -8.93435 -637645188 4.30834 -637579654 -4.37931 -637612422 4.85541 -637645190 -8.20157 -637579656 -8.02274 -637612424 -1.72229 -637645192 -3.50858 -637579658 -3.2426 -637612426 -9.18281 -637645194 4.91979 -637579780 0.282365 -637612548 1.10628 -637645316 -6.77544 -637579782 -2.59312 -637612550 0.968924 -637645318 -9.24824 -637579784 -4.81591 -637612552 -3.44662 -637645320 1.98027 -637579786 4.82379 -637612554 -2.01366 -637645322 6.90943 -637579908 5.40352 -637612676 -5.38882 -637645444 0.524653 -637579910 2.39057 -637612678 -5.35561 -637645446 0.415672 -637579912 -6.43054 -637612680 -1.16537 -637645448 1.72145 -637579914 2.69822 -637612682 -1.04053 -637645450 3.06885 -637583364 3.91677 -637616132 -7.20584 -637648900 0.596132 -637583366 -4.28312 -637616134 -2.68661 -637648902 8.98275 -637583368 4.38057 -637616136 1.58621 -637648904 7.98315 -637583370 5.10259 -637616138 -1.61969 -637648906 -0.982994 -637583492 -5.24587 -637616260 -0.591482 -637649028 -4.80903 -637583494 -10.3164 -637616262 -8.04172 -637649030 3.47256 -637583496 -2.08386 -637616264 -6.71123 -637649032 3.13604 -637583498 -4.93018 -637616266 7.95757 -637649034 -0.678979 -637583620 -2.74742 -637616388 -2.75983 -637649156 1.79837 -637583622 8.54086 -637616390 3.09743 -637649158 10.6154 -637583624 7.0988 -637616392 1.05579 -637649160 -0.5626 -637583626 -4.36058 -637616394 2.67402 -637649162 -3.04797 -637583748 9.00403 -637616516 2.14851 -637649284 -3.64874 -637583750 1.22719 -637616518 -2.54111 -637649286 2.76716 -637583752 3.34759 -637616520 -2.67625 -637649288 0.383747 -637583754 4.00793 -637616522 -1.477 -637649290 1.96655 -637583876 -10.8557 -637616644 4.60437 -637649412 2.22306 -637583878 -2.60309 -637616646 5.00627 -637649414 8.35409 -637583880 -3.80216 -637616648 -1.82328 -637649416 1.44324 -637583882 1.8768 -637616650 11.4619 -637649418 4.32182 -637584004 2.5049 -637616772 -4.50782 -637649540 1.13013 -637584006 -6.66699 -637616774 -4.31316 -637649542 -2.2929 -637584008 3.32935 -637616776 1.36242 -637649544 0.28473 -637584010 5.71837 -637616778 2.17353 -637649546 2.00345 -637587460 2.20414 -637620228 -3.85812 -637652996 -6.4373 -637587462 1.1966 -637620230 4.75233 -637652998 1.79686 -637587464 -2.62672 -637620232 -5.3272 -637653000 0.880106 -637587466 2.30799 -637620234 1.68841 -637653002 -3.36382 -637587588 -0.627363 -637620356 9.3687 -637653124 1.75695 -637587590 -4.53461 -637620358 2.7622 -637653126 0.958532 -637587592 -3.20002 -637620360 2.84104 -637653128 -1.88095 -637587594 -10.6919 -637620362 -9.36646 -637653130 -2.10317 -637587716 -3.69495 -637620484 -0.613713 -637653252 -3.15007 -637587718 -4.69565 -637620486 -4.32493 -637653254 -4.80023 -637587720 2.21372 -637620488 -0.87906 -637653256 -8.7906 -637587722 -1.83006 -637620490 -1.79431 -637653258 -6.1714 -637587844 2.6109 -637620612 -4.84081 -637653380 -2.57124 -637587846 -5.2613 -637620614 -4.9587 -637653382 4.33851 -637587848 6.78394 -637620616 -5.20678 -637653384 5.79193 -637587850 3.02566 -637620618 -0.0737251 -637653386 1.05147 -637587972 -12.3171 -637620740 -7.38983 -637653508 6.96771 -637587974 0.478712 -637620742 -2.43457 -637653510 1.77061 -637587976 2.31474 -637620744 -0.568067 -637653512 10.0303 -637587978 -6.68392 -637620746 4.80617 -637653514 8.14234 -637588100 -0.578392 -637620868 -3.58589 -637653636 4.8912 -637588102 -1.93483 -637620870 -8.96537 -637653638 7.34389 -637588104 4.80965 -637620872 2.36795 -637653640 3.56476 -637588106 6.74037 -637620874 8.56063 -637653642 6.45055 -637569037 -1.40058 -637634573 -1.66342 -637569041 1.03053 -637634577 4.38958 -637569045 14.0513 -637634581 -0.115735 -637569049 0.433612 -637634585 10.5141 -637569053 -5.31033 -637634589 -6.58589 -637569165 -9.4821 -637634701 3.29065 -637569169 9.53897 -637634705 -2.23044 -637569173 -5.19275 -637634709 -1.88744 -637569177 3.25538 -637634713 -2.41946 -637569181 1.86303 -637634717 3.35213 -637569293 -2.47989 -637634829 4.71531 -637569297 6.37194 -637634833 2.47024 -637569301 -2.79159 -637634837 -4.39933 -637569305 0.120204 -637634841 -1.34416 -637569309 -5.67875 -637634845 -5.50263 -637569421 7.66378 -637634957 -7.40463 -637569425 -7.67853 -637634961 3.2624 -637569429 -4.43217 -637634965 -2.36009 -637569433 3.14271 -637634969 8.30328 -637569437 -3.06829 -637634973 0.58363 -637569549 -7.12342 -637635085 -7.47465 -637569553 2.34774 -637635089 -5.13436 -637569557 -4.07156 -637635093 11.5021 -637569561 -3.9247 -637635097 1.31454 -637569565 -1.57977 -637635101 3.15488 -637569677 -3.61592 -637635213 -5.14304 -637569681 1.76213 -637635217 6.94876 -637569685 5.30907 -637635221 -1.07233 -637569689 6.64069 -637635225 -2.49184 -637569693 -1.52343 -637635229 1.4716 -637569805 0.697328 -637635341 5.11447 -637569809 -0.78532 -637635345 -4.70059 -637569813 -0.889819 -637635349 -2.608 -637569817 -6.13829 -637635353 2.4109 -637569821 1.15355 -637635357 -0.670533 -637569933 8.07542 -637635469 10.7987 -637569937 5.33386 -637635473 -6.04296 -637569941 -0.310374 -637635477 -6.31196 -637569945 2.05802 -637635481 -5.77593 -637569949 2.51641 -637635485 -1.38074 -637570061 8.78131 -637635597 -1.74917 -637570065 -5.83978 -637635601 7.33768 -637570069 6.67261 -637635605 -5.94483 -637570073 0.570371 -637635609 9.12798 -637570077 0.466451 -637635613 1.89271 -637570189 0.538561 -637635725 2.19573 -637570193 -2.83092 -637635729 10.5243 -637570197 0.784778 -637635733 -3.09858 -637570201 6.96165 -637635737 2.15107 -637570205 1.07838 -637635741 -0.599663 -637570317 5.20164 -637635853 2.47448 -637570321 4.98447 -637635857 -3.57837 -637570325 1.48539 -637635861 -1.05006 -637570329 0.284051 -637635865 -0.104213 -637570333 -3.83373 -637635869 0.472037 -637570445 -1.17203 -637635981 -1.49497 -637570449 -6.32186 -637635985 4.24793 -637570453 -4.64299 -637635989 3.53618 -637570457 -5.48346 -637635993 5.66016 -637570461 -2.35404 -637635997 6.93627 -637567012 2.55194 -637599780 -2.55185 -637632548 0.650249 -637567014 7.35478 -637599782 -2.86672 -637632550 2.13922 -637567016 4.92785 -637599784 -1.9431 -637632552 6.15835 -637567018 2.54482 -637599786 -3.34368 -637632554 -6.77141 -637567021 -0.432436 -637632557 -0.566149 -637567025 0.491478 -637599793 -1.31324 -637632561 -3.27748 -637567029 0.635068 -637599797 -0.918134 -637632565 2.24436 -637567033 2.71832 -637599801 1.76764 -637632569 -7.09806 -637567037 0.705728 -637632573 -3.62464 -637567140 4.65699 -637599908 9.1784 -637632676 -3.03216 -637567142 -1.97991 -637599910 8.13425 -637632678 -5.45238 -637567144 3.24324 -637599912 -0.80503 -637632680 4.18706 -637567146 -1.16718 -637599914 3.66135 -637632682 2.27936 -637567149 1.87652 -637632685 -3.10032 -637567153 -0.832569 -637599921 9.16033 -637632689 -0.647561 -637567157 4.57215 -637599925 -4.71841 -637632693 -1.62149 -637567161 3.11847 -637599929 3.07312 -637632697 -7.15776 -637567165 -1.19949 -637632701 3.96635 -637567268 -6.45604 -637600036 -4.32158 -637632804 7.77485 -637567270 11.9852 -637600038 -3.42922 -637632806 -3.92669 -637567272 4.77994 -637600040 -8.14715 -637632808 3.09504 -637567274 -3.2702 -637600042 -5.10388 -637632810 -3.41113 -637567277 4.51393 -637632813 7.41892 -637567281 1.35133 -637600049 2.55154 -637632817 -4.90282 -637567285 7.58922 -637600053 -2.03227 -637632821 2.74213 -637567289 0.235447 -637600057 -0.0454762 -637632825 -2.93607 -637567293 4.00439 -637632829 -2.73172 -637567396 2.24239 -637600164 3.5466 -637632932 -0.93074 -637567398 6.63827 -637600166 2.15053 -637632934 -0.751094 -637567400 -2.83714 -637600168 -0.786629 -637632936 0.627926 -637567402 -4.57982 -637600170 -1.54031 -637632938 -5.04178 -637567405 -5.36065 -637632941 8.47125 -637567409 9.72273 -637600177 -2.88832 -637632945 -6.44361 -637567413 -3.12012 -637600181 1.13076 -637632949 -2.69126 -637567417 -10.8377 -637600185 -0.711493 -637632953 1.39733 -637567421 -4.78476 -637632957 -8.19408 -637567524 -1.1308 -637600292 6.94307 -637633060 -7.15574 -637567526 0.103061 -637600294 -2.11959 -637633062 0.108212 -637567528 7.23231 -637600296 7.24377 -637633064 0.242693 -637567530 0.168677 -637600298 8.1504 -637633066 3.59255 -637567533 -6.19443 -637633069 -2.44399 -637567537 8.99957 -637600305 1.10842 -637633073 0.0803913 -637567541 -0.825005 -637600309 -8.36781 -637633077 8.77578 -637567545 4.19786 -637600313 7.39292 -637633081 -4.72117 -637567549 0.862949 -637633085 1.20873 -637567652 -9.7234 -637600420 7.99697 -637633188 1.35487 -637567654 8.24246 -637600422 -1.17154 -637633190 4.27213 -637567656 -5.52633 -637600424 -6.55684 -637633192 -5.6293 -637567658 8.69403 -637600426 -3.89107 -637633194 -5.76237 -637567661 1.92521 -637633197 -6.32594 -637567665 -7.65684 -637600433 -2.22025 -637633201 -1.26894 -637567669 8.21723 -637600437 -6.9022 -637633205 5.91116 -637567673 4.1 -637600441 -2.52032 -637633209 12.6542 -637567677 -1.11402 -637633213 -7.59657 -637567789 0.88361 -637633325 -1.96344 -637567793 -0.429656 -637600561 -2.34706 -637633329 1.90177 -637567797 4.26777 -637600565 -6.88411 -637633333 -3.41253 -637567801 4.95288 -637600569 5.82909 -637633337 2.0374 -637567805 0.790624 -637633341 -0.403845 -637567917 2.18364 -637633453 -7.75924 -637567921 -4.37603 -637600689 -1.06091 -637633457 -2.39383 -637567925 0.618183 -637600693 2.96435 -637633461 -8.64822 -637567929 1.58474 -637600697 4.54272 -637633465 -7.50829 -637567933 5.39234 -637633469 3.97525 -637568045 2.32245 -637633581 4.94347 -637568049 2.78488 -637600817 -3.19391 -637633585 -1.69567 -637568053 -0.935527 -637600821 -4.63996 -637633589 -3.21743 -637568057 1.08091 -637600825 3.6008 -637633593 -0.123215 -637568061 0.359735 -637633597 -4.84655 -637568173 0.126894 -637633709 0.48143 -637568177 8.06279 -637600945 4.26403 -637633713 -2.2689 -637568181 -2.13643 -637600949 1.68417 -637633717 5.92982 -637568185 4.95441 -637600953 2.01023 -637633721 3.45976 -637568189 11.4651 -637633725 3.61925 -637568301 0.741023 -637633837 2.76244 -637568305 -5.16148 -637601073 -2.24535 -637633841 -1.42847 -637568309 1.69973 -637601077 7.96455 -637633845 4.31094 -637568313 9.09913 -637601081 -0.232772 -637633849 1.07634 -637568317 -1.97497 -637633853 2.43239 -637568429 7.36599 -637633965 2.04155 -637568433 -2.40397 -637601201 -2.32407 -637633969 -2.72856 -637568437 -0.975447 -637601205 -8.15139 -637633973 -2.50445 -637568441 11.349 -637601209 0.795294 -637633977 5.89215 -637568445 -5.62808 -637633981 -0.839428 -637571108 4.84519 -637603876 -1.37107 -637636644 -6.96878 -637571110 11.7085 -637603878 -0.826095 -637636646 3.36007 -637571112 1.91452 -637603880 -3.33548 -637636648 -10.9151 -637571114 -4.75357 -637603882 1.51555 -637636650 1.23981 -637571236 -7.23892 -637604004 1.24208 -637636772 5.76077 -637571238 -0.199481 -637604006 -4.05821 -637636774 0.755676 -637571240 -3.96103 -637604008 -9.59677 -637636776 7.08903 -637571242 0.914797 -637604010 -2.92922 -637636778 -3.35629 -637571364 3.67051 -637604132 -2.39494 -637636900 -2.99231 -637571366 -1.79346 -637604134 -1.83694 -637636902 1.53633 -637571368 -7.76622 -637604136 -4.07152 -637636904 4.76844 -637571370 -7.30509 -637604138 0.483891 -637636906 4.51364 -637571492 -1.04959 -637604260 -0.963029 -637637028 -3.10425 -637571494 -13.7708 -637604262 11.87 -637637030 -1.44643 -637571496 -9.06338 -637604264 9.2239 -637637032 -8.26703 -637571498 9.12057 -637604266 -1.30471 -637637034 -1.79452 -637571620 9.16382 -637604388 4.0483 -637637156 -4.73096 -637571622 2.76485 -637604390 -7.22604 -637637158 11.1607 -637571624 -4.98797 -637604392 7.76556 -637637160 -3.66994 -637571626 4.08293 -637604394 -5.79989 -637637162 1.50438 -637571748 1.87062 -637604516 2.91401 -637637284 -5.5289 -637571750 -7.05595 -637604518 -5.04092 -637637286 3.94694 -637571752 2.1682 -637604520 -1.87501 -637637288 -5.9375 -637571754 -8.6758 -637604522 -9.98652 -637637290 -0.921451 -637575204 -8.47902 -637607972 -5.37614 -637640740 4.63229 -637575206 6.34904 -637607974 -2.1639 -637640742 12.0304 -637575208 -6.21529 -637607976 -6.4498 -637640744 -0.0663373 -637575210 -7.8237 -637607978 -13.1385 -637640746 2.66977 -637575332 1.16903 -637608100 3.12282 -637640868 -1.17691 -637575334 10.901 -637608102 13.3244 -637640870 11.6391 -637575336 -3.32358 -637608104 -7.72015 -637640872 -3.0822 -637575338 -2.83478 -637608106 0.520802 -637640874 0.838208 -637575460 3.76086 -637608228 -5.86507 -637640996 -3.44849 -637575462 -4.08416 -637608230 1.68883 -637640998 4.28489 -637575464 -5.58702 -637608232 -6.29782 -637641000 -2.64148 -637575466 -4.93016 -637608234 -6.33828 -637641002 5.91971 -637575588 7.67439 -637608356 -9.40671 -637641124 2.8087 -637575590 0.894566 -637608358 5.062 -637641126 12.7649 -637575592 4.36666 -637608360 -3.1381 -637641128 0.2388 -637575594 2.50141 -637608362 -1.43872 -637641130 -1.52518 -637575716 10.8738 -637608484 -6.07607 -637641252 7.94337 -637575718 7.23394 -637608486 -0.154209 -637641254 -7.0034 -637575720 0.865809 -637608488 7.30733 -637641256 2.01571 -637575722 8.98586 -637608490 3.85018 -637641258 -4.74799 -637575844 -6.61579 -637608612 2.69666 -637641380 -2.70175 -637575846 -3.75998 -637608614 -3.66616 -637641382 -10.2029 -637575848 0.34782 -637608616 -3.85712 -637641384 -0.973215 -637575850 1.7853 -637608618 0.954332 -637641386 -4.03845 -637579300 -2.64881 -637612068 -1.50174 -637644836 2.06657 -637579302 -2.73617 -637612070 0.73776 -637644838 -1.10521 -637579304 -0.282195 -637612072 8.85609 -637644840 -7.86795 -637579306 5.1101 -637612074 -0.707379 -637644842 6.69735 -637579428 -5.87414 -637612196 4.74699 -637644964 5.36343 -637579430 -4.06726 -637612198 0.602187 -637644966 0.245853 -637579432 3.37666 -637612200 -2.10426 -637644968 -4.99732 -637579434 1.50747 -637612202 4.78385 -637644970 5.55762 -637579556 3.4789 -637612324 10.1022 -637645092 -0.865703 -637579558 7.14573 -637612326 4.47953 -637645094 5.48837 -637579560 2.24604 -637612328 -2.1389 -637645096 2.60925 -637579562 -1.23188 -637612330 -2.30387 -637645098 -4.13743 -637579684 1.18105 -637612452 7.61986 -637645220 -4.72273 -637579686 3.2641 -637612454 1.40675 -637645222 2.11205 -637579688 -2.03921 -637612456 -7.97148 -637645224 5.72756 -637579690 6.04361 -637612458 2.89079 -637645226 -0.767458 -637579812 4.1982 -637612580 2.33123 -637645348 -2.65255 -637579814 3.18403 -637612582 6.05237 -637645350 1.81278 -637579816 -6.35976 -637612584 -2.8909 -637645352 -1.27265 -637579818 1.16523 -637612586 0.645376 -637645354 -6.19782 -637579940 8.62265 -637612708 -1.68587 -637645476 4.18905 -637579942 -10.3347 -637612710 4.48996 -637645478 -0.977447 -637579944 0.0938128 -637612712 -8.63967 -637645480 -3.76405 -637579946 2.33471 -637612714 0.331974 -637645482 7.05232 -637583396 1.73364 -637616164 1.39427 -637648932 5.82313 -637583398 -2.62308 -637616166 2.01976 -637648934 -0.481746 -637583400 -4.3382 -637616168 -2.19592 -637648936 -11.6299 -637583402 -2.17603 -637616170 14.5504 -637648938 2.58523 -637583524 -2.29212 -637616292 -4.96686 -637649060 -0.809088 -637583526 8.18749 -637616294 0.755719 -637649062 13.5646 -637583528 6.18713 -637616296 -8.7121 -637649064 -6.34082 -637583530 -1.20955 -637616298 9.78602 -637649066 3.70577 -637583652 -7.47831 -637616420 2.09562 -637649188 -0.526827 -637583654 6.31681 -637616422 -7.03176 -637649190 4.59977 -637583656 3.4913 -637616424 7.00943 -637649192 -1.61803 -637583658 8.93119 -637616426 -6.46067 -637649194 1.65675 -637583780 -0.494756 -637616548 -9.50728 -637649316 -5.53945 -637583782 3.21481 -637616550 -2.73983 -637649318 8.46883 -637583784 -7.18672 -637616552 0.338675 -637649320 -4.96537 -637583786 -0.782125 -637616554 0.831303 -637649322 -5.53911 -637583908 -4.65217 -637616676 -10.6041 -637649444 0.348023 -637583910 2.6059 -637616678 2.05631 -637649446 0.175053 -637583912 -1.52471 -637616680 1.47921 -637649448 2.83641 -637583914 -0.0563914 -637616682 2.82793 -637649450 -0.259688 -637584036 4.17356 -637616804 -0.572427 -637649572 -1.8362 -637584038 -8.03762 -637616806 9.03399 -637649574 4.58581 -637584040 -1.76833 -637616808 1.08967 -637649576 -1.48544 -637584042 4.91388 -637616810 -1.13457 -637649578 -9.05298 -637587492 -11.156 -637620260 -1.1462 -637653028 2.62052 -637587494 -3.72378 -637620262 -3.59525 -637653030 1.75017 -637587496 -5.41452 -637620264 -1.98721 -637653032 2.70044 -637587498 14.3044 -637620266 -5.78026 -637653034 -9.08405 -637587620 -10.5439 -637620388 4.73355 -637653156 9.29414 -637587622 -1.65067 -637620390 1.36635 -637653158 5.26656 -637587624 -0.449938 -637620392 1.83865 -637653160 3.35567 -637587626 -4.25921 -637620394 0.54285 -637653162 1.0488 -637587748 8.15176 -637620516 1.71282 -637653284 -4.01811 -637587750 -10.1132 -637620518 -0.272404 -637653286 3.4495 -637587752 2.50399 -637620520 1.59899 -637653288 -0.859246 -637587754 -5.47321 -637620522 1.4297 -637653290 3.8221 -637587876 -3.11263 -637620644 8.6127 -637653412 6.50327 -637587878 -3.03278 -637620646 2.80454 -637653414 -0.217104 -637587880 -1.46679 -637620648 2.50377 -637653416 -6.21659 -637587882 0.23028 -637620650 0.563443 -637653418 -1.29345 -637588004 -9.39387 -637620772 0.335233 -637653540 -1.33934 -637588006 -9.60143 -637620774 7.52775 -637653542 -5.46113 -637588008 -3.89029 -637620776 -5.44938 -637653544 0.658035 -637588010 -5.26683 -637620778 -2.36669 -637653546 4.25287 -637588132 -5.85404 -637620900 1.43539 -637653668 3.59295 -637588134 0.732752 -637620902 1.16547 -637653670 -4.8489 -637588136 4.75373 -637620904 -0.735252 -637653672 2.74255 -637588138 5.85943 -637620906 2.08634 -637653674 -1.07988 -637569069 -0.149211 -637601837 5.52023 -637634605 -3.07696 -637569073 3.28933 -637634609 0.916099 -637569077 -3.08305 -637634613 2.43509 -637569081 0.838049 -637634617 -4.56406 -637569085 4.59313 -637601853 9.10778 -637634621 7.08599 -637569197 10.2195 -637601965 -6.97062 -637634733 1.75171 -637569201 1.52304 -637634737 8.48474 -637569205 -7.69302 -637634741 -1.17723 -637569209 -3.88743 -637634745 -3.2283 -637569213 -0.506909 -637601981 6.2705 -637634749 -5.00332 -637569325 6.02154 -637602093 -2.42383 -637634861 -0.776444 -637569329 -6.08778 -637634865 -1.44965 -637569333 0.412793 -637634869 1.29793 -637569337 0.0162198 -637634873 -11.8172 -637569341 -7.64125 -637602109 -3.9 -637634877 9.45985 -637569453 -3.9176 -637602221 -2.92809 -637634989 4.71191 -637569457 -3.83212 -637634993 -3.75671 -637569461 -1.16054 -637634997 -12.0736 -637569465 0.191253 -637635001 2.805 -637569469 -2.02181 -637602237 -8.0597 -637635005 -5.70522 -637569581 -5.71951 -637602349 4.1747 -637635117 -2.9255 -637569585 10.6355 -637635121 4.70883 -637569589 -3.62257 -637635125 0.909066 -637569593 0.819475 -637635129 -1.64116 -637569597 -1.41705 -637602365 1.22114 -637635133 9.26074 -637569709 6.62115 -637602477 5.51925 -637635245 6.76602 -637569713 0.0103386 -637635249 -15.1778 -637569717 0.913175 -637635253 -3.22627 -637569721 -1.87813 -637635257 0.624317 -637569725 4.63932 -637602493 -13.0733 -637635261 1.24209 -637569837 7.6138 -637602605 4.9538 -637635373 1.84104 -637569841 -0.671191 -637635377 1.86375 -637569845 2.43019 -637635381 4.97484 -637569849 -0.266644 -637635385 2.02549 -637569853 -7.32004 -637602621 -2.56998 -637635389 5.85655 -637569965 -5.55435 -637602733 2.95911 -637635501 -2.42386 -637569969 1.24339 -637635505 -3.49884 -637569973 3.39917 -637635509 -3.80452 -637569977 -5.41713 -637635513 4.04364 -637569981 0.112981 -637602749 0.099068 -637635517 5.58393 -637570093 -0.35856 -637602861 -8.67298 -637635629 1.32735 -637570097 -1.08062 -637635633 6.66962 -637570101 1.16607 -637635637 3.40504 -637570105 1.12131 -637635641 -5.19747 -637570109 -6.34946 -637602877 -2.00517 -637635645 5.21684 -637570221 6.79642 -637602989 -0.184994 -637635757 -2.04961 -637570225 9.01368 -637635761 5.9395 -637570229 4.57097 -637635765 1.72827 -637570233 -1.29668 -637635769 -7.76166 -637570237 6.66702 -637603005 1.68167 -637635773 4.52691 -637570349 7.44072 -637603117 6.1771 -637635885 -5.58441 -637570353 1.69668 -637635889 2.87723 -637570357 1.92944 -637635893 -0.780204 -637570361 4.83966 -637635897 -0.172631 -637570365 -0.673455 -637603133 -0.220438 -637635901 2.2052 -637570477 4.9296 -637603245 -3.99146 -637636013 5.64423 -637570481 1.08124 -637636017 -13.2667 -637570485 -2.71508 -637636021 4.80077 -637570489 -3.56992 -637636025 7.13619 -637570493 8.66622 -637603261 -2.97787 -637636029 -1.82936 -637567044 -3.50679 -637599812 -7.23392 -637632580 -0.950269 -637567046 10.4973 -637599814 6.0576 -637632582 -1.50175 -637567048 0.0467581 -637599816 -8.62072 -637632584 -7.83183 -637567050 -0.856855 -637599818 9.80011 -637632586 3.14825 -637567053 0.434042 -637632589 9.41489 -637567057 -1.28917 -637632593 -3.7985 -637567061 4.03584 -637632597 -6.68082 -637567065 -9.85595 -637632601 -2.81629 -637567069 4.3935 -637632605 -0.333433 -637567172 0.425769 -637599940 3.56586 -637632708 -2.26245 -637567174 -6.48139 -637599942 6.53209 -637632710 -8.05328 -637567176 -2.73921 -637599944 -1.79558 -637632712 9.82359 -637567178 8.61348 -637599946 3.13522 -637632714 -6.77053 -637567181 8.82444 -637632717 -2.78464 -637567185 0.643933 -637632721 0.529574 -637567189 0.506817 -637632725 4.83914 -637567193 -1.18718 -637632729 -0.113078 -637567197 9.88177 -637632733 -1.48657 -637567300 -6.01894 -637600068 1.43446 -637632836 0.466809 -637567302 2.23113 -637600070 0.471803 -637632838 3.50802 -637567304 -0.359965 -637600072 -6.31344 -637632840 -1.60038 -637567306 3.60512 -637600074 2.81383 -637632842 2.25302 -637567309 -3.45881 -637632845 -5.72358 -637567313 -1.6876 -637632849 -4.02444 -637567317 -2.66162 -637632853 3.78016 -637567321 3.8152 -637632857 7.34989 -637567325 1.54176 -637632861 1.08558 -637567428 -5.91976 -637600196 2.72436 -637632964 -0.396718 -637567430 -3.30007 -637600198 -6.3861 -637632966 3.54585 -637567432 5.35544 -637600200 -0.12386 -637632968 5.0063 -637567434 -1.56026 -637600202 -7.29867 -637632970 5.3776 -637567437 6.5631 -637632973 8.83539 -637567441 -3.1551 -637632977 -1.41736 -637567445 0.442557 -637632981 -0.469271 -637567449 8.09634 -637632985 0.45442 -637567453 -6.2365 -637632989 1.95342 -637567556 -2.22863 -637600324 10.2476 -637633092 -1.79068 -637567558 4.00087 -637600326 -5.9701 -637633094 0.993078 -637567560 -1.74706 -637600328 8.54552 -637633096 -7.47874 -637567562 2.68511 -637600330 6.06002 -637633098 1.4611 -637567565 8.52627 -637633101 -3.68559 -637567569 -1.47523 -637633105 2.76211 -637567573 -2.5384 -637633109 -6.44832 -637567577 -7.86129 -637633113 -4.65368 -637567581 4.6494 -637633117 1.27935 -637567684 4.09771 -637600452 -1.98543 -637633220 5.89032 -637567686 -11.4754 -637600454 1.98723 -637633222 4.17494 -637567688 3.50189 -637600456 -1.78917 -637633224 -5.9782 -637567690 -0.056643 -637600458 -2.38528 -637633226 7.78622 -637567693 6.12202 -637633229 2.50041 -637567697 -4.19474 -637633233 -1.80806 -637567701 -14.8473 -637633237 -9.29901 -637567705 -2.61111 -637633241 4.99692 -637567709 -0.545113 -637633245 4.37314 -637567821 -1.32553 -637633357 -7.91587 -637567825 0.704215 -637633361 8.86209 -637567829 13.7362 -637633365 -4.46277 -637567833 -4.21103 -637633369 0.20118 -637567837 1.12045 -637633373 -5.58328 -637567949 -0.978394 -637633485 2.38201 -637567953 3.95708 -637633489 0.455481 -637567957 0.612084 -637633493 6.53394 -637567961 7.72739 -637633497 -5.47149 -637567965 -6.70956 -637633501 -0.582614 -637568077 2.96541 -637633613 -7.22523 -637568081 4.60013 -637633617 0.618189 -637568085 4.61727 -637633621 1.9233 -637568089 2.32077 -637633625 -4.30743 -637568093 -2.72759 -637633629 2.46979 -637568205 -4.43672 -637633741 -5.89269 -637568209 -2.53318 -637633745 -0.657026 -637568213 4.2879 -637633749 -0.763421 -637568217 4.71251 -637633753 -0.163837 -637568221 -7.60692 -637633757 3.94279 -637568333 -1.54119 -637633869 3.37988 -637568337 0.677407 -637633873 -3.22571 -637568341 4.61652 -637633877 2.44291 -637568345 3.63121 -637633881 -0.664801 -637568349 -1.42951 -637633885 1.34971 -637568461 -2.86731 -637633997 -3.50436 -637568465 2.23212 -637634001 -11.3165 -637568469 5.68803 -637634005 2.49442 -637568473 4.27306 -637634009 1.71725 -637568477 -6.25931 -637634013 8.0085 -637571140 10.3305 -637603908 10.377 -637636676 2.72715 -637571142 -0.246426 -637603910 -5.5239 -637636678 4.00271 -637571144 -8.03618 -637603912 9.66712 -637636680 -0.92125 -637571146 -1.6769 -637603914 6.32846 -637636682 1.10504 -637571149 -2.39264 -637636685 4.54378 -637571153 9.78245 -637636689 -9.1197 -637571157 -6.94656 -637636693 -2.02348 -637571161 1.75744 -637636697 -5.24673 -637571165 7.5177 -637636701 3.30281 -637571268 -3.84015 -637604036 -5.6761 -637636804 1.89419 -637571270 -1.97124 -637604038 -2.65894 -637636806 -3.39155 -637571272 1.83247 -637604040 -5.16683 -637636808 5.79122 -637571274 -5.5427 -637604042 -1.33796 -637636810 2.72943 -637571277 -8.02047 -637636813 5.17738 -637571281 -3.51653 -637636817 -0.702168 -637571285 -8.72799 -637636821 1.58386 -637571289 -0.935545 -637636825 -0.165209 -637571293 -7.38429 -637636829 2.43781 -637571396 1.73856 -637604164 2.58247 -637636932 -0.815853 -637571398 6.09098 -637604166 -0.18728 -637636934 7.12369 -637571400 -0.492857 -637604168 4.60612 -637636936 0.779806 -637571402 9.51133 -637604170 10.2285 -637636938 -4.16142 -637571405 -1.03771 -637636941 1.41187 -637571409 2.51197 -637636945 2.78577 -637571413 4.3169 -637636949 -8.46113 -637571417 9.64182 -637636953 11.5226 -637571421 0.541407 -637636957 4.87229 -637571524 -1.26547 -637604292 -1.38268 -637637060 -5.41353 -637571526 9.81776 -637604294 1.9392 -637637062 4.81889 -637571528 5.21436 -637604296 -6.50308 -637637064 1.27169 -637571530 1.03454 -637604298 1.3652 -637637066 5.1634 -637571533 -9.4176 -637637069 1.73724 -637571537 4.35305 -637637073 2.48484 -637571541 8.21794 -637637077 -5.03874 -637571545 -8.2576 -637637081 -11.1268 -637571549 -3.55051 -637637085 1.2243 -637571652 -4.7746 -637604420 8.17418 -637637188 2.21396 -637571654 -9.48472 -637604422 7.29972 -637637190 -2.43009 -637571656 4.05655 -637604424 -3.78216 -637637192 -3.81211 -637571658 8.96921 -637604426 -3.65301 -637637194 -1.85937 -637571661 9.21826 -637637197 0.394787 -637571665 0.435809 -637637201 0.670543 -637571669 -3.26967 -637637205 3.72135 -637571673 -10.0767 -637637209 4.89864 -637571677 0.819228 -637637213 1.88208 -637571780 10.91 -637604548 -3.50288 -637637316 2.64003 -637571782 4.9765 -637604550 1.59788 -637637318 -3.66491 -637571784 -3.9753 -637604552 0.780538 -637637320 -7.59104 -637571786 0.946468 -637604554 2.56301 -637637322 0.905493 -637571789 2.75234 -637637325 -1.605 -637571793 1.64242 -637637329 5.59905 -637571797 -4.89059 -637637333 -2.9646 -637571801 -1.49782 -637637337 -9.75422 -637571805 -6.56521 -637637341 -3.2352 -637571917 3.22578 -637637453 21.1606 -637571921 4.93794 -637637457 2.05854 -637571925 13.8344 -637637461 6.67107 -637571929 -1.85681 -637637465 2.04831 -637571933 -1.02714 -637637469 -5.35897 -637572045 -1.54597 -637637581 -7.23261 -637572049 4.63658 -637637585 -6.48979 -637572053 -3.21904 -637637589 2.57039 -637572057 2.39627 -637637593 2.53041 -637572061 1.87443 -637637597 -0.134923 -637572173 6.74608 -637637709 8.87974 -637572177 4.52471 -637637713 0.938788 -637572181 -5.46798 -637637717 -6.7242 -637572185 -1.70628 -637637721 1.90151 -637572189 0.916001 -637637725 6.53431 -637572301 5.35194 -637637837 2.18995 -637572305 -2.97959 -637637841 4.74279 -637572309 -8.56076 -637637845 6.59618 -637572313 0.269783 -637637849 -2.13872 -637572317 2.53646 -637637853 -6.75826 -637572429 1.40805 -637637965 -5.98419 -637572433 5.69658 -637637969 -3.19307 -637572437 0.873466 -637637973 -2.23667 -637572441 -3.36241 -637637977 -4.45148 -637572445 1.55599 -637637981 -6.07981 -637572557 0.188331 -637638093 -0.915522 -637572561 4.05094 -637638097 -4.99674 -637572565 6.48066 -637638101 -2.27462 -637572569 -1.98494 -637638105 3.5013 -637572573 -0.838747 -637638109 -2.45643 -637575236 9.5982 -637608004 2.19387 -637640772 2.29608 -637575238 11.1321 -637608006 -5.28526 -637640774 3.16202 -637575240 1.09443 -637608008 11.0247 -637640776 -4.27966 -637575242 6.9847 -637608010 -1.02197 -637640778 -0.891213 -637575364 -2.16905 -637608132 -2.17188 -637640900 1.36086 -637575366 -1.74117 -637608134 6.30699 -637640902 -2.54467 -637575368 -2.41996 -637608136 1.45554 -637640904 -4.62635 -637575370 -12.6961 -637608138 5.83009 -637640906 6.19315 -637575492 -9.5225 -637608260 -7.44509 -637641028 4.73128 -637575494 2.38461 -637608262 4.17217 -637641030 7.2563 -637575496 10.4334 -637608264 -1.5007 -637641032 6.04736 -637575498 -5.64556 -637608266 -1.76799 -637641034 3.06889 -637575620 6.52181 -637608388 1.56696 -637641156 -3.62709 -637575622 -0.465307 -637608390 -6.90488 -637641158 -9.15821 -637575624 2.34541 -637608392 8.01526 -637641160 5.68002 -637575626 12.9686 -637608394 2.18456 -637641162 3.69238 -637575748 0.841124 -637608516 -0.628392 -637641284 -3.59603 -637575750 1.71203 -637608518 2.46098 -637641286 -6.95864 -637575752 3.83741 -637608520 -4.79698 -637641288 -7.96345 -637575754 5.79298 -637608522 2.61227 -637641290 -6.74625 -637575876 11.8253 -637608644 3.16624 -637641412 -2.51537 -637575878 5.07301 -637608646 4.04681 -637641414 0.559114 -637575880 -0.983411 -637608648 5.7311 -637641416 0.292729 -637575882 -6.93887 -637608650 2.1696 -637641418 -6.13099 -637579332 -5.98872 -637612100 -3.97657 -637644868 -7.4906 -637579334 -3.22018 -637612102 1.06915 -637644870 3.34928 -637579336 -3.49405 -637612104 1.45186 -637644872 6.14421 -637579338 -1.92218 -637612106 5.44485 -637644874 9.08542 -637579460 -11.4303 -637612228 -15.1895 -637644996 2.00763 -637579462 3.77243 -637612230 -2.01572 -637644998 4.4683 -637579464 6.00796 -637612232 11.0613 -637645000 -0.167487 -637579466 11.726 -637612234 4.40902 -637645002 8.70371 -637579588 1.71647 -637612356 3.16014 -637645124 -4.22075 -637579590 8.78713 -637612358 -3.91066 -637645126 6.24052 -637579592 -4.36018 -637612360 3.08687 -637645128 3.49377 -637579594 2.79666 -637612362 0.193993 -637645130 6.57722 -637579716 -3.77566 -637612484 -13.7725 -637645252 -0.940127 -637579718 2.60303 -637612486 6.72714 -637645254 0.681932 -637579720 -2.70878 -637612488 -0.432353 -637645256 -13.0321 -637579722 -2.96072 -637612490 -3.53864 -637645258 8.86958 -637579844 -2.8002 -637612612 0.884311 -637645380 -3.80932 -637579846 -6.88001 -637612614 1.0925 -637645382 0.880233 -637579848 0.254426 -637612616 1.84367 -637645384 -8.2322 -637579850 -0.41692 -637612618 -1.90983 -637645386 -3.76438 -637579972 -7.91822 -637612740 -0.791483 -637645508 -10.0577 -637579974 -4.53526 -637612742 -5.02862 -637645510 -2.6074 -637579976 -1.46741 -637612744 5.32592 -637645512 -0.869825 -637579978 4.2777 -637612746 -0.0579055 -637645514 -1.92479 -637583428 5.79861 -637616196 4.55392 -637648964 -3.45429 -637583430 -1.47592 -637616198 -0.249955 -637648966 5.45745 -637583432 -1.59085 -637616200 -3.69791 -637648968 -0.881328 -637583434 4.14641 -637616202 5.39055 -637648970 4.44524 -637583556 7.19789 -637616324 4.54838 -637649092 -3.02768 -637583558 -0.245642 -637616326 -4.86518 -637649094 1.53605 -637583560 -7.43886 -637616328 0.457181 -637649096 -0.74375 -637583562 -5.58049 -637616330 2.84642 -637649098 2.09959 -637583684 -1.58854 -637616452 9.20286 -637649220 1.02884 -637583686 0.722568 -637616454 -2.90618 -637649222 -5.38299 -637583688 2.96537 -637616456 1.64902 -637649224 3.33647 -637583690 -0.118509 -637616458 -8.43208 -637649226 -2.87851 -637583812 5.3231 -637616580 -7.19027 -637649348 -1.29059 -637583814 0.583078 -637616582 3.35781 -637649350 4.27675 -637583816 2.03829 -637616584 4.05944 -637649352 0.783966 -637583818 9.05561 -637616586 -10.6287 -637649354 -0.775539 -637583940 -1.17958 -637616708 6.8317 -637649476 -2.33933 -637583942 -1.40826 -637616710 -0.0233849 -637649478 3.50307 -637583944 5.12772 -637616712 -0.809561 -637649480 6.42092 -637583946 -7.45597 -637616714 -1.83291 -637649482 -4.79554 -637584068 -7.47267 -637616836 -2.60016 -637649604 3.14271 -637584070 4.29636 -637616838 -1.32213 -637649606 -0.0596502 -637584072 -5.04268 -637616840 4.41629 -637649608 8.13296 -637584074 -5.54222 -637616842 -7.60557 -637649610 2.46082 -637587524 -3.44266 -637620292 4.26491 -637653060 10.3782 -637587526 -1.8969 -637620294 -2.08028 -637653062 -0.483761 -637587528 0.482675 -637620296 -4.61901 -637653064 -0.730321 -637587530 2.33703 -637620298 3.67705 -637653066 6.24756 -637587652 9.85623 -637620420 -1.60951 -637653188 5.00972 -637587654 -1.53264 -637620422 7.10811 -637653190 12.1731 -637587656 3.89712 -637620424 -1.75103 -637653192 7.89877 -637587658 -5.14154 -637620426 -8.5663 -637653194 2.37674 -637587780 -0.661188 -637620548 1.02025 -637653316 -8.31347 -637587782 -0.343512 -637620550 -3.76709 -637653318 0.170582 -637587784 0.205904 -637620552 2.42727 -637653320 0.552751 -637587786 -6.32436 -637620554 -7.03301 -637653322 -4.80875 -637587908 5.46471 -637620676 1.11393 -637653444 6.6064 -637587910 5.64066 -637620678 1.014 -637653446 -2.35201 -637587912 -1.69866 -637620680 7.24257 -637653448 -6.32317 -637587914 -5.17034 -637620682 3.1259 -637653450 -6.30544 -637588036 0.61766 -637620804 -7.48051 -637653572 0.455599 -637588038 -0.351461 -637620806 3.53202 -637653574 -3.20235 -637588040 4.05828 -637620808 -9.66692 -637653576 7.41173 -637588042 5.09441 -637620810 -3.98497 -637653578 -1.16998 -637588164 1.73733 -637620932 -3.45249 -637653700 3.43009 -637588166 0.0165831 -637620934 8.51736 -637653702 2.98251 -637588168 -0.201005 -637620936 4.29028 -637653704 -2.06712 -637588170 4.89844 -637620938 8.04464 -637653706 8.80197 -637567085 10.9439 -637632621 -4.85257 -637567089 3.16693 -637632625 -7.18755 -637567093 -5.34454 -637632629 2.28676 -637567097 -1.03622 -637632633 -8.79231 -637567101 -3.25807 -637632637 -3.67395 -637567213 -5.05096 -637632749 -6.38775 -637567217 -7.81795 -637632753 -8.31542 -637567221 2.00943 -637632757 -0.267547 -637567225 -0.642453 -637632761 4.26405 -637567229 7.16563 -637632765 5.29686 -637567341 -1.39233 -637632877 -3.77469 -637567345 2.28371 -637632881 -1.03289 -637567349 3.74006 -637632885 -1.00025 -637567353 4.10139 -637632889 -1.14653 -637567357 -3.72207 -637632893 -0.696971 -637567469 -5.20967 -637633005 8.33159 -637567473 4.69662 -637633009 2.7744 -637567477 -6.35459 -637633013 2.31296 -637567481 -4.18405 -637633017 -8.00328 -637567485 3.01621 -637633021 -7.79327 -637567597 9.46288 -637633133 16.1628 -637567601 1.90471 -637633137 -3.72418 -637567605 13.1425 -637633141 -5.92364 -637567609 5.44195 -637633145 2.48264 -637567613 8.76035 -637633149 -1.52369 -637567725 4.8839 -637633261 5.5538 -637567729 -1.82259 -637633265 -1.87012 -637567733 9.41833 -637633269 2.09551 -637567737 -1.81504 -637633273 2.40416 -637567741 -5.82343 -637633277 3.40344 -637567853 -0.605268 -637633389 -9.52387 -637567857 -10.165 -637633393 -9.38622 -637567861 -4.00616 -637633397 -2.17357 -637567865 -0.835445 -637633401 3.13114 -637567869 7.77424 -637633405 6.05917 -637567981 1.78746 -637633517 3.05524 -637567985 -6.41495 -637633521 -7.24695 -637567989 -4.80658 -637633525 4.40116 -637567993 -4.3298 -637633529 -0.904969 -637567997 -1.04535 -637633533 -2.39584 -637568109 1.80052 -637633645 1.23029 -637568113 4.6312 -637633649 3.91214 -637568117 5.24665 -637633653 -2.74272 -637568121 0.36085 -637633657 5.10848 -637568125 -2.47278 -637633661 -2.20196 -637568237 6.82792 -637633773 2.04754 -637568241 1.71844 -637633777 -4.0589 -637568245 4.60622 -637633781 0.281126 -637568249 -8.81348 -637633785 10.475 -637568253 -0.00163626 -637633789 3.5289 -637568365 2.72638 -637633901 4.97607 -637568369 7.52884 -637633905 -3.51544 -637568373 0.707639 -637633909 0.949534 -637568377 -5.80981 -637633913 3.75482 -637568381 -0.555195 -637633917 7.05815 -637568493 -2.20433 -637634029 -10.6383 -637568497 1.29303 -637634033 1.47295 -637568501 1.27062 -637634037 5.1098 -637568505 -4.91862 -637634041 -3.84983 -637568509 0.798554 -637634045 -0.57096 -637571181 4.79221 -637636717 4.18888 -637571185 -2.43518 -637636721 7.54256 -637571189 1.94476 -637636725 -7.44005 -637571193 -1.95883 -637636729 -2.15249 -637571197 -4.60316 -637636733 9.81809 -637571309 1.36933 -637636845 4.80106 -637571313 6.21126 -637636849 8.55153 -637571317 11.0722 -637636853 -1.95764 -637571321 -2.50082 -637636857 1.1757 -637571325 2.60303 -637636861 1.64552 -637571437 -4.82029 -637636973 7.0917 -637571441 3.1754 -637636977 -4.37514 -637571445 0.604749 -637636981 -11.1681 -637571449 -6.18296 -637636985 2.5366 -637571453 1.00519 -637636989 0.503773 -637571565 8.43662 -637637101 2.91062 -637571569 1.95163 -637637105 0.431577 -637571573 -0.897824 -637637109 -2.57969 -637571577 -6.65637 -637637113 -1.78498 -637571581 -10.0546 -637637117 -0.0460516 -637571693 4.8107 -637637229 -5.62636 -637571697 -5.30239 -637637233 -3.17359 -637571701 0.324077 -637637237 0.752312 -637571705 3.8515 -637637241 -2.05431 -637571709 3.09462 -637637245 8.16815 -637571821 -4.27642 -637637357 -1.59691 -637571825 -9.33393 -637637361 9.17965 -637571829 11.069 -637637365 1.75163 -637571833 -1.99258 -637637369 4.91932 -637571837 -8.4639 -637637373 5.37045 -637571949 2.51284 -637637485 0.80714 -637571953 0.390914 -637637489 -1.94886 -637571957 -11.4699 -637637493 2.15421 -637571961 8.43792 -637637497 8.90405 -637571965 -3.36245 -637637501 -0.687769 -637572077 -7.88435 -637637613 4.53539 -637572081 -2.66111 -637637617 7.31574 -637572085 -3.61703 -637637621 2.19413 -637572089 -1.361 -637637625 5.47526 -637572093 -7.60882 -637637629 -1.89811 -637572333 0.146311 -637637869 -0.163403 -637572337 8.0623 -637637873 0.396415 -637572341 -4.14593 -637637877 1.25117 -637572345 -3.60442 -637637881 -2.08299 -637572349 2.79398 -637637885 -5.92851 -637572589 4.59003 -637638125 -6.27569 -637572593 -5.15753 -637638129 -5.0917 -637572597 2.3198 -637638133 11.8918 -637572601 4.03088 -637638137 3.76169 -637572605 1.23695 -637638141 -6.50976 -637575661 -14.0394 -637641197 2.31152 -637575665 6.12977 -637641201 -3.89852 -637575669 4.15378 -637641205 0.882231 -637575673 -5.60964 -637641209 -2.119 -637575677 7.5783 -637641213 -0.242101 -637579757 -1.41596 -637645293 -1.05882 -637579761 4.59742 -637645297 0.523507 -637579765 5.48184 -637645301 -1.41796 -637579769 -2.53847 -637645305 -2.44634 -637579773 -1.85998 -637645309 -5.42834 -574914560 1.4816 -575176704 1.15087 -575438848 1.19551 -575700992 0.965557 -575963136 0.223023 -576225280 -1.02309 -576487424 1.58335 -576749568 0.0435336 -577011712 -0.585078 -577273856 0.37937 -577536000 0.501323 -577798144 1.59442 -579108864 0.04829 -579371008 2.24735 -579633152 1.21881 -579895296 2.29907 -580157440 0.585826 -580419584 -0.371138 -580681728 -0.784067 -580943872 -0.780065 -581206016 0.900997 -581468160 1.63037 -581730304 1.91388 -581992448 -0.680433 -583303168 0.478206 -583565312 -0.729319 -583827456 0.506768 -584089600 0.835964 -584351744 0.533669 -584613888 1.52413 -584876032 0.783291 -585138176 1.37809 -585400320 1.63119 -585662464 2.97563 -585924608 2.33858 -586186752 -0.583533 -587497472 0.734584 -587759616 -0.183901 -588021760 1.32067 -588283904 0.38393 -590643200 0.025526 -588546048 0.628978 -588808192 0.655558 -589070336 -0.358367 -589332480 0.405967 -589594624 1.245 -589856768 0.000832399 -590905344 1.2446 -590118912 -0.837512 -590381056 -1.01581 -574947328 0.77815 -575209472 3.02376 -575471616 -0.382007 -575733760 0.113068 -575995904 1.07598 -576258048 0.0902802 -576520192 1.0383 -576782336 1.47143 -577044480 1.62586 -577306624 0.858101 -577568768 -0.277764 -577830912 -0.936056 -579141632 -1.44164 -579403776 0.515206 -579665920 0.796663 -579928064 0.712763 -580190208 0.902406 -580452352 -1.11337 -580714496 1.67182 -580976640 -1.75267 -581238784 0.404312 -581500928 -0.458022 -581763072 0.8757 -582025216 0.627996 -583335936 0.174612 -583598080 0.155462 -583860224 0.347457 -584122368 0.727693 -584384512 -1.21808 -584646656 0.881855 -584908800 -1.57624 -585170944 1.23444 -585433088 1.18804 -585695232 -0.900637 -585957376 -0.850452 -586219520 0.85038 -587530240 0.402755 -587792384 1.15312 -588054528 -0.593254 -588316672 -1.30475 -590675968 -0.599093 -588578816 -1.81122 -588840960 0.804804 -589103104 1.30828 -589365248 1.83105 -589627392 1.0785 -589889536 1.83589 -590938112 1.15603 -590151680 1.73046 -590413824 -1.26972 -574980096 0.352297 -576028672 0.116715 -577077248 1.36887 -575242240 0.482301 -576290816 0.504571 -577339392 2.04972 -575504384 0.925508 -576552960 0.828655 -577601536 -0.935985 -575766528 -0.186126 -576815104 1.15827 -577863680 0.7047 -579174400 0.444614 -580222976 1.0881 -581271552 1.06957 -579436544 0.960754 -580485120 0.857428 -581533696 1.2123 -579698688 0.388513 -580747264 0.137898 -581795840 -0.583071 -579960832 1.11219 -581009408 1.31436 -582057984 0.509476 -583368704 1.1675 -584417280 0.490363 -585465856 -1.05861 -583630848 -0.768873 -584679424 0.181837 -585728000 -0.0141009 -583892992 2.16157 -584941568 1.49475 -585990144 2.4093 -584155136 -0.891009 -585203712 -1.04179 -586252288 -0.568035 -587563008 -0.341604 -587825152 1.83629 -588087296 1.81688 -588349440 0.825708 -590708736 1.43302 -588611584 0.0464914 -588873728 0.175284 -589135872 0.407462 -589398016 0.325634 -589660160 1.1291 -589922304 0.606164 -590970880 0.838954 -590184448 0.58415 -590446592 -1.15643 -575012864 0.357422 -575275008 0.987336 -575537152 0.776167 -575799296 2.16154 -576061440 0.601252 -576323584 -0.0025591 -576585728 -0.0711347 -576847872 0.250211 -577110016 -0.282646 -577372160 0.391809 -577634304 0.743716 -577896448 0.274828 -579207168 -1.1328 -579469312 2.31447 -579731456 2.02462 -579993600 1.30062 -580255744 0.456765 -580517888 0.124148 -580780032 0.803798 -581042176 -0.287346 -581304320 0.949558 -581566464 0.67316 -581828608 1.10189 -582090752 1.28785 -583401472 2.20478 -583663616 -0.22223 -583925760 -1.20568 -584187904 0.0149705 -584450048 0.793184 -584712192 -0.147296 -584974336 0.757433 -585236480 1.53418 -585498624 -0.102433 -585760768 1.63918 -586022912 0.388957 -586285056 0.109066 -587595776 1.57753 -587857920 1.49463 -588120064 1.81493 -588382208 -0.833509 -590741504 -0.656034 -588644352 -0.570791 -588906496 0.396371 -589168640 0.175378 -589430784 0.128522 -589692928 0.514887 -589955072 0.247087 -591003648 2.001 -590217216 1.54964 -590479360 1.90081 -575045632 -1.03644 -575307776 -1.21489 -575569920 -0.020565 -575832064 1.83937 -576094208 -0.0764598 -576356352 0.788257 -576618496 0.731987 -576880640 -1.03018 -577142784 2.75401 -577404928 0.560813 -577667072 1.23473 -577929216 0.694355 -579239936 -0.851857 -579502080 1.01199 -579764224 0.800888 -580026368 0.0867209 -580288512 2.10413 -580550656 1.605 -580812800 1.65063 -581074944 2.96054 -581337088 1.52459 -581599232 -0.386601 -581861376 0.279763 -582123520 1.16737 -583434240 -0.233972 -583696384 1.79449 -583958528 1.66452 -584220672 -0.813391 -584482816 0.773123 -584744960 0.115383 -585007104 1.12577 -585269248 1.3905 -585531392 0.0127318 -585793536 0.727783 -586055680 0.543869 -586317824 0.643478 -587628544 -0.89577 -587890688 0.0989628 -588152832 2.05043 -588414976 0.203489 -590774272 1.32207 -588677120 1.45415 -588939264 0.57996 -589201408 0.382282 -589463552 2.67474 -589725696 0.244932 -589987840 -0.438003 -591036416 -1.41455 -590249984 1.40473 -590512128 2.35476 -604017672 -0.747412 -604017744 2.11434 -604017752 -0.367206 -604017760 -0.741788 -604017768 0.816503 -604017776 0.257917 -604017784 -1.61957 -604017792 0.492985 -604017800 -1.65446 -604017808 0.881928 -604017816 1.83025 -604017680 -0.622634 -604017824 1.84239 -604017832 -0.00210472 -604017840 -0.144927 -604017848 -1.27232 -604017856 -0.574888 -604017864 -1.58616 -604017872 -0.315006 -604017880 1.64256 -604017888 -0.15866 -604017896 -0.35138 -604017688 -1.27106 -604017904 0.0804429 -604017912 -0.398203 -604017920 1.03885 -604017928 1.85043 -604017936 0.297691 -604017944 -0.651275 -604017952 1.0453 -604017696 2.31682 -604017704 0.525299 -604017712 1.25912 -604017720 0.1758 -604017728 -0.809983 -604017736 0.422992 -604018184 2.13154 -604018256 -0.160399 -604018264 -0.547289 -604018272 0.155706 -604018280 -0.839041 -604018288 -0.440843 -604018296 -1.87033 -604018304 0.235274 -604018312 0.30939 -604018320 -0.137865 -604018328 0.205751 -604018192 0.612084 -604018336 -0.289135 -604018344 0.238289 -604018352 0.13601 -604018360 1.20405 -604018368 1.49587 -604018376 -0.445203 -604018384 0.49562 -604018392 0.901932 -604018400 0.0127786 -604018408 0.3465 -604018200 1.48825 -604018416 1.81686 -604018424 -0.324473 -604018432 -1.76123 -604018440 2.28903 -604018448 0.113197 -604018456 -0.305627 -604018464 -0.0742065 -604018208 0.0856636 -604018216 -0.824123 -604018224 -1.79446 -604018232 0.240421 -604018240 -0.392399 -604018248 -0.538427 -604018696 0.244599 -604018768 -0.58461 -604018776 -1.30745 -604018784 0.937849 -604018792 0.219265 -604018800 -0.503902 -604018808 0.587169 -604018816 -0.648749 -604018824 -0.900399 -604018832 0.712949 -604018840 1.22379 -604018704 0.245697 -604018848 -0.0821123 -604018856 0.581357 -604018864 -1.58309 -604018872 -0.469881 -604018880 -1.31963 -604018888 1.29364 -604018896 -0.308163 -604018904 1.83054 -604018912 1.11253 -604018920 0.857127 -604018712 0.539802 -604018928 -0.491196 -604018936 0.739698 -604018944 0.333891 -604018952 -0.290787 -604018960 -1.41559 -604018968 -0.476439 -604018976 1.92291 -604018720 0.067465 -604018728 0.390015 -604018736 -1.01674 -604018744 1.75671 -604018752 -0.217459 -604018760 -0.827597 -604021256 1.08337 -604021328 -0.048234 -604021336 -1.82011 -604021344 2.16225 -604021352 0.275204 -604021360 1.34354 -604021368 -0.24149 -604021376 -0.035944 -604021384 0.189351 -604021392 -1.45376 -604021264 0.295136 -604021272 -0.664037 -604021280 0.43865 -604021288 -0.00902675 -604021296 -0.251902 -604021304 -0.322987 -604021312 -0.638415 -604021320 1.88503 -604021768 -0.439065 -604021840 0.180166 -604021848 -1.66991 -604021856 -0.931346 -604021864 -1.42266 -604021872 0.503882 -604021880 -0.934735 -604021888 -0.425118 -604021896 0.849743 -604021904 -0.674678 -604021912 -1.78805 -604021776 -0.198858 -604021920 -0.213637 -604021928 1.67056 -604021936 2.12001 -604021944 0.303654 -604021952 0.739858 -604021960 2.07508 -604021968 0.612264 -604021976 -1.25785 -604021984 1.29412 -604021992 0.535546 -604021784 -0.482285 -604022000 -2.05821 -604022008 -2.98202 -604022016 0.200096 -604022024 0.165692 -604022032 -1.22116 -604022040 -1.09853 -604022048 -1.15976 -604021792 -0.917646 -604021800 -0.364079 -604021808 -1.05961 -604021816 -0.302541 -604021824 -1.47541 -604021832 -0.596911 -604025352 0.377606 -604025424 -0.609038 -604025432 -1.94591 -604025440 1.44146 -604025448 -0.0122539 -604025456 0.130664 -604025464 -0.644908 -604025472 0.448587 -604025480 0.495391 -604025488 0.144433 -604025360 -0.435815 -604025368 0.373845 -604025376 0.264609 -604025384 0.602992 -604025392 1.68767 -604025400 -0.00991631 -604025408 -0.102934 -604025416 -0.466201 -604025864 1.24191 -604025936 -1.18427 -604025944 -0.99246 -604025952 -1.66524 -604025960 -0.994203 -604025968 2.0694 -604025976 2.45587 -604025984 -1.47658 -604025992 0.0552066 -604026000 0.248039 -604026008 0.841863 -604025872 0.654142 -604026016 -1.8237 -604026024 0.141449 -604026032 0.148777 -604026040 -0.980293 -604026048 -0.303472 -604026056 -0.0786655 -604026064 -1.88778 -604026072 -0.170068 -604026080 -0.446993 -604026088 -1.16093 -604025880 -0.599332 -604026096 0.57865 -604026104 -0.359656 -604026112 0.88545 -604026120 0.372144 -604026128 -0.424142 -604026136 0.287629 -604026144 -0.935984 -604025888 0.11699 -604025896 -0.0521623 -604025904 -0.901195 -604025912 0.910813 -604025920 1.79955 -604025928 0.254747 -604029448 -1.15146 -604029520 -0.24039 -604029528 -0.189052 -604029536 1.02941 -604029544 -0.285932 -604029552 0.849706 -604029560 1.00424 -604029568 0.408177 -604029576 -1.1069 -604029584 0.165629 -604029456 1.95291 -604029464 -1.71136 -604029472 0.27577 -604029480 1.22009 -604029488 0.356263 -604029496 2.18166 -604029504 1.91645 -604029512 -1.00778 -604029960 0.964629 -604030032 -0.000220725 -604030040 1.53195 -604030048 0.319498 -604030056 1.1741 -604030064 -0.948035 -604030072 -0.32346 -604030080 0.00715619 -604030088 1.72774 -604030096 0.948863 -604030104 -0.658851 -604029968 -0.929223 -604030112 -0.73252 -604030120 0.796749 -604030128 1.31719 -604030136 0.381213 -604030144 1.92842 -604030152 -0.578217 -604030160 0.263609 -604030168 1.95976 -604030176 -1.37759 -604030184 -0.926582 -604029976 -1.09994 -604030192 -0.477964 -604030200 -0.339108 -604030208 0.678254 -604030216 -0.454256 -604030224 1.03971 -604030232 1.61455 -604030240 -0.498027 -604029984 -0.522683 -604029992 0.383873 -604030000 -0.861039 -604030008 -1.70948 -604030016 0.853293 -604030024 -0.237771 -604050440 -0.521464 -604050512 -0.488043 -604050520 0.137355 -604050528 0.0461277 -604050536 -0.38112 -604050544 -0.668602 -604050552 -2.39012 -604050560 -2.86945 -604050568 -1.15822 -604050576 0.0289681 -604050584 -0.150598 -604050448 -0.0466519 -604050592 0.651795 -604050600 -0.665237 -604050608 0.945631 -604050616 0.743595 -604050624 -0.106427 -604050632 -0.390106 -604050640 0.193084 -604050648 0.679766 -604050656 0.924132 -604050664 1.47249 -604050456 -0.231041 -604050672 -1.76336 -604050680 0.0530994 -604050688 -0.673563 -604050696 0.183783 -604050704 -0.542686 -604050712 0.831796 -604050720 1.98085 -604050464 -0.471567 -604050472 -0.956991 -604050480 -1.00802 -604050488 -0.147604 -604050496 0.219663 -604050504 1.52349 -604050952 -0.162731 -604051024 0.155692 -604051032 1.09008 -604051040 -1.19086 -604051048 -0.397087 -604051056 1.41474 -604051064 -1.06385 -604051072 0.947344 -604051080 0.851732 -604051088 0.748917 -604051096 1.45315 -604050960 3.16297 -604051104 -0.338165 -604051112 -1.2001 -604051120 -0.0844665 -604051128 0.877521 -604051136 1.55967 -604051144 -1.72922 -604051152 0.335576 -604051160 -0.162815 -604051168 -0.125093 -604051176 -0.60045 -604050968 0.214323 -604051184 -1.36512 -604051192 0.150283 -604051200 0.268566 -604051208 0.341079 -604051216 -0.743962 -604051224 0.417663 -604051232 0.944757 -604050976 0.0205936 -604050984 -1.08243 -604050992 -0.183656 -604051000 0.427201 -604051008 -0.0786786 -604051016 -1.37655 -604051464 1.80345 -604051536 0.613426 -604051544 0.021484 -604051552 -0.225418 -604051560 0.304345 -604051568 1.89221 -604051576 1.5109 -604051584 0.998976 -604051592 1.11096 -604051600 -0.717739 -604051608 0.675623 -604051472 -0.119593 -604051616 0.0156988 -604051624 1.06334 -604051632 -0.202636 -604051640 -0.268824 -604051648 0.803301 -604051656 1.40557 -604051664 -0.658838 -604051672 -0.615191 -604051680 -1.21345 -604051688 0.129743 -604051480 -0.842927 -604051696 2.10897 -604051704 0.944944 -604051712 0.658792 -604051720 -0.944244 -604051728 0.225104 -604051736 0.676393 -604051744 -1.61431 -604051488 0.275854 -604051496 1.04106 -604051504 2.03363 -604051512 0.247035 -604051520 1.89062 -604051528 -0.0368116 -604054024 -1.47248 -604054096 -0.536961 -604054104 0.647325 -604054112 0.198795 -604054120 0.0711933 -604054128 -1.07379 -604054136 0.161752 -604054144 0.0852185 -604054152 0.518203 -604054160 -1.5295 -604054032 -0.644401 -604054040 0.311726 -604054048 -1.29373 -604054056 -0.559863 -604054064 0.696683 -604054072 0.451588 -604054080 0.703991 -604054088 -0.768621 -604054536 0.460462 -604054608 0.34539 -604054616 0.663968 -604054624 -0.613825 -604054632 1.24186 -604054640 0.675246 -604054648 1.37945 -604054656 0.892173 -604054664 0.158644 -604054672 0.157965 -604054680 0.0823201 -604054544 0.497764 -604054688 -0.192224 -604054696 -1.08168 -604054704 1.16042 -604054712 1.34181 -604054720 -0.32399 -604054728 0.579327 -604054736 -0.57278 -604054744 -1.83309 -604054752 -0.0197497 -604054760 3.19371 -604054552 0.122734 -604054768 1.84478 -604054776 -0.385666 -604054784 1.07261 -604054792 -0.397012 -604054800 -1.4666 -604054808 -0.517326 -604054816 -0.0179102 -604054560 -0.0423333 -604054568 -0.312391 -604054576 0.27353 -604054584 0.41307 -604054592 1.42923 -604054600 0.654553 -604058120 0.352229 -604058192 -1.74424 -604058200 -0.344782 -604058208 -1.78398 -604058216 -2.44587 -604058224 1.71197 -604058232 -0.968967 -604058240 -0.903038 -604058248 -0.539815 -604058256 -0.21737 -604058128 0.266333 -604058136 0.309896 -604058144 1.04117 -604058152 -0.44394 -604058160 -0.703057 -604058168 1.02004 -604058176 -1.06699 -604058184 1.60189 -604058632 0.702471 -604058704 -0.565101 -604058712 0.905924 -604058720 1.68986 -604058728 -1.10964 -604058736 1.09278 -604058744 -0.831218 -604058752 -2.30393 -604058760 -0.980352 -604058768 0.937099 -604058776 -0.0112871 -604058640 0.160891 -604058784 -0.21495 -604058792 0.0965705 -604058800 0.753165 -604058808 -0.463806 -604058816 0.0348022 -604058824 -0.542185 -604058832 -0.628563 -604058840 1.37116 -604058848 -0.495301 -604058856 -0.356918 -604058648 0.885219 -604058864 0.569657 -604058872 1.66248 -604058880 -0.847595 -604058888 2.46648 -604058896 -0.0836056 -604058904 0.581149 -604058912 -1.66792 -604058656 -0.0952022 -604058664 -0.26986 -604058672 0.353998 -604058680 -1.10148 -604058688 0.298206 -604058696 -0.684225 -604062216 1.13987 -604062288 -0.670674 -604062296 1.61364 -604062304 -0.898036 -604062312 0.104853 -604062320 1.13573 -604062328 -0.186924 -604062336 1.51388 -604062344 -0.836594 -604062352 -0.544603 -604062224 -0.978412 -604062232 -0.513883 -604062240 -1.16332 -604062248 -0.117236 -604062256 -0.672903 -604062264 0.0198159 -604062272 1.90088 -604062280 0.170261 -604062728 -1.56735 -604062800 0.561224 -604062808 -0.221612 -604062816 0.461516 -604062824 -0.0539649 -604062832 -0.236176 -604062840 1.37834 -604062848 -1.65948 -604062856 0.947621 -604062864 -1.29676 -604062872 -0.678323 -604062736 1.55504 -604062880 0.634817 -604062888 -0.30638 -604062896 1.24868 -604062904 -1.94895 -604062912 -1.79885 -604062920 0.812137 -604062928 0.00813503 -604062936 0.384534 -604062944 -0.0726509 -604062952 2.83231 -604062744 -0.172606 -604062960 2.84618 -604062968 -0.250267 -604062976 -2.22286 -604062984 -0.844648 -604062992 2.3677 -604063000 -2.02831 -604063008 -0.731793 -604062752 -0.826737 -604062760 -0.460668 -604062768 0.549934 -604062776 -0.0616808 -604062784 0.249816 -604062792 -0.440363 diff --git a/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2012.txt b/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2012.txt deleted file mode 100644 index a6fc4e8f17532..0000000000000 --- a/SUSYBSMAnalysis/HSCP/data/MuonTimeShift_2012.txt +++ /dev/null @@ -1,3106 +0,0 @@ -637566980 -0.72904 -637599748 0.751866 -637632516 -3.08868 -637566982 2.89678 -637599750 3.78131 -637632518 -3.31001 -637566984 -15.8326 -637599752 5.06673 -637632520 0.477014 -637566986 -5.98424 -637599754 2.01664 -637632522 -5.37623 -637566989 5.22446 -637632525 2.10916 -637566993 -4.99516 -637632529 -1.0636 -637566997 5.94255 -637632533 -3.5434 -637567001 -7.88919 -637632537 4.53428 -637567005 0.483349 -637632541 0.953273 -637567108 2.04407 -637599876 -1.50133 -637632644 6.86335 -637567110 -1.49482 -637599878 -5.22636 -637632646 9.36564 -637567112 3.80643 -637599880 4.73382 -637632648 11.3872 -637567114 5.03791 -637599882 4.28121 -637632650 5.27042 -637567117 4.08935 -637632653 -0.598757 -637567121 4.85885 -637632657 -5.99767 -637567125 8.22207 -637632661 -4.11636 -637567129 -3.59051 -637632665 0.510182 -637567133 2.96879 -637632669 3.91209 -637567236 5.13482 -637600004 6.27191 -637632772 1.68296 -637567238 2.65263 -637600006 1.20065 -637632774 -7.74463 -637567240 1.32103 -637600008 -6.36303 -637632776 1.73196 -637567242 -5.74862 -637600010 3.54251 -637632778 -2.37959 -637567245 -1.10433 -637632781 1.77243 -637567249 0.277401 -637632785 3.13192 -637567253 3.1739 -637632789 -0.162673 -637567257 0.474856 -637632793 -6.61568 -637567261 9.89509 -637632797 -4.01276 -637567364 -10.075 -637600132 -3.88336 -637632900 -6.02672 -637567366 -4.94478 -637600134 9.7624 -637632902 4.127 -637567368 9.39407 -637600136 -4.82866 -637632904 -8.27168 -637567370 0.0875797 -637600138 -3.50607 -637632906 -1.75826 -637567373 -0.752504 -637632909 -0.315173 -637567377 -7.18394 -637632913 0.246236 -637567381 6.35358 -637632917 -1.90547 -637567385 0.127157 -637632921 1.62335 -637567389 1.645 -637632925 8.28623 -637567492 0.888103 -637600260 -3.18296 -637633028 -7.74467 -637567494 4.60932 -637600262 2.20155 -637633030 0.270889 -637567496 -7.35084 -637600264 -12.5755 -637633032 6.3988 -637567498 1.66043 -637600266 -0.439591 -637633034 3.37895 -637567501 3.69627 -637633037 1.11327 -637567505 -4.98262 -637633041 -0.0748442 -637567509 -3.1435 -637633045 2.90777 -637567513 0.574352 -637633049 1.30413 -637567517 -5.01319 -637633053 -1.4189 -637567620 -4.7586 -637600388 3.93486 -637633156 -4.29063 -637567622 1.53539 -637600390 1.42506 -637633158 -1.01274 -637567624 -2.07096 -637600392 1.72401 -637633160 -4.41233 -637567626 -4.17218 -637600394 -2.06992 -637633162 -6.02457 -637567629 9.04005 -637633165 2.01198 -637567633 -5.10246 -637633169 -3.54648 -637567637 -1.64826 -637633173 6.04635 -637567641 -14.1566 -637633177 7.28019 -637567645 2.35225 -637633181 8.40755 -637567757 -0.162262 -637633293 5.89336 -637567761 7.26657 -637633297 -0.183835 -637567765 -10.1971 -637633301 -4.65111 -637567769 2.61031 -637633305 -5.91618 -637567773 -9.63492 -637633309 -10.9307 -637567885 4.36425 -637633421 2.53054 -637567889 5.59482 -637633425 9.0323 -637567893 6.26689 -637633429 0.569368 -637567897 2.34297 -637633433 -3.2902 -637567901 3.27669 -637633437 2.42819 -637568013 -2.96477 -637633549 3.00492 -637568017 3.80757 -637633553 -9.8236 -637568021 -5.52715 -637633557 -1.72392 -637568025 7.13483 -637633561 -3.74342 -637568029 2.21271 -637633565 -0.157651 -637568141 -0.519458 -637633677 8.24951 -637568145 -6.3418 -637633681 3.90107 -637568149 3.26799 -637633685 -4.74868 -637568153 1.5872 -637633689 -1.23906 -637568157 -0.116056 -637633693 -2.11704 -637568269 2.24782 -637633805 -2.16358 -637568273 -1.2751 -637633809 -0.00902959 -637568277 -0.335068 -637633813 -0.253205 -637568281 -0.446458 -637633817 4.89864 -637568285 -1.96374 -637633821 -2.14506 -637568397 -2.83293 -637633933 -2.42395 -637568401 9.0715 -637633937 -2.68388 -637568405 6.49865 -637633941 1.89858 -637568409 -3.97368 -637633945 -12.3506 -637568413 -6.2196 -637633949 -1.89172 -637571076 -1.1403 -637603844 1.10725 -637636612 1.79909 -637571078 -2.95447 -637603846 2.73138 -637636614 7.51953 -637571080 2.21849 -637603848 1.1269 -637636616 -0.794894 -637571082 1.34806 -637603850 -7.83788 -637636618 -14.6231 -637571204 -4.31522 -637603972 -3.97552 -637636740 8.32983 -637571206 2.24756 -637603974 -7.33292 -637636742 1.77927 -637571208 -6.94482 -637603976 -3.76161 -637636744 2.29647 -637571210 -1.35038 -637603978 -3.09041 -637636746 -6.0239 -637571332 -1.47936 -637604100 3.86798 -637636868 -3.45065 -637571334 2.52322 -637604102 -9.82199 -637636870 -3.24489 -637571336 1.7548 -637604104 3.91071 -637636872 -3.6422 -637571338 -3.05672 -637604106 -1.25212 -637636874 -2.44514 -637571460 7.56308 -637604228 -1.99347 -637636996 -1.40534 -637571462 -2.26608 -637604230 -3.0403 -637636998 -6.27645 -637571464 -7.93763 -637604232 -3.35107 -637637000 6.38266 -637571466 -3.4678 -637604234 1.02615 -637637002 8.01518 -637571588 -1.58823 -637604356 0.42667 -637637124 0.475554 -637571590 -2.37306 -637604358 -2.27987 -637637126 -0.393371 -637571592 5.43566 -637604360 -7.35797 -637637128 6.64206 -637571594 -7.3253 -637604362 -4.32862 -637637130 1.73354 -637571716 2.26637 -637604484 -3.7601 -637637252 3.42311 -637571718 3.91246 -637604486 1.23032 -637637254 9.33363 -637571720 -2.756 -637604488 2.43358 -637637256 -6.61973 -637571722 -7.38155 -637604490 -0.956365 -637637258 3.71786 -637575172 -6.44996 -637607940 -1.20885 -637640708 -5.05424 -637575174 -4.92963 -637607942 9.59817 -637640710 1.31057 -637575176 -1.96524 -637607944 0.213422 -637640712 -6.44962 -637575178 -0.261123 -637607946 5.31333 -637640714 6.00186 -637575300 -0.27433 -637608068 -6.71869 -637640836 1.46295 -637575302 -4.88039 -637608070 -0.904205 -637640838 -6.42695 -637575304 -3.53801 -637608072 -2.0487 -637640840 3.53903 -637575306 -1.77283 -637608074 -2.65845 -637640842 -7.43632 -637575428 -5.28034 -637608196 -1.72725 -637640964 -10.7984 -637575430 -5.94576 -637608198 -1.35529 -637640966 -7.14031 -637575432 1.37921 -637608200 3.29785 -637640968 -4.96603 -637575434 0.549718 -637608202 -4.36056 -637640970 -0.383644 -637575556 8.44028 -637608324 3.89826 -637641092 -2.09576 -637575558 0.311075 -637608326 -4.7998 -637641094 4.23887 -637575560 -8.33249 -637608328 -0.665461 -637641096 3.74078 -637575562 0.720088 -637608330 -3.20972 -637641098 1.43231 -637575684 -6.28414 -637608452 -6.77141 -637641220 2.96281 -637575686 -3.61501 -637608454 5.17801 -637641222 1.2803 -637575688 5.1884 -637608456 -4.0897 -637641224 4.69159 -637575690 -4.06526 -637608458 0.902667 -637641226 0.979644 -637575812 -7.59543 -637608580 1.62717 -637641348 7.28276 -637575814 -8.48488 -637608582 0.863181 -637641350 5.78599 -637575816 -5.80811 -637608584 8.10835 -637641352 2.63874 -637575818 -3.61333 -637608586 7.73547 -637641354 0.232484 -637579268 0.569195 -637612036 -4.90085 -637644804 3.65987 -637579270 5.09842 -637612038 -1.93183 -637644806 0.14191 -637579272 5.26351 -637612040 -5.10495 -637644808 -8.13555 -637579274 5.27278 -637612042 3.61299 -637644810 -4.11142 -637579396 7.17666 -637612164 1.44256 -637644932 8.03853 -637579398 0.298864 -637612166 0.98907 -637644934 2.06653 -637579400 -0.293733 -637612168 1.06669 -637644936 5.94621 -637579402 -1.26871 -637612170 -0.147406 -637644938 4.23018 -637579524 -2.65906 -637612292 -9.30993 -637645060 0.665584 -637579526 -1.85425 -637612294 -1.01349 -637645062 5.55966 -637579528 -4.07636 -637612296 -1.79928 -637645064 0.31843 -637579530 -5.79589 -637612298 -4.25568 -637645066 -10.2703 -637579652 2.99474 -637612420 -9.01838 -637645188 4.07151 -637579654 -4.5159 -637612422 4.61227 -637645190 -8.29405 -637579656 -8.11729 -637612424 -1.88953 -637645192 -3.65522 -637579658 -3.3923 -637612426 -9.26397 -637645194 4.6759 -637579780 0.091992 -637612548 0.9064 -637645316 -6.88438 -637579782 -2.75032 -637612550 0.770629 -637645318 -9.32864 -637579784 -4.94746 -637612552 -3.59396 -637645320 1.77031 -637579786 4.58101 -637612554 -2.17755 -637645322 6.64259 -637579908 5.15406 -637612676 -5.51375 -637645444 0.331484 -637579910 2.17587 -637612678 -5.48093 -637645446 0.22376 -637579912 -6.54346 -637612680 -1.33904 -637645448 1.51448 -637579914 2.47997 -637612682 -1.21564 -637645450 2.84633 -637583364 3.68446 -637616132 -7.30981 -637648900 0.402138 -637583366 -4.42081 -637616134 -2.84272 -637648902 8.69199 -637583368 4.14291 -637616136 1.38079 -637648904 7.70392 -637583370 4.8566 -637616138 -1.78812 -637648906 -1.15877 -637583492 -5.37246 -637616260 -0.771772 -637649028 -4.94066 -637583494 -10.3845 -637616262 -8.13605 -637649030 3.24537 -637583496 -2.24693 -637616264 -6.82091 -637649032 2.91274 -637583498 -5.06041 -637616266 7.67864 -637649034 -0.85826 -637583620 -2.90283 -637616388 -2.9151 -637649156 1.59051 -637583622 8.25519 -637616390 2.87458 -637649158 10.3058 -637583624 6.82977 -637616392 0.85649 -637649160 -0.743223 -637583626 -4.49738 -637616394 2.45605 -637649162 -3.19992 -637583748 8.71302 -637616516 1.93661 -637649284 -3.79376 -637583750 1.02592 -637616518 -2.6989 -637649286 2.54811 -637583752 3.12185 -637616520 -2.83249 -637649288 0.192204 -637583754 3.77457 -637616522 -1.64707 -637649290 1.75674 -637583876 -10.9175 -637616644 4.36412 -637649412 2.0103 -637583878 -2.76017 -637616646 4.76139 -637649414 8.07058 -637583880 -3.94541 -637616648 -1.98936 -637649416 1.23948 -637583882 1.66803 -637616650 11.1426 -637649418 4.08484 -637584004 2.28888 -637616772 -4.64293 -637649540 0.929976 -637584006 -6.77718 -637616774 -4.45051 -637649542 -2.45356 -637584008 3.10382 -637616776 1.15958 -637649544 0.0943293 -637584010 5.46527 -637616778 1.96134 -637649546 1.79322 -637587460 1.99159 -637620228 -4.00072 -637652996 -6.55014 -637587462 0.995674 -637620230 4.51038 -637652998 1.58901 -637587464 -2.78352 -637620232 -5.45285 -637653000 0.682835 -637587466 2.09425 -637620234 1.48181 -637653002 -3.51212 -637587588 -0.807239 -637620356 9.07348 -637653124 1.54956 -637587590 -4.6694 -637620358 2.54321 -637653126 0.760356 -637587592 -3.35021 -637620360 2.62115 -637653128 -2.04636 -637587594 -10.7557 -637620362 -9.4455 -637653130 -2.26602 -637587716 -3.83944 -637620484 -0.793747 -637653252 -3.30084 -637587718 -4.82858 -637620486 -4.46214 -637653254 -4.93196 -637587720 2.00106 -637620488 -1.05603 -637653256 -8.87629 -637587722 -1.99606 -637620490 -1.96073 -637653258 -6.2873 -637587844 2.39366 -637620612 -4.97207 -637653380 -2.72868 -637587846 -5.38771 -637620614 -5.0886 -637653382 4.10134 -637587848 6.51855 -637620616 -5.33381 -637653384 5.53799 -637587850 2.80364 -637620618 -0.25999 -637653386 0.852222 -637587972 -12.3621 -637620740 -7.49168 -637653508 6.7002 -637587974 0.286073 -637620742 -2.5936 -637653510 1.56307 -637587976 2.10092 -637620744 -0.748628 -637653512 9.7275 -637587978 -6.79391 -637620746 4.5636 -637653514 7.86127 -637588100 -0.758834 -637620868 -3.73163 -637653636 4.64765 -637588102 -2.09962 -637620870 -9.04904 -637653638 7.07204 -637588104 4.56703 -637620872 2.15351 -637653640 3.33651 -637588106 6.47548 -637620874 8.27473 -637653642 6.189 -637569037 -1.57153 -637634573 -1.83134 -637569041 0.831521 -637634577 4.15181 -637569045 13.702 -637634581 -0.301515 -637569049 0.241494 -637634585 10.2057 -637569053 -5.43617 -637634589 -6.69702 -637569165 -9.55981 -637634701 3.06557 -637569169 9.24179 -637634705 -2.39182 -637569173 -5.31995 -637634709 -2.05278 -637569177 3.0307 -637634713 -2.57866 -637569181 1.65442 -637634717 3.12634 -637569293 -2.63839 -637634829 4.47379 -637569297 6.11131 -637634833 2.25463 -637569301 -2.94649 -637634837 -4.53569 -637569305 -0.0682986 -637634841 -1.51577 -637569309 -5.80034 -637634845 -5.62626 -637569421 7.38824 -637634957 -7.50631 -637569425 -7.77705 -637634961 3.03765 -637569429 -4.56815 -637634965 -2.51997 -637569433 2.91934 -637634969 8.02036 -637569437 -3.22 -637634973 0.38978 -637569549 -7.22834 -637635085 -7.57552 -637569553 2.13354 -637635089 -5.26223 -637569557 -4.2117 -637635093 11.1823 -637569561 -4.06653 -637635097 1.11226 -637569565 -1.74865 -637635101 2.93136 -637569677 -3.76132 -637635213 -5.27081 -637569681 1.55468 -637635217 6.68147 -637569685 5.06069 -637635221 -1.24707 -637569689 6.37695 -637635225 -2.6502 -637569693 -1.69297 -637635229 1.2675 -637569805 0.502167 -637635341 4.86834 -637569809 -0.963374 -637635345 -4.83347 -637569813 -1.06667 -637635349 -2.76503 -637569817 -6.25458 -637635353 2.19597 -637569821 0.953126 -637635357 -0.849912 -637569933 7.79513 -637635469 10.487 -637569937 5.0852 -637635473 -6.16034 -637569941 -0.493908 -637635477 -6.42624 -637569945 1.84716 -637635481 -5.8964 -637569949 2.30026 -637635485 -1.55193 -637570061 8.49287 -637635597 -1.9161 -637570065 -5.95951 -637635601 7.0659 -637570069 6.4085 -637635605 -6.06335 -637570073 0.376674 -637635609 8.83555 -637570077 0.273953 -637635613 1.68376 -637570189 0.345232 -637635725 1.98328 -637570193 -2.98537 -637635729 10.2158 -637570197 0.588608 -637635733 -3.24994 -637570201 6.69421 -637635737 1.93913 -637570205 0.878819 -637635741 -0.779859 -637570317 4.9545 -637635853 2.25881 -637570321 4.73984 -637635857 -3.72419 -637570325 1.28113 -637635861 -1.22506 -637570329 0.0936576 -637635865 -0.290126 -637570333 -3.97661 -637635869 0.279475 -637570445 -1.34562 -637635981 -1.66484 -637570449 -6.43603 -637635985 4.0118 -637570453 -4.77653 -637635989 3.30826 -637570457 -5.60731 -637635993 5.40773 -637570461 -2.51399 -637635997 6.66912 -637567012 2.33538 -637599780 -2.70952 -637632548 0.455631 -637567014 7.0828 -637599782 -3.02076 -637632550 1.92743 -637567016 4.68388 -637599784 -2.1078 -637632552 5.90017 -637567018 2.32834 -637599786 -3.49221 -637632554 -6.88039 -637567021 -0.614561 -637632557 -0.746732 -637567025 0.298691 -637599793 -1.4852 -637632561 -3.42678 -637567029 0.440625 -637599797 -1.09466 -637632565 2.03135 -637567033 2.49984 -637599801 1.56013 -637632569 -7.20328 -637567037 0.510469 -637632573 -3.76993 -637567140 4.41614 -637599908 8.88538 -637632676 -3.18429 -637567142 -2.14418 -637599910 7.85328 -637632678 -5.57658 -637567144 3.0187 -637599912 -0.982856 -637632680 3.95164 -637567146 -1.34083 -637599914 3.43199 -637632682 2.06594 -637567149 1.66775 -637632685 -3.25166 -637567153 -1.01008 -637599921 8.86752 -637632689 -0.827204 -637567157 4.33228 -637599925 -4.85108 -637632693 -1.78989 -637567161 2.89537 -637599929 2.85054 -637632697 -7.26228 -637567165 -1.37277 -637632701 3.73347 -637567268 -6.56866 -637600036 -4.45883 -637632804 7.49802 -637567270 11.6598 -637600038 -3.57676 -637632806 -4.0685 -637567272 4.53767 -637600040 -8.24026 -637632808 2.87222 -637567274 -3.41958 -637600042 -5.2321 -637632810 -3.55889 -637567277 4.27473 -637632813 7.1462 -637567281 1.14862 -637600049 2.33498 -637632817 -5.03336 -637567285 7.31453 -637600053 -2.19594 -637632821 2.52338 -637567289 0.0456153 -637600057 -0.232067 -637632825 -3.08931 -637567293 3.77107 -637632829 -2.88731 -637567396 2.0294 -637600164 3.31856 -637632932 -1.10712 -637567398 6.37456 -637600166 1.9386 -637632934 -0.929543 -637567400 -2.99152 -637600168 -0.964668 -637632936 0.433565 -637567402 -4.71409 -637600170 -1.70965 -637632938 -5.17072 -637567405 -5.48591 -637632941 8.18639 -637567409 9.42343 -637600177 -3.04211 -637632945 -6.55637 -637567413 -3.27123 -637600181 0.9306 -637632949 -2.84732 -637567417 -10.8997 -637600185 -0.890399 -637632953 1.19409 -637567421 -4.91666 -637632957 -8.28665 -637567524 -1.30487 -637600292 6.67585 -637633060 -7.26028 -637567526 -0.0852436 -637600294 -2.28225 -637633062 -0.0801521 -637567528 6.96175 -637600296 6.97307 -637633064 0.0527773 -637567530 -0.0203842 -637600298 7.86924 -637633066 3.36398 -637567533 -6.31007 -637633069 -2.60291 -637567537 8.70861 -637600305 0.90852 -637633073 -0.107652 -637567541 -1.0026 -637600309 -8.45838 -637633077 8.48741 -637567545 3.96231 -637600313 7.12051 -637633081 -4.85381 -637567549 0.665877 -637633085 1.00766 -637567652 -9.79832 -637600420 7.71758 -637633188 1.15212 -637567654 7.96024 -637600422 -1.34514 -637633190 4.03572 -637567656 -5.64968 -637600424 -6.6683 -637633192 -5.75147 -637567658 8.4066 -637600426 -4.03329 -637633194 -5.883 -637567661 1.71588 -637633197 -6.44006 -637567665 -7.7556 -637600433 -2.38175 -637633201 -1.44141 -637567669 7.9353 -637600437 -7.00968 -637633205 5.65584 -637567673 3.86558 -637600441 -2.67835 -637633209 12.321 -637567677 -1.28828 -637633213 -7.69603 -637567789 0.686299 -637633325 -2.1279 -637567793 -0.611814 -637600561 -2.5071 -637633329 1.69271 -637567797 4.03141 -637600565 -6.9918 -637633333 -3.56027 -637567801 4.70862 -637600569 5.57471 -637633337 1.82678 -637567805 0.594386 -637633341 -0.586301 -637567917 1.97133 -637633453 -7.85683 -637567921 -4.51266 -637600689 -1.23578 -637633457 -2.55333 -637567925 0.423935 -637600693 2.74303 -637633461 -8.73555 -637567929 1.37934 -637600697 4.30318 -637633465 -7.60878 -637567933 5.14301 -637633469 3.74227 -637568045 2.10853 -637633581 4.69931 -637568049 2.56564 -637600817 -3.34417 -637633585 -1.86322 -637568053 -1.11185 -637600821 -4.77354 -637633589 -3.36742 -637568057 0.881318 -637600825 3.37214 -637633593 -0.308908 -637568061 0.168469 -637633597 -4.97774 -637568173 -0.0616854 -637633709 0.288759 -637568177 7.78264 -637600945 4.02771 -637633713 -2.42984 -637568181 -2.29889 -637600949 1.47762 -637633717 5.67428 -637568185 4.71013 -637600953 1.79992 -637633721 3.23272 -637568189 11.1457 -637633725 3.39038 -637568301 0.545357 -637633837 2.54345 -637568305 -5.28904 -637601073 -2.40655 -637633841 -1.5991 -637568309 1.49301 -637601077 7.68553 -637633845 4.07408 -637568313 8.80702 -637601081 -0.417202 -637633849 0.876801 -637568317 -2.1393 -637633853 2.2172 -637568429 7.09388 -637633965 1.83088 -637568433 -2.56334 -637601201 -2.48436 -637633969 -2.88419 -637568437 -1.15131 -637601205 -8.24445 -637633973 -2.66267 -637568441 11.031 -637601209 0.599002 -637633977 5.63704 -637568445 -5.75026 -637633981 -1.01686 -637571108 4.60216 -637603876 -1.54236 -637636644 -7.07549 -637571110 11.3863 -637603878 -1.00368 -637636646 3.13418 -637571112 1.70531 -637603880 -3.48411 -637636648 -10.9763 -637571114 -4.88584 -637603882 1.31095 -637636650 1.03839 -637571236 -7.34251 -637604004 1.04063 -637636772 5.50718 -637571238 -0.384294 -637604006 -4.1985 -637636774 0.559841 -637571240 -4.10244 -637604008 -9.67315 -637636776 6.82011 -637571242 0.717127 -637604010 -3.08254 -637636778 -3.50468 -637571364 3.44105 -637604132 -2.55442 -637636900 -3.1449 -637571366 -1.95988 -637604134 -2.00286 -637636902 1.33149 -637571368 -7.86373 -637604136 -4.21165 -637636904 4.5263 -637571370 -7.40792 -637604138 0.291192 -637636906 4.27444 -637571492 -1.22459 -637604260 -1.13903 -637637028 -3.25555 -637571494 -13.799 -637604262 11.5459 -637637030 -1.61686 -637571496 -9.14592 -637604264 8.93036 -637637032 -8.35876 -637571498 8.82822 -637604266 -1.47677 -637637034 -1.96093 -637571620 8.87097 -637604388 3.81447 -637637156 -4.86349 -637571622 2.54583 -637604390 -7.32977 -637637158 10.8448 -637571624 -5.11753 -637604392 7.48884 -637637160 -3.81471 -637571626 3.8487 -637604394 -5.92008 -637637162 1.2999 -637571748 1.66192 -637604516 2.69328 -637637284 -5.65222 -637571750 -7.16165 -637604518 -5.16987 -637637286 3.71428 -637571752 1.95606 -637604520 -2.04049 -637637288 -6.05611 -637571754 -8.76281 -637604522 -10.0584 -637637290 -1.09793 -637575204 -8.5683 -637607972 -5.50123 -637640740 4.39173 -637575206 6.08867 -637607974 -2.32605 -637640742 11.7045 -637575208 -6.3307 -637607976 -6.56249 -637640744 -0.252687 -637575210 -7.92054 -637607978 -13.174 -637640746 2.45185 -637575332 0.968429 -637608100 2.89967 -637640868 -1.35045 -637575334 10.5882 -637608102 12.9835 -637640870 11.3177 -637575336 -3.47235 -637608104 -7.81819 -637640872 -3.23375 -637575338 -2.98918 -637608106 0.327677 -637640874 0.641421 -637575460 3.53035 -637608228 -5.98451 -637640996 -3.59582 -637575462 -4.22415 -637608230 1.48223 -637640998 4.04833 -637575464 -5.70967 -637608232 -6.41227 -637641000 -2.79811 -637575466 -5.06039 -637608234 -6.45226 -637641002 5.66429 -637575588 7.39873 -637608356 -9.48528 -637641124 2.58917 -637575590 0.697128 -637608358 4.81648 -637641126 12.4305 -637575592 4.12916 -637608360 -3.28901 -637641128 0.0489296 -637575594 2.28544 -637608362 -1.60923 -637641130 -1.6947 -637575716 10.5612 -637608484 -6.19307 -637641252 7.6646 -637575718 6.96336 -637608486 -0.339545 -637641254 -7.1097 -637575720 0.668703 -637608488 7.0359 -637641256 1.80533 -637575722 8.69506 -637608490 3.61864 -637641258 -4.88032 -637575844 -6.72657 -637608612 2.47843 -637641380 -2.85769 -637575846 -3.90371 -637608614 -3.81098 -637641382 -10.2723 -637575848 0.156691 -637608616 -3.99973 -637641384 -1.1491 -637575850 1.57759 -637608618 0.756205 -637641386 -4.17896 -637579300 -2.80537 -637612068 -1.67153 -637644836 1.85561 -637579302 -2.89171 -637612070 0.542132 -637644838 -1.27957 -637579304 -0.466054 -637612072 8.56679 -637644840 -7.96428 -637579306 4.86402 -637612074 -0.886333 -637644842 6.43296 -637579428 -5.99348 -637612196 4.5051 -637644964 5.11442 -637579430 -4.20745 -637612198 0.408123 -637644966 0.0559012 -637579432 3.15059 -637612200 -2.2671 -637644968 -5.12677 -637579434 1.30296 -637612202 4.54154 -637644970 5.30637 -637579556 3.25165 -637612324 9.79856 -637645092 -1.04283 -637579558 6.87616 -637612326 4.24072 -637645094 5.23793 -637579560 2.03301 -637612328 -2.30133 -637645096 2.39203 -637579562 -1.40478 -637612330 -2.4644 -637645098 -4.2768 -637579684 0.980307 -637612452 7.34482 -637645220 -4.85535 -637579686 3.03932 -637612454 1.20341 -637645222 1.90057 -637579688 -2.2028 -637612456 -8.06662 -637645224 5.47436 -637579690 5.78676 -637612458 2.67032 -637645226 -0.945718 -637579812 3.96264 -637612580 2.11722 -637645348 -2.80906 -637579814 2.96018 -637612582 5.79542 -637645350 1.60475 -637579816 -6.47349 -637612584 -3.04466 -637645352 -1.44508 -637579818 0.964668 -637612586 0.450814 -637645354 -6.31342 -637579940 8.33604 -637612708 -1.85353 -637645476 3.9536 -637579942 -10.4026 -637612710 4.25103 -637645478 -1.15328 -637579944 -0.0943851 -637612712 -8.7271 -637645480 -3.90774 -637579946 2.12065 -637612714 0.141028 -637645482 6.78383 -637583396 1.52652 -637616164 1.19106 -637648932 5.56882 -637583398 -2.77993 -637616166 1.80934 -637648934 -0.663303 -637583400 -4.47526 -637616168 -2.3577 -637648936 -11.6829 -637583402 -2.33804 -637616170 14.1954 -637648938 2.36829 -637583524 -2.45279 -637616292 -5.09666 -637649060 -0.986868 -637583526 7.9059 -637616294 0.559884 -637649062 13.2209 -637583528 5.92863 -637616296 -8.79869 -637649064 -6.45477 -637583530 -1.38271 -637616298 9.48599 -637649066 3.4759 -637583652 -7.57913 -637616420 1.88433 -637649188 -0.707863 -637583654 6.0568 -637616422 -7.13774 -637649190 4.35959 -637583656 3.2639 -637616424 6.74143 -637649192 -1.78647 -637583658 8.64103 -637616426 -6.57324 -637649194 1.45052 -637583780 -0.676162 -637616548 -9.5847 -637649316 -5.66264 -637583782 2.9906 -637616550 -2.89533 -637649318 8.184 -637583784 -7.29092 -637616552 0.147652 -637649320 -5.09519 -637583786 -0.960216 -637616554 0.634596 -637649322 -5.66231 -637583908 -4.7856 -637616676 -10.6688 -637649444 0.156892 -637583910 2.38872 -637616678 1.84547 -637649446 -0.0140825 -637583912 -1.69423 -637616680 1.27503 -637649448 2.61656 -637583914 -0.242856 -637616682 2.60818 -637649450 -0.443807 -637584036 3.93828 -637616804 -0.752937 -637649572 -2.00212 -637584038 -8.13199 -637616806 8.74264 -637649574 4.34578 -637584040 -1.93505 -637616808 0.889981 -637649576 -1.65541 -637584042 4.67007 -637616810 -1.30859 -637649578 -9.13563 -637587492 -11.2144 -637620260 -1.32009 -637653028 2.40317 -637587494 -3.86793 -637620262 -3.74089 -637653030 1.54286 -637587496 -5.53916 -637620264 -2.1514 -637653032 2.48217 -637587498 13.9522 -637620266 -5.90068 -637653034 -9.16635 -637587620 -10.6094 -637620388 4.49182 -637653156 8.99979 -637587622 -1.81874 -637620390 1.16346 -637653158 5.01868 -637587624 -0.631862 -637620392 1.63032 -637653160 3.12984 -637587626 -4.39718 -637620394 0.349471 -637653162 0.84958 -637587748 7.87059 -637620516 1.50594 -637653284 -4.15886 -637587750 -10.1836 -637620518 -0.456376 -637653286 3.22258 -637587752 2.28798 -637620520 1.39343 -637653288 -1.03645 -637587754 -5.59717 -637620522 1.22609 -637653290 3.59088 -637587876 -3.26383 -637620644 8.32621 -637653412 6.24111 -637587878 -3.18491 -637620646 2.58506 -637653414 -0.401715 -637587880 -1.63698 -637620648 2.28776 -637653416 -6.33198 -637587882 0.0405078 -637620650 0.369827 -637653418 -1.46564 -637588004 -9.47259 -637620772 0.14425 -637653540 -1.511 -637588006 -9.67776 -637620774 7.25378 -637653542 -5.58523 -637588008 -4.03251 -637620776 -5.57362 -637653544 0.463327 -637588010 -5.39317 -637620778 -2.5265 -637653546 4.01668 -637588132 -5.97361 -637620900 1.23171 -637653668 3.36438 -637588134 0.537181 -637620902 0.964903 -637653670 -4.98007 -637588136 4.51176 -637620904 -0.913884 -637653672 2.52379 -637588138 5.6047 -637620906 1.87515 -637653674 -1.25453 -637569069 -0.334605 -637601837 5.26942 -637634605 -3.22857 -637569073 3.06427 -637634609 0.718413 -637569077 -3.23459 -637634613 2.21987 -637569081 0.641264 -637634617 -4.69852 -637569085 4.35302 -637601853 8.81557 -637634621 6.81712 -637569197 9.91443 -637601965 -7.07731 -637634733 1.54438 -637569201 1.31836 -637634737 8.19973 -637569205 -7.79137 -637634741 -1.35077 -637569209 -4.02969 -637634745 -3.37817 -637569213 -0.688175 -637601981 6.01103 -637634749 -5.1327 -637569325 5.76495 -637602093 -2.58298 -637634861 -0.954601 -637569329 -6.20465 -637634865 -1.62004 -637569333 0.220914 -637634869 1.09584 -637569337 -0.171083 -637634873 -11.868 -637569341 -7.74019 -637602109 -4.04211 -637634877 9.16358 -637569453 -4.05952 -637602221 -3.08142 -637634989 4.47042 -637569457 -3.97501 -637634993 -3.90048 -637569461 -1.33426 -637634997 -12.1214 -637569465 0.00193117 -637635001 2.58552 -637569469 -2.1856 -637602237 -8.15382 -637635005 -5.8265 -637569581 -5.84063 -637602349 3.93941 -637635117 -3.07886 -637569585 10.3256 -637635121 4.46739 -637569589 -3.76789 -637635125 0.711461 -637569593 0.622904 -637635129 -1.80934 -637569597 -1.58782 -637602365 1.01993 -637635133 8.96677 -637569709 6.35764 -637602477 5.26845 -637635245 6.50084 -637569713 -0.176896 -637635249 -15.1898 -637569717 0.715523 -637635253 -3.37616 -637569721 -2.04358 -637635257 0.429998 -637569725 4.39867 -637602493 -13.1096 -637635261 1.04065 -637569837 7.33884 -637602605 4.70952 -637635373 1.63268 -637569841 -0.850562 -637635377 1.65513 -637569845 2.21504 -637635381 4.73032 -637569849 -0.450683 -637635385 1.815 -637569853 -7.42269 -637602621 -2.72744 -637635389 5.60186 -637569965 -5.67738 -637602733 2.73785 -637635501 -2.58301 -637569969 1.04193 -637635505 -3.64559 -637569973 3.17284 -637635509 -3.94774 -637569977 -5.54174 -637635513 3.80987 -637569981 -0.0754381 -637602749 -0.0891905 -637635517 5.33238 -637570093 -0.541538 -637602861 -8.76002 -637635629 1.12492 -637570097 -1.25526 -637635633 6.40555 -637570101 0.965496 -637635637 3.17864 -637570105 0.921254 -637635641 -5.32462 -637570109 -6.46331 -637602877 -2.16915 -637635645 4.96954 -637570221 6.53089 -637602989 -0.369975 -637635757 -2.21308 -637570225 8.72256 -637635761 5.68385 -637570229 4.33112 -637635765 1.52121 -637570233 -1.46883 -637635769 -7.85922 -637570237 6.40298 -637603005 1.47515 -637635773 4.28756 -637570349 7.16775 -637603117 5.91871 -637635885 -5.70709 -637570353 1.48999 -637635889 2.65692 -637570357 1.72006 -637635893 -0.958317 -637570361 4.5967 -637635897 -0.357754 -637570365 -0.8528 -637603133 -0.405009 -637635901 1.99264 -637570477 4.6856 -637603245 -4.13252 -637636013 5.39198 -637570481 0.881652 -637636017 -13.3007 -637570485 -2.87087 -637636021 4.55826 -637570489 -3.71585 -637636025 6.86673 -637570493 8.3791 -637603261 -3.13062 -637636029 -1.99536 -637567044 -3.65344 -637599812 -7.33757 -637632580 -1.12642 -637567046 10.1891 -637599814 5.80059 -637632582 -1.67153 -637567048 -0.140897 -637599816 -8.70837 -637632584 -7.92858 -637567050 -1.03408 -637599818 9.49991 -637632586 2.92481 -637567053 0.241918 -637632589 9.11914 -637567057 -1.46141 -637632593 -3.94179 -637567061 3.80215 -637632597 -6.79085 -637567065 -9.92934 -637632601 -2.9709 -637567069 4.15569 -637632605 -0.516702 -637567172 0.233741 -637599940 3.3376 -637632708 -2.42346 -637567174 -6.59372 -637599942 6.26961 -637632710 -8.14747 -637567176 -2.89472 -637599944 -1.96197 -637632712 9.52313 -637567178 8.32698 -637599946 2.91193 -637632714 -6.87953 -637567181 8.53551 -637632717 -2.93963 -637567185 0.449388 -637632721 0.336348 -637567189 0.313853 -637632725 4.59619 -637567193 -1.3606 -637632729 -0.298889 -637567197 9.58063 -637632733 -1.65653 -637567300 -6.1366 -637600068 1.2308 -637632836 0.274308 -637567302 2.01828 -637600070 0.279244 -637632838 3.28043 -637567304 -0.542927 -637600072 -6.42771 -637632840 -1.76903 -637567306 3.3764 -637600074 2.59425 -637632842 2.03991 -637567309 -3.60602 -637632845 -5.84466 -637567313 -1.85525 -637632849 -4.16512 -637567317 -2.81803 -637632853 3.54943 -637567321 3.58406 -637632857 7.07797 -637567325 1.33685 -637632861 0.885943 -637567428 -6.03857 -637600196 2.50581 -637632964 -0.579256 -637567430 -3.4491 -637600198 -6.49953 -637632966 3.31782 -637567432 5.10653 -637600200 -0.309546 -637632968 4.76142 -637567434 -1.72938 -637600202 -7.40157 -637632970 5.12844 -637567437 6.30026 -637632973 8.54633 -637567441 -3.30581 -637632977 -1.58812 -637567445 0.250335 -637632981 -0.650971 -637567449 7.8158 -637632985 0.262062 -637567453 -6.35166 -637632989 1.74377 -637567556 -2.39003 -637600324 9.94222 -637633092 -1.95713 -637567558 3.76759 -637600326 -6.08833 -637633094 0.794505 -637567560 -1.91402 -637600328 8.25981 -637633096 -7.57956 -637567562 2.46702 -637600330 5.80298 -637633098 1.25712 -637567565 8.24078 -637633101 -3.83018 -637567569 -1.64532 -637633105 2.54312 -637567573 -2.69622 -637633109 -6.56103 -637567577 -7.9577 -637633113 -4.7871 -637567581 4.40864 -637633117 1.07747 -637567684 3.86332 -637600452 -2.14963 -637633220 5.63524 -637567686 -11.5301 -637600454 1.77718 -637633222 3.93966 -637567688 3.27437 -637600456 -1.95564 -637633224 -6.09633 -637567690 -0.243105 -637600458 -2.54488 -637633226 7.50926 -637567693 5.86427 -637633229 2.28444 -637567697 -4.33346 -637633233 -1.97431 -637567701 -14.8631 -637633237 -9.37883 -637567705 -2.76809 -637633241 4.75215 -637567709 -0.725939 -637633245 4.13556 -637567821 -1.49735 -637633357 -8.01165 -637567825 0.508974 -637633361 8.57272 -637567829 13.3906 -637633365 -4.59839 -637567833 -4.34956 -637633369 0.0117435 -637567837 0.920405 -637633373 -5.70597 -637567949 -1.15422 -637633485 2.16741 -637567953 3.7243 -637633489 0.26311 -637567957 0.417906 -637633493 6.27143 -637567961 7.45111 -637633497 -5.59547 -637567965 -6.81926 -637633501 -0.763007 -637568077 2.74408 -637633613 -7.32897 -637568081 4.35994 -637633617 0.42394 -637568085 4.37688 -637633621 1.714 -637568089 2.10688 -637633625 -4.44484 -637568093 -2.88323 -637633629 2.25417 -637568205 -4.57264 -637633741 -6.01181 -637568209 -2.69107 -637633745 -0.836561 -637568213 4.05131 -637633749 -0.941728 -637568217 4.47102 -637633753 -0.349062 -637568221 -7.70626 -637633757 3.71018 -637568333 -1.71052 -637633869 3.15377 -637568337 0.482476 -637633873 -3.3756 -637568341 4.37613 -637633877 2.2276 -637568345 3.4022 -637633881 -0.844246 -637568349 -1.60013 -637633885 1.14702 -637568461 -3.02134 -637633997 -3.65104 -637568465 2.01925 -637634001 -11.373 -637568469 5.43529 -637634005 2.27852 -637568473 4.03664 -637634009 1.51032 -637568477 -6.3742 -637634013 7.72898 -637571140 10.0242 -637603908 10.0701 -637636676 2.50856 -637571142 -0.430698 -637603910 -5.64728 -637636678 3.76941 -637571144 -8.13058 -637603912 9.36846 -637636680 -1.09774 -637571146 -1.84467 -637603914 6.06832 -637636682 0.905171 -637571149 -2.55214 -637636685 4.30423 -637571153 9.48246 -637636689 -9.20159 -637571157 -7.05352 -637636693 -2.18725 -637571161 1.55004 -637636697 -5.37331 -637571165 7.24384 -637636701 3.07759 -637571268 -3.98295 -637604036 -5.79772 -637636804 1.68521 -637571270 -2.13561 -637604038 -2.81538 -637636806 -3.53953 -637571272 1.62421 -637604040 -5.29433 -637636808 5.53728 -637571274 -5.66586 -637604042 -1.50964 -637636810 2.51082 -637571277 -8.11505 -637636813 4.93053 -637571281 -3.66307 -637636817 -0.881182 -637571285 -8.8144 -637636821 1.37847 -637571289 -1.11187 -637636825 -0.350418 -637571293 -7.48621 -637636829 2.22257 -637571396 1.53138 -637604164 2.36555 -637636932 -0.993555 -637571398 5.83359 -637604166 -0.372235 -637636934 6.85438 -637571400 -0.674285 -637604168 4.36586 -637636936 0.583692 -637571402 9.21447 -637604170 9.92338 -637636938 -4.30052 -637571405 -1.21285 -637636941 1.20846 -637571409 2.29587 -637636945 2.56651 -637571413 4.07997 -637636949 -8.55062 -637571417 9.34345 -637636953 11.2026 -637571421 0.348044 -637636957 4.62895 -637571524 -1.43798 -637604292 -1.55384 -637637060 -5.53818 -637571526 9.51736 -637604294 1.72971 -637637062 4.57617 -637571528 4.96708 -637604296 -6.61516 -637637064 1.0699 -637571530 0.835489 -637604298 1.16233 -637637066 4.91671 -637571533 -9.49605 -637637069 1.53008 -637571537 4.11571 -637637073 2.26905 -637571541 7.936 -637637077 -5.16771 -637571545 -8.34944 -637637081 -11.1855 -637571549 -3.69666 -637637085 1.02306 -637571652 -4.90662 -637604420 7.89275 -637637188 2.0013 -637571654 -9.56239 -637604422 7.02838 -637637190 -2.58917 -637571656 3.82263 -637604424 -3.92563 -637637192 -3.95524 -637571658 8.6786 -637604426 -3.79797 -637637194 -2.02503 -637571661 8.92478 -637637197 0.203117 -637571665 0.243665 -637637201 0.475691 -637571669 -3.41906 -637637205 3.4913 -637571673 -10.1476 -637637209 4.655 -637571677 0.62266 -637637213 1.67325 -637571780 10.597 -637604548 -3.64958 -637637316 2.42245 -637571782 4.73196 -637604550 1.39232 -637637318 -3.80974 -637571784 -4.11655 -637604552 0.584416 -637637320 -7.69057 -637571786 0.748432 -637604554 2.34633 -637637322 0.70793 -637571789 2.53347 -637637325 -1.7736 -637571793 1.43636 -637637329 5.34733 -637571797 -5.02128 -637637333 -3.11751 -637571801 -1.66765 -637637337 -9.82879 -637571805 -6.67657 -637637341 -3.38498 -637571917 3.00145 -637637453 20.7293 -637571921 4.69385 -637637457 1.84767 -637571925 13.4877 -637637461 6.40698 -637571929 -2.0225 -637637465 1.83756 -637571933 -1.2024 -637637469 -5.48425 -637572045 -1.71525 -637637581 -7.33628 -637572049 4.39596 -637637585 -6.60202 -637572053 -3.36901 -637637589 2.35362 -637572057 2.18151 -637637593 2.3141 -637572061 1.66569 -637637597 -0.320481 -637572173 6.48112 -637637709 8.59016 -637572177 4.28539 -637637713 0.74084 -637572181 -5.59201 -637637717 -6.83373 -637572185 -1.87371 -637637721 1.69245 -637572189 0.718316 -637637725 6.2718 -637572301 5.10307 -637637837 1.97756 -637572305 -3.13232 -637637841 4.50095 -637572309 -8.6491 -637637845 6.33296 -637572313 0.079555 -637637849 -2.30116 -637572317 2.32008 -637637853 -6.8674 -637572429 1.20468 -637637965 -6.10226 -637572433 5.44373 -637637969 -3.34334 -637572437 0.676272 -637637973 -2.39798 -637572441 -3.51073 -637637977 -4.58723 -637572445 1.35092 -637637981 -6.19677 -637572557 -0.000957864 -637638093 -1.09207 -637572561 3.81708 -637638097 -5.1262 -637572565 6.21877 -637638101 -2.43549 -637572569 -2.14915 -637638105 3.27379 -637572573 -1.01618 -637638109 -2.6152 -637575236 9.30033 -637608004 1.98144 -637640772 2.08247 -637575238 10.8166 -637608006 -5.41139 -637640774 2.93842 -637575240 0.894685 -637608008 10.7104 -637640776 -4.4174 -637575242 6.71699 -637608010 -1.1973 -637640778 -1.06805 -637575364 -2.33114 -637608132 -2.33394 -637640900 1.15804 -637575366 -1.9082 -637608134 6.04711 -637640902 -2.70242 -637575368 -2.57915 -637608136 1.25163 -637640904 -4.76008 -637575370 -12.7367 -637608138 5.57571 -637640906 5.93457 -637575492 -9.59974 -637608260 -7.5463 -637641028 4.48958 -637575494 2.16998 -637608262 3.93692 -637641030 6.98546 -637575496 10.1259 -637608264 -1.6705 -637641032 5.79047 -637575498 -5.76753 -637608266 -1.93471 -637641034 2.84637 -637575620 6.25944 -637608388 1.36177 -637641156 -3.77235 -637575622 -0.647053 -637608390 -7.01232 -637641158 -9.23965 -637575624 2.13123 -637608392 7.73566 -637641160 5.42736 -637575626 12.6319 -637608394 1.97224 -637641162 3.46266 -637575748 0.644304 -637608516 -0.808257 -637641284 -3.74166 -637575750 1.50516 -637608518 2.24547 -637641286 -7.06546 -637575752 3.60601 -637608520 -4.92875 -637641288 -8.05868 -637575754 5.53902 -637608522 2.39501 -637641290 -6.85553 -637575876 11.5017 -637608644 2.94259 -637641412 -2.67346 -637575878 4.82736 -637608646 3.813 -637641414 0.365547 -637575880 -1.15918 -637608648 5.47785 -637641416 0.102236 -637575882 -7.04592 -637608650 1.95745 -637641418 -6.24736 -637579332 -6.10673 -637612100 -4.1178 -637644868 -7.59128 -637579334 -3.37014 -637612102 0.869702 -637644870 3.12352 -637579336 -3.64085 -637612104 1.24799 -637644872 5.8862 -637579338 -2.08712 -637612106 5.19491 -637644874 8.79347 -637579460 -11.4856 -637612228 -15.2014 -637644996 1.79735 -637579462 3.54179 -637612230 -2.17958 -637644998 4.22963 -637579464 5.75152 -637612232 10.7466 -637645000 -0.35267 -637579466 11.4036 -637612234 4.17103 -637645002 8.41617 -637579588 1.50955 -637612356 2.93656 -637645124 -4.35917 -637579590 8.49862 -637612358 -4.05266 -637645126 5.9814 -637579592 -4.49698 -637612360 2.86414 -637645128 3.26634 -637579594 2.57727 -637612362 0.00463949 -637645130 6.31421 -637579716 -3.91921 -637612484 -13.8007 -637645252 -1.11639 -637579718 2.38588 -637612486 6.4624 -637645254 0.486948 -637579720 -2.86464 -637612488 -0.61448 -637645256 -13.0688 -637579722 -3.11367 -637612490 -3.68493 -637645258 8.58012 -637579844 -2.95501 -637612612 0.686992 -637645380 -3.95248 -637579846 -6.98774 -637612614 0.892783 -637645382 0.682961 -637579848 0.0643746 -637612616 1.63529 -637645384 -8.32433 -637579850 -0.599224 -637612618 -2.07491 -637645386 -3.90806 -637579972 -8.01397 -637612740 -0.969466 -637645508 -10.1288 -637579974 -4.67004 -637612742 -5.15772 -637645510 -2.76443 -637579976 -1.63759 -637612744 5.07735 -637645512 -1.0469 -637579978 4.04123 -637612746 -0.244353 -637645514 -2.0897 -637583428 5.54458 -637616196 4.31426 -637648964 -3.60155 -637583430 -1.646 -637616198 -0.434186 -637648966 5.20736 -637583432 -1.75961 -637616200 -3.84236 -637648968 -1.05827 -637583434 3.91145 -637616202 5.14123 -637648970 4.20684 -637583556 6.92772 -637616324 4.30879 -637649092 -3.17986 -637583558 -0.429923 -637616326 -4.99616 -637649094 1.33122 -637583560 -7.54014 -637616328 0.264791 -637649096 -0.922284 -637583562 -5.70322 -637616330 2.62646 -637649098 1.88825 -637583684 -1.75733 -637616452 8.90956 -637649220 0.829855 -637583686 0.527115 -637616454 -3.05976 -637649222 -5.50799 -637583688 2.74404 -637616456 1.44288 -637649224 3.11086 -637583690 -0.304257 -637616458 -8.5219 -637649226 -3.03241 -637583812 5.07456 -637616580 -7.29442 -637649348 -1.46281 -637583814 0.389235 -637616582 3.13195 -637649350 4.04029 -637583816 1.82765 -637616584 3.82549 -637649352 0.587805 -637583818 8.764 -637616586 -10.6932 -637649354 -0.953706 -637583940 -1.35308 -637616708 6.56576 -637649476 -2.49945 -637583942 -1.57913 -637616710 -0.21023 -637649478 3.27554 -637583944 4.88144 -637616712 -0.987335 -637649480 6.15972 -637583946 -7.55705 -637616714 -1.99888 -637649482 -4.92732 -637584068 -7.57356 -637616836 -2.75728 -637649604 2.91933 -637584070 4.05968 -637616838 -1.49399 -637649606 -0.246077 -637584072 -5.17161 -637616840 4.17822 -637649608 7.852 -637584074 -5.66538 -637616842 -7.70493 -637649610 2.24531 -637587524 -3.59005 -637620292 4.02859 -637653060 10.0714 -637587526 -2.06213 -637620294 -2.24339 -637653062 -0.665295 -637587528 0.28999 -637620296 -4.75283 -637653064 -0.909009 -637587530 2.12295 -637620298 3.44751 -637653066 5.98836 -637587652 9.55539 -637620420 -1.77806 -637653188 4.7648 -637587654 -1.70207 -637620422 6.83898 -637653190 11.8456 -637587656 3.66503 -637620424 -1.91794 -637653192 7.62051 -637587658 -5.26933 -637620426 -8.65457 -637653194 2.1622 -637587780 -0.840674 -637620548 0.821366 -637653316 -8.40466 -637587782 -0.526663 -637620550 -3.91073 -637653318 -0.018502 -637587784 0.0164132 -637620552 2.21214 -637653320 0.359258 -637587786 -6.4385 -637620554 -7.13898 -637653322 -4.94038 -637587908 5.21454 -637620676 0.913966 -637653444 6.34305 -637587910 5.38846 -637620678 0.815184 -637653446 -2.51199 -637587912 -1.86618 -637620680 6.97189 -637653448 -6.43733 -637587914 -5.2978 -637620682 2.90272 -637653450 -6.4198 -637588036 0.423418 -637620804 -7.58131 -637653572 0.263227 -637588038 -0.534521 -637620806 3.30415 -637653574 -3.35252 -637588040 3.82434 -637620808 -9.74249 -637653576 7.1391 -637588042 4.84851 -637620810 -4.12611 -637653578 -1.34359 -637588164 1.53017 -637620932 -3.59977 -637653700 3.20339 -637588166 -0.170724 -637620934 8.23196 -637653702 2.76098 -637588168 -0.385801 -637620936 4.05366 -637653704 -2.23038 -637588170 4.6548 -637620938 7.76471 -637653706 8.5133 -637567085 10.6305 -637632621 -4.98369 -637567089 2.94327 -637632625 -7.29174 -637567093 -5.46998 -637632629 2.07326 -637567097 -1.21138 -637632633 -8.87797 -637567101 -3.4076 -637632637 -3.81867 -637567213 -5.1798 -637632749 -6.50116 -637567217 -7.91486 -637632753 -8.40659 -637567221 1.79913 -637632757 -0.451575 -637567225 -0.822156 -637632761 4.02774 -637567229 6.89583 -637632765 5.04863 -637567341 -1.56338 -637632877 -3.91825 -637567345 2.07024 -637632881 -1.20809 -637567349 3.50979 -637632885 -1.17582 -637567353 3.86695 -637632889 -1.32041 -637567357 -3.86624 -637632893 -0.876045 -637567469 -5.33667 -637633005 8.04834 -637567473 4.45532 -637633009 2.55527 -637567477 -6.46838 -637633013 2.09916 -637567481 -4.32288 -637633017 -8.09805 -637567485 2.7943 -637633021 -7.89046 -637567597 9.16658 -637633133 15.7892 -637567601 1.69562 -637633137 -3.86832 -637567605 12.8038 -637633141 -6.0424 -637567609 5.19204 -637633145 2.26688 -637567613 8.47216 -637633149 -1.69323 -637567725 4.64043 -637633261 5.3026 -637567729 -1.98868 -637633265 -2.03566 -637567733 9.12254 -637633269 1.88422 -637567737 -1.98121 -637633273 2.1893 -637567741 -5.94335 -637633277 3.17705 -637567853 -0.7854 -637633389 -9.6011 -637567857 -10.2349 -637633393 -9.46503 -637567861 -4.14705 -637633397 -2.33561 -637567865 -1.01292 -637633401 2.9079 -637567869 7.49742 -637633405 5.80214 -637567981 1.57972 -637633517 2.83287 -637567985 -6.52804 -637633521 -7.35044 -637567989 -4.93823 -637633525 4.16326 -637567993 -4.46695 -637633529 -1.08164 -637567997 -1.22041 -637633533 -2.55531 -637568109 1.59263 -637633645 1.02898 -637568113 4.39065 -637633649 3.67988 -637568117 4.99899 -637633653 -2.89819 -637568121 0.169571 -637633657 4.86242 -637568125 -2.63137 -637633661 -2.36367 -637568237 6.56202 -637633773 1.8368 -637568241 1.5115 -637633777 -4.19918 -637568245 4.36595 -637633781 0.0907669 -637568249 -8.8989 -637633785 10.167 -637568253 -0.188733 -637633789 3.30107 -637568365 2.5078 -637633901 4.73154 -637568369 7.25485 -637633905 -3.66199 -637568373 0.512358 -637633909 0.751462 -637568377 -5.92989 -637633913 3.52438 -637568381 -0.735905 -637633917 6.7896 -637568493 -2.36601 -637634029 -10.7027 -637568497 1.09099 -637634033 1.26884 -637568501 1.06884 -637634037 4.86373 -637568505 -5.04899 -637634041 -3.99253 -637568509 0.602224 -637634045 -0.751487 -637571181 4.5498 -637636717 3.95343 -637571185 -2.5942 -637636721 7.26842 -637571189 1.73521 -637636725 -7.54132 -637571193 -2.12334 -637636729 -2.31477 -637571197 -4.73717 -637636733 9.51769 -637571309 1.16642 -637636845 4.55855 -637571313 5.95248 -637636849 8.26575 -637571317 10.7574 -637636853 -2.12216 -637571321 -2.65908 -637636857 0.975016 -637571325 2.38588 -637636861 1.43941 -637571437 -4.95178 -637636973 6.82276 -637571441 2.95164 -637636977 -4.51178 -637571445 0.410655 -637636981 -11.2264 -637571449 -6.29873 -637636985 2.32021 -637571453 0.80648 -637636989 0.310845 -637571565 8.15215 -637637101 2.68992 -637571569 1.742 -637637105 0.239482 -637571573 -1.07458 -637637109 -2.73704 -637571577 -6.76668 -637637113 -1.9515 -637571581 -10.1257 -637637117 -0.232636 -637571693 4.56808 -637637229 -5.74855 -637571697 -5.42832 -637637233 -3.32408 -637571701 0.133222 -637637237 0.556516 -637571705 3.61994 -637637241 -2.21772 -637571709 2.87179 -637637245 7.88679 -637571821 -4.41419 -637637357 -1.7656 -637571825 -9.41335 -637637361 8.88661 -637571829 10.7542 -637637365 1.54431 -637571833 -2.15671 -637637369 4.67544 -637571837 -8.55336 -637637373 5.12136 -637571949 2.29673 -637637485 0.610712 -637571953 0.199288 -637637489 -2.11349 -637571957 -11.5247 -637637493 1.94224 -637571961 8.15345 -637637497 8.61419 -637571965 -3.51076 -637637501 -0.866949 -637572077 -7.98049 -637637613 4.29595 -637572081 -2.81752 -637637617 7.04421 -637572085 -3.76241 -637637621 1.9817 -637572089 -1.53242 -637637625 5.22497 -637572093 -7.70815 -637637629 -2.06332 -637572333 -0.0424923 -637637869 -0.348633 -637572337 7.78216 -637637873 0.204725 -637572341 -4.28521 -637637877 1.04962 -637572345 -3.74994 -637637881 -2.24608 -637572349 2.57462 -637637885 -6.04722 -637572589 4.34996 -637638125 -6.39039 -637572593 -5.28514 -637638129 -5.22007 -637572597 2.10592 -637638133 11.5675 -637572601 3.79726 -637638137 3.53118 -637572605 1.03556 -637638141 -6.62176 -637575661 -14.0646 -637641197 2.09773 -637575665 5.87192 -637641201 -4.04066 -637575669 3.91873 -637641205 0.684936 -637575673 -5.73203 -637641209 -2.28167 -637575677 7.30374 -637641213 -0.426423 -637579757 -1.58674 -637645293 -1.23372 -637579761 4.35726 -637645297 0.330351 -637579765 5.23147 -637645301 -1.58871 -637579769 -2.69629 -637645305 -2.60523 -637579773 -2.02564 -637645309 -5.55283 -574914560 1.4816 -575176704 1.15087 -575438848 1.19551 -575700992 0.965557 -575963136 0.223023 -576225280 -1.02309 -576487424 1.58335 -576749568 0.0435336 -577011712 -0.585078 -577273856 0.37937 -577536000 0.501323 -577798144 1.59442 -579108864 0.04829 -579371008 2.24735 -579633152 1.21881 -579895296 2.29907 -580157440 0.585826 -580419584 -0.371138 -580681728 -0.784067 -580943872 -0.780065 -581206016 0.900997 -581468160 1.63037 -581730304 1.91388 -581992448 -0.680433 -583303168 0.478206 -583565312 -0.729319 -583827456 0.506768 -584089600 0.835964 -584351744 0.533669 -584613888 1.52413 -584876032 0.783291 -585138176 1.37809 -585400320 1.63119 -585662464 2.97563 -585924608 2.33858 -586186752 -0.583533 -587497472 0.734584 -587759616 -0.183901 -588021760 1.32067 -588283904 0.38393 -590643200 0.025526 -588546048 0.628978 -588808192 0.655558 -589070336 -0.358367 -589332480 0.405967 -589594624 1.245 -589856768 0.000832399 -590905344 1.2446 -590118912 -0.837512 -590381056 -1.01581 -574947328 0.77815 -575209472 3.02376 -575471616 -0.382007 -575733760 0.113068 -575995904 1.07598 -576258048 0.0902802 -576520192 1.0383 -576782336 1.47143 -577044480 1.62586 -577306624 0.858101 -577568768 -0.277764 -577830912 -0.936056 -579141632 -1.44164 -579403776 0.515206 -579665920 0.796663 -579928064 0.712763 -580190208 0.902406 -580452352 -1.11337 -580714496 1.67182 -580976640 -1.75267 -581238784 0.404312 -581500928 -0.458022 -581763072 0.8757 -582025216 0.627996 -583335936 0.174612 -583598080 0.155462 -583860224 0.347457 -584122368 0.727693 -584384512 -1.21808 -584646656 0.881855 -584908800 -1.57624 -585170944 1.23444 -585433088 1.18804 -585695232 -0.900637 -585957376 -0.850452 -586219520 0.85038 -587530240 0.402755 -587792384 1.15312 -588054528 -0.593254 -588316672 -1.30475 -590675968 -0.599093 -588578816 -1.81122 -588840960 0.804804 -589103104 1.30828 -589365248 1.83105 -589627392 1.0785 -589889536 1.83589 -590938112 1.15603 -590151680 1.73046 -590413824 -1.26972 -574980096 0.352297 -576028672 0.116715 -577077248 1.36887 -575242240 0.482301 -576290816 0.504571 -577339392 2.04972 -575504384 0.925508 -576552960 0.828655 -577601536 -0.935985 -575766528 -0.186126 -576815104 1.15827 -577863680 0.7047 -579174400 0.444614 -580222976 1.0881 -581271552 1.06957 -579436544 0.960754 -580485120 0.857428 -581533696 1.2123 -579698688 0.388513 -580747264 0.137898 -581795840 -0.583071 -579960832 1.11219 -581009408 1.31436 -582057984 0.509476 -583368704 1.1675 -584417280 0.490363 -585465856 -1.05861 -583630848 -0.768873 -584679424 0.181837 -585728000 -0.0141009 -583892992 2.16157 -584941568 1.49475 -585990144 2.4093 -584155136 -0.891009 -585203712 -1.04179 -586252288 -0.568035 -587563008 -0.341604 -587825152 1.83629 -588087296 1.81688 -588349440 0.825708 -590708736 1.43302 -588611584 0.0464914 -588873728 0.175284 -589135872 0.407462 -589398016 0.325634 -589660160 1.1291 -589922304 0.606164 -590970880 0.838954 -590184448 0.58415 -590446592 -1.15643 -575012864 0.357422 -575275008 0.987336 -575537152 0.776167 -575799296 2.16154 -576061440 0.601252 -576323584 -0.0025591 -576585728 -0.0711347 -576847872 0.250211 -577110016 -0.282646 -577372160 0.391809 -577634304 0.743716 -577896448 0.274828 -579207168 -1.1328 -579469312 2.31447 -579731456 2.02462 -579993600 1.30062 -580255744 0.456765 -580517888 0.124148 -580780032 0.803798 -581042176 -0.287346 -581304320 0.949558 -581566464 0.67316 -581828608 1.10189 -582090752 1.28785 -583401472 2.20478 -583663616 -0.22223 -583925760 -1.20568 -584187904 0.0149705 -584450048 0.793184 -584712192 -0.147296 -584974336 0.757433 -585236480 1.53418 -585498624 -0.102433 -585760768 1.63918 -586022912 0.388957 -586285056 0.109066 -587595776 1.57753 -587857920 1.49463 -588120064 1.81493 -588382208 -0.833509 -590741504 -0.656034 -588644352 -0.570791 -588906496 0.396371 -589168640 0.175378 -589430784 0.128522 -589692928 0.514887 -589955072 0.247087 -591003648 2.001 -590217216 1.54964 -590479360 1.90081 -575045632 -1.03644 -575307776 -1.21489 -575569920 -0.020565 -575832064 1.83937 -576094208 -0.0764598 -576356352 0.788257 -576618496 0.731987 -576880640 -1.03018 -577142784 2.75401 -577404928 0.560813 -577667072 1.23473 -577929216 0.694355 -579239936 -0.851857 -579502080 1.01199 -579764224 0.800888 -580026368 0.0867209 -580288512 2.10413 -580550656 1.605 -580812800 1.65063 -581074944 2.96054 -581337088 1.52459 -581599232 -0.386601 -581861376 0.279763 -582123520 1.16737 -583434240 -0.233972 -583696384 1.79449 -583958528 1.66452 -584220672 -0.813391 -584482816 0.773123 -584744960 0.115383 -585007104 1.12577 -585269248 1.3905 -585531392 0.0127318 -585793536 0.727783 -586055680 0.543869 -586317824 0.643478 -587628544 -0.89577 -587890688 0.0989628 -588152832 2.05043 -588414976 0.203489 -590774272 1.32207 -588677120 1.45415 -588939264 0.57996 -589201408 0.382282 -589463552 2.67474 -589725696 0.244932 -589987840 -0.438003 -591036416 -1.41455 -590249984 1.40473 -590512128 2.35476 -604017672 1.55259 -604017744 4.41434 -604017752 1.93279 -604017760 1.55821 -604017768 3.1165 -604017776 2.55792 -604017784 0.680428 -604017792 2.79299 -604017800 0.64554 -604017808 3.18193 -604017816 4.13025 -604017680 1.67737 -604017824 4.14239 -604017832 2.2979 -604017840 2.15507 -604017848 1.02768 -604017856 1.72511 -604017864 0.71384 -604017872 1.98499 -604017880 3.94256 -604017888 2.14134 -604017896 1.94862 -604017688 1.02894 -604017904 2.38044 -604017912 1.9018 -604017920 3.33885 -604017928 4.15043 -604017936 2.59769 -604017944 1.64873 -604017952 3.3453 -604017696 4.61682 -604017704 2.8253 -604017712 3.55912 -604017720 2.4758 -604017728 1.49002 -604017736 2.72299 -604018184 4.43154 -604018256 2.1396 -604018264 1.75271 -604018272 2.45571 -604018280 1.46096 -604018288 1.85916 -604018296 0.429667 -604018304 2.53527 -604018312 2.60939 -604018320 2.16214 -604018328 2.50575 -604018192 2.91208 -604018336 2.01087 -604018344 2.53829 -604018352 2.43601 -604018360 3.50405 -604018368 3.79587 -604018376 1.8548 -604018384 2.79562 -604018392 3.20193 -604018400 2.31278 -604018408 2.6465 -604018200 3.78825 -604018416 4.11686 -604018424 1.97553 -604018432 0.538769 -604018440 4.58903 -604018448 2.4132 -604018456 1.99437 -604018464 2.22579 -604018208 2.38566 -604018216 1.47588 -604018224 0.505544 -604018232 2.54042 -604018240 1.9076 -604018248 1.76157 -604018696 2.5446 -604018768 1.71539 -604018776 0.992546 -604018784 3.23785 -604018792 2.51926 -604018800 1.7961 -604018808 2.88717 -604018816 1.65125 -604018824 1.3996 -604018832 3.01295 -604018840 3.52379 -604018704 2.5457 -604018848 2.21789 -604018856 2.88136 -604018864 0.716905 -604018872 1.83012 -604018880 0.980368 -604018888 3.59364 -604018896 1.99184 -604018904 4.13054 -604018912 3.41253 -604018920 3.15713 -604018712 2.8398 -604018928 1.8088 -604018936 3.0397 -604018944 2.63389 -604018952 2.00921 -604018960 0.88441 -604018968 1.82356 -604018976 4.22291 -604018720 2.36746 -604018728 2.69002 -604018736 1.28326 -604018744 4.05671 -604018752 2.08254 -604018760 1.4724 -604021256 3.38337 -604021328 2.25177 -604021336 0.479889 -604021344 4.46225 -604021352 2.5752 -604021360 3.64354 -604021368 2.05851 -604021376 2.26406 -604021384 2.48935 -604021392 0.846236 -604021264 2.59514 -604021272 1.63596 -604021280 2.73865 -604021288 2.29097 -604021296 2.0481 -604021304 1.97701 -604021312 1.66158 -604021320 4.18503 -604021768 1.86093 -604021840 2.48017 -604021848 0.630095 -604021856 1.36865 -604021864 0.877344 -604021872 2.80388 -604021880 1.36526 -604021888 1.87488 -604021896 3.14974 -604021904 1.62532 -604021912 0.511952 -604021776 2.10114 -604021920 2.08636 -604021928 3.97056 -604021936 4.42001 -604021944 2.60365 -604021952 3.03986 -604021960 4.37508 -604021968 2.91226 -604021976 1.04215 -604021984 3.59412 -604021992 2.83555 -604021784 1.81771 -604022000 0.241794 -604022008 -0.682016 -604022016 2.5001 -604022024 2.46569 -604022032 1.07884 -604022040 1.20147 -604022048 1.14024 -604021792 1.38235 -604021800 1.93592 -604021808 1.24039 -604021816 1.99746 -604021824 0.824587 -604021832 1.70309 -604025352 2.67761 -604025424 1.69096 -604025432 0.354091 -604025440 3.74146 -604025448 2.28775 -604025456 2.43066 -604025464 1.65509 -604025472 2.74859 -604025480 2.79539 -604025488 2.44443 -604025360 1.86419 -604025368 2.67385 -604025376 2.56461 -604025384 2.90299 -604025392 3.98767 -604025400 2.29008 -604025408 2.19707 -604025416 1.8338 -604025864 3.54191 -604025936 1.11573 -604025944 1.30754 -604025952 0.634763 -604025960 1.3058 -604025968 4.3694 -604025976 4.75587 -604025984 0.823417 -604025992 2.35521 -604026000 2.54804 -604026008 3.14186 -604025872 2.95414 -604026016 0.476298 -604026024 2.44145 -604026032 2.44878 -604026040 1.31971 -604026048 1.99653 -604026056 2.22133 -604026064 0.412224 -604026072 2.12993 -604026080 1.85301 -604026088 1.13907 -604025880 1.70067 -604026096 2.87865 -604026104 1.94034 -604026112 3.18545 -604026120 2.67214 -604026128 1.87586 -604026136 2.58763 -604026144 1.36402 -604025888 2.41699 -604025896 2.24784 -604025904 1.39881 -604025912 3.21081 -604025920 4.09955 -604025928 2.55475 -604029448 1.14854 -604029520 2.05961 -604029528 2.11095 -604029536 3.32941 -604029544 2.01407 -604029552 3.14971 -604029560 3.30424 -604029568 2.70818 -604029576 1.1931 -604029584 2.46563 -604029456 4.25291 -604029464 0.588643 -604029472 2.57577 -604029480 3.52009 -604029488 2.65626 -604029496 4.48166 -604029504 4.21645 -604029512 1.29222 -604029960 3.26463 -604030032 2.29978 -604030040 3.83195 -604030048 2.6195 -604030056 3.4741 -604030064 1.35196 -604030072 1.97654 -604030080 2.30716 -604030088 4.02774 -604030096 3.24886 -604030104 1.64115 -604029968 1.37078 -604030112 1.56748 -604030120 3.09675 -604030128 3.61719 -604030136 2.68121 -604030144 4.22842 -604030152 1.72178 -604030160 2.56361 -604030168 4.25976 -604030176 0.922411 -604030184 1.37342 -604029976 1.20006 -604030192 1.82204 -604030200 1.96089 -604030208 2.97825 -604030216 1.84574 -604030224 3.33971 -604030232 3.91455 -604030240 1.80197 -604029984 1.77732 -604029992 2.68387 -604030000 1.43896 -604030008 0.590523 -604030016 3.15329 -604030024 2.06223 -604050440 1.77854 -604050512 1.81196 -604050520 2.43735 -604050528 2.34613 -604050536 1.91888 -604050544 1.6314 -604050552 -0.09012 -604050560 -0.569445 -604050568 1.14178 -604050576 2.32897 -604050584 2.1494 -604050448 2.25335 -604050592 2.9518 -604050600 1.63476 -604050608 3.24563 -604050616 3.0436 -604050624 2.19357 -604050632 1.90989 -604050640 2.49308 -604050648 2.97977 -604050656 3.22413 -604050664 3.77249 -604050456 2.06896 -604050672 0.536637 -604050680 2.3531 -604050688 1.62644 -604050696 2.48378 -604050704 1.75731 -604050712 3.1318 -604050720 4.28085 -604050464 1.82843 -604050472 1.34301 -604050480 1.29198 -604050488 2.1524 -604050496 2.51966 -604050504 3.82349 -604050952 2.13727 -604051024 2.45569 -604051032 3.39008 -604051040 1.10914 -604051048 1.90291 -604051056 3.71474 -604051064 1.23615 -604051072 3.24734 -604051080 3.15173 -604051088 3.04892 -604051096 3.75315 -604050960 5.46297 -604051104 1.96184 -604051112 1.0999 -604051120 2.21553 -604051128 3.17752 -604051136 3.85967 -604051144 0.570779 -604051152 2.63558 -604051160 2.13718 -604051168 2.17491 -604051176 1.69955 -604050968 2.51432 -604051184 0.934878 -604051192 2.45028 -604051200 2.56857 -604051208 2.64108 -604051216 1.55604 -604051224 2.71766 -604051232 3.24476 -604050976 2.32059 -604050984 1.21757 -604050992 2.11634 -604051000 2.7272 -604051008 2.22132 -604051016 0.923446 -604051464 4.10345 -604051536 2.91343 -604051544 2.32148 -604051552 2.07458 -604051560 2.60435 -604051568 4.19221 -604051576 3.8109 -604051584 3.29898 -604051592 3.41096 -604051600 1.58226 -604051608 2.97562 -604051472 2.18041 -604051616 2.3157 -604051624 3.36334 -604051632 2.09736 -604051640 2.03118 -604051648 3.1033 -604051656 3.70557 -604051664 1.64116 -604051672 1.68481 -604051680 1.08655 -604051688 2.42974 -604051480 1.45707 -604051696 4.40897 -604051704 3.24494 -604051712 2.95879 -604051720 1.35576 -604051728 2.5251 -604051736 2.97639 -604051744 0.685691 -604051488 2.57585 -604051496 3.34106 -604051504 4.33363 -604051512 2.54704 -604051520 4.19062 -604051528 2.26319 -604054024 0.827515 -604054096 1.76304 -604054104 2.94733 -604054112 2.49879 -604054120 2.37119 -604054128 1.22621 -604054136 2.46175 -604054144 2.38522 -604054152 2.8182 -604054160 0.770496 -604054032 1.6556 -604054040 2.61173 -604054048 1.00627 -604054056 1.74014 -604054064 2.99668 -604054072 2.75159 -604054080 3.00399 -604054088 1.53138 -604054536 2.76046 -604054608 2.64539 -604054616 2.96397 -604054624 1.68617 -604054632 3.54186 -604054640 2.97525 -604054648 3.67945 -604054656 3.19217 -604054664 2.45864 -604054672 2.45797 -604054680 2.38232 -604054544 2.79776 -604054688 2.10778 -604054696 1.21832 -604054704 3.46042 -604054712 3.64181 -604054720 1.97601 -604054728 2.87933 -604054736 1.72722 -604054744 0.46691 -604054752 2.28025 -604054760 5.49371 -604054552 2.42273 -604054768 4.14478 -604054776 1.91433 -604054784 3.37261 -604054792 1.90299 -604054800 0.833405 -604054808 1.78267 -604054816 2.28209 -604054560 2.25767 -604054568 1.98761 -604054576 2.57353 -604054584 2.71307 -604054592 3.72923 -604054600 2.95455 -604058120 2.65223 -604058192 0.555761 -604058200 1.95522 -604058208 0.516024 -604058216 -0.145868 -604058224 4.01197 -604058232 1.33103 -604058240 1.39696 -604058248 1.76018 -604058256 2.08263 -604058128 2.56633 -604058136 2.6099 -604058144 3.34117 -604058152 1.85606 -604058160 1.59694 -604058168 3.32004 -604058176 1.23301 -604058184 3.90189 -604058632 3.00247 -604058704 1.7349 -604058712 3.20592 -604058720 3.98986 -604058728 1.19036 -604058736 3.39278 -604058744 1.46878 -604058752 -0.00393421 -604058760 1.31965 -604058768 3.2371 -604058776 2.28871 -604058640 2.46089 -604058784 2.08505 -604058792 2.39657 -604058800 3.05317 -604058808 1.83619 -604058816 2.3348 -604058824 1.75781 -604058832 1.67144 -604058840 3.67116 -604058848 1.8047 -604058856 1.94308 -604058648 3.18522 -604058864 2.86966 -604058872 3.96248 -604058880 1.45241 -604058888 4.76648 -604058896 2.21639 -604058904 2.88115 -604058912 0.632078 -604058656 2.2048 -604058664 2.03014 -604058672 2.654 -604058680 1.19852 -604058688 2.59821 -604058696 1.61578 -604062216 3.43987 -604062288 1.62933 -604062296 3.91364 -604062304 1.40196 -604062312 2.40485 -604062320 3.43573 -604062328 2.11308 -604062336 3.81388 -604062344 1.46341 -604062352 1.7554 -604062224 1.32159 -604062232 1.78612 -604062240 1.13668 -604062248 2.18276 -604062256 1.6271 -604062264 2.31982 -604062272 4.20088 -604062280 2.47026 -604062728 0.732653 -604062800 2.86122 -604062808 2.07839 -604062816 2.76152 -604062824 2.24604 -604062832 2.06382 -604062840 3.67834 -604062848 0.640519 -604062856 3.24762 -604062864 1.00324 -604062872 1.62168 -604062736 3.85504 -604062880 2.93482 -604062888 1.99362 -604062896 3.54868 -604062904 0.351049 -604062912 0.501146 -604062920 3.11214 -604062928 2.30813 -604062936 2.68453 -604062944 2.22735 -604062952 5.13231 -604062744 2.12739 -604062960 5.14618 -604062968 2.04973 -604062976 0.0771425 -604062984 1.45535 -604062992 4.6677 -604063000 0.27169 -604063008 1.56821 -604062752 1.47326 -604062760 1.83933 -604062768 2.84993 -604062776 2.23832 -604062784 2.54982 -604062792 1.85964 diff --git a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h b/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h deleted file mode 100644 index e66d6f38de410..0000000000000 --- a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h +++ /dev/null @@ -1,69 +0,0 @@ -// system include files -#include -#include -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/GeometryVector/interface/GlobalPoint.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" - -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" - -#include "TrackingTools/TrackAssociator/interface/TrackDetectorAssociator.h" -#include "TrackingTools/TrackAssociator/interface/TrackAssociatorParameters.h" -#include "TrackingTools/TrackAssociator/interface/DetIdAssociator.h" -#include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" - -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPCaloInfo.h" - -class BetaCalculatorECAL { -public: - BetaCalculatorECAL(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC); - void addInfoToCandidate(susybsm::HSCParticle& candidate, - edm::Handle& tracks, - edm::Event& iEvent, - const edm::EventSetup& iSetup, - susybsm::HSCPCaloInfo& caloInfo); - -private: - int getDetailedTrackLengthInXtals(std::map& trackExitPositionMap, - std::map& trackCrossedXtalMap, - double& totalLengthCurved, - GlobalPoint& internalPointCurved, - GlobalPoint& externalPointCurved, - const CaloGeometry* theGeometry, - const CaloTopology* theTopology, - const std::vector& neckLace); - std::vector calcEcalDeposit(const FreeTrajectoryState* tkInnerState, - const DetIdAssociator& associator); - void addStepToXtal(std::map& trackExitPositionMap, - std::map& trackCrossedXtalMap, - DetId aDetId, - float step, - GlobalPoint point, - const CaloSubdetectorGeometry* theSubdetGeometry); - - // Data members - TrackDetectorAssociator trackAssociator_; - TrackAssociatorParameters parameters_; - edm::EDGetTokenT EBRecHitCollectionToken_; - edm::EDGetTokenT EERecHitCollectionToken_; - - edm::ESGetToken ecalDetIdAssociatorToken_; - edm::ESGetToken bFieldToken_; - edm::ESGetToken theCaloGeometryToken_; - edm::ESGetToken caloTopologyToken_; - const MagneticField* bField_; -}; diff --git a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h b/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h deleted file mode 100644 index 21d04f43af3a4..0000000000000 --- a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h +++ /dev/null @@ -1,30 +0,0 @@ -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/MuonReco/interface/MuonTimeExtra.h" -#include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" - -class BetaCalculatorMUON { -public: - BetaCalculatorMUON(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC); - void addInfoToCandidate(susybsm::HSCParticle& candidate, edm::Event& iEvent, const edm::EventSetup& iSetup); - - edm::EDGetTokenT m_muontiming_dt; - edm::EDGetTokenT m_muontiming_csc; - edm::EDGetTokenT m_muontiming_combined; -}; diff --git a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h b/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h deleted file mode 100644 index 4476bb443fac1..0000000000000 --- a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h +++ /dev/null @@ -1,47 +0,0 @@ -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" - -class BetaCalculatorRPC { -public: - BetaCalculatorRPC(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC); - void algo(const std::vector& HSCPRPCRecHits); - void addInfoToCandidate(susybsm::HSCParticle& candidate, const edm::Event& iEvent, const edm::EventSetup& iSetup); - float beta() { return betavalue; } - -private: - bool foundvalue; - float phivalue; - float etavalue; - float betavalue; - - float etarange(float eta1, float eta2, float eta3); - float dist(float phi1, float phi2); - float dist3(float phi1, float phi2, float phi3); - - edm::EDGetTokenT rpcRecHitsToken; -}; diff --git a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h b/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h deleted file mode 100644 index de23cc597c1de..0000000000000 --- a/SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h +++ /dev/null @@ -1,38 +0,0 @@ -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/TrackReco/interface/DeDxData.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" - -class BetaCalculatorTK { -public: - BetaCalculatorTK(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC); - void addInfoToCandidate(susybsm::HSCParticle& candidate, edm::Event& iEvent, const edm::EventSetup& iSetup); - - edm::EDGetTokenT m_dedxEstimator1Token; - edm::EDGetTokenT m_dedxEstimator2Token; - edm::EDGetTokenT m_dedxEstimator3Token; - edm::EDGetTokenT m_dedxEstimator4Token; - edm::EDGetTokenT m_dedxEstimator5Token; - edm::EDGetTokenT m_dedxEstimator6Token; - edm::EDGetTokenT m_dedxDiscriminator1Token; - edm::EDGetTokenT m_dedxDiscriminator2Token; - edm::EDGetTokenT m_dedxDiscriminator3Token; - edm::EDGetTokenT m_dedxDiscriminator4Token; - edm::EDGetTokenT m_dedxDiscriminator5Token; - edm::EDGetTokenT m_dedxDiscriminator6Token; -}; diff --git a/SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h b/SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h deleted file mode 100644 index 1826b031159b7..0000000000000 --- a/SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h +++ /dev/null @@ -1,51 +0,0 @@ -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" - -class CandidateSelector { -public: - CandidateSelector(const edm::ParameterSet& iConfig); - bool isSelected(susybsm::HSCParticle& candidate); - - bool isTrack; - bool isMuon; - bool isMuonSTA; - bool isMuonGB; - bool isMuonTK; - bool isMTMuon; - bool isRpc; - bool isEcal; - - int minTrackHits; - float minTrackP; - float minTrackPt; - float minDedx; - - float minMuonP; - float minMuonPt; - float minSAMuonPt; - float minMTMuonPt; - - float maxMuTimeDtBeta; - float minMuTimeDtNdof; - float maxMuTimeCscBeta; - float minMuTimeCscNdof; - float maxMuTimeCombinedBeta; - float minMuTimeCombinedNdof; - - float maxBetaRpc; - float maxBetaEcal; -}; diff --git a/SUSYBSMAnalysis/HSCP/plugins/BuildFile.xml b/SUSYBSMAnalysis/HSCP/plugins/BuildFile.xml deleted file mode 100644 index 2ac621e976d65..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/BuildFile.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.cc deleted file mode 100644 index bf5618ebea598..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.cc +++ /dev/null @@ -1,217 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCPDeDxInfoProducer -// Class: HSCPDeDxInfoProducer -// -/**\class HSCPDeDxInfoProducer HSCPDeDxInfoProducer.cc RecoTracker/HSCPDeDxInfoProducer/src/HSCPDeDxInfoProducer.cc - - Description: - - Implementation: - -*/ -// -// Original Author: andrea -// Created: Thu May 31 14:09:02 CEST 2007 -// Code Updates: loic Quertenmont (querten) -// Created: Thu May 10 14:09:02 CEST 2008 -// -// - -#include "SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.h" - -// system include files - -using namespace reco; -using namespace std; -using namespace edm; - -HSCPDeDxInfoProducer::HSCPDeDxInfoProducer(const edm::ParameterSet& iConfig) { - produces >(); - - MaxNrStrips = iConfig.getUntrackedParameter("maxNrStrips", 255); - MinTrackHits = iConfig.getUntrackedParameter("MinTrackHits", 4); - MinTrackMomentum = iConfig.getUntrackedParameter("minTrackMomentum", 0.0); - MaxTrackMomentum = iConfig.getUntrackedParameter("maxTrackMomentum", 99999.0); - MinTrackEta = iConfig.getUntrackedParameter("minTrackEta", -5.0); - MaxTrackEta = iConfig.getUntrackedParameter("maxTrackEta", 5.0); - - m_tracksTag = consumes(iConfig.getParameter("tracks")); - m_trajTrackAssociationTag = - consumes(iConfig.getParameter("trajectoryTrackAssociation")); - useTrajectory = iConfig.getUntrackedParameter("UseTrajectory", true); - - usePixel = iConfig.getParameter("UsePixel"); - useStrip = iConfig.getParameter("UseStrip"); - meVperADCPixel = iConfig.getParameter("MeVperADCPixel"); - meVperADCStrip = iConfig.getParameter("MeVperADCStrip"); - - shapetest = iConfig.getParameter("ShapeTest"); - useCalibration = iConfig.getParameter("UseCalibration"); - m_calibrationPath = iConfig.getParameter("calibrationPath"); - - // Reccord = iConfig.getUntrackedParameter ("Reccord" , "SiStripDeDxMip_3D_Rcd"); - // ProbabilityMode = iConfig.getUntrackedParameter ("ProbabilityMode" , "Accumulation"); - // Prob_ChargePath = NULL; - - if (!usePixel && !useStrip) - edm::LogWarning("DeDxHitsProducer") - << "Pixel Hits AND Strip Hits will not be used to estimate dEdx --> BUG, Please Update the config file"; -} - -HSCPDeDxInfoProducer::~HSCPDeDxInfoProducer() {} - -// ------------ method called once each job just before starting event loop ------------ -void HSCPDeDxInfoProducer::beginRun(edm::Run const& run, const edm::EventSetup& iSetup) { - if (useCalibration && calibGains.empty()) { - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); - m_off = tkGeom->offsetDU(GeomDetEnumerators::PixelBarrel); //index start at the first pixel - - DeDxTools::makeCalibrationMap(m_calibrationPath, *tkGeom, calibGains, m_off); - } - - // DeDxTools::buildDiscrimMap(run, iSetup, Reccord, ProbabilityMode, Prob_ChargePath); -} - -void HSCPDeDxInfoProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - unique_ptr > trackDeDxAssociation(new ValueMap); - ValueMap::Filler filler(*trackDeDxAssociation); - - edm::Handle trackCollectionHandle; - iEvent.getByToken(m_tracksTag, trackCollectionHandle); - - Handle trajTrackAssociationHandle; - if (useTrajectory) - iEvent.getByToken(m_trajTrackAssociationTag, trajTrackAssociationHandle); - - std::vector dEdxInfos(trackCollectionHandle->size()); - - TrajTrackAssociationCollection::const_iterator cit; - if (useTrajectory) - cit = trajTrackAssociationHandle->begin(); - for (unsigned int j = 0; j < trackCollectionHandle->size(); j++) { - const reco::TrackRef track = reco::TrackRef(trackCollectionHandle.product(), j); - - susybsm::HSCPDeDxInfo hscpDeDxInfo; - - if (useTrajectory) { //trajectory allows to take into account the local direction of the particle on the module sensor --> muc much better 'dx' measurement - const edm::Ref > traj = cit->key; - cit++; - const vector& measurements = traj->measurements(); - for (vector::const_iterator it = measurements.begin(); it != measurements.end(); it++) { - TrajectoryStateOnSurface trajState = it->updatedState(); - if (!trajState.isValid()) - continue; - - const TrackingRecHit* recHit = (*it->recHit()).hit(); - if (!recHit) - continue; - LocalVector trackDirection = trajState.localDirection(); - float cosine = trackDirection.z() / trackDirection.mag(); - - processHit(recHit, trajState.localMomentum().mag(), cosine, hscpDeDxInfo, trajState.localPosition()); - } - - } else { //assume that the particles trajectory is a straight line originating from the center of the detector (can be improved) - for (unsigned int h = 0; h < track->recHitsSize(); h++) { - const TrackingRecHit* recHit = &(*(track->recHit(h))); - auto const& thit = static_cast(*recHit); - if (!thit.isValid()) - continue; //make sure it's a tracker hit - - const GlobalVector& ModuleNormal = recHit->detUnit()->surface().normalVector(); - float cosine = - (track->px() * ModuleNormal.x() + track->py() * ModuleNormal.y() + track->pz() * ModuleNormal.z()) / - track->p(); - - processHit(recHit, track->p(), cosine, hscpDeDxInfo, LocalPoint(0.0, 0.0)); - } - } - - dEdxInfos[j] = hscpDeDxInfo; - } - /////////////////////////////////////// - - filler.insert(trackCollectionHandle, dEdxInfos.begin(), dEdxInfos.end()); - filler.fill(); - iEvent.put(std::move(trackDeDxAssociation)); -} - -void HSCPDeDxInfoProducer::processHit(const TrackingRecHit* recHit, - float trackMomentum, - float& cosine, - susybsm::HSCPDeDxInfo& hscpDeDxInfo, - LocalPoint HitLocalPos) { - auto const& thit = static_cast(*recHit); - if (!thit.isValid()) - return; - - auto const& clus = thit.firstClusterRef(); - if (!clus.isValid()) - return; - - if (clus.isPixel()) { - if (!usePixel) - return; - - auto& detUnit = *(recHit->detUnit()); - float pathLen = detUnit.surface().bounds().thickness() / fabs(cosine); - float chargeAbs = clus.pixelCluster().charge(); - hscpDeDxInfo.charges.push_back(chargeAbs); - hscpDeDxInfo.pathlengths.push_back(pathLen); - hscpDeDxInfo.detIds.push_back(thit.geographicalId()); - hscpDeDxInfo.localPosXs.push_back(HitLocalPos.x()); - hscpDeDxInfo.localPosYs.push_back(HitLocalPos.y()); - hscpDeDxInfo.clusterIndices.push_back(clus.key()); - } else if (clus.isStrip() && !thit.isMatched()) { - if (!useStrip) - return; - - auto& detUnit = *(recHit->detUnit()); - int NSaturating = 0; - float pathLen = detUnit.surface().bounds().thickness() / fabs(cosine); - float chargeAbs = DeDxTools::getCharge(&(clus.stripCluster()), NSaturating, detUnit, calibGains, m_off); - hscpDeDxInfo.charges.push_back(chargeAbs); - hscpDeDxInfo.pathlengths.push_back(pathLen); - hscpDeDxInfo.detIds.push_back(thit.geographicalId()); - hscpDeDxInfo.localPosXs.push_back(HitLocalPos.x()); - hscpDeDxInfo.localPosYs.push_back(HitLocalPos.y()); - hscpDeDxInfo.clusterIndices.push_back(clus.key()); - } else if (clus.isStrip() && thit.isMatched()) { - if (!useStrip) - return; - const SiStripMatchedRecHit2D* matchedHit = dynamic_cast(recHit); - if (!matchedHit) - return; - - auto& detUnitM = *(matchedHit->monoHit().detUnit()); - int NSaturating = 0; - float pathLen = detUnitM.surface().bounds().thickness() / fabs(cosine); - float chargeAbs = - DeDxTools::getCharge(&(matchedHit->monoHit().stripCluster()), NSaturating, detUnitM, calibGains, m_off); - hscpDeDxInfo.charges.push_back(chargeAbs); - hscpDeDxInfo.pathlengths.push_back(pathLen); - hscpDeDxInfo.detIds.push_back(thit.geographicalId()); - hscpDeDxInfo.localPosXs.push_back(HitLocalPos.x()); - hscpDeDxInfo.localPosYs.push_back(HitLocalPos.y()); - const OmniClusterRef monoClusterRef = matchedHit->monoClusterRef(); - hscpDeDxInfo.clusterIndices.push_back(monoClusterRef.key()); - - auto& detUnitS = *(matchedHit->stereoHit().detUnit()); - NSaturating = 0; - pathLen = detUnitS.surface().bounds().thickness() / fabs(cosine); - chargeAbs = - DeDxTools::getCharge(&(matchedHit->stereoHit().stripCluster()), NSaturating, detUnitS, calibGains, m_off); - hscpDeDxInfo.charges.push_back(chargeAbs); - hscpDeDxInfo.pathlengths.push_back(pathLen); - hscpDeDxInfo.detIds.push_back(thit.geographicalId()); - hscpDeDxInfo.localPosXs.push_back(HitLocalPos.x()); - hscpDeDxInfo.localPosYs.push_back(HitLocalPos.y()); - const OmniClusterRef stereoClusterRef = matchedHit->stereoClusterRef(); - hscpDeDxInfo.clusterIndices.push_back(stereoClusterRef.key()); - } -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HSCPDeDxInfoProducer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.h b/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.h deleted file mode 100644 index 3da1232bac5b8..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPDeDxInfoProducer.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef TrackRecoDeDx_HSCPDeDxInfoProducer_H -#define TrackRecoDeDx_HSCPDeDxInfoProducer_H -// user include files - -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" -#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" - -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/TrackReco/interface/DeDxData.h" -#include "DataFormats/TrackReco/interface/TrackDeDxHits.h" -#include "DataFormats/TrackReco/interface/DeDxHit.h" -#include "DataFormats/TrackReco/interface/Track.h" - -#include "RecoTracker/DeDx/interface/DeDxTools.h" -#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPDeDxInfo.h" - -// -// class declaration -// - -class HSCPDeDxInfoProducer : public edm::stream::EDProducer<> { -public: - explicit HSCPDeDxInfoProducer(const edm::ParameterSet&); - ~HSCPDeDxInfoProducer() override; - -private: - void beginRun(edm::Run const& run, const edm::EventSetup&) override; - void produce(edm::Event&, const edm::EventSetup&) override; - - void makeCalibrationMap(const TrackerGeometry& tkGeom); - void processHit(const TrackingRecHit* recHit, - float trackMomentum, - float& cosine, - susybsm::HSCPDeDxInfo& hscpDeDxInfo, - LocalPoint HitLocalPos); - - // ----------member data --------------------------- - - edm::EDGetTokenT m_trajTrackAssociationTag; - edm::EDGetTokenT m_tracksTag; - - bool useTrajectory; - bool usePixel; - bool useStrip; - float meVperADCPixel; - float meVperADCStrip; - - unsigned int MaxNrStrips; - unsigned int MinTrackHits; - float MinTrackMomentum; - float MaxTrackMomentum; - float MinTrackEta; - float MaxTrackEta; - float MaxTrackChiOverNdf; - - std::string m_calibrationPath; - bool useCalibration; - bool shapetest; - - std::vector > calibGains; - unsigned int m_off; - - std::string Reccord; - std::string ProbabilityMode; - TH3F* Prob_ChargePath; -}; - -#endif diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc deleted file mode 100644 index 0ab06761be06e..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPHLTFilter.cc +++ /dev/null @@ -1,435 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/View.h" - -#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" - -#include "FWCore/Common/interface/TriggerResultsByName.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" - -// -// class declaration -// - -using namespace edm; - -class HSCPHLTFilter : public edm::EDFilter { -public: - explicit HSCPHLTFilter(const edm::ParameterSet&); - ~HSCPHLTFilter() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - bool isDuplicate(unsigned int Run, unsigned int Event); - - bool IncreasedTreshold(const trigger::TriggerEvent& trEv, - const edm::InputTag& InputPath, - double NewThreshold, - double etaCut, - int NObjectAboveThreshold, - bool averageThreshold); - - std::string TriggerProcess; - edm::EDGetTokenT triggerResultsToken_; - edm::EDGetTokenT trEvToken; - std::map DuplicateMap; - - unsigned int CountEvent; - unsigned int MaxPrint; - bool RemoveDuplicates; - int MuonTrigger1Mask; - int MuonTrigger2Mask; - int PFMetTriggerMask; - int CaloMetTriggerMask; - int L2MuMETTriggerMask; -}; - -///////////////////////////////////////////////////////////////////////////////////// -HSCPHLTFilter::HSCPHLTFilter(const edm::ParameterSet& iConfig) { - RemoveDuplicates = iConfig.getParameter("RemoveDuplicates"); - - TriggerProcess = iConfig.getParameter("TriggerProcess"); - triggerResultsToken_ = consumes(edm::InputTag("TriggerResults", "", TriggerProcess)); - - trEvToken = consumes(edm::InputTag("hltTriggerSummaryAOD")); - MuonTrigger1Mask = iConfig.getParameter("MuonTrigger1Mask"); - PFMetTriggerMask = iConfig.getParameter("PFMetTriggerMask"); - L2MuMETTriggerMask = iConfig.getParameter("L2MuMETTriggerMask"); - - CountEvent = 0; - MaxPrint = 10000; -} - -///////////////////////////////////////////////////////////////////////////////////// -HSCPHLTFilter::~HSCPHLTFilter() {} - -///////////////////////////////////////////////////////////////////////////////////// -void HSCPHLTFilter::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void HSCPHLTFilter::endJob() {} - -bool HSCPHLTFilter::isDuplicate(unsigned int Run, unsigned int Event) { - char tmp[255]; - sprintf(tmp, "%i_%i", Run, Event); - std::map::iterator it = DuplicateMap.find(std::string(tmp)); - if (it == DuplicateMap.end()) { - DuplicateMap[std::string(tmp)] = true; - return false; - } - return true; -} - -///////////////////////////////////////////////////////////////////////////////////// -bool HSCPHLTFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - edm::Handle triggerResults; - iEvent.getByToken(triggerResultsToken_, triggerResults); - - edm::TriggerResultsByName tr(nullptr, nullptr); - if (triggerResults.isValid()) { - tr = iEvent.triggerResultsByName(*triggerResults); - } - if (!tr.isValid()) { - printf("NoValidTrigger\n"); - } - - if (RemoveDuplicates) { - if (isDuplicate(iEvent.eventAuxiliary().run(), iEvent.eventAuxiliary().event())) - return false; - else - return true; - } - - //for(unsigned int i=0;i %1i\n",i, tr.triggerName(i).c_str(),tr.accept(i)); - //}fflush(stdout); - - edm::Handle trEvHandle; - iEvent.getByToken(trEvToken, trEvHandle); - trigger::TriggerEvent trEv = *trEvHandle; - - CountEvent++; - //if(CountEvent HLT_Mu30_v1 not found\n"); - for (unsigned int i = 0; i < tr.size(); i++) { - printf("Path %3i %50s --> %1i\n", i, tr.triggerName(i).c_str(), tr.accept(i)); - } - fflush(stdout); - exit(0); - } - } - } - } - } - } - } - } - } - } - } - } - - // HLT TRIGGER BASED ON PF MET! - //Only look for trigger if we are making a decision based on it - if (PFMetTriggerMask != 0) { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v17")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v17"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v16")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v16"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v12")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v12"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v11")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v11"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v10")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v10"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v9")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v9"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v8")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v8"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v7")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v7"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v6")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v6"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v5")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v5"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v4")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v4"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v3")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v3"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v2")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v2"))) { - PFMetTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v1")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v1"))) { - PFMetTrigger = true; - } - } else { - printf("HSCPHLTFilter --> HLT_PFMHT150_v2 or v1 not found\n"); - for (unsigned int i = 0; i < tr.size(); i++) { - printf("Path %3i %50s --> %1i\n", i, tr.triggerName(i).c_str(), tr.accept(i)); - } - fflush(stdout); - exit(0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - - // HLT TRIGGER BASED ON L2Mu + MET! - //Only look for trigger if we are making a decision based on it - if (L2MuMETTriggerMask != 0) { - //Early 2011 running had a L2Mu60_1Hit_MET40 which was prescaled away, need to raise threshold - - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v6")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v6"))) { - L2MuMETTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v5")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v5"))) { - L2MuMETTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v4")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v4"))) { - L2MuMETTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v3")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v3"))) { - L2MuMETTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v2")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v2"))) { - L2MuMETTrigger = true; - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v1")) { - if (tr.accept(tr.triggerIndex("HLT_L2Mu60_1Hit_MET60_v1"))) { - L2MuMETTrigger = true; - } - } - } - } - } - } - } - - if (L2MuMETTriggerMask == 2) { - //Special case for background MC in 2011 as it does not have trigger included in menu. Background MC only used as cross check - //so make approximation of trigger to collect similar events for checks - if (IncreasedTreshold(trEv, InputTag("hltL2Mu20L2Filtered20", "", TriggerProcess), 60, 2.1, 1, false) && - IncreasedTreshold(trEv, InputTag("hltMET80", "", TriggerProcess), 80, 2.1, 1, false)) { - L2MuMETTrigger = true; - } - } - } - - //printf("Bits = %1i %1i %1i X Mask = %+2i %+2i %+2i -->",MuonTrigger,CaloMetTrigger,CaloMetTrigger,MuonTriggerMask,CaloMetTriggerMask,CaloMetTriggerMask); - - if (MuonTrigger1Mask == 0) - MuonTrigger1 = false; - if (PFMetTriggerMask == 0) - PFMetTrigger = false; - if (L2MuMETTriggerMask == 0) - L2MuMETTrigger = false; - - //Allow option of requiring that one of the triggers did NOT fire to remove duplicated events - if (MuonTrigger1Mask < 0 && MuonTrigger1) - return false; - if (PFMetTriggerMask < 0 && PFMetTrigger) - return false; - if (L2MuMETTriggerMask < 0 && L2MuMETTrigger) - return false; - - bool d = (MuonTrigger1 | PFMetTrigger | L2MuMETTrigger); - /* printf("%i\n",d);*/ return d; -} - -bool HSCPHLTFilter::IncreasedTreshold(const trigger::TriggerEvent& trEv, - const edm::InputTag& InputPath, - double NewThreshold, - double etaCut, - int NObjectAboveThreshold, - bool averageThreshold) { - unsigned int filterIndex = trEv.filterIndex(InputPath); - //if(filterIndex %s XXX %s\n",filterIndex,trEv.filterTag(filterIndex).label().c_str(), trEv.filterTag(filterIndex).process().c_str()); - - if (filterIndex < trEv.sizeFilters()) { - const trigger::Vids& VIDS(trEv.filterIds(filterIndex)); - const trigger::Keys& KEYS(trEv.filterKeys(filterIndex)); - const int nI(VIDS.size()); - const int nK(KEYS.size()); - assert(nI == nK); - const int n(std::max(nI, nK)); - const trigger::TriggerObjectCollection& TOC(trEv.getObjects()); - - if (!averageThreshold) { - int NObjectAboveThresholdObserved = 0; - for (int i = 0; i != n; ++i) { - if (TOC[KEYS[i]].pt() > NewThreshold && fabs(TOC[KEYS[i]].eta()) < etaCut) - NObjectAboveThresholdObserved++; - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl; - } - if (NObjectAboveThresholdObserved >= NObjectAboveThreshold) - return true; - - } else { - std::vector ObjPt; - - for (int i = 0; i != n; ++i) { - ObjPt.push_back(TOC[KEYS[i]].pt()); - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl; - } - if ((int)(ObjPt.size()) < NObjectAboveThreshold) - return false; - std::sort(ObjPt.begin(), ObjPt.end()); - - double Average = 0; - for (int i = 0; i < NObjectAboveThreshold; i++) { - Average += ObjPt[ObjPt.size() - 1 - i]; - } - Average /= NObjectAboveThreshold; - //cout << "AVERAGE = " << Average << endl; - - if (Average > NewThreshold) - return true; - } - } - return false; -} - -DEFINE_FWK_MODULE(HSCPHLTFilter); diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPTreeBuilder.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCPTreeBuilder.cc deleted file mode 100644 index 2f56bac53c9fb..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPTreeBuilder.cc +++ /dev/null @@ -1,623 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCPTreeBuilder -// Class: HSCPTreeBuilder -// -/**\class HSCPTreeBuilder HSCPTreeBuilder.cc SUSYBSMAnalysis/HSCP/src/HSCPTreeBuilder.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Loic QUERTENMONT -// Created: Thu Mar 11 12:19:07 CEST 2010 -// - -#include -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Utilities/interface/Exception.h" - -#include "DataFormats/TrackReco/interface/DeDxData.h" - -#include -#include - -#include "Geometry/CommonDetUnit/interface/GeomDet.h" -#include "Geometry/CommonDetUnit/interface/GeomDetType.h" -#include "Geometry/CommonTopologies/interface/StripTopology.h" -#include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h" -#include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h" - -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" -#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" -#include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" - -#include "DataFormats/SiStripCluster/interface/SiStripClusterCollection.h" - -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/SiStripDetId/interface/StripSubdetector.h" - -#include "TrackingTools/PatternTools/interface/Trajectory.h" -#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/Common/interface/TriggerResults.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "FWCore/Framework/interface/TriggerNamesService.h" - -#include "DataFormats/BeamSpot/interface/BeamSpot.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -#include "CommonTools/UtilAlgos/interface/DeltaR.h" - -#include "CondFormats/DataRecord/interface/L1GtTriggerMaskTechTrigRcd.h" -#include "CondFormats/DataRecord/interface/L1GtTriggerMaskAlgoTrigRcd.h" -#include "CondFormats/L1TObjects/interface/L1GtTriggerMask.h" -#include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include "DataFormats/MuonReco/interface/MuonTimeExtra.h" -#include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" - -#include "TFile.h" -#include "TObjString.h" -#include "TString.h" -#include "TH1F.h" -#include "TH2F.h" -#include "TProfile.h" -#include "TF1.h" -#include "TTree.h" -#include "TROOT.h" - -#include - -using namespace edm; -using namespace reco; -using namespace std; -using namespace __gnu_cxx; - -#define MAX_VERTICES 1000 -#define MAX_HSCPS 10000 -#define MAX_GENS 10000 -#define MAX_ECALCRYS 10 - -class HSCPTreeBuilder : public edm::EDFilter { -public: - explicit HSCPTreeBuilder(const edm::ParameterSet&); - ~HSCPTreeBuilder() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - int ClosestMuonIndex(reco::TrackRef track, std::vector); - - const edm::EventSetup* iSetup_; - const edm::Event* iEvent_; - - edm::Service tfs; - - EDGetTokenT m_gtReadoutRecordToken; - EDGetTokenT m_trToken; - EDGetTokenT m_recoVertexToken; - EDGetTokenT m_genParticlesToken; - EDGetTokenT m_HSCPsToken; - bool reccordVertexInfo; - bool reccordGenInfo; - - TTree* MyTree; - bool Event_triggerL1Bits[192]; - bool Event_triggerHLTBits[128]; - bool Event_technicalBits[64]; - unsigned int Event_EventNumber; - unsigned int Event_RunNumber; - unsigned int Event_LumiSection; - unsigned int Event_BXCrossing; - unsigned int Event_Orbit; - unsigned int Event_Store; - unsigned int Event_Time; - bool Event_PhysicsDeclared; - float Event_BField; - - unsigned int NVertices; - float Vertex_x[MAX_VERTICES]; - float Vertex_y[MAX_VERTICES]; - float Vertex_z[MAX_VERTICES]; - float Vertex_x_err[MAX_VERTICES]; - float Vertex_y_err[MAX_VERTICES]; - float Vertex_z_err[MAX_VERTICES]; - int Vertex_TrackSize[MAX_VERTICES]; - float Vertex_chi2[MAX_VERTICES]; - float Vertex_ndof[MAX_VERTICES]; - bool Vertex_isFake[MAX_VERTICES]; - - unsigned int NHSCPs; - bool Hscp_hasTrack[MAX_HSCPS]; - bool Hscp_hasMuon[MAX_HSCPS]; - bool Hscp_hasRpc[MAX_HSCPS]; - bool Hscp_hasCalo[MAX_HSCPS]; - int Hscp_type[MAX_HSCPS]; - unsigned int Track_NOH[MAX_HSCPS]; - float Track_p[MAX_HSCPS]; - float Track_pt[MAX_HSCPS]; - float Track_pt_err[MAX_HSCPS]; - float Track_chi2[MAX_HSCPS]; - unsigned int Track_ndof[MAX_HSCPS]; - float Track_eta[MAX_HSCPS]; - float Track_eta_err[MAX_HSCPS]; - float Track_phi[MAX_HSCPS]; - float Track_phi_err[MAX_HSCPS]; - float Track_dz[MAX_HSCPS]; - float Track_d0[MAX_HSCPS]; - int Track_quality[MAX_HSCPS]; - int Track_charge[MAX_HSCPS]; - float Track_dEdxE1[MAX_HSCPS]; - float Track_dEdxE1_NOS[MAX_HSCPS]; - unsigned int Track_dEdxE1_NOM[MAX_HSCPS]; - float Track_dEdxE2[MAX_HSCPS]; - float Track_dEdxE2_NOS[MAX_HSCPS]; - unsigned int Track_dEdxE2_NOM[MAX_HSCPS]; - float Track_dEdxE3[MAX_HSCPS]; - float Track_dEdxE3_NOS[MAX_HSCPS]; - unsigned int Track_dEdxE3_NOM[MAX_HSCPS]; - float Track_dEdxD1[MAX_HSCPS]; - float Track_dEdxD1_NOS[MAX_HSCPS]; - unsigned int Track_dEdxD1_NOM[MAX_HSCPS]; - float Track_dEdxD2[MAX_HSCPS]; - float Track_dEdxD2_NOS[MAX_HSCPS]; - unsigned int Track_dEdxD2_NOM[MAX_HSCPS]; - float Track_dEdxD3[MAX_HSCPS]; - float Track_dEdxD3_NOS[MAX_HSCPS]; - unsigned int Track_dEdxD3_NOM[MAX_HSCPS]; - float Muon_p[MAX_HSCPS]; - float Muon_pt[MAX_HSCPS]; - float Muon_eta[MAX_HSCPS]; - float Muon_phi[MAX_HSCPS]; - int Muon_type[MAX_HSCPS]; - bool Muon_qualityValid[MAX_HSCPS]; - int Muon_charge[MAX_HSCPS]; - float Muon_dt_IBeta[MAX_HSCPS]; - float Muon_dt_IBeta_err[MAX_HSCPS]; - float Muon_dt_fIBeta[MAX_HSCPS]; - float Muon_dt_fIBeta_err[MAX_HSCPS]; - int Muon_dt_ndof[MAX_HSCPS]; - float Muon_csc_IBeta[MAX_HSCPS]; - float Muon_csc_IBeta_err[MAX_HSCPS]; - float Muon_csc_fIBeta[MAX_HSCPS]; - float Muon_csc_fIBeta_err[MAX_HSCPS]; - int Muon_csc_ndof[MAX_HSCPS]; - float Muon_cb_IBeta[MAX_HSCPS]; - float Muon_cb_IBeta_err[MAX_HSCPS]; - float Muon_cb_fIBeta[MAX_HSCPS]; - float Muon_cb_fIBeta_err[MAX_HSCPS]; - int Muon_cb_ndof[MAX_HSCPS]; - float Rpc_beta[MAX_HSCPS]; - - float Calo_ecal_crossedE[MAX_HSCPS]; - float Calo_ecal_beta[MAX_HSCPS]; - float Calo_ecal_beta_err[MAX_HSCPS]; - float Calo_ecal_invBeta_err[MAX_HSCPS]; - float Calo_ecal_dEdx[MAX_HSCPS]; - float Calo_ecal_time[MAX_HSCPS]; - float Calo_ecal_time_err[MAX_HSCPS]; - int Calo_ecal_numCrysCrossed[MAX_HSCPS]; - float Calo_ecal_swissCrossKs[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_e1OverE9s[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_trackLengths[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_trackExitEtas[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_trackExitPhis[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_energies[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_outOfTimeEnergies[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_chi2s[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_outOfTimeChi2s[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_times[MAX_HSCPS][MAX_ECALCRYS]; - float Calo_ecal_timeErrors[MAX_HSCPS][MAX_ECALCRYS]; - unsigned int Calo_ecal_detIds[MAX_HSCPS][MAX_ECALCRYS]; - - unsigned int NGens; - int Gen_pdgId[MAX_GENS]; - float Gen_charge[MAX_GENS]; - float Gen_p[MAX_GENS]; - float Gen_px[MAX_GENS]; - float Gen_py[MAX_GENS]; - float Gen_pz[MAX_GENS]; - float Gen_pt[MAX_GENS]; - float Gen_eta[MAX_GENS]; - float Gen_phi[MAX_GENS]; - float Gen_beta[MAX_GENS]; - float Gen_mass[MAX_GENS]; -}; - -HSCPTreeBuilder::HSCPTreeBuilder(const edm::ParameterSet& iConfig) { - m_gtReadoutRecordToken = consumes(InputTag("gtDigis")); - m_trToken = consumes(InputTag("TriggerResults")); - m_recoVertexToken = consumes(InputTag("offlinePrimaryVertices")); - m_genParticlesToken = mayConsume(InputTag("genParticles")); - m_HSCPsToken = consumes(iConfig.getParameter("HSCParticles")); - - reccordVertexInfo = iConfig.getUntrackedParameter("reccordVertexInfo", true); - reccordGenInfo = iConfig.getUntrackedParameter("reccordGenInfo", false); - - std::cout << "######################################################" << endl; - std::cout << " USE OF THE HSCPTreeBuilder is deprecated! " << endl; - std::cout << "better to use the HSCParticle Producer and then FWLite" << endl; - std::cout << "######################################################" << endl; -} - -HSCPTreeBuilder::~HSCPTreeBuilder() {} - -void HSCPTreeBuilder::beginJob() { - TTree::SetMaxTreeSize(1000 * Long64_t(2000000000)); // authorize Trees up to 2 Terabytes - MyTree = tfs->make("HscpTree", "HscpTree"); - - MyTree->Branch("Event_EventNumber", &Event_EventNumber, "Event_EventNumber/i"); - MyTree->Branch("Event_RunNumber", &Event_RunNumber, "Event_RunNumber/i"); - MyTree->Branch("Event_LumiSection", &Event_LumiSection, "Event_LumiSection/i"); - MyTree->Branch("Event_BXCrossing", &Event_BXCrossing, "Event_BXCrossing/i"); - MyTree->Branch("Event_Orbit", &Event_Orbit, "Event_Orbit/i"); - MyTree->Branch("Event_Store", &Event_Store, "Event_Store/i"); - MyTree->Branch("Event_Time", &Event_Time, "Event_Time/i"); - MyTree->Branch("Event_PhysicsDeclared", &Event_PhysicsDeclared, "Event_PhysicsDeclared/O"); - MyTree->Branch("Event_technicalBits", Event_technicalBits, "Event_technicalBits[64]/O"); - MyTree->Branch("Event_triggerL1Bits", Event_triggerL1Bits, "Event_triggerL1Bits[192]/O"); - MyTree->Branch("Event_triggerHLTBits", Event_triggerHLTBits, "Event_triggerHLTBits[128]/O"); - MyTree->Branch("Event_BField", &Event_BField, "Event_BField/F"); - - if (reccordVertexInfo) { - MyTree->Branch("NVertices", &NVertices, "NVertices/I"); - MyTree->Branch("Vertex_x", Vertex_x, "Vertex_x[NVertices]/F"); - MyTree->Branch("Vertex_y", Vertex_y, "Vertex_y[NVertices]/F"); - MyTree->Branch("Vertex_z", Vertex_z, "Vertex_z[NVertices]/F"); - MyTree->Branch("Vertex_x_err", Vertex_x_err, "Vertex_x_err[NVertices]/F"); - MyTree->Branch("Vertex_y_err", Vertex_y_err, "Vertex_y_err[NVertices]/F"); - MyTree->Branch("Vertex_z_err", Vertex_z_err, "Vertex_z_err[NVertices]/F"); - MyTree->Branch("Vertex_TrackSize", Vertex_TrackSize, "Vertex_TrackSize[NVertices]/I"); - MyTree->Branch("Vertex_chi2", Vertex_chi2, "Vertex_chi2[NVertices]/F"); - MyTree->Branch("Vertex_ndof", Vertex_ndof, "Vertex_ndof[NVertices]/F"); - MyTree->Branch("Vertex_isFake", Vertex_isFake, "Vertex_isFake[NVertices]/O"); - } - - MyTree->Branch("NHSCPs", &NHSCPs, "NHSCPs/I"); - MyTree->Branch("Hscp_hasTrack", Hscp_hasTrack, "Hscp_hasTrack[NHSCPs]/O"); - MyTree->Branch("Hscp_hasMuon", Hscp_hasMuon, "Hscp_hasMuon[NHSCPs]/O"); - MyTree->Branch("Hscp_hasRpc", Hscp_hasRpc, "Hscp_hasRpc[NHSCPs]/O"); - MyTree->Branch("Hscp_hasCalo", Hscp_hasCalo, "Hscp_hasCalo[NHSCPs]/O"); - MyTree->Branch("Hscp_type", Hscp_type, "Hscp_type[NHSCPs]/I"); - MyTree->Branch("Track_NOH", Track_NOH, "Track_NOH[NHSCPs]/I"); - MyTree->Branch("Track_p", Track_p, "Track_p[NHSCPs]/F"); - MyTree->Branch("Track_pt", Track_pt, "Track_pt[NHSCPs]/F"); - MyTree->Branch("Track_pt_err", Track_pt_err, "Track_pt_err[NHSCPs]/F"); - MyTree->Branch("Track_chi2", Track_chi2, "Track_chi2[NHSCPs]/F"); - MyTree->Branch("Track_ndof", Track_ndof, "Track_ndof[NHSCPs]/F"); - MyTree->Branch("Track_eta", Track_eta, "Track_eta[NHSCPs]/F"); - MyTree->Branch("Track_eta_err", Track_eta_err, "Track_eta_err[NHSCPs]/F"); - MyTree->Branch("Track_phi", Track_phi, "Track_phi[NHSCPs]/F"); - MyTree->Branch("Track_phi_err", Track_phi_err, "Track_phi_err[NHSCPs]/F"); - MyTree->Branch("Track_d0", Track_d0, "Track_d0[NHSCPs]/F"); - MyTree->Branch("Track_dz", Track_dz, "Track_dz[NHSCPs]/F"); - MyTree->Branch("Track_quality", Track_quality, "Track_quality[NHSCPs]/I"); - MyTree->Branch("Track_charge", Track_charge, "Track_charge[NHSCPs]/I"); - MyTree->Branch("Track_dEdxE1", Track_dEdxE1, "Track_dEdxE1[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE1_NOS", Track_dEdxE1_NOS, "Track_dEdxE1_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE1_NOM", Track_dEdxE1_NOM, "Track_dEdxE1_NOM[NHSCPs]/I"); - MyTree->Branch("Track_dEdxE2", Track_dEdxE2, "Track_dEdxE2[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE2_NOS", Track_dEdxE2_NOS, "Track_dEdxE2_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE2_NOM", Track_dEdxE2_NOM, "Track_dEdxE2_NOM[NHSCPs]/I"); - MyTree->Branch("Track_dEdxE3", Track_dEdxE3, "Track_dEdxE3[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE3_NOS", Track_dEdxE3_NOS, "Track_dEdxE3_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxE3_NOM", Track_dEdxE3_NOM, "Track_dEdxE3_NOM[NHSCPs]/I"); - MyTree->Branch("Track_dEdxD1", Track_dEdxD1, "Track_dEdxD1[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD1_NOS", Track_dEdxD1_NOS, "Track_dEdxD1_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD1_NOM", Track_dEdxD1_NOM, "Track_dEdxD1_NOM[NHSCPs]/I"); - MyTree->Branch("Track_dEdxD2", Track_dEdxD2, "Track_dEdxD2[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD2_NOS", Track_dEdxD2_NOS, "Track_dEdxD2_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD2_NOM", Track_dEdxD2_NOM, "Track_dEdxD2_NOM[NHSCPs]/I"); - MyTree->Branch("Track_dEdxD3", Track_dEdxD3, "Track_dEdxD3[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD3_NOS", Track_dEdxD3_NOS, "Track_dEdxD3_NOS[NHSCPs]/F"); - MyTree->Branch("Track_dEdxD3_NOM", Track_dEdxD3_NOM, "Track_dEdxD3_NOM[NHSCPs]/I"); - MyTree->Branch("Muon_p", Muon_p, "Muon_p[NHSCPs]/F"); - MyTree->Branch("Muon_pt", Muon_pt, "Muon_pt[NHSCPs]/F"); - MyTree->Branch("Muon_eta", Muon_eta, "Muon_eta[NHSCPs]/F"); - MyTree->Branch("Muon_phi", Muon_phi, "Muon_phi[NHSCPs]/F"); - MyTree->Branch("Muon_type", Muon_type, "Muon_type[NHSCPs]/i"); - MyTree->Branch("Muon_qualityValid", Muon_qualityValid, "Muon_qualityValid[NHSCPs]/O"); - MyTree->Branch("Muon_charge", Muon_charge, "Muon_charge[NHSCPs]/i"); - MyTree->Branch("Muon_dt_IBeta", Muon_dt_IBeta, "Muon_dt_IBeta[NHSCPs]/F"); - MyTree->Branch("Muon_dt_IBeta_err", Muon_dt_IBeta_err, "Muon_dt_IBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_dt_fIBeta", Muon_dt_fIBeta, "Muon_dt_fIBeta[NHSCPs]/F"); - MyTree->Branch("Muon_dt_fIBeta_err", Muon_dt_fIBeta_err, "Muon_dt_fIBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_dt_ndof", Muon_dt_ndof, "Muon_dt_ndof[NHSCPs]/I"); - MyTree->Branch("Muon_csc_IBeta", Muon_csc_IBeta, "Muon_csc_IBeta[NHSCPs]/F"); - MyTree->Branch("Muon_csc_IBeta_err", Muon_csc_IBeta_err, "Muon_csc_IBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_csc_fIBeta", Muon_csc_fIBeta, "Muon_csc_fIBeta[NHSCPs]/F"); - MyTree->Branch("Muon_csc_fIBeta_err", Muon_csc_fIBeta_err, "Muon_csc_fIBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_csc_ndof", Muon_csc_ndof, "Muon_csc_ndof[NHSCPs]/I"); - MyTree->Branch("Muon_cb_IBeta", Muon_cb_IBeta, "Muon_cb_IBeta[NHSCPs]/F"); - MyTree->Branch("Muon_cb_IBeta_err", Muon_cb_IBeta_err, "Muon_cb_IBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_cb_fIBeta", Muon_cb_fIBeta, "Muon_cb_fIBeta[NHSCPs]/F"); - MyTree->Branch("Muon_cb_fIBeta_err", Muon_cb_fIBeta_err, "Muon_cb_fIBeta_err[NHSCPs]/F"); - MyTree->Branch("Muon_cb_ndof", Muon_cb_ndof, "Muon_cb_ndof[NHSCPs]/I"); - - MyTree->Branch("Rpc_beta", Rpc_beta, "Rpc_beta[NHSCPs]/F"); - - MyTree->Branch("Calo_ecal_crossedE", Calo_ecal_crossedE, "Calo_ecal_crossedE[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_beta", Calo_ecal_beta, "Calo_ecal_beta[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_beta_err", Calo_ecal_beta_err, "Calo_ecal_beta_err[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_invBeta_err", Calo_ecal_invBeta_err, "Calo_ecal_invBeta_err[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_dEdx", Calo_ecal_dEdx, "Calo_ecal_dEdx[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_time", Calo_ecal_time, "Calo_ecal_time[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_time_err", Calo_ecal_time_err, "Calo_ecal_time_err[NHSCPs]/F"); - MyTree->Branch("Calo_ecal_numCrysCrossed", Calo_ecal_numCrysCrossed, "Calo_ecal_numCrysCrossed[NHSCPs]/I"); - MyTree->Branch("Calo_ecal_swissCrossKs", Calo_ecal_swissCrossKs, "Calo_ecal_swissCrossKs[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_e1OverE9s", Calo_ecal_e1OverE9s, "Calo_ecal_e1OverE9s[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_trackLengths", Calo_ecal_trackLengths, "Calo_ecal_trackLengths[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_trackExitEtas", Calo_ecal_trackExitEtas, "Calo_ecal_trackExitEtas[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_trackExitPhis", Calo_ecal_trackExitPhis, "Calo_ecal_trackExitPhis[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_energies", Calo_ecal_energies, "Calo_ecal_energies[NHSCPs][10]/F"); - MyTree->Branch( - "Calo_ecal_outOfTimeEnergies", Calo_ecal_outOfTimeEnergies, "Calo_ecal_outOfTimeEnergies[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_chi2s", Calo_ecal_chi2s, "Calo_ecal_chi2s[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_outOfTimeChi2s", Calo_ecal_outOfTimeChi2s, "Calo_ecal_outOfTimeChi2s[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_times", Calo_ecal_times, "Calo_ecal_times[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_timeErrors", Calo_ecal_timeErrors, "Calo_ecal_timeErrors[NHSCPs][10]/F"); - MyTree->Branch("Calo_ecal_detIds", Calo_ecal_detIds, "Calo_ecal_detIds[NHSCPs][10]/I"); - - if (reccordGenInfo) { - MyTree->Branch("NGens", &NGens, "NGens/I"); - MyTree->Branch("Gen_pdgId", Gen_pdgId, "Gen_pdgId[NGens]/i"); - MyTree->Branch("Gen_charge", Gen_charge, "Gen_charge[NGens]/F"); - MyTree->Branch("Gen_p", Gen_p, "Gen_p[NGens]/F"); - MyTree->Branch("Gen_px", Gen_px, "Gen_px[NGens]/F"); - MyTree->Branch("Gen_py", Gen_py, "Gen_py[NGens]/F"); - MyTree->Branch("Gen_pz", Gen_pz, "Gen_pz[NGens]/F"); - MyTree->Branch("Gen_pt", Gen_pt, "Gen_pt[NGens]/F"); - MyTree->Branch("Gen_eta", Gen_eta, "Gen_eta[NGens]/F"); - MyTree->Branch("Gen_phi", Gen_phi, "Gen_phi[NGens]/F"); - MyTree->Branch("Gen_beta", Gen_beta, "Gen_beta[NGens]/F"); - MyTree->Branch("Gen_mass", Gen_mass, "Gen_mass[NGens]/F"); - } -} - -void HSCPTreeBuilder::endJob() {} - -bool HSCPTreeBuilder::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - bool debug = false; - if (debug) - cout << "I'm in HSCPTreeBuilder::analyze!" << endl; - - Event_EventNumber = iEvent.id().event(); - Event_RunNumber = iEvent.id().run(); - Event_LumiSection = iEvent.eventAuxiliary().luminosityBlock(); - Event_BXCrossing = iEvent.eventAuxiliary().bunchCrossing(); - Event_Orbit = iEvent.eventAuxiliary().orbitNumber(); - Event_Store = iEvent.eventAuxiliary().storeNumber(); - Event_Time = iEvent.eventAuxiliary().time().value(); - - // BField part: - ESHandle MF; - iSetup.get().get(MF); - const MagneticField* theMagneticField = MF.product(); - Event_BField = fabs(theMagneticField->inTesla(GlobalPoint(0, 0, 0)).z()); - - // L1 TRIGGER part: - edm::Handle h_gtReadoutRecord; - iEvent.getByToken(m_gtReadoutRecordToken, h_gtReadoutRecord); - L1GtFdlWord fdlWord = h_gtReadoutRecord->gtFdlWord(); - TechnicalTriggerWord L1technical = fdlWord.gtTechnicalTriggerWord(); - Event_PhysicsDeclared = h_gtReadoutRecord->gtFdlWord().physicsDeclared(); - for (unsigned int i = 0; i < 64; ++i) { - Event_technicalBits[i] = L1technical[i]; - } - DecisionWord L1decision = fdlWord.gtDecisionWord(); - for (unsigned int i = 0; i < 128; ++i) { - Event_triggerL1Bits[i] = L1decision[i]; - } - DecisionWordExtended L1decisionE = fdlWord.gtDecisionWordExtended(); - for (unsigned int i = 0; i < 64; ++i) { - Event_triggerL1Bits[128 + i] = L1decisionE[i]; - } - - // HLT TRIGGER part: - edm::Handle trh; - iEvent.getByToken(m_trToken, trh); - for (unsigned int i = 0; i < trh->size() && i < 128; ++i) { - Event_triggerHLTBits[i] = trh->at(i).accept(); - } - - edm::Handle recoVertexHandle; - iEvent.getByToken(m_recoVertexToken, recoVertexHandle); - reco::VertexCollection recoVertex = *recoVertexHandle; - - if (reccordVertexInfo) { - NVertices = 0; - for (unsigned int i = 0; i < recoVertex.size(); i++) { - Vertex_x[NVertices] = recoVertex[i].x(); - Vertex_y[NVertices] = recoVertex[i].y(); - Vertex_z[NVertices] = recoVertex[i].z(); - Vertex_x_err[NVertices] = recoVertex[i].xError(); - Vertex_y_err[NVertices] = recoVertex[i].yError(); - Vertex_z_err[NVertices] = recoVertex[i].zError(); - Vertex_TrackSize[NVertices] = recoVertex[i].tracksSize(); - Vertex_chi2[NVertices] = recoVertex[i].chi2(); - Vertex_ndof[NVertices] = recoVertex[i].ndof(); - Vertex_isFake[NVertices] = recoVertex[i].isFake(); - NVertices++; - } - } - - // Source Collection - edm::Handle HSCPCollectionHandle; - iEvent.getByToken(m_HSCPsToken, HSCPCollectionHandle); - susybsm::HSCParticleCollection HSCPCollection = *HSCPCollectionHandle.product(); - - NHSCPs = 0; - for (unsigned int i = 0; i < HSCPCollection.size(); i++) { - susybsm::HSCParticle hscp = HSCPCollection[i]; - reco::MuonRef muon = hscp.muonRef(); - reco::TrackRef track = hscp.trackRef(); - ; - - Hscp_hasTrack[NHSCPs] = hscp.hasTrackRef(); - Hscp_hasMuon[NHSCPs] = hscp.hasMuonRef(); - Hscp_hasRpc[NHSCPs] = hscp.hasRpcInfo(); - Hscp_hasCalo[NHSCPs] = hscp.hasCaloInfo(); - Hscp_type[NHSCPs] = hscp.type(); - - if (track.isNonnull() && Hscp_hasTrack[NHSCPs]) { - Track_p[NHSCPs] = track->p(); - Track_pt[NHSCPs] = track->pt(); - Track_pt_err[NHSCPs] = track->ptError(); - Track_eta[NHSCPs] = track->eta(); - Track_eta_err[NHSCPs] = track->etaError(); - Track_phi[NHSCPs] = track->phi(); - Track_phi_err[NHSCPs] = track->phiError(); - Track_NOH[NHSCPs] = track->found(); - Track_chi2[NHSCPs] = track->chi2(); - Track_ndof[NHSCPs] = track->ndof(); - Track_d0[NHSCPs] = -1.0f * track->dxy(recoVertex[0].position()); - Track_dz[NHSCPs] = -1.0f * track->dz(recoVertex[0].position()); - Track_quality[NHSCPs] = track->qualityMask(); - Track_charge[NHSCPs] = track->charge(); - /* Track_dEdxE1 [NHSCPs] = hscp.dedxEstimator1().dEdx(); - Track_dEdxE1_NOM [NHSCPs] = hscp.dedxEstimator1().numberOfMeasurements(); - Track_dEdxE1_NOS [NHSCPs] = hscp.dedxEstimator1().numberOfSaturatedMeasurements(); - Track_dEdxE2 [NHSCPs] = hscp.dedxEstimator2().dEdx(); - Track_dEdxE2_NOM [NHSCPs] = hscp.dedxEstimator2().numberOfMeasurements(); - Track_dEdxE2_NOS [NHSCPs] = hscp.dedxEstimator2().numberOfSaturatedMeasurements(); - Track_dEdxE3 [NHSCPs] = hscp.dedxEstimator3().dEdx(); - Track_dEdxE3_NOM [NHSCPs] = hscp.dedxEstimator3().numberOfMeasurements(); - Track_dEdxE3_NOS [NHSCPs] = hscp.dedxEstimator3().numberOfSaturatedMeasurements(); - Track_dEdxD1 [NHSCPs] = hscp.dedxDiscriminator1().dEdx(); - Track_dEdxD1_NOM [NHSCPs] = hscp.dedxDiscriminator1().numberOfMeasurements(); - Track_dEdxD1_NOS [NHSCPs] = hscp.dedxDiscriminator1().numberOfSaturatedMeasurements(); - Track_dEdxD2 [NHSCPs] = hscp.dedxDiscriminator2().dEdx(); - Track_dEdxD2_NOM [NHSCPs] = hscp.dedxDiscriminator2().numberOfMeasurements(); - Track_dEdxD2_NOS [NHSCPs] = hscp.dedxDiscriminator2().numberOfSaturatedMeasurements(); - Track_dEdxD3 [NHSCPs] = hscp.dedxDiscriminator3().dEdx(); - Track_dEdxD3_NOM [NHSCPs] = hscp.dedxDiscriminator3().numberOfMeasurements(); - Track_dEdxD3_NOS [NHSCPs] = hscp.dedxDiscriminator3().numberOfSaturatedMeasurements(); -*/ - } - - if (muon.isNonnull() && Hscp_hasMuon[NHSCPs]) { - Muon_p[NHSCPs] = muon->p(); - Muon_pt[NHSCPs] = muon->pt(); - Muon_eta[NHSCPs] = muon->eta(); - Muon_phi[NHSCPs] = muon->phi(); - Muon_type[NHSCPs] = muon->type(); - Muon_qualityValid[NHSCPs] = muon->isQualityValid(); - Muon_charge[NHSCPs] = muon->charge(); - /* Muon_dt_IBeta [NHSCPs] = hscp.muonTimeDt().inverseBeta(); - Muon_dt_IBeta_err [NHSCPs] = hscp.muonTimeDt().inverseBetaErr(); - Muon_dt_fIBeta [NHSCPs] = hscp.muonTimeDt().freeInverseBeta(); - Muon_dt_fIBeta_err [NHSCPs] = hscp.muonTimeDt().freeInverseBetaErr(); - Muon_dt_ndof [NHSCPs] = hscp.muonTimeDt().nDof(); - Muon_csc_IBeta [NHSCPs] = hscp.muonTimeCsc().inverseBeta(); - Muon_csc_IBeta_err [NHSCPs] = hscp.muonTimeCsc().inverseBetaErr(); - Muon_csc_fIBeta [NHSCPs] = hscp.muonTimeCsc().freeInverseBeta(); - Muon_csc_fIBeta_err[NHSCPs] = hscp.muonTimeCsc().freeInverseBetaErr(); - Muon_csc_ndof [NHSCPs] = hscp.muonTimeCsc().nDof(); - Muon_cb_IBeta [NHSCPs] = hscp.muonTimeCombined().inverseBeta(); - Muon_cb_IBeta_err [NHSCPs] = hscp.muonTimeCombined().inverseBetaErr(); - Muon_cb_fIBeta [NHSCPs] = hscp.muonTimeCombined().freeInverseBeta(); - Muon_cb_fIBeta_err [NHSCPs] = hscp.muonTimeCombined().freeInverseBetaErr(); - Muon_cb_ndof [NHSCPs] = hscp.muonTimeCombined().nDof(); -*/ - } - - if (hscp.hasCaloInfo()) { - // Calo_ecal_crossedE [NHSCPs] = hscp.calo().ecalCrossedEnergy; - // Calo_ecal_beta [NHSCPs] = hscp.calo().ecalBeta; - // Calo_ecal_beta_err [NHSCPs] = hscp.calo().ecalBetaError; - // Calo_ecal_invBeta_err [NHSCPs] = hscp.calo().ecalInvBetaError; - // Calo_ecal_dEdx [NHSCPs] = hscp.calo().ecalDeDx; - // Calo_ecal_time [NHSCPs] = hscp.calo().ecalTime; - // Calo_ecal_time_err [NHSCPs] = hscp.calo().ecalTimeError; - // Calo_ecal_numCrysCrossed[NHSCPs] = hscp.calo().ecalCrysCrossed; - /* for(int i=0; i < Calo_ecal_numCrysCrossed[NHSCPs] && i < MAX_ECALCRYS; ++i) - { - Calo_ecal_swissCrossKs [NHSCPs][i] = hscp.calo().ecalSwissCrossKs[i]; - Calo_ecal_e1OverE9s [NHSCPs][i] = hscp.calo().ecalE1OverE9s[i]; - Calo_ecal_trackLengths [NHSCPs][i] = hscp.calo().ecalTrackLengths[i]; - GlobalPoint exitPosition = hscp.calo().ecalTrackExitPositions[i]; - Calo_ecal_trackExitEtas [NHSCPs][i] = exitPosition.eta(); - Calo_ecal_trackExitPhis [NHSCPs][i] = exitPosition.phi(); - Calo_ecal_energies [NHSCPs][i] = hscp.calo().ecalEnergies[i]; - Calo_ecal_outOfTimeEnergies[NHSCPs][i] = hscp.calo().ecalOutOfTimeEnergies[i]; - Calo_ecal_chi2s [NHSCPs][i] = hscp.calo().ecalChi2s[i]; - Calo_ecal_outOfTimeChi2s [NHSCPs][i] = hscp.calo().ecalOutOfTimeChi2s[i]; - Calo_ecal_times [NHSCPs][i] = hscp.calo().ecalTimes[i]; - Calo_ecal_timeErrors [NHSCPs][i] = hscp.calo().ecalTimeErrors[i]; - Calo_ecal_detIds [NHSCPs][i] = hscp.calo().ecalDetIds[i]; - } -*/ - } - - if (Hscp_hasRpc[NHSCPs]) { - Rpc_beta[NHSCPs] = hscp.rpc().beta; - } - - NHSCPs++; - } - - if (reccordGenInfo) { - Handle genParticles; - iEvent.getByToken(m_genParticlesToken, genParticles); - NGens = 0; - for (unsigned int i = 0; i < genParticles->size(); i++) { - const GenParticle& part = (*genParticles)[i]; - if (part.status() != 1) - continue; - if (part.pt() < 5) - continue; - // if(fabs(part.pdgId())<1000000) continue; - - Gen_pdgId[NGens] = part.pdgId(); - Gen_charge[NGens] = part.charge(); - Gen_p[NGens] = part.p(); - Gen_px[NGens] = part.px(); - Gen_py[NGens] = part.py(); - Gen_pz[NGens] = part.pz(); - Gen_pt[NGens] = part.pt(); - Gen_eta[NGens] = part.eta(); - Gen_phi[NGens] = part.phi(); - Gen_beta[NGens] = part.p() / part.energy(); - Gen_mass[NGens] = part.mass(); - NGens++; - } - } - - MyTree->Fill(); - return true; -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HSCPTreeBuilder); diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.cc deleted file mode 100644 index 869cfd9127c8f..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.cc +++ /dev/null @@ -1,893 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCP -// Class: HSCPValidator -// -/**\class HSCPValidator HSCPValidator.cc HSCPValidation/HSCPValidator/src/HSCPValidator.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Seth Cooper,27 1-024,+41227672342, -// Created: Wed Apr 14 14:27:52 CEST 2010 -// -// - -// system include files -#include -#include -#include -#include - -// user include files -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" -#include "DataFormats/RPCDigi/interface/RPCDigi.h" -#include "DataFormats/RPCDigi/interface/RPCDigiCollection.h" -#include "DataFormats/RPCRecHit/interface/RPCRecHit.h" -#include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h" -#include "DataFormats/MuonDetId/interface/RPCDetId.h" -#include -#include -#include "DataFormats/GeometrySurface/interface/Surface.h" -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include -#include -#include "DataFormats/GeometrySurface/interface/Surface.h" -#include "DataFormats/MuonDetId/interface/MuonSubdetId.h" -#include "Geometry/RPCGeometry/interface/RPCRoll.h" -#include "Geometry/Records/interface/MuonGeometryRecord.h" -#include "Geometry/RPCGeometry/interface/RPCGeomServ.h" -#include "Geometry/CommonDetUnit/interface/GeomDet.h" -#include -#include "Geometry/RPCGeometry/interface/RPCGeomServ.h" -#include -#include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h" -#include "Geometry/CommonDetUnit/interface/GeomDet.h" -#include "MagneticField/Engine/interface/MagneticField.h" -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" -#include "RecoMuon/TrackingTools/interface/MuonPatternRecoDumper.h" -#include "SimDataFormats/TrackingHit/interface/PSimHit.h" -#include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" -#include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h" -#include "SimDataFormats/Track/interface/SimTrackContainer.h" -#include "SimDataFormats/Track/interface/SimTrack.h" -#include "SimDataFormats/Track/interface/SimTrackContainer.h" -#include "SimDataFormats/Vertex/interface/SimVertex.h" -#include "SimDataFormats/Vertex/interface/SimVertexContainer.h" -#include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h" -#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h" -#include "TrackingTools/TransientTrack/interface/TransientTrack.h" -#include "TrackingTools/GeomPropagators/interface/Propagator.h" -#include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h" -#include "TrackingTools/Records/interface/TrackingComponentsRecord.h" - -#include "DataFormats/TrackReco/interface/DeDxData.h" -#include "DataFormats/TrackReco/interface/TrackToTrackMap.h" - -#include "TH1.h" -#include "TGraph.h" -#include "TCanvas.h" - -#include "SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h" - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// -edm::Service fileService; - -// -// constructors and destructor -// -HSCPValidator::HSCPValidator(const edm::ParameterSet& iConfig) - : doGenPlots_(iConfig.getParameter("MakeGenPlots")), - doHLTPlots_(iConfig.getParameter("MakeHLTPlots")), - doSimTrackPlots_(iConfig.getParameter("MakeSimTrackPlots")), - doSimDigiPlots_(iConfig.getParameter("MakeSimDigiPlots")), - doRecoPlots_(iConfig.getParameter("MakeRecoPlots")), - token_(consumes(iConfig.getParameter("generatorLabel"))), - simTracksToken_(consumes(edm::InputTag("g4SimHits"))), - trEvToken_(consumes(edm::InputTag("hltTriggerSummaryAOD"))), - tkTracksToken_(consumes(edm::InputTag("generalTracks"))), - dEdxTrackToken_(consumes >(edm::InputTag("dedxHarmonic2"))), - rpcRecHitsToken_(consumes(edm::InputTag("rpcRecHits"))), - triggerResultsToken_(consumes(edm::InputTag("TriggerResults", "", "HLT"))), - particleIds_(iConfig.getParameter >("particleIds")), - particleStatus_(iConfig.getUntrackedParameter("particleStatus", 1)), - ebSimHitToken_(consumes(iConfig.getParameter("EBSimHitCollection"))), - eeSimHitToken_(consumes(iConfig.getParameter("EESimHitCollection"))), - simTrackToken_(consumes(iConfig.getParameter("SimTrackCollection"))), - EBDigiCollectionToken_(consumes(iConfig.getParameter("EBDigiCollection"))), - EEDigiCollectionToken_(consumes(iConfig.getParameter("EEDigiCollection"))) { - //now do what ever initialization is needed - // GEN - particleEtaHist_ = fileService->make("particleEta", "Eta of gen particle", 100, -5, 5); - particlePhiHist_ = fileService->make("particlePhi", "Phi of gen particle", 180, -3.15, 3.15); - particlePHist_ = fileService->make("particleP", "Momentum of gen particle", 500, 0, 2000); - particlePtHist_ = fileService->make("particlePt", "P_{T} of gen particle", 500, 0, 2000); - particleMassHist_ = fileService->make("particleMass", "Mass of gen particle", 1000, 0, 2000); - particleStatusHist_ = fileService->make("particleStatus", "Status of gen particle", 10, 0, 10); - particleBetaHist_ = fileService->make("particleBeta", "Beta of gen particle", 100, 0, 1); - particleBetaInverseHist_ = fileService->make("particleBetaInverse", "1/#beta of gen particle", 100, 0, 5); - - h_genhscp_met = fileService->make("hscp_met", "missing E_{T} hscp", 100, 0., 1500.); - h_genhscp_met_nohscp = fileService->make("hscp_met_nohscp", "missing E_{T} w/o hscp", 100, 0., 1500.); - h_genhscp_scaloret = fileService->make("hscp_scaloret", "scalor E_{T} sum", 100, 0., 1500.); - h_genhscp_scaloret_nohscp = - fileService->make("hscp_scaloret_nohscp", "scalor E_{T} sum w/o hscp", 100, 0., 1500.); - - //SIM track Info - simTrackParticleEtaHist_ = fileService->make("simTrackParticleEta", "Eta of simTrackParticle", 100, -5, 5); - simTrackParticlePhiHist_ = - fileService->make("simTrackParticlePhi", "Phi of simTrackParticle", 180, -3.15, 3.15); - simTrackParticlePHist_ = fileService->make("simTrackParticleP", "Momentum of simTrackParticle", 500, 0, 2000); - simTrackParticlePtHist_ = fileService->make("simTrackParticlePt", "P_{T} of simTrackParticle", 500, 0, 2000); - simTrackParticleBetaHist_ = fileService->make("simTrackParticleBeta", "Beta of simTrackParticle", 100, 0, 1); - //reco track Info - - RecoHSCPPtVsGenPt = fileService->make("Recovsgenpt", "RecovsGen", 100, 0, 1000, 100, 0, 1000); - dedxVsp = fileService->make("dedxvsp", "dedxvsp", 100, 0, 1000, 100, 0, 10); - //HLT Info - hltmet = fileService->make("HLT_MET", "MET", 3, -1, 2); - hltjet = fileService->make("HLT_JET", "JET", 3, -1, 2); - hltmu = fileService->make("HLT_Mu", "Mu", 3, -1, 2); - - // SIM-DIGI: ECAL - simHitsEcalEnergyHistEB_ = - fileService->make("ecalEnergyOfSimHitsEB", "HSCP SimTrack-matching SimHit energy EB [GeV]", 125, -1, 4); - simHitsEcalEnergyHistEE_ = - fileService->make("ecalEnergyOfSimHitsEE", "HSCP SimTrack-matching SimHit energy EE [GeV]", 125, -1, 4); - simHitsEcalTimeHistEB_ = - fileService->make("ecalTimingOfSimHitsEB", "HSCP SimTrack-matching SimHit time EB [ns]", 115, -15, 100); - simHitsEcalTimeHistEE_ = - fileService->make("ecalTimingOfSimHitsEE", "HSCP SimTrack-matching SimHit time EE [ns]", 115, -15, 100); - simHitsEcalNumHistEB_ = fileService->make( - "ecalNumberOfSimHitsEB", "Number of HSCP SimTrack-matching EB sim hits in event", 100, 0, 200); - simHitsEcalNumHistEE_ = fileService->make( - "ecalNumberOfSimHitsEE", "Number of HSCP SimTrack-matching EE sim hits in event", 100, 0, 200); - simHitsEcalEnergyVsTimeHistEB_ = - fileService->make("ecalEnergyVsTimeOfSimHitsEB", - "Energy vs. time of HSCP SimTrack-matching EB sim hits in event", - 115, - -15, - 100, - 125, - -1, - 4); - simHitsEcalEnergyVsTimeHistEE_ = - fileService->make("ecalEnergyVsTimeOfSimHitsEE", - "Energy vs. time of HSCP SimTrack-matching EE sim hits in event", - 115, - -15, - 100, - 125, - -1, - 4); - simHitsEcalDigiMatchEnergyHistEB_ = - fileService->make("ecalEnergyOfDigiMatSimHitsEB", "HSCP digi-matching SimHit energy EB [GeV]", 125, -1, 4); - simHitsEcalDigiMatchEnergyHistEE_ = - fileService->make("ecalEnergyOfDigiMatSimHitsEE", "HSCP digi-matching SimHit energy EE [GeV]", 125, -1, 4); - simHitsEcalDigiMatchTimeHistEB_ = - fileService->make("ecalTimingOfDigiMatSimHitsEB", "HSCP digi-matching SimHit time EB [ns]", 115, -15, 100); - simHitsEcalDigiMatchTimeHistEE_ = - fileService->make("ecalTimingOfDigiMatSimHitsEE", "HSCP digi-matching SimHit time EE [ns]", 115, -15, 100); - simHitsEcalDigiMatchEnergyVsTimeHistEB_ = fileService->make( - "ecalEnergyVsTimeOfDigiMatSimHitsEB", "HSCP digi-matching EB SimHit energy vs. time", 115, -15, 100, 125, -1, 4); - simHitsEcalDigiMatchEnergyVsTimeHistEE_ = fileService->make( - "ecalEnergyVsTimeOfDigiMatSimHitsEE", "HSCP digi-matching EE SimHit energy vs. time", 115, -15, 100, 125, -1, 4); - simHitsEcalDigiMatchIEtaHist_ = - fileService->make("ecalIEtaOfDigiMatchSimHits", "iEta of digi-matching Ecal simHits (EB)", 171, -85, 86); - simHitsEcalDigiMatchIPhiHist_ = - fileService->make("ecalIPhiOfDigiMatchSimHits", "iPhi of digi-matching Ecal simHits (EB)", 360, 1, 361); - digisEcalNumHistEB_ = - fileService->make("ecalDigisNumberEB", "Number of EB digis matching simhits in event", 200, 0, 1000); - digisEcalNumHistEE_ = - fileService->make("ecalDigisNumberEE", "Number of EE digis matching simhits in event", 200, 0, 1000); - digiOccupancyMapEB_ = fileService->make( - "ecalDigiOccupancyMapEB", "Occupancy of simhit-matching digis EB;i#phi;i#eta", 360, 1, 361, 171, -85, 86); - digiOccupancyMapEEP_ = fileService->make( - "ecalDigiOccupancyMapEEM", "Occupancy of simhit-matching digis EEM;ix;iy", 100, 1, 100, 100, 1, 100); - digiOccupancyMapEEM_ = fileService->make( - "ecalDigiOccupancyMapEEP", "Occupancy of simhit-matching digis EEP;ix;iy", 100, 1, 100, 100, 1, 100); - - // SIM-DIGI: RPC - residualsRPCRecHitSimDigis_ = - fileService->make("residualsRPCRecHitSimDigis", "HSCP SimHit - Clossest RPC RecHit", 100, -5, 5); - efficiencyRPCRecHitSimDigis_ = - fileService->make("efficiencyRPCRecHitSimDigis", "HSCP SimHits RecHits Efficiency", 2, -0.5, 1.5); - cluSizeDistribution_ = fileService->make("RPCCluSizeDistro", "RPC HSCP CluSize Distribution", 11, -0.5, 10.5); - rpcTimeOfFlightBarrel_[0] = fileService->make("RPCToFLayer1", "RPC HSCP Time Of Flight Layer 1", 50, 5, 100); - rpcTimeOfFlightBarrel_[1] = fileService->make("RPCToFLayer2", "RPC HSCP Time Of Flight Layer 2", 50, 5, 100); - rpcTimeOfFlightBarrel_[2] = fileService->make("RPCToFLayer3", "RPC HSCP Time Of Flight Layer 3", 50, 5, 100); - rpcTimeOfFlightBarrel_[3] = fileService->make("RPCToFLayer4", "RPC HSCP Time Of Flight Layer 4", 50, 5, 100); - rpcTimeOfFlightBarrel_[4] = fileService->make("RPCToFLayer5", "RPC HSCP Time Of Flight Layer 5", 50, 5, 100); - rpcTimeOfFlightBarrel_[5] = fileService->make("RPCToFLayer6", "RPC HSCP Time Of Flight Layer 6", 50, 5, 100); - rpcBXBarrel_[0] = fileService->make("RPCBXLayer1", "RPC HSCP BX Layer 1", 5, -0.5, 4.5); - rpcBXBarrel_[1] = fileService->make("RPCBXLayer2", "RPC HSCP BX Layer 2", 5, -0.5, 4.5); - rpcBXBarrel_[2] = fileService->make("RPCBXLayer3", "RPC HSCP BX Layer 3", 5, -0.5, 4.5); - rpcBXBarrel_[3] = fileService->make("RPCBXLayer4", "RPC HSCP BX Layer 4", 5, -0.5, 4.5); - rpcBXBarrel_[4] = fileService->make("RPCBXLayer5", "RPC HSCP BX Layer 5", 5, -0.5, 4.5); - rpcBXBarrel_[5] = fileService->make("RPCBXLayer6", "RPC HSCP BX Layer 6", 5, -0.5, 4.5); - rpcTimeOfFlightEndCap_[0] = fileService->make("RPCToFDisk1", "RPC HSCP Time Of Flight Disk 1", 50, 5, 100); - rpcTimeOfFlightEndCap_[1] = fileService->make("RPCToFDisk2", "RPC HSCP Time Of Flight Disk 2", 50, 5, 100); - rpcTimeOfFlightEndCap_[2] = fileService->make("RPCToFDisk3", "RPC HSCP Time Of Flight Disk 3", 50, 5, 100); - rpcBXEndCap_[0] = fileService->make("RPCBXDisk1", "RPC HSCP BX Disk 1", 5, -0.5, 4.5); - rpcBXEndCap_[1] = fileService->make("RPCBXDisk2", "RPC HSCP BX Disk 2", 5, -0.5, 4.5); - rpcBXEndCap_[2] = fileService->make("RPCBXDisk3", "RPC HSCP BX Disk 3", 5, -0.5, 4.5); -} - -HSCPValidator::~HSCPValidator() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) - // particleEtaHist_ = fileService->make("particleEta","Eta of gen particle",100,-5,5); - // particlePhiHist_ = fileService->make("particlePhi","Phi of gen particle",180,-3.15,3.15); - // particlePHist_ = fileService->make("particleP","Momentum of gen particle",500,0,2000); - // particlePtHist_ = fileService->make("particlePt","P_{T} of gen particle",500,0,2000); - // particleMassHist_ = fileService->make("particleMass","Mass of gen particle",1000,0,2000); - // particleStatusHist_ = fileService->make("particleStatus","Status of gen particle",10,0,10); - // particleBetaHist_ = fileService->make("particleBeta","Beta of gen particle",100,0,1); - // particleBetaInverseHist_ = fileService->make("particleBetaInverse","1/#beta of gen particle",100,0,5); -} - -// -// member functions -// - -// ------------ method called to for each event ------------ -void HSCPValidator::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - iSetup.get().get(rpcGeo); - - if (doGenPlots_) - makeGenPlots(iEvent); - if (doSimTrackPlots_) - makeSimTrackPlots(iEvent); - if (doSimDigiPlots_) { - makeSimDigiPlotsECAL(iEvent); - makeSimDigiPlotsRPC(iEvent); - } - if (doHLTPlots_) { - makeHLTPlots(iEvent); - } - if (doRecoPlots_) { - makeRecoPlots(iEvent); - } -} - -// ------------ method called once each job just before starting event loop ------------ -void HSCPValidator::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void HSCPValidator::endJob() { - std::string frequencies = ""; - for (std::map::const_iterator itr = particleIdsFoundMap_.begin(); itr != particleIdsFoundMap_.end(); - ++itr) { - frequencies += "PDG ID: "; - frequencies += intToString(itr->first); - frequencies += " Frequency: "; - frequencies += intToString(itr->second); - frequencies += "\n"; - } - std::cout << "Found PDGIds: " - << "\n\n" - << frequencies << std::endl; -} - -// ------------- Make gen plots --------------------------------------------------------- -void HSCPValidator::makeGenPlots(const edm::Event& iEvent) { - using namespace edm; - - double missingpx = 0; - double missingpy = 0; - double missingpx_nohscp = 0; - double missingpy_nohscp = 0; - double scalorEt = 0; - double scalorEt_nohscp = 0; - - Handle evt; - iEvent.getByToken(token_, evt); - - HepMC::GenEvent* myGenEvent = new HepMC::GenEvent(*(evt->GetEvent())); - for (HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end(); ++p) { - if ((*p)->status() != particleStatus_) - continue; - //calculate MET(neutrino as MET) - if (abs((*p)->pdg_id()) != 12 && abs((*p)->pdg_id()) != 14 && - abs((*p)->pdg_id()) != 16) { //for non-neutrino particles. - missingpx -= (*p)->momentum().px(); - missingpy -= (*p)->momentum().py(); - scalorEt += (*p)->momentum().perp(); - } - - // Check if the particleId is in our R-hadron list - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), (*p)->pdg_id()); - if (partIdItr == particleIds_.end()) { - //calculate MET(neutrino+ HSCP as MET) - if (abs((*p)->pdg_id()) != 12 && abs((*p)->pdg_id()) != 14 && - abs((*p)->pdg_id()) != 16) { //for non-neutrino particles. - missingpx_nohscp -= (*p)->momentum().px(); - missingpy_nohscp -= (*p)->momentum().py(); - scalorEt_nohscp += (*p)->momentum().perp(); - } - } else { - particleStatusHist_->Fill((*p)->status()); - - std::pair::iterator, bool> pair = - particleIdsFoundMap_.insert(std::make_pair((*p)->pdg_id(), 1)); - if (!pair.second) { - ++(pair.first->second); - } - - double mag = sqrt(pow((*p)->momentum().px(), 2) + pow((*p)->momentum().py(), 2) + pow((*p)->momentum().pz(), 2)); - particleEtaHist_->Fill((*p)->momentum().eta()); - particlePhiHist_->Fill((*p)->momentum().phi()); - particlePHist_->Fill(mag); - particlePtHist_->Fill((*p)->momentum().perp()); - particleMassHist_->Fill((*p)->generated_mass()); - float particleP = mag; - float particleM = (*p)->generated_mass(); - particleBetaHist_->Fill(particleP / sqrt(particleP * particleP + particleM * particleM)); - particleBetaInverseHist_->Fill(sqrt(particleP * particleP + particleM * particleM) / particleP); - } - } - - h_genhscp_met->Fill(sqrt(missingpx * missingpx + missingpy * missingpy)); - h_genhscp_met_nohscp->Fill(sqrt(missingpx_nohscp * missingpx_nohscp + missingpy_nohscp * missingpy_nohscp)); - h_genhscp_scaloret->Fill(scalorEt); - h_genhscp_scaloret_nohscp->Fill(scalorEt_nohscp); - - delete myGenEvent; -} - -// ------------- Make SimTrack plots --------------------------------------------------------- -void HSCPValidator::makeSimTrackPlots(const edm::Event& iEvent) { - using namespace edm; - //get sim track infos - Handle simTracksHandle; - iEvent.getByToken(simTracksToken_, simTracksHandle); - const SimTrackContainer simTracks = *(simTracksHandle.product()); - - SimTrackContainer::const_iterator simTrack; - - for (simTrack = simTracks.begin(); simTrack != simTracks.end(); ++simTrack) { - // Check if the particleId is in our list - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), simTrack->type()); - if (partIdItr == particleIds_.end()) - continue; - - simTrackParticleEtaHist_->Fill((*simTrack).momentum().eta()); - simTrackParticlePhiHist_->Fill((*simTrack).momentum().phi()); - simTrackParticlePHist_->Fill((*simTrack).momentum().P()); - - simTrackParticlePtHist_->Fill((*simTrack).momentum().pt()); - - simTrackParticleBetaHist_->Fill((*simTrack).momentum().P() / (*simTrack).momentum().e()); - - // std::cout<<"Particle:"<type()<<" Charge:"<charge()< triggerResults; - iEvent.getByToken(triggerResultsToken_, triggerResults); - - edm::TriggerResultsByName tr(nullptr, nullptr); - if (triggerResults.isValid()) { - tr = iEvent.triggerResultsByName(*triggerResults); - } - - if (!tr.isValid()) { - std::cout << "Trigger Results not available" << std::endl; - } - - edm::Handle trEvHandle; - iEvent.getByToken(trEvToken_, trEvHandle); - trigger::TriggerEvent trEv = *trEvHandle; - - unsigned int TrIndex_Unknown = tr.size(); - - // HLT TRIGGER BASED ON 1 MUON! - if (TrIndex_Unknown != tr.triggerIndex("HLT_Mu40_v1")) { - if (tr.accept(tr.triggerIndex("HLT_Mu40_v1"))) - hltmu->Fill(1); - else { - hltmu->Fill(0); - } - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_Mu30_v1")) { - if (IncreasedTreshold(trEv, InputTag("hltSingleMu30L3Filtered30", "", "HLT"), 40, 2.1, 1, false)) - hltmu->Fill(1); - else - hltmu->Fill(0); - } else { - printf("BUG with HLT_Mu\n"); - std::cout << "trigger names are : "; - for (unsigned int i = 0; i < tr.size(); i++) { - std::cout << " " << tr.triggerName(i); - } - std::cout << std::endl; - } - } - - // HLT TRIGGER BASED ON MET! - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v3")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v3"))) - hltmet->Fill(1); - else - hltmet->Fill(0); - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v2")) { - if (tr.accept(tr.triggerIndex("HLT_PFMHT150_v2"))) - hltmet->Fill(1); - else - hltmet->Fill(0); - } else { - printf("BUG with HLT_MET\n"); - } - } - - // HLT TRIGGER BASED ON 1 JET! - if (TrIndex_Unknown != tr.triggerIndex("HLT_Jet370_v1")) { - if (tr.accept(tr.triggerIndex("HLT_Jet370_v1"))) - hltjet->Fill(1); - else - hltjet->Fill(0); - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_Jet100U")) { - if (IncreasedTreshold(trEv, InputTag("hlt1jet100U", "", "HLT"), 140, 5., 1, false)) - hltjet->Fill(1); - else - hltjet->Fill(0); - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_Jet70U")) { - if (IncreasedTreshold(trEv, InputTag("hlt1jet70U", "", "HLT"), 140, 5., 1, false)) - hltjet->Fill(1); - else - hltjet->Fill(0); - } else { - if (TrIndex_Unknown != tr.triggerIndex("HLT_Jet50U")) { - if (IncreasedTreshold(trEv, InputTag("hlt1jet50U", "", "HLT"), 140, 2.5, 1, false)) - hltjet->Fill(1); - else - hltjet->Fill(0); - } else { - printf("BUG with HLT_Jet\n"); - } - } - } - } -} - -// ------------- Make simDigi plots ECAL ------------------------------------------------ -void HSCPValidator::makeSimDigiPlotsECAL(const edm::Event& iEvent) { - using namespace edm; - // EB SimHits - Handle ebSimHits; - iEvent.getByToken(ebSimHitToken_, ebSimHits); - if (!ebSimHits.isValid()) { - std::cout << "Cannot get EBSimHits from event!" << std::endl; - return; - } - // EE SimHits - Handle eeSimHits; - iEvent.getByToken(eeSimHitToken_, eeSimHits); - if (!eeSimHits.isValid()) { - std::cout << "Cannot get EESimHits from event!" << std::endl; - return; - } - // SimTracks - Handle simTracks; - iEvent.getByToken(simTrackToken_, simTracks); - if (!simTracks.isValid()) { - std::cout << "Cannot get SimTracks from event!" << std::endl; - return; - } - // EB Digis - Handle ebDigis; - iEvent.getByToken(EBDigiCollectionToken_, ebDigis); - if (!ebDigis.isValid()) { - std::cout << "Cannot get EBDigis from event!" << std::endl; - return; - } - // EE Digis - Handle eeDigis; - iEvent.getByToken(EEDigiCollectionToken_, eeDigis); - if (!eeDigis.isValid()) { - std::cout << "Cannot get EEDigis from event!" << std::endl; - return; - } - - // EB first - // 1) Look at SimTracks, getting only the HSCP tracks - // 2) Match to PCaloHits - // 3) Match to digis - int numMatchedSimHitsEventEB = 0; - int numMatchedDigisEventEB = 0; - const PCaloHitContainer* phitsEB = nullptr; - phitsEB = ebSimHits.product(); - for (SimTrackContainer::const_iterator simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack) { - // Check if the particleId is in our list - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), simTrack->type()); - if (partIdItr == particleIds_.end()) - continue; - - PCaloHitContainer mySimHitsEB; - std::vector myDigisEB; - - //int particleId = simTrack->type(); - int trackId = simTrack->trackId(); - PCaloHitContainer::const_iterator simHitItr = phitsEB->begin(); - while (simHitItr != phitsEB->end()) { - if (simHitItr->geantTrackId() == trackId) - mySimHitsEB.push_back(*simHitItr); - ++simHitItr; - } - if (mySimHitsEB.empty()) { - std::cout << "Could not find matching EB PCaloHits for SimTrack id: " << trackId << ". Skipping this SimTrack" - << std::endl; - continue; - } - - // Loop over matching PCaloHits - for (simHitItr = mySimHitsEB.begin(); simHitItr != mySimHitsEB.end(); ++simHitItr) { - simHitsEcalEnergyHistEB_->Fill(simHitItr->energy()); - simHitsEcalTimeHistEB_->Fill(simHitItr->time()); - simHitsEcalEnergyVsTimeHistEB_->Fill(simHitItr->time(), simHitItr->energy()); - EBDetId simHitId = EBDetId(simHitItr->id()); - std::cout << "SimHit DetId found: " << simHitId << " for PDGid: " << simTrack->type() << std::endl; - //std::cout << "SimHit hashedIndex: " << simHitId.hashedIndex() << std::endl; - std::cout << "SimHit energy: " << simHitItr->energy() << " time: " << simHitItr->time() << std::endl; - ++numMatchedSimHitsEventEB; - - EBDigiCollection::const_iterator digiItr = ebDigis->begin(); - while (digiItr != ebDigis->end() && (digiItr->id() != simHitId)) - ++digiItr; - if (digiItr == ebDigis->end()) { - // Commented out for debugging ease, Aug 3 2009 - std::cout << "Could not find simHit detId: " << simHitId << "in EBDigiCollection!" << std::endl; - continue; - } - std::vector::const_iterator myDigiItr = myDigisEB.begin(); - while (myDigiItr != myDigisEB.end() && (digiItr->id() != myDigiItr->id())) - ++myDigiItr; - if (myDigiItr != myDigisEB.end()) - continue; // if this digi is already in the list, skip it - - ++numMatchedDigisEventEB; - EBDataFrame df = *digiItr; - myDigisEB.push_back(df); - std::cout << "SAMPLE ADCs: " - << "\t"; - for (int i = 0; i < 10; ++i) - std::cout << i << "\t"; - std::cout << std::endl << "\t\t"; - for (int i = 0; i < df.size(); ++i) { - std::cout << df.sample(i).adc() << "\t"; - } - std::cout << std::endl << std::endl; - - simHitsEcalDigiMatchEnergyHistEB_->Fill(simHitItr->energy()); - simHitsEcalDigiMatchTimeHistEB_->Fill(simHitItr->time()); - simHitsEcalDigiMatchEnergyVsTimeHistEB_->Fill(simHitItr->time(), simHitItr->energy()); - simHitsEcalDigiMatchIEtaHist_->Fill(((EBDetId)digiItr->id()).ieta()); - simHitsEcalDigiMatchIPhiHist_->Fill(((EBDetId)digiItr->id()).iphi()); - digiOccupancyMapEB_->Fill(((EBDetId)digiItr->id()).iphi(), ((EBDetId)digiItr->id()).ieta()); - } - } - simHitsEcalNumHistEB_->Fill(numMatchedSimHitsEventEB); - digisEcalNumHistEB_->Fill(numMatchedDigisEventEB); - - // EE next - int numMatchedSimHitsEventEE = 0; - int numMatchedDigisEventEE = 0; - const PCaloHitContainer* phitsEE = nullptr; - phitsEE = eeSimHits.product(); - for (SimTrackContainer::const_iterator simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack) { - // Check if the particleId is in our list - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), simTrack->type()); - if (partIdItr == particleIds_.end()) - continue; - - PCaloHitContainer mySimHitsEE; - std::vector myDigisEE; - - //int particleId = simTrack->type(); - int trackId = simTrack->trackId(); - PCaloHitContainer::const_iterator simHitItr = phitsEE->begin(); - while (simHitItr != phitsEE->end()) { - if (simHitItr->geantTrackId() == trackId) - mySimHitsEE.push_back(*simHitItr); - ++simHitItr; - } - if (mySimHitsEE.empty()) { - std::cout << "Could not find matching EE PCaloHits for SimTrack id: " << trackId << ". Skipping this SimTrack" - << std::endl; - continue; - } - - // Loop over matching PCaloHits - for (simHitItr = mySimHitsEE.begin(); simHitItr != mySimHitsEE.end(); ++simHitItr) { - simHitsEcalEnergyHistEE_->Fill(simHitItr->energy()); - simHitsEcalTimeHistEE_->Fill(simHitItr->time()); - simHitsEcalEnergyVsTimeHistEE_->Fill(simHitItr->time(), simHitItr->energy()); - EEDetId simHitId = EEDetId(simHitItr->id()); - std::cout << "SimHit DetId found: " << simHitId << " for PDGid: " << simTrack->type() << std::endl; - //std::cout << "SimHit hashedIndex: " << simHitId.hashedIndex() << std::endl; - std::cout << "SimHit energy: " << simHitItr->energy() << " time: " << simHitItr->time() << std::endl; - ++numMatchedSimHitsEventEE; - - EEDigiCollection::const_iterator digiItr = eeDigis->begin(); - while (digiItr != eeDigis->end() && (digiItr->id() != simHitId)) - ++digiItr; - if (digiItr == eeDigis->end()) { - // Commented out for debugging ease, Aug 3 2009 - std::cout << "Could not find simHit detId: " << simHitId << "in EEDigiCollection!" << std::endl; - continue; - } - std::vector::const_iterator myDigiItr = myDigisEE.begin(); - while (myDigiItr != myDigisEE.end() && (digiItr->id() != myDigiItr->id())) - ++myDigiItr; - if (myDigiItr != myDigisEE.end()) - continue; // if this digi is already in the list, skip it - - ++numMatchedDigisEventEE; - EEDataFrame df = *digiItr; - myDigisEE.push_back(df); - std::cout << "SAMPLE ADCs: " - << "\t"; - for (int i = 0; i < 10; ++i) - std::cout << i << "\t"; - std::cout << std::endl << "\t\t"; - for (int i = 0; i < df.size(); ++i) { - std::cout << df.sample(i).adc() << "\t"; - } - std::cout << std::endl << std::endl; - - simHitsEcalDigiMatchEnergyHistEE_->Fill(simHitItr->energy()); - simHitsEcalDigiMatchTimeHistEE_->Fill(simHitItr->time()); - simHitsEcalDigiMatchEnergyVsTimeHistEE_->Fill(simHitItr->time(), simHitItr->energy()); - if (((EEDetId)digiItr->id()).zside() > 0) - digiOccupancyMapEEP_->Fill(((EEDetId)digiItr->id()).ix(), ((EEDetId)digiItr->id()).iy()); - else if (((EEDetId)digiItr->id()).zside() < 0) - digiOccupancyMapEEM_->Fill(((EEDetId)digiItr->id()).ix(), ((EEDetId)digiItr->id()).iy()); - } - } - simHitsEcalNumHistEE_->Fill(numMatchedSimHitsEventEE); - digisEcalNumHistEE_->Fill(numMatchedDigisEventEE); -} -// ------------- Make Reco plots --------------------------------------------------------- -void HSCPValidator::makeRecoPlots(const edm::Event& iEvent) { - using namespace edm; - using namespace reco; - - Handle evt; - iEvent.getByToken(token_, evt); - - Handle tkTracks; - iEvent.getByToken(tkTracksToken_, tkTracks); - const reco::TrackCollection tkTC = *(tkTracks.product()); - - Handle > dEdxTrackHandle; - iEvent.getByToken(dEdxTrackToken_, dEdxTrackHandle); - const ValueMap dEdxTrack = *dEdxTrackHandle.product(); - - for (size_t i = 0; i < tkTracks->size(); i++) { - reco::TrackRef trkRef = reco::TrackRef(tkTracks, i); - - if (trkRef->pt() < 5 || trkRef->normalizedChi2() > 10) - continue; - - double minR = 999; - double hscpgenPt = -1; - - HepMC::GenEvent* myGenEvent = new HepMC::GenEvent(*(evt->GetEvent())); - for (HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end(); ++p) { - if ((*p)->status() != particleStatus_) - continue; - // Check if the particleId is in our R-hadron list - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), (*p)->pdg_id()); - if (partIdItr != particleIds_.end()) { - //calculate DeltaR - double distance = - pow((*p)->momentum().eta() - trkRef->eta(), 2) + pow((*p)->momentum().phi() - trkRef->phi(), 2); - distance = sqrt(distance); - if (distance < minR) { - minR = distance; - hscpgenPt = (*p)->momentum().perp(); - } - } - } - RecoHSCPPtVsGenPt->Fill(trkRef->pt(), hscpgenPt); - - delete myGenEvent; - double dedx = dEdxTrack[trkRef].dEdx(); - dedxVsp->Fill(trkRef->p(), dedx); - } -} - -// ------------- Make simDigi plots RPC ------------------------------------------------- -void HSCPValidator::makeSimDigiPlotsRPC(const edm::Event& iEvent) { - using namespace edm; - - //std::cout << " Getting the SimHits " < > theSimHitContainers; - iEvent.getManyByType(theSimHitContainers); - //std::cout << " The Number of sim Hits is " << theSimHitContainers.size() < rpcRecHits; - iEvent.getByToken(rpcRecHitsToken_, rpcRecHits); - - //SimTrack Stuff - std::vector theSimHits; - - for (int i = 0; i < int(theSimHitContainers.size()); i++) { - theSimHits.insert(theSimHits.end(), theSimHitContainers.at(i)->begin(), theSimHitContainers.at(i)->end()); - } - - for (std::vector::const_iterator iHit = theSimHits.begin(); iHit != theSimHits.end(); iHit++) { - std::vector::const_iterator partIdItr = find(particleIds_.begin(), particleIds_.end(), (*iHit).particleType()); - if (partIdItr == particleIds_.end()) - continue; - - DetId theDetUnitId((*iHit).detUnitId()); - - DetId simdetid = DetId((*iHit).detUnitId()); - - if (simdetid.det() == DetId::Muon && simdetid.subdetId() == MuonSubdetId::RPC) { //Only RPCs - - RPCDetId rollId(theDetUnitId); - RPCGeomServ rpcsrv(rollId); - - //std::cout << " Reading the Roll"<roll(rollId); - - //std::cout << " Getting the Surface"<surface(); - - GlobalPoint SimHitInGlobal = RPCSurface.toGlobal((*iHit).localPosition()); - - std::cout << "\t\t We have an RPC Sim Hit! in t=" << (*iHit).timeOfFlight() << "ns " << rpcsrv.name() - << " Global postition=" << SimHitInGlobal << std::endl; - - int layer = 0; - - if (rollId.station() == 1 && rollId.layer() == 1) - layer = 1; - else if (rollId.station() == 1 && rollId.layer() == 2) - layer = 2; - else if (rollId.station() == 2 && rollId.layer() == 1) - layer = 3; - else if (rollId.station() == 2 && rollId.layer() == 2) - layer = 4; - else if (rollId.station() == 3) - layer = 5; - else if (rollId.station() == 4) - layer = 6; - - if (rollId.region() == 0) { - rpcTimeOfFlightBarrel_[layer - 1]->Fill((*iHit).timeOfFlight()); - } else { - rpcTimeOfFlightEndCap_[rollId.station() - 1]->Fill((*iHit).timeOfFlight()); - } - - std::cout << "\t\t r=" << SimHitInGlobal.mag() << " phi=" << SimHitInGlobal.phi() - << " eta=" << SimHitInGlobal.eta() << std::endl; - - int cluSize = 0; - int bx = 100; - float minres = 3000.; - - std::cout << "\t \t \t \t Getting RecHits in Roll Asociated" << std::endl; - - typedef std::pair rangeRecHits; - rangeRecHits recHitCollection = rpcRecHits->get(rollId); - RPCRecHitCollection::const_iterator recHit; - - efficiencyRPCRecHitSimDigis_->Fill(0); - - for (recHit = recHitCollection.first; recHit != recHitCollection.second; recHit++) { - LocalPoint recHitPos = recHit->localPosition(); - float res = (*iHit).localPosition().x() - recHitPos.x(); - if (fabs(res) < fabs(minres)) { - minres = res; - cluSize = recHit->clusterSize(); - bx = recHit->BunchX(); - std::cout << "\t New Min Res " << res << "cm." << std::endl; - } - } - - if (minres < 3000.) { - residualsRPCRecHitSimDigis_->Fill(minres); - efficiencyRPCRecHitSimDigis_->Fill(1); - cluSizeDistribution_->Fill(cluSize); - if (rollId.region() == 0) - rpcBXBarrel_[layer - 1]->Fill(bx); - else - rpcBXEndCap_[rollId.station() - 1]->Fill(bx); - } - } - } -} - -// ------------- Convert int to string for printing ------------------------------------- -std::string HSCPValidator::intToString(int num) { - using namespace std; - ostringstream myStream; - myStream << num << flush; - return (myStream.str()); //returns the string form of the stringstream object -} - -//------Increase trigger thresold---- - -bool HSCPValidator::IncreasedTreshold(const trigger::TriggerEvent& trEv, - const edm::InputTag& InputPath, - double NewThreshold, - double etaCut, - int NObjectAboveThreshold, - bool averageThreshold) { - unsigned int filterIndex = trEv.filterIndex(InputPath); - //if(filterIndex %s XXX %s\n",filterIndex,trEv.filterTag(filterIndex).label().c_str(), trEv.filterTag(filterIndex).process().c_str()); - - if (filterIndex < trEv.sizeFilters()) { - const trigger::Vids& VIDS(trEv.filterIds(filterIndex)); - const trigger::Keys& KEYS(trEv.filterKeys(filterIndex)); - const int nI(VIDS.size()); - const int nK(KEYS.size()); - assert(nI == nK); - const int n(std::max(nI, nK)); - const trigger::TriggerObjectCollection& TOC(trEv.getObjects()); - - if (!averageThreshold) { - int NObjectAboveThresholdObserved = 0; - for (int i = 0; i != n; ++i) { - if (TOC[KEYS[i]].pt() > NewThreshold && fabs(TOC[KEYS[i]].eta()) < etaCut) - NObjectAboveThresholdObserved++; - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl; - } - if (NObjectAboveThresholdObserved >= NObjectAboveThreshold) - return true; - - } else { - std::vector ObjPt; - - for (int i = 0; i != n; ++i) { - ObjPt.push_back(TOC[KEYS[i]].pt()); - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl; - } - if ((int)(ObjPt.size()) < NObjectAboveThreshold) - return false; - std::sort(ObjPt.begin(), ObjPt.end()); - - double Average = 0; - for (int i = 0; i < NObjectAboveThreshold; i++) { - Average += ObjPt[ObjPt.size() - 1 - i]; - } - Average /= NObjectAboveThreshold; - //cout << "AVERAGE = " << Average << endl; - - if (Average > NewThreshold) - return true; - } - } - return false; -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HSCPValidator); diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h b/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h deleted file mode 100644 index 7c02041f393e9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCPValidator.h +++ /dev/null @@ -1,150 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCP -// Class: HSCPValidator -// -/**\class HSCPValidator HSCPValidator.cc HSCPValidation/HSCPValidator/src/HSCPValidator.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Seth Cooper,27 1-024,+41227672342, -// Created: Wed Apr 14 14:27:52 CEST 2010 -// -// -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "Geometry/RPCGeometry/interface/RPCGeometry.h" -#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" -#include "FWCore/Common/interface/TriggerResultsByName.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/TrackReco/interface/DeDxData.h" -#include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" -#include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h" -#include "SimDataFormats/Track/interface/SimTrackContainer.h" -#include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h" - -// - -#include "TH2F.h" -// -// class declaration -// - -class HSCPValidator : public edm::EDAnalyzer { -public: - explicit HSCPValidator(const edm::ParameterSet&); - ~HSCPValidator() override; - -private: - void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - std::string intToString(int num); - void makeGenPlots(const edm::Event& iEvent); - void makeSimTrackPlots(const edm::Event& iEvent); - void makeSimDigiPlotsECAL(const edm::Event& iEvent); - void makeSimDigiPlotsRPC(const edm::Event& iEvent); - void makeHLTPlots(const edm::Event& iEvent); - void makeRecoPlots(const edm::Event& iEvent); - bool IncreasedTreshold(const trigger::TriggerEvent& trEv, - const edm::InputTag& InputPath, - double NewThreshold, - double etaCut, - int NObjectAboveThreshold, - bool averageThreshold); - // ----------member data --------------------------- - bool doGenPlots_; - bool doHLTPlots_; - bool doSimTrackPlots_; - bool doSimDigiPlots_; - bool doRecoPlots_; - - // GEN section - edm::EDGetTokenT token_; - edm::EDGetTokenT simTracksToken_; - edm::EDGetTokenT trEvToken_; - edm::EDGetTokenT tkTracksToken_; - edm::EDGetTokenT > dEdxTrackToken_; - edm::EDGetTokenT rpcRecHitsToken_; - edm::EDGetTokenT triggerResultsToken_; - std::vector particleIds_; - int particleStatus_; - std::map particleIdsFoundMap_; - TH1F* particleEtaHist_; - TH1F* particlePhiHist_; - TH1F* particlePHist_; - TH1F* particlePtHist_; - TH1F* particleMassHist_; - TH1F* particleStatusHist_; - TH1F* particleBetaHist_; - TH1F* particleBetaInverseHist_; - TH1F* h_genhscp_met; - TH1F* h_genhscp_met_nohscp; - TH1F* h_genhscp_scaloret; - TH1F* h_genhscp_scaloret_nohscp; - - //SIM-Track section - TH1F* simTrackParticleEtaHist_; - TH1F* simTrackParticlePhiHist_; - TH1F* simTrackParticlePHist_; - TH1F* simTrackParticlePtHist_; - TH1F* simTrackParticleBetaHist_; - - // SIM-DIGI section - edm::EDGetTokenT ebSimHitToken_; - edm::EDGetTokenT eeSimHitToken_; - edm::EDGetTokenT simTrackToken_; - edm::EDGetTokenT EBDigiCollectionToken_; - edm::EDGetTokenT EEDigiCollectionToken_; - edm::ESHandle rpcGeo; - // ECAL - TH1F* simHitsEcalEnergyHistEB_; - TH1F* simHitsEcalTimeHistEB_; - TH1F* simHitsEcalNumHistEB_; - TH2F* simHitsEcalEnergyVsTimeHistEB_; - TH1F* simHitsEcalEnergyHistEE_; - TH1F* simHitsEcalTimeHistEE_; - TH1F* simHitsEcalNumHistEE_; - TH2F* simHitsEcalEnergyVsTimeHistEE_; - TH1F* simHitsEcalDigiMatchEnergyHistEB_; - TH1F* simHitsEcalDigiMatchTimeHistEB_; - TH2F* simHitsEcalDigiMatchEnergyVsTimeHistEB_; - TH1F* simHitsEcalDigiMatchEnergyHistEE_; - TH1F* simHitsEcalDigiMatchTimeHistEE_; - TH2F* simHitsEcalDigiMatchEnergyVsTimeHistEE_; - TH1F* simHitsEcalDigiMatchIEtaHist_; - TH1F* simHitsEcalDigiMatchIPhiHist_; - TH1F* digisEcalNumHistEB_; - TH1F* digisEcalNumHistEE_; - TH2F* digiOccupancyMapEB_; - TH2F* digiOccupancyMapEEP_; - TH2F* digiOccupancyMapEEM_; - // RPC - TH1F* residualsRPCRecHitSimDigis_; - TH1F* efficiencyRPCRecHitSimDigis_; - TH1F* cluSizeDistribution_; - TH1F* rpcTimeOfFlightBarrel_[6]; - TH1F* rpcBXBarrel_[6]; - TH1F* rpcTimeOfFlightEndCap_[3]; - TH1F* rpcBXEndCap_[3]; - //HLT - TH1F* hltmet; - TH1F* hltjet; - TH1F* hltmu; - //RECO - TH2F* RecoHSCPPtVsGenPt; - TH2F* dedxVsp; -}; diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.cc deleted file mode 100644 index 3933f177d839a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.cc +++ /dev/null @@ -1,363 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCParticleProducer -// Class: HSCParticleProducer -// -/**\class HSCParticleProducer HSCParticleProducer.cc SUSYBSMAnalysis/HSCParticleProducer/src/HSCParticleProducer.cc - - Description: Producer for HSCP candidates, merging tracker dt information and rpc information - - Implementation: - -*/ -// -// Original Author: Loic Quertenmont -// Created: Wed Oct 10 12:01:28 CEST 2007 -// -// - -// user include files -#include "SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.h" - -using namespace susybsm; -using namespace reco; - -HSCParticleProducer::HSCParticleProducer(const edm::ParameterSet& iConfig) { - using namespace edm; - using namespace std; - - // the Act as Event filter - Filter_ = iConfig.getParameter("filter"); - - // the input collections - m_trackToken = consumes(iConfig.getParameter("tracks")); - m_muonsToken = consumes(iConfig.getParameter("muons")); - m_MTmuonsToken = consumes(iConfig.getParameter("MTmuons")); - m_trackIsoToken = consumes(iConfig.getParameter("tracksIsolation")); - - useBetaFromTk = iConfig.getParameter("useBetaFromTk"); - useBetaFromMuon = iConfig.getParameter("useBetaFromMuon"); - useBetaFromRpc = iConfig.getParameter("useBetaFromRpc"); - useBetaFromEcal = iConfig.getParameter("useBetaFromEcal"); - - // the parameters - minTkP = iConfig.getParameter("minTkP"); // 30 - maxTkChi2 = iConfig.getParameter("maxTkChi2"); // 5 - minTkHits = iConfig.getParameter("minTkHits"); // 9 - minMuP = iConfig.getParameter("minMuP"); // 30 - minDR = iConfig.getParameter("minDR"); // 0.1 - minSAMuPt = iConfig.getParameter("minSAMuPt"); // 70 - minMTMuPt = iConfig.getParameter("minMTMuPt"); // 70 - minMTDR = iConfig.getParameter("minMTDR"); // 0.3 - maxInvPtDiff = iConfig.getParameter("maxInvPtDiff"); // 0.005 - - if (useBetaFromTk) - beta_calculator_TK = new BetaCalculatorTK(iConfig, consumesCollector()); - if (useBetaFromMuon) - beta_calculator_MUON = new BetaCalculatorMUON(iConfig, consumesCollector()); - if (useBetaFromRpc) - beta_calculator_RPC = new BetaCalculatorRPC(iConfig, consumesCollector()); - if (useBetaFromEcal) - beta_calculator_ECAL = new BetaCalculatorECAL(iConfig, consumesCollector()); - - // Load all the selections - std::vector SelectionParameters = - iConfig.getParameter >("SelectionParameters"); - for (unsigned int i = 0; i < SelectionParameters.size(); i++) { - Selectors.push_back(new CandidateSelector(SelectionParameters[i])); - } - - // what I produce - produces(); - if (useBetaFromEcal) - produces(); -} - -HSCParticleProducer::~HSCParticleProducer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to produce the data ------------ -bool HSCParticleProducer::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - using namespace reco; - using namespace std; - using namespace susybsm; - - // information from the muons - edm::Handle muonCollectionHandle; - iEvent.getByToken(m_muonsToken, muonCollectionHandle); - - //information from the mean timer muons - edm::Handle MTmuonCollectionHandle; - iEvent.getByToken(m_MTmuonsToken, MTmuonCollectionHandle); - - // information from the tracks - edm::Handle trackCollectionHandle; - iEvent.getByToken(m_trackToken, trackCollectionHandle); - - // information from the tracks iso - edm::Handle trackIsoCollectionHandle; - iEvent.getByToken(m_trackIsoToken, trackIsoCollectionHandle); - - // creates the output collection - susybsm::HSCParticleCollection* hscp = new susybsm::HSCParticleCollection; - std::unique_ptr result(hscp); - - susybsm::HSCPCaloInfoCollection* caloInfoColl = new susybsm::HSCPCaloInfoCollection; - std::unique_ptr caloInfoCollaptr(caloInfoColl); - - // Fill the output collection with HSCP Candidate (the candiate only contains ref to muon AND/OR track object) - *hscp = getHSCPSeedCollection(trackCollectionHandle, muonCollectionHandle, MTmuonCollectionHandle); - - // find the track ref for isolation purposed (main track is supposed to be the Iso track after refitting) - for (susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin(); hscpcandidate != hscp->end(); - ++hscpcandidate) { - // Matching is needed because input track collection and muon inner track may lightly differs due to track refit - reco::TrackRef track = hscpcandidate->trackRef(); - if (track.isNull()) - continue; - float dRMin = 1000; - int found = -1; - for (unsigned int t = 0; t < trackIsoCollectionHandle->size(); t++) { - reco::TrackRef Isotrack = reco::TrackRef(trackIsoCollectionHandle, t); - if (fabs((1.0 / track->pt()) - (1.0 / Isotrack->pt())) > maxInvPtDiff) - continue; - float dR = deltaR(track->momentum(), Isotrack->momentum()); - if (dR <= minDR && dR < dRMin) { - dRMin = dR; - found = t; - } - } - if (found >= 0) - hscpcandidate->setTrackIso(reco::TrackRef(trackIsoCollectionHandle, found)); - } - - // compute the TRACKER contribution - if (useBetaFromTk) { - for (susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin(); hscpcandidate != hscp->end(); - ++hscpcandidate) { - beta_calculator_TK->addInfoToCandidate(*hscpcandidate, iEvent, iSetup); - } - } - - // compute the MUON contribution - if (useBetaFromMuon) { - for (susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin(); hscpcandidate != hscp->end(); - ++hscpcandidate) { - beta_calculator_MUON->addInfoToCandidate(*hscpcandidate, iEvent, iSetup); - } - } - - // compute the RPC contribution - if (useBetaFromRpc) { - for (susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin(); hscpcandidate != hscp->end(); - ++hscpcandidate) { - beta_calculator_RPC->addInfoToCandidate(*hscpcandidate, iEvent, iSetup); - } - } - - // compute the ECAL contribution - if (useBetaFromEcal) { - int Index = 0; - caloInfoColl->resize(hscp->size()); - for (susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin(); hscpcandidate != hscp->end(); - ++hscpcandidate, Index++) { - beta_calculator_ECAL->addInfoToCandidate( - *hscpcandidate, trackCollectionHandle, iEvent, iSetup, (*caloInfoColl)[Index]); - } - } - - // cleanup the collection based on the input selection - for (int i = 0; i < (int)hscp->size(); i++) { - susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin() + i; - bool decision = false; - for (unsigned int s = 0; s < Selectors.size(); s++) { - decision |= Selectors[s]->isSelected(*hscpcandidate); - } - if (!decision) { - hscp->erase(hscpcandidate); - if (useBetaFromEcal) - caloInfoColl->erase(caloInfoColl->begin() + i); - i--; - } - } - bool filterResult = !Filter_ || (Filter_ && !hscp->empty()); - - // output result - if (useBetaFromEcal) { - edm::OrphanHandle caloInfoHandle = iEvent.put(std::move(caloInfoCollaptr)); - // adding the reftoCaloInfoObject to the HSCP Object - for (int i = 0; i < (int)hscp->size(); i++) { - susybsm::HSCParticleCollection::iterator hscpcandidate = hscp->begin() + i; - hscpcandidate->setCaloInfo(HSCPCaloInfoRef(caloInfoHandle, i)); - } - } - - // output result - - edm::OrphanHandle putHandle = iEvent.put(std::move(result)); - // if(useBetaFromEcal){ - // edm::RefProd hscpCollectionHandle = iEvent.getRefBeforePut(); - // filler.insert(putHandle, CaloInfoColl.begin(), CaloInfoColl.end()); - // filler.fill(); - // iEvent.put(std::move(CaloInfoMap)); - // } - - return filterResult; -} - -// ------------ method called once each job just before starting event loop ------------ -void HSCParticleProducer::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void HSCParticleProducer::endJob() {} - -std::vector HSCParticleProducer::getHSCPSeedCollection( - edm::Handle& trackCollectionHandle, - edm::Handle& muonCollectionHandle, - edm::Handle& MTmuonCollectionHandle) { - std::vector HSCPCollection; - - // Store a local vector of track ref (that can be modified if matching) - std::vector tracks; - for (unsigned int i = 0; i < trackCollectionHandle->size(); i++) { - TrackRef track = reco::TrackRef(trackCollectionHandle, i); - - //If track is from muon always keep it - bool isMuon = false; - for (unsigned int m = 0; m < muonCollectionHandle->size(); m++) { - reco::MuonRef muon = reco::MuonRef(muonCollectionHandle, m); - TrackRef innertrack = muon->innerTrack(); - if (innertrack.isNull()) - continue; - if (fabs((1.0 / innertrack->pt()) - (1.0 / track->pt())) > maxInvPtDiff) - continue; - float dR = deltaR(innertrack->momentum(), track->momentum()); - if (dR <= minDR) - isMuon = true; - } - - if ((track->p() < minTkP || (track->chi2() / track->ndof()) > maxTkChi2 || track->found() < minTkHits) && !isMuon) - continue; - tracks.push_back(track); - } - - // Loop on muons with inner track ref and create Muon HSCP Candidate - for (unsigned int m = 0; m < muonCollectionHandle->size(); m++) { - reco::MuonRef muon = reco::MuonRef(muonCollectionHandle, m); - double SApt = -1; - if (muon->isStandAloneMuon()) - SApt = muon->standAloneMuon()->pt(); - if (muon->p() < minMuP && SApt < minSAMuPt) - continue; - TrackRef innertrack = muon->innerTrack(); - if (innertrack.isNull()) - continue; - - // Check if the inner track match any track in order to create a Muon+Track HSCP Candidate - // Matching is needed because input track collection and muon inner track may lightly differs due to track refit - float dRMin = 1000; - int found = -1; - for (unsigned int t = 0; t < tracks.size(); t++) { - reco::TrackRef track = tracks[t]; - if (fabs((1.0 / innertrack->pt()) - (1.0 / track->pt())) > maxInvPtDiff) - continue; - float dR = deltaR(innertrack->momentum(), track->momentum()); - if (dR <= minDR && dR < dRMin) { - dRMin = dR; - found = t; - } - } - - HSCParticle candidate; - candidate.setMuon(muon); - if (found >= 0) { - // printf("MUON with Inner Track Matching --> DR = %6.2f (%6.2f %+6.2f %+6.2f):(%6.2f %+6.2f %+6.2f) vs (%6.2f %+6.2f %+6.2f)\n",dRMin,muon->pt(), muon->eta(), muon->phi(), innertrack->pt(), innertrack->eta(), innertrack->phi(), tracks[found]->pt(), tracks[found]->eta(), tracks[found]->phi() ); - candidate.setTrack(tracks[found]); - tracks.erase(tracks.begin() + found); - } - HSCPCollection.push_back(candidate); - } - - // Loop on muons without inner tracks and create Muon HSCP Candidate - for (unsigned int m = 0; m < muonCollectionHandle->size(); m++) { - reco::MuonRef muon = reco::MuonRef(muonCollectionHandle, m); - double SApt = -1; - if (muon->isStandAloneMuon()) - SApt = muon->standAloneMuon()->pt(); - if (muon->p() < minMuP && SApt < minSAMuPt) - continue; - TrackRef innertrack = muon->innerTrack(); - if (innertrack.isNonnull()) - continue; - - // Check if the muon match any track in order to create a Muon+Track HSCP Candidate - float dRMin = 1000; - int found = -1; - for (unsigned int t = 0; t < tracks.size(); t++) { - reco::TrackRef track = tracks[t]; - if (fabs((1.0 / muon->pt()) - (1.0 / track->pt())) > maxInvPtDiff) - continue; - float dR = deltaR(muon->momentum(), track->momentum()); - if (dR <= minDR && dR < dRMin) { - dRMin = dR; - found = t; - } - } - - HSCParticle candidate; - candidate.setMuon(muon); - if (found >= 0) { - // printf("MUON without Inner Track Matching --> DR = %6.2f (%6.2f %+6.2f %+6.2f) vs (%6.2f %+6.2f %+6.2f)\n",dRMin,muon->pt(), muon->eta(), muon->phi(), tracks[found]->pt(), tracks[found]->eta(), tracks[found]->phi() ); - candidate.setTrack(tracks[found]); - tracks.erase(tracks.begin() + found); - } - HSCPCollection.push_back(candidate); - } - - //Loop on MT muons and add to collection - for (unsigned int m = 0; m < MTmuonCollectionHandle->size(); m++) { - reco::MuonRef MTmuon = reco::MuonRef(MTmuonCollectionHandle, m); - if (MTmuon->pt() < minMTMuPt) - continue; - - //Check if matches muon HSCP candidate and add reference - float dRMin = 1000; - int found = -1; - for (unsigned int i = 0; i < HSCPCollection.size(); i++) { - if (!HSCPCollection[i].hasMuonRef()) - continue; - reco::MuonRef muon = HSCPCollection[i].muonRef(); - float dR = deltaR(muon->momentum(), MTmuon->momentum()); - if (dR <= minMTDR && dR < dRMin) { - dRMin = dR; - found = i; - } - } - if (found > -1) - HSCPCollection[found].setMTMuon(MTmuon); - else { - HSCParticle candidate; - candidate.setMTMuon(MTmuon); - HSCPCollection.push_back(candidate); - } - } - - // Loop on tracks not matching muon and create Track HSCP Candidate - for (unsigned int i = 0; i < tracks.size(); i++) { - HSCParticle candidate; - candidate.setTrack(tracks[i]); - HSCPCollection.push_back(candidate); - } - - return HSCPCollection; -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HSCParticleProducer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.h b/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.h deleted file mode 100644 index 7b9a2a3d568cf..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleProducer.h +++ /dev/null @@ -1,95 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCParticleProducer -// Class: HSCParticleProducer -// -/**\class HSCParticleProducer HSCParticleProducer.h SUSYBSMAnalysis/HSCParticleProducer/interface/HSCParticleProducer.h - - Description: Producer for HSCP candidates, merging tracker dt information and rpc information - - Implementation: - -*/ -// -// Original Author: Loic Quertenmont -// Created: Wed Oct 10 12:01:28 CEST 2007 - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "CommonTools/UtilAlgos/interface/DeltaR.h" - -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h" -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h" -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h" -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h" -#include "SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h" - -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "Math/GenVector/VectorUtil.h" - -#include -#include - -#include -#include - -// -// class decleration -// -class HSCParticleProducer : public edm::EDFilter { -public: - explicit HSCParticleProducer(const edm::ParameterSet&); - ~HSCParticleProducer() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - std::vector getHSCPSeedCollection(edm::Handle& trackCollectionHandle, - edm::Handle& muonCollectionHandle, - edm::Handle& MTmuonCollectionHandle); - - // ----------member data --------------------------- - bool Filter_; - - edm::EDGetTokenT m_trackToken; - edm::EDGetTokenT m_trackIsoToken; - edm::EDGetTokenT m_muonsToken; - edm::EDGetTokenT m_MTmuonsToken; - - bool useBetaFromTk; - bool useBetaFromMuon; - bool useBetaFromRpc; - bool useBetaFromEcal; - - float minTkP; - float maxTkChi2; - unsigned int minTkHits; - float minMuP; - float minSAMuPt; - float minMTMuPt; - float minDR; - float minMTDR; - float maxInvPtDiff; - - BetaCalculatorTK* beta_calculator_TK; - BetaCalculatorMUON* beta_calculator_MUON; - BetaCalculatorRPC* beta_calculator_RPC; - BetaCalculatorECAL* beta_calculator_ECAL; - - std::vector Selectors; -}; diff --git a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleSelector.cc b/SUSYBSMAnalysis/HSCP/plugins/HSCParticleSelector.cc deleted file mode 100644 index 83006d412f6b9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/HSCParticleSelector.cc +++ /dev/null @@ -1,92 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/View.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h" - -// -// class declaration -// -class HSCParticleSelector : public edm::EDFilter { -public: - explicit HSCParticleSelector(const edm::ParameterSet&); - ~HSCParticleSelector() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT sourceToken_; - - bool Filter_; - std::vector Selectors; -}; - -///////////////////////////////////////////////////////////////////////////////////// -HSCParticleSelector::HSCParticleSelector(const edm::ParameterSet& iConfig) { - // What is being produced - produces(); - - // Input products - sourceToken_ = consumes(iConfig.getParameter("source")); - Filter_ = iConfig.getParameter("filter"); - - // Load all the selections - std::vector SelectionParameters = - iConfig.getParameter >("SelectionParameters"); - for (unsigned int i = 0; i < SelectionParameters.size(); i++) { - Selectors.push_back(new CandidateSelector(SelectionParameters[i])); - } -} - -///////////////////////////////////////////////////////////////////////////////////// -HSCParticleSelector::~HSCParticleSelector() {} - -///////////////////////////////////////////////////////////////////////////////////// -void HSCParticleSelector::beginJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -void HSCParticleSelector::endJob() {} - -///////////////////////////////////////////////////////////////////////////////////// -bool HSCParticleSelector::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - // Source Collection - edm::Handle SourceHandle; - if (!iEvent.getByToken(sourceToken_, SourceHandle)) { - edm::LogError("") << ">>> HSCParticleCollection does not exist !!!"; - return false; - } - susybsm::HSCParticleCollection Source = *SourceHandle.product(); - - // Output Collection - susybsm::HSCParticleCollection* output = new susybsm::HSCParticleCollection; - std::unique_ptr result(output); - - // cleanup the collection based on the input selection - for (susybsm::HSCParticleCollection::iterator hscpcandidate = Source.begin(); hscpcandidate < Source.end(); - ++hscpcandidate) { - bool decision = false; - for (unsigned int i = 0; i < Selectors.size(); i++) { - decision |= Selectors[i]->isSelected(*hscpcandidate); - } - if (decision) { - susybsm::HSCParticle* newhscp = new susybsm::HSCParticle(*hscpcandidate); - output->push_back(*newhscp); - } - } - - bool filterResult = !Filter_ || (Filter_ && !output->empty()); - - iEvent.put(std::move(result)); - - return filterResult; -} - -DEFINE_FWK_MODULE(HSCParticleSelector); diff --git a/SUSYBSMAnalysis/HSCP/plugins/MuonSegmentProducer.cc b/SUSYBSMAnalysis/HSCP/plugins/MuonSegmentProducer.cc deleted file mode 100644 index 09fc65cf524c3..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/MuonSegmentProducer.cc +++ /dev/null @@ -1,136 +0,0 @@ -// -*- C++ -*- -// -// Package: MuonSegmentProducer -// Class: MuonSegmentProducer -// -/**\class MuonSegmentProducer MuonSegmentProducer.cc SUSYBSMAnalysis/MuonSegmentProducer/src/MuonSegmentProducer.cc - - Description: Producer muon segments with global position info to be used in FWLite - - Implementation: - -*/ -// -// Original Author: Rizzi Andrea -// Reworked and Ported to CMSSW_3_0_0 by Christophe Delaere -// Created: Wed Oct 10 12:01:28 CEST 2007 -// $Id: MuonSegmentProducer.cc,v 1.1 2012/04/27 20:49:41 farrell3 Exp $ -// -// - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/MuonSegment.h" - -#include "Geometry/Records/interface/MuonGeometryRecord.h" -#include "DataFormats/MuonDetId/interface/MuonSubdetId.h" -#include "Geometry/DTGeometry/interface/DTGeometry.h" -#include "Geometry/DTGeometry/interface/DTLayer.h" -#include "Geometry/DTGeometry/interface/DTChamber.h" -#include "Geometry/DTGeometry/interface/DTSuperLayer.h" -#include "Geometry/CSCGeometry/interface/CSCGeometry.h" -#include "TrackingTools/Records/interface/TrackingComponentsRecord.h" - -#include -#include - -// -// class decleration -// -class MuonSegmentProducer : public edm::EDProducer { -public: - explicit MuonSegmentProducer(const edm::ParameterSet&); - ~MuonSegmentProducer() override; - -private: - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - edm::EDGetTokenT m_cscSegmentToken; - edm::EDGetTokenT m_dtSegmentToken; -}; - -using namespace susybsm; - -MuonSegmentProducer::MuonSegmentProducer(const edm::ParameterSet& iConfig) { - using namespace edm; - using namespace std; - - m_cscSegmentToken = consumes(iConfig.getParameter("CSCSegments")); - m_dtSegmentToken = consumes(iConfig.getParameter("DTSegments")); - - produces(); -} - -MuonSegmentProducer::~MuonSegmentProducer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void MuonSegmentProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - using namespace std; - using namespace susybsm; - - susybsm::MuonSegmentCollection* segments = new susybsm::MuonSegmentCollection; - std::unique_ptr resultSeg(segments); - - edm::ESHandle dtGeom; - iSetup.get().get(dtGeom); - - edm::ESHandle cscGeom; - iSetup.get().get(cscGeom); - - edm::Handle dtSegments; - iEvent.getByToken(m_dtSegmentToken, dtSegments); - - for (unsigned int d = 0; d < dtSegments->size(); d++) { - DTRecSegment4DRef SegRef = DTRecSegment4DRef(dtSegments, d); - MuonSegment muonSegment; - muonSegment.setDTSegmentRef(SegRef); - - const GeomDet* dtDet = dtGeom->idToDet(SegRef->geographicalId()); - GlobalPoint point = dtDet->toGlobal(SegRef->localPosition()); - muonSegment.setGP(point); - segments->push_back(muonSegment); - } - - edm::Handle cscSegments; - iEvent.getByToken(m_cscSegmentToken, cscSegments); - - for (unsigned int c = 0; c < cscSegments->size(); c++) { - CSCSegmentRef SegRef = CSCSegmentRef(cscSegments, c); - MuonSegment muonSegment; - muonSegment.setCSCSegmentRef(SegRef); - - const GeomDet* cscDet = cscGeom->idToDet(SegRef->geographicalId()); - GlobalPoint point = cscDet->toGlobal(SegRef->localPosition()); - muonSegment.setGP(point); - segments->push_back(muonSegment); - } - - edm::OrphanHandle putHandleSeg = iEvent.put(std::move(resultSeg)); -} - -// ------------ method called once each job just before starting event loop ------------ -void MuonSegmentProducer::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void MuonSegmentProducer::endJob() {} - -//define this as a plug-in -DEFINE_FWK_MODULE(MuonSegmentProducer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/SimHitShifter.cc b/SUSYBSMAnalysis/HSCP/plugins/SimHitShifter.cc deleted file mode 100644 index 2b81e915fd09a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/SimHitShifter.cc +++ /dev/null @@ -1,308 +0,0 @@ -// -*- C++ -*- -// -// Package: SimHitShifter -// Class: SimHitShifter -// -/**\class SimHitShifter SimHitShifter.cc simhitshifter/SimHitShifter/src/SimHitShifter.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Camilo Andres Carrillo Montoya,40 2-B15,+41227671625, -// Created: Mon Aug 30 18:35:05 CEST 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "DataFormats/RPCDigi/interface/RPCDigi.h" -#include "DataFormats/RPCDigi/interface/RPCDigiCollection.h" -#include -#include "DataFormats/RPCRecHit/interface/RPCRecHitCollection.h" -#include -#include -#include "Geometry/RPCGeometry/interface/RPCGeomServ.h" -#include -#include -#include "DataFormats/GeometrySurface/interface/Surface.h" -#include "DataFormats/DetId/interface/DetId.h" -#include -#include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Candidate/interface/CandMatchMap.h" -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h" - -#include "MagneticField/Engine/interface/MagneticField.h" -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" -#include "Geometry/CommonDetUnit/interface/GeomDet.h" -#include -#include -#include "DataFormats/GeometrySurface/interface/Surface.h" -#include "TrackingTools/TransientTrack/interface/TransientTrack.h" - -#include "TrackingTools/GeomPropagators/interface/Propagator.h" -#include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h" -#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h" - -#include "SimDataFormats/Track/interface/SimTrack.h" -#include "SimDataFormats/Track/interface/SimTrackContainer.h" -#include "SimDataFormats/Vertex/interface/SimVertex.h" -#include "SimDataFormats/Vertex/interface/SimVertexContainer.h" - -#include "TrackingTools/Records/interface/TrackingComponentsRecord.h" -#include "RecoMuon/TrackingTools/interface/MuonPatternRecoDumper.h" - -#include "DataFormats/MuonDetId/interface/MuonSubdetId.h" - -#include "DataFormats/MuonDetId/interface/CSCDetId.h" - -#include "Geometry/RPCGeometry/interface/RPCGeometry.h" -#include -#include -#include -#include - -#include - -//Root -#include "TFile.h" -#include "TF1.h" -#include "TH1F.h" -#include "TH1.h" -#include "TH2F.h" -#include "TROOT.h" -#include "TMath.h" -#include "TCanvas.h" - -//Track -#include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h" -#include "TrackingTools/PatternTools/interface/Trajectory.h" -#include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" -#include "DataFormats/TrackCandidate/interface/TrackCandidate.h" -#include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" - -#include - -// -// class declaration -// - -class SimHitShifter : public edm::EDProducer { -public: - explicit SimHitShifter(const edm::ParameterSet&); - ~SimHitShifter() override; - //edm::ESHandle rpcGeo; - void beginRun(const edm::Run&, const edm::EventSetup&) override; - std::map shiftinfo; - -private: - std::string ShiftFileName; - void beginJob() override; - void produce(edm::Event&, const edm::EventSetup&) override; - void endJob() override; -}; - -SimHitShifter::SimHitShifter(const edm::ParameterSet& iConfig) { - std::cout << "in the constructor" << std::endl; - - ShiftFileName = - iConfig.getUntrackedParameter("ShiftFileName", - "/afs/cern.ch/user/c/carrillo/simhits/CMSSW_3_5_8_patch2/src/" - "simhitshifter/SimHitShifter/Merged_Muon_RawId_Shift.txt"); - - //iSetup.get().get(rpcGeo); - - std::ifstream ifin(ShiftFileName.c_str()); - - int rawId; - float offset; - - std::cout << "In the constructor, The name of the file is " << ShiftFileName.c_str() << std::endl; - - if (!ifin) - std::cout << "Problem reading the map rawId shift " << ShiftFileName.c_str() << std::endl; - assert(ifin); - - while (ifin.good()) { - ifin >> rawId >> offset; - shiftinfo[rawId] = offset; - std::cout << "rawId =" << rawId << " offset=" << offset << std::endl; - } - - produces("MuonCSCHits"); - produces("MuonDTHits"); - produces("MuonRPCHits"); -} - -SimHitShifter::~SimHitShifter() {} - -void SimHitShifter::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - - //std::cout << " Getting the SimHits " < > theSimHitContainers; - iEvent.getManyByType(theSimHitContainers); - //std::cout << " The Number of sim Hits is " << theSimHitContainers.size() < pcsc(new edm::PSimHitContainer); - std::unique_ptr pdt(new edm::PSimHitContainer); - std::unique_ptr prpc(new edm::PSimHitContainer); - - std::vector theSimHits; - - using std::dec; - using std::oct; - - for (int i = 0; i < int(theSimHitContainers.size()); i++) { - theSimHits.insert(theSimHits.end(), theSimHitContainers.at(i)->begin(), theSimHitContainers.at(i)->end()); - } - - for (std::vector::const_iterator iHit = theSimHits.begin(); iHit != theSimHits.end(); iHit++) { - DetId theDetUnitId((*iHit).detUnitId()); - DetId simdetid = DetId((*iHit).detUnitId()); - - if (simdetid.det() != DetId::Muon) - continue; - - float newtof = 0; - - if (simdetid.det() == DetId::Muon && simdetid.subdetId() == MuonSubdetId::RPC) { //Only RPCs - //std::cout<<"\t\t We have an RPC Sim Hit! in t="<<(*iHit).timeOfFlight()<<" DetId="<<(*iHit).detUnitId()<push_back(hit); - } else if (simdetid.det() == DetId::Muon && simdetid.subdetId() == MuonSubdetId::DT) { //Only DTs - int RawId = simdetid.rawId(); - std::cout << "We found a DT simhit the RawId in Dec is"; - std::cout << dec << RawId << std::endl; - std::cout << "and in oct" << std::endl; - std::cout << oct << RawId << std::endl; - std::cout << "once masked in oct " << std::endl; - int compressedRawId = RawId / 8 / 8 / 8 / 8 / 8; - std::cout << compressedRawId << std::endl; - std::cout << "extendedRawId" << std::endl; - int extendedRawId = compressedRawId * 8 * 8 * 8 * 8 * 8; - std::cout << extendedRawId << std::endl; - std::cout << "converted again in decimal" << std::endl; - std::cout << dec << extendedRawId << std::endl; - - if (shiftinfo.find(extendedRawId) == shiftinfo.end()) { - //std::cout<<"DT Warning the RawId = "<push_back(hit); - } - } - - std::cout << "Putting collections in the event" << std::endl; - - iEvent.put(std::move(pcsc), "MuonCSCHits"); - iEvent.put(std::move(pdt), "MuonDTHits"); - iEvent.put(std::move(prpc), "MuonRPCHits"); -} - -void SimHitShifter::beginRun(const edm::Run& run, const edm::EventSetup& iSetup) {} - -// ------------ method called once each job just before starting event loop ------------ -void SimHitShifter::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void SimHitShifter::endJob() {} - -//define this as a plug-in -DEFINE_FWK_MODULE(SimHitShifter); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_HSCPFilter.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_HSCPFilter.cc deleted file mode 100644 index 7134b1135c7d7..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_HSCPFilter.cc +++ /dev/null @@ -1,163 +0,0 @@ -// -*- C++ -*- -// -// Package: HSCPFilter -// Class: HSCPFilter -// -/**\class HSCPFilter HSCPFilter.cc HSCPFilter/HSCPFilter/src/HSCPFilter.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Jie Chen -// Created: Thu Apr 29 16:32:10 CDT 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/global/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/TrackExtra.h" - -#include "DataFormats/TrackReco/interface/TrackToTrackMap.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" - -#include "DataFormats/TrackReco/interface/DeDxData.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -// -// class declaration -// - -class HSCPFilter : public edm::global::EDFilter<> { -public: - explicit HSCPFilter(const edm::ParameterSet&); - -private: - bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; - bool filterFlag; - edm::EDGetTokenT recoVertexToken; - edm::EDGetTokenT input_muon_collectionToken; - edm::EDGetTokenT input_track_collectionToken; - edm::EDGetTokenT > input_dedx_collectionToken; - int ndedxHits; - double dedxMin, dedxMaxLeft, trkPtMin, SAMuPtMin, etaMin, etaMax, chi2nMax, dxyMax, dzMax; - - // ----------member data --------------------------- -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -HSCPFilter::HSCPFilter(const edm::ParameterSet& iConfig) { - filterFlag = iConfig.getParameter("filter"); - recoVertexToken = consumes(edm::InputTag("offlinePrimaryVertices")); - input_muon_collectionToken = - consumes(iConfig.getParameter("inputMuonCollection")); - input_track_collectionToken = - consumes(iConfig.getParameter("inputTrackCollection")); - input_dedx_collectionToken = - consumes >(iConfig.getParameter("inputDedxCollection")); - dedxMin = iConfig.getParameter("dedxMin"); - dedxMaxLeft = iConfig.getParameter("dedxMaxLeft"); - trkPtMin = iConfig.getParameter("trkPtMin"); - etaMin = iConfig.getParameter("etaMin"); - etaMax = iConfig.getParameter("etaMax"); - ndedxHits = iConfig.getParameter("ndedxHits"); - chi2nMax = iConfig.getParameter("chi2nMax"); - dxyMax = iConfig.getParameter("dxyMax"); - dzMax = iConfig.getParameter("dzMax"); - SAMuPtMin = iConfig.getParameter("SAMuPtMin"); -} - -// -// member functions -// - -// ------------ method called on each new Event ------------ -bool HSCPFilter::filter(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const { - using namespace edm; - - using namespace reco; - - reco::VertexCollection const& recoVertex = iEvent.get(recoVertexToken); - - if (!filterFlag) - return true; - - if (recoVertex.empty()) - return false; - - const reco::MuonCollection& muonC = iEvent.get(input_muon_collectionToken); - for (auto const& muon : muonC) { - if (!muon.standAloneMuon().isNull()) { - TrackRef SATrack = muon.standAloneMuon(); - if (SATrack->pt() > SAMuPtMin) - return true; - } - } - - Handle tkTracks = iEvent.getHandle(input_track_collectionToken); - - const ValueMap& dEdxTrack = iEvent.get(input_dedx_collectionToken); - - for (size_t i = 0; i < tkTracks->size(); i++) { - reco::TrackRef trkRef = reco::TrackRef(tkTracks, i); - - if (trkRef->pt() > trkPtMin && trkRef->eta() < etaMax && trkRef->eta() > etaMin && - trkRef->normalizedChi2() < chi2nMax) { - double dz = trkRef->dz(recoVertex[0].position()); - double dxy = trkRef->dxy(recoVertex[0].position()); - double distancemin = sqrt(dxy * dxy + dz * dz); - int closestvertex = 0; - for (unsigned int i = 1; i < recoVertex.size(); i++) { - dz = trkRef->dz(recoVertex[i].position()); - dxy = trkRef->dxy(recoVertex[i].position()); - double distance = sqrt(dxy * dxy + dz * dz); - if (distance < distancemin) { - distancemin = distance; - closestvertex = i; - } - } - - dz = trkRef->dz(recoVertex[closestvertex].position()); - dxy = trkRef->dxy(recoVertex[closestvertex].position()); - - if (fabs(dz) < dzMax && fabs(dxy) < dxyMax) { - double dedx = dEdxTrack[trkRef].dEdx(); - int dedxnhits = dEdxTrack[trkRef].numberOfMeasurements(); - if ((dedx > dedxMin || dedx < dedxMaxLeft) && dedxnhits > ndedxHits) - return true; - } - } - } - return false; -} - -//define this as a plug-in -DEFINE_FWK_MODULE(HSCPFilter); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_HighPtTrackEcalDetIdProducer.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_HighPtTrackEcalDetIdProducer.cc deleted file mode 100644 index 32905afc9ee8f..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_HighPtTrackEcalDetIdProducer.cc +++ /dev/null @@ -1,141 +0,0 @@ -// -*- C++ -*- -// -// Package: HighPtTrackEcalDetIdProducer -// Class: HighPtTrackEcalDetIdProducer -// -/*\class HighPtTrackEcalDetIdProducer HighPtTrackEcalDetIdProducer.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Jie Chen -// Created: Mon Apr 12 16:41:46 CDT 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/TrackExtra.h" - -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" - -#include "TrackingTools/TrackAssociator/interface/TrackDetectorAssociator.h" -#include "TrackingTools/TrackAssociator/interface/TrackAssociatorParameters.h" -#include "TrackingTools/TrackAssociator/interface/TrackDetMatchInfo.h" - -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "DataFormats/DetId/interface/DetIdCollection.h" - -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" - -// -// class declaration -// - -class HighPtTrackEcalDetIdProducer : public edm::stream::EDProducer<> { -public: - explicit HighPtTrackEcalDetIdProducer(const edm::ParameterSet&); - ~HighPtTrackEcalDetIdProducer() override; - void beginRun(const edm::Run&, const edm::EventSetup&) override; - void produce(edm::Event&, const edm::EventSetup&) override; - -private: - edm::EDGetTokenT inputCollectionToken_; - const CaloTopology* caloTopology_; - TrackDetectorAssociator trackAssociator_; - TrackAssociatorParameters parameters_; - double ptcut_; - // ----------member data --------------------------- -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -HighPtTrackEcalDetIdProducer::HighPtTrackEcalDetIdProducer(const edm::ParameterSet& iConfig) { - inputCollectionToken_ = consumes(iConfig.getParameter("inputCollection")); - ptcut_ = iConfig.getParameter("TrackPt"); - - produces(); - // TrackAssociator parameters - edm::ParameterSet parameters = iConfig.getParameter("TrackAssociatorParameters"); - edm::ConsumesCollector iC = consumesCollector(); - parameters_.loadParameters(parameters, iC); - trackAssociator_.useDefaultPropagator(); -} - -HighPtTrackEcalDetIdProducer::~HighPtTrackEcalDetIdProducer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -void HighPtTrackEcalDetIdProducer::beginRun(const edm::Run& run, const edm::EventSetup& iSetup) { - edm::ESHandle theCaloTopology; - iSetup.get().get(theCaloTopology); - caloTopology_ = &(*theCaloTopology); -} - -// ------------ method called to produce the data ------------ -void HighPtTrackEcalDetIdProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - using reco::TrackCollection; - // if(!iSetup) continue; - Handle tkTracks; - iEvent.getByToken(inputCollectionToken_, tkTracks); - std::unique_ptr interestingDetIdCollection(new DetIdCollection()); - for (TrackCollection::const_iterator itTrack = tkTracks->begin(); itTrack != tkTracks->end(); ++itTrack) { - if (itTrack->pt() > ptcut_) { - TrackDetMatchInfo info = - trackAssociator_.associate(iEvent, iSetup, *itTrack, parameters_, TrackDetectorAssociator::InsideOut); - if (info.crossedEcalIds.empty()) - break; - - if (!info.crossedEcalIds.empty()) { - DetId centerId = info.crossedEcalIds.front(); - - const CaloSubdetectorTopology* topology = - caloTopology_->getSubdetectorTopology(DetId::Ecal, centerId.subdetId()); - const std::vector& ids = topology->getWindow(centerId, 5, 5); - for (std::vector::const_iterator id = ids.begin(); id != ids.end(); ++id) - if (std::find(interestingDetIdCollection->begin(), interestingDetIdCollection->end(), *id) == - interestingDetIdCollection->end()) - interestingDetIdCollection->push_back(*id); - } - } - } - iEvent.put(std::move(interestingDetIdCollection)); -} -//define this as a plug-in -DEFINE_FWK_MODULE(HighPtTrackEcalDetIdProducer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_MonoPhotonSkimmer.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_MonoPhotonSkimmer.cc deleted file mode 100644 index 63fcaf5b34e2e..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_MonoPhotonSkimmer.cc +++ /dev/null @@ -1,190 +0,0 @@ -// -*- C++ -*- -// -// Package: MonoPhotonSkimmer -// Class: MonoPhotonSkimmer -// -/**\class MonoPhotonSkimmer MonoPhotonSkimmer.cc MonoPhotonSkimmer/MonoPhotonSkimmer/src/MonoPhotonSkimmer.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Jie Chen -// Created: Wed Nov 17 14:33:08 CST 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "DataFormats/EgammaCandidates/interface/Photon.h" -#include "DataFormats/EgammaCandidates/interface/PhotonFwd.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include - -// -// class declaration -// - -class MonoPhotonSkimmer : public edm::EDFilter { -public: - explicit MonoPhotonSkimmer(const edm::ParameterSet&); - ~MonoPhotonSkimmer() override; - -private: - void beginJob() override; - bool filter(edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - // ----------member data --------------------------- - edm::EDGetTokenT _phoToken; - bool _selectEE; //Do you want to select EE photons? - //True enables this. - - double _ecalisoOffsetEB; //Photon Preselection has linearized cuts. - double _ecalisoSlopeEB; //slope * photonpt + offset is the isolation - //threshold. This is ECAL EB. - - double _hcalisoOffsetEB; //Linearized cut on HCAL towers, EB. - double _hcalisoSlopeEB; - - double _hadoveremEB; //Flat selection cut on HadOverEM. - - double _minPhoEtEB; //Minimum Photon ET threshold, EB. - - double _trackisoOffsetEB; //Linearized cut on track isolation EB - double _trackisoSlopeEB; - - double _etawidthEB; //eta width for EB - - double _ecalisoOffsetEE; //As above, but separately set for EE. - double _ecalisoSlopeEE; - double _hcalisoOffsetEE; - double _hcalisoSlopeEE; - double _hadoveremEE; - double _minPhoEtEE; - double _trackisoOffsetEE; - double _trackisoSlopeEE; - double _etawidthEE; -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -MonoPhotonSkimmer::MonoPhotonSkimmer(const edm::ParameterSet& iConfig) { - //now do what ever initialization is needed - _phoToken = consumes(iConfig.getParameter("phoTag")); - _selectEE = iConfig.getParameter("selectEE"); - - _ecalisoOffsetEB = iConfig.getParameter("ecalisoOffsetEB"); - _ecalisoSlopeEB = iConfig.getParameter("ecalisoSlopeEB"); - - _hcalisoOffsetEB = iConfig.getParameter("hcalisoOffsetEB"); - _hcalisoSlopeEB = iConfig.getParameter("hcalisoSlopeEB"); - - _hadoveremEB = iConfig.getParameter("hadoveremEB"); - _minPhoEtEB = iConfig.getParameter("minPhoEtEB"); - - _trackisoOffsetEB = iConfig.getParameter("trackIsoOffsetEB"); - _trackisoSlopeEB = iConfig.getParameter("trackIsoSlopeEB"); - _etawidthEB = iConfig.getParameter("etaWidthEB"); - - _ecalisoOffsetEE = iConfig.getParameter("ecalisoOffsetEE"); - _ecalisoSlopeEE = iConfig.getParameter("ecalisoSlopeEE"); - - _hcalisoOffsetEE = iConfig.getParameter("hcalisoOffsetEE"); - _hcalisoSlopeEE = iConfig.getParameter("hcalisoSlopeEE"); - - _hadoveremEE = iConfig.getParameter("hadoveremEE"); - _minPhoEtEE = iConfig.getParameter("minPhoEtEE"); - - _trackisoOffsetEE = iConfig.getParameter("trackIsoOffsetEE"); - _trackisoSlopeEE = iConfig.getParameter("trackIsoSlopeEE"); - - _etawidthEE = iConfig.getParameter("etaWidthEE"); -} - -MonoPhotonSkimmer::~MonoPhotonSkimmer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called on each new Event ------------ -bool MonoPhotonSkimmer::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - Handle photonColl; - iEvent.getByToken(_phoToken, photonColl); - const reco::PhotonCollection* photons = photonColl.product(); - //Iterate over photon collection. - // std::vector PreselPhotons; - int PreselPhotons = 0; - reco::PhotonCollection::const_iterator pho; - for (pho = (*photons).begin(); pho != (*photons).end(); pho++) { - if (!pho->isEB() && !_selectEE) - continue; - - double ecalisocut = 0; - double hcalisocut = 0; - double hadoverem = 0; - double minphoet = 0; - double trackiso = 0; - double etawidth = 0; - if (pho->isEB()) { - ecalisocut = _ecalisoOffsetEB + _ecalisoSlopeEB * pho->pt(); - hcalisocut = _hcalisoOffsetEB + _hcalisoSlopeEB * pho->pt(); - hadoverem = _hadoveremEB; - minphoet = _minPhoEtEB; - trackiso = _trackisoOffsetEB + _trackisoSlopeEB * pho->pt(); - etawidth = _etawidthEB; - } else { - ecalisocut = _ecalisoOffsetEE + _ecalisoSlopeEE * pho->pt(); - hcalisocut = _hcalisoOffsetEE + _hcalisoSlopeEE * pho->pt(); - hadoverem = _hadoveremEE; - minphoet = _minPhoEtEE; - trackiso = _trackisoOffsetEE + _trackisoSlopeEE * pho->pt(); - etawidth = _etawidthEE; - } - - if (pho->ecalRecHitSumEtConeDR04() < ecalisocut && pho->hcalTowerSumEtConeDR04() < hcalisocut && - pho->hadronicOverEm() < hadoverem && pho->pt() > minphoet && pho->trkSumPtHollowConeDR04() < trackiso && - pho->sigmaIetaIeta() < etawidth) - PreselPhotons++; - - } //Loop over Photons - if (PreselPhotons > 0) - return true; - return false; -} - -// ------------ method called once each job just before starting event loop ------------ -void MonoPhotonSkimmer::beginJob() {} - -// ------------ method called once each job just after ending the event loop ------------ -void MonoPhotonSkimmer::endJob() {} - -//define this as a plug-in -DEFINE_FWK_MODULE(MonoPhotonSkimmer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_ProduceIsolationMap.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_ProduceIsolationMap.cc deleted file mode 100644 index 633456eb59222..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_ProduceIsolationMap.cc +++ /dev/null @@ -1,175 +0,0 @@ -// -*- C++ -*- -// -// Package: ProduceIsolationMap -// Class: ProduceIsolationMap -// -/*\class ProduceIsolationMap ProduceIsolationMap.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Loic Quertenmont -// Created: Wed Nov 10 16:41:46 CDT 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/TrackExtra.h" - -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" -#include "DataFormats/HcalDetId/interface/HcalSubdetector.h" -#include "DataFormats/HcalDetId/interface/HcalDetId.h" -#include "TrackingTools/TrackAssociator/interface/TrackDetectorAssociator.h" -#include "TrackingTools/TrackAssociator/interface/TrackAssociatorParameters.h" -#include "TrackingTools/TrackAssociator/interface/TrackDetMatchInfo.h" - -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "DataFormats/DetId/interface/DetIdCollection.h" - -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" - -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPIsolation.h" -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/Math/interface/deltaR.h" -#include - -// -// class declaration -// - -using namespace susybsm; -using namespace edm; - -class ProduceIsolationMap : public edm::stream::EDProducer<> { -public: - explicit ProduceIsolationMap(const edm::ParameterSet&); - ~ProduceIsolationMap() override; - void produce(edm::Event&, const edm::EventSetup&) override; - -private: - edm::EDGetTokenT TKToken_; - edm::EDGetTokenT inputCollectionToken_; - double TKIsolationPtcut_; - double IsolationConeDR_; - TrackDetectorAssociator trackAssociator_; - TrackAssociatorParameters parameters_; - // ----------member data --------------------------- -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -ProduceIsolationMap::ProduceIsolationMap(const edm::ParameterSet& iConfig) { - TKToken_ = consumes(iConfig.getParameter("TKLabel")); - inputCollectionToken_ = consumes(iConfig.getParameter("inputCollection")); - TKIsolationPtcut_ = iConfig.getParameter("TkIsolationPtCut"); - IsolationConeDR_ = iConfig.getParameter("IsolationConeDR"); - - // TrackAssociator parameters - edm::ParameterSet parameters = iConfig.getParameter("TrackAssociatorParameters"); - edm::ConsumesCollector iC = consumesCollector(); - parameters_.loadParameters(parameters, iC); - trackAssociator_.useDefaultPropagator(); - - //register your products - produces >(); -} - -ProduceIsolationMap::~ProduceIsolationMap() {} - -void ProduceIsolationMap::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - using namespace std; - - using reco::TrackCollection; - - Handle TKHandle; - iEvent.getByToken(TKToken_, TKHandle); - if (!TKHandle.isValid()) { - edm::LogError("ProduceIsolationMap") << "TK Tracks collection not found"; - return; - } - - //Create empty output collections - unique_ptr > trackHSCPIsolMap(new ValueMap); - ValueMap::Filler filler(*trackHSCPIsolMap); - - //loop through tracks. - Handle tkTracks; - iEvent.getByToken(inputCollectionToken_, tkTracks); - std::vector IsolationInfoColl(tkTracks->size()); - - int TkIndex = 0; - for (TrackCollection::const_iterator itTrack = tkTracks->begin(); itTrack != tkTracks->end(); ++itTrack, TkIndex++) { - TrackDetMatchInfo info = - trackAssociator_.associate(iEvent, iSetup, *itTrack, parameters_, TrackDetectorAssociator::InsideOut); - - if (!info.ecalRecHits.empty()) { - IsolationInfoColl[TkIndex].Set_ECAL_Energy(info.coneEnergy(IsolationConeDR_, TrackDetMatchInfo::EcalRecHits)); - } - if (!info.hcalRecHits.empty()) { - IsolationInfoColl[TkIndex].Set_HCAL_Energy(info.coneEnergy(IsolationConeDR_, TrackDetMatchInfo::HcalRecHits)); - } - // if(info.hcalRecHits.size()>0){IsolationInfoColl[TkIndex].Set_HCAL_Energy(info.hcalConeEnergy());} - // if(info.ecalRecHits.size()>0){IsolationInfoColl[TkIndex].Set_ECAL_Energy(info.ecalConeEnergy());} - - double SumPt = 0; - double Count = 0; - double CountHighPt = 0; - for (TrackCollection::const_iterator itTrack2 = TKHandle->begin(); itTrack2 != TKHandle->end(); ++itTrack2) { - if (fabs(itTrack->pt() - itTrack2->pt()) < 0.1 && fabs(itTrack->eta() - itTrack2->eta()) < 0.05) - continue; - float dR = deltaR(itTrack->momentum(), itTrack2->momentum()); - if (dR > IsolationConeDR_) - continue; - SumPt += itTrack2->pt(); - Count++; - if (itTrack2->pt() < TKIsolationPtcut_) - continue; - CountHighPt++; - } - IsolationInfoColl[TkIndex].Set_TK_CountHighPt(CountHighPt); - IsolationInfoColl[TkIndex].Set_TK_Count(Count); - IsolationInfoColl[TkIndex].Set_TK_SumEt(SumPt); - } - - filler.insert(tkTracks, IsolationInfoColl.begin(), IsolationInfoColl.end()); - filler.fill(); - iEvent.put(std::move(trackHSCPIsolMap)); -} -//define this as a plug-in -DEFINE_FWK_MODULE(ProduceIsolationMap); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_ReduceHcalRecHitCollectionProducer.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_ReduceHcalRecHitCollectionProducer.cc deleted file mode 100644 index 7a33d0b82e746..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_ReduceHcalRecHitCollectionProducer.cc +++ /dev/null @@ -1,162 +0,0 @@ -// -*- C++ -*- -// -// Package: ReduceHcalRecHitCollectionProducer -// Class: ReduceHcalRecHitCollectionProducer -// -/*\class ReduceHcalRecHitCollectionProducer ReduceHcalRecHitCollectionProducer.cc - - Description: [one line class summary] - - Implementation: - [Notes on implementation] -*/ -// -// Original Author: Jie Chen -// Created: Mon Apr 12 16:41:46 CDT 2010 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" -#include "DataFormats/TrackReco/interface/TrackExtra.h" - -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" -#include "DataFormats/HcalDetId/interface/HcalSubdetector.h" -#include "DataFormats/HcalDetId/interface/HcalDetId.h" -#include "TrackingTools/TrackAssociator/interface/TrackDetectorAssociator.h" -#include "TrackingTools/TrackAssociator/interface/TrackAssociatorParameters.h" -#include "TrackingTools/TrackAssociator/interface/TrackDetMatchInfo.h" - -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "DataFormats/DetId/interface/DetIdCollection.h" - -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" - -#include - -// -// class declaration -// - -class ReduceHcalRecHitCollectionProducer : public edm::stream::EDProducer<> { -public: - explicit ReduceHcalRecHitCollectionProducer(const edm::ParameterSet&); - ~ReduceHcalRecHitCollectionProducer() override; - void produce(edm::Event&, const edm::EventSetup&) override; - -private: - edm::EDGetTokenT recHitsToken_; - std::string reducedHitsCollection_; - edm::EDGetTokenT inputCollectionToken_; - TrackDetectorAssociator trackAssociator_; - TrackAssociatorParameters parameters_; - double ptcut_; - // ----------member data --------------------------- -}; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -ReduceHcalRecHitCollectionProducer::ReduceHcalRecHitCollectionProducer(const edm::ParameterSet& iConfig) { - recHitsToken_ = consumes(iConfig.getParameter("recHitsLabel")); - - reducedHitsCollection_ = iConfig.getParameter("reducedHitsCollection"); - - //register your products - produces(reducedHitsCollection_); - - inputCollectionToken_ = consumes(iConfig.getParameter("inputCollection")); - ptcut_ = iConfig.getParameter("TrackPt"); - - produces(); - // TrackAssociator parameters - edm::ParameterSet parameters = iConfig.getParameter("TrackAssociatorParameters"); - edm::ConsumesCollector iC = consumesCollector(); - parameters_.loadParameters(parameters, iC); - trackAssociator_.useDefaultPropagator(); -} - -ReduceHcalRecHitCollectionProducer::~ReduceHcalRecHitCollectionProducer() { - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) -} - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void ReduceHcalRecHitCollectionProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - - using namespace std; - - using reco::TrackCollection; - - Handle recHitsHandle; - iEvent.getByToken(recHitsToken_, recHitsHandle); - if (!recHitsHandle.isValid()) { - edm::LogError("ReduceHcalRecHitCollectionProducer") << "RecHit collection not found"; - return; - } - - //Create empty output collections - std::unique_ptr miniRecHitCollection(new HBHERecHitCollection); - - //loop through tracks. - Handle tkTracks; - iEvent.getByToken(inputCollectionToken_, tkTracks); - std::unique_ptr interestingDetIdCollection(new DetIdCollection()); - for (TrackCollection::const_iterator itTrack = tkTracks->begin(); itTrack != tkTracks->end(); ++itTrack) { - if (itTrack->pt() > ptcut_) { - TrackDetMatchInfo info = - trackAssociator_.associate(iEvent, iSetup, *itTrack, parameters_, TrackDetectorAssociator::InsideOut); - - if (!info.crossedHcalIds.empty()) { - //loop through hits in the cone - for (std::vector::const_iterator hit = info.hcalRecHits.begin(); - hit != info.hcalRecHits.end(); - ++hit) { - DetId hitid = (*hit)->id(); - HBHERecHitCollection::const_iterator iRecHit = recHitsHandle->find(hitid); - if ((iRecHit != recHitsHandle->end()) && (miniRecHitCollection->find(hitid) == miniRecHitCollection->end())) - miniRecHitCollection->push_back(*iRecHit); - } - } - } - } - - iEvent.put(std::move(miniRecHitCollection), reducedHitsCollection_); -} -//define this as a plug-in -DEFINE_FWK_MODULE(ReduceHcalRecHitCollectionProducer); diff --git a/SUSYBSMAnalysis/HSCP/plugins/Skim_UpdatedMuonInnerTrackRef.cc b/SUSYBSMAnalysis/HSCP/plugins/Skim_UpdatedMuonInnerTrackRef.cc deleted file mode 100644 index 27b9f786d7fb6..0000000000000 --- a/SUSYBSMAnalysis/HSCP/plugins/Skim_UpdatedMuonInnerTrackRef.cc +++ /dev/null @@ -1,126 +0,0 @@ -#include -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/global/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Common/interface/Handle.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/MuonReco/interface/Muon.h" -#include "DataFormats/MuonReco/interface/MuonFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" - -#include "CommonTools/UtilAlgos/interface/DeltaR.h" - -// -// class declaration -// -class UpdatedMuonInnerTrackRef : public edm::global::EDProducer<> { -public: - explicit UpdatedMuonInnerTrackRef(const edm::ParameterSet&); - -private: - void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; - - reco::TrackRef findNewRef(reco::TrackRef const& oldTrackRef, - edm::Handle const& newTrackCollection) const; - - edm::EDGetTokenT > muonToken_; - edm::EDGetTokenT oldTrackToken_; - edm::EDGetTokenT newTrackToken_; - - double maxInvPtDiff; - double minDR; -}; - -///////////////////////////////////////////////////////////////////////////////////// -UpdatedMuonInnerTrackRef::UpdatedMuonInnerTrackRef(const edm::ParameterSet& pset) { - // What is being produced - produces >(); - - // Input products - muonToken_ = - consumes >(pset.getUntrackedParameter("MuonTag", edm::InputTag("muons"))); - oldTrackToken_ = consumes( - pset.getUntrackedParameter("OldTrackTag", edm::InputTag("generalTracks"))); - newTrackToken_ = consumes( - pset.getUntrackedParameter("NewTrackTag", edm::InputTag("generalTracksSkim"))); - - // matching criteria products - maxInvPtDiff = pset.getUntrackedParameter("maxInvPtDiff", 0.005); - minDR = pset.getUntrackedParameter("minDR", 0.1); -} - -///////////////////////////////////////////////////////////////////////////////////// -void UpdatedMuonInnerTrackRef::produce(edm::StreamID, edm::Event& ev, const edm::EventSetup& iSetup) const { - // Muon collection - edm::Handle > muonCollectionHandle; - if (!ev.getByToken(muonToken_, muonCollectionHandle)) { - edm::LogError("") << ">>> Muon collection does not exist !!!"; - return; - } - - edm::Handle oldTrackCollection; - if (!ev.getByToken(oldTrackToken_, oldTrackCollection)) { - edm::LogError("") << ">>> Old Track collection does not exist !!!"; - return; - } - - edm::Handle newTrackCollection; - if (!ev.getByToken(newTrackToken_, newTrackCollection)) { - edm::LogError("") << ">>> New Track collection does not exist !!!"; - return; - } - - unsigned int muonCollectionSize = muonCollectionHandle->size(); - std::unique_ptr newmuons(new reco::MuonCollection); - - for (unsigned int i = 0; i < muonCollectionSize; i++) { - edm::RefToBase mu = muonCollectionHandle->refAt(i); - std::unique_ptr newmu{mu->clone()}; - - if (mu->innerTrack().isNonnull()) { - reco::TrackRef newTrackRef = findNewRef(mu->innerTrack(), newTrackCollection); - /* printf(" %6.2f %+6.2f %+6.2f --> ",mu->innerTrack()->pt (), mu->innerTrack()->eta(), mu->innerTrack()->phi()); - if(newTrackRef.isNonnull()){ - printf(" %6.2f %+6.2f %+6.2f\n",newTrackRef->pt (), newTrackRef->eta(), newTrackRef->phi()); - }else{ - printf("\n"); - } -*/ - newmu->setInnerTrack(newTrackRef); - } - - newmuons->push_back(*newmu); - } - - ev.put(std::move(newmuons)); -} - -reco::TrackRef UpdatedMuonInnerTrackRef::findNewRef( - reco::TrackRef const& oldTrackRef, edm::Handle const& newTrackCollection) const { - float dRMin = 1000; - int found = -1; - for (unsigned int i = 0; i < newTrackCollection->size(); i++) { - reco::TrackRef newTrackRef = reco::TrackRef(newTrackCollection, i); - if (newTrackRef.isNull()) - continue; - - if (fabs((1.0 / newTrackRef->pt()) - (1.0 / oldTrackRef->pt())) > maxInvPtDiff) - continue; - float dR = deltaR(newTrackRef->momentum(), oldTrackRef->momentum()); - if (dR <= minDR && dR < dRMin) { - dRMin = dR; - found = i; - } - } - - if (found >= 0) { - return reco::TrackRef(newTrackCollection, found); - } else { - return reco::TrackRef(); - } -} - -DEFINE_FWK_MODULE(UpdatedMuonInnerTrackRef); diff --git a/SUSYBSMAnalysis/HSCP/python/HSCPSelections_cff.py b/SUSYBSMAnalysis/HSCP/python/HSCPSelections_cff.py deleted file mode 100644 index 9672c3f0f17eb..0000000000000 --- a/SUSYBSMAnalysis/HSCP/python/HSCPSelections_cff.py +++ /dev/null @@ -1,59 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -HSCPSelectionEmpty = cms.PSet( - cms.PSet( - onlyConsiderTrack = cms.bool(False), - onlyConsiderMuon = cms.bool(False), - onlyConsiderMuonSTA = cms.bool(False), - onlyConsiderMuonGB = cms.bool(False), - onlyConsiderMuonTK = cms.bool(False), - onlyConsiderMTMuon = cms.bool(False), - onlyConsiderRpc = cms.bool(False), - onlyConsiderEcal = cms.bool(False), - - minTrackHits = cms.int32 (-1), - minTrackP = cms.double(-1), - minTrackPt = cms.double(-1), - - minDedx = cms.double(-1), - - minMuonP = cms.double(-1), - minMuonPt = cms.double(-1), - minMTMuonPt = cms.double(-1), - minSAMuonPt = cms.double(-1), - - maxMuTimeDtBeta = cms.double(-1), - minMuTimeDtNdof = cms.double(-1), - maxMuTimeCscBeta = cms.double(-1), - minMuTimeCscNdof = cms.double(-1), - maxMuTimeCombinedBeta = cms.double(-1), - minMuTimeCombinedNdof = cms.double(-1), - - maxBetaRpc = cms.double(-1), - maxBetaEcal = cms.double(-1), - ), -) - - -HSCPSelectionDefault = HSCPSelectionEmpty.clone() -HSCPSelectionDefault.minTrackHits = cms.int32(3) -HSCPSelectionDefault.minTrackPt = cms.double(45.0) -HSCPSelectionDefault.minMuonPt = cms.double(5.0) - -HSCPSelectionHighdEdx = HSCPSelectionDefault.clone() -HSCPSelectionHighdEdx.onlyConsiderTrack = cms.bool(True) -HSCPSelectionHighdEdx.minDedxEstimator1 = cms.double(3.5) - -HSCPSelectionHighTOF = HSCPSelectionDefault.clone() -HSCPSelectionHighTOF.onlyConsiderMuon = cms.bool(True) -HSCPSelectionHighTOF.maxMuTimeDtBeta = cms.double(0.9) - -HSCPSelectionMTMuonOnly = HSCPSelectionEmpty.clone() -HSCPSelectionMTMuonOnly.onlyConsiderMTMuon = cms.bool(True) -HSCPSelectionMTMuonOnly.minMTMuonPt = cms.double(70.0) - - -HSCPSelectionSAMuonOnly = HSCPSelectionEmpty.clone() -HSCPSelectionSAMuonOnly.onlyConsiderMuonSTA = cms.bool(True) -HSCPSelectionSAMuonOnly.minSAMuonPt = cms.double(70.0) \ No newline at end of file diff --git a/SUSYBSMAnalysis/HSCP/python/HSCPVersion_cff.py b/SUSYBSMAnalysis/HSCP/python/HSCPVersion_cff.py deleted file mode 100644 index 4d1747cc0298b..0000000000000 --- a/SUSYBSMAnalysis/HSCP/python/HSCPVersion_cff.py +++ /dev/null @@ -1,3 +0,0 @@ -#Set whether running in CMSSW4_2 or CMSSW5 -CMSSW4_2=False -CMSSW4_4=False diff --git a/SUSYBSMAnalysis/HSCP/python/HSCParticleProducerFromSkim_cff.py b/SUSYBSMAnalysis/HSCP/python/HSCParticleProducerFromSkim_cff.py deleted file mode 100644 index 2d142f86ffe1b..0000000000000 --- a/SUSYBSMAnalysis/HSCP/python/HSCParticleProducerFromSkim_cff.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from SUSYBSMAnalysis.HSCP.HSCParticleProducer_cff import * - -TrackRefitter.src = "generalTracksSkim" -muontiming.MuonCollection = cms.InputTag("muonsSkim") -HSCParticleProducer.tracksIsolation = cms.InputTag("generalTracksSkim") -HSCParticleProducer.muons = cms.InputTag("muonsSkim") -HSCParticleProducer.MTmuons = cms.InputTag("muonsSkim") -HSCParticleProducer.EBRecHitCollection = cms.InputTag("reducedHSCPEcalRecHitsEB") -HSCParticleProducer.EERecHitCollection = cms.InputTag("reducedHSCPEcalRecHitsEE") - -HSCParticleProducer.TrackAssociatorParameters.EBRecHitCollectionLabel = 'reducedHSCPEcalRecHitsEB' -HSCParticleProducer.TrackAssociatorParameters.EERecHitCollectionLabel = 'reducedHSCPEcalRecHitsEE' -HSCParticleProducer.TrackAssociatorParameters.HBHERecHitCollectionLabel = 'reducedHSCPhbhereco' -HSCParticleProducer.TrackAssociatorParameters.HBHERecHitCollectionLabel = 'reducedHSCPhbhereco' -HSCParticleProducer.TrackAssociatorParameters.useHO = False diff --git a/SUSYBSMAnalysis/HSCP/python/HSCParticleProducer_cff.py b/SUSYBSMAnalysis/HSCP/python/HSCParticleProducer_cff.py deleted file mode 100644 index a2e7f899ae2fc..0000000000000 --- a/SUSYBSMAnalysis/HSCP/python/HSCParticleProducer_cff.py +++ /dev/null @@ -1,116 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#################################################################################### -# BEAMSPOT + TRAJECTORY BUILDERS -#################################################################################### - -from RecoTracker.MeasurementDet.MeasurementTrackerEventProducer_cfi import * -from RecoVertex.BeamSpotProducer.BeamSpot_cff import * -from RecoTracker.TrackProducer.TrackRefitters_cff import * - -#################################################################################### -# HIT-DEDX Information -#################################################################################### - -dedxHitInfo = cms.EDProducer("HSCPDeDxInfoProducer", - tracks = cms.InputTag("TrackRefitter"), - trajectoryTrackAssociation = cms.InputTag("TrackRefitter"), - - Reccord = cms.untracked.string("SiStripDeDxMip_3D_Rcd"), - Formula = cms.untracked.uint32(0), - ProbabilityMode = cms.untracked.string("Accumulation"), - - UseStrip = cms.bool(True), - UsePixel = cms.bool(True), - MeVperADCStrip = cms.double(3.61e-06*265), - MeVperADCPixel = cms.double(3.61e-06), - - UseCalibration = cms.bool(False), - calibrationPath = cms.string("file:Gains.root"), - ShapeTest = cms.bool(True), -) - - -#################################################################################### -# MUON TIMING -#################################################################################### - -from RecoMuon.MuonIdentification.muonTiming_cfi import * -muontiming.MuonCollection = cms.InputTag("muons") -muontiming.TimingFillerParameters.UseECAL=False - -#################################################################################### -# HSCParticle Producer -#################################################################################### - -#ALL THIS IS NEEDED BY ECAL BETA CALCULATOR (TrackAssociator) -from TrackingTools.TrackAssociator.DetIdAssociatorESProducer_cff import * -from TrackingTools.TrackAssociator.default_cfi import * -from TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorAlong_cfi import * -from TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorOpposite_cfi import * -from TrackPropagation.SteppingHelixPropagator.SteppingHelixPropagatorAny_cfi import * - -from SUSYBSMAnalysis.HSCP.HSCPSelections_cff import * -HSCParticleProducer = cms.EDFilter("HSCParticleProducer", - TrackAssociatorParameterBlock, #Needed for ECAL/Track Matching - - #DOES THE PRODUCER ACT AS AN EDFILTER? - filter = cms.bool(True), - - #WHAT (BETA) INFORMATION TO COMPUTE - useBetaFromTk = cms.bool(True), - useBetaFromMuon = cms.bool(True), - useBetaFromRpc = cms.bool(True), - useBetaFromEcal = cms.bool(True), - - #TAG OF THE REQUIRED INPUT COLLECTION (ONLY ACTIVATED CALCULATOR) - tracks = cms.InputTag("TrackRefitter"), - tracksIsolation = cms.InputTag("generalTracks"), - muons = cms.InputTag("muons"), - MTmuons = cms.InputTag("muons"), - EBRecHitCollection = cms.InputTag("ecalRecHit:EcalRecHitsEB"), - EERecHitCollection = cms.InputTag("ecalRecHit:EcalRecHitsEE"), - rpcRecHits = cms.InputTag("rpcRecHits"), - - #TRACK SELECTION FOR THE HSCP SEED - minMuP = cms.double(25), - minTkP = cms.double(25), - maxTkChi2 = cms.double(25), - minTkHits = cms.uint32(3), - minSAMuPt = cms.double(70), - minMTMuPt = cms.double(70), - - #MUON/TRACK MATCHING THRESHOLDS (ONLY IF NO MUON INNER TRACK) - minDR = cms.double(0.1), - maxInvPtDiff = cms.double(0.005), - minMTDR = cms.double(0.3), - - #SELECTION ON THE PRODUCED HSCP CANDIDATES (WILL STORE ONLY INTERESTING CANDIDATES) - SelectionParameters = cms.VPSet( - HSCPSelectionDefault, - HSCPSelectionMTMuonOnly, - HSCPSelectionSAMuonOnly, - ), -) - -#################################################################################### -# HSCParticle Selector (Just an Example of what we can do) -#################################################################################### - -HSCParticleSelector = cms.EDFilter("HSCParticleSelector", - source = cms.InputTag("HSCParticleProducer"), - filter = cms.bool(True), - - SelectionParameters = cms.VPSet( - HSCPSelectionHighdEdx, #THE OR OF THE TWO SELECTION WILL BE APPLIED - HSCPSelectionHighTOF, - ), -) - -#################################################################################### -# HSCP Candidate Sequence -#################################################################################### - -HSCParticleProducerSeq = cms.Sequence(offlineBeamSpot + MeasurementTrackerEvent + TrackRefitter + dedxHitInfo + muontiming + HSCParticleProducer) - - diff --git a/SUSYBSMAnalysis/HSCP/python/LaunchOnCondor.py b/SUSYBSMAnalysis/HSCP/python/LaunchOnCondor.py deleted file mode 100644 index c14b514f3e45c..0000000000000 --- a/SUSYBSMAnalysis/HSCP/python/LaunchOnCondor.py +++ /dev/null @@ -1,379 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function -import urllib -import string -import os -import sys -import glob -import fnmatch -import commands - -CopyRights = '####################################\n' -CopyRights += '# LaunchOnFarm Script #\n' -CopyRights += '# Loic.quertenmont@cern.ch #\n' -CopyRights += '# April 2010 #\n' -CopyRights += '####################################\n' - -Farm_Directories = [] -Path_Cmd = '' -Path_Shell = '' -Path_Log = '' -Path_Cfg = '' -Jobs_Count = 0 -Jobs_Name = '' -Jobs_Index = '' -Jobs_Seed = 0 -Jobs_NEvent =-1 -Jobs_Skip = 0 -Jobs_Queue = '8nh' -Jobs_Inputs = [] -Jobs_FinalCmds = [] -Jobs_RunHere = 0 - -useLSF = True -LSFlog = True -runInteractively = False - -def CreateTheConfigFile(argv): - global Jobs_Name - global Jobs_Index - global Jobs_Count - global Jobs_Seed - global Jobs_Skip - global Jobs_NEvent - global Jobs_Inputs - global Jobs_FinalCmds - global Path_Cfg - global CopyRights - Path_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_cfg.py' - - config_file=open(argv[1],'r') - config_txt = '\n\n' + CopyRights + '\n\n' - config_txt += config_file.read() - config_file.close() - i = 2 - while i < len(argv)-1: - config_txt = config_txt.replace(argv[i],argv[i+1]) - i+=2 - - #Default Replacements - config_txt = config_txt.replace("XXX_I_XXX" ,"%04i"%Jobs_Count) - config_txt = config_txt.replace("XXX_PATH_XXX" ,os.getcwd()) - config_txt = config_txt.replace("XXX_OUTPUT_XXX" ,Jobs_Name) - config_txt = config_txt.replace("XXX_NAME_XXX" ,Jobs_Index+Jobs_Name) - config_txt = config_txt.replace("XXX_SEED_XXX" ,str(Jobs_Seed+Jobs_Count)) - config_txt = config_txt.replace("XXX_NEVENTS_XXX" ,str(Jobs_NEvent)) - config_txt = config_txt.replace("XXX_SKIP_XXX" ,str(Jobs_Skip)) - if Jobs_Count < len(Jobs_Inputs): - config_txt = config_txt.replace("XXX_INPUT_XXX" ,Jobs_Inputs[Jobs_Count]) - - config_file=open(Path_Cfg,'w') - config_file.write(config_txt) - config_file.close() - -def CreateTheShellFile(argv): - global Path_Shell - global Path_Cfg - global CopyRights - global Jobs_RunHere - global Jobs_FinalCmds - Path_Shell = Farm_Directories[1]+Jobs_Index+Jobs_Name+'.sh' - - function_argument='(' - for i in range(2,len(argv)): - function_argument+="%s" % argv[i] - if i != len(argv)-1: - function_argument+=', ' - function_argument+=')' - - shell_file=open(Path_Shell,'w') - shell_file.write('#! /bin/sh\n') - shell_file.write(CopyRights + '\n') - shell_file.write('export SCRAM_ARCH='+os.getenv("SCRAM_ARCH","slc5_amd64_gcc462")+'\n') - shell_file.write('export BUILD_ARCH='+os.getenv("BUILD_ARCH","slc5_amd64_gcc462")+'\n') - shell_file.write('export VO_CMS_SW_DIR='+os.getenv("VO_CMS_SW_DIR","/nfs/soft/cms")+'\n') - #shell_file.write('source /nfs/soft/cms/cmsset_default.sh\n') - shell_file.write('cd ' + os.getcwd() + '\n') - shell_file.write('eval `scramv1 runtime -sh`\n') - - if argv[0]=='BASH': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - elif argv[0]=='ROOT': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "-Wno-deprecated-declarations -Wno-deprecated -Wno-unused-local-typedefs ");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", " -std=c++0x -D__USE_XOPEN2K8 ");\n') - shell_file.write(' cout << "Compilling with the following arguments: " << makeshared << endl;\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' gSystem->SetIncludePath( "-I$ROOFITSYS/include" );\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='FWLITE': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "-Wno-deprecated-declarations -Wno-deprecated ");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", " -std=c++0x -D__USE_XOPEN2K8 ");\n') - shell_file.write(' cout << "Compilling with the following arguments: " << makeshared << endl;\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' gSystem->SetIncludePath("-I$ROOFITSYS/include");\n') - shell_file.write(' gSystem->Load("libFWCoreFWLite");\n') - shell_file.write(' FWLiteEnabler::enable();\n') - shell_file.write(' gSystem->Load("libDataFormatsFWLite.so");\n') - shell_file.write(' gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsVertexReco.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsHepMCCandidate.so");\n') - shell_file.write(' gSystem->Load("libPhysicsToolsUtilities.so");\n') - shell_file.write(' gSystem->Load("libdcap.so");\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='CMSSW': - CreateTheConfigFile(argv); - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('cmsRun ' + os.getcwd() + '/'+Path_Cfg + '\n') - else: - print() #Program to use is not specified... Guess it is bash command - shell_file.write('#Program to use is not specified... Guess it is bash command\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - - for i in range(len(Jobs_FinalCmds)): - shell_file.write(Jobs_FinalCmds[i]+'\n') - shell_file.write('mv '+ Jobs_Name+'* '+os.getcwd()+'/'+Farm_Directories[3]+'\n') - shell_file.close() - os.system("chmod 777 "+Path_Shell) - - -def CreateTheCmdFile(): - global useLSF - global Path_Cmd - global CopyRights - Path_Cmd = Farm_Directories[1]+Jobs_Name+'.cmd' - cmd_file=open(Path_Cmd,'w') - - if useLSF: - cmd_file.write(CopyRights + '\n') - else: - cmd_file.write('Universe = vanilla\n') - cmd_file.write('Environment = CONDORJOBID=$(Process)\n') - cmd_file.write('notification = Error\n') - #code specific for louvain - if(commands.getstatusoutput("uname -n")[1].find("ucl.ac.be")!=-1): - cmd_file.write('requirements = (CMSFARM=?=True)&&(Memory > 200)\n') - else: - cmd_file.write('requirements = (Memory > 200)\n') - cmd_file.write('should_transfer_files = YES\n') - cmd_file.write('when_to_transfer_output = ON_EXIT\n') - cmd_file.close() - -def AddJobToCmdFile(): - global runInteractively - global useLSF - global Path_Shell - global Path_Cmd - global Path_Log - Path_Log = Farm_Directories[2]+Jobs_Index+Jobs_Name - cmd_file=open(Path_Cmd,'a') - - if runInteractively: - cmd_file.write("sh "+ os.getcwd() + "/"+Path_Shell + "\n") - elif useLSF: - if LSFlog : - cmd_file.write("bsub -q " + Jobs_Queue + " -J " + Jobs_Name+Jobs_Index + " '" + os.getcwd() + "/"+Path_Shell + " 0 ele'\n") - else : - cmd_file.write("bsub -o /dev/null -q " + Jobs_Queue + " -J " + Jobs_Name+Jobs_Index + " '" + os.getcwd() + "/"+Path_Shell + " 0 ele'\n") - else: - cmd_file.write('\n') - cmd_file.write('Executable = %s\n' % Path_Shell) - cmd_file.write('output = %s.out\n' % Path_Log) - cmd_file.write('error = %s.err\n' % Path_Log) - cmd_file.write('log = %s.log\n' % Path_Log) - cmd_file.write('Queue 1\n') - cmd_file.close() - -def CreateDirectoryStructure(FarmDirectory): - global Jobs_Name - global Farm_Directories - Farm_Directories = [FarmDirectory+'/', FarmDirectory+'/inputs/', FarmDirectory+'/logs/', FarmDirectory+'/outputs/'] - for i in range(0,len(Farm_Directories)): - if os.path.isdir(Farm_Directories[i]) == False: - os.system('mkdir ' + Farm_Directories[i]) - -def SendCluster_LoadInputFiles(path, NJobs): - global Jobs_Inputs - input_file = open(path,'r') - input_lines = input_file.readlines() - input_file.close() - #input_lines.sort() - - BlockSize = (len(input_lines)/NJobs) - LineIndex = 0 - JobIndex = 0 - BlockIndex = 0 - Jobs_Inputs = [""] - while LineIndex < len(input_lines): - Jobs_Inputs[JobIndex] += input_lines[LineIndex] - LineIndex +=1 - BlockIndex+=1 - if BlockIndex>BlockSize: - BlockIndex = 0 - JobIndex += 1 - Jobs_Inputs.append("") - return JobIndex+1 - -def SendCluster_Create(FarmDirectory, JobName): - global useLSF - global Jobs_Name - global Jobs_Count - global Farm_Directories - global runInteractively - - if(runInteractively): useLSF=True - - #determine if the submission system is LSF batch or condor - command_out = commands.getstatusoutput("bjobs")[1] - if(command_out.find("command not found")<0): useLSF = True - else: useLSF = False; - - Jobs_Name = JobName - Jobs_Count = 0 - CreateDirectoryStructure(FarmDirectory) - CreateTheCmdFile() - -def SendCluster_Push(Argv): - global Farm_Directories - global Jobs_Count - global Jobs_Index - global Path_Shell - global Path_Log - - Jobs_Index = "%04i_" % Jobs_Count - if Jobs_Count==0 and (Argv[0]=="ROOT" or Argv[0]=="FWLITE"): - #First Need to Compile the macro --> Create a temporary shell path with no arguments - print("Compiling the Macro...") - CreateTheShellFile([Argv[0],Argv[1]]) - os.system('sh '+Path_Shell) - os.system('rm '+Path_Shell) - print("Getting the jobs...") - print(Argv) - CreateTheShellFile(Argv) - AddJobToCmdFile() - Jobs_Count = Jobs_Count+1 - -def SendCluster_Submit(): - global useLSF - global CopyRights - global Jobs_Count - global Path_Cmd - - if useLSF: - os.system("sh " + Path_Cmd) - else: - os.system("condor_submit " + Path_Cmd) - - print('\n'+CopyRights) - print('%i Job(s) has/have been submitted on the Computing Cluster' % Jobs_Count) - -def SendSingleJob(FarmDirectory, JobName, Argv): - SendCluster_Create(FarmDirectory, JobName, Argv) - SendCluster_Push(FarmDirectory, JobName, Argv) - SendCluster_Submit(FarmDirectory, JobName,Argv) - -def SendCMSJobs(FarmDirectory, JobName, ConfigFile, InputFiles, NJobs, Argv): - SendCluster_Create(FarmDirectory, JobName) - NJobs = SendCluster_LoadInputFiles(InputFiles, NJobs) - for i in range(NJobs): - LaunchOnCondor.SendCluster_Push (["CMSSW", ConfigFile]) - LaunchOnCondor.SendCluster_Submit() - - - -def GetListOfFiles(Prefix, InputPattern, Suffix): - List = [] - - if(InputPattern.find('/store/cmst3')==0) : - index = InputPattern.rfind('/') - Listtmp = commands.getstatusoutput('cmsLs ' + InputPattern[0:index] + ' | awk \'{print $5}\'')[1].split('\n') - pattern = InputPattern[index+1:len(InputPattern)] - for file in Listtmp: - if fnmatch.fnmatch(file, pattern): List.append(InputPattern[0:index]+'/'+file) - elif(InputPattern.find('/castor/')==0): - index = InputPattern.rfind('/') - Listtmp = commands.getstatusoutput('rfdir ' + InputPattern[0:index] + ' | awk \'{print $9}\'')[1].split('\n') - pattern = InputPattern[index+1:len(InputPattern)] - for file in Listtmp: - if fnmatch.fnmatch(file, pattern): List.append(InputPattern[0:index]+'/'+file) - else : - List = glob.glob(InputPattern) - - List = sorted(List) - for i in range(len(List)): - List[i] = Prefix + List[i] + Suffix - return List - - -def ListToString(InputList): - outString = "" - for i in range(len(InputList)): - outString += InputList[i] - return outString - -def ListToFile(InputList, outputFile): - out_file=open(outputFile,'w') - for i in range(len(InputList)): - out_file.write(' ' + InputList[i] + '\n') - out_file.close() - -def FileToList(path): - input_file = open(path,'r') - input_lines = input_file.readlines() - input_file.close() - input_lines.sort() - return input_lines - - -def SendCMSMergeJob(FarmDirectory, JobName, InputFiles, OutputFile, KeepStatement): - SendCluster_Create(FarmDirectory, JobName) - Temp_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_TEMP_cfg.py' - - if len(InputFiles)==0: - print('Empty InputFile List for Job named "%s", Job will not be submitted' % JobName) - return - - InputFilesString = "" - for i in range(len(InputFiles)): - InputFilesString += " " + InputFiles[i] + '\n' - - cfg_file=open(Temp_Cfg,'w') - cfg_file.write('import FWCore.ParameterSet.Config as cms\n') - cfg_file.write('process = cms.Process("Merge")\n') - cfg_file.write('\n') - cfg_file.write('process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )\n') - cfg_file.write('process.load("FWCore.MessageService.MessageLogger_cfi")\n') - cfg_file.write('\n') - cfg_file.write('process.MessageLogger.cerr.FwkReport.reportEvery = 50000\n') - cfg_file.write('process.source = cms.Source("PoolSource",\n') - cfg_file.write(' fileNames = cms.untracked.vstring(\n') - cfg_file.write('%s' % InputFilesString) - cfg_file.write(' )\n') - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.OUT = cms.OutputModule("PoolOutputModule",\n') - cfg_file.write(' outputCommands = cms.untracked.vstring(%s),\n' % KeepStatement) - cfg_file.write(' fileName = cms.untracked.string(%s)\n' % OutputFile) - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.endPath = cms.EndPath(process.OUT)\n') - cfg_file.close() - SendCluster_Push (["CMSSW", Temp_Cfg]) - SendCluster_Submit() - os.system('rm '+ Temp_Cfg) - diff --git a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorECAL.cc b/SUSYBSMAnalysis/HSCP/src/BetaCalculatorECAL.cc deleted file mode 100644 index 57ef23068b9c9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorECAL.cc +++ /dev/null @@ -1,336 +0,0 @@ -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" - -#include "Geometry/CaloGeometry/interface/TruncatedPyramid.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h" -#include "TrackingTools/Records/interface/DetIdAssociatorRecord.h" -#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixStateInfo.h" -#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h" - -#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h" - -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorECAL.h" - -using namespace susybsm; - -BetaCalculatorECAL::BetaCalculatorECAL(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) - : EBRecHitCollectionToken_( - iC.consumes(iConfig.getParameter("EBRecHitCollection"))), - EERecHitCollectionToken_( - iC.consumes(iConfig.getParameter("EERecHitCollection"))), - ecalDetIdAssociatorToken_(iC.esConsumes(edm::ESInputTag("", "EcalDetIdAssociator"))), - bFieldToken_(iC.esConsumes()), - theCaloGeometryToken_(iC.esConsumes()), - caloTopologyToken_(iC.esConsumes()) { - edm::ParameterSet trkParameters = iConfig.getParameter("TrackAssociatorParameters"); - parameters_.loadParameters(trkParameters, iC); - trackAssociator_.useDefaultPropagator(); -} - -void BetaCalculatorECAL::addInfoToCandidate(HSCParticle& candidate, - edm::Handle& tracks, - edm::Event& iEvent, - const edm::EventSetup& iSetup, - HSCPCaloInfo& caloInfo) { - bool setCalo = false; - HSCPCaloInfo result; - - // EcalDetIdAssociator - const auto& ecalDetIdAssociator_ = iSetup.getData(ecalDetIdAssociatorToken_); - // Get the Bfield - bField_ = &iSetup.getData(bFieldToken_); - // Geometry - const CaloGeometry* theGeometry = &iSetup.getData(theCaloGeometryToken_); - // Topology - const CaloTopology* theCaloTopology = &iSetup.getData(caloTopologyToken_); - // EcalRecHits - edm::Handle ebRecHits; - iEvent.getByToken(EBRecHitCollectionToken_, ebRecHits); - edm::Handle eeRecHits; - iEvent.getByToken(EERecHitCollectionToken_, eeRecHits); - - // select the track - reco::Track track; - if (candidate.hasTrackRef()) - track = *(candidate.trackRef()); - else - return; // in case there is no track ref, we can't do much - - // compute the track isolation - result.trkIsoDr = 100; - for (reco::TrackCollection::const_iterator ndTrack = tracks->begin(); ndTrack != tracks->end(); ++ndTrack) { - double dr = - sqrt(pow((track.outerEta() - ndTrack->outerEta()), 2) + pow((track.outerPhi() - ndTrack->outerPhi()), 2)); - if (dr > 0.00001 && dr < result.trkIsoDr) - result.trkIsoDr = dr; - } - - // use the track associator to propagate to the calo - TrackDetMatchInfo info = - trackAssociator_.associate(iEvent, iSetup, trackAssociator_.getFreeTrajectoryState(bField_, track), parameters_); - - // do a custom propagation through Ecal - std::map trackExitPositionMap; // rawId to exit position (subtracting cry center) - std::map trackCrossedXtalCurvedMap; // rawId to trackLength - - FreeTrajectoryState tkInnerState = trajectoryStateTransform::innerFreeState(track, bField_); - // Build set of points in Ecal (necklace) using the propagator - std::vector neckLace; - neckLace = calcEcalDeposit(&tkInnerState, ecalDetIdAssociator_); - // Initialize variables to be filled by the track-length function - double totalLengthCurved = 0.; - GlobalPoint internalPointCurved(0., 0., 0.); - GlobalPoint externalPointCurved(0., 0., 0.); - if (neckLace.size() > 1) { - getDetailedTrackLengthInXtals(trackExitPositionMap, - trackCrossedXtalCurvedMap, - totalLengthCurved, - internalPointCurved, - externalPointCurved, - &(*theGeometry), - &(*theCaloTopology), - neckLace); - } - - // Make weighted sum of times - float sumWeightedTime = 0; - float sumTimeErrorSqr = 0; - float sumEnergy = 0; - float sumTrackLength = 0; - std::vector crossedRecHits; - EcalRecHitCollection::const_iterator thisHit; - - std::map::const_iterator trackExitMapIt = trackExitPositionMap.begin(); - for (std::map::const_iterator mapIt = trackCrossedXtalCurvedMap.begin(); - mapIt != trackCrossedXtalCurvedMap.end(); - ++mapIt) { - if (DetId(mapIt->first).subdetId() == EcalBarrel) { - EBDetId ebDetId(mapIt->first); - thisHit = ebRecHits->find(ebDetId); - if (thisHit == ebRecHits->end()) { - //std::cout << "\t Could not find crossedEcal detId: " << ebDetId << " in EBRecHitCollection!" << std::endl; - continue; - } - const EcalRecHit hit = *thisHit; - // Cut out badly-reconstructed hits - if (!hit.isTimeValid()) - continue; - uint32_t rhFlag = hit.recoFlag(); - if ((rhFlag != EcalRecHit::kGood) && (rhFlag != EcalRecHit::kOutOfTime) && (rhFlag != EcalRecHit::kPoorCalib)) - continue; - - float errorOnThis = hit.timeError(); - sumTrackLength += mapIt->second; - sumEnergy += hit.energy(); - crossedRecHits.push_back(hit); - // result.ecalSwissCrossKs.push_back(EcalSeverityLevelAlgo::spikeFromNeighbours(ebDetId,(*ebRecHits),0.2,EcalSeverityLevelAlgo::kSwissCross)); - // result.ecalE1OverE9s.push_back(EcalSeverityLevelAlgo::spikeFromNeighbours(ebDetId,(*ebRecHits),0.2,EcalSeverityLevelAlgo::kE1OverE9)); - result.ecalTrackLengths.push_back(mapIt->second); - result.ecalTrackExitPositions.push_back(trackExitMapIt->second); - result.ecalEnergies.push_back(hit.energy()); - result.ecalTimes.push_back(hit.time()); - result.ecalTimeErrors.push_back(hit.timeError()); - result.ecalOutOfTimeEnergies.push_back(0.); - result.ecalOutOfTimeChi2s.push_back(0.); - result.ecalChi2s.push_back(hit.chi2()); - result.ecalDetIds.push_back(ebDetId); - // SIC DEBUG - //std::cout << " SIC DEBUG: time error on this crossed RecHit: " << errorOnThis << " energy of hit: " - // << hit.energy() << " time of hit: " << hit.time() << " trackLength: " << mapIt->second << std::endl; - - if (hit.isTimeErrorValid()) // use hit time for weighted time average - { - sumWeightedTime += hit.time() / (errorOnThis * errorOnThis); - sumTimeErrorSqr += 1 / (errorOnThis * errorOnThis); - } - } - trackExitMapIt++; - } - - if (!crossedRecHits.empty()) { - setCalo = true; - sort(crossedRecHits.begin(), crossedRecHits.end(), [](auto& x, auto& y) { return (x.energy() > y.energy()); }); - result.ecalCrossedEnergy = sumEnergy; - result.ecalCrysCrossed = crossedRecHits.size(); - result.ecalDeDx = sumEnergy / sumTrackLength; - // replace the below w/o trackassociator quantities? - result.ecal3by3dir = info.nXnEnergy(TrackDetMatchInfo::EcalRecHits, 1); - result.ecal5by5dir = info.nXnEnergy(TrackDetMatchInfo::EcalRecHits, 2); - - if (sumTimeErrorSqr > 0) { - result.ecalTime = sumWeightedTime / sumTimeErrorSqr; - result.ecalTimeError = sqrt(1 / sumTimeErrorSqr); - DetId maxEnergyId = crossedRecHits.begin()->id(); - - if (maxEnergyId != DetId()) // double check - { - // To get beta, we assume photon propagation time is about the same for muons and e/gamma - // Since the typical path length is >> crystal length, this shouldn't be too bad - GlobalPoint position = info.getPosition(maxEnergyId); // position of crystal center on front face - double frontFaceR = sqrt(pow(position.x(), 2) + pow(position.y(), 2) + pow(position.z(), 2)); - double muonShowerMax = frontFaceR + 11.5; // assume muon "showerMax" is halfway into the crystal - double gammaShowerMax = frontFaceR + 6.23; // 7 X0 for e/gamma showerMax - double speedOfLight = 29.979; // cm/ns - result.ecalBeta = (muonShowerMax) / (result.ecalTime * speedOfLight + gammaShowerMax); - result.ecalBetaError = (speedOfLight * muonShowerMax * result.ecalTimeError) / - pow(speedOfLight * result.ecalTime + gammaShowerMax, 2); - result.ecalInvBetaError = speedOfLight * result.ecalTimeError / muonShowerMax; - } - // SIC debug - //std::cout << "BetaCalcEcal: CrossedRecHits: " << crossedRecHits.size() - // << " ecalTime: " << result.ecalTime << " timeError: " << result.ecalTimeError - // << " ecalCrossedEnergy: " << result.ecalCrossedEnergy << " ecalBeta: " << result.ecalBeta - // << " ecalBetaError: " << result.ecalBetaError << " ecalDeDx (MeV/cm): " << 1000*result.ecalDeDx << std::endl; - } - } - - if (!info.crossedHcalRecHits.empty()) { - // HCAL (not ECAL) info - result.hcalCrossedEnergy = info.crossedEnergy(TrackDetMatchInfo::HcalRecHits); - result.hoCrossedEnergy = info.crossedEnergy(TrackDetMatchInfo::HORecHits); - //maxEnergyId = info.findMaxDeposition(TrackDetMatchInfo::HcalRecHits); - result.hcal3by3dir = info.nXnEnergy(TrackDetMatchInfo::HcalRecHits, 1); - result.hcal5by5dir = info.nXnEnergy(TrackDetMatchInfo::HcalRecHits, 2); - } - - if (setCalo) - caloInfo = result; -} - -std::vector BetaCalculatorECAL::calcEcalDeposit(const FreeTrajectoryState* tkInnerState, - const DetIdAssociator& associator) { - // Set some parameters - double minR = associator.volume().minR(); - double minZ = associator.volume().minZ(); - double maxR = associator.volume().maxR(); - double maxZ = associator.volume().maxZ(); - - // Define the TrackOrigin (where the propagation starts) - SteppingHelixStateInfo trackOrigin(*tkInnerState); - - // Define Propagator - auto prop = std::make_unique(bField_, alongMomentum); - prop->setMaterialMode(false); - prop->applyRadX0Correction(true); - - return propagateThoughFromIP(trackOrigin, prop.get(), associator.volume(), 500, 0.1, minR, minZ, maxR, maxZ); -} - -int BetaCalculatorECAL::getDetailedTrackLengthInXtals(std::map& trackExitPositionMap, - std::map& trackCrossedXtalMap, - double& totalLengthCurved, - GlobalPoint& internalPointCurved, - GlobalPoint& externalPointCurved, - const CaloGeometry* theGeometry, - const CaloTopology* theTopology, - const std::vector& neckLace) { - GlobalPoint origin(0., 0., 0.); - internalPointCurved = origin; - externalPointCurved = origin; - - bool firstPoint = false; - trackCrossedXtalMap.clear(); - - const CaloSubdetectorGeometry* theBarrelSubdetGeometry = theGeometry->getSubdetectorGeometry(DetId::Ecal, 1); - const CaloSubdetectorGeometry* theEndcapSubdetGeometry = theGeometry->getSubdetectorGeometry(DetId::Ecal, 2); - - for (std::vector::const_iterator itr = (neckLace.begin() + 1); itr != neckLace.end(); ++itr) { - GlobalPoint probe_gp = (*itr).position(); - std::vector surroundingMatrix; - - EBDetId closestBarrelDetIdToProbe = ((theBarrelSubdetGeometry->getClosestCell(probe_gp)).rawId()); - EEDetId closestEndcapDetIdToProbe = ((theEndcapSubdetGeometry->getClosestCell(probe_gp)).rawId()); - - // check if the probe is inside the xtal - if ((closestEndcapDetIdToProbe) && (theGeometry->getSubdetectorGeometry(closestEndcapDetIdToProbe) - ->getGeometry(closestEndcapDetIdToProbe) - ->inside(probe_gp))) { - double step = ((*itr).position() - (*(itr - 1)).position()).mag(); - GlobalPoint point = itr->position(); - addStepToXtal( - trackExitPositionMap, trackCrossedXtalMap, closestEndcapDetIdToProbe, step, point, theEndcapSubdetGeometry); - totalLengthCurved += step; - - if (firstPoint == false) { - internalPointCurved = probe_gp; - firstPoint = true; - } - - externalPointCurved = probe_gp; - } - - if ((closestBarrelDetIdToProbe) && (theGeometry->getSubdetectorGeometry(closestBarrelDetIdToProbe) - ->getGeometry(closestBarrelDetIdToProbe) - ->inside(probe_gp))) { - double step = ((*itr).position() - (*(itr - 1)).position()).mag(); - GlobalPoint point = itr->position(); - addStepToXtal( - trackExitPositionMap, trackCrossedXtalMap, closestBarrelDetIdToProbe, step, point, theBarrelSubdetGeometry); - totalLengthCurved += step; - - if (firstPoint == false) { - internalPointCurved = probe_gp; - firstPoint = true; - } - - externalPointCurved = probe_gp; - } else { - // 3x3 matrix surrounding the probe - surroundingMatrix = - theTopology->getSubdetectorTopology(closestBarrelDetIdToProbe)->getWindow(closestBarrelDetIdToProbe, 3, 3); - - for (unsigned int k = 0; k < surroundingMatrix.size(); ++k) { - if (theGeometry->getSubdetectorGeometry(surroundingMatrix.at(k)) - ->getGeometry(surroundingMatrix.at(k)) - ->inside(probe_gp)) { - double step = ((*itr).position() - (*(itr - 1)).position()).mag(); - GlobalPoint point = itr->position(); - addStepToXtal(trackExitPositionMap, - trackCrossedXtalMap, - surroundingMatrix[k], - step, - point, - theGeometry->getSubdetectorGeometry(surroundingMatrix.at(k))); - totalLengthCurved += step; - - if (firstPoint == false) { - internalPointCurved = probe_gp; - firstPoint = true; - } - - externalPointCurved = probe_gp; - } - } - - // clear neighborhood matrix - surroundingMatrix.clear(); - } - } - - return 0; -} - -void BetaCalculatorECAL::addStepToXtal(std::map& trackExitPositionMap, - std::map& trackCrossedXtalMap, - DetId aDetId, - float step, - GlobalPoint point, - const CaloSubdetectorGeometry* theSubdetGeometry) { - auto cell_p = theSubdetGeometry->getGeometry(aDetId); - GlobalPoint p = cell_p->getPosition(23); - GlobalPoint diff(point.x() - p.x(), point.y() - p.y(), point.z() - p.z()); - - std::map::iterator xtal = trackExitPositionMap.find(aDetId.rawId()); - if (xtal != trackExitPositionMap.end()) - ((*xtal).second) = diff; - else - trackExitPositionMap.insert(std::pair(aDetId.rawId(), diff)); - - std::map::iterator xtal2 = trackCrossedXtalMap.find(aDetId.rawId()); - if (xtal2 != trackCrossedXtalMap.end()) - ((*xtal2).second) += step; - else - trackCrossedXtalMap.insert(std::pair(aDetId.rawId(), step)); -} diff --git a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorMUON.cc b/SUSYBSMAnalysis/HSCP/src/BetaCalculatorMUON.cc deleted file mode 100644 index 20ac60e11be7a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorMUON.cc +++ /dev/null @@ -1,36 +0,0 @@ -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorMUON.h" - -using namespace edm; -using namespace reco; -using namespace susybsm; - -BetaCalculatorMUON::BetaCalculatorMUON(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) { - // m_muontiming_dt = iC.consumes(iConfig.getParameter("muontimingDt" )); - // m_muontiming_csc = iC.consumes(iConfig.getParameter("muontimingCsc" )); - // m_muontiming_combined = iC.consumes(iConfig.getParameter("muontimingCombined")); -} - -void BetaCalculatorMUON::addInfoToCandidate(HSCParticle& candidate, edm::Event& iEvent, const edm::EventSetup& iSetup) { - //Do nothing since all muonTiming object are external and get be accessed via reference - return; - /* - if(!candidate.hasMuonRef())return; - reco::MuonRef muon = candidate.muonRef(); - - Handle timeMap_Dt_h; - iEvent.getByToken(m_muontiming_dt,timeMap_Dt_h); - const reco::MuonTimeExtraMap& timeMap_Dt = *timeMap_Dt_h; - - Handle timeMap_Csc_h; - iEvent.getByToken(m_muontiming_dt,timeMap_Csc_h); - const reco::MuonTimeExtraMap& timeMap_Csc = *timeMap_Csc_h; - - Handle timeMap_Combined_h; - iEvent.getByToken(m_muontiming_dt,timeMap_Combined_h); - const reco::MuonTimeExtraMap& timeMap_Combined = *timeMap_Combined_h; - - candidate.setMuonTimeDt (timeMap_Dt [muon]); - candidate.setMuonTimeCsc (timeMap_Csc [muon]); - candidate.setMuonTimeCombined(timeMap_Combined[muon]); -*/ -} diff --git a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorRPC.cc b/SUSYBSMAnalysis/HSCP/src/BetaCalculatorRPC.cc deleted file mode 100644 index 441ed344f349f..0000000000000 --- a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorRPC.cc +++ /dev/null @@ -1,200 +0,0 @@ -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorRPC.h" - -using namespace susybsm; - -BetaCalculatorRPC::BetaCalculatorRPC(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) { - rpcRecHitsToken = iC.consumes(iConfig.getParameter("rpcRecHits")); -} - -void BetaCalculatorRPC::algo(const std::vector& uHSCPRPCRecHits) { - std::vector HSCPRPCRecHits = uHSCPRPCRecHits; - int lastbx = -7; - bool outOfTime = false; - bool increasing = true; - bool anydifferentzero = true; - bool anydifferentone = true; - - //std::cout<<"Inside BetaCalculatorRPC \t \t Preliminar loop on the RPCHit4D!!!"<::iterator point = HSCPRPCRecHits.begin(); point < HSCPRPCRecHits.end(); ++point) { - outOfTime |= (point->bx != 0); //condition 1: at least one measurement must have BX!=0 - increasing &= (point->bx >= lastbx); //condition 2: BX must be increase when going inside-out. - anydifferentzero &= (!(point->bx == 0)); //to check one knee withoutzeros - anydifferentone &= (!(point->bx == 1)); //to check one knee withoutones - lastbx = point->bx; - //float r=point->gp.mag(); - //std::cout<<"Inside BetaCalculatorRPC \t \t r="<::iterator point = HSCPRPCRecHits.begin(); point < HSCPRPCRecHits.end(); ++point) { - if (lastbx == -7) { - maginfirstknee = point->gp.mag(); - } else if ((lastbx != point->bx)) { - //std::cout<<"Inside BetaCalculatorRPC \t \t \t one knee between"<bx<gp.mag(); - knees++; - } - lastbx = point->bx; - } - - if (knees == 0) { - //std::cout<<"Inside BetaCalculatorRPC \t \t \t \t knees="<bx<gp.mag(); - betavalue1 = maginknee / (25 - delay + maginknee / 30.) / 30.; - float dr = (maginknee - maginsecondknee); - betavalue2 = dr / (25. + dr / 30.); - //std::cout<<"Inside BetaCalculatorRPC \t \t \t \t \t betavalue1="< rpcGeo; - iSetup.get().get(rpcGeo); - - edm::Handle rpcHits; - iEvent.getByToken(rpcRecHitsToken, rpcHits); - - // here we do basically as in RPCHSCPCANDIDATE.cc, but just for the hits on the muon of interest - RPCBetaMeasurement result; - std::vector hits; - // so, loop on the RPC hits of the muon - trackingRecHit_iterator start, stop; - reco::Track track; - - if (candidate.hasMuonRef() && candidate.muonRef()->combinedMuon().isNonnull()) { - start = candidate.muonRef()->combinedMuon()->recHitsBegin(); - stop = candidate.muonRef()->combinedMuon()->recHitsEnd(); - } else if (candidate.hasMuonRef() && candidate.muonRef()->standAloneMuon().isNonnull()) { - track = *(candidate.muonRef()->standAloneMuon()); - start = candidate.muonRef()->standAloneMuon()->recHitsBegin(); - stop = candidate.muonRef()->standAloneMuon()->recHitsEnd(); - } else - return; - /* - if(candidate.hasMuonCombinedTrack()) { - start = candidate.combinedTrack().recHitsBegin(); - stop = candidate.combinedTrack().recHitsEnd(); - } else if(candidate.hasMuonStaTrack()) { - start = candidate.staTrack().recHitsBegin(); - stop = candidate.staTrack().recHitsEnd(); - } else return; -*/ - - for (trackingRecHit_iterator recHit = start; recHit != stop; ++recHit) { - if ((*recHit)->geographicalId().subdetId() != MuonSubdetId::RPC) - continue; - if ((*recHit)->geographicalId().det() != DetId::Muon) - continue; - if (!(*recHit)->isValid()) - continue; //Is Valid? - - RPCDetId rollId = (RPCDetId)(*recHit)->geographicalId(); - - typedef std::pair rangeRecHits; - rangeRecHits recHitCollection = rpcHits->get(rollId); - RPCRecHitCollection::const_iterator recHitC; - int size = 0; - int clusterS = 0; - - for (recHitC = recHitCollection.first; recHitC != recHitCollection.second; recHitC++) { - clusterS = (*recHitC).clusterSize(); - // RPCDetId rollId = (RPCDetId)(*recHitC).geographicalId(); - // std::cout<<"\t \t \t \t"< 1) - continue; //Is the only RecHit in this roll.? - if (clusterS > 4) - continue; //Is the Cluster Size 5 or bigger? - - LocalPoint recHitPos = (*recHit)->localPosition(); - const RPCRoll* rollasociated = rpcGeo->roll(rollId); - const BoundPlane& RPCSurface = rollasociated->surface(); - - RPCHit4D ThisHit; - ThisHit.bx = ((RPCRecHit*)(&(**recHit)))->BunchX(); - ThisHit.gp = RPCSurface.toGlobal(recHitPos); - ThisHit.id = (RPCDetId)(*recHit)->geographicalId().rawId(); - hits.push_back(ThisHit); - } - // here we go on with the RPC procedure - std::sort(hits.begin(), hits.end()); - int lastbx = -7; - bool increasing = true; - bool outOfTime = false; - for (std::vector::iterator point = hits.begin(); point < hits.end(); ++point) { - outOfTime |= (point->bx != 0); //condition 1: at least one measurement must have BX!=0 - increasing &= (point->bx >= lastbx); //condition 2: BX must increase when going inside-out. - lastbx = point->bx; - } - result.isCandidate = (outOfTime && increasing); - - //result.beta = 1; // here we should get some pattern-based estimate - algo(hits); - result.beta = beta(); - candidate.setRpc(result); -} diff --git a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorTK.cc b/SUSYBSMAnalysis/HSCP/src/BetaCalculatorTK.cc deleted file mode 100644 index ca60849deae24..0000000000000 --- a/SUSYBSMAnalysis/HSCP/src/BetaCalculatorTK.cc +++ /dev/null @@ -1,92 +0,0 @@ -#include "SUSYBSMAnalysis/HSCP/interface/BetaCalculatorTK.h" - -using namespace edm; -using namespace reco; -using namespace susybsm; - -BetaCalculatorTK::BetaCalculatorTK(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) { - /* - m_dedxEstimator1Token = consumes(iConfig.getParameter("dedxEstimator1")); - m_dedxEstimator2Token = consumes(iConfig.getParameter("dedxEstimator2")); - m_dedxEstimator3Token = consumes(iConfig.getParameter("dedxEstimator3")); - m_dedxEstimator4Token = consumes(iConfig.getParameter("dedxEstimator4")); - m_dedxEstimator5Token = consumes(iConfig.getParameter("dedxEstimator5")); - m_dedxEstimator6Token = consumes(iConfig.getParameter("dedxEstimator6")); - m_dedxDiscriminator1Token = consumes(iConfig.getParameter("dedxDiscriminator1")); - m_dedxDiscriminator2Token = consumes(iConfig.getParameter("dedxDiscriminator2")); - m_dedxDiscriminator3Token = consumes(iConfig.getParameter("dedxDiscriminator3")); - m_dedxDiscriminator4Token = consumes(iConfig.getParameter("dedxDiscriminator4")); - m_dedxDiscriminator5Token = consumes(iConfig.getParameter("dedxDiscriminator5")); - m_dedxDiscriminator6Token = consumes(iConfig.getParameter("dedxDiscriminator6")); -*/ -} - -void BetaCalculatorTK::addInfoToCandidate(HSCParticle& candidate, edm::Event& iEvent, const edm::EventSetup& iSetup) { - //Do nothing since all dE/dx object are external and get be accessed via reference - return; - /* - if(!candidate.hasTrackRef())return; - - edm::Handle Estimator1H; - iEvent.getByToken(m_dedxEstimator1Token,Estimator1H); - const ValueMap Estimator1 = *Estimator1H.product(); - - edm::Handle Estimator2H; - iEvent.getByToken(m_dedxEstimator2Token,Estimator2H); - const ValueMap Estimator2 = *Estimator2H.product(); - - edm::Handle Estimator3H; - iEvent.getByToken(m_dedxEstimator3Token,Estimator3H); - const ValueMap Estimator3 = *Estimator3H.product(); - - edm::Handle Estimator4H; - iEvent.getByToken(m_dedxEstimator4Token,Estimator4H); - const ValueMap Estimator4 = *Estimator4H.product(); - - edm::Handle Estimator5H; - iEvent.getByToken(m_dedxEstimator5Token,Estimator5H); - const ValueMap Estimator5 = *Estimator5H.product(); - - edm::Handle Estimator6H; - iEvent.getByToken(m_dedxEstimator6Token,Estimator6H); - const ValueMap Estimator6 = *Estimator6H.product(); - - edm::Handle Discriminator1H; - iEvent.getByToken(m_dedxDiscriminator1Token,Discriminator1H); - const ValueMap Discriminator1 = *Discriminator1H.product(); - - edm::Handle Discriminator2H; - iEvent.getByToken(m_dedxDiscriminator2Token,Discriminator2H); - const ValueMap Discriminator2 = *Discriminator2H.product(); - - edm::Handle Discriminator3H; - iEvent.getByToken(m_dedxDiscriminator3Token,Discriminator3H); - const ValueMap Discriminator3 = *Discriminator3H.product(); - - edm::Handle Discriminator4H; - iEvent.getByToken(m_dedxDiscriminator4Token,Discriminator4H); - const ValueMap Discriminator4 = *Discriminator4H.product(); - - edm::Handle Discriminator5H; - iEvent.getByToken(m_dedxDiscriminator5Token,Discriminator5H); - const ValueMap Discriminator5 = *Discriminator5H.product(); - - edm::Handle Discriminator6H; - iEvent.getByToken(m_dedxDiscriminator6Token,Discriminator6H); - const ValueMap Discriminator6 = *Discriminator6H.product(); - - reco::TrackRef track = candidate.trackRef(); - candidate.setDedxEstimator1 (Estimator1 [track]); - candidate.setDedxEstimator2 (Estimator2 [track]); - candidate.setDedxEstimator3 (Estimator3 [track]); - candidate.setDedxEstimator4 (Estimator4 [track]); - candidate.setDedxEstimator5 (Estimator5 [track]); - candidate.setDedxEstimator6 (Estimator6 [track]); - candidate.setDedxDiscriminator1(Discriminator1[track]); - candidate.setDedxDiscriminator2(Discriminator2[track]); - candidate.setDedxDiscriminator3(Discriminator3[track]); - candidate.setDedxDiscriminator4(Discriminator4[track]); - candidate.setDedxDiscriminator5(Discriminator5[track]); - candidate.setDedxDiscriminator6(Discriminator6[track]); -*/ -} diff --git a/SUSYBSMAnalysis/HSCP/src/CandidateSelector.cc b/SUSYBSMAnalysis/HSCP/src/CandidateSelector.cc deleted file mode 100644 index 33b63c2daed3e..0000000000000 --- a/SUSYBSMAnalysis/HSCP/src/CandidateSelector.cc +++ /dev/null @@ -1,120 +0,0 @@ -#include "SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h" - -using namespace edm; -using namespace reco; -using namespace susybsm; - -CandidateSelector::CandidateSelector(const edm::ParameterSet& iConfig) { - isTrack = iConfig.getParameter("onlyConsiderTrack"); - isMuon = iConfig.getParameter("onlyConsiderMuon"); - isMuonSTA = iConfig.getParameter("onlyConsiderMuonSTA"); - isMuonGB = iConfig.getParameter("onlyConsiderMuonGB"); - isMuonTK = iConfig.getParameter("onlyConsiderMuonTK"); - isMTMuon = iConfig.getParameter("onlyConsiderMTMuon"); - isRpc = iConfig.getParameter("onlyConsiderRpc"); - isEcal = iConfig.getParameter("onlyConsiderEcal"); - - minTrackHits = iConfig.getParameter("minTrackHits"); - minTrackP = iConfig.getParameter("minTrackP"); - minTrackPt = iConfig.getParameter("minTrackPt"); - - minDedx = iConfig.getParameter("minDedx"); - - minMuonP = iConfig.getParameter("minMuonP"); - minMuonPt = iConfig.getParameter("minMuonPt"); - minSAMuonPt = iConfig.getParameter("minMTMuonPt"); - minMTMuonPt = iConfig.getParameter("minMTMuonPt"); - - maxMuTimeDtBeta = iConfig.getParameter("maxMuTimeDtBeta"); - minMuTimeDtNdof = iConfig.getParameter("minMuTimeDtNdof"); - maxMuTimeCscBeta = iConfig.getParameter("maxMuTimeCscBeta"); - minMuTimeCscNdof = iConfig.getParameter("minMuTimeCscNdof"); - maxMuTimeCombinedBeta = iConfig.getParameter("maxMuTimeCombinedBeta"); - minMuTimeCombinedNdof = iConfig.getParameter("minMuTimeCombinedNdof"); - - maxBetaRpc = iConfig.getParameter("maxBetaRpc"); - maxBetaEcal = iConfig.getParameter("maxBetaEcal"); -} - -bool CandidateSelector::isSelected(HSCParticle& candidate) { - if (isTrack && !candidate.hasTrackRef()) { - return false; - } - if (isMuon && !candidate.hasMuonRef()) { - return false; - } - if (isMuonSTA && (!candidate.hasMuonRef() || candidate.muonRef()->standAloneMuon().isNull())) { - return false; - } - if (isMuonGB && (!candidate.hasMuonRef() || candidate.muonRef()->combinedMuon().isNull())) { - return false; - } - if (isMuonTK && (!candidate.hasMuonRef() || candidate.muonRef()->innerTrack().isNull())) { - return false; - } - if (isMTMuon && !candidate.hasMTMuonRef()) { - return false; - } - if (isRpc && !candidate.hasRpcInfo()) { - return false; - } - if (isEcal && !candidate.hasCaloInfo()) { - return false; - } - - if (candidate.hasTrackRef()) { - if (candidate.trackRef()->found() < minTrackHits) { - return false; - } - if (candidate.trackRef()->p() < minTrackP) { - return false; - } - if (candidate.trackRef()->pt() < minTrackPt) { - return false; - } - - // Need to be implemented using external dE/dx object - // if(candidate.hasDedxEstim1() && minDedxEstimator1>=0 && candidate.dedxEstimator1 ().dEdx()=0 && candidate.dedxDiscriminator1().dEdx()p() < minMuonP) { - return false; - } - if (candidate.muonRef()->pt() < minMuonPt) { - return false; - } - - // Need to be implemented using external timing object - // if(maxMuTimeDtBeta >=0 && 1.0/candidate.muonTimeDt().inverseBeta() > maxMuTimeDtBeta ){return false;} - // if(minMuTimeDtNdof >=0 && 1.0/candidate.muonTimeDt().nDof() < minMuTimeDtNdof ){return false;} - // if(maxMuTimeCscBeta >=0 && 1.0/candidate.muonTimeCsc().inverseBeta() > maxMuTimeCscBeta ){return false;} - // if(minMuTimeCscNdof >=0 && 1.0/candidate.muonTimeCsc().nDof() < minMuTimeCscNdof ){return false;} - // if(maxMuTimeCombinedBeta>=0 && 1.0/candidate.muonTimeCombined().inverseBeta() > maxMuTimeCombinedBeta){return false;} - // if(minMuTimeCombinedNdof>=0 && 1.0/candidate.muonTimeCombined().nDof() < minMuTimeCombinedNdof){return false;} - } - - if (candidate.hasRpcInfo() && maxBetaRpc >= 0 && candidate.rpc().beta > maxBetaRpc) { - return false; - } - - if (candidate.hasMuonRef() && candidate.muonRef()->isStandAloneMuon()) { - if (candidate.muonRef()->standAloneMuon()->pt() < minSAMuonPt) { - return false; - } - } - - if (candidate.hasMTMuonRef()) { - if (!candidate.MTMuonRef()->standAloneMuon().isNull()) { - if (candidate.MTMuonRef()->standAloneMuon()->pt() < minMTMuonPt) { - return false; - } - } - } - - // Need to be implemented using external dE/dx object - // if(candidate.hasCaloInfo() && maxBetaEcal>=0 && candidate.calo().ecalBeta > maxBetaEcal){return false;} - - return true; -} diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/HSCParticleProducer_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/HSCParticleProducer_cfg.py deleted file mode 100644 index e71898e901915..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/HSCParticleProducer_cfg.py +++ /dev/null @@ -1,199 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms - -process = cms.Process("HSCPAnalysis") - -from SUSYBSMAnalysis.HSCP.HSCPVersion_cff import * - -process.load("FWCore.MessageService.MessageLogger_cfi") -if CMSSW4_2 or CMSSW4_4:process.load("Configuration.StandardSequences.Geometry_cff") -else: process.load("Configuration.Geometry.GeometryIdeal_cff") - -process.load("Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(100) ) - -if CMSSW4_4: process.GlobalTag.globaltag = 'FT_R_44_V11::All' -elif CMSSW4_2: process.GlobalTag.globaltag = 'GR_P_V14::All' -else: - import FWCore.ParameterSet.VarParsing as VarParsing - options = VarParsing.VarParsing("analysis") - options.register("globalTag", - "GR_P_V32::All", # default value - VarParsing.VarParsing.multiplicity.singleton, # singleton or list - VarParsing.VarParsing.varType.string, # string, int, or float - "Global tag to be used." - ) - # get and parse the command line arguments - options.parseArguments() - process.GlobalTag.globaltag = options.globalTag - -readFiles = cms.untracked.vstring() -process.source = cms.Source("PoolSource", - fileNames = readFiles -) - -if CMSSW4_2: readFiles.extend(['/store/data/Run2011B/SingleMu/USER/EXOHSCP-PromptSkim-v1/0000/FC298F26-65FF-E011-977F-00237DA13C76.root']) -else: readFiles.extend(['/store/data/Run2012D/SingleMu/USER/EXOHSCP-PromptSkim-v1/000/208/391/00000/78225FEA-B23E-E211-B4DE-485B39800C17.root']) - -process.source.inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*") - -######################################################################## -process.load("SUSYBSMAnalysis.HSCP.HSCParticleProducerFromSkim_cff") #IF RUNNING ON HSCP SKIM - -if CMSSW4_2: - process.load('SUSYBSMAnalysis.Skimming.EXOHSCP_cff') - process.load('SUSYBSMAnalysis.Skimming.EXOHSCP_EventContent_cfi') - -else: - process.load('Configuration.Skimming.PDWG_EXOHSCP_cff') - -######################################################################## INCREASING HSCP TRIGGER TRESHOLD FOR OLD DATA -process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') -if CMSSW4_2 or CMSSW4_4: - process.HSCPTrigger = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(1), #Activated - PFMetTriggerMask = cms.int32(1), #Activated - L2MuMETTriggerMask = cms.int32(1), #Activated - ) -else: - process.HSCPTrigger = process.hltHighLevel.clone() - process.HSCPTrigger.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) - process.HSCPTrigger.HLTPaths = [ - "HLT_*_dEdx*", - "HLT_Mu40_eta2p1*", - "HLT_Mu50_eta2p1*", - "HLT_HT650_*", - "HLT_MET80_*", - "HLT_L2Mu*MET*", - "HLT_L2Mu*NoBPTX*", - "HLT_PFMET150_*", - ] - process.HSCPTrigger.andOr = cms.bool( True ) #OR - process.HSCPTrigger.throw = cms.bool( False ) - -######################################################################## SPECIAL CASE FOR DATA -process.GlobalTag.toGet = cms.VPSet( - cms.PSet( record = cms.string('SiStripDeDxMip_3D_Rcd'), - tag = cms.string('Data7TeV_Deco_3D_Rcd_38X'), - connect = cms.untracked.string("sqlite_file:Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db")), -) - -if not CMSSW4_2 and not CMSSW4_4: - print ("WARNING: You are using Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db for dEdx computation... These constants are a priori not valid for 2012 samples\nThe constants need to be redone for 2012 samples") - - -######################################################################## -process.nEventsBefSkim = cms.EDProducer("EventCountProducer") -process.nEventsBefEDM = cms.EDProducer("EventCountProducer") -######################################################################## - -if not CMSSW4_2 and not CMSSW4_4: - #bug fix in 52 - process.HSCParticleProducer.useBetaFromEcal = cms.bool(False) - - #skim the jet collection to keep only 15GeV jets - process.ak5PFJetsPt15 = cms.EDFilter( "EtMinPFJetSelector", - src = cms.InputTag( "ak5PFJets" ), - filter = cms.bool( False ), - etMin = cms.double( 15.0 ) - ) - -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - 'keep EventAux_*_*_*', - 'keep LumiSummary_*_*_*', - 'keep edmMergeableCounter_*_*_*', - "keep *_genParticles_*_*", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", # - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", # - "keep recoPFMETs_pfMet__*", # - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - ), - fileName = cms.untracked.string('HSCP.root'), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('p1') - ), -) - -if CMSSW4_2: - process.Out.outputCommands.extend(["keep recoPFJets_ak5PFJets__*"]) - - from CondCore.DBCommon.CondDBSetup_cfi import CondDBSetup - process.tTrigDB = cms.ESSource("PoolDBESSource", - CondDBSetup, - timetype = cms.string('runnumber'), - toGet = cms.VPSet(cms.PSet( - record = cms.string('DTTtrigRcd'), - tag = cms.string('DTTtrig_offline_prep_V03'), - label = cms.untracked.string('') - )), - connect = cms.string('frontier://FrontierPrep/CMS_COND_DT'), - authenticationMethod = cms.untracked.uint32(0) - ) - #process.tTrigDB.DBParameters.authenticationPath = '/afs/cern.ch/cms/DB/conddb' - process.es_prefer_tTrigDB = cms.ESPrefer('PoolDBESSource','tTrigDB') - - process.vDriftDB = cms.ESSource("PoolDBESSource", - CondDBSetup, - timetype = cms.string('runnumber'), - toGet = cms.VPSet(cms.PSet( - record = cms.string('DTMtimeRcd'), - tag = cms.string('DTVdrift_offline_prep_V03'), - label = cms.untracked.string('') - )), - connect = cms.string('frontier://FrontierPrep/CMS_COND_DT'), - authenticationMethod = cms.untracked.uint32(0) - ) - #process.vDriftDB.DBParameters.authenticationPath = '/afs/cern.ch/cms/DB/conddb' - process.es_prefer_vDriftDB = cms.ESPrefer('PoolDBESSource','vDriftDB') - - - -######################################################################## - - -#LOOK AT SD PASSED PATH IN ORDER to avoid as much as possible duplicated events (make the merging of .root file faster) -#The module ak5PFJetsPt15 does not exist in CMSSW4 -if CMSSW4_2 or CMSSW4_4: process.p1 = cms.Path(process.nEventsBefSkim * process.HSCPTrigger * process.nEventsBefEDM * process.HSCParticleProducerSeq) -else: process.p1 = cms.Path(process.nEventsBefSkim * process.HSCPTrigger * process.nEventsBefEDM * process.ak5PFJetsPt15 * process.HSCParticleProducerSeq) - -#If you are not running from the HSCP skim you need to redo the skim -#process.p1 = cms.Path(process.nEventsBefSkim * process.HSCPTrigger * process.exoticaHSCPSeq * process.nEventsBefEDM * process.ak5PFJetsPt15 * process.HSCParticleProducerSeq) - -process.endPath1 = cms.EndPath(process.Out) -process.schedule = cms.Schedule( process.p1, process.endPath1) - - diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge.py deleted file mode 100644 index d58f4b8b3c56a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python - -import urllib -import string -import os -import sys -import LaunchOnCondor - -Jobs = [ -#["RunA_*_190645_190999","RunA_190645_190999"], -#["RunA_*_191000_191999","RunA_191000_191999"], -#["RunA_*_192000_192999","RunA_192000_192999"], -#["RunA_*_193000_193621","RunA_193000_193621"], -#["RunB_*_193622_193999","RunB_193622_193999"], -#["RunB_*_194000_194999","RunB_194000_194999"], -#["RunB_*_195000_195999","RunB_195000_195999"], -#["RunB_*_196000_196531","RunB_196000_196531"], -#["RunC_*_197000_197999","RunC_196532_197999"], -#["RunC_*_198000_198345","RunC_198000_198345"], -#["RunC_*_198488_198919","RunC_198488_198919"], -#["RunC_*_198920_198999","RunC_198920_198999"], -#["RunC_*_199000_199999","RunC_199000_199999"], -#["RunC_*_200000_200532","RunC_200000_200532"], -#["RunC_*_200533_202016","RunC_200533_202016"], -#["Run2012C_*_202017_203002","RunC_202017_203002"], - -#["RunD_*_203003_203300","RunD_203003_203300"], -#["RunD_*_203301_203600","RunD_203301_203600"], -#["RunD_*_203601_203900","RunD_203601_203900"], -#["RunD_*_203901_204200","RunD_203901_204200"], -#["RunD_*_204201_204500","RunD_204201_204500"], -#["RunD_*_204501_204800","RunD_204501_204800"], -#["RunD_*_204801_205100","RunD_204801_205100"], -#["RunD_*_205101_205400","RunD_205101_205400"], -#["RunD_*_205401_205700","RunD_205401_205700"], -#["RunD_*_205701_206000","RunD_205701_206000"], -#["RunD_*_206001_206300","RunD_206001_206300"], -#["RunD_*_206301_206600","RunD_206301_206600"], -#["RunD_*_206601_206900","RunD_206601_206900"], -#["RunD_*_206901_207200","RunD_206901_207200"], -#["RunD_*_207201_207500","RunD_207201_207500"], -#["RunD_*_207501_207800","RunD_207501_207800"], -#["RunD_*_207801_208100","RunD_207801_208100"], -#["RunD_*_208101_208357","RunD_208101_208357"], -["RunD_*_208358_208686","RunD_208358_208686"] -] - -FarmDirectory = "MERGE" -for j in Jobs: - LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"dcache:','/pnfs/cms/WAX/11/store/user/farrell3/HSCPEDMUpdateData2012_30Nov2012/'+j[0]+'/HSCP_*.root','",'), FarmDirectory + "InputFile.txt") - #LaunchOnCondor.SendCMSJobs(FarmDirectory, j[1], "Merge_cfg.py", FarmDirectory + "InputFile.txt", 1, ['XXX_SAVEPATH_XXX','file:/storage/data/cms/users/quertenmont/HSCP/CMSSW_4_2_8/12_08_16/']) - LaunchOnCondor.SendCMSJobs(FarmDirectory, j[1], "Merge_cfg.py", FarmDirectory + "InputFile.txt", 1, ['XXX_SAVEPATH_XXX','/uscmst1b_scratch/lpc1/3DayLifetime/farrell/2012Data_04Sep2012']) -os.system("rm " + FarmDirectory + "InputFile.txt") diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge_cfg.py deleted file mode 100644 index df313357ddeab..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/Merge_cfg.py +++ /dev/null @@ -1,140 +0,0 @@ -import FWCore.ParameterSet.Config as cms -process = cms.Process("MergeHLT") - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.load("FWCore.MessageService.MessageLogger_cfi") -from SUSYBSMAnalysis.HSCP.HSCPVersion_cff import * - -process.MessageLogger.cerr.FwkReport.reportEvery = 5000 -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -XXX_INPUT_XXX - ) -) - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.HSCPHLTDuplicate = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(True), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), #Activated -) -process.DuplicateFilter = cms.Path(process.HSCPHLTDuplicate ) - -process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') -process.HSCPHLTTriggerMuDeDx = process.hltHighLevel.clone() -process.HSCPHLTTriggerMuDeDx.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) -process.HSCPHLTTriggerMuDeDx.andOr = cms.bool( True ) #OR -process.HSCPHLTTriggerMuDeDx.throw = cms.bool( False ) -process.HSCPHLTTriggerMuDeDx.HLTPaths = ["HLT_Mu*_dEdx*"] -process.HSCPHLTTriggerMuDeDxFilter = cms.Path(process.HSCPHLTTriggerMuDeDx ) - -process.HSCPHLTTriggerMetDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMetDeDx.HLTPaths = ["HLT_MET*_dEdx*"] -process.HSCPHLTTriggerMetDeDxFilter = cms.Path(process.HSCPHLTTriggerMetDeDx ) - -process.HSCPHLTTriggerHtDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHtDeDx.HLTPaths = ["HLT_HT*_dEdx*"] -process.HSCPHLTTriggerHtDeDxFilter = cms.Path(process.HSCPHLTTriggerHtDeDx ) - -#process.HSCPHLTTriggerMu -if CMSSW4_2 or CMSSW4_4: - #This needs to be done differently for 2011 data because HLT_Mu40 did not exist in trigger menu at beginning of run - process.HSCPHLTTriggerMu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(1), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), #Activated - ) -else: - process.HSCPHLTTriggerMu = process.HSCPHLTTriggerMuDeDx.clone() - process.HSCPHLTTriggerMu.HLTPaths = ["HLT_Mu40_*"] - -process.HSCPHLTTriggerMuFilter = cms.Path(process.HSCPHLTTriggerMu ) - -process.HSCPHLTTriggerMet = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMet.HLTPaths = ["HLT_MET80_*"] -process.HSCPHLTTriggerMetFilter = cms.Path(process.HSCPHLTTriggerMet ) - -process.HSCPHLTTriggerPFMet = process.HSCPHLTTriggerMuDeDx.clone() -#Name change from 2011 to 2012 -if CMSSW4_2 or CMSSW4_4: - process.HSCPHLTTriggerPFMet.HLTPaths = ["HLT_PFMHT150_*"] -else: - process.HSCPHLTTriggerPFMet.HLTPaths = ["HLT_PFMET150_*"] -process.HSCPHLTTriggerPFMetFilter = cms.Path(process.HSCPHLTTriggerPFMet ) - -process.HSCPHLTTriggerHt = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHt.HLTPaths = ["HLT_HT650_*"] -process.HSCPHLTTriggerHtFilter = cms.Path(process.HSCPHLTTriggerHt ) - -if CMSSW4_2 or CMSSW4_4: - #Needs to be done separately as had lower threshold prescaled trigger in menu in 2011 - process.HSCPHLTTriggerL2Mu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(1), #Activated - ) -else: - process.HSCPHLTTriggerL2Mu = process.HSCPHLTTriggerMuDeDx.clone() - process.HSCPHLTTriggerL2Mu.HLTPaths = ["HLT_L2Mu*MET*"] - -process.HSCPHLTTriggerL2MuFilter = cms.Path(process.HSCPHLTTriggerL2Mu ) - - -process.HSCPHLTTriggerCosmic = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerCosmic.HLTPaths = ["HLT_L2Mu*NoBPTX*"] -process.HSCPHLTTriggerCosmicFilter = cms.Path(process.HSCPHLTTriggerCosmic ) - -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - "keep EventAux_*_*_*", - "keep LumiSummary_*_*_*", - "keep edmMergeableCounter_*_*_*", - "keep *_genParticles_*_*", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", - "keep recoPFMETs_pfMet__*", - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - ), - #fileName = cms.untracked.string('/uscmst1b_scratch/lpc1/3DayLifetime/farrell/HSCPEDMUpdateData2012_30Nov2012/XXX_OUTPUT_XXX.root'), - fileName = cms.untracked.string('XXX_SAVEPATH_XXX/XXX_OUTPUT_XXX.root'), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('DuplicateFilter') - ), -) - -process.endPath = cms.EndPath(process.Out) - -process.schedule = cms.Schedule(process.DuplicateFilter, process.HSCPHLTTriggerMuDeDxFilter, process.HSCPHLTTriggerMetDeDxFilter, process.HSCPHLTTriggerHtDeDxFilter, process.HSCPHLTTriggerMuFilter, process.HSCPHLTTriggerMetFilter, process.HSCPHLTTriggerPFMetFilter, process.HSCPHLTTriggerHtFilter, process.HSCPHLTTriggerL2MuFilter, process.HSCPHLTTriggerCosmicFilter, process.endPath) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/OfficialLumi.json b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/OfficialLumi.json deleted file mode 100644 index a6bb7018583d4..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/OfficialLumi.json +++ /dev/null @@ -1 +0,0 @@ -{"190645": [[10, 110]], "190704": [[1, 3]], "190705": [[1, 5], [7, 65], [81, 336], [338, 350], [353, 383]], "190738": [[1, 130], [133, 226], [229, 355]], "191043": [[45, 47]], "191046": [[1, 21], [24, 82], [84, 88], [92, 116], [119, 180], [183, 183], [185, 239]], "191056": [[1, 1], [4, 9], [16, 17], [19, 19]], "191057": [[1, 1], [4, 40]], "191062": [[1, 1], [3, 3], [5, 214], [216, 549]], "191090": [[1, 55]], "191201": [[38, 49], [52, 79]], "191202": [[1, 64], [66, 68], [87, 105], [108, 118]], "191226": [[77, 78], [81, 831], [833, 1454], [1456, 1466], [1469, 1507], [1510, 1686]], "191247": [[1, 153], [156, 280], [283, 606], [608, 620], [622, 818], [821, 834], [837, 1031], [1034, 1046], [1049, 1140], [1143, 1187], [1190, 1214], [1217, 1224]], "191248": [[1, 103]], "191264": [[59, 79], [82, 152], [155, 189]], "191271": [[56, 158]], "191276": [[1, 16]], "191277": [[1, 28], [30, 164], [167, 253], [255, 457], [460, 535], [537, 576], [579, 775], [778, 811], [813, 849]], "191367": [[1, 2]], "191411": [[1, 23]], "191695": [[1, 1]], "191718": [[43, 95], [98, 207]], "191720": [[1, 1], [3, 15], [17, 181]], "191721": [[1, 1], [3, 34], [36, 183], [186, 189]], "191726": [[1, 13]], "191810": [[15, 15], [22, 49], [52, 92]], "191830": [[54, 242], [245, 301], [304, 393]], "191833": [[1, 1], [3, 103]], "191834": [[1, 30], [33, 74], [77, 299], [302, 352]], "191837": [[1, 44], [47, 53], [56, 65]], "191856": [[1, 133]], "191859": [[1, 28], [31, 126]], "193093": [[1, 33]], "193123": [[1, 27]], "193124": [[1, 52]], "193207": [[54, 182]], "193334": [[29, 172]], "193336": [[1, 264], [267, 492], [495, 684], [687, 729], [732, 951]], "193541": [[77, 101], [103, 413], [416, 575], [578, 619]], "193556": [[41, 83]], "193557": [[1, 84]], "193575": [[48, 173], [176, 349], [351, 394], [397, 415], [417, 658], [660, 752]], "193621": [[60, 570], [573, 769], [772, 976], [979, 1053], [1056, 1137], [1139, 1193], [1195, 1371], [1373, 1654]], "193834": [[1, 35]], "193835": [[1, 20], [22, 26]], "193836": [[1, 2]], "193998": [[66, 113], [115, 278]], "193999": [[1, 50]], "194027": [[53, 115]], "194050": [[53, 113], [116, 273], [275, 355], [357, 369], [372, 391], [394, 490], [492, 814], [816, 1435], [1437, 1735], [1760, 1888]], "194051": [[1, 12]], "194052": [[1, 99], [102, 166]], "194075": [[48, 101], [103, 111]], "194076": [[1, 9], [11, 55], [58, 163], [165, 228], [230, 264], [267, 507], [509, 527], [530, 538], [541, 562], [565, 748]], "194108": [[81, 161], [164, 264], [266, 373], [376, 396], [398, 433], [436, 452], [454, 577], [579, 590], [593, 668], [671, 875]], "194115": [[66, 184], [186, 338], [340, 346], [348, 493], [496, 731], [819, 857]], "194117": [[1, 38]], "194119": [[1, 229], [232, 261]], "194120": [[1, 162], [165, 406]], "194150": [[42, 127], [129, 261], [264, 311]], "194151": [[47, 72], [75, 191], [193, 238], [240, 619], [621, 624], [627, 627]], "194153": [[1, 119]], "194199": [[92, 227], [229, 336], [339, 402]], "194210": [[3, 195], [198, 217], [220, 359], [361, 555]], "194223": [[61, 112]], "194224": [[1, 126], [129, 206], [208, 250], [253, 309], [312, 386], [389, 412]], "194225": [[1, 23], [26, 47], [49, 85], [88, 156], [177, 178]], "194270": [[56, 73]], "194303": [[56, 66], [69, 102]], "194304": [[1, 43], [46, 46]], "194305": [[1, 86]], "194314": [[52, 130], [133, 301]], "194315": [[1, 10], [13, 314], [317, 428], [431, 452], [455, 467]], "194317": [[1, 33]], "194424": [[63, 141], [144, 195], [198, 266], [268, 421], [424, 478], [481, 531], [534, 553], [556, 708]], "194428": [[1, 85], [87, 122], [125, 294], [296, 465]], "194429": [[1, 4], [7, 54], [57, 147], [150, 411], [413, 742], [745, 986], [988, 1023]], "194439": [[46, 77], [79, 106]], "194455": [[45, 64], [67, 140], [142, 255], [293, 303]], "194464": [[1, 127], [130, 142], [145, 210]], "194479": [[1, 44], [165, 232], [235, 262], [265, 374], [377, 431], [434, 489], [492, 529], [531, 566]], "194480": [[1, 32], [34, 205], [207, 375], [377, 387], [389, 759], [762, 956], [959, 1402]], "194533": [[46, 379], [382, 415], [417, 618], [620, 872]], "194619": [[31, 110]], "194631": [[1, 42], [44, 100], [102, 169], [171, 222]], "194643": [[1, 287]], "194644": [[1, 168], [171, 181], [184, 185], [187, 319], [321, 424]], "194691": [[61, 104], [107, 155], [158, 251], [254, 268], [271, 272], [275, 289], [292, 313]], "194699": [[1, 30], [32, 52], [55, 64], [67, 71], [73, 154], [157, 215], [218, 238], [241, 259]], "194702": [[1, 138], [141, 191]], "194704": [[1, 41], [44, 545], [548, 592]], "194711": [[1, 7], [9, 619]], "194712": [[1, 56], [61, 418], [420, 625], [627, 759]], "194735": [[44, 71], [74, 101], [104, 130], [133, 136]], "194778": [[60, 118], [120, 219]], "194789": [[1, 18], [21, 32], [34, 80], [82, 166], [168, 269], [272, 405], [409, 414], [417, 427], [430, 566]], "194790": [[1, 45]], "194825": [[72, 117], [120, 221]], "194896": [[34, 55], [58, 79], [82, 103]], "194897": [[1, 6], [8, 78], [80, 107]], "194912": [[53, 70], [72, 96], [98, 444], [446, 450], [453, 467], [470, 561], [564, 660], [663, 813], [815, 840], [843, 864], [866, 1004], [1007, 1025], [1027, 1067], [1069, 1137], [1140, 1166], [1168, 1249], [1251, 1304], [1307, 1444], [1447, 1487], [1489, 1503], [1506, 1662]], "194914": [[1, 38]], "194915": [[1, 74]], "195013": [[94, 144], [146, 185], [187, 206], [208, 299], [302, 324], [326, 366], [369, 447], [450, 526], [528, 541]], "195014": [[1, 6], [9, 119], [121, 148]], "195015": [[1, 13]], "195016": [[1, 21], [23, 55], [58, 63], [65, 174], [177, 184], [186, 241], [243, 246], [248, 251], [254, 367], [370, 422], [425, 560], [563, 569]], "195099": [[70, 144], [147, 186], [189, 208], [211, 224], [227, 265]], "195109": [[98, 241]], "195112": [[1, 12], [15, 26]], "195113": [[1, 209], [212, 388], [391, 403], [406, 419], [422, 492], [495, 579]], "195114": [[1, 69], [72, 103]], "195115": [[1, 7], [10, 36]], "195147": [[132, 282], [285, 294], [297, 331], [334, 363], [366, 442], [445, 536], [539, 562]], "195163": [[72, 138], [140, 224], [227, 240], [243, 243], [246, 347]], "195164": [[1, 64]], "195165": [[1, 4], [7, 41], [44, 54], [56, 153], [156, 260], [263, 277]], "195251": [[1, 131], [134, 137], [140, 152], [154, 165], [167, 249]], "195303": [[109, 191], [194, 277], [280, 310], [312, 316], [318, 409]], "195304": [[1, 3], [6, 22], [27, 80], [83, 100], [103, 154], [157, 341], [344, 588], [590, 727], [729, 1003], [1006, 1079], [1083, 1140], [1143, 1229]], "195378": [[90, 117], [120, 127], [130, 185], [187, 204], [206, 302], [305, 542], [544, 565], [567, 645], [647, 701], [703, 734], [737, 1120], [1122, 1133]], "195390": [[1, 1], [4, 27], [30, 145], [147, 183], [186, 187], [190, 208], [210, 213], [215, 410]], "195396": [[49, 55], [58, 63], [66, 131]], "195397": [[1, 10], [12, 89], [92, 120], [123, 141], [143, 251], [253, 253], [256, 475], [478, 525], [527, 608], [611, 776], [779, 970], [972, 1121], [1123, 1181], [1184, 1198], [1200, 1209]], "195398": [[3, 137], [139, 494], [497, 585], [587, 817], [820, 824], [827, 1225], [1228, 1307], [1309, 1712], [1721, 1736], [1741, 1752], [1767, 1795]], "195399": [[1, 192], [194, 382], [384, 394]], "195530": [[1, 80], [82, 104], [107, 156], [159, 300], [302, 405]], "195540": [[68, 123], [126, 137], [140, 283], [286, 323]], "195551": [[91, 106]], "195552": [[1, 21], [23, 27], [30, 147], [149, 155], [158, 182], [185, 287], [290, 349], [352, 469], [472, 815], [818, 823], [825, 883], [885, 1152], [1154, 1300], [1303, 1789]], "195633": [[40, 42]], "195647": [[1, 41]], "195649": [[1, 69], [72, 151], [154, 181], [183, 247]], "195655": [[1, 129], [131, 184], [186, 260], [263, 350], [353, 446], [448, 483], [485, 498]], "195656": [[1, 362]], "195658": [[1, 37], [40, 362], [364, 382], [384, 386]], "195749": [[1, 8], [10, 33], [36, 131]], "195757": [[1, 82], [85, 115], [118, 161], [163, 206]], "195758": [[1, 18]], "195774": [[1, 13], [16, 137], [139, 151], [154, 162], [164, 256], [258, 276], [279, 362], [365, 466], [469, 618], [620, 649], [651, 830]], "195775": [[1, 57], [60, 100], [103, 170]], "195776": [[1, 63], [66, 283], [286, 337], [340, 399], [401, 409], [411, 477]], "195841": [[74, 90]], "195868": [[1, 88], [90, 107], [110, 205]], "195915": [[1, 109], [111, 275], [278, 390], [393, 417], [419, 429], [432, 505], [507, 747], [749, 785], [787, 828], [830, 850]], "195916": [[1, 16], [19, 68], [71, 212]], "195917": [[1, 4]], "195918": [[1, 44], [46, 46], [49, 64]], "195919": [[1, 15]], "195923": [[1, 14]], "195925": [[1, 12]], "195926": [[1, 1], [3, 19], [21, 34]], "195929": [[1, 29]], "195930": [[1, 77], [80, 176], [179, 526], [529, 596]], "195937": [[1, 28], [31, 186], [188, 400]], "195947": [[23, 62], [64, 88]], "195948": [[51, 116], [119, 144], [147, 147], [150, 352], [355, 369], [372, 402], [404, 500], [503, 540], [543, 565], [567, 602], [605, 615]], "195950": [[1, 71], [73, 138], [141, 169], [172, 332], [335, 350], [353, 382], [385, 421], [424, 450], [453, 483], [485, 616], [619, 715], [718, 787], [789, 800], [803, 829], [831, 831], [833, 1587]], "195963": [[54, 61]], "195970": [[44, 49], [51, 85]], "196019": [[54, 68]], "196027": [[1, 55], [58, 119], [121, 155], [158, 190]], "196046": [[12, 40]], "196047": [[1, 64], [70, 75]], "196048": [[1, 44], [46, 48], [51, 52]], "196197": [[58, 122], [125, 179], [181, 311], [313, 516], [519, 562]], "196199": [[1, 33], [36, 83], [86, 118], [121, 147], [150, 237], [239, 285], [287, 534]], "196200": [[1, 68]], "196202": [[3, 61], [64, 108]], "196203": [[1, 102], [107, 135]], "196218": [[55, 199], [201, 224], [226, 393], [396, 494], [496, 741], [744, 752], [754, 757], [759, 820]], "196239": [[1, 59], [62, 154], [157, 272], [274, 373], [375, 432], [435, 465], [468, 647], [650, 706], [709, 1025]], "196249": [[63, 77], [80, 99]], "196250": [[1, 2], [5, 265], [267, 426], [430, 430]], "196252": [[1, 38]], "196334": [[59, 111], [113, 123], [126, 132], [135, 167], [170, 193], [196, 257], [259, 267], [270, 289], [292, 348]], "196349": [[65, 84], [86, 154], [157, 244], [246, 258]], "196357": [[1, 4]], "196359": [[1, 2]], "196362": [[1, 88]], "196363": [[1, 8], [11, 34]], "196364": [[1, 93], [96, 136], [139, 365], [368, 380], [382, 601], [603, 795], [798, 884], [887, 1196], [1199, 1200], [1203, 1302]], "196437": [[1, 1], [3, 74], [77, 169]], "196438": [[1, 181], [184, 699], [701, 1269]], "196452": [[82, 112], [114, 490], [493, 586], [589, 618], [622, 668], [671, 716], [718, 726], [728, 956], [958, 1004], [1007, 1091]], "196453": [[1, 74], [77, 145], [147, 669], [673, 714], [717, 799], [802, 988], [991, 1178], [1180, 1180], [1182, 1248], [1250, 1528], [1531, 1647]], "196495": [[114, 180], [182, 272]], "196509": [[1, 68]], "196531": [[62, 150], [152, 253], [256, 285], [288, 302], [305, 422], [425, 440]], "198049": [[1, 11], [14, 57]], "198050": [[2, 155]], "198063": [[1, 37], [40, 72], [74, 124], [127, 294]], "198116": [[36, 52], [54, 55], [58, 96], [98, 112]], "198207": [[1, 97]], "198208": [[1, 92], [94, 134], [137, 147], [150, 209]], "198210": [[1, 221]], "198212": [[1, 574]], "198213": [[1, 107]], "198215": [[1, 12]], "198230": [[1, 33], [36, 57], [60, 235], [237, 324], [326, 388], [390, 459], [462, 625], [627, 651], [653, 805], [808, 811], [814, 948], [950, 1090], [1093, 1103], [1106, 1332], [1335, 1380]], "198249": [[1, 7]], "198269": [[3, 199], [201, 201], [203, 203]], "198271": [[1, 91], [93, 170], [173, 299], [301, 450], [453, 513], [516, 616], [619, 628], [631, 791], [793, 797]], "198272": [[1, 185], [188, 245], [248, 314], [317, 433], [436, 444], [454, 625]], "198346": [[44, 57]], "198372": [[57, 114]], "198485": [[68, 109], [112, 134], [136, 181], [184, 239]], "198487": [[1, 145], [147, 514], [517, 668], [671, 733], [736, 757], [760, 852], [854, 994], [997, 1434], [1437, 1612]], "198522": [[65, 144], [147, 208]], "198941": [[102, 189], [191, 220], [222, 241], [243, 249], [252, 291]], "198954": [[108, 156], [159, 277]], "198955": [[1, 45], [47, 50], [53, 220], [223, 269], [271, 284], [286, 338], [340, 580], [583, 742], [744, 910], [913, 946], [949, 1162], [1165, 1169], [1172, 1182], [1185, 1188], [1190, 1246], [1249, 1304], [1306, 1467], [1470, 1485], [1487, 1552]], "198969": [[58, 81], [84, 247], [249, 323], [325, 365], [367, 413], [416, 466], [468, 643], [646, 918], [920, 1011], [1013, 1175], [1178, 1236], [1239, 1277]], "199008": [[75, 93], [95, 121], [124, 208], [211, 331], [333, 373], [376, 482], [485, 605], [608, 644]], "199011": [[1, 11], [13, 27]], "199021": [[59, 88], [91, 128], [130, 133], [136, 309], [311, 333], [335, 410], [414, 469], [471, 533], [535, 563], [565, 1223], [1226, 1479], [1481, 1494]], "199318": [[65, 138]], "199319": [[1, 7], [9, 223], [226, 277], [280, 348], [351, 358], [360, 422], [424, 490], [492, 493], [496, 612], [615, 642], [645, 720], [723, 728], [730, 731], [734, 741], [744, 943], [945, 997]], "199336": [[1, 33], [36, 122], [125, 231], [234, 614], [617, 789], [791, 977]], "199356": [[95, 121], [123, 168], [171, 205], [208, 233]], "199409": [[25, 54], [56, 89], [91, 204], [206, 290], [293, 583], [586, 602], [604, 1014], [1016, 1300]], "199428": [[61, 197], [200, 210], [212, 382], [387, 414], [417, 436], [439, 530], [533, 648]], "199429": [[1, 28], [30, 36], [39, 55], [58, 101], [103, 148], [151, 156]], "199435": [[63, 106], [109, 261], [263, 579], [582, 654], [656, 696], [699, 1034], [1037, 1144], [1147, 1327], [1330, 1411], [1414, 1431], [1434, 1441], [1444, 1487], [1489, 1610]], "199436": [[1, 113], [116, 254], [257, 675], [678, 748]], "199564": [[1, 3]], "199569": [[1, 2], [5, 136], [139, 367]], "199570": [[1, 17]], "199571": [[1, 184], [186, 360], [363, 561]], "199572": [[1, 317]], "199573": [[1, 22]], "199574": [[1, 53], [56, 153], [156, 246]], "199608": [[60, 157], [159, 209], [211, 341], [344, 390], [392, 461], [464, 800], [802, 1064], [1067, 1392], [1395, 1630], [1633, 1904], [1907, 1962], [1965, 2252], [2255, 2422]], "199698": [[72, 94], [96, 127]], "199699": [[1, 154], [157, 169], [172, 410], [412, 756]], "199703": [[1, 94], [97, 482], [485, 539]], "199739": [[66, 174]], "199745": [[137, 143]], "199751": [[103, 119], [121, 127]], "199752": [[1, 141], [144, 180], [182, 186], [188, 211], [214, 322]], "199753": [[1, 59]], "199754": [[1, 203], [205, 325], [328, 457], [459, 607], [610, 613], [615, 806], [808, 998]], "199804": [[78, 88], [90, 181], [183, 235], [238, 278], [281, 290], [292, 519], [522, 575], [577, 628], [631, 638]], "199812": [[70, 141], [144, 163], [182, 211], [214, 471], [474, 505], [508, 557], [560, 571], [574, 623], [626, 751], [754, 802]], "199833": [[1, 13], [16, 103], [105, 250], [253, 493], [496, 794], [797, 1032], [1034, 1185], [1188, 1239]], "199862": [[59, 142]], "199864": [[1, 87], [89, 89], [92, 103], [106, 372], [374, 385], [388, 486]], "199867": [[1, 134], [136, 172], [174, 218], [221, 320]], "199868": [[1, 26]], "199875": [[70, 150], [152, 334]], "199876": [[1, 19], [22, 95], [97, 249], [252, 272], [274, 340], [343, 362], [365, 376]], "199877": [[1, 173], [175, 605], [607, 701], [703, 873]], "199960": [[72, 139], [141, 197], [204, 232], [235, 363], [365, 367], [370, 380], [383, 459], [461, 466], [469, 485]], "199961": [[1, 211], [213, 292]], "199973": [[73, 96]], "200041": [[62, 83], [85, 157], [162, 274], [277, 318], [321, 335], [337, 386], [388, 389], [392, 400], [402, 568], [571, 593], [595, 646], [649, 728], [731, 860], [862, 930], [932, 1096]], "200042": [[1, 110], [112, 536]], "200049": [[1, 177]], "200075": [[76, 139], [142, 232], [256, 326], [329, 422], [425, 431], [434, 500], [502, 605]], "200091": [[67, 67], [70, 151], [154, 172], [174, 187], [190, 196], [199, 201], [204, 425], [428, 535], [537, 607], [610, 879], [881, 943], [946, 999], [1001, 1025], [1027, 1132], [1135, 1339], [1341, 1433], [1435, 1450], [1453, 1523], [1526, 1664], [1667, 1680], [1683, 1710]], "200152": [[74, 152]], "200180": [[1, 18]], "200188": [[1, 24], [27, 28], [31, 76], [79, 271], [274, 352]], "200190": [[1, 4], [6, 76], [79, 143], [146, 159], [162, 256], [258, 321], [324, 401], [403, 453], [456, 457], [460, 565], [567, 588], [591, 591], [593, 595], [597, 646], [649, 880]], "200229": [[1, 33], [41, 219], [222, 244], [247, 290], [293, 624], [627, 629]], "200243": [[69, 103], [106, 139]], "200244": [[3, 304], [307, 442], [445, 507], [510, 619]], "200245": [[1, 103], [105, 128], [131, 248], [251, 357]], "200368": [[72, 180]], "200369": [[1, 5], [8, 61], [64, 360], [363, 439], [441, 578], [580, 603], [606, 684], [686, 686]], "200381": [[8, 15], [18, 36], [38, 89], [91, 198]], "200466": [[134, 274]], "200473": [[96, 157], [159, 224], [226, 304], [306, 469], [472, 524], [527, 542], [545, 619], [622, 688], [691, 730], [733, 738], [740, 1324]], "200491": [[87, 107], [110, 149], [152, 157], [160, 197], [199, 237], [240, 270], [273, 273], [276, 334], [336, 360], [363, 448]], "200515": [[97, 183]], "200519": [[1, 111], [114, 126], [129, 136], [138, 224], [227, 258], [261, 350], [353, 611], [613, 757]], "200525": [[77, 149], [151, 164], [166, 190], [193, 276], [278, 311], [314, 464], [467, 488], [491, 674], [676, 704], [707, 755], [757, 895], [898, 937], [939, 990]], "200532": [[1, 59]], "200599": [[75, 129], [132, 137]], "200600": [[1, 183], [186, 299], [302, 313], [316, 324], [327, 334], [336, 397], [399, 417], [420, 526], [529, 591], [594, 609], [611, 660], [663, 823], [826, 900], [902, 943], [945, 1139], [1141, 1142]], "200961": [[1, 115]], "200976": [[94, 164]], "200990": [[75, 143]], "200991": [[1, 42], [44, 44], [47, 80], [83, 175], [178, 181], [184, 252], [255, 632], [635, 916], [918, 1017], [1019, 1049]], "200992": [[1, 405], [408, 434], [436, 581]], "201062": [[78, 270]], "201097": [[83, 136], [138, 245], [248, 300], [303, 370], [372, 429], [432, 502]], "201114": [[1, 14]], "201115": [[1, 75]], "201159": [[70, 211]], "201164": [[1, 8], [10, 94], [96, 125], [128, 178], [180, 198], [200, 271], [274, 416], [418, 418]], "201168": [[1, 37], [39, 275], [278, 481], [483, 558], [560, 730]], "201173": [[1, 194], [197, 586]], "201174": [[1, 214], [216, 263], [265, 339], [342, 451]], "201193": [[1, 19]], "201196": [[1, 238], [241, 278], [286, 299], [302, 338], [341, 515], [518, 720], [723, 789], [803, 841]], "201197": [[1, 23]], "201202": [[1, 437]], "201229": [[1, 5], [8, 26], [29, 77]], "201278": [[62, 163], [166, 229], [232, 256], [259, 316], [318, 595], [598, 938], [942, 974], [976, 1160], [1163, 1304], [1306, 1793], [1796, 1802], [1805, 1906], [1909, 1929], [1932, 2174]], "201554": [[70, 86], [88, 114], [116, 127]], "201602": [[76, 81], [83, 194], [196, 494], [496, 614], [617, 639]], "201611": [[87, 145], [149, 182], [184, 186]], "201613": [[1, 42], [44, 49], [53, 210], [213, 215], [218, 225], [228, 659]], "201624": [[83, 92], [95, 240], [270, 270]], "201625": [[211, 312], [315, 348], [351, 416], [418, 588], [591, 671], [673, 758], [760, 791], [793, 952]], "201657": [[77, 93], [95, 108], [110, 118]], "201658": [[1, 19], [21, 118], [121, 136], [139, 292]], "201668": [[78, 157]], "201669": [[1, 9], [12, 136], [139, 141], [143, 165]], "201671": [[1, 120], [122, 174], [177, 462], [464, 482], [485, 499], [501, 545], [547, 571], [574, 614], [617, 766], [768, 896], [899, 911], [914, 1007]], "201678": [[1, 120]], "201679": [[1, 110], [112, 241], [244, 298], [302, 321], [324, 461], [463, 493]], "201692": [[78, 81], [83, 180]], "201705": [[65, 73], [75, 109], [111, 187]], "201706": [[1, 62]], "201707": [[1, 23], [26, 42], [45, 115], [118, 130], [133, 160], [163, 276], [279, 471], [473, 511], [514, 545], [547, 570], [572, 622], [625, 735], [738, 806], [809, 876], [879, 964]], "201708": [[1, 87]], "201718": [[58, 113]], "201727": [[67, 185]], "201729": [[6, 20], [22, 75], [77, 126], [129, 154], [156, 216], [219, 244]], "201794": [[58, 100]], "201802": [[68, 209], [211, 214], [216, 220], [223, 288], [290, 296]], "201816": [[1, 72], [74, 105], [107, 157]], "201817": [[1, 274]], "201818": [[1, 1]], "201819": [[1, 94], [96, 241]], "201824": [[1, 139], [141, 176], [179, 286], [289, 492]], "202012": [[98, 121], [126, 131]], "202013": [[1, 2], [5, 35], [38, 57]], "202014": [[1, 5], [8, 14], [16, 18], [20, 77], [79, 102], [104, 174], [177, 190], [192, 196]], "202016": [[1, 48], [51, 134], [137, 177], [179, 743], [745, 831], [834, 890], [893, 896], [898, 932], [934, 1016]], "202044": [[84, 101], [104, 266], [268, 461], [463, 466]], "202045": [[1, 30], [33, 72], [75, 528], [531, 601], [603, 785], [788, 809], [822, 825]], "202054": [[6, 266], [268, 489], [492, 605], [608, 631]], "202060": [[76, 142], [144, 154], [156, 244], [246, 497], [499, 642], [644, 682], [684, 743], [746, 941]], "202074": [[66, 174]], "202075": [[1, 18], [21, 187], [189, 214], [217, 247], [250, 342], [345, 406], [409, 497], [500, 537], [539, 539], [542, 560], [562, 615], [618, 630]], "202084": [[83, 156], [159, 177], [179, 180], [182, 239]], "202087": [[1, 25], [28, 208], [210, 357], [359, 652], [655, 853], [856, 1093]], "202088": [[1, 286]], "202093": [[1, 104], [107, 320], [322, 360]], "202116": [[59, 64]], "202178": [[67, 78], [80, 88], [91, 177], [180, 186], [188, 337], [340, 377], [379, 425], [428, 475], [478, 548], [551, 717], [720, 965], [967, 1444], [1447, 1505], [1508, 1519], [1522, 1558]], "202205": [[94, 114]], "202209": [[1, 48], [51, 159]], "202237": [[39, 128], [131, 131], [134, 219], [222, 235], [238, 275], [277, 289], [291, 316], [319, 419], [422, 538], [540, 936], [939, 950], [952, 976], [979, 1081]], "202272": [[76, 112], [115, 141], [144, 185], [188, 205], [208, 305], [307, 313], [315, 371], [436, 480], [483, 555], [558, 577], [579, 683], [686, 705], [707, 740], [742, 890], [937, 1295], [1299, 1481]], "202299": [[68, 84], [87, 141], [143, 193], [196, 358], [361, 379], [382, 414], [416, 452], [455, 555]], "202305": [[1, 89], [92, 130], [133, 323]], "202314": [[67, 104], [107, 265], [268, 284]], "202328": [[46, 89], [92, 156], [158, 276], [278, 291], [294, 434], [437, 460], [463, 586], [588, 610], [612, 614]], "202333": [[1, 251]], "202389": [[81, 182], [185, 190], [192, 203]], "202469": [[87, 158], [160, 174], [177, 352]], "202472": [[1, 96], [99, 112]], "202477": [[1, 129], [131, 150]], "202478": [[1, 177], [180, 183], [186, 219], [222, 360], [362, 506], [509, 531], [534, 718], [720, 927], [929, 973], [975, 1029], [1031, 1186], [1189, 1212], [1215, 1248]], "202504": [[77, 96], [99, 133], [135, 182], [184, 211], [213, 241], [243, 392], [395, 527], [529, 617], [620, 715], [718, 763], [766, 1172], [1174, 1247], [1250, 1471], [1474, 1679], [1682, 1704]], "202972": [[1, 30], [33, 184], [186, 290], [292, 295], [298, 371], [374, 429], [431, 544]], "202973": [[1, 234], [237, 305], [308, 437], [439, 530], [532, 541], [544, 552], [555, 851], [853, 1408]], "203002": [[77, 128], [130, 141], [144, 207], [209, 267], [270, 360], [362, 501], [504, 641], [643, 669], [671, 671], [674, 717], [720, 1034], [1037, 1070], [1073, 1370], [1372, 1392], [1395, 1410], [1413, 1596]], "203894": [[82, 272], [275, 477], [480, 902], [905, 1322]], "203909": [[79, 113], [116, 117], [120, 140], [143, 382]], "203912": [[1, 306], [308, 566], [569, 609], [611, 698], [701, 820], [823, 865], [867, 1033], [1035, 1321]], "203985": [[1, 10]], "203986": [[1, 45]], "203987": [[1, 9], [12, 241], [243, 339], [342, 781], [784, 1014]], "203991": [[1, 3]], "203992": [[1, 15]], "203994": [[1, 56], [59, 136], [139, 304], [306, 342], [344, 425]], "204100": [[117, 139]], "204101": [[1, 83]], "204113": [[82, 96], [98, 102], [105, 127], [129, 191], [194, 258], [261, 327], [329, 388], [390, 400], [402, 583], [585, 690], [693, 693], [696, 696]], "204114": [[1, 364]], "204238": [[23, 52], [55, 60]], "204250": [[92, 118], [121, 177], [179, 285], [287, 336], [339, 400], [403, 521], [524, 543], [546, 682], [684, 803]], "204511": [[1, 60]], "204541": [[5, 39], [42, 42], [44, 139], [142, 149], [151, 204]], "204544": [[1, 11], [13, 93], [96, 195], [197, 224], [226, 334], [337, 426]], "204552": [[1, 9]], "204553": [[1, 51], [53, 60], [63, 101], [103, 104]], "204554": [[1, 5], [7, 221], [224, 455], [458, 470], [472, 481], [483, 514]], "204555": [[1, 329], [331, 334]], "204563": [[91, 99], [102, 178], [180, 219], [222, 229], [231, 364], [366, 366], [369, 470], [473, 524], [527, 571]], "204564": [[1, 84], [87, 89], [92, 159], [161, 187], [190, 191], [193, 293], [296, 315], [317, 340], [343, 427], [429, 434], [437, 735], [737, 855], [858, 1206], [1209, 1248], [1251, 1284]], "204565": [[1, 48]], "204566": [[1, 12]], "204567": [[1, 38]], "204576": [[49, 192], [195, 301]], "204577": [[1, 46], [49, 64], [67, 105], [107, 170], [173, 181], [183, 193], [196, 653], [656, 669], [671, 740], [742, 913], [915, 1057], [1059, 1115], [1117, 1287]], "204599": [[73, 83], [85, 94], [97, 121], [124, 125], [128, 173], [175, 240], [243, 245], [248, 264], [266, 292], [294, 335]], "204601": [[1, 25], [28, 62], [65, 80], [83, 89], [92, 290], [292, 563], [565, 591], [593, 652], [655, 780], [783, 812], [814, 892], [894, 984], [986, 1003], [1006, 1038], [1040, 1088], [1091, 1102], [1105, 1161], [1164, 1255]], "205086": [[95, 149]], "205111": [[88, 390], [392, 441], [444, 449]], "205158": [[81, 289], [292, 313], [315, 473], [476, 591], [594, 595], [597, 612], [615, 663], [665, 667], [672, 685], [687, 733], [736, 741]], "205193": [[80, 109], [111, 349], [352, 486], [488, 650], [652, 712], [714, 902]], "205217": [[1, 12], [16, 111], [113, 171], [174, 250], [253, 322]], "205233": [[94, 153]], "205236": [[1, 190], [193, 207], [209, 260], [263, 331], [334, 352]], "205238": [[1, 6], [9, 199], [202, 254], [256, 304], [306, 355], [358, 381], [384, 596], [598, 621]], "205303": [[35, 54], [90, 132], [135, 153]], "205310": [[76, 306], [309, 313], [316, 316], [319, 321], [324, 457], [460, 559]], "205311": [[1, 85], [88, 92], [95, 183], [186, 395], [397, 592], [595, 910], [913, 1260]], "205339": [[71, 175], [178, 213], [216, 230], [233, 262], [265, 404]], "205344": [[1, 83], [86, 104], [106, 359], [362, 431], [433, 949], [951, 967], [969, 1127], [1129, 1346], [1348, 1586]], "205515": [[82, 201], [203, 216]], "205519": [[1, 47], [50, 172], [175, 367], [370, 386], [389, 472]], "205526": [[1, 269], [272, 277], [280, 332]], "205614": [[1, 4], [7, 40]], "205617": [[1, 29], [32, 102], [105, 123], [125, 140], [143, 264], [266, 448], [451, 532], [534, 547]], "205618": [[1, 12]], "205620": [[1, 175]], "205666": [[60, 119], [122, 165], [168, 259], [261, 322], [325, 578], [580, 594], [597, 721], [724, 739]], "205667": [[1, 165], [168, 282], [285, 318], [321, 412], [415, 689], [692, 751], [754, 774], [777, 1109]], "205683": [[76, 82], [85, 178], [181, 198], [201, 305]], "205690": [[1, 40]], "205694": [[1, 205], [208, 230], [233, 347], [350, 452], [455, 593], [595, 890]], "205718": [[49, 75], [78, 97], [100, 103], [105, 176], [178, 338], [341, 361], [363, 524], [527, 531], [534, 589], [591, 734]], "205774": [[1, 80]], "205777": [[1, 9]], "205781": [[1, 89], [91, 197], [200, 509]], "205826": [[80, 232], [235, 303], [306, 469]], "205833": [[84, 86], [89, 121], [123, 155], [157, 165], [167, 173], [176, 219], [221, 267], [270, 312], [315, 346], [350, 355], [360, 366]], "205834": [[1, 12], [14, 202]], "205908": [[68, 200], [202, 214]], "205921": [[22, 73], [76, 268], [271, 394], [397, 401], [410, 428], [431, 498], [500, 571], [574, 779], [782, 853]], "206066": [[89, 155]], "206088": [[86, 159], [161, 178], [181, 199], [202, 286]], "206102": [[83, 116], [120, 130], [133, 208], [211, 235], [238, 246], [249, 278], [281, 349]], "206187": [[107, 169], [172, 242], [245, 288], [290, 340], [343, 427], [429, 435], [437, 486], [489, 569], [571, 647], [649, 662], [664, 708]], "206188": [[1, 40], [42, 58]], "206199": [[1, 75], [77, 82], [85, 117]], "206207": [[82, 130], [132, 176], [179, 194], [196, 388], [390, 419], [422, 447], [450, 569], [572, 690]], "206208": [[1, 470], [472, 518]], "206210": [[11, 25], [28, 275], [277, 298], [300, 383], [386, 469]], "206243": [[62, 169], [172, 196], [199, 354], [357, 433], [435, 448], [451, 533], [536, 554], [557, 723], [726, 905]], "206245": [[1, 62]], "206246": [[1, 14], [16, 237], [240, 285], [288, 407], [412, 676], [678, 704], [706, 785], [787, 962], [965, 997], [1000, 1198], [1201, 1290]], "206257": [[1, 29]], "206258": [[1, 36], [39, 223], [226, 249]], "206302": [[1, 8], [11, 33], [36, 44], [47, 82], [84, 108], [110, 149], [151, 186], [189, 229], [231, 232], [234, 241], [243, 276]], "206303": [[1, 19], [23, 286]], "206304": [[1, 4], [6, 70]], "206331": [[91, 222], [225, 314]], "206389": [[88, 185], [187, 249], [252, 272], [275, 392]], "206391": [[1, 55], [57, 98]], "206401": [[69, 90], [92, 194], [197, 210], [212, 249], [251, 265], [267, 411]], "206446": [[92, 141], [143, 159], [162, 205], [208, 301], [304, 442], [445, 445], [448, 474], [476, 616], [619, 872], [874, 910], [912, 948], [950, 989], [992, 1030], [1033, 1075], [1109, 1149]], "206448": [[1, 143], [145, 559], [561, 1170], [1173, 1231], [1235, 1237]], "206466": [[24, 137], [140, 277], [280, 296], [299, 303], [306, 405], [407, 419], [422, 477], [480, 511], [514, 682]], "206476": [[73, 129], [133, 137], [140, 141], [143, 219]], "206477": [[1, 14], [16, 31], [33, 41], [44, 51], [53, 70], [73, 75], [77, 89], [91, 94], [97, 115], [118, 184]], "206478": [[1, 27], [29, 136], [139, 147]], "206484": [[73, 95], [98, 133], [136, 163], [166, 186], [189, 384], [387, 463], [465, 551], [554, 554], [556, 673]], "206512": [[91, 123], [125, 133], [136, 161], [163, 190], [193, 201], [203, 212], [214, 332], [334, 584], [587, 604], [607, 1005], [1008, 1123], [1126, 1163], [1165, 1211]], "206513": [[3, 39], [42, 188], [191, 234], [237, 238], [241, 329]], "206542": [[1, 115], [117, 165], [168, 511], [514, 547], [550, 603], [606, 668], [671, 727], [730, 739], [741, 836]], "206550": [[77, 132], [135, 155]], "206572": [[37, 47]], "206573": [[2, 14]], "206574": [[1, 87]], "206575": [[1, 7], [10, 10], [12, 75]], "206594": [[72, 107], [110, 246], [249, 281]], "206595": [[1, 34], [37, 42], [45, 193]], "206596": [[1, 13], [15, 220], [222, 228], [231, 236], [239, 292], [295, 695], [697, 728], [730, 810]], "206598": [[1, 81], [83, 103], [105, 588], [591, 657], [659, 719]], "206605": [[1, 36], [39, 82]], "206744": [[49, 157], [160, 192], [195, 395], [398, 452]], "206745": [[1, 81], [84, 199], [202, 224], [227, 237], [240, 304], [306, 318], [321, 720], [723, 796], [799, 894], [897, 944], [946, 1106], [1108, 1524], [1527, 1862], [1988, 1996]], "206859": [[79, 210], [212, 258], [260, 323], [325, 356], [359, 609], [612, 681], [684, 732], [734, 768], [771, 808], [811, 827], [830, 848]], "206866": [[1, 30], [33, 113], [115, 274]], "206868": [[1, 3], [10, 16]], "206869": [[1, 251], [253, 271], [274, 502], [507, 520], [522, 566], [568, 752]], "206897": [[1, 34], [38, 61], [63, 102], [109, 109], [111, 112], [114, 131], [133, 137]], "206901": [[1, 98]], "206906": [[1, 31], [38, 94], [96, 136], [138, 139], [142, 149], [151, 175], [177, 218]], "206940": [[1, 151], [153, 153], [155, 298], [301, 382], [384, 712], [715, 803], [805, 960], [963, 1027]], "207099": [[83, 134], [137, 172], [175, 213], [216, 314], [316, 320], [323, 330], [333, 367], [370, 481], [484, 602], [605, 755], [757, 1046], [1048, 1171]], "207100": [[1, 91], [94, 98]], "207214": [[57, 112], [114, 177], [179, 181], [184, 196], [199, 220], [223, 262], [265, 405], [408, 482], [485, 640], [643, 708], [718, 757], [759, 808], [811, 829]], "207217": [[1, 32]], "207219": [[1, 112]], "207220": [[1, 160]], "207221": [[1, 102]], "207222": [[1, 17], [20, 289]], "207231": [[70, 84], [86, 121], [123, 184], [187, 189], [192, 303], [306, 354], [357, 481], [484, 504], [508, 549], [552, 626], [628, 690], [693, 875], [878, 1000], [1003, 1170], [1173, 1187], [1189, 1227], [1229, 1415], [1418, 1445], [1447, 1505]], "207233": [[1, 119], [121, 155]], "207269": [[80, 394], [397, 436], [439, 463], [466, 551], [568, 577]], "207273": [[3, 877]], "207279": [[68, 138], [141, 149], [151, 237], [240, 266], [269, 307], [309, 416], [498, 551], [554, 640], [643, 961], [963, 1095], [1098, 1160]], "207320": [[1, 110], [112, 350]], "207371": [[72, 117], [120, 124]], "207372": [[1, 27], [30, 113], [116, 154], [156, 174], [176, 478], [480, 501]], "207397": [[32, 77], [80, 140], [143, 179]], "207398": [[1, 14], [16, 35]], "207454": [[79, 95], [98, 123], [126, 259], [261, 363], [365, 458], [461, 498], [501, 609], [612, 632], [635, 781], [784, 866], [869, 974], [977, 1064], [1067, 1079], [1081, 1321], [1323, 1464], [1467, 1569], [1571, 1604], [1607, 1712], [1714, 1988]], "207469": [[1, 31], [34, 51]], "207477": [[76, 104], [107, 111], [114, 147], [150, 295], [298, 483], [486, 494], [497, 527], [530, 563], [565, 570]], "207487": [[50, 98], [101, 311], [313, 359], [363, 468], [471, 472]], "207488": [[1, 63], [66, 92], [95, 113], [116, 198], [200, 250], [252, 288], [291, 365], [368, 377], [379, 440]], "207490": [[1, 48], [51, 111]], "207491": [[1, 176], [179, 458]], "207492": [[1, 20], [23, 298]], "207515": [[79, 109], [112, 132], [134, 208], [211, 225], [228, 320], [322, 381], [383, 498], [500, 730], [733, 849], [851, 954], [957, 994], [997, 1052], [1055, 1143], [1145, 1211]], "207517": [[1, 12], [15, 57]], "207518": [[1, 59], [61, 83]], "207882": [[22, 45]], "207883": [[1, 1], [3, 4], [7, 75]], "207884": [[1, 106], [108, 183]], "207885": [[1, 90]], "207886": [[1, 30], [32, 90], [92, 156], [158, 166], [168, 171]], "207889": [[1, 43], [47, 57], [60, 303], [306, 442], [445, 445], [447, 551], [553, 731], [733, 907], [910, 945]], "207898": [[1, 33], [36, 57], [60, 235], [239, 257], [260, 288]], "207905": [[75, 196], [198, 281], [284, 329], [331, 402], [404, 565], [568, 672], [675, 805], [807, 850], [852, 861], [864, 884], [886, 1180], [1183, 1283], [1285, 1331], [1333, 1515], [1518, 1734], [1737, 1796]], "207920": [[84, 146], [149, 241], [243, 261], [264, 291], [294, 486], [489, 518], [520, 598], [600, 708], [710, 826]], "207921": [[1, 37], [40, 58]], "207922": [[1, 69], [71, 100], [103, 126], [129, 242], [274, 291]], "207924": [[1, 52], [54, 171], [173, 178], [181, 339]], "208307": [[2, 42], [45, 45], [47, 70], [72, 147], [150, 252], [256, 259], [262, 275], [278, 342], [345, 450], [453, 527], [530, 583], [586, 605], [608, 616], [618, 667], [670, 761], [763, 798], [800, 889], [891, 893], [896, 1055], [1057, 1205], [1208, 1294], [1297, 1328]], "208339": [[77, 89], [91, 122], [125, 208], [211, 346], [349, 363]], "208341": [[1, 84], [86, 117], [120, 513], [515, 685], [688, 693], [695, 775], [777, 824]], "208351": [[83, 97], [100, 356], [359, 369]], "208353": [[1, 76], [78, 269], [271, 348]], "208357": [[1, 70], [73, 507]], "208390": [[72, 128], [130, 169]], "208391": [[52, 82], [84, 162], [164, 216], [219, 493], [495, 498], [500, 523], [526, 533], [535, 588], [591, 660], [663, 869]], "208427": [[49, 89], [92, 161], [164, 164], [166, 173], [175, 268], [271, 312], [315, 315], [317, 335], [337, 361], [364, 402], [404, 422], [425, 577], [580, 647]], "208428": [[1, 58], [61, 68], [70, 156], [159, 227]], "208429": [[1, 56], [59, 139], [141, 159], [162, 237], [240, 440], [442, 452], [455, 589], [592, 712], [715, 922]], "208487": [[2, 26], [29, 159], [161, 307], [309, 459], [462, 476], [479, 632]], "208509": [[71, 232]], "208538": [[2, 43]], "208540": [[1, 26], [29, 98]], "208541": [[1, 57], [59, 173], [175, 376], [378, 417]], "208551": [[119, 193], [195, 212], [215, 300], [303, 354], [356, 554], [557, 580]], "208686": [[73, 79], [82, 181], [183, 224], [227, 243], [246, 311], [313, 463]]} \ No newline at end of file diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/crab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/crab.cfg deleted file mode 100644 index 751898d9fbdfd..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/crab.cfg +++ /dev/null @@ -1,57 +0,0 @@ -[CRAB] - -jobtype = cmssw -scheduler = condor -#scheduler = glite -#scheduler = glidein -#scheduler = lsf -use_server = 0 - - -[CMSSW] -dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet -datasetpath=/Mu/querten-EXOHSCPSkim7TeV-0bc44962c8c6b23d45ce69c867f520ea-EXOHSCP/USER -pset=HSCParticleProducer_cfg.py - -lumi_mask=OfficialLumi.json -total_number_of_lumis =-1 -lumis_per_job = 50 -runselection = 100000-900000 - -pycfg_params=globalTag=GR_P_V42B::All - -### The output files (comma separated list) -#output_file = HSCP.root, HSCP_tree.root -output_file = HSCP.root - -[USER] -return_data = 0 -copy_data = 1 - -#storage_element = ingrid-se02.cism.ucl.ac.be -#storage_path = /srm/managerv2?SFN=/storage/data/cms -#storage_port = 8444 -#user_remote_dir = /store/user/quertenmont/12_08_16_HSCP_EDM2011/FWLite_Data12 -#check_user_remote_dir = 0 -#publish_data = 0 - -check_user_remote_dir = 0 -publish_data = 0 -user_remote_dir = HSCPEDMUpdateData2012_30Nov2012 -storage_element = T3_US_FNALLPC - -additional_input_files = Data7TeV_Deco_SiStripDeDxMip_3D_Rcd.db - -#[GRID] -#ce_black_list = -#rb = CERN -#virtual_organization = cms -#role = priorityuser -#ce_black_list = grid.icm.edu.pl -#ce_white_list = ucl.ac.be,T2_BE_UCL - - -#[LSF] -#queue=8nh - - diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/multicrab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/multicrab.cfg deleted file mode 100644 index 994a85ea15dc7..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Data/multicrab.cfg +++ /dev/null @@ -1,733 +0,0 @@ -####################################################### 2012 DATA ####################################################### - -[MULTICRAB] -cfg=crab.cfg - -[COMMON] -CMSSW.pset = HSCParticleProducer_cfg.py -CMSSW.lumi_mask = OfficialLumi.json -CMSSW.dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet - - -#####SingleMu PD - -#[RunA_SingleMu_190645_190999] -#CMSSW.datasetpath = /SingleMu/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 190645-190999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunA_SingleMu_191000_191999] -#CMSSW.datasetpath = /SingleMu/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 191000-191999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -[RunA_SingleMu_192000_192999] -CMSSW.datasetpath = /SingleMu/Run2012A-EXOHSCP-13Jul2012-v1/USER -CMSSW.runselection = 192000-192999 -CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunA_SingleMu_193000_193621] -#CMSSW.datasetpath = /SingleMu/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193000-193621 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_SingleMu_193622_193999] -#CMSSW.datasetpath = /SingleMu/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193622-193999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_SingleMu_194000_194999] -#CMSSW.datasetpath = /SingleMu/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 194000-194999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_SingleMu_195000_195999] -#CMSSW.datasetpath = /SingleMu/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 195000-195999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_SingleMu_196000_196531] -#CMSSW.datasetpath = /SingleMu/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 196000-196531 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunC_SingleMu_196532_197999] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 196532-197999 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -##remove run 198346 to 198487 because of RPC trigger problem -#[RunC_SingleMu_198000_198345] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198000-198345 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -#[RunC_SingleMu_198488_198919] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198488-198919 -# -##move to PrompV3 -#[RunC_SingleMu_198920_198999] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 198920-198999 -# -# -#[RunC_SingleMu_199000_199999] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 199000-199999 -# -#[RunC_SingleMu_200000_200532] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200000-200532 -# -#[RunC_SingleMu_200533_202016] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200533-202016 -# -#[RunC_SingleMu_202017_203002] -#CMSSW.datasetpath = /SingleMu/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 202017-203002 - -#[RunD_SingleMu_203003_203300] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203003-203300 - -#[RunD_SingleMu_203301_203600] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203301-203600 - -#[RunD_SingleMu_203601_203900] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203601-203900 - -#[RunD_SingleMu_203901_204200] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203901-204200 - -#[RunD_SingleMu_204201_204500] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204201-204500 - -#[RunD_SingleMu_204501_204800] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204501-204800 - -#[RunD_SingleMu_204801_205100] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204801-205100 - -#[RunD_SingleMu_205101_205400] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205101-205400 - -#[RunD_SingleMu_205401_205700] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205401-205700 - -#[RunD_SingleMu_205701_206000] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205701-206000 - -#[RunD_SingleMu_206001_206300] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206001-206300 - -#[RunD_SingleMu_206301_206600] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206301-206600 - -#[RunD_SingleMu_206601_206900] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206601-206900 - -#[RunD_SingleMu_206901_207200] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206901-207200 - -#[RunD_SingleMu_207201_207500] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207201-207500 - -#[RunD_SingleMu_207501_207800] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207501-207800 - -#[RunD_SingleMu_207801_208100] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207801-208100 - -#[RunD_SingleMu_208101_208357] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208101-208357 - -#[RunD_SingleMu_208358_208686] -#CMSSW.datasetpath = /SingleMu/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208358-208686 - -######MET PD -# -#[RunA_MET_190645_190999] -#CMSSW.datasetpath = /MET/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 190645-190999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunA_MET_191000_191999] -#CMSSW.datasetpath = /MET/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 191000-191999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -[RunA_MET_192000_192999] -CMSSW.datasetpath = /MET/Run2012A-EXOHSCP-13Jul2012-v1/USER -CMSSW.runselection = 192000-192999 -CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunA_MET_193000_193621] -#CMSSW.datasetpath = /MET/Run2012A-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193000-193621 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_MET_193622_193999] -#CMSSW.datasetpath = /MET/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193622-193999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_MET_194000_194999] -#CMSSW.datasetpath = /MET/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 194000-194999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_MET_195000_195999] -#CMSSW.datasetpath = /MET/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 195000-195999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_MET_196000_196531] -#CMSSW.datasetpath = /MET/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 196000-196531 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunC_MET_196532_197999] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 196532-197999 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -##remove run 198346 to 198487 because of RPC trigger problem -#[RunC_MET_198000_198345] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198000-198345 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -#[RunC_MET_198488_198919] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198488-198919 -# -##move to PrompV3 -#[RunC_MET_198920_198999] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 198920-198999 -# -# -#[RunC_MET_199000_199999] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 199000-199999 -# -#[RunC_MET_200000_200532] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200000-200532 -# -#[RunC_MET_200533_202016] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200533-202016 -# -#[RunC_MET_202017_203002] -#CMSSW.datasetpath = /MET/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 202017-203002 -# - -#[RunD_MET_203003_203300] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203003-203300 - -#[RunD_MET_203301_203600] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203301-203600 - -#[RunD_MET_203601_203900] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203601-203900 - -#[RunD_MET_203901_204200] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203901-204200 - -#[RunD_MET_204201_204500] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204201-204500 - -#[RunD_MET_204501_204800] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204501-204800 - -#[RunD_MET_204801_205100] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204801-205100 - -#[RunD_MET_205101_205400] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205101-205400 - -#[RunD_MET_205401_205700] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205401-205700 - -#[RunD_MET_205701_206000] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205701-206000 - -#[RunD_MET_206001_206300] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206001-206300 - -#[RunD_MET_206301_206600] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206301-206600 - -#[RunD_MET_206601_206900] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206601-206900 - -#[RunD_MET_206901_207200] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206901-207200 - -#[RunD_MET_207201_207500] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207201-207500 - -#[RunD_MET_207501_207800] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207501-207800 - -#[RunD_MET_207801_208100] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207801-208100 - -#[RunD_MET_208101_208357] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208101-208357 - -#[RunD_MET_208358_208686] -#CMSSW.datasetpath = /MET/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208358-208686 - -######NoBPTX PD -# -##missing dataset -##[RunA_NoBPTX_190645_190999] -##CMSSW.datasetpath = /NoBPTX/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 190645-190999 -##CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -##missing dataset -##[RunA_NoBPTX_191000_191999] -##CMSSW.datasetpath = /NoBPTX/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 191000-191999 -##CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -##missing dataset -##[RunA_NoBPTX_192000_192999] -##CMSSW.datasetpath = /NoBPTX/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 192000-192999 -##CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -##missing dataset -##[RunA_NoBPTX_193000_193621] -##CMSSW.datasetpath = /NoBPTX/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 193000-193621 -##CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_NoBPTX_193622_193999] -#CMSSW.datasetpath = /NoBPTX/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193622-193999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_NoBPTX_194000_194999] -#CMSSW.datasetpath = /NoBPTX/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 194000-194999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_NoBPTX_195000_195999] -#CMSSW.datasetpath = /NoBPTX/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 195000-195999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_NoBPTX_196000_196531] -#CMSSW.datasetpath = /NoBPTX/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 196000-196531 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunC_NoBPTX_196532_197999] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 196532-197999 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -##remove run 198346 to 198487 because of RPC trigger problem -#[RunC_NoBPTX_198000_198345] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198000-198345 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -#[RunC_NoBPTX_198488_198919] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198488-198919 -# -##move to PrompV3 -#[RunC_NoBPTX_198920_198999] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 198920-198999 -# -# -#[RunC_NoBPTX_199000_199999] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 199000-199999 -# -#[RunC_NoBPTX_200000_200532] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200000-200532 -# -#[RunC_NoBPTX_200533_202016] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200533-202016 -# -#[RunC_NoBPTX_202017_203002] -#CMSSW.datasetpath = /NoBPTX/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 202017-203002 -# - -#[RunD_NoBPTX_203003_203300] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203003-203300 - -#[RunD_NoBPTX_203301_203600] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203301-203600 - -#[RunD_NoBPTX_203601_203900] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203601-203900 - -#[RunD_NoBPTX_203901_204200] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203901-204200 - -#[RunD_NoBPTX_204201_204500] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204201-204500 - -#[RunD_NoBPTX_204501_204800] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204501-204800 - -#[RunD_NoBPTX_204801_205100] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204801-205100 - -#[RunD_NoBPTX_205101_205400] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205101-205400 - -#[RunD_NoBPTX_205401_205700] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205401-205700 - -#[RunD_NoBPTX_205701_206000] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205701-206000 - -#[RunD_NoBPTX_206001_206300] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206001-206300 - -#[RunD_NoBPTX_206301_206600] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206301-206600 - -#[RunD_NoBPTX_206601_206900] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206601-206900 - -#[RunD_NoBPTX_206901_207200] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206901-207200 - -#[RunD_NoBPTX_207201_207500] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207201-207500 - -#[RunD_NoBPTX_207501_207800] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207501-207800 - -#[RunD_NoBPTX_207801_208100] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207801-208100 - -#[RunD_NoBPTX_208101_208357] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208101-208357 - -#[RunD_NoBPTX_208358_208686] -#CMSSW.datasetpath = /NoBPTX/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208358-208686 - -######JetHT PD -# -##missing dataset -##[RunA_JetHT_190645_190999] -##CMSSW.datasetpath = /JetHT/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 190645-190999 -# -##missing dataset -##[RunA_JetHT_191000_191999] -##CMSSW.datasetpath = /JetHT/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 191000-191999 -# -##missing dataset -##[RunA_JetHT_192000_192999] -##CMSSW.datasetpath = /JetHT/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 192000-192999 -# -##missing dataset -##[RunA_JetHT_193000_193621] -##CMSSW.datasetpath = /JetHT/Run2012A-EXOHSCP-13Jul2012-v1/USER -##CMSSW.runselection = 193000-193621 -# -#[RunB_JetHT_193622_193999] -#CMSSW.datasetpath = /JetHT/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 193622-193999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_JetHT_194000_194999] -#CMSSW.datasetpath = /JetHT/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 194000-194999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_JetHT_195000_195999] -#CMSSW.datasetpath = /JetHT/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 195000-195999 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunB_JetHT_196000_196531] -#CMSSW.datasetpath = /JetHT/Run2012B-EXOHSCP-13Jul2012-v1/USER -#CMSSW.runselection = 196000-196531 -#CMSSW.pycfg_params=globalTag=FT_53_V6_AN2::All -# -#[RunC_JetHT_196532_197999] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 196532-197999 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -##remove run 198346 to 198487 because of RPC trigger problem -#[RunC_JetHT_198000_198345] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198000-198345 -##To correct bad DT timing calibrations -#CMSSW.pycfg_params=globalTag=FT_53_V10_AN2::All -# -#[RunC_JetHT_198488_198919] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v2/USER -#CMSSW.runselection = 198488-198919 -# -##move to PrompV3 -#[RunC_JetHT_198920_198999] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 198920-198999 -# -# -#[RunC_JetHT_199000_199999] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 199000-199999 -# -#[RunC_JetHT_200000_200532] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200000-200532 -# -#[RunC_JetHT_200533_202016] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 200533-202016 -# -#[RunC_JetHT_202017_203002] -#CMSSW.datasetpath = /JetHT/Run2012C-EXOHSCP-PromptSkim-v3/USER -#CMSSW.runselection = 202017-203002 -# - -#[RunD_JetHT_203003_203300] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203003-203300 - -#[RunD_JetHT_203301_203600] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203301-203600 - -#[RunD_JetHT_203601_203900] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203601-203900 - -#[RunD_JetHT_203901_204200] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 203901-204200 - -#[RunD_JetHT_204201_204500] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204201-204500 - -#[RunD_JetHT_204501_204800] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204501-204800 - -#[RunD_JetHT_204801_205100] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 204801-205100 - -#[RunD_JetHT_205101_205400] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205101-205400 - -#[RunD_JetHT_205401_205700] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205401-205700 - -#[RunD_JetHT_205701_206000] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 205701-206000 - -#[RunD_JetHT_206001_206300] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206001-206300 - -#[RunD_JetHT_206301_206600] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206301-206600 - -#[RunD_JetHT_206601_206900] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206601-206900 - -#[RunD_JetHT_206901_207200] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 206901-207200 - -#[RunD_JetHT_207201_207500] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207201-207500 - -#[RunD_JetHT_207501_207800] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207501-207800 - -#[RunD_JetHT_207801_208100] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 207801-208100 - -#[RunD_JetHT_208101_208357] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208101-208357 - -#[RunD_JetHT_208358_208686] -#CMSSW.datasetpath = /JetHT/Run2012D-EXOHSCP-PromptSkim-v1/USER -#CMSSW.runselection = 208358-208686 - -######################################################## 2011 DATA ####################################################### -## -## -##[MULTICRAB] -##cfg=crab.cfg -## -##[COMMON] -##CMSSW.pset = HSCParticleProducer_cfg.py -##CMSSW.lumi_mask = OfficialLumi_2011.json -##CMSSW.dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet -## -######MET PD -## -###run on METBTag PD (this PD is then split on MET and BTAG) -##[RunA_MET_160329_164236] -##CMSSW.datasetpath = /METBTag/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 160329-164236 -## -###run on MET dataset after we corrected the track max pT cut in the skim (had to rerun the skim by hand) -##[RunA_MET_165071_166033] -##CMSSW.datasetpath = /MET/exotica-EXOHSCPSkimMET2011RunA-v4-V2-bebb20aee6c411fa6cbaa468cdc55ea1-EXOHSCP/USER -##CMSSW.dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_ph_analysis_02/servlet/DBSServlet -##CMSSW.runselection = 165071-166033 -## -###run on MET dataset with latest skim config -##[RunA_MET_166034_168437] -##CMSSW.datasetpath = /MET/Run2011A-EXOHSCP-PromptSkim-v4/USER -##CMSSW.runselection = 166034-168437 -## -###take rereco data where available -##[RunA_MET_170053_172619] -##CMSSW.datasetpath = /MET/Run2011A-EXOHSCP-05Aug2011-v1/USER -##CMSSW.runselection = 170053-172619 -## -###no rereco data available for that period -##[RunA_MET_172791_175770] -##CMSSW.datasetpath = /MET/Run2011A-EXOHSCP-PromptSkim-v6/USER -##CMSSW.runselection = 172791-175770 -## -###rereco data (the following is split in subsamples to keep the final file size reasonable) -##[RunB_MET_175831_177999] -##CMSSW.datasetpath = /MET/Run2011B-EXOHSCP-03Feb2012-v1/USER -##CMSSW.runselection = 175831-177999 -## -##[RunB_MET_178000_178999] -##CMSSW.datasetpath = /MET/Run2011B-EXOHSCP-03Feb2012-v1/USER -##CMSSW.runselection = 178000-178999 -## -##[RunB_MET_179000_180296] -##CMSSW.datasetpath = /MET/Run2011B-EXOHSCP-03Feb2012-v1/USER -##CMSSW.runselection = 179000-180296 -## -######SingleMU PD (here we have rereco everywher, but we split the same way as in MET PD) -## -##[RunA_SingleMu_160329_164236] -##CMSSW.datasetpath = /SingleMu/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 160329-164236 -## -##[RunA_SingleMu_165071_166033] -##CMSSW.datasetpath = /SingleMu/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 165071-166033 -## -##[RunA_SingleMu_166034_168437] -##CMSSW.datasetpath = /SingleMu/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 166034-168437 -## -##[RunA_SingleMu_170053_172619] -##CMSSW.datasetpath = /SingleMu/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 170053-172619 -## -##[RunA_SingleMu_172791_175770] -##CMSSW.datasetpath = /SingleMu/Run2011A-EXOHSCP-08Nov2011-v1/USER -##CMSSW.runselection = 172791-175770 -## -##[RunB_SingleMu_175831_177999] -##CMSSW.datasetpath = /SingleMu/Run2011B-EXOHSCP-19Nov2011-v1/USER -##CMSSW.runselection = 175831-177999 -## -##[RunB_SingleMu_178000_178999] -##CMSSW.datasetpath = /SingleMu/Run2011B-EXOHSCP-19Nov2011-v1/USER -##CMSSW.runselection = 178000-178999 -## -##[RunB_SingleMu_179000_180296] -##CMSSW.datasetpath = /SingleMu/Run2011B-EXOHSCP-19Nov2011-v1/USER -##CMSSW.runselection = 179000-180296 -## -# \ No newline at end of file diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Bckg_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Bckg_cfg.py deleted file mode 100644 index 5de3726001f48..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Bckg_cfg.py +++ /dev/null @@ -1,27 +0,0 @@ -import sys, os -import FWCore.ParameterSet.Config as cms - -isSignal = False -isBckg = True -isData = False -isSkimmedSample = False -GTAG = 'POSTLS172_V3::All' - -#debug input files -#this list is overwritten by CRAB -InputFileList = cms.untracked.vstring( - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/2C7EF234-5E21-E411-99D8-0025905A60C6.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/38D93E91-6221-E411-ADF4-0025905A60F4.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/66520EC6-5C21-E411-9A49-0025905A48F2.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/6E65F2CA-6221-E411-88B0-0025905B85F6.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/A0FE331B-5B21-E411-AE0C-0025905A48D6.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/AC325A29-5F21-E411-87C5-0025905B8576.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/B2185429-A121-E411-B6B1-0025905A6088.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/B40BDDCF-9F21-E411-8926-0025905B85E8.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/B467B1A5-5D21-E411-AA34-0025905A611E.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/B4E1729F-6421-E411-B76E-0025905A6122.root', - '/store/relval/CMSSW_7_2_0_pre3/RelValZmumuJets_Pt_20_300_13/GEN-SIM-RECO/PU25ns_POSTLS172_V3_CondDBv2-v1/00000/F2B25D76-5C21-E411-973A-0025905A6136.root', -) - -#main EDM tuple cfg that depends on the above parameters -execfile( os.path.expandvars('${CMSSW_BASE}/src/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py') ) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Data_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Data_cfg.py deleted file mode 100644 index ffc5471383482..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Data_cfg.py +++ /dev/null @@ -1,39 +0,0 @@ -import sys, os -import FWCore.ParameterSet.Config as cms - -isSignal = False -isBckg = False -isData = True -isSkimmedSample = False -GTAG = 'GR_R_72_V2::All' - -#debug input files -#this list is overwritten by CRAB -InputFileList = cms.untracked.vstring( - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/00346527-C91C-E411-AB5E-02163E00ECEF.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/00ADAB1A-BC1C-E411-8EF1-002590494C40.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0200D6AF-D41C-E411-8420-0025904B0FC0.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0268317F-AB1C-E411-8022-02163E00ECFB.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/02F71E4D-B61C-E411-888D-02163E00CFB4.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/02FCA65D-AF1C-E411-BED1-18A90555637A.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0405F2E2-B01C-E411-BC20-02163E00E5B2.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/041A1E18-C21C-E411-A77A-00259029EF3E.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/044F878E-E91C-E411-B9D8-02163E00CAA2.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/04C9C6B8-D31C-E411-88E9-003048F0E7BE.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0634987C-A91C-E411-A9B5-02163E009C1E.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0637E986-BE1C-E411-ACFF-02163E00EF94.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0644EC20-C91C-E411-A376-02163E008EEA.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/068E6015-CB1C-E411-96C8-02163E00E95C.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/06D99999-BD1C-E411-896E-0025B3203748.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08361980-BC1C-E411-97CB-003048C9C1D4.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0836D993-B61C-E411-B245-02163E009BA7.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08A1A887-C41C-E411-9BCB-02163E00FEC3.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08B88B4E-D11C-E411-9EDB-02163E00B7A3.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08CE58CE-EB1C-E411-BABA-02163E010110.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08D1A881-9F1C-E411-8E09-02163E00ECE6.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/08F06953-BB1C-E411-8F27-003048C9C1D0.root', - '/store/relval/CMSSW_7_2_0_pre3/SingleMu/RECO/GR_R_72_V2_frozenHLT_RelVal_mu2012D-v1/00000/0A44FE81-A71C-E411-862A-02163E0104C0.root', -) - -#main EDM tuple cfg that depends on the above parameters -execfile( os.path.expandvars('${CMSSW_BASE}/src/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py') ) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Signal_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Signal_cfg.py deleted file mode 100644 index a632d364f0b41..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_Signal_cfg.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys, os -import FWCore.ParameterSet.Config as cms - -isSignal = True -isBckg = False -isData = False -isSkimmedSample = False -GTAG = 'START72_V1::All' -InputFileList = cms.untracked.vstring() - -#debug input files -#this list is overwritten by CRAB -for i in range(0,10): - InputFileList.extend(["file:" + os.path.expandvars("${CMSSW_BASE}/src/") + "SampleProd/FARM_RECO/outputs/gluino1TeV_RECO_%04i.root" % i]) - -#main EDM tuple cfg that depends on the above parameters -execfile( os.path.expandvars('${CMSSW_BASE}/src/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py') ) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py deleted file mode 100644 index 843987cccbfc2..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/HSCParticleProducer_cfg.py +++ /dev/null @@ -1,159 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("HSCPAnalysis") - -#The following parameters need to be provided -#isSignal, isBckg, isData, isSkimmedSample, GTAG, InputFileList -#isSignal = True -#isBckg = False -#isData = False -#isSkimmedSample = False -#GTAG = 'START72_V1::All' - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.load('Configuration.Geometry.GeometryExtended2015Reco_cff') -process.load('Configuration.StandardSequences.MagneticField_cff') -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load('Configuration.StandardSequences.Services_cff') - -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True), - SkipEvent = cms.untracked.vstring('ProductNotFound'), -) -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.source = cms.Source("PoolSource", - fileNames = InputFileList, - inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*") -) -if(isSignal): process.source.duplicateCheckMode = cms.untracked.string("noDuplicateCheck") - - -#for i in range(0,25): -# process.source.fileNames.extend(["file:/afs/cern.ch/user/q/querten/workspace/public/14_08_12_Run2HSCP/CMSSW_7_2_X_2014-08-18-0200/src/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/../../../../../SampleProd/FARM_RECO/outputs/gluino1TeV_RECO_%04i.root" % i]) - -process.GlobalTag.globaltag = GTAG - -process.HSCPTuplePath = cms.Path() - -######################################################################## -#Run the Skim sequence if necessary -if(not isSkimmedSample): - process.nEventsBefSkim = cms.EDProducer("EventCountProducer") - - process.load('Configuration.Skimming.PDWG_EXOHSCP_cff') - process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') - process.HSCPTrigger = process.hltHighLevel.clone() - process.HSCPTrigger.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) - process.HSCPTrigger.andOr = cms.bool( True ) #OR - process.HSCPTrigger.throw = cms.bool( False ) - if(isData): - process.HSCPTrigger.HLTPaths = [ - "HLT_*_dEdx*", - "HLT_Mu40_eta2p1*", - "HLT_Mu50_eta2p1*", - "HLT_HT650_*", - "HLT_MET80_*", - "HLT_L2Mu*MET*", - "HLT_L2Mu*NoBPTX*", - "HLT_PFMET150_*", - ] - elif(isBckg): - #to be updated to Run2 Triggers, in the meanwhile keep all of them to study trigger efficiency - process.HSCPTrigger.HLTPaths = ["*"] - else: - #do not apply trigger filter on signal - process.HSCPTrigger.HLTPaths = ["*"] - - - - - process.HSCPTuplePath += process.nEventsBefSkim + process.HSCPTrigger + process.exoticaHSCPSeq - -######################################################################## - -#Run the HSCP EDM-tuple Sequence on skimmed sample -process.nEventsBefEDM = cms.EDProducer("EventCountProducer") -process.load("SUSYBSMAnalysis.HSCP.HSCParticleProducerFromSkim_cff") -process.HSCPTuplePath += process.nEventsBefEDM + process.HSCParticleProducerSeq - -######################################################################## -# Only for MC samples, save skimmed genParticles - -if(isSignal or isBckg): - process.load("PhysicsTools.HepMCCandAlgos.genParticles_cfi") - process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") - process.allGenParticles = cms.EDProducer("GenParticleProducer", - saveBarCodes = cms.untracked.bool(False), - src = cms.InputTag("VtxSmeared"), - abortOnUnknownPDGCode = cms.untracked.bool(False) - ) - process.genParticles = cms.EDFilter("GenParticleSelector", - filter = cms.bool(False), - src = cms.InputTag("allGenParticles"), - cut = cms.string('charge != 0 & pt > 5.0'), - stableOnly = cms.bool(True) - ) - - process.HSCPTuplePath += process.allGenParticles + process.genParticles - -######################################################################## - -#make the pool output -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - "keep EventAux_*_*_*", - "keep LumiSummary_*_*_*", - "keep edmMergeableCounter_*_*_*", - "keep GenRunInfoProduct_*_*_*", - "keep *_genParticles_*_HSCPAnalysis", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", - "keep recoPFMETs_pfMet__*", - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "drop *_offlineBeamSpot_*_HSCPAnalysis", #no need to save the BS from this process - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - "keep *_g4SimHits_StoppedParticles*_*", - "keep PileupSummaryInfos_addPileupInfo_*_*" - ), - fileName = cms.untracked.string('HSCP.root'), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('') - ), -) - -if(isBckg or isData): - process.Out.SelectEvents.SelectEvents = cms.vstring('HSCPTuplePath') - - -######################################################################## - -#schedule the sequence -process.endPath1 = cms.EndPath(process.Out) -process.schedule = cms.Schedule(process.HSCPTuplePath, process.endPath1) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/HSCParticleProducer_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/HSCParticleProducer_cfg.py deleted file mode 100644 index e639e4193619c..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/HSCParticleProducer_cfg.py +++ /dev/null @@ -1,183 +0,0 @@ -from __future__ import print_function -import FWCore.ParameterSet.Config as cms - -process = cms.Process("HSCPAnalysis") - -process.load("FWCore.MessageService.MessageLogger_cfi") -process.load("Configuration.Geometry.GeometryIdeal_cff") -process.load("Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 -from SUSYBSMAnalysis.HSCP.HSCPVersion_cff import * - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(25000) ) - -if CMSSW4_2: process.GlobalTag.globaltag = 'START42_V9::All' -else: process.GlobalTag.globaltag = 'START53_V7A::All' - - -readFiles = cms.untracked.vstring() -process.source = cms.Source("PoolSource", - fileNames = readFiles -) - -if CMSSW4_2: readFiles.extend(['/store/user/quertenmont/11_07_30_ExoticaMCSkim//QCD_1400to1800/querten/QCD_Pt-1400to1800_TuneZ2_7TeV_pythia6/EXOHSCPMCSkim_V4_QCD_1400to1800/42f0c8f1e4a9169b4429628ad9032dfb/EXOHSCP_103_1_aV8.root']) -else: readFiles.extend(['/store/mc/Summer12_DR53X/WToMuNu_TuneZ2star_8TeV_pythia6/GEN-SIM-RECO/PU_S10_START53_V7A-v1/0001/FE638700-BDE3-E111-A928-002618943906.root']) - - - -process.source.inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*") - -######################################################################## - -process.load("SUSYBSMAnalysis.HSCP.HSCParticleProducerFromSkim_cff") #IF RUNNING ON HSCP SKIM - - -process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') -if CMSSW4_2: - process.load('SUSYBSMAnalysis.Skimming.EXOHSCP_cff') - process.load('SUSYBSMAnalysis.Skimming.EXOHSCP_EventContent_cfi') - - process.HSCPTrigger = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(1), #Activated - PFMetTriggerMask = cms.int32(1), #Activated - L2MuMETTriggerMask = cms.int32(1), #Activated - ) -else: - process.load('Configuration.Skimming.PDWG_EXOHSCP_cff') - process.HSCParticleProducer.useBetaFromEcal = cms.bool(False) - - process.HSCPTrigger = process.hltHighLevel.clone() - process.HSCPTrigger.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) - process.HSCPTrigger.HLTPaths = [ - "HLT_*_dEdx*", - "HLT_Mu40_eta2p1*", - "HLT_Mu50_eta2p1*", - "HLT_HT650_*", - "HLT_MET80_*", - "HLT_L2Mu*MET*", - "HLT_L2Mu*NoBPTX*", - "HLT_PFMET150_*", - ] - process.HSCPTrigger.andOr = cms.bool( True ) #OR - process.HSCPTrigger.throw = cms.bool( False ) - - #skim the jet collection to keep only 15GeV jets - process.ak5PFJetsPt15 = cms.EDFilter( "EtMinPFJetSelector", - src = cms.InputTag( "ak5PFJets" ), - filter = cms.bool( False ), - etMin = cms.double( 15.0 ) - ) - -######################################################################## SPECIAL CASE FOR MC - -process.load("PhysicsTools.HepMCCandAlgos.genParticles_cfi") -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") -process.genParticles.abortOnUnknownPDGCode = cms.untracked.bool(False) - -process.GlobalTag.toGet = cms.VPSet( - cms.PSet( record = cms.string('SiStripDeDxMip_3D_Rcd'), - tag = cms.string('MC7TeV_Deco_3D_Rcd_38X'), - connect = cms.untracked.string("sqlite_file:MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db")), -) - -process.dedxHarm2.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxTru40.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxProd.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxASmi.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNPHarm2.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNPTru40.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNSHarm2.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNSTru40.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNPProd.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxNPASmi.calibrationPath = cms.string("file:MC7TeVGains.root") -process.dedxHitInfo.calibrationPath = cms.string("file:MC7TeVGains.root") - -process.dedxHarm2.UseCalibration = cms.bool(True) -process.dedxTru40.UseCalibration = cms.bool(True) -process.dedxProd.UseCalibration = cms.bool(True) -process.dedxASmi.UseCalibration = cms.bool(True) -process.dedxNPHarm2.UseCalibration = cms.bool(True) -process.dedxNPTru40.UseCalibration = cms.bool(True) -process.dedxNSHarm2.UseCalibration = cms.bool(True) -process.dedxNSTru40.UseCalibration = cms.bool(True) -process.dedxNPProd.UseCalibration = cms.bool(True) -process.dedxNPASmi.UseCalibration = cms.bool(True) -process.dedxHitInfo.UseCalibration = cms.bool(True) - -if not CMSSW4_2: - print ("WARNING: You are using MC7TeV_Deco_3D_Rcd_38X and MC7TeVGains.root for dEdx computation... These constants are a priori not valid for 2012 MC samples\nThe constants need to be redone for 2012 samples") - -######################################################################## -process.nEventsBefEDM = cms.EDProducer("EventCountProducer") -process.nEventsBefSkim = cms.EDProducer("EventCountProducer") -######################################################################## - -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - "keep EventAux_*_*_*", - "keep LumiSummary_*_*_*", - "keep edmMergeableCounter_*_*_*", - "keep *_genParticles_*_HSCPAnalysis", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", - "keep recoPFMETs_pfMet__*", - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - "keep *_g4SimHits_StoppedParticles*_*", - "keep PileupSummaryInfos_addPileupInfo_*_*" - ), - fileName = cms.untracked.string('HSCP.root'), - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('p1') - ), -) - -if CMSSW4_2: - process.Out.outputCommands.extend(["keep recoPFJets_ak5PFJets__*"]) - - -######################################################################## - -#LOOK AT SD PASSED PATH IN ORDER to avoid as much as possible duplicated events (make the merging of .root file faster) -#The module ak5PFJetsPt15 does not exist in CMSSW4 -if CMSSW4_2: process.p1 = cms.Path(process.nEventsBefEDM + process.HSCPTrigger + process.HSCParticleProducerSeq) -#else: process.p1 = cms.Path(process.nEventsBefEDM + process.HSCPTrigger + process.ak5PFJetsPt15 + process.HSCParticleProducerSeq) -else: process.p1 = cms.Path(process.nEventsBefSkim * process.HSCPTrigger * process.exoticaHSCPSeq * process.nEventsBefEDM * process.ak5PFJetsPt15 * process.HSCParticleProducerSeq) - -print("You are going to run the following sequence: " + str(process.p1)) - -#process.p1 = cms.Path(process.HSCParticleProducerSeq) -process.endPath1 = cms.EndPath(process.Out) -process.schedule = cms.Schedule( process.p1, process.endPath1) - - diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge.py deleted file mode 100644 index ed50d9e7f793c..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge.py +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env python - -import urllib -import string -import os -import sys -import LaunchOnCondor - - - - - -#Jobs = ["MC_7TeV_ZZ", "MC_7TeV_ZJetToMuMu_Pt-80to120", "MC_7TeV_ZJetToMuMu_Pt-50to80", "MC_7TeV_ZJetToMuMu_Pt-30to50", "MC_7TeV_ZJetToMuMu_Pt-300", "MC_7TeV_ZJetToMuMu_Pt-230to300", "MC_7TeV_ZJetToMuMu_Pt-20to30", "MC_7TeV_ZJetToMuMu_Pt-170to230", "MC_7TeV_ZJetToMuMu_Pt-15to20", "MC_7TeV_ZJetToMuMu_Pt-120to170", "MC_7TeV_ZJetToMuMu_Pt-0to15", "MC_7TeV_WZ", "MC_7TeV_WW", "MC_7TeV_WJetsToLNu", "MC_7TeV_TTJets", "MC_7TeV_QCD_Pt-80to120", "MC_7TeV_QCD_Pt-800to1000", "MC_7TeV_QCD_Pt-600to800", "MC_7TeV_QCD_Pt-50to80", "MC_7TeV_QCD_Pt-470to600", "MC_7TeV_QCD_Pt-30to50", "MC_7TeV_QCD_Pt-300to470", "MC_7TeV_QCD_Pt-1800", "MC_7TeV_QCD_Pt-170to300", "MC_7TeV_QCD_Pt-1400to1800", "MC_7TeV_QCD_Pt-120to170", "MC_7TeV_QCD_Pt-1000to1400", "MC_7TeV_DYToTauTau", "MC_7TeV_DYToMuMu"] - -Jobs = ["MC_8TeV_DYToMuMu"] - -FarmDirectory = "MERGE" -for JobName in Jobs: - LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"file:','/storage/data/cms/store/user/quertenmont/12_08_16_HSCP_EDM2011/FWLite_MC/' + JobName + '/HSCP_*.root','",'), FarmDirectory + "InputFile.txt") - #LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"dcache:','/pnfs/cms/WAX/11/store/user/farrell3/HSCPEDMUpdateData2012_12Sep2012/'+ JobName +'/HSCP_*.root','",'), FarmDirectory + "InputFile.txt") - LaunchOnCondor.SendCMSJobs(FarmDirectory, JobName, "Merge_cfg.py", FarmDirectory + "InputFile.txt", 1, ['XXX_SAVEPATH_XXX','file:/storage/data/cms/users/quertenmont/HSCP/CMSSW_4_2_8/12_08_16/']) - - -os.system("rm " + FarmDirectory + "InputFile.txt") diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge_cfg.py deleted file mode 100644 index bd5d53797c014..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/Merge_cfg.py +++ /dev/null @@ -1,144 +0,0 @@ -import FWCore.ParameterSet.Config as cms -process = cms.Process("MergeHLT") - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.load("FWCore.MessageService.MessageLogger_cfi") -from SUSYBSMAnalysis.HSCP.HSCPVersion_cff import * - -process.MessageLogger.cerr.FwkReport.reportEvery = 5000 -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -XXX_INPUT_XXX - ) -) - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.HSCPHLTDuplicate = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(True), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), #Activated -) -process.DuplicateFilter = cms.Path(process.HSCPHLTDuplicate ) - - -process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') -process.HSCPHLTTriggerMuDeDx = process.hltHighLevel.clone() -process.HSCPHLTTriggerMuDeDx.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) -process.HSCPHLTTriggerMuDeDx.andOr = cms.bool( True ) #OR -process.HSCPHLTTriggerMuDeDx.throw = cms.bool( False ) -process.HSCPHLTTriggerMuDeDx.HLTPaths = ["HLT_Mu*_dEdx*"] -process.HSCPHLTTriggerMuDeDxFilter = cms.Path(process.HSCPHLTTriggerMuDeDx ) - -process.HSCPHLTTriggerMetDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMetDeDx.HLTPaths = ["HLT_MET*_dEdx*"] -process.HSCPHLTTriggerMetDeDxFilter = cms.Path(process.HSCPHLTTriggerMetDeDx ) - -process.HSCPHLTTriggerHtDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHtDeDx.HLTPaths = ["HLT_HT*_dEdx*"] -process.HSCPHLTTriggerHtDeDxFilter = cms.Path(process.HSCPHLTTriggerHtDeDx ) - -process.HSCPHLTTriggerMu = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMu.HLTPaths = ["HLT_Mu40_*"] -process.HSCPHLTTriggerMuFilter = cms.Path(process.HSCPHLTTriggerMu ) - -process.HSCPHLTTriggerMet = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMet.HLTPaths = ["HLT_MET80_*"] -process.HSCPHLTTriggerMetFilter = cms.Path(process.HSCPHLTTriggerMet ) - -process.HSCPHLTTriggerPFMet = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerPFMet.HLTPaths = ["HLT_PFMET150_*"] -process.HSCPHLTTriggerPFMetFilter = cms.Path(process.HSCPHLTTriggerPFMet ) - -process.HSCPHLTTriggerHt = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHt.HLTPaths = ["HLT_HT650_*"] -process.HSCPHLTTriggerHtFilter = cms.Path(process.HSCPHLTTriggerHt ) - -process.HSCPHLTTriggerL2Mu = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerL2Mu.HLTPaths = ["HLT_L2Mu*MET*"] -process.HSCPHLTTriggerL2MuFilter = cms.Path(process.HSCPHLTTriggerL2Mu ) - -process.HSCPHLTTriggerCosmic = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerCosmic.HLTPaths = ["HLT_L2Mu*NoBPTX*"] -process.HSCPHLTTriggerCosmicFilter = cms.Path(process.HSCPHLTTriggerCosmic ) - -if CMSSW4_2: - #special treatment for SingleMu and PFMet trigger in 42X (2011 analysis) because threshold have changed over the year - process.HSCPHLTTriggerPFMet = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(1), #Activated - L2MuMETTriggerMask = cms.int32(0), #Activated - ) - process.HSCPHLTTriggerPFMetFilter = cms.Path(process.HSCPHLTTriggerPFMet ) - - process.HSCPHLTTriggerMu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(1), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), #Activated - ) - process.HSCPHLTTriggerMuFilter = cms.Path(process.HSCPHLTTriggerMu ) - - process.HSCPHLTTriggerL2Mu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(2), #Activated for special case of background MC - ) - - process.HSCPHLTTriggerL2MuFilter = cms.Path(process.HSCPHLTTriggerL2Mu ) - - -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - "keep EventAux_*_*_*", - "keep LumiSummary_*_*_*", - "keep edmMergeableCounter_*_*_*", - "keep *_genParticles_*_*", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", - "keep recoPFMETs_pfMet__*", - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - "keep *_g4SimHits_StoppedParticles*_*", - "keep PileupSummaryInfos_addPileupInfo_*_*" - ), - fileName = cms.untracked.string('XXX_SAVEPATH_XXX/XXX_OUTPUT_XXX.root'), -) - -if CMSSW4_2: - process.Out.outputCommands.extend(["keep recoPFJets_ak5PFJets__*"]) - -process.endPath = cms.EndPath(process.Out) -process.schedule = cms.Schedule(process.DuplicateFilter, process.HSCPHLTTriggerMuDeDxFilter, process.HSCPHLTTriggerMetDeDxFilter, process.HSCPHLTTriggerHtDeDxFilter, process.HSCPHLTTriggerMuFilter, process.HSCPHLTTriggerMetFilter, process.HSCPHLTTriggerPFMetFilter, process.HSCPHLTTriggerHtFilter, process.HSCPHLTTriggerL2MuFilter, process.HSCPHLTTriggerCosmicFilter, process.endPath) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/crab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/crab.cfg deleted file mode 100644 index 18334a622e193..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/crab.cfg +++ /dev/null @@ -1,41 +0,0 @@ -[CMSSW] -dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_ph_analysis_02/servlet/DBSServlet -pset = HSCParticleProducer_cfg.py -datasetpath = /EXO_HSCP_stau126_3112_GEN_SIM_HLT/exotica-EXO_HSCP_Stau126_3112_GEN_SIM_RECO-50be3cf8c18545830b9f25e393ea078f/USER -output_file = HSCP.root -total_number_of_events = -1 -number_of_jobs = 1 - -[USER] -additional_input_files = MC7TeVGains.root, MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db -copy_data = 1 -publish_data = 0 -check_user_remote_dir = 0 -return_data = 0 - -#stage out to UCL -storage_element = ingrid-se02.cism.ucl.ac.be -storage_port = 8444 -user_remote_dir = /store/user/quertenmont/12_08_16_HSCP_EDM2011/FWLite_MC/ -storage_path = /srm/managerv2?SFN=/storage/data/cms - -#stage out the result to FNAL -#storage_element = cmssrm.fnal.gov -#storage_path = /srm/managerv2?SFN=/11 -#user_remote_dir = /store/user/jchen/HSCP -#user_remote_dir = HSCPEDMSignal23Dec2011 -#storage_element = T3_US_FNALLPC -#check_user_remote_dir = 0 - -[CRAB] -cfg = crab.cfg -scheduler = glite -jobtype = cmssw -use_server = 0 - -[GRID] -role = priorityuser -virtual_organization = cms -rb = CERN - - diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/multicrab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/multicrab.cfg deleted file mode 100644 index 7b0fec6073603..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/MC/multicrab.cfg +++ /dev/null @@ -1,99 +0,0 @@ -[MULTICRAB] -cfg=crab.cfg - -[COMMON] -#USER.user_remote_dir = /store/user/quertenmont/11_07_31_HSCP2011/FWLite_MC -CMSSW.number_of_jobs = 20 - -[MC_8TeV_DYToMuMu] -CMSSW.datasetpath = /DYToMuMu_M_20_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/GEN-SIM-RECO - -[MC_7TeV_ZZ] -CMSSW.datasetpath = /ZZ_TuneZ2_7TeV_pythia6_tauola/querten-EXOHSCPMCSkim_V4_ZZ-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-80to120] -CMSSW.datasetpath = /ZJetToMuMu_Pt-80to120_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_80to120-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-50to80] -CMSSW.datasetpath = /ZJetToMuMu_Pt-50to80_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_50to80-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-30to50] -CMSSW.datasetpath = /ZJetToMuMu_Pt-30to50_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_30to50-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-300] -CMSSW.datasetpath = /ZJetToMuMu_Pt-300_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_300toInf-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-230to300] -CMSSW.datasetpath = /ZJetToMuMu_Pt-230to300_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_230to300-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-20to30] -CMSSW.datasetpath = /ZJetToMuMu_Pt-20to30_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_20to30-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-170to230] -CMSSW.datasetpath = /ZJetToMuMu_Pt-170to230_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_170to230-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-15to20] -CMSSW.datasetpath = /ZJetToMuMu_Pt-15to20_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_15to20-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-120to170] -CMSSW.datasetpath = /ZJetToMuMu_Pt-120to170_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_120to170-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_ZJetToMuMu_Pt-0to15] -CMSSW.datasetpath = /ZJetToMuMu_Pt-0to15_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_ZJetToMuMu_Pt_0to15-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_WZ] -CMSSW.datasetpath = /WZ_TuneZ2_7TeV_pythia6_tauola/querten-EXOHSCPMCSkim_V4_WZ-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_WW] -CMSSW.datasetpath = /WW_TuneZ2_7TeV_pythia6_tauola/querten-EXOHSCPMCSkim_V4_WW-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_WJetsToLNu] -CMSSW.datasetpath = /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/querten-EXOHSCPMCSkim_V4_WJetsToLNu-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_TTJets] -CMSSW.datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/querten-EXOHSCPMCSkim_V4_TTBar-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-80to120] -CMSSW.datasetpath = /QCD_Pt-80to120_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_80to120-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-800to1000] -CMSSW.datasetpath = /QCD_Pt-800to1000_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_800to1000-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-600to800] -CMSSW.datasetpath = /QCD_Pt-600to800_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_600to800-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-50to80] -CMSSW.datasetpath = /QCD_Pt-50to80_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_Pt-50to80-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-470to600] -CMSSW.datasetpath = /QCD_Pt-470to600_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_470to600-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-30to50] -CMSSW.datasetpath = /QCD_Pt-30to50_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_30to50-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-300to470] -CMSSW.datasetpath = /QCD_Pt-300to470_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_300to470-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-1800] -CMSSW.datasetpath = /QCD_Pt-1800_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_1800toInf-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-170to300] -CMSSW.datasetpath = /QCD_Pt-170to300_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_170to300-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-15to30] -CMSSW.datasetpath = /QCD_Pt-15to30_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_15to30-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-1400to1800] -CMSSW.datasetpath = /QCD_Pt-1400to1800_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_1400to1800-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-120to170] -CMSSW.datasetpath = /QCD_Pt-120to170_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_120to170-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_QCD_Pt-1000to1400] -CMSSW.datasetpath = /QCD_Pt-1000to1400_TuneZ2_7TeV_pythia6/querten-EXOHSCPMCSkim_V4_QCD_1000to1400-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_DYToTauTau] -CMSSW.datasetpath = /DYToTauTau_M-20_TuneZ2_7TeV-pythia6-tauola/querten-EXOHSCPMCSkim_V4_DYToTauTau-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER - -[MC_7TeV_DYToMuMu] -CMSSW.datasetpath = /DYToMuMu_M-20_TuneZ2_7TeV-pythia6/querten-EXOHSCPMCSkim_V4_DYToMuMu-42f0c8f1e4a9169b4429628ad9032dfb-EXOHSCP/USER diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge.py deleted file mode 100644 index d5f59591414ae..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python - -import urllib -import string -import os -import sys -import LaunchOnCondor - -Jobs = ["GMStau_8TeV_M557", "PPStau_8TeV_M557"] - -FarmDirectory = "MERGE" -for JobName in Jobs: - LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"file:','/afs/cern.ch/user/q/querten/workspace/public/GMSB_XSec/EDMproduction/CMSSW_5_3_2_patch4/src/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/'+ JobName + '/res/HSCP_*.root','",'), FarmDirectory + "InputFile.txt") -# LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"dcache:','/pnfs/cms/WAX/11/store/user/farrell3/store/user/jchen/11_10_28_HSCP2011/FWLite_Signal/'+ JobName + '/HSCP_*.root','",'), FarmDirectory + "InputFile.txt") -# LaunchOnCondor.ListToFile(LaunchOnCondor.GetListOfFiles('"file:','/uscmst1b_scratch/lpc1/lpcphys/jchen/HSCPEDM_08_02_11/'+ JobName + '.root','",'), FarmDirectory + "InputFile.txt") - LaunchOnCondor.SendCMSJobs(FarmDirectory, JobName, "Merge_cfg.py", FarmDirectory + "InputFile.txt", 1, []) - -os.system("rm " + FarmDirectory + "InputFile.txt") diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge_cfg.py b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge_cfg.py deleted file mode 100644 index 139b5a01fdc20..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/Merge_cfg.py +++ /dev/null @@ -1,144 +0,0 @@ -import FWCore.ParameterSet.Config as cms -process = cms.Process("MergeHLT") - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -process.load("FWCore.MessageService.MessageLogger_cfi") -from SUSYBSMAnalysis.HSCP.HSCPVersion_cff import * - -process.MessageLogger.cerr.FwkReport.reportEvery = 5000 -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( -XXX_INPUT_XXX - ) -) - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -process.HSCPHLTDuplicate = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(True), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), -) -process.DuplicateFilter = cms.Path(process.HSCPHLTDuplicate ) - - -process.load('HLTrigger.HLTfilters.hltHighLevel_cfi') -process.HSCPHLTTriggerMuDeDx = process.hltHighLevel.clone() -process.HSCPHLTTriggerMuDeDx.TriggerResultsTag = cms.InputTag( "TriggerResults", "", "HLT" ) -process.HSCPHLTTriggerMuDeDx.andOr = cms.bool( True ) #OR -process.HSCPHLTTriggerMuDeDx.throw = cms.bool( False ) -process.HSCPHLTTriggerMuDeDx.HLTPaths = ["HLT_Mu*_dEdx*"] -process.HSCPHLTTriggerMuDeDxFilter = cms.Path(process.HSCPHLTTriggerMuDeDx ) - -process.HSCPHLTTriggerMetDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMetDeDx.HLTPaths = ["HLT_MET*_dEdx*"] -process.HSCPHLTTriggerMetDeDxFilter = cms.Path(process.HSCPHLTTriggerMetDeDx ) - -process.HSCPHLTTriggerHtDeDx = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHtDeDx.HLTPaths = ["HLT_HT*_dEdx*"] -process.HSCPHLTTriggerHtDeDxFilter = cms.Path(process.HSCPHLTTriggerHtDeDx ) - -process.HSCPHLTTriggerMu = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMu.HLTPaths = ["HLT_Mu40_*"] -process.HSCPHLTTriggerMuFilter = cms.Path(process.HSCPHLTTriggerMu ) - -process.HSCPHLTTriggerMet = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerMet.HLTPaths = ["HLT_MET80_*"] -process.HSCPHLTTriggerMetFilter = cms.Path(process.HSCPHLTTriggerMet ) - -process.HSCPHLTTriggerPFMet = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerPFMet.HLTPaths = ["HLT_PFMET150_*"] -process.HSCPHLTTriggerPFMetFilter = cms.Path(process.HSCPHLTTriggerPFMet ) - -process.HSCPHLTTriggerHt = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerHt.HLTPaths = ["HLT_HT650_*"] -process.HSCPHLTTriggerHtFilter = cms.Path(process.HSCPHLTTriggerHt ) - -process.HSCPHLTTriggerL2Mu = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerL2Mu.HLTPaths = ["HLT_L2Mu*MET*"] -process.HSCPHLTTriggerL2MuFilter = cms.Path(process.HSCPHLTTriggerL2Mu ) - -process.HSCPHLTTriggerCosmic = process.HSCPHLTTriggerMuDeDx.clone() -process.HSCPHLTTriggerCosmic.HLTPaths = ["HLT_L2Mu*NoBPTX*"] -process.HSCPHLTTriggerCosmicFilter = cms.Path(process.HSCPHLTTriggerCosmic ) - -if CMSSW4_2: - #special treatment for SingleMu and PFMet trigger in 42X (2011 analysis) because threshold have changed over the year - process.HSCPHLTTriggerPFMet = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(1), #Activated - L2MuMETTriggerMask = cms.int32(0), - ) - process.HSCPHLTTriggerPFMetFilter = cms.Path(process.HSCPHLTTriggerPFMet ) - - process.HSCPHLTTriggerMu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HLT"), - MuonTrigger1Mask = cms.int32(1), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(0), - ) - process.HSCPHLTTriggerMuFilter = cms.Path(process.HSCPHLTTriggerMu ) - - process.HSCPHLTTriggerL2Mu = cms.EDFilter("HSCPHLTFilter", - RemoveDuplicates = cms.bool(False), - TriggerProcess = cms.string("HSCPAnalysis"), - MuonTrigger1Mask = cms.int32(0), #Activated - PFMetTriggerMask = cms.int32(0), #Activated - L2MuMETTriggerMask = cms.int32(1), #Activated - ) - - process.HSCPHLTTriggerL2MuFilter = cms.Path(process.HSCPHLTTriggerL2Mu ) - - -process.Out = cms.OutputModule("PoolOutputModule", - outputCommands = cms.untracked.vstring( - "drop *", - "keep EventAux_*_*_*", - "keep LumiSummary_*_*_*", - "keep edmMergeableCounter_*_*_*", - "keep *_genParticles_*_*", - "keep GenEventInfoProduct_generator_*_*", - "keep *_offlinePrimaryVertices_*_*", - "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*", - "keep *_TrackRefitter_*_*", - "keep *_standAloneMuons_*_*", - "keep *_globalMuons_*_*", - "keep *_muonsSkim_*_*", - "keep edmTriggerResults_TriggerResults_*_*", - "keep *_ak5PFJetsPt15__*", - "keep recoPFMETs_pfMet__*", - "keep *_HSCParticleProducer_*_*", - "keep *_HSCPIsolation01__*", - "keep *_HSCPIsolation03__*", - "keep *_HSCPIsolation05__*", - "keep *_dedx*_*_HSCPAnalysis", - "keep *_muontiming_*_HSCPAnalysis", - "keep triggerTriggerEvent_hltTriggerSummaryAOD_*_*", - "keep *_RefitMTSAMuons_*_*", - "keep *_MTMuons_*_*", - "keep *_MTSAMuons_*_*", - "keep *_MTmuontiming_*_*", - "keep *_refittedStandAloneMuons_*_*", - "keep *_offlineBeamSpot_*_*", - "keep *_MuonSegmentProducer_*_*", - "drop TrajectorysToOnerecoTracksAssociation_TrackRefitter__", - "drop recoTrackExtras_*_*_*", - "keep recoTrackExtras_TrackRefitter_*_*", - "drop TrackingRecHitsOwned_*Muon*_*_*", - "keep *_g4SimHits_StoppedParticles*_*", - "keep PileupSummaryInfos_addPileupInfo_*_*" - ), - fileName = cms.untracked.string('XXX_OUTPUT_XXX.root'), -) - -if CMSSW4_2: - process.Out.outputCommands.extend(["keep recoPFJets_ak5PFJets__*"]) - -process.endPath = cms.EndPath(process.Out) -process.schedule = cms.Schedule(process.DuplicateFilter, process.HSCPHLTTriggerMuDeDxFilter, process.HSCPHLTTriggerMetDeDxFilter, process.HSCPHLTTriggerHtDeDxFilter, process.HSCPHLTTriggerMuFilter, process.HSCPHLTTriggerMetFilter, process.HSCPHLTTriggerPFMetFilter, process.HSCPHLTTriggerHtFilter, process.HSCPHLTTriggerL2MuFilter, process.HSCPHLTTriggerCosmicFilter, process.endPath) diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/crab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/crab.cfg deleted file mode 100644 index fcb7155351cdf..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/crab.cfg +++ /dev/null @@ -1,47 +0,0 @@ -[CMSSW] -#dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_prod_global/servlet/DBSServlet -dbs_url = http://cmsdbsprod.cern.ch/cms_dbs_ph_analysis_02/servlet/DBSServlet -pset = HSCParticleProducer_cfg.py -datasetpath = /EXO_HSCP_stau126_3112_GEN_SIM_HLT/exotica-EXO_HSCP_Stau126_3112_GEN_SIM_RECO-50be3cf8c18545830b9f25e393ea078f/USER -output_file = HSCP.root -total_number_of_events = -1 -#number_of_jobs = 1 -events_per_job = 10000 -#use_parent = 1 - -[USER] -additional_input_files = MC7TeVGains.root, MC7TeV_Deco_SiStripDeDxMip_3D_Rcd.db -#ui_working_dir = GMStau126 -copy_data = 0 -publish_data = 0 -check_user_remote_dir = 0 -return_data = 1 - -#stage out to UCL -#storage_element = ingrid-se02.cism.ucl.ac.be -#storage_port = 8444 -#user_remote_dir = /store/user/quertenmont/11_03_31_HSCP2011/FWLite_Sign/ -#storage_path = /srm/managerv2?SFN=/storage/data/cms - -#stage out the result to FNAL -#storage_element = cmssrm.fnal.gov -#storage_path = /srm/managerv2?SFN=/11 -#user_remote_dir = /store/user/jchen/HSCP - -check_user_remote_dir = 0 -publish_data = 0 -user_remote_dir = HSCPToBeMerged_09Oct2012 -storage_element = T3_US_FNALLPC -check_user_remote_dir = 0 - -[CRAB] -scheduler = glite -jobtype = cmssw -use_server = 0 - -#[GRID] -#role = priorityuser -#virtual_organization = cms -#rb = CERN - - diff --git a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/multicrab.cfg b/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/multicrab.cfg deleted file mode 100644 index ae329545c4785..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/BuildHSCParticles/Signals/multicrab.cfg +++ /dev/null @@ -1,15 +0,0 @@ -[MULTICRAB] -cfg=crab.cfg - -[COMMON] -#USER.user_remote_dir = /store/user/jchen/11_10_28_HSCP2011/FWLite_Signal -#CMSSW.number_of_jobs = 3 -CMSSW.events_per_job=1000 - -[GMStau_8TeV_M557] -CMSSW.datasetpath = /EXOHSCP2012_gmstauM557_GEN_SIM/querten-EXOHSCP2012_gmstauM557_RECO-34bad132481b136881b4ce69c955de16/USER - -[PPStau_8TeV_M557] -CMSSW.datasetpath = /EXOHSCP2012_ppstauM557_GEN_SIM/querten-EXOHSCP2012_ppstauM557_RECO-34bad132481b136881b4ce69c955de16/USER - - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_CommonFunction.h b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_CommonFunction.h deleted file mode 100644 index c797b764d0482..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_CommonFunction.h +++ /dev/null @@ -1,206 +0,0 @@ - -#include "Analysis_Global.h" -#include "Analysis_PlotFunction.h" - - - -/////////////////////////////////////////////////////////////////////////////////////// STUFF RELATED TO THE SUBSAMPLES - - -double Efficiency(TH1* Histo, double CutX){ - double Entries = Histo->Integral(0,Histo->GetNbinsX()+1); - double Integral = Histo->Integral(Histo->GetXaxis()->FindBin(CutX),Histo->GetNbinsX()+1); - return Integral/Entries; -} - -double Efficiency(TH2* Histo, double CutX, double CutY){ - double Entries = Histo->Integral(0,Histo->GetNbinsX()+1, 0,Histo->GetNbinsY()+1); - double Integral = Histo->Integral(Histo->GetXaxis()->FindBin(CutX),Histo->GetNbinsX()+1, Histo->GetYaxis()->FindBin(CutY),Histo->GetNbinsY()+1); - return Integral/Entries; -} - - -double EfficiencyAndError(TH1* Histo, double CutX, double& error){ - double Entries = Histo->Integral(0,Histo->GetNbinsX()+1); - double Integral = 0; - error = 0; - for(Int_t binx = Histo->GetXaxis()->FindBin(CutX); binx<= Histo->GetNbinsX()+1; ++binx){ - Integral += Histo->GetBinContent(binx); - error += Histo->GetBinError(binx)*Histo->GetBinError(binx); - } - error = sqrt(error); - error /= Entries; - return Integral/Entries; -} - - - - -double GetEventInRange(double min, double max, TH1D* hist, double& error){ - int binMin = hist->GetXaxis()->FindBin(min); - int binMax = hist->GetXaxis()->FindBin(max); - error = 0; for(int i=binMin;iGetBinError(i),2); } error = sqrt(error); - return hist->Integral(binMin,binMax); -} - -double GetMassFromBeta(double P, double beta){ - double gamma = 1/sqrt(1-beta*beta); - return P/(beta*gamma); -} - -double GetTOFMass(double P, double TOF){ - return GetMassFromBeta(P, 1/TOF); -} - - -double GetIBeta(double I, bool MC=false){ - double K, C; - - if(MC){ - K = dEdxK_MC; - C = dEdxC_MC; - }else{ - K = dEdxK_Data; - C = dEdxC_Data; - } - - double a = K / (I-C); - double b2 = a / (a+1); - - if(b2<0)return -1*sqrt(b2); - return sqrt(b2); -} - - - -double GetMass(double P, double I, bool MC=false){ - if(MC){ - const double& K = dEdxK_MC; - const double& C = dEdxC_MC; - - if(I-C<0)return -1; - return sqrt((I-C)/K)*P; - }else{ - const double& K = dEdxK_Data; - const double& C = dEdxC_Data; - - if(I-C<0)return -1; - return sqrt((I-C)/K)*P; - } - - return -1; -} - -TF1* GetMassLine(double M, bool MC=false) -{ - double K; double C; - if(MC){ - K = dEdxK_MC; - C = dEdxC_MC; - }else{ - K = dEdxK_Data; - C = dEdxC_Data; - } - - double BetaMax = 0.9; - double PMax = sqrt((BetaMax*BetaMax*M*M)/(1-BetaMax*BetaMax)); - - double BetaMin = 0.2; - double PMin = sqrt((BetaMin*BetaMin*M*M)/(1-BetaMin*BetaMin)); - - TF1* MassLine = new TF1("MassLine","[2] + ([0]*[0]*[1])/(x*x)", PMin, PMax); - MassLine->SetParName (0,"M"); - MassLine->SetParName (1,"K"); - MassLine->SetParName (2,"C"); - MassLine->SetParameter(0, M); - MassLine->SetParameter(1, K); - MassLine->SetParameter(2, C); - MassLine->SetLineWidth(2); - return MassLine; -} - - - -double deltaR(double eta1, double phi1, double eta2, double phi2) { - double deta = eta1 - eta2; - double dphi = phi1 - phi2; - while (dphi > M_PI) dphi -= 2*M_PI; - while (dphi <= -M_PI) dphi += 2*M_PI; - return sqrt(deta*deta + dphi*dphi); -} - - -std::string LegendFromType(const std::string& InputPattern){ - if(InputPattern.find("Type0",0) DValue; - std::vector PValue; - - for(float WP_Pt=0;WP_Pt>=-5;WP_Pt-=0.5f){ - for(float WP_I =0;WP_I >=-5;WP_I -=0.5f){ - char Buffer[2048]; - sprintf(Buffer,"%sWPPt%+03i/WPI%+03i/DumpHistos.root",InputPattern.c_str(),(int)(10*WP_Pt),(int)(10*WP_I)); - TFile* InputFile = new TFile(Buffer); - if(!InputFile || InputFile->IsZombie() || !InputFile->IsOpen() || InputFile->TestBit(TFile::kRecovered) )continue; - - double d=0, p=0;//, m=0; - double error =0; - TH1D* Hd = (TH1D*)GetObjectFromPath(InputFile, "Mass_Data");if(Hd){d=GetEventInRange(0,75,Hd,error);delete Hd;} - TH1D* Hp = (TH1D*)GetObjectFromPath(InputFile, "Mass_Pred");if(Hp){p=GetEventInRange(0,75,Hp,error);delete Hp;} -// TH1D* Hm = (TH1D*)GetObjectFromPath(InputFile, "Mass_MCTr");if(Hm){m=GetEventInRange(0,75,Hm);delete Hm;} - -// if(!(d!=d) && p>0 && d>10 && (WP_Pt+WP_I)<=-3){ -// if(!(d!=d) && p>0 && d>20 && (WP_Pt+WP_I)<=-3){ - if(!(d!=d) && p>0 && d>20 && (WP_Pt+WP_I)<=-2){ -// if(!(d!=d) && p>0 && d>500 && (WP_Pt+WP_I)<=-2){ - DValue.push_back(d); - PValue.push_back(p); - printf("%6.2f %6.2f (eff=%6.2E) --> %f (d=%6.2E)\n",WP_Pt,WP_I, pow(10,WP_Pt+WP_I),d/p, d); - Rescale += (d/p); - NPoints++; - } - InputFile->Close(); - }} - printf("----------------------------\n"); - Rescale /= NPoints; - - for(unsigned int i=0;iGet(firstPart.c_str()); - if(TMP!=NULL)return GetObjectFromPath(TMP,endPart,GetACopy); - - printf("BUG: %s\n",Path.c_str()); - return NULL; - }else{ - if(GetACopy){ - return (File->Get(Path.c_str()))->Clone(); - }else{ - return File->Get(Path.c_str()); - } - } -} - -TObject* GetObjectFromPath(TDirectory* Container, TDirectory* File, std::string Path, bool GetACopy=false){ - TObject* toreturn = GetObjectFromPath(File,Path,GetACopy); - if(TH1* th1 = dynamic_cast(toreturn))th1->SetDirectory(Container); - return toreturn; -} - - -void MakeDirectories(std::string path){ -/* size_t pos = 0; - - while(pos!=std::string::npos){ - pos = path.find("/",pos+1); - if(pos!=std::string::npos){ - system( (std::string("mkdir -p ") + path.substr(0,pos)).c_str()); - } - } -*/ - - system( (std::string("mkdir -p ") + path).c_str()); -} - -void SaveCanvas(TCanvas* c, std::string path, std::string name, bool OnlyPPNG=false){ - std::string tmppath = path; - if(tmppath[tmppath.length()-1]!='/')tmppath += "_"; - tmppath += name; - - std::string filepath; - filepath = tmppath + ".png"; c->SaveAs(filepath.c_str()); if(OnlyPPNG)return; - filepath = tmppath + ".eps"; c->SaveAs(filepath.c_str()); - filepath = tmppath + ".C" ; c->SaveAs(filepath.c_str()); - filepath = tmppath + ".pdf"; c->SaveAs(filepath.c_str()); -} - -//void DrawPreliminary(int Type, double X=0.28, double Y=0.98, double W=0.85, double H=0.95){ -//void DrawPreliminary(double Lumi, double X=0.12, double Y=1.00, double W=0.80, double H=0.945){ //USED FOR PAS -//void DrawPreliminary(double Lumi, double X=0.42, double Y=0.98, double W=0.82, double H=0.945){ -void DrawPreliminary(double Lumi, double X=0.40, double Y=0.995, double W=0.82, double H=0.945){ - TPaveText* T = new TPaveText(X,Y,W,H, "NDC"); - T->SetFillColor(0); - T->SetTextAlign(22); - if(Lumi<0 )T->AddText("CMS Preliminary #sqrt{s} = 7 TeV"); - - if(Lumi>0 ){ - char tmp[2048]; -// sprintf(tmp,"CMS Preliminary 2010 : L_{int} =%4.1f nb^{-1} at #sqrt{s} = 7 TeV",Lumi*1000.0); -// sprintf(tmp,"CMS Preliminary 2010 : %4.1f nb^{-1} #sqrt{s} = 7 TeV",Lumi*1000.0); -// sprintf(tmp,"CMS Preliminary 2010 #sqrt{s} = 7TeV %4.1f nb ^{-1}",Lumi*1000.0); -// sprintf(tmp,"CMS Preliminary 2010 #sqrt{s} = 7TeV %3.0f nb ^{-1}",Lumi*1000.0); -// sprintf(tmp,"CMS Preliminary 2010 #sqrt{s} = 7TeV %4.2f pb ^{-1}",Lumi*1.0); //USED FOR PAS -// sprintf(tmp,"CMS 2010 #sqrt{s} = 7 TeV %4.2f pb ^{-1}",Lumi*1.0); -// sprintf(tmp,"CMS #sqrt{s} = 7 TeV %4.2f pb ^{-1}",Lumi*1.0); - sprintf(tmp,"CMS Preliminary #sqrt{s} = 7 TeV %1.1f fb ^{-1}",Lumi*0.001); - - T->AddText(tmp); - } - T->Draw("same"); -} - -void DrawLegend (TObject** Histos, std::vector legend, std::string Title, std::string Style, double X=0.79, double Y=0.92, double W=0.20, double H=0.05) -{ - int N = legend.size(); - - if(legend[0]!=""){ - TLegend* leg; - leg = new TLegend(X,Y,X-W,Y - N*H); - leg->SetFillColor(0); - leg->SetBorderSize(0); - //leg->SetTextAlign(32); - if(Title!="")leg->SetHeader(Title.c_str()); - - if(Style=="DataMC"){ - for(int i=0;iClone(); - temp->SetMarkerSize(1.3); - if(i==0){ - leg->AddEntry(temp, legend[i].c_str() ,"P"); - }else{ - leg->AddEntry(temp, legend[i].c_str() ,"L"); - } - } - }else{ - for(int i=0;iClone(); - temp->SetMarkerSize(1.3); - leg->AddEntry(temp, legend[i].c_str() ,Style.c_str()); - } - } - leg->Draw(); - } -} - - -void DrawStatBox(TObject** Histos, std::vector legend, bool Mean, double X=0.15, double Y=0.93, double W=0.15, double H=0.03) -{ - int N = legend.size(); - char buffer[255]; - - if(Mean)H*=3; - for(int i=0;iGetEntries()); - stat->AddText(buffer); - - if(Mean){ - sprintf(buffer,"Mean : %6.2f\n",Histo->GetMean()); - stat->AddText(buffer); - - sprintf(buffer,"RMS : %6.2f\n",Histo->GetRMS()); - stat->AddText(buffer); - } - - stat->SetFillColor(0); - stat->SetLineColor(Color[i]); - stat->SetTextColor(Color[i]); - stat->SetBorderSize(0); - stat->SetMargin(0.05); - stat->SetTextAlign(12); - stat->Draw(); - } -} - - - -void DrawTH2D(TH2D** Histos, std::vector legend, std::string Style, std::string Xlegend, std::string Ylegend, double xmin, double xmax, double ymin, double ymax) -{ - int N = legend.size(); - - for(int i=0;iSetTitle(""); - Histos[i]->SetStats(kFALSE); - Histos[i]->GetXaxis()->SetTitle(Xlegend.c_str()); - Histos[i]->GetYaxis()->SetTitle(Ylegend.c_str()); - Histos[i]->GetYaxis()->SetTitleOffset(1.60); - if(xmin!=xmax)Histos[i]->SetAxisRange(xmin,xmax,"X"); - if(ymin!=ymax)Histos[i]->SetAxisRange(ymin,ymax,"Y"); - Histos[i]->SetMarkerStyle(Marker[i]); - Histos[i]->SetMarkerColor(Color[i]); - Histos[i]->SetMarkerSize(0.3); - } - - char Buffer[256]; - Histos[0]->Draw(Style.c_str()); - for(int i=1;iDraw(Buffer); - } -} - - -void DrawSuperposedHistos(TH1** Histos, std::vector legend, std::string Style, std::string Xlegend, std::string Ylegend, double xmin, double xmax, double ymin, double ymax, bool Normalize=false) -{ - int N = legend.size(); - - double HistoMax = -1; - int HistoHeighest = -1; - - for(int i=0;iIntegral()!=0)Histos[i]->Scale(1.0/Histos[i]->Integral()); - Histos[i]->SetTitle(""); - Histos[i]->SetStats(kFALSE); - Histos[i]->GetXaxis()->SetTitle(Xlegend.c_str()); - Histos[i]->GetYaxis()->SetTitle(Ylegend.c_str()); - Histos[i]->GetXaxis()->SetTitleOffset(1.1); - Histos[i]->GetYaxis()->SetTitleOffset(1.70); - Histos[i]->GetXaxis()->SetNdivisions(505); - Histos[i]->GetYaxis()->SetNdivisions(505); - if(xmin!=xmax)Histos[i]->SetAxisRange(xmin,xmax,"X"); - if(ymin!=ymax)Histos[i]->SetAxisRange(ymin,ymax,"Y"); - Histos[i]->SetFillColor(0); - Histos[i]->SetMarkerStyle(Marker[i]); - Histos[i]->SetMarkerColor(Color[i]); - Histos[i]->SetMarkerSize(1.5); - Histos[i]->SetLineColor(Color[i]); - Histos[i]->SetLineWidth(2); - if(Style=="DataMC" && i==0){ - Histos[i]->SetFillColor(0); - Histos[i]->SetMarkerStyle(20); - Histos[i]->SetMarkerColor(1); - Histos[i]->SetMarkerSize(1); - Histos[i]->SetLineColor(1); - Histos[i]->SetLineWidth(2); - } - - if(Histos[i]->GetMaximum() >= HistoMax){ - HistoMax = Histos[i]->GetMaximum(); - HistoHeighest = i; - } - - } - - char Buffer[256]; - if(Style=="DataMC"){ - if(HistoHeighest==0){ - Histos[HistoHeighest]->Draw("E1"); - }else{ - Histos[HistoHeighest]->Draw("HIST"); - } - for(int i=0;iDraw("same E1"); - }else{ - Histos[i]->Draw("same"); - } - } - }else{ - Histos[HistoHeighest]->Draw(Style.c_str()); - for(int i=0;iDraw(Buffer); - } - } -} - - -void Smart_SetAxisRange(TH2D* histo){ - double Min=1E50; - double Max=1E-50; - for(int x=1;x<=histo->GetNbinsX();x++){ - for(int y=1;y<=histo->GetNbinsY();y++){ - double c = histo->GetBinContent(x,y); - if(c0)Min=c; - if(c>Max)Max=c; - }} - if(Max/Min<10 ){Max*= 5.0; Min/= 5.0;} - else if(Max/Min<100){Max*=10.0; Min/=10.0;} - histo->SetAxisRange(Min,Max,"Z"); -} - - -#endif diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_PlotStructure.h b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_PlotStructure.h deleted file mode 100644 index 0472e2e7136e6..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_PlotStructure.h +++ /dev/null @@ -1,965 +0,0 @@ - -#include "Analysis_Samples.h" - - -struct stPlots { - bool SelPlot; - std::string Name; - TDirectory* Directory; - TTree* Tree; - unsigned int NCuts; - unsigned int Tree_Run; - unsigned int Tree_Event; - unsigned int Tree_Hscp; - float Tree_Pt; - float Tree_I; - float Tree_TOF; - float Tree_Mass; - - TH2F* Mass; - TH2F* MassTOF; - TH2F* MassComb; - TH2F* MaxEventMass; - - TH2F* Mass_SystP; - TH2F* MassTOF_SystP; - TH2F* MassComb_SystP; - TH2F* MaxEventMass_SystP; - - TH2F* Mass_SystI; - TH2F* MassTOF_SystI; - TH2F* MassComb_SystI; - TH2F* MaxEventMass_SystI; - - TH2F* Mass_SystM; - TH2F* MassTOF_SystM; - TH2F* MassComb_SystM; - TH2F* MaxEventMass_SystM; - - TH2F* Mass_SystT; - TH2F* MassTOF_SystT; - TH2F* MassComb_SystT; - TH2F* MaxEventMass_SystT; - - TH1F* TotalE; - TH1F* TotalTE; - TH1F* Total; - TH1F* V3D; - TH1F* Chi2; - TH1F* Qual; - TH1F* TNOH; - TH1F* TNOM; - TH1F* nDof; - TH1F* Pterr; - TH1F* MPt; - TH1F* MI; - TH1F* MTOF; - TH1F* TIsol; - TH1F* EIsol; - TH1F* Pt; - TH1F* I; - TH1F* TOF; - TH1F* HSCPE; - - TH1F* HSCPE_SystP; - TH1F* HSCPE_SystI; - TH1F* HSCPE_SystM; - TH1F* HSCPE_SystT; - - TH1F* Beta_Gen; - TH1F* Beta_GenCharged; - TH1F* Beta_Triggered; - TH1F* Beta_Matched; - TH1F* Beta_PreselectedA; - TH1F* Beta_PreselectedB; - TH1F* Beta_PreselectedC; - TH2F* Beta_SelectedP; - TH2F* Beta_SelectedI; - TH2F* Beta_SelectedT; - - TH1F* BS_V3D; - TH1F* BS_Chi2; - TH1F* BS_Qual; - TH1F* BS_TNOH; - TH1F* BS_TNOHFraction; - TH1F* BS_Eta; - TH1F* BS_TNOM; - TH1F* BS_nDof; - TH1F* BS_Pterr; - TH1F* BS_MPt; - TH1F* BS_MIs; - TH1F* BS_MIm; - TH1F* BS_MTOF; - TH1F* BS_TIsol; - TH1F* BS_EIsol; - - TH1F* BS_P; TH2F* AS_P; - TH1F* BS_Pt; TH2F* AS_Pt; - TH1F* BS_Is; TH2F* AS_Is; - TH1F* BS_Im; TH2F* AS_Im; - TH1F* BS_TOF; TH2F* AS_TOF; - - TH2F* BS_EtaIs; //TH3F* AS_EtaIs; - TH2F* BS_EtaIm; //TH3F* AS_EtaIm; - TH2F* BS_EtaP; //TH3F* AS_EtaP; - TH2F* BS_EtaPt; //TH3F* AS_EtaPt; - TH2F* BS_EtaTOF; //TH3F* AS_EtaTOF; - - TH2F* BS_PIs; TH3F* AS_PIs; - TH2F* BS_PIm; TH3F* AS_PIm; - TH2F* BS_PtIs; TH3F* AS_PtIs; - TH2F* BS_PtIm; TH3F* AS_PtIm; - TH2F* BS_TOFIs; TH3F* AS_TOFIs; - TH2F* BS_TOFIm; TH3F* AS_TOFIm; -}; - -void stPlots_Init(TFile* HistoFile, stPlots& st, std::string BaseName, unsigned int NCuts, bool SkipSelectionPlot=false) -{ - st.SelPlot = !SkipSelectionPlot; - st.Name = BaseName; - st.NCuts = NCuts; - - std::string Name; - Name = BaseName; st.Directory = HistoFile->mkdir(Name.c_str(), Name.c_str()); - st.Directory->cd(); - - Name = "TotalE"; st.TotalE = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "TotalTE"; st.TotalTE= new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "Total"; st.Total = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "V3D"; st.V3D = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "Chi2"; st.Chi2 = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "Qual"; st.Qual = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "TNOH"; st.TNOH = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "TNOM"; st.TNOM = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "nDof"; st.nDof = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "Pterr"; st.Pterr = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "TIsol"; st.TIsol = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "EIsol"; st.EIsol = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "MPt"; st.MPt = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "MI"; st.MI = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "MTOF"; st.MTOF = new TH1F(Name.c_str(), Name.c_str(), 1 , 0, 1); - Name = "Pt"; st.Pt = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "I"; st.I = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "TOF"; st.TOF = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "HSCPE"; st.HSCPE = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - - Name = "HSCPE_SystP"; st.HSCPE_SystP = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "HSCPE_SystI"; st.HSCPE_SystI = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "HSCPE_SystM"; st.HSCPE_SystM = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - Name = "HSCPE_SystT"; st.HSCPE_SystT = new TH1F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts); - - - - Name = "Mass"; st.Mass = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.Mass ->Sumw2(); - Name = "MassTOF"; st.MassTOF = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassTOF ->Sumw2(); - Name = "MassComb"; st.MassComb = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassComb->Sumw2(); - Name = "MaxEventMass"; st.MaxEventMass = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MaxEventMass ->Sumw2(); - - Name = "Mass_SystP"; st.Mass_SystP = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.Mass_SystP ->Sumw2(); - Name = "MassTOF_SystP"; st.MassTOF_SystP = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassTOF_SystP ->Sumw2(); - Name = "MassComb_SystP"; st.MassComb_SystP = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassComb_SystP->Sumw2(); - Name = "MaxEventMass_SystP"; st.MaxEventMass_SystP = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound);st.MaxEventMass_SystP->Sumw2(); - - Name = "Mass_SystI"; st.Mass_SystI = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.Mass_SystI ->Sumw2(); - Name = "MassTOF_SystI"; st.MassTOF_SystI = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassTOF_SystI ->Sumw2(); - Name = "MassComb_SystI"; st.MassComb_SystI = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassComb_SystI->Sumw2(); - Name = "MaxEventMass_SystI"; st.MaxEventMass_SystI = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound);st.MaxEventMass_SystI->Sumw2(); - - Name = "Mass_SystM"; st.Mass_SystM = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.Mass_SystM ->Sumw2(); - Name = "MassTOF_SystM"; st.MassTOF_SystM = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassTOF_SystM ->Sumw2(); - Name = "MassComb_SystM"; st.MassComb_SystM = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassComb_SystM->Sumw2(); - Name = "MaxEventMass_SystM"; st.MaxEventMass_SystM = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound);st.MaxEventMass_SystM->Sumw2(); - - Name = "Mass_SystT"; st.Mass_SystT = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.Mass_SystT ->Sumw2(); - Name = "MassTOF_SystT"; st.MassTOF_SystT = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassTOF_SystT ->Sumw2(); - Name = "MassComb_SystT"; st.MassComb_SystT = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound); st.MassComb_SystT->Sumw2(); - Name = "MaxEventMass_SystT"; st.MaxEventMass_SystT = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, MassNBins, 0, MassHistoUpperBound);st.MaxEventMass_SystT->Sumw2(); - - - if(SkipSelectionPlot)return; - Name = "Beta_Gen" ; st.Beta_Gen = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_Gen ->Sumw2(); - Name = "Beta_GenChaged" ; st.Beta_GenCharged = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_GenCharged ->Sumw2(); - Name = "Beta_Triggered" ; st.Beta_Triggered = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_Triggered ->Sumw2(); - Name = "Beta_Matched" ; st.Beta_Matched = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_Matched ->Sumw2(); - Name = "Beta_PreselectedA"; st.Beta_PreselectedA= new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_PreselectedA->Sumw2(); - Name = "Beta_PreselectedB"; st.Beta_PreselectedB= new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_PreselectedB->Sumw2(); - Name = "Beta_PreselectedC"; st.Beta_PreselectedC= new TH1F(Name.c_str(), Name.c_str(), 20, 0, 1); st.Beta_PreselectedC->Sumw2(); - Name = "Beta_SelectedP" ; st.Beta_SelectedP = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, 20, 0, 1); st.Beta_SelectedP ->Sumw2(); - Name = "Beta_SelectedI" ; st.Beta_SelectedI = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, 20, 0, 1); st.Beta_SelectedI ->Sumw2(); - Name = "Beta_SelectedT" ; st.Beta_SelectedT = new TH2F(Name.c_str(), Name.c_str(),NCuts,0,NCuts, 20, 0, 1); st.Beta_SelectedT ->Sumw2(); - - Name = "BS_V3D" ; st.BS_V3D = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 5); st.BS_V3D->Sumw2(); - Name = "BS_Chi2" ; st.BS_Chi2 = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 5); st.BS_Chi2->Sumw2(); - Name = "BS_Qual" ; st.BS_Qual = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 20); st.BS_Qual->Sumw2(); - Name = "BS_TNOH" ; st.BS_TNOH = new TH1F(Name.c_str(), Name.c_str(), 50, 0, 40); st.BS_TNOH->Sumw2(); - Name = "BS_TNOHFraction" ; st.BS_TNOHFraction = new TH1F(Name.c_str(), Name.c_str(), 50, 0, 1); st.BS_TNOHFraction->Sumw2(); - Name = "BS_Eta" ; st.BS_Eta = new TH1F(Name.c_str(), Name.c_str(), 50, -2.6, 2.6); st.BS_Eta->Sumw2(); - Name = "BS_TNOM" ; st.BS_TNOM = new TH1F(Name.c_str(), Name.c_str(), 40, 0, 40); st.BS_TNOM->Sumw2(); - Name = "BS_nDof" ; st.BS_nDof = new TH1F(Name.c_str(), Name.c_str(), 20, 0, 40); st.BS_nDof->Sumw2(); - Name = "BS_PtErr"; st.BS_Pterr = new TH1F(Name.c_str(), Name.c_str(), 40, 0, 1); st.BS_Pterr->Sumw2(); - Name = "BS_MPt" ; st.BS_MPt = new TH1F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound); st.BS_MPt->Sumw2(); - Name = "BS_MIs" ; st.BS_MIs = new TH1F(Name.c_str(), Name.c_str(), 50, 0, dEdxS_UpLim); st.BS_MIs->Sumw2(); - Name = "BS_MIm" ; st.BS_MIm = new TH1F(Name.c_str(), Name.c_str(), 50, 0, dEdxM_UpLim); st.BS_MIm->Sumw2(); - Name = "BS_MTOF" ; st.BS_MTOF = new TH1F(Name.c_str(), Name.c_str(), 50, -2, 5); st.BS_MTOF->Sumw2(); - Name = "BS_TIsol"; st.BS_TIsol = new TH1F(Name.c_str(), Name.c_str(), 25, 0, 100); st.BS_TIsol->Sumw2(); - Name = "BS_EIsol"; st.BS_EIsol = new TH1F(Name.c_str(), Name.c_str(), 25, 0, 1.5); st.BS_EIsol->Sumw2(); - - Name = "BS_P" ; st.BS_P = new TH1F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound); st.BS_P->Sumw2(); - Name = "BS_Pt" ; st.BS_Pt = new TH1F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound); st.BS_Pt->Sumw2(); - Name = "BS_Is" ; st.BS_Is = new TH1F(Name.c_str(), Name.c_str(), 50, 0, dEdxS_UpLim); st.BS_Is->Sumw2(); - Name = "BS_Im" ; st.BS_Im = new TH1F(Name.c_str(), Name.c_str(), 50, 0, dEdxM_UpLim); st.BS_Im->Sumw2(); - Name = "BS_TOF" ; st.BS_TOF = new TH1F(Name.c_str(), Name.c_str(), 50, 1, 5); st.BS_TOF->Sumw2(); - - Name = "AS_P" ; st.AS_P = new TH2F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound); st.AS_P->Sumw2(); - Name = "AS_Pt" ; st.AS_Pt = new TH2F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound); st.AS_Pt->Sumw2(); - Name = "AS_Is" ; st.AS_Is = new TH2F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, dEdxS_UpLim); st.AS_Is->Sumw2(); - Name = "AS_Im" ; st.AS_Im = new TH2F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, dEdxM_UpLim); st.AS_Im->Sumw2(); - Name = "AS_TOF" ; st.AS_TOF = new TH2F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 1, 5); st.AS_TOF->Sumw2(); - - - Name = "BS_EtaIs"; st.BS_EtaIs = new TH2F(Name.c_str(), Name.c_str(), 50,-3, 3, 50, 0, dEdxS_UpLim); - Name = "BS_EtaIm"; st.BS_EtaIm = new TH2F(Name.c_str(), Name.c_str(), 50,-3, 3, 50, 2.8, dEdxM_UpLim); - Name = "BS_EtaP" ; st.BS_EtaP = new TH2F(Name.c_str(), Name.c_str(), 50,-3, 3, 50, 0, PtHistoUpperBound); - Name = "BS_EtaPt"; st.BS_EtaPt = new TH2F(Name.c_str(), Name.c_str(), 50,-3, 3, 50, 0, PtHistoUpperBound); - Name = "BS_EtaTOF" ; st.BS_EtaTOF = new TH2F(Name.c_str(), Name.c_str(), 50,-3, 3, 50, 0, 3); - Name = "BS_PIs" ; st.BS_PIs = new TH2F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound, 50, 0, dEdxS_UpLim); - Name = "BS_PIm" ; st.BS_PIm = new TH2F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound, 50, 0, dEdxM_UpLim); - Name = "BS_PtIs" ; st.BS_PtIs = new TH2F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound, 50, 0, dEdxS_UpLim); - Name = "BS_PtIm" ; st.BS_PtIm = new TH2F(Name.c_str(), Name.c_str(), 50, 0, PtHistoUpperBound, 50, 0, dEdxM_UpLim); - Name = "BS_TOFIs"; st.BS_TOFIs = new TH2F(Name.c_str(), Name.c_str(), 50, 1, 5, 50, 0, dEdxS_UpLim); - Name = "BS_TOFIm"; st.BS_TOFIm = new TH2F(Name.c_str(), Name.c_str(), 50, 1, 5, 50, 0, dEdxM_UpLim); - -// Name = "AS_EtaIs"; st.AS_EtaIs = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50,-3, 3, 50, 0, dEdxS_UpLim); -// Name = "AS_EtaIm"; st.AS_EtaIm = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50,-3, 3, 50, 0, dEdxM_UpLim); -// Name = "AS_EtaP" ; st.AS_EtaP = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50,-3, 3, 50, 0, PtHistoUpperBound); -// Name = "AS_EtaPt"; st.AS_EtaPt = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50,-3, 3, 50, 0, PtHistoUpperBound); -// Name = "AS_EtaTOF"; st.AS_EtaTOF = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50,-3, 3, 50, 0, 3); - Name = "AS_PIs" ; st.AS_PIs = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound, 50, 0, dEdxS_UpLim); - Name = "AS_PIm" ; st.AS_PIm = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound, 50, 0, dEdxM_UpLim); - Name = "AS_PtIs" ; st.AS_PtIs = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound, 50, 0, dEdxS_UpLim); - Name = "AS_PtIm" ; st.AS_PtIm = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 0, PtHistoUpperBound, 50, 0, dEdxM_UpLim); - Name = "AS_TOFIs"; st.AS_TOFIs = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 1, 5, 50, 0, dEdxS_UpLim); - Name = "AS_TOFIm"; st.AS_TOFIm = new TH3F(Name.c_str(), Name.c_str(), NCuts, 0, NCuts, 50, 1, 5, 50, 0, dEdxM_UpLim); - - - st.Tree = new TTree("HscpCandidates", "HscpCandidates"); - st.Tree->SetDirectory(0); - st.Tree->Branch("Run" ,&st.Tree_Run ,"Run/i"); - st.Tree->Branch("Event" ,&st.Tree_Event ,"Event/i"); - st.Tree->Branch("Hscp" ,&st.Tree_Hscp ,"Hscp/i"); - st.Tree->Branch("Pt" ,&st.Tree_Pt ,"Pt/F"); - st.Tree->Branch("I" ,&st.Tree_I ,"I/F"); - st.Tree->Branch("TOF" ,&st.Tree_TOF ,"TOF/F"); - st.Tree->Branch("Mass" ,&st.Tree_Mass ,"Mass/F"); - - HistoFile->cd(); -} - - -void stPlots_InitFromFile(TFile* HistoFile, stPlots& st, std::string BaseName, TFile* InputFile) -{ - st.Name = BaseName; - std::string Name; - Name = BaseName; - - st.Directory = new TDirectory((Name+"ReadFromFile").c_str(), (Name+"ReadFromFile").c_str()); - st.Directory->cd(); - TDirectory::AddDirectory(kTRUE); - TH1::AddDirectory(kTRUE); - - st.TotalE = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TotalE"); - st.TotalTE = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TotalTE"); - st.Total = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Total"); - st.V3D = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/V3D"); - st.Chi2 = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Chi2"); - st.Qual = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Qual"); - st.TNOH = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TNOH"); - st.TNOM = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TNOM"); - st.nDof = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/nDof"); - st.Pterr = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Pterr"); - st.TIsol = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TIsol"); - st.EIsol = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/EIsol"); - st.MPt = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MPt"); - st.MI = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MI"); - st.MTOF = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MTOF"); - st.Pt = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Pt"); - st.I = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/I"); - st.TOF = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/TOF"); - st.HSCPE = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/HSCPE"); - - st.HSCPE_SystP = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/HSCPE_SystP"); - st.HSCPE_SystI = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/HSCPE_SystI"); - st.HSCPE_SystM = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/HSCPE_SystM"); - st.HSCPE_SystT = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/HSCPE_SystT"); - - st.Mass = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Mass"); - st.MassTOF = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassTOF"); - st.MassComb = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassComb"); - st.MaxEventMass = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MaxEventMass"); - - st.Mass_SystP = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Mass_SystP"); - st.MassTOF_SystP = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassTOF_SystP"); - st.MassComb_SystP = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassComb_SystP"); - st.MaxEventMass_SystP= (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MaxEventMass_SystP"); - - st.Mass_SystI = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Mass_SystI"); - st.MassTOF_SystI = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassTOF_SystI"); - st.MassComb_SystI = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassComb_SystI"); - st.MaxEventMass_SystI = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MaxEventMass_SystI"); - - st.Mass_SystT = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Mass_SystT"); - st.MassTOF_SystT = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassTOF_SystT"); - st.MassComb_SystT = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MassComb_SystT"); - st.MaxEventMass_SystT = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/MaxEventMass_SystT"); - - - st.Beta_Gen = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_Gen"); - st.Beta_GenCharged = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_GenCharged"); - st.Beta_Triggered = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_Triggered"); - st.Beta_Matched = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_Matched"); - st.Beta_PreselectedA = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_PreselectedA"); - st.Beta_PreselectedB = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_PreselectedB"); - st.Beta_PreselectedC = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_PreselectedC"); - st.Beta_SelectedP = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_SelectedP"); - st.Beta_SelectedI = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_SelectedI"); - st.Beta_SelectedT = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/Beta_SelectedT"); - - st.BS_V3D = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_V3D"); - st.BS_Chi2 = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Chi2"); - st.BS_Qual = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Qual"); - st.BS_TNOH = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TNOH"); - st.BS_TNOHFraction = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TNOHFraction"); - st.BS_Eta = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Eta"); - st.BS_TNOM = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TNOM"); - st.BS_nDof = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_nDof"); - st.BS_Pterr = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_PtErr"); - st.BS_MPt = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_MPt"); - st.BS_MIm = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_MIm"); - st.BS_MIs = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_MIs"); - st.BS_MTOF = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_MTOF"); - st.BS_TIsol = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TIsol"); - st.BS_EIsol = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EIsol"); - st.BS_P = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_P"); - st.AS_P = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_P"); - st.BS_Pt = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Pt"); - st.AS_Pt = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_Pt"); - st.BS_Im = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Im"); - st.AS_Im = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_Im"); - st.BS_Is = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_Is"); - st.AS_Is = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_Is"); - st.BS_TOF = (TH1F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TOF"); - st.AS_TOF = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_TOF"); - st.BS_EtaIs = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EtaIs"); - //st.AS_EtaIs = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_EtaIs"); - st.BS_EtaIm = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EtaIm"); - //st.AS_EtaIm = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_EtaIm"); - st.BS_EtaP = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EtaP"); - //st.AS_EtaP = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_EtaP"); - st.BS_EtaPt = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EtaPt"); - //st.AS_EtaPt = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_EtaPt"); - st.BS_EtaTOF = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_EtaTOF"); - //st.AS_EtaTOF = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_EtaTOF"); - st.BS_PIs = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_PIs"); - st.AS_PIs = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_PIs"); - st.BS_PIm = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_PIm"); - st.AS_PIm = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_PIm"); - st.BS_PtIs = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_PtIs"); - st.AS_PtIs = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_PtIs"); - st.BS_PtIm = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_PtIm"); - st.AS_PtIm = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_PtIm"); - st.BS_TOFIs = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TOFIs"); - st.AS_TOFIs = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_TOFIs"); - st.BS_TOFIm = (TH2F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/BS_TOFIm"); - st.AS_TOFIm = (TH3F*)GetObjectFromPath(st.Directory, InputFile, BaseName + "/AS_TOFIm"); - HistoFile->cd(); -} - -void stPlots_Clear(stPlots& st, bool WriteFirst=false) -{ - if(WriteFirst){ - st.Tree->SetDirectory(st.Directory); - st.Directory->Write(); - } - delete st.Directory; -} - - -void stPlots_FillTree(stPlots& st, unsigned int Run, unsigned int Event, unsigned int Hscp, double Pt, double I, double TOF, double Mass, int MaxEntry=20000){ - if(MaxEntry>0 && st.Tree->GetEntries()>=MaxEntry)return; - st.Tree_Run = Run; - st.Tree_Event = Event; - st.Tree_Hscp = Hscp; - st.Tree_Pt = Pt; - st.Tree_I = I; - st.Tree_TOF = TOF; - st.Tree_Mass = Mass; - st.Tree->Fill(); -} - - -void stPlots_Dump(stPlots& st, FILE* pFile, int CutIndex){ - - fprintf(pFile,"---------- %10s ----------\n",st.Name.c_str()); - fprintf(pFile,"#Events = %4.2E\n",st.TotalE->GetBinContent(1 )); - fprintf(pFile,"#Triggered Events = %4.2E Eff=%4.3E\n",st.TotalTE->GetBinContent(1 ),st.TotalTE->GetBinContent(1 )/st.TotalE->GetBinContent(1 )); - fprintf(pFile,"#Tracks = %4.2E\n",st.Total->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing TNOH cuts = %4.2E Eff=%4.3E\n",st.TNOH ->GetBinContent(1 ), st.TNOH ->GetBinContent(1 ) /st.Total->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing TNOM cuts = %4.2E Eff=%4.3E\n",st.TNOM ->GetBinContent(1 ), st.TNOM ->GetBinContent(1 ) /st.TNOH ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing nDof cuts = %4.2E Eff=%4.3E\n",st.nDof ->GetBinContent(1 ), st.nDof ->GetBinContent(1 ) /st.TNOM ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Qual cuts = %4.2E Eff=%4.3E\n",st.Qual ->GetBinContent(1 ), st.Qual ->GetBinContent(1 ) /st.nDof ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Chi2 cuts = %4.2E Eff=%4.3E\n",st.Chi2 ->GetBinContent(1 ), st.Chi2 ->GetBinContent(1 ) /st.Qual ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Min Pt cuts = %4.2E Eff=%4.3E\n",st.MPt ->GetBinContent(1 ), st.MPt ->GetBinContent(1 ) /st.Chi2 ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Min I cuts = %4.2E Eff=%4.3E\n",st.MI ->GetBinContent(1 ), st.MI ->GetBinContent(1 ) /st.MPt ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Min TOFcuts = %4.2E Eff=%4.3E\n",st.MTOF ->GetBinContent(1 ), st.MTOF ->GetBinContent(1 ) /st.MI ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing V3D cuts = %4.2E Eff=%4.3E\n",st.V3D ->GetBinContent(1 ), st.V3D ->GetBinContent(1 ) /st.MI ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing TIsol cuts = %4.2E Eff=%4.3E\n",st.TIsol->GetBinContent(1 ), st.TIsol->GetBinContent(1 ) /st.V3D ->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing EIsol cuts = %4.2E Eff=%4.3E\n",st.EIsol->GetBinContent(1 ), st.EIsol->GetBinContent(1 ) /st.TIsol->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing PtErr cuts = %4.2E Eff=%4.3E\n",st.Pterr->GetBinContent(1 ), st.Pterr->GetBinContent(1 ) /st.EIsol->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Basic cuts = %4.2E Eff=%4.3E\n",st.Pterr->GetBinContent(1 ), st.Pterr->GetBinContent(1 ) /st.Total->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing Pt cuts = %4.2E Eff=%4.3E\n",st.Pt ->GetBinContent(CutIndex+1), st.Pt ->GetBinContent(CutIndex+1) /st.Pterr->GetBinContent(1 )); - fprintf(pFile,"#Tracks passing I cuts = %4.2E Eff=%4.3E\n",st.I ->GetBinContent(CutIndex+1), st.I ->GetBinContent(CutIndex+1) /st.Pt ->GetBinContent(CutIndex+1)); - fprintf(pFile,"#Tracks passing TOF cuts = %4.2E Eff=%4.3E\n",st.TOF ->GetBinContent(CutIndex+1), st.TOF ->GetBinContent(CutIndex+1) /st.I ->GetBinContent(CutIndex+1)); - fprintf(pFile,"#Tracks passing selection = %4.2E Eff=%4.3E\n",st.TOF ->GetBinContent(CutIndex+1), st.TOF ->GetBinContent(CutIndex+1) /st.Total->GetBinContent(1 )); - fprintf(pFile,"--------------------\n"); - fprintf(pFile,"HSCP Detection Efficiency Before Trigger Eff=%4.3E\n",st.TOF->GetBinContent(CutIndex+1) /(2*st.TotalE ->GetBinContent(1 ))); - fprintf(pFile,"HSCP Detection Efficiency After Trigger Eff=%4.3E\n",st.TOF->GetBinContent(CutIndex+1) /(2*st.TotalTE->GetBinContent(1 ))); - fprintf(pFile,"#HSCPTrack per HSCPEvent (with at least one HSCPTrack) Eff=%4.3E\n",st.TOF->GetBinContent(CutIndex+1) /( st.HSCPE ->GetBinContent(CutIndex+1))); - fprintf(pFile,"--------------------\n"); -} - - -void stPlots_Draw(stPlots& st, std::string SavePath, std::string LegendTitle, unsigned int CutIndex) -{ - TObject** Histos = new TObject*[10]; - std::vector legend; - TCanvas* c1; - - char CutIndexStr[255];sprintf(CutIndexStr,"_%03i",CutIndex); - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_EtaIs; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"EtaIs_BS", true); - delete c1; - -// c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// st.AS_EtaIs->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); -// Histos[0] = (TH1*)st.AS_EtaIs->Project3D("zy"); legend.push_back("After Cut"); -// DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", dEdxS_Legend.c_str(), 0,0, 0,0, false); -// c1->SetLogz(true); -// DrawPreliminary(IntegratedLuminosity); -// SaveCanvas(c1,SavePath,std::string("EtaIs_AS")+CutIndexStr, true); -// delete Histos[0]; -// delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_EtaIm; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", dEdxM_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"EtaIm_BS", true); - delete c1; - -// c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// st.AS_EtaIm->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); -// Histos[0] = (TH1*)st.AS_EtaIm->Project3D("zy");legend.push_back("After Cut"); -// DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", dEdxM_Legend.c_str(), 0,0, 0,0, false); -// c1->SetLogz(true); -// DrawPreliminary(IntegratedLuminosity); -// SaveCanvas(c1,SavePath,std::string("EtaIm_AS")+CutIndexStr, true); -// delete Histos[0]; -// delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_EtaP; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "p (GeV/c)", 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"EtaP_BS", true); - delete c1; - -// c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// st.AS_EtaP->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); -// Histos[0] = (TH1*)st.AS_EtaP->Project3D("zy"); legend.push_back("After Cut"); -// DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "p (GeV/c)", 0,0, 0,0, false); -// c1->SetLogz(true); -// DrawPreliminary(IntegratedLuminosity); -// SaveCanvas(c1,SavePath,std::string("EtaP_AS")+CutIndexStr, true); -// delete Histos[0]; -// delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_EtaPt; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "p_{T} (GeV/c)", 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"EtaPt_BS", true); - delete c1; - -// c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// st.AS_EtaPt->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); -// Histos[0] = (TH1*)st.AS_EtaPt->Project3D("zy");legend.push_back("After Cut"); -// DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "p_{T} (GeV/c)", 0,0, 0,0, false); -// c1->SetLogz(true); -// DrawPreliminary(IntegratedLuminosity); -// SaveCanvas(c1,SavePath,std::string("EtaPt_AS")+CutIndexStr, true); -// delete Histos[0]; -// delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_EtaTOF; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "1/#beta", 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"EtaTOF_BS", true); - delete c1; - -// c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// st.AS_EtaTOF->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); -// Histos[0] = (TH1*)st.AS_EtaTOF->Project3D("zy");legend.push_back("After Cut"); -// DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "#eta", "1/#beta", 0,0, 0,0, false); -// c1->SetLogz(true); -// DrawPreliminary(IntegratedLuminosity); -// SaveCanvas(c1,SavePath,std::string("EtaTOF_AS")+CutIndexStr, true); -// delete Histos[0]; -// delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_PIs; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p (GeV/c)", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"PIs_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_PIm; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p (GeV/c)", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"PIm_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_PtIs; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p_{T} (GeV/c)", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"PtIs_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_PtIm; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p_{T} (GeV/c)", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"PtIm_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_PIs->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_PIs->Project3D("zy"); legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p (GeV/c)", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("PIs_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_PIm->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_PIm->Project3D("zy"); legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p (GeV/c)", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("PIm_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_PtIs->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_PtIs->Project3D("zy"); legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p_{T} (GeV/c)", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("PtIs_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_PtIm->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_PtIm->Project3D("zy"); legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "p_{T} (GeV/c)", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("PtIm_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_TOFIs; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "1/#beta", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"TOFIs_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st.BS_TOFIm; legend.push_back("Before Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "1/#beta", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"TOFIm_BS", true); - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_TOFIs->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_TOFIs->Project3D("zy");legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "1/#beta", dEdxS_Legend.c_str(), 0,0, 0,0, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("TOFIs_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - st.AS_TOFIm->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - Histos[0] = (TH1*)st.AS_TOFIm->Project3D("zy");legend.push_back("After Cut"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "1/#beta", dEdxM_Legend.c_str(), 0,0, 0,15, false); - c1->SetLogz(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("TOFIm_AS")+CutIndexStr, true); - delete Histos[0]; - delete c1; -} - -void stPlots_DrawComparison(std::string SavePath, std::string LegendTitle, unsigned int CutIndex, stPlots* st1, stPlots* st2=NULL, stPlots* st3=NULL, stPlots* st4=NULL, stPlots* st5=NULL, stPlots* st6=NULL, stPlots* st7=NULL) -{ - char CutIndexStr[255];sprintf(CutIndexStr,"_%03i",CutIndex); - - bool IsTkOnly = (SavePath.find("Type0",0) lg; - std::vector st; - if(st1)st.push_back(st1); - if(st2)st.push_back(st2); - if(st3)st.push_back(st3); - if(st4)st.push_back(st4); - if(st5)st.push_back(st5); - if(st6)st.push_back(st6); - if(st7)st.push_back(st7); - - std::vector signals; - GetSignalDefinition(signals); - for(unsigned int i=0;iName){Index=s;break;} - } - if(st[i]->Name=="MCTr"){lg.push_back("MC");}else if(Index==-1){lg.push_back(st[i]->Name);}else{lg.push_back(signals[Index].Legend);} - } - - TH1** Histos = new TH1*[10]; - std::vector legend; - TCanvas* c1; - - for(unsigned int i=0;iName=="Data")continue; - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)st[i]->Beta_Gen; legend.push_back("Gen"); -// Histos[1] = (TH1*)st[i]->Beta_GenCharged; legend.push_back("Charged Gen"); - Histos[1] = (TH1*)st[i]->Beta_Triggered; legend.push_back("Triggered"); - DrawSuperposedHistos((TH1**)Histos, legend,"HIST E1", "#beta", "# HSCP", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,"","P", 0.36, 0.92, 0.20, 0.04); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,st[i]->Name + "_GenBeta", true); - delete c1; - } - - for(unsigned int i=0;iName=="Data")continue; - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); -// Histos[0] = (TH1*)st[i]->Beta_Gen; legend.push_back("Gen"); -// Histos[1] = (TH1*)st[i]->Beta_GenCharged; legend.push_back("Charged Gen"); - Histos[0] = (TH1*)st[i]->Beta_Triggered; legend.push_back("Triggered"); - Histos[1] = (TH1*)st[i]->Beta_Matched; legend.push_back("Reconstructed"); -// Histos[0] = (TH1*)st[i]->Beta_PreselectedA; legend.push_back("PreselectedA"); -// Histos[0] = (TH1*)st[i]->Beta_PreselectedB; legend.push_back("PreselectedB"); - Histos[2] = (TH1*)st[i]->Beta_PreselectedC; legend.push_back("Preselected"); - Histos[3] = (TH1*)st[i]->Beta_SelectedP->ProjectionY("A",CutIndex+1,CutIndex+1); legend.push_back("p_{T}>Cut"); - Histos[4] = (TH1*)st[i]->Beta_SelectedI->ProjectionY("B",CutIndex+1,CutIndex+1); legend.push_back("I >Cut"); - if(!IsTkOnly){Histos[5] = (TH1*)st[i]->Beta_SelectedT->ProjectionY("C",CutIndex+1,CutIndex+1); legend.push_back("ToF>Cut");} - DrawSuperposedHistos((TH1**)Histos, legend,"HIST E1", "#beta", "# HSCP", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.36, 0.92, 0.20, 0.025); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,st[i]->Name + "_Beta", true); - delete Histos[3]; delete Histos[4]; - if(!IsTkOnly)delete Histos[5]; - delete c1; - } - - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - for(unsigned int i=0;iBS_V3D->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "V3D (cm)", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"V3D_BS", true); - for(unsigned int i=0;iBS_Chi2->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "#chi^{2}/ndof", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Chi2_BS", true); - for(unsigned int i=0;iBS_Qual->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "quality", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Quality_BS", true); - for(unsigned int i=0;iBS_TNOH->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "#NOH", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"NOH_BS", true); - for(unsigned int i=0;iBS_TNOHFraction->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "Fraction of hits", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P",0.49); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"NOHFraction_BS", true); - for(unsigned int i=0;iBS_Eta->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "#eta", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Eta_BS", true); - for(unsigned int i=0;iBS_TNOM->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "#NOM", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"NOM_BS", true); - for(unsigned int i=0;iBS_nDof->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "TOF_{nDof}", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"nDof_BS", true); - for(unsigned int i=0;iBS_Pterr->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "p_{T} Err / p_{T}", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Pterr_BS", true); - for(unsigned int i=0;iBS_MPt->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "p_{T} (GeV/c)", "arbitrary units", 0,1250, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"MPt_BS", true); - for(unsigned int i=0;iBS_MIs->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxS_Legend.c_str(), "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.79, 0.19); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"MIs_BS", true); - for(unsigned int i=0;iBS_MIm->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxM_Legend.c_str(), "arbitrary units", 0,20, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"MIm_BS", true); - for(unsigned int i=0;iBS_MTOF->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "1/#beta", "arbitrary units", -2,5, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - //DrawLegend((TObject**)Histos,legend,LegendTitle,"P",0.35); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"MTOF_BS", true); - for(unsigned int i=0;iBS_TIsol->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "Isolation: Track SumPt (GeV/c)", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"IsolT_BS", true); - for(unsigned int i=0;iBS_EIsol->Clone(); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "Isolation: (Ecal + Hcal) Energy / p", "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"IsolE_BS", true); - for(unsigned int i=0;iBS_Is; legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - char tmp[2048]; - sprintf(tmp,"Fraction of tracks/%0.2f",Histos[0]->GetBinWidth(1)); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxS_Legend.c_str(), tmp, 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.76, 0.65); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Is_BS"); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - for(unsigned int i=0;iBS_Im; legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxM_Legend.c_str(), "arbitrary units", 0,20, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Im_BS"); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - for(unsigned int i=0;iAS_Is->ProjectionY((st[i]->Name+"A").c_str(),CutIndex+1,CutIndex+1)); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxS_Legend.c_str(), "arbitrary units", 0,0, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.79, 0.35); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("Is_AS")+CutIndexStr); - for(unsigned int i=0;iAS_Im->ProjectionY((st[i]->Name+"B").c_str(),CutIndex+1,CutIndex+1); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", dEdxM_Legend.c_str(), "arbitrary units", 0,20, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("Im_AS")+CutIndexStr); - for(unsigned int i=0;iBS_Pt; legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - sprintf(tmp,"Fraction of tracks/%2.0f GeV/c",Histos[0]->GetBinWidth(1)); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "p_{T} (GeV/c)", tmp, 0,1250, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.86, 0.94); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Pt_BS"); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - for(unsigned int i=0;iAS_Pt->ProjectionY((st[i]->Name+"C").c_str(),CutIndex+1,CutIndex+1); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "p_{T} (GeV/c)", "arbitrary units", 0,1250, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P"); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("Pt_AS")+CutIndexStr); - for(unsigned int i=0;iBS_TOF; legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - //char tmp[2048]; - sprintf(tmp,"Fraction of tracks/%0.2f",Histos[0]->GetBinWidth(1)); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "1/#beta", tmp, 1,4, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P", 0.82);//,0.35); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"TOF_BS", true); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - for(unsigned int i=0;iAS_TOF->ProjectionY((st[i]->Name+"D").c_str(),CutIndex+1,CutIndex+1); legend.push_back(lg[i]); if(Histos[i]->Integral()>0) Histos[i]->Scale(1.0/Histos[i]->Integral()); } - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "1/#beta", "arbitrary units", 1,4, 0,0); - DrawLegend((TObject**)Histos,legend,LegendTitle,"P");//, 0.35); - c1->SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,std::string("TOF_AS")+CutIndexStr, true); - for(unsigned int i=0;i& signals){ - signals.push_back(stSignal("Gluino", "Gluino300", "Gluino300" , "#tilde{g} 300" , 300, 1, 1, 65.800000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino400", "Gluino400" , "#tilde{g} 400" , 400, 1, 1, 11.20000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino500", "Gluino500" , "#tilde{g} 500" , 500, 1, 1, 2.540000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino600", "Gluino600" , "#tilde{g} 600" , 600, 1, 1, 0.693000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino700", "Gluino700" , "#tilde{g} 700" , 700, 1, 1, 0.214000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino800", "Gluino800" , "#tilde{g} 800" , 800, 1, 1, 0.072500) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino900", "Gluino900" , "#tilde{g} 900" , 900, 1, 1, 0.026200) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1000", "Gluino1000" , "#tilde{g} 1000" ,1000, 1, 1, 0.0098700) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1100", "Gluino1100" , "#tilde{g} 1100" ,1100, 1, 1, 0.0038600) ); //NLO - //signals.push_back(stSignal("Gluino", "Gluino1200", "Gluino1200" , "#tilde{g} 1200" ,1200, 1, 1, 0.004300) ); //NLO - - signals.push_back(stSignal("Gluino", "Gluino300N", "Gluinoneutralonly300" , "#tilde{g} 300 CS" , 300, 1, 1, 65.800000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino400N", "Gluinoneutralonly400" , "#tilde{g} 400 CS" , 400, 1, 1, 11.20000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino500N", "Gluinoneutralonly500" , "#tilde{g} 500 CS" , 500, 1, 1, 2.540000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino600N", "Gluinoneutralonly600" , "#tilde{g} 600 CS" , 600, 1, 1, 0.693000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino700N", "Gluinoneutralonly700" , "#tilde{g} 700 CS" , 700, 1, 1, 0.214000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino800N", "Gluinoneutralonly800" , "#tilde{g} 800 CS" , 800, 1, 1, 0.072500) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino900N", "Gluinoneutralonly900" , "#tilde{g} 900 CS" , 900, 1, 1, 0.026200) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1000N", "Gluinoneutralonly1000" , "#tilde{g} 1000 CS" ,1000, 1, 1, 0.0098700) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1100N", "Gluinoneutralonly1100" , "#tilde{g} 1100 CS" ,1100, 1, 1, 0.0038600) ); //NLO - //signals.push_back(stSignal("Gluino", "Gluino1200N", "Gluinoneutralonly1200" , "#tilde{g} 1200 CS" ,1200, 1, 1, ) ); //NLO - - //signals.push_back(stSignal("Gluino", "Gluino600Z" , "#tilde{g} 600 Z2" , 600, 1, 1, 0.465000) ); //NLO - //signals.push_back(stSignal("Gluino", "Gluino700Z" , "#tilde{g} 700 Z2" , 700, 1, 1, 0.130000) ); //NLO - //signals.push_back(stSignal("Gluino", "Gluino800Z" , "#tilde{g} 800 Z2" , 800, 1, 1, 0.039600) ); //NLO - - signals.push_back(stSignal("Stop" , "Stop130", "stop_M-130" , "#tilde{t}_{1} 130" , 130, 1, 1, 120.000000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop200", "stop_M-200" , "#tilde{t}_{1} 200" , 200, 1, 1, 13.000000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop300", "stop_M-300" , "#tilde{t}_{1} 300" , 300, 1, 1, 1.310000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop400", "stop_M-400" , "#tilde{t}_{1} 400" , 400, 1, 1, 0.218000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop500", "stop_M-500" , "#tilde{t}_{1} 500" , 500, 0, 1, 0.047800) ); //NLO - signals.push_back(stSignal("Stop" , "Stop600", "stop_M-600" , "#tilde{t}_{1} 600" , 600, 1, 1, 0.012500) ); //NLO - signals.push_back(stSignal("Stop" , "Stop700", "stop_M-700" , "#tilde{t}_{1} 700" , 700, 1, 1, 0.003560) ); //NLO - signals.push_back(stSignal("Stop" , "Stop800", "stop_M-800" , "#tilde{t}_{1} 800" , 800, 1, 1, 0.001140) ); //NLO - - signals.push_back(stSignal("Stop" , "Stop130N", "stoponlyneutral_M-130" , "#tilde{t}_{1} 130 CS" , 130, 1, 1, 120.000000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop200N", "stoponlyneutral_M-200" , "#tilde{t}_{1} 200 CS" , 200, 1, 1, 13.000000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop300N", "stoponlyneutral_M-300" , "#tilde{t}_{1} 300 CS" , 300, 1, 1, 1.310000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop400N", "stoponlyneutral_M-400" , "#tilde{t}_{1} 400 CS" , 400, 1, 1, 0.218000) ); //NLO - signals.push_back(stSignal("Stop" , "Stop500N", "stoponlyneutral_M-500" , "#tilde{t}_{1} 500 CS" , 500, 0, 1, 0.047800) ); //NLO - signals.push_back(stSignal("Stop" , "Stop600N", "stoponlyneutral_M-600" , "#tilde{t}_{1} 600 CS" , 600, 1, 1, 0.012500) ); //NLO - signals.push_back(stSignal("Stop" , "Stop700N", "stoponlyneutral_M-700" , "#tilde{t}_{1} 700 CS" , 700, 1, 1, 0.003560) ); //NLO - signals.push_back(stSignal("Stop" , "Stop800N", "stoponlyneutral_M-800" , "#tilde{t}_{1} 800 CS" , 800, 1, 1, 0.001140) ); //NLO - - //signals.push_back(stSignal("Stop" , "Stop300Z" , "#tilde{t}_{1} 300 Z2" , 300, 1, 1, 1.310000) ); //NLO - //signals.push_back(stSignal("Stop" , "Stop400Z" , "#tilde{t}_{1} 400 Z2" , 400, 1, 1, 0.218000) ); //NLO - //signals.push_back(stSignal("Stop" , "Stop500Z" , "#tilde{t}_{1} 500 Z2" , 500, 0, 0.047800) ); //NLO - - signals.push_back(stSignal("Stau" , "GMStau100", "stau_M-100" , "GMSB #tilde{#tau}_{1} 100" , 100, 1, 1, 1.3398) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau126", "stau_M-126" , "GMSB #tilde{#tau}_{1} 126" , 126, 1, 1, 0.274591) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau156", "stau_M-156" , "GMSB #tilde{#tau}_{1} 156" , 156, 0, 1, 0.0645953) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau200", "stau_M-200" , "GMSB #tilde{#tau}_{1} 200" , 200, 1, 1, 0.0118093) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau247", "stau_M-247" , "GMSB #tilde{#tau}_{1} 247" , 247, 0, 1, 0.00342512) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau308", "stau_M-308" , "GMSB #tilde{#tau}_{1} 308" , 308, 1, 1, 0.00098447 ) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau370", "stau_M-370" , "GMSB #tilde{#tau}_{1} 370" , 370, 1, 1, 0.000353388) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau432", "stau_M-432" , "GMSB #tilde{#tau}_{1} 432" , 432, 1, 1, 0.000141817) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau494", "stau_M-494" , "GMSB #tilde{#tau}_{1} 494" , 494, 1, 1, 0.00006177) ); //NLO - - signals.push_back(stSignal("Stau" , "PPStau100", "PPStau100", "Pair #tilde{#tau}_{1} 100" , 100, 1, 1, 0.0382) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau126", "PPStau126", "Pair #tilde{#tau}_{1} 126" , 126, 0, 1, 0.0161) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau156", "PPStau156", "Pair #tilde{#tau}_{1} 156" , 156, 0, 1, 0.00704) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau200", "PPStau200", "Pair #tilde{#tau}_{1} 200" , 200, 1, 1, 0.00247) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau247", "PPStau247", "Pair #tilde{#tau}_{1} 247" , 247, 0, 1, 0.00101) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau308", "PPStau308", "Pair #tilde{#tau}_{1} 308" , 308, 0, 1, 0.000353) ); //NLO - - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK100" , "DCRho08HyperK100" , "DICHAMP #tilde{K} 100" , 100, 1, 1, 1.405000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK121" , "DCRho08HyperK121" , "DICHAMP #tilde{K} 121" , 121, 1, 1, 0.979000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK182" , "DCRho08HyperK182" , "DICHAMP #tilde{K} 182" , 182, 0, 1, 0.560000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK242" , "DCRho08HyperK242" , "DICHAMP #tilde{K} 242" , 242, 0, 1, 0.489000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK302" , "DCRho08HyperK302" , "DICHAMP #tilde{K} 302" , 302, 1, 1, 0.463000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK350" , "DCRho08HyperK350" , "DICHAMP #tilde{K} 350" , 350, 1, 1, 0.473000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK370" , "DCRho08HyperK370" , "DICHAMP #tilde{K} 370" , 370, 1, 1, 0.48288105) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK390" , "DCRho08HyperK390" , "DICHAMP #tilde{K} 390" , 390, 1, 1, 0.47132496) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK395" , "DCRho08HyperK395" , "DICHAMP #tilde{K} 395" , 395, 1, 1, 0.420000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK400" , "DCRho08HyperK400" , "DICHAMP #tilde{K} 400" , 400, 1, 1, 0.473000) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK410" , "DCRho08HyperK410" , "DICHAMP #tilde{K} 410" , 410, 1, 1, 0.0060812129) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK420" , "DCRho08HyperK420" , "DICHAMP #tilde{K} 420" , 420, 1, 1, 0.003500) ); //LO - signals.push_back(stSignal("DCRho08HyperK" , "DCRho08HyperK500" , "DCRho08HyperK500" , "DICHAMP #tilde{K} 500" , 500, 1, 1, 0.0002849) ); //LO - - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK100" , "DCRho12HyperK100" , "DICHAMP #tilde{K} 100" , 100, 1, 1, 0.8339415992) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK182" , "DCRho12HyperK182" , "DICHAMP #tilde{K} 182" , 182, 1, 1, 0.168096952140) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK302" , "DCRho12HyperK302" , "DICHAMP #tilde{K} 302" , 302, 1, 1, 0.079554948387) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK500" , "DCRho12HyperK500" , "DICHAMP #tilde{K} 500" , 500, 1, 1, 0.063996737) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK530" , "DCRho12HyperK530" , "DICHAMP #tilde{K} 530" , 530, 1, 1, 0.064943882) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK570" , "DCRho12HyperK570" , "DICHAMP #tilde{K} 570" , 570, 1, 1, 0.0662920530) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK590" , "DCRho12HyperK590" , "DICHAMP #tilde{K} 590" , 590, 1, 1, 0.060748383) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK595" , "DCRho12HyperK595" , "DICHAMP #tilde{K} 595" , 595, 1, 1, 0.04968409) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK600" , "DCRho12HyperK600" , "DICHAMP #tilde{K} 600" , 600, 1, 1, 0.0026232721237) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK610" , "DCRho12HyperK610" , "DICHAMP #tilde{K} 610" , 610, 1, 1, 0.00127431) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK620" , "DCRho12HyperK620" , "DICHAMP #tilde{K} 620" , 620, 1, 1, 0.00056965104319) ); //LO - signals.push_back(stSignal("DCRho12HyperK" , "DCRho12HyperK700" , "DCRho12HyperK700" , "DICHAMP #tilde{K} 700" , 700, 1, 1, 0.00006122886211) ); //LO - - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK100" , "DCRho16HyperK100" , "DICHAMP #tilde{K} 100" , 100, 1, 1, 0.711518686800) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK182" , "DCRho16HyperK182" , "DICHAMP #tilde{K} 182" , 182, 1, 1, 0.089726059780) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK302" , "DCRho16HyperK302" , "DICHAMP #tilde{K} 302" , 302, 1, 1, 0.019769637301) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK500" , "DCRho16HyperK500" , "DICHAMP #tilde{K} 500" , 500, 1, 1, 0.0063302286576) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK700" , "DCRho16HyperK700" , "DICHAMP #tilde{K} 700" , 700, 1, 1, 0.002536779850) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK730" , "DCRho16HyperK730" , "DICHAMP #tilde{K} 730" , 730, 1, 1, 0.00213454921) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK770" , "DCRho16HyperK770" , "DICHAMP #tilde{K} 770" , 770, 1, 1, 0.001737551) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK790" , "DCRho16HyperK790" , "DICHAMP #tilde{K} 790" , 790, 1, 1, 0.00161578593) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK795" , "DCRho16HyperK795" , "DICHAMP #tilde{K} 795" , 795, 1, 1, 0.00153513713) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK800" , "DCRho16HyperK800" , "DICHAMP #tilde{K} 800" , 800, 1, 1, 0.000256086965) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK810" , "DCRho16HyperK810" , "DICHAMP #tilde{K} 810" , 810, 1, 1, 0.000140664) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK820" , "DCRho16HyperK820" , "DICHAMP #tilde{K} 820" , 820, 1, 1, 0.000097929923655) ); //LO - signals.push_back(stSignal("DCRho16HyperK" , "DCRho16HyperK900" , "DCRho16HyperK900" , "DICHAMP #tilde{K} 900" , 900, 1, 1, 0.000013146066) ); //LO - -} - -struct stMC{ - std::string Name; - double XSection; - double MaxPtHat; - double MaxEvent; - bool IsS4PileUp; - - stMC(); - stMC(std::string Name_, double XSection_, double MaxPtHat_, int MaxEvent_, bool IsS4PileUp_){Name = Name_; XSection = XSection_; MaxPtHat = MaxPtHat_; MaxEvent = MaxEvent_;IsS4PileUp = IsS4PileUp_;} -}; - -void GetMCDefinition(std::vector& MC){ - - MC.push_back(stMC("MC_DYToTauTau" , 1.300E3 , -1, -1, 0)); - MC.push_back(stMC("MC_DYToMuMu" , 1.300E3 , -1, -1, 0)); - MC.push_back(stMC("MC_WJetsToLNu" , 2.777E4 , -1, -1, 1)); - MC.push_back(stMC("MC_TTJets" , 9.400E1 , -1, -1, 1)); - MC.push_back(stMC("MC_QCD_Pt-15to30" , 8.16E8 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-30to50" , 5.310E7 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-50to80" , 6.360E6 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-80to120" , 7.840E5 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-120to170" , 1.150E5 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-170to300" , 2.430E4 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-300to470" , 1.170E3 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-470to600" , 7.020E1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-600to800" , 1.560E1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-800to1000" , 1.84 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1000to1400" , 3.320E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1400to1800" , 1.090E-2 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1800" , 3.580E-4 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-0to15" , 4.280E3 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-15to20" , 1.450E2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-20to30" , 1.310E2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-30to50" , 8.400E1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-50to80" , 3.220E1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-80to120" , 9.98 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-120to170", 2.73 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-170to230", 7.21E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-230to300", 1.94E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-300" , 7.59E-2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZZ" , 4.287 , -1, -1, 1)); - MC.push_back(stMC("MC_WW" , 2.783E1 , -1, -1, 1)); - MC.push_back(stMC("MC_WZ" , 1.47E1 , -1, -1, 1)); -} - -void GetInputFiles(std::vector& inputFiles, std::string SampleName, int period=0){ -// std::string BaseDirectory = "/storage/data/cms/users/quertenmont/HSCP/CMSSW_4_2_3/11_08_03/"; -// std::string BaseDirectory = "dcache:/pnfs/cms/WAX/11/store/user/jchen/11_09_13_HSCP2011EDM/"; - std::string BaseDirectory = "/uscmst1b_scratch/lpc1/lpcphys/jchen/HSCPEDM_11_01_11/"; - if(SampleName=="Data"){ - inputFiles.push_back(BaseDirectory + "Data_RunA_160404_163869.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_165001_166033.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166034_166500.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166501_166893.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166894_167151.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_167153_167913.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_170826_171500.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_171501_172619.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172620_172790.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172791_172802.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172803_172900.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172901_173243.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_173244_173692.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_175860_176099.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_176100_176309.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_176467_176800.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_176801_177053.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_177074_177783.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_177788_178380.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_178420_179411.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_179434_180252.root"); - }else if(SampleName.find("MC_",0) - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphAsymmErrors.h" -#include "TPaveText.h" -#include "tdrstyle.C" -#include "TRandom3.h" -#include "TProfile.h" -#include "TDirectory.h" - -namespace reco { class Vertex; class Track; class GenParticle; class DeDxData; class MuonTimeExtra;} -namespace susybsm { class HSCParticle; class HSCPIsolation;} -namespace fwlite { class ChainEvent;} -namespace trigger { class TriggerEvent;} -namespace edm {class TriggerResults; class TriggerResultsByName; class InputTag; class LumiReWeighting;} - -#if !defined(__CINT__) && !defined(__MAKECINT__) -#include "DataFormats/FWLite/interface/Handle.h" -#include "DataFormats/FWLite/interface/Event.h" -#include "DataFormats/FWLite/interface/ChainEvent.h" -#include "DataFormats/Common/interface/MergeableCounter.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPIsolation.h" -#include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" -#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" - -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "PhysicsTools/Utilities/interface/LumiReWeighting.h" -#include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h" - -using namespace fwlite; -using namespace reco; -using namespace susybsm; -using namespace std; -using namespace edm; -using namespace trigger; -#endif - -#include "Analysis_Global.h" -#include "Analysis_CommonFunction.h" -#include "Analysis_PlotFunction.h" -#include "Analysis_PlotStructure.h" -#include "Analysis_Samples.h" - -/////////////////////////// FUNCTION DECLARATION ///////////////////////////// - -void Analysis_Step3(char* SavePath); -void Analysis_Step4(char* SavePath); - -void InitHistos(); - -double DistToHSCP (const susybsm::HSCParticle& hscp, const std::vector& genColl, int& IndexOfClosest); -int HowManyChargedHSCP (const std::vector& genColl); -void GetGenHSCPBeta (const std::vector& genColl, double& beta1, double& beta2, bool onlyCharged=true); -bool PassPreselection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const reco::MuonTimeExtra* dttof, const reco::MuonTimeExtra* csctof, const fwlite::ChainEvent& ev, stPlots* st=NULL, const double& GenBeta=-1, bool RescaleP=false, const double& RescaleI=0.0, const double& RescaleT=0.0); -bool PassSelection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const fwlite::ChainEvent& ev, const int& CutIndex=0, stPlots* st=NULL, const double& GenBeta=-1, bool RescaleP=false, const double& RescaleI=0.0, const double& RescaleT=0.0); - -bool PassTrigger (const fwlite::ChainEvent& ev); -bool hasGoodPtHat (const fwlite::ChainEvent& ev, const double& PtMax); - -double GetPUWeight(const fwlite::ChainEvent& ev, const bool& Iss4pileup); -double GetSampleWeight(const double& IntegratedLuminosityInPb=-1, const double& IntegratedLuminosityInPbBeforeTriggerChange=-1, const double& CrossSection=0, const double& MCEvents=0, int period=0); -double GetSampleWeightMC(const double& IntegratedLuminosityInPb, const std::vector fileNames, const double& XSection, const double& SampleSize, double MaxEvent); -double RescaledPt(const double& pt, const double& eta, const double& phi, const int& charge); -unsigned long GetInitialNumberOfMCEvent(const vector& fileNames); -/////////////////////////// VARIABLE DECLARATION ///////////////////////////// - -class DuplicatesClass{ - private : - typedef std::map, bool > RunEventHashMap; - RunEventHashMap map; - public : - DuplicatesClass(){} - ~DuplicatesClass(){} - void Clear(){map.clear();} - bool isDuplicate(unsigned int Run, unsigned int Event){ - RunEventHashMap::iterator it = map.find(std::make_pair(Run,Event)); - if(it==map.end()){ - map[std::make_pair(Run,Event)] = true; - return false; - } - return true; - } -}; - - -TFile* HistoFile; - -TH1D* Hist_Pt ; -TH1D* Hist_Is ; -TH1D* Hist_TOF; - -TH2D* Pred_Mass; -TH2D* Pred_MassTOF; -TH2D* Pred_MassComb; - -TH1D* H_A; -TH1D* H_B; -TH1D* H_C; -TH1D* H_D; -TH1D* H_E; -TH1D* H_F; -TH1D* H_G; -TH1D* H_H; -TH1D* H_P; - -std::vector CutPt ; -std::vector CutI ; -std::vector CutTOF; - -TH1D* HCuts_Pt; -TH1D* HCuts_I; -TH1D* HCuts_TOF; - -TH3D* Pred_EtaP ; -TH2D* Pred_I ; -TH2D* Pred_TOF ; -TH2D* Pred_EtaB; -TH2D* Pred_EtaS; -TH2D* Pred_EtaS2; - -TH2D* RegionD_P ; -TH2D* RegionD_I ; -TH2D* RegionD_TOF ; - -TH1D* CtrlPt_S1_Is; -TH1D* CtrlPt_S1_Im; -TH1D* CtrlPt_S1_TOF; -TH1D* CtrlPt_S2_Is; -TH1D* CtrlPt_S2_Im; -TH1D* CtrlPt_S2_TOF; -TH1D* CtrlPt_S3_Is; -TH1D* CtrlPt_S3_Im; -TH1D* CtrlPt_S3_TOF; -TH1D* CtrlPt_S4_Is; -TH1D* CtrlPt_S4_Im; -TH1D* CtrlPt_S4_TOF; -TH1D* CtrlIs_S1_TOF; -TH1D* CtrlIs_S2_TOF; -TH1D* CtrlIs_S3_TOF; -TH1D* CtrlIs_S4_TOF; - -std::vector signals; -std::vector MCsample; -std::vector DataFileName; - -stPlots DataPlots; -std::vector SignPlots; -std::vector MCPlots; -stPlots MCTrPlots; -//for initializing PileUpReweighting utility. -const float TrueDist2011_f[35] = {0.00285942, 0.0125603, 0.0299631, 0.051313, 0.0709713, 0.0847864, 0.0914627, 0.0919255, 0.0879994, 0.0814127, 0.0733995, 0.0647191, 0.0558327, 0.0470663, 0.0386988, 0.0309811, 0.0241175, 0.018241, 0.0133997, 0.00956071, 0.00662814, 0.00446735, 0.00292946, 0.00187057, 0.00116414, 0.000706805, 0.000419059, 0.000242856, 0.0001377, 7.64582e-05, 4.16101e-05, 2.22135e-05, 1.16416e-05, 5.9937e-06, 5.95542e-06};//from 2011 Full dataset - -const float Pileup_MC[35]= {1.45346E-01, 6.42802E-02, 6.95255E-02, 6.96747E-02, 6.92955E-02, 6.84997E-02, 6.69528E-02, 6.45515E-02, 6.09865E-02, 5.63323E-02, 5.07322E-02, 4.44681E-02, 3.79205E-02, 3.15131E-02, 2.54220E-02, 2.00184E-02, 1.53776E-02, 1.15387E-02, 8.47608E-03, 6.08715E-03, 4.28255E-03, 2.97185E-03, 2.01918E-03, 1.34490E-03, 8.81587E-04, 5.69954E-04, 3.61493E-04, 2.28692E-04, 1.40791E-04, 8.44606E-05, 5.10204E-05, 3.07802E-05, 1.81401E-05, 1.00201E-05, 5.80004E-06}; - - -edm::LumiReWeighting LumiWeightsMC_; -std::vector< float > BgLumiMC; //MC -std::vector< float > TrueDist2011; - -/////////////////////////// CODE PARAMETERS ///////////////////////////// - -void Analysis_Step234(string MODE="COMPILE", int TypeMode_=0, string dEdxSel_="dedxASmi", string dEdxMass_="dedxHarm2", string TOF_Label_="combined", double CutPt_=-1.0, double CutI_=-1, double CutTOF_=-1, float MinPt_=GlobalMinPt, float MaxEta_=GlobalMaxEta, float MaxPtErr_=GlobalMaxPterr) -{ - if(MODE=="COMPILE")return; - - setTDRStyle(); - gStyle->SetPadTopMargin (0.05); - gStyle->SetPadBottomMargin(0.10); - gStyle->SetPadRightMargin (0.18); - gStyle->SetPadLeftMargin (0.13); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505); - TH1::AddDirectory(kTRUE); - - GetSignalDefinition(signals); - GetMCDefinition(MCsample); - - char Buffer[2048]; - char Command[2048]; - DataFileName.clear(); - GetInputFiles(DataFileName, "Data"); - - dEdxS_Label = dEdxSel_; - dEdxM_Label = dEdxMass_; - TOF_Label = TOF_Label_; - InitdEdx(dEdxS_Label); - - TypeMode = TypeMode_; - GlobalMaxEta = MaxEta_; - GlobalMaxPterr = MaxPtErr_; - GlobalMinPt = MinPt_; - - if(TypeMode!=2){ - GlobalMinNDOF = 0; - GlobalMinTOF = 0; - }else{ - GlobalMaxTIsol *= 2; - GlobalMaxEIsol *= 2; - } - - CutPt .push_back(GlobalMinPt); CutI .push_back(GlobalMinIs); CutTOF.push_back(GlobalMinTOF); - - if(TypeMode!=2){ - for(double Pt =GlobalMinPt+5 ; Pt <200;Pt+=5){ - for(double I =GlobalMinIs+0.025 ; I <0.45 ;I+=0.025){ - CutPt .push_back(Pt); CutI .push_back(I); CutTOF.push_back(-1); - }} - }else{ - for(double Pt =GlobalMinPt+5 ; Pt <120; Pt+=5){ - for(double I =GlobalMinIs +0.025; I <0.40; I+=0.025){ - for(double TOF=GlobalMinTOF+0.025; TOF<1.35;TOF+=0.025){ - CutPt .push_back(Pt); CutI .push_back(I); CutTOF.push_back(TOF); - }}} - } - printf("%i Different Final Selection will be tested\n",(int)CutPt.size()); - - //initialize LumiReWeighting - for(int i=0; i<35; ++i) BgLumiMC.push_back(Pileup_MC[i]); - for(int i=0; i<35; ++i) TrueDist2011.push_back(TrueDist2011_f[i]); - LumiWeightsMC_ = edm::LumiReWeighting(BgLumiMC, TrueDist2011); - - sprintf(Buffer,"Results/" ); sprintf(Command,"mkdir %s",Buffer); system(Command); - sprintf(Buffer,"%s%s/" ,Buffer,dEdxS_Label.c_str()); sprintf(Command,"mkdir %s",Buffer); system(Command); - sprintf(Buffer,"%s%s/" ,Buffer,TOF_Label.c_str()); sprintf(Command,"mkdir %s",Buffer); system(Command); - sprintf(Buffer,"%sEta%02.0f/" ,Buffer,10.0*GlobalMaxEta); sprintf(Command,"mkdir %s",Buffer); system(Command); - sprintf(Buffer,"%sPtMin%02.0f/",Buffer,GlobalMinPt); sprintf(Command,"mkdir %s",Buffer); system(Command); - sprintf(Buffer,"%sType%i/" ,Buffer,TypeMode); sprintf(Command,"mkdir %s",Buffer); system(Command); -// sprintf(Buffer,"%sPt%03.0f/" ,Buffer,CutPt [0]); sprintf(Command,"mkdir %s",Buffer); system(Command); -// sprintf(Buffer,"%sI%05.2f/" ,Buffer,CutI [0]); sprintf(Command,"mkdir %s",Buffer); system(Command); -// sprintf(Buffer,"%sTOF%05.2f/" ,Buffer,CutTOF[0]); sprintf(Command,"mkdir %s",Buffer); system(Command); - - time_t start = time(NULL); - if(MODE=="ANALYSE_DATA"){ - signals.clear(); //Remove all signal samples - MCsample.clear(); - HistoFile = new TFile((string(Buffer) + "/Histos_Data.root").c_str(),"RECREATE"); - }else if(MODE=="ANALYSE_SIGNAL"){ - DataFileName.clear(); //Remove all data files - MCsample.clear(); - HistoFile = new TFile((string(Buffer) + "/Histos.root").c_str(),"RECREATE"); - }else if(MODE=="ANALYSE_MC"){ - DataFileName.clear(); //Remove all data files - signals.clear(); //Remove all signal samples - HistoFile = new TFile((string(Buffer) + "/Histos_MC.root").c_str(),"RECREATE"); - }else{ - printf("You must select a MODE:\n"); - printf("MODE='ANALYSE_DATA' : Will run the analysis on Data\n"); - printf("MODE='ANALYSE_SIGNAL' : Will run the analysis on Signal MC\n"); - printf("MODE='ANALYSE_MC' : Will run the analysis on Background MC\n"); - return; - } - - InitHistos(); - Analysis_Step3(Buffer); - Analysis_Step4(Buffer); - HistoFile->Write(); - HistoFile->Close(); - time_t end = time(NULL); - printf("RUN TIME = %i sec\n",(int)(end-start)); - return; -} - -bool hasGoodPtHat(const fwlite::ChainEvent& ev, const double& PtMax){ - if(PtMax<0)return true; - fwlite::Handle< GenEventInfoProduct > genInfo; - genInfo.getByLabel(ev, "generator"); - if(!genInfo.isValid()){printf("genInfo NotFound\n");return false;} - if((genInfo->binningValues()[0]) hTriggerResults; - hTriggerResults.getByLabel(ev, "TriggerResults", "", "MergeHLT"); - if(!hTriggerResults.isValid()) return false; - - edm::TriggerResultsByName tr = ev.triggerResultsByName(*hTriggerResults); - if(!tr.isValid())return false; - - if(tr.accept(tr.triggerIndex("HscpPathSingleMu")))return true; -// if(tr.accept(tr.triggerIndex("HscpPathDoubleMu")))return true; - if(tr.accept(tr.triggerIndex("HscpPathPFMet")))return true; -// if(tr.accept(tr.triggerIndex("HscpPathCaloMet")))return true; - return false; -} - -bool PassPreselection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const reco::MuonTimeExtra* dttof, const reco::MuonTimeExtra* csctof, const fwlite::ChainEvent& ev, stPlots* st, const double& GenBeta, bool RescaleP, const double& RescaleI, const double& RescaleT) -{ - if(TypeMode==1 && !(hscp.type() == HSCParticleType::trackerMuon || hscp.type() == HSCParticleType::globalMuon))return false; - if(TypeMode==2 && hscp.type() != HSCParticleType::globalMuon)return false; - reco::TrackRef track = hscp.trackRef(); if(track.isNull())return false; - - if(st){st->Total->Fill(0.0,Event_Weight); - if(GenBeta>=0)st->Beta_Matched->Fill(GenBeta, Event_Weight); - st->BS_TNOH->Fill(track->found(),Event_Weight); - st->BS_TNOHFraction->Fill(track->validFraction(),Event_Weight); - } - - if(track->found()validFraction()<0.80)return false; - if(track->hitPattern().numberOfValidPixelHits()<2)return false; - - if(st){st->TNOH ->Fill(0.0,Event_Weight); - st->BS_TNOM->Fill(dedxSObj.numberOfMeasurements(),Event_Weight); - } - if(dedxSObj.numberOfMeasurements()TNOM ->Fill(0.0,Event_Weight);} - - if(tof){ - if(st){st->BS_nDof->Fill(tof->nDof(),Event_Weight);} - if(TypeMode==2 && tof->nDof()nDof()nDof()nDof ->Fill(0.0,Event_Weight); - st->BS_Qual->Fill(track->qualityMask(),Event_Weight); - } - - if(track->qualityMask()Qual ->Fill(0.0,Event_Weight); - st->BS_Chi2->Fill(track->chi2()/track->ndof(),Event_Weight); - } - if(track->chi2()/track->ndof()>GlobalMaxChi2 )return false; - if(st){st->Chi2 ->Fill(0.0,Event_Weight);} - - if(st && GenBeta>=0)st->Beta_PreselectedA->Fill(GenBeta, Event_Weight); - - if(st){st->BS_MPt ->Fill(track->pt(),Event_Weight);} - if(RescaleP){ if(RescaledPt(track->pt(),track->eta(),track->phi(),track->charge())pt()MPt ->Fill(0.0,Event_Weight); - st->BS_MIs->Fill(dedxSObj.dEdx(),Event_Weight); - st->BS_MIm->Fill(dedxMObj.dEdx(),Event_Weight); - } - if(dedxSObj.dEdx()+RescaleIMI ->Fill(0.0,Event_Weight);} - if(tof){ - if(st){st->BS_MTOF ->Fill(tof->inverseBeta(),Event_Weight);} - if(TypeMode==2 && tof->inverseBeta()+RescaleTinverseBetaErr()>GlobalMaxTOFErr)return false; - } - if(st){st->MTOF ->Fill(0.0,Event_Weight); - if(GenBeta>=0)st->Beta_PreselectedB->Fill(GenBeta, Event_Weight); - } - - fwlite::Handle< std::vector > vertexCollHandle; - vertexCollHandle.getByLabel(ev,"offlinePrimaryVertices"); - if(!vertexCollHandle.isValid()){printf("Vertex Collection NotFound\n");return false;} - const std::vector& vertexColl = *vertexCollHandle; - if(vertexColl.size()<1){printf("NO VERTEX\n"); return false;} - - double dz = track->dz (vertexColl[0].position()); - double dxy = track->dxy(vertexColl[0].position()); - for(unsigned int i=1;idz (vertexColl[i].position())) < fabs(dz) ){ - dz = track->dz (vertexColl[i].position()); - dxy = track->dxy(vertexColl[i].position()); - } - } - double v3d = sqrt(dz*dz+dxy*dxy); - - if(st){st->BS_V3D->Fill(v3d,Event_Weight);} - if(v3d>GlobalMaxV3D )return false; - if(st){st->V3D ->Fill(0.0,Event_Weight);} - - fwlite::Handle IsolationH; - IsolationH.getByLabel(ev, "HSCPIsolation03"); - if(!IsolationH.isValid()){printf("Invalid IsolationH\n");return false;} - const ValueMap& IsolationMap = *IsolationH.product(); - - HSCPIsolation hscpIso = IsolationMap.get((size_t)track.key()); - - if(st){st->BS_TIsol ->Fill(hscpIso.Get_TK_SumEt(),Event_Weight);} - if(hscpIso.Get_TK_SumEt()>GlobalMaxTIsol)return false; - if(st){st->TIsol ->Fill(0.0,Event_Weight);} - - double EoP = (hscpIso.Get_ECAL_Energy() + hscpIso.Get_HCAL_Energy())/track->p(); - if(st){st->BS_EIsol ->Fill(EoP,Event_Weight);} - if(EoP>GlobalMaxEIsol)return false; - if(st){st->EIsol ->Fill(0.0,Event_Weight);} - - if(st){st->BS_Pterr ->Fill(track->ptError()/track->pt(),Event_Weight);} - if((track->ptError()/track->pt())>GlobalMaxPterr)return false; - - if(std::max(0.0,track->pt())Pterr ->Fill(0.0,Event_Weight);} - - if(st){st->BS_EtaIs->Fill(track->eta(),dedxSObj.dEdx(),Event_Weight); - st->BS_EtaIm->Fill(track->eta(),dedxMObj.dEdx(),Event_Weight); - st->BS_EtaP ->Fill(track->eta(),track->p(),Event_Weight); - st->BS_EtaPt->Fill(track->eta(),track->pt(),Event_Weight); - if(tof)st->BS_EtaTOF->Fill(track->eta(),tof->inverseBeta(),Event_Weight); - st->BS_Eta->Fill(track->eta(),Event_Weight); - } - if(fabs(track->eta())>GlobalMaxEta) return false; - - if(st){if(GenBeta>=0)st->Beta_PreselectedC->Fill(GenBeta, Event_Weight); - st->BS_P ->Fill(track->p(),Event_Weight); - st->BS_Pt ->Fill(track->pt(),Event_Weight); - st->BS_Is ->Fill(dedxSObj.dEdx(),Event_Weight); - st->BS_Im ->Fill(dedxMObj.dEdx(),Event_Weight); - if(tof)st->BS_TOF->Fill(tof->inverseBeta(),Event_Weight); - st->BS_PIs ->Fill(track->p() ,dedxSObj.dEdx(),Event_Weight); - st->BS_PIm ->Fill(track->p() ,dedxMObj.dEdx(),Event_Weight); - st->BS_PtIs ->Fill(track->pt() ,dedxSObj.dEdx(),Event_Weight); - st->BS_PtIm ->Fill(track->pt() ,dedxMObj.dEdx(),Event_Weight); - if(tof)st->BS_TOFIs->Fill(tof->inverseBeta(),dedxSObj.dEdx(),Event_Weight); - if(tof)st->BS_TOFIm->Fill(tof->inverseBeta(),dedxMObj.dEdx(),Event_Weight); - } - - return true; -} - -bool PassSelection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const fwlite::ChainEvent& ev, const int& CutIndex, stPlots* st, const double& GenBeta, bool RescaleP, const double& RescaleI, const double& RescaleT){ - reco::TrackRef track = hscp.trackRef(); if(track.isNull())return false; - - double MuonTOF = GlobalMinTOF; - double NDOF = 9999; - if(tof){ - MuonTOF = tof->inverseBeta(); - NDOF = tof->nDof(); - } - - if(RescaleP) - { - if(RescaledPt(track->pt(),track->eta(),track->phi(),track->charge())pt() - track->ptError(),track->eta(),track->phi(),track->charge()))pt()pt() - track->ptError()))Pt ->Fill(CutIndex,Event_Weight); - if(GenBeta>=0)st->Beta_SelectedP->Fill(CutIndex,GenBeta, Event_Weight); - } - - if(dedxSObj.dEdx()+RescaleII ->Fill(CutIndex,Event_Weight); - if(GenBeta>=0)st->Beta_SelectedI->Fill(CutIndex, GenBeta, Event_Weight); - } - - if(TypeMode==2 && MuonTOF+RescaleTTOF ->Fill(CutIndex,Event_Weight); - if(GenBeta>=0)st->Beta_SelectedT->Fill(CutIndex, GenBeta, Event_Weight); - st->AS_P ->Fill(CutIndex,track->p(),Event_Weight); - st->AS_Pt ->Fill(CutIndex,track->pt(),Event_Weight); - st->AS_Is ->Fill(CutIndex,dedxSObj.dEdx(),Event_Weight); - st->AS_Im ->Fill(CutIndex,dedxMObj.dEdx(),Event_Weight); - st->AS_TOF->Fill(CutIndex,MuonTOF,Event_Weight); -// st->AS_EtaIs->Fill(CutIndex,track->eta(),dedxSObj.dEdx(),Event_Weight); -// st->AS_EtaIm->Fill(CutIndex,track->eta(),dedxMObj.dEdx(),Event_Weight); -// st->AS_EtaP ->Fill(CutIndex,track->eta(),track->p(),Event_Weight); -// st->AS_EtaPt->Fill(CutIndex,track->eta(),track->pt(),Event_Weight); - st->AS_PIs ->Fill(CutIndex,track->p() ,dedxSObj.dEdx(),Event_Weight); - st->AS_PIm ->Fill(CutIndex,track->p() ,dedxMObj.dEdx(),Event_Weight); - st->AS_PtIs ->Fill(CutIndex,track->pt() ,dedxSObj.dEdx(),Event_Weight); - st->AS_PtIm ->Fill(CutIndex,track->pt() ,dedxMObj.dEdx(),Event_Weight); - st->AS_TOFIs->Fill(CutIndex,MuonTOF ,dedxSObj.dEdx(),Event_Weight); - st->AS_TOFIm->Fill(CutIndex,MuonTOF ,dedxMObj.dEdx(),Event_Weight); - } - - return true; -} - -void Analysis_FillControlAndPredictionHist(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof){ - reco::TrackRef track = hscp.trackRef(); if(track.isNull())return; - - double MuonTOF = GlobalMinTOF; - if(tof){MuonTOF = tof->inverseBeta(); } - - Hist_Pt->Fill(track->pt(),Event_Weight); - Hist_Is->Fill(dedxSObj.dEdx(),Event_Weight); - Hist_TOF->Fill(MuonTOF,Event_Weight); - - -// /\ I -// /\ |---------------------------- -// | | | | | -// | | | | | -// | | | B | D | -// | | | | | -// | ------------------------------ -// | | | | | -// | | | A | C | -// | | | | | -// | |---|-----------|-------------| -// | | | | | -// | /---15---------------------------> PT -// | / -// /-------------------------------> -// / -// TOF - - if(track->pt()>100){ - CtrlPt_S4_Is->Fill(dedxSObj.dEdx(), Event_Weight); - CtrlPt_S4_Im->Fill(dedxMObj.dEdx(), Event_Weight); - if(tof)CtrlPt_S4_TOF->Fill(MuonTOF, Event_Weight); - }else if(track->pt()>60){ - CtrlPt_S3_Is->Fill(dedxSObj.dEdx(), Event_Weight); - CtrlPt_S3_Im->Fill(dedxMObj.dEdx(), Event_Weight); - if(tof)CtrlPt_S3_TOF->Fill(MuonTOF, Event_Weight); - }else if(track->pt()>45){ - CtrlPt_S2_Is->Fill(dedxSObj.dEdx(), Event_Weight); - CtrlPt_S2_Im->Fill(dedxMObj.dEdx(), Event_Weight); - if(tof)CtrlPt_S2_TOF->Fill(MuonTOF, Event_Weight); - }else{ - CtrlPt_S1_Is->Fill(dedxSObj.dEdx(), Event_Weight); - CtrlPt_S1_Im->Fill(dedxMObj.dEdx(), Event_Weight); - if(tof)CtrlPt_S1_TOF->Fill(MuonTOF, Event_Weight); - } - - if(dedxSObj.dEdx()>0.4){ if(tof)CtrlIs_S4_TOF->Fill(MuonTOF, Event_Weight); - }else if(dedxSObj.dEdx()>0.3){ if(tof)CtrlIs_S3_TOF->Fill(MuonTOF, Event_Weight); - }else if(dedxSObj.dEdx()>0.2){ if(tof)CtrlIs_S2_TOF->Fill(MuonTOF, Event_Weight); - }else{ if(tof)CtrlIs_S1_TOF->Fill(MuonTOF, Event_Weight); - } - - - for(unsigned int CutIndex=0;CutIndexpt()>=CutPt[CutIndex]; - bool PassICut = (dedxSObj.dEdx()>=CutI[CutIndex]); - bool PassTOFCut = MuonTOF>=CutTOF[CutIndex]; - if( PassTOFCut && PassPtCut && PassICut){ //Region D - H_D ->Fill(CutIndex, Event_Weight); - RegionD_P ->Fill(CutIndex,track->p(), Event_Weight); - RegionD_I ->Fill(CutIndex,dedxMObj.dEdx(),Event_Weight); - RegionD_TOF->Fill(CutIndex,MuonTOF, Event_Weight); - }else if( PassTOFCut && PassPtCut && !PassICut){ //Region C - H_C ->Fill(CutIndex, Event_Weight); - if(TypeMode!=2)Pred_EtaP ->Fill(CutIndex,track->eta(), track->p(), Event_Weight); -// Pred_TOF->Fill(CutIndex,MuonTOF, Event_Weight); - }else if( PassTOFCut && !PassPtCut && PassICut){ //Region B - H_B ->Fill(CutIndex, Event_Weight); - if(TypeMode!=2)Pred_I ->Fill(CutIndex,dedxMObj.dEdx(), Event_Weight); - if(TypeMode!=2)Pred_EtaS->Fill(CutIndex,track->eta(), Event_Weight); -// Pred_TOF->Fill(CutIndex,MuonTOF, Event_Weight); - }else if( PassTOFCut && !PassPtCut && !PassICut){ //Region A - H_A ->Fill(CutIndex, Event_Weight); - if(TypeMode==2)Pred_TOF->Fill(CutIndex,MuonTOF, Event_Weight); - if(TypeMode!=2)Pred_EtaB->Fill(CutIndex,track->eta(), Event_Weight); - if(TypeMode==2)Pred_EtaS2->Fill(CutIndex,track->eta(), Event_Weight); - }else if(!PassTOFCut && PassPtCut && PassICut){ //Region H - H_H ->Fill(CutIndex, Event_Weight); -// Pred_P->Fill(CutIndex,track->p(), Event_Weight); -// Pred_I->Fill(CutIndex,dedxMObj.dEdx(), Event_Weight); - }else if(!PassTOFCut && PassPtCut && !PassICut){ //Region G - H_G ->Fill(CutIndex, Event_Weight); - if(TypeMode==2)Pred_EtaP ->Fill(CutIndex,track->eta(),track->p(), Event_Weight); - }else if(!PassTOFCut && !PassPtCut && PassICut){ //Region F - H_F ->Fill(CutIndex, Event_Weight); - if(TypeMode==2)Pred_I ->Fill(CutIndex,dedxMObj.dEdx(), Event_Weight); - if(TypeMode==2)Pred_EtaS->Fill(CutIndex,track->eta(), Event_Weight); - }else if(!PassTOFCut && !PassPtCut && !PassICut){ //Region E - H_E ->Fill(CutIndex, Event_Weight); - if(TypeMode==2)Pred_EtaB->Fill(CutIndex,track->eta(), Event_Weight); - } - } - -} - - - - - -void Analysis_Step3(char* SavePath) -{ - printf("Step3: Building Mass Spectrum for B and S\n"); - - int TreeStep; - ////////////////////////////////////////////////// BUILD BACKGROUND MASS SPECTRUM - - if(DataFileName.size())stPlots_Init(HistoFile, DataPlots,"Data", CutPt.size()); - HistoFile->cd(); - - DuplicatesClass Duplicates; - Duplicates.Clear(); - - fwlite::ChainEvent treeD(DataFileName); - double SampleWeight = GetSampleWeight(-1); - Event_Weight = SampleWeight; - printf("Progressing Bar :0%% 20%% 40%% 60%% 80%% 100%%\n"); - printf("Building Mass Spectrum for D :"); - TreeStep = treeD.size()/50;if(TreeStep==0)TreeStep=1; - - bool* HSCPTk = new bool[CutPt.size()]; - double* MaxMass = new double[CutPt.size()]; - for(Long64_t ientry=0;ientry0 && ientry>MaxEntry)break; - if(ientry%TreeStep==0){printf(".");fflush(stdout);} - - if(Duplicates.isDuplicate(treeD.eventAuxiliary().run(),treeD.eventAuxiliary().event())){continue;} - - DataPlots.TotalE->Fill(0.0,Event_Weight); - if(!PassTrigger(treeD) )continue; - DataPlots.TotalTE->Fill(0.0,Event_Weight); - - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(treeD,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - const susybsm::HSCParticleCollection& hscpColl = *hscpCollHandle; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(treeD, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");continue;} - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(treeD, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle TOFCollH; - TOFCollH.getByLabel(treeD, "muontiming",TOF_Label.c_str()); - if(!TOFCollH.isValid()){printf("Invalid TOF collection\n");return;} - - fwlite::Handle TOFDTCollH; - TOFDTCollH.getByLabel(treeD, "muontiming",TOFdt_Label.c_str()); - if(!TOFDTCollH.isValid()){printf("Invalid DT TOF collection\n");return;} - - fwlite::Handle TOFCSCCollH; - TOFCSCCollH.getByLabel(treeD, "muontiming",TOFcsc_Label.c_str()); - if(!TOFCSCCollH.isValid()){printf("Invalid CSC TOF collection\n");return;} - - for(unsigned int CutIndex=0;CutIndexget(track.key()); - const DeDxData& dedxMObj = dEdxMCollH->get(track.key()); - const reco::MuonTimeExtra* tof = NULL; - const reco::MuonTimeExtra* dttof = NULL; - const reco::MuonTimeExtra* csctof = NULL; - if(TypeMode==2 && !hscp.muonRef().isNull()){ tof = &TOFCollH->get(hscp.muonRef().key()); dttof = &TOFDTCollH->get(hscp.muonRef().key()); csctof = &TOFCSCCollH->get(hscp.muonRef().key());} - - - double MuonTOF = GlobalMinTOF; - if(tof){MuonTOF = tof->inverseBeta(); } - - if(!PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeD, &DataPlots))continue; - - Analysis_FillControlAndPredictionHist(hscp, dedxSObj, dedxMObj, tof); - - - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF=GetTOFMass(track->p(),tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()) + (1/tof->inverseBeta()))*0.5 ) ; - bool PassNonTrivialSelection=false; - for(unsigned int CutIndex=0;CutIndexMaxMass[CutIndex]) MaxMass[CutIndex]=Mass; - - DataPlots.Mass->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - DataPlots.MassTOF ->Fill(CutIndex, MassTOF , Event_Weight); - } - DataPlots.MassComb->Fill(CutIndex, MassComb, Event_Weight); - } //end of Cut loop -// if(track->pt()>40 && Mass>75)stPlots_FillTree(DataPlots, treeD.eventAuxiliary().run(),treeD.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1); - if (PassNonTrivialSelection) stPlots_FillTree(DataPlots, treeD.eventAuxiliary().run(),treeD.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1, Mass, -1); - } // end of Track Loop - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); DataPlots.MaxEventMass->Fill(CutIndex,MaxMass[CutIndex],Event_Weight);} } - }// end of Event Loop - delete [] HSCPTk; - delete [] MaxMass; - printf("\n"); - if(DataFileName.size())stPlots_Clear(DataPlots, true); - - - ////////////////////////////////////////////////// BUILD MCTRUTH MASS SPECTRUM - if(MCsample.size())stPlots_Init(HistoFile, MCTrPlots,"MCTr", CutPt.size()); - - for(unsigned int m=0;m FileName; - GetInputFiles(FileName, MCsample[m].Name); - - fwlite::ChainEvent treeM(FileName); - double SampleWeight = GetSampleWeightMC(IntegratedLuminosity,FileName, MCsample[m].XSection, treeM.size(), MCsample[m].MaxEvent); - - printf("Progressing Bar :0%% 20%% 40%% 60%% 80%% 100%%\n"); - printf("Building Mass for %10s :",MCsample[m].Name.c_str()); - TreeStep = treeM.size()/50;if(TreeStep==0)TreeStep=1; - - bool* HSCPTk = new bool[CutPt.size()]; - double* MaxMass = new double[CutPt.size()]; - for(Long64_t ientry=0;ientry0 && ientry>MaxEntry)break; - if(MCsample[m].MaxEvent>0 && ientry>MCsample[m].MaxEvent)break; - if(ientry%TreeStep==0){printf(".");fflush(stdout);} - - if(!hasGoodPtHat(treeM, MCsample[m].MaxPtHat)){continue;} - Event_Weight = SampleWeight * GetPUWeight(treeM, MCsample[m].IsS4PileUp); - - MCTrPlots .TotalE->Fill(0.0,Event_Weight); - MCPlots[m].TotalE->Fill(0.0,Event_Weight); - if(!PassTrigger(treeM) )continue; - MCTrPlots .TotalTE->Fill(0.0,Event_Weight); - MCPlots[m].TotalTE->Fill(0.0,Event_Weight); - - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(treeM,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - const susybsm::HSCParticleCollection& hscpColl = *hscpCollHandle; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(treeM, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");continue;} - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(treeM, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle TOFCollH; - TOFCollH.getByLabel(treeM, "muontiming",TOF_Label.c_str()); - if(!TOFCollH.isValid()){printf("Invalid TOF collection\n");continue;} - - fwlite::Handle TOFDTCollH; - TOFDTCollH.getByLabel(treeM, "muontiming",TOFdt_Label.c_str()); - if(!TOFDTCollH.isValid()){printf("Invalid DT TOF collection\n");continue;} - - fwlite::Handle TOFCSCCollH; - TOFCSCCollH.getByLabel(treeM, "muontiming",TOFcsc_Label.c_str()); - if(!TOFCSCCollH.isValid()){printf("Invalid CSCTOF collection\n");continue;} - - for(unsigned int CutIndex=0;CutIndexget(track.key()); - const DeDxData& dedxMObj = dEdxMCollH->get(track.key()); - const reco::MuonTimeExtra* tof = NULL; - const reco::MuonTimeExtra* dttof = NULL; - const reco::MuonTimeExtra* csctof = NULL; - if(TypeMode==2 && !hscp.muonRef().isNull()){ tof = &TOFCollH->get(hscp.muonRef().key()); dttof = &TOFDTCollH->get(hscp.muonRef().key()); csctof = &TOFCSCCollH->get(hscp.muonRef().key());} - - PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeM, &MCPlots[m]); - if(!PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeM, &MCTrPlots))continue; - Analysis_FillControlAndPredictionHist(hscp, dedxSObj, dedxMObj, tof); - - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p(),tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()) + (1/tof->inverseBeta()))*0.5 ) ; - - - for(unsigned int CutIndex=0;CutIndexMaxMass[CutIndex]) MaxMass[CutIndex]=Mass; - - MCTrPlots .Mass->Fill(CutIndex , Mass,Event_Weight); - MCPlots[m].Mass->Fill(CutIndex, Mass,Event_Weight); - - if(tof){ - MCTrPlots .MassTOF ->Fill(CutIndex, MassTOF , Event_Weight); - MCPlots[m].MassTOF ->Fill(CutIndex, MassTOF , Event_Weight); - } - MCTrPlots .MassComb->Fill(CutIndex, MassComb, Event_Weight); - MCPlots[m].MassComb->Fill(CutIndex, MassComb, Event_Weight); - } //end of Cut loo - if(track->pt()>35)stPlots_FillTree(MCTrPlots , treeM.eventAuxiliary().run(),treeM.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1, Mass); - if(track->pt()>35)stPlots_FillTree(MCPlots[m], treeM.eventAuxiliary().run(),treeM.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1, Mass); - - } // end of Track Loop - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight);MCPlots[m].HSCPE->Fill(CutIndex,Event_Weight); - MCTrPlots.MaxEventMass->Fill(CutIndex,MaxMass[CutIndex],Event_Weight);MCPlots[m].MaxEventMass->Fill(CutIndex,MaxMass[CutIndex],Event_Weight); - } } - }// end of Event Loop - delete [] HSCPTk; - delete [] MaxMass; - stPlots_Clear(MCPlots[m], true); - printf("\n"); - } - if(MCsample.size())stPlots_Clear(MCTrPlots, true); - - - ////////////////////////////////////////////////// BUILD SIGNAL MASS SPECTRUM - - for(unsigned int s=0;s SignFileName; -// GetInputFiles(SignFileName, signals[s].FileName, period); - GetInputFiles(SignFileName, signals[s].Name, period); - - fwlite::ChainEvent treeS(SignFileName); - - if (period==0) printf("Building Mass for %10s for before RPC change :",signals[s].Name.c_str()); - if (period==1) printf("\nBuilding Mass for %10s for after RPC change :",signals[s].Name.c_str()); - TreeStep = treeS.size()/50;if(TreeStep==0)TreeStep=1; - - double SampleWeight = GetSampleWeight(IntegratedLuminosity,IntegratedLuminosityBeforeTriggerChange,signals[s].XSec,(double)treeS.size(), period); - for(Long64_t ientry=0;ientry0 && ientry>MaxEntry)break; - if(ientry%TreeStep==0){printf(".");fflush(stdout);} - Event_Weight = SampleWeight * GetPUWeight(treeS, signals[s].IsS4PileUp); - - fwlite::Handle< std::vector > genCollHandle; - genCollHandle.getByLabel(treeS, "genParticles"); - if(!genCollHandle.isValid()){printf("GenParticle Collection NotFound\n");continue;} - std::vector genColl = *genCollHandle; - int NChargedHSCP=HowManyChargedHSCP(genColl); - - double HSCPGenBeta1, HSCPGenBeta2; - GetGenHSCPBeta(genColl,HSCPGenBeta1,HSCPGenBeta2,false); - if(HSCPGenBeta1>=0)SignPlots[4*s].Beta_Gen->Fill(HSCPGenBeta1, Event_Weight); if(HSCPGenBeta2>=0)SignPlots[4*s].Beta_Gen->Fill(HSCPGenBeta2, Event_Weight); - GetGenHSCPBeta(genColl,HSCPGenBeta1,HSCPGenBeta2,true); - if(HSCPGenBeta1>=0)SignPlots[4*s].Beta_GenCharged->Fill(HSCPGenBeta1, Event_Weight); if(HSCPGenBeta2>=0)SignPlots[4*s].Beta_GenCharged->Fill(HSCPGenBeta2, Event_Weight); - - SignPlots[4*s] .TotalE ->Fill(0.0,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].TotalE ->Fill(0.0,Event_Weight); - if(!PassTrigger(treeS) )continue; - SignPlots[4*s] .TotalTE->Fill(0.0,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].TotalTE->Fill(0.0,Event_Weight); - - if(HSCPGenBeta1>=0)SignPlots[4*s].Beta_Triggered->Fill(HSCPGenBeta1, Event_Weight); if(HSCPGenBeta2>=0)SignPlots[4*s].Beta_Triggered->Fill(HSCPGenBeta2, Event_Weight); - - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(treeS,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - const susybsm::HSCParticleCollection& hscpColl = *hscpCollHandle; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(treeS, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");continue;} - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(treeS, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle TOFCollH; - TOFCollH.getByLabel(treeS, "muontiming",TOF_Label.c_str()); - if(!TOFCollH.isValid()){printf("Invalid TOF collection\n");continue;} - - fwlite::Handle TOFDTCollH; - TOFDTCollH.getByLabel(treeS, "muontiming",TOFdt_Label.c_str()); - if(!TOFDTCollH.isValid()){printf("Invalid DT TOF collection\n");continue;} - - fwlite::Handle TOFCSCCollH; - TOFCSCCollH.getByLabel(treeS, "muontiming",TOFcsc_Label.c_str()); - if(!TOFCSCCollH.isValid()){printf("Invalid CSC TOF collection\n");continue;} - - for(unsigned int CutIndex=0;CutIndex0.03)continue; - - const DeDxData& dedxSObj = dEdxSCollH->get(track.key()); - const DeDxData& dedxMObj = dEdxMCollH->get(track.key()); - const reco::MuonTimeExtra* tof = NULL; - const reco::MuonTimeExtra* dttof = NULL; - const reco::MuonTimeExtra* csctof = NULL; - if(TypeMode==2 && !hscp.muonRef().isNull()){ tof = &TOFCollH->get(hscp.muonRef().key()); dttof = &TOFDTCollH->get(hscp.muonRef().key()); csctof = &TOFCSCCollH->get(hscp.muonRef().key()); } - - - ///////////// START COMPUTATION OF THE SYSTEMATIC ////////// - bool PRescale = true; - double IRescale = -0.0438; // added to the Ias value - double MRescale = 0.97; - double TRescale = -0.00694; // added to the 1/beta value - - // Systematic on P - if(PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, NULL, -1, PRescale, 0, 0)){ - double Mass = GetMass(track->p()*PRescale,dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p()*PRescale,tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p()*PRescale, (GetIBeta(dedxMObj.dEdx()) + (1/tof->inverseBeta()))*0.5 ) ; - - for(unsigned int CutIndex=0;CutIndexMaxMass_SystP[CutIndex]) MaxMass_SystP[CutIndex]=Mass; - SignPlots[4*s ].Mass_SystP->Fill(CutIndex, Mass,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].Mass_SystP->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - SignPlots[4*s ].MassTOF_SystP ->Fill(CutIndex, MassTOF , Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassTOF_SystP ->Fill(CutIndex, MassTOF , Event_Weight); - } - SignPlots[4*s ].MassComb_SystP->Fill(CutIndex, MassComb, Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassComb_SystP->Fill(CutIndex, MassComb, Event_Weight); - } - } - } - - // Systematic on I - if(PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, NULL, -1, 0, IRescale, 0)){ - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p(),tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()) + (1/tof->inverseBeta()))*0.5 ) ; - - for(unsigned int CutIndex=0;CutIndexMaxMass_SystI[CutIndex]) MaxMass_SystI[CutIndex]=Mass; - SignPlots[4*s ].Mass_SystI->Fill(CutIndex, Mass,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].Mass_SystI->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - SignPlots[4*s ].MassTOF_SystI ->Fill(CutIndex, MassTOF , Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassTOF_SystI ->Fill(CutIndex, MassTOF , Event_Weight); - } - SignPlots[4*s ].MassComb_SystI->Fill(CutIndex, MassComb, Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassComb_SystI->Fill(CutIndex, MassComb, Event_Weight); - } - } - } - - - // Systematic on M - if(PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, NULL, -1, 0, 0, 0)){ - double Mass = GetMass(track->p(),dedxMObj.dEdx()*MRescale); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p(),tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()*MRescale) + (1/tof->inverseBeta()))*0.5 ) ; - - for(unsigned int CutIndex=0;CutIndexMaxMass_SystM[CutIndex]) MaxMass_SystM[CutIndex]=Mass; - SignPlots[4*s ].Mass_SystM->Fill(CutIndex, Mass,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].Mass_SystM->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - SignPlots[4*s ].MassTOF_SystM ->Fill(CutIndex, MassTOF , Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassTOF_SystM ->Fill(CutIndex, MassTOF , Event_Weight); - } - SignPlots[4*s ].MassComb_SystM->Fill(CutIndex, MassComb, Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassComb_SystM->Fill(CutIndex, MassComb, Event_Weight); - } - } - } - - - // Systematic on T - if(PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, NULL, -1, 0, 0, TRescale)){ - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p(),tof->inverseBeta()*TRescale); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()) + ((1/tof->inverseBeta())*TRescale ))*0.5 ) ; - - for(unsigned int CutIndex=0;CutIndexMaxMass_SystT[CutIndex]) MaxMass_SystT[CutIndex]=Mass; - SignPlots[4*s ].Mass_SystT->Fill(CutIndex, Mass,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].Mass_SystT->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - SignPlots[4*s ].MassTOF_SystT ->Fill(CutIndex, MassTOF , Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassTOF_SystT ->Fill(CutIndex, MassTOF , Event_Weight); - } - SignPlots[4*s ].MassComb_SystT->Fill(CutIndex, MassComb, Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassComb_SystT->Fill(CutIndex, MassComb, Event_Weight); - } - } - } - - ///////////// END COMPUTATION OF THE SYSTEMATIC ////////// - - - - PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, &SignPlots[4*s+NChargedHSCP+1], genColl[ClosestGen].p()/genColl[ClosestGen].energy()); - if(!PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, treeS, &SignPlots[4*s ], genColl[ClosestGen].p()/genColl[ClosestGen].energy()))continue; - - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - double MassTOF = -1; if(tof)MassTOF = GetTOFMass(track->p(),tof->inverseBeta()); - double MassComb = Mass;if(tof)MassComb=GetMassFromBeta(track->p(), (GetIBeta(dedxMObj.dEdx()) + (1/tof->inverseBeta()))*0.5 ) ; - - - for(unsigned int CutIndex=0;CutIndexMaxMass[CutIndex]) MaxMass[CutIndex]=Mass; - - SignPlots[4*s ].Mass->Fill(CutIndex, Mass,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].Mass->Fill(CutIndex, Mass,Event_Weight); - if(tof){ - SignPlots[4*s ].MassTOF ->Fill(CutIndex, MassTOF , Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassTOF ->Fill(CutIndex, MassTOF , Event_Weight); - } - SignPlots[4*s ].MassComb->Fill(CutIndex, MassComb, Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MassComb->Fill(CutIndex, MassComb, Event_Weight); - } //end of Cut loop - if(track->pt()>35 && Mass>35)stPlots_FillTree(SignPlots[4*s ] , treeS.eventAuxiliary().run(),treeS.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1, Mass); - } // end of Track Loop - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].HSCPE ->Fill(CutIndex,Event_Weight); - SignPlots[4*s ].MaxEventMass ->Fill(CutIndex,MaxMass[CutIndex],Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MaxEventMass ->Fill(CutIndex,MaxMass[CutIndex],Event_Weight); } } - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].HSCPE_SystP ->Fill(CutIndex,Event_Weight); - SignPlots[4*s ].MaxEventMass_SystP->Fill(CutIndex,MaxMass_SystP[CutIndex],Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MaxEventMass_SystP->Fill(CutIndex,MaxMass_SystP[CutIndex],Event_Weight); } } - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].HSCPE_SystI ->Fill(CutIndex,Event_Weight); - SignPlots[4*s ].MaxEventMass_SystI->Fill(CutIndex,MaxMass_SystI[CutIndex],Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MaxEventMass_SystI->Fill(CutIndex,MaxMass_SystI[CutIndex],Event_Weight); } } - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].HSCPE_SystM ->Fill(CutIndex,Event_Weight); - SignPlots[4*s ].MaxEventMass_SystM->Fill(CutIndex,MaxMass_SystM[CutIndex],Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MaxEventMass_SystM->Fill(CutIndex,MaxMass_SystM[CutIndex],Event_Weight); } } - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); - SignPlots[4*s+NChargedHSCP+1].HSCPE_SystT ->Fill(CutIndex,Event_Weight); - SignPlots[4*s ].MaxEventMass_SystT->Fill(CutIndex,MaxMass_SystT[CutIndex],Event_Weight); - SignPlots[4*s+NChargedHSCP+1].MaxEventMass_SystT->Fill(CutIndex,MaxMass_SystT[CutIndex],Event_Weight); } } - - }// end of Event Loop - } - printf("\n"); - delete [] HSCPTk; - delete [] HSCPTk_SystP; - delete [] HSCPTk_SystI; - delete [] HSCPTk_SystT; - delete [] HSCPTk_SystM; - delete [] MaxMass; - delete [] MaxMass_SystP; - delete [] MaxMass_SystI; - delete [] MaxMass_SystT; - delete [] MaxMass_SystM; - - - stPlots_Clear(SignPlots[4*s+0], true); - stPlots_Clear(SignPlots[4*s+1], true); - stPlots_Clear(SignPlots[4*s+2], true); - stPlots_Clear(SignPlots[4*s+3], true); - }// end of signal Type loop -} - -TH1D* GetPDF(TH1D* pdf){ - char NewName[2048]; - sprintf(NewName,"%s_PDF", pdf->GetName()); - - TH1D* PDF = new TH1D(NewName,NewName,pdf->GetNbinsX(),pdf->GetXaxis()->GetXmin(),pdf->GetXaxis()->GetXmax()); - for(int i=0;i<=pdf->GetNbinsX();i++){ - if(i==0){ - PDF->SetBinContent(i, pdf->GetBinContent(i) ); - }else{ - PDF->SetBinContent(i, pdf->GetBinContent(i)+PDF->GetBinContent(i-1) ); - } - } - PDF->Scale(1.0/PDF->GetBinContent(PDF->GetNbinsX())); - return PDF; -} - -double GetRandValue(TH1D* PDF){ - int randNumber = rand(); - double uniform = randNumber / (double)RAND_MAX; - for(int i=1;i<=PDF->GetNbinsX();i++){ - if(PDF->GetBinContent(i)>uniform){ - return PDF->GetXaxis()->GetBinUpEdge(i); -// return PDF->GetXaxis()->GetBinUpEdge(i-1)+(rand()/(double)RAND_MAX)*PDF->GetXaxis()->GetBinWidth(i-1); - } - } - return PDF->GetXaxis()->GetBinLowEdge(PDF->GetNbinsX()); -} - -void Analysis_Step4(char* SavePath) -{ - if(! (DataFileName.size() || MCsample.size()))return; - printf("Step4: Doing final computations\n"); - - ////////////////////////////////////////////////// MAKING THE PREDICTION - for(unsigned int CutIndex=0;CutIndexGetBinContent(CutIndex+1); - const double& B=H_B->GetBinContent(CutIndex+1); - const double& C=H_C->GetBinContent(CutIndex+1); - const double& D=H_D->GetBinContent(CutIndex+1); - const double& E=H_E->GetBinContent(CutIndex+1); - const double& F=H_F->GetBinContent(CutIndex+1); - const double& G=H_G->GetBinContent(CutIndex+1); - const double& H=H_H->GetBinContent(CutIndex+1); - double P=0; - double Perr=0; - - printf("%4i --> Pt>%7.2f I>%6.2f TOF>%+5.2f --> A=%6.2E B=%6.E C=%6.2E D=%6.2E E=%6.2E F=%6.2E G=%6.2E H=%6.2E\n",CutIndex,CutPt[CutIndex], CutI[CutIndex], CutTOF[CutIndex],A, B, C, D, E, F, G, H ); - - if(E>0){ - P = (A*F*G)/(E*E); - Perr = sqrt( ((pow(F*G,2)* A + pow(A*G,2)*F + pow(A*F,2)*G)/pow(E,4)) + (pow((2*A*F*G)/pow(E,3),2)*E)); - }else if(A>0){ - P = ((C*B)/A); - Perr = sqrt( (pow(B/A,2)*C) + (pow(C/A,2)*B) + (pow((B*(C)/(A*A)),2)*A) ); - } - - H_P->SetBinContent(CutIndex+1,P); - H_P->SetBinError (CutIndex+1,Perr); - if(P==0 || isnan(P))continue; //Skip this CutIndex --> No Prediction possible - - printf("%4i --> Pt>%7.2f I>%6.2f TOF>%+5.2f --> D=%6.2E vs Pred = %6.2E +- %6.2E (%6.2E%%)\n", CutIndex,CutPt[CutIndex], CutI[CutIndex], CutTOF[CutIndex],D, P, Perr, 100.0*Perr/P ); - - TH1D* Pred_EtaB_Proj = Pred_EtaB->ProjectionY("ProjEtaB",CutIndex+1,CutIndex+1); // Pred_EtaB_Proj->Scale(1.0/Pred_EtaB_Proj->Integral()); - TH1D* Pred_EtaS_Proj = Pred_EtaS->ProjectionY("ProjEtaS",CutIndex+1,CutIndex+1); // Pred_EtaS_Proj->Scale(1.0/Pred_EtaS_Proj->Integral()); - TH1D* Pred_EtaS2_Proj = Pred_EtaS2->ProjectionY("ProjEtaS2",CutIndex+1,CutIndex+1);// Pred_EtaS2_Proj->Scale(1.0/Pred_EtaS2_Proj->Integral()); - TH1D* Pred_EtaB_Proj_PE = (TH1D*)Pred_EtaB_Proj->Clone("Pred_EtaB_Proj_PE"); Pred_EtaB_Proj_PE->Reset(); - TH1D* Pred_EtaS_Proj_PE = (TH1D*)Pred_EtaS_Proj->Clone("Pred_EtaS_Proj_PE"); Pred_EtaS_Proj_PE->Reset(); - TH1D* Pred_EtaS2_Proj_PE = (TH1D*)Pred_EtaS2_Proj->Clone("Pred_EtaS2_Proj_PE"); Pred_EtaS2_Proj_PE->Reset(); - - Pred_EtaP->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - TH2D* Pred_EtaPWeighted = (TH2D*)Pred_EtaP->Project3D("zy"); - TH2D* Pred_EtaPWeighted_PE = (TH2D*)Pred_EtaPWeighted->Clone("Pred_EtaPWeightedPE"); Pred_EtaPWeighted_PE->Reset(); - -/* - for(int x=0;x<=Pred_EtaPWeighted->GetXaxis()->GetNbins();x++){ - double WeightP = 0.0; - if(Pred_EtaB_Proj->GetBinContent(x)>0){ - WeightP = Pred_EtaS_Proj->GetBinContent(x)/Pred_EtaB_Proj->GetBinContent(x); - if(TypeMode==2)WeightP*= Pred_EtaS2_Proj->GetBinContent(x)/Pred_EtaB_Proj->GetBinContent(x); - } - - for(int y=0;y<=Pred_EtaPWeighted->GetYaxis()->GetNbins();y++){ - Pred_EtaPWeighted->SetBinContent(x,y,Pred_EtaPWeighted->GetBinContent(x,y)*WeightP); - } - } -*/ -// TH1D* Pred_P_Proj = Pred_EtaPWeighted->ProjectionY("ProjP"); - TH1D* Pred_I_Proj = Pred_I->ProjectionY("ProjI",CutIndex+1,CutIndex+1); - TH1D* Pred_T_Proj = Pred_TOF->ProjectionY("ProjT",CutIndex+1,CutIndex+1); - TH1D* Pred_I_ProjPE = (TH1D*) Pred_I_Proj->Clone("Pred_I_ProjPE"); Pred_I_ProjPE->Reset(); - TH1D* Pred_T_ProjPE = (TH1D*) Pred_T_Proj->Clone("Pred_T_ProjPE"); Pred_T_ProjPE->Reset(); - - -// TH1D* Pred_P_PDF = GetPDF(Pred_P_Proj); -// TH1D* Pred_I_PDF = GetPDF(Pred_I_Proj); -// TH1D* Pred_T_PDF = GetPDF(Pred_T_Proj); - - TH2D* Pred_Prof_Mass = new TH2D("Pred_Prof_Mass" ,"Pred_Prof_Mass" ,MassNBins,0,MassHistoUpperBound, 100, 0, 100); - TH2D* Pred_Prof_MassTOF = new TH2D("Pred_Prof_MassTOF" ,"Pred_Prof_MassTOF" ,MassNBins,0,MassHistoUpperBound, 100, 0, 100); - TH2D* Pred_Prof_MassComb = new TH2D("Pred_Prof_MassComb","Pred_Prof_MassComb",MassNBins,0,MassHistoUpperBound, 100, 0, 100); - - - for(int x=0;xGetNbinsY()+1;x++){ - for(unsigned int pe=0;pe<100;pe++){ - Pred_Prof_Mass ->SetBinContent(x, pe, 0); - Pred_Prof_MassTOF ->SetBinContent(x, pe, 0); - Pred_Prof_MassComb->SetBinContent(x, pe, 0); - } - } - - - - TRandom3* RNG = new TRandom3(); - printf("Predicting (%4i / %4i) :",CutIndex+1,(int)CutPt.size()); - int TreeStep = 100/50;if(TreeStep==0)TreeStep=1; - for(unsigned int pe=0;pe<100;pe++){ - if(pe%TreeStep==0){printf(".");fflush(stdout);} - - TH1D* tmpH_Mass = new TH1D("tmpH_Mass" ,"tmpH_Mass" ,MassNBins,0,MassHistoUpperBound); - TH1D* tmpH_MassTOF = new TH1D("tmpH_MassTOF" ,"tmpH_MassTOF" ,MassNBins,0,MassHistoUpperBound); - TH1D* tmpH_MassComb = new TH1D("tmpH_MassComb","tmpH_MassComb",MassNBins,0,MassHistoUpperBound); - - - double PE_A=RNG->Poisson(A); - double PE_B=RNG->Poisson(B); - double PE_C=RNG->Poisson(C); - //double PE_D=RNG->Poisson(D); - double PE_E=RNG->Poisson(E); - double PE_F=RNG->Poisson(F); - double PE_G=RNG->Poisson(G); - //double PE_H=RNG->Poisson(H); - double PE_P = 0; - - if(E>0){ - PE_P = (PE_E>0 ? (PE_A*PE_F*PE_G)/(PE_E*PE_E) : 0); - }else if(A>0){ - PE_P = (PE_A>0 ? ((PE_C*PE_B)/PE_A) : 0); - } - - for(int i=0;iGetNbinsX()+1;i++){Pred_EtaB_Proj_PE->SetBinContent(i,RNG->Poisson(Pred_EtaB_Proj->GetBinContent(i)) );} Pred_EtaB_Proj_PE->Scale(1.0/Pred_EtaB_Proj_PE->Integral()); - for(int i=0;iGetNbinsX()+1;i++){Pred_EtaS_Proj_PE->SetBinContent(i,RNG->Poisson(Pred_EtaS_Proj->GetBinContent(i)) );} Pred_EtaS_Proj_PE->Scale(1.0/Pred_EtaS_Proj_PE->Integral()); - for(int i=0;iGetNbinsX()+1;i++){Pred_EtaS2_Proj_PE->SetBinContent(i,RNG->Poisson(Pred_EtaS2_Proj->GetBinContent(i)) );} Pred_EtaS2_Proj_PE->Scale(1.0/Pred_EtaS2_Proj_PE->Integral()); - - - for(int i=0;iGetNbinsX()+1;i++){ - for(int j=0;jGetNbinsY()+1;j++){ - Pred_EtaPWeighted_PE->SetBinContent(i,j,RNG->Poisson(Pred_EtaPWeighted->GetBinContent(i,j))); - }} - - double WeightP = 0.0; - for(int x=0;x<=Pred_EtaPWeighted_PE->GetXaxis()->GetNbins();x++){ - WeightP = 0.0; - if(Pred_EtaB_Proj_PE->GetBinContent(x)>0){ - WeightP = Pred_EtaS_Proj_PE ->GetBinContent(x)/Pred_EtaB_Proj_PE->GetBinContent(x); - if(TypeMode==2)WeightP*= Pred_EtaS2_Proj_PE->GetBinContent(x)/Pred_EtaB_Proj_PE->GetBinContent(x); - } - - for(int y=0;y<=Pred_EtaPWeighted_PE->GetYaxis()->GetNbins();y++){ - Pred_EtaPWeighted_PE->SetBinContent(x,y,Pred_EtaPWeighted_PE->GetBinContent(x,y)*WeightP); - } - } - TH1D* Pred_P_ProjPE = Pred_EtaPWeighted_PE->ProjectionY("Pred_P_ProjPE"); Pred_P_ProjPE->Scale(1.0/Pred_P_ProjPE->Integral()); - for(int i=0;iGetNbinsX()+1;i++){Pred_I_ProjPE->SetBinContent(i,RNG->Poisson(Pred_I_Proj->GetBinContent(i)) );} Pred_I_ProjPE->Scale(1.0/Pred_I_ProjPE->Integral()); - for(int i=0;iGetNbinsX()+1;i++){Pred_T_ProjPE->SetBinContent(i,RNG->Poisson(Pred_T_Proj->GetBinContent(i)) );} Pred_T_ProjPE->Scale(1.0/Pred_T_ProjPE->Integral()); - - double Proba, MI, MComb, MT=0, ProbaT=0; - for(int x=0;xGetNbinsX()+1;x++){ if(Pred_P_ProjPE->GetBinContent(x)<=0.0){continue;} const double& p = Pred_P_ProjPE->GetBinCenter(x); - for(int y=0;yGetNbinsX()+1;y++){ if(Pred_I_ProjPE->GetBinContent(y)<=0.0){continue;} const double& i = Pred_I_ProjPE->GetBinCenter(y); - Proba = Pred_P_ProjPE->GetBinContent(x) * Pred_I_ProjPE->GetBinContent(y); if(Proba<=0 || isnan(Proba))continue; - MI = GetMass(p,i); - MComb = MI; - tmpH_Mass->Fill(MI,Proba); - -// if(TypeMode==2){ -// for(int z=0;zGetNbinsX()+1;z++){ if(Pred_T_ProjPE->GetBinContent(z)<=0.0){continue;} const double& t = Pred_T_ProjPE->GetBinCenter(z); -// ProbaT = Proba * Pred_T_ProjPE->GetBinContent(z); if(ProbaT<=0 || isnan(ProbaT))continue; -// MT = GetTOFMass(p,t); -// tmpH_MassTOF->Fill(MT,ProbaT); -// MComb = GetMassFromBeta(p, (GetIBeta(i) + (1/t))*0.5 ); -// tmpH_MassComb->Fill(MComb,ProbaT); -// }}else{ - tmpH_MassComb->Fill(MComb,Proba); -// } - }} - -// printf("PE_P = %f\n",PE_P); - - for(int x=0;xGetNbinsX()+1;x++){ - //const double& M = tmpH_Mass->GetXaxis()->GetBinCenter(x); - Pred_Prof_Mass ->SetBinContent(x, pe, tmpH_Mass ->GetBinContent(x) * PE_P); - Pred_Prof_MassTOF ->SetBinContent(x, pe, tmpH_MassTOF ->GetBinContent(x) * PE_P); - Pred_Prof_MassComb->SetBinContent(x, pe, tmpH_MassComb->GetBinContent(x) * PE_P); - if(isnan(tmpH_Mass ->GetBinContent(x) * PE_P)){printf("%f x %f\n",tmpH_Mass ->GetBinContent(x),PE_P); fflush(stdout);exit(0);} - } - - delete Pred_P_ProjPE; - delete tmpH_Mass; - delete tmpH_MassTOF; - delete tmpH_MassComb; - }printf("\n"); - - for(int x=0;xGetNbinsY()+1;x++){ -// Pred_Mass ->SetBinContent(CutIndex+1,x,Pred_Prof_Mass ->GetBinContent(x)); Pred_Mass ->SetBinError(CutIndex+1,x,sqrt(pow(Pred_Prof_Mass ->GetBinError(x),2) + Pred_Prof_Mass ->GetBinContent(x)*(Perr/P))); -// Pred_MassTOF ->SetBinContent(CutIndex+1,x,Pred_Prof_MassTOF ->GetBinContent(x)); Pred_MassTOF ->SetBinError(CutIndex+1,x,sqrt(pow(Pred_Prof_MassTOF ->GetBinError(x),2) + Pred_Prof_MassTOF ->GetBinContent(x)*(Perr/P))); -// Pred_MassComb->SetBinContent(CutIndex+1,x,Pred_Prof_MassComb->GetBinContent(x)); Pred_MassComb ->SetBinError(CutIndex+1,x,sqrt(pow(Pred_Prof_MassComb->GetBinError(x),2) + Pred_Prof_MassComb->GetBinContent(x)*(Perr/P))); - - double Mean=0, MeanTOF=0, MeanComb=0; - for(unsigned int pe=0;pe<100;pe++){ - //if(CutIndex==4){printf("Bin=%4i pe=%3i --> BinCOntent=%f\n",x,pe,Pred_Prof_Mass ->GetBinContent(x, pe));} - Mean += Pred_Prof_Mass ->GetBinContent(x, pe); - MeanTOF += Pred_Prof_MassTOF ->GetBinContent(x, pe); - MeanComb += Pred_Prof_MassComb->GetBinContent(x, pe); - }Mean/=100.0; MeanTOF/=100.0; MeanComb/=100.0; - - //if(CutIndex==4){printf("MEAN = %f\n",Mean);} - - - double Err=0, ErrTOF=0, ErrComb=0; - for(unsigned int pe=0;pe<100;pe++){ - //if(CutIndex==4){printf("Bin=%4i pe=%3i --> DeltaM=%f\n",x,pe,sqrt(pow(Mean - Pred_Prof_Mass ->GetBinContent(x, pe),2)));} - Err += pow(Mean - Pred_Prof_Mass ->GetBinContent(x, pe),2); - ErrTOF += pow(MeanTOF - Pred_Prof_MassTOF ->GetBinContent(x, pe),2); - ErrComb += pow(MeanComb - Pred_Prof_MassComb->GetBinContent(x, pe),2); - }Err=sqrt(Err/99.0); ErrTOF=sqrt(ErrTOF/99.0); ErrComb=sqrt(ErrComb/99.0); - //if(CutIndex==4){printf("ERROR = %f\n",Err);} - - - Pred_Mass ->SetBinContent(CutIndex+1,x,Mean ); Pred_Mass ->SetBinError(CutIndex+1,x,Err ); - Pred_MassTOF ->SetBinContent(CutIndex+1,x,MeanTOF ); Pred_MassTOF ->SetBinError(CutIndex+1,x,ErrTOF ); - Pred_MassComb->SetBinContent(CutIndex+1,x,MeanComb); Pred_MassComb ->SetBinError(CutIndex+1,x,ErrComb); - } -// printf("MassInt %f\n",Pred_Prof_Mass->Integral()); - - - delete Pred_EtaB_Proj_PE; - delete Pred_EtaS_Proj_PE; - delete Pred_EtaS2_Proj_PE; - - delete Pred_Prof_Mass; - delete Pred_Prof_MassTOF; - delete Pred_Prof_MassComb; - delete Pred_EtaPWeighted_PE; - delete Pred_I_ProjPE; - delete Pred_T_ProjPE; - -// delete Pred_P_PDF; -// delete Pred_I_PDF; -// delete Pred_T_PDF; -// delete Pred_P_Proj; - delete Pred_I_Proj; - delete Pred_T_Proj; - delete Pred_EtaB_Proj; - delete Pred_EtaS_Proj; - delete Pred_EtaS2_Proj; - delete Pred_EtaPWeighted; - } - - - ////////////////////////////////////////////////// DUMP USEFUL INFORMATION - if(DataFileName.size()>0 || MCsample.size()){ //Dump info only if we are looking at some datasamples. - char Buffer[2048]; - if(DataFileName.size()>0){sprintf(Buffer,"%s/Info.txt",SavePath); - }else{ sprintf(Buffer,"%s/Info_MC.txt",SavePath);} - FILE* pFile = fopen(Buffer,"w"); - fprintf(pFile,"Selection = %s\n",dEdxS_Label.c_str()); - fprintf(pFile,"Mass = %s\n",dEdxM_Label.c_str()); - fprintf(pFile,"TOF = %s\n",TOF_Label.c_str()); - fprintf(pFile,"|eta| < %f\n",GlobalMaxEta); - fprintf(pFile,"pT_err/pT < %f\n",GlobalMaxPterr); - fprintf(pFile,"#Hit > %02i\n",GlobalMinNOH); - fprintf(pFile,"#dEdx Hit > %02i\n",GlobalMinNOM); - fprintf(pFile,"nDoF > %02i\n",GlobalMinNOH); - fprintf(pFile,"Chi2/ndf < %6.2f\n",GlobalMaxChi2); - fprintf(pFile,"SumPt < %6.2f\n",GlobalMaxTIsol); - fprintf(pFile,"E/p < %6.2f\n",GlobalMaxEIsol); - - for(unsigned int CutIndex=0;CutIndexGetBinContent(CutIndex+1); - const double& B=H_B->GetBinContent(CutIndex+1); - const double& C=H_C->GetBinContent(CutIndex+1); - const double& D=H_D->GetBinContent(CutIndex+1); - const double& E=H_E->GetBinContent(CutIndex+1); - const double& F=H_F->GetBinContent(CutIndex+1); - const double& G=H_G->GetBinContent(CutIndex+1); - const double& H=H_H->GetBinContent(CutIndex+1); - - fprintf(pFile ,"CutIndex=%4i --> (Pt>%6.2f I>%6.3f TOF>%6.3f) Ndata=%+6.2E NPred=%6.3E+-%6.3E <--> A=%6.2E B=%6.E C=%6.2E D=%6.2E E=%6.2E F=%6.2E G=%6.2E H=%6.2E\n",CutIndex,HCuts_Pt ->GetBinContent(CutIndex+1), HCuts_I ->GetBinContent(CutIndex+1), HCuts_TOF->GetBinContent(CutIndex+1), D,H_P->GetBinContent(CutIndex+1),H_P->GetBinError(CutIndex+1) ,A, B, C, D, E, F, G, H); - } - fprintf(pFile,"--------------------\n"); - fclose(pFile); - } - ////////////////////////////////////////////////// CREATE EFFICIENCY FILE - - fflush(stdout); -} - - -void InitHistos(){ - for(unsigned int m=0;mcd(); - - HCuts_Pt = new TH1D("HCuts_Pt" ,"HCuts_Pt" ,CutPt.size(),0,CutPt.size()); - HCuts_I = new TH1D("HCuts_I" ,"HCuts_I" ,CutPt.size(),0,CutPt.size()); - HCuts_TOF = new TH1D("HCuts_TOF","HCuts_TOF",CutPt.size(),0,CutPt.size()); - for(unsigned int i=0;iFill(i,CutPt[i]); HCuts_I->Fill(i,CutI[i]); HCuts_TOF->Fill(i,CutTOF[i]); } - - if(DataFileName.size() || MCsample.size()){ - H_A = new TH1D("H_A" ,"H_A" ,CutPt.size(),0,CutPt.size()); - H_B = new TH1D("H_B" ,"H_B" ,CutPt.size(),0,CutPt.size()); - H_C = new TH1D("H_C" ,"H_C" ,CutPt.size(),0,CutPt.size()); - H_D = new TH1D("H_D" ,"H_D" ,CutPt.size(),0,CutPt.size()); - H_E = new TH1D("H_E" ,"H_E" ,CutPt.size(),0,CutPt.size()); - H_F = new TH1D("H_F" ,"H_F" ,CutPt.size(),0,CutPt.size()); - H_G = new TH1D("H_G" ,"H_G" ,CutPt.size(),0,CutPt.size()); - H_H = new TH1D("H_H" ,"H_H" ,CutPt.size(),0,CutPt.size()); - H_P = new TH1D("H_P" ,"H_P" ,CutPt.size(),0,CutPt.size()); - - CtrlPt_S1_Is = new TH1D("CtrlPt_S1_Is" ,"CtrlPt_S1_Is" ,200,0,dEdxS_UpLim); CtrlPt_S1_Is ->Sumw2(); - CtrlPt_S1_Im = new TH1D("CtrlPt_S1_Im" ,"CtrlPt_S1_Im" ,200,0,dEdxM_UpLim); CtrlPt_S1_Im ->Sumw2(); - CtrlPt_S1_TOF = new TH1D("CtrlPt_S1_TOF","CtrlPt_S1_TOF",200,0,5); CtrlPt_S1_TOF->Sumw2(); - CtrlPt_S2_Is = new TH1D("CtrlPt_S2_Is" ,"CtrlPt_S2_Is" ,200,0,dEdxS_UpLim); CtrlPt_S2_Is ->Sumw2(); - CtrlPt_S2_Im = new TH1D("CtrlPt_S2_Im" ,"CtrlPt_S2_Im" ,200,0,dEdxM_UpLim); CtrlPt_S2_Im ->Sumw2(); - CtrlPt_S2_TOF = new TH1D("CtrlPt_S2_TOF","CtrlPt_S2_TOF",200,0,5); CtrlPt_S2_TOF->Sumw2(); - CtrlPt_S3_Is = new TH1D("CtrlPt_S3_Is" ,"CtrlPt_S3_Is" ,200,0,dEdxS_UpLim); CtrlPt_S3_Is ->Sumw2(); - CtrlPt_S3_Im = new TH1D("CtrlPt_S3_Im" ,"CtrlPt_S3_Im" ,200,0,dEdxM_UpLim); CtrlPt_S3_Im ->Sumw2(); - CtrlPt_S3_TOF = new TH1D("CtrlPt_S3_TOF","CtrlPt_S3_TOF",200,0,5); CtrlPt_S3_TOF->Sumw2(); - CtrlPt_S4_Is = new TH1D("CtrlPt_S4_Is" ,"CtrlPt_S4_Is" ,200,0,dEdxS_UpLim); CtrlPt_S4_Is ->Sumw2(); - CtrlPt_S4_Im = new TH1D("CtrlPt_S4_Im" ,"CtrlPt_S4_Im" ,200,0,dEdxM_UpLim); CtrlPt_S4_Im ->Sumw2(); - CtrlPt_S4_TOF = new TH1D("CtrlPt_S4_TOF","CtrlPt_S4_TOF",200,0,5); CtrlPt_S4_TOF->Sumw2(); - - CtrlIs_S1_TOF = new TH1D("CtrlIs_S1_TOF","CtrlIs_S1_TOF",200,0,5); CtrlIs_S1_TOF->Sumw2(); - CtrlIs_S2_TOF = new TH1D("CtrlIs_S2_TOF","CtrlIs_S2_TOF",200,0,5); CtrlIs_S2_TOF->Sumw2(); - CtrlIs_S3_TOF = new TH1D("CtrlIs_S3_TOF","CtrlIs_S3_TOF",200,0,5); CtrlIs_S3_TOF->Sumw2(); - CtrlIs_S4_TOF = new TH1D("CtrlIs_S4_TOF","CtrlIs_S4_TOF",200,0,5); CtrlIs_S4_TOF->Sumw2(); - - char Name [1024]; - sprintf(Name,"Is"); - Hist_Is = new TH1D(Name,Name, 200,0,dEdxS_UpLim); - Hist_Is->Sumw2(); - - sprintf(Name,"Pt"); - Hist_Pt = new TH1D(Name,Name,200,0,PtHistoUpperBound); - Hist_Pt->Sumw2(); - - sprintf(Name,"TOF"); - Hist_TOF = new TH1D(Name,Name,200,-10,20); - Hist_TOF->Sumw2(); - - sprintf(Name,"Pred_Mass"); - Pred_Mass = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(),MassNBins,0,MassHistoUpperBound); - Pred_Mass->Sumw2(); - - sprintf(Name,"Pred_MassTOF"); - Pred_MassTOF = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), MassNBins,0,MassHistoUpperBound); - Pred_MassTOF->Sumw2(); - - sprintf(Name,"Pred_MassComb"); - Pred_MassComb = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(),MassNBins,0,MassHistoUpperBound); - Pred_MassComb->Sumw2(); - - sprintf(Name,"Pred_I"); - Pred_I = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 200,GlobalMinIm,dEdxM_UpLim); - Pred_I->Sumw2(); - - sprintf(Name,"Pred_EtaB"); - Pred_EtaB = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 50,-3,3); - Pred_EtaB->Sumw2(); - - sprintf(Name,"Pred_EtaS"); - Pred_EtaS = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 50,-3,3); - Pred_EtaS->Sumw2(); - - sprintf(Name,"Pred_EtaS2"); - Pred_EtaS2 = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 50,-3,3); - Pred_EtaS2->Sumw2(); - - - sprintf(Name,"Pred_EtaP"); - Pred_EtaP = new TH3D(Name,Name,CutPt.size(),0,CutPt.size(), 50, -3, 3, 200,GlobalMinPt,PtHistoUpperBound); - Pred_EtaP->Sumw2(); - - sprintf(Name,"Pred_TOF"); - Pred_TOF = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 200,GlobalMinTOF,5); - Pred_TOF->Sumw2(); - - - sprintf(Name,"RegionD_I"); - RegionD_I = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 200,GlobalMinIm,dEdxM_UpLim); - RegionD_I->Sumw2(); - - sprintf(Name,"RegionD_P"); - RegionD_P = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 200,GlobalMinPt,PtHistoUpperBound); - RegionD_P->Sumw2(); - - sprintf(Name,"RegionD_TOF"); - RegionD_TOF = new TH2D(Name,Name,CutPt.size(),0,CutPt.size(), 200,GlobalMinTOF,5); - RegionD_TOF->Sumw2(); - } -} - - -double DistToHSCP (const susybsm::HSCParticle& hscp, const std::vector& genColl, int& IndexOfClosest){ - reco::TrackRef track = hscp.trackRef(); if(track.isNull())return false; - - double RMin = 9999; IndexOfClosest=-1; - for(unsigned int g=0;geta(), track->phi(), genColl[g].eta(), genColl[g].phi()); - if(dR=IntegratedLuminosityInPbBeforeTriggerChange && IntegratedLuminosityInPb>0){ - double NMCEvents = MCEvents; - if(MaxEntry>0)NMCEvents=std::min(MCEvents,(double)MaxEntry); - if (period==0)Weight = (CrossSection * IntegratedLuminosityInPbBeforeTriggerChange) / NMCEvents; - else if (period==1)Weight = (CrossSection * (IntegratedLuminosityInPb-IntegratedLuminosityInPbBeforeTriggerChange)) / NMCEvents; - } - return Weight; -} - - -double GetSampleWeightMC(const double& IntegratedLuminosityInPb, const std::vector fileNames, const double& XSection, const double& SampleSize, double MaxEvent){ - double Weight = 1.0; - unsigned long InitNumberOfEvents = GetInitialNumberOfMCEvent(fileNames); - double SampleEquivalentLumi = InitNumberOfEvents / XSection; - if(MaxEvent<0)MaxEvent=SampleSize; - printf("GetSampleWeight MC: IntLumi = %6.2E SampleLumi = %6.2E --> EventWeight = %6.2E --> ",IntegratedLuminosityInPb,SampleEquivalentLumi, IntegratedLuminosityInPb/SampleEquivalentLumi); -// printf("Sample NEvent = %6.2E SampleEventUsed = %6.2E --> Weight Rescale = %6.2E\n",SampleSize, MaxEvent, SampleSize/MaxEvent); - Weight = (IntegratedLuminosityInPb/SampleEquivalentLumi) * (SampleSize/MaxEvent); - printf("FinalWeight = %6.2f\n",Weight); - return Weight; -} - -double GetPUWeight(const fwlite::ChainEvent& ev, const bool& Iss4pileup){ - //get pile up weight for this event - fwlite::Handle > PupInfo; - PupInfo.getByLabel(ev, "addPileupInfo"); - if(!PupInfo.isValid()){printf("PileupSummaryInfo Collection NotFound\n");return 1.0;} - double PUWeight_thisevent=1; - std::vector::const_iterator PVI; - int npv = -1; - if(Iss4pileup){ - float sum_nvtx = 0; - for(PVI = PupInfo->begin(); PVI != PupInfo->end(); ++PVI) { - npv = PVI->getPU_NumInteractions(); - sum_nvtx += float(npv); - } - float ave_nvtx = sum_nvtx/3.; - PUWeight_thisevent = LumiWeightsMC_.weight3BX( ave_nvtx ); - }else{ - for(PVI = PupInfo->begin(); PVI != PupInfo->end(); ++PVI) { - int BX = PVI->getBunchCrossing(); - if(BX == 0) { - npv = PVI->getPU_NumInteractions(); - continue; - } - } - PUWeight_thisevent = LumiWeightsMC_.weight( npv ); - } - return PUWeight_thisevent; -} - - -int HowManyChargedHSCP (const std::vector& genColl){ - int toReturn = 0; - for(unsigned int g=0;g& genColl, double& beta1, double& beta2, bool onlyCharged){ - beta1=-1; beta2=-1; - for(unsigned int g=0;g& fileNames) -{ - unsigned long Total = 0; - fwlite::ChainEvent tree(fileNames); - - for(unsigned int f=0;f nEventsTotalCounter; - nEventsTotalCounter.getByLabel(ls,"nEventsBefSkim"); - if(!nEventsTotalCounter.isValid()){printf("Invalid nEventsTotalCounterH\n");continue;} - Total+= nEventsTotalCounter->value; - } - } - return Total; -} diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step234.sh b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step234.sh deleted file mode 100644 index 8c9fb713fad7e..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step234.sh +++ /dev/null @@ -1,18 +0,0 @@ -root -l -b << EOF - TString makeshared(gSystem->GetMakeSharedLib()); - TString dummy = makeshared.ReplaceAll("-W ", ""); - TString dummy = makeshared.ReplaceAll("-Wshadow ", ""); - gSystem->SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so"); - gSystem->Load("libDataFormatsVertexReco.so"); - gSystem->Load("libDataFormatsCommon.so"); - gSystem->Load("libDataFormatsHepMCCandidate.so"); - gSystem->Load("libPhysicsToolsUtilities.so"); - .x Analysis_Step234.C++("ANALYSE_DATA", 2, "dedxASmi", "dedxHarm2", "combined", 0, 0, 0, 45.0, 2.1); - //.x Analysis_Step234.C++("ANALYSE_SIGNAL", 2, "dedxASmi", "dedxHarm2", "combined", 40.0, 0.10, 2.1); - //.x Analysis_Step234.C++("PLOT" , 2, 0, "dedxASmi", "dedxHarm2", "combined", -0.6,-0.6,-0.6); -EOF - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step5.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step5.C deleted file mode 100644 index 892c01f86df30..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step5.C +++ /dev/null @@ -1,1762 +0,0 @@ - -#include -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphErrors.h" -#include "TGraphAsymmErrors.h" -#include "TMultiGraph.h" -#include "TPaveText.h" -#include "tdrstyle.C" - - -#include "Analysis_CommonFunction.h" -#include "Analysis_Global.h" -#include "Analysis_PlotFunction.h" -#include "Analysis_PlotStructure.h" -#include "Analysis_Samples.h" - -using namespace std; - -/////////////////////////// FUNCTION DECLARATION ///////////////////////////// - -void CutFlow(string InputPattern, unsigned int CutIndex=0); -void SelectionPlot (string InputPattern, unsigned int CutIndex, unsigned int GluinoCutIndex); -void MassPrediction(string InputPattern, unsigned int CutIndex, string HistoSuffix="Mass"); -void PredictionAndControlPlot(string InputPattern, unsigned int CutIndex); -void Make2DPlot_Core(string ResultPattern, unsigned int CutIndex); -void SignalMassPlot(string InputPattern, unsigned int CutIndex); -void GetSystematicOnPrediction(string InputPattern); -int JobIdToIndex(string JobId); -void MassPredictionTight(string InputPattern, unsigned int CutIndex, string HistoSuffix="Mass"); -void MakeExpLimitpLot(string Input, string Output); - -std::vector signals; -std::vector MCsample; - -string LegendTitle; - -/////////////////////////// CODE PARAMETERS ///////////////////////////// - -void Analysis_Step5() -{ - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.12); - gStyle->SetPadRightMargin (0.16); - gStyle->SetPadLeftMargin (0.14); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.45); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505); - - - GetSignalDefinition(signals); - GetMCDefinition(MCsample); - - string InputDir; unsigned int CutIndex; - std::vector Legends; std::vector Inputs; - int GluinoCutIndex; -/* - MakeExpLimitpLot("Results_1toys_lp/dedxASmi/combined/Eta15/PtMin35/Type0/EXCLUSION/Stop200.info","tmp1.png"); - MakeExpLimitpLot("Results_3toys_lp/dedxASmi/combined/Eta15/PtMin35/Type0/EXCLUSION/Stop200.info","tmp3.png"); - MakeExpLimitpLot("Results/dedxASmi/combined/Eta15/PtMin35/Type0/EXCLUSION/Stop200.info","tmp10.png"); - return; -*/ - - -// InputDir = "Results/dedxASmi/combined/Eta25/PtMin15/Type0/SplitMode0/WPPt20/WPI20/WPTOF00/"; -// InputDir = "Results/dedxASmi/combined/Eta25/PtMin20/Type2/SplitMode0/WPPt05/WPI05/WPTOF05/"; -// InputDir = "Results/dedxASmi/combined/Eta25/PtMin20/Type2/SplitMode0/WPPt20/WPI20/WPTOF20/"; -// MassPrediction(InputDir); -// Make2DPlot_Core(InputDir); -// SelectionPlot(InputDir); -// PredictionAndControlPlot(InputDir); - - - //InputDir = "Results/dedxASmi/combined/Eta15/PtMin35/Type0/"; CutIndex = 4;//25;//24;//41 -// Make2DPlot_Core(InputDir,CutIndex); -// CutFlow(InputDir); -// SelectionPlot(InputDir, CutIndex); - //MassPrediction(InputDir, CutIndex, "Mass"); -// MassPrediction(InputDir, CutIndex, "MassTOF"); -// MassPrediction(InputDir, CutIndex, "MassComb"); -// PredictionAndControlPlot(InputDir, CutIndex); -// SignalMassPlot(InputDir,0);return; -// GetSystematicOnPrediction(InputDir); - - InputDir = "Results/dedxASmi/combined/Eta15/PtMin45/Type0/"; CutIndex = 4; - MassPrediction(InputDir, CutIndex, "Mass"); - PredictionAndControlPlot(InputDir, CutIndex); -// CutFlow(InputDir); -// SelectionPlot(InputDir, CutIndex, 0); - InputDir = "Results/dedxASmi/combined/Eta15/PtMin45/Type2/"; CutIndex = 16; - MassPrediction(InputDir, CutIndex, "Mass"); -// CutFlow(InputDir); -// SelectionPlot(InputDir, CutIndex, 0);return; - //GetSystematicOnPrediction(InputDir); - //PredictionAndControlPlot(InputDir, CutIndex); - - //SelectionPlot(InputDir, CutIndex); - //PredictionAndControlPlot(InputDir, CutIndex); - //GetSystematicOnPrediction(InputDir); - return; - - InputDir = "Results/dedxASmi/combined/Eta15/PtMin45/Type0/"; CutIndex = 11;/*65;*//*39;*/ MassPredictionTight(InputDir, CutIndex, "Mass"); - CutIndex=50; - GluinoCutIndex=11; - SelectionPlot(InputDir, CutIndex, GluinoCutIndex); - - InputDir = "Results/dedxASmi/combined/Eta15/PtMin45/Type2/"; CutIndex = 275;/*211;*//*167;95;*/ MassPredictionTight(InputDir, CutIndex, "Mass"); - GluinoCutIndex=845; - SelectionPlot(InputDir, CutIndex, GluinoCutIndex); -// InputDir = "Results/dedxASmi/combined/Eta25/PtMin45/Type0/"; CutIndex = 64; Make2DPlot_Core(InputDir,CutIndex); - - -// 31, 65, 44, 64 - - return; -} - - - -TH2D* GetCutIndexSliceFromTH3(TH3D* tmp, unsigned int CutIndex, string Name="zy"){ - tmp->GetXaxis()->SetRange(CutIndex+1,CutIndex+1); - return (TH2D*)tmp->Project3D(Name.c_str()); -} - - -TH1D* GetCutIndexSliceFromTH2(TH2D* tmp, unsigned int CutIndex, string Name="_py"){ - return tmp->ProjectionY(Name.c_str(),CutIndex+1,CutIndex+1); -} - - -////////////////////////////////////////////////// CREATE PLOTS OF SELECTION - -void GetSystematicOnPrediction(string InputPattern){ - string Input = InputPattern + "Histos_Data.root"; - TFile* InputFile = new TFile(Input.c_str()); - string SavePath = InputPattern + "Systematic/"; - - MakeDirectories(SavePath); - - TH1D* HCuts_Pt = (TH1D*)GetObjectFromPath(InputFile, "HCuts_Pt"); - TH1D* HCuts_I = (TH1D*)GetObjectFromPath(InputFile, "HCuts_I"); - TH1D* HCuts_TOF = (TH1D*)GetObjectFromPath(InputFile, "HCuts_TOF"); - TH1D* H_A = (TH1D*)GetObjectFromPath(InputFile, "H_A"); - TH1D* H_B = (TH1D*)GetObjectFromPath(InputFile, "H_B"); - TH1D* H_C = (TH1D*)GetObjectFromPath(InputFile, "H_C"); - TH1D* H_D = (TH1D*)GetObjectFromPath(InputFile, "H_D"); - TH1D* H_E = (TH1D*)GetObjectFromPath(InputFile, "H_E"); - TH1D* H_F = (TH1D*)GetObjectFromPath(InputFile, "H_F"); - TH1D* H_G = (TH1D*)GetObjectFromPath(InputFile, "H_G"); - TH1D* H_H = (TH1D*)GetObjectFromPath(InputFile, "H_H"); - TH1D* H_P = (TH1D*)GetObjectFromPath(InputFile, "H_P"); - - int ArrN[6]; ArrN[0] = 0; ArrN[1] = 0; ArrN[2] = 0; ArrN[3] = 0; ArrN[4] = 0; ArrN[5] = 0; - double ArrPred[5][6][20]; double ArrErr[5][6][20]; int ArrPredN[5][6]; for(unsigned int i=0;i<5;i++){for(unsigned int j=0;j<6;j++){ArrPredN[i][j]=0;}} - double ArrMean[6][20]; - double ArrSigma[6][20]; - double ArrDist[6][20]; - double ArrMaxDist[6][20]; - double ArrSum[6][20]; - double ArrSyst[6][20]; - double ArrStat[6][20]; - double ArrStatB[6][20]; - double ArrPt[6][20]; - double ArrI[6][20]; - double ArrT[6][20]; - - - std::vector Index; std::vector Plot; -//vary respective to TOF cut 50, 0.05 1.05->1.2 - Index.push_back(16); Plot.push_back(0); - Index.push_back(17); Plot.push_back(0); - Index.push_back(18); Plot.push_back(0); - Index.push_back(19); Plot.push_back(0); - Index.push_back(20); Plot.push_back(0); - Index.push_back(21); Plot.push_back(0); - Index.push_back(22); Plot.push_back(0); -//vary respective to I cut 50, 0.05->0.225 1.05 - Index.push_back(16); Plot.push_back(1); - Index.push_back(30); Plot.push_back(1); - Index.push_back(44); Plot.push_back(1); - Index.push_back(58); Plot.push_back(1); - Index.push_back(72); Plot.push_back(1); - Index.push_back(86); Plot.push_back(1); - Index.push_back(100); Plot.push_back(1); - Index.push_back(114); Plot.push_back(1); -//vary respective to Pt cut 50->115 0.05 1.05 - Index.push_back(16); Plot.push_back(2); - Index.push_back(436); Plot.push_back(2); - Index.push_back(856); Plot.push_back(2); - Index.push_back(1276); Plot.push_back(2); - Index.push_back(1696); Plot.push_back(2); - Index.push_back(2116); Plot.push_back(2); - Index.push_back(2536); Plot.push_back(2); - Index.push_back(2746); Plot.push_back(2); -//vary respective to Pt cut 50->115 0.1 1.1 - Index.push_back(46); Plot.push_back(3); - Index.push_back(466); Plot.push_back(3); - Index.push_back(886); Plot.push_back(3); - Index.push_back(1306); Plot.push_back(3); - Index.push_back(1726); Plot.push_back(3); - Index.push_back(2146); Plot.push_back(3); - Index.push_back(2566); Plot.push_back(3); - Index.push_back(2776); Plot.push_back(3); -//vary respective to Pt cut 50->115 0.15 1.05 - Index.push_back(72); Plot.push_back(4); - Index.push_back(492); Plot.push_back(4); - Index.push_back(912); Plot.push_back(4); - Index.push_back(1332); Plot.push_back(4); - Index.push_back(1752); Plot.push_back(4); - Index.push_back(2172); Plot.push_back(4); - Index.push_back(2592); Plot.push_back(4); - Index.push_back(2802); Plot.push_back(4); - //Not used - Index.push_back(82 + 4); Plot.push_back(5); - Index.push_back(154+ 4); Plot.push_back(5); - Index.push_back(226+ 4); Plot.push_back(5); - Index.push_back(298+ 4); Plot.push_back(5); - Index.push_back(370+ 4); Plot.push_back(5); - Index.push_back(442+ 4); Plot.push_back(5); - Index.push_back(514+ 4); Plot.push_back(5); - Index.push_back(586+ 4); Plot.push_back(5); - Index.push_back(658+ 4); Plot.push_back(5); - Index.push_back(730+ 4); Plot.push_back(5); - Index.push_back(802+ 4); Plot.push_back(5); - - - for(unsigned int i=0;iGetBinContent(CutIndex+1); - const double& B=H_B->GetBinContent(CutIndex+1); - const double& C=H_C->GetBinContent(CutIndex+1); - const double& D=H_D->GetBinContent(CutIndex+1); - const double& E=H_E->GetBinContent(CutIndex+1); - const double& F=H_F->GetBinContent(CutIndex+1); - const double& G=H_G->GetBinContent(CutIndex+1); - const double& H=H_H->GetBinContent(CutIndex+1); - - - double Pred[5]; - double Err [5]; - double N = 0; - double Sigma = 0; - double Mean = 0; - - for(unsigned int p=0;p<4;p++){ - Pred[p] = -1; - Err [p] = -1; - if(p==0){ - if(A<25 || F<25 || G<25 || E<25)continue; - Pred[p] = (A*F*G)/(E*E); - Err [p] = Pred [p] * sqrt( 1/A + 1/F + 1/G + 4/E); - }else if(p==1){ - if(A<25 || H<25 || E<25)continue; - Pred[p] = ((A*H)/E); - Err [p] = Pred[p] * sqrt( 1/A+1/H+1/E ); - }else if (p==2){ - if(B<25 || G<25 || E<25)continue; - Pred[p] = ((B*G)/E); - Err [p] = Pred[p] * sqrt( 1/B+ 1/G+ 1/E ); - }else if (p==3){ - if(F<25 || C<25 || E<25)continue; - Pred[p] = ((F*C)/E); - Err [p] = Pred[p] * sqrt( 1/F + 1/C + 1/E ); - } - - if(Pred[p]>=0){ - N++; - Mean += Pred[p]/pow(Err [p],2); - Sigma += 1 /pow(Err [p],2); - } - - ArrPred [p][Plot[i]][ArrN[Plot[i]]] = Pred[p]; - ArrErr [p][Plot[i]][ArrN[Plot[i]]] = Err [p]; - if(Pred[p]>=0)ArrPredN[p][Plot[i]]++; - } - - Mean = Mean/Sigma; - Sigma = sqrt(Sigma); - - double Dist = fabs(Pred[0] - Mean); - double Sum=0, Stat=0, Syst=0, StatB=0; - - for(unsigned int p=0;p<4;p++){ - if(Pred[p]>=0){ - Sum += pow(Pred[p]-Mean,2); - Stat += pow(Err [p],2); - StatB += Err [p]; - } - } - Sum = sqrt(Sum/(N-1)); - Stat = sqrt(Stat)/N; - StatB= StatB/N; - Syst = sqrt(Sum*Sum - Stat*Stat); - -// printf("pT>%6.2f I> %6.2f TOF>%6.2f : ", HCuts_Pt ->GetBinContent(CutIndex+1), HCuts_I ->GetBinContent(CutIndex+1), HCuts_TOF->GetBinContent(CutIndex+1)); -// printf("A =%6.2E, B=%6.2E, C=%6.2E, D=%6.2E E =%6.2E, F=%6.2E, G=%6.2E, H=%6.2E\n", A,B,C,D, E, F, G, H); - -// for(unsigned int p=0;p<4;p++){printf("Method %i --> P =%6.2E+-%6.2E\n", p,Pred[p], Err [p]);} - printf("--> N = %1.0f Mean = %8.2E Sigma=%8.2E Dist=%8.2E Sum=%8.2E Stat=%8.2E Syst=%8.2E\n", N, Mean, Sigma/Mean, Dist/Mean, Sum/Mean, Stat/Mean, Syst/Mean); - if(N>0){ - ArrMean [Plot[i]][ArrN[Plot[i]]] = Mean; - ArrSigma [Plot[i]][ArrN[Plot[i]]] = Sigma/Mean; - ArrDist [Plot[i]][ArrN[Plot[i]]] = Dist/Mean; - ArrSum [Plot[i]][ArrN[Plot[i]]] = Sum/Mean; - ArrSyst [Plot[i]][ArrN[Plot[i]]] = Syst/Mean; - ArrStat [Plot[i]][ArrN[Plot[i]]] = Stat/Mean; - ArrStatB [Plot[i]][ArrN[Plot[i]]] = StatB/Mean; - ArrPt [Plot[i]][ArrN[Plot[i]]] = HCuts_Pt ->GetBinContent(CutIndex+1); ; - ArrI [Plot[i]][ArrN[Plot[i]]] = HCuts_I ->GetBinContent(CutIndex+1); ; - ArrT [Plot[i]][ArrN[Plot[i]]] = HCuts_TOF->GetBinContent(CutIndex+1); ; - ArrN[Plot[i]]++; - } - } - - - TGraphErrors* graph_T0 = new TGraphErrors(ArrPredN[0][0],ArrT [0],ArrPred[0][0],0,ArrErr[0][0]); graph_T0->SetLineColor(1); graph_T0->SetMarkerColor(1); graph_T0->SetMarkerStyle(20); - TGraphErrors* graph_T1 = new TGraphErrors(ArrPredN[1][0],ArrT [0],ArrPred[1][0],0,ArrErr[1][0]); graph_T1->SetLineColor(2); graph_T1->SetMarkerColor(2); graph_T1->SetMarkerStyle(21); - TGraphErrors* graph_T2 = new TGraphErrors(ArrPredN[2][0],ArrT [0],ArrPred[2][0],0,ArrErr[2][0]); graph_T2->SetLineColor(4); graph_T2->SetMarkerColor(4); graph_T2->SetMarkerStyle(22); - TGraphErrors* graph_T3 = new TGraphErrors(ArrPredN[3][0],ArrT [0],ArrPred[3][0],0,ArrErr[3][0]); graph_T3->SetLineColor(8); graph_T3->SetMarkerColor(8); graph_T3->SetMarkerStyle(23); - - TGraphErrors* graph_I0 = new TGraphErrors(ArrPredN[0][1],ArrI [1],ArrPred[0][1],0,ArrErr[0][1]); graph_I0->SetLineColor(1); graph_I0->SetMarkerColor(1); graph_I0->SetMarkerStyle(20); - TGraphErrors* graph_I1 = new TGraphErrors(ArrPredN[1][1],ArrI [1],ArrPred[1][1],0,ArrErr[1][1]); graph_I1->SetLineColor(2); graph_I1->SetMarkerColor(2); graph_I1->SetMarkerStyle(21); - TGraphErrors* graph_I2 = new TGraphErrors(ArrPredN[2][1],ArrI [1],ArrPred[2][1],0,ArrErr[2][1]); graph_I2->SetLineColor(4); graph_I2->SetMarkerColor(4); graph_I2->SetMarkerStyle(22); - TGraphErrors* graph_I3 = new TGraphErrors(ArrPredN[3][1],ArrI [1],ArrPred[3][1],0,ArrErr[3][1]); graph_I3->SetLineColor(8); graph_I3->SetMarkerColor(8); graph_I3->SetMarkerStyle(23); - - TGraphErrors* graph_P0 = new TGraphErrors(ArrPredN[0][2],ArrPt[2],ArrPred[0][2],0,ArrErr[0][2]); graph_P0->SetLineColor(1); graph_P0->SetMarkerColor(1); graph_P0->SetMarkerStyle(20); - TGraphErrors* graph_P1 = new TGraphErrors(ArrPredN[1][2],ArrPt[2],ArrPred[1][2],0,ArrErr[1][2]); graph_P1->SetLineColor(2); graph_P1->SetMarkerColor(2); graph_P1->SetMarkerStyle(21); - TGraphErrors* graph_P2 = new TGraphErrors(ArrPredN[2][2],ArrPt[2],ArrPred[2][2],0,ArrErr[2][2]); graph_P2->SetLineColor(4); graph_P2->SetMarkerColor(4); graph_P2->SetMarkerStyle(22); - TGraphErrors* graph_P3 = new TGraphErrors(ArrPredN[3][2],ArrPt[2],ArrPred[3][2],0,ArrErr[3][2]); graph_P3->SetLineColor(8); graph_P3->SetMarkerColor(8); graph_P3->SetMarkerStyle(23); - - TLegend* LEG = new TLegend(0.50,0.65,0.80,0.90); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graph_T0, "D=AFG/EE" ,"LP"); - LEG->AddEntry(graph_T1, "D=AH/E" ,"LP"); - LEG->AddEntry(graph_T2, "D=BG/E" ,"LP"); - LEG->AddEntry(graph_T3, "D=FC/E" ,"LP"); - - TCanvas* c1; - c1 = new TCanvas("c1", "c1",600,600); - c1->SetLogy(true); - TMultiGraph* MGTOF = new TMultiGraph(); - MGTOF->Add(graph_T0 ,"LP"); - MGTOF->Add(graph_T1 ,"LP"); - MGTOF->Add(graph_T2 ,"LP"); - MGTOF->Add(graph_T3 ,"LP"); - MGTOF->Draw("A"); - MGTOF->SetTitle(""); - MGTOF->GetXaxis()->SetTitle("1/#beta cut"); - MGTOF->GetYaxis()->SetTitle("Number of expected backgrounds"); - MGTOF->GetYaxis()->SetTitleOffset(1.70); - MGTOF->GetYaxis()->SetRangeUser(10,1E6); - LEG->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"TOF_Value","true"); - delete c1; - - c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MGI = new TMultiGraph(); - c1->SetLogy(true); - MGI->Add(graph_I0 ,"LP"); - MGI->Add(graph_I1 ,"LP"); - MGI->Add(graph_I2 ,"LP"); - MGI->Add(graph_I3 ,"LP"); - MGI->Draw("A"); - MGI->SetTitle(""); - MGI->GetXaxis()->SetTitle("I_{as} cut"); - MGI->GetYaxis()->SetTitle("Number of expected backgrounds"); - MGI->GetYaxis()->SetTitleOffset(1.70); - MGI->GetYaxis()->SetRangeUser(10,1E6); - LEG->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"I_Value","true"); - delete c1; - - c1 = new TCanvas("c1", "c1",600,600); - c1->SetLogy(true); - TMultiGraph* MGP = new TMultiGraph(); - MGP->Add(graph_P0 ,"LP"); - MGP->Add(graph_P1 ,"LP"); - MGP->Add(graph_P2 ,"LP"); - MGP->Add(graph_P3 ,"LP"); - MGP->Draw("A"); - MGP->SetTitle(""); - MGP->GetXaxis()->SetTitle("p_{T} cut"); - MGP->GetYaxis()->SetTitle("Number of expected backgrounds"); - MGP->GetYaxis()->SetTitleOffset(1.70); - MGP->GetYaxis()->SetRangeUser(10,1E6); - LEG->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"P_Value","true"); - delete c1; - - - - - - for(unsigned int p=0;p<3;p++){ - string Title; string Name; - if(p==0){ Title = "1/#beta cut"; Name="TOF_"; } - if(p==1){ Title = "dEdx cut"; Name="I_"; } - if(p==2){ Title = "p_{T} cut"; Name="pT_"; } - - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_s; - if(p==0)graph_s = new TGraph(ArrN[p],ArrT [p],ArrSigma[p]); - if(p==1)graph_s = new TGraph(ArrN[p],ArrI [p],ArrSigma[p]); - if(p==2)graph_s = new TGraph(ArrN[p],ArrPt[p],ArrSigma[p]); - graph_s->SetTitle(""); - graph_s->GetYaxis()->SetTitle("Prediction #sigma/#mu"); - graph_s->GetYaxis()->SetTitleOffset(1.70); - graph_s->GetXaxis()->SetTitle(Title.c_str()); - graph_s->Draw("AC*"); - SaveCanvas(c1,SavePath,Name+"Sigma","true"); - delete c1; - - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_d; - if(p==0)graph_d = new TGraph(ArrN[p],ArrT [p],ArrDist[p]); - if(p==1)graph_d = new TGraph(ArrN[p],ArrI [p],ArrDist[p]); - if(p==2)graph_d = new TGraph(ArrN[p],ArrPt[p],ArrDist[p]); - graph_d->SetTitle(""); - graph_d->GetYaxis()->SetTitle("Prediction Dist/#mu"); - graph_d->GetYaxis()->SetTitleOffset(1.70); - graph_d->GetXaxis()->SetTitle(Title.c_str()); - graph_d->Draw("AC*"); - SaveCanvas(c1,SavePath,Name+"Dist","true"); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_sum; - if(p==0)graph_sum = new TGraph(ArrN[p],ArrT [p],ArrSum[p]); - if(p==1)graph_sum = new TGraph(ArrN[p],ArrI [p],ArrSum[p]); - if(p==2)graph_sum = new TGraph(ArrN[p+2],ArrPt[p+2],ArrSum[p+2]); - graph_sum->SetTitle(""); - graph_sum->GetYaxis()->SetTitle("Prediction #sigma_{Stat+Syst}/#mu"); - graph_sum->GetYaxis()->SetTitleOffset(1.70); - graph_sum->GetXaxis()->SetTitle(Title.c_str()); - - graph_sum->Draw("AC*"); - graph_sum->GetYaxis()->SetRangeUser(0,0.25); - - if(p==2){ - TGraph* graph_sum2 = new TGraph(ArrN[p+1],ArrPt[p+1],ArrSum[p+1]); - graph_sum2->SetLineColor(2); - graph_sum2->SetMarkerColor(2); - graph_sum2->Draw("C*"); - - TGraph* graph_sum3 = new TGraph(ArrN[p+0],ArrPt[p+0],ArrSum[p+0]); - graph_sum3->SetLineColor(4); - graph_sum3->SetMarkerColor(4); - graph_sum3->Draw("C*"); -/* - TGraph* graph_sum4 = new TGraph(ArrN[p+3],ArrPt[p+3],ArrSum[p+3]); - graph_sum4->SetLineColor(8); - graph_sum4->SetMarkerColor(8); - graph_sum4->Draw("C*"); -*/ - - TLegend* LEG = new TLegend(0.50,0.65,0.80,0.90); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graph_sum, "I_{as}>0.15 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_sum2, "I_{as}>0.05 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_sum3, "I_{as}>0.10 & 1/#beta>1.10", "L"); - LEG->Draw(); - } - SaveCanvas(c1,SavePath,Name+"Sum","true"); - delete c1; - - - - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_stat; - if(p==0)graph_stat = new TGraph(ArrN[p],ArrT [p],ArrStat[p]); - if(p==1)graph_stat = new TGraph(ArrN[p],ArrI [p],ArrStat[p]); - if(p==2)graph_stat = new TGraph(ArrN[p+2],ArrPt[p+2],ArrStat[p+2]); - graph_stat->SetTitle(""); - graph_stat->GetYaxis()->SetTitle("Prediction #sigma_{Stat}/#mu"); - graph_stat->GetYaxis()->SetTitleOffset(1.70); - graph_stat->GetXaxis()->SetTitle(Title.c_str()); - - graph_stat->Draw("AC*"); - graph_stat->GetYaxis()->SetRangeUser(0,0.25); - - if(p==2){ - TGraph* graph_stat2 = new TGraph(ArrN[p+1],ArrPt[p+1],ArrStat[p+1]); - graph_stat2->SetLineColor(2); - graph_stat2->SetMarkerColor(2); - graph_stat2->Draw("C*"); - - TGraph* graph_stat3 = new TGraph(ArrN[p+0],ArrPt[p+0],ArrStat[p+0]); - graph_stat3->SetLineColor(4); - graph_stat3->SetMarkerColor(4); - graph_stat3->Draw("C*"); -/* - TGraph* graph_stat4 = new TGraph(ArrN[p+3],ArrPt[p+3],ArrStat[p+3]); - graph_stat4->SetLineColor(8); - graph_stat4->SetMarkerColor(8); - graph_stat4->Draw("C*"); -*/ - - TLegend* LEG = new TLegend(0.50,0.65,0.80,0.90); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graph_stat, "I_{as}>0.15 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_stat2, "I_{as}>0.05 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_stat3, "I_{as}>0.10 & 1/#beta>1.10", "L"); - LEG->Draw(); - } - SaveCanvas(c1,SavePath,Name+"Stat","true"); - delete c1; - - - - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_statB; - if(p==0)graph_statB = new TGraph(ArrN[p],ArrT [p],ArrStat[p]); - if(p==1)graph_statB = new TGraph(ArrN[p],ArrI [p],ArrStat[p]); - if(p==2)graph_statB = new TGraph(ArrN[p+2],ArrPt[p+2],ArrStatB[p+2]); - graph_statB->SetTitle(""); - graph_statB->GetYaxis()->SetTitle("Prediction #sigma_{Stat}/#mu"); - graph_statB->GetYaxis()->SetTitleOffset(1.70); - graph_statB->GetXaxis()->SetTitle(Title.c_str()); - - graph_statB->Draw("AC*"); - graph_statB->GetYaxis()->SetRangeUser(0,0.25); - - if(p==2){ - TGraph* graph_statB2 = new TGraph(ArrN[p+1],ArrPt[p+1],ArrStatB[p+1]); - graph_statB2->SetLineColor(2); - graph_statB2->SetMarkerColor(2); - graph_statB2->Draw("C*"); - - TGraph* graph_statB3 = new TGraph(ArrN[p+0],ArrPt[p+0],ArrStatB[p+0]); - graph_statB3->SetLineColor(4); - graph_statB3->SetMarkerColor(4); - graph_statB3->Draw("C*"); -/* - TGraph* graph_statB4 = new TGraph(ArrN[p+3],ArrPt[p+3],ArrStat[p+3]); - graph_statB4->SetLineColor(8); - graph_statB4->SetMarkerColor(8); - graph_statB4->Draw("C*"); -*/ - - TLegend* LEG = new TLegend(0.50,0.65,0.80,0.90); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graph_statB, "I_{as}>0.15 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_statB2, "I_{as}>0.05 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_statB3, "I_{as}>0.10 & 1/#beta>1.10", "L"); - LEG->Draw(); - } - SaveCanvas(c1,SavePath,Name+"StatB","true"); - delete c1; - - - - - - - - - - c1 = new TCanvas("c1","c1", 600, 600); - TGraph* graph_syst; - if(p==0)graph_syst = new TGraph(ArrN[p],ArrT [p],ArrSyst[p]); - if(p==1)graph_syst = new TGraph(ArrN[p],ArrI [p],ArrSyst[p]); - if(p==2)graph_syst = new TGraph(ArrN[p+2],ArrPt[p+2],ArrSyst[p+2]); - graph_syst->SetTitle(""); - graph_syst->GetYaxis()->SetTitle("Prediction #sigma_{Syst}/#mu"); - graph_syst->GetYaxis()->SetTitleOffset(1.70); - graph_syst->GetXaxis()->SetTitle(Title.c_str()); - - graph_syst->Draw("AC*"); - graph_syst->GetXaxis()->SetRangeUser(40,100); - graph_syst->GetYaxis()->SetRangeUser(0,0.25); - - if(p==2){ - TGraph* graph_syst2 = new TGraph(ArrN[p+1],ArrPt[p+1],ArrSyst[p+1]); - graph_syst2->SetLineColor(2); - graph_syst2->SetMarkerColor(2); - graph_syst2->Draw("C*"); - - TGraph* graph_syst3 = new TGraph(ArrN[p+0],ArrPt[p+0],ArrSyst[p+0]); - graph_syst3->SetLineColor(4); - graph_syst3->SetMarkerColor(4); - graph_syst3->Draw("C*"); -/* - TGraph* graph_syst4 = new TGraph(ArrN[p+3],ArrPt[p+3],ArrSyst[p+3]); - graph_syst4->SetLineColor(8); - graph_syst4->SetMarkerColor(8); - graph_syst4->Draw("C*"); -*/ - - TLegend* LEG = new TLegend(0.50,0.65,0.80,0.90); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graph_syst, "I_{as}>0.15 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_syst2, "I_{as}>0.05 & 1/#beta>1.05", "L"); - LEG->AddEntry(graph_syst3, "I_{as}>0.10 & 1/#beta>1.10", "L"); - LEG->Draw(); - } - - - SaveCanvas(c1,SavePath,Name+"Syst","true"); - delete c1; - - - } -} - - -void CutFlow(string InputPattern, unsigned int CutIndex){ - string Input = InputPattern + "Histos.root"; - string SavePath = InputPattern + "/CutFlow/"; - MakeDirectories(SavePath); - - TFile* InputFile = new TFile(Input.c_str()); - TFile* InputFileData = new TFile((InputPattern + "Histos_Data.root").c_str()); - TFile* InputFileMC = new TFile((InputPattern + "Histos_MC.root").c_str()); - if(!InputFileMC)std::cout << "FileProblem\n"; - - TH1D* HCuts_Pt = (TH1D*)GetObjectFromPath(InputFileData, "HCuts_Pt"); - TH1D* HCuts_I = (TH1D*)GetObjectFromPath(InputFileData, "HCuts_I"); - TH1D* HCuts_TOF = (TH1D*)GetObjectFromPath(InputFileData, "HCuts_TOF"); - - char Buffer[1024]; sprintf(Buffer,"%s/CutFlow_%03i_Pt%03.0f_I%05.3f_TOF%04.3f.txt",SavePath.c_str(),CutIndex,HCuts_Pt->GetBinContent(CutIndex+1),HCuts_I->GetBinContent(CutIndex+1),HCuts_TOF->GetBinContent(CutIndex+1)); - FILE* pFile = fopen(Buffer,"w"); - stPlots DataPlots; - stPlots_InitFromFile(InputFile, DataPlots,"Data", InputFileData); - stPlots_Dump(DataPlots, pFile, CutIndex); - stPlots_Clear(DataPlots); - - stPlots MCTrPlots; - stPlots_InitFromFile(InputFile, MCTrPlots,"MCTr", InputFileMC); - stPlots_Dump(MCTrPlots, pFile, CutIndex); - stPlots_Clear(MCTrPlots); - - for(unsigned int s=0;sScale(1.0/Mass->Integral()); - - char YAxisLegend[1024]; - sprintf(YAxisLegend,"#tracks / %2.0f GeV/c^{2}",Mass->GetXaxis()->GetBinWidth(1)); - - - TCanvas* c1 = new TCanvas("c1","c1", 600, 600); - Mass->SetAxisRange(0,1250,"X"); -// Mass->SetAxisRange(Min,Max,"Y"); - Mass->SetTitle(""); -// Mass->SetStats(kFALSE); - Mass->GetXaxis()->SetTitle("m (GeV/c^{2})"); - Mass->GetYaxis()->SetTitle(YAxisLegend); - Mass->SetLineWidth(2); - Mass->SetLineColor(Color[0]); - Mass->SetMarkerColor(Color[0]); - Mass->SetMarkerStyle(Marker[0]); - Mass->Draw("HIST E1"); - c1->SetLogy(true); - SaveCanvas(c1,SavePath,signals[s].Name,"true"); - delete c1; - } -} - - - -void SelectionPlot(string InputPattern, unsigned int CutIndex, unsigned int GluinoCutIndex){ - - string LegendTitle = LegendFromType(InputPattern);; - - string Input = InputPattern + "Histos.root"; - string SavePath = InputPattern; - MakeDirectories(SavePath); - - TFile* InputFile = new TFile(Input.c_str()); - TFile* InputFileData = new TFile((InputPattern + "Histos_Data.root").c_str()); - TFile* InputFileMC = new TFile((InputPattern + "Histos_MC.root").c_str()); - - stPlots DataPlots, MCTrPlots, SignPlots[signals.size()]; - stPlots_InitFromFile(InputFile, DataPlots,"Data", InputFileData); - stPlots_InitFromFile(InputFile, MCTrPlots,"MCTr", InputFileMC); - - for(unsigned int s=0;s legend; - - string LegendTitle = LegendFromType(InputPattern);; - string Input = InputPattern + "Histos_Data.root"; - string SavePath = InputPattern; - MakeDirectories(SavePath); - - TFile* InputFile = new TFile(Input.c_str()); - TH2D* Pred_P = (TH2D*)GetObjectFromPath(InputFile, "Pred_P"); - TH2D* Pred_I = (TH2D*)GetObjectFromPath(InputFile, "Pred_I"); - TH2D* Pred_TOF = (TH2D*)GetObjectFromPath(InputFile, "Pred_TOF"); - TH2D* Data_I = (TH2D*)GetObjectFromPath(InputFile, "RegionD_I"); - TH2D* Data_P = (TH2D*)GetObjectFromPath(InputFile, "RegionD_P"); - TH2D* Data_TOF = (TH2D*)GetObjectFromPath(InputFile, "RegionD_TOF"); - - TH1D* H_A = (TH1D*)GetObjectFromPath(InputFile, "H_A"); - TH1D* H_B = (TH1D*)GetObjectFromPath(InputFile, "H_B"); - TH1D* H_C = (TH1D*)GetObjectFromPath(InputFile, "H_C"); - TH1D* H_D = (TH1D*)GetObjectFromPath(InputFile, "H_D"); - TH1D* H_E = (TH1D*)GetObjectFromPath(InputFile, "H_E"); - TH1D* H_F = (TH1D*)GetObjectFromPath(InputFile, "H_F"); - TH1D* H_G = (TH1D*)GetObjectFromPath(InputFile, "H_G"); - TH1D* H_H = (TH1D*)GetObjectFromPath(InputFile, "H_H"); - TH1D* H_P = (TH1D*)GetObjectFromPath(InputFile, "H_P"); - - TH1D* HCuts_Pt = (TH1D*)GetObjectFromPath(InputFile, "HCuts_Pt"); - TH1D* HCuts_I = (TH1D*)GetObjectFromPath(InputFile, "HCuts_I"); - TH1D* HCuts_TOF = (TH1D*)GetObjectFromPath(InputFile, "HCuts_TOF"); - - TH1D* CtrlPt_S1_Is = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S1_Is" ); CtrlPt_S1_Is ->Rebin(5); - TH1D* CtrlPt_S1_Im = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S1_Im" ); CtrlPt_S1_Im ->Rebin(1); - TH1D* CtrlPt_S1_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S1_TOF"); CtrlPt_S1_TOF->Rebin(1); - TH1D* CtrlPt_S2_Is = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S2_Is" ); CtrlPt_S2_Is ->Rebin(5); - TH1D* CtrlPt_S2_Im = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S2_Im" ); CtrlPt_S2_Im ->Rebin(1); - TH1D* CtrlPt_S2_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S2_TOF"); CtrlPt_S2_TOF->Rebin(1); - TH1D* CtrlPt_S3_Is = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S3_Is" ); CtrlPt_S3_Is ->Rebin(5); - TH1D* CtrlPt_S3_Im = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S3_Im" ); CtrlPt_S3_Im ->Rebin(1); - TH1D* CtrlPt_S3_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S3_TOF"); CtrlPt_S3_TOF->Rebin(1); - TH1D* CtrlPt_S4_Is = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S4_Is" ); CtrlPt_S4_Is ->Rebin(5); - TH1D* CtrlPt_S4_Im = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S4_Im" ); CtrlPt_S4_Im ->Rebin(1); - TH1D* CtrlPt_S4_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlPt_S4_TOF"); CtrlPt_S4_TOF->Rebin(1); - - TH1D* CtrlIs_S1_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlIs_S1_TOF"); CtrlIs_S1_TOF->Rebin(1); - TH1D* CtrlIs_S2_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlIs_S2_TOF"); CtrlIs_S2_TOF->Rebin(1); - TH1D* CtrlIs_S3_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlIs_S3_TOF"); CtrlIs_S3_TOF->Rebin(1); - TH1D* CtrlIs_S4_TOF = (TH1D*)GetObjectFromPath(InputFile, "CtrlIs_S4_TOF"); CtrlIs_S4_TOF->Rebin(1); - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - if(CtrlPt_S1_Is->Integral()>0)CtrlPt_S1_Is->Scale(1/CtrlPt_S1_Is->Integral()); - if(CtrlPt_S2_Is->Integral()>0)CtrlPt_S2_Is->Scale(1/CtrlPt_S2_Is->Integral()); - if(CtrlPt_S3_Is->Integral()>0)CtrlPt_S3_Is->Scale(1/CtrlPt_S3_Is->Integral()); - if(CtrlPt_S4_Is->Integral()>0)CtrlPt_S4_Is->Scale(1/CtrlPt_S4_Is->Integral()); -// Histos[0] = CtrlPt_S1_Is; legend.push_back(" 25SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"ControlPt_IsSpectrum"); - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - if(CtrlPt_S1_Im->Integral()>0)CtrlPt_S1_Im->Scale(1/CtrlPt_S1_Im->Integral()); - if(CtrlPt_S2_Im->Integral()>0)CtrlPt_S2_Im->Scale(1/CtrlPt_S2_Im->Integral()); - if(CtrlPt_S3_Im->Integral()>0)CtrlPt_S3_Im->Scale(1/CtrlPt_S3_Im->Integral()); - if(CtrlPt_S4_Im->Integral()>0)CtrlPt_S4_Im->Scale(1/CtrlPt_S4_Im->Integral()); -// Histos[0] = CtrlPt_S1_Im; legend.push_back(" 25SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"ControlPt_ImSpectrum"); - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - if(CtrlPt_S1_TOF->Integral()>0)CtrlPt_S1_TOF->Scale(1/CtrlPt_S1_TOF->Integral()); - if(CtrlPt_S2_TOF->Integral()>0)CtrlPt_S2_TOF->Scale(1/CtrlPt_S2_TOF->Integral()); - if(CtrlPt_S3_TOF->Integral()>0)CtrlPt_S3_TOF->Scale(1/CtrlPt_S3_TOF->Integral()); - if(CtrlPt_S4_TOF->Integral()>0)CtrlPt_S4_TOF->Scale(1/CtrlPt_S4_TOF->Integral()); -// Histos[0] = CtrlPt_S1_TOF; legend.push_back(" 25SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"ControlPt_TOFSpectrum"); - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - if(CtrlIs_S1_TOF->Integral()>0)CtrlIs_S1_TOF->Scale(1/CtrlIs_S1_TOF->Integral()); - if(CtrlIs_S2_TOF->Integral()>0)CtrlIs_S2_TOF->Scale(1/CtrlIs_S2_TOF->Integral()); - if(CtrlIs_S3_TOF->Integral()>0)CtrlIs_S3_TOF->Scale(1/CtrlIs_S3_TOF->Integral()); - if(CtrlIs_S4_TOF->Integral()>0)CtrlIs_S4_TOF->Scale(1/CtrlIs_S4_TOF->Integral()); - Histos[0] = CtrlIs_S1_TOF; legend.push_back("0.0SetLogy(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"ControlIs_TOFSpectrum"); - delete c1; - -/* - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - c1->SetLogy(true); - Histos[0] = (TH1D*)(Data_P->ProjectionY("PA",CutIndex+1,CutIndex+1,"o")); legend.push_back("Observed"); - Histos[1] = (TH1D*)(Pred_P->ProjectionY("PB",CutIndex+1,CutIndex+1,"o")); legend.push_back("Predicted"); - ((TH1D*)Histos[0])->Scale(1/std::max(((TH1D*)Histos[0])->Integral(),1.0)); - ((TH1D*)Histos[1])->Scale(1/std::max(((TH1D*)Histos[1])->Integral(),1.0)); - ((TH1D*)Histos[0])->Rebin(10); - ((TH1D*)Histos[1])->Rebin(10); - DrawSuperposedHistos((TH1**)Histos, legend, "Hist E1", "p (Gev/c)", "u.a.", 0,1500, 0,0); - DrawLegend(Histos,legend,LegendTitle,"P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_PSpectrum"); - delete Histos[0]; delete Histos[1]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - c1->SetLogy(true); - Histos[0] = (TH1D*)(Data_I->ProjectionY("IA",CutIndex+1,CutIndex+1,"o")); legend.push_back("Observed"); - Histos[1] = (TH1D*)(Pred_I->ProjectionY("IB",CutIndex+1,CutIndex+1,"o")); legend.push_back("Predicted"); - ((TH1D*)Histos[0])->Scale(1/std::max(((TH1D*)Histos[0])->Integral(),1.0)); - ((TH1D*)Histos[1])->Scale(1/std::max(((TH1D*)Histos[1])->Integral(),1.0)); - ((TH1D*)Histos[0])->Rebin(2); - ((TH1D*)Histos[1])->Rebin(2); - DrawSuperposedHistos((TH1**)Histos, legend, "Hist E1", dEdxM_Legend, "u.a.", 0,15, 0,0); - DrawLegend(Histos,legend,LegendTitle,"P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_ISpectrum"); - delete Histos[0]; delete Histos[1]; - delete c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - c1->SetLogy(true); - Histos[0] = (TH1D*)(Data_TOF->ProjectionY("TA",CutIndex+1,CutIndex+1,"o")); legend.push_back("Observed"); - Histos[1] = (TH1D*)(Pred_TOF->ProjectionY("TB",CutIndex+1,CutIndex+1,"o")); legend.push_back("Predicted"); - ((TH1D*)Histos[0])->Scale(1/std::max(((TH1D*)Histos[0])->Integral(),1.0)); - ((TH1D*)Histos[1])->Scale(1/std::max(((TH1D*)Histos[1])->Integral(),1.0)); - ((TH1D*)Histos[0])->Rebin(2); - ((TH1D*)Histos[1])->Rebin(2); - DrawSuperposedHistos((TH1**)Histos, legend, "Hist E1", "1/#beta", "u.a.", 0,0, 0,0); - DrawLegend(Histos,legend,LegendTitle,"P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_TOFSpectrum"); - delete Histos[0]; delete Histos[1]; - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - TH2D* DataVsPred = new TH2D("DataVsPred","DataVsPred",17,30,200, 8,0.05,0.5); - TH2D* DataMap = new TH2D("DataMap" ,"DataMap" ,17,30,200, 8,0.05,0.5); - TH2D* PredMap = new TH2D("PredMap" ,"PredMap" ,17,30,200, 8,0.05,0.5); - for(unsigned int CutIndex=0;CutIndexGetNbinsX();CutIndex++){ - double P = H_P->GetBinContent(CutIndex+1); - double D = H_D->GetBinContent(CutIndex+1); - double Err = sqrt( pow(H_P->GetBinError(CutIndex+1),2) + std::max(D,1.0) ); -// double Err = sqrt( pow(H_P->GetBinError(CutIndex+1),2) + pow(P*0.1,2) ); - double NSigma = (D-P)/Err; - - DataMap->SetBinContent(DataVsPred->GetXaxis()->FindBin(HCuts_Pt->GetBinContent(CutIndex+1)), DataVsPred->GetYaxis()->FindBin(HCuts_I->GetBinContent(CutIndex+1)), D); - PredMap->SetBinContent(DataVsPred->GetXaxis()->FindBin(HCuts_Pt->GetBinContent(CutIndex+1)), DataVsPred->GetYaxis()->FindBin(HCuts_I->GetBinContent(CutIndex+1)), P); - - -// if(D==0)continue; - if(isnan(P))continue; - if(P<=0){continue;} //Is <=0 only when prediction failed or is not meaningful (i.e. WP=(0,0,0) ) - //if( H_B->GetBinContent(CutIndex+1)>=H_A->GetBinContent(CutIndex+1) || H_C->GetBinContent(CutIndex+1)>=H_A->GetBinContent(CutIndex+1))continue; - - printf("CutIndex=%3i Pt>%6.2f I>%6.2f --> D=%6.2E P=%6.2E+-%6.2E(%6.2f+%6.2f) (%f Sigma)\n",CutIndex, HCuts_Pt->GetBinContent(CutIndex+1),HCuts_I->GetBinContent(CutIndex+1),D,P,Err,H_P->GetBinError(CutIndex+1),sqrt(D),NSigma); - DataVsPred->SetBinContent(DataVsPred->GetXaxis()->FindBin(HCuts_Pt->GetBinContent(CutIndex+1)), DataVsPred->GetYaxis()->FindBin(HCuts_I->GetBinContent(CutIndex+1)), NSigma); -// DataVsPred->Fill(HCuts_Pt->GetBinContent(CutIndex+1), HCuts_I->GetBinContent(CutIndex+1), NSigma); - } - DataVsPred->SetMinimum(-3); - DataVsPred->SetMaximum(3); - Histos[0] = DataVsPred; legend.push_back("Observed"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "PtCut", "ICut", 0,0, 0,0); - //DrawLegend(Histos,legend,LegendTitle,"P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_PredVsObs"); - delete c1; - - PredMap->SetMinimum(1E-2); - DataMap->SetMinimum(1E-2); - PredMap->SetMaximum(std::max(PredMap->GetMaximum(),DataMap->GetMaximum())); - DataMap->SetMaximum(std::max(PredMap->GetMaximum(),DataMap->GetMaximum())); - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - c1->SetLogz(true); - Histos[0] = PredMap; legend.push_back("Observed"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "PtCut", "ICut", 0,0, 0,0); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_Pred"); - delete c1; - - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - c1->SetLogz(true); - Histos[0] = DataMap; legend.push_back("Observed"); - DrawSuperposedHistos((TH1**)Histos, legend, "COLZ", "PtCut", "ICut", 0,0, 0,0); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,SavePath,"Prediction_Data"); - delete c1; - -*/ - -} - - - -void Make2DPlot_Core(string InputPattern, unsigned int CutIndex){ - TCanvas* c1; - TLegend* leg; - - - string Input = InputPattern + "Histos.root"; - string outpath = InputPattern; - MakeDirectories(outpath); - - TFile* InputFile = new TFile(Input.c_str()); - TFile* InputFileData = new TFile((InputPattern + "Histos_Data.root").c_str()); - - - TH1D* Gluino300_Mass = GetCutIndexSliceFromTH2((TH2D*)GetObjectFromPath(InputFile, "Gluino300/Mass" ), CutIndex, "G300Mass"); - TH2D* Gluino300_PIs = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino300/AS_PIs" ), CutIndex, "G300PIs_zy"); - TH2D* Gluino300_PIm = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino300/AS_PIm" ), CutIndex, "G300PIm_zy"); - TH2D* Gluino300_TOFIs= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino300/AS_TOFIs"), CutIndex, "G300TIs_zy"); - TH2D* Gluino300_TOFIm= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino300/AS_TOFIm"), CutIndex, "G300TIm_zy"); - TH1D* Gluino500_Mass = GetCutIndexSliceFromTH2((TH2D*)GetObjectFromPath(InputFile, "Gluino500/Mass" ), CutIndex, "G500Mass"); - TH2D* Gluino500_PIs = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino500/AS_PIs" ), CutIndex, "G500PIs_zy"); - TH2D* Gluino500_PIm = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino500/AS_PIm" ), CutIndex, "G500PIm_zy"); - TH2D* Gluino500_TOFIs= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino500/AS_TOFIs"), CutIndex, "G500TIs_zy"); - TH2D* Gluino500_TOFIm= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino500/AS_TOFIm"), CutIndex, "G500TIm_zy"); - TH1D* Gluino800_Mass = GetCutIndexSliceFromTH2((TH2D*)GetObjectFromPath(InputFile, "Gluino800/Mass" ), CutIndex, "G800Mass"); - TH2D* Gluino800_PIs = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino800/AS_PIs" ), CutIndex, "G800PIs_zy"); - TH2D* Gluino800_PIm = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino800/AS_PIm" ), CutIndex, "G800PIm_zy"); - TH2D* Gluino800_TOFIs= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino800/AS_TOFIs"), CutIndex, "G800TIs_zy"); - TH2D* Gluino800_TOFIm= GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFile, "Gluino800/AS_TOFIm"), CutIndex, "G800TIm_zy"); - TH2D* Data_PIs = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFileData, "Data/AS_PIs" ), CutIndex); - TH2D* Data_PIm = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFileData, "Data/AS_PIm" ), CutIndex); - TH2D* Data_TOFIs = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFileData, "Data/AS_TOFIs" ), CutIndex); - TH2D* Data_TOFIm = GetCutIndexSliceFromTH3((TH3D*)GetObjectFromPath(InputFileData, "Data/AS_TOFIm" ), CutIndex); - TH2D* Data_PIm_075 = (TH2D*)Data_PIm->Clone(); Data_PIm_075->Reset(); - TH2D* Data_PIm_150 = (TH2D*)Data_PIm->Clone(); Data_PIm_150->Reset(); - TH2D* Data_PIm_300 = (TH2D*)Data_PIm->Clone(); Data_PIm_300->Reset(); - TH2D* Data_PIm_450 = (TH2D*)Data_PIm->Clone(); Data_PIm_450->Reset(); - TH2D* Data_PIm_All = (TH2D*)Data_PIm->Clone(); Data_PIm_All->Reset(); - - for(unsigned int i=0;i<(unsigned int)Data_PIm->GetNbinsX();i++){ - for(unsigned int j=0;j<(unsigned int)Data_PIm->GetNbinsY();j++){ - if(Data_PIm->GetBinContent(i,j)<=0)continue; - double M = GetMass(Data_PIm->GetXaxis ()->GetBinCenter(i), Data_PIm->GetYaxis ()->GetBinCenter(j)); - if(isnan(M))continue; - if (M<100){ Data_PIm_075->SetBinContent(i,j, Data_PIm->GetBinContent(i,j) ); } - else if(M<200){ Data_PIm_150->SetBinContent(i,j, Data_PIm->GetBinContent(i,j) ); } - else if(M<300){ Data_PIm_300->SetBinContent(i,j, Data_PIm->GetBinContent(i,j) ); } - else if(M<395){ Data_PIm_450->SetBinContent(i,j, Data_PIm->GetBinContent(i,j) ); } - else { Data_PIm_All->SetBinContent(i,j, Data_PIm->GetBinContent(i,j) ); } - }} - - Gluino300_Mass = (TH1D*) Gluino300_Mass->Rebin(2); - Gluino500_Mass = (TH1D*) Gluino500_Mass->Rebin(2); - Gluino800_Mass = (TH1D*) Gluino800_Mass->Rebin(2); - - double Min = 1E-3; - double Max = 1E4; - - char YAxisLegend[1024]; - sprintf(YAxisLegend,"#tracks / %2.0f GeV/c^{2}",Gluino300_Mass->GetXaxis()->GetBinWidth(1)); - - - c1 = new TCanvas("c1","c1", 600, 600); - Gluino300_Mass->SetAxisRange(0,1250,"X"); - Gluino300_Mass->SetAxisRange(Min,Max,"Y"); - Gluino300_Mass->SetTitle(""); - Gluino300_Mass->SetStats(kFALSE); - Gluino300_Mass->GetXaxis()->SetTitle("m (GeV/c^{2})"); - Gluino300_Mass->GetYaxis()->SetTitle(YAxisLegend); - Gluino300_Mass->SetLineWidth(2); - Gluino300_Mass->SetLineColor(Color[0]); - Gluino300_Mass->SetMarkerColor(Color[0]); - Gluino300_Mass->SetMarkerStyle(Marker[0]); - Gluino300_Mass->Draw("HIST E1"); - Gluino500_Mass->Draw("HIST E1 same"); - Gluino500_Mass->SetLineColor(Color[1]); - Gluino500_Mass->SetMarkerColor(Color[1]); - Gluino500_Mass->SetMarkerStyle(Marker[1]); - Gluino500_Mass->SetLineWidth(2); - Gluino800_Mass->SetLineWidth(2); - Gluino800_Mass->SetLineColor(Color[2]); - Gluino800_Mass->SetMarkerColor(Color[2]); - Gluino800_Mass->SetMarkerStyle(Marker[2]); - Gluino800_Mass->Draw("HIST E1 same"); - c1->SetLogy(true); - - TLine* line300 = new TLine(300, Min, 300, Max); - line300->SetLineWidth(2); - line300->SetLineColor(Color[0]); - line300->SetLineStyle(2); - line300->Draw("same"); - - TLine* line500 = new TLine(500, Min, 500, Max); - line500->SetLineWidth(2); - line500->SetLineColor(Color[1]); - line500->SetLineStyle(2); - line500->Draw("same"); - - TLine* line800 = new TLine(800, Min, 800, Max); - line800->SetLineWidth(2); - line800->SetLineColor(Color[2]); - line800->SetLineStyle(2); - line800->Draw("same"); - - leg = new TLegend(0.80,0.93,0.80 - 0.20,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Gluino300_Mass, "Gluino300" ,"P"); - leg->AddEntry(Gluino500_Mass, "Gluino500" ,"P"); - leg->AddEntry(Gluino800_Mass, "Gluino800" ,"P"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Gluino_Mass"); - delete c1; - - - c1 = new TCanvas("c1","c1", 600, 600); - c1->SetLogz(true); - Data_PIs->SetTitle(""); - Data_PIs->SetStats(kFALSE); - Data_PIs->GetXaxis()->SetTitle("p (GeV/c)"); - Data_PIs->GetYaxis()->SetTitle(dEdxS_Legend.c_str()); - Data_PIs->SetAxisRange(0,1250,"X"); - Data_PIs->SetMarkerSize (0.2); - Data_PIs->SetMarkerColor(Color[4]); - Data_PIs->SetFillColor(Color[4]); - Data_PIs->Draw("COLZ"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Data_PIs", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - c1->SetLogz(true); - Data_PIm->SetTitle(""); - Data_PIm->SetStats(kFALSE); - Data_PIm->GetXaxis()->SetTitle("p (GeV/c)"); - Data_PIm->GetYaxis()->SetTitle(dEdxM_Legend.c_str()); - Data_PIm->SetAxisRange(0,1250,"X"); - Data_PIm->SetAxisRange(0,15,"Y"); - Data_PIm->SetMarkerSize (0.2); - Data_PIm->SetMarkerColor(Color[4]); - Data_PIm->SetFillColor(Color[4]); - Data_PIm->Draw("COLZ"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Data_PIm", true); - delete c1; - - - c1 = new TCanvas("c1","c1", 600, 600); - c1->SetLogz(true); - Data_TOFIs->SetTitle(""); - Data_TOFIs->SetStats(kFALSE); - Data_TOFIs->GetXaxis()->SetTitle("1/#beta_{TOF}"); - Data_TOFIs->GetYaxis()->SetTitle(dEdxS_Legend.c_str()); - Data_TOFIs->SetAxisRange(0,1250,"X"); - Data_TOFIs->SetMarkerSize (0.2); - Data_TOFIs->SetMarkerColor(Color[4]); - Data_TOFIs->SetFillColor(Color[4]); - Data_TOFIs->Draw("COLZ"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Data_TOFIs", true); - delete c1; - - - c1 = new TCanvas("c1","c1", 600, 600); - c1->SetLogz(true); - Data_TOFIm->SetTitle(""); - Data_TOFIm->SetStats(kFALSE); - Data_TOFIm->GetXaxis()->SetTitle("1/#beta_{TOF}"); - Data_TOFIm->GetYaxis()->SetTitle(dEdxM_Legend.c_str()); - Data_TOFIm->SetAxisRange(0,15,"Y"); - Data_TOFIm->SetMarkerSize (0.2); - Data_TOFIm->SetMarkerColor(Color[4]); - Data_TOFIm->SetFillColor(Color[4]); - Data_TOFIm->Draw("COLZ"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Data_TOFIm", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - Gluino800_PIs->SetTitle(""); - Gluino800_PIs->SetStats(kFALSE); - Gluino800_PIs->GetXaxis()->SetTitle("p (GeV/c)"); - Gluino800_PIs->GetYaxis()->SetTitle(dEdxS_Legend.c_str()); - Gluino800_PIs->SetAxisRange(0,1250,"X"); - Gluino800_PIs->Scale(1/Gluino800_PIs->Integral()); - Gluino800_PIs->SetMarkerSize (0.2); - Gluino800_PIs->SetMarkerColor(Color[2]); - Gluino800_PIs->SetFillColor(Color[2]); - Gluino800_PIs->Draw("BOX"); - Gluino500_PIs->Scale(1/Gluino500_PIs->Integral()); - Gluino500_PIs->SetMarkerSize (0.2); - Gluino500_PIs->SetMarkerColor(Color[1]); - Gluino500_PIs->SetFillColor(Color[1]); - Gluino500_PIs->Draw("BOX same"); - Gluino300_PIs->Scale(1/Gluino300_PIs->Integral()); - Gluino300_PIs->SetMarkerSize (0.2); - Gluino300_PIs->SetMarkerColor(Color[0]); - Gluino300_PIs->SetFillColor(Color[0]); - Gluino300_PIs->Draw("BOX same"); - - leg = new TLegend(0.80,0.93,0.80 - 0.20,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Gluino300_PIs, "Gluino300" ,"F"); - leg->AddEntry(Gluino500_PIs, "Gluino500" ,"F"); - leg->AddEntry(Gluino800_PIs, "Gluino800" ,"F"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Gluino_PIs", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - Gluino300_PIm->SetTitle(""); - Gluino300_PIm->SetStats(kFALSE); - Gluino300_PIm->GetXaxis()->SetTitle("p (GeV/c)"); - Gluino300_PIm->GetYaxis()->SetTitle(dEdxM_Legend.c_str()); - Gluino300_PIm->SetAxisRange(0,1250,"X"); - Gluino300_PIm->SetAxisRange(0,15,"Y"); - Gluino300_PIm->Scale(1/Gluino300_PIm->Integral()); - Gluino300_PIm->SetMarkerSize (0.2); - Gluino300_PIm->SetMarkerColor(Color[2]); - Gluino300_PIm->SetFillColor(Color[2]); - Gluino300_PIm->Draw("BOX"); - Gluino500_PIm->Scale(1/Gluino500_PIm->Integral()); - Gluino500_PIm->SetMarkerSize (0.2); - Gluino500_PIm->SetMarkerColor(Color[1]); - Gluino500_PIm->SetFillColor(Color[1]); - Gluino500_PIm->Draw("BOX same"); - Gluino800_PIm->Scale(1/Gluino800_PIm->Integral()); - Gluino800_PIm->SetMarkerSize (0.2); - Gluino800_PIm->SetMarkerColor(Color[0]); - Gluino800_PIm->SetFillColor(Color[0]); - Gluino800_PIm->Draw("BOX same"); - - TF1* MassLine800 = GetMassLine(800, true); - MassLine800->SetLineColor(kGray+3); - MassLine800->SetLineWidth(2); - MassLine800->Draw("same"); - TF1* MassLine500 = GetMassLine(500, true); - MassLine500->SetLineColor(kBlue-7); - MassLine500->SetLineWidth(2); - MassLine500->Draw("same"); - TF1* MassLine300 = GetMassLine(300, true); - MassLine300->SetLineColor(kRed-7); - MassLine300->SetLineWidth(2); - MassLine300->Draw("same"); - - leg = new TLegend(0.80,0.93,0.80 - 0.20,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Gluino300_PIm, "Gluino300" ,"F"); - leg->AddEntry(Gluino500_PIm, "Gluino500" ,"F"); - leg->AddEntry(Gluino800_PIm, "Gluino800" ,"F"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Gluino_PIm", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - Gluino800_TOFIs->SetTitle(""); - Gluino800_TOFIs->SetStats(kFALSE); - Gluino800_TOFIs->GetXaxis()->SetTitle("1/#beta_{TOF}"); - Gluino800_TOFIs->GetYaxis()->SetTitle(dEdxS_Legend.c_str()); - Gluino800_TOFIs->SetAxisRange(0,1250,"X"); - Gluino800_TOFIs->Scale(1/Gluino800_TOFIs->Integral()); - Gluino800_TOFIs->SetMarkerSize (0.2); - Gluino800_TOFIs->SetMarkerColor(Color[2]); - Gluino800_TOFIs->SetFillColor(Color[2]); - Gluino800_TOFIs->Draw("BOX"); - Gluino500_TOFIs->Scale(1/Gluino500_TOFIs->Integral()); - Gluino500_TOFIs->SetMarkerSize (0.2); - Gluino500_TOFIs->SetMarkerColor(Color[1]); - Gluino500_TOFIs->SetFillColor(Color[1]); - Gluino500_TOFIs->Draw("BOX same"); - Gluino300_TOFIs->Scale(1/Gluino300_TOFIs->Integral()); - Gluino300_TOFIs->SetMarkerSize (0.2); - Gluino300_TOFIs->SetMarkerColor(Color[0]); - Gluino300_TOFIs->SetFillColor(Color[0]); - Gluino300_TOFIs->Draw("BOX same"); - - leg = new TLegend(0.80,0.93,0.80 - 0.20,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Gluino300_TOFIs, "Gluino300" ,"F"); - leg->AddEntry(Gluino500_TOFIs, "Gluino500" ,"F"); - leg->AddEntry(Gluino800_TOFIs, "Gluino800" ,"F"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Gluino_TOFIs", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - Gluino800_TOFIm->SetTitle(""); - Gluino800_TOFIm->SetStats(kFALSE); - Gluino800_TOFIm->GetXaxis()->SetTitle("1/#beta_{TOF}"); - Gluino800_TOFIm->GetYaxis()->SetTitle(dEdxM_Legend.c_str()); - Gluino800_TOFIm->SetAxisRange(0,1250,"X"); - Gluino800_TOFIm->SetAxisRange(0,15,"Y"); - Gluino800_TOFIm->Scale(1/Gluino800_TOFIm->Integral()); - Gluino800_TOFIm->SetMarkerSize (0.2); - Gluino800_TOFIm->SetMarkerColor(Color[2]); - Gluino800_TOFIm->SetFillColor(Color[2]); - Gluino800_TOFIm->Draw("BOX"); - Gluino500_TOFIm->Scale(1/Gluino500_TOFIm->Integral()); - Gluino500_TOFIm->SetMarkerSize (0.2); - Gluino500_TOFIm->SetMarkerColor(Color[1]); - Gluino500_TOFIm->SetFillColor(Color[1]); - Gluino500_TOFIm->Draw("BOX same"); - Gluino300_TOFIm->Scale(1/Gluino300_TOFIm->Integral()); - Gluino300_TOFIm->SetMarkerSize (0.2); - Gluino300_TOFIm->SetMarkerColor(Color[0]); - Gluino300_TOFIm->SetFillColor(Color[0]); - Gluino300_TOFIm->Draw("BOX same"); - - leg = new TLegend(0.80,0.93,0.80 - 0.20,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Gluino300_TOFIm, "Gluino300" ,"F"); - leg->AddEntry(Gluino500_TOFIm, "Gluino500" ,"F"); - leg->AddEntry(Gluino800_TOFIm, "Gluino800" ,"F"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Gluino_TOFIm", true); - delete c1; - - c1 = new TCanvas("c1","c1", 600, 600); - Data_PIm_075->SetTitle(""); - Data_PIm_075->SetStats(kFALSE); - Data_PIm_075->GetXaxis()->SetTitle("p (GeV/c)"); - Data_PIm_075->GetYaxis()->SetTitle(dEdxM_Legend.c_str()); -// Data_PIm_075->SetAxisRange(0,15,"Y"); -// Data_PIm_075->SetAxisRange(0,1250,"X"); - Data_PIm_075->SetAxisRange(3,10,"Y"); - Data_PIm_075->SetAxisRange(0,2000,"X"); - Data_PIm_075->SetMarkerSize (0.6); - Data_PIm_075->SetMarkerColor(Color[4]); - Data_PIm_075->SetMarkerStyle(Marker[4]); - Data_PIm_075->SetFillColor(Color[4]); - Data_PIm_075->Draw(""); - Data_PIm_150->SetMarkerSize (0.8); - Data_PIm_150->SetMarkerColor(Color[3]); - Data_PIm_150->SetMarkerStyle(Marker[3]); - Data_PIm_150->SetFillColor(Color[3]); - Data_PIm_150->Draw("same"); - Data_PIm_300->SetMarkerSize (1.0); - Data_PIm_300->SetMarkerColor(Color[2]); - Data_PIm_300->SetMarkerStyle(Marker[2]); - Data_PIm_300->SetFillColor(Color[2]); - Data_PIm_300->Draw("same"); - Data_PIm_450->SetMarkerSize (1.2); - Data_PIm_450->SetMarkerColor(Color[1]); - Data_PIm_450->SetMarkerStyle(Marker[1]); - Data_PIm_450->SetFillColor(Color[1]); - Data_PIm_450->Draw("same"); - Data_PIm_All->SetMarkerSize (1.4); - Data_PIm_All->SetMarkerColor(Color[0]); - Data_PIm_All->SetFillColor(Color[0]); - Data_PIm_All->Draw("same"); - - for(double m=100;m<1000;m+=100){ - TF1* MassLine = GetMassLine(m); - MassLine->SetLineColor(1); - MassLine->SetLineWidth(1); - MassLine->Draw("same"); - } - - leg = new TLegend(0.80,0.93,0.80 - 0.30,0.93 - 6*0.03); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - leg->AddEntry(Data_PIm_075, "M < 100 GeV","P"); - leg->AddEntry(Data_PIm_150, "100 < M < 200 GeV","P"); - leg->AddEntry(Data_PIm_300, "200 < M < 300 GeV","P"); - leg->AddEntry(Data_PIm_450, "300 < M < 400 GeV","P"); - leg->AddEntry(Data_PIm_All, "400 < M GeV" ,"P"); - leg->Draw(); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1, outpath, "Data_PIm_Colored", true); - delete c1; -} - -void MassPrediction(string InputPattern, unsigned int CutIndex, string HistoSuffix) -{ - bool IsTkOnly = (InputPattern.find("Type0",0) legend; - TCanvas* c1; - - char Buffer[2048]; - sprintf(Buffer,"%s/Histos_Data.root",InputPattern.c_str()); - - InputFile_Data = new TFile(Buffer); - - if(!InputFile_Data || InputFile_Data->IsZombie() || !InputFile_Data->IsOpen() || InputFile_Data->TestBit(TFile::kRecovered) )return; - TH1D* Pred = ((TH2D*)GetObjectFromPath(InputFile_Data, string("Pred_") + HistoSuffix ))->ProjectionY("TmpPredMass" ,CutIndex+1,CutIndex+1,"o"); - TH1D* Data = ((TH2D*)GetObjectFromPath(InputFile_Data, string("Data/") + HistoSuffix ))->ProjectionY("TmpDataMass" ,CutIndex+1,CutIndex+1,"o"); - - TFile* InputFile = new TFile((InputPattern+"/Histos.root").c_str()); - TH1D* Gluino600 = ((TH2D*)GetObjectFromPath(InputFile, string("Gluino600/") + HistoSuffix ))->ProjectionY("TmpG600Mass" ,CutIndex+1,CutIndex+1,"o"); - TH1D* GMStau156 = ((TH2D*)GetObjectFromPath(InputFile, string("GMStau156/") + HistoSuffix ))->ProjectionY("TmpS156Mass" ,CutIndex+1,CutIndex+1,"o"); - - TFile* InputFile_MC = new TFile((InputPattern+"/Histos_MC.root").c_str()); - TH1D* MC = ((TH2D*)GetObjectFromPath(InputFile_MC, string("MCTr/") + HistoSuffix ))->ProjectionY("TmpMCMass" ,CutIndex+1,CutIndex+1,"o"); - TH1D* MCPred = ((TH2D*)GetObjectFromPath(InputFile_MC, string("Pred_") + HistoSuffix ))->ProjectionY("TmpMCPred" ,CutIndex+1,CutIndex+1,"o"); - - TH1D* H_A = (TH1D*)GetObjectFromPath(InputFile_Data, "H_A"); - TH1D* H_B = (TH1D*)GetObjectFromPath(InputFile_Data, "H_B"); - TH1D* H_C = (TH1D*)GetObjectFromPath(InputFile_Data, "H_C"); - TH1D* H_D = (TH1D*)GetObjectFromPath(InputFile_Data, "H_D"); - TH1D* H_E = (TH1D*)GetObjectFromPath(InputFile_Data, "H_E"); - TH1D* H_F = (TH1D*)GetObjectFromPath(InputFile_Data, "H_F"); - TH1D* H_G = (TH1D*)GetObjectFromPath(InputFile_Data, "H_G"); - TH1D* H_H = (TH1D*)GetObjectFromPath(InputFile_Data, "H_H"); - TH1D* H_P = (TH1D*)GetObjectFromPath(InputFile_Data, "H_P"); - printf("OBSERVED EVENTS = %6.2E\n",H_D->GetBinContent(CutIndex+1)); - printf("PREDICTED EVENTS = %6.2E+-%6.2E\n",H_P->GetBinContent(CutIndex+1), H_P->GetBinError(CutIndex+1)); - - - //MCPred->Scale(H_P->GetBinContent(CutIndex+1)/MC->Integral()); - //MC ->Scale(H_P->GetBinContent(CutIndex+1)/MC->Integral()); - - MC ->Scale(H_P->GetBinContent(CutIndex+1)/MCPred->Integral()); - MCPred->Scale(H_P->GetBinContent(CutIndex+1)/MCPred->Integral()); - - for(double M=0;M<=1000;M+=200){ - double D,P,Perr; - D = Data->Integral( Data->GetXaxis()->FindBin(M), Data->GetXaxis()->FindBin(2000.0)); - P = Pred->Integral( Pred->GetXaxis()->FindBin(M), Pred->GetXaxis()->FindBin(2000.0)); - Perr = 0; for(int i=Pred->GetXaxis()->FindBin(M);iGetXaxis()->FindBin(2000.0);i++){ Perr += pow(Pred->GetBinError(i),2); } Perr = sqrt(Perr); - double MD,MDerr, MP,MPerr; - MD = MC->Integral( MC->GetXaxis()->FindBin(M), MC->GetXaxis()->FindBin(2000.0)); - MP = MCPred->Integral( MCPred->GetXaxis()->FindBin(M), MCPred->GetXaxis()->FindBin(2000.0)); - MDerr = 0; for(int i=MC->GetXaxis()->FindBin(M);iGetXaxis()->FindBin(2000.0);i++){ MDerr += pow(MC->GetBinError(i),2); } MDerr = sqrt(MDerr); - MPerr = 0; for(int i=MCPred->GetXaxis()->FindBin(M);iGetXaxis()->FindBin(2000.0);i++){ MPerr += pow(MCPred->GetBinError(i),2); } MPerr = sqrt(MPerr); - printf("%4.0f Obs=%9.3f Data-Pred = %9.3f +- %8.3f(syst+stat) %9.3f (syst) %9.3f (stat) MC=%9.3f+-%8.3f MC-Pred = %8.3f +- %9.3f (syst+stat) %9.3f (syst) %9.3f (stat)\n", M, D, P, sqrt(Perr*Perr + pow(P*(2*RMS),2)), P*(2*RMS), Perr, MD, MDerr, MP, sqrt(MPerr*MPerr + pow(MP*(2*RMS),2)), MP*(2*RMS), MPerr ); - } - printf("FullSpectrum --> D=%9.3f P = %9.3f +- %6.3f(stat) +- %6.3f(syst) (=%6.3f)\n", Data->Integral(), Pred->Integral(), 0.0, 0.0, 0.0 ); - printf("UnderFlow = %6.2f OverFlow = %6.2f\n", Pred->GetBinContent(0), Pred->GetBinContent(Pred->GetNbinsX()+1) ); - - Pred->Rebin(4); - Data->Rebin(4); - TH1D* Signal = Gluino600; - if(!IsTkOnly)Signal = GMStau156; - Signal->Rebin(4); - MC->Rebin(4); - MCPred->Rebin(4); - - double Max = 2.0 * std::max(std::max(Data->GetMaximum(), Pred->GetMaximum()), Signal->GetMaximum()); - double Min = 0.01;// 0.1 * std::min(0.01,Pred->GetMaximum()); - - TLegend* leg; - c1 = new TCanvas("c1","c1,",600,600); - - char YAxisLegend[1024]; - sprintf(YAxisLegend,"Tracks / %2.0f GeV/c^{2}",Data->GetXaxis()->GetBinWidth(1)); - - TH1D* PredErr = (TH1D*) Pred->Clone("PredErr"); - TH1D* MCPredErr = (TH1D*) MCPred->Clone("MCPredErr"); - for(unsigned int i=0;i<(unsigned int)Pred->GetNbinsX();i++){ - double error = sqrt(pow(PredErr->GetBinError(i),2) + pow(PredErr->GetBinContent(i)*2*RMS,2)); - PredErr->SetBinError(i,error); - if(PredErr->GetBinContent(i)5){for(unsigned int j=i+1;j<(unsigned int)PredErr->GetNbinsX();j++)PredErr->SetBinContent(j,0);} - - error = sqrt(pow(MCPredErr->GetBinError(i),2) + pow(MCPredErr->GetBinContent(i)*2*RMS,2)); - MCPredErr->SetBinError(i,error); - if(MCPredErr->GetBinContent(i)5){for(unsigned int j=i+1;j<(unsigned int)MCPredErr->GetNbinsX();j++)MCPredErr->SetBinContent(j,0);} - } - PredErr->SetLineColor(8); - PredErr->SetFillColor(8); - PredErr->SetFillStyle(3001); - PredErr->SetMarkerStyle(22); - PredErr->SetMarkerColor(2); - PredErr->SetMarkerSize(1.0); - PredErr->GetXaxis()->SetNdivisions(505); - PredErr->SetTitle(""); - PredErr->SetStats(kFALSE); - PredErr->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - PredErr->GetYaxis()->SetTitle(YAxisLegend); - PredErr->GetYaxis()->SetTitleOffset(1.50); - PredErr->SetMaximum(Max); - PredErr->SetMinimum(Min); - PredErr->SetAxisRange(0,1400,"X"); - PredErr->Draw("AXIS"); - - Signal->SetMarkerStyle(21); - Signal->SetMarkerColor(4); - Signal->SetMarkerSize(1.5); - Signal->SetLineColor(4); - Signal->SetFillColor(38); - Signal->Draw("same HIST"); - - MCPredErr->SetLineColor(5); - MCPredErr->SetFillColor(5); - MCPredErr->SetFillStyle(3017); - MCPredErr->SetMarkerStyle(23); - MCPredErr->SetMarkerColor(5); - MCPredErr->SetMarkerSize(1.0); - MCPredErr->Draw("same E5"); - - MCPred->SetMarkerStyle(23); - MCPred->SetMarkerColor(5); - MCPred->SetMarkerSize(1.5); - MCPred->SetLineColor(5); - MCPred->SetFillColor(0); - MCPred->Draw("same HIST P"); - - //MC->SetFillStyle(3002); - //MC->SetLineColor(22); - //MC->SetFillColor(11); - //MC->SetMarkerStyle(0); - //MC->Draw("same HIST E1"); - PredErr->Draw("same E5"); - - Pred->SetMarkerStyle(22); - Pred->SetMarkerColor(2); - Pred->SetMarkerSize(1.5); - Pred->SetLineColor(2); - Pred->SetFillColor(0); - Pred->Draw("same HIST P"); - - Data->SetBinContent(Data->GetNbinsX(), Data->GetBinContent(Data->GetNbinsX()) + Data->GetBinContent(Data->GetNbinsX()+1)); - Data->SetMarkerStyle(20); - Data->SetMarkerColor(1); - Data->SetMarkerSize(1.0); - Data->SetLineColor(1); - Data->SetFillColor(0); - Data->Draw("E1 same"); - - leg = new TLegend(0.79,0.93,0.40,0.68); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - TH1D* PredLeg = (TH1D*) Pred->Clone("RescLeg"); - PredLeg->SetFillColor(PredErr->GetFillColor()); - PredLeg->SetFillStyle(PredErr->GetFillStyle()); - leg->AddEntry(Data, "Data" ,"P"); - leg->AddEntry(PredLeg, "Data-based SM prediction" ,"PF"); - //leg->AddEntry(MC, "Simulation" ,"LF"); - TH1D* MCPredLeg = (TH1D*) MCPred->Clone("RescMCLeg"); - MCPredLeg->SetFillColor(MCPredErr->GetFillColor()); - MCPredLeg->SetFillStyle(MCPredErr->GetFillStyle()); - leg->AddEntry(MCPredLeg, "SM prediction (MC)" ,"PF"); - if(IsTkOnly)leg->AddEntry(Signal, "MC - Gluino (M=600 GeV/c^{2})" ,"F"); - else leg->AddEntry(Signal, "MC - Stau (M=156 GeV/c^{2})" ,"F"); - leg->Draw(); - - DrawPreliminary(IntegratedLuminosity); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("Rescale_") + HistoSuffix); - delete c1; - InputFile->Close(); -} - -void MassPredictionTight(string InputPattern, unsigned int CutIndex, string HistoSuffix) -{ - bool IsTkOnly = (InputPattern.find("Type0",0) legend; - TCanvas* c1; - - char Buffer[2048]; - sprintf(Buffer,"%s/Histos_Data.root",InputPattern.c_str()); - InputFile_Data = new TFile(Buffer); - if(!InputFile_Data || InputFile_Data->IsZombie() || !InputFile_Data->IsOpen() || InputFile_Data->TestBit(TFile::kRecovered) )return; - TH1D* Pred = ((TH2D*)GetObjectFromPath(InputFile_Data, string("Pred_") + HistoSuffix ))->ProjectionY("TmpPredMass" ,CutIndex+1,CutIndex+1,"o"); - TH1D* Data = ((TH2D*)GetObjectFromPath(InputFile_Data, string("Data/") + HistoSuffix ))->ProjectionY("TmpDataMass" ,CutIndex+1,CutIndex+1,"o"); - - TFile* InputFile = new TFile((InputPattern+"/Histos.root").c_str()); - TH1D* GMStau247 = ((TH2D*)GetObjectFromPath(InputFile, string("GMStau247/") + HistoSuffix ))->ProjectionY("TmpS247Mass" ,CutIndex+1,CutIndex+1,"o"); - TH1D* GMStau156 = ((TH2D*)GetObjectFromPath(InputFile, string("GMStau156/") + HistoSuffix ))->ProjectionY("TmpS156Mass" ,CutIndex+1,CutIndex+1,"o"); - - TH1D* Gluino800 = ((TH2D*)GetObjectFromPath(InputFile, string("Gluino800/") + HistoSuffix ))->ProjectionY("TmpG800Mass" ,CutIndex+1,CutIndex+1,"o"); - - - Pred->Rebin(4); - Data->Rebin(4); - TH1D* Signal = GMStau156; - if(!IsTkOnly)Signal = GMStau247; - Signal->Rebin(4); - Gluino800->Rebin(4); - - double Max = 10.0 * std::max(std::max(Data->GetMaximum(), Pred->GetMaximum()), std::max(Signal->GetMaximum(), Gluino800->GetMaximum())); - double Min = 0.01;// 0.1 * std::min(0.01,Pred->GetMaximum()); - double maxRange=1200; - - TLegend* leg; - c1 = new TCanvas("c1","c1,",600,600); - - char YAxisLegend[1024]; - sprintf(YAxisLegend,"Tracks / %2.0f GeV/c^{2}",Data->GetXaxis()->GetBinWidth(1)); - - - double predOverFlow=0; - for (int i=Pred->GetNbinsX(); i>0; i--) { - if(Pred->GetBinLowEdge(i)>maxRange) predOverFlow+=Pred->GetBinContent(i); - else {Pred->SetBinContent(i,predOverFlow+Pred->GetBinContent(i)); i=-1;} - } - - double dataOverFlow=0; - for (int i=Data->GetNbinsX(); i=0; i--) { - if(Data->GetBinLowEdge(i)>maxRange) dataOverFlow+=Data->GetBinContent(i); - else { - Data->SetBinContent(i,dataOverFlow+Data->GetBinContent(i)); - Data->SetBinError(i,sqrt(dataOverFlow+Data->GetBinContent(i))); - i=-1; - } - } - - - TH1D* PredErr = (TH1D*) Pred->Clone("PredErr"); - for(unsigned int i=0;i<(unsigned int)Pred->GetNbinsX();i++){ - double error = sqrt(pow(PredErr->GetBinError(i+1),2) + pow(PredErr->GetBinContent(i+1)*2*RMS,2)); - PredErr->SetBinError(i+1,error); - if((PredErr->GetBinContent(i+1)5) || Pred->GetBinLowEdge(i+2)>maxRange){ - for(unsigned int j=i+1;j<(unsigned int)PredErr->GetNbinsX();j++)PredErr->SetBinContent(j+1,0); - i=(unsigned int)Pred->GetNbinsX()+1; - } - } - - PredErr->SetLineColor(8); - PredErr->SetFillColor(8); - PredErr->SetFillStyle(3001); - PredErr->SetMarkerStyle(22); - PredErr->SetMarkerColor(2); - PredErr->SetMarkerSize(1.0); - PredErr->GetXaxis()->SetNdivisions(505); - PredErr->SetTitle(""); - PredErr->SetStats(kFALSE); - PredErr->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - PredErr->GetYaxis()->SetTitle(YAxisLegend); - PredErr->GetYaxis()->SetTitleOffset(1.50); - PredErr->SetMaximum(Max); - PredErr->SetMinimum(Min); - PredErr->SetAxisRange(0,maxRange,"X"); - PredErr->Draw("AXIS"); - - Gluino800->SetMarkerStyle(21); - Gluino800->SetMarkerColor(46); - Gluino800->SetMarkerSize(1.5); - Gluino800->SetLineColor(46); - Gluino800->SetFillColor(46); - Gluino800->Draw("same HIST"); - - Signal->SetMarkerStyle(21); - Signal->SetMarkerColor(4); - Signal->SetMarkerSize(1.5); - Signal->SetLineColor(4); - Signal->SetFillColor(38); - Signal->Draw("same HIST"); - - - PredErr->Draw("same E5"); - - Pred->SetMarkerStyle(22); - Pred->SetMarkerColor(2); - Pred->SetMarkerSize(1.5); - Pred->SetLineColor(2); - Pred->SetFillColor(0); - Pred->Draw("same HIST P"); - - Data->SetBinContent(Data->GetNbinsX(), Data->GetBinContent(Data->GetNbinsX()) + Data->GetBinContent(Data->GetNbinsX()+1)); - Data->SetMarkerStyle(20); - Data->SetMarkerColor(1); - Data->SetMarkerSize(1.0); - Data->SetLineColor(1); - Data->SetFillColor(0); - Data->Draw("E1 same"); - - leg = new TLegend(0.79,0.93,0.40,0.68); - leg->SetHeader(LegendFromType(InputPattern).c_str()); - leg->SetFillColor(0); - leg->SetBorderSize(0); - TH1D* PredLeg = (TH1D*) Pred->Clone("RescLeg"); - PredLeg->SetFillColor(PredErr->GetFillColor()); - PredLeg->SetFillStyle(PredErr->GetFillStyle()); - leg->AddEntry(Data, "Data" ,"P"); - leg->AddEntry(PredLeg, "Data-based prediction" ,"PF"); - if(IsTkOnly)leg->AddEntry(Signal, "MC - Stau (M=156 GeV/c^{2})" ,"F"); - else leg->AddEntry(Signal, "MC - Stau (M=247 GeV/c^{2})" ,"F"); - leg->AddEntry(Gluino800, "MC - Gluino (M=800 GeV/c^{2})" ,"F"); - leg->Draw(); - - DrawPreliminary(IntegratedLuminosity); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("RescaleTight_") + HistoSuffix); - delete c1; - - InputFile->Close(); -} - - - -int JobIdToIndex(string JobId){ - for(unsigned int s=0;s VectPt; - std::vector VectI; - std::vector VectExpLim; - FILE* pFile = fopen(Input.c_str(),"r"); - if(!pFile){ - printf("Not Found: %s\n",Input.c_str()); - return; - } - - unsigned int Index; - double Pt, I, TOF, MassMin, MassMax; - double NData, NPred, NPredErr, SignalEff; - double ExpLimit; - char Model[256], Tmp[2048]; - while ( ! feof (pFile) ){ - fscanf(pFile,"%s Testing CutIndex= %d (Pt>%lf I>%lf TOF>%lf) %lf %lE expected",Model,&Index,&Pt,&I,&TOF,&MassMin,&MassMax,&NData,&NPred,&NPredErr,&SignalEff,&ExpLimit); - fgets(Tmp, 256 , pFile); -// if(Pt<80 && I<0.38)printf("%s Testing CutIndex= %d (Pt>%f I>%f TOF>%f) %f %E expected %s",Model,Index,Pt,I,TOF,MassMin,MassMax,NData,NPred,NPredErr,SignalEff,ExpLimit, Tmp); -// ExpLimitPlot->SetBinContent(PtMap[Pt],IsMap[I],ExpLimit); - ExpLimitPlot->Fill(Pt,I,ExpLimit); - } - fclose(pFile); - - - TCanvas* c1 = new TCanvas("c1","c1",600,600); - c1->SetLogz(true); - ExpLimitPlot->SetTitle(""); - ExpLimitPlot->SetStats(kFALSE); - ExpLimitPlot->GetXaxis()->SetTitle("Pt Cut"); - ExpLimitPlot->GetYaxis()->SetTitle("I Cut"); - ExpLimitPlot->GetXaxis()->SetTitleOffset(1.1); - ExpLimitPlot->GetYaxis()->SetTitleOffset(1.70); - ExpLimitPlot->GetXaxis()->SetNdivisions(505); - ExpLimitPlot->GetYaxis()->SetNdivisions(505); - ExpLimitPlot->SetMaximum(1E0); - ExpLimitPlot->SetMinimum(1E-2); - ExpLimitPlot->Draw("COLZ"); - c1->SaveAs(Output.c_str()); - delete c1; - return; -} diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.C deleted file mode 100644 index ad2f3d12a3b64..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.C +++ /dev/null @@ -1,2002 +0,0 @@ -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TLegendEntry.h" -#include "TGraph.h" -#include "TMultiGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphErrors.h" -#include "TGraphAsymmErrors.h" -#include "TCutG.h" -#include "TPaveText.h" -#include "tdrstyle.C" -#include "Analysis_CommonFunction.h" -#include "Analysis_PlotFunction.h" -#include "Analysis_Samples.h" -//#include "CL95.h" -#include "roostats_cl95.C" -#include "nSigma.C" - -using namespace std; - - - -struct stAllInfo{ - double Mass; - double MassMean; - double MassSigma; - double MassCut; - double XSec_Th; - double XSec_Err; - double XSec_Exp; - double XSec_ExpUp; - double XSec_ExpDown; - double XSec_Exp2Up; - double XSec_Exp2Down; - double XSec_Obs; - double Eff; - double Eff_SYSTP; - double Eff_SYSTI; - double Eff_SYSTM; - double Eff_SYSTT; - double Significance; - double Index; - double WP_Pt; - double WP_I; - double WP_TOF; - float NData; - float NPred; - float NPredErr; - float NSign; - - stAllInfo(string path=""){ - Mass=-1; XSec_Th=-1; XSec_Err=-1; XSec_Exp=-1; XSec_ExpUp=-1;XSec_ExpDown=-1;XSec_Exp2Up=-1;XSec_Exp2Down=-1; XSec_Obs=-1; Eff=-1; Eff_SYSTP=-1; Eff_SYSTI=-1; Eff_SYSTM=-1; Eff_SYSTT=-1; - if(path=="")return; - FILE* pFile = fopen(path.c_str(),"r"); - if(!pFile){printf("Can't open %s\n",path.c_str()); return;} - fscanf(pFile,"Mass : %lf\n",&Mass); - fscanf(pFile,"MassMean : %lf\n",&MassMean); - fscanf(pFile,"MassSigma : %lf\n",&MassSigma); - fscanf(pFile,"MassCut : %lf\n",&MassCut); - fscanf(pFile,"Index : %lf\n",&Index); - fscanf(pFile,"WP_Pt : %lf\n",&WP_Pt); - fscanf(pFile,"WP_I : %lf\n",&WP_I); - fscanf(pFile,"WP_TOF : %lf\n",&WP_TOF); - fscanf(pFile,"Eff : %lf\n",&Eff); - fscanf(pFile,"Eff_SystP : %lf\n",&Eff_SYSTP); - fscanf(pFile,"Eff_SystI : %lf\n",&Eff_SYSTI); - fscanf(pFile,"Eff_SystM : %lf\n",&Eff_SYSTM); - fscanf(pFile,"Eff_SystT : %lf\n",&Eff_SYSTT); - fscanf(pFile,"Signif : %lf\n",&Significance); - fscanf(pFile,"XSec_Th : %lf\n",&XSec_Th); - fscanf(pFile,"XSec_Exp : %lf\n",&XSec_Exp); - fscanf(pFile,"XSec_ExpUp : %lf\n",&XSec_ExpUp); - fscanf(pFile,"XSec_ExpDown : %lf\n",&XSec_ExpDown); - fscanf(pFile,"XSec_Exp2Up : %lf\n",&XSec_Exp2Up); - fscanf(pFile,"XSec_Exp2Down: %lf\n",&XSec_Exp2Down); - fscanf(pFile,"XSec_Obs : %lf\n",&XSec_Obs); - fscanf(pFile,"NData : %E\n" ,&NData); - fscanf(pFile,"NPred : %E\n" ,&NPred); - fscanf(pFile,"NPredErr : %E\n" ,&NPredErr); - fscanf(pFile,"NSign : %E\n" ,&NSign); - fclose(pFile); - } - -}; - - -struct stGraph{ - TGraph* Stop; - TGraph* StopN; - TGraph* GluinoF0; - TGraph* GluinoF1; - TGraph* GluinoF5; - TGraph* GluinoNF0; - TGraph* GluinoNF1; - TGraph* GluinoNF5; - TGraph* GMStau; - TGraph* PPStau; - TGraph* DCRho08HyperK; - TGraph* DCRho12HyperK; - TGraph* DCRho16HyperK; - TGraph* GluinoTh; - TGraph* StopTh; - TGraph* GMStauTh; - TCutG* GluinoThErr; - TCutG* StopThErr; -}; - -double PlotMinScale = 0.0005; -double PlotMaxScale = 3; - -TGraph* MakePlot(FILE* pFile, FILE* talkFile, string InputPattern, string syst, string ModelName, int XSectionType=2, string Mass0="", string Mass1="", string Mass2="", string Mass3="", string Mass4="", string Mass5="", string Mass6="", string Mass7="", string Mass8="", string Mass9="",string Mass10="", string Mass11="", string Mass12="", string Mass13=""); - - -stAllInfo Exclusion(string pattern, string modelName, string signal, double Ratio_0C=-1, double Ratio_1C=-1, double Ratio_2C=-1, string syst=""); -int JobIdToIndex(string JobId); - -void GetSignalMeanHSCPPerEvent(string InputPattern, unsigned int CutIndex, double MinRange, double MaxRange); -double FindIntersection(TGraph* obs, TGraph* th, double Min, double Max, double Step, double ThUncertainty=0, bool debug=false); -int ReadXSection(string InputFile, double* Mass, double* XSec, double* Low, double* High, double* ErrLow, double* ErrHigh); -TCutG* GetErrorBand(string name, int N, double* Mass, double* Low, double* High, double MinLow=PlotMinScale, double MaxHigh=PlotMaxScale); -void CheckSignalUncertainty(FILE* pFile, FILE* talkFile, string InputPattern); -void DrawModelLimitWithBand(string InputPattern, string inputmodel); -std::vector GetModels(string inputmodel); -string GetModelName(string inputmodel); -void DrawRatioBands(string InputPattern, string inputmodel); - -double MinRange = 0; -double MaxRange = 1999; - -char Buffer[2048]; - -int CurrentSampleIndex; -string InputPath; -string OutputPath; - -TH1D* MassSign = NULL; -TH1D* MassMCTr = NULL; -TH1D* MassData = NULL; -TH1D* MassPred = NULL; -TH1D* MassSignPDF = NULL; -TH1D* MassPredPDF = NULL; -double FitParam[10]; -TF1* Stau_MMC_Fit = NULL; -TF1* Stop_MMC_Fit = NULL; -TF1* MGStop_MMC_Fit = NULL; -TF1* Gluino_MMC_Fit = NULL; -TF1* Stau_SMC_Fit = NULL; -TF1* Stop_SMC_Fit = NULL; -TF1* MGStop_SMC_Fit = NULL; -TF1* Gluino_SMC_Fit = NULL; - -std::vector signals; -std::vector signalsMeanHSCPPerEvent; -std::vector signalsMeanHSCPPerEvent_SYSTP; -std::vector signalsMeanHSCPPerEvent_SYSTT; -std::vector signalsMeanHSCPPerEvent_SYSTM; -std::vector signalsMeanHSCPPerEvent_SYSTI; - -double RescaleFactor; -double RescaleError; -int Mode=0; -void Analysis_Step6(string MODE="COMPILE", string InputPattern="", string modelName="", string signal="", double Ratio_0C=-1, double Ratio_1C=-1, double Ratio_2C=-1, string syst=""){ - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.10); - gStyle->SetPadRightMargin (0.18); - gStyle->SetPadLeftMargin (0.12); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505,"X"); - gStyle->SetNdivisions(550,"Y"); - - if(MODE=="COMPILE")return; - - if(MODE=="ANALYSE"){ - stAllInfo result = Exclusion(InputPattern, modelName, signal, Ratio_0C, Ratio_1C, Ratio_2C, syst); - return; - } - - string MuPattern = "Results/dedxASmi/combined/Eta15/PtMin45/Type2/"; - string TkPattern = "Results/dedxASmi/combined/Eta15/PtMin45/Type0/"; - - string outpath = string("Results/EXCLUSION/"); - MakeDirectories(outpath); - - std::vector ModelNames; -// ModelNames.push_back("Hyperk"); - ModelNames.push_back("All"); - - for(int i=0;i Models; - Models.push_back("Gluinof1"); - Models.push_back("Gluinof5"); - Models.push_back("GluinoN"); - Models.push_back("Stop"); - Models.push_back("StopN"); - Models.push_back("GMStau"); - Models.push_back("PPStau"); - Models.push_back("DCRho08"); - Models.push_back("DCRho12"); - Models.push_back("DCRho16"); - - for(int i=0;iSetTitle(""); - GluinoXSec->GetYaxis()->SetTitleOffset(1.70); - TCutG* GluinoXSecErr = GetErrorBand("gluinoErr",ThGluinoN,ThGluinoMass,ThGluinoLow,ThGluinoHigh); - - double ThStopMass [100]; double ThStopXSec [100]; double ThStopLow [100]; double ThStopHigh [100]; double ThStopErrLow [100]; double ThStopErrHigh [100]; - int ThStopN = ReadXSection("stop_XSec.txt", ThStopMass,ThStopXSec,ThStopLow,ThStopHigh, ThStopErrLow, ThStopErrHigh); - TGraph* StopXSec = new TGraph(ThStopN,ThStopMass,ThStopXSec); - TGraph* StopXSecLow = new TGraph(ThStopN,ThStopMass,ThStopLow); - StopXSec->SetTitle(""); - StopXSec->GetYaxis()->SetTitleOffset(1.70); - TCutG* StopXSecErr = GetErrorBand("StopErr", ThStopN,ThStopMass,ThStopLow,ThStopHigh); - - - int ThStauN = 9 ; double ThStauMass [100]; double ThStauXSec [100]; double ThStauLow [100]; double ThStauHigh [100]; - ThStauMass[0] = 100; ThStauXSec[0] = 1.3398; ThStauLow[0] = 1.18163; ThStauHigh[0] = 1.48684; - ThStauMass[1] = 126; ThStauXSec[1] = 0.274591; ThStauLow[1] = 0.242982; ThStauHigh[1] = 0.304386; - ThStauMass[2] = 156; ThStauXSec[2] = 0.0645953; ThStauLow[2] = 0.0581651; ThStauHigh[2] = 0.0709262; - ThStauMass[3] = 200; ThStauXSec[3] = 0.0118093; ThStauLow[3] = 0.0109992; ThStauHigh[3] = 0.012632; - ThStauMass[4] = 247; ThStauXSec[4] = 0.00342512; ThStauLow[4] = 0.00324853; ThStauHigh[4] = 0.00358232; - ThStauMass[5] = 308; ThStauXSec[5] = 0.00098447; ThStauLow[5] = 0.00093519; ThStauHigh[5] = 0.00102099; - ThStauMass[6] = 370; ThStauXSec[6] = 0.000353388; ThStauLow[6] = 0.000335826; ThStauHigh[6] = 0.000366819; - ThStauMass[7] = 432; ThStauXSec[7] = 0.000141817; ThStauLow[7] = 0.000134024; ThStauHigh[7] = 0.000147665; - ThStauMass[8] = 494; ThStauXSec[8] = 6.17749e-05; ThStauLow[8] =5.83501e-05 ; ThStauHigh[8] = 6.45963e-05; - TCutG* StauXSecErr = GetErrorBand("StauErr", ThStauN,ThStauMass,ThStauLow,ThStauHigh); - - int ThPPStauN = 6 ; double ThPPStauMass [100]; double ThPPStauXSec [100]; double ThPPStauLow [100]; double ThPPStauHigh [100]; - ThPPStauMass[0] = 100; ThPPStauXSec[0] = 0.038200; ThPPStauLow[0] = 0.037076; ThPPStauHigh[0] = 0.0391443; - ThPPStauMass[1] = 126; ThPPStauXSec[1] = 0.0161; ThPPStauLow[1] = 0.0155927; ThPPStauHigh[1] = 0.016527; - ThPPStauMass[2] = 156; ThPPStauXSec[2] = 0.007040; ThPPStauLow[2] = 0.0067891; ThPPStauHigh[2] = 0.00723151; - ThPPStauMass[3] = 200; ThPPStauXSec[3] = 0.002470; ThPPStauLow[3] = 0.00237277; ThPPStauHigh[3] = 0.00253477; - ThPPStauMass[4] = 247; ThPPStauXSec[4] = 0.001010; ThPPStauLow[4] = 0.00096927; ThPPStauHigh[4] = 0.00103844; - ThPPStauMass[5] = 308; ThPPStauXSec[5] = 0.000353; ThPPStauLow[5] = 0.000335308; ThPPStauHigh[5] = 0.000363699; - TCutG* PPStauXSecErr = GetErrorBand("PPStauErr", ThPPStauN,ThPPStauMass,ThPPStauLow,ThPPStauHigh); - - int ThDCRho08HyperKN = 13; double ThDCRho08HyperKMass [100]; double ThDCRho08HyperKXSec [100]; double ThDCRho08HyperKLow [100]; double ThDCRho08HyperKHigh [100]; - ThDCRho08HyperKMass[0] = 100; ThDCRho08HyperKXSec[0] = 1.405000; ThDCRho08HyperKLow[0] = ThDCRho08HyperKXSec[0]*0.85; ThDCRho08HyperKHigh[0] = ThDCRho08HyperKXSec[0]*1.15; - ThDCRho08HyperKMass[1] = 121; ThDCRho08HyperKXSec[1] = 0.979000; ThDCRho08HyperKLow[1] = ThDCRho08HyperKXSec[1]*0.85; ThDCRho08HyperKHigh[1] = ThDCRho08HyperKXSec[1]*1.15; - ThDCRho08HyperKMass[2] = 182; ThDCRho08HyperKXSec[2] = 0.560000; ThDCRho08HyperKLow[2] = ThDCRho08HyperKXSec[2]*0.85; ThDCRho08HyperKHigh[2] = ThDCRho08HyperKXSec[2]*1.15; - ThDCRho08HyperKMass[3] = 242; ThDCRho08HyperKXSec[3] = 0.489000; ThDCRho08HyperKLow[3] = ThDCRho08HyperKXSec[3]*0.85; ThDCRho08HyperKHigh[3] = ThDCRho08HyperKXSec[3]*1.15; - ThDCRho08HyperKMass[4] = 302; ThDCRho08HyperKXSec[4] = 0.463000; ThDCRho08HyperKLow[4] = ThDCRho08HyperKXSec[4]*0.85; ThDCRho08HyperKHigh[4] = ThDCRho08HyperKXSec[4]*1.15; - ThDCRho08HyperKMass[5] = 350; ThDCRho08HyperKXSec[5] = 0.473000; ThDCRho08HyperKLow[5] = ThDCRho08HyperKXSec[5]*0.85; ThDCRho08HyperKHigh[5] = ThDCRho08HyperKXSec[5]*1.15; - ThDCRho08HyperKMass[6] = 370; ThDCRho08HyperKXSec[6] = 0.48288105; ThDCRho08HyperKLow[6] = ThDCRho08HyperKXSec[6]*0.85; ThDCRho08HyperKHigh[6] = ThDCRho08HyperKXSec[6]*1.15; - ThDCRho08HyperKMass[7] = 390; ThDCRho08HyperKXSec[7] = 0.47132496; ThDCRho08HyperKLow[7] = ThDCRho08HyperKXSec[7]*0.85; ThDCRho08HyperKHigh[7] = ThDCRho08HyperKXSec[7]*1.15; - ThDCRho08HyperKMass[8] = 395; ThDCRho08HyperKXSec[8] = 0.420000; ThDCRho08HyperKLow[8] = ThDCRho08HyperKXSec[8]*0.85; ThDCRho08HyperKHigh[8] = ThDCRho08HyperKXSec[8]*1.15; - ThDCRho08HyperKMass[9] = 400; ThDCRho08HyperKXSec[9] = 0.473000; ThDCRho08HyperKLow[9] = ThDCRho08HyperKXSec[9]*0.85; ThDCRho08HyperKHigh[9] = ThDCRho08HyperKXSec[9]*1.15; - ThDCRho08HyperKMass[10] = 410; ThDCRho08HyperKXSec[10] = 0.0060812129; ThDCRho08HyperKLow[10] = ThDCRho08HyperKXSec[10]*0.85; ThDCRho08HyperKHigh[10] = ThDCRho08HyperKXSec[10]*1.15; - ThDCRho08HyperKMass[11] = 420; ThDCRho08HyperKXSec[11] = 0.0035; ThDCRho08HyperKLow[11] = ThDCRho08HyperKXSec[11]*0.85; ThDCRho08HyperKHigh[11] = ThDCRho08HyperKXSec[11]*1.15; - ThDCRho08HyperKMass[12] = 500; ThDCRho08HyperKXSec[12] = 0.0002849; ThDCRho08HyperKLow[12] = ThDCRho08HyperKXSec[12]*0.85; ThDCRho08HyperKHigh[12] = ThDCRho08HyperKXSec[12]*1.15; - TCutG* DCRho08HyperKXSecErr = GetErrorBand("DCRho08HyperKErr", ThDCRho08HyperKN,ThDCRho08HyperKMass,ThDCRho08HyperKLow,ThDCRho08HyperKHigh); - - int ThDCRho12HyperKN = 12; double ThDCRho12HyperKMass [100]; double ThDCRho12HyperKXSec [100]; double ThDCRho12HyperKLow [100]; double ThDCRho12HyperKHigh [100]; - ThDCRho12HyperKMass[0] = 100; ThDCRho12HyperKXSec[0] = 0.8339415992; ThDCRho12HyperKLow[0] = ThDCRho12HyperKXSec[0]*0.85; ThDCRho12HyperKHigh[0] = ThDCRho12HyperKXSec[0]*1.15; - ThDCRho12HyperKMass[1] = 182; ThDCRho12HyperKXSec[1] = 0.168096952140; ThDCRho12HyperKLow[1] = ThDCRho12HyperKXSec[1]*0.85; ThDCRho12HyperKHigh[1] = ThDCRho12HyperKXSec[1]*1.15; - ThDCRho12HyperKMass[2] = 302; ThDCRho12HyperKXSec[2] = 0.079554948387; ThDCRho12HyperKLow[2] = ThDCRho12HyperKXSec[2]*0.85; ThDCRho12HyperKHigh[2] = ThDCRho12HyperKXSec[2]*1.15; - ThDCRho12HyperKMass[3] = 500; ThDCRho12HyperKXSec[3] = 0.063996737; ThDCRho12HyperKLow[3] = ThDCRho12HyperKXSec[3]*0.85; ThDCRho12HyperKHigh[3] = ThDCRho12HyperKXSec[3]*1.15; - ThDCRho12HyperKMass[4] = 530; ThDCRho12HyperKXSec[4] = 0.064943882; ThDCRho12HyperKLow[4] = ThDCRho12HyperKXSec[4]*0.85; ThDCRho12HyperKHigh[4] = ThDCRho12HyperKXSec[4]*1.15; - ThDCRho12HyperKMass[5] = 570; ThDCRho12HyperKXSec[5] = 0.0662920530; ThDCRho12HyperKLow[5] = ThDCRho12HyperKXSec[5]*0.85; ThDCRho12HyperKHigh[5] = ThDCRho12HyperKXSec[5]*1.15; - ThDCRho12HyperKMass[6] = 590; ThDCRho12HyperKXSec[6] = 0.060748383; ThDCRho12HyperKLow[6] = ThDCRho12HyperKXSec[6]*0.85; ThDCRho12HyperKHigh[6] = ThDCRho12HyperKXSec[6]*1.15; - ThDCRho12HyperKMass[7] = 595; ThDCRho12HyperKXSec[7] = 0.04968409; ThDCRho12HyperKLow[7] = ThDCRho12HyperKXSec[7]*0.85; ThDCRho12HyperKHigh[7] = ThDCRho12HyperKXSec[7]*1.15; - ThDCRho12HyperKMass[8] = 600; ThDCRho12HyperKXSec[8] = 0.0026232721237; ThDCRho12HyperKLow[8] = ThDCRho12HyperKXSec[8]*0.85; ThDCRho12HyperKHigh[8] = ThDCRho12HyperKXSec[8]*1.15; - ThDCRho12HyperKMass[9] = 610; ThDCRho12HyperKXSec[9] = 0.00127431; ThDCRho12HyperKLow[9] = ThDCRho12HyperKXSec[9]*0.85; ThDCRho12HyperKHigh[9] = ThDCRho12HyperKXSec[9]*1.15; - ThDCRho12HyperKMass[10] = 620; ThDCRho12HyperKXSec[10] = 0.00056965104319; ThDCRho12HyperKLow[10] = ThDCRho12HyperKXSec[10]*0.85; ThDCRho12HyperKHigh[10] = ThDCRho12HyperKXSec[10]*1.15; - ThDCRho12HyperKMass[11] = 700; ThDCRho12HyperKXSec[11] = 0.00006122886211; ThDCRho12HyperKLow[11] = ThDCRho12HyperKXSec[11]*0.85; ThDCRho12HyperKHigh[11] = ThDCRho12HyperKXSec[11]*1.15; - TCutG* DCRho12HyperKXSecErr = GetErrorBand("DCRho12HyperKErr", ThDCRho12HyperKN,ThDCRho12HyperKMass,ThDCRho12HyperKLow,ThDCRho12HyperKHigh); - - int ThDCRho16HyperKN = 12; double ThDCRho16HyperKMass [100]; double ThDCRho16HyperKXSec [100]; double ThDCRho16HyperKLow [100]; double ThDCRho16HyperKHigh [100]; - ThDCRho16HyperKMass[0] = 100; ThDCRho16HyperKXSec[0] = 0.711518686800; ThDCRho16HyperKLow[0] = ThDCRho16HyperKXSec[0]*0.85; ThDCRho16HyperKHigh[0] = ThDCRho16HyperKXSec[0]*1.15; - ThDCRho16HyperKMass[1] = 182; ThDCRho16HyperKXSec[1] = 0.089726059780; ThDCRho16HyperKLow[1] = ThDCRho16HyperKXSec[1]*0.85; ThDCRho16HyperKHigh[1] = ThDCRho16HyperKXSec[1]*1.15; - ThDCRho16HyperKMass[2] = 302; ThDCRho16HyperKXSec[2] = 0.019769637301; ThDCRho16HyperKLow[2] = ThDCRho16HyperKXSec[2]*0.85; ThDCRho16HyperKHigh[2] = ThDCRho16HyperKXSec[2]*1.15; - ThDCRho16HyperKMass[3] = 500; ThDCRho16HyperKXSec[3] = 0.0063302286576; ThDCRho16HyperKLow[3] = ThDCRho16HyperKXSec[3]*0.85; ThDCRho16HyperKHigh[3] = ThDCRho16HyperKXSec[3]*1.15; - ThDCRho16HyperKMass[4] = 700; ThDCRho16HyperKXSec[4] = 0.002536779850; ThDCRho16HyperKLow[4] = ThDCRho16HyperKXSec[4]*0.85; ThDCRho16HyperKHigh[4] = ThDCRho16HyperKXSec[4]*1.15; - ThDCRho16HyperKMass[5] = 730; ThDCRho16HyperKXSec[5] = 0.00213454921; ThDCRho16HyperKLow[5] = ThDCRho16HyperKXSec[5]*0.85; ThDCRho16HyperKHigh[5] = ThDCRho16HyperKXSec[5]*1.15; - ThDCRho16HyperKMass[6] = 770; ThDCRho16HyperKXSec[6] = 0.001737551; ThDCRho16HyperKLow[6] = ThDCRho16HyperKXSec[6]*0.85; ThDCRho16HyperKHigh[6] = ThDCRho16HyperKXSec[6]*1.15; - ThDCRho16HyperKMass[7] = 790; ThDCRho16HyperKXSec[7] =0.00161578593 ; ThDCRho16HyperKLow[7] = ThDCRho16HyperKXSec[7]*0.85; ThDCRho16HyperKHigh[7] = ThDCRho16HyperKXSec[7]*1.15; - ThDCRho16HyperKMass[8] = 795; ThDCRho16HyperKXSec[8] = 0.00153513713; ThDCRho16HyperKLow[8] = ThDCRho16HyperKXSec[8]*0.85; ThDCRho16HyperKHigh[8] = ThDCRho16HyperKXSec[8]*1.15; - ThDCRho16HyperKMass[9] = 800; ThDCRho16HyperKXSec[9] = 0.000256086965; ThDCRho16HyperKLow[9] = ThDCRho16HyperKXSec[9]*0.85; ThDCRho16HyperKHigh[9] = ThDCRho16HyperKXSec[9]*1.15; - ThDCRho16HyperKMass[10] = 820; ThDCRho16HyperKXSec[10] = 0.000097929923655; ThDCRho16HyperKLow[10] = ThDCRho16HyperKXSec[10]*0.85; ThDCRho16HyperKHigh[10] = ThDCRho16HyperKXSec[10]*1.15; - ThDCRho16HyperKMass[11] = 900; ThDCRho16HyperKXSec[11] = 0.000013146066; ThDCRho16HyperKLow[11] = ThDCRho16HyperKXSec[11]*0.85; ThDCRho16HyperKHigh[11] = ThDCRho16HyperKXSec[11]*1.15; - TCutG* DCRho16HyperKXSecErr = GetErrorBand("DCRho16HyperKErr", ThDCRho16HyperKN,ThDCRho16HyperKMass,ThDCRho16HyperKLow,ThDCRho16HyperKHigh); - - - -/* - fprintf(pFile,"-----------------------\n0%% TK ONLY \n-------------------------\n"); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Gluino2C \n", FindIntersection(Tk_Obs_Gluino2C, GluinoXSecLow, 300, 1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF0 \n", FindIntersection(Tk_Obs_GluinoF0, GluinoXSecLow, 300, 1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 \n", FindIntersection(Tk_Obs_GluinoF1, GluinoXSecLow, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 Z2\n",FindIntersection(Tk_Obs_GluinoZF1, GluinoXSecLow, 600,800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF5 \n", FindIntersection(Tk_Obs_GluinoF5, GluinoXSecLow, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF0\n", FindIntersection(Tk_Obs_GluinoNF0, GluinoXSecLow, 300, 1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF1\n", FindIntersection(Tk_Obs_GluinoNF1, GluinoXSecLow, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF5\n", FindIntersection(Tk_Obs_GluinoNF5, GluinoXSecLow, 300, 1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop2C \n", FindIntersection(Tk_Obs_Stop2C , StopXSecLow , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop \n", FindIntersection(Tk_Obs_Stop , StopXSecLow , 130, 800, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop Z2 \n", FindIntersection(Tk_Obs_StopZ , StopXSecLow , 300, 500, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for StopN \n", FindIntersection(Tk_Obs_StopN , StopXSecLow , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GMStau \n", FindIntersection(Tk_Obs_GMStau , GMStauXSec , 100, 494, 1, 0.15)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for PPStau \n", FindIntersection(Tk_Obs_PPStau , PPStauXSec , 100, 308, 1, 0.15)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCStau \n", FindIntersection(Tk_Obs_DCStau , DCStauXSec , 121, 302, 1, 0.15)); - - fprintf(pFile,"-----------------------\n0%% TK TOF \n-------------------------\n"); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Gluino2C \n", FindIntersection(Mu_Obs_Gluino2C, GluinoXSecLow, 300, 1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF0 \n", FindIntersection(Mu_Obs_GluinoF0, GluinoXSecLow, 300, 1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 \n", FindIntersection(Mu_Obs_GluinoF1, GluinoXSecLow, 300, 1100, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 Z2\n",FindIntersection(Mu_Obs_GluinoZF1, GluinoXSecLow, 600,800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF5 \n", FindIntersection(Mu_Obs_GluinoF5, GluinoXSecLow, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF0\n", FindIntersection(Mu_Obs_GluinoNF0, GluinoXSecLow, 300, 1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF1\n", FindIntersection(Mu_Obs_GluinoNF1, GluinoXSecLow, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF5\n", FindIntersection(Mu_Obs_GluinoNF5, GluinoXSecLow, 300, 1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop2C \n", FindIntersection(Mu_Obs_Stop2C , StopXSecLow , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop \n", FindIntersection(Mu_Obs_Stop , StopXSecLow , 130, 800, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop Z2 \n", FindIntersection(Mu_Obs_StopZ , StopXSecLow , 300, 500, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for StopN \n", FindIntersection(Mu_Obs_StopN , StopXSecLow , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GMStau \n", FindIntersection(Mu_Obs_GMStau , GMStauXSec , 100, 494, 1, 0.15)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for PPStau \n", FindIntersection(Mu_Obs_PPStau , PPStauXSec , 100, 308, 1, 0.15)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCStau \n", FindIntersection(Mu_Obs_DCStau , DCStauXSec , 121, 302, 1, 0.15)); - -*/ - fprintf(pFile,"-----------------------\nNO TH UNCERTAINTY ACCOUNTED FOR \n-------------------------\n"); - - fprintf(pFile,"-----------------------\n0%% TK ONLY \n-------------------------\n"); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Gluino2C \n", FindIntersection(Tk_Obs_Gluino2C, GluinoXSec, 300, 900, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF0 \n", FindIntersection(Tk_Obs_GluinoF0, GluinoXSec, 300, 900, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 \n", FindIntersection(Tk_Obs_GluinoF1, GluinoXSec, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 Z2\n",FindIntersection(Tk_Obs_GluinoZF1, GluinoXSec, 600,800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF5 \n", FindIntersection(Tk_Obs_GluinoF5, GluinoXSec, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF0\n", FindIntersection(Tk_Obs_GluinoNF0, GluinoXSec, 300, 900, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF1\n", FindIntersection(Tk_Obs_GluinoNF1, GluinoXSec, 300, 1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF5\n", FindIntersection(Tk_Obs_GluinoNF5, GluinoXSec, 300, 900, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop2C \n", FindIntersection(Tk_Obs_Stop2C , StopXSec , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop \n", FindIntersection(Tk_Obs_Stop , StopXSec , 130, 800, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop Z2 \n", FindIntersection(Tk_Obs_StopZ , StopXSec , 300, 500, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for StopN \n", FindIntersection(Tk_Obs_StopN , StopXSec , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GMStau \n", FindIntersection(Tk_Obs_GMStau , GMStauXSec, 100, 494, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for PPStau \n", FindIntersection(Tk_Obs_PPStau , PPStauXSec, 100, 308, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho08HyperK \n", FindIntersection(Tk_Obs_DCRho08HyperK , DCRho08HyperKXSec, 100, 500, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho12HyperK \n", FindIntersection(Tk_Obs_DCRho12HyperK , DCRho12HyperKXSec, 100, 700, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho16HyperK \n", FindIntersection(Tk_Obs_DCRho16HyperK , DCRho16HyperKXSec, 100, 900, 1, 0.0)); - - - - - fprintf(pFile,"-----------------------\n0%% TK TOF \n-------------------------\n"); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Gluino2C \n", FindIntersection(Mu_Obs_Gluino2C, GluinoXSec, 300,1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF0 \n", FindIntersection(Mu_Obs_GluinoF0, GluinoXSec, 300,1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 \n", FindIntersection(Mu_Obs_GluinoF1, GluinoXSec, 300,1100, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF1 Z2\n",FindIntersection(Mu_Obs_GluinoZF1, GluinoXSec, 600,800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoF5 \n", FindIntersection(Mu_Obs_GluinoF5, GluinoXSec, 300,1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF0\n", FindIntersection(Mu_Obs_GluinoNF0, GluinoXSec, 300,1000, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF1\n", FindIntersection(Mu_Obs_GluinoNF1, GluinoXSec, 300,1100, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GluinoNF5\n", FindIntersection(Mu_Obs_GluinoNF5, GluinoXSec, 300,1000, 1, 0.00)); -// fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop2C \n", FindIntersection(Mu_Obs_Stop2C , StopXSec , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop \n", FindIntersection(Mu_Obs_Stop , StopXSec , 130, 800, 1, 0.00)); - //fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for Stop Z2 \n", FindIntersection(Mu_Obs_StopZ , StopXSec , 300, 500, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for StopN \n", FindIntersection(Mu_Obs_StopN , StopXSec , 130, 800, 1, 0.00)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for GMStau \n", FindIntersection(Mu_Obs_GMStau , GMStauXSec, 100, 494, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for PPStau \n", FindIntersection(Mu_Obs_PPStau , PPStauXSec, 100, 308, 1, 0.0)); - - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho08HyperK \n", FindIntersection(Mu_Obs_DCRho08HyperK , DCRho08HyperKXSec, 100, 500, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho12HyperK \n", FindIntersection(Mu_Obs_DCRho12HyperK , DCRho12HyperKXSec, 100, 700, 1, 0.0)); - fprintf(pFile,"MASS EXCLUDED UP TO %8.3fGeV for DCRho16HyperK \n", FindIntersection(Mu_Obs_DCRho16HyperK , DCRho16HyperKXSec, 100, 900, 1, 0.0)); - - fclose(pFile); - if(syst!="")return; - - - GluinoXSec ->SetLineColor(4); GluinoXSec ->SetMarkerColor(4); GluinoXSec ->SetLineWidth(1); GluinoXSec ->SetLineStyle(3); GluinoXSec ->SetMarkerStyle(1); - Mu_Obs_GluinoF1 ->SetLineColor(4); Mu_Obs_GluinoF1 ->SetMarkerColor(4); Mu_Obs_GluinoF1 ->SetLineWidth(2); Mu_Obs_GluinoF1 ->SetLineStyle(1); Mu_Obs_GluinoF1 ->SetMarkerStyle(22); - Mu_Obs_GluinoF5 ->SetLineColor(4); Mu_Obs_GluinoF5 ->SetMarkerColor(4); Mu_Obs_GluinoF5 ->SetLineWidth(2); Mu_Obs_GluinoF5 ->SetLineStyle(1); Mu_Obs_GluinoF5 ->SetMarkerStyle(23); - Mu_Obs_GluinoNF1->SetLineColor(4); Mu_Obs_GluinoNF1->SetMarkerColor(4); Mu_Obs_GluinoNF1->SetLineWidth(2); Mu_Obs_GluinoNF1->SetLineStyle(1); Mu_Obs_GluinoNF1->SetMarkerStyle(26); - Tk_Obs_GluinoF1 ->SetLineColor(4); Tk_Obs_GluinoF1 ->SetMarkerColor(4); Tk_Obs_GluinoF1 ->SetLineWidth(2); Tk_Obs_GluinoF1 ->SetLineStyle(1); Tk_Obs_GluinoF1 ->SetMarkerStyle(22); - Tk_Obs_GluinoF5 ->SetLineColor(4); Tk_Obs_GluinoF5 ->SetMarkerColor(4); Tk_Obs_GluinoF5 ->SetLineWidth(2); Tk_Obs_GluinoF5 ->SetLineStyle(1); Tk_Obs_GluinoF5 ->SetMarkerStyle(23); - Tk_Obs_GluinoNF1->SetLineColor(4); Tk_Obs_GluinoNF1->SetMarkerColor(4); Tk_Obs_GluinoNF1->SetLineWidth(2); Tk_Obs_GluinoNF1->SetLineStyle(1); Tk_Obs_GluinoNF1->SetMarkerStyle(26); - StopXSec ->SetLineColor(2); StopXSec ->SetMarkerColor(2); StopXSec ->SetLineWidth(1); StopXSec ->SetLineStyle(2); StopXSec ->SetMarkerStyle(1); - Mu_Obs_Stop ->SetLineColor(2); Mu_Obs_Stop ->SetMarkerColor(2); Mu_Obs_Stop ->SetLineWidth(2); Mu_Obs_Stop ->SetLineStyle(1); Mu_Obs_Stop ->SetMarkerStyle(21); - Mu_Obs_StopN ->SetLineColor(2); Mu_Obs_StopN ->SetMarkerColor(2); Mu_Obs_StopN ->SetLineWidth(2); Mu_Obs_StopN ->SetLineStyle(1); Mu_Obs_StopN ->SetMarkerStyle(25); - Tk_Obs_Stop ->SetLineColor(2); Tk_Obs_Stop ->SetMarkerColor(2); Tk_Obs_Stop ->SetLineWidth(2); Tk_Obs_Stop ->SetLineStyle(1); Tk_Obs_Stop ->SetMarkerStyle(21); - Tk_Obs_StopN ->SetLineColor(2); Tk_Obs_StopN ->SetMarkerColor(2); Tk_Obs_StopN ->SetLineWidth(2); Tk_Obs_StopN ->SetLineStyle(1); Tk_Obs_StopN ->SetMarkerStyle(25); - GMStauXSec ->SetLineColor(1); GMStauXSec ->SetMarkerColor(1); GMStauXSec ->SetLineWidth(1); GMStauXSec ->SetLineStyle(1); GMStauXSec ->SetMarkerStyle(1); - PPStauXSec ->SetLineColor(6); PPStauXSec ->SetMarkerColor(6); PPStauXSec ->SetLineWidth(1); PPStauXSec ->SetLineStyle(4); PPStauXSec ->SetMarkerStyle(1); - DCRho08HyperKXSec ->SetLineColor(4); DCRho08HyperKXSec ->SetMarkerColor(4); DCRho08HyperKXSec ->SetLineWidth(1); DCRho08HyperKXSec ->SetLineStyle(3); DCRho08HyperKXSec ->SetMarkerStyle(1); - DCRho12HyperKXSec ->SetLineColor(2); DCRho12HyperKXSec ->SetMarkerColor(2); DCRho12HyperKXSec ->SetLineWidth(1); DCRho12HyperKXSec ->SetLineStyle(2); DCRho12HyperKXSec ->SetMarkerStyle(1); - DCRho16HyperKXSec ->SetLineColor(1); DCRho16HyperKXSec ->SetMarkerColor(1); DCRho16HyperKXSec ->SetLineWidth(1); DCRho16HyperKXSec ->SetLineStyle(1); DCRho16HyperKXSec ->SetMarkerStyle(1); - - - Mu_Obs_GMStau ->SetLineColor(1); Mu_Obs_GMStau ->SetMarkerColor(1); Mu_Obs_GMStau ->SetLineWidth(2); Mu_Obs_GMStau ->SetLineStyle(1); Mu_Obs_GMStau ->SetMarkerStyle(23); - Mu_Obs_PPStau ->SetLineColor(6); Mu_Obs_PPStau ->SetMarkerColor(6); Mu_Obs_PPStau ->SetLineWidth(2); Mu_Obs_PPStau ->SetLineStyle(1); Mu_Obs_PPStau ->SetMarkerStyle(23); - Mu_Obs_DCRho08HyperK ->SetLineColor(4); Mu_Obs_DCRho08HyperK ->SetMarkerColor(4); Mu_Obs_DCRho08HyperK ->SetLineWidth(2); Mu_Obs_DCRho08HyperK ->SetLineStyle(1); Mu_Obs_DCRho08HyperK ->SetMarkerStyle(22); - Mu_Obs_DCRho12HyperK ->SetLineColor(2); Mu_Obs_DCRho12HyperK ->SetMarkerColor(2); Mu_Obs_DCRho12HyperK ->SetLineWidth(2); Mu_Obs_DCRho12HyperK ->SetLineStyle(1); Mu_Obs_DCRho12HyperK ->SetMarkerStyle(23); - Mu_Obs_DCRho16HyperK ->SetLineColor(1); Mu_Obs_DCRho16HyperK ->SetMarkerColor(1); Mu_Obs_DCRho16HyperK ->SetLineWidth(2); Mu_Obs_DCRho16HyperK ->SetLineStyle(1); Mu_Obs_DCRho16HyperK ->SetMarkerStyle(26); - - - Tk_Obs_GMStau ->SetLineColor(1); Tk_Obs_GMStau ->SetMarkerColor(1); Tk_Obs_GMStau ->SetLineWidth(2); Tk_Obs_GMStau ->SetLineStyle(1); Tk_Obs_GMStau ->SetMarkerStyle(20); - Tk_Obs_PPStau ->SetLineColor(6); Tk_Obs_PPStau ->SetMarkerColor(6); Tk_Obs_PPStau ->SetLineWidth(2); Tk_Obs_PPStau ->SetLineStyle(1); Tk_Obs_PPStau ->SetMarkerStyle(20); - Tk_Obs_DCRho08HyperK ->SetLineColor(4); Tk_Obs_DCRho08HyperK ->SetMarkerColor(4); Tk_Obs_DCRho08HyperK ->SetLineWidth(2); Tk_Obs_DCRho08HyperK ->SetLineStyle(1); Tk_Obs_DCRho08HyperK ->SetMarkerStyle(22); - Tk_Obs_DCRho12HyperK ->SetLineColor(2); Tk_Obs_DCRho12HyperK ->SetMarkerColor(2); Tk_Obs_DCRho12HyperK ->SetLineWidth(2); Tk_Obs_DCRho12HyperK ->SetLineStyle(1); Tk_Obs_DCRho12HyperK ->SetMarkerStyle(23); - Tk_Obs_DCRho16HyperK ->SetLineColor(1); Tk_Obs_DCRho16HyperK ->SetMarkerColor(1); Tk_Obs_DCRho16HyperK ->SetLineWidth(2); Tk_Obs_DCRho16HyperK ->SetLineStyle(1); Tk_Obs_DCRho16HyperK ->SetMarkerStyle(26); - - - - c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MGMu = new TMultiGraph(); - MGMu->Add(GluinoXSec ,"L"); - MGMu->Add(StopXSec ,"L"); - MGMu->Add(GMStauXSec ,"L"); - MGMu->Add(PPStauXSec ,"L"); - MGMu->Add(Mu_Obs_GluinoF1 ,"LP"); - MGMu->Add(Mu_Obs_GluinoF5 ,"LP"); -// MGMu->Add(Mu_Obs_GluinoNF1 ,"LP"); - MGMu->Add(Mu_Obs_Stop ,"LP"); -// MGMu->Add(Mu_Obs_StopN ,"LP"); - MGMu->Add(Mu_Obs_GMStau ,"LP"); - MGMu->Add(Mu_Obs_PPStau ,"LP"); - MGMu->Draw("A"); - GluinoXSecErr->Draw("f"); - StopXSecErr ->Draw("f"); - StauXSecErr ->Draw("f"); - PPStauXSecErr ->Draw("f"); - MGMu->Draw("same"); - MGMu->SetTitle(""); - MGMu->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MGMu->GetYaxis()->SetTitle("#sigma (pb)"); - MGMu->GetYaxis()->SetTitleOffset(1.70); - MGMu->GetYaxis()->SetRangeUser(PlotMinScale,PlotMaxScale); - - DrawPreliminary(IntegratedLuminosity); - TLegend* LEGMu = new TLegend(0.44,0.65,0.67,0.90); -// LEGMu->SetHeader("95% C.L. Limits"); - LEGMu->SetHeader("Tk + TOF"); - LEGMu->SetFillColor(0); - LEGMu->SetBorderSize(0); - LEGMu->AddEntry(Mu_Obs_GluinoF5 , "gluino; 50% #tilde{g}g" ,"LP"); - LEGMu->AddEntry(Mu_Obs_GluinoF1 , "gluino; 10% #tilde{g}g" ,"LP"); -// LEGMu->AddEntry(Mu_Obs_GluinoNF1, "gluino; 10% #tilde{g}g; ch. suppr.","LP"); - LEGMu->AddEntry(Mu_Obs_Stop , "stop" ,"LP"); -// LEGMu->AddEntry(Mu_Obs_StopN , "stop; ch. suppr.","LP"); - LEGMu->AddEntry(Mu_Obs_PPStau , "Pair Prod. stau" ,"LP"); - LEGMu->AddEntry(Mu_Obs_GMStau , "GMSB stau" ,"LP"); - LEGMu->Draw(); - - TLegend* LEGTh = new TLegend(0.14,0.73,0.44,0.93); - LEGTh->SetHeader("Theoretical Prediction"); - LEGTh->SetFillColor(0); - LEGTh->SetBorderSize(0); - TGraph* GlThLeg = (TGraph*) GluinoXSec->Clone("GluinoThLeg"); - GlThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGTh->AddEntry(GlThLeg, "gluino (NLO+NLL)" ,"LF"); - TGraph* StThLeg = (TGraph*) StopXSec->Clone("StopThLeg"); - StThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGTh->AddEntry(StThLeg ,"stop (NLO+NLL)" ,"LF"); - - TGraph* PPStauThLeg = (TGraph*) PPStauXSec->Clone("PPStauThLeg"); - PPStauThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGTh->AddEntry(PPStauThLeg ,"Pair Prod. stau (NLO)" ,"LF"); - TGraph* StauThLeg = (TGraph*) GMStauXSec->Clone("StauThLeg"); - StauThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGTh->AddEntry(StauThLeg ,"GMSB stau (NLO)" ,"LF"); - - LEGTh->Draw(); - -// c1->SetGridx(true); -// c1->SetGridy(true); - SaveCanvas(c1, outpath, string("MuExclusion")); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("MuExclusionLog")); - delete c1; - - - c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MGTk = new TMultiGraph(); - MGTk->Add(GluinoXSec ,"L"); - MGTk->Add(StopXSec ,"L"); - MGTk->Add(GMStauXSec ,"L"); - MGTk->Add(PPStauXSec ,"L"); - MGTk->Add(Tk_Obs_GluinoF1 ,"LP"); - MGTk->Add(Tk_Obs_GluinoF5 ,"LP"); - MGTk->Add(Tk_Obs_GluinoNF1 ,"LP"); - MGTk->Add(Tk_Obs_Stop ,"LP"); - MGTk->Add(Tk_Obs_StopN ,"LP"); - MGTk->Add(Tk_Obs_GMStau ,"LP"); - MGTk->Add(Tk_Obs_PPStau ,"LP"); - MGTk->Draw("A"); - GluinoXSecErr->Draw("f"); - StopXSecErr ->Draw("f"); - StauXSecErr ->Draw("f"); - PPStauXSecErr ->Draw("f"); - MGTk->Draw("same"); - MGTk->SetTitle(""); - MGTk->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MGTk->GetYaxis()->SetTitle("#sigma (pb)"); - MGTk->GetYaxis()->SetTitleOffset(1.70); - MGTk->GetYaxis()->SetRangeUser(PlotMinScale,PlotMaxScale); - - DrawPreliminary(IntegratedLuminosity); - - TLegend* LEGTk = new TLegend(0.44,0.58,0.82,0.9); -// LEGTk->SetHeader("95% C.L. Limits"); - LEGTk->SetHeader("Tracker - Only"); - LEGTk->SetFillColor(0); - LEGTk->SetBorderSize(0); - LEGTk->AddEntry(Tk_Obs_GluinoF5 , "gluino; 50% #tilde{g}g" ,"LP"); - LEGTk->AddEntry(Tk_Obs_GluinoF1 , "gluino; 10% #tilde{g}g" ,"LP"); - LEGTk->AddEntry(Tk_Obs_GluinoNF1, "gluino; 10% #tilde{g}g; ch. suppr.","LP"); - LEGTk->AddEntry(Tk_Obs_Stop , "stop" ,"LP"); - LEGTk->AddEntry(Tk_Obs_StopN , "stop; ch. suppr.","LP"); - LEGTk->AddEntry(Tk_Obs_PPStau , "Pair Prod. stau" ,"LP"); - LEGTk->AddEntry(Tk_Obs_GMStau , "GMSB stau" ,"LP"); - LEGTk->Draw(); - - LEGTh->Draw(); - -// c1->SetGridx(true); -// c1->SetGridy(true); - SaveCanvas(c1, outpath, string("TkExclusion")); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("TkExclusionLog")); - delete c1; - - c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MGDCMu = new TMultiGraph(); - MGDCMu->Add(DCRho08HyperKXSec ,"L"); - MGDCMu->Add(Mu_Obs_DCRho08HyperK ,"LP"); - MGDCMu->Add(DCRho12HyperKXSec ,"L"); - MGDCMu->Add(Mu_Obs_DCRho12HyperK ,"LP"); - MGDCMu->Add(DCRho16HyperKXSec ,"L"); - MGDCMu->Add(Mu_Obs_DCRho16HyperK ,"LP"); - MGDCMu->Draw("A"); -// DCRho08HyperKXSecErr ->Draw("f"); -// DCRho12HyperKXSecErr ->Draw("f"); -// DCRho16HyperKXSecErr ->Draw("f"); - MGDCMu->Draw("same"); - MGDCMu->SetTitle(""); - MGDCMu->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MGDCMu->GetYaxis()->SetTitle("#sigma (pb)"); - MGDCMu->GetYaxis()->SetTitleOffset(1.70); - MGDCMu->GetYaxis()->SetRangeUser(PlotMinScale,PlotMaxScale); - - DrawPreliminary(IntegratedLuminosity); - - TLegend* LEGDCMu = new TLegend(0.50,0.65,0.80,0.90); - LEGDCMu->SetHeader("Tk + TOF"); - LEGDCMu->SetFillColor(0); - LEGDCMu->SetBorderSize(0); - LEGDCMu->AddEntry(Mu_Obs_DCRho08HyperK , "Hyperk #tilde{#rho} = 0.8 TeV" ,"LP"); - LEGDCMu->AddEntry(Mu_Obs_DCRho12HyperK , "Hyperk #tilde{#rho} = 1.2 TeV" ,"LP"); - LEGDCMu->AddEntry(Mu_Obs_DCRho16HyperK , "Hyperk #tilde{#rho} = 1.6 TeV" ,"LP"); - LEGDCMu->Draw(); - - TLegend* LEGDCTh = new TLegend(0.15,0.73,0.46,0.93); - LEGDCTh->SetHeader("Theoretical Prediction"); - LEGDCTh->SetFillColor(0); - LEGDCTh->SetBorderSize(0); - TGraph* DCRho08HyperKThLeg = (TGraph*) DCRho08HyperKXSec->Clone("DCRho08HyperKThLeg"); - DCRho08HyperKThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGDCTh->AddEntry(DCRho08HyperKThLeg ,"Hyperk #tilde{#rho} = 0.8 TeV (LO)" ,"L"); - TGraph* DCRho12HyperKThLeg = (TGraph*) DCRho12HyperKXSec->Clone("DCRho12HyperKThLeg"); - DCRho12HyperKThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGDCTh->AddEntry(DCRho12HyperKThLeg ,"Hyperk #tilde{#rho} = 1.2 TeV (LO)" ,"L"); - TGraph* DCRho16HyperKThLeg = (TGraph*) DCRho16HyperKXSec->Clone("DCRho16HyperKThLeg"); - DCRho16HyperKThLeg->SetFillColor(GluinoXSecErr->GetFillColor()); - LEGDCTh->AddEntry(DCRho16HyperKThLeg ,"Hyperk #tilde{#rho} = 1.6 TeV (LO)" ,"L"); - LEGDCTh->Draw(); - SaveCanvas(c1, outpath, string("MuDCExclusion")); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("MuDCExclusionLog")); - delete c1; - - c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MGDCTk = new TMultiGraph(); - MGDCTk->Add(DCRho08HyperKXSec ,"L"); - MGDCTk->Add(Tk_Obs_DCRho08HyperK ,"LP"); - MGDCTk->Add(DCRho12HyperKXSec ,"L"); - MGDCTk->Add(Tk_Obs_DCRho12HyperK ,"LP"); - MGDCTk->Add(DCRho16HyperKXSec ,"L"); - MGDCTk->Add(Tk_Obs_DCRho16HyperK ,"LP"); - MGDCTk->Draw("A"); -// DCRho08HyperKXSecErr ->Draw("f"); -// DCRho12HyperKXSecErr ->Draw("f"); -// DCRho16HyperKXSecErr ->Draw("f"); - MGDCTk->Draw("same"); - MGDCTk->SetTitle(""); - MGDCTk->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MGDCTk->GetYaxis()->SetTitle("#sigma (pb)"); - MGDCTk->GetYaxis()->SetTitleOffset(1.70); - MGDCTk->GetYaxis()->SetRangeUser(PlotMinScale,PlotMaxScale); - DrawPreliminary(IntegratedLuminosity); - - TLegend* LEGDCTk = new TLegend(0.50,0.65,0.80,0.90); -// LEGDCTk->SetHeader("95% C.L. Limits"); - LEGDCTk->SetHeader("Tracker - Only"); - LEGDCTk->SetFillColor(0); - LEGDCTk->SetBorderSize(0); - LEGDCTk->AddEntry(Tk_Obs_DCRho08HyperK , "Hyperk #tilde{#rho} = 0.8 TeV" ,"LP"); - LEGDCTk->AddEntry(Tk_Obs_DCRho12HyperK , "Hyperk #tilde{#rho} = 1.2 TeV" ,"LP"); - LEGDCTk->AddEntry(Tk_Obs_DCRho16HyperK , "Hyperk #tilde{#rho} = 1.6 TeV" ,"LP"); - LEGDCTk->Draw(); - - LEGDCTh->Draw(); - - SaveCanvas(c1, outpath, string("TkDCExclusion")); - c1->SetLogy(true); - SaveCanvas(c1, outpath, string("TkDCExclusionLog")); - delete c1; - - - - return; -} - - -void CheckSignalUncertainty(FILE* pFile, FILE* talkFile, string InputPattern){ - - bool IsTkOnly = (InputPattern.find("Type0",0) Models; - Models.push_back("Gluino300_f1"); - Models.push_back("Gluino400_f1"); - Models.push_back("Gluino500_f1"); - Models.push_back("Gluino600_f1"); - Models.push_back("Gluino700_f1"); - Models.push_back("Gluino800_f1"); - Models.push_back("Gluino900_f1"); - Models.push_back("Gluino1000_f1"); - Models.push_back("Gluino1100_f1"); - Models.push_back("Gluino300_f5"); - Models.push_back("Gluino400_f5"); - Models.push_back("Gluino500_f5"); - Models.push_back("Gluino600_f5"); - Models.push_back("Gluino700_f5"); - Models.push_back("Gluino800_f5"); - Models.push_back("Gluino900_f5"); - Models.push_back("Gluino1000_f5"); - Models.push_back("Gluino1100_f5"); - Models.push_back("Gluino300N_f1"); - Models.push_back("Gluino400N_f1"); - Models.push_back("Gluino500N_f1"); - Models.push_back("Gluino600N_f1"); - Models.push_back("Gluino700N_f1"); - Models.push_back("Gluino800N_f1"); - Models.push_back("Gluino900N_f1"); - Models.push_back("Gluino1000N_f1"); - Models.push_back("Gluino1100N_f1"); - Models.push_back("Stop130"); - Models.push_back("Stop200"); - Models.push_back("Stop300"); - Models.push_back("Stop400"); - Models.push_back("Stop500"); - Models.push_back("Stop600"); - Models.push_back("Stop700"); - Models.push_back("Stop800"); - Models.push_back("Stop130N"); - Models.push_back("Stop200N"); - Models.push_back("Stop300N"); - Models.push_back("Stop400N"); - Models.push_back("Stop500N"); - Models.push_back("Stop600N"); - Models.push_back("Stop700N"); - Models.push_back("Stop800N"); - Models.push_back("GMStau100"); - Models.push_back("GMStau126"); - Models.push_back("GMStau156"); - Models.push_back("GMStau200"); - Models.push_back("GMStau247"); - Models.push_back("GMStau308"); - Models.push_back("GMStau370"); - Models.push_back("GMStau432"); - Models.push_back("GMStau494"); - Models.push_back("PPStau100"); - Models.push_back("PPStau126"); - Models.push_back("PPStau156"); - Models.push_back("PPStau200"); - Models.push_back("PPStau247"); - Models.push_back("PPStau308"); - Models.push_back("DCRho08HyperK100"); - Models.push_back("DCRho08HyperK121"); - Models.push_back("DCRho08HyperK182"); - Models.push_back("DCRho08HyperK242"); - Models.push_back("DCRho08HyperK302"); - Models.push_back("DCRho08HyperK350"); - Models.push_back("DCRho08HyperK370"); - Models.push_back("DCRho08HyperK390"); - Models.push_back("DCRho08HyperK395"); - Models.push_back("DCRho08HyperK400"); - Models.push_back("DCRho08HyperK410"); - Models.push_back("DCRho08HyperK420"); - Models.push_back("DCRho08HyperK500"); - Models.push_back("DCRho12HyperK100"); - Models.push_back("DCRho12HyperK182"); - Models.push_back("DCRho12HyperK302"); - Models.push_back("DCRho12HyperK500"); - Models.push_back("DCRho12HyperK530"); - Models.push_back("DCRho12HyperK570"); - Models.push_back("DCRho12HyperK590"); - Models.push_back("DCRho12HyperK595"); - Models.push_back("DCRho12HyperK600"); - Models.push_back("DCRho12HyperK610"); - Models.push_back("DCRho12HyperK620"); - Models.push_back("DCRho12HyperK700"); - Models.push_back("DCRho16HyperK100"); - Models.push_back("DCRho16HyperK182"); - Models.push_back("DCRho16HyperK302"); - Models.push_back("DCRho16HyperK500"); - Models.push_back("DCRho16HyperK700"); - Models.push_back("DCRho16HyperK730"); - Models.push_back("DCRho16HyperK770"); - Models.push_back("DCRho16HyperK790"); - Models.push_back("DCRho16HyperK795"); - Models.push_back("DCRho16HyperK800"); - Models.push_back("DCRho16HyperK820"); - Models.push_back("DCRho16HyperK900"); - - - if(IsTkOnly){ - fprintf(pFile, "%20s Eff --> PScale | EstimScale | DiscrimScale || TotalUncertainty\n","Model"); - fprintf(talkFile, "\\hline\n%20s & Eff & PScale & EstimScale & DiscrimScale & TotalUncertainty \\\\\n","Model"); - } - else { - fprintf(pFile, "%20s Eff --> PScale | EstimScale | DiscrimScale | TOFScale || TotalUncertainty\n","Model"); - fprintf(talkFile, "\\hline\n%20s & Eff & PScale & EstimScale & DiscrimScale & TOFScale & TotalUncertainty \\\\\n","Model"); - } - - for(unsigned int s=0;s %7.3f | %7.3f | %7.3f || %7.3f\n",+Models[s].c_str(), tmp.Eff, P/tmp.Eff, M/tmp.Eff, I/tmp.Eff, sqrt(P*P + I*I + M*M + T*T)/tmp.Eff); - - else if(!IsNeutral) fprintf(pFile, "%20s %7.3f --> %7.3f | %7.3f | %7.3f | %7.3f || %7.3f\n",+Models[s].c_str(), tmp.Eff, P/tmp.Eff, M/tmp.Eff, I/tmp.Eff, T/tmp.Eff, sqrt(P*P + I*I + M*M + T*T)/tmp.Eff); - - if(IsTkOnly && (IsStau || (int)tmp.Mass%200==0)) { - fprintf(talkFile, "\\hline\n%20s & %7.1f\\% & %7.1f\\% & %7.1f\\% & %7.1f\\% & %7.1f\\% \\\\\n",+Models[s].c_str(), 100.*tmp.Eff, 100.*P/tmp.Eff, 100.*M/tmp.Eff, 100.*I/tmp.Eff, 100.*sqrt(P*P + I*I + M*M + T*T)/tmp.Eff); - } - if(!IsTkOnly && !IsNeutral) fprintf(talkFile, "\\hline\n%20s & %7.1f\\% & %7.1f\\% & %7.1f\\% & %7.1f\\% & %7.1f\\% & %7.1f\\% \\\\\n",+Models[s].c_str(), 100.*tmp.Eff, 100.*P/tmp.Eff, 100.*M/tmp.Eff, 100.*I/tmp.Eff, 100.*T/tmp.Eff, 100.*sqrt(P*P + I*I + M*M + T*T)/tmp.Eff); - - } -} - - - -TGraph* MakePlot(FILE* pFile, FILE* talkFile, string InputPattern, string syst, string ModelName, int XSectionType, string Mass0, string Mass1, string Mass2, string Mass3, string Mass4, string Mass5, string Mass6, string Mass7, string Mass8, string Mass9,string Mass10, string Mass11, string Mass12, string Mass13){ - unsigned int N=0; - stAllInfo Infos[14]; - - if(Mass0!=""){Infos[0] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass0+".txt"); N=1;} - if(Mass1!=""){Infos[1] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass1+".txt"); N=2;} - if(Mass2!=""){Infos[2] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass2+".txt"); N=3;} - if(Mass3!=""){Infos[3] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass3+".txt"); N=4;} - if(Mass4!=""){Infos[4] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass4+".txt"); N=5;} - if(Mass5!=""){Infos[5] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass5+".txt"); N=6;} - if(Mass6!=""){Infos[6] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass6+".txt"); N=7;} - if(Mass7!=""){Infos[7] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass7+".txt"); N=8;} - if(Mass8!=""){Infos[8] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass8+".txt"); N=9;} - if(Mass9!=""){Infos[9] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass9+".txt"); N=10;} - if(Mass10!=""){Infos[10] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass10+".txt"); N=11;} - if(Mass11!=""){Infos[11] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass11+".txt"); N=12;} - if(Mass12!=""){Infos[12] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass12+".txt"); N=13;} - if(Mass13!=""){Infos[13] = stAllInfo(InputPattern+"/EXCLUSION" + syst + "/"+Mass13+".txt"); N=14;} - - double Mass [14];for(unsigned int i=0;i<14;i++){Mass [i]=Infos[i].Mass; } - double XSecTh [14];for(unsigned int i=0;i<14;i++){XSecTh [i]=Infos[i].XSec_Th; } - double XSecObs[14];for(unsigned int i=0;i<14;i++){XSecObs[i]=Infos[i].XSec_Obs;} - double XSecExp[14];for(unsigned int i=0;i<14;i++){XSecExp[i]=Infos[i].XSec_Exp;} - - - -/* - if(pFile){ - fprintf(pFile,"%40s",(ModelName + " mass (GeV/$c^2$)").c_str());for(unsigned int i=0;i0 && syst=="")for(unsigned int i=0;i Pt>%+6.1f & I>%+5.3f & TOF>%+4.3f & M>%3.0f--> NData=%2.0f NPred=%6.1E+-%6.1E NSign=%6.1E (Eff=%3.2f) Local Significance %3.2f\n",ModelName.c_str(),Infos[i].Mass,Infos[i].WP_Pt,Infos[i].WP_I,Infos[i].WP_TOF,Infos[i].MassCut, Infos[i].NData, Infos[i].NPred, Infos[i].NPredErr, Infos[i].NSign, Infos[i].Eff, Infos[i].Significance); - - if(XSectionType>0){ - for(unsigned int i=0;iSetTitle(""); - graph->GetYaxis()->SetTitle("CrossSection ( pb )"); - graph->GetYaxis()->SetTitleOffset(1.70); - return graph; -} - -stAllInfo Exclusion(string pattern, string modelName, string signal, double Ratio_0C, double Ratio_1C, double Ratio_2C, string syst){ - GetSignalDefinition(signals); - CurrentSampleIndex = JobIdToIndex(signal); if(CurrentSampleIndex<0){ printf("There is no signal corresponding to the JobId Given\n"); return stAllInfo(); } - - stAllInfo toReturn; - toReturn.Mass = signals[JobIdToIndex(signal)].Mass; - toReturn.MassMean = 0; - toReturn.MassSigma = 0; - toReturn.MassCut = 0; - toReturn.Index = 0; - toReturn.WP_Pt = 0; - toReturn.WP_I = 0; - toReturn.WP_TOF = 0; - toReturn.XSec_Th = signals[JobIdToIndex(signal)].XSec; - toReturn.XSec_Err = signals[JobIdToIndex(signal)].XSec * 0.15; - toReturn.XSec_Exp = 1E50; - toReturn.XSec_ExpUp = 1E50; - toReturn.XSec_ExpDown = 1E50; - toReturn.XSec_Exp2Up = 1E50; - toReturn.XSec_Exp2Down = 1E50; - toReturn.XSec_Obs = 1E50; - toReturn.Eff = 0; - toReturn.Eff_SYSTP = 0; - toReturn.Eff_SYSTI = 0; - toReturn.Eff_SYSTM = 0; - toReturn.Eff_SYSTT = 0; - toReturn.NData = 0; - toReturn.NPred = 0; - toReturn.NPredErr = 0; - toReturn.NSign = 0; - - - - double RescaleFactor = 1.0; - double RescaleError = 0.1; - - double RatioValue[] = {Ratio_0C, Ratio_1C, Ratio_2C}; - - double MaxSOverB=-1; - int MaxSOverBIndex=-1; - - string outpath = pattern + "/EXCLUSION/"; - if(syst!=""){outpath = pattern + "/EXCLUSION" + syst + "/";} - MakeDirectories(outpath); - - FILE* pFile = fopen((outpath+"/"+modelName+".info").c_str(),"w"); - if(!pFile)printf("Can't open file : %s\n",(outpath+"/"+modelName+".info").c_str()); - - string InputPath = pattern + "Histos_Data.root"; - TFile* InputFile = new TFile(InputPath.c_str()); - - TH1D* HCuts_Pt = (TH1D*)GetObjectFromPath(InputFile, "HCuts_Pt"); - TH1D* HCuts_I = (TH1D*)GetObjectFromPath(InputFile, "HCuts_I"); - TH1D* HCuts_TOF = (TH1D*)GetObjectFromPath(InputFile, "HCuts_TOF"); - TH1D* H_A = (TH1D*)GetObjectFromPath(InputFile, "H_A"); - TH1D* H_B = (TH1D*)GetObjectFromPath(InputFile, "H_B"); - TH1D* H_C = (TH1D*)GetObjectFromPath(InputFile, "H_C"); - TH1D* H_D = (TH1D*)GetObjectFromPath(InputFile, "H_D"); - TH1D* H_E = (TH1D*)GetObjectFromPath(InputFile, "H_E"); - TH1D* H_F = (TH1D*)GetObjectFromPath(InputFile, "H_F"); - TH1D* H_G = (TH1D*)GetObjectFromPath(InputFile, "H_G"); - TH1D* H_H = (TH1D*)GetObjectFromPath(InputFile, "H_H"); - TH2D* MassData = (TH2D*)GetObjectFromPath(InputFile, "Data/Mass"); - TH2D* MassPred = (TH2D*)GetObjectFromPath(InputFile, "Pred_Mass"); - TH2D* MassSign[4]; - TH2D* MassSignP[4]; - TH2D* MassSignI[4]; - TH2D* MassSignM[4]; - TH2D* MassSignT[4]; - - string InputPathSign = pattern + "Histos.root"; - TFile* InputFileSign = new TFile(InputPathSign.c_str()); - - MassSign[0] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "/Mass" + syst); - MassSign[1] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC0/Mass" + syst); - MassSign[2] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC1/Mass" + syst); - MassSign[3] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC2/Mass" + syst); - - MassSignP[0] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "/Mass_SystP"); - MassSignP[1] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC0/Mass_SystP"); - MassSignP[2] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC1/Mass_SystP"); - MassSignP[3] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC2/Mass_SystP"); - - MassSignI[0] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "/Mass_SystI"); - MassSignI[1] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC0/Mass_SystI"); - MassSignI[2] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC1/Mass_SystI"); - MassSignI[3] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC2/Mass_SystI"); - - MassSignM[0] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "/Mass_SystM"); - MassSignM[1] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC0/Mass_SystM"); - MassSignM[2] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC1/Mass_SystM"); - MassSignM[3] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC2/Mass_SystM"); - - MassSignT[0] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "/Mass_SystT"); - MassSignT[1] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC0/Mass_SystT"); - MassSignT[2] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC1/Mass_SystT"); - MassSignT[3] = (TH2D*)GetObjectFromPath(InputFileSign, signals[CurrentSampleIndex].Name + "_NC2/Mass_SystT"); - - - TH1D* MassSignProj[4]; - TH1D* MassSignPProj[4]; - TH1D* MassSignIProj[4]; - TH1D* MassSignMProj[4]; - TH1D* MassSignTProj[4]; - ///##############################################################################" - MassSignProj[0] = MassSign[0]->ProjectionY("MassSignProj0",1,1); - double Mean = MassSignProj[0]->GetMean(); - double Width = MassSignProj[0]->GetRMS(); - MinRange = std::max(0.0, Mean-2*Width); - MinRange = MassSignProj[0]->GetXaxis()->GetBinLowEdge(MassSignProj[0]->GetXaxis()->FindBin(MinRange)); //Round to a bin value to avoid counting prpoblem due to the binning. - delete MassSignProj[0]; - ///##############################################################################" - - //Going to first loop and find the cut with the min S over sqrt(B) because this is quick and normally gives a cut with a reach near the minimum - stAllInfo CutInfo[MassData->GetNbinsX()]; - for(int CutIndex=0;CutIndexGetNbinsX();CutIndex++) CutInfo[CutIndex]=toReturn; - - for(int CutIndex=0;CutIndexGetNbinsX();CutIndex++){ - if(HCuts_Pt ->GetBinContent(CutIndex+1) < 45 ) continue; // Be sure the pT cut is high enough to get some statistic for both ABCD and mass shape - if(H_E->GetBinContent(CutIndex+1) >0 && (H_A->GetBinContent(CutIndex+1)<25 || H_F->GetBinContent(CutIndex+1)<25 || H_G->GetBinContent(CutIndex+1)<25))continue; //Skip events where Prediction (AFG/EE) is not reliable - if(H_E->GetBinContent(CutIndex+1)==0 && (H_C->GetBinContent(CutIndex+1)<25 || H_B->GetBinContent(CutIndex+1)<25))continue; //Skip events where Prediction (CB/A) is not reliable - GetSignalMeanHSCPPerEvent(pattern,CutIndex, MinRange, MaxRange); - TH1D* MassDataProj = MassData->ProjectionY("MassDataProj",CutIndex+1,CutIndex+1); - TH1D* MassPredProj = MassPred->ProjectionY("MassPredProj",CutIndex+1,CutIndex+1); - MassSignProj[0] = MassSign [0]->ProjectionY("MassSignProj0",CutIndex+1,CutIndex+1); - MassSignProj[1] = MassSign [1]->ProjectionY("MassSignProj1",CutIndex+1,CutIndex+1); - MassSignProj[2] = MassSign [2]->ProjectionY("MassSignProj2",CutIndex+1,CutIndex+1); - MassSignProj[3] = MassSign [3]->ProjectionY("MassSignProj3",CutIndex+1,CutIndex+1); - - MassSignPProj[0] = MassSignP[0]->ProjectionY("MassSignProP0",CutIndex+1,CutIndex+1); - MassSignPProj[1] = MassSignP[1]->ProjectionY("MassSignProP1",CutIndex+1,CutIndex+1); - MassSignPProj[2] = MassSignP[2]->ProjectionY("MassSignProP2",CutIndex+1,CutIndex+1); - MassSignPProj[3] = MassSignP[3]->ProjectionY("MassSignProP3",CutIndex+1,CutIndex+1); - MassSignIProj[0] = MassSignI[0]->ProjectionY("MassSignProI0",CutIndex+1,CutIndex+1); - MassSignIProj[1] = MassSignI[1]->ProjectionY("MassSignProI1",CutIndex+1,CutIndex+1); - MassSignIProj[2] = MassSignI[2]->ProjectionY("MassSignProI2",CutIndex+1,CutIndex+1); - MassSignIProj[3] = MassSignI[3]->ProjectionY("MassSignProI3",CutIndex+1,CutIndex+1); - MassSignMProj[0] = MassSignM[0]->ProjectionY("MassSignProM0",CutIndex+1,CutIndex+1); - MassSignMProj[1] = MassSignM[1]->ProjectionY("MassSignProM1",CutIndex+1,CutIndex+1); - MassSignMProj[2] = MassSignM[2]->ProjectionY("MassSignProM2",CutIndex+1,CutIndex+1); - MassSignMProj[3] = MassSignM[3]->ProjectionY("MassSignProM3",CutIndex+1,CutIndex+1); - MassSignTProj[0] = MassSignT[0]->ProjectionY("MassSignProT0",CutIndex+1,CutIndex+1); - MassSignTProj[1] = MassSignT[1]->ProjectionY("MassSignProT1",CutIndex+1,CutIndex+1); - MassSignTProj[2] = MassSignT[2]->ProjectionY("MassSignProT2",CutIndex+1,CutIndex+1); - MassSignTProj[3] = MassSignT[3]->ProjectionY("MassSignProT3",CutIndex+1,CutIndex+1); - - - double NData = MassDataProj->Integral(MassDataProj->GetXaxis()->FindBin(MinRange), MassDataProj->GetXaxis()->FindBin(MaxRange)); - double NPred = MassPredProj->Integral(MassPredProj->GetXaxis()->FindBin(MinRange), MassPredProj->GetXaxis()->FindBin(MaxRange)); - double NPredErr = pow(NPred*RescaleError,2); - for(int i=MassPredProj->GetXaxis()->FindBin(MinRange); i<=MassPredProj->GetXaxis()->FindBin(MaxRange) ;i++){NPredErr+=pow(MassPredProj->GetBinError(i),2);}NPredErr=sqrt(NPredErr); - - if(isnan(NPred))continue; - if(NPred<=0){continue;} //Is <=0 only when prediction failed or is not meaningful (i.e. WP=(0,0,0) ) -// if(NPred<1E-4){continue;} //This will never be the selection which gives the best expected limit (cutting too much on signal) --> Slowdown computation for nothing... - if(NPred>1000){continue;} //When NPred is too big, expected limits just take an infinite time! - - double Eff = 0; - double EffP = 0; - double EffI = 0; - double EffM = 0; - double EffT = 0; - if(RatioValue[0]<0 && RatioValue[1]<0 && RatioValue[2]<0){ - CurrentSampleIndex = JobIdToIndex(signal); if(CurrentSampleIndex<0){ printf("There is no signal corresponding to the JobId Given\n"); return toReturn; } - double INTERN_ESign = MassSignProj[0]->Integral(MassSignProj[0] ->GetXaxis()->FindBin(MinRange), MassSignProj[0] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [0]; - double INTERN_Eff = INTERN_ESign / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - Eff = INTERN_Eff; - //fprintf(pFile ,"%10s: INTERN_ESign=%6.2E INTERN_Eff=%6.E XSec=%6.2E Lumi=%6.2E\n",signal.c_str(),INTERN_ESign,INTERN_Eff,signals[CurrentSampleIndex].XSec, IntegratedLuminosity);fflush(stdout); - - double INTERN_ESignP = MassSignPProj[0]->Integral(MassSignPProj[0] ->GetXaxis()->FindBin(MinRange), MassSignPProj[0] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [0]; - double INTERN_EffP = INTERN_ESignP / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffP = INTERN_EffP; - - double INTERN_ESignI = MassSignIProj[0]->Integral(MassSignIProj[0] ->GetXaxis()->FindBin(MinRange), MassSignIProj[0] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [0]; - double INTERN_EffI = INTERN_ESignI / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffI = INTERN_EffI; - - double INTERN_ESignM = MassSignMProj[0]->Integral(MassSignMProj[0] ->GetXaxis()->FindBin(MinRange), MassSignMProj[0] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [0]; - double INTERN_EffM = INTERN_ESignM / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffM = INTERN_EffM; - - double INTERN_ESignT = MassSignTProj[0]->Integral(MassSignTProj[0] ->GetXaxis()->FindBin(MinRange), MassSignTProj[0] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [0]; - double INTERN_EffT = INTERN_ESignT / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffT = INTERN_EffT; - }else{ - for(unsigned int i=0;i<3;i++){ - CurrentSampleIndex = JobIdToIndex(signal); if(CurrentSampleIndex<0){ printf("There is no signal corresponding to the JobId Given\n"); return toReturn; } - double INTERN_ESign = MassSignProj[i+1]->Integral(MassSignProj[i+1] ->GetXaxis()->FindBin(MinRange), MassSignProj[i+1] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [1+i]; - double INTERN_Eff = INTERN_ESign / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - Eff += INTERN_Eff * RatioValue[i]; - - double INTERN_ESignP = MassSignPProj[i+1]->Integral(MassSignPProj[i+1] ->GetXaxis()->FindBin(MinRange), MassSignPProj[i+1] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [1+i]; - double INTERN_EffP = INTERN_ESignP / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffP += INTERN_EffP * RatioValue[i]; - - double INTERN_ESignI = MassSignIProj[i+1]->Integral(MassSignIProj[i+1] ->GetXaxis()->FindBin(MinRange), MassSignIProj[i+1] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [1+i]; - double INTERN_EffI = INTERN_ESignI / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffI += INTERN_EffI * RatioValue[i]; - - double INTERN_ESignM = MassSignMProj[i+1]->Integral(MassSignMProj[i+1] ->GetXaxis()->FindBin(MinRange), MassSignMProj[i+1] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [1+i]; - double INTERN_EffM = INTERN_ESignM / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffM += INTERN_EffM * RatioValue[i]; - - double INTERN_ESignT = MassSignTProj[i+1]->Integral(MassSignTProj[i+1] ->GetXaxis()->FindBin(MinRange), MassSignTProj[i+1] ->GetXaxis()->FindBin(MaxRange))/signalsMeanHSCPPerEvent [1+i]; - double INTERN_EffT = INTERN_ESignT / (signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - EffT += INTERN_EffT * RatioValue[i]; - } - } - if(Eff==0)continue; - NPred*=RescaleFactor; - - - - //fprintf(pFile ,"CutIndex=%4i ManHSCPPerEvents = %6.2f %6.2f %6.2f %6.2f NTracks = %6.3f %6.3f %6.3f %6.3f\n",CutIndex,signalsMeanHSCPPerEvent[0], signalsMeanHSCPPerEvent[1],signalsMeanHSCPPerEvent[2],signalsMeanHSCPPerEvent[3], MassSignProj[0]->Integral(), MassSignProj[1]->Integral(), MassSignProj[2]->Integral(), MassSignProj[3]->Integral()); - - fprintf(pFile ,"%10s: Testing CutIndex=%4i (Pt>%6.2f I>%6.3f TOF>%6.3f) %3.0fGetBinContent(CutIndex+1), HCuts_I ->GetBinContent(CutIndex+1), HCuts_TOF->GetBinContent(CutIndex+1), MinRange,NData,NPred, NPredErr,Eff);fflush(stdout); - fprintf(stdout ,"%10s: Testing CutIndex=%4i (Pt>%6.2f I>%6.3f TOF>%6.3f) %3.0fGetBinContent(CutIndex+1), HCuts_I ->GetBinContent(CutIndex+1), HCuts_TOF->GetBinContent(CutIndex+1), MinRange,NData,NPred, NPredErr,Eff);fflush(stdout); - - if(Eff/sqrt(max(0.1, NPred))>MaxSOverB) {MaxSOverB=Eff/sqrt(max(0.1, NPred)); MaxSOverBIndex=CutIndex;} - - toReturn.MassMean = Mean; - toReturn.MassSigma = Width; - toReturn.MassCut = MinRange; - toReturn.Index = CutIndex; - toReturn.WP_Pt = HCuts_Pt ->GetBinContent(CutIndex+1); - toReturn.WP_I = HCuts_I ->GetBinContent(CutIndex+1); - toReturn.WP_TOF = HCuts_TOF->GetBinContent(CutIndex+1); - toReturn.XSec_Th = signals[JobIdToIndex(signal)].XSec; - toReturn.XSec_Err = signals[JobIdToIndex(signal)].XSec * 0.15; - toReturn.Eff = Eff; - toReturn.Eff_SYSTP = EffP; - toReturn.Eff_SYSTI = EffI; - toReturn.Eff_SYSTM = EffM; - toReturn.Eff_SYSTT = EffT; - toReturn.NData = NData; - toReturn.NPred = NPred; - toReturn.NPredErr = NPredErr; - toReturn.NSign = Eff*(signals[CurrentSampleIndex].XSec*IntegratedLuminosity); - - CutInfo[CutIndex]=toReturn; - } - - fclose(pFile); - - //Find reach for point with best S Over sqrt(B) first. - double NPredSB=CutInfo[MaxSOverBIndex].NPred; - double NPredErrSB=CutInfo[MaxSOverBIndex].NPredErr; - double EffSB=CutInfo[MaxSOverBIndex].Eff; - - double FiveSigma=1E50; - for (int n_obs=5; n_obs<1000; n_obs++) { - if(nSigma(NPredSB, n_obs, NPredErrSB/NPredSB)>=5) { - FiveSigma=n_obs; - break; - } - } - - double MinReach=(FiveSigma-NPredSB)/(EffSB*IntegratedLuminosity); - toReturn=CutInfo[MaxSOverBIndex]; // In case this point does give the best reach avoids rounding errors - - for(int CutIndex=0;CutIndexGetNbinsX();CutIndex++){ - double NPred=CutInfo[CutIndex].NPred; - double NPredErr=CutInfo[CutIndex].NPredErr; - double Eff=CutInfo[CutIndex].Eff; - if(Eff==0) continue; //Eliminate points where prediction could not be made - double FiveSigma=1E50; - for (int n_obs=5; n_obs<1000; n_obs++) { - if(n_obs<(NPred+3*sqrt(NPred))) continue; //5 sigma implies more than 5 times sqrt(B) excess so can cut these points, put it at 3 to be safe - double thisReach=(n_obs-NPred)/(Eff*IntegratedLuminosity); - if(thisReach>=MinReach) break; // This selection point will not give the optimum reach so move on - if(nSigma(NPred, n_obs, NPredErr/NPred)>=5) { - FiveSigma=n_obs; - break; - } - } - - double Reach=(FiveSigma-NPred)/(Eff*IntegratedLuminosity); - if(Reach>MinReach) continue; - MinReach=Reach; - toReturn=CutInfo[CutIndex]; - } - - LimitResult CLMResults; - double signalUncertainty=0.10; - if (signals[JobIdToIndex(signal)].Mass<450) signalUncertainty=0.15; - double NPred=toReturn.NPred; - double NPredErr=toReturn.NPredErr; - double Eff=toReturn.Eff; - double NData=toReturn.NData; - - CLMResults = roostats_limit(IntegratedLuminosity, IntegratedLuminosity*0.06, Eff, Eff*signalUncertainty,NPred, NPredErr, NData, false, 1, "cls", "", 12345); - - double ExpLimit=CLMResults.GetExpectedLimit(); - double ExpLimitup = CLMResults.GetOneSigmaHighRange(); - double ExpLimitdown = CLMResults.GetOneSigmaLowRange(); - double ExpLimit2up = CLMResults.GetTwoSigmaHighRange(); - double ExpLimit2down = CLMResults.GetTwoSigmaLowRange(); - double ObsLimit = CLMResults.GetObservedLimit(); - - toReturn.XSec_Exp = CLMResults.GetExpectedLimit(); - toReturn.XSec_ExpUp = CLMResults.GetOneSigmaHighRange(); - toReturn.XSec_ExpDown = CLMResults.GetOneSigmaLowRange(); - toReturn.XSec_Exp2Up = CLMResults.GetTwoSigmaHighRange(); - toReturn.XSec_Exp2Down = CLMResults.GetTwoSigmaLowRange(); - toReturn.XSec_Obs = CLMResults.GetObservedLimit(); - toReturn.Significance = nSigma(NPred, NData, NPredErr/NPred); - - FILE* pFile2 = fopen((outpath+"/"+modelName+".txt").c_str(),"w"); - if(!pFile2)printf("Can't open file : %s\n",(outpath+"/"+modelName+".txt").c_str()); - fprintf(pFile2,"Mass : %f\n",signals[JobIdToIndex(signal)].Mass); - fprintf(pFile2,"MassMean : %f\n",toReturn.MassMean); - fprintf(pFile2,"MassSigma : %f\n",toReturn.MassSigma); - fprintf(pFile2,"MassCut : %f\n",toReturn.MassCut); - fprintf(pFile2,"Index : %f\n",toReturn.Index); - fprintf(pFile2,"WP_Pt : %f\n",toReturn.WP_Pt); - fprintf(pFile2,"WP_I : %f\n",toReturn.WP_I); - fprintf(pFile2,"WP_TOF : %f\n",toReturn.WP_TOF); - fprintf(pFile2,"Eff : %f\n",toReturn.Eff); - fprintf(pFile2,"Eff_SystP : %f\n",toReturn.Eff_SYSTP); - fprintf(pFile2,"Eff_SystI : %f\n",toReturn.Eff_SYSTI); - fprintf(pFile2,"Eff_SystM : %f\n",toReturn.Eff_SYSTM); - fprintf(pFile2,"Eff_SystT : %f\n",toReturn.Eff_SYSTT); - fprintf(pFile2,"Signif : %f\n",toReturn.Significance); - fprintf(pFile2,"XSec_Th : %f\n",toReturn.XSec_Th); - fprintf(pFile2,"XSec_Exp : %f\n",toReturn.XSec_Exp); - fprintf(pFile2,"XSec_ExpUp : %f\n",toReturn.XSec_ExpUp); - fprintf(pFile2,"XSec_ExpDown : %f\n",toReturn.XSec_ExpDown); - fprintf(pFile2,"XSec_Exp2Up : %f\n",toReturn.XSec_Exp2Up); - fprintf(pFile2,"XSec_Exp2Down: %f\n",toReturn.XSec_Exp2Down); - fprintf(pFile2,"XSec_Obs : %f\n",toReturn.XSec_Obs); - fprintf(pFile2,"NData : %+6.2E\n",toReturn.NData); - fprintf(pFile2,"NPred : %+6.2E\n",toReturn.NPred); - fprintf(pFile2,"NPredErr : %+6.2E\n",toReturn.NPredErr); - fprintf(pFile2,"NSign : %+6.2E\n",toReturn.NSign); - - fclose(pFile2); - - return toReturn; -} - - - - - - -int JobIdToIndex(string JobId){ - for(unsigned int s=0;sProjectionY("NTracksPassingSelection",CutIndex+1,CutIndex+1); - TH1D* NEventsPassingSelection = MaxEventMass->ProjectionY("NEventsPassingSelection",CutIndex+1,CutIndex+1); - - TH2D* Mass_NC0 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC0/Mass"); - TH2D* MaxEventMass_NC0 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC0/MaxEventMass"); - TH1D* NTracksPassingSelection_NC0 = Mass_NC0->ProjectionY("NTracksPassingSelection_NC0",CutIndex+1,CutIndex+1); - TH1D* NEventsPassingSelection_NC0 = MaxEventMass_NC0->ProjectionY("NEventsPassingSelection_NC0",CutIndex+1,CutIndex+1); - - TH2D* Mass_NC1 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC1/Mass"); - TH2D* MaxEventMass_NC1 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC1/MaxEventMass"); - TH1D* NTracksPassingSelection_NC1 = Mass_NC1->ProjectionY("NTracksPassingSelection_NC1",CutIndex+1,CutIndex+1); - TH1D* NEventsPassingSelection_NC1 = MaxEventMass_NC1->ProjectionY("NEventsPassingSelection_NC1",CutIndex+1,CutIndex+1); - - TH2D* Mass_NC2 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC2/Mass"); - TH2D* MaxEventMass_NC2 = (TH2D*)GetObjectFromPath(InputFile, signals[CurrentSampleIndex].Name + "_NC2/MaxEventMass"); - TH1D* NTracksPassingSelection_NC2 = Mass_NC2->ProjectionY("NTracksPassingSelection_NC2",CutIndex+1,CutIndex+1); - TH1D* NEventsPassingSelection_NC2 = MaxEventMass_NC2->ProjectionY("NEventsPassingSelection_NC2",CutIndex+1,CutIndex+1); - - double NTracks = NTracksPassingSelection->Integral(NTracksPassingSelection->GetXaxis()->FindBin(MinRange), NTracksPassingSelection->GetXaxis()->FindBin(MaxRange)); - double NEvents = NEventsPassingSelection->Integral(NEventsPassingSelection->GetXaxis()->FindBin(MinRange), NEventsPassingSelection->GetXaxis()->FindBin(MaxRange)); - double NTracks_NC0 = NTracksPassingSelection_NC0->Integral(NTracksPassingSelection_NC0->GetXaxis()->FindBin(MinRange), NTracksPassingSelection_NC0->GetXaxis()->FindBin(MaxRange)); - double NEvents_NC0 = NEventsPassingSelection_NC0->Integral(NEventsPassingSelection_NC0->GetXaxis()->FindBin(MinRange), NEventsPassingSelection_NC0->GetXaxis()->FindBin(MaxRange)); - - double NTracks_NC1 = NTracksPassingSelection_NC1->Integral(NTracksPassingSelection_NC1->GetXaxis()->FindBin(MinRange), NTracksPassingSelection_NC1->GetXaxis()->FindBin(MaxRange)); - double NEvents_NC1 = NEventsPassingSelection_NC1->Integral(NEventsPassingSelection_NC1->GetXaxis()->FindBin(MinRange), NEventsPassingSelection_NC1->GetXaxis()->FindBin(MaxRange)); - - double NTracks_NC2 = NTracksPassingSelection_NC2->Integral(NTracksPassingSelection_NC2->GetXaxis()->FindBin(MinRange), NTracksPassingSelection_NC2->GetXaxis()->FindBin(MaxRange)); - double NEvents_NC2 = NEventsPassingSelection_NC2->Integral(NEventsPassingSelection_NC2->GetXaxis()->FindBin(MinRange), NEventsPassingSelection_NC2->GetXaxis()->FindBin(MaxRange)); - - signalsMeanHSCPPerEvent[0] = (float)std::max(1.0,NTracks/ NEvents); - signalsMeanHSCPPerEvent[1] = (float)std::max(1.0,NTracks_NC0/ NEvents_NC0); - signalsMeanHSCPPerEvent[2] = (float)std::max(1.0,NTracks_NC1/ NEvents_NC1); - signalsMeanHSCPPerEvent[3] = (float)std::max(1.0,NTracks_NC2/ NEvents_NC2); - - delete Mass; - delete MaxEventMass; - delete Mass_NC0; - delete MaxEventMass_NC0; - delete Mass_NC1; - delete MaxEventMass_NC1; - delete Mass_NC2; - delete MaxEventMass_NC2; - delete NTracksPassingSelection; - delete NEventsPassingSelection; - delete NTracksPassingSelection_NC0; - delete NEventsPassingSelection_NC0; - delete NTracksPassingSelection_NC1; - delete NEventsPassingSelection_NC1; - delete NTracksPassingSelection_NC2; - delete NEventsPassingSelection_NC2; - - delete InputFile; - return; -} - -double FindIntersection(TGraph* obs, TGraph* th, double Min, double Max, double Step, double ThUncertainty, bool debug){ - - double Intersection = -1; - - double ThShift = 1.0-ThUncertainty; - double PreviousX = Min; - double PreviousV = obs->Eval(PreviousX, 0, "") - (ThShift * th->Eval(PreviousX, 0, "")) ; - if(PreviousV>0)return -1; - for(double x=Min+=Step;xEval(x, 0, "") - (ThShift * th->Eval(x, 0, "") ); - if(debug){ - printf("%7.2f --> Obs=%6.2E Th=%6.2E",x,obs->Eval(x, 0, ""),ThShift * th->Eval(x, 0, "")); - if(V>=0)printf(" X\n"); - else printf("\n"); - } - if(V<0){ - PreviousX = x; - PreviousV = V; - }else{ - Intersection = PreviousX; - } - } - return Intersection; -} - - - -int ReadXSection(string InputFile, double* Mass, double* XSec, double* Low, double* High, double* ErrLow, double* ErrHigh) -{ - FILE* pFile = fopen(InputFile.c_str(),"r"); - if(!pFile){ - printf("Not Found: %s\n",InputFile.c_str()); - return -1; - } - - float tmpM, tmpX, tmpL, tmpH; - - int NPoints = 0; - while ( ! feof (pFile) ){ - fscanf(pFile,"%f %E %E %E\n",&tmpM,&tmpX,&tmpH,&tmpL); - Mass [NPoints] = tmpM; - XSec [NPoints] = tmpX; - Low [NPoints] = tmpL; - High [NPoints] = tmpH; - ErrLow [NPoints] = tmpX-tmpL; - ErrHigh[NPoints] = tmpH-tmpX; - NPoints++; - - //printf("%fGeV --> Error = %f\n", tmpM, 0.5*(tmpH-tmpL)/tmpX); - } - - fclose(pFile); - - return NPoints; -} - - -TCutG* GetErrorBand(string name, int N, double* Mass, double* Low, double* High, double MinLow, double MaxHigh) -{ - TCutG* cutg = new TCutG(name.c_str(),2*N); - cutg->SetFillColor(kGreen-7); - for(int i=0;iSetPoint( i,Mass[i], Min); - } - for(int i=0;iSetPoint(N+i,Mass[N-1-i], Max); - } - return cutg; -} - -void DrawModelLimitWithBand(string InputPattern, string inputmodel) -{ - std::vector Models; - string modelname; - if(inputmodel == "Gluinof1"){ - Models.push_back("Gluino300_f1"); - Models.push_back("Gluino400_f1"); - Models.push_back("Gluino500_f1"); - Models.push_back("Gluino600_f1"); - Models.push_back("Gluino700_f1"); - Models.push_back("Gluino800_f1"); - Models.push_back("Gluino900_f1"); - Models.push_back("Gluino1000_f1"); - modelname="gluino; 10% #tilde{g}g (NLO+NLL)"; - } - else if(inputmodel == "Gluinof5"){ - Models.push_back("Gluino300_f5"); - Models.push_back("Gluino400_f5"); - Models.push_back("Gluino500_f5"); - Models.push_back("Gluino600_f5"); - Models.push_back("Gluino700_f5"); - Models.push_back("Gluino800_f5"); - Models.push_back("Gluino900_f5"); - Models.push_back("Gluino1000_f5"); - modelname="gluino; 50% #tilde{g}g (NLO+NLL)"; - } - else if(inputmodel == "GluinoN"){ - Models.push_back("Gluino300N_f1"); - Models.push_back("Gluino400N_f1"); - Models.push_back("Gluino500N_f1"); - Models.push_back("Gluino600N_f1"); - Models.push_back("Gluino700N_f1"); - Models.push_back("Gluino800N_f1"); - Models.push_back("Gluino900N_f1"); - Models.push_back("Gluino1000N_f1"); - modelname="gluino; 10% #tilde{g}g; ch. suppr.(NLO+NLL)"; - - } - else if(inputmodel == "Stop"){ - Models.push_back("Stop130"); - Models.push_back("Stop200"); - Models.push_back("Stop300"); - Models.push_back("Stop400"); - Models.push_back("Stop500"); - Models.push_back("Stop600"); - Models.push_back("Stop700"); - Models.push_back("Stop800"); - modelname="stop (NLO+NLL)"; - } - else if(inputmodel == "StopN"){ - Models.push_back("Stop130N"); - Models.push_back("Stop200N"); - Models.push_back("Stop300N"); - Models.push_back("Stop400N"); - Models.push_back("Stop500N"); - Models.push_back("Stop600N"); - Models.push_back("Stop700N"); - Models.push_back("Stop800N"); - modelname="stop;ch. suppr. (NLO+NLL)"; - } - else if(inputmodel == "GMStau"){ - Models.push_back("GMStau100"); - Models.push_back("GMStau126"); - Models.push_back("GMStau156"); - Models.push_back("GMStau200"); - Models.push_back("GMStau247"); - Models.push_back("GMStau308"); - Models.push_back("GMStau370"); - Models.push_back("GMStau432"); - Models.push_back("GMStau494"); - modelname="GMSB stau (NLO)"; - } - else if(inputmodel == "PPStau"){ - Models.push_back("PPStau100"); - Models.push_back("PPStau126"); - Models.push_back("PPStau156"); - Models.push_back("PPStau200"); - Models.push_back("PPStau247"); - Models.push_back("PPStau308"); - modelname="Pair Prod. stau (NLO)"; - } - else if(inputmodel == "DCRho08"){ - Models.push_back("DCRho08HyperK100"); - Models.push_back("DCRho08HyperK121"); - Models.push_back("DCRho08HyperK182"); - Models.push_back("DCRho08HyperK242"); - Models.push_back("DCRho08HyperK302"); - Models.push_back("DCRho08HyperK350"); - Models.push_back("DCRho08HyperK370"); - Models.push_back("DCRho08HyperK390"); - Models.push_back("DCRho08HyperK395"); - Models.push_back("DCRho08HyperK400"); - Models.push_back("DCRho08HyperK410"); - Models.push_back("DCRho08HyperK420"); - Models.push_back("DCRho08HyperK500"); - modelname="Hyperk #tilde{#rho} = 0.8 TeV (LO)"; - } - else if(inputmodel == "DCRho12"){ - Models.push_back("DCRho12HyperK100"); - Models.push_back("DCRho12HyperK182"); - Models.push_back("DCRho12HyperK302"); - Models.push_back("DCRho12HyperK500"); - Models.push_back("DCRho12HyperK530"); - Models.push_back("DCRho12HyperK570"); - Models.push_back("DCRho12HyperK590"); - Models.push_back("DCRho12HyperK595"); - Models.push_back("DCRho12HyperK600"); - Models.push_back("DCRho12HyperK610"); - Models.push_back("DCRho12HyperK620"); - Models.push_back("DCRho12HyperK700"); - modelname="Hyperk #tilde{#rho} = 1.2 TeV (LO)"; - } - else if(inputmodel == "DCRho16"){ - Models.push_back("DCRho16HyperK100"); - Models.push_back("DCRho16HyperK182"); - Models.push_back("DCRho16HyperK302"); - Models.push_back("DCRho16HyperK500"); - Models.push_back("DCRho16HyperK700"); - Models.push_back("DCRho16HyperK730"); - Models.push_back("DCRho16HyperK770"); - Models.push_back("DCRho16HyperK790"); - Models.push_back("DCRho16HyperK795"); - Models.push_back("DCRho16HyperK800"); - Models.push_back("DCRho16HyperK820"); - Models.push_back("DCRho16HyperK900"); - modelname="Hyperk #tilde{#rho} = 1.6 TeV (LO)"; - } - else{cout<<"no model specified"<SetLineStyle(3); - graphtheory->SetFillColor(kBlue); - graphexp->SetLineStyle(4); - graphexp->SetLineColor(kRed); - graphexp->SetMarkerStyle(); - graphexp->SetMarkerSize(0.); - Exp2SigmaErr->SetFillColor(kYellow); - Exp2SigmaErr->SetLineColor(kWhite); - ExpErr->SetFillColor(kGreen); - ExpErr->SetLineColor(kWhite); - graphobs->SetLineColor(kBlack); - graphobs->SetLineWidth(2); - graphobs->SetMarkerColor(kBlack); - graphobs->SetMarkerStyle(23); - - TCanvas* c1 = new TCanvas("c1", "c1",600,600); - TMultiGraph* MG = new TMultiGraph(); - - MG->Add(graphexp ,"LP"); - MG->Add(graphobs ,"LP"); - MG->Add(graphtheory ,"L"); - MG->Draw("A"); - Exp2SigmaErr->Draw("f"); - ExpErr ->Draw("f"); - MG->Draw("same"); - MG->SetTitle(""); - MG->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MG->GetYaxis()->SetTitle("#sigma (pb)"); - MG->GetYaxis()->SetTitleOffset(1.70); - MG->GetYaxis()->SetRangeUser(PlotMinScale,PlotMaxScale); - DrawPreliminary(IntegratedLuminosity); - - TLegend* LEG = new TLegend(0.40,0.65,0.8,0.90); - string headerstr; - headerstr = "95% C.L. Limits (Tk + TOF)"; - if(IsTkOnly) headerstr = "95% C.L. Limits (Tracker - Only)"; - LEG->SetHeader(headerstr.c_str()); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(graphtheory, modelname.c_str() ,"L"); - LEG->AddEntry(graphexp, "Expected" ,"L"); - LEG->AddEntry(ExpErr, "Expected #pm 1#sigma","F"); - LEG->AddEntry(Exp2SigmaErr, "Expected #pm 2#sigma " ,"F"); - LEG->AddEntry(graphobs, "Observed" ,"LP"); - LEG->Draw(); - - c1->SetLogy(true); - - - if(IsTkOnly) SaveCanvas(c1,"Results/EXCLUSION/", string("Tk"+ inputmodel + "ExclusionLog")); - else SaveCanvas(c1,"Results/EXCLUSION/", string("Mu"+ inputmodel + "ExclusionLog")); - delete c1; - - -} -std::vector GetModels(string inputmodel) -{ - std::vector Models; - string modelname; - if(inputmodel == "Gluinof1"){ - Models.push_back("Gluino300_f1"); - Models.push_back("Gluino400_f1"); - Models.push_back("Gluino500_f1"); - Models.push_back("Gluino600_f1"); - Models.push_back("Gluino700_f1"); - Models.push_back("Gluino800_f1"); - Models.push_back("Gluino900_f1"); - Models.push_back("Gluino1000_f1"); -// Models.push_back("Gluino1100_f1"); - modelname="gluino; 10% #tilde{g}g (NLO+NLL)"; - } - else if(inputmodel == "Gluinof5"){ - Models.push_back("Gluino300_f5"); - Models.push_back("Gluino400_f5"); - Models.push_back("Gluino500_f5"); - Models.push_back("Gluino600_f5"); - Models.push_back("Gluino700_f5"); - Models.push_back("Gluino800_f5"); - Models.push_back("Gluino900_f5"); - Models.push_back("Gluino1000_f5"); -// Models.push_back("Gluino1100_f5"); - modelname="gluino; 50% #tilde{g}g (NLO+NLL)"; - } - else if(inputmodel == "GluinoN"){ - Models.push_back("Gluino300N_f1"); - Models.push_back("Gluino400N_f1"); - Models.push_back("Gluino500N_f1"); - Models.push_back("Gluino600N_f1"); - Models.push_back("Gluino700N_f1"); - Models.push_back("Gluino800N_f1"); - Models.push_back("Gluino900N_f1"); - Models.push_back("Gluino1000N_f1"); -// Models.push_back("Gluino1100N_f1"); - modelname="gluino; 10% #tilde{g}g; ch. suppr.(NLO+NLL)"; - } - else if(inputmodel == "Stop"){ - Models.push_back("Stop130"); - Models.push_back("Stop200"); - Models.push_back("Stop300"); - Models.push_back("Stop400"); - Models.push_back("Stop500"); - Models.push_back("Stop600"); - Models.push_back("Stop700"); - Models.push_back("Stop800"); - modelname="stop (NLO+NLL)"; - } - else if(inputmodel == "StopN"){ - Models.push_back("Stop130N"); - Models.push_back("Stop200N"); - Models.push_back("Stop300N"); - Models.push_back("Stop400N"); - Models.push_back("Stop500N"); - Models.push_back("Stop600N"); - Models.push_back("Stop700N"); - Models.push_back("Stop800N"); - modelname="stop;ch. suppr. (NLO+NLL)"; - } - else if(inputmodel == "GMStau"){ - Models.push_back("GMStau100"); - Models.push_back("GMStau126"); - Models.push_back("GMStau156"); - Models.push_back("GMStau200"); - Models.push_back("GMStau247"); - Models.push_back("GMStau308"); - Models.push_back("GMStau370"); - Models.push_back("GMStau432"); - Models.push_back("GMStau494"); - modelname="GMSB stau (NLO)"; - } - else if(inputmodel == "PPStau"){ - Models.push_back("PPStau100"); - Models.push_back("PPStau126"); - Models.push_back("PPStau156"); - Models.push_back("PPStau200"); - Models.push_back("PPStau247"); - Models.push_back("PPStau308"); - modelname="Pair Prod. stau (NLO)"; - } - else if(inputmodel == "DCRho08"){ - Models.push_back("DCRho08HyperK100"); - Models.push_back("DCRho08HyperK121"); - Models.push_back("DCRho08HyperK182"); - Models.push_back("DCRho08HyperK242"); - Models.push_back("DCRho08HyperK302"); - Models.push_back("DCRho08HyperK350"); - Models.push_back("DCRho08HyperK370"); - Models.push_back("DCRho08HyperK390"); - Models.push_back("DCRho08HyperK395"); - Models.push_back("DCRho08HyperK400"); - Models.push_back("DCRho08HyperK410"); - Models.push_back("DCRho08HyperK420"); - Models.push_back("DCRho08HyperK500"); - modelname="Hyperk #tilde{#rho} = 0.8 TeV (LO)"; - } - else if(inputmodel == "DCRho12"){ - Models.push_back("DCRho12HyperK100"); - Models.push_back("DCRho12HyperK182"); - Models.push_back("DCRho12HyperK302"); - Models.push_back("DCRho12HyperK500"); - Models.push_back("DCRho12HyperK530"); - Models.push_back("DCRho12HyperK570"); - Models.push_back("DCRho12HyperK590"); - Models.push_back("DCRho12HyperK595"); - Models.push_back("DCRho12HyperK600"); - Models.push_back("DCRho12HyperK610"); - Models.push_back("DCRho12HyperK620"); - Models.push_back("DCRho12HyperK700"); - modelname="Hyperk #tilde{#rho} = 1.2 TeV (LO)"; - } - else if(inputmodel == "DCRho16"){ - Models.push_back("DCRho16HyperK100"); - Models.push_back("DCRho16HyperK182"); - Models.push_back("DCRho16HyperK302"); - Models.push_back("DCRho16HyperK500"); - Models.push_back("DCRho16HyperK700"); - Models.push_back("DCRho16HyperK730"); - Models.push_back("DCRho16HyperK770"); - Models.push_back("DCRho16HyperK790"); - Models.push_back("DCRho16HyperK795"); - Models.push_back("DCRho16HyperK800"); - Models.push_back("DCRho16HyperK820"); - Models.push_back("DCRho16HyperK900"); - modelname="Hyperk #tilde{#rho} = 1.6 TeV (LO)"; - } - else{cout<<"no model specified"< TModels; - if(inputmodel == "Gluino"){ - TModels.push_back("Gluinof1"); - TModels.push_back("Gluinof5"); - if(IsTkOnly) TModels.push_back("GluinoN"); - } - - else if(inputmodel == "Stop"){ - TModels.push_back("Stop"); - if(IsTkOnly) TModels.push_back("StopN"); - } - - else if(inputmodel == "Stau"){ - TModels.push_back("GMStau"); - TModels.push_back("PPStau"); - } - else if(inputmodel == "Hyperk"){ - TModels.push_back("DCRho08"); - TModels.push_back("DCRho12"); - TModels.push_back("DCRho16"); - } - else if(inputmodel == "All"){ - TModels.push_back("Gluinof1"); - TModels.push_back("Gluinof5"); - if(IsTkOnly) TModels.push_back("GluinoN"); - TModels.push_back("Stop"); - if(IsTkOnly) TModels.push_back("StopN"); - TModels.push_back("GMStau"); - TModels.push_back("PPStau"); - TModels.push_back("DCRho08"); - TModels.push_back("DCRho12"); - TModels.push_back("DCRho16"); - } - - - else { - cout<<"no model specified"<SetBottomMargin(0.); - pad->SetLeftMargin(0.1); - pad->SetRightMargin(0.); - pad->SetTopMargin(0.); - padA[k] = pad; - padA[k]->Draw(); - } - - for(int k=0;k Models = GetModels(TModels[k]); - ModelNames[k]=GetModelName(TModels[k]); - - TMultiGraph* MG = new TMultiGraph(); - unsigned int N = Models.size(); - stAllInfo Infos;double Mass[N], XSecTh[N], XSecExp[N],XSecObs[N], XSecExpUp[N],XSecExpDown[N],XSecExp2Up[N],XSecExp2Down[N]; - for(int i=0;iSetLineStyle(3); - graphAexp[k]->SetLineStyle(4); - graphAexp[k]->SetLineColor(kRed); - graphAexp[k]->SetMarkerStyle(); - graphAexp[k]->SetMarkerSize(0.); - Exp2SigmaAErr[k]->SetFillColor(kYellow); - Exp2SigmaAErr[k]->SetLineColor(kWhite); - ExpAErr[k]->SetFillColor(kGreen); - ExpAErr[k]->SetLineColor(kWhite); - graphAobs[k]->SetLineColor(kBlack); - graphAobs[k]->SetLineWidth(2); - graphAobs[k]->SetMarkerColor(kBlack); - graphAobs[k]->SetMarkerStyle(23); - - - padA[k]->cd(); - - int masst[2] = {50,1050}; - int xsect[2] = {2, 1}; - TGraph* graph = new TGraph(2,masst,xsect); //fake graph to set xaxis right - graph->SetMarkerSize(0.); - MG->Add(graph ,"P"); - MG->Add(graphAobs[k] ,"LP"); - MG->Draw("A"); - if(k==0){ - TLegend* LEG = new TLegend(0.11,0.01,0.7,0.99); - string headerstr; - headerstr = " Tk + TOF"; - if(IsTkOnly) headerstr = " Tracker - Only"; - LEG->SetHeader(headerstr.c_str()); - LEG->SetFillColor(0); - LEG->SetBorderSize(0); - LEG->AddEntry(ExpAErr[0], "Expected #pm 1#sigma","F"); - LEG->AddEntry(Exp2SigmaAErr[0], "Expected #pm 2#sigma " ,"F"); - LEG->AddEntry(graphAobs[0],"Observed" ,"LP"); - LEG->SetMargin(0.1); - LEG->Draw(); - } - - Exp2SigmaAErr[k]->Draw("f"); - ExpAErr[k] ->Draw("f"); - MG->Draw("same"); - MG->SetTitle(""); - if(k==TModels.size()-1) { - MG->GetXaxis()->SetTitle("Mass (GeV/c^{2})"); - MG->GetXaxis()->SetTitleSize(0.4); - MG->GetXaxis()->SetLabelSize(0.4); - } - - TPaveText *pt; - if(IsTkOnly) pt = new TPaveText(0.45, 0.6, 0.95, 0.87,"LBNDC"); - else pt = new TPaveText(0.65, 0.7, 0.95, 0.85,"LBNDC"); - pt->SetBorderSize(0); - pt->SetLineWidth(0); - pt->SetFillColor(kWhite); - TText *text = pt->AddText(ModelNames[k].c_str()); - text ->SetTextAlign(11); - text ->SetTextSize(0.3); - if(IsTkOnly) text ->SetTextSize(0.35); - pt->Draw(); - - MG->GetXaxis()->SetRangeUser(50,1050); - MG->GetXaxis()->SetNdivisions(506,"Z"); - - MG->GetYaxis()->SetRangeUser(0.5,2.5); - MG->GetYaxis()->SetNdivisions(202,"Z"); - MG->GetYaxis()->SetLabelSize(0.2); - - - } - c1->cd(); - DrawPreliminary(IntegratedLuminosity); - - TPaveText *pt = new TPaveText(0.1, 0.01, 0.15, 0.85,"NDC"); - string tmp = "95% C.L. Limits (Relative to Expected Limit)"; - TText *text = pt->AddText(tmp.c_str()); - text ->SetTextAlign(11); - text ->SetTextAngle(90); - text ->SetTextSize(0.025); - pt->SetBorderSize(0); - pt->SetFillColor(0); - pt->Draw(); - - - - if(IsTkOnly) SaveCanvas(c1,"Results/EXCLUSION/", string("Tk"+ inputmodel + "LimitsRatio")); - else SaveCanvas(c1,"Results/EXCLUSION/", string("Mu"+ inputmodel + "LimitsRatio")); - - delete c1; - - -} - - - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.sh b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.sh deleted file mode 100644 index aa92c2259cd74..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Analysis_Step6.sh +++ /dev/null @@ -1,8 +0,0 @@ -root -l -b << EOF - .x Analysis_Step6.C++("Final", "", "", "", -1, -1, -1, ""); -// .x Analysis_Step6.C+ ("Final", "", "", "", -1, -1, -1, "_SystP"); -// .x Analysis_Step6.C+ ("Final", "", "", "", -1, -1, -1, "_SystI"); -// .x Analysis_Step6.C+ ("Final", "", "", "", -1, -1, -1, "_SystM"); -// .x Analysis_Step6.C+ ("Final", "", "", "", -1, -1, -1, "_SystT"); -EOF - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/CL95.h b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/CL95.h deleted file mode 100644 index 572c422b93f3d..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/CL95.h +++ /dev/null @@ -1,437 +0,0 @@ -/* -------------------------------------------------------------------------------- - Bayesian 95% CL limit and expected (average) 95% CL limit calculator for Poisson statistics - - The code shoudl be run from root in the compiled mode: - -.L cl95cms.c++ - - Usage: sigma95 = CL95(ilum, slum, eff, seff, bck, sbck, n, gauss = false, bckmodel = 0) - sigma95A = CLA(ilum, slum, eff, seff, bck, sbck, bckmodel = 0) - - Inputs: ilum - Nominal integrated luminosity (pb^-1) - slum - Absolute error on the integrated luminosity - eff - Nominal value of the efficiency times acceptance - seff - Absolute error on the efficiency times acceptance - bck - Nominal value of the background estimate - sbck - Absolute error on the background - n - Number of observed events (not used for the expected limit) - gauss - if true, use Gaussian statistics; automatically false for n = 0. Always false for expected limit calculations - bckmodel - distribution function used in integration over nuisance parameters: - 0 - Gaussian, 1 - lognormal, 2 - gamma; automatically 0 for gauss == true - - Written by Greg Landsberg; v1.0 February 27, 2003 - Modified by Greg Landsberg; v1.1 March 18, 2003 - some bugs fixed; - automatic graph scaling - Modified by Greg Landsberg; v1.2 May 15, 2003 - clean-up of the code - Modified by Greg Landsberg; v1.3 June 2, 2005 - further clean-up; - protection against numeric instability; - increased table for Poisson distribution; - Modified by Greg Landsberg; v1.3 June 2, 2010 - lognormal and Gamma nuisance - parameter integration --------------------------------------------------------------------------------- */ -#include -#include -#include "TMath.h" -#include "TF1.h" -#include "TArrow.h" -#include "TCanvas.h" - -static Double_t A0, sA, B0, sB, epsilon, MaxSig = 100.; -static Double_t MinLike = 1.e-6, Precision = 1.e-5; -static Int_t N; -static bool lGauss = kFALSE, plot = kFALSE; -static Int_t I = 0; -static Double_t sigma_a = 0., sigma_b = 0., tau_a = 0., tau_b = 0.; - -Double_t Likelihood(Double_t *x, Double_t *p); -Double_t Inner(Double_t *x, Double_t *par); -Double_t Outer(Double_t *x, Double_t *p); -Double_t Poisson(Double_t Mu, Int_t n); -Double_t CL95(Double_t ilum, Double_t slum, Double_t eff, Double_t seff, Double_t bck, Double_t sbck, Int_t n, Bool_t gauss = kFALSE, Int_t bckmodel = 0); -Double_t CLA(Double_t ilum, Double_t slum, Double_t eff, Double_t seff, Double_t bck, Double_t sbck, Int_t bckint = 0); - -Double_t CL95(Double_t ilum, Double_t slum, Double_t eff, Double_t seff, Double_t bck, Double_t sbck, Int_t n, Bool_t gauss, Int_t bckmodel) -{ - Double_t xmax = MaxSig; - Double_t x[1], p[1]; -// - A0 = ilum*eff; - sA = sqrt(ilum*seff*ilum*seff + eff*slum*eff*slum); - B0 = bck; - sB = sbck; - epsilon = TMath::Max(Precision/ilum,1.e-4); - // - lGauss = gauss; - if (n == 0) lGauss = kFALSE; - - if (!gauss) - { - if (bckmodel < 0 || bckmodel > 2) - { - //cout << "Incorrect nuissance parameter integration model. Gaussian will be used." << endl; - bckmodel = 0; - } - //if (plot) cout << "Poisson 95% CL limit with "; - I = bckmodel; - if (bckmodel == 0) - { - // if (plot) cout << "Gaussian "; - } - else if (bckmodel == 1) // Lognormal distribution is used - { - if (B0 > 0) sigma_b = TMath::Log(1. + sB/B0); - sigma_a = TMath::Log(1. + sA/A0); - // if (plot) cout << "Lognormal "; - } - else if (bckmodel == 2) // Gamma distribution is used - { - // if (plot) cout << "Gamma "; - if (sA > 0) - { - sigma_a = 1. + A0*A0/sA/sA; - tau_a = A0/sA/sA; - } - if (sB > 0) - { - sigma_b = 1. + B0*B0/sB/sB; - tau_b = B0/sB/sB; - } - } - }// else if (plot) cout << "Gaussian 95% CL limit with Gaussian "; -// if (plot) cout << "nuisance parameter integration will be used" << endl; - // - N = n; - x[0] = xmax; - p[0] = 0.; - // - Double_t delta = (Likelihood(x,p) - MinLike)/MinLike; - while (delta > 0) - { -// if (plot) cout << "delta = " << delta << endl; - - xmax = 2.*xmax; - x[0] = xmax; - delta = (Likelihood(x,p) - MinLike)/MinLike; - } - // - Double_t x1 = 0, x2 = xmax; - while (fabs(delta) > epsilon) - { - if (delta > 0) x1 = x[0]; - else x2 = x[0]; - x[0] = (x1 + x2)/2.; - delta = (Likelihood(x,p) - MinLike)/MinLike; - } - xmax = x[0]; - // - Int_t i = 0; - if (xmax > 1) - { - while (xmax > 10.) - { - xmax /= 10.; - i++; - } - xmax = (Int_t)(xmax + 1)*pow(10,i); - } - else - { - while (xmax < 1.) - { - xmax *= 10.; - i++; - } - xmax = (Int_t)(xmax + 1)*pow(10,-i); - } - // - TF1 like("Likelihood",Likelihood,0.,xmax,0); -// if (plot) cout << "Likelihood function is evaluated over [0," << xmax << "] " << endl; - // - Double_t Norm = like.Integral(0.,xmax,p,epsilon); -// if (plot) cout << "likelihood normalization: " << Norm << endl; - // - // Double_t x1, x2, delta; - x1 = 0; - x2 = xmax; - xmax = (x1 + x2)/2.; - delta = like.Integral(0,xmax,p,epsilon)/Norm - 0.95; - // - while (fabs(delta) > epsilon) - { - if (delta < 0) x1 = xmax; - else x2 = xmax; - xmax = (x1 + x2)/2.; - delta = like.Integral(0,xmax,p,epsilon)/Norm - 0.95; - } - - x[0] = like.GetMaximumX(0.,MaxSig); - if (plot) - { - TCanvas c("Likelihood"); - like.Draw(); - TArrow arrow(xmax,Likelihood(x,p)/7.,xmax,0,0.04); - arrow.SetLineWidth(3.); - arrow.Draw(); - c.Print("Likelihood.eps"); - } - if (plot) std::cout << "Upper 95% C.L. limit on signal = " << xmax << " pb" << std::endl; - // - return xmax; -} - -Double_t Likelihood(Double_t *x, Double_t *p) -{ - p=p; - Double_t retval = 0.; - if (sB == 0.) - { - if (sA == 0.) - { - if (lGauss) retval = TMath::Gaus(N-B0-x[0]*A0,0.,TMath::Sqrt(N),kTRUE); - else retval = Poisson(B0+x[0]*A0,N); - } - else - { - Double_t par[2]; - // TF1 *in = new TF1("Inner",Inner,0.,TMath::Max(A0 + 5.*sA,2); - TF1 *in = new TF1("Inner",Inner,0.,A0 + 5.*sA,2); - par[0]=B0; // background value - par[1]=x[0]; // signal cross section value - if (I == 0) - { - Double_t low = A0 > 5.*sA ? A0 - 5.*sA : 0.; - retval = in->Integral(low,A0+5.*sA,par,epsilon); - } else { - Double_t low = 0., high = A0 + 5.*sA, tmp = 1.; - while (tmp > epsilon) - { - tmp = in->Integral(low,high,par,epsilon); - retval += tmp; - low = high; - high *= 2; - } - } - delete in; - } - } - else - { - // TF1 *out = new TF1("Outer",Outer,0.,TMath::Max(B0 + 5.*sB,1000.),1); - TF1 *out = new TF1("Outer",Outer,0.,B0 + 5.*sB,1); - if (I == 0) - { - Double_t low = B0 > 5.*sB ? B0 - 5.*sB : 0.; - retval = out->Integral(low,B0+5.*sB,x,epsilon); - } else { - Double_t low = 0., high = B0 + 5.*sB, tmp = 1.; - while (tmp > epsilon) - { - tmp = out->Integral(low,high,x,epsilon); - retval += tmp; - low = high; - high *= 2; - } - } - delete out; - } - return retval; -} - -Double_t Outer(Double_t *x, Double_t *p) -{ - Double_t retval; - if (sA == 0.) - { - // cout << "x, sigma_b, B0 = " << x[0] << ", " << sigma_b << ", " << B0 << endl; - if (lGauss) retval = TMath::Gaus(x[0],B0,sB,kTRUE)*TMath::Gaus(N-x[0]-p[0]*A0,0.,TMath::Sqrt(N),kTRUE); - else if (I == 0) retval = TMath::Gaus(x[0],B0,sB,kTRUE)*Poisson(x[0]+p[0]*A0,N); - else if (I == 1) retval = TMath::LogNormal(x[0], sigma_b, 0., B0)*Poisson(x[0]+p[0]*A0,N); - else if (I == 2) retval = TMath::GammaDist(x[0], sigma_b, 0., 1./tau_b)*Poisson(x[0]+p[0]*A0,N); - else return 0; - } - else - { - Double_t par[2]; - // TF1 *in = new TF1("Inner",Inner,0.,TMath::Max(A0 + 5.*sA,1000.),2); - TF1 *in = new TF1("Inner",Inner,0.,A0 + 5.*sA,2); - par[0]=x[0]; // background value - par[1]=p[0]; // signal cross section value - Double_t low = A0 > 5.*sA ? A0 - 5.*sA : 0.; - if (I == 0) retval = TMath::Gaus(x[0],B0,sB,kTRUE)*in->Integral(low,A0+5.*sA,par,epsilon); - else if (I == 1) retval = TMath::LogNormal(x[0], sigma_b, 0., B0)*in->Integral(0.,A0+5.*sA,par,epsilon); - else if (I == 2) retval = TMath::GammaDist(x[0], sigma_b, 0., 1./tau_b)*in->Integral(0.,A0+5.*sA,par,epsilon); - else return 0; - delete in; - } - return retval; -} - -Double_t Inner(Double_t *x, Double_t *par) -{ - Double_t sigma, B; - // - B = par[0]; - sigma = par[1]; - if (lGauss) return TMath::Gaus(x[0],A0,sA,kTRUE)*TMath::Gaus(N-B-sigma*x[0],0.,TMath::Sqrt(N),kTRUE); - else if (I == 0) return TMath::Gaus(x[0],A0,sA,kTRUE)*Poisson(B+sigma*x[0],N); - else if (I == 1) return TMath::LogNormal(x[0], sigma_a, 0., A0)*Poisson(B+sigma*x[0],N); - else if (I == 2) return TMath::GammaDist(x[0], sigma_a, 0., 1./tau_a)*Poisson(B+sigma*x[0],N); - else return 0; -} - -Double_t Poisson(Double_t Mu, Int_t n) -{ - Double_t logP; - // - // Tabulate values of -\sum log(i+2) up to n=1000 for faster calculation - // - - // Double_t sum = 0.; - // for (Int_t j = 0; j < 999; j++) - // { - // sum -= log(j+2.); - // printf("%10f, ",sum); - // if (((j+1)/10)*10 == j + 1) printf("\n"); - // } - - Double_t logTable[999] = {-0.693147, -1.791759, -3.178054, -4.787492, -6.579251, -8.525161, -10.604603, -12.801827, -15.104413, -17.502308, - -19.987214, -22.552164, -25.191221, -27.899271, -30.671860, -33.505073, -36.395445, -39.339884, -42.335616, -45.380139, - -48.471181, -51.606676, -54.784729, -58.003605, -61.261702, -64.557539, -67.889743, -71.257039, -74.658236, -78.092224, - -81.557959, -85.054467, -88.580828, -92.136176, -95.719695, -99.330612, -102.968199, -106.631760, -110.320640, -114.034212, - -117.771881, -121.533082, -125.317271, -129.123934, -132.952575, -136.802723, -140.673924, -144.565744, -148.477767, -152.409593, - -156.360836, -160.331128, -164.320112, -168.327445, -172.352797, -176.395848, -180.456291, -184.533829, -188.628173, -192.739047, - -196.866182, -201.009316, -205.168199, -209.342587, -213.532241, -217.736934, -221.956442, -226.190548, -230.439044, -234.701723, - -238.978390, -243.268849, -247.572914, -251.890402, -256.221136, -260.564941, -264.921650, -269.291098, -273.673124, -278.067573, - -282.474293, -286.893133, -291.323950, -295.766601, -300.220949, -304.686857, -309.164194, -313.652830, -318.152640, -322.663499, - -327.185288, -331.717887, -336.261182, -340.815059, -345.379407, -349.954118, -354.539086, -359.134205, -363.739376, -368.354496, - -372.979469, -377.614198, -382.258589, -386.912549, -391.575988, -396.248817, -400.930948, -405.622296, -410.322777, -415.032307, - -419.750806, -424.478193, -429.214392, -433.959324, -438.712914, -443.475088, -448.245773, -453.024896, -457.812388, -462.608179, - -467.412200, -472.224384, -477.044665, -481.872979, -486.709261, -491.553448, -496.405478, -501.265291, -506.132825, -511.008023, - -515.890825, -520.781174, -525.679014, -530.584288, -535.496943, -540.416924, -545.344178, -550.278652, -555.220294, -560.169054, - -565.124881, -570.087726, -575.057539, -580.034273, -585.017879, -590.008312, -595.005524, -600.009471, -605.020106, -610.037386, - -615.061266, -620.091704, -625.128657, -630.172082, -635.221938, -640.278184, -645.340779, -650.409683, -655.484857, -660.566261, - -665.653857, -670.747608, -675.847474, -680.953420, -686.065407, -691.183401, -696.307365, -701.437264, -706.573062, -711.714726, - -716.862220, -722.015512, -727.174567, -732.339353, -737.509837, -742.685987, -747.867770, -753.055156, -758.248113, -763.446610, - -768.650617, -773.860103, -779.075039, -784.295395, -789.521141, -794.752250, -799.988692, -805.230439, -810.477463, -815.729736, - -820.987232, -826.249922, -831.517780, -836.790780, -842.068894, -847.352098, -852.640365, -857.933670, -863.231987, -868.535292, - -873.843560, -879.156766, -884.474886, -889.797896, -895.125772, -900.458491, -905.796029, -911.138363, -916.485471, -921.837329, - -927.193915, -932.555207, -937.921183, -943.291821, -948.667100, -954.046997, -959.431492, -964.820564, -970.214191, -975.612354, - -981.015031, -986.422203, -991.833849, -997.249950, -1002.670485, -1008.095435, -1013.524780, -1018.958502, -1024.396582, -1029.838999, - -1035.285737, -1040.736775, -1046.192096, -1051.651682, -1057.115514, -1062.583574, -1068.055844, -1073.532308, -1079.012947, -1084.497744, - -1089.986681, -1095.479743, -1100.976911, -1106.478169, -1111.983501, -1117.492889, -1123.006318, -1128.523771, -1134.045232, -1139.570685, - -1145.100114, -1150.633503, -1156.170838, -1161.712101, -1167.257279, -1172.806355, -1178.359314, -1183.916142, -1189.476824, -1195.041344, - -1200.609689, -1206.181843, -1211.757792, -1217.337522, -1222.921018, -1228.508267, -1234.099254, -1239.693965, -1245.292387, -1250.894506, - -1256.500308, -1262.109780, -1267.722908, -1273.339679, -1278.960080, -1284.584097, -1290.211718, -1295.842930, -1301.477720, -1307.116075, - -1312.757982, -1318.403428, -1324.052403, -1329.704892, -1335.360884, -1341.020366, -1346.683326, -1352.349753, -1358.019634, -1363.692957, - -1369.369711, -1375.049884, -1380.733463, -1386.420439, -1392.110798, -1397.804530, -1403.501624, -1409.202067, -1414.905850, -1420.612960, - -1426.323387, -1432.037120, -1437.754148, -1443.474460, -1449.198045, -1454.924892, -1460.654992, -1466.388333, -1472.124906, -1477.864699, - -1483.607702, -1489.353905, -1495.103298, -1500.855871, -1506.611613, -1512.370515, -1518.132566, -1523.897757, -1529.666078, -1535.437519, - -1541.212071, -1546.989723, -1552.770467, -1558.554292, -1564.341189, -1570.131149, -1575.924163, -1581.720221, -1587.519313, -1593.321432, - -1599.126567, -1604.934709, -1610.745850, -1616.559981, -1622.377092, -1628.197175, -1634.020221, -1639.846221, -1645.675166, -1651.507049, - -1657.341860, -1663.179590, -1669.020232, -1674.863776, -1680.710215, -1686.559540, -1692.411742, -1698.266814, -1704.124747, -1709.985533, - -1715.849165, -1721.715633, -1727.584930, -1733.457047, -1739.331978, -1745.209714, -1751.090247, -1756.973569, -1762.859673, -1768.748551, - -1774.640196, -1780.534598, -1786.431752, -1792.331650, -1798.234283, -1804.139645, -1810.047728, -1815.958524, -1821.872027, -1827.788229, - -1833.707123, -1839.628702, -1845.552957, -1851.479884, -1857.409473, -1863.341718, -1869.276612, -1875.214148, -1881.154319, -1887.097119, - -1893.042539, -1898.990574, -1904.941217, -1910.894460, -1916.850298, -1922.808722, -1928.769728, -1934.733307, -1940.699454, -1946.668161, - -1952.639423, -1958.613233, -1964.589584, -1970.568470, -1976.549884, -1982.533820, -1988.520272, -1994.509233, -2000.500698, -2006.494659, - -2012.491111, -2018.490048, -2024.491463, -2030.495350, -2036.501703, -2042.510516, -2048.521784, -2054.535499, -2060.551656, -2066.570249, - -2072.591272, -2078.614720, -2084.640586, -2090.668864, -2096.699550, -2102.732636, -2108.768117, -2114.805988, -2120.846243, -2126.888876, - -2132.933881, -2138.981253, -2145.030987, -2151.083076, -2157.137515, -2163.194299, -2169.253423, -2175.314879, -2181.378665, -2187.444773, - -2193.513198, -2199.583936, -2205.656981, -2211.732327, -2217.809969, -2223.889902, -2229.972121, -2236.056620, -2242.143395, -2248.232440, - -2254.323750, -2260.417320, -2266.513144, -2272.611219, -2278.711537, -2284.814096, -2290.918889, -2297.025912, -2303.135160, -2309.246627, - -2315.360309, -2321.476201, -2327.594299, -2333.714596, -2339.837089, -2345.961772, -2352.088641, -2358.217692, -2364.348918, -2370.482316, - -2376.617881, -2382.755608, -2388.895493, -2395.037530, -2401.181716, -2407.328045, -2413.476513, -2419.627116, -2425.779849, -2431.934707, - -2438.091686, -2444.250781, -2450.411988, -2456.575303, -2462.740721, -2468.908238, -2475.077848, -2481.249549, -2487.423335, -2493.599202, - -2499.777146, -2505.957163, -2512.139248, -2518.323397, -2524.509606, -2530.697870, -2536.888185, -2543.080548, -2549.274953, -2555.471397, - -2561.669876, -2567.870385, -2574.072920, -2580.277478, -2586.484054, -2592.692644, -2598.903244, -2605.115850, -2611.330458, -2617.547065, - -2623.765665, -2629.986255, -2636.208831, -2642.433390, -2648.659926, -2654.888437, -2661.118919, -2667.351367, -2673.585777, -2679.822147, - -2686.060472, -2692.300747, -2698.542971, -2704.787138, -2711.033244, -2717.281287, -2723.531263, -2729.783166, -2736.036995, -2742.292745, - -2748.550413, -2754.809994, -2761.071486, -2767.334884, -2773.600185, -2779.867386, -2786.136482, -2792.407471, -2798.680348, -2804.955110, - -2811.231753, -2817.510275, -2823.790671, -2830.072937, -2836.357071, -2842.643070, -2848.930928, -2855.220644, -2861.512213, -2867.805632, - -2874.100898, -2880.398007, -2886.696957, -2892.997742, -2899.300361, -2905.604810, -2911.911085, -2918.219184, -2924.529102, -2930.840837, - -2937.154385, -2943.469743, -2949.786908, -2956.105876, -2962.426644, -2968.749209, -2975.073568, -2981.399718, -2987.727655, -2994.057376, - -3000.388877, -3006.722157, -3013.057211, -3019.394037, -3025.732631, -3032.072990, -3038.415112, -3044.758992, -3051.104629, -3057.452018, - -3063.801157, -3070.152043, -3076.504672, -3082.859042, -3089.215150, -3095.572992, -3101.932566, -3108.293868, -3114.656896, -3121.021647, - -3127.388118, -3133.756305, -3140.126206, -3146.497818, -3152.871137, -3159.246162, -3165.622889, -3172.001315, -3178.381438, -3184.763254, - -3191.146760, -3197.531955, -3203.918834, -3210.307396, -3216.697636, -3223.089553, -3229.483144, -3235.878406, -3242.275335, -3248.673930, - -3255.074188, -3261.476105, -3267.879679, -3274.284908, -3280.691788, -3287.100316, -3293.510491, -3299.922310, -3306.335768, -3312.750865, - -3319.167598, -3325.585963, -3332.005958, -3338.427580, -3344.850827, -3351.275696, -3357.702184, -3364.130290, -3370.560009, -3376.991340, - -3383.424280, -3389.858827, -3396.294977, -3402.732729, -3409.172079, -3415.613026, -3422.055566, -3428.499697, -3434.945417, -3441.392723, - -3447.841612, -3454.292083, -3460.744132, -3467.197757, -3473.652955, -3480.109725, -3486.568063, -3493.027968, -3499.489436, -3505.952465, - -3512.417053, -3518.883198, -3525.350897, -3531.820147, -3538.290947, -3544.763293, -3551.237184, -3557.712616, -3564.189589, -3570.668098, - -3577.148143, -3583.629720, -3590.112827, -3596.597463, -3603.083624, -3609.571308, -3616.060512, -3622.551236, -3629.043476, -3635.537230, - -3642.032495, -3648.529270, -3655.027552, -3661.527339, -3668.028629, -3674.531419, -3681.035707, -3687.541491, -3694.048769, -3700.557538, - -3707.067797, -3713.579542, -3720.092772, -3726.607485, -3733.123678, -3739.641349, -3746.160496, -3752.681117, -3759.203210, -3765.726773, - -3772.251802, -3778.778297, -3785.306255, -3791.835674, -3798.366551, -3804.898886, -3811.432675, -3817.967916, -3824.504607, -3831.042747, - -3837.582333, -3844.123363, -3850.665835, -3857.209747, -3863.755097, -3870.301882, -3876.850101, -3883.399752, -3889.950832, -3896.503340, - -3903.057274, -3909.612630, -3916.169409, -3922.727607, -3929.287222, -3935.848253, -3942.410697, -3948.974552, -3955.539817, -3962.106490, - -3968.674567, -3975.244049, -3981.814932, -3988.387214, -3994.960895, -4001.535970, -4008.112440, -4014.690301, -4021.269553, -4027.850192, - -4034.432217, -4041.015626, -4047.600417, -4054.186589, -4060.774139, -4067.363066, -4073.953367, -4080.545040, -4087.138085, -4093.732498, - -4100.328279, -4106.925425, -4113.523934, -4120.123804, -4126.725034, -4133.327622, -4139.931566, -4146.536864, -4153.143514, -4159.751515, - -4166.360864, -4172.971560, -4179.583601, -4186.196985, -4192.811711, -4199.427776, -4206.045179, -4212.663918, -4219.283991, -4225.905397, - -4232.528133, -4239.152198, -4245.777591, -4252.404308, -4259.032350, -4265.661713, -4272.292396, -4278.924398, -4285.557717, -4292.192350, - -4298.828297, -4305.465555, -4312.104122, -4318.743998, -4325.385180, -4332.027667, -4338.671457, -4345.316548, -4351.962938, -4358.610627, - -4365.259611, -4371.909890, -4378.561462, -4385.214325, -4391.868478, -4398.523918, -4405.180645, -4411.838656, -4418.497950, -4425.158525, - -4431.820380, -4438.483512, -4445.147921, -4451.813605, -4458.480562, -4465.148790, -4471.818288, -4478.489054, -4485.161087, -4491.834385, - -4498.508947, -4505.184770, -4511.861853, -4518.540196, -4525.219795, -4531.900649, -4538.582758, -4545.266119, -4551.950731, -4558.636592, - -4565.323700, -4572.012055, -4578.701654, -4585.392497, -4592.084580, -4598.777904, -4605.472466, -4612.168265, -4618.865299, -4625.563567, - -4632.263068, -4638.963799, -4645.665759, -4652.368947, -4659.073361, -4665.779001, -4672.485863, -4679.193947, -4685.903251, -4692.613774, - -4699.325515, -4706.038471, -4712.752642, -4719.468025, -4726.184620, -4732.902424, -4739.621438, -4746.341658, -4753.063083, -4759.785713, - -4766.509546, -4773.234579, -4779.960813, -4786.688244, -4793.416873, -4800.146697, -4806.877715, -4813.609926, -4820.343328, -4827.077919, - -4833.813700, -4840.550666, -4847.288819, -4854.028156, -4860.768675, -4867.510376, -4874.253256, -4880.997315, -4887.742552, -4894.488964, - -4901.236550, -4907.985310, -4914.735241, -4921.486343, -4928.238613, -4934.992051, -4941.746655, -4948.502424, -4955.259356, -4962.017451, - -4968.776706, -4975.537121, -4982.298694, -4989.061423, -4995.825308, -5002.590347, -5009.356539, -5016.123882, -5022.892375, -5029.662017, - -5036.432806, -5043.204742, -5049.977822, -5056.752046, -5063.527412, -5070.303919, -5077.081566, -5083.860351, -5090.640273, -5097.421330, - -5104.203522, -5110.986848, -5117.771305, -5124.556892, -5131.343609, -5138.131454, -5144.920426, -5151.710523, -5158.501745, -5165.294089, - -5172.087555, -5178.882142, -5185.677848, -5192.474671, -5199.272612, -5206.071668, -5212.871838, -5219.673121, -5226.475515, -5233.279021, - -5240.083635, -5246.889358, -5253.696187, -5260.504122, -5267.313161, -5274.123304, -5280.934548, -5287.746893, -5294.560338, -5301.374881, - -5308.190521, -5315.007257, -5321.825087, -5328.644011, -5335.464028, -5342.285135, -5349.107333, -5355.930619, -5362.754992, -5369.580452, - -5376.406998, -5383.234627, -5390.063339, -5396.893133, -5403.724007, -5410.555960, -5417.388992, -5424.223101, -5431.058286, -5437.894545, - -5444.731878, -5451.570283, -5458.409759, -5465.250306, -5472.091921, -5478.934605, -5485.778355, -5492.623170, -5499.469050, -5506.315993, - -5513.163998, -5520.013065, -5526.863191, -5533.714376, -5540.566618, -5547.419917, -5554.274272, -5561.129681, -5567.986143, -5574.843657, - -5581.702222, -5588.561837, -5595.422500, -5602.284212, -5609.146970, -5616.010773, -5622.875621, -5629.741512, -5636.608445, -5643.476419, - -5650.345434, -5657.215487, -5664.086579, -5670.958707, -5677.831871, -5684.706069, -5691.581301, -5698.457566, -5705.334862, -5712.213188, - -5719.092544, -5725.972928, -5732.854339, -5739.736777, -5746.620240, -5753.504726, -5760.390236, -5767.276768, -5774.164320, -5781.052893, - -5787.942484, -5794.833093, -5801.724719, -5808.617361, -5815.511017, -5822.405687, -5829.301370, -5836.198064, -5843.095769, -5849.994483, - -5856.894207, -5863.794937, -5870.696674, -5877.599417, -5884.503164, -5891.407915, -5898.313668, -5905.220423, -5912.128178 }; - - logP = -Mu + n*log(Mu); - if (n >= 2) logP += logTable[TMath::Min(n,1000)-2]; - - for (Int_t i = 1001; i <= n; i++) logP -= log((Double_t) i); - - return exp(logP); -}// - -Double_t CLA(Double_t ilum, Double_t slum, Double_t eff, Double_t seff, Double_t bck, Double_t sbck, Int_t bckint) -{ - plot = kFALSE; - Double_t CL95A = 0, precision = 1.e-4; - Int_t i; - for (i = bck; i >= 0; i--) - { -// - Double_t s95 = CL95(ilum, slum, eff, seff, bck, sbck, i, kFALSE, bckint); - Double_t s95w =s95*Poisson(bck,i); - CL95A += s95w; -// cout << "n = " << i << "; 95% C.L. = " << s95 << " pb; weighted 95% C.L. = " << s95w << " pb; running = " << CL95A << " pb" << endl; -// - if (s95w < CL95A*precision) break; - } -// cout << "Lower bound on n has been found at " << i+1 << endl; -// - for (i = bck+1; ; i++) - { - Double_t s95 = CL95(ilum, slum, eff, seff, bck, sbck, i, kFALSE, bckint); - Double_t s95w =s95*Poisson(bck,i); - CL95A += s95w; -// cout << "n = " << i << "; 95% C.L. = " << s95 << " pb; weighted 95% C.L. = " << s95w << " pb; running = " << CL95A << " pb" << endl; -// - if (s95w < CL95A*precision) break; - } -// cout << "Upper bound on n has been found at " << i << endl; -// -// cout << "Average upper 95% C.L. limit = " << CL95A << " pb" << endl; - return CL95A; -} - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.C deleted file mode 100644 index 56b66aa0450c5..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.C +++ /dev/null @@ -1,551 +0,0 @@ - -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphAsymmErrors.h" -#include "TPaveText.h" -#include "tdrstyle.C" -#include "TRandom3.h" -#include "TProfile.h" -#include "TDirectory.h" - - -class SiStripCluster; -namespace reco { class Vertex; class Track; class GenParticle; class DeDxData; class MuonTimeExtra;} -namespace susybsm { class HSCParticle; class HSCPIsolation;} -namespace fwlite { class ChainEvent;} -namespace trigger { class TriggerEvent;} -namespace edm {class TriggerResults; class TriggerResultsByName; class InputTag;} - - -#if !defined(__CINT__) && !defined(__MAKECINT__) -#include "DataFormats/FWLite/interface/Handle.h" -#include "DataFormats/FWLite/interface/Event.h" -#include "DataFormats/FWLite/interface/ChainEvent.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPIsolation.h" -#include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" -#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" - -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/Common/interface/TriggerResults.h" - -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h" -#include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h" - -using namespace fwlite; -using namespace reco; -using namespace susybsm; -using namespace std; -using namespace edm; -using namespace trigger; -#endif - - -#include "Analysis_Global.h" -#include "Analysis_CommonFunction.h" -#include "Analysis_PlotFunction.h" -#include "Analysis_PlotStructure.h" -#include "Analysis_Samples.h" - - -std::vector signals; -std::vector MCsample; -std::vector DataFileName; -double CutMass; - -double CutPt; -double CutI; -double CutTOF; - -bool shapeSelection(const std::vector & ampls) -{ - // ---------------- COMPTAGE DU NOMBRE DE MAXIMA -------------------------- - //---------------------------------------------------------------------------- -// printf("ShapeTest \n"); - Int_t NofMax=0; Int_t recur255=1; Int_t recur254=1; - bool MaxOnStart=false;bool MaxInMiddle=false, MaxOnEnd =false; - Int_t MaxPos=0; - // Début avec max - if(ampls.size()!=1 && ((ampls[0]>ampls[1]) - || (ampls.size()>2 && ampls[0]==ampls[1] && ampls[1]>ampls[2] && ampls[0]!=254 && ampls[0]!=255) - || (ampls.size()==2 && ampls[0]==ampls[1] && ampls[0]!=254 && ampls[0]!=255)) ){ - NofMax=NofMax+1; MaxOnStart=true; } - - // Maximum entouré - if(ampls.size()>2){ - for (unsigned int i =1; i < ampls.size()-1; i++) { - if( (ampls[i]>ampls[i-1] && ampls[i]>ampls[i+1]) - || (ampls.size()>3 && i>0 && iampls[i-1] && ampls[i]>ampls[i+2] && ampls[i]!=254 && ampls[i]!=255) ){ - NofMax=NofMax+1; MaxInMiddle=true; MaxPos=i; - } - if(ampls[i]==255 && ampls[i]==ampls[i-1]) { - recur255=recur255+1; - MaxPos=i-(recur255/2); - if(ampls[i]>ampls[i+1]){NofMax=NofMax+1;MaxInMiddle=true;} - } - if(ampls[i]==254 && ampls[i]==ampls[i-1]) { - recur254=recur254+1; - MaxPos=i-(recur254/2); - if(ampls[i]>ampls[i+1]){NofMax=NofMax+1;MaxInMiddle=true;} - } - } - } - // Fin avec un max - if(ampls.size()>1){ - if(ampls[ampls.size()-1]>ampls[ampls.size()-2] - || (ampls.size()>2 && ampls[ampls.size()-1]==ampls[ampls.size()-2] && ampls[ampls.size()-2]>ampls[ampls.size()-3] ) - || ampls[ampls.size()-1]==255){ - NofMax=NofMax+1; MaxOnEnd=true; } - } - // Si une seule strip touchée - if(ampls.size()==1){ NofMax=1;} - - // --- SELECTION EN FONCTION DE LA FORME POUR LES MAXIMA UNIQUES --------- - //------------------------------------------------------------------------ - /* - ____ - | |____ - ____| | | - | | | |____ - ____| | | | | - | | | | | |____ - __|____|____|____|____|____|____|__ - C_Mnn C_Mn C_M C_D C_Dn C_Dnn - */ -// bool shapetest=true; - bool shapecdtn=false; - -// Float_t C_M; Float_t C_D; Float_t C_Mn; Float_t C_Dn; Float_t C_Mnn; Float_t C_Dnn; - Float_t C_M=0.0; Float_t C_D=0.0; Float_t C_Mn=10000; Float_t C_Dn=10000; Float_t C_Mnn=10000; Float_t C_Dnn=10000; - Int_t CDPos; - Float_t coeff1=1.7; Float_t coeff2=2.0; - Float_t coeffn=0.10; Float_t coeffnn=0.02; Float_t noise=4.0; - - if(NofMax==1){ - - if(MaxOnStart==true){ - C_M=(Float_t)ampls[0]; C_D=(Float_t)ampls[1]; - if(ampls.size()<3) shapecdtn=true ; - else if(ampls.size()==3){C_Dn=(Float_t)ampls[2] ; if(C_Dn<=coeff1*coeffn*C_D+coeff2*coeffnn*C_M+2*noise || C_D==255) shapecdtn=true;} - else if(ampls.size()>3){ C_Dn=(Float_t)ampls[2]; C_Dnn=(Float_t)ampls[3] ; - if((C_Dn<=coeff1*coeffn*C_D+coeff2*coeffnn*C_M+2*noise || C_D==255) - && C_Dnn<=coeff1*coeffn*C_Dn+coeff2*coeffnn*C_D+2*noise){ - shapecdtn=true;} - } - } - - if(MaxOnEnd==true){ - C_M=(Float_t)ampls[ampls.size()-1]; C_D=(Float_t)ampls[ampls.size()-2]; - if(ampls.size()<3) shapecdtn=true ; - else if(ampls.size()==3){C_Dn=(Float_t)ampls[0] ; if(C_Dn<=coeff1*coeffn*C_D+coeff2*coeffnn*C_M+2*noise || C_D==255) shapecdtn=true;} - else if(ampls.size()>3){C_Dn=(Float_t)ampls[ampls.size()-3] ; C_Dnn=(Float_t)ampls[ampls.size()-4] ; - if((C_Dn<=coeff1*coeffn*C_D+coeff2*coeffnn*C_M+2*noise || C_D==255) - && C_Dnn<=coeff1*coeffn*C_Dn+coeff2*coeffnn*C_D+2*noise){ - shapecdtn=true;} - } - } - if(MaxInMiddle==true){ - C_M=(Float_t)ampls[MaxPos]; - int LeftOfMaxPos=MaxPos-1;if(LeftOfMaxPos<=0)LeftOfMaxPos=0; - int RightOfMaxPos=MaxPos+1;if(RightOfMaxPos>=(int)ampls.size())RightOfMaxPos=ampls.size()-1; - //int after = RightOfMaxPos; int before = LeftOfMaxPos; if (after>=(int)ampls.size() || before<0) std::cout<<"invalid read MaxPos:"<3){ - if(CDPos>MaxPos){ - if(ampls.size()-CDPos-1==0){ - C_Dn=0; C_Dnn=0; - } - if(ampls.size()-CDPos-1==1){ - C_Dn=(Float_t)ampls[CDPos+1]; - C_Dnn=0; - } - if(ampls.size()-CDPos-1>1){ - C_Dn=(Float_t)ampls[CDPos+1]; - C_Dnn=(Float_t)ampls[CDPos+2]; - } - if(MaxPos>=2){ - C_Mnn=(Float_t)ampls[MaxPos-2]; - } - else if(MaxPos<2) C_Mnn=0; - } - if(CDPos1){ - C_Dn=(Float_t)ampls[CDPos-1]; - C_Dnn=(Float_t)ampls[CDPos-2]; - } - if(ampls.size()-LeftOfMaxPos>1 && MaxPos+2<(int)(ampls.size())-1){ - C_Mnn=(Float_t)ampls[MaxPos+2]; - }else C_Mnn=0; - } - if((C_Dn<=coeff1*coeffn*C_D+coeff2*coeffnn*C_M+2*noise || C_D==255) - && C_Mnn<=coeff1*coeffn*C_Mn+coeff2*coeffnn*C_M+2*noise - && C_Dnn<=coeff1*coeffn*C_Dn+coeff2*coeffnn*C_D+2*noise) { - shapecdtn=true; - } - - } - } - } - } - if(ampls.size()==1){shapecdtn=true;} - - return shapecdtn; -} - - -void printCluster(FILE* pFile, const SiStripCluster* Cluster) -{ -// const vector& Ampls = Cluster->amplitudes(); - const vector& Ampls = Cluster->amplitudes(); - uint32_t DetId = Cluster->geographicalId(); - - int Charge=0; - for(unsigned int i=0;i %4i = %3i ",DetId,Charge,Ampls[0]); - for(unsigned int i=1;i > vertexCollHandle; - vertexCollHandle.getByLabel(ev,"offlinePrimaryVertices"); - if(!vertexCollHandle.isValid()){printf("Vertex Collection NotFound\n");return;} - std::vector vertexColl = *vertexCollHandle; - if(vertexColl.size()<1){printf("NO VERTEX\n"); return;} - const reco::Vertex& vertex = vertexColl[0]; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(ev, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");return;} - DeDxData dedxSObj = dEdxSCollH->get(track.key()); - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(ev, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");return;} - DeDxData dedxMObj = dEdxMCollH->get(track.key()); - - fwlite::Handle dEdxMNPCollH; - dEdxMNPCollH.getByLabel(ev, "dedxNPHarm2"); - if(!dEdxMNPCollH.isValid()){printf("Invalid dEdx Mass collection\n");return;} - DeDxData dedxMNPObj = dEdxMNPCollH->get(track.key()); - - fwlite::Handle TOFDTCollH; - TOFDTCollH.getByLabel(ev, "muontiming","dt"); - if(!TOFDTCollH.isValid()){printf("Invalid TOF DT collection\n");return;} - - fwlite::Handle TOFCSCCollH; - TOFCSCCollH.getByLabel(ev, "muontiming","csc"); - if(!TOFDTCollH.isValid()){printf("Invalid TOF CSC collection\n");return;} - - fwlite::Handle TOFCombCollH; - TOFCombCollH.getByLabel(ev, "muontiming","combined"); - if(!TOFCombCollH.isValid()){printf("Invalid TOF Combined collection\n");return;} - const reco::MuonTimeExtra* tof = NULL; - if(!hscp.muonRef().isNull()){ tof = &TOFCombCollH->get(hscp.muonRef().key()); } - - - if(track->pt()<=CutPt || dedxSObj.dEdx()<=CutI)return; - if(CutTOF>-1 && tof && tof->inverseBeta()<=CutTOF)return; - - double Mass = GetMass(track->p(),dedxMObj.dEdx()); - if(Massdz (vertex.position()); - double dxy = track->dxy(vertex.position()); - for(unsigned int i=1;idz (vertexColl[i].position())) < fabs(dz) ){ - dz = track->dz (vertexColl[i].position()); - dxy = track->dxy(vertexColl[i].position()); - } - } - double v3d = sqrt(dz*dz+dxy*dxy); - - fprintf(pFile,"\n"); - fprintf(pFile,"---------------------------------------------------------------------------------------------------\n"); - fprintf(pFile,"Candidate Type = %i --> Mass : %7.2f\n",hscp.type(),Mass); - fprintf(pFile,"------------------------------------------ EVENT INFO ---------------------------------------------\n"); - fprintf(pFile,"Run=%i Lumi=%i Event=%i BX=%i Orbit=%i Store=%i\n",ev.eventAuxiliary().run(),ev.eventAuxiliary().luminosityBlock(),ev.eventAuxiliary().event(),ev.eventAuxiliary().luminosityBlock(),ev.eventAuxiliary().orbitNumber(),ev.eventAuxiliary().storeNumber()); - //edm::TriggerResultsByName tr = ev.triggerResultsByName("Merge"); - //fprintf(pFile,"Trigger: SingleMu=%i DoubleMu=%i PFMHT=%i (CaloMET=%i)\n",(int)tr.accept(tr.triggerIndex("HscpPathSingleMu")), (int)tr.accept(tr.triggerIndex("HscpPathDoubleMu")), (int)tr.accept(tr.triggerIndex("HscpPathPFMet")), (int)tr.accept(tr.triggerIndex("HscpPathCaloMet"))); - fprintf(pFile,"------------------------------------------ INNER TRACKER ------------------------------------------\n"); - fprintf(pFile,"Quality = %i Chi2/NDF=%6.2f dz=+%6.2f dxy=%+6.2f V3D=%+6.2f charge:%+i\n",track->qualityMask(), track->chi2()/track->ndof(), dz, dxy, v3d, track->charge()); - fprintf(pFile,"P=%7.2f Pt=%7.2f+-%6.2f (Cut=%6.2f) Eta=%+6.2f Phi=%+6.2f NOH=%2i\n",track->p(),track->pt(), track->ptError(), CutPt, track->eta(), track->phi(), track->found() ); - - fprintf(pFile,"------------------------------------------ DEDX INFO ----------------------------------------------\n"); - fprintf(pFile,"dEdx for selection :%6.2f (Cut=%6.2f) NOM %2i NOS %2i\n",dedxSObj.dEdx(),CutI,dedxSObj.numberOfMeasurements(),dedxSObj.numberOfSaturatedMeasurements()); - fprintf(pFile,"dEdx for mass reco :%6.2f NOM %2i NOS %2i --> Beta dEdx = %6.2f\n",dedxMObj.dEdx(),dedxMObj.numberOfMeasurements(),dedxMObj.numberOfSaturatedMeasurements(), GetIBeta(dedxMObj.dEdx()) ); - fprintf(pFile,"dEdx for mass reco (NP):%6.2f NOM %2i NOS %2i --> Beta dEdx = %6.2f\n",dedxMNPObj.dEdx(),dedxMNPObj.numberOfMeasurements(),dedxMNPObj.numberOfSaturatedMeasurements(), GetIBeta(dedxMNPObj.dEdx()) ); - - fprintf(pFile,"dEdx mass error :%6.2f (1Sigma dEdx) or %6.2f (1Sigma P)\n", GetMass(track->p(),0.95*dedxMObj.dEdx()), GetMass(track->p()*(1-track->ptError()/track->pt()),dedxMObj.dEdx()) ); - - for(unsigned int h=0;hrecHitsSize();h++){ - TrackingRecHit* recHit = (track->recHit(h))->clone(); - if(const SiStripMatchedRecHit2D* matchedHit=dynamic_cast(recHit)){ - fprintf(pFile,"Mono Hit "); printCluster(pFile,(matchedHit->monoHit()->cluster()).get()); - fprintf(pFile,"StereoHit ");printCluster(pFile,(matchedHit->stereoHit()->cluster()).get()); - }else if(const SiStripRecHit2D* singleHit=dynamic_cast(recHit)){ - fprintf(pFile,"2D Hit ");printCluster(pFile,(singleHit->cluster()).get()); - }else if(const SiStripRecHit1D* single1DHit=dynamic_cast(recHit)){ - fprintf(pFile,"1D Hit ");printCluster(pFile,(single1DHit->cluster()).get()); - }else if(const SiPixelRecHit* pixelHit=dynamic_cast(recHit)){ - fprintf(pFile,"Pixel Hit --> Charge = %i\n",(int)pixelHit->cluster()->charge()); - } - } - - if(!muon.isNull()){ - fprintf(pFile,"------------------------------------------ MUON INFO ----------------------------------------------\n"); - MuonTimeExtra tofDT = TOFDTCollH->get(hscp.muonRef().key()); - MuonTimeExtra tofCSC = TOFCSCCollH->get(hscp.muonRef().key()); - MuonTimeExtra tofComb = TOFCombCollH->get(hscp.muonRef().key()); - - fprintf(pFile,"MassTOF = %7.2fGeV\n",GetTOFMass(track->p(),tofComb.inverseBeta())); - - fprintf(pFile,"Quality=%i type=%i P=%7.2f Pt=%7.2f Eta=%+6.2f Phi=%+6.2f #Chambers=%i\n" ,muon->isQualityValid(),muon->type(),muon->p(),muon->pt(),muon->eta(),muon->phi(),muon->numberOfChambers()); - fprintf(pFile,"muonTimeDT : NDOF=%2i InvBeta=%6.2f+-%6.2f (Cut=%6.2f) --> beta=%6.2f FreeInvBeta=%6.2f+-%6.2f\n",tofDT .nDof(),tofDT .inverseBeta(), tofDT .inverseBetaErr(), CutTOF, (1.0/tofDT .inverseBeta()), tofDT .freeInverseBeta(),tofDT .freeInverseBetaErr()); - fprintf(pFile,"muonTimeCSC : NDOF=%2i InvBeta=%6.2f+-%6.2f (Cut=%6.2f) --> beta=%6.2f FreeInvBeta=%6.2f+-%6.2f\n",tofCSC .nDof(),tofCSC .inverseBeta(), tofCSC .inverseBetaErr(), CutTOF, (1.0/tofCSC .inverseBeta()), tofCSC .freeInverseBeta(),tofCSC .freeInverseBetaErr()); - fprintf(pFile,"muonTimeCombined: NDOF=%2i InvBeta=%6.2f+-%6.2f (Cut=%6.2f) --> beta=%6.2f FreeInvBeta=%6.2f+-%6.2f\n",tofComb.nDof(),tofComb.inverseBeta(), tofComb.inverseBetaErr(), CutTOF, (1.0/tofComb.inverseBeta()), tofComb.freeInverseBeta(),tofComb.freeInverseBetaErr()); - } - if(hscp.hasRpcInfo()){ - fprintf(pFile,"------------------------------------------ RPC INFO -----------------------------------------------\n"); - fprintf(pFile,"isCandidate %i Beta=%6.2f\n",hscp.rpc().isCandidate,hscp.rpc().beta); - } - if(hscp.hasCaloInfo() && hscp.caloInfoRef()->ecalTime!=-9999){ - fprintf(pFile,"------------------------------------------ CALO INFO ----------------------------------------------\n"); - fprintf(pFile,"HCAL: E=%6.2f E3x3=%6.2f E5x5=%6.2f HO E=%6.2f\n",hscp.caloInfoRef()->hcalCrossedEnergy,hscp.caloInfoRef()->hcal3by3dir, hscp.caloInfoRef()->hcal5by5dir, hscp.caloInfoRef()->hoCrossedEnergy); - fprintf(pFile,"ECAL: E=%6.2f E3x3=%6.2f E5x5=%6.2f\n" ,hscp.caloInfoRef()->ecalCrossedEnergy,hscp.caloInfoRef()->ecal3by3dir, hscp.caloInfoRef()->ecal5by5dir); - fprintf(pFile,"ECAL: time=%6.2f beta=%6.2f trkisodr=%6.2f\n" ,hscp.caloInfoRef()->ecalTime ,hscp.caloInfoRef()->ecalBeta , hscp.caloInfoRef()->trkIsoDr); - } - - fprintf(pFile,"------------------------------------------ ISOL INFO ----------------------------------------------\n"); - fwlite::Handle IsolationH05; - IsolationH05.getByLabel(ev, "HSCPIsolation05"); - if(!IsolationH05.isValid()){printf("Invalid IsolationH\n");return;} - const ValueMap& IsolationMap05 = *IsolationH05.product(); - - fwlite::Handle IsolationH03; - IsolationH03.getByLabel(ev, "HSCPIsolation03"); - if(!IsolationH03.isValid()){printf("Invalid IsolationH\n");return;} - const ValueMap& IsolationMap03 = *IsolationH03.product(); - - fwlite::Handle IsolationH01; - IsolationH01.getByLabel(ev, "HSCPIsolation01"); - if(!IsolationH01.isValid()){printf("Invalid IsolationH\n");return;} - const ValueMap& IsolationMap01 = *IsolationH01.product(); - - HSCPIsolation hscpIso05 = IsolationMap05.get((size_t)track.key()); - HSCPIsolation hscpIso03 = IsolationMap03.get((size_t)track.key()); - HSCPIsolation hscpIso01 = IsolationMap01.get((size_t)track.key()); - fprintf(pFile,"Isolation05 --> TkCount=%6.2f TkSumEt=%6.2f EcalE/P=%6.2f HcalE/P=%6.2f --> E/P=%6.2f\n",hscpIso05.Get_TK_Count(), hscpIso05.Get_TK_SumEt(), hscpIso05.Get_ECAL_Energy()/track->p(), hscpIso05.Get_HCAL_Energy()/track->p(), (hscpIso05.Get_ECAL_Energy()+hscpIso05.Get_HCAL_Energy())/track->p()); - fprintf(pFile,"Isolation03 --> TkCount=%6.2f TkSumEt=%6.2f EcalE/P=%6.2f HcalE/P=%6.2f --> E/P=%6.2f\n",hscpIso03.Get_TK_Count(), hscpIso03.Get_TK_SumEt(), hscpIso03.Get_ECAL_Energy()/track->p(), hscpIso03.Get_HCAL_Energy()/track->p(), (hscpIso03.Get_ECAL_Energy()+hscpIso03.Get_HCAL_Energy())/track->p()); - fprintf(pFile,"Isolation01 --> TkCount=%6.2f TkSumEt=%6.2f EcalE/P=%6.2f HcalE/P=%6.2f --> E/P=%6.2f\n",hscpIso01.Get_TK_Count(), hscpIso01.Get_TK_SumEt(), hscpIso01.Get_ECAL_Energy()/track->p(), hscpIso01.Get_HCAL_Energy()/track->p(), (hscpIso01.Get_ECAL_Energy()+hscpIso01.Get_HCAL_Energy())/track->p()); - fprintf(pFile,"\n"); -} - -bool PassTrigger(const fwlite::ChainEvent& ev) -{ - fwlite::Handle hTriggerResults; - hTriggerResults.getByLabel(ev, "TriggerResults", "", "Merge"); - if(!hTriggerResults.isValid()) return false; - - edm::TriggerResultsByName tr = ev.triggerResultsByName(*hTriggerResults); - if(!tr.isValid())return false; - if(tr.accept(tr.triggerIndex("HscpPathMu")))return true; - if(tr.accept(tr.triggerIndex("HscpPathMet")))return true; - return false; -} - - -void DumpInfo(string Pattern, int CutIndex=0, double MassMin=0) -{ - CutMass = MassMin; - - - setTDRStyle(); - gStyle->SetPadTopMargin (0.05); - gStyle->SetPadBottomMargin(0.10); - gStyle->SetPadRightMargin (0.18); - gStyle->SetPadLeftMargin (0.13); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505); - TH1::AddDirectory(kTRUE); - - - GetSignalDefinition(signals); - GetMCDefinition(MCsample); - GetInputFiles(DataFileName, "Data"); - - TFile* InputFile = new TFile((Pattern + "/Histos_Data.root").c_str()); - TH1D* HCuts_Pt = (TH1D*)GetObjectFromPath(InputFile, "HCuts_Pt"); - TH1D* HCuts_I = (TH1D*)GetObjectFromPath(InputFile, "HCuts_I"); - TH1D* HCuts_TOF = (TH1D*)GetObjectFromPath(InputFile, "HCuts_TOF"); - TH1D* H_A = (TH1D*)GetObjectFromPath(InputFile, "H_A"); - TH1D* H_B = (TH1D*)GetObjectFromPath(InputFile, "H_B"); - TH1D* H_C = (TH1D*)GetObjectFromPath(InputFile, "H_C"); - TH1D* H_D = (TH1D*)GetObjectFromPath(InputFile, "H_D"); - TH1D* H_E = (TH1D*)GetObjectFromPath(InputFile, "H_E"); - TH1D* H_F = (TH1D*)GetObjectFromPath(InputFile, "H_F"); - TH1D* H_G = (TH1D*)GetObjectFromPath(InputFile, "H_G"); - TH1D* H_H = (TH1D*)GetObjectFromPath(InputFile, "H_H"); - TH1D* H_P = (TH1D*)GetObjectFromPath(InputFile, "H_P"); - CutPt = HCuts_Pt ->GetBinContent(CutIndex+1); - CutI = HCuts_I ->GetBinContent(CutIndex+1); - CutTOF = HCuts_TOF->GetBinContent(CutIndex+1); - - - - TTree* tree = (TTree*)GetObjectFromPath(InputFile, "Data/HscpCandidates"); - printf("Tree Entries=%lli\n",tree->GetEntries()); - - fwlite::ChainEvent ev(DataFileName); - - - unsigned int Run, Event, HscpI; - float Pt, I, TOF; - - tree->SetBranchAddress("Run" ,&Run); - tree->SetBranchAddress("Event",&Event); - tree->SetBranchAddress("Hscp" ,&HscpI); - tree->SetBranchAddress("Pt" ,&Pt); - tree->SetBranchAddress("I" ,&I); - tree->SetBranchAddress("TOF" ,&TOF); - - FILE* pFile = fopen("DumpInfo.txt","w"); - fprintf(pFile, "A = %6.2E\n",H_A->GetBinContent(CutIndex+1)); - fprintf(pFile, "B = %6.2E\n",H_B->GetBinContent(CutIndex+1)); - fprintf(pFile, "C = %6.2E\n",H_C->GetBinContent(CutIndex+1)); - fprintf(pFile, "D = %6.2E\n",H_D->GetBinContent(CutIndex+1)); - fprintf(pFile, "E = %6.2E\n",H_E->GetBinContent(CutIndex+1)); - fprintf(pFile, "F = %6.2E\n",H_F->GetBinContent(CutIndex+1)); - fprintf(pFile, "G = %6.2E\n",H_G->GetBinContent(CutIndex+1)); - fprintf(pFile, "H = %6.2E\n",H_H->GetBinContent(CutIndex+1)); - fprintf(pFile, "OBSERVED EVENTS = %6.2E\n",H_D->GetBinContent(CutIndex+1)); - fprintf(pFile, "PREDICTED EVENTS = %6.2E+-%6.2E\n",H_P->GetBinContent(CutIndex+1), H_P->GetBinError(CutIndex+1)); - - - printf("Progressing Bar :0%% 20%% 40%% 60%% 80%% 100%%\n"); - printf("Scanning D :"); - int TreeStep = tree->GetEntries()/50;if(TreeStep==0)TreeStep=1; - for (Int_t i=0;iGetEntries();i++){ - if(i%TreeStep==0){printf(".");fflush(stdout);} - tree->GetEntry(i); -// printf("%6i %9i %1i %6.2f %6.2f %6.2f\n",Run,Event,HscpI,Pt,I,TOF); - - if(Pt<=CutPt || I<=CutI || (CutTOF>-1 && TOF<=CutTOF))continue; - - ev.to(Run, Event); - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(ev,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - const susybsm::HSCParticleCollection& hscpColl = *hscpCollHandle; - - susybsm::HSCParticle hscp = hscpColl[HscpI]; - DumpCandidateInfo(hscp, ev, pFile); - - }printf("\n"); - fclose(pFile); - - - - - -/* - fwlite::ChainEvent treeD(DataFileName); - SetWeight(-1); - printf("Progressing Bar :0%% 20%% 40%% 60%% 80%% 100%%\n"); - printf("Scanning D :"); - TreeStep = treeD.size()/50;if(TreeStep==0)TreeStep=1; - - for(Long64_t ientry=0;ientry0 && ientry>MaxEntry)break; - if(ientry%TreeStep==0){printf(".");fflush(stdout);} - - DataPlots.TotalE->Fill(0.0,Event_Weight); - if(!PassTrigger(treeD) )continue; - DataPlots.TotalTE->Fill(0.0,Event_Weight); - - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(treeD,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - const susybsm::HSCParticleCollection& hscpColl = *hscpCollHandle; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(treeD, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");continue;} - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(treeD, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle TOFCollH; - TOFCollH.getByLabel(treeD, "muontiming",TOF_Label.c_str()); - if(!TOFCollH.isValid()){printf("Invalid TOF collection\n");return;} - - bool* HSCPTk = new bool[CutPt.size()]; for(unsigned int CutIndex=0;CutIndexget(track.key()); - const DeDxData& dedxMObj = dEdxMCollH->get(track.key()); - const reco::MuonTimeExtra* tof = NULL; - if(TypeMode==2 && !hscp.muonRef().isNull()){ tof = &TOFCollH->get(hscp.muonRef().key()); } - - - double MuonTOF = GlobalMinTOF; - if(tof){MuonTOF = tof->inverseBeta(); } - if(track->pt()>40 && Mass>75)stPlots_FillTree(DataPlots, treeD.eventAuxiliary().run(),treeD.eventAuxiliary().event(), c, track->pt(), dedxSObj.dEdx(), tof ? tof->inverseBeta() : -1); - } // end of Track Loop - for(unsigned int CutIndex=0;CutIndexFill(CutIndex,Event_Weight); } } - }// end of Event Loop - //stPlots_CloseTree(DataPlots); - printf("\n"); -*/ -} diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.sh b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.sh deleted file mode 100644 index d464ec66c43e9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/DumpInfo.sh +++ /dev/null @@ -1,16 +0,0 @@ -root -l -b << EOF - TString makeshared(gSystem->GetMakeSharedLib()); - TString dummy = makeshared.ReplaceAll("-W ", ""); - TString dummy = makeshared.ReplaceAll("-Wshadow ", ""); - gSystem->SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so"); - gSystem->Load("libDataFormatsVertexReco.so"); - gSystem->Load("libDataFormatsCommon.so"); - gSystem->Load("libDataFormatsHepMCCandidate.so"); - gSystem->Load("libDataFormatsTrackerRecHit2D.so"); - .x DumpInfo.C++("Results/dedxASmi/combined/Eta15/PtMin35/Type0/",2,500); -EOF - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Launch.py b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Launch.py deleted file mode 100644 index ba90f857ff6ed..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/Launch.py +++ /dev/null @@ -1,232 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function -import urllib -import string -import os -import sys -import LaunchOnCondor -import glob - -def ComputeLimits(InputPattern, syst): -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300_2C"' , '"Gluino300"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400_2C"' , '"Gluino400"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500_2C"' , '"Gluino500"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600_2C"' , '"Gluino600"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700_2C"' , '"Gluino700"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800_2C"' , '"Gluino800"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900_2C"' , '"Gluino900"', 0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000_2C"', '"Gluino1000"',0.0 / 0.3029 , 0.0 / 0.4955 , 1.0 / 0.2015 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300_f0"' , '"Gluino300"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400_f0"' , '"Gluino400"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500_f0"' , '"Gluino500"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600_f0"' , '"Gluino600"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700_f0"' , '"Gluino700"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800_f0"' , '"Gluino800"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900_f0"' , '"Gluino900"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000_f0"', '"Gluino1000"',0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300_f1"' , '"Gluino300"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400_f1"' , '"Gluino400"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500_f1"' , '"Gluino500"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600_f1"' , '"Gluino600"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700_f1"' , '"Gluino700"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800_f1"' , '"Gluino800"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900_f1"' , '"Gluino900"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000_f1"', '"Gluino1000"',0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1100_f1"', '"Gluino1100"',0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300_f5"' , '"Gluino300"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400_f5"' , '"Gluino400"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500_f5"' , '"Gluino500"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600_f5"' , '"Gluino600"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700_f5"' , '"Gluino700"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800_f5"' , '"Gluino800"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900_f5"' , '"Gluino900"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000_f5"', '"Gluino1000"',0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1100_f5"', '"Gluino1100"',0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300N_f0"', '"Gluino300N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400N_f0"', '"Gluino400N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500N_f0"', '"Gluino500N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600N_f0"', '"Gluino600N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700N_f0"', '"Gluino700N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800N_f0"', '"Gluino800N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900N_f0"', '"Gluino900N"', 0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) -# launchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000N_f0"','"Gluino1000N"',0.2524 / 0.3029 , 0.4893 / 0.4955 , 0.2583 / 0.2015 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300N_f1"', '"Gluino300N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400N_f1"', '"Gluino400N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500N_f1"', '"Gluino500N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600N_f1"', '"Gluino600N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700N_f1"', '"Gluino700N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800N_f1"', '"Gluino800N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900N_f1"', '"Gluino900N"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000N_f1"','"Gluino1000N"',0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1100N_f1"','"Gluino1100N"',0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino300N_f5"', '"Gluino300N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino400N_f5"', '"Gluino400N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino500N_f5"', '"Gluino500N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# launchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600N_f5"', '"Gluino600N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700N_f5"', '"Gluino700N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800N_f5"', '"Gluino800N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino900N_f5"', '"Gluino900N"', 0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino1000N_f5"','"Gluino1000N"',0.5739 / 0.3029 , 0.3704 / 0.4955 , 0.0557 / 0.2015 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino600Z_f1"' , '"Gluino600Z"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino700Z_f1"' , '"Gluino700Z"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Gluino800Z_f1"' , '"Gluino800Z"', 0.3029 / 0.3029 , 0.4955 / 0.4955 , 0.2015 / 0.2015 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop130_2C"' , '"Stop130"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop200_2C"' , '"Stop200"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop300_2C"' , '"Stop300"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop400_2C"' , '"Stop400"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop500_2C"' , '"Stop500"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop600_2C"' , '"Stop600"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop700_2C"' , '"Stop700"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop800_2C"' , '"Stop800"', 0.0 / 0.1705 , 0.0 / 0.4868 , 1.0 / 0.3427 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop130"' , '"Stop130"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop200"' , '"Stop200"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop300"' , '"Stop300"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop400"' , '"Stop400"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop500"' , '"Stop500"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop600"' , '"Stop600"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop700"' , '"Stop700"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop800"' , '"Stop800"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop130N"' , '"Stop130N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop200N"' , '"Stop200N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop300N"' , '"Stop300N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop400N"' , '"Stop400N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop500N"' , '"Stop500N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop600N"' , '"Stop600N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop700N"' , '"Stop700N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop800N"' , '"Stop800N"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop300Z"' , '"Stop300Z"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop400Z"' , '"Stop400Z"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) -# LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"Stop500Z"' , '"Stop500Z"', 0.1705 / 0.1705 , 0.4868 / 0.4868 , 0.3427 / 0.3427 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau100"', '"GMStau100"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau126"', '"GMStau126"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau156"', '"GMStau156"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau200"', '"GMStau200"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau247"', '"GMStau247"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau308"', '"GMStau308"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau370"', '"GMStau370"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau432"', '"GMStau432"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"GMStau494"', '"GMStau494"' ,-1, -1, -1 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau100"', '"PPStau100"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau126"', '"PPStau126"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau156"', '"PPStau156"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau200"', '"PPStau200"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau247"', '"PPStau247"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"PPStau308"', '"PPStau308"' ,-1, -1, -1 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK100"', '"DCRho08HyperK100"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK121"', '"DCRho08HyperK121"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK182"', '"DCRho08HyperK182"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK242"', '"DCRho08HyperK242"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK302"', '"DCRho08HyperK302"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK350"', '"DCRho08HyperK350"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK370"', '"DCRho08HyperK370"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK390"', '"DCRho08HyperK390"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK395"', '"DCRho08HyperK395"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK400"', '"DCRho08HyperK400"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK410"', '"DCRho08HyperK410"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK420"', '"DCRho08HyperK420"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho08HyperK500"', '"DCRho08HyperK500"' ,-1, -1, -1 , syst]) - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK100"', '"DCRho12HyperK100"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK182"', '"DCRho12HyperK182"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK302"', '"DCRho12HyperK302"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK500"', '"DCRho12HyperK500"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK530"', '"DCRho12HyperK530"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK570"', '"DCRho12HyperK570"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK590"', '"DCRho12HyperK590"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK595"', '"DCRho12HyperK595"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK600"', '"DCRho12HyperK600"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK610"', '"DCRho12HyperK610"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK620"', '"DCRho12HyperK620"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho12HyperK700"', '"DCRho12HyperK700"' ,-1, -1, -1 , syst]) - - - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK100"', '"DCRho16HyperK100"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK182"', '"DCRho16HyperK182"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK302"', '"DCRho16HyperK302"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK500"', '"DCRho16HyperK500"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK700"', '"DCRho16HyperK700"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK730"', '"DCRho16HyperK730"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK770"', '"DCRho16HyperK770"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK790"', '"DCRho16HyperK790"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK795"', '"DCRho16HyperK795"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK800"', '"DCRho16HyperK800"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK810"', '"DCRho16HyperK810"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK820"', '"DCRho16HyperK820"' ,-1, -1, -1 , syst]) - LaunchOnCondor.SendCluster_Push(["ROOT", os.getcwd()+"/Analysis_Step6.C", '"ANALYSE"', InputPattern, '"DCRho16HyperK900"', '"DCRho16HyperK900"' ,-1, -1, -1 , syst]) - - -if len(sys.argv)==1: - print("Please pass in argument a number between 0 and 2") - print(" 0 - Submit the Core of the (TkOnly+TkTOF) Analysis --> submitting 2x 3 jobs") - print(" 1 - Run the control plot macro --> submitting 0 jobs") - print(" 2 - Run the Optimization macro based on best Exp Limit --> submitting 2xSignalPoints jobs") - print(" 3 - Run the exclusion plot macro --> submitting 0 jobs") - sys.exit() - -elif sys.argv[1]=='0': - print('ANALYSIS') - FarmDirectory = "FARM" - JobName = "HscpAnalysis" - LaunchOnCondor.Jobs_RunHere = 1 - LaunchOnCondor.SendCluster_Create(FarmDirectory, JobName) - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_DATA"' , 0, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkOnly - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_SIGNAL"', 0, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkOnly - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_MC"' , 0, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkOnly - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_DATA"' , 2, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkTOF - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_SIGNAL"', 2, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkTOF - LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/Analysis_Step234.C", '"ANALYSE_MC"' , 2, '"dedxASmi"' ,'"dedxHarm2"' , '"combined"', 0.0, 0.0, 0.0, 45, 1.5]) #TkTOF - LaunchOnCondor.SendCluster_Submit() - -elif sys.argv[1]=='1': - print('PLOTTING') - os.system('root Analysis_Step5.C++ -l -b -q') - - -elif sys.argv[1]=='2': - print('OPTIMIZATION') - FarmDirectory = "FARM" - JobName = "HscpLimits" - LaunchOnCondor.Jobs_RunHere = 1 - LaunchOnCondor.SendCluster_Create(FarmDirectory, JobName) -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type0/"', '""') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type2/"', '""') -# ComputeLimits('"Results/dedxASmi/combined/Eta20/PtMin45/Type0/"', '""') -# ComputeLimits('"Results/dedxASmi/combined/Eta20/PtMin45/Type2/"', '""') - ComputeLimits('"Results/dedxASmi/combined/Eta15/PtMin45/Type0/"', '""') - ComputeLimits('"Results/dedxASmi/combined/Eta15/PtMin45/Type2/"', '""') - -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type0/"', '"_SystP"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type2/"', '"_SystP"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type0/"', '"_SystI"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type2/"', '"_SystI"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type0/"', '"_SystM"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type2/"', '"_SystM"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type0/"', '"_SystT"') -# ComputeLimits('"Results/dedxASmi/combined/Eta25/PtMin45/Type2/"', '"_SystT"') - LaunchOnCondor.SendCluster_Submit() - - -elif sys.argv[1]=='3': - print('EXCLUSION') -# os.system('root Analysis_Step6.C++\'(\"tmp\")\' -l -b -q') - os.system('sh Analysis_Step6.sh') -else: - print('Unknwon case: use an other argument or no argument to get help') - - - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/LaunchOnCondor.py b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/LaunchOnCondor.py deleted file mode 100644 index c98ccce6134d9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/LaunchOnCondor.py +++ /dev/null @@ -1,299 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function -import urllib -import string -import os -import sys -import glob - -CopyRights = '####################################\n' -CopyRights += '# LaunchOnFarm Script #\n' -CopyRights += '# Loic.quertenmont@cern.ch #\n' -CopyRights += '# April 2010 #\n' -CopyRights += '####################################\n' - -Farm_Directories = [] -Path_Cmd = '' -Path_Shell = '' -Path_Log = '' -Path_Cfg = '' -Jobs_Count = 0 -Jobs_Name = '' -Jobs_Index = '' -Jobs_Seed = 0 -Jobs_NEvent =-1 -Jobs_Skip = 0 -Jobs_Inputs = [] -Jobs_FinalCmds = [] -Jobs_RunHere = 0 - -def CreateTheConfigFile(argv): - global Jobs_Name - global Jobs_Index - global Jobs_Count - global Jobs_Seed - global Jobs_Skip - global Jobs_NEvent - global Jobs_Inputs - global Jobs_FinalCmds - global Path_Cfg - global CopyRights - Path_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_cfg.py' - - config_file=open(argv[1],'r') - config_txt = '\n\n' + CopyRights + '\n\n' - config_txt += config_file.read() - config_file.close() - i = 2 - while i < len(argv)-1: - config_txt = config_txt.replace(argv[i],argv[i+1]) - i+=2 - - #Default Replacements - config_txt = config_txt.replace("XXX_I_XXX" ,"%04i"%Jobs_Count) - config_txt = config_txt.replace("XXX_PATH_XXX" ,os.getcwd()) - config_txt = config_txt.replace("XXX_OUTPUT_XXX" ,Jobs_Name) - config_txt = config_txt.replace("XXX_NAME_XXX" ,Jobs_Index+Jobs_Name) - config_txt = config_txt.replace("XXX_SEED_XXX" ,str(Jobs_Seed+Jobs_Count)) - config_txt = config_txt.replace("XXX_NEVENTS_XXX" ,str(Jobs_NEvent)) - config_txt = config_txt.replace("XXX_SKIP_XXX" ,str(Jobs_Skip)) - if Jobs_Count < len(Jobs_Inputs): - config_txt = config_txt.replace("XXX_INPUT_XXX" ,Jobs_Inputs[Jobs_Count]) - - config_file=open(Path_Cfg,'w') - config_file.write(config_txt) - config_file.close() - -def CreateTheShellFile(argv): - global Path_Shell - global Path_Cfg - global CopyRights - global Jobs_RunHere - global Jobs_FinalCmds - Path_Shell = Farm_Directories[1]+Jobs_Index+Jobs_Name+'.sh' - - function_argument='(' - for i in range(2,len(argv)): - function_argument+="%s" % argv[i] - if i != len(argv)-1: - function_argument+=', ' - function_argument+=')' - - shell_file=open(Path_Shell,'w') - shell_file.write('#! /bin/sh\n') - shell_file.write(CopyRights + '\n') - shell_file.write('export SCRAM_ARCH=slc5_amd64_gcc434\n') - shell_file.write('export BUILD_ARCH=slc5_amd64_gcc434\n') - shell_file.write('export VO_CMS_SW_DIR=/nfs/soft/cms\n') - #shell_file.write('source /nfs/soft/cms/cmsset_default.sh\n') - shell_file.write('cd ' + os.getcwd() + '\n') - shell_file.write('eval `scramv1 runtime -sh`\n') - - if argv[0]=='BASH': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - elif argv[0]=='ROOT': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('source setstandaloneroot.sh\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", "");\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') -# shell_file.write("root -l -b -q %s" % argv[1] + "+'%s'\n" % function_argument) - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='FWLITE': - if Jobs_RunHere==0: - shell_file.write('cd -\n') -# shell_file.write('eval `scramv1 runtime -sh`\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", "");\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' gSystem->SetIncludePath("-I$ROOFITSYS/include");\n') - shell_file.write(' gSystem->Load("libFWCoreFWLite");\n') - shell_file.write(' FWLiteEnabler::enable();\n') - shell_file.write(' gSystem->Load("libDataFormatsFWLite.so");\n') - shell_file.write(' gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsVertexReco.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsHepMCCandidate.so");\n') - shell_file.write(' gSystem->Load("libPhysicsToolsUtilities.so");\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='CMSSW': - CreateTheConfigFile(argv); - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('cmsRun ' + os.getcwd() + '/'+Path_Cfg + '\n') - else: - print() #Program to use is not specified... Guess it is bash command - shell_file.write('#Program to use is not specified... Guess it is bash command\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - - for i in range(len(Jobs_FinalCmds)): - shell_file.write(Jobs_FinalCmds[i]+'\n') - shell_file.write('mv '+ Jobs_Name+'* '+os.getcwd()+'/'+Farm_Directories[3]+'\n') - shell_file.close() - os.system("chmod 777 "+Path_Shell) - - -def CreateTheCmdFile(): - global Path_Cmd - global CopyRights - Path_Cmd = Farm_Directories[1]+Jobs_Name+'.cmd' - cmd_file=open(Path_Cmd,'w') - cmd_file.write(CopyRights + '\n') - cmd_file.write('Universe = vanilla\n') - cmd_file.write('Environment = CONDORJOBID=$(Process)\n') - cmd_file.write('notification = Error\n') - #cmd_file.write('requirements = (CMSFARM=?=True)&&(Memory > 200)\n') - cmd_file.write('requirements = (Memory > 200)\n') - cmd_file.write('should_transfer_files = YES\n') - cmd_file.write('when_to_transfer_output = ON_EXIT\n') - cmd_file.close() - -def AddJobToCmdFile(): - global Path_Shell - global Path_Cmd - global Path_Log - Path_Log = Farm_Directories[2]+Jobs_Index+Jobs_Name - cmd_file=open(Path_Cmd,'a') - cmd_file.write('\n') - cmd_file.write('Executable = %s\n' % Path_Shell) - cmd_file.write('output = %s.out\n' % Path_Log) - cmd_file.write('error = %s.err\n' % Path_Log) - cmd_file.write('log = %s.log\n' % Path_Log) - cmd_file.write('Queue 1\n') - cmd_file.close() - -def CreateDirectoryStructure(FarmDirectory): - global Jobs_Name - global Farm_Directories - Farm_Directories = [FarmDirectory+'/', FarmDirectory+'/inputs/', FarmDirectory+'/logs/', FarmDirectory+'/outputs/'] - for i in range(0,len(Farm_Directories)): - if os.path.isdir(Farm_Directories[i]) == False: - os.system('mkdir ' + Farm_Directories[i]) - -def SendCluster_LoadInputFiles(path, NJobs): - global Jobs_Inputs - input_file = open(path,'r') - input_lines = input_file.readlines() - input_file.close() - #input_lines.sort() - - BlockSize = (len(input_lines)/NJobs) - LineIndex = 0 - JobIndex = 0 - BlockIndex = 0 - Jobs_Inputs = [""] - while LineIndex < len(input_lines): - Jobs_Inputs[JobIndex] += input_lines[LineIndex] - LineIndex +=1 - BlockIndex+=1 - if BlockIndex>BlockSize: - BlockIndex = 0 - JobIndex += 1 - Jobs_Inputs.append("") - return JobIndex+1 - -def SendCluster_Create(FarmDirectory, JobName): - global Jobs_Name - global Jobs_Count - global Farm_Directories - Jobs_Name = JobName - Jobs_Count = 0 - CreateDirectoryStructure(FarmDirectory) - CreateTheCmdFile() - -def SendCluster_Push(Argv): - global Farm_Directories - global Jobs_Count - global Jobs_Index - global Path_Shell - global Path_Log - - Jobs_Index = "%04i_" % Jobs_Count - if Jobs_Count==0 and (Argv[0]=="ROOT" or Argv[0]=="FWLITE"): - #First Need to Compile the macro --> Create a temporary shell path with no arguments - print("Compiling the Macro...") - CreateTheShellFile([Argv[0],Argv[1]]) - os.system('sh '+Path_Shell) - os.system('rm '+Path_Shell) - print("Getting the jobs...") - print(Argv) - CreateTheShellFile(Argv) - AddJobToCmdFile() - Jobs_Count = Jobs_Count+1 - -def SendCluster_Submit(): - global CopyRights - global Jobs_Count - global Path_Cmd - os.system("condor_submit " + Path_Cmd) - print('\n'+CopyRights) - print('%i Job(s) has/have been submitted on the Computing Cluster' % Jobs_Count) - -def SendSingleJob(FarmDirectory, JobName, Argv): - SendCluster_Create(FarmDirectory, JobName, Argv) - SendCluster_Push(FarmDirectory, JobName, Argv) - SendCluster_Submit(FarmDirectory, JobName,Argv) - -def SendCMSJobs(FarmDirectory, JobName, ConfigFile, InputFiles, NJobs, Argv): - SendCluster_Create(FarmDirectory, JobName) - NJobs = SendCluster_LoadInputFiles(InputFiles, NJobs) - for i in range(NJobs): - LaunchOnCondor.SendCluster_Push (["CMSSW", ConfigFile]) - LaunchOnCondor.SendCluster_Submit() - - - -def GetListOfFiles(Prefix, InputPattern, Suffix): - List = sorted(glob.glob(InputPattern)) - for i in range(len(List)): - List[i] = Prefix + List[i] + Suffix - return List - -def SendCMSMergeJob(FarmDirectory, JobName, InputFiles, OutputFile, KeepStatement): - SendCluster_Create(FarmDirectory, JobName) - Temp_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_TEMP_cfg.py' - - if len(InputFiles)==0: - print('Empty InputFile List for Job named "%s", Job will not be submitted' % JobName) - return - - InputFilesString = "" - for i in range(len(InputFiles)): - InputFilesString += " " + InputFiles[i] + '\n' - - cfg_file=open(Temp_Cfg,'w') - cfg_file.write('import FWCore.ParameterSet.Config as cms\n') - cfg_file.write('process = cms.Process("Merge")\n') - cfg_file.write('\n') - cfg_file.write('process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )\n') - cfg_file.write('process.load("FWCore.MessageService.MessageLogger_cfi")\n') - cfg_file.write('\n') - cfg_file.write('process.MessageLogger.cerr.FwkReport.reportEvery = 50000\n') - cfg_file.write('process.source = cms.Source("PoolSource",\n') - cfg_file.write(' fileNames = cms.untracked.vstring(\n') - cfg_file.write('%s' % InputFilesString) - cfg_file.write(' )\n') - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.OUT = cms.OutputModule("PoolOutputModule",\n') - cfg_file.write(' outputCommands = cms.untracked.vstring(%s),\n' % KeepStatement) - cfg_file.write(' fileName = cms.untracked.string(%s)\n' % OutputFile) - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.endPath = cms.EndPath(process.OUT)\n') - cfg_file.close() - SendCluster_Push (["CMSSW", Temp_Cfg]) - SendCluster_Submit() - os.system('rm '+ Temp_Cfg) - diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/gluino_XSec.txt b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/gluino_XSec.txt deleted file mode 100644 index 7cfe569c0b0c8..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/gluino_XSec.txt +++ /dev/null @@ -1,41 +0,0 @@ - 300.000000 6.580000E+01 7.553474E+01 5.742197E+01 - 320.000000 4.480000E+01 5.146393E+01 3.883067E+01 - 340.000000 3.100000E+01 3.566432E+01 2.678981E+01 - 360.000000 2.170000E+01 2.512864E+01 1.876433E+01 - 380.000000 1.550000E+01 1.804830E+01 1.338010E+01 - 400.000000 1.120000E+01 1.304305E+01 9.580894E+00 - 420.000000 8.150000E+00 9.556500E+00 6.973463E+00 - 440.000000 6.010000E+00 7.044302E+00 5.091237E+00 - 460.000000 4.470000E+00 5.271630E+00 3.788946E+00 - 480.000000 3.360000E+00 3.988566E+00 2.845079E+00 - 500.000000 2.540000E+00 3.018432E+00 2.130996E+00 - 520.000000 1.930000E+00 2.308958E+00 1.626191E+00 - 540.000000 1.480000E+00 1.773087E+00 1.243271E+00 - 560.000000 1.140000E+00 1.374688E+00 9.589442E-01 - 580.000000 8.880000E-01 1.070057E+00 7.381439E-01 - 600.000000 6.930000E-01 8.414255E-01 5.751390E-01 - 620.000000 5.430000E-01 6.640146E-01 4.515518E-01 - 640.000000 4.280000E-01 5.237697E-01 3.522239E-01 - 660.000000 3.390000E-01 4.145975E-01 2.787396E-01 - 680.000000 2.690000E-01 3.315876E-01 2.208681E-01 - 700.000000 2.140000E-01 2.657578E-01 1.759448E-01 - 720.000000 1.720000E-01 2.134368E-01 1.397393E-01 - 740.000000 1.370000E-01 1.716366E-01 1.116011E-01 - 760.000000 1.110000E-01 1.387783E-01 8.996432E-02 - 780.000000 8.950000E-02 1.127959E-01 7.195999E-02 - 800.000000 7.250000E-02 9.142058E-02 5.827633E-02 - 820.000000 5.880000E-02 7.469319E-02 4.733762E-02 - 840.000000 4.790000E-02 6.086165E-02 3.809243E-02 - 860.000000 3.910000E-02 4.999024E-02 3.105941E-02 - 880.000000 3.200000E-02 4.092504E-02 2.538284E-02 - 900.000000 2.620000E-02 3.378647E-02 2.054873E-02 - 920.000000 2.150000E-02 2.791464E-02 1.688133E-02 - 940.000000 1.760000E-02 2.286025E-02 1.379495E-02 - 960.000000 1.450000E-02 1.896689E-02 1.136371E-02 - 980.000000 1.190000E-02 1.560576E-02 9.251707E-03 - 1000.000000 9.870000E-03 1.300309E-02 7.653260E-03 - 1020.000000 8.150000E-03 1.082652E-02 6.325800E-03 - 1040.000000 6.740000E-03 8.957356E-03 5.168580E-03 - 1060.000000 5.590000E-03 7.480351E-03 4.283127E-03 - 1080.000000 4.640000E-03 6.255235E-03 3.515531E-03 - 1100.000000 3.860000E-03 5.204033E-03 2.919556E-03 diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/nSigma.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/nSigma.C deleted file mode 100644 index 55207b3a2c52d..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/nSigma.C +++ /dev/null @@ -1,99 +0,0 @@ -//-------------------------------------------------------------------------------------------- -// -// nSigma.cc -// v1.1, updated by Greg Landsberg 5/21/09 -// -// This Root code computes the probability for the expectd background Bkgr with the FRACTIONAL -// uncertainty sFfrac (i.e., B = Bkgr*(1 +/- sBfrac)) to fluctuate to or above the -// observed number of events nobs -// -// To find 3/5 sigma evidence/discovery points, one should use nobs = int(), -// where is the expected mean of the signal + background. -// -// Usage: nSigma(Double_t Bkgr, Int_t nobs, Double_t sBfrac) returns the one sided probability -// of an upward backround fluctuations, expressed in Gaussian sigmas. It is suggested to run -// this code in the compiled mode, i.e. .L nSigma.cc++ -// -// 5 sigma corresponds to the p-value of 2.85E-7; 3 sigma corresponds to p-value of 1.35E-3 -// -//--------------------------------------------------------------------------------------------- -#include "TMath.h" -#include "TF1.h" - -Double_t nSigma(Double_t Bkgr, Int_t nobs, Double_t sBfrac); -Double_t Poisson(Double_t Mu, Int_t n); -Double_t PoissonAve(Double_t Mu, Int_t n, Double_t ErrMu); -Double_t Inner(Double_t *x, Double_t *par); -Double_t ErfcInverse(Double_t x); - -static const Double_t Eps = 1.e-9; - -Double_t nSigma(Double_t Bkgr, Int_t nobs, Double_t sBfrac) { - //caluculate poisson probability - Double_t probLess = 0.; - Int_t i = nobs; - Double_t eps = 0; - do { - eps = 2.*PoissonAve(Bkgr, i++, sBfrac*Bkgr); - probLess += eps; - } while (eps > 0.); -// - return TMath::Sqrt(2.)*ErfcInverse(probLess); -} - -Double_t Poisson(Double_t Mu, Int_t n) -{ - Double_t logP; -// - logP = -Mu + n*TMath::Log(Mu); - for (Int_t i = 2; i <= n; i++) logP -= TMath::Log((Double_t) i); -// - return TMath::Exp(logP); -} - -Double_t PoissonAve(Double_t Mu, Int_t n, Double_t ErrMu) -{ - Double_t par[3], retval; - par[0]=Mu; // background value - par[1]=ErrMu; // background error - par[2]=n; // n - TF1 *in = new TF1("Inner",Inner,0.,Mu + 5.*ErrMu,3); - Double_t low = Mu > 5.*ErrMu ? Mu - 5.*ErrMu : 0.; - if (ErrMu < Eps) { - Double_t x[1]; - x[0] = Mu; - par[1] = 1./sqrt(2.*TMath::Pi()); - retval = Inner(x,par); - } else retval = in->Integral(low,Mu+5.*ErrMu,par); - delete in; - return retval; -} - -Double_t Inner(Double_t *x, Double_t *par) -{ - Double_t B, sB; - B = par[0]; - sB = par[1]; - Int_t n = par[2]; -// - return 1./sqrt(2.*TMath::Pi())/sB*exp(-(x[0]-B)*(x[0]-B)/2./sB/sB)*Poisson(x[0],n); -} - -Double_t ErfcInverse(Double_t x) -{ - Double_t xmin = 0., xmax = 20.; - Double_t sig = xmin; - if (x >=1) return sig; -// - do { - Double_t erf = TMath::Erfc(sig); - if (erf > x) { - xmin = sig; - sig = (sig+xmax)/2.; - } else { - xmax = sig; - sig = (xmin + sig)/2.; - } - } while (xmax - xmin > Eps); - return sig; -} \ No newline at end of file diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/roostats_cl95.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/roostats_cl95.C deleted file mode 100644 index b94dcb091503a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/roostats_cl95.C +++ /dev/null @@ -1,2065 +0,0 @@ -static const char* desc = -"=====================================================================\n" -"| \n" -"|\033[1m roostats_cl95.C version 1.15 \033[0m\n" -"| \n" -"| Standard c++ routine for 95% C.L. limit calculation \n" -"| for cross section in a 'counting experiment' \n" -"| Fully backwards-compatible with the CL95 macro \n" -"| \n" -"| also known as 'CL95 with RooStats' \n" -"| \n" -"|\033[1m Gena Kukartsev, Stefan Schmitz, Gregory Schott \033[0m\n" -"|\033[1m Lorenzo Moneta (CLs core) \033[0m\n" -"|\033[1m Michael Segala (Feldman-Cousins) \033[0m\n" -"| \n" -"| July 2010: first version \n" -"| March 2011: restructuring, interface change, expected limits \n" -"| May 2011: added expected limit median, \n" -"| 68%, 95% quantile bands and actual coverage \n" -"| July 2011: added CLs observed and expected limits \n" -"| added option to run using Feldman Cousins \n" -"| \n" -"=====================================================================\n" -" \n" -"Prerequisites: \n" -" ROOT version 5.30.00 or higher \n" -" \n" -" \n" -" \n" -"The code should be compiled in ROOT: \n" -" \n" -"root -l \n" -" \n" -".L roostats_cl95.C+ \n" -" \n" -"Usage: \n" -" Double_t limit = roostats_cl95(ilum, slum, eff, seff, bck, sbck, n, gauss = false, nuisanceModel, method, plotFileName, seed); \n" -" LimitResult expected_limit = roostats_clm(ilum, slum, eff, seff, bck, sbck, ntoys, nuisanceModel, method, seed); \n" -" Double_t average_limit = roostats_cla(ilum, slum, eff, seff, bck, sbck, nuisanceModel, method, seed); \n" -" \n" -" LimitResult limit = roostats_limit(ilum, slum, eff, seff, bck, sbck, n, gauss = false, nuisanceModel, method, plotFileName, seed); \n" -" Double_t obs_limit = limit.GetObservedLimit(); \n" -" Double_t exp_limit = limit.GetExpectedLimit(); \n" -" Double_t exp_up = limit.GetOneSigmaHighRange(); \n" -" Double_t exp_down = limit.GetOneSigmaLowRange(); \n" -" Double_t exp_2up = limit.GetTwoSigmaHighRange(); \n" -" Double_t exp_2down = limit.GetTwoSigmaLowRange(); \n" -" \n" -"Inputs: \n" -" ilum - Nominal integrated luminosity (pb^-1) \n" -" slum - Absolute error on the integrated luminosity \n" -" eff - Nominal value of the efficiency times \n" -" acceptance (in range 0 to 1) \n" -" seff - Absolute error on the efficiency times \n" -" acceptance \n" -" bck - Nominal value of the background estimate \n" -" sbck - Absolute error on the background \n" -" n - Number of observed events (not used for the \n" -" expected limit) \n" -" ntoys - Number of pseudoexperiments to perform for \n" -" expected limit calculation) \n" -" gauss - if true, use Gaussian statistics for signal \n" -" instead of Poisson; automatically false \n" -" for n = 0. \n" -" Always false for expected limit calculations \n" -" nuisanceModel - distribution function used in integration over\n" -" nuisance parameters: \n" -" 0 - Gaussian (default), 1 - lognormal, \n" -" 2 - gamma; \n" -" (automatically 0 when gauss == true) \n" -" method - method of statistical inference: \n" -" \"bayesian\" - Bayesian with numeric \n" -" integration (default), \n" -" \"mcmc\" - another implementation of \n" -" Bayesian, not optimized, \n" -" to be used for cross checks \n" -" only! \n" -" \"cls\" - CLs observed limit. We suggest\n" -" using the dedicated interface \n" -" roostats_cls() instead \n" -" \"fc\" - Feldman Cousins with numeric \n" -" integration, \n" -" \"workspace\" - only create workspace and save\n" -" to file, no interval calculation\n" -" plotFileName - file name for the control plot to be created \n" -" file name extension will define the format, \n" -" is the default value, \n" -" specify empty string if you do not want \n" -" the plot to be created (saves time) \n" -" seed - seed for random number generation, \n" -" specify 0 for unique irreproducible seed \n" -" \n" -" \n" -"The statistics model in this routine: the routine addresses the task \n" -"of a Bayesian evaluation of limits for a one-bin counting experiment \n" -"with systematic uncertainties on luminosity and efficiency for the \n" -"signal and a global uncertainty on the expected background (implying \n" -"no correlated error on the luminosity for signal and background, \n" -"which will not be suitable for all use cases!). The observable is the\n" -"measured number of events. \n" -" \n" -"For more details see \n" -" https://twiki.cern.ch/twiki/bin/view/CMS/RooStatsCl95 \n" -" \n" -"\033[1m Note! \033[0m\n" -"If you are running nonstandard ROOT environment, e.g. in CMSSW, \n" -"you need to make sure that the RooFit and RooStats header files \n" -"can be found since they might be in a nonstandard location. \n" -" \n" -"For CMSSW_4_2_0_pre8 and later, add the following line to your \n" -"rootlogon.C: \n" -" gSystem -> SetIncludePath( \"-I$ROOFITSYS/include\" ); \n"; - - -#include - -#include "TCanvas.h" -#include "TMath.h" -#include "TRandom3.h" -#include "TUnixSystem.h" -#include "TStopwatch.h" -#include "TFile.h" -#include "TGraphErrors.h" -#include "TGraphAsymmErrors.h" -#include "TLine.h" - -#include "RooPlot.h" -#include "RooRealVar.h" -#include "RooProdPdf.h" -#include "RooWorkspace.h" -#include "RooDataSet.h" -#include "RooFitResult.h" -#include "RooRandom.h" - -#include "RooStats/ModelConfig.h" -#include "RooStats/SimpleInterval.h" -#include "RooStats/BayesianCalculator.h" -#include "RooStats/MCMCCalculator.h" -#include "RooStats/MCMCInterval.h" -#include "RooStats/MCMCIntervalPlot.h" -#include "RooStats/FeldmanCousins.h" -#include "RooStats/PointSetInterval.h" -#include "RooStats/ConfidenceBelt.h" -#include "RooStats/ProposalHelper.h" -#include "RooStats/HybridCalculator.h" -#include "RooStats/FrequentistCalculator.h" -#include "RooStats/ToyMCSampler.h" -#include "RooStats/HypoTestPlot.h" -#include "RooStats/NumEventsTestStat.h" -#include "RooStats/ProfileLikelihoodTestStat.h" -#include "RooStats/SimpleLikelihoodRatioTestStat.h" -#include "RooStats/RatioOfProfiledLikelihoodsTestStat.h" -#include "RooStats/MaxLikelihoodEstimateTestStat.h" -#include "RooStats/HypoTestInverter.h" -#include "RooStats/HypoTestInverterResult.h" -#include "RooStats/HypoTestInverterPlot.h" - -// FIXME: remove namespaces -using namespace RooFit; -using namespace RooStats; -using namespace std; - -class LimitResult; - -Double_t roostats_cl95(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t n, - Bool_t gauss = kFALSE, - Int_t nuisanceModel = 0, - std::string method = "bayesian", - std::string plotFileName = "plot_cl95.pdf", - UInt_t seed = 12345, - LimitResult * pLimitResult = 0); - -LimitResult roostats_clm(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nit = 200, Int_t nuisanceModel = 0, - std::string method = "bayesian", - UInt_t seed = 12345); - -// legacy support: use roostats_clm() instead -Double_t roostats_cla(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nuisanceModel = 0, - std::string method = "bayesian", - UInt_t seed = 12345); - - - - -// ---> implementation below -------------------------------------------- - - -class LimitResult{ - - friend class CL95Calc; - -public: - LimitResult(): - _observed_limit(0), - _observed_limit_error(0), - _expected_limit(0), - _low68(0), - _high68(0), - _low95(0), - _high95(0), - _cover68(0), - _cover95(0){}; - - // copy constructor - LimitResult(const LimitResult & other): - _observed_limit(other._observed_limit), - _observed_limit_error(other._observed_limit_error), - _expected_limit(other._expected_limit), - _low68(other._low68), - _high68(other._high68), - _low95(other._low95), - _high95(other._high95), - _cover68(other._cover68), - _cover95(other._cover95){} - - ~LimitResult(){}; - - Double_t GetObservedLimit(){return _observed_limit;}; - Double_t GetObservedLimitError(){return _observed_limit_error;}; - Double_t GetExpectedLimit(){return _expected_limit;}; - - Double_t GetOneSigmaLowRange(){return _low68;}; - Double_t GetOneSigmaHighRange(){return _high68;}; - Double_t GetOneSigmaCoverage(){return _cover68;}; - - Double_t GetTwoSigmaLowRange(){return _low95;}; - Double_t GetTwoSigmaHighRange(){return _high95;}; - Double_t GetTwoSigmaCoverage(){return _cover95;}; - -private: - Double_t _observed_limit; - Double_t _observed_limit_error; - Double_t _expected_limit; - Double_t _low68; - Double_t _high68; - Double_t _low95; - Double_t _high95; - Double_t _cover68; - Double_t _cover95; -}; - - -class CL95Calc{ - -public: - CL95Calc(); - CL95Calc( UInt_t seed ); - ~CL95Calc(); - - RooWorkspace * makeWorkspace(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Bool_t gauss, - Int_t nuisanceModel); - RooWorkspace * getWorkspace(){ return ws;} - - RooAbsData * makeData(Int_t n); - - Double_t cl95(std::string method = "bayesian", LimitResult * result = 0); - - Double_t cla( Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nuisanceModel, - std::string method ); - - LimitResult clm(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nit = 200, Int_t nuisanceModel = 0, - std::string method = "bayesian"); - - int makePlot( std::string method, - std::string plotFileName = "plot_cl95.pdf" ); - - Double_t FC_calc(int Nbins, float conf_int, float ULprecision, bool UseAdaptiveSampling = true, bool CreateConfidenceBelt = true); - -private: - - void init( UInt_t seed ); // to be called by constructor - - // methods - Double_t GetRandom( std::string pdf, std::string var ); - Long64_t LowBoundarySearch(std::vector * cdf, Double_t value); - Long64_t HighBoundarySearch(std::vector * cdf, Double_t value); - MCMCInterval * GetMcmcInterval(double conf_level, - int n_iter, - int n_burn, - double left_side_tail_fraction, - int n_bins); - void makeMcmcPosteriorPlot( std::string filename ); - double printMcmcUpperLimit( std::string filename = "" ); - - Double_t RoundUpperBound(Double_t bound); - - // data members - RooWorkspace * ws; - RooStats::ModelConfig SbModel; - RooStats::ModelConfig BModel; - RooAbsData * data; - BayesianCalculator * bcalc; - RooStats::SimpleInterval * sInt; - double nsig_rel_err; - double nbkg_rel_err; - Int_t _nuisance_model; - - // attributes - bool hasSigErr; - bool hasBgErr; - - // for Bayesian MCMC calculation - MCMCInterval * mcInt; - - // for Feldman-Cousins Calculator - FeldmanCousins * fcCalc; - - // random numbers - TRandom3 r; - - // expected limits - Double_t _expected_limit; - Double_t _low68; - Double_t _high68; - Double_t _low95; - Double_t _high95; - -}; - - - -// CLs limit calculator -std::vector -GetClsLimits(RooWorkspace * pWs, - const char * modelSBName = "SbModel", - const char * modelBName = "BModel", - const char * dataName = "observed_data", - int calculatorType = 0, // calculator type - int testStatType = 3, // test stat type - bool useCls = true, - int npoints = 10, - double poimin = 1, // use default is poimin >= poimax - double poimax = 0, - int ntoys=10000, - std::string suffix = "test"); - - - -// default constructor -CL95Calc::CL95Calc(){ - init(0); -} - - -CL95Calc::CL95Calc(UInt_t seed){ - init(seed); -} - - -void CL95Calc::init(UInt_t seed){ - ws = new RooWorkspace("ws"); - data = 0; - - sInt = 0; - bcalc = 0; - mcInt = 0; - fcCalc = 0; - SbModel.SetName("SbModel"); - SbModel.SetTitle("ModelConfig for roostats_cl95"); - - nsig_rel_err = -1.0; // default non-initialized value - nbkg_rel_err = -1.0; // default non-initialized value - - // set random seed - if (seed == 0){ - r.SetSeed(); - UInt_t _seed = r.GetSeed(); - UInt_t _pid = gSystem->GetPid(); - std::cout << "[CL95Calc]: random seed: " << _seed << std::endl; - std::cout << "[CL95Calc]: process ID: " << _pid << std::endl; - _seed = 31*_seed+_pid; - std::cout << "[CL95Calc]: new random seed (31*seed+pid): " << _seed << std::endl; - r.SetSeed(_seed); - - // set RooFit random seed (it has a private copy) - RooRandom::randomGenerator()->SetSeed(_seed); - } - else{ - std::cout << "[CL95Calc]: random seed: " << seed << std::endl; - r.SetSeed(seed); - - // set RooFit random seed (it has a private copy) - RooRandom::randomGenerator()->SetSeed(seed); - } - - // default Gaussian nuisance model - _nuisance_model = 0; - - // set default attributes - hasSigErr = false; - hasBgErr = false; -} - - -CL95Calc::~CL95Calc(){ - delete ws; - delete data; - delete sInt; - delete bcalc; - delete mcInt; - delete fcCalc; -} - - -RooWorkspace * CL95Calc::makeWorkspace(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Bool_t gauss, - Int_t nuisanceModel){ - - if ( bck>0.0 && (sbck/bck)<5.0 ){ - // check that bck is not too close to zero, - // so lognormal and gamma modls still make sense - std::cout << "[CL95Calc]: checking background expectation and its uncertainty - ok" << std::endl; - _nuisance_model = nuisanceModel; - } - else{ - _nuisance_model = 0; - std::cout << "[CL95Calc]: background expectation is too close to zero compared to its uncertainty" << std::endl; - std::cout << "[CL95Calc]: switching to the Gaussian nuisance model" << std::endl; - - // FIXME: is this appropriate fix for 0 bg expectation? - if (bck<0.001){ - bck = std::max(bck,sbck/1000.0); - } - } - - // Workspace - // RooWorkspace * ws = new RooWorkspace("ws",true); - - // observable: number of events - ws->factory( "n[0]" ); - - // integrated luminosity - ws->factory( "lumi[0]" ); - - // cross section - parameter of interest - ws->factory( "xsec[0]" ); - - // selection efficiency * acceptance - ws->factory( "efficiency[0]" ); - - // nuisance parameter: factor 1 with combined relative uncertainty - ws->factory( "nsig_nuis[1.0]" ); // will adjust range below - - // signal yield - ws->factory( "prod::nsig(lumi,xsec,efficiency, nsig_nuis)" ); - - // estimated background yield - ws->factory( "bkg_est[1.0]" ); - ws->factory( "lbkg_est[0]" ); // for special case of lognormal prior - - // nuisance parameter: factor 1 with background relative uncertainty - //ws->factory( "nbkg_nuis[1.0]" ); // will adjust range below - - // background yield - ws->factory( "nbkg[1.0]" ); // will adjust value and range below - - // core model: - ws->factory("sum::yield(nsig,nbkg)"); - if (gauss){ - // Poisson probability with mean signal+bkg - std::cout << "[CL95Calc]: creating Gaussian probability as core model..." << std::endl; - ws->factory( "Gaussian::model_core(n,yield,expr('sqrt(yield)',yield))" ); - } - else{ - // Poisson probability with mean signal+bkg - std::cout << "[CL95Calc]: creating Poisson probability as core model..." << std::endl; - ws->factory( "Poisson::model_core(n,yield)" ); - } - - - // systematic uncertainties - nsig_rel_err = sqrt(slum*slum/ilum/ilum+seff*seff/eff/eff); - nbkg_rel_err = sbck/bck; - if (nsig_rel_err > 1.0e-10) hasSigErr = true; - if (nbkg_rel_err > 1.0e-10) hasBgErr = true; - - if (_nuisance_model == 0){ // gaussian model for nuisance parameters - - std::cout << "[roostats_cl95]: Gaussian PDFs for nuisance parameters" << endl; - - // cumulative signal uncertainty - ws->factory( "nsig_sigma[0.1]" ); - ws->factory( "nsig_global[1.0,0.1,10.0]" ); // mean of the nsig nuisance par - if (hasSigErr){ - // non-zero overall signal sensitivity systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero systematics on overall signal sensitivity, creating constraint term" << endl; - ws->factory( "Gaussian::syst_nsig(nsig_nuis, nsig_global, nsig_sigma)" ); - } - // background uncertainty - ws->factory( "nbkg_sigma[0.1]" ); - if (hasBgErr){ - // non-zero background systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero background systematics, creating constraint term" << endl; - ws->factory( "Gaussian::syst_nbkg(nbkg, bkg_est, nbkg_sigma)" ); - } - - ws->var("nsig_sigma")->setVal(nsig_rel_err); - ws->var("nbkg_sigma")->setVal(sbck); - ws->var("nsig_global")->setConstant(kTRUE); - ws->var("nsig_sigma")->setConstant(kTRUE); - ws->var("nbkg_sigma")->setConstant(kTRUE); - } - else if (_nuisance_model == 1){// Lognormal model for nuisance parameters - // this is the "old" implementation of the lognormal model, better use - // the new one, nuisance_model=3 - - std::cout << "[roostats_cl95]: Lognormal PDFs for nuisance parameters" << endl; - - // cumulative signal uncertainty - ws->factory( "nsig_kappa[1.1]" ); - ws->factory( "nsig_global[1.0,0.1,10.0]" ); // mean of the nsig nuisance par - - if (hasSigErr){ - // non-zero overall signal sensitivity systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero systematics on overall signal sensitivity, creating constraint term" << endl; - ws->factory( "Lognormal::syst_nsig(nsig_nuis, nsig_global, nsig_kappa)" ); - } - - // background uncertainty - ws->factory( "nbkg_kappa[1.1]" ); - if (hasBgErr){ - // non-zero background systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero background systematics, creating constraint term" << endl; - ws->factory( "Lognormal::syst_nbkg(nbkg, bkg_est, nbkg_kappa)" ); - } - - ws->var("nsig_kappa")->setVal(1.0 + nsig_rel_err); - ws->var("nbkg_kappa")->setVal(1.0 + nbkg_rel_err); - ws->var("nsig_global")->setConstant(kTRUE); - ws->var("nsig_kappa")->setConstant(kTRUE); - ws->var("nbkg_kappa")->setConstant(kTRUE); - } - else if (_nuisance_model == 3){ - // - // Lognormal nuisance model implemented as Gaussian of - // a log of the parameter. The corresponding global observable - // is the log of the estimate for the parameter. - // - - std::cout << "[roostats_cl95]: Lognormal PDFs for nuisance parameters" << endl; - - // cumulative signal uncertainty - ws->factory( "lnsig_sigma[0.1]" ); - ws->factory( "nsig_global[0.0,-0.5,0.5]" ); // log of mean of the nsig nuisance par - //ws->factory( "Gaussian::syst_nsig(cexpr::lnsig('log(nsig_nuis)', nsig_nuis), nsig_global, lnsig_sigma)" ); - if (hasSigErr){ - // non-zero overall signal sensitivity systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero systematics on overall signal sensitivity, creating constraint term" << endl; - ws->factory( "Gaussian::syst_nsig(cexpr::lnsig('log(nsig_nuis)', nsig_nuis), nsig_global, lnsig_sigma)" ); - } - - // background uncertainty - ws->factory( "lnbkg_sigma[0.1]" ); - if (hasBgErr){ - // non-zero background systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero background systematics, creating constraint term" << endl; - ws->factory( "Gaussian::syst_nbkg(cexpr::lnbkg('log(nbkg)',nbkg), lbkg_est, lnbkg_sigma)" ); - } - - ws->var("lnsig_sigma")->setVal(nsig_rel_err); - ws->var("lnbkg_sigma")->setVal(nbkg_rel_err); - ws->var("nsig_global")->setConstant(kTRUE); - ws->var("lnsig_sigma")->setConstant(kTRUE); - ws->var("lnbkg_sigma")->setConstant(kTRUE); - } - else if (_nuisance_model == 2){ // Gamma model for nuisance parameters - - std::cout << "[roostats_cl95]: Gamma PDFs for nuisance parameters" << endl; - - // cumulative signal uncertainty - ws->factory( "nsig_global[1.0,0.1,10.0]" ); // mean of the nsig nuisance par - ws->factory( "nsig_rel_err[0.1, 0.0, 1.0]" ); - ws->factory( "expr::nsig_beta('nsig_rel_err*nsig_rel_err/nsig_global',nsig_rel_err,nsig_global)" ); - ws->factory( "expr::nsig_gamma('nsig_global*nsig_global/nsig_rel_err/nsig_rel_err+1.0',nsig_global,nsig_rel_err)" ); - ws->var("nsig_rel_err") ->setVal(nsig_rel_err); - if (hasSigErr){ - // non-zero overall signal sensitivity systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero systematics on overall signal sensitivity, creating constraint term" << endl; - ws->factory( "Gamma::syst_nsig(nsig_nuis, nsig_gamma, nsig_beta, 0.0)" ); - } - - // background uncertainty - //ws->factory( "nbkg_global[1.0]" ); // mean of the nbkg nuisance par - ws->factory( "nbkg_rel_err[0.1, 0.0, 1.0]" ); - ws->factory( "expr::nbkg_beta('nbkg_rel_err*nbkg_rel_err/bkg_est',nbkg_rel_err,bkg_est)" ); - ws->factory( "expr::nbkg_gamma('bkg_est*bkg_est/nbkg_rel_err/nbkg_rel_err+1.0',bkg_est,nbkg_rel_err)" ); - //ws->var("nbkg_global") ->setVal( bck ); - ws->var("nbkg_rel_err")->setVal(nbkg_rel_err); - if (hasBgErr){ - // non-zero background systematics: need to create - // the corresponding constraint term for the likelihood - std::cout << "[roostats_cl95]: non-zero background systematics, creating constraint term" << endl; - ws->factory( "Gamma::syst_nbkg(nbkg, nbkg_gamma, nbkg_beta, 0.0)" ); - } - - ws->var("nsig_rel_err")->setConstant(kTRUE); - ws->var("nsig_global")->setConstant(kTRUE); - ws->var("nbkg_rel_err")->setConstant(kTRUE); - //ws->var("nbkg_global")->setConstant(kTRUE); - - } - else{ - std::cout <<"[roostats_cl95]: undefined nuisance parameter model specified, exiting" << std::endl; - } - - // model with systematics - if (hasSigErr && hasBgErr){ - std::cout << "[roostats_cl95]: factoring in signal sensitivity and background rate systematics constraint terms" << endl; - ws->factory( "PROD::model(model_core, syst_nsig, syst_nbkg)" ); - ws->var("nsig_nuis") ->setConstant(kFALSE); // nuisance - ws->var("nbkg") ->setConstant(kFALSE); // nuisance - ws->factory( "PROD::nuis_prior(syst_nsig,syst_nbkg)" ); - } - else if (hasSigErr && !hasBgErr){ - std::cout << "[roostats_cl95]: factoring in signal sensitivity systematics constraint term" << endl; - ws->factory( "PROD::model(model_core, syst_nsig)" ); - ws->var("nsig_nuis") ->setConstant(kFALSE); // nuisance - ws->var("nbkg") ->setConstant(kTRUE); // nuisance - ws->factory( "PROD::nuis_prior(syst_nsig)" ); - } - else if (!hasSigErr && hasBgErr){ - std::cout << "[roostats_cl95]: factoring in background rate systematics constraint term" << endl; - ws->factory( "PROD::model(model_core, syst_nbkg)" ); - ws->var("nsig_nuis") ->setConstant(kTRUE); // nuisance - ws->var("nbkg") ->setConstant(kFALSE); // nuisance - ws->factory( "PROD::nuis_prior(syst_nbkg)" ); - } - else{ - ws->factory( "PROD::model(model_core)" ); - ws->var("nsig_nuis") ->setConstant(kTRUE); // nuisance - ws->var("nbkg") ->setConstant(kTRUE); // nuisance - } - - // flat prior for the parameter of interest - ws->factory( "Uniform::prior(xsec)" ); - - // parameter values - ws->var("lumi") ->setVal(ilum); - ws->var("efficiency")->setVal(eff); - ws->var("bkg_est") ->setVal(bck); - ws->var("lbkg_est") ->setVal(TMath::Log(bck)); - ws->var("xsec") ->setVal(0.0); - ws->var("nsig_nuis") ->setVal(1.0); - ws->var("nbkg") ->setVal(bck); - - // set some parameters as constants - ws->var("lumi") ->setConstant(kTRUE); - ws->var("efficiency")->setConstant(kTRUE); - ws->var("bkg_est") ->setConstant(kTRUE); - ws->var("lbkg_est") ->setConstant(kTRUE); - ws->var("n") ->setConstant(kFALSE); // observable - ws->var("xsec") ->setConstant(kFALSE); // parameter of interest - //ws->var("nsig_nuis") ->setConstant(kFALSE); // nuisance - //ws->var("nbkg") ->setConstant(kFALSE); // nuisance - - // floating parameters ranges - // crude estimates! Need to know data to do better - ws->var("n") ->setRange( 0.0, bck+(5.0*sbck)+10.0); // ad-hoc range for obs - ws->var("xsec") ->setRange( 0.0, 15.0*(1.0+nsig_rel_err)/ilum/eff ); // ad-hoc range for POI - ws->var("nsig_nuis")->setRange( std::max(0.0, 1.0 - 5.0*nsig_rel_err), 1.0 + 5.0*nsig_rel_err); - ws->var("nbkg") ->setRange( std::max(0.0, bck - 5.0*sbck), bck + 5.0*sbck); - ws->var("bkg_est") ->setRange( std::max(0.0, bck - 5.0*sbck), bck + 5.0*sbck); - // FIXME: check for zeros in the log - ws->var("lbkg_est") ->setRange( TMath::Log(ws->var("bkg_est")->getMin()), TMath::Log(ws->var("bkg_est")->getMin())); - - // Definition of observables and parameters of interest - - // observables - RooArgSet obs(*ws->var("n"), "obs"); - - // global observables - //RooArgSet globalObs(*ws->var("nsig_global"), *ws->var("bkg_est"), "global_obs"); - //RooArgSet globalObs(*ws->var("nsig_global"), "global_obs"); - RooArgSet globalObs("global_obs"); - if (hasSigErr) globalObs.add( *ws->var("nsig_global") ); - if (hasBgErr){ - if (_nuisance_model == 3){ - globalObs.add( *ws->var("lbkg_est") ); - } - else{ - globalObs.add( *ws->var("bkg_est") ); - } - } - - // parameters of interest - RooArgSet poi(*ws->var("xsec"), "poi"); - - // nuisance parameters - //RooArgSet nuis(*ws->var("nsig_nuis"), *ws->var("nbkg"), "nuis"); - RooArgSet nuis("nuis"); - if (hasSigErr) nuis.add( *ws->var("nsig_nuis") ); - if (hasBgErr) nuis.add( *ws->var("nbkg") ); - - // setup the S+B model - SbModel.SetWorkspace(*ws); - SbModel.SetPdf(*(ws->pdf("model"))); - SbModel.SetParametersOfInterest(poi); - SbModel.SetPriorPdf(*(ws->pdf("prior"))); - SbModel.SetNuisanceParameters(nuis); - SbModel.SetObservables(obs); - SbModel.SetGlobalObservables(globalObs); - - // will import the model config once the snapshot is saved - - // background-only model - // use the same PDF as s+b, with xsec=0 - // (poi zero value will be set in the snapshot) - //BModel = *(RooStats::ModelConfig *)ws->obj("SbModel"); - BModel = SbModel; - BModel.SetName("BModel"); - BModel.SetWorkspace(*ws); - - // We also need to set up parameter snapshots for the models - // but we need data for that, so it is done in makeData() - - return ws; -} - - -RooAbsData * CL95Calc::makeData( Int_t n ){ - // - // make the dataset owned by the class - // the current one is deleted - // - // set ranges as well - // - - // make RooFit quiet - // cash the current message level first - RooFit::MsgLevel msglevel = RooMsgService::instance().globalKillBelow(); - RooMsgService::instance().setGlobalKillBelow(RooFit::FATAL); - - // floating parameters ranges - if (nsig_rel_err < 0.0 || nbkg_rel_err < 0.0){ - std::cout << "[roostats_cl95]: Workspace not initialized, cannot create a dataset" << std::endl; - return 0; - } - - double ilum = ws->var("lumi")->getVal(); - double eff = ws->var("efficiency")->getVal(); - double bck = ws->var("bkg_est")->getVal(); - double sbck = nbkg_rel_err*bck; - - ws->var("n") ->setRange( 0.0, bck+(5.0*sbck)+10.0*(n+1.0)); // ad-hoc range for obs - Double_t xsec_upper_bound = 4.0*(std::max(3.0,n-bck)+sqrt(n)+sbck)/ilum/eff; // ad-hoc range for POI - xsec_upper_bound = RoundUpperBound(xsec_upper_bound); - ws->var("xsec") ->setRange( 0.0, xsec_upper_bound ); - ws->var("nsig_nuis")->setRange( std::max(0.0, 1.0 - 5.0*nsig_rel_err), 1.0 + 5.0*nsig_rel_err); - ws->var("nbkg") ->setRange( std::max(0.0, bck - 5.0*sbck), bck + 5.0*sbck); - - // create data - ws->var("n") ->setVal(n); - delete data; - data = new RooDataSet("data","",*(SbModel.GetObservables())); - data->add( *(SbModel.GetObservables())); - - - // Now set up parameter snapshots for the S+B and B models - - // find global maximum with the signal+background model - // with conditional MLEs for nuisance parameters - // and save the parameter point snapshot in the Workspace - // - safer to keep a default name because some RooStats calculators - // will anticipate it - RooAbsReal * pNll = SbModel.GetPdf()->createNLL(*data); - RooAbsReal * pProfile = pNll->createProfile(RooArgSet()); - pProfile->getVal(); // this will do fit and set POI and nuisance parameters to fitted values - RooArgSet * pPoiAndNuisance = new RooArgSet("poiAndNuisance"); - if(SbModel.GetNuisanceParameters()) - pPoiAndNuisance->add(*SbModel.GetNuisanceParameters()); - pPoiAndNuisance->add(*SbModel.GetParametersOfInterest()); - std::cout << "\nWill save these parameter points that correspond to the fit to data" << std::endl; - pPoiAndNuisance->Print("v"); - SbModel.SetSnapshot(*pPoiAndNuisance); - delete pProfile; - delete pNll; - delete pPoiAndNuisance; - - // Find a parameter point for generating pseudo-data - // with the background-only data. - // Save the parameter point snapshot in the Workspace - // - // POI value under the background hypothesis - Double_t poiValueForBModel = 0.0; - pNll = BModel.GetPdf()->createNLL(*data); - const RooArgSet * poi = BModel.GetParametersOfInterest(); - pProfile = pNll->createProfile(*poi); - ((RooRealVar *)poi->first())->setVal(poiValueForBModel); - pProfile->getVal(); // this will do fit and set nuisance parameters to profiled values - pPoiAndNuisance = new RooArgSet("poiAndNuisance"); - if(BModel.GetNuisanceParameters()) - pPoiAndNuisance->add(*BModel.GetNuisanceParameters()); - pPoiAndNuisance->add(*BModel.GetParametersOfInterest()); - std::cout << "\nShould use these parameter points to generate pseudo data for bkg only" << std::endl; - pPoiAndNuisance->Print("v"); - BModel.SetSnapshot(*pPoiAndNuisance); - delete pProfile; - delete pNll; - delete pPoiAndNuisance; - - // import the model configs, has to be after all snapshots are saved - ws->import(SbModel); - ws->import(BModel); - - // restore RooFit messaging level - RooMsgService::instance().setGlobalKillBelow(msglevel); - - return data; -} - - -MCMCInterval * CL95Calc::GetMcmcInterval(double conf_level, - int n_iter, - int n_burn, - double left_side_tail_fraction, - int n_bins){ - // use MCMCCalculator (takes about 1 min) - // Want an efficient proposal function, so derive it from covariance - // matrix of fit - - RooFitResult * fit = ws->pdf("model")->fitTo(*data,Save(), - Verbose(kFALSE), - PrintLevel(-1), - Warnings(0), - PrintEvalErrors(-1)); - ProposalHelper ph; - ph.SetVariables((RooArgSet&)fit->floatParsFinal()); - ph.SetCovMatrix(fit->covarianceMatrix()); - ph.SetUpdateProposalParameters(kTRUE); // auto-create mean vars and add mappings - ph.SetCacheSize(100); - ProposalFunction* pf = ph.GetProposalFunction(); - - MCMCCalculator mcmc( *data, SbModel ); - mcmc.SetConfidenceLevel(conf_level); - mcmc.SetNumIters(n_iter); // Metropolis-Hastings algorithm iterations - mcmc.SetProposalFunction(*pf); - mcmc.SetNumBurnInSteps(n_burn); // first N steps to be ignored as burn-in - mcmc.SetLeftSideTailFraction(left_side_tail_fraction); - mcmc.SetNumBins(n_bins); - - delete mcInt; - mcInt = mcmc.GetInterval(); - - return mcInt; -} - - -void CL95Calc::makeMcmcPosteriorPlot( std::string filename ){ - - TCanvas c1("c1"); - MCMCIntervalPlot plot(*mcInt); - plot.Draw(); - c1.SaveAs(filename.c_str()); - - return; -} - - -double CL95Calc::printMcmcUpperLimit( std::string filename ){ - // - // print out the upper limit on the first Parameter of Interest - // - - RooRealVar * firstPOI = (RooRealVar*) SbModel.GetParametersOfInterest()->first(); - double _limit = mcInt->UpperLimit(*firstPOI); - cout << "\n95% upper limit on " <GetName()<<" is : "<< - _limit <var("xsec")->getMin() << ", " - << ws->var("xsec")->getMax() << "]" << std::endl; - - - //prepare Feldman-Cousins Calulator - - delete fcCalc; - fcCalc = new FeldmanCousins(*data,SbModel); - - fcCalc->SetConfidenceLevel(conf_int); // confidence interval - //fcCalc->AdditionalNToysFactor(0.1); // to speed up the result - fcCalc->UseAdaptiveSampling(UseAdaptiveSampling); // speed it up a bit - fcCalc->SetNBins(Nbins); // set how many points per parameter of interest to scan - fcCalc->CreateConfBelt(CreateConfidenceBelt); // save the information in the belt for plotting - - - if(!SbModel.GetPdf()->canBeExtended()){ - if(data->numEntries()==1) - fcCalc->FluctuateNumDataEntries(false); - else - cout <<"Not sure what to do about this model" <first(); - - double max = firstPOI->getMax(); - double min = firstPOI->getMin(); - double med = (max + min)/2.0; - - double maxPerm = firstPOI->getMax(); - double minPerm = firstPOI->getMin(); - - double UpperLimit = 0; - - PointSetInterval* interval = 0; - - while ( 1 ){ - - ++cnt; - firstPOI->setMax( max ); - firstPOI->setMin( min ); - - if ( verbose ) std::cout << "[FeldmanCousins]: Setting max/min/med to = " << max << " / " << min << " / " << med << std::endl; - - interval = fcCalc->GetInterval(); - interval -> Delete(); - - UpperLimit = interval -> UpperLimit(*firstPOI); - if ( verbose ) std::cout <<"[FeldmanCousins]: Updating Upper Limt to = "<< UpperLimit << std::endl; - - if ( UpperLimit > 0.000001 ){ - - min = med; - med = (max + min)/2.0; - - } - else{ - - max = med; - med = (max + min)/2.0; - - } - - if ( ( UpperLimit > 0.000001 ) && ( (max - min) < ULprecision) ) { - upper_limit = UpperLimit; - std::cout <<"[FeldmanCousins]: In "<< cnt << " steps Upper Limt converged to " << upper_limit << std::endl; - break; - } - - if ( cnt > 50 ) { - upper_limit = -1; - std::cout << std::endl; - std::cout <<"[FeldmanCousins WARNING!!!!!!!!!!!! ]: Calculator could not converge in under 50 steps. Returning Upper Limit of -1." << std::endl; - std::cout << std::endl; - break; - } - - } - - ws->var("xsec")->setMax( maxPerm ); - ws->var("xsec")->setMin( minPerm ); - - return upper_limit; - -} - - - - - -Double_t CL95Calc::cl95( std::string method, LimitResult * result ){ - // - // Compute the observed limit - // For some methods - CLs - compute the expected limts too. - // Extended results are returned via reference as LimitResul object - // - // this method assumes that the workspace, - // data and model config are ready - // - - Double_t upper_limit = -1.0; - - // make RooFit quiet - // cash the current message level first - RooFit::MsgLevel msglevel = RooMsgService::instance().globalKillBelow(); - // get ugly RooFit print out of the way - // FIXME: uncomment - RooMsgService::instance().setGlobalKillBelow(RooFit::FATAL); - - Int_t _attempt = 0; // allow several attempts for limit calculation, stop after that - while(1){ - - ++_attempt; - - // too many attempts - if (_attempt > 5){ - std::cout << "[roostats_cl95]: limit calculation did not converge, exiting..." << std::endl; - return -1.0; - } - - if (method.find("bayesian") != std::string::npos){ - - std::cout << "[roostats_cl95]: Range of allowed cross section values: [" - << ws->var("xsec")->getMin() << ", " - << ws->var("xsec")->getMax() << "]" << std::endl; - - //prepare Bayesian Calulator - delete bcalc; - bcalc = new BayesianCalculator(*data, SbModel); - TString namestring = "mybc"; - bcalc->SetName(namestring); - bcalc->SetConfidenceLevel(0.95); - bcalc->SetLeftSideTailFraction(0.0); - //bcalc->SetIntegrationType("ROOFIT"); - - delete sInt; - sInt = bcalc->GetInterval(); - upper_limit = sInt->UpperLimit(); - delete sInt; - sInt = 0; - - } - else if (method.find("mcmc") != std::string::npos){ - - std::cout << "[roostats_cl95]: Bayesian MCMC calculation is still experimental in this context!!!" << std::endl; - - std::cout << "[roostats_cl95]: Range of allowed cross section values: [" - << ws->var("xsec")->getMin() << ", " - << ws->var("xsec")->getMax() << "]" << std::endl; - - //prepare Bayesian Markov Chain MC Calulator - mcInt = GetMcmcInterval(0.95, 50000, 100, 0.0, 40); - upper_limit = printMcmcUpperLimit(); - } - else if (method.find("cls") != std::string::npos){ - // - // testing CLs - // - - std::cout << "[roostats_cl95]: CLs calculation is still experimental in this context!!!" << std::endl; - - std::cout << "[roostats_cl95]: Range of allowed cross section values: [" - << ws->var("xsec")->getMin() << ", " - << ws->var("xsec")->getMax() << "]" << std::endl; - - // timer - TStopwatch t; - t.Start(); - - // load parameter point with the best fit to data - SbModel.LoadSnapshot(); - RooRealVar * pPoi = (RooRealVar *)(SbModel.GetParametersOfInterest()->first()); - // get POI upper error from the fit - Double_t poi_err = pPoi->getErrorHi(); - // get POI upper range boundary - Double_t poi_upper_range = pPoi->getMax(); - // get the upper range boundary for CLs as min of poi range and 5*error - Double_t upper_range = std::min(10.0*poi_err,poi_upper_range); - // debug output - //std::cout << "range, error, new range " << poi_upper_range << ", "<< poi_err << ", " << upper_range << std::endl; - - RooMsgService::instance().setGlobalKillBelow(RooFit::PROGRESS); - - std::vector lim = - GetClsLimits( ws, - "SbModel", - "BModel", - "observed_data", - 0, // calculator type, 0-freq, 1-hybrid - 3, // test statistic, 0-lep, 1-tevatron, 2-PL, 3-PL 1-sided - true, // useCls - 10, // npoints in the scan - 0, // poimin: use default is poimin >= poimax - upper_range, - 10000,// ntoys - "test" ); - - t.Stop(); - t.Print(); - - if (result){ - result->_observed_limit = lim[0]; - result->_observed_limit_error = lim[1]; - result->_expected_limit = lim[2]; - result->_low68 = lim[3]; - result->_high68 = lim[4]; - result->_low95 = lim[5]; - result->_high95 = lim[6]; - result->_cover68 = -1.0; - result->_cover95 = -1.0; - } - - upper_limit = lim[0]; - - } // end of the CLs block - else if (method.find("fc") != std::string::npos){ - - int Nbins = 1; - float conf_int = 0.95; - float ULprecision = 0.1; - bool UseAdaptiveSampling = true; - bool CreateConfidenceBelt = true; - - - upper_limit = FC_calc(Nbins, conf_int, ULprecision, UseAdaptiveSampling, CreateConfidenceBelt); - - } // end of the FC block - else{ - - std::cout << "[roostats_cl95]: method " << method - << " is not implemented, exiting" <var("xsec")->getMax(); - - if (method.find("cls")!=std::string::npos) break; - if (method.find("fc") != std::string::npos ) break; - // range too wide - else if (upper_limit < _poi_max_range/10.0){ - std::cout << "[roostats_cl95]: POI range is too wide, will narrow the range and rerun" << std::endl; - ws->var("xsec")->setMax(RoundUpperBound(_poi_max_range/2.0)); - } - // range too narrow - else if (upper_limit > _poi_max_range/2.0){ - std::cout << "[roostats_cl95]: upper limit is too narrow, will widen the range and rerun" << std::endl; - ws->var("xsec")->setMax(RoundUpperBound(2.0*_poi_max_range)); - } - // all good, limit is ready - else{ - break; - } - - } // end of while(1) loop - - // restore RooFit messaging level - RooMsgService::instance().setGlobalKillBelow(msglevel); - - return upper_limit; - -} - - -Double_t CL95Calc::cla( Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nuisanceModel, - std::string method ){ - - makeWorkspace( ilum, slum, - eff, seff, - bck, sbck, - kFALSE, - nuisanceModel ); - - Double_t CL95A = 0, precision = 1.e-4; - - Int_t i; - for (i = bck; i >= 0; i--) - { - makeData( i ); - - Double_t s95 = cl95( method ); - Double_t s95w =s95*TMath::Poisson( (Double_t)i, bck ); - CL95A += s95w; - cout << "[roostats_cla]: n = " << i << "; 95% C.L. = " << s95 << " pb; weighted 95% C.L. = " << s95w << " pb; running = " << CL95A << " pb" << endl; - - if (s95w < CL95A*precision) break; - } - cout << "[roostats_cla]: Lower bound on n has been found at " << i+1 << endl; - - for (i = bck+1; ; i++) - { - makeData( i ); - Double_t s95 = cl95( method ); - Double_t s95w =s95*TMath::Poisson( (Double_t)i, bck ); - CL95A += s95w; - cout << "[roostats_cla]: n = " << i << "; 95% C.L. = " << s95 << " pb; weighted 95% C.L. = " << s95w << " pb; running = " << CL95A << " pb" << endl; - - if (s95w < CL95A*precision) break; - } - cout << "[roostats_cla]: Upper bound on n has been found at " << i << endl; - cout << "[roostats_cla]: Average upper 95% C.L. limit = " << CL95A << " pb" << endl; - - return CL95A; -} - - - -LimitResult CL95Calc::clm( Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nit, Int_t nuisanceModel, - std::string method ){ - - makeWorkspace( ilum, slum, - eff, seff, - bck, sbck, - kFALSE, - nuisanceModel ); - - Double_t CLM = 0.0; - LimitResult _result; - - Double_t b68[2] = {0.0, 0.0}; // 1-sigma expected band - Double_t b95[2] = {0.0, 0.0}; // 2-sigma expected band - - std::vector pe; - - // timer - TStopwatch t; - t.Start(); // start timer - Double_t _realtime = 0.0; - Double_t _cputime = 0.0; - Double_t _realtime_last = 0.0; - Double_t _cputime_last = 0.0; - Double_t _realtime_average = 0.0; - Double_t _cputime_average = 0.0; - - // throw pseudoexperiments - if (nit <= 0)return _result; - std::map cached_limit; - for (Int_t i = 0; i < nit; i++) - { - // throw random nuisance parameter (bkg yield) - Double_t bmean = GetRandom("syst_nbkg", "nbkg"); - - std::cout << "[roostats_clm]: generatin pseudo-data with bmean = " << bmean << std::endl; - Int_t n = r.Poisson(bmean); - - // check if the limit for this n is already cached - Double_t _pe = -1.0; - if (cached_limit.find(n)==cached_limit.end()){ - - makeData( n ); - std::cout << "[roostats_clm]: invoking CL95 with n = " << n << std::endl; - - _pe = cl95( method ); - cached_limit[n] = _pe; - } - else{ - std::cout << "[roostats_clm]: returning previously cached limit for n = " << n << std::endl; - _pe = cached_limit[n]; - } - - pe.push_back(_pe); - CLM += pe[i]; - - _realtime_last = t.RealTime() - _realtime; - _cputime_last = t.CpuTime() - _cputime; - _realtime = t.RealTime(); - _cputime = t.CpuTime(); - t.Continue(); - _realtime_average = _realtime/((Double_t)(i+1)); - _cputime_average = _cputime/((Double_t)(i+1)); - - std::cout << "n = " << n << "; 95% C.L. = " << _pe << " pb; running = " << CLM/(i+1.) << std::endl; - std::cout << "Real time (s), this iteration: " << _realtime_last << ", average per iteration: " << _realtime_average << ", total: " << _realtime << std::endl; - std::cout << "CPU time (s), this iteration: " << _cputime_last << ", average per iteration: " << _cputime_average << ", total: " << _cputime << std::endl << std::endl; - } - - CLM /= nit; - - // sort the vector with limits - std::sort(pe.begin(), pe.end()); - - // median for the expected limit - Double_t _median = TMath::Median(nit, &pe[0]); - - // quantiles for the expected limit bands - Double_t _prob[4]; // array with quantile boundaries - _prob[0] = 0.021; - _prob[1] = 0.159; - _prob[2] = 0.841; - _prob[3] = 0.979; - - Double_t _quantiles[4]; // array for the results - - TMath::Quantiles(nit, 4, &pe[0], _quantiles, _prob); // evaluate quantiles - - b68[0] = _quantiles[1]; - b68[1] = _quantiles[2]; - b95[0] = _quantiles[0]; - b95[1] = _quantiles[3]; - - // let's get actual coverages now - - Long64_t lc68 = LowBoundarySearch(&pe, _quantiles[1]); - Long64_t uc68 = HighBoundarySearch(&pe, _quantiles[2]); - Long64_t lc95 = LowBoundarySearch(&pe, _quantiles[0]); - Long64_t uc95 = HighBoundarySearch(&pe, _quantiles[3]); - - Double_t _cover68 = (nit - lc68 - uc68)*100./nit; - Double_t _cover95 = (nit - lc95 - uc95)*100./nit; - - std::cout << "[CL95Calc::clm()]: median limit: " << _median << std::endl; - std::cout << "[CL95Calc::clm()]: 1 sigma band: [" << b68[0] << "," << b68[1] << - "]; actual coverage: " << _cover68 << - "%; lower/upper percentile: " << lc68*100./nit <<"/" << uc68*100./nit << std::endl; - std::cout << "[CL95Calc::clm()]: 2 sigma band: [" << b95[0] << "," << b95[1] << - "]; actual coverage: " << _cover95 << - "%; lower/upper percentile: " << lc95*100./nit <<"/" << uc95*100./nit << std::endl; - - t.Print(); - - _result._expected_limit = _median; - _result._low68 = b68[0]; - _result._high68 = b68[1]; - _result._low95 = b95[0]; - _result._high95 = b95[1]; - _result._cover68 = _cover68; - _result._cover95 = _cover95; - - return _result; -} - - - -int CL95Calc::makePlot( std::string method, - std::string plotFileName ){ - - if (method.find("bayesian") != std::string::npos){ - - std::cout << "[roostats_cl95]: making Bayesian posterior plot" << endl; - - TCanvas c1("posterior"); - bcalc->SetScanOfPosterior(100); - RooPlot * plot = bcalc->GetPosteriorPlot(); - plot->Draw(); - c1.SaveAs(plotFileName.c_str()); - } - else if (method.find("mcmc") != std::string::npos){ - - std::cout << "[roostats_cl95]: making Bayesian MCMC posterior plot" << endl; - - makeMcmcPosteriorPlot(plotFileName); - - } - else{ - std::cout << "[roostats_cl95]: plot for method " << method - << " is not implemented" <pdf(pdf.c_str())->generate(*ws->var(var.c_str()), 1); - - Double_t _result = ((RooRealVar *)(_ds->get(0)->first()))->getVal(); - delete _ds; - - return _result; -} - - -Long64_t CL95Calc::LowBoundarySearch(std::vector * cdf, Double_t value){ - // - // return number of elements which are < value with precision 1e-10 - // - - Long64_t result = 0; - std::vector::const_iterator i = cdf->begin(); - while( (*i1.0e-10 && (i!=cdf->end()) ){ - ++i; - ++result; - } - return result; -} - - -Long64_t CL95Calc::HighBoundarySearch(std::vector * cdf, Double_t value){ - // - // return number of elements which are > value with precision 1e-10 - // - - Long64_t result = 0; - std::vector::const_iterator i = cdf->end(); - while(1){ // (*ibegin()) ){ - --i; - if (*i>value && fabs(*i-value)>1.0e-10 ){ - ++result; - } - else break; - if (i==cdf->begin()) break; - } - return result; -} - - - -Double_t CL95Calc::RoundUpperBound(Double_t bound){ - // - // find a round upper bound for a floating point - // - Double_t power = log10(bound); - Int_t int_power = power>0.0 ? (Int_t)power : (Int_t)(power-1.0); - Int_t int_bound = (Int_t)(bound/pow(10,(Double_t)int_power) * 10.0 + 1.0); - bound = (Double_t)(int_bound/10.0*pow(10,(Double_t)int_power)); - return bound; -} - - - -Int_t banner(){ - //#define __ROOFIT_NOBANNER // banner temporary off -#ifndef __EXOST_NOBANNER -// std::cout << desc << std::endl; -#endif - return 0 ; -} -static Int_t dummy_ = banner() ; - - - -Double_t roostats_cl95(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t n, - Bool_t gauss, - Int_t nuisanceModel, - std::string method, - std::string plotFileName, - UInt_t seed, - LimitResult * result){ - // - // Global function to run the CL95 routine - // - // If a non-null pointer to a LimitResult object is provided, - // it will be filled, and the caller keeps the ownership of - // the object. This is mainly an internal interface design solution, - // users are not expected to use that (but they can of course) - // - - std::cout << "[roostats_cl95]: estimating 95% C.L. upper limit" << endl; - if (method.find("bayesian") != std::string::npos){ - std::cout << "[roostats_cl95]: using Bayesian calculation via numeric integration" << endl; - } - else if (method.find("mcmc") != std::string::npos){ - std::cout << "[roostats_cl95]: using Bayesian calculation via numeric integration" << endl; - } - else if (method.find("cls") != std::string::npos){ - std::cout << "[roostats_cl95]: using CLs calculation" << endl; - } - else if (method.find("fc") != std::string::npos){ - std::cout << "[roostats_cl95]: using Feldman-Cousins approach" << endl; - } - else if (method.find("workspace") != std::string::npos){ - std::cout << "[roostats_cl95]: no interval calculation, only create and save workspace" << endl; - } - else{ - std::cout << "[roostats_cl95]: method " << method - << " is not implemented, exiting" <Clone() ); - data->SetName("observed_data"); - ws->import(*data); - - //ws->Print(); - - ws->SaveAs("ws.root"); - - // if only workspace requested, exit here - if ( method.find("workspace") != std::string::npos ) return 0.0; - - Double_t limit = theCalc.cl95( method, &limitResult ); - std::cout << "[roostats_cl95]: 95% C.L. upper limit: " << limit << std::endl; - - // check if the plot is requested - if (plotFileName.size() != 0){ - theCalc.makePlot(method, plotFileName); - } - - if (result) *result = limitResult; - - return limit; -} - - - -LimitResult roostats_limit(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t n, - Bool_t gauss, - Int_t nuisanceModel, - std::string method, - std::string plotFileName, - UInt_t seed){ - // - // Global function to run the CL95 routine - // - - LimitResult limitResult; - - roostats_cl95(ilum, slum, - eff, seff, - bck, sbck, - n, - gauss, - nuisanceModel, - method, - plotFileName, - seed, - &limitResult); - - std::cout << " expected limit (median) " << limitResult.GetExpectedLimit() << std::endl; - std::cout << " expected limit (-1 sig) " << limitResult.GetOneSigmaLowRange() << std::endl; - std::cout << " expected limit (+1 sig) " << limitResult.GetOneSigmaHighRange() << std::endl; - std::cout << " expected limit (-2 sig) " << limitResult.GetTwoSigmaLowRange() << std::endl; - std::cout << " expected limit (+2 sig) " << limitResult.GetTwoSigmaHighRange() << std::endl; - - return limitResult; -} - - - -Double_t roostats_cla(Double_t ilum, Double_t slum, - Double_t eff, Double_t seff, - Double_t bck, Double_t sbck, - Int_t nuisanceModel, - std::string method, - UInt_t seed){ - // - // Global function to run old-style average limit routine. - // Please use roostats_clm() instead. - // - - Double_t limit = -1.0; - - std::cout << "[roostats_cla]: estimating average 95% C.L. upper limit" << endl; - if (method.find("bayesian") != std::string::npos){ - std::cout << "[roostats_cla]: using Bayesian calculation via numeric integration" << endl; - } - else if (method.find("mcmc") != std::string::npos){ - std::cout << "[roostats_cl95]: using Bayesian calculation via numeric integration" << endl; - } - else if (method.find("cls") != std::string::npos){ - std::cout << "[roostats_cl95]: using CLs calculation" << endl; - } - else if (method.find("fc") != std::string::npos){ - std::cout << "[roostats_cl95]: using Feldman-Cousins approach" << endl; - } - else{ - std::cout << "[roostats_cla]: method " << method - << " is not implemented, exiting" < -GetClsLimits(RooWorkspace * pWs, - const char * modelSBName, - const char * modelBName, - const char * dataName, - int calculatorType, // calculator type - int testStatType, // test stat type - bool useCls, - int npoints, - double poimin, // use default is poimin >= poimax - double poimax, - int ntoys, - std::string suffix) -{ - - // - // Return a vector of numbers (terrible design, I know) ordered as - // - observed limit - // - observed limit error - // - expected limit median - // - expected limit -1 sigma - // - expected limit +1 sigma - // - expected limit -2 sigma - // - expected limit +2 sigma - // - -/* - - Other Parameter to pass in tutorial - apart from standard for filename, ws, modelconfig and data - - type = 0 Freq calculator - type = 1 Hybrid - - testStatType = 0 LEP - = 1 Tevatron - = 2 Profile Likelihood - = 3 Profile Likelihood one sided (i.e. = 0 if mu < mu_hat) - - useCLs scan for CLs (otherwise for CLs+b) - - npoints: number of points to scan , for autoscan set npoints = -1 - - poimin,poimax: min/max value to scan in case of fixed scans - (if min >= max, try to find automatically) - - ntoys: number of toys to use - - extra options are available as global paramters of the macro. They are: - - plotHypoTestResult plot result of tests at each point (TS distributions) - useProof = true; - writeResult = true; - nworkers = 4; - - - */ - - - // result - std::vector result; - - // check that workspace is present - if (!pWs){ - std::cout << "No workspace found, null pointer" << std::endl; - return result; - } - - HypoTestInverterResult * r = 0; - HypoTestInverterResult * r2 = 0; - - // terrible hack to check appending results - if (suffix.find("merge")!=std::string::npos){ - std::string resFile = "Freq_CLs_grid_ts2_test_1.root"; - std::string resFile2 = "Freq_CLs_grid_ts2_test_2.root"; - std::string resName = "result_xsec"; - //std::cout << "Reading an HypoTestInverterResult with name " << resName << " from file " << resFile << std::endl; - TFile * file = new TFile(resFile.c_str(), "read"); - TFile * file2 = new TFile(resFile2.c_str(), "read"); - r = dynamic_cast( file->Get(resName.c_str()) ); - r2 = dynamic_cast( file2->Get(resName.c_str()) ); - r->Add(*r2); - } - else{ - r = RunInverter(pWs, modelSBName, modelBName, dataName, calculatorType, testStatType, npoints, poimin, poimax, ntoys, useCls ); - if (!r) { - std::cerr << "Error running the HypoTestInverter - Exit " << std::endl; - return result; - } - } - - - double upperLimit = r->UpperLimit(); - double ulError = r->UpperLimitEstimatedError(); - result.push_back(upperLimit); - result.push_back(ulError); - - - //std::cout << "The computed upper limit is: " << upperLimit << " +/- " << ulError << std::endl; - - // const int nEntries = r->ArraySize(); - - const char * limitType = (useCls) ? "CLs" : "Cls+b"; - const char * scanType = (npoints < 0) ? "auto" : "grid"; - - const char * typeName = (calculatorType == 0) ? "Frequentist" : "Hybrid"; - const char * resultName = (pWs) ? pWs->GetName() : r->GetName(); - TString plotTitle = TString::Format("%s CL Scan for workspace %s",typeName,resultName); - - /* - HypoTestInverterPlot *plot = new HypoTestInverterPlot("HTI_Result_Plot",plotTitle,r); - TCanvas c1; - //plot->Draw("CLb 2CL"); // plot all and Clb - plot->Draw("2CL"); // plot all and Clb - TString resultFileName = TString::Format("%s_%s_ts%d_scan_",limitType,scanType,testStatType); - resultFileName += suffix; - resultFileName += ".pdf"; - c1.SaveAs(resultFileName); - - if (plotHypoTestResult) { - TCanvas * c2 = new TCanvas(); - c2->Divide( 2, TMath::Ceil(nEntries/2)); - for (int i=0; icd(i+1); - SamplingDistPlot * pl = plot->MakeTestStatPlot(i); - pl->SetLogYaxis(true); - pl->Draw(); - } - } - */ - - Double_t q[5]; - q[0] = r->GetExpectedUpperLimit(0); - q[1] = r->GetExpectedUpperLimit(-1); - q[2] = r->GetExpectedUpperLimit(1); - q[3] = r->GetExpectedUpperLimit(-2); - q[4] = r->GetExpectedUpperLimit(2); - //std::cout << " expected limit (median) " << q[0] << std::endl; - //std::cout << " expected limit (-1 sig) " << q[1] << std::endl; - //std::cout << " expected limit (+1 sig) " << q[2] << std::endl; - //std::cout << " expected limit (-2 sig) " << q[3] << std::endl; - //std::cout << " expected limit (+2 sig) " << q[4] << std::endl; - result.push_back(q[0]); - result.push_back(q[1]); - result.push_back(q[2]); - result.push_back(q[3]); - result.push_back(q[4]); - - - if (pWs != NULL && writeResult) { - - // write to a file the results - const char * calcType = (calculatorType == 0) ? "Freq" : "Hybr"; - //const char * limitType = (useCls) ? "CLs" : "Cls+b"; - //const char * scanType = (npoints < 0) ? "auto" : "grid"; - TString resultFileName = TString::Format("%s_%s_%s_ts%d_",calcType,limitType,scanType,testStatType); - //resultFileName += fileName; - resultFileName += suffix; - resultFileName += ".root"; - - TFile * fileOut = new TFile(resultFileName,"RECREATE"); - r->Write(); - fileOut->Close(); - } - - return result; -} - - -// internal routine to run the inverter -HypoTestInverterResult * RunInverter(RooWorkspace * w, const char * modelSBName, const char * modelBName, - const char * dataName, int type, int testStatType, - int npoints, double poimin, double poimax, - int ntoys, bool useCls ) -{ - - //std::cout << "Running HypoTestInverter on the workspace " << w->GetName() << std::endl; - - //w->Print(); - - - RooAbsData * data = w->data(dataName); - if (!data) { - Error("StandardHypoTestDemo","Not existing data %s",dataName); - return 0; - } - //else - // std::cout << "Using data set " << dataName << std::endl; - - - // get models from WS - // get the modelConfig out of the file - ModelConfig* bModel = (ModelConfig*) w->obj(modelBName); - ModelConfig* sbModel = (ModelConfig*) w->obj(modelSBName); - - if (!sbModel) { - Error("StandardHypoTestDemo","Not existing ModelConfig %s",modelSBName); - return 0; - } - // check the model - if (!sbModel->GetPdf()) { - Error("StandardHypoTestDemo","Model %s has no pdf ",modelSBName); - return 0; - } - if (!sbModel->GetParametersOfInterest()) { - Error("StandardHypoTestDemo","Model %s has no poi ",modelSBName); - return 0; - } - if (!sbModel->GetParametersOfInterest()) { - Error("GetClsLimits","Model %s has no poi ",modelSBName); - return 0; - } - if (!sbModel->GetSnapshot() ) { - Info("GetClsLimits","Model %s has no snapshot - make one using model poi",modelSBName); - sbModel->SetSnapshot( *sbModel->GetParametersOfInterest() ); - } - - - if (!bModel || bModel == sbModel) { - Info("GetClsLimits","The background model %s does not exist",modelBName); - Info("GetClsLimits","Copy it from ModelConfig %s and set POI to zero",modelSBName); - bModel = (ModelConfig*) sbModel->Clone(); - bModel->SetName(TString(modelSBName)+TString("_with_poi_0")); - RooRealVar * var = dynamic_cast(bModel->GetParametersOfInterest()->first()); - if (!var) return 0; - double oldval = var->getVal(); - var->setVal(0); - bModel->SetSnapshot( RooArgSet(*var) ); - var->setVal(oldval); - } - else { - if (!bModel->GetSnapshot() ) { - Info("GetClsLimits","Model %s has no snapshot - make one using model poi and 0 values ",modelBName); - RooRealVar * var = dynamic_cast(bModel->GetParametersOfInterest()->first()); - if (var) { - double oldval = var->getVal(); - var->setVal(0); - bModel->SetSnapshot( RooArgSet(*var) ); - var->setVal(oldval); - } - else { - Error("GetClsLimits","Model %s has no valid poi",modelBName); - return 0; - } - } - } - - - SimpleLikelihoodRatioTestStat slrts(*sbModel->GetPdf(),*bModel->GetPdf()); - if (sbModel->GetSnapshot()) slrts.SetNullParameters(*sbModel->GetSnapshot()); - if (bModel->GetSnapshot()) slrts.SetAltParameters(*bModel->GetSnapshot()); - - // ratio of profile likelihood - need to pass snapshot for the alt - RatioOfProfiledLikelihoodsTestStat - ropl(*sbModel->GetPdf(), *bModel->GetPdf(), bModel->GetSnapshot()); - ropl.SetSubtractMLE(false); - - ProfileLikelihoodTestStat profll(*sbModel->GetPdf()); - if (testStatType == 3) profll.SetOneSided(1); - if (optimize) profll.SetReuseNLL(true); - - TestStatistic * testStat = &slrts; - if (testStatType == 1) testStat = &ropl; - if (testStatType == 2 || testStatType == 3) testStat = &profll; - - - HypoTestCalculatorGeneric * hc = 0; - if (type == 0) hc = new FrequentistCalculator(*data, *bModel, *sbModel); - else hc = new HybridCalculator(*data, *bModel, *sbModel); - - ToyMCSampler *toymcs = (ToyMCSampler*)hc->GetTestStatSampler(); - // FIXME: - toymcs->SetNEventsPerToy(1); - toymcs->SetTestStatistic(testStat); - if (optimize) toymcs->SetUseMultiGen(true); - - - if (type == 1) { - HybridCalculator *hhc = (HybridCalculator*) hc; - hhc->SetToys(ntoys,ntoys); - - // check for nuisance prior pdf - //if (bModel->GetPriorPdf() && sbModel->GetPriorPdf() ) { - // hhc->ForcePriorNuisanceAlt(*bModel->GetPriorPdf()); - // hhc->ForcePriorNuisanceNull(*sbModel->GetPriorPdf()); - //} - RooAbsPdf * nuis_prior = w->pdf("nuis_prior"); - if (nuis_prior ) { - hhc->ForcePriorNuisanceAlt(*nuis_prior); - hhc->ForcePriorNuisanceNull(*nuis_prior); - } - else { - if (bModel->GetNuisanceParameters() || sbModel->GetNuisanceParameters() ) { - Error("GetClsLimits","Cannnot run Hybrid calculator because no prior on the nuisance parameter is specified"); - return 0; - } - } - } - else - ((FrequentistCalculator*) hc)->SetToys(ntoys,ntoys); - - // Get the result - RooMsgService::instance().getStream(1).removeTopic(RooFit::NumIntegration); - - - TStopwatch tw; tw.Start(); - const RooArgSet * poiSet = sbModel->GetParametersOfInterest(); - RooRealVar *poi = (RooRealVar*)poiSet->first(); - - // fit the data first - - sbModel->GetPdf()->fitTo(*data, - Verbose(0), PrintLevel(-1), Warnings(0), PrintEvalErrors(-1)); - - double poihat = poi->getVal(); - - - HypoTestInverter calc(*hc); - calc.SetConfidenceLevel(0.95); - - calc.UseCLs(useCls); - calc.SetVerbose(true); - - // can speed up using proof-lite - if (useProof && nworkers > 1) { - ProofConfig pc(*w, nworkers, "", kFALSE); - toymcs->SetProofConfig(&pc); // enable proof - } - - - if (npoints > 0) { - if (poimin >= poimax) { - // if no min/max given scan between MLE and +4 sigma - poimin = int(poihat); - poimax = int(poihat + 4 * poi->getError()); - } - //std::cout << "Doing a fixed scan in interval : " << poimin << " , " << poimax << std::endl; - calc.SetFixedScan(npoints,poimin,poimax); - } - else { - //poi->setMax(10*int( (poihat+ 10 *poi->getError() )/10 ) ); - //std::cout << "Doing an automatic scan in interval : " << poi->getMin() << " , " << poi->getMax() << std::endl; - } - - HypoTestInverterResult * r = calc.GetInterval(); - - return r; -} diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.csh b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.csh deleted file mode 100644 index 226852edfdca4..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.csh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/tcsh -# -set arch = slc5_ia32_gcc434 -setenv CMS_PATH /uscmst1/prod/sw/cms - -setenv PYTHONDIR /uscmst1/prod/sw/cms/slc5_ia32_gcc434/external/python/2.6.4-cms6 -setenv PATH ${PYTHONDIR}/bin:/uscmst1b_scratch/lpc1/lpcphys/jchen/root/root_v5.30.02/bin:$PATH -setenv ROOTSYS /uscmst1b_scratch/lpc1/lpcphys/jchen/root/root_v5.30.02 -setenv PYTHONPATH ${ROOTSYS}/lib:${PYTHONPATH} -setenv LD_LIBRARY_PATH ${PYTHONDIR}/lib:${CMS_PATH}/$arch/external/gcc/4.3.4/lib:${ROOTSYS}:${ROOTSYS}/lib:${LD_LIBRARY_PATH} -setenv ROOT_INCLUDE ${ROOTSYS}/include diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.sh b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.sh deleted file mode 100755 index 3f907e7a3155a..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/setstandaloneroot.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# -arch=slc5_ia32_gcc434 -export CMS_PATH=/uscmst1/prod/sw/cms - -export PYTHONDIR=/uscmst1/prod/sw/cms/slc5_ia32_gcc434/external/python/2.6.4-cms6 -export PATH=${PYTHONDIR}/bin:/uscmst1b_scratch/lpc1/lpcphys/jchen/root/root_v5.30.02/bin:$PATH -export ROOTSYS=/uscmst1b_scratch/lpc1/lpcphys/jchen/root/root_v5.30.02 -export PYTHONPATH=${ROOTSYS}/lib:${PYTHONPATH} -export LD_LIBRARY_PATH=${PYTHONDIR}/lib:${CMS_PATH}/$arch/external/gcc/4.3.4/lib:${ROOTSYS}:${ROOTSYS}/lib:${LD_LIBRARY_PATH} -export ROOT_INCLUDE=${ROOTSYS}/include diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/stop_XSec.txt b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/stop_XSec.txt deleted file mode 100644 index 47290723480a0..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/stop_XSec.txt +++ /dev/null @@ -1,45 +0,0 @@ - 100. 4.23E+02 4.86E+02 3.74E+02 - 120. 1.77E+02 2.02E+02 1.56E+02 - 140. 8.27E+01 9.41E+01 7.29E+01 - 160. 4.20E+01 4.76E+01 3.70E+01 - 180. 2.27E+01 2.57E+01 2.01E+01 - 200. 1.30E+01 1.47E+01 1.14E+01 - 220. 7.71E+00 8.72E+00 6.77E+00 - 240. 4.75E+00 5.37E+00 4.17E+00 - 260. 3.02E+00 3.41E+00 2.65E+00 - 280. 1.97E+00 2.22E+00 1.72E+00 - 300. 1.31E+00 1.48E+00 1.14E+00 - 320. 8.86E-01 1.00E+00 7.73E-01 - 340. 6.11E-01 6.92E-01 5.31E-01 - 360. 4.28E-01 4.84E-01 3.70E-01 - 380. 3.03E-01 3.44E-01 2.63E-01 - 400. 2.18E-01 2.47E-01 1.88E-01 - 420. 1.58E-01 1.79E-01 1.36E-01 - 440. 1.16E-01 1.32E-01 9.93E-02 - 460. 8.55E-02 9.75E-02 7.31E-02 - 480. 6.37E-02 7.28E-02 5.44E-02 - 500. 4.78E-02 5.47E-02 4.06E-02 - 520. 3.62E-02 4.15E-02 3.07E-02 - 540. 2.75E-02 3.15E-02 2.33E-02 - 560. 2.10E-02 2.42E-02 1.77E-02 - 580. 1.62E-02 1.87E-02 1.36E-02 - 600. 1.25E-02 1.44E-02 1.05E-02 - 620. 9.68E-03 1.12E-02 8.11E-03 - 640. 7.51E-03 8.71E-03 6.27E-03 - 660. 5.84E-03 6.78E-03 4.87E-03 - 680. 4.55E-03 5.29E-03 3.78E-03 - 700. 3.56E-03 4.14E-03 2.95E-03 - 720. 2.78E-03 3.23E-03 2.30E-03 - 740. 2.17E-03 2.52E-03 1.79E-03 - 760. 1.67E-03 1.94E-03 1.38E-03 - 800. 1.14E-03 1.35E-03 9.31E-04 - 820. 9.14E-04 1.08E-03 7.42E-04 - 840. 7.33E-04 8.68E-04 5.93E-04 - 860. 5.89E-04 7.01E-04 4.74E-04 - 880. 4.75E-04 5.65E-04 3.81E-04 - 900. 3.82E-04 4.56E-04 3.06E-04 - 920. 3.09E-04 3.69E-04 2.47E-04 - 940. 2.50E-04 3.00E-04 1.98E-04 - 960. 2.03E-04 2.44E-04 1.60E-04 - 980. 1.64E-04 1.98E-04 1.29E-04 - 1000. 1.33E-04 1.61E-04 1.04E-04 diff --git a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/tdrstyle.C b/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/tdrstyle.C deleted file mode 100644 index 6e2de47e66928..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/ICHEP_Analysis/tdrstyle.C +++ /dev/null @@ -1,169 +0,0 @@ -// -// TDR style macro for plots in ROOT -// .L tdrstyle.C -// setTDRStyle() -// -#include "TStyle.h" -#include "TPad.h" - -/* -// tdrGrid: Turns the grid lines on (true) or off (false) - -void tdrGrid(bool gridOn) { - tdrStyle->SetPadGridX(gridOn); - tdrStyle->SetPadGridY(gridOn); -} -*/ - -// fixOverlay: Redraws the axis - -void fixOverlay() { - gPad->RedrawAxis(); -} - -void setTDRStyle() { -// TStyle *tdrStyle = new TStyle("tdrStyle","Style for P-TDR"); - -// For the canvas: - gStyle->SetCanvasBorderMode(0); - gStyle->SetCanvasColor(kWhite); - gStyle->SetCanvasDefH(600); //Height of canvas - gStyle->SetCanvasDefW(600); //Width of canvas - gStyle->SetCanvasDefX(0); //POsition on screen - gStyle->SetCanvasDefY(0); - -// For the Pad: - gStyle->SetPadBorderMode(0); - // gStyle->SetPadBorderSize(Width_t size = 1); - gStyle->SetPadColor(kWhite); - gStyle->SetPadGridX(false); - gStyle->SetPadGridY(false); - gStyle->SetGridColor(0); - gStyle->SetGridStyle(3); - gStyle->SetGridWidth(1); - -// For the frame: - gStyle->SetFrameBorderMode(0); - gStyle->SetFrameBorderSize(1); - gStyle->SetFrameFillColor(0); - gStyle->SetFrameFillStyle(0); - gStyle->SetFrameLineColor(1); - gStyle->SetFrameLineStyle(1); - gStyle->SetFrameLineWidth(1); - -// For the histo: - // gStyle->SetHistFillColor(1); - // gStyle->SetHistFillStyle(0); - gStyle->SetHistLineColor(1); - gStyle->SetHistLineStyle(0); - gStyle->SetHistLineWidth(1); - // gStyle->SetLegoInnerR(Float_t rad = 0.5); - // gStyle->SetNumberContours(Int_t number = 20); - - gStyle->SetEndErrorSize(2); - //gStyle->SetErrorMarker(20); - gStyle->SetErrorX(0.); - - gStyle->SetMarkerStyle(20); - -//For the fit/function: - gStyle->SetOptFit(1); - gStyle->SetFitFormat("5.4g"); - gStyle->SetFuncColor(2); - gStyle->SetFuncStyle(1); - gStyle->SetFuncWidth(1); - -//For the date: - gStyle->SetOptDate(0); - // gStyle->SetDateX(Float_t x = 0.01); - // gStyle->SetDateY(Float_t y = 0.01); - -// For the statistics box: - gStyle->SetOptFile(0); - //gStyle->SetOptStat(0); - gStyle->SetOptStat("mr"); - gStyle->SetStatColor(kWhite); - gStyle->SetStatFont(42); - gStyle->SetStatFontSize(0.04);///---> gStyle->SetStatFontSize(0.025); - gStyle->SetStatTextColor(1); - gStyle->SetStatFormat("6.4g"); - gStyle->SetStatBorderSize(1); - gStyle->SetStatH(0.1); - gStyle->SetStatW(0.2);///---> gStyle->SetStatW(0.15); - - // gStyle->SetStatStyle(Style_t style = 1001); - // gStyle->SetStatX(Float_t x = 0); - // gStyle->SetStatY(Float_t y = 0); - -// Margins: - gStyle->SetPadTopMargin(0.05); - gStyle->SetPadBottomMargin(0.13); - gStyle->SetPadLeftMargin(0.16); - gStyle->SetPadRightMargin(0.02); - -// For the Global title: - - gStyle->SetOptTitle(0); - gStyle->SetTitleFont(42); - gStyle->SetTitleColor(1); - gStyle->SetTitleTextColor(1); - gStyle->SetTitleFillColor(10); - gStyle->SetTitleFontSize(0.05); - // gStyle->SetTitleH(0); // Set the height of the title box - // gStyle->SetTitleW(0); // Set the width of the title box - // gStyle->SetTitleX(0); // Set the position of the title box - // gStyle->SetTitleY(0.985); // Set the position of the title box - // gStyle->SetTitleStyle(Style_t style = 1001); - // gStyle->SetTitleBorderSize(2); - -// For the axis titles: - - gStyle->SetTitleColor(1, "XYZ"); - gStyle->SetTitleFont(42, "XYZ"); - gStyle->SetTitleSize(0.06, "XYZ"); - // gStyle->SetTitleXSize(Float_t size = 0.02); // Another way to set the size? - // gStyle->SetTitleYSize(Float_t size = 0.02); - gStyle->SetTitleXOffset(0.9); - gStyle->SetTitleYOffset(1.25); - // gStyle->SetTitleOffset(1.1, "Y"); // Another way to set the Offset - -// For the axis labels: - - gStyle->SetLabelColor(1, "XYZ"); - gStyle->SetLabelFont(42, "XYZ"); - gStyle->SetLabelOffset(0.007, "XYZ"); - gStyle->SetLabelSize(0.05, "XYZ"); - -// For the axis: - - gStyle->SetAxisColor(1, "XYZ"); - gStyle->SetStripDecimals(kTRUE); - gStyle->SetTickLength(0.03, "XYZ"); - gStyle->SetNdivisions(510, "XYZ"); - gStyle->SetPadTickX(1); // To get tick marks on the opposite side of the frame - gStyle->SetPadTickY(1); - -// Change for log plots: - gStyle->SetOptLogx(0); - gStyle->SetOptLogy(0); - gStyle->SetOptLogz(0); - -// Postscript options: - gStyle->SetPaperSize(20.,20.); - // gStyle->SetLineScalePS(Float_t scale = 3); - // gStyle->SetLineStyleString(Int_t i, const char* text); - // gStyle->SetHeaderPS(const char* header); - // gStyle->SetTitlePS(const char* pstitle); - - // gStyle->SetBarOffset(Float_t baroff = 0.5); - // gStyle->SetBarWidth(Float_t barwidth = 0.5); - // gStyle->SetPaintTextFormat(const char* format = "g"); - // gStyle->SetPalette(Int_t ncolors = 0, Int_t* colors = 0); - // gStyle->SetTimeOffset(Double_t toffset); - // gStyle->SetHistMinimumZero(kTRUE); - -// gStyle->cd(); - - gROOT->ForceStyle(); - -} diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/GetLuminosity/GetLuminosity.C b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/GetLuminosity/GetLuminosity.C deleted file mode 100644 index ded1ba86b25f6..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/GetLuminosity/GetLuminosity.C +++ /dev/null @@ -1,131 +0,0 @@ - -#include -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphAsymmErrors.h" -#include "TPaveText.h" - - -#if !defined(__CINT__) && !defined(__MAKECINT__) -#include "DataFormats/FWLite/interface/Handle.h" -#include "DataFormats/FWLite/interface/Event.h" - -#include "DataFormats/FWLite/interface/LuminosityBlock.h" -#include "DataFormats/FWLite/interface/Run.h" -#include "DataFormats/Luminosity/interface/LumiSummary.h" - -#include "../../ICHEP_Analysis/Analysis_Samples.h" - -using namespace fwlite; - -#endif - -struct stRun { - unsigned int runId; - std::vector lumiId; -}; - -void GetLumiBlocks_Core(vector& fileNames, std::vector& RunMap); -void DumpJson(const std::vector& RunMap, char* FileName); -void RemoveRunsAfter(unsigned int RunMax, const std::vector& RunMap, std::vector& NewRunMap); - -void GetLuminosity() -{ - //std::string BaseDirectory = "/storage/data/cms/users/quertenmont/HSCP/CMSSW_4_2_3/11_08_03/"; - vector inputFiles; - GetInputFiles(inputFiles, "Data"); - std::vector RunMap; - GetLumiBlocks_Core(inputFiles, RunMap); - DumpJson(RunMap, "out.json"); - - std::vector RunMapBefRPC; - RemoveRunsAfter(165970, RunMap, RunMapBefRPC); - DumpJson(RunMapBefRPC, "out_beforeRPCChange.json"); -} - -void GetLumiBlocks_Core(vector& fileNames, std::vector& RunMap) -{ - printf("Running\n"); - for(unsigned int f=0;f Lumi =%lu\n",ls.luminosityBlockAuxiliary().run(), (unsigned long)ls.luminosityBlockAuxiliary().id().value()); - int RunIndex = -1; - for(unsigned int r=0;rrunId==ls.luminosityBlockAuxiliary().run()){ - RunIndex = (int)r; - break; - } - } - - if(RunIndex<0){ - stRun* tmp = new stRun(); - tmp->runId=ls.luminosityBlockAuxiliary().run(); - tmp->lumiId.push_back(ls.luminosityBlockAuxiliary().id().value()); - RunMap.push_back(tmp); - //std::sort(RunMap.begin(), RunMap.end(), stRunLess); - }else{ - stRun* tmp = RunMap[RunIndex]; - int LumiIndex = -1; - for(unsigned int l=0;llumiId.size();l++){ - //printf("%lu vs %lu\n",tmp->lumiId[l], (unsigned long) ls.luminosityBlockAuxiliary().id().value() ); - if(tmp->lumiId[l]== (unsigned int) ls.luminosityBlockAuxiliary().id().value()){ - LumiIndex = (int)l; - break; - } - } - if(LumiIndex<0){ - tmp->lumiId.push_back((unsigned int) ls.luminosityBlockAuxiliary().id().value()); - std::sort(tmp->lumiId.begin(), tmp->lumiId.end()); - } - } - }printf("\n"); - } -} - -void RemoveRunsAfter(unsigned int RunMax, const std::vector& RunMap, std::vector& NewRunMap){ - for(unsigned int r=0;rrunId& RunMap, char* FileName){ - FILE* json = fopen(FileName,"w"); - fprintf(json,"{"); - for(unsigned int r=0;rrunId); - unsigned int l=0; - while(llumiId.size()){ - unsigned int FirstLumi = tmp->lumiId[l]; - unsigned Size=0; - for(unsigned int l2=l;l2lumiId.size() && FirstLumi+l2-l==tmp->lumiId[l2]; l2++){Size++;} - fprintf(json,"[%i, %i]",FirstLumi,FirstLumi+Size-1); - l+=Size; - if(llumiId.size()) fprintf(json,","); - } - fprintf(json,"] "); - if(rGetMakeSharedLib()); - TString dummy = makeshared.ReplaceAll("-W ", ""); - gSystem->SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable();; - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libDataFormatsCommon.so"); - .x GetLuminosity.C+ -EOF -lumiCalc2.py --nowarning -c frontier://LumiCalc/CMS_LUMI_PROD -i out.json overview -b stable > LUMI_TABLE -lumiCalc2.py --nowarning -c frontier://LumiCalc/CMS_LUMI_PROD -i out_beforeRPCChange.json overview -b stable > LUMI_TABLE_BEFORE_RPC_CHANGE diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/Launch.py b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/Launch.py deleted file mode 100644 index 1ab6dbfce7c90..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/Launch.py +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function -import urllib -import string -import os -import sys -import LaunchOnCondor -import glob - -print('OPTIMIZATION') -FarmDirectory = "FARM" -JobName = "HSCPStability" -LaunchOnCondor.Jobs_RunHere = 1 -LaunchOnCondor.SendCluster_Create(FarmDirectory, JobName) -LaunchOnCondor.SendCluster_Push(["FWLITE", os.getcwd()+"/StabilityCheck.C", '"ANALYSE"']) -LaunchOnCondor.SendCluster_Submit() diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/LaunchOnCondor.py b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/LaunchOnCondor.py deleted file mode 100644 index cb1a3d28b3a37..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/LaunchOnCondor.py +++ /dev/null @@ -1,300 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function -import urllib -import string -import os -import sys -import glob - -CopyRights = '####################################\n' -CopyRights += '# LaunchOnFarm Script #\n' -CopyRights += '# Loic.quertenmont@cern.ch #\n' -CopyRights += '# April 2010 #\n' -CopyRights += '####################################\n' - -Farm_Directories = [] -Path_Cmd = '' -Path_Shell = '' -Path_Log = '' -Path_Cfg = '' -Jobs_Count = 0 -Jobs_Name = '' -Jobs_Index = '' -Jobs_Seed = 0 -Jobs_NEvent =-1 -Jobs_Skip = 0 -Jobs_Inputs = [] -Jobs_FinalCmds = [] -Jobs_RunHere = 0 - -def CreateTheConfigFile(argv): - global Jobs_Name - global Jobs_Index - global Jobs_Count - global Jobs_Seed - global Jobs_Skip - global Jobs_NEvent - global Jobs_Inputs - global Jobs_FinalCmds - global Path_Cfg - global CopyRights - Path_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_cfg.py' - - config_file=open(argv[1],'r') - config_txt = '\n\n' + CopyRights + '\n\n' - config_txt += config_file.read() - config_file.close() - i = 2 - while i < len(argv)-1: - config_txt = config_txt.replace(argv[i],argv[i+1]) - i+=2 - - #Default Replacements - config_txt = config_txt.replace("XXX_I_XXX" ,"%04i"%Jobs_Count) - config_txt = config_txt.replace("XXX_PATH_XXX" ,os.getcwd()) - config_txt = config_txt.replace("XXX_OUTPUT_XXX" ,Jobs_Name) - config_txt = config_txt.replace("XXX_NAME_XXX" ,Jobs_Index+Jobs_Name) - config_txt = config_txt.replace("XXX_SEED_XXX" ,str(Jobs_Seed+Jobs_Count)) - config_txt = config_txt.replace("XXX_NEVENTS_XXX" ,str(Jobs_NEvent)) - config_txt = config_txt.replace("XXX_SKIP_XXX" ,str(Jobs_Skip)) - if Jobs_Count < len(Jobs_Inputs): - config_txt = config_txt.replace("XXX_INPUT_XXX" ,Jobs_Inputs[Jobs_Count]) - - config_file=open(Path_Cfg,'w') - config_file.write(config_txt) - config_file.close() - -def CreateTheShellFile(argv): - global Path_Shell - global Path_Cfg - global CopyRights - global Jobs_RunHere - global Jobs_FinalCmds - Path_Shell = Farm_Directories[1]+Jobs_Index+Jobs_Name+'.sh' - - function_argument='(' - for i in range(2,len(argv)): - function_argument+="%s" % argv[i] - if i != len(argv)-1: - function_argument+=', ' - function_argument+=')' - - shell_file=open(Path_Shell,'w') - shell_file.write('#! /bin/sh\n') - shell_file.write(CopyRights + '\n') - shell_file.write('export SCRAM_ARCH=slc5_amd64_gcc434\n') - shell_file.write('export BUILD_ARCH=slc5_amd64_gcc434\n') - shell_file.write('export VO_CMS_SW_DIR=/nfs/soft/cms\n') - #shell_file.write('source /nfs/soft/cms/cmsset_default.sh\n') - shell_file.write('cd ' + os.getcwd() + '\n') - shell_file.write('eval `scramv1 runtime -sh`\n') - - if argv[0]=='BASH': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - elif argv[0]=='ROOT': - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('source setstandaloneroot.sh\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", "");\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') -# shell_file.write("root -l -b -q %s" % argv[1] + "+'%s'\n" % function_argument) - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='FWLITE': - if Jobs_RunHere==0: - shell_file.write('cd -\n') -# shell_file.write('eval `scramv1 runtime -sh`\n') - shell_file.write('root -l -b << EOF\n') - shell_file.write(' TString makeshared(gSystem->GetMakeSharedLib());\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-W ", "");\n') - shell_file.write(' TString dummy = makeshared.ReplaceAll("-Wshadow ", "");\n') - shell_file.write(' gSystem->SetMakeSharedLib(makeshared);\n') - shell_file.write(' gSystem->SetIncludePath("-I$ROOFITSYS/include");\n') - shell_file.write(' gSystem->Load("libFWCoreFWLite");\n') - shell_file.write(' FWLiteEnabler::enable();;\n') - shell_file.write(' gSystem->Load("libDataFormatsFWLite.so");\n') - shell_file.write(' gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsVertexReco.so");\n') - shell_file.write(' gSystem->Load("libDataFormatsHepMCCandidate.so");\n') - shell_file.write(' gSystem->Load("libPhysicsToolsUtilities.so");\n') - shell_file.write(' .x %s+' % argv[1] + function_argument + '\n') - shell_file.write(' .q\n') - shell_file.write('EOF\n\n') - elif argv[0]=='CMSSW': - CreateTheConfigFile(argv); - if Jobs_RunHere==0: - shell_file.write('cd -\n') - shell_file.write('cmsRun ' + os.getcwd() + '/'+Path_Cfg + '\n') - else: - print() #Program to use is not specified... Guess it is bash command - shell_file.write('#Program to use is not specified... Guess it is bash command\n') - shell_file.write(argv[1] + " %s\n" % function_argument) - - for i in range(len(Jobs_FinalCmds)): - shell_file.write(Jobs_FinalCmds[i]+'\n') - shell_file.write('mv '+ Jobs_Name+'* '+os.getcwd()+'/'+Farm_Directories[3]+'\n') - shell_file.close() - os.system("chmod 777 "+Path_Shell) - - -def CreateTheCmdFile(): - global Path_Cmd - global CopyRights - Path_Cmd = Farm_Directories[1]+Jobs_Name+'.cmd' - cmd_file=open(Path_Cmd,'w') - cmd_file.write(CopyRights + '\n') - cmd_file.write('Universe = vanilla\n') - cmd_file.write('Environment = CONDORJOBID=$(Process)\n') - cmd_file.write('notification = Error\n') - #cmd_file.write('requirements = (CMSFARM=?=True)&&(Memory > 200)\n') - cmd_file.write('requirements = (Memory > 200)\n') - cmd_file.write('should_transfer_files = YES\n') - cmd_file.write('when_to_transfer_output = ON_EXIT\n') - cmd_file.close() - -def AddJobToCmdFile(): - global Path_Shell - global Path_Cmd - global Path_Log - Path_Log = Farm_Directories[2]+Jobs_Index+Jobs_Name - cmd_file=open(Path_Cmd,'a') - cmd_file.write('\n') - cmd_file.write('Executable = %s\n' % Path_Shell) - cmd_file.write('output = %s.out\n' % Path_Log) - cmd_file.write('error = %s.err\n' % Path_Log) - cmd_file.write('log = %s.log\n' % Path_Log) - cmd_file.write('Queue 1\n') - cmd_file.close() - -def CreateDirectoryStructure(FarmDirectory): - global Jobs_Name - global Farm_Directories - Farm_Directories = [FarmDirectory+'/', FarmDirectory+'/inputs/', FarmDirectory+'/logs/', FarmDirectory+'/outputs/'] - for i in range(0,len(Farm_Directories)): - if os.path.isdir(Farm_Directories[i]) == False: - os.system('mkdir ' + Farm_Directories[i]) - -def SendCluster_LoadInputFiles(path, NJobs): - global Jobs_Inputs - input_file = open(path,'r') - input_lines = input_file.readlines() - input_file.close() - #input_lines.sort() - - BlockSize = (len(input_lines)/NJobs) - LineIndex = 0 - JobIndex = 0 - BlockIndex = 0 - Jobs_Inputs = [""] - while LineIndex < len(input_lines): - Jobs_Inputs[JobIndex] += input_lines[LineIndex] - LineIndex +=1 - BlockIndex+=1 - if BlockIndex>BlockSize: - BlockIndex = 0 - JobIndex += 1 - Jobs_Inputs.append("") - return JobIndex+1 - -def SendCluster_Create(FarmDirectory, JobName): - global Jobs_Name - global Jobs_Count - global Farm_Directories - Jobs_Name = JobName - Jobs_Count = 0 - CreateDirectoryStructure(FarmDirectory) - CreateTheCmdFile() - -def SendCluster_Push(Argv): - global Farm_Directories - global Jobs_Count - global Jobs_Index - global Path_Shell - global Path_Log - - Jobs_Index = "%04i_" % Jobs_Count - if Jobs_Count==0 and (Argv[0]=="ROOT" or Argv[0]=="FWLITE"): - #First Need to Compile the macro --> Create a temporary shell path with no arguments - print("Compiling the Macro...") - CreateTheShellFile([Argv[0],Argv[1]]) - os.system('sh '+Path_Shell) - os.system('rm '+Path_Shell) - print("Getting the jobs...") - print(Argv) - CreateTheShellFile(Argv) - AddJobToCmdFile() - Jobs_Count = Jobs_Count+1 - -def SendCluster_Submit(): - global CopyRights - global Jobs_Count - global Path_Cmd - print("condor_submit " + Path_Cmd) - os.system("condor_submit " + Path_Cmd) - print('\n'+CopyRights) - print('%i Job(s) has/have been submitted on the Computing Cluster' % Jobs_Count) - -def SendSingleJob(FarmDirectory, JobName, Argv): - SendCluster_Create(FarmDirectory, JobName, Argv) - SendCluster_Push(FarmDirectory, JobName, Argv) - SendCluster_Submit(FarmDirectory, JobName,Argv) - -def SendCMSJobs(FarmDirectory, JobName, ConfigFile, InputFiles, NJobs, Argv): - SendCluster_Create(FarmDirectory, JobName) - NJobs = SendCluster_LoadInputFiles(InputFiles, NJobs) - for i in range(NJobs): - LaunchOnCondor.SendCluster_Push (["CMSSW", ConfigFile]) - LaunchOnCondor.SendCluster_Submit() - - - -def GetListOfFiles(Prefix, InputPattern, Suffix): - List = sorted(glob.glob(InputPattern)) - for i in range(len(List)): - List[i] = Prefix + List[i] + Suffix - return List - -def SendCMSMergeJob(FarmDirectory, JobName, InputFiles, OutputFile, KeepStatement): - SendCluster_Create(FarmDirectory, JobName) - Temp_Cfg = Farm_Directories[1]+Jobs_Index+Jobs_Name+'_TEMP_cfg.py' - - if len(InputFiles)==0: - print('Empty InputFile List for Job named "%s", Job will not be submitted' % JobName) - return - - InputFilesString = "" - for i in range(len(InputFiles)): - InputFilesString += " " + InputFiles[i] + '\n' - - cfg_file=open(Temp_Cfg,'w') - cfg_file.write('import FWCore.ParameterSet.Config as cms\n') - cfg_file.write('process = cms.Process("Merge")\n') - cfg_file.write('\n') - cfg_file.write('process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )\n') - cfg_file.write('process.load("FWCore.MessageService.MessageLogger_cfi")\n') - cfg_file.write('\n') - cfg_file.write('process.MessageLogger.cerr.FwkReport.reportEvery = 50000\n') - cfg_file.write('process.source = cms.Source("PoolSource",\n') - cfg_file.write(' fileNames = cms.untracked.vstring(\n') - cfg_file.write('%s' % InputFilesString) - cfg_file.write(' )\n') - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.OUT = cms.OutputModule("PoolOutputModule",\n') - cfg_file.write(' outputCommands = cms.untracked.vstring(%s),\n' % KeepStatement) - cfg_file.write(' fileName = cms.untracked.string(%s)\n' % OutputFile) - cfg_file.write(')\n') - cfg_file.write('\n') - cfg_file.write('process.endPath = cms.EndPath(process.OUT)\n') - cfg_file.close() - SendCluster_Push (["CMSSW", Temp_Cfg]) - SendCluster_Submit() - os.system('rm '+ Temp_Cfg) - diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.C b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.C deleted file mode 100644 index 69e5efd7e96f3..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.C +++ /dev/null @@ -1,659 +0,0 @@ - -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphErrors.h" -#include "TGraphAsymmErrors.h" -#include "TPaveText.h" -#include "tdrstyle.C" -#include "TProfile.h" - -#include "../../ICHEP_Analysis/Analysis_PlotFunction.h" -#include "../../ICHEP_Analysis/Analysis_Samples.h" - -std::map RunToIntLumi; - -bool LoadLumiToRun() -{ - float TotalIntLuminosity = 0; - - FILE* pFile = fopen("out.txt","r"); - if(!pFile){ - printf("Not Found: %s\n","out.txt"); - return false; - } - - unsigned int Run; float IntLumi; - unsigned int DeliveredLs; double DeliveredLumi; - char Line[2048], Tmp1[2048], Tmp2[2048], Tmp3[2048]; - while ( ! feof (pFile) ){ - fscanf(pFile,"%s\n",Line); -// printf("%s\n",Line); - for(unsigned int i=0;Line[i]!='\0';i++){if(Line[i]==',')Line[i]=' ';} - sscanf(Line,"%d %s %s %s %f\n",&Run,Tmp1,Tmp2,Tmp3,&IntLumi); - TotalIntLuminosity+= IntLumi/1000000.0; -// printf("%6i --> %f/pb (%s | %s | %s)\n",Run,TotalIntLuminosity,Tmp1,Tmp2,Tmp3); - RunToIntLumi[Run] = TotalIntLuminosity; - } - fclose(pFile); - return true; -} - - -TGraph* ConvertFromRunToIntLumi(TProfile* Object, const char* DrawOption, string YLabel, double YRange_Min=3.1, double YRange_Max=3.7){ - TGraphErrors* graph = new TGraphErrors(Object->GetXaxis()->GetNbins()); - for(unsigned int i=1;iGetXaxis()->GetNbins()+1;i++){ - int RunNumber; - sscanf(Object->GetXaxis()->GetBinLabel(i),"%d",&RunNumber); - graph->SetPoint(i-1, RunToIntLumi[RunNumber], Object->GetBinContent(i)); - graph->SetPointError(i-1, 0.0*RunToIntLumi[RunNumber], Object->GetBinError(i)); - } - graph->Draw(DrawOption); - graph->SetTitle(""); - graph->GetYaxis()->SetTitle(Object->GetYaxis()->GetTitle()); - graph->GetYaxis()->SetTitleOffset(1.10); - graph->GetXaxis()->SetTitle("Int. Luminosity (/pb)"); - graph->GetYaxis()->SetTitle(YLabel.c_str()); - graph->SetMarkerColor(Object->GetMarkerColor()); - graph->SetMarkerStyle(Object->GetMarkerStyle()); - graph->GetXaxis()->SetNdivisions(510); - if(YRange_Min!=YRange_Max)graph->GetYaxis()->SetRangeUser(YRange_Min,YRange_Max); - return graph; -} - -void MakedEdxPlot() -{ - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.15); - gStyle->SetPadRightMargin (0.03); - gStyle->SetPadLeftMargin (0.09); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505); - - TCanvas* c1; - TObject** Histos = new TObject*[10]; - std::vector legend; - - TFile* InputFile = new TFile("pictures/Histos.root"); - - TProfile* SingleMu_PtProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuPtProf"); - TProfile* SingleMu_dEdxProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxProf"); - TProfile* SingleMu_dEdxMProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMProf"); - TProfile* SingleMu_dEdxMSProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSProf"); - TProfile* SingleMu_dEdxMPProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPProf"); - TProfile* SingleMu_dEdxMSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSCProf"); - TProfile* SingleMu_dEdxMPCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPCProf"); - TProfile* SingleMu_dEdxMSFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSFProf"); - TProfile* SingleMu_dEdxMPFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPFProf"); - - TProfile* SingleMu_NVertProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuNVertProf"); - - SingleMu_NVertProf->LabelsDeflate("X"); - SingleMu_NVertProf->LabelsOption("av","X"); - -/* - TFile* InputFileLumi166380 = new TFile("pictures/HistosLumi166380.root"); - TFile* InputFileLumi166512 = new TFile("pictures/HistosLumi166512.root"); - TFile* InputFileLumi167807 = new TFile("pictures/HistosLumi167807.root"); - TFile* InputFileLumi167898 = new TFile("pictures/HistosLumi167898.root"); - - TProfile* SingleMu_dEdxMProfLumi166380 = (TProfile*)GetObjectFromPath(InputFileLumi166380, "HscpPathSingleMudEdxMProf"); - TProfile* SingleMu_dEdxMProfLumi166512 = (TProfile*)GetObjectFromPath(InputFileLumi166512, "HscpPathSingleMudEdxMProf"); - TProfile* SingleMu_dEdxMProfLumi167807 = (TProfile*)GetObjectFromPath(InputFileLumi167807, "HscpPathSingleMudEdxMProf"); - TProfile* SingleMu_dEdxMProfLumi167898 = (TProfile*)GetObjectFromPath(InputFileLumi167898, "HscpPathSingleMudEdxMProf"); -*/ - - if(LoadLumiToRun()){ - TLegend* leg; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - TGraph* graph = ConvertFromRunToIntLumi(SingleMu_dEdxMProf , "A*", "I_{h} (MeV/cm)"); - TGraph* graphS = ConvertFromRunToIntLumi(SingleMu_dEdxMSProf, "*" , "I_{h} (MeV/cm)"); - TGraph* graphP = ConvertFromRunToIntLumi(SingleMu_dEdxMPProf, "*" , "I_{h} (MeV/cm)"); - graphS->SetMarkerColor(2); graphS->SetMarkerStyle(26); - graphP->SetMarkerColor(4); graphP->SetMarkerStyle(32); - - - TF1* myfunc = new TF1("Fitgraph" ,"pol1",250,5000); graph ->Fit(myfunc ,"QN","",250,5000); myfunc ->SetLineWidth(2); myfunc ->SetLineColor(graph ->GetMarkerColor()); myfunc ->Draw("same"); - TF1* myfuncS= new TF1("FitgraphS","pol1",250,5000); graphS->Fit(myfuncS,"QN","",250,5000); myfuncS->SetLineWidth(2); myfuncS->SetLineColor(graphS->GetMarkerColor()); myfuncS->Draw("same"); - TF1* myfuncP= new TF1("FitgraphP","pol1",250,5000); graphP->Fit(myfuncP,"QN","",250,5000); myfuncP->SetLineWidth(2); myfuncP->SetLineColor(graphP->GetMarkerColor()); myfuncP->Draw("same"); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Strip+Pixel)", myfunc ->GetChisquare()/ myfunc ->GetNDF(), myfunc ->GetParameter(0),myfunc ->GetParError(0),myfunc ->GetParameter(1),myfunc ->GetParError(1)); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Strip)" , myfuncS->GetChisquare()/ myfuncS->GetNDF(), myfuncS->GetParameter(0),myfuncS->GetParError(0),myfuncS->GetParameter(1),myfuncS->GetParError(1)); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Pixel)" , myfuncP->GetChisquare()/ myfuncP->GetNDF(), myfuncP->GetParameter(0),myfuncP->GetParError(0),myfuncP->GetParameter(1),myfuncP->GetParError(1)); - leg = new TLegend(0.79,0.92,0.79-0.20,0.92 - 3*0.05); leg->SetFillColor(0); leg->SetBorderSize(0); - leg->AddEntry(graph, "dE/dx (Strip+Pixel)" ,"P"); - leg->AddEntry(graphS, "dE/dx (Strip)" ,"P"); - leg->AddEntry(graphP, "dE/dx (Pixel)" ,"P"); - leg->Draw(); - SaveCanvas(c1,"pictures/","GraphdEdx_Profile_dEdxM"); - delete c1; delete leg; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - TGraph* graphSC = ConvertFromRunToIntLumi(SingleMu_dEdxMSCProf, "A*", "I_{h} (MeV/cm)"); - TGraph* graphSF = ConvertFromRunToIntLumi(SingleMu_dEdxMSFProf, "*" , "I_{h} (MeV/cm)"); - graphSC->SetMarkerColor(2); graphSC->SetMarkerStyle(26); - graphSF->SetMarkerColor(4); graphSF->SetMarkerStyle(32); - TF1* myfuncSC= new TF1("FitgraphSC","pol1",250,5000); graphSC->Fit(myfuncSC,"QN","",250,5000); myfuncSC->SetLineWidth(2); myfuncSC->SetLineColor(graphSC->GetMarkerColor()); myfuncSC->Draw("same"); - TF1* myfuncSF= new TF1("FitgraphSF","pol1",250,5000); graphSF->Fit(myfuncSF,"QN","",250,5000); myfuncSF->SetLineWidth(2); myfuncSF->SetLineColor(graphSF->GetMarkerColor()); myfuncSF->Draw("same"); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Strip) |eta|<0.5", myfuncSC->GetChisquare()/ myfuncSC->GetNDF(), myfuncSC->GetParameter(0),myfuncSC->GetParError(0),myfuncSC->GetParameter(1),myfuncSC->GetParError(1)); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Strip) |eta|>1.5", myfuncSF->GetChisquare()/ myfuncSF->GetNDF(), myfuncSF->GetParameter(0),myfuncSF->GetParError(0),myfuncSF->GetParameter(1),myfuncSF->GetParError(1)); - leg = new TLegend(0.79,0.92,0.79-0.20,0.92 - 3*0.05); leg->SetFillColor(0); leg->SetBorderSize(0); - leg->AddEntry(graphSC, "dE/dx (Strip) |#eta|<0.5" ,"P"); - leg->AddEntry(graphSF, "dE/dx (Strip) |#eta|>1.5" ,"P"); - leg->Draw(); - SaveCanvas(c1,"pictures/","GraphdEdx_Profile_dEdxMS"); - delete c1; delete leg; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - TGraph* graphPC = ConvertFromRunToIntLumi(SingleMu_dEdxMPCProf, "A*", "I_{h} (MeV/cm)"); - TGraph* graphPF = ConvertFromRunToIntLumi(SingleMu_dEdxMPFProf, "*" , "I_{h} (MeV/cm)"); - graphPC->SetMarkerColor(2); graphPC->SetMarkerStyle(26); - graphPF->SetMarkerColor(4); graphPF->SetMarkerStyle(32); - TF1* myfuncPC= new TF1("FitgraphPC","pol1",250,5000); graphPC->Fit(myfuncPC,"QN","",250,5000); myfuncPC->SetLineWidth(2); myfuncPC->SetLineColor(graphPC->GetMarkerColor()); myfuncPC->Draw("same"); - TF1* myfuncPF= new TF1("FitgraphPF","pol1",250,5000); graphPF->Fit(myfuncPF,"QN","",250,5000); myfuncPF->SetLineWidth(2); myfuncPF->SetLineColor(graphPF->GetMarkerColor()); myfuncPF->Draw("same"); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Pixel) |eta|<0.5", myfuncPC->GetChisquare()/ myfuncPC->GetNDF(), myfuncPC->GetParameter(0),myfuncPC->GetParError(0),myfuncPC->GetParameter(1),myfuncPC->GetParError(1)); - printf("%25s --> Chi2/ndf = %6.2f --> a=%6.2E+-%6.2E b=%6.2E+-%6.2E\n","dE/dx (Pixel) |eta|>1.5", myfuncPF->GetChisquare()/ myfuncPF->GetNDF(), myfuncPF->GetParameter(0),myfuncPF->GetParError(0),myfuncPF->GetParameter(1),myfuncPF->GetParError(1)); - leg = new TLegend(0.79,0.92,0.79-0.20,0.92 - 3*0.05); leg->SetFillColor(0); leg->SetBorderSize(0); - leg->AddEntry(graphPC, "dE/dx (Pixel) |#eta|<0.5" ,"P"); - leg->AddEntry(graphPF, "dE/dx (Pixel) |#eta|>1.5" ,"P"); - leg->Draw(); - SaveCanvas(c1,"pictures/","GraphdEdx_Profile_dEdxMP"); - delete c1; delete leg; - - - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - TGraph* graphNV = ConvertFromRunToIntLumi(SingleMu_NVertProf, "A*" , "<#Reco Vertices>",0,0); - SaveCanvas(c1,"pictures/","GraphdEdx_Profile_Vert"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - TGraph* graphpT = ConvertFromRunToIntLumi(SingleMu_PtProf, "A*" , " (GeV/c)",0,0); - SaveCanvas(c1,"pictures/","GraphdEdx_Profile_pT"); - delete c1; - - - }else{ - printf("TEST TEST TEST\n"); - } - - - for(unsigned int i=0;iGetXaxis()->GetNbins();i++){ - if((i+3)%4==0)continue; - SingleMu_PtProf->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxProf->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMProf->GetXaxis()->SetBinLabel(i,""); - SingleMu_NVertProf->GetXaxis()->SetBinLabel(i,""); - } - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = SingleMu_NVertProf; legend.push_back("SingleMu40"); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "<#Reco Vertices>", 0,0, 0,0); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","dEdx_Profile_NVert"); - delete c1; - - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = SingleMu_PtProf; legend.push_back("SingleMu40"); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "p_{T} (GeV/c)", 0,0, 0,0); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","dEdx_Profile_Pt"); - delete c1; - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = SingleMu_dEdxProf; legend.push_back("SingleMu40"); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{as}", 0,0, 0.02,0.06); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","dEdx_Profile_dEdx"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = SingleMu_dEdxMProf; legend.push_back("SingleMu40"); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h}", 0,0, 3.2,3.4); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","dEdx_Profile_dEdxM"); - delete c1; - -/* - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = SingleMu_dEdxMProfLumi166380; legend.push_back("SingleMu40 - Run166380"); - Histos[1] = SingleMu_dEdxMProfLumi166512; legend.push_back("SingleMu40 - Run166512"); - Histos[2] = SingleMu_dEdxMProfLumi167807; legend.push_back("SingleMu40 - Run167807"); - Histos[3] = SingleMu_dEdxMProfLumi167898; legend.push_back("SingleMu40 - Run167898"); - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "Lumi", "I_{h}", 0,0, 3.2,3.4); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","dEdx_Profile_dEdxMRun"); - delete c1; -*/ - - -} - - - - - -void MakePlot() -{ - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.15); - gStyle->SetPadRightMargin (0.03); - gStyle->SetPadLeftMargin (0.07); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505); - - TCanvas* c1; - TObject** Histos = new TObject*[10]; - std::vector legend; - - TFile* InputFile = new TFile("pictures/Histos.root"); - - TProfile* Any_PtProf = (TProfile*)GetObjectFromPath(InputFile, "AnyPtProf"); - TProfile* SingleMu_PtProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuPtProf"); - TProfile* PFMet_PtProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetPtProf"); - - TProfile* Any_dEdxProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxProf"); - TProfile* SingleMu_dEdxProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxProf"); - TProfile* PFMet_dEdxProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxProf"); - - TProfile* Any_dEdxMProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMProf"); - TProfile* SingleMu_dEdxMProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMProf"); - TProfile* PFMet_dEdxMProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMProf"); - - TProfile* Any_dEdxMSProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMSProf"); - TProfile* SingleMu_dEdxMSProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSProf"); - TProfile* PFMet_dEdxMSProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMSProf"); - - TProfile* Any_dEdxMPProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMPProf"); - TProfile* SingleMu_dEdxMPProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPProf"); - TProfile* PFMet_dEdxMPProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMPProf"); - - TProfile* Any_dEdxMSCProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMSCProf"); - TProfile* SingleMu_dEdxMSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSCProf"); - TProfile* PFMet_dEdxMSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMSCProf"); - - TProfile* Any_dEdxMPCProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMPCProf"); - TProfile* SingleMu_dEdxMPCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPCProf"); - TProfile* PFMet_dEdxMPCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMPCProf"); - - TProfile* Any_dEdxMSFProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMSFProf"); - TProfile* SingleMu_dEdxMSFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMSFProf"); - TProfile* PFMet_dEdxMSFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMSFProf"); - - TProfile* Any_dEdxMPFProf = (TProfile*)GetObjectFromPath(InputFile, "AnydEdxMPFProf"); - TProfile* SingleMu_dEdxMPFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMudEdxMPFProf"); - TProfile* PFMet_dEdxMPFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetdEdxMPFProf"); - - TProfile* Any_TOFProf = (TProfile*)GetObjectFromPath(InputFile, "AnyTOFProf"); - TProfile* SingleMu_TOFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuTOFProf"); - TProfile* PFMet_TOFProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetTOFProf"); - - TProfile* Any_TOFDTProf = (TProfile*)GetObjectFromPath(InputFile, "AnyTOFDTProf"); - TProfile* SingleMu_TOFDTProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuTOFDTProf"); - TProfile* PFMet_TOFDTProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetTOFDTProf"); - - TProfile* Any_TOFCSCProf = (TProfile*)GetObjectFromPath(InputFile, "AnyTOFCSCProf"); - TProfile* SingleMu_TOFCSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuTOFCSCProf"); - TProfile* PFMet_TOFCSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetTOFCSCProf"); - - TProfile* Any_VertexProf = (TProfile*)GetObjectFromPath(InputFile, "AnyVertexProf"); - TProfile* SingleMu_VertexProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuVertexProf"); - TProfile* PFMet_VertexProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetVertexProf"); - - TProfile* Any_VertexDTProf = (TProfile*)GetObjectFromPath(InputFile, "AnyVertexDTProf"); - TProfile* SingleMu_VertexDTProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuVertexDTProf"); - TProfile* PFMet_VertexDTProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetVertexDTProf"); - - TProfile* Any_VertexCSCProf = (TProfile*)GetObjectFromPath(InputFile, "AnyVertexCSCProf"); - TProfile* SingleMu_VertexCSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuVertexCSCProf"); - TProfile* PFMet_VertexCSCProf = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetVertexCSCProf"); - - TProfile* Any_HdEdx = (TProfile*)GetObjectFromPath(InputFile, "AnyHdEdx"); - TProfile* SingleMu_HdEdx = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuHdEdx"); - TProfile* PFMet_HdEdx = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetHdEdx"); - - TProfile* Any_HPt = (TProfile*)GetObjectFromPath(InputFile, "AnyHPt"); - TProfile* SingleMu_HPt = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuHPt"); - TProfile* PFMet_HPt = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetHPt"); - - TProfile* Any_HTOF = (TProfile*)GetObjectFromPath(InputFile, "AnyHTOF"); - TProfile* SingleMu_HTOF = (TProfile*)GetObjectFromPath(InputFile, "HscpPathSingleMuHTOF"); - TProfile* PFMet_HTOF = (TProfile*)GetObjectFromPath(InputFile, "HscpPathPFMetHTOF"); - - for(unsigned int i=0;iGetXaxis()->GetNbins();i++){ - if((i+3)%12==0)continue; - Any_PtProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_PtProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_PtProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMSProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMSProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMSProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMPProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMPProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMPProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMSCProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMSCProf->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMSCProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMPCProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMPCProf->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMPCProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMSFProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMSFProf->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMSFProf ->GetXaxis()->SetBinLabel(i,""); - - Any_dEdxMPFProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_dEdxMPFProf->GetXaxis()->SetBinLabel(i,""); - PFMet_dEdxMPFProf ->GetXaxis()->SetBinLabel(i,""); - - Any_TOFProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_TOFProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_TOFProf ->GetXaxis()->SetBinLabel(i,""); - - Any_TOFDTProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_TOFDTProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_TOFDTProf ->GetXaxis()->SetBinLabel(i,""); - - Any_TOFCSCProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_TOFCSCProf->GetXaxis()->SetBinLabel(i,""); - PFMet_TOFCSCProf ->GetXaxis()->SetBinLabel(i,""); - - Any_VertexProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_VertexProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_VertexProf ->GetXaxis()->SetBinLabel(i,""); - - Any_VertexDTProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_VertexDTProf ->GetXaxis()->SetBinLabel(i,""); - PFMet_VertexDTProf ->GetXaxis()->SetBinLabel(i,""); - - Any_VertexCSCProf ->GetXaxis()->SetBinLabel(i,""); - SingleMu_VertexCSCProf->GetXaxis()->SetBinLabel(i,""); - PFMet_VertexCSCProf ->GetXaxis()->SetBinLabel(i,""); - - Any_HdEdx ->GetXaxis()->SetBinLabel(i,""); - SingleMu_HdEdx ->GetXaxis()->SetBinLabel(i,""); - PFMet_HdEdx ->GetXaxis()->SetBinLabel(i,""); - - Any_HPt ->GetXaxis()->SetBinLabel(i,""); - SingleMu_HPt ->GetXaxis()->SetBinLabel(i,""); - PFMet_HPt ->GetXaxis()->SetBinLabel(i,""); - - Any_HTOF ->GetXaxis()->SetBinLabel(i,""); - SingleMu_HTOF ->GetXaxis()->SetBinLabel(i,""); - PFMet_HTOF ->GetXaxis()->SetBinLabel(i,""); - } - - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_PtProf; legend.push_back("Any"); - //Histos[1] = SingleMu_PtProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_PtProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "p_{T} (GeV/c)", 0,0, 0,150); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_Pt"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{as}", 0,0, 0.02,0.05); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdx"); - delete c1; - - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h}", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxM"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMSProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMSProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMSProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} S", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMS"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMPProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMPProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMPProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} P", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMP"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMSCProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMSCProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMSCProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} SC", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMSC"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMPCProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMPCProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMPCProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} PC", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMPC"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMSFProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMSFProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMSFProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} SF", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMSF"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_dEdxMPFProf; legend.push_back("Any"); - //Histos[1] = SingleMu_dEdxMPFProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_dEdxMPFProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} PF", 0,0, 3.1,3.6); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_dEdxMPF"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_TOFProf; legend.push_back("Any"); - //Histos[1] = SingleMu_TOFProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_TOFProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "1/#beta_{TOF}", 0,0, 0.95,1.05); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_TOF"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_TOFDTProf; legend.push_back("Any"); - //Histos[1] = SingleMu_TOFDTProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_TOFDTProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "1/#beta_{TOF_DT}", 0,0, 0.95,1.05); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_TOFDT"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_TOFCSCProf; legend.push_back("Any"); - //Histos[1] = SingleMu_TOFCSCProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_TOFCSCProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "1/#beta_{TOF_CSC}", 0,0, 0.95,1.05); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_TOFCSC"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_VertexProf; legend.push_back("Any"); - //Histos[1] = SingleMu_VertexProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_VertexProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "Vertex time [ns]", 0,0, -2,2); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_Vertex"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_VertexDTProf; legend.push_back("Any"); - //Histos[1] = SingleMu_VertexDTProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_VertexDTProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "Vertex Time DT [ns]", 0,0, -2,2); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_VertexDT"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - Histos[0] = Any_VertexCSCProf; legend.push_back("Any"); - //Histos[1] = SingleMu_VertexCSCProf; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_VertexCSCProf; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "Vertex Time CSC [ns]", 0,0, -2,2); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_Profile_VertexCSC"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - //Histos[0] = Any_HdEdx; legend.push_back("Any"); - Histos[0] = Any_HdEdx; legend.push_back("I_{as} > 0.15"); - //Histos[1] = SingleMu_HdEdx; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_HdEdx; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "I_{h} ROT", 0,0, 0,0.05); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_ROT_dEdx"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - //Histos[0] = Any_HPt; legend.push_back("Any"); - Histos[0] = Any_HPt; legend.push_back("p_{T} > 60 GeV/c"); - //Histos[1] = SingleMu_HPt; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_HPt; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "Pt ROT", 0,0, 0.15,0.5); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_ROT_Pt"); - delete c1; - - c1 = new TCanvas("c1","c1,",1200,600); legend.clear(); - //Histos[0] = Any_HTOF; legend.push_back("Any"); - Histos[0] = Any_HTOF; legend.push_back("1/#beta > 1.1"); - //Histos[1] = SingleMu_HTOF; legend.push_back("SingleMu40"); - //Histos[2] = PFMet_HTOF; legend.push_back("PFMHT150"); - - DrawSuperposedHistos((TH1**)Histos, legend, "E1", "", "1/#beta_{TOF} ROT", 0,0, 0,0.2); - for(unsigned int i=0;iSetMarkerSize(0.5); ((TProfile*)Histos[i])->GetYaxis()->SetTitleOffset(0.9);} - //DrawLegend(Histos,legend,"","P"); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,"pictures/","Summary_ROT_TOF"); - delete c1; - - MakedEdxPlot(); -} - - diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.sh b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.sh deleted file mode 100755 index d498f59b296c2..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/MakePlot.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -root -l -b << EOF - TString makeshared(gSystem->GetMakeSharedLib()); - TString dummy = makeshared.ReplaceAll("-W ", ""); - TString dummy = makeshared.ReplaceAll("-Wshadow ", ""); - gSystem->SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable();; - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libDataFormatsHepMCCandidate.so"); - gSystem->Load("libDataFormatsCommon.so"); - gSystem->Load("libDataFormatsTrackerRecHit2D.so"); - gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so"); - .x MakePlot.C+ -EOF diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/StabilityCheck.C b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/StabilityCheck.C deleted file mode 100644 index c85b817119a92..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/StabilityCheck.C +++ /dev/null @@ -1,1005 +0,0 @@ - -#include -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphAsymmErrors.h" -#include "TProfile.h" -#include "TPaveText.h" -#include "tdrstyle.C" - - -namespace reco { class Vertex; class Track; class GenParticle; class DeDxData; class MuonTimeExtra;} -namespace susybsm { class HSCParticle;} -namespace fwlite { class ChainEvent;} -namespace trigger { class TriggerEvent;} -namespace edm {class TriggerResults; class TriggerResultsByName; class InputTag;} - -#if !defined(__CINT__) && !defined(__MAKECINT__) -#include "DataFormats/FWLite/interface/Handle.h" -#include "DataFormats/FWLite/interface/Event.h" -#include "DataFormats/FWLite/interface/ChainEvent.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" -#include "FWCore/Common/interface/TriggerResultsByName.h" - -#include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCPIsolation.h" - -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" -#include "DataFormats/Common/interface/TriggerResults.h" - -using namespace fwlite; -using namespace reco; -using namespace susybsm; -using namespace std; -using namespace edm; -using namespace trigger; - - -#include "../../ICHEP_Analysis/Analysis_PlotFunction.h" -#include "../../ICHEP_Analysis/Analysis_Samples.h" -#include "../../ICHEP_Analysis/Analysis_Global.h" - - -#endif - - -bool PassPreselection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const reco::MuonTimeExtra* dttof, const reco::MuonTimeExtra* csctof, const fwlite::ChainEvent& ev); -bool IncreasedTreshold(const trigger::TriggerEvent& trEv, const edm::InputTag& InputPath, double NewThreshold, int NObjectAboveThreshold, bool averageThreshold=false); - - -bool PassPreselection(const susybsm::HSCParticle& hscp, const reco::DeDxData& dedxSObj, const reco::DeDxData& dedxMObj, const reco::MuonTimeExtra* tof, const reco::MuonTimeExtra* dttof, const reco::MuonTimeExtra* csctof, const fwlite::ChainEvent& ev) -{ - if(TypeMode==1 && !(hscp.type() == HSCParticleType::trackerMuon || hscp.type() == HSCParticleType::globalMuon))return false; - if(TypeMode==2 && hscp.type() != HSCParticleType::globalMuon)return false; - reco::TrackRef track = hscp.trackRef(); if(track.isNull())return false; - - if(fabs(track->eta())>GlobalMaxEta) return false; - if(track->found()hitPattern().numberOfValidPixelHits()<2)return false; - if(dedxSObj.numberOfMeasurements()nDof()nDof()nDof()qualityMask()chi2()/track->ndof()>GlobalMaxChi2 )return false; - if(track->pt()inverseBeta()inverseBetaErr()>GlobalMaxTOFErr)return false; - - fwlite::Handle< std::vector > vertexCollHandle; - vertexCollHandle.getByLabel(ev,"offlinePrimaryVertices"); - if(!vertexCollHandle.isValid()){printf("Vertex Collection NotFound\n");return false;} - const std::vector& vertexColl = *vertexCollHandle; - if(vertexColl.size()<1){printf("NO VERTEX\n"); return false;} - - double dz = track->dz (vertexColl[0].position()); - double dxy = track->dxy(vertexColl[0].position()); - for(unsigned int i=1;idz (vertexColl[i].position())) < fabs(dz) ){ - dz = track->dz (vertexColl[i].position()); - dxy = track->dxy(vertexColl[i].position()); - } - } - double v3d = sqrt(dz*dz+dxy*dxy); - if(v3d>GlobalMaxV3D )return false; - - fwlite::Handle IsolationH; - IsolationH.getByLabel(ev, "HSCPIsolation03"); - if(!IsolationH.isValid()){printf("Invalid IsolationH\n");return false;} - const ValueMap& IsolationMap = *IsolationH.product(); - - HSCPIsolation hscpIso = IsolationMap.get((size_t)track.key()); - if(hscpIso.Get_TK_SumEt()>GlobalMaxTIsol)return false; - - double EoP = (hscpIso.Get_ECAL_Energy() + hscpIso.Get_HCAL_Energy())/track->p(); - if(EoP>GlobalMaxEIsol)return false; - - if((track->ptError()/track->pt())>GlobalMaxPterr)return false; - if(std::max(0.0,track->pt() - track->ptError()) hTriggerResults; - hTriggerResults.getByLabel(ev, "TriggerResults", "", "MergeHLT"); - if(!hTriggerResults.isValid()) return false; - - edm::TriggerResultsByName tr = ev.triggerResultsByName(*hTriggerResults); - if(!tr.isValid())return false; - - bool Accept = false; - if(TriggerName=="Any"){ - Accept = true; - }else{ - Accept = tr.accept(tr.triggerIndex(TriggerName.c_str())); - } - - return Accept; -} - - - - -void StabilityCheck(string MODE="COMPILE") -{ - if(MODE=="COMPILE") return; - - Event_Weight = 1; - MaxEntry = -1; - - - system("mkdir pictures"); - - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.15); - gStyle->SetPadRightMargin (0.03); - gStyle->SetPadLeftMargin (0.07); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505,"X"); - TH1::AddDirectory(kTRUE); - - std::map RunBinIndex; - unsigned int NextIndex=0; - - vector DataFileName; - GetInputFiles(DataFileName, "Data"); -// DataFileName.push_back(" /storage/data/cms/users/quertenmont/HSCP/CMSSW_3_8_6/10_01_11/Data_135821_141887.root"); -// DataFileName.push_back(" /storage/data/cms/users/quertenmont/HSCP/CMSSW_3_8_6/10_01_11/Data_141888_144114.root"); -// DataFileName.push_back(" /storage/data/cms/users/quertenmont/HSCP/CMSSW_3_8_6/10_01_11/Data_146240_148000.root"); -// DataFileName.push_back(" /storage/data/cms/users/quertenmont/HSCP/CMSSW_3_8_6/10_01_11/Data_148001_149711.root"); - - - std::vector triggers; - triggers.push_back("Any"); -// triggers.push_back("HscpPathMu"); -// triggers.push_back("HscpPathMet"); - - triggers.push_back("HscpPathSingleMu"); -// triggers.push_back("HscpPathDoubleMu"); - triggers.push_back("HscpPathPFMet"); -// triggers.push_back("HscpPathCaloMet"); - - -/* triggers.push_back("HLT_MET100"); - triggers.push_back("HLT_Jet140U"); - triggers.push_back("HLT_DiJetAve140U"); - triggers.push_back("HLT_QuadJet25U"); - triggers.push_back("HLT_QuadJet30U"); - triggers.push_back("HLT_QuadJet35U"); - triggers.push_back("HLT_Mu15"); - triggers.push_back("HLT_DoubleMu3"); -*/ - - TProfile** NVertProf = new TProfile*[triggers.size()]; - TProfile** dEdxProf = new TProfile*[triggers.size()]; - TProfile** dEdxMProf = new TProfile*[triggers.size()]; - TProfile** dEdxMSProf = new TProfile*[triggers.size()]; - TProfile** dEdxMPProf = new TProfile*[triggers.size()]; - TProfile** dEdxMSCProf = new TProfile*[triggers.size()]; - TProfile** dEdxMPCProf = new TProfile*[triggers.size()]; - TProfile** dEdxMSFProf = new TProfile*[triggers.size()]; - TProfile** dEdxMPFProf = new TProfile*[triggers.size()]; - TProfile** PtProf = new TProfile*[triggers.size()]; - TProfile** TOFProf = new TProfile*[triggers.size()]; - TProfile** TOFDTProf = new TProfile*[triggers.size()]; - TProfile** TOFCSCProf = new TProfile*[triggers.size()]; - TProfile** TOFOverMinProf = new TProfile*[triggers.size()]; - TProfile** TOFDTOverMinProf = new TProfile*[triggers.size()]; - TProfile** TOFCSCOverMinProf = new TProfile*[triggers.size()]; - TProfile** VertexProf = new TProfile*[triggers.size()]; - TProfile** VertexDTProf = new TProfile*[triggers.size()]; - TProfile** VertexCSCProf = new TProfile*[triggers.size()]; - TH1D** Count = new TH1D* [triggers.size()]; - TH1D** CountMu = new TH1D* [triggers.size()]; - TH1D** HdEdx = new TH1D* [triggers.size()]; - TH1D** HPt = new TH1D* [triggers.size()]; - TH1D** HTOF = new TH1D* [triggers.size()]; - - - - system("mkdir pictures/"); - TFile* OutputHisto = new TFile((string("pictures/") + "/Histos.root").c_str(),"RECREATE"); - for(unsigned int i=0;iSumw2(); - CountMu [i] = new TH1D( (triggers[i] + "CountMu" ).c_str(), "CountMu" , 10000 ,0, 10000); CountMu[i]->Sumw2(); - HdEdx [i] = new TH1D( (triggers[i] + "HdEdx" ).c_str(), "HdEdx" , 10000 ,0, 10000); HdEdx [i]->Sumw2(); - HPt [i] = new TH1D( (triggers[i] + "HPt" ).c_str(), "HPt" , 10000 ,0, 10000); HPt [i]->Sumw2(); - HTOF [i] = new TH1D( (triggers[i] + "HTOF" ).c_str(), "HTOF" , 10000 ,0, 10000); HTOF [i]->Sumw2(); - } - - TypeMode = 0; - - fwlite::ChainEvent tree(DataFileName); - printf("Progressing Bar :0%% 20%% 40%% 60%% 80%% 100%%\n"); - printf("Looping on Tree :"); - int TreeStep = tree.size()/50;if(TreeStep==0)TreeStep=1; - for(Long64_t e=0;e10)break; - tree.to(e); - if(e%TreeStep==0){printf(".");fflush(stdout);} -// if(!PassTrigger(tree))continue; - - if(RunBinIndex.find(tree.eventAuxiliary().run()) == RunBinIndex.end()){ - RunBinIndex[tree.eventAuxiliary().run()] = NextIndex; - for(unsigned int i=0;iGetXaxis()->FindBin(NextIndex); - char Label[2048]; sprintf(Label,"%6i",tree.eventAuxiliary().run()); - HdEdx[i]->GetXaxis()->SetBinLabel(Bin, Label); - HPt[i]->GetXaxis()->SetBinLabel(Bin, Label); - HTOF[i]->GetXaxis()->SetBinLabel(Bin, Label); - Count[i]->GetXaxis()->SetBinLabel(Bin, Label); - NVertProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMSProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMPProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMSCProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMPCProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMSFProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - dEdxMPFProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - PtProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFDTProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFCSCProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFOverMinProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFDTOverMinProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - TOFCSCOverMinProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - VertexProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - VertexDTProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - VertexCSCProf[i]->GetXaxis()->SetBinLabel(Bin, Label); - } - NextIndex++; - } - unsigned int CurrentRunIndex = RunBinIndex[tree.eventAuxiliary().run()]; - - fwlite::Handle hscpCollHandle; - hscpCollHandle.getByLabel(tree,"HSCParticleProducer"); - if(!hscpCollHandle.isValid()){printf("HSCP Collection NotFound\n");continue;} - susybsm::HSCParticleCollection hscpColl = *hscpCollHandle; - - fwlite::Handle dEdxSCollH; - dEdxSCollH.getByLabel(tree, dEdxS_Label.c_str()); - if(!dEdxSCollH.isValid()){printf("Invalid dEdx Selection collection\n");continue;} - - fwlite::Handle dEdxMCollH; - dEdxMCollH.getByLabel(tree, dEdxM_Label.c_str()); - if(!dEdxMCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle dEdxMSCollH; - dEdxMSCollH.getByLabel(tree, "dedxNPHarm2"); - if(!dEdxMSCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - fwlite::Handle dEdxMPCollH; - dEdxMPCollH.getByLabel(tree, "dedxNSHarm2"); - if(!dEdxMPCollH.isValid()){printf("Invalid dEdx Mass collection\n");continue;} - - - fwlite::Handle TOFCollH; - TOFCollH.getByLabel(tree, "muontiming",TOF_Label.c_str()); - if(!TOFCollH.isValid()){printf("Invalid TOF collection\n");return;} - - - fwlite::Handle TOFDTCollH; - TOFDTCollH.getByLabel(tree, "muontiming",TOFdt_Label.c_str()); - if(!TOFDTCollH.isValid()){printf("Invalid DT TOF collection\n");continue;} - - fwlite::Handle TOFCSCCollH; - TOFCSCCollH.getByLabel(tree, "muontiming",TOFcsc_Label.c_str()); - if(!TOFCSCCollH.isValid()){printf("Invalid CSCTOF collection\n");continue;} - - fwlite::Handle< std::vector > vertexCollHandle; - vertexCollHandle.getByLabel(tree,"offlinePrimaryVertices"); - if(!vertexCollHandle.isValid()){printf("Vertex Collection NotFound\n");continue;} - const std::vector& vertexColl = *vertexCollHandle; - - - for(unsigned int c=0;cget(track.key()); - const DeDxData& dedxMObj = dEdxMCollH->get(track.key()); - const DeDxData& dedxMSObj = dEdxMSCollH->get(track.key()); - const DeDxData& dedxMPObj = dEdxMPCollH->get(track.key()); - const reco::MuonTimeExtra* tof = NULL; - const reco::MuonTimeExtra* dttof = NULL; - const reco::MuonTimeExtra* csctof = NULL; - if(!hscp.muonRef().isNull()){ tof = &TOFCollH->get(hscp.muonRef().key()); dttof = &TOFDTCollH->get(hscp.muonRef().key()); csctof = &TOFCSCCollH->get(hscp.muonRef().key());} - - - if(!PassPreselection(hscp, dedxSObj, dedxMObj, tof, dttof, csctof, tree))continue; - - for(unsigned int i=0;iFill(CurrentRunIndex, vertexColl.size()); - - if(tof && tof->nDof()>=GlobalMinNDOF && (dttof->nDof()>=GlobalMinNDOFDT || csctof->nDof()>=GlobalMinNDOFCSC) && tof->inverseBetaErr()<=GlobalMaxTOFErr){ - if(tof->inverseBeta()>=GlobalMinTOF)CountMu[i]->Fill(CurrentRunIndex); - if(tof->inverseBeta()>=GlobalMinTOF)TOFOverMinProf[i]->Fill(CurrentRunIndex, tof->inverseBeta()); - if(dttof->inverseBeta()>=GlobalMinTOF)TOFDTOverMinProf[i]->Fill(CurrentRunIndex, dttof->inverseBeta()); - if(csctof->inverseBeta()>=GlobalMinTOF)TOFCSCOverMinProf[i]->Fill(CurrentRunIndex, csctof->inverseBeta()); - TOFProf[i]->Fill(CurrentRunIndex, tof->inverseBeta()); - if(dttof->nDof()>=GlobalMinNDOFDT) TOFDTProf[i]->Fill(CurrentRunIndex, dttof->inverseBeta()); - if(csctof->nDof()>=GlobalMinNDOFCSC) TOFCSCProf[i]->Fill(CurrentRunIndex, csctof->inverseBeta()); - if(tof->inverseBeta() > 1.1 ) HTOF[i]->Fill(CurrentRunIndex); - VertexProf[i]->Fill(CurrentRunIndex, tof->timeAtIpInOut()); - if(dttof->nDof()>=GlobalMinNDOFDT) VertexDTProf[i]->Fill(CurrentRunIndex, dttof->timeAtIpInOut()); - if(csctof->nDof()>=GlobalMinNDOFCSC) VertexCSCProf[i]->Fill(CurrentRunIndex, csctof->timeAtIpInOut()); - } - - if(hscp.trackRef()->pt() >60 ) HPt[i]->Fill(CurrentRunIndex); - if(dedxSObj.dEdx() > 0.15 ) HdEdx[i]->Fill(CurrentRunIndex); - Count[i]->Fill(CurrentRunIndex); - - dEdxProf[i]->Fill(CurrentRunIndex, dedxSObj.dEdx()); - dEdxMProf[i]->Fill(CurrentRunIndex, dedxMObj.dEdx()); - dEdxMSProf[i]->Fill(CurrentRunIndex, dedxMSObj.dEdx()); - dEdxMPProf[i]->Fill(CurrentRunIndex, dedxMPObj.dEdx()); - if(fabs(track->eta())<0.5){ - dEdxMSCProf[i]->Fill(CurrentRunIndex, dedxMSObj.dEdx()); - dEdxMPCProf[i]->Fill(CurrentRunIndex, dedxMPObj.dEdx()); - } - if(fabs(track->eta())>1.5){ - dEdxMSFProf[i]->Fill(CurrentRunIndex, dedxMSObj.dEdx()); - dEdxMPFProf[i]->Fill(CurrentRunIndex, dedxMPObj.dEdx()); - } - PtProf[i]->Fill(CurrentRunIndex, hscp.trackRef()->pt()); - } - - } - }printf("\n"); - - TCanvas* c1; - TLegend* leg; - - for(unsigned int i=0;iDivide(Count[i]); - HdEdx[i]->LabelsDeflate("X"); - HdEdx[i]->LabelsOption("av","X"); - HdEdx[i]->GetXaxis()->SetNdivisions(505); - HdEdx[i]->SetTitle(""); - HdEdx[i]->SetStats(kFALSE); - HdEdx[i]->GetXaxis()->SetTitle(""); - HdEdx[i]->GetYaxis()->SetTitle("Ratio over Threshold"); - HdEdx[i]->GetYaxis()->SetTitleOffset(0.9); - HdEdx[i]->GetXaxis()->SetLabelSize(0.04); - HdEdx[i]->SetLineColor(Color[0]); - HdEdx[i]->SetFillColor(Color[0]); - HdEdx[i]->SetMarkerSize(0.4); - HdEdx[i]->SetMarkerStyle(Marker[0]); - HdEdx[i]->SetMarkerColor(Color[0]); - HdEdx[i]->Draw("E1"); - - leg = new TLegend(0.55,0.86,0.79,0.93,NULL,"brNDC"); - leg->SetBorderSize(0); - leg->SetFillColor(0); - leg->AddEntry(HdEdx[i],"I_{as} > 0.15","P"); - leg->Draw(); - - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"ROT_Is"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - HPt[i]->Divide(Count[i]); - HPt[i]->LabelsDeflate("X"); - HPt[i]->LabelsOption("av","X"); - HPt[i]->GetXaxis()->SetNdivisions(505); - HPt[i]->SetTitle(""); - HPt[i]->SetStats(kFALSE); - HPt[i]->GetXaxis()->SetTitle(""); - HPt[i]->GetYaxis()->SetTitle("Ratio over Threshold"); - HPt[i]->GetYaxis()->SetTitleOffset(0.9); - HPt[i]->GetXaxis()->SetLabelSize(0.04); - HPt[i]->SetLineColor(Color[0]); - HPt[i]->SetFillColor(Color[0]); - HPt[i]->SetMarkerSize(0.4); - HPt[i]->SetMarkerStyle(Marker[0]); - HPt[i]->SetMarkerColor(Color[0]); - HPt[i]->Draw("E1"); - - leg = new TLegend(0.55,0.86,0.79,0.93,NULL,"brNDC"); - leg->SetBorderSize(0); - leg->SetFillColor(0); - leg->AddEntry(HPt[i],"p_{T} > 60 GeV/c","P"); - leg->Draw(); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"ROT_Pt"); - delete c1; - - - - c1 = new TCanvas("c1","c1",600,600); - HTOF[i]->Divide(CountMu[i]); - HTOF[i]->LabelsDeflate("X"); - HTOF[i]->LabelsOption("av","X"); - HTOF[i]->GetXaxis()->SetNdivisions(505); - HTOF[i]->SetTitle(""); - HTOF[i]->SetStats(kFALSE); - HTOF[i]->GetXaxis()->SetTitle(""); - HTOF[i]->GetYaxis()->SetTitle("Ratio over Threshold"); - HTOF[i]->GetYaxis()->SetTitleOffset(0.9); - HTOF[i]->GetXaxis()->SetLabelSize(0.04); - HTOF[i]->SetLineColor(Color[0]); - HTOF[i]->SetFillColor(Color[0]); - HTOF[i]->SetMarkerSize(0.4); - HTOF[i]->SetMarkerStyle(Marker[0]); - HTOF[i]->SetMarkerColor(Color[0]); - HTOF[i]->Draw("E1"); - - leg = new TLegend(0.55,0.86,0.79,0.93,NULL,"brNDC"); - leg->SetBorderSize(0); - leg->SetFillColor(0); - leg->AddEntry(HTOF[i],"1/#beta > 1.1","P"); - leg->Draw(); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"ROT_TOF"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - c1->SetLogy(true); - Count[i]->LabelsDeflate("X"); - Count[i]->LabelsOption("av","X"); - Count[i]->GetXaxis()->SetNdivisions(505); - Count[i]->SetTitle(""); - Count[i]->SetStats(kFALSE); - Count[i]->GetXaxis()->SetTitle(""); - Count[i]->GetYaxis()->SetTitle("#Tracks"); - Count[i]->GetYaxis()->SetTitleOffset(0.9); - Count[i]->GetXaxis()->SetLabelSize(0.04); - Count[i]->SetLineColor(Color[0]); - Count[i]->SetFillColor(Color[0]); - Count[i]->SetMarkerSize(0.4); - Count[i]->SetMarkerStyle(Marker[0]); - Count[i]->SetMarkerColor(Color[0]); - Count[i]->Draw("E1"); - - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Count"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - NVertProf[i]->LabelsDeflate("X"); - NVertProf[i]->LabelsOption("av","X"); - NVertProf[i]->GetXaxis()->SetNdivisions(505); - NVertProf[i]->SetTitle(""); - NVertProf[i]->SetStats(kFALSE); - NVertProf[i]->GetXaxis()->SetTitle(""); - NVertProf[i]->GetYaxis()->SetTitle("#RecoVertex"); - NVertProf[i]->GetYaxis()->SetTitleOffset(0.9); - NVertProf[i]->GetXaxis()->SetLabelSize(0.04); - NVertProf[i]->SetLineColor(Color[0]); - NVertProf[i]->SetFillColor(Color[0]); - NVertProf[i]->SetMarkerSize(0.4); - NVertProf[i]->SetMarkerStyle(Marker[0]); - NVertProf[i]->SetMarkerColor(Color[0]); - NVertProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_NVert"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - dEdxProf[i]->LabelsDeflate("X"); - dEdxProf[i]->LabelsOption("av","X"); - dEdxProf[i]->GetXaxis()->SetNdivisions(505); - dEdxProf[i]->SetTitle(""); - dEdxProf[i]->SetStats(kFALSE); - dEdxProf[i]->GetXaxis()->SetTitle(""); - dEdxProf[i]->GetYaxis()->SetTitle("dE/dx discriminator"); - dEdxProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxProf[i]->SetLineColor(Color[0]); - dEdxProf[i]->SetFillColor(Color[0]); - dEdxProf[i]->SetMarkerSize(0.4); - dEdxProf[i]->SetMarkerStyle(Marker[0]); - dEdxProf[i]->SetMarkerColor(Color[0]); - dEdxProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_Is"); - delete c1; - - - - c1 = new TCanvas("c1","c1",600,600); - dEdxMProf[i]->LabelsDeflate("X"); - dEdxMProf[i]->LabelsOption("av","X"); - dEdxMProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMProf[i]->SetTitle(""); - dEdxMProf[i]->SetStats(kFALSE); - dEdxMProf[i]->GetXaxis()->SetTitle(""); - dEdxMProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMProf[i]->SetLineColor(Color[0]); - dEdxMProf[i]->SetFillColor(Color[0]); - dEdxMProf[i]->SetMarkerSize(0.4); - dEdxMProf[i]->SetMarkerStyle(Marker[0]); - dEdxMProf[i]->SetMarkerColor(Color[0]); - dEdxMProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_Im"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMSProf[i]->LabelsDeflate("X"); - dEdxMSProf[i]->LabelsOption("av","X"); - dEdxMSProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMSProf[i]->SetTitle(""); - dEdxMSProf[i]->SetStats(kFALSE); - dEdxMSProf[i]->GetXaxis()->SetTitle(""); - dEdxMSProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMSProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMSProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMSProf[i]->SetLineColor(Color[0]); - dEdxMSProf[i]->SetFillColor(Color[0]); - dEdxMSProf[i]->SetMarkerSize(0.4); - dEdxMSProf[i]->SetMarkerStyle(Marker[0]); - dEdxMSProf[i]->SetMarkerColor(Color[0]); - dEdxMSProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImS"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMPProf[i]->LabelsDeflate("X"); - dEdxMPProf[i]->LabelsOption("av","X"); - dEdxMPProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMPProf[i]->SetTitle(""); - dEdxMPProf[i]->SetStats(kFALSE); - dEdxMPProf[i]->GetXaxis()->SetTitle(""); - dEdxMPProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMPProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMPProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMPProf[i]->SetLineColor(Color[0]); - dEdxMPProf[i]->SetFillColor(Color[0]); - dEdxMPProf[i]->SetMarkerSize(0.4); - dEdxMPProf[i]->SetMarkerStyle(Marker[0]); - dEdxMPProf[i]->SetMarkerColor(Color[0]); - dEdxMPProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImP"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMSCProf[i]->LabelsDeflate("X"); - dEdxMSCProf[i]->LabelsOption("av","X"); - dEdxMSCProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMSCProf[i]->SetTitle(""); - dEdxMSCProf[i]->SetStats(kFALSE); - dEdxMSCProf[i]->GetXaxis()->SetTitle(""); - dEdxMSCProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMSCProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMSCProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMSCProf[i]->SetLineColor(Color[0]); - dEdxMSCProf[i]->SetFillColor(Color[0]); - dEdxMSCProf[i]->SetMarkerSize(0.4); - dEdxMSCProf[i]->SetMarkerStyle(Marker[0]); - dEdxMSCProf[i]->SetMarkerColor(Color[0]); - dEdxMSCProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImSC"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMPCProf[i]->LabelsDeflate("X"); - dEdxMPCProf[i]->LabelsOption("av","X"); - dEdxMPCProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMPCProf[i]->SetTitle(""); - dEdxMPCProf[i]->SetStats(kFALSE); - dEdxMPCProf[i]->GetXaxis()->SetTitle(""); - dEdxMPCProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMPCProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMPCProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMPCProf[i]->SetLineColor(Color[0]); - dEdxMPCProf[i]->SetFillColor(Color[0]); - dEdxMPCProf[i]->SetMarkerSize(0.4); - dEdxMPCProf[i]->SetMarkerStyle(Marker[0]); - dEdxMPCProf[i]->SetMarkerColor(Color[0]); - dEdxMPCProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImPC"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMSFProf[i]->LabelsDeflate("X"); - dEdxMSFProf[i]->LabelsOption("av","X"); - dEdxMSFProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMSFProf[i]->SetTitle(""); - dEdxMSFProf[i]->SetStats(kFALSE); - dEdxMSFProf[i]->GetXaxis()->SetTitle(""); - dEdxMSFProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMSFProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMSFProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMSFProf[i]->SetLineColor(Color[0]); - dEdxMSFProf[i]->SetFillColor(Color[0]); - dEdxMSFProf[i]->SetMarkerSize(0.4); - dEdxMSFProf[i]->SetMarkerStyle(Marker[0]); - dEdxMSFProf[i]->SetMarkerColor(Color[0]); - dEdxMSFProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImSF"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - dEdxMPFProf[i]->LabelsDeflate("X"); - dEdxMPFProf[i]->LabelsOption("av","X"); - dEdxMPFProf[i]->GetXaxis()->SetNdivisions(505); - dEdxMPFProf[i]->SetTitle(""); - dEdxMPFProf[i]->SetStats(kFALSE); - dEdxMPFProf[i]->GetXaxis()->SetTitle(""); - dEdxMPFProf[i]->GetYaxis()->SetTitle("dE/dx estimator"); - dEdxMPFProf[i]->GetYaxis()->SetTitleOffset(0.9); - dEdxMPFProf[i]->GetXaxis()->SetLabelSize(0.04); - dEdxMPFProf[i]->SetLineColor(Color[0]); - dEdxMPFProf[i]->SetFillColor(Color[0]); - dEdxMPFProf[i]->SetMarkerSize(0.4); - dEdxMPFProf[i]->SetMarkerStyle(Marker[0]); - dEdxMPFProf[i]->SetMarkerColor(Color[0]); - dEdxMPFProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_ImPF"); - delete c1; - - - - c1 = new TCanvas("c1","c1",600,600); - PtProf[i]->LabelsDeflate("X"); - PtProf[i]->LabelsOption("av","X"); - PtProf[i]->GetXaxis()->SetNdivisions(505); - PtProf[i]->SetTitle(""); - PtProf[i]->SetStats(kFALSE); - PtProf[i]->GetXaxis()->SetTitle(""); - PtProf[i]->GetYaxis()->SetTitle("p_{T} (GeV/c)"); - PtProf[i]->GetYaxis()->SetTitleOffset(0.9); - PtProf[i]->GetXaxis()->SetLabelSize(0.04); - PtProf[i]->SetLineColor(Color[0]); - PtProf[i]->SetFillColor(Color[0]); - PtProf[i]->SetMarkerSize(0.4); - PtProf[i]->SetMarkerStyle(Marker[0]); - PtProf[i]->SetMarkerColor(Color[0]); - PtProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_Pt"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - TOFProf[i]->LabelsDeflate("X"); - TOFProf[i]->LabelsOption("av","X"); - TOFProf[i]->GetXaxis()->SetNdivisions(505); - TOFProf[i]->SetTitle(""); - TOFProf[i]->SetStats(kFALSE); - TOFProf[i]->GetXaxis()->SetTitle(""); - TOFProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFProf[i]->SetLineColor(Color[0]); - TOFProf[i]->SetFillColor(Color[0]); - TOFProf[i]->SetMarkerSize(0.4); - TOFProf[i]->SetMarkerStyle(Marker[0]); - TOFProf[i]->SetMarkerColor(Color[0]); - TOFProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOF"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - TOFDTProf[i]->LabelsDeflate("X"); - TOFDTProf[i]->LabelsOption("av","X"); - TOFDTProf[i]->GetXaxis()->SetNdivisions(505); - TOFDTProf[i]->SetTitle(""); - TOFDTProf[i]->SetStats(kFALSE); - TOFDTProf[i]->GetXaxis()->SetTitle(""); - TOFDTProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFDTProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFDTProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFDTProf[i]->SetLineColor(Color[0]); - TOFDTProf[i]->SetFillColor(Color[0]); - TOFDTProf[i]->SetMarkerSize(0.4); - TOFDTProf[i]->SetMarkerStyle(Marker[0]); - TOFDTProf[i]->SetMarkerColor(Color[0]); - TOFDTProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOFDT"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - TOFCSCProf[i]->LabelsDeflate("X"); - TOFCSCProf[i]->LabelsOption("av","X"); - TOFCSCProf[i]->GetXaxis()->SetNdivisions(505); - TOFCSCProf[i]->SetTitle(""); - TOFCSCProf[i]->SetStats(kFALSE); - TOFCSCProf[i]->GetXaxis()->SetTitle(""); - TOFCSCProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFCSCProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFCSCProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFCSCProf[i]->SetLineColor(Color[0]); - TOFCSCProf[i]->SetFillColor(Color[0]); - TOFCSCProf[i]->SetMarkerSize(0.4); - TOFCSCProf[i]->SetMarkerStyle(Marker[0]); - TOFCSCProf[i]->SetMarkerColor(Color[0]); - TOFCSCProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOFCSC"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - TOFOverMinProf[i]->LabelsDeflate("X"); - TOFOverMinProf[i]->LabelsOption("av","X"); - TOFOverMinProf[i]->GetXaxis()->SetNdivisions(505); - TOFOverMinProf[i]->SetTitle(""); - TOFOverMinProf[i]->SetStats(kFALSE); - TOFOverMinProf[i]->GetXaxis()->SetTitle(""); - TOFOverMinProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFOverMinProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFOverMinProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFOverMinProf[i]->SetLineColor(Color[0]); - TOFOverMinProf[i]->SetFillColor(Color[0]); - TOFOverMinProf[i]->SetMarkerSize(0.4); - TOFOverMinProf[i]->SetMarkerStyle(Marker[0]); - TOFOverMinProf[i]->SetMarkerColor(Color[0]); - TOFOverMinProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOFOverMin"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - TOFDTOverMinProf[i]->LabelsDeflate("X"); - TOFDTOverMinProf[i]->LabelsOption("av","X"); - TOFDTOverMinProf[i]->GetXaxis()->SetNdivisions(505); - TOFDTOverMinProf[i]->SetTitle(""); - TOFDTOverMinProf[i]->SetStats(kFALSE); - TOFDTOverMinProf[i]->GetXaxis()->SetTitle(""); - TOFDTOverMinProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFDTOverMinProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFDTOverMinProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFDTOverMinProf[i]->SetLineColor(Color[0]); - TOFDTOverMinProf[i]->SetFillColor(Color[0]); - TOFDTOverMinProf[i]->SetMarkerSize(0.4); - TOFDTOverMinProf[i]->SetMarkerStyle(Marker[0]); - TOFDTOverMinProf[i]->SetMarkerColor(Color[0]); - TOFDTOverMinProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOFDTOverMin"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - TOFCSCOverMinProf[i]->LabelsDeflate("X"); - TOFCSCOverMinProf[i]->LabelsOption("av","X"); - TOFCSCOverMinProf[i]->GetXaxis()->SetNdivisions(505); - TOFCSCOverMinProf[i]->SetTitle(""); - TOFCSCOverMinProf[i]->SetStats(kFALSE); - TOFCSCOverMinProf[i]->GetXaxis()->SetTitle(""); - TOFCSCOverMinProf[i]->GetYaxis()->SetTitle("1/#beta"); - TOFCSCOverMinProf[i]->GetYaxis()->SetTitleOffset(0.9); - TOFCSCOverMinProf[i]->GetXaxis()->SetLabelSize(0.04); - TOFCSCOverMinProf[i]->SetLineColor(Color[0]); - TOFCSCOverMinProf[i]->SetFillColor(Color[0]); - TOFCSCOverMinProf[i]->SetMarkerSize(0.4); - TOFCSCOverMinProf[i]->SetMarkerStyle(Marker[0]); - TOFCSCOverMinProf[i]->SetMarkerColor(Color[0]); - TOFCSCOverMinProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_TOFCSCOverMin"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - VertexProf[i]->LabelsDeflate("X"); - VertexProf[i]->LabelsOption("av","X"); - VertexProf[i]->GetXaxis()->SetNdivisions(505); - VertexProf[i]->SetTitle(""); - VertexProf[i]->SetStats(kFALSE); - VertexProf[i]->GetXaxis()->SetTitle(""); - VertexProf[i]->GetYaxis()->SetTitle("1/#beta"); - VertexProf[i]->GetYaxis()->SetTitleOffset(0.9); - VertexProf[i]->GetXaxis()->SetLabelSize(0.04); - VertexProf[i]->SetLineColor(Color[0]); - VertexProf[i]->SetFillColor(Color[0]); - VertexProf[i]->SetMarkerSize(0.4); - VertexProf[i]->SetMarkerStyle(Marker[0]); - VertexProf[i]->SetMarkerColor(Color[0]); - VertexProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_Vertex"); - delete c1; - - - c1 = new TCanvas("c1","c1",600,600); - VertexDTProf[i]->LabelsDeflate("X"); - VertexDTProf[i]->LabelsOption("av","X"); - VertexDTProf[i]->GetXaxis()->SetNdivisions(505); - VertexDTProf[i]->SetTitle(""); - VertexDTProf[i]->SetStats(kFALSE); - VertexDTProf[i]->GetXaxis()->SetTitle(""); - VertexDTProf[i]->GetYaxis()->SetTitle("1/#beta"); - VertexDTProf[i]->GetYaxis()->SetTitleOffset(0.9); - VertexDTProf[i]->GetXaxis()->SetLabelSize(0.04); - VertexDTProf[i]->SetLineColor(Color[0]); - VertexDTProf[i]->SetFillColor(Color[0]); - VertexDTProf[i]->SetMarkerSize(0.4); - VertexDTProf[i]->SetMarkerStyle(Marker[0]); - VertexDTProf[i]->SetMarkerColor(Color[0]); - VertexDTProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_VertexDT"); - delete c1; - - c1 = new TCanvas("c1","c1",600,600); - VertexCSCProf[i]->LabelsDeflate("X"); - VertexCSCProf[i]->LabelsOption("av","X"); - VertexCSCProf[i]->GetXaxis()->SetNdivisions(505); - VertexCSCProf[i]->SetTitle(""); - VertexCSCProf[i]->SetStats(kFALSE); - VertexCSCProf[i]->GetXaxis()->SetTitle(""); - VertexCSCProf[i]->GetYaxis()->SetTitle("1/#beta"); - VertexCSCProf[i]->GetYaxis()->SetTitleOffset(0.9); - VertexCSCProf[i]->GetXaxis()->SetLabelSize(0.04); - VertexCSCProf[i]->SetLineColor(Color[0]); - VertexCSCProf[i]->SetFillColor(Color[0]); - VertexCSCProf[i]->SetMarkerSize(0.4); - VertexCSCProf[i]->SetMarkerStyle(Marker[0]); - VertexCSCProf[i]->SetMarkerColor(Color[0]); - VertexCSCProf[i]->Draw("E1"); - c1->Modified(); - c1->SetGridx(true); - DrawPreliminary(IntegratedLuminosity); - SaveCanvas(c1,string("pictures/") + triggers[i],"Profile_VertexCSC"); - delete c1; - } - - - OutputHisto->Write(); - OutputHisto->Close(); -} - - - -bool IncreasedTreshold(const trigger::TriggerEvent& trEv, const edm::InputTag& InputPath, double NewThreshold, int NObjectAboveThreshold, bool averageThreshold) -{ - unsigned int filterIndex = trEv.filterIndex(InputPath); - //if(filterIndex %s XXX %s\n",filterIndex,trEv.filterTag(filterIndex).label().c_str(), trEv.filterTag(filterIndex).process().c_str()); - - if (filterIndex NewThreshold) NObjectAboveThresholdObserved++; - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TO.id() << " " << TO.pt() << " " << TO.eta() << " " << TO.phi() << " " << TO.mass()<< endl; - } - if(NObjectAboveThresholdObserved>=NObjectAboveThreshold)return true; - - }else{ - std::vector ObjPt; - - for (size_type i=0; i!=n; ++i) { - const TriggerObject& TO(TOC[KEYS[i]]); - ObjPt.push_back(TO.pt()); - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TO.id() << " " << TO.pt() << " " << TO.eta() << " " << TO.phi() << " " << TO.mass()<< endl; - } - if((int)(ObjPt.size())SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable();; - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libDataFormatsHepMCCandidate.so"); - gSystem->Load("libDataFormatsCommon.so"); - gSystem->Load("libDataFormatsTrackerRecHit2D.so"); - gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so"); - .x StabilityCheck.C+("Analyze"); - .x MakePlot.C+ -EOF diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/out.txt b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/out.txt deleted file mode 100644 index ab3188471bcb3..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/out.txt +++ /dev/null @@ -1,276 +0,0 @@ -160431,231,8414.98074055,[19-218],7321.79470587 -160577,330,10968.7166384,[254-306],1623.35908951 -160578,457,13618.2091939,"[6-53274-400]",4931.22827091 -160871,185,140756.85364,[68-208],104581.580536 -160872,76,55684.168438,"[1-925-3538-55]",23604.4895365 -160873,200,139342.567973,[1-147],101535.788089 -160874,131,86059.2956471,"[1-5197-113]",42010.6046365 -160939,147,182287.159989,[1-123],149609.289563 -160940,88,105176.111857,[2-79],90806.8680228 -160942,25,29302.2104804,[1-12],12209.2417212 -160943,68,77824.2878847,[2-54],59003.2284764 -160955,227,778968.167484,"[1-130133-138140-151153-154156-172175-201204-206]",413915.671739 -160956,72,232412.877625,[2-65],198545.794749 -160957,966,2638347.89871,[2-953],2506557.3968 -160998,284,779254.065083,[2-252],679400.910206 -161008,282,704933.165052,"[1-25-77]",188103.746213 -161016,326,742078.294109,[2-300],671576.539449 -161103,111,437926.743029,[2-100],379484.837111 -161106,39,145837.891222,[2-26],92352.2665127 -161107,39,142131.502676,[2-29],100872.579052 -161113,44,154974.140743,[2-24],79631.6551331 -161116,20,69466.13694,[2-11],34416.2304419 -161117,30,102992.319763,[2-24],77689.7359027 -161176,44,120750.881458,[2-31],83271.8576996 -161217,787,3881878.24921,[37-753],3487478.24949 -161222,135,562214.235386,[1-97],401163.352428 -161223,408,1568134.8395,[1-375],1432966.45402 -161233,39,195776.637456,[33-49],94093.2460692 -161310,95,537554.591315,[39-116],434664.277615 -161311,703,3364438.68966,"[1-554559-649]",3095074.95215 -161312,1049,3761445.21315,"[2-826835-1027]",3648710.88836 -162762,110,414308.25972,[1-102],377521.039903 -162765,22,81373.3325653,[2-23],77304.3841435 -162803,94,497305.042136,"[60-124135-139]",369886.695019 -162808,62,330898.717075,[1-51],263374.813721 -162811,346,1678742.05495,[1-340],1652215.312 -162822,246,1280178.91271,[73-307],1207529.21619 -162825,201,966964.568504,[1-184],869533.642256 -162826,42,195316.7254,[1-24],104126.210228 -162828,83,358042.003648,[2-84],354227.766274 -162909,249,1847126.78874,[54-290],1788678.89091 -163046,247,1623362.60773,"[1-133135-238]",1592748.91553 -163069,583,4197607.19171,"[73-452468-633]",3897614.77322 -163071,193,1254503.95955,[1-161],1035106.72479 -163078,36,223131.14959,[2-23],134938.961088 -163232,76,513403.287392,"[128-128130-134129-129136-149135-135110-127]",265598.164599 -163233,301,1940034.91078,[1-283],1802189.81456 -163234,73,444371.099063,[1-66],390925.090137 -163235,473,2684945.08337,[1-461],2591070.40918 -163237,219,1134882.57917,[1-213],1090349.13325 -163238,13,56783.1776908,[9-14],21147.7406896 -163252,101,908360.326195,[60-137],676648.137586 -163255,1066,7977222.73868,"[1-359412-844846-846848-977]",6872321.70854 -163261,138,901848.577884,"[2-310-126]",771047.274478 -163270,926,8228118.07035,"[2-7679-9699-475479-527529-685695-927]",7975359.86541 -163286,306,2003344.73722,[112-401],1883655.7274 -163289,386,2248731.9923,[2-387],2207535.47476 -163296,562,5505622.34885,"[59-230232-585]",5090286.80243 -163297,226,1993499.00479,[1-219],1902939.61413 -163300,622,4965283.36319,[1-616],4870837.25868 -163301,197,1442737.91233,[1-192],1387738.08642 -163302,252,1775292.60947,[1-190],1329960.8688 -163332,775,8030210.86007,"[43-118224-264266-599601-639641-801]",6518025.20815 -163333,111,1039916.31203,[2-106],969457.547016 -163334,562,4921466.57723,"[1-3537-37156-556]",3762186.31263 -163337,474,3797972.31658,"[2-1827-201203-426434-461]",3520933.8843 -163338,170,1288643.16507,[1-164],1224274.68623 -163339,187,1376114.75994,[1-172],1250985.87565 -163340,486,3334046.54206,[2-487],3311117.53762 -163358,28,253658.997981,[39-62],210049.295014 -163369,103,1093590.02262,[2-94],978081.270359 -163370,175,1771034.94222,[1-147],1469069.3552 -163371,374,3371677.61543,"[1-107148-363]",2916936.28265 -163372,111,973269.032662,[1-52],450198.526043 -163374,872,6834028.93577,"[1-599603-863]",6693696.94849 -163375,16,113609.902852,[1-10],65474.7863691 -163376,251,1755691.37546,"[2-2022-246]",1689867.60792 -163378,628,4047982.6421,"[1-8189-272306-615]",3675226.22696 -163385,389,3521201.74558,"[52-240244-406]",3165808.77395 -163387,254,2076076.37534,[2-255],2060762.55659 -163402,793,7635208.01101,"[37-582586-801]",6888939.50202 -163475,284,3172838.47889,[30-295],2801262.39679 -163476,235,2428706.21862,"[1-9498-212]",2047895.27265 -163478,82,804552.227683,[1-70],461653.491416 -163479,185,1795900.01149,[2-175],1675799.42056 -163480,198,1844561.41078,"[1-9296-188190-191]",1698481.89359 -163481,88,792243.919594,"[2-7274-7779-79]",648811.541224 -163482,57,504899.518386,"[1-2748-48]",232276.056673 -163483,55,375949.423158,[2-56],373030.956776 -163582,65,1013636.50931,[1-22],250115.492378 -163583,231,3440059.87874,"[2-6365-9296-155157-173175-219]",2833201.86859 -163584,84,1202621.48761,[1-56],763846.716298 -163585,41,576618.4866,[1-32],435016.313849 -163586,102,1408523.17576,[1-75],1018116.91406 -163587,84,1133718.087,[1-52],688476.842977 -163588,455,5779331.08272,"[1-810-446]",5581423.0508 -163589,165,1961718.11817,"[1-4951-160]",1870697.03347 -163596,27,259084.232793,[2-28],256517.221653 -163630,113,1498884.94972,"[76-164176-184]",1267218.24566 -163655,38,603852.461485,[15-23],131570.030415 -163657,152,2344200.26022,[1-140],2112593.51136 -163658,18,270262.942714,[1-3],6227.23645473 -163659,717,9766460.40928,"[1-374376-650652-705]",9398580.59537 -163660,84,1037427.41973,[1-74],742331.459513 -163661,26,317176.810141,[1-17],112647.246935 -163662,175,2090156.5458,[1-154],1811893.02787 -163663,250,2844227.37148,"[1-106109-246]",2650543.3342 -163664,188,2041698.17162,"[1-119121-178]",1865904.23544 -163668,226,2276933.12766,"[2-5357-136140-213]",2043000.97521 -163738,282,4155550.63346,[34-311],4045672.73443 -163757,46,681739.781555,[1-40],567118.406647 -163758,599,8200161.03384,"[1-1719-220222-224236-276283-374376-466468-591]",7374737.28907 -163759,525,6340800.36054,"[1-6062-7274-456458-461463-482504-510]",5771647.53825 -163760,362,3988897.39878,"[1-162165-340]",3663314.39213 -163761,228,2369179.52662,[1-203],2092341.83111 -163763,92,927458.312591,[1-79],785421.820916 -163765,319,2997046.19532,[2-320],2958872.96734 -163795,48,907464.969632,"[10-3436-3638-43]",455200.645017 -163796,181,3201354.94312,[1-181],3140248.24833 -163817,934,16331051.1045,"[50-140154-205216-295305-346358-457561-603618-966]",12995056.8558 -163869,62,794784.26904,[79-123],703226.284048 -165088,200,5033.14315988,[107-266],4027.24667231 -165098,320,31634.0241532,"[124-187190-193195-248250-254256-331333-367369-415]",27494.7168256 -165099,125,10722.9234966,[1-105],8853.81811289 -165102,200,17821.2059787,[1-185],16471.5121216 -165103,451,47752.2640626,"[1-111113-185187-440]",46318.7727982 -165120,56,271064.353653,[82-97],76376.0541126 -165121,483,2150273.48546,[1-466],2049530.29623 -165205,195,2014997.13583,[80-248],1718665.04037 -165208,113,1092776.42376,[1-101],947586.544961 -165364,1260,19663072.2591,"[45-111114-147160-807809-12201260-1300]",18325190.0912 -165402,27,453343.958084,[1-27],416093.259316 -165415,1342,20342180.2248,"[58-8588-640643-707712-777780-13561360-1383]",19461690.7405 -165467,701,12981980.9996,[39-708],11771142.6807 -165472,897,13552369.6526,"[1-184186-882]",12975111.1141 -165486,89,1982783.83758,[37-102],1401620.65209 -165487,153,3081718.29317,[1-151],2951557.70338 -165506,123,2132631.49734,[54-170],1915687.36581 -165514,501,11719375.565,"[72-244246-560562-567]",10989892.4374 -165548,630,9555553.26693,"[1-363365-381384-589]",8692129.23393 -165558,74,1041015.97316,[1-62],817620.165532 -165567,601,13100586.7931,"[54-109114-309315-631]",11997559.9979 -165570,951,16975291.303,"[1-25-8388-942944-946]",16353284.4565 -165617,395,9373634.75478,"[26-5254-143145-288]",5961626.51143 -165620,62,1254769.02217,[14-19],126889.333296 -165633,460,10508290.8339,"[56-6264-6466-317319-500]",9736393.7879 -165970,273,6726395.74181,"[67-329331-334]",6455019.12668 -165993,1655,33003329.6806,"[71-873879-16601665-1697]",31886444.6556 -166011,82,1908392.56233,[1-81],1824319.05591 -166033,1234,31401148.8941,"[35-5359-330336-355360-444450-606613-707713-1233]",29217718.715 -166034,392,7837380.88704,"[1-109115-228234-307]",6139717.61151 -166049,874,22459338.1616,"[53-8688-236242-674]",15977693.5883 -166149,30,861685.881379,[1-2],2056.72166173 -166150,115,2816687.36122,"[1-99101-115]",2685688.33148 -166161,103,2830140.20353,"[38-120122-123126-126]",2036315.14558 -166163,45,1210484.32114,"[1-1214-33]",618588.576263 -166164,39,871554.061007,"[1-3234-39]",779210.082154 -166346,173,4514561.46041,"[48-210212-214]",4262681.13703 -166374,166,4455219.70279,"[46-6466-188]",3703035.44929 -166380,1816,36195478.4924,"[1-367373-711715-14001406-1809]",35285507.369 -166408,1174,28610880.3156,"[67-283291-947953-1235]",27659856.2856 -166429,60,1570155.08353,[33-88],1384676.41161 -166438,861,19223685.2747,"[32-8587-856858-866]",18299957.1097 -166462,453,9998790.23799,"[78-102108-317323-525]",9373541.59329 -166486,126,2599067.05988,"[54-7580-9597-173]",2309576.38181 -166502,72,1732666.52134,"[43-7883-108]",1418875.44372 -166512,1870,39555515.9139,"[42-430432-487491-605611-12791281-18181821-18621868-18681870-18711873-1874]",37881928.6552 -166514,464,7478831.59355,"[1-455460-464]",7344050.04666 -166530,25,609102.443212,[43-62],458028.421126 -166554,709,17157550.1772,"[46-218224-287290-317320-595597-730732-734736-736]",16048597.2305 -166563,582,11724479.6912,"[1-276492-748]",10602518.9622 -166565,897,15311356.7324,"[1-147153-312316-467469-897]",14947492.1784 -166699,868,18561429.42,"[55-234240-415421-477483-677681-912]",17714966.7498 -166701,791,13447916.7688,"[1-1316-319324-506513-551557-672681-705712-724731-757764-777783-791]",12494070.256 -166763,608,13783356.9884,"[46-168174-649]",13382624.1316 -166781,356,8619467.7499,"[41-111115-115117-233236-253255-382]",7883392.38339 -166782,581,12298792.1961,[1-569],11874764.2749 -166784,389,7416940.7984,"[1-114119-276281-365]",6529162.53148 -166787,363,6298378.04801,"[1-5560-127132-363]",6067651.4651 -166839,277,7063757.67623,"[43-173178-297299-302]",5661014.60968 -166841,1023,22258235.6607,"[1-845851-876882-977984-984988-992998-1015]",21326298.0351 -166842,186,3105464.09973,[1-170],3050240.7266 -166859,394,9801079.65832,"[62-418421-421423-423]",8592344.53354 -166860,36,836026.225779,[1-21],404800.810106 -166861,50,1144319.09115,"[1-68-13]",183308.79539 -166864,536,11229730.3099,"[1-2931-7779-99102-119125-247249-307311-365367-374378-454478-536]",9656523.5075 -166888,434,11159142.8508,"[56-9093-154156-394398-470]",10197877.9395 -166889,241,5657210.41872,"[1-7379-228]",5033271.34576 -166890,548,11686248.4227,[1-441],9352932.45564 -166894,219,4235575.43356,[1-190],3567642.91208 -166895,601,10583831.2684,"[1-6672-597599-601]",10324470.1823 -166911,53,1310844.48819,"[58-7681-103]",985533.830822 -166922,789,19323827.1208,"[1-3941-105110-340345-418423-747752-769773-773]",18087372.9961 -166923,469,9834537.63758,"[1-382389-469]",9574934.68799 -166946,177,4676804.5692,"[41-7275-201]",4094190.37932 -166950,1450,31152027.7464,"[1-18-3136-210216-877883-950956-10121018-13211327-13451347-1438]",29471678.2293 -166960,199,3581057.01068,"[1-137143-166]",2848308.38991 -166966,254,4369662.00153,[1-238],3982274.53867 -166967,219,3523537.41869,[1-219],3470552.49649 -167039,235,5794662.11932,"[20-9298-228]",4966266.48301 -167041,676,14236404.4617,"[1-336339-391396-462467-663]",13557524.5216 -167043,236,4190348.15069,"[1-125130-235]",4047396.54368 -167078,142,3442631.50535,[40-174],3199550.88808 -167098,420,9203275.90808,"[62-9092-162167-406448-461]",8268219.81867 -167102,440,8696024.53956,"[1-4248-233235-317323-430]",7994765.7512 -167103,94,1672790.55089,[1-94],1620367.7347 -167151,68,1609365.35366,[1-42],986514.520111 -167281,597,15162351.0877,"[18-140146-315317-593]",14228353.6823 -167282,457,9430205.46987,[1-441],8978024.9576 -167284,1708,27121997.5517,"[1-315320-346356-395399-474476-11571160-16281633-1644]",25661201.6712 -167551,424,11486598.7976,"[56-190196-471]",10901788.5107 -167673,308,8124158.63429,"[210-236239-305309-418423-447]",5835658.36445 -167674,355,8581257.29186,[1-345],8154943.75729 -167675,1069,22077738.8337,"[1-129133-299301-617690-707710-712715-716719-719721-725740-741748-758762-770774-787793-797811-1062]",19135324.1219 -167676,452,7852382.43856,"[1-278289-450]",7573033.78584 -167740,104,2568626.74124,"[79-126132-168170-173]",2182348.10028 -167746,351,8663533.21295,[56-384],8356871.77556 -167754,50,1178506.79916,[62-103],994275.70673 -167784,100,2700042.04841,[51-67],428485.824255 -167786,176,4437277.5523,"[1-111-7581-176]",3976056.0921 -167807,1824,42747050.3904,"[60-159178-204210-482484-558560-872878-14411444-1842]",40518266.8011 -167830,1248,20891346.9366,"[1-437442-587590-828834-1242]",20338891.2263 -167898,1692,39842133.3829,"[108-619621-9951001-10101013-10531057-12951298-1762]",37970327.1026 -167913,440,7880615.44492,"[1-126128-432]",7609374.18581 -170826,289,8176812.71389,"[50-122139-310]",6838185.02805 -170842,350,8636294.71965,"[1-2732-96102-331]",7832462.97876 -170854,659,13659370.1765,"[1-336341-578]",11820091.9338 -170876,520,9025941.52699,"[1-110115-516518-518]",8824636.25454 -170896,212,3396899.02642,[1-212],3332858.05116 -170899,84,1282584.15701,[1-84],1266554.03064 -170901,199,2770920.83266,"[1-153159-199]",2661567.52209 -171050,625,19258906.5893,"[54-7480-337342-369371-379384-423427-467471-648]",17363625.4134 -171091,147,3786658.42276,[1-135],3345608.29696 -171098,32,803962.60649,[1-8],90585.1509462 -171102,34,844793.879269,[1-19],419904.054386 -171106,303,7138755.0006,"[1-2732-288]",6579464.16195 -171117,83,1730554.27722,"[1-5456-7880-83]",1636907.43193 -171156,722,21052680.4516,"[212-686688-692]",12994621.3644 -171178,1043,22802573.3225,"[1-9297-205210-1043]",22220414.9807 -171219,120,4088921.68085,"[48-151153-162]",3841882.55076 -171274,78,3112909.3225,"[128-137140-14388-127]",1981402.07353 -171282,171,6363145.07024,"[1-1214-99104-134140-171]",5826810.06001 -171315,178,6298546.9338,[53-225],6021751.92429 -171369,125,4359551.21303,"[61-138144-161]",3229311.99736 -171446,812,26116093.9103,"[58-394401-451456-645650-750754-864]",25110648.6991 -171484,377,13177251.2439,"[80-202207-371376-432]",11817950.3291 -171578,935,24019521.705,"[47-150156-174179-315319-347353-481487-572578-974]",22801716.2136 -171812,384,13505109.9103,"[59-296301-437]",12900860.3738 -171921,116,4758943.12785,[51-141],3645079.75593 -171926,264,9500127.56857,"[1-4951-155161-172177-264]",8840320.06649 -172014,256,10491393.5551,"[1-6466-143149-243]",9162063.37357 -172024,161,6011174.87354,[1-74],2706268.06439 -172033,749,23844058.2451,"[1-6571-277282-473478-749]",23111389.8996 -172163,758,27325645.613,"[36-109115-784]",26360824.9395 -172208,145,6022619.06373,[61-199],5631834.48805 -172252,41,1886732.36233,[32-54],1002278.24955 -172254,51,2297020.74473,[1-42],1747445.29588 -172255,39,1588560.76608,[1-39],1469308.07169 -172268,118,5195362.65314,[56-169],4901026.50334 -172286,176,6858085.79775,"[52-177184-216]",6323228.14862 -172389,431,17038858.3827,"[34-144150-429433-460]",16277584.869 -172399,195,8207447.93789,[57-226],7011462.71572 -172400,720,25016318.6045,"[1-495500-691696-705]",23740997.6608 -172401,147,4346538.14924,"[1-25-147]",4129319.70644 -172411,897,32249709.3678,[85-349],10822034.5957 -172478,154,3960810.52744,[1-110],2808787.97451 -172619,97,1934690.19692,[1-77],1490279.97138 -172620,501,9429412.62173,[1-495],9223673.6403 -172630,146,6495846.52015,"[36-6468-135139-160]",5157011.2129 -172635,267,10673883.2373,"[1-1824-267]",10203002.4754 -172778,57,2356692.19507,[48-97],1986746.54585 -172791,1624,54163297.7466,"[68-413418-569571-715720-12961300-15371542-16451649-1658]",51814818.7692 -172798,36,930462.220239,[1-31],721446.731769 -172799,379,9325201.55334,[1-367],8913553.28481 -172801,1155,24025859.2164,"[1-679681-750753-766768-815819-837839-861863-909911-1139]",22775746.8358 -172802,796,13681208.5952,"[1-629634-784]",13203586.6448 diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/tdrstyle.C b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/tdrstyle.C deleted file mode 100644 index 6e2de47e66928..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/StabilityCheck/tdrstyle.C +++ /dev/null @@ -1,169 +0,0 @@ -// -// TDR style macro for plots in ROOT -// .L tdrstyle.C -// setTDRStyle() -// -#include "TStyle.h" -#include "TPad.h" - -/* -// tdrGrid: Turns the grid lines on (true) or off (false) - -void tdrGrid(bool gridOn) { - tdrStyle->SetPadGridX(gridOn); - tdrStyle->SetPadGridY(gridOn); -} -*/ - -// fixOverlay: Redraws the axis - -void fixOverlay() { - gPad->RedrawAxis(); -} - -void setTDRStyle() { -// TStyle *tdrStyle = new TStyle("tdrStyle","Style for P-TDR"); - -// For the canvas: - gStyle->SetCanvasBorderMode(0); - gStyle->SetCanvasColor(kWhite); - gStyle->SetCanvasDefH(600); //Height of canvas - gStyle->SetCanvasDefW(600); //Width of canvas - gStyle->SetCanvasDefX(0); //POsition on screen - gStyle->SetCanvasDefY(0); - -// For the Pad: - gStyle->SetPadBorderMode(0); - // gStyle->SetPadBorderSize(Width_t size = 1); - gStyle->SetPadColor(kWhite); - gStyle->SetPadGridX(false); - gStyle->SetPadGridY(false); - gStyle->SetGridColor(0); - gStyle->SetGridStyle(3); - gStyle->SetGridWidth(1); - -// For the frame: - gStyle->SetFrameBorderMode(0); - gStyle->SetFrameBorderSize(1); - gStyle->SetFrameFillColor(0); - gStyle->SetFrameFillStyle(0); - gStyle->SetFrameLineColor(1); - gStyle->SetFrameLineStyle(1); - gStyle->SetFrameLineWidth(1); - -// For the histo: - // gStyle->SetHistFillColor(1); - // gStyle->SetHistFillStyle(0); - gStyle->SetHistLineColor(1); - gStyle->SetHistLineStyle(0); - gStyle->SetHistLineWidth(1); - // gStyle->SetLegoInnerR(Float_t rad = 0.5); - // gStyle->SetNumberContours(Int_t number = 20); - - gStyle->SetEndErrorSize(2); - //gStyle->SetErrorMarker(20); - gStyle->SetErrorX(0.); - - gStyle->SetMarkerStyle(20); - -//For the fit/function: - gStyle->SetOptFit(1); - gStyle->SetFitFormat("5.4g"); - gStyle->SetFuncColor(2); - gStyle->SetFuncStyle(1); - gStyle->SetFuncWidth(1); - -//For the date: - gStyle->SetOptDate(0); - // gStyle->SetDateX(Float_t x = 0.01); - // gStyle->SetDateY(Float_t y = 0.01); - -// For the statistics box: - gStyle->SetOptFile(0); - //gStyle->SetOptStat(0); - gStyle->SetOptStat("mr"); - gStyle->SetStatColor(kWhite); - gStyle->SetStatFont(42); - gStyle->SetStatFontSize(0.04);///---> gStyle->SetStatFontSize(0.025); - gStyle->SetStatTextColor(1); - gStyle->SetStatFormat("6.4g"); - gStyle->SetStatBorderSize(1); - gStyle->SetStatH(0.1); - gStyle->SetStatW(0.2);///---> gStyle->SetStatW(0.15); - - // gStyle->SetStatStyle(Style_t style = 1001); - // gStyle->SetStatX(Float_t x = 0); - // gStyle->SetStatY(Float_t y = 0); - -// Margins: - gStyle->SetPadTopMargin(0.05); - gStyle->SetPadBottomMargin(0.13); - gStyle->SetPadLeftMargin(0.16); - gStyle->SetPadRightMargin(0.02); - -// For the Global title: - - gStyle->SetOptTitle(0); - gStyle->SetTitleFont(42); - gStyle->SetTitleColor(1); - gStyle->SetTitleTextColor(1); - gStyle->SetTitleFillColor(10); - gStyle->SetTitleFontSize(0.05); - // gStyle->SetTitleH(0); // Set the height of the title box - // gStyle->SetTitleW(0); // Set the width of the title box - // gStyle->SetTitleX(0); // Set the position of the title box - // gStyle->SetTitleY(0.985); // Set the position of the title box - // gStyle->SetTitleStyle(Style_t style = 1001); - // gStyle->SetTitleBorderSize(2); - -// For the axis titles: - - gStyle->SetTitleColor(1, "XYZ"); - gStyle->SetTitleFont(42, "XYZ"); - gStyle->SetTitleSize(0.06, "XYZ"); - // gStyle->SetTitleXSize(Float_t size = 0.02); // Another way to set the size? - // gStyle->SetTitleYSize(Float_t size = 0.02); - gStyle->SetTitleXOffset(0.9); - gStyle->SetTitleYOffset(1.25); - // gStyle->SetTitleOffset(1.1, "Y"); // Another way to set the Offset - -// For the axis labels: - - gStyle->SetLabelColor(1, "XYZ"); - gStyle->SetLabelFont(42, "XYZ"); - gStyle->SetLabelOffset(0.007, "XYZ"); - gStyle->SetLabelSize(0.05, "XYZ"); - -// For the axis: - - gStyle->SetAxisColor(1, "XYZ"); - gStyle->SetStripDecimals(kTRUE); - gStyle->SetTickLength(0.03, "XYZ"); - gStyle->SetNdivisions(510, "XYZ"); - gStyle->SetPadTickX(1); // To get tick marks on the opposite side of the frame - gStyle->SetPadTickY(1); - -// Change for log plots: - gStyle->SetOptLogx(0); - gStyle->SetOptLogy(0); - gStyle->SetOptLogz(0); - -// Postscript options: - gStyle->SetPaperSize(20.,20.); - // gStyle->SetLineScalePS(Float_t scale = 3); - // gStyle->SetLineStyleString(Int_t i, const char* text); - // gStyle->SetHeaderPS(const char* header); - // gStyle->SetTitlePS(const char* pstitle); - - // gStyle->SetBarOffset(Float_t baroff = 0.5); - // gStyle->SetBarWidth(Float_t barwidth = 0.5); - // gStyle->SetPaintTextFormat(const char* format = "g"); - // gStyle->SetPalette(Int_t ncolors = 0, Int_t* colors = 0); - // gStyle->SetTimeOffset(Double_t toffset); - // gStyle->SetHistMinimumZero(kTRUE); - -// gStyle->cd(); - - gROOT->ForceStyle(); - -} diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/Analysis_Samples.h b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/Analysis_Samples.h deleted file mode 100644 index 091e1a1da0dd9..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/Analysis_Samples.h +++ /dev/null @@ -1,214 +0,0 @@ - -#ifndef HSCP_ANALYSIS_SAMPLE -#define HSCP_ANALYSIS_SAMPLE - -#define SID_GL300 0 -#define SID_GL400 1 -#define SID_GL500 2 -#define SID_GL600 3 -#define SID_GL700 4 -#define SID_GL800 5 -#define SID_GL900 6 -#define SID_GL1000 7 -#define SID_GL1100 8 -#define SID_GL300N 9 -#define SID_GL400N 10 -#define SID_GL500N 11 -#define SID_GL600N 12 -#define SID_GL700N 13 -#define SID_GL800N 14 -#define SID_GL900N 15 -#define SID_GL1000N 16 -#define SID_GL1100N 17 -#define SID_ST130 18 -#define SID_ST200 19 -#define SID_ST300 20 -#define SID_ST400 21 -#define SID_ST500 22 -#define SID_ST600 23 -#define SID_ST700 24 -#define SID_ST800 25 -#define SID_ST130N 26 -#define SID_ST200N 27 -#define SID_ST300N 28 -#define SID_ST400N 29 -#define SID_ST500N 30 -#define SID_ST600N 31 -#define SID_ST700N 32 -#define SID_ST800N 33 -#define SID_GS100 34 -#define SID_GS126 35 -#define SID_GS156 36 -#define SID_GS200 37 -#define SID_GS247 38 -#define SID_GS308 39 -#define SID_GS370 40 -#define SID_GS432 41 -#define SID_GS494 42 -#define SID_PS100 43 -#define SID_PS126 44 -#define SID_PS156 45 -#define SID_PS200 46 -#define SID_PS247 47 -#define SID_PS308 48 -#define SID_D08K100 49 -#define SID_D08K121 50 -#define SID_D08K182 51 -#define SID_D08K242 52 -#define SID_D08K302 53 -#define SID_D08K350 54 -#define SID_D08K370 55 -#define SID_D08K390 56 -#define SID_D08K395 57 -#define SID_D08K400 58 -#define SID_D08K410 59 -#define SID_D08K420 60 -#define SID_D08K500 61 -#define SID_D12K100 62 -#define SID_D12K182 63 -#define SID_D12K302 64 -#define SID_D12K500 65 -#define SID_D12K530 66 -#define SID_D12K570 67 -#define SID_D12K590 68 -#define SID_D12K595 69 -#define SID_D12K600 70 -#define SID_D12K610 71 -#define SID_D12K620 72 -#define SID_D12K700 73 -#define SID_D16K100 74 -#define SID_D16K182 75 -#define SID_D16K302 76 -#define SID_D16K500 77 -#define SID_D16K700 78 -#define SID_D16K730 79 -#define SID_D16K770 80 -#define SID_D16K790 81 -#define SID_D16K795 82 -#define SID_D16K800 83 -#define SID_D16K820 84 -#define SID_D16K900 85 - - -int RunningPeriods = 2; -double IntegratedLuminosity = 4679;//2125; //2080; //1912; //1947; //1631; //976.204518023; //705.273820; //342.603275; //204.160928; //191.04; -double IntegratedLuminosityBeforeTriggerChange = 353.494; // Total luminosity taken before RPC L1 trigger change (went into effect on run 165970) -float Event_Weight = 1; -int MaxEntry = 10000; - - -class stSignal{ - public: - std::string Type; - std::string Name; - std::string FileName; - std::string Legend; - double Mass; - double XSec; - bool MakePlot; - bool IsS4PileUp; - - stSignal(); - stSignal(std::string Type_, std::string Name_, std::string FileName_, std::string Legend_, double Mass_, bool MakePlot_, bool IsS4PileUp_, double XSec_){Type=Type_; Name=Name_; FileName=FileName_; Legend=Legend_; Mass=Mass_; MakePlot=MakePlot_; IsS4PileUp=IsS4PileUp_;XSec=XSec_;} -}; - - -void GetSignalDefinition(std::vector& signals){ - signals.push_back(stSignal("Gluino", "Gluino300", "Gluino300" , "#tilde{g} 300" , 300, 1, 1, 65.800000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino300S", "Gluino300S" , "#tilde{g} 300S" , 300, 1, 1, 65.800000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino600", "Gluino600" , "#tilde{g} 600" , 600, 1, 1, 0.693000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino600S", "Gluino600S" , "#tilde{g} 600S" , 600, 1, 1, 0.693000) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1100", "Gluino1100" , "#tilde{g} 1100" ,1100, 1, 1, 0.0038600) ); //NLO - signals.push_back(stSignal("Gluino", "Gluino1100S", "Gluino1100S" , "#tilde{g} 1100S" ,1100, 1, 1, 0.0038600) ); //NLO - - signals.push_back(stSignal("Stau" , "GMStau100", "stau_M-100" , "GMSB #tilde{#tau}_{1} 100" , 100, 1, 1, 1.3398) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau100S", "stau_M-100S" , "GMSB #tilde{#tau}_{1} 100S" , 100, 1, 1, 1.3398) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau200", "stau_M-200" , "GMSB #tilde{#tau}_{1} 200" , 200, 1, 1, 0.0118093) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau200S", "stau_M-200S" , "GMSB #tilde{#tau}_{1} 200S" , 200, 1, 1, 0.0118093) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau308", "stau_M-308" , "GMSB #tilde{#tau}_{1} 308" , 308, 1, 1, 0.00098447 ) ); //NLO - signals.push_back(stSignal("Stau" , "GMStau308S", "stau_M-308S" , "GMSB #tilde{#tau}_{1} 308S" , 308, 1, 1, 0.00098447 ) ); //NLO - - signals.push_back(stSignal("Stau" , "PPStau100", "PPStau100", "Pair #tilde{#tau}_{1} 100" , 100, 1, 1, 0.0382) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau100S", "PPStau100S", "Pair #tilde{#tau}_{1} 100S" , 100, 1, 1, 0.0382) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau200", "PPStau200", "Pair #tilde{#tau}_{1} 200" , 200, 1, 1, 0.00247) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau200S", "PPStau200S", "Pair #tilde{#tau}_{1} 200S" , 200, 1, 1, 0.00247) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau308", "PPStau308", "Pair #tilde{#tau}_{1} 308" , 308, 0, 1, 0.000353) ); //NLO - signals.push_back(stSignal("Stau" , "PPStau308S", "PPStau308S", "Pair #tilde{#tau}_{1} 308S" , 308, 0, 1, 0.000353) ); //NLO - - -} - -struct stMC{ - std::string Name; - double XSection; - double MaxPtHat; - double MaxEvent; - bool IsS4PileUp; - - stMC(); - stMC(std::string Name_, double XSection_, double MaxPtHat_, int MaxEvent_, bool IsS4PileUp_){Name = Name_; XSection = XSection_; MaxPtHat = MaxPtHat_; MaxEvent = MaxEvent_;IsS4PileUp = IsS4PileUp_;} -}; - -void GetMCDefinition(std::vector& MC){ - - MC.push_back(stMC("MC_DYToTauTau" , 1.300E3 , -1, -1, 0)); - MC.push_back(stMC("MC_DYToMuMu" , 1.300E3 , -1, -1, 0)); - MC.push_back(stMC("MC_WJetsToLNu" , 2.777E4 , -1, -1, 1)); - MC.push_back(stMC("MC_TTJets" , 9.400E1 , -1, -1, 1)); - MC.push_back(stMC("MC_QCD_Pt-15to30" , 8.16E8 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-30to50" , 5.310E7 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-50to80" , 6.360E6 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-80to120" , 7.840E5 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-120to170" , 1.150E5 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-170to300" , 2.430E4 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-300to470" , 1.170E3 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-470to600" , 7.020E1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-600to800" , 1.560E1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-800to1000" , 1.84 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1000to1400" , 3.320E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1400to1800" , 1.090E-2 , -1, -1, 0)); - MC.push_back(stMC("MC_QCD_Pt-1800" , 3.580E-4 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-0to15" , 4.280E3 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-15to20" , 1.450E2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-20to30" , 1.310E2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-30to50" , 8.400E1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-50to80" , 3.220E1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-80to120" , 9.98 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-120to170", 2.73 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-170to230", 7.21E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-230to300", 1.94E-1 , -1, -1, 0)); - MC.push_back(stMC("MC_ZJetToMuMu_Pt-300" , 7.59E-2 , -1, -1, 0)); - MC.push_back(stMC("MC_ZZ" , 4.287 , -1, -1, 1)); - MC.push_back(stMC("MC_WW" , 2.783E1 , -1, -1, 1)); - MC.push_back(stMC("MC_WZ" , 1.47E1 , -1, -1, 1)); -} - -void GetInputFiles(std::vector& inputFiles, std::string SampleName, int period=0){ -// std::string BaseDirectory = "/storage/data/cms/users/quertenmont/HSCP/CMSSW_4_2_3/11_08_03/"; -// std::string BaseDirectory = "dcache:/pnfs/cms/WAX/11/store/user/jchen/11_09_13_HSCP2011EDM/"; - std::string BaseDirectory = "/uscmst1b_scratch/lpc1/lpcphys/jchen/HSCPEDM_11_01_11/"; - if(SampleName=="Data"){ - inputFiles.push_back(BaseDirectory + "Data_RunA_160404_163869.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_165001_166033.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166034_166500.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166501_166893.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_166894_167151.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_167153_167913.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_170826_171500.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_171501_172619.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172620_172790.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172791_172802.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172803_172900.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_172901_173243.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_173244_173692.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_175860_176099.root"); - inputFiles.push_back(BaseDirectory + "Data_RunA_176100_176309.root"); - }else if(SampleName.find("MC_",0) -#include -#include - -#include "TROOT.h" -#include "TFile.h" -#include "TDirectory.h" -#include "TChain.h" -#include "TObject.h" -#include "TCanvas.h" -#include "TMath.h" -#include "TLegend.h" -#include "TGraph.h" -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TTree.h" -#include "TF1.h" -#include "TGraphAsymmErrors.h" -#include "TPaveText.h" -#include "tdrstyle.C" - - class stSignal; - namespace edm {class TriggerResults; class TriggerResultsByName; class InputTag;} - namespace reco { class Vertex; class Track; class GenParticle;} - namespace susybsm {class HSCParticle;} - namespace fwlite { class ChainEvent;} - namespace trigger {class TriggerEvent;} - - -#if !defined(__CINT__) && !defined(__MAKECINT__) -#include "DataFormats/FWLite/interface/Handle.h" -#include "DataFormats/FWLite/interface/Event.h" -#include "DataFormats/FWLite/interface/ChainEvent.h" - - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" -#include "AnalysisDataFormats/SUSYBSMObjects/interface/HSCParticle.h" -#include "FWCore/Common/interface/TriggerResultsByName.h" - -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h" -#include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h" -#include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h" - -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerObject.h" - - - using namespace fwlite; - using namespace reco; - using namespace edm; - using namespace std; - using namespace trigger; - -#include "Analysis_Samples.h" -#include "../../ICHEP_Analysis/Analysis_PlotFunction.h" - - -#endif - -std::vector signals; -vector JetMetSD_triggers; -vector MuSD_triggers; -vector All_triggers; -map All_mask; - -class stPlot{ - public: - TH1D* Histo; - TH1D* HistoInc; - TH1D* BetaCount; - TH1D* BetaTotal; - TH1D* BetaMuon; - TH1D* BetaJet; - - stPlot(string SignalName){ - int numberofbins=JetMetSD_triggers.size()+MuSD_triggers.size()+1; - Histo = new TH1D((SignalName + "Abs").c_str(),(SignalName + "Abs").c_str(),numberofbins,0,numberofbins); - HistoInc = new TH1D((SignalName + "Inc").c_str(),(SignalName + "Inc").c_str(),numberofbins,0,numberofbins); - - for(unsigned int i=0;iGetXaxis()->SetBinLabel(i+1,MuSD_triggers[i].c_str()); } - for(unsigned int i=0;iGetXaxis()->SetBinLabel(MuSD_triggers.size()+1+i,JetMetSD_triggers[i].c_str()); } -// Histo->GetXaxis()->SetBinLabel(numberofbins-2,"Mu Paths"); -// Histo->GetXaxis()->SetBinLabel(numberofbins-1,"JetMET Paths"); - Histo->GetXaxis()->SetBinLabel(numberofbins,"Total"); - - for(unsigned int i=0;iGetXaxis()->SetBinLabel(i+1,MuSD_triggers[i].c_str()); } - for(unsigned int i=0;iGetXaxis()->SetBinLabel(MuSD_triggers.size()+1+i,JetMetSD_triggers[i].c_str()); } -// HistoInc->GetXaxis()->SetBinLabel(numberofbins-2,"Mu Paths"); -// HistoInc->GetXaxis()->SetBinLabel(numberofbins-1,"JetMET Paths"); - HistoInc->GetXaxis()->SetBinLabel(numberofbins,"Total"); - - Histo->Sumw2(); - HistoInc->Sumw2(); - - BetaCount = new TH1D((SignalName + "BetaMuCount").c_str() ,(SignalName + "BetaCount").c_str() ,20,0,1); BetaCount ->Sumw2(); - BetaTotal = new TH1D((SignalName + "BetaTotal" ).c_str() ,(SignalName + "BetaTotal").c_str() ,20,0,1); BetaTotal ->Sumw2(); - BetaMuon = new TH1D((SignalName + "BetaMuon" ).c_str() ,(SignalName + "BetaMuon" ).c_str() ,20,0,1); BetaMuon ->Sumw2(); - BetaJet = new TH1D((SignalName + "BetaJet" ).c_str() ,(SignalName + "BetaJet" ).c_str() ,20,0,1); BetaJet ->Sumw2(); - } - -}; - - -void TriggerStudy_Core(string SignalName, FILE* pFile, stPlot* plot); -double FastestHSCP(const fwlite::ChainEvent& ev); -bool IncreasedTreshold(const trigger::TriggerEvent& trEv, const edm::InputTag& InputPath, double NewThreshold, double etaCut,int NObjectAboveThreshold, bool averageThreshold=false); -void layout(vector& plots, vector& sigs, string name); -int JobIdToIndex(string JobId); -void SetWeight(const double& IntegratedLuminosityInPb=-1, const double& IntegratedLuminosityInPbBeforeTriggerChange=-1, const double& CrossSection=0, const double& MCEvents=0, int period=0); - - -void SetWeight(const double& IntegratedLuminosityInPb, const double& IntegratedLuminosityInPbBeforeTriggerChange, const double& CrossSection, const double& MCEvents, int period){ - if(IntegratedLuminosityInPb>=IntegratedLuminosityInPbBeforeTriggerChange && IntegratedLuminosityInPb>0){ - double NMCEvents = MCEvents; - if(MaxEntry>0)NMCEvents=std::min(MCEvents,(double)MaxEntry); - if (period==0) Event_Weight = (CrossSection * IntegratedLuminosityInPbBeforeTriggerChange) / NMCEvents; - else if (period==1)Event_Weight = (CrossSection * (IntegratedLuminosityInPb-IntegratedLuminosityInPbBeforeTriggerChange)) / NMCEvents; - }else{ - Event_Weight=1; - } -} - - - -void TriggerStudy() -{ - system("mkdir pictures"); - - setTDRStyle(); - gStyle->SetPadTopMargin (0.06); - gStyle->SetPadBottomMargin(0.10); - gStyle->SetPadRightMargin (0.18); - gStyle->SetPadLeftMargin (0.14); - gStyle->SetTitleSize(0.04, "XYZ"); - gStyle->SetTitleXOffset(1.1); - gStyle->SetTitleYOffset(1.35); - gStyle->SetPalette(1); - gStyle->SetNdivisions(505,"X"); - -// std::vector signals; - GetSignalDefinition(signals); - - - /////////////////////////////////////////////////////// - JetMetSD_triggers.push_back("HLT_PFMHT150_v2"); -// JetMetSD_triggers.push_back("HLT_MET100_v1"); - - MuSD_triggers.push_back("HLT_Mu40_eta2p1_v1"); -// MuSD_triggers.push_back("HLT_DoubleMu7_v1"); - - All_triggers.clear(); - for(unsigned int i=0;i objs; vector leg; - - objs.clear(); leg.clear(); - Id = JobIdToIndex("Gluino300"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino600"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino1100"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_Gluino"); - - objs.clear(); leg.clear(); - Id = JobIdToIndex("Gluino300S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino600S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino1100S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_GluinoS"); - - - objs.clear(); leg.clear(); - Id = JobIdToIndex("GMStau100"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("GMStau200"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("GMStau308"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_GMStau"); - - objs.clear(); leg.clear(); - Id = JobIdToIndex("GMStau100S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("GMStau200S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("GMStau308S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_GMStauS"); - - - - objs.clear(); leg.clear(); - Id = JobIdToIndex("PPStau100"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("PPStau200"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("PPStau308"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_PPStau"); - - objs.clear(); leg.clear(); - Id = JobIdToIndex("PPStau100S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("PPStau200S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("PPStau308S"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_PPStauS"); - - - -/* - - objs.clear(); leg.clear(); - Id = JobIdToIndex("DCStau121"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("DCStau242"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("DCStau302"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_DCStau"); - - int Id; vector objs; vector leg; - - objs.clear(); leg.clear(); - Id = JobIdToIndex("Gluino300"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino500"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino800"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino900"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("Gluino1000"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_Gluino"); - - - - objs.clear(); leg.clear(); - Id = JobIdToIndex("Gluino600"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - objs.push_back(plotsG600Z2);leg.push_back("Gluino600 Z2"); - Id = JobIdToIndex("Stop300"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - Id = JobIdToIndex("GMStau126"); objs.push_back(plots[Id]); leg.push_back(signals[Id].Name); - layout(objs, leg, "summary_Mixed"); -*/ - - fflush(pFile); - fclose(pFile); - -} - -void TriggerStudy_Core(string SignalName, FILE* pFile, stPlot* plot) -{ - - double Total = 0; - double SDJetMET = 0; - double SDMu = 0; - double SDBoth = 0; - double SDJetMETInc = 0; - double SDMuInc = 0; - double TrJetMET = 0; - double TrMu = 0; - double TrBoth = 0; - - int MaxPrint = 0; - for (int period=0; period fileNames; - GetInputFiles(fileNames,SignalName, period); - string thisname = fileNames[0]; - bool simhitshifted =0; - if(thisname.find("S.",0)0 && e>MaxEntry)break; - ev.to(e); - - fwlite::Handle hTriggerResults; - hTriggerResults.getByLabel(ev, "TriggerResults", "", "HLT"); - edm::TriggerResultsByName tr(nullptr, nullptr); - if(hTriggerResults.isValid()) { - tr = ev.triggerResultsByName(*hTriggerResults); - } - - if(simhitshifted) { - - fwlite::Handle hTriggerResults1; - hTriggerResults1.getByLabel(ev, "TriggerResults", "", "HLTSIMHITSHIFTER"); - tr = edm::TriggerResultsByName(nullptr, nullptr); - if(hTriggerResults1.isValid()) { - tr = ev.triggerResultsByName(*hTriggerResults1); - } - } -// edm::TriggerResultsByName tr = ev.triggerResultsByName("HLT"); if(!tr.isValid())continue; - // for(unsigned int i=0;i %1i\n",i, tr.triggerName(i).c_str(),tr.accept(i)); - //}fflush(stdout); - - fwlite::Handle< trigger::TriggerEvent > trEvHandle; - trEvHandle.getByLabel(ev,"hltTriggerSummaryAOD"); - trigger::TriggerEvent trEv = *trEvHandle; - - //for(unsigned int i=0;isizeFilters();i++){ - // if(strncmp(trEvHandle->filterTag(i).label().c_str(),"hltL1",5)==0)continue; - // printf("%i - %s\n",i,trEvHandle->filterTag(i).label().c_str()); - //} - - - bool JetMetSD = false; - bool MuSD = false; - bool JetMetSDInc = false; - bool MuSDInc = false; - bool JetMetTr = false; - bool MuTr = false; - - - unsigned int TrIndex_Unknown = tr.size(); - - bool AlreadyAccepted = false; - - for(unsigned int i=0;i::iterator whereMuSD = find(MuSD_triggers .begin(), MuSD_triggers .end(),All_triggers[i].c_str() ); - vector::iterator whereJetMetSD = find(JetMetSD_triggers.begin(), JetMetSD_triggers.end(),All_triggers[i].c_str() ); - - - bool Accept = false; - bool Accept2 = false; - - if(All_triggers[i]=="HLT_PFMHT150_v2"){ - if(TrIndex_Unknown != tr.triggerIndex("HLT_PFMHT150_v2")){ - if(eHisto ->Fill(All_triggers[i].c_str(),Event_Weight);} - if(Accept && !AlreadyAccepted){plot->HistoInc->Fill(All_triggers[i].c_str(),Event_Weight);} - - if (whereJetMetSD!=JetMetSD_triggers.end()){ JetMetSD |= Accept; if(!AlreadyAccepted)JetMetSDInc |= Accept;} - else if(whereMuSD !=MuSD_triggers.end()) { MuSD |= Accept; if(!AlreadyAccepted)MuSDInc |= Accept;} - - if (whereJetMetSD!=JetMetSD_triggers.end()){ JetMetTr |= Accept2; } - else if(whereMuSD !=MuSD_triggers.end()) { MuTr |= Accept2; } - - - AlreadyAccepted |= Accept; - } - fflush(stdout); - - - if(JetMetSD||MuSD){ - plot->Histo->Fill("Total",Event_Weight); - plot->HistoInc->Fill("Total",Event_Weight); - } - -// JetMetTr = JetMetSD & ((rand()%100)<90); -// MuTr = MuSD & ((rand()%100)<90); - - Total+=Event_Weight; - if(JetMetSD)SDJetMET+=Event_Weight; - if(MuSD)SDMu+=Event_Weight; - if(JetMetSDInc)SDJetMETInc+=Event_Weight; - if(MuSDInc)SDMuInc+=Event_Weight; - if(JetMetSD||MuSD)SDBoth+=Event_Weight; - if(JetMetTr)TrJetMET+=Event_Weight; - if(MuTr)TrMu+=Event_Weight; - if(JetMetTr||MuTr)TrBoth+=Event_Weight; - - double Beta = 1.0; - if(SignalName!="Data")Beta = FastestHSCP(ev); - plot->BetaCount->Fill(Beta,Event_Weight); - if(MuSD||JetMetSD)plot->BetaTotal->Fill(Beta,Event_Weight); - if(MuSD)plot->BetaMuon->Fill(Beta,Event_Weight); - if(JetMetSD)plot->BetaJet->Fill(Beta,Event_Weight); - - }printf("\n"); - } - -// fprintf(pFile, "%15s --> JetMET = %5.2f%% (was %5.2f%%) Mu = %5.2f%% (was %5.2f%%) JetMET||Mu = %5.2f%% (%5.2f%%)\n",SignalName.c_str(), (100.0*TrJetMET)/Total, (100.0*SDJetMET)/Total, (100.0*TrMu)/Total, (100.0*SDMu)/Total, (100.0*TrBoth)/Total, (100.0*SDBoth)/Total); -// fprintf(stdout, "%15s --> JetMET = %5.2f%% (was %5.2f%%) Mu = %5.2f%% (was %5.2f%%) JetMET||Mu = %5.2f%% (%5.2f%%)\n",SignalName.c_str(), (100.0*TrJetMET)/Total, (100.0*SDJetMET)/Total, (100.0*TrMu)/Total, (100.0*SDMu)/Total, (100.0*TrBoth)/Total, (100.0*SDBoth)/Total); - - - fprintf(pFile, "%15s --> MET = %5.2f%% (modified %5.2f%%) Mu = %5.2f%% (modified %5.2f%%) JetMET||Mu = %5.2f%% (%5.2f%%)\n",SignalName.c_str(), (100.0*SDJetMET)/Total, (100.0*TrJetMET)/Total, (100.0*SDMu)/Total, (100.0*TrMu)/Total, (100.0*SDBoth)/Total, (100.0*TrBoth)/Total); - fprintf(stdout, "%15s --> MET = %5.2f%% (modified %5.2f%%) Mu = %5.2f%% (modified %5.2f%%) JetMET||Mu = %5.2f%% (%5.2f%%)\n",SignalName.c_str(), (100.0*SDJetMET)/Total, (100.0*TrJetMET)/Total, (100.0*SDMu)/Total, (100.0*TrMu)/Total, (100.0*SDBoth)/Total, (100.0*TrBoth)/Total); - - - -// printf("Total %i \n",Total); - plot->Histo->SetStats(0) ; - plot->Histo->LabelsOption("v"); - plot->Histo->Scale(100./Total); - - - plot->HistoInc->SetStats(0) ; - plot->HistoInc->LabelsOption("v"); - plot->HistoInc->Scale(100./Total); - - - plot->BetaTotal->Divide(plot->BetaCount); - plot->BetaMuon ->Divide(plot->BetaCount); - plot->BetaJet ->Divide(plot->BetaCount); - - plot->BetaTotal->Scale(100.0); - plot->BetaMuon ->Scale(100.0); - plot->BetaJet ->Scale(100.0); - - TH1** Histos = new TH1*[10]; - std::vector legend; - TCanvas* c1; - - c1 = new TCanvas("c1","c1,",600,600); legend.clear(); - Histos[0] = (TH1*)plot->BetaMuon; legend.push_back("Muon"); - Histos[1] = (TH1*)plot->BetaTotal; legend.push_back("Overall"); - DrawSuperposedHistos((TH1**)Histos, legend, "HIST E1", "#beta of the fastest HSCP", "Trigger Efficiency (%)", 0,1, 0,100); - DrawLegend((TObject**)Histos,legend,"Trigger:","LP",0.35, 0.93, 0.18, 0.04); - c1->Modified(); - DrawPreliminary(-1); - SaveCanvas(c1,"pictures/",SignalName); - delete c1; -} - -void layout(vector& plots, vector& sigs, string name){ - unsigned int NPath = 0+3; - - std::vector legend; - TObject** Histos1 = new TObject*[plots.size()]; - - -// TLine* line1 = new TLine(plots[0]->Histo->GetBinLowEdge(NPath+1), 0, plots[0]->Histo->GetBinLowEdge(NPath+1), 100); -// line1->SetLineWidth(2); line1->SetLineStyle(1); -// TLine* line2 = new TLine(plots[0]->Histo->GetBinLowEdge(NPath+3), 0, plots[0]->Histo->GetBinLowEdge(NPath+3), 100); -// line2->SetLineWidth(2); line2->SetLineStyle(1); - - TCanvas* c1 = new TCanvas("MyC","Histo",600,600); - legend.clear(); - c1->SetGrid(); - c1->SetBottomMargin(0.3); - - for(unsigned int i=0;iHisto; legend.push_back(sigs[i]); - } -// DrawSuperposedHistos((TH1**)Histos1, legend, "E1", "", "Efficiency (%)", 0,0, 0,100); - if(name=="summary_Gluino")DrawSuperposedHistos((TH1**)Histos1, legend, "E1", "", "Efficiency (%)", 0,0, 0,30); - else DrawSuperposedHistos((TH1**)Histos1, legend, "E1", "", "Efficiency (%)", 0,0, 0,100); - DrawLegend(Histos1,legend,"","P", 0.98, 0.90, 0.13, 0.07); - DrawPreliminary(-1); - - for(unsigned int i=0;iHisto->GetYaxis()->SetTitleOffset(1.55); - plots[i]->Histo->SetMarkerSize(0.8); - } -// line1->Draw(); -// line2->Draw(); - SaveCanvas(c1,"pictures/",name); - delete c1; - - c1 = new TCanvas("MyC","Histo",600,600); - legend.clear(); - c1->SetGrid(); - c1->SetBottomMargin(0.3); - - for(unsigned int i=0;iHistoInc; legend.push_back(sigs[i]); - } - if(name=="summary_Gluino")DrawSuperposedHistos((TH1**)Histos1, legend, "E1", "", "Incremental Efficiency (%)", 0,0, 0,30); - else DrawSuperposedHistos((TH1**)Histos1, legend, "E1", "", "Incremental Efficiency (%)", 0,0, 0,100); - DrawLegend(Histos1,legend,"","P", 0.98, 0.90, 0.13, 0.07); - DrawPreliminary(-1); - - for(unsigned int i=0;iHistoInc->GetYaxis()->SetTitleOffset(1.55); - plots[i]->HistoInc->SetMarkerSize(0.8); - } - -// line1->Draw(); -// line2->Draw(); - SaveCanvas(c1,"pictures/",name + "_inc"); - delete c1; -} - - -double FastestHSCP(const fwlite::ChainEvent& ev){ - fwlite::Handle< std::vector > genCollHandle; - genCollHandle.getByLabel(ev, "genParticles"); - if(!genCollHandle.isValid()){printf("GenParticle Collection NotFound\n");return -1;} - std::vector genColl = *genCollHandle; - - double MaxBeta=-1; - for(unsigned int g=0;g %s XXX %s\n",filterIndex,trEv.filterTag(filterIndex).label().c_str(), trEv.filterTag(filterIndex).process().c_str()); - - if (filterIndex NewThreshold && fabs(TOC[KEYS[i]].eta())=NObjectAboveThreshold)return true; - - }else{ - std::vector ObjPt; - - for (int i=0; i!=n; ++i) { - ObjPt.push_back(TOC[KEYS[i]].pt()); - //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl; - } - if((int)(ObjPt.size())SetMakeSharedLib(makeshared); - TString dummy = makeshared.ReplaceAll("-Wshadow ", ""); - gSystem->SetMakeSharedLib(makeshared); - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable();; - gSystem->Load("libDataFormatsFWLite.so"); - gSystem->Load("libDataFormatsHepMCCandidate.so"); - gSystem->Load("libDataFormatsCommon.so"); - gSystem->Load("libDataFormatsTrackerRecHit2D.so"); - gSystem->Load("libAnalysisDataFormatsSUSYBSMObjects.so"); - .x TriggerStudy.C+ -EOF diff --git a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/tdrstyle.C b/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/tdrstyle.C deleted file mode 100644 index 6e2de47e66928..0000000000000 --- a/SUSYBSMAnalysis/HSCP/test/UsefulScripts/TriggerStudy/tdrstyle.C +++ /dev/null @@ -1,169 +0,0 @@ -// -// TDR style macro for plots in ROOT -// .L tdrstyle.C -// setTDRStyle() -// -#include "TStyle.h" -#include "TPad.h" - -/* -// tdrGrid: Turns the grid lines on (true) or off (false) - -void tdrGrid(bool gridOn) { - tdrStyle->SetPadGridX(gridOn); - tdrStyle->SetPadGridY(gridOn); -} -*/ - -// fixOverlay: Redraws the axis - -void fixOverlay() { - gPad->RedrawAxis(); -} - -void setTDRStyle() { -// TStyle *tdrStyle = new TStyle("tdrStyle","Style for P-TDR"); - -// For the canvas: - gStyle->SetCanvasBorderMode(0); - gStyle->SetCanvasColor(kWhite); - gStyle->SetCanvasDefH(600); //Height of canvas - gStyle->SetCanvasDefW(600); //Width of canvas - gStyle->SetCanvasDefX(0); //POsition on screen - gStyle->SetCanvasDefY(0); - -// For the Pad: - gStyle->SetPadBorderMode(0); - // gStyle->SetPadBorderSize(Width_t size = 1); - gStyle->SetPadColor(kWhite); - gStyle->SetPadGridX(false); - gStyle->SetPadGridY(false); - gStyle->SetGridColor(0); - gStyle->SetGridStyle(3); - gStyle->SetGridWidth(1); - -// For the frame: - gStyle->SetFrameBorderMode(0); - gStyle->SetFrameBorderSize(1); - gStyle->SetFrameFillColor(0); - gStyle->SetFrameFillStyle(0); - gStyle->SetFrameLineColor(1); - gStyle->SetFrameLineStyle(1); - gStyle->SetFrameLineWidth(1); - -// For the histo: - // gStyle->SetHistFillColor(1); - // gStyle->SetHistFillStyle(0); - gStyle->SetHistLineColor(1); - gStyle->SetHistLineStyle(0); - gStyle->SetHistLineWidth(1); - // gStyle->SetLegoInnerR(Float_t rad = 0.5); - // gStyle->SetNumberContours(Int_t number = 20); - - gStyle->SetEndErrorSize(2); - //gStyle->SetErrorMarker(20); - gStyle->SetErrorX(0.); - - gStyle->SetMarkerStyle(20); - -//For the fit/function: - gStyle->SetOptFit(1); - gStyle->SetFitFormat("5.4g"); - gStyle->SetFuncColor(2); - gStyle->SetFuncStyle(1); - gStyle->SetFuncWidth(1); - -//For the date: - gStyle->SetOptDate(0); - // gStyle->SetDateX(Float_t x = 0.01); - // gStyle->SetDateY(Float_t y = 0.01); - -// For the statistics box: - gStyle->SetOptFile(0); - //gStyle->SetOptStat(0); - gStyle->SetOptStat("mr"); - gStyle->SetStatColor(kWhite); - gStyle->SetStatFont(42); - gStyle->SetStatFontSize(0.04);///---> gStyle->SetStatFontSize(0.025); - gStyle->SetStatTextColor(1); - gStyle->SetStatFormat("6.4g"); - gStyle->SetStatBorderSize(1); - gStyle->SetStatH(0.1); - gStyle->SetStatW(0.2);///---> gStyle->SetStatW(0.15); - - // gStyle->SetStatStyle(Style_t style = 1001); - // gStyle->SetStatX(Float_t x = 0); - // gStyle->SetStatY(Float_t y = 0); - -// Margins: - gStyle->SetPadTopMargin(0.05); - gStyle->SetPadBottomMargin(0.13); - gStyle->SetPadLeftMargin(0.16); - gStyle->SetPadRightMargin(0.02); - -// For the Global title: - - gStyle->SetOptTitle(0); - gStyle->SetTitleFont(42); - gStyle->SetTitleColor(1); - gStyle->SetTitleTextColor(1); - gStyle->SetTitleFillColor(10); - gStyle->SetTitleFontSize(0.05); - // gStyle->SetTitleH(0); // Set the height of the title box - // gStyle->SetTitleW(0); // Set the width of the title box - // gStyle->SetTitleX(0); // Set the position of the title box - // gStyle->SetTitleY(0.985); // Set the position of the title box - // gStyle->SetTitleStyle(Style_t style = 1001); - // gStyle->SetTitleBorderSize(2); - -// For the axis titles: - - gStyle->SetTitleColor(1, "XYZ"); - gStyle->SetTitleFont(42, "XYZ"); - gStyle->SetTitleSize(0.06, "XYZ"); - // gStyle->SetTitleXSize(Float_t size = 0.02); // Another way to set the size? - // gStyle->SetTitleYSize(Float_t size = 0.02); - gStyle->SetTitleXOffset(0.9); - gStyle->SetTitleYOffset(1.25); - // gStyle->SetTitleOffset(1.1, "Y"); // Another way to set the Offset - -// For the axis labels: - - gStyle->SetLabelColor(1, "XYZ"); - gStyle->SetLabelFont(42, "XYZ"); - gStyle->SetLabelOffset(0.007, "XYZ"); - gStyle->SetLabelSize(0.05, "XYZ"); - -// For the axis: - - gStyle->SetAxisColor(1, "XYZ"); - gStyle->SetStripDecimals(kTRUE); - gStyle->SetTickLength(0.03, "XYZ"); - gStyle->SetNdivisions(510, "XYZ"); - gStyle->SetPadTickX(1); // To get tick marks on the opposite side of the frame - gStyle->SetPadTickY(1); - -// Change for log plots: - gStyle->SetOptLogx(0); - gStyle->SetOptLogy(0); - gStyle->SetOptLogz(0); - -// Postscript options: - gStyle->SetPaperSize(20.,20.); - // gStyle->SetLineScalePS(Float_t scale = 3); - // gStyle->SetLineStyleString(Int_t i, const char* text); - // gStyle->SetHeaderPS(const char* header); - // gStyle->SetTitlePS(const char* pstitle); - - // gStyle->SetBarOffset(Float_t baroff = 0.5); - // gStyle->SetBarWidth(Float_t barwidth = 0.5); - // gStyle->SetPaintTextFormat(const char* format = "g"); - // gStyle->SetPalette(Int_t ncolors = 0, Int_t* colors = 0); - // gStyle->SetTimeOffset(Double_t toffset); - // gStyle->SetHistMinimumZero(kTRUE); - -// gStyle->cd(); - - gROOT->ForceStyle(); - -} diff --git a/TopQuarkAnalysis/Examples/bin/BuildFile.xml b/TopQuarkAnalysis/Examples/bin/BuildFile.xml deleted file mode 100644 index 5f4223bc2f6b1..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/BuildFile.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TopQuarkAnalysis/Examples/bin/NiceStyle.cc b/TopQuarkAnalysis/Examples/bin/NiceStyle.cc deleted file mode 100644 index a1803b4c6d228..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/NiceStyle.cc +++ /dev/null @@ -1,39 +0,0 @@ -#include - -void setNiceStyle() { - TStyle *MyStyle = new TStyle("MyStyle", "My style for nicer plots"); - - Float_t xoff = MyStyle->GetLabelOffset("X"), yoff = MyStyle->GetLabelOffset("Y"), zoff = MyStyle->GetLabelOffset("Z"); - - MyStyle->SetCanvasBorderMode(0); - MyStyle->SetPadBorderMode(0); - MyStyle->SetPadColor(0); - MyStyle->SetCanvasColor(0); - MyStyle->SetTitleColor(0); - MyStyle->SetStatColor(0); - MyStyle->SetTitleBorderSize(0); - MyStyle->SetTitleFillColor(0); - MyStyle->SetTitleH(0.07); - MyStyle->SetTitleW(1.00); - MyStyle->SetTitleFont(132); - - MyStyle->SetLabelOffset(1.5 * xoff, "X"); - MyStyle->SetLabelOffset(1.5 * yoff, "Y"); - MyStyle->SetLabelOffset(1.5 * zoff, "Z"); - - MyStyle->SetTitleOffset(0.9, "X"); - MyStyle->SetTitleOffset(0.9, "Y"); - MyStyle->SetTitleOffset(0.9, "Z"); - - MyStyle->SetTitleSize(0.045, "X"); - MyStyle->SetTitleSize(0.045, "Y"); - MyStyle->SetTitleSize(0.045, "Z"); - - MyStyle->SetLabelFont(132, "X"); - MyStyle->SetLabelFont(132, "Y"); - MyStyle->SetLabelFont(132, "Z"); - - MyStyle->SetPalette(1); - - MyStyle->cd(); -} diff --git a/TopQuarkAnalysis/Examples/bin/TopElecFWLiteAnalyzer.cc b/TopQuarkAnalysis/Examples/bin/TopElecFWLiteAnalyzer.cc deleted file mode 100644 index 55103efa1927d..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/TopElecFWLiteAnalyzer.cc +++ /dev/null @@ -1,116 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "DataFormats/PatCandidates/interface/Electron.h" - -#include "TopQuarkAnalysis/Examples/bin/NiceStyle.cc" -#include "TopQuarkAnalysis/Examples/interface/RootSystem.h" -#include "TopQuarkAnalysis/Examples/interface/RootHistograms.h" -#include "TopQuarkAnalysis/Examples/interface/RootPostScript.h" - -int main(int argc, char* argv[]) { - if (argc < 3) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Wrong number of arguments! Please specify:" << std::endl - << " * filepath" << std::endl - << " * process name" << std::endl; - // ------------------------------------------------- - return -1; - } - - // load framework libraries - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - - // set nice style for histograms - setNiceStyle(); - - // define some histograms - TH1I* noElecs = new TH1I("noElecs", "N_{Elecs}", 10, 0, 10); - TH1F* ptElecs = new TH1F("ptElecs", "pt_{Elecs}", 100, 0., 300.); - TH1F* enElecs = new TH1F("enElecs", "energy_{Elecs}", 100, 0., 300.); - TH1F* etaElecs = new TH1F("etaElecs", "eta_{Elecs}", 100, -3., 3.); - TH1F* phiElecs = new TH1F("phiElecs", "phi_{Elecs}", 100, -5., 5.); - - // ------------------------------------------------- - std::cout << "open file: " << argv[1] << std::endl; - // ------------------------------------------------- - TFile* inFile = TFile::Open(argv[1]); - TTree* events_ = nullptr; - if (inFile) - inFile->GetObject("Events", events_); - if (events_ == nullptr) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Unable to retrieve TTree Events!" << std::endl - << " Eighter wrong file name or the the tree doesn't exists" << std::endl; - // ------------------------------------------------- - return -1; - } - - // acess branch of elecs - char elecName[50]; - sprintf(elecName, "patElectrons_selectedPatElectrons__%s.obj", argv[2]); - TBranch* elecs_ = events_->GetBranch(elecName); - assert(elecs_ != nullptr); - - // loop over events and fill histograms - std::vector elecs; - int nevt = events_->GetEntries(); - - // ------------------------------------------------- - std::cout << "start looping " << nevt << " events..." << std::endl; - // ------------------------------------------------- - for (int evt = 0; evt < nevt; ++evt) { - // set branch address - elecs_->SetAddress(&elecs); - // get event - elecs_->GetEntry(evt); - events_->GetEntry(evt, 0); - - // ------------------------------------------------- - if (evt > 0 && !(evt % 10)) - std::cout << " processing event: " << evt << std::endl; - // ------------------------------------------------- - - // fill histograms - noElecs->Fill(elecs.size()); - for (unsigned idx = 0; idx < elecs.size(); ++idx) { - // fill histograms - ptElecs->Fill(elecs[idx].pt()); - enElecs->Fill(elecs[idx].energy()); - etaElecs->Fill(elecs[idx].eta()); - phiElecs->Fill(elecs[idx].phi()); - } - } - // ------------------------------------------------- - std::cout << "close file" << std::endl; - // ------------------------------------------------- - inFile->Close(); - - // save histograms to file - TFile outFile("analyzeElecs.root", "recreate"); - outFile.mkdir("analyzeElec"); - outFile.cd("analyzeElec"); - noElecs->Write(); - ptElecs->Write(); - enElecs->Write(); - etaElecs->Write(); - phiElecs->Write(); - outFile.Close(); - - // free allocated space - delete noElecs; - delete ptElecs; - delete enElecs; - delete etaElecs; - delete phiElecs; - - return 0; -} diff --git a/TopQuarkAnalysis/Examples/bin/TopHypothesisFWLiteAnalyzer.cc b/TopQuarkAnalysis/Examples/bin/TopHypothesisFWLiteAnalyzer.cc deleted file mode 100644 index 5640fccdbdca9..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/TopHypothesisFWLiteAnalyzer.cc +++ /dev/null @@ -1,159 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h" - -#include "TopQuarkAnalysis/Examples/bin/NiceStyle.cc" -#include "TopQuarkAnalysis/Examples/interface/RootSystem.h" -#include "TopQuarkAnalysis/Examples/interface/RootHistograms.h" -#include "TopQuarkAnalysis/Examples/interface/RootPostScript.h" - -int main(int argc, char* argv[]) { - if (argc < 4) { - // ------------------------------------------------- - std::cerr << "ERROR: Wrong number of arguments!" << std::endl - << "Please specify: * file name" << std::endl - << " * process name" << std::endl - << " * HypoClassKey" << std::endl - << "Example: TopHypothesisFWLiteAnalyzer ttSemiLepEvtBuilder.root TEST kGeom" << std::endl; - // ------------------------------------------------- - return -1; - } - - // get HypoClassKey - std::string hypoClassKey = argv[3]; - - // load framework libraries - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - - // set nice style for histograms - setNiceStyle(); - - // define some histograms - TH1F* hadWPt_ = new TH1F("hadWPt", "p_{t} (W_{had}) [GeV]", 100, 0., 500.); - TH1F* hadWMass_ = new TH1F("hadWMass", "M (W_{had}) [GeV]", 50, 0., 150.); - TH1F* hadTopPt_ = new TH1F("hadTopPt", "p_{t} (t_{had}) [GeV]", 100, 0., 500.); - TH1F* hadTopMass_ = new TH1F("hadTopMass", "M (t_{had}) [GeV]", 50, 50., 250.); - - TH1F* lepWPt_ = new TH1F("lepWPt", "p_{t} (W_{lep}) [GeV]", 100, 0., 500.); - TH1F* lepWMass_ = new TH1F("lepWMass", "M (W_{lep}) [GeV]", 50, 0., 150.); - TH1F* lepTopPt_ = new TH1F("lepTopPt", "p_{t} (t_{lep}) [GeV]", 100, 0., 500.); - TH1F* lepTopMass_ = new TH1F("lepTopMass", "M (t_{lep}) [GeV]", 50, 50., 250.); - - // ------------------------------------------------- - std::cout << "open file: " << argv[1] << std::endl; - // ------------------------------------------------- - TFile* inFile = TFile::Open(argv[1]); - TTree* events_ = nullptr; - if (inFile) - inFile->GetObject("Events", events_); - if (events_ == nullptr) { - // ------------------------------------------------- - std::cerr << "ERROR: Unable to retrieve TTree Events!" << std::endl - << "Either wrong file name or the tree doesn't exist." << std::endl; - // ------------------------------------------------- - return -1; - } - - // acess branch of ttSemiLepEvent - char decayName[50]; - sprintf(decayName, "recoGenParticles_decaySubset__%s.obj", argv[2]); - TBranch* decay_ = events_->GetBranch(decayName); // referred to from within TtGenEvent class - assert(decay_ != nullptr); - char genEvtName[50]; - sprintf(genEvtName, "TtGenEvent_genEvt__%s.obj", argv[2]); - TBranch* genEvt_ = events_->GetBranch(genEvtName); // referred to from within TtSemiLeptonicEvent class - assert(genEvt_ != nullptr); - char semiLepEvtName[50]; - sprintf(semiLepEvtName, "TtSemiLeptonicEvent_ttSemiLepEvent__%s.obj", argv[2]); - TBranch* semiLepEvt_ = events_->GetBranch(semiLepEvtName); - assert(semiLepEvt_ != nullptr); - - // loop over events and fill histograms - int nevt = events_->GetEntries(); - TtSemiLeptonicEvent semiLepEvt; - // ------------------------------------------------- - std::cout << "start looping " << nevt << " events..." << std::endl; - // ------------------------------------------------- - for (int evt = 0; evt < nevt; ++evt) { - // set branch address - semiLepEvt_->SetAddress(&semiLepEvt); - // get event - decay_->GetEntry(evt); - genEvt_->GetEntry(evt); - semiLepEvt_->GetEntry(evt); - events_->GetEntry(evt, 0); - - // ------------------------------------------------- - if (evt > 0 && !(evt % 10)) - std::cout << " processing event: " << evt << std::endl; - // ------------------------------------------------- - - // fill histograms - if (!semiLepEvt.isHypoAvailable(hypoClassKey)) { - std::cerr << "NonValidHyp:: " - << "Hypothesis not available for this event" << std::endl; - continue; - } - if (!semiLepEvt.isHypoValid(hypoClassKey)) { - std::cerr << "NonValidHyp::" - << "Hypothesis not valid for this event" << std::endl; - continue; - } - - const reco::Candidate* hadTop = semiLepEvt.hadronicDecayTop(hypoClassKey); - const reco::Candidate* hadW = semiLepEvt.hadronicDecayW(hypoClassKey); - const reco::Candidate* lepTop = semiLepEvt.leptonicDecayTop(hypoClassKey); - const reco::Candidate* lepW = semiLepEvt.leptonicDecayW(hypoClassKey); - - if (hadTop && hadW && lepTop && lepW) { - hadWPt_->Fill(hadW->pt()); - hadWMass_->Fill(hadW->mass()); - hadTopPt_->Fill(hadTop->pt()); - hadTopMass_->Fill(hadTop->mass()); - - lepWPt_->Fill(lepW->pt()); - lepWMass_->Fill(lepW->mass()); - lepTopPt_->Fill(lepTop->pt()); - lepTopMass_->Fill(lepTop->mass()); - } - } - // ------------------------------------------------- - std::cout << "close file" << std::endl; - // ------------------------------------------------- - inFile->Close(); - - // save histograms to file - TFile outFile("analyzeHypothesis.root", "recreate"); - // strip the leading "k" from the hypoClassKey to build directory name - TString outDir = "analyze" + std::string(hypoClassKey, 1, hypoClassKey.length()); - outFile.mkdir(outDir); - outFile.cd(outDir); - hadWPt_->Write(); - hadWMass_->Write(); - hadTopPt_->Write(); - hadTopMass_->Write(); - lepWPt_->Write(); - lepWMass_->Write(); - lepTopPt_->Write(); - lepTopMass_->Write(); - outFile.Close(); - - // free allocated space - delete hadWPt_; - delete hadWMass_; - delete hadTopPt_; - delete hadTopMass_; - delete lepWPt_; - delete lepWMass_; - delete lepTopPt_; - delete lepTopMass_; - - return 0; -} diff --git a/TopQuarkAnalysis/Examples/bin/TopJetFWLiteAnalyzer.cc b/TopQuarkAnalysis/Examples/bin/TopJetFWLiteAnalyzer.cc deleted file mode 100644 index 3fb2782652da2..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/TopJetFWLiteAnalyzer.cc +++ /dev/null @@ -1,116 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "DataFormats/PatCandidates/interface/Jet.h" - -#include "TopQuarkAnalysis/Examples/bin/NiceStyle.cc" -#include "TopQuarkAnalysis/Examples/interface/RootSystem.h" -#include "TopQuarkAnalysis/Examples/interface/RootHistograms.h" -#include "TopQuarkAnalysis/Examples/interface/RootPostScript.h" - -int main(int argc, char* argv[]) { - if (argc < 3) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Wrong number of arguments! Please specify:" << std::endl - << " * filepath" << std::endl - << " * process name" << std::endl; - // ------------------------------------------------- - return -1; - } - - // load framework libraries - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - - // set nice style for histograms - setNiceStyle(); - - // define some histograms - TH1I* noJets = new TH1I("noJets", "N_{Jets}", 10, 0, 10); - TH1F* ptJets = new TH1F("ptJets", "pt_{Jets}", 100, 0., 300.); - TH1F* enJets = new TH1F("enJets", "energy_{Jets}", 100, 0., 300.); - TH1F* etaJets = new TH1F("etaJets", "eta_{Jets}", 100, -3., 3.); - TH1F* phiJets = new TH1F("phiJets", "phi_{Jets}", 100, -5., 5.); - - // ------------------------------------------------- - std::cout << "open file: " << argv[1] << std::endl; - // ------------------------------------------------- - TFile* inFile = TFile::Open(argv[1]); - TTree* events_ = nullptr; - if (inFile) - inFile->GetObject("Events", events_); - if (events_ == nullptr) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Unable to retrieve TTree Events!" << std::endl - << " Eighter wrong file name or the the tree doesn't exists" << std::endl; - // ------------------------------------------------- - return -1; - } - - // acess branch of elecs - char jetsName[50]; - sprintf(jetsName, "patJets_selectedPatJets__%s.obj", argv[2]); - TBranch* jets_ = events_->GetBranch(jetsName); - assert(jets_ != nullptr); - - // loop over events and fill histograms - std::vector jets; - int nevt = events_->GetEntries(); - - // ------------------------------------------------- - std::cout << "start looping " << nevt << " events..." << std::endl; - // ------------------------------------------------- - for (int evt = 0; evt < nevt; ++evt) { - // set branch address - jets_->SetAddress(&jets); - // get event - jets_->GetEntry(evt); - events_->GetEntry(evt, 0); - - // ------------------------------------------------- - if (evt > 0 && !(evt % 10)) - std::cout << " processing event: " << evt << std::endl; - // ------------------------------------------------- - - // fill histograms - noJets->Fill(jets.size()); - for (unsigned idx = 0; idx < jets.size(); ++idx) { - // fill histograms - ptJets->Fill(jets[idx].pt()); - enJets->Fill(jets[idx].energy()); - etaJets->Fill(jets[idx].eta()); - phiJets->Fill(jets[idx].phi()); - } - } - // ------------------------------------------------- - std::cout << "close file" << std::endl; - // ------------------------------------------------- - inFile->Close(); - - // save histograms to file - TFile outFile("analyzeJets.root", "recreate"); - outFile.mkdir("analyzeJet"); - outFile.cd("analyzeJet"); - noJets->Write(); - ptJets->Write(); - enJets->Write(); - etaJets->Write(); - phiJets->Write(); - outFile.Close(); - - // free allocated space - delete noJets; - delete ptJets; - delete enJets; - delete etaJets; - delete phiJets; - - return 0; -} diff --git a/TopQuarkAnalysis/Examples/bin/TopMuonFWLiteAnalyzer.cc b/TopQuarkAnalysis/Examples/bin/TopMuonFWLiteAnalyzer.cc deleted file mode 100644 index a43795589107f..0000000000000 --- a/TopQuarkAnalysis/Examples/bin/TopMuonFWLiteAnalyzer.cc +++ /dev/null @@ -1,128 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "FWCore/FWLite/interface/FWLiteEnabler.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/Electron.h" - -#include "TopQuarkAnalysis/Examples/bin/NiceStyle.cc" -#include "TopQuarkAnalysis/Examples/interface/RootSystem.h" -#include "TopQuarkAnalysis/Examples/interface/RootHistograms.h" -#include "TopQuarkAnalysis/Examples/interface/RootPostScript.h" - -int main(int argc, char* argv[]) { - if (argc < 3) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Wrong number of arguments! Please specify:" << std::endl - << " * filepath" << std::endl - << " * process name" << std::endl; - // ------------------------------------------------- - return -1; - } - - // load framework libraries - gSystem->Load("libFWCoreFWLite"); - FWLiteEnabler::enable(); - - // set nice style for histograms - setNiceStyle(); - - // define some histograms - TH1I* noMuons = new TH1I("noMuons", "N(Muon)", 10, 0, 10); - TH1I* noLepts = new TH1I("noLepts", "N(Lepton)", 10, 0, 10); - TH1F* ptMuons = new TH1F("ptMuons", "pt_{Muons}", 100, 0., 300.); - TH1F* enMuons = new TH1F("enMuons", "energy_{Muons}", 100, 0., 300.); - TH1F* etaMuons = new TH1F("etaMuons", "eta_{Muons}", 100, -3., 3.); - TH1F* phiMuons = new TH1F("phiMuons", "phi_{Muons}", 100, -5., 5.); - - // ------------------------------------------------- - std::cout << "open file: " << argv[1] << std::endl; - // ------------------------------------------------- - TFile* inFile = TFile::Open(argv[1]); - TTree* events_ = nullptr; - if (inFile) - inFile->GetObject("Events", events_); - if (events_ == nullptr) { - // ------------------------------------------------- - std::cerr << "ERROR:: " - << "Unable to retrieve TTree Events!" << std::endl - << " Eighter wrong file name or the the tree doesn't exists" << std::endl; - // ------------------------------------------------- - return -1; - } - - // acess branch of muons and elecs - char muonName[50]; - sprintf(muonName, "patMuons_selectedPatMuons__%s.obj", argv[2]); - TBranch* muons_ = events_->GetBranch(muonName); - assert(muons_ != nullptr); - char elecName[50]; - sprintf(elecName, "patElectrons_selectedPatElectrons__%s.obj", argv[2]); - TBranch* elecs_ = events_->GetBranch(elecName); - assert(elecs_ != nullptr); - - // loop over events and fill histograms - std::vector muons; - std::vector elecs; - int nevt = events_->GetEntries(); - - // ------------------------------------------------- - std::cout << "start looping " << nevt << " events..." << std::endl; - // ------------------------------------------------- - for (int evt = 0; evt < nevt; ++evt) { - // set branch address - muons_->SetAddress(&muons); - elecs_->SetAddress(&elecs); - // get event - muons_->GetEntry(evt); - elecs_->GetEntry(evt); - events_->GetEntry(evt, 0); - - // ------------------------------------------------- - if (evt > 0 && !(evt % 10)) - std::cout << " processing event: " << evt << std::endl; - // ------------------------------------------------- - - // fill histograms - noMuons->Fill(muons.size()); - noLepts->Fill(muons.size() + elecs.size()); - for (unsigned idx = 0; idx < muons.size(); ++idx) { - // fill histograms - ptMuons->Fill(muons[idx].pt()); - enMuons->Fill(muons[idx].energy()); - etaMuons->Fill(muons[idx].eta()); - phiMuons->Fill(muons[idx].phi()); - } - } - // ------------------------------------------------- - std::cout << "close file" << std::endl; - // ------------------------------------------------- - inFile->Close(); - - // save histograms to file - TFile outFile("analyzeMuons.root", "recreate"); - outFile.mkdir("analyzeMuon"); - outFile.cd("analyzeMuon"); - noMuons->Write(); - noLepts->Write(); - ptMuons->Write(); - enMuons->Write(); - etaMuons->Write(); - phiMuons->Write(); - outFile.Close(); - - // free allocated space - delete noMuons; - delete noLepts; - delete ptMuons; - delete enMuons; - delete etaMuons; - delete phiMuons; - - return 0; -} diff --git a/TopQuarkAnalysis/Examples/interface/RootHistograms.h b/TopQuarkAnalysis/Examples/interface/RootHistograms.h deleted file mode 100644 index 7351c73e30385..0000000000000 --- a/TopQuarkAnalysis/Examples/interface/RootHistograms.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef RootHistograms_h -#define RootHistograms_h - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#endif diff --git a/TopQuarkAnalysis/Examples/interface/RootPostScript.h b/TopQuarkAnalysis/Examples/interface/RootPostScript.h deleted file mode 100644 index 4a9a4201640a4..0000000000000 --- a/TopQuarkAnalysis/Examples/interface/RootPostScript.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef RootPostScript_h -#define RootPostScript_h - -#include - -#endif diff --git a/TopQuarkAnalysis/Examples/interface/RootSystem.h b/TopQuarkAnalysis/Examples/interface/RootSystem.h deleted file mode 100644 index ef6a20f67ad5d..0000000000000 --- a/TopQuarkAnalysis/Examples/interface/RootSystem.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef RootSystem_h -#define RootSystem_h - -#include -#include -#include -#include - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/BuildFile.xml b/TopQuarkAnalysis/Examples/plugins/BuildFile.xml deleted file mode 100644 index 457fc6b29087f..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/BuildFile.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.cc deleted file mode 100644 index 96928bb82795b..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.cc +++ /dev/null @@ -1,194 +0,0 @@ -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h" - -HypothesisAnalyzer::HypothesisAnalyzer(const edm::ParameterSet& cfg) - : semiLepEvtToken_(consumes(cfg.getParameter("semiLepEvent"))), - hypoClassKey_(cfg.getParameter("hypoClassKey")) {} - -void HypothesisAnalyzer::analyze(const edm::Event& event, const edm::EventSetup& setup) { - ////////////////////////////////////////////////////////////////////////////////////////////////// - // get a handle for the TtSemiLeptonicEvent and a key to the hypothesis - ////////////////////////////////////////////////////////////////////////////////////////////////// - - edm::Handle semiLepEvt; - event.getByToken(semiLepEvtToken_, semiLepEvt); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // check if hypothesis is available and valid in this event - ////////////////////////////////////////////////////////////////////////////////////////////////// - - if (!semiLepEvt->isHypoValid(hypoClassKey_)) { - edm::LogInfo("HypothesisAnalyzer") << "Hypothesis " << hypoClassKey_ << " not valid for this event"; - return; - } - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // get reconstructed top quarks, W bosons, the top pair and the neutrino from the hypothesis - ////////////////////////////////////////////////////////////////////////////////////////////////// - - const reco::Candidate* topPair = semiLepEvt->topPair(hypoClassKey_); - const reco::Candidate* lepTop = semiLepEvt->leptonicDecayTop(hypoClassKey_); - const reco::Candidate* lepW = semiLepEvt->leptonicDecayW(hypoClassKey_); - const reco::Candidate* hadTop = semiLepEvt->hadronicDecayTop(hypoClassKey_); - const reco::Candidate* hadW = semiLepEvt->hadronicDecayW(hypoClassKey_); - const reco::Candidate* neutrino = semiLepEvt->singleNeutrino(hypoClassKey_); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // fill simple histograms with kinematic variables of the reconstructed particles - ////////////////////////////////////////////////////////////////////////////////////////////////// - - if (topPair) - topPairMass_->Fill(topPair->mass()); - if (hadW) { - hadWPt_->Fill(hadW->pt()); - hadWEta_->Fill(hadW->eta()); - hadWMass_->Fill(hadW->mass()); - } - if (hadTop) { - hadTopPt_->Fill(hadTop->pt()); - hadTopEta_->Fill(hadTop->eta()); - hadTopMass_->Fill(hadTop->mass()); - } - if (lepW) { - lepWPt_->Fill(lepW->pt()); - lepWEta_->Fill(lepW->eta()); - lepWMass_->Fill(lepW->mass()); - } - if (lepTop) { - lepTopPt_->Fill(lepTop->pt()); - lepTopEta_->Fill(lepTop->eta()); - lepTopMass_->Fill(lepTop->mass()); - } - if (neutrino) - neutrinoEta_->Fill(neutrino->eta()); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // get corresponding genParticles - ////////////////////////////////////////////////////////////////////////////////////////////////// - - const math::XYZTLorentzVector* genTopPair = semiLepEvt->topPair(); - const reco::Candidate* genHadTop = semiLepEvt->hadronicDecayTop(); - const reco::Candidate* genHadW = semiLepEvt->hadronicDecayW(); - const reco::Candidate* genLepTop = semiLepEvt->leptonicDecayTop(); - const reco::Candidate* genLepW = semiLepEvt->leptonicDecayW(); - const reco::Candidate* genNeutrino = semiLepEvt->singleNeutrino(); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // fill pull histograms of kinematic variables with respect to the generated particles - ////////////////////////////////////////////////////////////////////////////////////////////////// - - if (topPair && genTopPair) - topPairPullMass_->Fill((topPair->mass() - genTopPair->mass()) / genTopPair->mass()); - if (hadW && genHadW) { - hadWPullPt_->Fill((hadW->pt() - genHadW->pt()) / genHadW->pt()); - hadWPullEta_->Fill((hadW->eta() - genHadW->eta()) / genHadW->eta()); - hadWPullMass_->Fill((hadW->mass() - genHadW->mass()) / genHadW->mass()); - } - - if (hadTop && genHadTop) { - hadTopPullPt_->Fill((hadTop->pt() - genHadTop->pt()) / genHadTop->pt()); - hadTopPullEta_->Fill((hadTop->eta() - genHadTop->eta()) / genHadTop->eta()); - hadTopPullMass_->Fill((hadTop->mass() - genHadTop->mass()) / genHadTop->mass()); - } - if (lepW && genLepW) { - lepWPullPt_->Fill((lepW->pt() - genLepW->pt()) / genLepW->pt()); - lepWPullEta_->Fill((lepW->eta() - genLepW->eta()) / genLepW->eta()); - lepWPullMass_->Fill((lepW->mass() - genLepW->mass()) / genLepW->mass()); - } - - if (lepTop && genLepTop) { - lepTopPullPt_->Fill((lepTop->pt() - genLepTop->pt()) / genLepTop->pt()); - lepTopPullEta_->Fill((lepTop->eta() - genLepTop->eta()) / genLepTop->eta()); - lepTopPullMass_->Fill((lepTop->mass() - genLepTop->mass()) / genLepTop->mass()); - } - if (neutrino && genNeutrino) - neutrinoPullEta_->Fill((neutrino->eta() - genNeutrino->eta()) / genNeutrino->eta()); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // fill histograms with variables describing the quality of the hypotheses - ////////////////////////////////////////////////////////////////////////////////////////////////// - - genMatchDr_->Fill(semiLepEvt->genMatchSumDR()); - kinFitProb_->Fill(semiLepEvt->fitProb()); - - if (hadTop && genHadTop) { - genMatchDrVsHadTopPullMass_->Fill((hadTop->mass() - genHadTop->mass()) / genHadTop->mass(), - semiLepEvt->genMatchSumDR()); - kinFitProbVsHadTopPullMass_->Fill((hadTop->mass() - genHadTop->mass()) / genHadTop->mass(), semiLepEvt->fitProb()); - } -} - -void HypothesisAnalyzer::beginJob() { - edm::Service fs; - if (!fs) - throw edm::Exception(edm::errors::Configuration, "TFile Service is not registered in cfg file"); - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // book histograms - ////////////////////////////////////////////////////////////////////////////////////////////////// - - neutrinoEta_ = fs->make("neutrinoEta", "#eta (neutrino)", 21, -4., 4.); - neutrinoPullEta_ = fs->make("neutrinoPullEta", "(#eta_{rec}-#eta_{gen})/#eta_{gen} (neutrino)", 40, -1., 1.); - - hadWPt_ = fs->make("hadWPt", "p_{T} (W_{had}) [GeV]", 25, 0., 500.); - hadWEta_ = fs->make("hadWEta", "#eta (W_{had})", 21, -4., 4.); - hadWMass_ = fs->make("hadWMass", "M (W_{had}) [GeV]", 25, 0., 200.); - - hadTopPt_ = fs->make("hadTopPt", "p_{T} (t_{had}) [GeV]", 25, 0., 500.); - hadTopEta_ = fs->make("hadTopEta", "#eta (t_{had})", 21, -4., 4.); - hadTopMass_ = fs->make("hadTopMass", "M (t_{had}) [GeV]", 40, 0., 400.); - - lepWPt_ = fs->make("lepWPt", "p_{t} (W_{lep}) [GeV]", 25, 0., 500.); - lepWEta_ = fs->make("lepWEta", "#eta (W_{lep})", 21, -4., 4.); - lepWMass_ = fs->make("lepWMass", "M (W_{lep}) [GeV]", 25, 0., 200.); - - lepTopPt_ = fs->make("lepTopPt", "p_{T} (t_{lep}) [GeV]", 25, 0., 500.); - lepTopEta_ = fs->make("lepTopEta", "#eta (t_{lep})", 21, -4., 4.); - lepTopMass_ = fs->make("lepTopMass", "M (t_{lep}) [GeV]", 40, 0., 400.); - - hadWPullPt_ = fs->make("hadWPullPt", "(p_{T,rec}-p_{T,gen})/p_{T,gen} (W_{had})", 40, -1., 1.); - hadWPullEta_ = fs->make("hadWPullEta", "(#eta_{rec}-#eta_{gen})/#eta_{gen} (W_{had})", 40, -1., 1.); - hadWPullMass_ = fs->make("hadWPullMass", "(M_{rec}-M_{gen})/M_{gen} (W_{had})", 40, -1., 1.); - - hadTopPullPt_ = fs->make("hadTopPullPt", "(p_{T,rec}-p_{T,gen})/p_{T,gen} (t_{had})", 40, -1., 1.); - hadTopPullEta_ = fs->make("hadTopPullEta", "(#eta_{rec}-#eta_{gen})/#eta_{gen} (t_{had})", 40, -1., 1.); - hadTopPullMass_ = fs->make("hadTopPullMass", "(M_{rec}-M_{gen})/M_{gen} (t_{had})", 40, -1., 1.); - - lepWPullPt_ = fs->make("lepWPullPt", "(p_{T,rec}-p_{T,gen})/p_{T,gen} (W_{lep})", 40, -1., 1.); - lepWPullEta_ = fs->make("lepWPullEta", "(#eta_{rec}-#eta_{gen})/#eta_{gen} (W_{lep})", 40, -1., 1.); - lepWPullMass_ = fs->make("lepWPullMass", "(M_{rec}-M_{gen})/M_{gen} (W_{lep})", 40, -1., 1.); - - lepTopPullPt_ = fs->make("lepTopPullPt", "(p_{T,rec}-p_{T,gen})/p_{T,gen} (t_{lep})", 40, -1., 1.); - lepTopPullEta_ = fs->make("lepTopPullEta", "(#eta_{rec}-#eta_{gen})/#eta_{gen} (t_{lep})", 40, -1., 1.); - lepTopPullMass_ = fs->make("lepTopPullMass", "(M_{rec}-M_{gen})/M_{gen} (t_{lep})", 40, -1., 1.); - - topPairMass_ = fs->make("topPairMass", "M (t#bar{t})", 36, 340., 940.); - topPairPullMass_ = fs->make("topPairPullMass", "(M_{rec}-M_{gen})/M_{gen} (t#bar{t})", 40, -1., 1.); - - genMatchDr_ = fs->make("genMatchDr", "GenMatch #Sigma#DeltaR", 40, 0., 4.); - kinFitProb_ = fs->make("kinFitProb", "KinFit probability", 50, 0., 1.); - - genMatchDrVsHadTopPullMass_ = fs->make("genMatchDrVsHadTopPullMass", - "GenMatch #Sigma #Delta R vs. (M_{rec}-M_{gen})/M_{gen} (t_{had}))", - 40, - -1., - 1., - 40, - 0., - 4.); - kinFitProbVsHadTopPullMass_ = fs->make("kinFitProbVsHadTopPullMass", - "KinFit probability vs. (M_{rec}-M_{gen})/M_{gen} (t_{had}))", - 40, - -1., - 1., - 20, - 0., - 1.); -} - -void HypothesisAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h deleted file mode 100644 index c8a1d67622e47..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef HypothesisAnalyzer_h -#define HypothesisAnalyzer_h - -#include "TH1F.h" -#include "TH2F.h" - -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h" - -class HypothesisAnalyzer : public edm::EDAnalyzer { -public: - explicit HypothesisAnalyzer(const edm::ParameterSet&); - ~HypothesisAnalyzer() override{}; - -private: - void beginJob() override; - void analyze(const edm::Event&, const edm::EventSetup&) override; - void endJob() override; - - const edm::EDGetTokenT semiLepEvtToken_; - const std::string hypoClassKey_; - - TH1F* neutrinoEta_; - TH1F* neutrinoPullEta_; - - TH1F* hadWPt_; - TH1F* hadWEta_; - TH1F* hadWMass_; - - TH1F* hadWPullPt_; - TH1F* hadWPullEta_; - TH1F* hadWPullMass_; - - TH1F* hadTopPt_; - TH1F* hadTopEta_; - TH1F* hadTopMass_; - - TH1F* hadTopPullPt_; - TH1F* hadTopPullEta_; - TH1F* hadTopPullMass_; - - TH1F* lepWPt_; - TH1F* lepWEta_; - TH1F* lepWMass_; - - TH1F* lepWPullPt_; - TH1F* lepWPullEta_; - TH1F* lepWPullMass_; - - TH1F* lepTopPt_; - TH1F* lepTopEta_; - TH1F* lepTopMass_; - - TH1F* topPairMass_; - TH1F* topPairPullMass_; - - TH1F* lepTopPullPt_; - TH1F* lepTopPullEta_; - TH1F* lepTopPullMass_; - - TH1F* genMatchDr_; - TH1F* kinFitProb_; - - TH2F* genMatchDrVsHadTopPullMass_; - TH2F* kinFitProbVsHadTopPullMass_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/SealModule.cc b/TopQuarkAnalysis/Examples/plugins/SealModule.cc deleted file mode 100644 index ad75a7faa9665..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/SealModule.cc +++ /dev/null @@ -1,14 +0,0 @@ -#include "TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h" -#include "TopQuarkAnalysis/Examples/plugins/HypothesisAnalyzer.h" -#include "TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h" -#include "TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h" -#include "TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h" -#include "TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h" - -#include "FWCore/Framework/interface/MakerMacros.h" -DEFINE_FWK_MODULE(TopGenEventAnalyzer); -DEFINE_FWK_MODULE(HypothesisAnalyzer); -DEFINE_FWK_MODULE(TopMuonAnalyzer); -DEFINE_FWK_MODULE(TopElecAnalyzer); -DEFINE_FWK_MODULE(TopTauAnalyzer); -DEFINE_FWK_MODULE(TopJetAnalyzer); diff --git a/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.cc deleted file mode 100644 index 7647dd69118c3..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.cc +++ /dev/null @@ -1,54 +0,0 @@ -#include "TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h" - -TopElecAnalyzer::TopElecAnalyzer(const edm::ParameterSet& cfg) - : inputToken_(consumes >(cfg.getParameter("input"))), - verbose_(cfg.getParameter("verbose")) { - edm::Service fs; - - mult_ = fs->make("mult", "multiplicity (electrons)", 10, 0, 10); - en_ = fs->make("en", "energy (electrons)", 60, 0., 300.); - pt_ = fs->make("pt", "pt (electrons)", 60, 0., 300.); - eta_ = fs->make("eta", "eta (electrons)", 30, -3., 3.); - phi_ = fs->make("phi", "phi (electrons)", 40, -4., 4.); -} - -TopElecAnalyzer::~TopElecAnalyzer() {} - -void TopElecAnalyzer::analyze(const edm::Event& evt, const edm::EventSetup& setup) { - edm::Handle > elecs; - evt.getByToken(inputToken_, elecs); - - // fill histograms - - mult_->Fill(elecs->size()); - for (std::vector::const_iterator elec = elecs->begin(); elec != elecs->end(); ++elec) { - en_->Fill(elec->energy()); - pt_->Fill(elec->pt()); - eta_->Fill(elec->eta()); - phi_->Fill(elec->phi()); - } - - // produce printout if desired - - if (elecs->empty() || !verbose_) - return; - - unsigned i = 0; - - std::cout << "=======================================================" << std::endl; - std::cout << std::setw(5) << "ele :" << std::setw(13) << "et :" << std::setw(13) << "eta :" << std::setw(13) - << "phi :" << std::setw(11) << "relIso" << std::endl; - std::cout << "-------------------------------------------------------" << std::endl; - for (std::vector::const_iterator elec = elecs->begin(); elec != elecs->end(); ++elec) { - std::cout << std::setw(3) << i << " : " << std::setw(10) << elec->pt() << " : " << std::setw(10) << elec->eta() - << " : " << std::setw(10) << elec->phi() << " : " << std::setw(10) - << (elec->dr03TkSumPt() + elec->dr03EcalRecHitSumEt() + elec->dr03HcalTowerSumEt()) / elec->et() - << std::endl; - i++; - } - std::cout << "=======================================================" << std::endl; -} - -void TopElecAnalyzer::beginJob() {} - -void TopElecAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h deleted file mode 100644 index 651e38e73dbca..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopElecAnalyzer.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef TopElecAnalyzer_h -#define TopElecAnalyzer_h - -#include "TH1F.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/PatCandidates/interface/Electron.h" - -class TopElecAnalyzer : public edm::EDAnalyzer { -public: - explicit TopElecAnalyzer(const edm::ParameterSet &); - ~TopElecAnalyzer() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - edm::EDGetTokenT > inputToken_; - bool verbose_; - - TH1F *mult_; - TH1F *en_; - TH1F *pt_; - TH1F *eta_; - TH1F *phi_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.cc deleted file mode 100644 index 0debc785767c9..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.cc +++ /dev/null @@ -1,57 +0,0 @@ -#include "TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h" - -TopGenEventAnalyzer::TopGenEventAnalyzer(const edm::ParameterSet& cfg) - : inputGenEventToken_(consumes(cfg.getParameter("genEvent"))) { - edm::Service fs; - nLep_ = fs->make("nLep", "N(Lepton)", 5, 0., 5.); - topPt_ = fs->make("topPt", "pt (top)", 100, 0., 500.); - topEta_ = fs->make("topEta", "eta(top)", 40, -5., 5.); - topPhi_ = fs->make("topPhi", "phi(top)", 60, -3.5, 3.5); - topBarPt_ = fs->make("topBarPt", "pt (topBar)", 100, 0., 500.); - topBarEta_ = fs->make("topBarEta", "eta(topBar)", 40, -5., 5.); - topBarPhi_ = fs->make("topBarPhi", "phi(topBar)", 60, -3.5, 3.5); - ttbarPt_ = fs->make("ttbarPt", "pt (ttbar)", 100, 0., 500.); - ttbarEta_ = fs->make("ttbarEta", "eta(ttbar)", 40, -5., 5.); - ttbarPhi_ = fs->make("ttbarPhi", "phi(ttbar)", 60, -3.5, 3.5); - prodChan_ = fs->make("prodChan", "production mode", 3, 0, 3); - prodChan_->GetXaxis()->SetBinLabel(1, "gg"); - prodChan_->GetXaxis()->SetBinLabel(2, "qqbar"); - prodChan_->GetXaxis()->SetBinLabel(3, "other"); -} - -TopGenEventAnalyzer::~TopGenEventAnalyzer() {} - -void TopGenEventAnalyzer::analyze(const edm::Event& evt, const edm::EventSetup& setup) { - edm::Handle genEvent; - evt.getByToken(inputGenEventToken_, genEvent); - - if (!genEvent->isTtBar()) - return; - - if (genEvent->fromGluonFusion()) - prodChan_->Fill("gg", 1); - else if (genEvent->fromQuarkAnnihilation()) - prodChan_->Fill("qqbar", 1); - else - prodChan_->Fill("other", 1); - - // fill BR's - nLep_->Fill(genEvent->numberOfLeptons()); - - //fill top kinematic - topPt_->Fill(genEvent->top()->pt()); - topEta_->Fill(genEvent->top()->eta()); - topPhi_->Fill(genEvent->top()->phi()); - topBarPt_->Fill(genEvent->topBar()->pt()); - topBarEta_->Fill(genEvent->topBar()->eta()); - topBarPhi_->Fill(genEvent->topBar()->phi()); - - //fill ttbar kinematics - ttbarPt_->Fill(genEvent->topPair()->pt()); - ttbarEta_->Fill(genEvent->topPair()->eta()); - ttbarPhi_->Fill(genEvent->topPair()->phi()); -} - -void TopGenEventAnalyzer::beginJob() {} - -void TopGenEventAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h deleted file mode 100644 index ee291cc930e0a..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopGenEventAnalyzer.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef TopGenEventAnalyzer_h -#define TopGenEventAnalyzer_h - -#include "TH1.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "AnalysisDataFormats/TopObjects/interface/TtGenEvent.h" - -class TopGenEventAnalyzer : public edm::EDAnalyzer { -public: - explicit TopGenEventAnalyzer(const edm::ParameterSet &); - ~TopGenEventAnalyzer() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - edm::EDGetTokenT inputGenEventToken_; - - TH1F *nLep_; - TH1F *topPt_; - TH1F *topEta_; - TH1F *topPhi_; - TH1F *topBarPt_; - TH1F *topBarEta_; - TH1F *topBarPhi_; - TH1F *ttbarPt_; - TH1F *ttbarEta_; - TH1F *ttbarPhi_; - TH1F *prodChan_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.cc deleted file mode 100644 index 59d5870ace070..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h" - -TopJetAnalyzer::TopJetAnalyzer(const edm::ParameterSet& cfg) - : inputToken_(consumes >(cfg.getParameter("input"))), - verbose_(cfg.getParameter("verbose")) { - edm::Service fs; - - mult_ = fs->make("mult", "multiplicity (jets)", 30, 0, 30); - en_ = fs->make("en", "energy (jets)", 60, 0., 300.); - pt_ = fs->make("pt", "pt (jets)", 60, 0., 300.); - eta_ = fs->make("eta", "eta (jets)", 30, -3., 3.); - phi_ = fs->make("phi", "phi (jets)", 40, -4., 4.); -} - -TopJetAnalyzer::~TopJetAnalyzer() {} - -void TopJetAnalyzer::analyze(const edm::Event& evt, const edm::EventSetup& setup) { - edm::Handle > jets; - evt.getByToken(inputToken_, jets); - - // fill histograms - - mult_->Fill(jets->size()); - for (std::vector::const_iterator jet = jets->begin(); jet != jets->end(); ++jet) { - pt_->Fill(jet->pt()); - en_->Fill(jet->energy()); - eta_->Fill(jet->eta()); - phi_->Fill(jet->phi()); - } - - // produce printout if desired - - if (jets->empty() || !verbose_) - return; - - int lineWidth = 75; - if (jets->begin()->isCaloJet()) - lineWidth = 100; - else if (jets->begin()->isPFJet()) - lineWidth = 120; - - std::cout << std::setfill('=') << std::setw(lineWidth) << "\n" << std::setfill(' '); - std::cout << std::setw(5) << "jet :" << std::setw(11) << "pt :" << std::setw(9) << "eta :" << std::setw(9) - << "phi :" << std::setw(11) << "TCHE :" << std::setw(11) << "TCHP :" << std::setw(9) - << "SSVHE :" << std::setw(9) << "SSVHP :"; - if (jets->begin()->isCaloJet()) { - std::cout << std::setw(8) << "emf :" << std::setw(10) << "n90Hits :" << std::setw(7) << "fHPD"; - } - if (jets->begin()->isPFJet()) { - std::cout << std::setw(9) << "chf : " << std::setw(8) << "nhf : " << std::setw(8) << "cef : " << std::setw(8) - << "nef : " << std::setw(6) << "nCh : " << std::setw(6) << "nConst"; - } - std::cout << std::endl << std::setfill('-') << std::setw(lineWidth) << "\n" << std::setfill(' '); - unsigned i = 0; - for (std::vector::const_iterator jet = jets->begin(); jet != jets->end(); ++jet) { - std::cout << std::setw(3) << i << " : " << std::setprecision(3) << std::fixed << std::setw(8) << jet->pt() << " : " - << std::setw(6) << jet->eta() << " : " << std::setw(6) << jet->phi() << " : " << std::setw(8) - << jet->bDiscriminator("trackCountingHighEffBJetTags") << " : " << std::setw(8) - << jet->bDiscriminator("trackCountingHighPurBJetTags") << " : " << std::setw(6) - << jet->bDiscriminator("simpleSecondaryVertexHighEffBJetTags") << " : " << std::setw(6) - << jet->bDiscriminator("simpleSecondaryVertexHighPurBJetTags") << " : "; - if (jet->isCaloJet()) { - std::cout << std::setw(5) << jet->emEnergyFraction() << " : " << std::setw(7) << jet->jetID().n90Hits << " : " - << std::setw(6) << jet->jetID().fHPD; - } - if (jet->isPFJet()) { - std::cout << std::setw(5) << jet->chargedHadronEnergyFraction() << " : " << std::setw(5) - << jet->neutralHadronEnergyFraction() << " : " << std::setw(5) << jet->chargedEmEnergyFraction() - << " : " << std::setw(5) << jet->neutralEmEnergyFraction() << " : " << std::setw(3) - << jet->chargedMultiplicity() << " : " << std::setw(6) << jet->nConstituents(); - } - std::cout << std::endl; - i++; - } - std::cout << std::setfill('=') << std::setw(lineWidth) << "\n" << std::setfill(' '); -} - -void TopJetAnalyzer::beginJob() {} - -void TopJetAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h deleted file mode 100644 index 7f0e2d3fb56e1..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopJetAnalyzer.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef TopJetAnalyzer_h -#define TopJetAnalyzer_h - -#include "TH1F.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/PatCandidates/interface/Jet.h" - -class TopJetAnalyzer : public edm::EDAnalyzer { -public: - explicit TopJetAnalyzer(const edm::ParameterSet &); - ~TopJetAnalyzer() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - edm::EDGetTokenT > inputToken_; - bool verbose_; - - TH1F *mult_; - TH1F *en_; - TH1F *pt_; - TH1F *eta_; - TH1F *phi_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.cc deleted file mode 100644 index 02ee1ac814a2b..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.cc +++ /dev/null @@ -1,55 +0,0 @@ -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h" - -TopMuonAnalyzer::TopMuonAnalyzer(const edm::ParameterSet& cfg) - : inputToken_(consumes >(cfg.getParameter("input"))), - verbose_(cfg.getParameter("verbose")) { - edm::Service fs; - - mult_ = fs->make("mult", "multiplicity (muons)", 10, 0, 10); - en_ = fs->make("en", "energy (muons)", 60, 0., 300.); - pt_ = fs->make("pt", "pt (muons)", 60, 0., 300.); - eta_ = fs->make("eta", "eta (muons)", 30, -3., 3.); - phi_ = fs->make("phi", "phi (muons)", 40, -4., 4.); -} - -TopMuonAnalyzer::~TopMuonAnalyzer() {} - -void TopMuonAnalyzer::analyze(const edm::Event& evt, const edm::EventSetup& setup) { - edm::Handle > muons; - evt.getByToken(inputToken_, muons); - - // fill histograms - - mult_->Fill(muons->size()); - for (std::vector::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { - pt_->Fill(muon->pt()); - en_->Fill(muon->energy()); - eta_->Fill(muon->eta()); - phi_->Fill(muon->phi()); - } - - // produce printout if desired - - if (muons->empty() || !verbose_) - return; - - unsigned i = 0; - - std::cout << "===================================================================" << std::endl; - std::cout << std::setw(5) << "mu :" << std::setw(13) << "pt :" << std::setw(13) << "eta :" << std::setw(13) - << "phi :" << std::setw(13) << "relIso :" << std::setw(6) << "GLB :" << std::setw(4) << "TRK" << std::endl; - std::cout << "-------------------------------------------------------------------" << std::endl; - for (std::vector::const_iterator muon = muons->begin(); muon != muons->end(); ++muon) { - std::cout << std::setw(3) << i << " : " << std::setw(10) << muon->pt() << " : " << std::setw(10) << muon->eta() - << " : " << std::setw(10) << muon->phi() << " : " << std::setw(10) - << (muon->trackIso() + muon->caloIso()) / muon->pt() << " : " << std::setw(3) << muon->isGlobalMuon() - << " : " << std::setw(3) << muon->isTrackerMuon() << std::endl; - i++; - } - std::cout << "===================================================================" << std::endl; -} - -void TopMuonAnalyzer::beginJob() {} - -void TopMuonAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h deleted file mode 100644 index ec324205b9842..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopMuonAnalyzer.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef TopMuonAnalyzer_h -#define TopMuonAnalyzer_h - -#include "TH1F.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/PatCandidates/interface/Muon.h" - -class TopMuonAnalyzer : public edm::EDAnalyzer { -public: - explicit TopMuonAnalyzer(const edm::ParameterSet &); - ~TopMuonAnalyzer() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - edm::EDGetTokenT > inputToken_; - bool verbose_; - - TH1F *mult_; - TH1F *en_; - TH1F *pt_; - TH1F *eta_; - TH1F *phi_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.cc b/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.cc deleted file mode 100644 index f597335814be3..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.cc +++ /dev/null @@ -1,33 +0,0 @@ -#include "TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h" - -TopTauAnalyzer::TopTauAnalyzer(const edm::ParameterSet& cfg) - : inputToken_(consumes >(cfg.getParameter("input"))) { - edm::Service fs; - - mult_ = fs->make("mult", "multiplicity (taus)", 30, 0, 30); - en_ = fs->make("en", "energy (taus)", 60, 0., 300.); - pt_ = fs->make("pt", "pt (taus}", 60, 0., 300.); - eta_ = fs->make("eta", "eta (taus)", 30, -3., 3.); - phi_ = fs->make("phi", "phi (taus)", 40, -4., 4.); -} - -TopTauAnalyzer::~TopTauAnalyzer() {} - -void TopTauAnalyzer::analyze(const edm::Event& evt, const edm::EventSetup& setup) { - edm::Handle > taus; - evt.getByToken(inputToken_, taus); - - // fill histograms - - mult_->Fill(taus->size()); - for (std::vector::const_iterator tau = taus->begin(); tau != taus->end(); ++tau) { - en_->Fill(tau->energy()); - pt_->Fill(tau->pt()); - eta_->Fill(tau->eta()); - phi_->Fill(tau->phi()); - } -} - -void TopTauAnalyzer::beginJob() {} - -void TopTauAnalyzer::endJob() {} diff --git a/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h b/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h deleted file mode 100644 index a88cad0a74974..0000000000000 --- a/TopQuarkAnalysis/Examples/plugins/TopTauAnalyzer.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef TopTauAnalyzer_h -#define TopTauAnalyzer_h - -#include "TH1F.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "DataFormats/PatCandidates/interface/Tau.h" - -class TopTauAnalyzer : public edm::EDAnalyzer { -public: - explicit TopTauAnalyzer(const edm::ParameterSet &); - ~TopTauAnalyzer() override; - -private: - void beginJob() override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - void endJob() override; - - edm::EDGetTokenT > inputToken_; - - TH1F *mult_; - TH1F *en_; - TH1F *pt_; - TH1F *eta_; - TH1F *phi_; -}; - -#endif diff --git a/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cff.py b/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cff.py deleted file mode 100644 index 738e73f300cd5..0000000000000 --- a/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cff.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# make simple analysis plots for a comparison -# between event hypothesis from different algorithms -# - -# initialize/configure analyzers -from TopQuarkAnalysis.Examples.HypothesisAnalyzer_cfi import * -analyzeGenMatch = analyzeHypothesis.clone(hypoClassKey = "kGenMatch") -analyzeMaxSumPtWMass = analyzeHypothesis.clone(hypoClassKey = "kMaxSumPtWMass") -analyzeKinFit = analyzeHypothesis.clone(hypoClassKey = "kKinFit") - -# define sequence -analyzeHypotheses = cms.Sequence(analyzeGenMatch * - analyzeMaxSumPtWMass * - analyzeKinFit) diff --git a/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cfi.py deleted file mode 100644 index 6479f84b30155..0000000000000 --- a/TopQuarkAnalysis/Examples/python/HypothesisAnalyzer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses of top event hypotheses -# -analyzeHypothesis = cms.EDAnalyzer("HypothesisAnalyzer", - semiLepEvent = cms.InputTag("ttSemiLepEvent"), - hypoClassKey = cms.string("kMaxSumPtWMass") -) - - diff --git a/TopQuarkAnalysis/Examples/python/TopElecAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/TopElecAnalyzer_cfi.py deleted file mode 100644 index e5a959111ffec..0000000000000 --- a/TopQuarkAnalysis/Examples/python/TopElecAnalyzer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses of electrons -# -analyzeElec = cms.EDAnalyzer("TopElecAnalyzer", - input = cms.InputTag("selectedPatElectrons"), - verbose = cms.bool(True) -) - - diff --git a/TopQuarkAnalysis/Examples/python/TopGenEventAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/TopGenEventAnalyzer_cfi.py deleted file mode 100644 index be0cf32cd10c1..0000000000000 --- a/TopQuarkAnalysis/Examples/python/TopGenEventAnalyzer_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses based on the TtGenEvent -# -analyzeTopGenEvent = cms.EDAnalyzer("TopGenEventAnalyzer", - genEvent = cms.InputTag("genEvt") -) - - diff --git a/TopQuarkAnalysis/Examples/python/TopJetAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/TopJetAnalyzer_cfi.py deleted file mode 100644 index 15a80513c58d9..0000000000000 --- a/TopQuarkAnalysis/Examples/python/TopJetAnalyzer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses of jets -# -analyzeJet = cms.EDAnalyzer("TopJetAnalyzer", - input = cms.InputTag("selectedPatJets"), - verbose = cms.bool(True) -) - - diff --git a/TopQuarkAnalysis/Examples/python/TopMuonAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/TopMuonAnalyzer_cfi.py deleted file mode 100644 index 1a5534f3b930d..0000000000000 --- a/TopQuarkAnalysis/Examples/python/TopMuonAnalyzer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses of muons -# -analyzeMuon = cms.EDAnalyzer("TopMuonAnalyzer", - input = cms.InputTag("selectedPatMuons"), - verbose = cms.bool(True) -) - - diff --git a/TopQuarkAnalysis/Examples/python/TopTauAnalyzer_cfi.py b/TopQuarkAnalysis/Examples/python/TopTauAnalyzer_cfi.py deleted file mode 100644 index e05b1a2d20cc1..0000000000000 --- a/TopQuarkAnalysis/Examples/python/TopTauAnalyzer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# -# module to make simple analyses of tautrons -# -analyzeTau = cms.EDAnalyzer("TopTauAnalyzer", - input = cms.InputTag("selectedPatTaus"), - verbose = cms.bool(True) -) - - diff --git a/TopQuarkAnalysis/Examples/test/BuildFile.xml b/TopQuarkAnalysis/Examples/test/BuildFile.xml deleted file mode 100644 index 36636d4cfa8a9..0000000000000 --- a/TopQuarkAnalysis/Examples/test/BuildFile.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopElectron_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopElectron_cfg.py deleted file mode 100644 index f9d58d2e5d99f..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopElectron_cfg.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string('INFO') -process.MessageLogger.TEST = dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -## configure geometry & conditions -process.load("Configuration.Geometry.GeometryRecoDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.task = cms.Task() - -## std sequence for PAT -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.task.add(process.patCandidatesTask) -#Temporary customize to the unit tests that fail due to old input samples -process.patTaus.skipMissingTauID = True -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.task.add(process.selectedPatCandidatesTask) - -process.load("TopQuarkAnalysis.Examples.TopElecAnalyzer_cfi") - -# register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopElec.root') -) - -## end path -process.p1 = cms.Path(process.analyzeElec, process.task) diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopGenEvent_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopGenEvent_cfg.py deleted file mode 100644 index 0c499d1b45e8d..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopGenEvent_cfg.py +++ /dev/null @@ -1,42 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string('INFO') -## dump content of TopGenEvent -process.MessageLogger.TopGenEvent=dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -process.task = cms.Task() - -## load modules to produce the TtGenEvent -process.load("TopQuarkAnalysis.TopEventProducers.sequences.ttGenEvent_cff") -process.task.add(process.makeGenEvtTask) - -## load analyzer -process.load("TopQuarkAnalysis.Examples.TopGenEventAnalyzer_cfi") - -## register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopGenEvent.root') -) - -## end path -process.p1 = cms.Path(process.analyzeTopGenEvent, process.task) diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses.C b/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses.C deleted file mode 100644 index 394702ef8214c..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses.C +++ /dev/null @@ -1,112 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include - -void setHistStyles(std::vector* hists, const bool normalize) -{ - const int lineColors[3] = {kGreen+1, kBlue, kRed}; - const int lineStyles[3] = {1, 3, 1}; - const int fillColors[3] = {kGreen+1, kBlue, 0}; - const int fillStyles[3] = {3554, 0, 0}; - - for(unsigned h=0; hSetXTitle(hists[0][h]->GetTitle()); - if(normalize) - hists[0][h]->SetYTitle("a.u."); - else - hists[0][h]->SetYTitle("Events"); - hists[0][h]->SetTitle(""); - hists[0][h]->SetStats(kFALSE); - for(unsigned d=0; d<3; d++) { - if(normalize) - hists[d][h]->Scale(1/hists[d][h]->Integral()); - hists[d][h]->SetLineWidth(2); - hists[d][h]->SetLineColor(lineColors[d]); - hists[d][h]->SetLineStyle(lineStyles[d]); - hists[d][h]->SetFillColor(fillColors[d]); - hists[d][h]->SetFillStyle(fillStyles[d]); - } - } -} - -void setYmax() -{ - TIter iter(gPad->GetListOfPrimitives()); - TObject *obj; - TH1 *h_1=0; - TH1 *h_i=0; - Bool_t foundfirstHisto = kFALSE; - while ((obj = (TObject*)iter.Next())) { - if(obj->InheritsFrom("TH1")) { - if(foundfirstHisto == kFALSE) { - h_1 = (TH1*)obj; - foundfirstHisto = kTRUE; - } - else { - h_i = (TH1*)obj; - Double_t max_i = h_i->GetMaximum(); - if(max_i > h_1->GetMaximum()) h_1->SetMaximum(1.05 * max_i); - } - } - } -} - -void analyzeTopHypotheses() -{ - TFile* file = new TFile("analyzeTopHypothesis.root"); - - const bool normalize = true; - - gROOT->cd(); - gROOT->SetStyle("Plain"); - - const TString dirs[3] = {"analyzeGenMatch", - "analyzeMaxSumPtWMass", - "analyzeKinFit"}; - - std::vector hists[3]; - - TIter iter(((TDirectoryFile*) file->Get(dirs[0]))->GetListOfKeys()); - TObject *obj; - while((obj = (TObject*)iter.Next())) { - if(((TDirectoryFile*) file->Get(dirs[0]))->Get(obj->GetName())->InheritsFrom("TH1F")) { - for(unsigned d=0; d<3; d++) - hists[d].push_back((TH1F*) file->Get(dirs[d]+"/"+obj->GetName())->Clone()); - } - } - - file->Close(); - delete file; - - setHistStyles(hists, normalize); - - TCanvas* canvas = new TCanvas("canvas", "canvas", 900, 600); - canvas->Print("analyzeTopHypotheses.ps["); - - TLegend legend(0.6, 0.75, 0.9, 0.9); - legend.SetFillColor(0); - legend.AddEntry(hists[0][0], "GenMatch" , "F"); - legend.AddEntry(hists[1][0], "MaxSumPtWMass", "L"); - legend.AddEntry(hists[2][0], "KinFit" , "L"); - - for(unsigned h=0; hDraw(); - if(!((TString)hists[0][h]->GetName()).Contains("genMatch")) { - hists[1][h]->Draw("same"); - hists[2][h]->Draw("same"); - legend.Draw(); - setYmax(); - } - gPad->RedrawAxis(); - canvas->Print("analyzeTopHypotheses.ps"); - //canvas->Print((TString)"analyzeTopHypotheses/"+hists[0][h]->GetName()+".eps"); - } - - canvas->Print("analyzeTopHypotheses.ps]"); - delete canvas; -} diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses_cfg.py deleted file mode 100644 index 8b0e4a1136fd3..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopHypotheses_cfg.py +++ /dev/null @@ -1,90 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.TtSemiLeptonicEvent=dict() -process.MessageLogger.TtSemiLepKinFitter=dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) -#process.source = cms.Source("PoolSource", -# fileNames = cms.untracked.vstring( -# ['rfio:///castor/cern.ch/user/s/snaumann/test/Spring12/TTJets_TuneZ2star_8TeV-madgraph-tauola_AODSIM_PU_S7_START52_V5-v1/PAT_muJets_1.root', -# 'rfio:///castor/cern.ch/user/s/snaumann/test/Spring12/TTJets_TuneZ2star_8TeV-madgraph-tauola_AODSIM_PU_S7_START52_V5-v1/PAT_muJets_2.root', -# 'rfio:///castor/cern.ch/user/s/snaumann/test/Spring12/TTJets_TuneZ2star_8TeV-madgraph-tauola_AODSIM_PU_S7_START52_V5-v1/PAT_muJets_3.root'] -# ) -#) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(100) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -## configure geometry & conditions -process.load("Configuration.Geometry.GeometryRecoDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.task = cms.Task() - -## std sequence for PAT -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.task.add(process.patCandidatesTask) -#Temporary customize to the unit tests that fail due to old input samples -process.patTaus.skipMissingTauID = True -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.task.add(process.selectedPatCandidatesTask) - -## use genParticles to select only muon+jets events -process.load("TopQuarkAnalysis.TopSkimming.ttDecayChannelFilters_cff") -process.task.add(process.ttDecayChannelFiltersTask) -process.ttSemiLeptonicFilter.allowedTopDecays.decayBranchA.electron = False - -## sequences for ttGenEvent and TtSemiLeptonicEvent -process.load("TopQuarkAnalysis.TopEventProducers.sequences.ttGenEvent_cff") -process.task.add(process.makeGenEvtTask) - -process.load("TopQuarkAnalysis.TopEventProducers.sequences.ttSemiLepEvtBuilder_cff") -process.task.add(process.makeTtSemiLepEventTask) -## enable additional per-event printout from the TtSemiLeptonicEvent -process.ttSemiLepEvent.verbosity = 1 - -## choose which hypotheses to produce -from TopQuarkAnalysis.TopEventProducers.sequences.ttSemiLepEvtBuilder_cff import * -addTtSemiLepHypotheses(process, ["kMaxSumPtWMass", "kKinFit"]) -## change some common parameters -#setForAllTtSemiLepHypotheses(process, "maxNJets", 5) -#setForAllTtSemiLepHypotheses(process, "neutrinoSolutionType", 2) -## use b-tagging for hypotheses (neglected for GenMatch) -#setForAllTtSemiLepHypotheses(process, "useBTagging", True) -#setForAllTtSemiLepHypotheses(process, "bTagAlgorithm", "combinedSecondaryVertexBJetTags") -#setForAllTtSemiLepHypotheses(process, "minBDiscBJets" , 0.679) -#setForAllTtSemiLepHypotheses(process, "maxBDiscLightJets", 0.679) - -## change jet-parton matching algorithm -#process.ttSemiLepJetPartonMatch.algorithm = "unambiguousOnly" -## change constraints used in kinematic fit -#process.kinFitTtSemiLepEventHypothesis.constraints = [1,2,6] - -## load HypothesisAnalyzer -process.load("TopQuarkAnalysis.Examples.HypothesisAnalyzer_cff") - -# register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopHypothesis.root') -) - -## end path -process.path = cms.Path(process.analyzeHypotheses, process.task) diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopJet_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopJet_cfg.py deleted file mode 100644 index ddaada8ddcf6d..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopJet_cfg.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string('INFO') -process.MessageLogger.TEST = dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -## configure geometry & conditions -process.load("Configuration.Geometry.GeometryRecoDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.task = cms.Task() - -## std sequence for PAT -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.task.add(process.patCandidatesTask) -#Temporary customize to the unit tests that fail due to old input samples -process.patTaus.skipMissingTauID = True -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.task.add(process.selectedPatCandidatesTask) - -process.load("TopQuarkAnalysis.Examples.TopJetAnalyzer_cfi") - -# register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopJet.root') -) - -## end path -process.p1 = cms.Path(process.analyzeJet, process.task) diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopMuon_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopMuon_cfg.py deleted file mode 100644 index 88ea370dfb33d..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopMuon_cfg.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string('INFO') -process.MessageLogger.TEST = dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -## configure geometry & conditions -process.load("Configuration.Geometry.GeometryRecoDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.task = cms.Task() - -## std sequence for PAT -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.task.add(process.patCandidatesTask) -#Temporary customize to the unit tests that fail due to old input samples -process.patTaus.skipMissingTauID = True -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.task.add(process.selectedPatCandidatesTask) - -process.load("TopQuarkAnalysis.Examples.TopMuonAnalyzer_cfi") - -# register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopMuon.root') -) - -## end path -process.p1 = cms.Path(process.analyzeMuon, process.task) diff --git a/TopQuarkAnalysis/Examples/test/analyzeTopTau_cfg.py b/TopQuarkAnalysis/Examples/test/analyzeTopTau_cfg.py deleted file mode 100644 index 1d09ffdb97b1a..0000000000000 --- a/TopQuarkAnalysis/Examples/test/analyzeTopTau_cfg.py +++ /dev/null @@ -1,51 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("TEST") - -## configure message logger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.threshold = cms.untracked.string('INFO') -process.MessageLogger.TEST = dict() - -## define input -from TopQuarkAnalysis.TopEventProducers.tqafInputFiles_cff import relValTTbar -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring(relValTTbar) -) - -## define maximal number of events to loop over -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10) -) - -## configure process options -process.options = cms.untracked.PSet( - wantSummary = cms.untracked.bool(True) -) - -## configure geometry & conditions -process.load("Configuration.Geometry.GeometryRecoDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from Configuration.AlCa.GlobalTag import GlobalTag -process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc') -process.load("Configuration.StandardSequences.MagneticField_cff") - -process.task = cms.Task() - -## std sequence for PAT -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.task.add(process.patCandidatesTask) -#Temporary customize to the unit tests that fail due to old input samples -process.patTaus.skipMissingTauID = True -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.task.add(process.selectedPatCandidatesTask) - -process.load("TopQuarkAnalysis.Examples.TopTauAnalyzer_cfi") - -# register TFileService -process.TFileService = cms.Service("TFileService", - fileName = cms.string('analyzeTopTau.root') -) - -## end path -process.p1 = cms.Path(process.analyzeTau, process.task) diff --git a/TopQuarkAnalysis/Examples/test/runtestTqafExamples.cpp b/TopQuarkAnalysis/Examples/test/runtestTqafExamples.cpp deleted file mode 100644 index b2991bd18ae57..0000000000000 --- a/TopQuarkAnalysis/Examples/test/runtestTqafExamples.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "FWCore/Utilities/interface/TestHelper.h" - -RUNTEST() diff --git a/TopQuarkAnalysis/Examples/test/runtests.sh b/TopQuarkAnalysis/Examples/test/runtests.sh deleted file mode 100755 index 065bbfc6997bb..0000000000000 --- a/TopQuarkAnalysis/Examples/test/runtests.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -function die { echo $1: status $2 ; exit $2; } - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopElectron_cfg.py || die 'Failure using analyzeTopElectron_cfg.py' $? - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopJet_cfg.py || die 'Failure using analyzeTopJet_cfg.py' $? - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopMuon_cfg.py || die 'Failure using analyzeTopMuon_cfg.py' $? - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopTau_cfg.py || die 'Failure using analyzeTopTau_cfg.py' $? - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopGenEvent_cfg.py || die 'Failure using analyzeTopGenEvent_cfg.py' $? - -cmsRun ${LOCAL_TEST_DIR}/analyzeTopHypotheses_cfg.py || die 'Failure using analyzeTopHypotheses_cfg.py' $? diff --git a/TopQuarkAnalysis/TopPairBSM/BuildFile.xml b/TopQuarkAnalysis/TopPairBSM/BuildFile.xml deleted file mode 100644 index c8b53e8718758..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/BuildFile.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/TopQuarkAnalysis/TopPairBSM/python/BoostedTopProducer_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/BoostedTopProducer_cfi.py deleted file mode 100644 index a4bd11ce62bfb..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/BoostedTopProducer_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -BoostedTopProducer = cms.EDProducer("BoostedTopProducer", - electronLabel = cms.InputTag("selectedLayer1Electrons"), - muonLabel = cms.InputTag("selectedLayer1Muons"), - jetLabel = cms.InputTag("selectedLayer1Jets"), - caloIsoCut = cms.double(0.2), - mTop = cms.double(175.0), - solLabel = cms.InputTag("solutions"), - metLabel = cms.InputTag("layer1METs") -) diff --git a/TopQuarkAnalysis/TopPairBSM/python/CATopJetTagger_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/CATopJetTagger_cfi.py deleted file mode 100644 index 11aebbb6d03e4..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/CATopJetTagger_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Cambridge-Aachen top jet tagger parameters -# $Id -CATopCaloJetTagInfos = cms.EDProducer("CATopJetTagger", - src = cms.InputTag("caTopCaloJets"), - TopMass = cms.double(171), - WMass = cms.double(80.4), - verbose = cms.bool(False) - ) - - -CATopPFJetTagInfos = cms.EDProducer("CATopJetTagger", - src = cms.InputTag("caTopPFJets"), - TopMass = cms.double(171), - WMass = cms.double(80.4), - verbose = cms.bool(False) - ) diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_1000_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_1000_cfi.py deleted file mode 100644 index 34d169ec6cd2c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_1000_cfi.py +++ /dev/null @@ -1,33 +0,0 @@ -# Dataset path /QCDDiJetPt1000to14000/Summer08_IDEAL_V9_v1/GEN-SIM-RECO - -import FWCore.ParameterSet.Config as cms - -def RecoInput() : - - maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - readFiles = cms.untracked.vstring() - secFiles = cms.untracked.vstring() - source = cms.Source ("PoolSource",fileNames = readFiles, secondaryFileNames = secFiles) - readFiles.extend( ( - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0005/948F4772-C29E-DD11-A149-001EC9ED4FAA.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0006/96E4C3A6-379F-DD11-AC24-0019B9E4FCA3.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0006/D0B352A5-379F-DD11-B0FC-0019B9E4FC5D.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0006/F4E391CC-369F-DD11-B8CF-0019B9E7C4D2.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0009/94581C84-D2A2-DD11-AB01-00215AA62C2A.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0009/9A39A082-D2A2-DD11-A755-00215A45F86A.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0009/C20F7A87-D2A2-DD11-A989-0022640631AE.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0009/C28AB37D-B9A2-DD11-98F9-00221981B410.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0009/E2BE2986-D2A2-DD11-BE4A-00215A4909F6.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/54204960-E7A2-DD11-A964-0015C5EC47A2.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/8C2E8B5F-E7A2-DD11-81D6-0015C5E5B288.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/A64BF360-E7A2-DD11-B221-0015C5EC47A2.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/A8950B61-E7A2-DD11-AB5F-0015C5E5B335.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/B8271362-E7A2-DD11-B1B4-0015C5E5B335.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/EA535161-E7A2-DD11-8C3E-0015C5E5B335.root', - '/store/mc/Summer08/QCDDiJetPt1000to14000/GEN-SIM-RECO/IDEAL_V9_v1/0010/FE1F5584-D6A2-DD11-A5EB-001EC9ED840F.root' - ) ); - - secFiles.extend( ( - ) ) - - return source diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_3000_3500_RelVal_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_3000_3500_RelVal_cfi.py deleted file mode 100644 index 6732d5fc1e66b..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_3000_3500_RelVal_cfi.py +++ /dev/null @@ -1,155 +0,0 @@ -# from /RelValQCD_Pt_3000_3500/CMSSW_2_1_0_pre6-RelVal-1213987236-IDEAL_V2-2nd/GEN-SIM-DIGI-RAW-HLTDEBUG-RECO - -import FWCore.ParameterSet.Config as cms - -# from - -def RecoInput() : - return cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(200), - debugFlag = cms.untracked.bool(True), - - fileNames = cms.untracked.vstring( -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/00245ED2-B840-DD11-A538-001617DBD556.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/06419ADE-B640-DD11-A033-001617C3B6E8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/069AB896-BE40-DD11-8A24-001617C3B6DE.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/0AF3DF03-BE40-DD11-A986-001617C3B79A.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/289B655D-BE40-DD11-9091-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/2A1BF1C2-B940-DD11-9CFE-001617DBD5B2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/3A4F26A9-BE40-DD11-8C35-001617DBD472.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/3E338939-BB40-DD11-9523-000423D992DC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/4A02ED44-B740-DD11-A693-001617E30D06.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/4E3C4DEC-B740-DD11-B7B9-000423D6CAF2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/4EDB6C7A-AC40-DD11-885B-001D09F291D7.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/504F84F1-C040-DD11-8DE5-000423D6C8E6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/52526255-BB40-DD11-8413-001617E30CA4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/54687319-AB40-DD11-9930-001617E30CC8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/58C9301E-C040-DD11-AF45-000423D6CAF2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/5CBCB348-BC40-DD11-A545-001617DBD472.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/5EFE4BFE-BB40-DD11-9B3A-001617C3B70E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/60475A8C-C040-DD11-828B-001617E30D52.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/60480812-B940-DD11-A7A7-001617E30E2C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/6C779E46-B840-DD11-9F0A-000423D95030.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/6E704D16-B740-DD11-8DB6-001617E30D00.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/720EF4AD-BD40-DD11-83A2-001617C3B70E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/7C38F23E-BE40-DD11-9376-001617E30D52.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/8A9C5FD8-BD40-DD11-9556-001617C3B6C6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/8E42C849-BC40-DD11-901E-001617E30E2C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/928CA538-AC40-DD11-B6A7-000423D8F63C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/9A35C232-0C41-DD11-A82C-0030487A1FEC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/9EB22EDA-BD40-DD11-95ED-000423D986A8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/A2AA1643-BC40-DD11-9017-001617C3B710.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/A4F2213A-BB40-DD11-8112-000423D98DB4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/B400DAEF-C040-DD11-AC92-000423D98DB4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/BA01D8B0-BE40-DD11-9ADD-000423D6CA42.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/BC94A8B5-BD40-DD11-832E-001617E30D52.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/C2BE8FBE-C040-DD11-A162-001617E30F50.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/C2CC09BE-C040-DD11-8642-001617DBD5AC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/CC874630-C040-DD11-8C8F-0019DB29C5FC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/D87B70CE-B640-DD11-B3FD-001617C3B6CE.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/DABBCC99-C040-DD11-985A-001617E30CC8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/DC0D6CE9-AA40-DD11-8686-001D09F252E9.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/DC950CA7-BF40-DD11-B67A-001617C3B6CE.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/DCEEF01C-BC40-DD11-AFA6-001617E30F48.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/DEE0DE2D-BA40-DD11-900A-001617DBD230.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/E022C9E9-C040-DD11-AE3B-000423D6CA02.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/E2B59F5C-BF40-DD11-B579-001617E30D06.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/E4D55F8A-BE40-DD11-AC15-001617C3B778.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/ECE7D536-B940-DD11-8E80-001617E30F50.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/F0AD0F72-BB40-DD11-8F68-001617C3B79A.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/F488383D-BB40-DD11-A245-000423D6CA72.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/FC152FF8-AB40-DD11-AED5-001D09F28EC1.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/FECB1CF3-BF40-DD11-B8F9-001617DBD556.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0003/FEF9BCE4-B940-DD11-A2EE-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/046D1063-F640-DD11-9222-000423D6AF24.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/0663F69B-C640-DD11-93C4-001617C3B6C6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/06E4C246-C940-DD11-BD48-000423D6C8E6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/0A8748B2-D640-DD11-9534-000423D9870C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/0CB06240-C240-DD11-87D7-0019DB29C5FC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/122B51C0-1841-DD11-8C55-001617E30F58.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/14EEBABC-0141-DD11-93E9-000423D6CA42.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/1AB5BF97-DC40-DD11-86D8-000423D6CA6E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/24D31383-CF40-DD11-8985-000423DD2F34.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/260742E7-0141-DD11-8C6B-001617C3B6CC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/2A2C32C4-CF40-DD11-9BA3-000423D6CA6E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/2AA7E6B5-EA40-DD11-8A61-000423D992A4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/2C3C0B79-C640-DD11-933A-001617C3B65A.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/2C5B81DA-0141-DD11-B224-001617DBD332.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/3448EFE3-E040-DD11-AB6F-000423D9880C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/38C578C8-EC40-DD11-9496-000423D6C8E6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/38E664CD-C640-DD11-922A-000423D985E4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/3C49A8A5-C640-DD11-999E-001617E30CA4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/3E83831A-0341-DD11-BC3D-001617E30E2C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/3EB3A5DF-2C41-DD11-8F1A-000423D98804.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/407A124A-E740-DD11-A755-000423D6CA72.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/4C5D2F81-1C41-DD11-B4DA-000423D6AF24.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/5007B749-C940-DD11-A4EC-000423D9853C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/629FEDAB-FE40-DD11-A431-001617E30D12.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/64020560-E240-DD11-A864-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/660A2A4F-C440-DD11-93B6-001617E30E2C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/6802E1EC-0141-DD11-B6E1-001617C3B778.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/68D84930-E940-DD11-A359-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/722B15DE-E040-DD11-85D0-001617E30D0A.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/74B78303-CE40-DD11-986F-000423D6A6F4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/82D8EEE6-F040-DD11-8738-000423D986A8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/84280E17-E140-DD11-93DD-000423D98DB4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/86A5CFE7-1541-DD11-B496-001617C3B710.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/8C8688EE-E240-DD11-98F1-001617DBD5B2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/921FDB28-DF40-DD11-A393-001617C3B64C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/94005236-FF40-DD11-8FA0-001617E30D0A.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/96FF4E3E-C240-DD11-9194-001617C3B6E8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/98460046-C540-DD11-8E21-000423D6CA02.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/9A9D3912-0241-DD11-8394-000423D99F1E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/9C14BC6F-2B41-DD11-832B-000423D6B42C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/9ECF8D20-C940-DD11-A703-000423D6A6F4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/AA44EE88-E340-DD11-9F99-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/AAA031EF-E240-DD11-B0B5-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/B427504F-E740-DD11-9832-000423D6C8EE.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/B478B697-F640-DD11-BE71-000423D6CA02.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/B4AB91AE-EA40-DD11-9A21-000423D6B48C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/B66F92E2-E040-DD11-A2B2-000423D985E4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/BEA23698-F640-DD11-871D-000423D6B444.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/C26CAB9E-C640-DD11-88C6-001617C3B5D8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/C40AA75F-F640-DD11-A366-000423DD2F34.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/C8FFB6FE-2541-DD11-A5ED-001617C3B6C6.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/CA21BADD-0141-DD11-BA44-001617E30F56.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/CA3F9129-CB40-DD11-B27F-00161757BF42.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/CCC22998-C640-DD11-87FA-001617C3B5E4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/CE82FF01-1041-DD11-947B-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/CEA4B62C-E940-DD11-B77C-000423D6CA72.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/D05A1D99-C740-DD11-94ED-001617E30CE8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/D2D2E6BD-D240-DD11-850D-000423D9870C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/D6789E28-E340-DD11-A4B6-000423D6B444.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/D6A91A87-F040-DD11-8F9C-000423D6B48C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/D6CAB298-C640-DD11-B87E-001617E30CC8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/DA7D6E0E-1041-DD11-BF19-001617C3B6CE.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/DC212E18-F140-DD11-94D4-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/DE2534AE-FE40-DD11-B2D8-000423D98804.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/DE4AA127-DF40-DD11-826C-001617E30D40.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/E0C782B6-EA40-DD11-A4FB-000423D98804.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/E26E1481-EA40-DD11-B126-000423D9870C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/E4B5BBA9-C740-DD11-AA22-000423D6CA6E.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/E4E4472C-CB40-DD11-9F1F-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/E671C362-DF40-DD11-AE3C-000423D6CA02.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/EA2A75F0-E240-DD11-934D-001617E30D52.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/EA2AFA2D-E940-DD11-A6BE-000423D98DB4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/EA76D495-EC40-DD11-AC5E-000423D6AF24.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/EC13854B-E740-DD11-AC29-000423D6B444.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/ECA2F249-C940-DD11-B34B-000423D6A6F4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/F05A2447-C540-DD11-B7C7-001617C3B5E4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/F428221E-C940-DD11-BBF5-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/FA5F70D5-EA40-DD11-892C-000423D9939C.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/FAB238B3-EC40-DD11-A3EA-000423D6CAF2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/FC7556E1-FE40-DD11-B6B6-000423D992DC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/FCAAE5F5-E940-DD11-A3A9-000423D6BA18.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0004/FEA1AC47-C940-DD11-936C-000423D98804.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/008BCD3B-0F41-DD11-A275-000423D6B5C4.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/32474568-0441-DD11-A0CE-000423D99394.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/3C038B69-2E41-DD11-A157-001617C3B6E2.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/4C7C300F-1E41-DD11-B8DC-000423D6B358.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/54C1008A-0841-DD11-AD67-001617DBD316.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/A6DAD342-0241-DD11-A5C1-001617C3B5D8.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/C60EB11C-1A41-DD11-B8BD-001617DBD5AC.root', -'/store/relval/2008/6/22/RelVal-RelValQCD_Pt_3000_3500-1213987236-IDEAL_V2-2nd/0005/E8801EA4-0941-DD11-8450-001D09F29146.root' -) -) diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_470_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_470_cfi.py deleted file mode 100644 index 9a615330ab486..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_470_cfi.py +++ /dev/null @@ -1,34 +0,0 @@ -# Dataset path /QCDDiJetPt470to600/Summer08_IDEAL_V9_v1/GEN-SIM-RECO - -import FWCore.ParameterSet.Config as cms - -def RecoInput() : - - maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - readFiles = cms.untracked.vstring() - secFiles = cms.untracked.vstring() - source = cms.Source ("PoolSource",fileNames = readFiles, secondaryFileNames = secFiles) - readFiles.extend( ( - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/1A3CF22E-F595-DD11-8A28-0019B9E4893C.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/1A73AD50-F595-DD11-9F2E-0019B9E4527A.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/22BE613A-F595-DD11-ACD8-0019B9E4ACE1.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/3E517714-F295-DD11-A3AF-001125C472E4.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/465F18C5-F895-DD11-9E6D-0019B9E7C51D.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/4EF8AB34-F595-DD11-893C-0019B9E7C79F.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/52EA201C-FD95-DD11-9C4C-0019B9E4FD57.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/5EEA9C37-F595-DD11-AF61-0019B9E48B8C.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/600BCE3A-FD95-DD11-A279-00145EDD7971.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/64EED024-F295-DD11-A867-001125C49180.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/6EDE172F-F295-DD11-9334-0019B9E48FFC.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/7EEA911F-FD95-DD11-856A-0019B9E7E112.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/949C2459-F595-DD11-BE17-0019B9E7CD78.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/AED94115-F295-DD11-B586-001125C4664A.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/C63D4F42-F595-DD11-8547-001125C464F6.root', - '/store/mc/Summer08/QCDDiJetPt470to600/GEN-SIM-RECO/IDEAL_V9_v1/0000/E065C04F-FD95-DD11-948D-00145EDD7381.root' - ) ); - - - secFiles.extend( ( - ) ) - - return source diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_500_1000_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_500_1000_cfi.py deleted file mode 100644 index 0907ed3477ab0..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_500_1000_cfi.py +++ /dev/null @@ -1,247 +0,0 @@ -# from /RelValQCD_Pt_3000_3500/CMSSW_2_1_0_pre6-RelVal-1213987236-IDEAL_V2-2nd/GEN-SIM-DIGI-RAW-HLTDEBUG-RECO - -import FWCore.ParameterSet.Config as cms - -# from - -def RecoInput() : - return cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(200), - debugFlag = cms.untracked.bool(True), - - fileNames = cms.untracked.vstring( - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_100.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_101.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_102.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_104.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_105.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_107.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_108.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_109.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_10.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_110.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_111.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_112.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_113.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_114.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_116.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_117.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_118.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_119.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_11.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_120.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_121.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_122.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_123.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_124.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_125.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_126.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_127.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_128.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_12.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_130.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_131.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_132.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_133.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_134.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_135.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_136.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_137.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_138.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_139.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_13.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_140.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_141.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_142.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_143.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_144.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_145.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_146.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_147.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_148.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_149.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_14.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_150.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_151.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_152.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_153.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_154.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_155.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_156.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_157.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_158.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_159.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_15.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_160.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_161.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_162.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_164.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_165.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_166.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_167.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_168.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_169.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_170.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_171.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_172.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_173.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_174.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_176.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_177.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_178.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_179.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_17.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_180.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_181.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_182.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_183.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_184.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_185.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_186.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_187.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_189.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_18.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_190.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_191.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_192.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_193.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_194.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_195.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_196.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_197.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_198.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_199.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_19.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_1.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_200.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_201.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_202.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_203.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_204.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_205.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_206.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_207.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_208.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_209.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_20.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_210.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_212.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_213.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_214.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_216.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_217.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_218.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_21.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_220.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_221.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_222.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_223.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_224.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_225.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_226.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_227.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_228.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_229.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_22.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_230.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_231.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_232.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_233.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_234.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_235.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_236.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_237.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_238.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_239.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_23.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_240.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_241.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_242.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_243.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_244.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_245.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_246.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_247.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_249.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_24.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_250.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_25.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_26.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_27.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_28.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_2.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_30.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_31.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_32.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_33.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_34.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_35.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_36.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_37.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_38.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_39.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_3.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_40.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_41.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_42.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_43.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_44.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_45.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_46.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_47.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_48.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_49.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_4.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_50.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_51.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_52.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_53.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_55.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_56.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_57.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_58.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_59.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_5.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_60.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_61.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_62.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_63.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_64.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_65.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_67.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_68.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_69.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_6.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_71.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_72.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_73.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_74.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_75.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_76.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_77.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_78.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_79.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_7.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_80.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_81.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_82.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_83.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_84.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_85.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_86.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_87.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_89.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_8.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_90.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_91.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_92.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_94.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_95.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_96.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_97.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_98.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_99.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/qcd/qcd_500_1000_9.root' - - ) - ) diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_600_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_600_cfi.py deleted file mode 100644 index 6a1d7b4bdd11e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_600_cfi.py +++ /dev/null @@ -1,33 +0,0 @@ -# Dataset path /QCDDiJetPt600to800/Summer08_IDEAL_V9_v1/GEN-SIM-RECO - -import FWCore.ParameterSet.Config as cms - -def RecoInput() : - - maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - readFiles = cms.untracked.vstring() - secFiles = cms.untracked.vstring() - source = cms.Source ("PoolSource",fileNames = readFiles, secondaryFileNames = secFiles) - readFiles.extend( ( - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/181EF424-3196-DD11-8120-0019B9E494F3.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/2ECFCD0B-3196-DD11-989E-0019B9E4963E.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/40E116F5-FD95-DD11-A956-001125C49152.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/5CA3BB61-F595-DD11-859C-0019B9E495A4.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/6A0853CB-EF95-DD11-830F-001125C46418.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/7CE76841-F595-DD11-B927-0019B9E48991.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/88C56302-3196-DD11-9E86-0019B9E4FFFF.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/96CF8C67-EF95-DD11-8A51-001125C4910A.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/9E988C1E-F995-DD11-80BB-001D0966E1E9.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/A061971A-3196-DD11-833A-001125C48EE4.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/A414B974-EF95-DD11-9E7E-0019B9E50117.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/AC8F2845-F595-DD11-A709-0019B9E4896E.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/B69CB9F7-3096-DD11-98F7-001D0967D896.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/D0683153-F595-DD11-AC75-0019B9E49600.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/D8EF28E1-3096-DD11-8B24-0019B9E4FE56.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/EA4BD642-F595-DD11-9676-0019B9E48FC0.root', - '/store/mc/Summer08/QCDDiJetPt600to800/GEN-SIM-RECO/IDEAL_V9_v1/0000/FE455340-EF95-DD11-A054-0019B9E4B150.root') ); - - secFiles.extend( ( - ) ) - - return source diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_800_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_800_cfi.py deleted file mode 100644 index dbf7b1a310b33..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_QCD_800_cfi.py +++ /dev/null @@ -1,29 +0,0 @@ -# Dataset path /QCDDiJetPt800to1000/Summer08_IDEAL_V9_v1/GEN-SIM-RECO - -import FWCore.ParameterSet.Config as cms - -def RecoInput() : - - maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - readFiles = cms.untracked.vstring() - secFiles = cms.untracked.vstring() - source = cms.Source ("PoolSource",fileNames = readFiles, secondaryFileNames = secFiles) - readFiles.extend( ( - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/08043F8E-24A0-DD11-8F7B-001EC9ED88D8.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/1849B37F-23A0-DD11-8597-00145ED6E7C8.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/3215635E-22A0-DD11-9996-0030487C1154.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/3E0B8639-27A0-DD11-990D-001EC9ED7E46.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/3ED29688-E6A0-DD11-A2A5-001EC9ED88D8.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/700A2B80-23A0-DD11-A73E-001EC9ED8F2B.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/ACA05E81-26A0-DD11-97F2-003048C26CB6.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/AE8F64DA-30A0-DD11-B95F-0015C5E5B335.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/D017F01E-2FA0-DD11-8F66-00192165CCB4.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0006/F2BF165E-22A0-DD11-B63E-0030487C1154.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0008/B4566DA1-05A2-DD11-976A-001D09645B69.root', - '/store/mc/Summer08/QCDDiJetPt800to1000/GEN-SIM-RECO/IDEAL_V9_v1/0009/8EC9BC10-8BA2-DD11-8CB5-001D09645A9D.root' - ) ); - - secFiles.extend( ( - ) ) - - return source diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime2000_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime2000_cfi.py deleted file mode 100644 index 8de56cc78ee99..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime2000_cfi.py +++ /dev/null @@ -1,247 +0,0 @@ -# from /RelValQCD_Pt_3000_3500/CMSSW_2_1_0_pre6-RelVal-1213987236-IDEAL_V2-2nd/GEN-SIM-DIGI-RAW-HLTDEBUG-RECO - -import FWCore.ParameterSet.Config as cms - -# from - -def RecoInput() : - return cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(200), - debugFlag = cms.untracked.bool(True), - - fileNames = cms.untracked.vstring( - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_100.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_101.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_102.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_104.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_105.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_107.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_108.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_109.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_10.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_110.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_111.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_112.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_113.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_114.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_116.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_117.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_118.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_119.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_11.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_120.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_121.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_122.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_123.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_124.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_125.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_126.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_127.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_128.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_12.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_130.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_131.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_132.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_133.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_134.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_135.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_136.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_137.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_138.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_139.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_13.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_140.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_141.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_142.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_143.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_144.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_145.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_146.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_147.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_148.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_149.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_14.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_150.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_151.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_152.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_153.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_154.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_155.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_156.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_157.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_158.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_159.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_15.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_160.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_161.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_162.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_164.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_165.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_166.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_167.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_168.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_169.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_170.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_171.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_172.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_173.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_174.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_176.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_177.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_178.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_179.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_17.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_180.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_181.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_182.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_183.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_184.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_185.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_186.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_187.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_189.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_18.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_190.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_191.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_192.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_193.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_194.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_195.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_196.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_197.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_198.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_199.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_19.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_1.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_200.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_201.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_202.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_203.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_204.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_205.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_206.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_207.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_208.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_209.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_20.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_210.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_212.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_213.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_214.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_216.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_217.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_218.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_21.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_220.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_221.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_222.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_223.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_224.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_225.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_226.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_227.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_228.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_229.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_22.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_230.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_231.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_232.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_233.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_234.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_235.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_236.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_237.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_238.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_239.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_23.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_240.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_241.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_242.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_243.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_244.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_245.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_246.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_247.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_249.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_24.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_250.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_25.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_26.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_27.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_28.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_2.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_30.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_31.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_32.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_33.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_34.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_35.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_36.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_37.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_38.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_39.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_3.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_40.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_41.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_42.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_43.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_44.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_45.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_46.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_47.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_48.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_49.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_4.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_50.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_51.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_52.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_53.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_55.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_56.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_57.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_58.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_59.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_5.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_60.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_61.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_62.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_63.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_64.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_65.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_67.root', -# 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_68.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_69.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_6.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_71.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_72.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_73.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_74.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_75.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_76.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_77.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_78.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_79.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_7.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_80.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_81.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_82.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_83.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_84.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_85.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_86.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_87.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_89.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_8.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_90.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_91.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_92.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_94.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_95.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_96.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_97.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_98.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_99.root', - 'dcache:/pnfs/cms/WAX/resilient/rappocc/zprime/zprime_2000GeV_9.root' - - ) - ) diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime5000JJ_RelVal_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime5000JJ_RelVal_cfi.py deleted file mode 100644 index 5e2a1baa79f64..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ZPrime5000JJ_RelVal_cfi.py +++ /dev/null @@ -1,94 +0,0 @@ -# from /RelValZPrime5000JJ/CMSSW_2_1_0_pre6-RelVal-1214239099-STARTUP_V1-2nd/GEN-SIM-DIGI-RAW-HLTDEBUG-RECO - -import FWCore.ParameterSet.Config as cms - -# from - -def RecoInput() : - return cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(200), - debugFlag = cms.untracked.bool(True), - - fileNames = cms.untracked.vstring( -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/02123B00-BC42-DD11-8A59-000423D6CA02.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/022373EC-B342-DD11-8E53-001617E30F4C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/04E4364D-C242-DD11-8481-000423D6CA72.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/0A69E636-C142-DD11-9B5D-000423D992DC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/0C050842-B542-DD11-B5D4-000423D94E70.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/0C156BF8-B842-DD11-A1E7-000423D9853C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/0C82D302-B642-DD11-8910-0019DB29C5FC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/0E63D7BD-B442-DD11-9E76-001617DBD332.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/10AB3A52-B442-DD11-9A6B-001617DBD288.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1448781B-B742-DD11-883B-000423D998BA.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/145049C2-BE42-DD11-83C0-000423D9870C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1468D509-BF42-DD11-AE17-000423D6BA18.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1497D214-B542-DD11-A818-001617E30D00.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/163B3739-BD42-DD11-B5E4-001617DBCF1E.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1853C569-C142-DD11-B955-000423D6CAF2.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1ACFE920-C242-DD11-8C90-000423D6B444.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1ADE73A2-C042-DD11-9E30-001617DF785A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/1E5AAFF3-B342-DD11-BC28-001617C3B6E8.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/22E86C41-B742-DD11-AAB8-000423D94A04.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/22F77CBD-C142-DD11-9761-000423D6AF24.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/269B56F8-B942-DD11-B20D-0019DB29C614.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/26CEEB02-B542-DD11-AF71-00161757BF42.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/2A86C27B-BD42-DD11-ABC5-001617C3B76A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/2AC44294-B442-DD11-91F0-000423D9870C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/2C145D12-C042-DD11-BFFB-001617E30F58.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/2C811DD2-B442-DD11-B501-001617DBD5B2.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/2ECD8DD9-DA42-DD11-AD6C-000423D6CAF2.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/34F4DD17-B642-DD11-9C7F-001617E30CC8.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/3E07AFA1-C042-DD11-94B6-001617E30E2C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/423AF539-B542-DD11-AD01-000423D98E54.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/4C9EB506-B542-DD11-9DD5-000423D9853C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/50C7B709-B542-DD11-9C50-000423D992DC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/52644119-B442-DD11-B107-001617DF785A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/52BA9CAB-B642-DD11-8678-000423D99A8E.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/5A8ED482-D042-DD11-AA45-000423D6B358.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/5E6B8E52-B642-DD11-91F4-000423D99CEE.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/6030B4FD-B442-DD11-B1B3-000423D6C8EE.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/6821370D-B642-DD11-9465-000423D990CC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/6A575E8C-BE42-DD11-A534-000423D6CAF2.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/6E8B6FCE-BA42-DD11-86CB-000423D985E4.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/704C6DE2-BD42-DD11-857D-000423D9939C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/7201E196-C042-DD11-8619-000423D6BA18.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/7AF8CA3B-B542-DD11-A56A-001617DBD332.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/8030EBE3-D642-DD11-A92F-000423D9870C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/82CAEE7B-BD42-DD11-8075-001617C3B76A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/861DDE4E-C242-DD11-A7DD-000423D9863C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/88CD0478-0643-DD11-9F29-000423D9853C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/90CC5B4C-B642-DD11-BF7B-0019DB2F3F9B.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/9238E2D5-BA42-DD11-8F68-000423D9939C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/92466FF6-BD42-DD11-A013-001617E30F58.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/9A7E7932-B542-DD11-8DBD-001617DF785A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/9C27E5CB-BE42-DD11-ABCB-000423D6B358.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/9C6F2DFC-BC42-DD11-8363-000423D992DC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/A27F84F9-C042-DD11-BA4E-000423DD2F34.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/A287D080-B842-DD11-9B8D-001617E30D0A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/A6298D5E-B442-DD11-BDD1-001617DBCF1E.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/AE42126E-BD42-DD11-B24F-001617C3B76E.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/B629193F-B542-DD11-8FA0-001617C3B710.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/BAA41619-B442-DD11-A8F1-001617E30D52.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/BAEF42C3-B542-DD11-8008-000423D98EA8.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/C49C9A04-C042-DD11-A1AD-001617E30F50.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/C66658E5-B442-DD11-A28D-000423D98950.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/CA974CA5-B242-DD11-AFE0-001617C3B5D8.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/CAB3A95C-B442-DD11-846A-001617C3B6CC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/CE3CDA38-C042-DD11-9A73-000423D6C8E6.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/D2940B94-B442-DD11-B5F3-001617C3B706.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/D2DDA5BB-BD42-DD11-A491-001617DBD5AC.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DAC11869-C042-DD11-8F79-000423D98DB4.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DC682983-B542-DD11-8DB0-000423D95220.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DCC90E90-B242-DD11-9969-001617E30D00.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DCF131B7-C242-DD11-8A65-000423D9880C.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DE3BC247-B542-DD11-BF36-001617C3B79A.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/DE4AA6E3-BC42-DD11-9F6E-001617C3B778.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/E0C7BA99-B442-DD11-8F2C-001617C3B778.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/E8D00DF6-B242-DD11-9C32-000423D992A4.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/EE7E76CB-BB42-DD11-BCC5-001617C3B6E2.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/F40F9434-B742-DD11-9344-000423D985B0.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/F6745063-BF42-DD11-8000-000423D6B444.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/FA726640-C042-DD11-9035-00161757BF42.root', -'/store/relval/2008/6/25/RelVal-RelValZPrime5000JJ-1214239099-STARTUP_V1-2nd/0007/FE6CFC98-B542-DD11-9608-000423D98BC4.root' -) -) diff --git a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ttbar_cfi.py b/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ttbar_cfi.py deleted file mode 100644 index fdb69192673c5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/RecoInput_ttbar_cfi.py +++ /dev/null @@ -1,74 +0,0 @@ -# from /RelValQCD_Pt_3000_3500/CMSSW_2_1_0_pre6-RelVal-1213987236-IDEAL_V2-2nd/GEN-SIM-DIGI-RAW-HLTDEBUG-RECO - -import FWCore.ParameterSet.Config as cms - -# from - -def RecoInput() : - source = cms.Source("PoolSource", - debugVerbosity = cms.untracked.uint32(200), - debugFlag = cms.untracked.bool(True), - - fileNames = cms.untracked.vstring( - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0003/C4807780-C140-DD11-A03E-000423D94700.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/1E214499-FF40-DD11-8FB1-000423D6B48C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/2C0910EE-0141-DD11-B889-000423D9A212.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/404AF710-1B41-DD11-BCAA-000423D9A2AE.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/44362DF5-0141-DD11-BE89-000423D94E70.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/4893E9E6-0141-DD11-BF9B-000423D174FE.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/4C747DCB-C240-DD11-9FFD-001617C3B654.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/5A8D6CDA-0141-DD11-8385-001617DBCF90.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/6CB037F2-1641-DD11-97F0-000423D60FF6.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/76868FAB-FD40-DD11-B004-000423D985E4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/98503807-FE40-DD11-BAFD-000423D6B5C4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/A62D04A2-2E41-DD11-A83A-001617C3B6E8.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/A66AEAF6-E840-DD11-BDAE-000423D6B48C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/AE397234-CA40-DD11-9413-001617E30F48.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/BED974D0-FD40-DD11-9EE8-000423D992A4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/DC2591DC-0141-DD11-9BC7-001617C3B710.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/E22815E1-0141-DD11-9A34-000423D94A20.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0004/E2D61307-0241-DD11-AD42-000423D99160.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/027AF342-2D41-DD11-B7C9-000423D6B42C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/226FAD25-1C41-DD11-8F69-001617DBD556.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/288EEA34-0541-DD11-99F3-001617C3B706.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/2A206EAB-0D41-DD11-93F9-001617C3B77C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/34AF420E-1A41-DD11-B3B3-000423D6B358.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/3AF6EB27-0A41-DD11-AD0F-001D09F2546F.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/3C5DCCD4-0441-DD11-9DAD-000423D9890C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/3C7BD8C3-0941-DD11-8F0B-001D09F2525D.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/4448EBFB-1B41-DD11-BDBA-001617C3B6C6.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/4E4F6886-1C41-DD11-B609-001617C3B65A.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/60F01F12-0341-DD11-B2AF-000423D999CA.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/641734FF-0341-DD11-8CEF-001D09F29533.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/64C86292-1841-DD11-8B73-000423D985E4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/7255AFEF-1941-DD11-B344-000423DD2F34.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/780CDBA3-1841-DD11-ADAA-000423D9870C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/78FE44A1-0541-DD11-8F39-0016177CA7A0.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/7C0DF817-1E41-DD11-9E09-000423D9880C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/7C70FC0D-1B41-DD11-935A-000423D9890C.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/7C9FC0F9-2C41-DD11-BD8F-000423D6B5C4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/80FA9837-1741-DD11-AEF1-001617C3B778.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/8454634B-0341-DD11-BDFB-0019B9F72F97.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/869BFC18-0341-DD11-B513-001617DBD472.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/923E868A-0341-DD11-9140-0030487A18A4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/92B94E04-0A41-DD11-BB83-001D09F23A84.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/9662B512-1F41-DD11-B784-000423D6B444.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/9C28266C-0B41-DD11-80B1-001D09F2523A.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/9CB53EA6-0841-DD11-B49B-00304879FBB2.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/9EE1C0A7-0641-DD11-9311-000423D98BE8.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/AA70BA5B-1341-DD11-B23B-000423D94534.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/B256FEFB-0941-DD11-BA0E-000423D98930.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/C09D9CC9-0741-DD11-AD14-001D09F232B9.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/C6ED94E3-0841-DD11-8BE5-001D09F2438A.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/C8374E0F-0541-DD11-BFD2-000423D98920.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/D656C8DD-1B41-DD11-AF3A-001617E30F56.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/DCF600E4-1841-DD11-B757-000423D98DB4.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/DE2546D0-0B41-DD11-9999-001D09F248F8.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/DED45D59-0741-DD11-8EB9-001D09F23A34.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/ECF91043-0A41-DD11-9B57-001D09F29538.root', - '/store/relval/2008/6/22/RelVal-RelValTTbar-1213987236-IDEAL_V2-2nd/0005/F25BD264-1E41-DD11-8381-000423D992DC.root' - ) - ) - - - return source diff --git a/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_Defaults.py b/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_Defaults.py deleted file mode 100644 index b1eb930a1f6ef..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_Defaults.py +++ /dev/null @@ -1,46 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -TopAnalyzer = cms.EDAnalyzer("BooLowMAnalyzer", - debug = cms.bool( False ), - IsMCTop = cms.bool( True ), - genEventSource = cms.InputTag('genEvt'), - muonSource = cms.InputTag('selectedLayer1Muons'), - electronSource = cms.InputTag('selectedLayer1Electrons'), - metSource = cms.InputTag('layer1METs'), - jetSource = cms.InputTag('selectedLayer1Jets'), - rootFilename = cms.string('TopAnalysis.root'), - PdfInfoTag = cms.untracked.InputTag("genEventPdfInfo"), - PdfSetName = cms.untracked.string("cteq66"), # Hard coded to use LHgrid - jetCuts = cms.PSet( - MinJetPt = cms.double( 30. ), - MaxJetEta = cms.double( 2.4), - ApplyAsymmetricCuts = cms.bool(False), - JES = cms.double( 1. ), - ApplyFlavorJEC = cms.bool(False) - ), - muonCuts = cms.PSet( - MinPt = cms.double( 20. ), - MaxEta = cms.double( 2.1 ), - ), - muonIsolation = cms.PSet( - RelIso = cms.double( 0.95 ), - MaxVetoEm = cms.double( 4.0 ), - MaxVetoHad = cms.double( 6.0 ) - ), - electronCuts = cms.PSet( - MinPt = cms.double( 20. ), - MaxEta = cms.double( 2.4 ), - RelIso = cms.double( 0.9 ) - ), - METCuts = cms. PSet( - MinMET = cms.double( 0. ), - Recalculate = cms.bool(False) - ), - UsebTagging = cms.bool(False), - UseMtopConstraint = cms.bool(True), - writeAscii = cms.bool( False), - asciiFilename = cms.string('TopAnalysis.txt'), - processOnlyEvent = cms.int32( -1 ), - makeJetLegoPlots = cms.bool( False ), - ) - diff --git a/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_sequences.py b/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_sequences.py deleted file mode 100644 index 3f6c76d8340f8..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/TopAnalysis_sequences.py +++ /dev/null @@ -1,58 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -## produce ttGenEvent -from TopQuarkAnalysis.TopEventProducers.sequences.ttGenEvent_cff import * -## semi-leptonic decay -import TopQuarkAnalysis.TopEventProducers.producers.TtDecaySelection_cfi - -ttMuonicFilter = TopQuarkAnalysis.TopEventProducers.producers.TtDecaySelection_cfi.ttDecaySelection.clone() -ttMuonicFilter.allowedTopDecays.decayBranchA.electron = cms.bool(False) -ttMuonicFilter.allowedTopDecays.decayBranchA.muon = cms.bool(True) -ttMuonicFilter.allowedTopDecays.decayBranchA.tau = cms.bool(False) -ttMuonicFilter.allowedTopDecays.decayBranchB.electron = cms.bool(False) -ttMuonicFilter.allowedTopDecays.decayBranchB.muon = cms.bool(False) -ttMuonicFilter.allowedTopDecays.decayBranchB.tau = cms.bool(False) -ttMuonicFilter.restrictTauDecays.leptonic = cms.bool(True) -ttMuonicFilter.restrictTauDecays.oneProng = cms.bool(True) -ttMuonicFilter.restrictTauDecays.threeProng = cms.bool(True) - -## invert selection -ttNoMuonicFilter = TopQuarkAnalysis.TopEventProducers.producers.TtDecaySelection_cfi.ttDecaySelection.clone() -ttNoMuonicFilter.allowedTopDecays.decayBranchA.electron = cms.bool(False) -ttNoMuonicFilter.allowedTopDecays.decayBranchA.muon = cms.bool(True) -ttNoMuonicFilter.allowedTopDecays.decayBranchA.tau = cms.bool(False) -ttNoMuonicFilter.allowedTopDecays.decayBranchB.electron = cms.bool(False) -ttNoMuonicFilter.allowedTopDecays.decayBranchB.muon = cms.bool(False) -ttNoMuonicFilter.allowedTopDecays.decayBranchB.tau = cms.bool(False) -ttNoMuonicFilter.restrictTauDecays.leptonic = cms.bool(True) -ttNoMuonicFilter.restrictTauDecays.oneProng = cms.bool(True) -ttNoMuonicFilter.restrictTauDecays.threeProng = cms.bool(True) -ttNoMuonicFilter.invert = cms.bool(True) - - -## setup HLT filter -from TopQuarkAnalysis.TopPairBSM.BooTopHLTFilter import * - -## Analyzer and setup default selection -from TopQuarkAnalysis.TopPairBSM.TopAnalysis_Defaults import * -from TopQuarkAnalysis.TopPairBSM.ABCDAnalysis_Defaults import * -from TopQuarkAnalysis.TopPairBSM.HighAnalysis_Defaults import * - - -TopAnalysisMuFilter = cms.Sequence( - ttMuonicFilter+ - BooTopHLTFilter+ - TopAnalyzer) - -TopAnalysisNoMuFilter = cms.Sequence( - ttNoMuonicFilter+ - BooTopHLTFilter+ - TopAnalyzer) - -TopAnalysis = cms.Sequence(BooTopHLTFilter+ - TopAnalyzer) - -ABCDAnalysis = cms.Sequence(ABCDAnalyzer) - -HighMAnalysis = cms.Sequence(HighMAnalyzer) diff --git a/TopQuarkAnalysis/TopPairBSM/python/caTopJets_cff.py b/TopQuarkAnalysis/TopPairBSM/python/caTopJets_cff.py deleted file mode 100644 index 7eb42129cc8d9..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/caTopJets_cff.py +++ /dev/null @@ -1,36 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoJets.JetProducers.CATopJetParameters_cfi import * -from RecoJets.JetProducers.GenJetParameters_cfi import * -from RecoJets.JetProducers.CaloJetParameters_cfi import * -from RecoJets.JetProducers.PFJetParameters_cfi import * -from RecoJets.JetProducers.AnomalousCellParameters_cfi import * - - -caTopCaloJets = cms.EDProducer("CATopJetProducer", - CATopJetParameters, - CaloJetParameters, - AnomalousCellParameters, - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.0) #Parameter not used by CATopJetProducer but is necessary. use rbBins in CATopJetParameters_cfi.py - ) - - -caTopGenJets = cms.EDProducer("CATopJetProducer", - CATopJetParameters, - GenJetParameters, - AnomalousCellParameters, - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.0) #Parameter not used by CATopJetProducer but is necessary. use rbBins in CATopJetParameters_cfi.py - ) - - - -caTopPFJets = cms.EDProducer("CATopJetProducer", - CATopJetParameters, - PFJetParameters, - AnomalousCellParameters, - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.0) #Parameter not used by CATopJetProducer but is necessary. use rbBins in CATopJetParameters_cfi.py - ) - diff --git a/TopQuarkAnalysis/TopPairBSM/python/filters_cff.py b/TopQuarkAnalysis/TopPairBSM/python/filters_cff.py deleted file mode 100644 index 825c6aa09f1cb..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/python/filters_cff.py +++ /dev/null @@ -1,74 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def applyFilters( process ) : - - - ## The beam scraping filter __________________________________________________|| - process.noscraping = cms.EDFilter( - "FilterOutScraping", - applyfilter = cms.untracked.bool(True), - debugOn = cms.untracked.bool(False), - numtrack = cms.untracked.uint32(10), - thresh = cms.untracked.double(0.25) - ) - - ## The iso-based HBHE noise filter ___________________________________________|| - #process.load('CommonTools.RecoAlgos.HBHENoiseFilter_cfi') - - ## The CSC beam halo tight filter ____________________________________________|| - #process.load('RecoMET.METAnalyzers.CSCHaloFilter_cfi') - process.load("RecoMET.METFilters.metFilters_cff") - - ## The HCAL laser filter _____________________________________________________|| - process.load("RecoMET.METFilters.hcalLaserEventFilter_cfi") - process.hcalLaserEventFilter.vetoByRunEventNumber=cms.untracked.bool(False) - process.hcalLaserEventFilter.vetoByHBHEOccupancy=cms.untracked.bool(True) - - ## The ECAL dead cell trigger primitive filter _______________________________|| - process.load('RecoMET.METFilters.EcalDeadCellTriggerPrimitiveFilter_cfi') - ## For AOD and RECO recommendation to use recovered rechits - process.EcalDeadCellTriggerPrimitiveFilter.tpDigiCollection = cms.InputTag("ecalTPSkimNA") - - ## The EE bad SuperCrystal filter ____________________________________________|| - process.load('RecoMET.METFilters.eeBadScFilter_cfi') - - ## The Good vertices collection needed by the tracking failure filter ________|| - process.goodVertices = cms.EDFilter( - "VertexSelector", - filter = cms.bool(False), - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.rho < 2") - ) - - ## The tracking failure filter _______________________________________________|| - process.load('RecoMET.METFilters.trackingFailureFilter_cfi') - process.load('RecoMET.METFilters.trackingPOGFilters_cfi') - - - # Tracking TOBTEC fakes filter ## - # if true, only events passing filter (bad events) will pass - process.tobtecfakesfilter.filter=cms.bool(False) - - - - - ## The good primary vertex filter ____________________________________________|| - pvSrc = 'offlinePrimaryVertices' - process.primaryVertexFilter = cms.EDFilter( - "VertexSelector", - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake & ndof > 4 & abs(z) <= 24 & position.Rho <= 2"), - filter = cms.bool(True) - ) - - - from PhysicsTools.SelectorUtils.pvSelector_cfi import pvSelector - process.goodOfflinePrimaryVertices = cms.EDFilter( - "PrimaryVertexObjectFilter", - filterParams = pvSelector.clone( maxZ = cms.double(24.0), - minNdof = cms.double(4.0) # this is >= 4 - ), - src=cms.InputTag(pvSrc) - ) - - diff --git a/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.cc b/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.cc deleted file mode 100644 index 752948416eff2..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.cc +++ /dev/null @@ -1,381 +0,0 @@ -#include "BoostedTopProducer.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" - -#include -#include -#include - -using std::cout; -using std::endl; -using std::string; - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -BoostedTopProducer::BoostedTopProducer(const edm::ParameterSet& iConfig) - : eleToken_(consumes >(iConfig.getParameter("electronLabel"))), - muoToken_(consumes >(iConfig.getParameter("muonLabel"))), - jetToken_(consumes >(iConfig.getParameter("jetLabel"))), - metToken_(consumes >(iConfig.getParameter("metLabel"))), - solToken_(mayConsume(iConfig.getParameter("solLabel"))), - caloIsoCut_(iConfig.getParameter("caloIsoCut")), - mTop_(iConfig.getParameter("mTop")) { - //register products - produces >(); -} - -BoostedTopProducer::~BoostedTopProducer() {} - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void BoostedTopProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - using namespace edm; - - bool debug = false; - - // ----------------------------------------------------- - // get the bare PAT objects - // ----------------------------------------------------- - edm::Handle > muonHandle; - iEvent.getByToken(muoToken_, muonHandle); - std::vector const& muons = *muonHandle; - - edm::Handle > jetHandle; - iEvent.getByToken(jetToken_, jetHandle); - std::vector const& jets = *jetHandle; - - edm::Handle > electronHandle; - iEvent.getByToken(eleToken_, electronHandle); - std::vector const& electrons = *electronHandle; - - edm::Handle > metHandle; - iEvent.getByToken(metToken_, metHandle); - std::vector const& mets = *metHandle; - - // ----------------------------------------------------- - // Event Preselection: - // <= 1 isolated electron or muon - // >= 1 electron or muon - // >= 2 jets - // >= 1 missing et - // - // To explain: - // We want to look at leptons within "top jets" in some - // cases. This means the isolation will kill those events. - // However, if there IS an isolated lepton, we want only - // one of them. - // - // So to select the prompt W lepton, the logic is: - // 1. If there is an isolated lepton, accept it as the W lepton. - // 2. Else, take the highest Pt lepton (possibly non-isolated) - // - // ----------------------------------------------------- - bool preselection = true; - - // This will hold the prompt W lepton candidate, and a - // maximum pt decision variable - double maxWLeptonPt = -1; - //reco::Candidate const * Wlepton = 0; - - // ---------------------- - // Find isolated muons, and highest pt lepton - // ---------------------- - std::vector::const_iterator isolatedMuon = muons.end(); - std::vector::const_iterator muon = muons.end(); - unsigned int nIsolatedMuons = 0; - std::vector::const_iterator muonIt = muons.begin(), muonEnd = muons.end(); - for (; muonIt != muonEnd; ++muonIt) { - // Find highest pt lepton - double pt = muonIt->pt(); - if (pt > maxWLeptonPt) { - maxWLeptonPt = pt; - muon = muonIt; - } - - // Find any isolated muons - double caloIso = muonIt->caloIso(); - if (caloIso >= 0 && caloIso < caloIsoCut_) { - nIsolatedMuons++; - isolatedMuon = muonIt; - } - } - - // ---------------------- - // Find isolated electrons, and highest pt lepton - // ---------------------- - std::vector::const_iterator isolatedElectron = electrons.end(); - std::vector::const_iterator electron = electrons.end(); - unsigned int nIsolatedElectrons = 0; - std::vector::const_iterator electronIt = electrons.begin(), electronEnd = electrons.end(); - for (; electronIt != electronEnd; ++electronIt) { - // Find highest pt lepton - double pt = electronIt->pt(); - if (pt > maxWLeptonPt) { - maxWLeptonPt = pt; - electron = electronIt; - } - - // Find any isolated electrons - double caloIso = electronIt->caloIso(); - if (caloIso >= 0 && caloIso < caloIsoCut_) { - nIsolatedElectrons++; - isolatedElectron = electronIt; - } - } - - // ---------------------- - // Now decide on the "prompt" lepton from the W: - // Choose isolated leptons over all, and if no isolated, - // then take highest pt lepton. - // ---------------------- - bool isMuon = true; - if (isolatedMuon != muonEnd) { - muon = isolatedMuon; - isMuon = true; - } else if (isolatedElectron != electronEnd) { - electron = isolatedElectron; - isMuon = false; - } else { - // Set to the highest pt lepton - if (muon != muonEnd && electron == electronEnd) - isMuon = true; - else if (muon == muonEnd && electron != electronEnd) - isMuon = false; - else if (muon != muonEnd && electron != electronEnd) { - isMuon = muon->pt() > electron->pt(); - } - } - - // ---------------------- - // Veto events that have more than one isolated lepton - // ---------------------- - int nIsolatedLeptons = nIsolatedMuons + nIsolatedElectrons; - if (nIsolatedLeptons > 1) { - preselection = false; - } - - // ---------------------- - // Veto events that have no prompt lepton candidates - // ---------------------- - if (muon == muonEnd && electron == electronEnd) { - preselection = false; - } - - // ---------------------- - // Veto events with < 2 jets or no missing et - // ---------------------- - if (jets.size() < 2 || mets.empty()) { - preselection = false; - } - - bool write = false; - - // ----------------------------------------------------- - // - // CompositeCandidates to store the event solution. - // This will take one of two forms: - // a) lv jj jj Full reconstruction. - // - // ttbar-> - // (hadt -> (hadW -> hadp + hadq) + hadb) + - // (lept -> (lepW -> lepton + neutrino) + lepb) - // - // b) lv jj (j) Partial reconstruction, associate - // at least 1 jet to the lepton - // hemisphere, and at least one jet in - // the opposite hemisphere. - // - // ttbar-> - // (hadt -> (hadJet1 [+ hadJet2] ) ) + - // (lept -> (lepW -> lepton + neutrino) + lepJet1 ) - // - // There will also be two subcategories of (b) that - // will correspond to physics cases: - // - // b1) Lepton is isolated: Moderate ttbar mass. - // b2) Lepton is nonisolated: High ttbar mass. - // - // ----------------------------------------------------- - reco::CompositeCandidate ttbar("ttbar"); - AddFourMomenta addFourMomenta; - - // Main decisions after preselection - if (preselection) { - if (debug) - cout << "Preselection is satisfied" << endl; - - if (debug) - cout << "Jets.size() = " << jets.size() << endl; - - // This will be modified for the z solution, so make a copy - pat::MET neutrino(mets[0]); - - // 1. First examine the low mass case with 4 jets and widely separated - // products. We take out the TtSemiLeptonicEvent from the TQAF and - // form the ttbar invariant mass. - if (jets.size() >= 4) { - if (debug) - cout << "Getting ttbar semileptonic solution" << endl; - - // get the ttbar semileptonic event solution if there are more than 3 jets - edm::Handle eSol; - iEvent.getByToken(solToken_, eSol); - - // Have solution, continue - if (eSol.isValid()) { - if (debug) - cout << "Got a nonzero size solution vector" << endl; - // Just set the ttbar solution to the best ttbar solution from - // TtSemiEvtSolutionMaker - ttbar = eSol->eventHypo(TtSemiLeptonicEvent::kMVADisc); - write = true; - } - // No ttbar solution with 4 jets, something is weird, print a warning - else { - edm::LogWarning("DataNotFound") << "BoostedTopProducer: Cannot find TtSemiEvtSolution\n"; - } - } - // 2. With 2 or 3 jets, we decide based on the separation between - // the lepton and the closest jet in that hemisphere whether to - // consider it "moderate" or "high" mass. - else if (jets.size() == 2 || jets.size() == 3) { - // ------------------------------------------------------------------ - // First create a leptonic W candidate - // ------------------------------------------------------------------ - reco::CompositeCandidate lepW("lepW"); - - if (isMuon) { - if (debug) - cout << "Adding muon as daughter" << endl; - lepW.addDaughter(*muon, "muon"); - } else { - if (debug) - cout << "Adding electron as daughter" << endl; - lepW.addDaughter(*electron, "electron"); - } - if (debug) - cout << "Adding neutrino as daughter" << endl; - lepW.addDaughter(neutrino, "neutrino"); - addFourMomenta.set(lepW); - - //bool nuzHasComplex = false; - METzCalculator zcalculator; - - zcalculator.SetMET(neutrino); - if (isMuon) - zcalculator.SetMuon(*muon); - else - zcalculator.SetMuon(*electron); // This name is misleading, should be setLepton - double neutrinoPz = zcalculator.Calculate(1); // closest to the lepton Pz - //if (zcalculator.IsComplex()) nuzHasComplex = true; - // Set the neutrino pz - neutrino.setPz(neutrinoPz); - - if (debug) - cout << "Set neutrino pz to " << neutrinoPz << endl; - - // ------------------------------------------------------------------ - // Next ensure that there is a jet within the hemisphere of the - // leptonic W, and one in the opposite hemisphere - // ------------------------------------------------------------------ - reco::CompositeCandidate hadt("hadt"); - reco::CompositeCandidate lept("lept"); - if (debug) - cout << "Adding lepW as daughter" << endl; - lept.addDaughter(lepW, "lepW"); - - std::string hadName("hadJet"); - std::string lepName("lepJet"); - - // Get the W momentum - TLorentzVector p4_W(lepW.px(), lepW.py(), lepW.pz(), lepW.energy()); - - // Loop over the jets - std::vector::const_iterator jetit = jets.begin(), jetend = jets.end(); - unsigned long ii = 1; // Count by 1 for naming histograms - for (; jetit != jetend; ++jetit, ++ii) { - // Get this jet's momentum - TLorentzVector p4_jet(jetit->px(), jetit->py(), jetit->pz(), jetit->energy()); - - // Calculate psi (like DeltaR, only more invariant under Rapidity) - double psi = Psi(p4_W, p4_jet, mTop_); - - // Get jets that are in the leptonic hemisphere - if (psi < TMath::Pi()) { - // Add this jet to the leptonic top - std::stringstream s; - s << lepName << ii; - if (debug) - cout << "Adding daughter " << s.str() << endl; - lept.addDaughter(*jetit, s.str()); - } - // Get jets that are in the hadronic hemisphere - if (psi > TMath::Pi()) { - // Add this jet to the hadronic top. We don't - // make any W hypotheses in this case, since - // we cannot determine which of the three - // jets are merged. - std::stringstream s; - s << hadName << ii; - if (debug) - cout << "Adding daughter " << s.str() << endl; - hadt.addDaughter(*jetit, s.str()); - } - } // end loop over jets - - addFourMomenta.set(lept); - addFourMomenta.set(hadt); - - bool lepWHasJet = lept.numberOfDaughters() >= 2; // W and >= 1 jet - bool hadWHasJet = hadt.numberOfDaughters() >= 1; // >= 1 jet - if (lepWHasJet && hadWHasJet) { - if (debug) - cout << "Adding daughters lept and hadt" << endl; - ttbar.addDaughter(lept, "lept"); - ttbar.addDaughter(hadt, "hadt"); - addFourMomenta.set(ttbar); - write = true; - } // end of hadronic jet and leptonic jet - - } // end if there are 2 or 3 jets - - } // end if preselection is satisfied - - // Write the solution to the event record - std::vector ttbarList; - if (write) { - if (debug) - cout << "Writing out" << endl; - ttbarList.push_back(ttbar); - } - std::unique_ptr > pTtbar(new std::vector(ttbarList)); - iEvent.put(std::move(pTtbar)); -} - -double BoostedTopProducer::Psi(const TLorentzVector& p1, const TLorentzVector& p2, double mass) { - TLorentzVector ptot = p1 + p2; - Double_t theta1 = TMath::ACos((p1.Vect().Dot(ptot.Vect())) / (p1.P() * ptot.P())); - Double_t theta2 = TMath::ACos((p2.Vect().Dot(ptot.Vect())) / (p2.P() * ptot.P())); - //Double_t sign = 1.; - //if ( (theta1+theta2) > (TMath::Pi()/2) ) sign = -1.; - double th1th2 = theta1 + theta2; - double psi = (p1.P() + p2.P()) * TMath::Abs(TMath::Sin(th1th2)) / (2. * mass); - if (th1th2 > (TMath::Pi() / 2)) - psi = (p1.P() + p2.P()) * (1. + TMath::Abs(TMath::Cos(th1th2))) / (2. * mass); - - return psi; -} - -//define this as a plug-in -DEFINE_FWK_MODULE(BoostedTopProducer); diff --git a/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.h b/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.h deleted file mode 100644 index 530587006c501..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef TopQuarkAnalysis_TopPairBSM_interface_BoostedTopProducer_h -#define TopQuarkAnalysis_TopPairBSM_interface_BoostedTopProducer_h - -// -*- C++ -*- -// -// Package: BoostedTopProducer -// Class: BoostedTopProducer -// -/**\class BoostedTopProducer BoostedTopProducer.cc BoostedTopProducer.cc - - Description: Class to examine boosted ttbar pairs in multiple mass regions. - - This will produce a ttbar solution, which will take one of two forms: - a) lv jj jj Full reconstruction. - - ttbar-> - (hadt -> (hadW -> hadp + hadq) + hadb) + - (lept -> (lepW -> lepton + neutrino) + lepb) - - b) lv jj (j) Partial reconstruction, associate - at least 1 jet to the lepton - hemisphere, and at least one jet in - the opposite hemisphere. - - ttbar-> - (hadt -> (hadJet1 [+ hadJet2] ) ) + - (lept -> (lepW -> lepton + neutrino) + lepJet1 ) - - There will also be two subcategories of (b) that - will correspond to physics cases: - - b1) Lepton is isolated: Moderate ttbar mass. - b2) Lepton is nonisolated: High ttbar mass. - - - Implementation: - To implement this, we use the NamedCompositeCandidate structures - from the Candidate model. This provides flexibility in the definition of the - output objects and allows automatic plotting in the Starter Kit. - We use the PAT objects to construct the ttbar solutions in the different ranges - as follows: - a) Full reconstruction: We use TtSemiEventSolutions made upstream of this module. - b) Partial reconstruction: Association of variables using the "Psi" variable, - which is a more rapidity-invariant version of deltaR. -*/ -// -// Original Author: "Salvatore Rappoccio" -// Created: Thu May 1 11:37:48 CDT 2008 -// -// - -// system include files -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/Jet.h" -#include "DataFormats/PatCandidates/interface/MET.h" -#include "DataFormats/PatCandidates/interface/Hemisphere.h" - -#include "METzCalculator.h" -#include "AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h" -#include "TLorentzVector.h" -#include "TMath.h" - -// -// class decleration -// - -class BoostedTopProducer : public edm::EDProducer { -public: - explicit BoostedTopProducer(const edm::ParameterSet&); - ~BoostedTopProducer() override; - -private: - void produce(edm::Event&, const edm::EventSetup&) override; - - // ----------member data --------------------------- - - // data labels - edm::EDGetTokenT > eleToken_; - edm::EDGetTokenT > muoToken_; - edm::EDGetTokenT > jetToken_; - edm::EDGetTokenT > metToken_; - edm::EDGetTokenT solToken_; - - // Cut variables - double caloIsoCut_; // isolation cut to consider a lepton isolated - double mTop_; // input top mass - - // Rapidity-invariant deltaR - double Psi(const TLorentzVector& p1, const TLorentzVector& p2, double mass); -}; - -#endif diff --git a/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.cc b/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.cc deleted file mode 100644 index c28085e176dbd..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.cc +++ /dev/null @@ -1,347 +0,0 @@ -/**_________________________________________________________________ - class: JetCombinatorics.cc - package: Analyzer/TopTools - - - author: Francisco Yumiceva, Fermilab (yumiceva@fnal.gov) - - version $Id: JetCombinatorics.cc,v 1.3 2009/07/30 06:02:21 jengbou Exp $ - -________________________________________________________________**/ - -#include "JetCombinatorics.h" -#include "TMath.h" - -#include - -std::string itoa(int i) { - char temp[20]; - sprintf(temp, "%d", i); - return ((std::string)temp); -} - -//_______________________________________________________________ -JetCombinatorics::JetCombinatorics() { - this->Clear(); - - minMassLepW_ = -999999.; - maxMassLepW_ = 999999.; - minMassHadW_ = -999999.; - maxMassHadW_ = 999999.; - minMassLepTop_ = -999999.; - maxMassLepTop_ = 999999.; - - minPhi_ = -1.; - removeDuplicates_ = true; - maxNJets_ = 9999; - verbosef = false; - UsebTagging_ = false; - UseMtop_ = true; - SigmasTypef = 0; - UseFlv_ = false; - - Template4jCombos_ = NestedCombinatorics(); // 12 combinations - Template5jCombos_ = Combinatorics(4, 5); // 5 combinations of 4 combos - Template6jCombos_ = Combinatorics(4, 6); // 15 combinations of 4 combos - Template7jCombos_ = Combinatorics(4, 7); // xx combinations of 4 combos -} - -//_______________________________________________________________ -JetCombinatorics::~JetCombinatorics() { this->Clear(); } - -//_______________________________________________________________ -void JetCombinatorics::Clear() { - allCombos_.clear(); - allCombosSumEt_.clear(); - Template4jCombos_.clear(); - Template5jCombos_.clear(); - Template6jCombos_.clear(); - Template7jCombos_.clear(); - cand1_.clear(); -} - -//_______________________________________________________________ -std::map JetCombinatorics::Combinatorics(int n, int max) { - // find a combinatorics template - // This is a simple stupid function to make algebratic combinatorics - - int kcombos = n; - int maxcombos = max; - - std::string list; - - for (int m = 0; m < maxcombos; m++) { - list = list + (itoa(m)); - } - - std::string seed; - for (int m = 0; m < kcombos; m++) { - seed = seed + (itoa(m)); - } - - std::map aTemplateCombos; - aTemplateCombos.clear(); - - aTemplateCombos[0] = seed; - - int i = 0; - int totalmatches = seed.size(); - int totalIte = list.size(); - - for (int ite = 0; ite < ((int)totalIte); ite++) { - //cout << "iteration " << ite << endl; - //i = 0; - //for ( Itevec = seed.begin(); Itevec != seed.end(); ++Itevec) { - for (i = 0; i < (int)totalmatches; i++) { - std::string newseed = aTemplateCombos[ite]; - std::string newseed2; - /* - cout << "newseed size= " << newseed.size() << " : "; - for (std::vector< std::string>::iterator iite = newseed.begin(); - iite != newseed.end(); ++iite) { - - cout << *iite << " "; - } - cout << endl; - */ - for (int itemp = 0; itemp < (int)newseed.size(); itemp++) { - if (itemp != i) - newseed2 = newseed2 + (newseed[itemp]); - } - /* - cout << "newseed2: "; - for (std::vector< std::string>::iterator iite = newseed2.begin(); - iite != newseed2.end(); ++iite) { - - cout << *iite << " "; - } - cout << endl; - */ - for (int j = 0; j < (int)list.size(); j++) { - //cout << " j = " << j << endl; - bool Isnewelement = true; - std::string newelement = "0"; - //bool Isnewcombo = true; - for (int k = 0; k < (int)newseed2.size(); k++) { - if (list[j] == newseed2[k]) - Isnewelement = false; - } - if (Isnewelement) { - newelement = list[j]; - //cout << "new element: " << newelement << endl; - - std::string candseed = newseed2; - candseed = candseed + newelement; - - bool IsnewCombo = true; - for (int ic = 0; ic < (int)aTemplateCombos.size(); ++ic) { - int nmatch = 0; - for (int ij = 0; ij < (int)(aTemplateCombos[ic]).size(); ij++) { - for (int ik = 0; ik < (int)candseed.size(); ik++) { - if (candseed[ik] == aTemplateCombos[ic][ij]) - nmatch++; - } - } - if (nmatch == (int)totalmatches) - IsnewCombo = false; - } - if (IsnewCombo) { - //cout << "new combo"<< " before combo size=" << aTemplateCombos.size() << endl; - aTemplateCombos[(int)aTemplateCombos.size()] = candseed; - //cout << " after size = " << aTemplateCombos.size() << endl; - } - } - } - } - } //close iterations - - // debug info - - //std::cout << " build templates for total combos = " << aTemplateCombos.size() << std::endl; - //std::cout << " template combos: " << std::endl; - //for (size_t ic=0; ic != aTemplateCombos.size(); ++ic) { - - //std::cout << aTemplateCombos[ic] << std::endl; - //} - - return aTemplateCombos; -} - -//______________________________________________________________ -std::map JetCombinatorics::NestedCombinatorics() { - // build by hand 12 combinations for semileptonic top decays - - std::map aTemplateCombos; - aTemplateCombos.clear(); - - aTemplateCombos[0] = "0123"; - aTemplateCombos[1] = "0132"; - aTemplateCombos[2] = "0213"; - aTemplateCombos[3] = "0231"; - aTemplateCombos[4] = "0312"; - aTemplateCombos[5] = "0321"; - aTemplateCombos[6] = "1203"; - aTemplateCombos[7] = "1230"; - aTemplateCombos[8] = "1302"; - aTemplateCombos[9] = "1320"; - aTemplateCombos[10] = "2301"; - aTemplateCombos[11] = "2310"; - - return aTemplateCombos; -} - -//______________________________________________________________ -void JetCombinatorics::FourJetsCombinations(const std::vector& jets, - const std::vector& bdiscriminators) { - int n = 0; // total number of combos - std::map allCombos; - std::map allCombosSumEt; - - std::map aTemplateCombos; - aTemplateCombos.clear(); - - if (jets.size() == 4) - aTemplateCombos[0] = std::string("0123"); - if (jets.size() == 5) - aTemplateCombos = Template5jCombos_; - if (jets.size() == 6) - aTemplateCombos = Template6jCombos_; - if (jets.size() == 7) - aTemplateCombos = Template7jCombos_; - - // force to use only 4 jets - if (maxNJets_ == 4) - aTemplateCombos[0] = std::string("0123"); - - if (verbosef) - std::cout << "[JetCombinatorics] size of vector of jets = " << jets.size() << std::endl; - - for (size_t ic = 0; ic != aTemplateCombos.size(); ++ic) { - if (verbosef) - std::cout << "[JetCombinatorics] get 4 jets from the list, cluster # " << ic << "/" << aTemplateCombos.size() - 1 - << std::endl; - - // get a template - std::string aTemplate = aTemplateCombos[ic]; - - if (verbosef) - std::cout << "[JetCombinatorics] template of 4 jets = " << aTemplate << std::endl; - - // make a list of 4 jets - std::vector the4jets; - std::vector the4Ids; - std::vector thebdisc; - std::vector theFlvCorr; - //the4jets[0] = jets[0]; - - for (int ij = 0; ij < 4; ij++) { - //std::cout << "ij= " << ij << std::endl; - //std::cout << "atoi = " << atoi((aTemplate.substr(0,1)).c_str()) << std::endl; - //std::cout << "jets[].Pt = " << jets[ij].Pt() << std::endl; - int tmpi = atoi((aTemplate.substr(ij, 1)).c_str()); - //std::cout << "tmpi= " << tmpi << std::endl; - the4jets.push_back(jets[tmpi]); - the4Ids.push_back(tmpi); - if (UsebTagging_) - thebdisc.push_back(bdiscriminators[tmpi]); - if (UseFlv_) - theFlvCorr.push_back(flavorCorrections_[tmpi]); - } - - if (verbosef) - std::cout << "[JetCombinatorics] with these 4 jets, make 12 combinations: " << std::endl; - - //std::cout << " the4jets[ij].size = " << the4jets.size() << std::endl; - - for (size_t itemplate = 0; itemplate != Template4jCombos_.size(); ++itemplate) { - std::string a4template = Template4jCombos_[itemplate]; - - if (verbosef) - std::cout << "[JetCombinatorics] ==> combination: " << a4template << " is # " << itemplate << "/" - << Template4jCombos_.size() - 1 << std::endl; - - Combo acombo; - - acombo.SetWp(the4jets[atoi((a4template.substr(0, 1)).c_str())]); - acombo.SetWq(the4jets[atoi((a4template.substr(1, 1)).c_str())]); - acombo.SetHadb(the4jets[atoi((a4template.substr(2, 1)).c_str())]); - acombo.SetLepb(the4jets[atoi((a4template.substr(3, 1)).c_str())]); - acombo.SetLepW(theLepW_); - - acombo.SetIdWp(the4Ids[atoi((a4template.substr(0, 1)).c_str())]); - acombo.SetIdWq(the4Ids[atoi((a4template.substr(1, 1)).c_str())]); - acombo.SetIdHadb(the4Ids[atoi((a4template.substr(2, 1)).c_str())]); - acombo.SetIdLepb(the4Ids[atoi((a4template.substr(3, 1)).c_str())]); - //std::cout << " acombo setup" << std::endl; - - if (UseFlv_) { - acombo.SetFlvCorrWp(theFlvCorr[atoi((a4template.substr(0, 1)).c_str())]); - acombo.SetFlvCorrWq(theFlvCorr[atoi((a4template.substr(1, 1)).c_str())]); - acombo.SetFlvCorrHadb(theFlvCorr[atoi((a4template.substr(2, 1)).c_str())]); - acombo.SetFlvCorrLepb(theFlvCorr[atoi((a4template.substr(3, 1)).c_str())]); - acombo.ApplyFlavorCorrections(); - } - if (UsebTagging_) { - acombo.Usebtagging(); - acombo.SetbDiscPdf(bTagPdffilename_); - acombo.SetWp_disc(thebdisc[atoi((a4template.substr(0, 1)).c_str())]); - acombo.SetWq_disc(thebdisc[atoi((a4template.substr(1, 1)).c_str())]); - acombo.SetHadb_disc(thebdisc[atoi((a4template.substr(2, 1)).c_str())]); - acombo.SetLepb_disc(thebdisc[atoi((a4template.substr(3, 1)).c_str())]); - } - - acombo.UseMtopConstraint(UseMtop_); - // choose value of sigmas - acombo.SetSigmas(SigmasTypef); - - acombo.analyze(); - - if (verbosef) { - std::cout << "[JetCombinatorics] ==> combination done:" << std::endl; - acombo.Print(); - } - - // invariant mass cuts - TLorentzVector aHadWP4 = acombo.GetHadW(); - TLorentzVector aLepWP4 = acombo.GetLepW(); - TLorentzVector aLepTopP4 = acombo.GetLepTop(); - - if ((aHadWP4.M() > minMassHadW_ && aHadWP4.M() < maxMassHadW_) && - (aLepWP4.M() > minMassLepW_ && aLepWP4.M() < maxMassLepW_) && - (aLepTopP4.M() > minMassLepTop_ && aLepTopP4.M() < maxMassLepTop_)) { - allCombos[acombo] = n; - allCombosSumEt[acombo] = n; - - n++; - } - } - } - - allCombos_ = allCombos; - allCombosSumEt_ = allCombosSumEt; -} - -Combo JetCombinatorics::GetCombination(int n) { - int j = 0; - Combo a; - for (std::map::const_iterator ite = allCombos_.begin(); ite != allCombos_.end(); ++ite) { - if (j == n) - a = ite->first; - j++; - } - - return a; -} - -Combo JetCombinatorics::GetCombinationSumEt(int n) { - int j = 0; - Combo a; - for (std::map::const_iterator ite = allCombosSumEt_.begin(); ite != allCombosSumEt_.end(); - ++ite) { - if (j == n) - a = ite->first; - j++; - } - - return a; -} diff --git a/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.h b/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.h deleted file mode 100644 index 0140492091f47..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/JetCombinatorics.h +++ /dev/null @@ -1,358 +0,0 @@ -#ifndef JetCombinatorics_h -#define JetCombinatorics_h - -/**_________________________________________________________________ - class: JetCombinatorics.h - package: - - - author: Francisco Yumiceva, Fermilab (yumiceva@fnal.gov) - - version $Id: JetCombinatorics.h,v 1.4 2010/02/05 22:01:38 yumiceva Exp $ - -________________________________________________________________**/ - -#include "TLorentzVector.h" -#include "TString.h" -#include "TH1F.h" -#include "TFile.h" -#include "TMath.h" -#include -#include -#include - -class Combo { -public: - Combo() { - MW = 84.2; //79.8; - Mtop_h = 180.7; //175.; - Mtop_l = 174.9; - sigmaHadW = 10.5; //2.*7.6; - sigmaHadt = 19.2; //2.*12.5; - sigmaLept = 24.2; //2.*15.6; - - SumEt_ = 0.; - usebtag_ = false; - useMtop_ = true; - - useFlv_ = false; - Wp_flv_ = Wq_flv_ = Hadb_flv_ = Lepb_flv_ = 1.; - } - ~Combo(){}; - - void SetWp(const TLorentzVector& Wp) { Wp_ = Wp; } - void SetWq(const TLorentzVector& Wq) { Wq_ = Wq; } - void SetHadb(const TLorentzVector& Hadb) { Hadb_ = Hadb; } - void SetLepW(const TLorentzVector& LepW) { LepW_ = LepW; } - void SetLepb(const TLorentzVector& Lepb) { Lepb_ = Lepb; } - // flavor corrections - void ApplyFlavorCorrections(bool option = true) { useFlv_ = option; } - void SetFlvCorrWp(double corr) { Wp_flv_ = corr; } - void SetFlvCorrWq(double corr) { Wq_flv_ = corr; } - void SetFlvCorrHadb(double corr) { Hadb_flv_ = corr; } - void SetFlvCorrLepb(double corr) { Lepb_flv_ = corr; } - // b tagging - void SetWp_disc(double disc) { Wp_disc_ = disc; } - void SetWq_disc(double disc) { Wq_disc_ = disc; } - void SetHadb_disc(double disc) { Hadb_disc_ = disc; } - void SetLepb_disc(double disc) { Lepb_disc_ = disc; } - void SetbDiscPdf(const TString& filename) { - pdffile_ = TFile::Open(filename); - hdisc_b_ = (TH1F*)gDirectory->Get("hdiscNorm_b"); - hdisc_cl_ = (TH1F*)gDirectory->Get("hdiscNorm_cl"); - } - void SetSigmas(int type = 0) { - // type == 0 take defaults - if (type == 1) { - // JES +10% - MW = 87.2; - Mtop_h = 193.2; - Mtop_l = 179.0; - sigmaHadW = 13.0; - sigmaHadt = 22.8; - sigmaLept = 26.3; - } - if (type == -1) { - // JES -10% - MW = 81.6; - Mtop_h = 169.3; - Mtop_l = 171.4; - sigmaHadW = 8.9; - sigmaHadt = 17.9; - sigmaLept = 22.6; - } - } - void Usebtagging(bool option = true) { usebtag_ = option; } - void SetMinMassLepW(double mass) { minMassLepW_ = mass; } - void SetMaxMassLepW(double mass) { maxMassLepW_ = mass; } - void SetMinMassHadW(double mass) { minMassHadW_ = mass; } - void SetMaxMassHadW(double mass) { maxMassHadW_ = mass; } - void SetMinMassLepTop(double mass) { minMassLepTop_ = mass; } - void SetMaxMassLepTop(double mass) { maxMassLepTop_ = mass; } - void UseMtopConstraint(bool option = true) { useMtop_ = option; } - - void analyze() { - if (useFlv_) { - Wp_ = Wp_flv_ * Wp_; - Wq_ = Wq_flv_ * Wq_; - Hadb_ = Hadb_flv_ * Hadb_; - Lepb_ = Lepb_flv_ * Lepb_; - } - - HadW_ = Wp_ + Wq_; - HadTop_ = HadW_ + Hadb_; - LepTop_ = LepW_ + Lepb_; - TopPair_ = HadTop_ + LepTop_; - - //double sigmaHadW = 10.5;//2.*7.6; - //double sigmaHadt = 19.2;//2.*12.5; - //double sigmaLept = 24.2;//2.*15.6; - - double chiHadW = (HadW_.M() - MW) / sigmaHadW; - double chiHadt = (HadTop_.M() - Mtop_h) / sigmaHadt; - double chiLept = (LepTop_.M() - Mtop_l) / sigmaLept; - - if (useMtop_) { - chi2_ = chiHadW * chiHadW + chiHadt * chiHadt + chiLept * chiLept; - Ndof_ = 3; - } else { - chi2_ = chiHadW * chiHadW + (HadTop_.M() - LepTop_.M()) * (HadTop_.M() - LepTop_.M()) / - (sigmaHadt * sigmaHadt + sigmaLept * sigmaLept); - Ndof_ = 2; - } - - SumEt_ = HadTop_.Pt(); - - if (usebtag_) { - double gauss_norm = (2.) * TMath::Log(sigmaHadW * TMath::Sqrt(2 * TMath::Pi())) + - (2.) * TMath::Log(sigmaHadt * TMath::Sqrt(2 * TMath::Pi())) + - (2.) * TMath::Log(sigmaLept * TMath::Sqrt(2 * TMath::Pi())); - - double LR_Wp; - double LR_Wq; - double LR_Hadb; - double LR_Lepb; - - double LR_den = 0; - LR_den = (getPdfValue("cl", Wp_disc_) + getPdfValue("b", Wp_disc_)); - if (LR_den == 0) - LR_Wp = 1e-5; - else - LR_Wp = getPdfValue("cl", Wp_disc_) / LR_den; - - LR_den = (getPdfValue("cl", Wq_disc_) + getPdfValue("b", Wq_disc_)); - if (LR_den == 0) - LR_Wq = 1e-5; - else - LR_Wq = getPdfValue("cl", Wq_disc_) / LR_den; - - LR_den = (getPdfValue("cl", Hadb_disc_) + getPdfValue("b", Hadb_disc_)); - if (LR_den == 0) - LR_Hadb = 1e-5; - else - LR_Hadb = getPdfValue("b", Hadb_disc_) / LR_den; - - LR_den = (getPdfValue("cl", Lepb_disc_) + getPdfValue("b", Lepb_disc_)); - if (LR_den == 0) - LR_Lepb = 1e-5; - else - LR_Lepb = getPdfValue("b", Lepb_disc_) / LR_den; - - double btag_norm = (-0.25 - TMath::Log(4) / 2); - double btag_N2LL = btag_norm * 4. * - (LR_Wp * TMath::Log(LR_Wp / 4) + LR_Wq * TMath::Log(LR_Wq / 4) + - LR_Hadb * TMath::Log(LR_Hadb / 4) + LR_Lepb * TMath::Log(LR_Lepb / 4)); - - chi2_ += btag_N2LL + gauss_norm; - Ndof_ += 3; - pdffile_->Close(); - } - } - - TLorentzVector GetWp() { return Wp_; } - TLorentzVector GetWq() { return Wq_; } - TLorentzVector GetHadW() { return HadW_; } - TLorentzVector GetLepW() { return LepW_; } - TLorentzVector GetHadb() { return Hadb_; } - TLorentzVector GetLepb() { return Lepb_; } - TLorentzVector GetHadTop() { return HadTop_; } - TLorentzVector GetLepTop() { return LepTop_; } - TLorentzVector GetTopPair() { return TopPair_; } - double GetChi2() const { return chi2_; } - double GetNdof() { return Ndof_; } - double GetSumEt() const { return SumEt_; } - int GetIdHadb() { return IdHadb_; } - int GetIdWp() { return IdWp_; } - int GetIdWq() { return IdWq_; } - int GetIdLepb() { return IdLepb_; } - void SetIdHadb(int id) { IdHadb_ = id; } - void SetIdWp(int id) { IdWp_ = id; } - void SetIdWq(int id) { IdWq_ = id; } - void SetIdLepb(int id) { IdLepb_ = id; } - void Print() { - std::cout << " jet Wp : px = " << Wp_.Px() << " py = " << Wp_.Py() << " pz = " << Wp_.Pz() << " e = " << Wp_.E() - << std::endl; - std::cout << " jet Wq : px = " << Wq_.Px() << " py = " << Wq_.Py() << " pz = " << Wq_.Pz() << " e = " << Wq_.E() - << std::endl; - std::cout << " jet Hadb: px = " << Hadb_.Px() << " py = " << Hadb_.Py() << " pz = " << Hadb_.Pz() - << " e = " << Hadb_.E() << std::endl; - std::cout << " jet Lepb: px = " << Lepb_.Px() << " py = " << Lepb_.Py() << " pz = " << Lepb_.Pz() - << " e = " << Lepb_.E() << std::endl; - std::cout << " chi-squared = " << chi2_ << " sumEt = " << SumEt_ << std::endl; - } - double getPdfValue(std::string flavor, double disc) { - double pdf = 0; - TH1F* hpdf; - if (flavor == "b") - hpdf = hdisc_b_; - else - hpdf = hdisc_cl_; - int bin = hpdf->GetXaxis()->FindBin(disc); - pdf = hpdf->GetBinContent(bin); - if (disc < -10 || disc > 50) - return 0; - //if ( pdf == 0 ) return 1.e-7; - return pdf; - } - -private: - TLorentzVector Wp_; - TLorentzVector Wq_; - TLorentzVector HadW_; - TLorentzVector Hadb_; - TLorentzVector HadTop_; - TLorentzVector LepW_; - TLorentzVector Lepb_; - TLorentzVector LepTop_; - TLorentzVector TopPair_; - - bool usebtag_; - bool useMtop_; - double Wp_disc_; - double Wq_disc_; - double Hadb_disc_; - double Lepb_disc_; - TFile* pdffile_; - TH1F* hdisc_b_; - TH1F* hdisc_cl_; - - double Wp_flv_, Wq_flv_, Hadb_flv_, Lepb_flv_; - bool useFlv_; - double chi2_; - double Ndof_; - double SumEt_; - double minMassLepW_; - double maxMassLepW_; - double minMassHadW_; - double maxMassHadW_; - - double minMassLepTop_; - double maxMassLepTop_; - - double MW; - double Mtop_h; - double Mtop_l; - double sigmaHadW; - double sigmaHadt; - double sigmaLept; - - int IdHadb_; - int IdWp_; - int IdWq_; - int IdLepb_; -}; - -struct minChi2 { - bool operator()(const Combo& s1, const Combo& s2) const { return s1.GetChi2() <= s2.GetChi2(); } -}; - -struct maxSumEt { - bool operator()(const Combo& s1, const Combo& s2) const { return s1.GetSumEt() >= s2.GetSumEt(); } -}; - -class JetCombinatorics { -public: - JetCombinatorics(); - ~JetCombinatorics(); - - void Verbose() { verbosef = true; } - - std::map Combinatorics(int k, int max = 6); - std::map NestedCombinatorics(); - - void FourJetsCombinations(const std::vector& jets, const std::vector& bdiscriminators); - void SetFlavorCorrections(const std::vector& vector) { flavorCorrections_ = vector; } - void SetMaxNJets(int n) { maxNJets_ = n; } - Combo GetCombination(int n = 0); - Combo GetCombinationSumEt(int n = 0); - int GetNumberOfCombos() { return ((int)allCombos_.size()); } - //void SetCandidate( std::vector< TLorentzVector > JetCandidates ); - - void SetSigmas(int type = 0) { SigmasTypef = type; } - void SetLeptonicW(const TLorentzVector& LepW) { theLepW_ = LepW; } - - void SetMinMassLepW(double mass) { minMassLepW_ = mass; } - void SetMaxMassLepW(double mass) { maxMassLepW_ = mass; } - void SetMinMassHadW(double mass) { minMassHadW_ = mass; } - void SetMaxMassHadW(double mass) { maxMassHadW_ = mass; } - void SetMinMassLepTop(double mass) { minMassLepTop_ = mass; } - void SetMaxMassLepTop(double mass) { maxMassLepTop_ = mass; } - - void UsebTagging(bool option = true) { UsebTagging_ = option; } - void ApplyFlavorCorrection(bool option = true) { UseFlv_ = option; } - void UseMtopConstraint(bool option = true) { UseMtop_ = option; } - void SetbTagPdf(const TString& name) { bTagPdffilename_ = name; } - void Clear(); - - std::vector TwoCombos(); - std::vector ThreeCombos(); - - void RemoveDuplicates(bool option) { removeDuplicates_ = option; } - - std::vector GetComposites(); - void AnalyzeCombos(); - -private: - //int kcombos_; - //int maxcombos_; - int SigmasTypef; - bool verbosef; - std::map Template4jCombos_; - std::map Template5jCombos_; - std::map Template6jCombos_; - std::map Template7jCombos_; - - std::vector flavorCorrections_; - int maxNJets_; - bool UsebTagging_; - bool UseMtop_; - TString bTagPdffilename_; - bool UseFlv_; - - TLorentzVector theLepW_; - - double minMassLepW_; - double maxMassLepW_; - double minMassHadW_; - double maxMassHadW_; - double minMassLepTop_; - double maxMassLepTop_; - - std::map allCombos_; - std::map allCombosSumEt_; - - Double_t minPhi_; - double chi2_; - int ndf_; - bool removeDuplicates_; - - std::vector cand1_; - std::vector cand2_; - std::vector cand3_; - - //int nLists_; - - //std::vector< TLorentzVector > composites_; -}; - -#endif diff --git a/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.cc b/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.cc deleted file mode 100644 index 982b41b4d09c3..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.cc +++ /dev/null @@ -1,94 +0,0 @@ - -#include "METzCalculator.h" -#include "TMath.h" - -/// constructor -METzCalculator::METzCalculator() { isComplex_ = false; } - -/// destructor -METzCalculator::~METzCalculator() {} - -/// member functions -double METzCalculator::Calculate(int type) { - double M_W = 80.4; - double M_mu = 0.10566; - double emu = lepton_.energy(); - double pxmu = lepton_.px(); - double pymu = lepton_.py(); - double pzmu = lepton_.pz(); - double pxnu = MET_.px(); - double pynu = MET_.py(); - double pznu = 0.; - - double a = M_W * M_W - M_mu * M_mu + 2.0 * pxmu * pxnu + 2.0 * pymu * pynu; - double A = 4.0 * (emu * emu - pzmu * pzmu); - double B = -4.0 * a * pzmu; - double C = 4.0 * emu * emu * (pxnu * pxnu + pynu * pynu) - a * a; - - double tmproot = B * B - 4.0 * A * C; - - if (tmproot < 0) { - isComplex_ = true; - pznu = -B / (2 * A); // take real part of complex roots - - //std::cout << " Neutrino Solutions: complex, real part " << pznu << std::endl; - } else { - isComplex_ = false; - double tmpsol1 = (-B + TMath::Sqrt(tmproot)) / (2.0 * A); - double tmpsol2 = (-B - TMath::Sqrt(tmproot)) / (2.0 * A); - - //std::cout << " Neutrino Solutions: " << tmpsol1 << ", " << tmpsol2 << std::endl; - - if (type == 0) { - // two real roots, pick the one closest to pz of muon - if (TMath::Abs(tmpsol2 - pzmu) < TMath::Abs(tmpsol1 - pzmu)) { - pznu = tmpsol2; - } else - pznu = tmpsol1; - // if pznu is > 300 pick the most central root - if (pznu > 300.) { - if (TMath::Abs(tmpsol1) < TMath::Abs(tmpsol2)) - pznu = tmpsol1; - else - pznu = tmpsol2; - } - } - if (type == 1) { - // two real roots, pick the one closest to pz of muon - if (TMath::Abs(tmpsol2 - pzmu) < TMath::Abs(tmpsol1 - pzmu)) { - pznu = tmpsol2; - } else - pznu = tmpsol1; - } - if (type == 2) { - // pick the most central root. - if (TMath::Abs(tmpsol1) < TMath::Abs(tmpsol2)) - pznu = tmpsol1; - else - pznu = tmpsol2; - } - if (type == 3) { - // pick the largest value of the cosine - TVector3 p3w, p3mu; - p3w.SetXYZ(pxmu + pxnu, pymu + pynu, pzmu + tmpsol1); - p3mu.SetXYZ(pxmu, pymu, pzmu); - - double sinthcm1 = 2. * (p3mu.Perp(p3w)) / M_W; - p3w.SetXYZ(pxmu + pxnu, pymu + pynu, pzmu + tmpsol2); - double sinthcm2 = 2. * (p3mu.Perp(p3w)) / M_W; - - double costhcm1 = TMath::Sqrt(1. - sinthcm1 * sinthcm1); - double costhcm2 = TMath::Sqrt(1. - sinthcm2 * sinthcm2); - - if (costhcm1 > costhcm2) - pznu = tmpsol1; - else - pznu = tmpsol2; - } - } - - //Particle neutrino; - //neutrino.setP4( LorentzVector(pxnu, pynu, pznu, TMath::Sqrt(pxnu*pxnu + pynu*pynu + pznu*pznu ))) ; - - return pznu; -} diff --git a/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.h b/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.h deleted file mode 100644 index fe109d6f30a21..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/src/METzCalculator.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef METzCalculator_h -#define METzCalculator_h - -/**_________________________________________________________________ - class: METzCalculator.h - - author: Francisco Yumiceva, Fermilab (yumiceva@fnal.gov) - - version $Id: METzCalculator.h,v 1.3 2009/07/30 06:02:19 jengbou Exp $ - -________________________________________________________________**/ - -//#include "FWCore/Framework/interface/Event.h" -//#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/PatCandidates/interface/Particle.h" -#include "DataFormats/PatCandidates/interface/MET.h" - -#include "TLorentzVector.h" - -class METzCalculator { -public: - /// constructor - METzCalculator(); - //METzCalculator(const edm::ParameterSEt& iConf); - /// destructor - virtual ~METzCalculator(); - /// Set MET - void SetMET(const pat::MET& MET) { MET_ = MET; }; - void SetMET(const TLorentzVector& MET) { - pat::Particle::LorentzVector p(MET.Px(), MET.Py(), MET.Pz(), MET.E()); - MET_.setP4(p); - } - /// Set Muon - void SetMuon(const pat::Particle& lepton) { lepton_ = lepton; }; - void SetMuon(const TLorentzVector& lepton) { - pat::Particle::LorentzVector p(lepton.Px(), lepton.Py(), lepton.Pz(), lepton.E()); - lepton_.setP4(p); - } - /// Calculate MEz - /// options to choose roots from quadratic equation: - /// type = 0 (defalut): if real roots, pick the one nearest to - /// the lepton Pz except when the Pz so chosen - /// is greater than 300 GeV in which case pick - /// the most central root. - /// type = 1: if real roots, choose the one closest to the lepton Pz - /// if complex roots, use only the real part. - /// type = 2: if real roots, choose the most central solution. - /// if complex roots, use only the real part. - /// type = 3: if real roots, pick the largest value of the cosine* - double Calculate(int type = 0); - /// check for complex root - bool IsComplex() const { return isComplex_; }; - - void Print() { - std::cout << " METzCalculator: pxmu = " << lepton_.px() << " pzmu= " << lepton_.pz() << std::endl; - std::cout << " METzCalculator: pxnu = " << MET_.px() << " pynu= " << MET_.py() << std::endl; - } - -private: - bool isComplex_; - pat::Particle lepton_; - pat::MET MET_; -}; - -#endif diff --git a/TopQuarkAnalysis/TopPairBSM/test/anaTrain_cfg.py b/TopQuarkAnalysis/TopPairBSM/test/anaTrain_cfg.py deleted file mode 100644 index abf1fa6c99da5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/anaTrain_cfg.py +++ /dev/null @@ -1,488 +0,0 @@ -from __future__ import print_function -# As of 1 Feb 2017: -# This configuration appears to be already broken. It -# fails to even run only under python. -# For this reason, it was not converted to use Tasks. -# If it is ever fixed, it will also need to be migrated -# to use Tasks to run unscheduled modules. - -## import skeleton process -from PhysicsTools.PatAlgos.patTemplate_cfg import * -## switch to uncheduled mode -process.options.allowUnscheduled = cms.untracked.bool(True) -#process.Tracer = cms.Service("Tracer") - -############################### -####### Parameters ############ -############################### -from FWCore.ParameterSet.VarParsing import VarParsing -options = VarParsing ('python') - - -options.register ('tlbsmTag', - 'tlbsm_71x_v1', - VarParsing.multiplicity.singleton, - VarParsing.varType.string, - 'TLBSM tag use in production') - - -options.register ('usePythia8', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Use status codes from Pythia8 rather than Pythia6") - - -options.register ('usePythia6andPythia8', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Use status codes from Pythia8 and Pythia6") - -options.parseArguments() - -process.load("PhysicsTools.PatAlgos.producersLayer1.patCandidates_cff") -process.load("PhysicsTools.PatAlgos.selectionLayer1.selectedPatCandidates_cff") -process.load("RecoJets.Configuration.RecoGenJets_cff") -process.load("RecoJets.Configuration.GenJetParticles_cff") -from TopQuarkAnalysis.TopPairBSM.filters_cff import applyFilters - -################################################################################################ -############################ Run filters ####################################################### -################################################################################################ - -######### TO DO : TURN ON FILTERS ########### -#applyFilters(process) -print('CAVEAT : Filters are not yet implemented') - -######### TO DO : TURN ON TRIGGERS! ######### - - -############################### -####### DAF PV's ########## -############################### - -pvSrc = 'offlinePrimaryVertices' - -## The good primary vertex filter ____________________________________________|| -process.primaryVertexFilter = cms.EDFilter( - "VertexSelector", - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake & ndof > 4 & abs(z) <= 24 & position.Rho <= 2"), - filter = cms.bool(True) - ) - - -from PhysicsTools.SelectorUtils.pvSelector_cfi import pvSelector - -process.goodOfflinePrimaryVertices = cms.EDFilter( - "PrimaryVertexObjectFilter", - filterParams = pvSelector.clone( maxZ = cms.double(24.0), - minNdof = cms.double(4.0) # this is >= 4 - ), - src=cms.InputTag(pvSrc) - ) - -################################################################################################ -############################ Pruned GenParticles ############################################### -################################################################################################ - -# prune gen particles -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") -process.prunedGenParticles = cms.EDProducer("GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "drop *" - ,"keep status = 3" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & status = 3" #keeps taus - ) - ) - -if options.usePythia8 : - process.prunedGenParticles.select = cms.vstring( - "drop *" - ,"keep status = 21" #keeps particles from the hard matrix element - ,"keep status = 22" #keeps particles from the hard matrix element - ,"keep status = 23" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & (status = 21 || status = 22 || status = 23) " #keeps taus - ) -if options.usePythia6andPythia8 : - process.prunedGenParticles.select = cms.vstring( - "drop *" - ,"keep status = 3" #keeps particles from the hard matrix element - ,"keep status = 21" #keeps particles from the hard matrix element - ,"keep status = 22" #keeps particles from the hard matrix element - ,"keep status = 23" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & (status = 3 || status = 21 || status = 22 || status = 23)" #keeps taus - ) - - - - - -################################################################################################ -############################ Configure leptons ################################################# -################################################################################################ - - -postfix = 'EI' - -from PhysicsTools.PatAlgos.tools.pfTools import adaptPFMuons, adaptPFElectrons -from PhysicsTools.PatAlgos.tools.helpers import loadWithPostfix -from PhysicsTools.PatAlgos.tools.helpers import applyPostfix - -#loadWithPostfix(process,'PhysicsTools.PatAlgos.patSequences_cff',postfix) - - -# Electrons - -adaptPFElectrons(process, - process.patElectrons, - postfix) - -# Muons - -adaptPFMuons(process, - process.patMuons, - postfix, - muonMatchModule=process.muonMatch - ) - - -# Taus -################ TO DO : We need a tau expert to do this. ################### -#process.patTaus.tauSource = cms.InputTag("pfTaus"+postfix) - - -################################################################################################ -############################ Run extra MET reconstruction ###################################### -################################################################################################ - - -from PhysicsTools.PatAlgos.tools.metTools import addMETCollection -addMETCollection(process, labelName='patMETPF', metSource='pfType1CorrectedMet') - - -################################################################################################ -############################ Run extra jet reconstruction ###################################### -################################################################################################ -from RecoJets.Configuration.RecoPFJets_cff import * -process.ca15PFJetsCHS = ca8PFJetsCHS.clone(rParam=1.5,src='pfNoPileUpJME',doAreaFastjet=False) -process.hepTopTagPFJetsCHS = hepTopTagPFJetsCHS.clone(src='pfNoPileUpJME') - -from RecoJets.JetProducers.caTopTaggers_cff import caTopTagInfos, hepTopTagInfos - -process.caTopTagInfos = caTopTagInfos.clone() - - -################################################################################################ -############################ Configure jets in PAT ############################################# -################################################################################################ - - -## uncomment the following line to add different jet collections -## to the event content -from PhysicsTools.PatAlgos.tools.jetTools import addJetCollection -from PhysicsTools.PatAlgos.tools.jetTools import switchJetCollection - -## uncomment the following lines to add ak4PFJetsCHS to your PAT output -addJetCollection( - process, - labelName = 'AK4PFCHS', - jetSource = cms.InputTag('ak4PFJetsCHS'), - algo='ak', - rParam=0.4, - jetCorrections = ('AK5PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'Type-1'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - -addJetCollection( - process, - labelName = 'CA8PFCHS', - jetSource = cms.InputTag('ca8PFJetsCHS'), - algo='ca', - rParam=0.8, - jetCorrections = ('AK7PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None') - ) - -addJetCollection( - process, - labelName = 'CA8CMSTopTag', - jetSource = cms.InputTag('cmsTopTagPFJetsCHS',''), - getJetMCFlavour=False, - jetCorrections = ('AK7PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'), - btagInfos = [ - 'caTopTagInfos' - ] - ) - -addJetCollection( - process, - labelName = 'CA8CMSTopTagSubjets', - jetSource = cms.InputTag('cmsTopTagPFJetsCHS','caTopSubJets'), - algo='ca', - rParam=0.8, - jetCorrections = ('AK5PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - -addJetCollection( - process, - labelName = 'CA8Pruned', - jetSource = cms.InputTag('ca8PFJetsCHSPruned',''), - getJetMCFlavour=False, - jetCorrections = ('AK7PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None') - ) - -addJetCollection( - process, - labelName = 'CA8PrunedSubjets', - jetSource = cms.InputTag('ca8PFJetsCHSPruned','SubJets'), - algo='ca', - rParam=0.8, - jetCorrections = ('AK5PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - - -addJetCollection( - process, - labelName = 'CA15HEPTopTag', - jetSource = cms.InputTag('hepTopTagPFJetsCHS',''), - getJetMCFlavour=False, - jetCorrections = ('AK7PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None') - ) - -addJetCollection( - process, - labelName = 'CA15HEPTopTagSubjets', - jetSource = cms.InputTag('hepTopTagPFJetsCHS','caTopSubJets'), - algo='ca', - rParam=1.5, - jetCorrections = ('AK5PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'None'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - -addJetCollection( - process, - labelName = 'EI', - jetSource = cms.InputTag('pfJetsEI'), - algo='ak', - rParam=0.4, - jetCorrections = ('AK5PFchs', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'Type-1'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - -switchJetCollection( - process, - jetSource = cms.InputTag('ak4PFJets'), - algo='ak', - rParam=0.4, - jetCorrections = ('AK5PF', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'Type-1'), - btagDiscriminators = [ - 'jetBProbabilityBJetTags' - , 'jetProbabilityBJetTags' - , 'trackCountingHighPurBJetTags' - , 'trackCountingHighEffBJetTags' - , 'simpleSecondaryVertexHighEffBJetTags' - , 'simpleSecondaryVertexHighPurBJetTags' - , 'combinedSecondaryVertexBJetTags' - ], - btagInfos = [ - 'secondaryVertexTagInfos' - ] - ) - - -# Subjet flavor still requires some manual tweaking until it is better integrated into PAT -# Adjust the flavor of subjets of pruned CA8 jets -process.patJetFlavourAssociationCA8PrunedSubjets = process.patJetFlavourAssociationCA8PrunedSubjets.clone( - jets = cms.InputTag('ca8PFJetsCHS'), - groomedJets = cms.InputTag('ca8PFJetsCHSPruned'), - subjets = cms.InputTag('ca8PFJetsCHSPruned','SubJets') -) -process.patJetsCA8PrunedSubjets.JetFlavourInfoSource = cms.InputTag('patJetFlavourAssociationCA8PrunedSubjets','SubJets') -# Adjust the flavor of subjets of CMSTopTag jets -process.patJetFlavourAssociationCA8CMSTopTagSubjets = process.patJetFlavourAssociationCA8CMSTopTagSubjets.clone( - jets = cms.InputTag('ca8PFJetsCHS'), - groomedJets = cms.InputTag('cmsTopTagPFJetsCHS'), - subjets = cms.InputTag('cmsTopTagPFJetsCHS','caTopSubJets') -) -process.patJetsCA8CMSTopTagSubjets.JetFlavourInfoSource = cms.InputTag('patJetFlavourAssociationCA8CMSTopTagSubjets','SubJets') -# Adjust the flavor of subjets of HEPTopTag jets -process.patJetFlavourAssociationCA15HEPTopTagSubjets = process.patJetFlavourAssociationCA15HEPTopTagSubjets.clone( - jets = cms.InputTag('ca15PFJetsCHS'), - groomedJets = cms.InputTag('hepTopTagPFJetsCHS'), - subjets = cms.InputTag('hepTopTagPFJetsCHS','caTopSubJets') -) -process.patJetsCA15HEPTopTagSubjets.JetFlavourInfoSource = cms.InputTag('patJetFlavourAssociationCA15HEPTopTagSubjets','SubJets') - - -# Add some user functions for the secondary vertex mass. -for mod in [process.patJets, - process.patJetsAK4PFCHS, - process.patJetsEI, - process.patJetsCA8PFCHS, - process.patJetsCA8CMSTopTagSubjets, - process.patJetsCA8PrunedSubjets, - process.patJetsCA15HEPTopTagSubjets ] : - mod.userData.userFunctions = cms.vstring( "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').secondaryVertex(0).p4().mass() : 0") - mod.userData.userFunctionLabels = cms.vstring('secvtxMass') - - -# Add the top-tagging info which piggy-backs on the b-tagging tag info -process.patJetsCA8CMSTopTag.addTagInfos = True -process.patJetsCA8CMSTopTag.tagInfoSources = cms.VInputTag( - cms.InputTag('caTopTagInfos') - ) - -process.patJetsCA15HEPTopTag.addTagInfos = True -process.patJetsCA15HEPTopTag.tagInfoSources = cms.VInputTag( - cms.InputTag('hepTopTagInfos') - ) - - - -# Apply jet ID to all of the jets upstream. We aren't going to screw around -# with this, most likely. So, we don't really to waste time with it -# at the analysis level. -from PhysicsTools.SelectorUtils.pfJetIDSelector_cfi import pfJetIDSelector -for ilabel in ['PatJets', - 'PatJetsAK4PFCHS', - 'PatJetsEI', - 'PatJetsCA8PFCHS', - 'PatJetsCA8CMSTopTag', - 'PatJetsCA8Pruned', - 'PatJetsCA15HEPTopTag'] : - ifilter = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selected" + ilabel) - ) - setattr( process, 'good' + ilabel, ifilter ) - - -# Next, "pack" the pat::Jets that use substructure so we can run b-tagging and JEC's on the subjets. - -for ilabel in ['PatJetsCA8CMSTopTag', - 'PatJetsCA8Pruned', - 'PatJetsCA15HEPTopTag'] : - imerger = cms.EDProducer("BoostedJetMerger", - jetSrc=cms.InputTag("good" + ilabel ), - subjetSrc=cms.InputTag("selected" + ilabel + "Subjets") - ) - setattr( process, 'good' + ilabel + 'Packed', imerger ) - - -#print process.out.outputCommands - -## ------------------------------------------------------ -# In addition you usually want to change the following -# parameters: -## ------------------------------------------------------ -# -# process.GlobalTag.globaltag = ... ## (according to https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideFrontierConditions) -# ## -process.source.fileNames = ['/store/relval/CMSSW_7_2_0_pre1/RelValRSKKGluon_m3000GeV_13/GEN-SIM-RECO/POSTLS172_V1-v1/00000/0E9DF649-2BFE-E311-8F3F-0025905B85E8.root'] -# ## -process.maxEvents.input = 10 -# ## -process.out.outputCommands += [ - 'keep GenRunInfoProduct_generator_*_*', - 'keep GenEventInfoProduct_generator_*_*', - 'keep PileupSummaryInfos_*_*_*', - 'keep *_goodOfflinePrimaryVertices*_*_*', - 'keep *_ak4GenJetsNoNu_*_*', - 'keep *_ca8GenJetsNoNu_*_*', - 'keep *_fixedGrid_*_*', - 'drop *_*_rho*_*', - 'drop *_*_sigma*_*', - 'keep patJets_goodPatJets_*_*', - 'keep patJets_goodPatJetsAK4PFCHS_*_*', - 'keep patJets_goodPatJetsCA15HEPTopTagPacked_*_*', - 'keep patJets_goodPatJetsCA8CMSTopTagPacked_*_*', - 'keep patJets_goodPatJetsCA8PFCHS_*_*', - 'keep patJets_goodPatJetsCA8PrunedPacked_*_*', - 'keep patJets_goodPatJetsEI_*_*', - 'drop patJets_selected*_*_*', # Drop all of the "selected" ones as they are duplicates... - 'keep patJets_selected*Subjets_*_*', # ... except subjets - 'drop CaloTowers_*_*_*', - 'drop recoGenJets_*_genJets_*', - 'drop recoPFCandidates_*_pfCandidates_*', - 'keep *_particleFlow__*', - 'keep *_prunedGenParticles_*_*', - 'keep patTriggerObjects_patTrigger_*_*', - 'keep patTriggerFilters_patTrigger_*_*', - 'keep patTriggerPaths_patTrigger_*_*', - 'keep patTriggerEvent_patTriggerEvent_*_*', - 'keep *_cleanPatPhotonsTriggerMatch*_*_*', - 'keep *_cleanPatElectronsTriggerMatch*_*_*', - 'keep *_cleanPatMuonsTriggerMatch*_*_*', - 'keep *_cleanPatTausTriggerMatch*_*_*', - 'keep *_cleanPatJetsTriggerMatch*_*_*', - 'keep *_patMETsTriggerMatch*_*_*', - 'keep *_TriggerResults_*_*', - 'keep *_hltTriggerSummaryAOD_*_*', - ] -# ## -process.out.fileName = 'patTuple_tlbsm_train_' + options.tlbsmTag + '.root' -# ## -# process.options.wantSummary = False ## (to suppress the long output at the end of the job) diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v2.cfg deleted file mode 100644 index f130d8abd1eef..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v2.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /DYJetsToLL_TuneD6T_M-50_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Spring11-PU_S1_-START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = DYJetsToLL_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v4.cfg deleted file mode 100644 index 0b103ce3feca4..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_DYJetsToLL_TuneD6T_madgraph_tauola_ttbsm_v4.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /DYJetsToLL_TuneD6T_M-50_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X use41x=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v4_Spring11-PU_S1_-START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = DYJetsToLL_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_ttbsm_v4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v1.cfg deleted file mode 100644 index fd022feab239d..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /HT/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160405-161312 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =HT_Run2011A-PromptReco-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v2.cfg deleted file mode 100644 index 7465c97f65d71..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v1_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /HT/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 60 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =HT_Run2011A-PromptReco-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v2_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v2_ttbsm_v2.cfg deleted file mode 100644 index 357c5be96e8f1..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_HT-Run2011A-PromptReco-v2_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /HT/Run2011A-PromptReco-v2/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 60 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =HT_Run2011A-PromptReco-v2_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v4.cfg deleted file mode 100644 index 4efd2b6a212fd..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v4.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = gLite -use_server = 1 - -[CMSSW] -datasetpath = /Jet/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v4_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-May10ReReco-v1_ttbsm_v4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v5.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v5.cfg deleted file mode 100644 index 9e81885768b2d..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v5.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /Jet/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v5_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-May10ReReco-v1_ttbsm_v5 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v6.cfg deleted file mode 100644 index f3b041ab55886..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v6.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /Jet/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v6_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-May10ReReco-v1_ttbsm_v6 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v8.cfg deleted file mode 100644 index 3d0601fee2b95..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-May10ReReco-v1_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-May10ReReco-v1_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v1.cfg deleted file mode 100644 index f7864e1be2619..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 20 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160405-161312 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =Jet_Run2011A-PromptReco-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v2.cfg deleted file mode 100644 index eadd6d53611bb..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =Jet_Run2011A-PromptReco-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v3.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v3.cfg deleted file mode 100644 index 3b7b0d29941a5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v1_ttbsm_v3.cfg +++ /dev/null @@ -1,28 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 120 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 use41x=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v3_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v1_ttbsm_v3 -additional_input_files = Jec10V3.db diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2.cfg deleted file mode 100644 index ad6ccdfa45dec..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v2/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =Jet_Run2011A-PromptReco-v2_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg deleted file mode 100644 index 53d9b23b5047e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v2/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 10 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387_range2_jetPD_job18 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =Jet_Run2011A-PromptReco-v2_ttbsm_v2_job18 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg~ b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg~ deleted file mode 100644 index ad6ccdfa45dec..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v2_job18.cfg~ +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v2/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =Jet_Run2011A-PromptReco-v2_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v3.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v3.cfg deleted file mode 100644 index 28c383bff406c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v2_ttbsm_v3.cfg +++ /dev/null @@ -1,28 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v2/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 120 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 use41x=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v3_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v2_ttbsm_v3 -additional_input_files = Jec10V3.db diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v5_ttbsm_v8_2fbinv_later.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v5_ttbsm_v8_2fbinv_later.cfg deleted file mode 100644 index 937919c7dc5f6..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v5_ttbsm_v8_2fbinv_later.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v5/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-173692_2fbinv -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v5_ttbsm_v8-2fbinv_later diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v6_ttbsm_v8_2fbinv_later.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v6_ttbsm_v8_2fbinv_later.cfg deleted file mode 100644 index cc27c03b0eb67..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco-v6_ttbsm_v8_2fbinv_later.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v6/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-173692_2fbinv -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v6_ttbsm_v8-2fbinv_later diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v6.cfg deleted file mode 100644 index 9c5e36035a50e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v6.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v6_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v6 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8-again.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8-again.cfg deleted file mode 100644 index 156b93a6cf205..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8-again.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -lumi_mask= jetpromptmissing.json -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-submit3-again diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8.cfg deleted file mode 100644 index e4a97b0506fc6..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-166701 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_EPS.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_EPS.cfg deleted file mode 100644 index 73643ed87ddd1..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_EPS.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-167746-range3 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-range3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_missinglumis.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_missinglumis.cfg deleted file mode 100644 index a88c926c168f1..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_missinglumis.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= jet_alleps_missedlumis.json -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-missinglumis diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2.cfg deleted file mode 100644 index 667939fbea7ab..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-167284_promptreco-v4-range2 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-range2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2_brokenjobs_1_3.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2_brokenjobs_1_3.cfg deleted file mode 100644 index 211b133c74e7b..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range2_brokenjobs_1_3.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-167284_promptreco-v4-range2-brokenjobs_1_3 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-range2_brokenjobs_1_3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range3.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range3.cfg deleted file mode 100644 index 73643ed87ddd1..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range3.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-167746-range3 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-range3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range4.cfg deleted file mode 100644 index 7d8028eeb2822..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_Jet-Run2011A-PromptReco_ttbsm_v8_range4.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /Jet/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-167913_range4 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = Jet_Run2011A-PromptReco-v4_ttbsm_v8-range4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6.cfg deleted file mode 100644 index 0c8cf2016004e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v6_Summer11-PU_S3_-START42_V11-v2 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Summer11-PU_S3_-START42_V11-v2_ttbsm_v6 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6_zvtx2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6_zvtx2.cfg deleted file mode 100644 index 9bd7a502aeea1..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v6_zvtx2.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 forceCheckClosestZVertex=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v6_zvtx2_Summer11-PU_S3_-START42_V11-v2 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Summer11-PU_S3_-START42_V11-v2_ttbsm_v6_zvtx2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v8.cfg deleted file mode 100644 index e0152813da59d..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-PU_S3_ttbsm_v8.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Summer11-PU_S3_-START42_V11-v2 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Summer11-PU_S3_-START42_V11-v2_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg deleted file mode 100644 index 0c8cf2016004e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v6_Summer11-PU_S3_-START42_V11-v2 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Summer11-PU_S3_-START42_V11-v2_ttbsm_v6 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg.~1.1.2.1.~ b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg.~1.1.2.1.~ deleted file mode 100644 index 771eca17968d5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1-PU_S1_ttbsm_v1.cfg.~1.1.2.1.~ +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt_15to3000_TuneZ2_Flat_7TeV_pythia6/Spring11-PU_S1_START311_V1G1-v1/GEN-SIM-RECODEBUG -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 30 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Spring11-PU_S1_-START311_V1A-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Spring11-PU_S1_-START311_V1A-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1_ttbsm_v1.cfg deleted file mode 100644 index 9a50ebe190f18..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_QCD_Pt_15to3000_Flat_7TeV-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /QCD_Pt_15to3000_Flat_7TeV/Spring11-START311_V1A-v1/GEN-SIM-RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Spring11-START311_V1A-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = QCD_Pt_15to3000_Flat_Spring11-START311_V1A-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleEle-Run2011A-PromptReco-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleEle-Run2011A-PromptReco-v1_ttbsm_v1.cfg deleted file mode 100644 index d135277b4e66b..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleEle-Run2011A-PromptReco-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleEle/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 20 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160405-161312 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =SingleEle_Run2011A-PromptReco-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v4.cfg deleted file mode 100644 index 5cdfaaf68b938..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v4.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v4_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleElectron_Run2011A-May10ReReco-v1_ttbsm_v4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v5.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v5.cfg deleted file mode 100644 index 1169517d35b3f..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v5.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v5_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleElectron_Run2011A-May10ReReco-v1_ttbsm_v5 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v6.cfg deleted file mode 100644 index 5c4af51def507..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v6.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v6_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleElectron_Run2011A-May10ReReco-v1_ttbsm_v6 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v8.cfg deleted file mode 100644 index adf6a3d237484..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-May10ReReco-v1_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 800 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleElectron_Run2011A-May10ReReco-v1_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v1.cfg deleted file mode 100644 index 7d50f84e25961..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 20 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160405-161312 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =SingleElectron_Run2011A-PromptReco-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v2.cfg deleted file mode 100644 index c229fca0780e6..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v1_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =SingleElectron_Run2011A-PromptReco-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v4_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v4_ttbsm_v8.cfg deleted file mode 100644 index 8ced1471b4f75..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleElectron-Run2011A-PromptReco-v4_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleElectron/Run2011A-PromptReco-v4/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-166701 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleElectron_Run2011A-PromptReco-v4_ttbsm_v8-a-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v4.cfg deleted file mode 100644 index 0e31329414fc9..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v4.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v4_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-May10ReReco-v1_ttbsm_v4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v5.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v5.cfg deleted file mode 100644 index e7573d256752e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v5.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = glidein -use_server = 1 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v5_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-May10ReReco-v1_ttbsm_v5 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v6.cfg deleted file mode 100644 index db63b598a0da5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v6.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v6_Run2011-May10ReReco-submit2 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-May10ReReco-v1_ttbsm_v6-submit2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v8.cfg deleted file mode 100644 index 035f7602b4b83..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-May10ReReco-v1_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-May10ReReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask= json_DCSONLY.txt_160404-163817 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-May10ReReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-May10ReReco-v1_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v1.cfg deleted file mode 100644 index 328d654a8e9a3..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v1.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 20 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160405-161312 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =SingleMu_Run2011A-PromptReco-v1_ttbsm_v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v2.cfg deleted file mode 100644 index c576c32a9dde0..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v1_ttbsm_v2.cfg +++ /dev/null @@ -1,24 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-PromptReco-v1/AOD -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-163387 -pycfg_params = useData=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Run2011A-PromptReco-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir =SingleMu_Run2011A-PromptReco-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8.cfg deleted file mode 100644 index 7cf8abea4a7eb..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-PromptReco-v4/RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-166701 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-PromptReco-v4_ttbsm_v8-submit3 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8_range2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8_range2.cfg deleted file mode 100644 index 3efc76eb26d6c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v4_ttbsm_v8_range2.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-PromptReco-v4/RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-172478_range2only -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-PromptReco-v4_ttbsm_v8_range2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v5_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v5_ttbsm_v8.cfg deleted file mode 100644 index eca600b2883d7..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_SingleMu-Run2011A-PromptReco-v5_ttbsm_v8.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /SingleMu/Run2011A-PromptReco-v5/RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -lumi_mask=json_DCSONLY.txt_160404-172478 -pycfg_params = useData=1 - - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Run2011-PromptReco -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = SingleMu_Run2011A-PromptReco-v5_ttbsm_v8 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneD6T_7TeV_madgraph_tauola_ttbsm_v4.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneD6T_7TeV_madgraph_tauola_ttbsm_v4.cfg deleted file mode 100644 index d9fcdff6d87e2..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneD6T_7TeV_madgraph_tauola_ttbsm_v4.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneD6T_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X use41x=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v4_Spring11-PU_S1_-START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_ttbsm_v4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v1.cfg deleted file mode 100644 index b370bc6c4f860..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v1.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/GEN-SIM-RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 40 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Spring11-PU_S1_START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Spring11-PU_S1_START311_V1G1-v1 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v2.cfg deleted file mode 100644 index f2941ed721a62..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v2.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/GEN-SIM-RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 50 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Spring11-PU_S1_START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Spring11-PU_S1_START311_V1G1-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v3.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v3.cfg deleted file mode 100644 index 5e3212410d7ac..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v3.cfg +++ /dev/null @@ -1,26 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/GEN-SIM-RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 50 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X use41x=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v3_Spring11-PU_S1_START311_V1G1-v1 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Spring11-PU_S1_START311_V1G1-v1_ttbsm_v3 -additional_input_files = Jec10V3.db diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v6.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v6.cfg deleted file mode 100644 index 5e3212410d7ac..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v6.cfg +++ /dev/null @@ -1,26 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/GEN-SIM-RECO -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 50 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X use41x=1 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v3_Spring11-PU_S1_START311_V1G1-v1 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Spring11-PU_S1_START311_V1G1-v1_ttbsm_v3 -additional_input_files = Jec10V3.db diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v8.cfg deleted file mode 100644 index 843551d204eca..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v8.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 400 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Summer11-PU_S4_START42_V11-v1 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8-submit5 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v9.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v9.cfg deleted file mode 100644 index 239ce5d29a218..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_TTJets_TuneZ2_7TeV-madgraph-tauola_ttbsm_v9.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /TTJets_TuneZ2_7TeV-madgraph-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_events = -1 -number_of_jobs = 400 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v9_Summer11-PU_S4_START42_V11-v1 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = TTJets_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v9_submit2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg deleted file mode 100644 index 6d151669e07c2..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /WJetsToLNu_TuneD6T_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Spring11-PU_S1_-START311_V1G1-v1_v2 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = WJetsToLNu_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg.~1.1.2.1.~ b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg.~1.1.2.1.~ deleted file mode 100644 index 6d151669e07c2..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v1.cfg.~1.1.2.1.~ +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /WJetsToLNu_TuneD6T_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v1_Spring11-PU_S1_-START311_V1G1-v1_v2 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = WJetsToLNu_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg deleted file mode 100644 index b2e46235cce50..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /WJetsToLNu_TuneD6T_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Spring11-PU_S1_-START311_V1G1-v1 -storage_path = /srm/managerv2?SFN=/pnfs/cms/WAX/11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = WJetsToLNu_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg.~1.1.2.1.~ b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg.~1.1.2.1.~ deleted file mode 100644 index ad068bd924e1a..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneD6T_Spring11-PU_ttbsm_v2.cfg.~1.1.2.1.~ +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /WJetsToLNu_TuneD6T_7TeV-madgraph-tauola/Spring11-PU_S1_START311_V1G1-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_lumis = -1 -number_of_jobs = 100 -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = ttbsm_v2_Spring11-PU_S1_-START311_V1G1-v1 -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = WJetsToLNu_TuneD6T_7TeV-madgraph-tauola_Spring11-PU_S1_-START311_V1G1-v1_ttbsm_v2 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8.cfg deleted file mode 100644 index 2219d21f2ab4c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_WJetsToLNu_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8.cfg +++ /dev/null @@ -1,25 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = condor -use_server = 0 - -[CMSSW] -datasetpath = /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM -pset = ttbsm_cfg.py -total_number_of_events = -1 -number_of_jobs = 450 -get_edm_output = 1 -pycfg_params = useData=0 - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = cmssrm.fnal.gov -publish_data = 1 -publish_data_name = ttbsm_v8_Summer11-PU_S4_START42_V11-v1 -storage_path = /srm/managerv2?SFN=11 -user_remote_dir = /store/user/lpctlbsm -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = WJetsToLNu_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v1_ttbsm_v8-submit4 diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_higgs_dummy.cfg b/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_higgs_dummy.cfg deleted file mode 100644 index 893bf0466975c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/crab_higgs_dummy.cfg +++ /dev/null @@ -1,23 +0,0 @@ -[CRAB] -jobtype = cmssw -scheduler = gLite -use_server = 1 - -[CMSSW] -datasetpath = DUMMY_DATASET -pset = DUMMY_CMSSW -total_number_of_lumis = -1 -number_of_jobs = DUMMY_NJOBS -get_edm_output = 1 -pycfg_params = useData=0 hltProcess=REDIGI311X - -[USER] -#debug_wrapper = 1 -return_data = 0 -copy_data = 1 -storage_element = T3_US_FNALLPC -publish_data = 1 -publish_data_name = DUMMY_DBNAME -dbs_url_for_publication = https://cmsdbsprod.cern.ch:8443/cms_dbs_ph_analysis_02_writer/servlet/DBSServlet -check_user_remote_dir = 0 -ui_working_dir = DUMMY_UI_DIR diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387 deleted file mode 100644 index 230edec8744d5..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD deleted file mode 100644 index 42becdd827d55..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD +++ /dev/null @@ -1,129 +0,0 @@ -{"160404": [[15, 24]], - "160405": [[14, 15], [27, 35]], - "160406": [[30, 34], [92, 93], [116, 124]], - "160410": [[86, 102]], - "160413": [[43, 44], [84, 95], [137, 140], [179, 184], [228, 231], [272, 276], [323, 325], [379, 382], [436, 437], [491, 495], [549, 553], [611, 613], [665, 667], [729, 730]], - "160431": [[220, 244]], - "160432": [[64, 79]], - "160433": [[13, 21]], - "160442": [[142, 153]], - "160443": [[16, 21]], - "160444": [[11, 11], [69, 74]], - "160445": [[28, 37]], - "160446": [[46, 55]], - "160447": [[50, 65]], - "160449": [[32, 34], [36, 44]], - "160450": [[24, 47]], - "160454": [[33, 41]], - "160455": [[8, 33]], - "160456": [[15, 106]], - "160462": [[24, 30]], - "160463": [[17, 17], [23, 46]], - "160497": [[42, 46], [89, 90], [131, 133], [267, 278], [375, 398]], - "160498": [[44, 70]], - "160577": [[38, 39], [48, 56], [100, 101], [152, 153], [168, 170], [203, 203], [252, 253], [307, 337]], - "160578": [[4, 4], [54, 54], [145, 149], [164, 164], [271, 273], [401, 404], [440, 456]], - "160808": [[9, 19], [76, 80]], - "160815": [[77, 95]], - "160819": [[107, 118]], - "160827": [[37, 55]], - "160835": [[33, 33], [39, 39], [84, 85], [182, 182], [569, 584]], - "160853": [[62, 65]], - "160871": [[209, 236]], - "160872": [[10, 24], [36, 37], [56, 77]], - "160873": [[175, 201]], - "160874": [[52, 96], [114, 132]], - "160875": [[277, 285]], - "160876": [[10, 17]], - "160877": [[79, 83]], - "160888": [[411, 423]], - "160890": [[7, 7], [391, 395]], - "160894": [[203, 220]], - "160898": [[25, 53]], - "160907": [[46, 46], [132, 220]], - "160911": [[290, 301]], - "160913": [[17, 26]], - "160914": [[67, 75]], - "160915": [[360, 382]], - "160935": [[240, 259]], - "160936": [[26, 60]], - "160937": [[193, 209]], - "160938": [[119, 130]], - "160939": [[125, 148]], - "160940": [[80, 90]], - "160942": [[13, 26]], - "160954": [[78, 84]], - "160955": [[202, 202], [208, 228]], - "160956": [[66, 73]], - "160994": [[44, 45]], - "160998": [[253, 288]], - "161008": [[275, 285]], - "161016": [[302, 327]], - "161103": [[102, 111]], - "161106": [[28, 40]], - "161107": [[31, 40]], - "161113": [[26, 45]], - "161116": [[13, 20]], - "161117": [[26, 43]], - "161119": [[59, 68], [109, 114], [142, 144], [174, 178], [211, 350]], - "161156": [[15, 90]], - "161165": [[82, 100]], - "161216": [[42, 53]], - "161217": [[754, 788]], - "161222": [[98, 136]], - "161223": [[376, 409]], - "161233": [[51, 63]], - "161310": [[118, 127]], - "161311": [[680, 704]], - "162739": [[1, 35], [37, 42]], - "162742": [[1, 85], [97, 127]], - "162803": [[60, 148]], - "162808": [[1, 63]], - "162810": [[1, 40]], - "162811": [[1, 347]], - "162826": [[1, 43]], - "162827": [[1, 144]], - "162828": [[1, 85]], - "162909": [[54, 299]], - "162917": [[122, 134]], - "162926": [[1, 714]], - "162929": [[1, 299], [358, 433]], - "163045": [[51, 56]], - "163046": [[1, 247], [311, 313]], - "163069": [[73, 648]], - "163071": [[1, 194]], - "163072": [[1, 44]], - "163078": [[1, 23]], - "163232": [[110, 174]], - "163233": [[1, 302]], - "163234": [[1, 73]], - "163235": [[1, 474]], - "163237": [[1, 220]], - "163252": [[60, 157]], - "163255": [[1, 1067]], - "163261": [[1, 126]], - "163269": [[59, 222]], - "163270": [[1, 928]], - "163286": [[112, 411]], - "163289": [[1, 388]], - "163296": [[59, 603]], - "163297": [[1, 227]], - "163300": [[1, 623]], - "163301": [[1, 198]], - "163302": [[1, 253]], - "163308": [[1, 27]], - "163332": [[43, 812]], - "163333": [[1, 113]], - "163334": [[1, 563]], - "163337": [[1, 476]], - "163338": [[1, 171]], - "163339": [[1, 188]], - "163358": [[39, 63]], - "163369": [[1, 105]], - "163370": [[1, 176]], - "163371": [[1, 375]], - "163372": [[1, 111]], - "163374": [[1, 873]], - "163378": [[1, 615]], - "163385": [[52, 436]], - "163387": [[1, 256], [278, 287]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD_job18 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD_job18 deleted file mode 100644 index 2ce13268fa301..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163387_range2_jetPD_job18 +++ /dev/null @@ -1 +0,0 @@ -{"163046": [[1, 133], [135, 238]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163817 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163817 deleted file mode 100644 index acb97c153a79c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-163817 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-165620 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-165620 deleted file mode 100644 index d4c0c99dab404..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-165620 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165102": [[1, 185]], "165103": [[1, 440]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 637]], "165570": [[1, 947]], "165617": [[26, 291]], "165620": [[1, 63]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-166701 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-166701 deleted file mode 100644 index a7f7a7bedf30b..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-166701 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165102": [[1, 185]], "165103": [[1, 440]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 637]], "165570": [[1, 947]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166699": [[55, 915]], "166701": [[1, 792]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284 deleted file mode 100644 index 6fdf48bf3f5a0..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165102": [[1, 185]], "165103": [[1, 440]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 637]], "165570": [[1, 947]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166438": [[32, 867]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166565": [[1, 898]], "166699": [[55, 915]], "166701": [[1, 792]], "166763": [[46, 650]], "166781": [[41, 111], [115, 115], [117, 387]], "166782": [[1, 572]], "166784": [[1, 365]], "166787": [[1, 364]], "166839": [[43, 303]], "166841": [[1, 1017]], "166842": [[1, 170]], "166859": [[62, 425]], "166860": [[1, 25]], "166861": [[1, 44]], "166862": [[1, 5]], "166863": [[1, 3]], "166864": [[1, 537]], "166888": [[56, 476]], "166889": [[1, 231]], "166890": [[1, 446]], "166893": [[1, 3]], "166894": [[1, 203]], "166895": [[1, 603]], "166911": [[58, 104]], "166921": [[39, 68]], "166922": [[1, 776]], "166923": [[1, 470]], "166946": [[41, 208]], "166950": [[1, 1439]], "166960": [[1, 184]], "166966": [[1, 240]], "166967": [[1, 220]], "167039": [[20, 238]], "167041": [[1, 667]], "167043": [[1, 235]], "167078": [[40, 175]], "167098": [[62, 463]], "167102": [[1, 430]], "167103": [[1, 95]], "167151": [[1, 51]], "167281": [[18, 595]], "167282": [[1, 451]], "167284": [[1, 1645]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2 deleted file mode 100644 index 49f14a45ec003..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2 +++ /dev/null @@ -1,281 +0,0 @@ -{"160404": [[15, 24]], - "160405": [[1, 35]], - "160406": [[1, 124]], - "160410": [[1, 102]], - "160413": [[1, 788]], - "160431": [[19, 244]], - "160432": [[2, 79]], - "160433": [[1, 21]], - "160442": [[108, 153]], - "160443": [[1, 21]], - "160444": [[1, 74]], - "160445": [[1, 37]], - "160446": [[1, 55]], - "160447": [[1, 65]], - "160449": [[1, 44]], - "160450": [[1, 47]], - "160454": [[1, 41]], - "160455": [[1, 33]], - "160456": [[1, 106]], - "160462": [[1, 30]], - "160463": [[1, 46]], - "160497": [[38, 148], [152, 398]], - "160498": [[1, 70]], - "160499": [[1, 16]], - "160577": [[14, 337]], - "160578": [[1, 456]], - "160579": [[1, 181]], - "160808": [[7, 80]], - "160815": [[1, 95]], - "160819": [[1, 17], [19, 118]], - "160827": [[1, 55]], - "160835": [[1, 85], [87, 496], [569, 584]], - "160853": [[62, 65]], - "160871": [[68, 236]], - "160872": [[1, 77]], - "160873": [[1, 201]], - "160874": [[1, 132]], - "160875": [[1, 285]], - "160876": [[1, 17]], - "160877": [[1, 12], [79, 83]], - "160888": [[45, 423]], - "160890": [[1, 395]], - "160894": [[1, 220]], - "160898": [[25, 53]], - "160907": [[15, 220]], - "160911": [[1, 301]], - "160913": [[1, 26]], - "160914": [[1, 75]], - "160915": [[1, 382]], - "160916": [[1, 90]], - "160935": [[33, 259]], - "160936": [[1, 60]], - "160937": [[1, 209]], - "160938": [[1, 130]], - "160939": [[1, 148]], - "160940": [[1, 90]], - "160942": [[1, 26]], - "160943": [[1, 54]], - "160954": [[78, 84]], - "160955": [[1, 228]], - "160956": [[1, 73]], - "160957": [[1, 953]], - "160994": [[44, 45]], - "160998": [[1, 288]], - "161008": [[1, 285]], - "161016": [[1, 327]], - "161020": [[1, 22]], - "161103": [[1, 111]], - "161106": [[1, 40]], - "161107": [[1, 40]], - "161113": [[1, 45]], - "161116": [[1, 20]], - "161117": [[1, 43]], - "161119": [[1, 350]], - "161156": [[1, 90]], - "161165": [[1, 100]], - "161176": [[1, 31]], - "161216": [[29, 53]], - "161217": [[1, 788]], - "161222": [[1, 136]], - "161223": [[1, 409]], - "161224": [[1, 2]], - "161233": [[33, 63]], - "161310": [[39, 127]], - "161311": [[1, 704]], - "161312": [[1, 1027]], - "162718": [[1, 202]], - "162733": [[1, 47]], - "162739": [[1, 35], [37, 42]], - "162742": [[1, 85], [97, 127]], - "162760": [[1, 56]], - "162762": [[1, 111]], - "162765": [[1, 66]], - "162803": [[60, 148]], - "162808": [[1, 63]], - "162810": [[1, 40]], - "162811": [[1, 347]], - "162822": [[73, 314]], - "162825": [[1, 202]], - "162826": [[1, 43]], - "162827": [[1, 144]], - "162828": [[1, 85]], - "162909": [[54, 299]], - "162917": [[122, 134]], - "162924": [[69, 151]], - "162925": [[1, 319]], - "162926": [[1, 714]], - "162929": [[1, 299], [358, 433]], - "163045": [[51, 56]], - "163046": [[1, 247], [311, 313]], - "163069": [[73, 648]], - "163071": [[1, 194]], - "163072": [[1, 44]], - "163078": [[1, 23]], - "163232": [[110, 174]], - "163233": [[1, 302]], - "163234": [[1, 73]], - "163235": [[1, 474]], - "163237": [[1, 220]], - "163238": [[1, 15]], - "163252": [[60, 157]], - "163255": [[1, 1067]], - "163261": [[1, 126]], - "163269": [[59, 222]], - "163270": [[1, 928]], - "163286": [[112, 411]], - "163289": [[1, 388]], - "163296": [[59, 603]], - "163297": [[1, 227]], - "163300": [[1, 623]], - "163301": [[1, 198]], - "163302": [[1, 253]], - "163308": [[1, 27]], - "163332": [[43, 812]], - "163333": [[1, 113]], - "163334": [[1, 563]], - "163337": [[1, 476]], - "163338": [[1, 171]], - "163339": [[1, 188]], - "163340": [[1, 488], [554, 563]], - "163358": [[39, 63]], - "163369": [[1, 105]], - "163370": [[1, 176]], - "163371": [[1, 375]], - "163372": [[1, 111]], - "163374": [[1, 873]], - "163375": [[1, 16]], - "163376": [[1, 253]], - "163378": [[1, 615]], - "163385": [[52, 436]], - "163387": [[1, 256], [278, 287]], - "163402": [[37, 801]], - "163475": [[30, 306]], - "163476": [[1, 235]], - "163478": [[1, 83]], - "163479": [[1, 187]], - "163480": [[1, 199]], - "163481": [[1, 90]], - "163482": [[1, 58]], - "163483": [[1, 57]], - "163581": [[40, 45]], - "163582": [[1, 66]], - "163583": [[1, 233]], - "163584": [[1, 85]], - "163585": [[1, 42]], - "163586": [[1, 103]], - "163587": [[1, 85]], - "163588": [[1, 455]], - "163589": [[1, 167]], - "163591": [[1, 96]], - "163592": [[1, 116]], - "163593": [[1, 25]], - "163596": [[1, 29]], - "163630": [[76, 185]], - "163655": [[15, 47]], - "163657": [[1, 153]], - "163658": [[1, 18]], - "163659": [[1, 718]], - "163660": [[1, 85]], - "163661": [[1, 27]], - "163662": [[1, 176]], - "163663": [[1, 251]], - "163664": [[1, 189]], - "163665": [[1, 176]], - "163668": [[1, 213], [255, 308]], - "163738": [[34, 311]], - "163753": [[1, 137]], - "163754": [[1, 79]], - "163757": [[1, 47]], - "163758": [[1, 600]], - "163759": [[1, 526]], - "163760": [[1, 363]], - "163761": [[1, 229]], - "163763": [[1, 93]], - "163765": [[1, 321]], - "163795": [[10, 54]], - "163796": [[1, 182]], - "163817": [[50, 980]], - "163869": [[79, 137]], - "165098": [[188, 189], [194, 194], [249, 249], [255, 255], [332, 332], [368, 368], [416, 440]], - "165099": [[107, 126]], - "165120": [[99, 109]], - "165205": [[249, 260]], - "165364": [[112, 113], [808, 808], [1331, 1352]], - "165400": [[80, 88]], - "165415": [[641, 642], [708, 711], [778, 779]], - "165467": [[710, 736]], - "165472": [[185, 185]], - "165486": [[103, 118]], - "165487": [[152, 154]], - "165506": [[171, 171]], - "165514": [[568, 570]], - "165523": [[60, 92]], - "165525": [[33, 68]], - "165537": [[297, 304]], - "165542": [[176, 189]], - "165548": [[364, 364], [590, 630]], - "165567": [[110, 113], [310, 314], [632, 637]], - "165570": [[3, 4], [84, 87], [947, 947]], - "165617": [[53, 53], [144, 144], [289, 291]], - "165619": [[1, 23]], - "165620": [[1, 63]], - "165633": [[56, 113], [318, 318]], - "166010": [[174, 175], [179, 180]], - "166033": [[1234, 1244]], - "166034": [[363, 363]], - "166049": [[886, 887], [918, 918]], - "166149": [[3, 24]], - "166161": [[121, 121], [124, 125], [127, 128]], - "166163": [[13, 13], [35, 35]], - "166374": [[65, 65], [189, 193]], - "166377": [[57, 57]], - "166380": [[712, 714]], - "166438": [[32, 867]], - "166486": [[96, 96]], - "166512": [[431, 431], [1280, 1280], [1819, 1820], [1863, 1867], [1869, 1869], [1872, 1872], [1875, 1876]], - "166514": [[465, 465]], - "166554": [[288, 289], [318, 319], [731, 731], [735, 735], [737, 738]], - "166565": [[1, 898]], - "166699": [[55, 915]], - "166701": [[1, 792]], - "166763": [[46, 650]], - "166781": [[41, 111], [115, 115], [117, 387]], - "166782": [[1, 572]], - "166784": [[1, 365]], - "166787": [[1, 364]], - "166839": [[43, 303]], - "166841": [[1, 1017]], - "166842": [[1, 170]], - "166859": [[62, 425]], - "166860": [[1, 25]], - "166861": [[1, 44]], - "166862": [[1, 5]], - "166863": [[1, 3]], - "166864": [[1, 537]], - "166888": [[56, 476]], - "166889": [[1, 231]], - "166890": [[1, 446]], - "166893": [[1, 3]], - "166894": [[1, 203]], - "166895": [[1, 603]], - "166911": [[58, 104]], - "166921": [[39, 68]], - "166922": [[1, 776]], - "166923": [[1, 470]], - "166946": [[41, 208]], - "166950": [[1, 1439]], - "166960": [[1, 184]], - "166966": [[1, 240]], - "166967": [[1, 220]], - "167039": [[20, 238]], - "167041": [[1, 667]], - "167043": [[1, 235]], - "167078": [[40, 175]], - "167098": [[62, 463]], - "167102": [[1, 430]], - "167103": [[1, 95]], - "167151": [[1, 51]], - "167281": [[18, 595]], - "167282": [[1, 451]], - "167284": [[1, 1645]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2-brokenjobs_1_3 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2-brokenjobs_1_3 deleted file mode 100644 index d9d81def714ff..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167284_promptreco-v4-range2-brokenjobs_1_3 +++ /dev/null @@ -1,4 +0,0 @@ -{"165619": [[1, 19],[22,22]], - "165620": [[1, 1],[3, 5]], - "165633": [[56,113]] -} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746 deleted file mode 100644 index 3b952a3ae9d87..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165102": [[1, 185]], "165103": [[1, 440]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 637]], "165570": [[1, 947]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166438": [[32, 867]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166565": [[1, 898]], "166699": [[55, 915]], "166701": [[1, 792]], "166763": [[46, 650]], "166781": [[41, 111], [115, 115], [117, 387]], "166782": [[1, 572]], "166784": [[1, 365]], "166787": [[1, 364]], "166839": [[43, 303]], "166841": [[1, 1017]], "166842": [[1, 170]], "166859": [[62, 425]], "166860": [[1, 25]], "166861": [[1, 44]], "166862": [[1, 5]], "166863": [[1, 3]], "166864": [[1, 537]], "166888": [[56, 476]], "166889": [[1, 231]], "166890": [[1, 446]], "166893": [[1, 3]], "166894": [[1, 203]], "166895": [[1, 603]], "166911": [[58, 104]], "166921": [[39, 68]], "166922": [[1, 776]], "166923": [[1, 470]], "166946": [[41, 208]], "166950": [[1, 1439]], "166960": [[1, 184]], "166966": [[1, 240]], "166967": [[1, 220]], "167039": [[20, 238]], "167041": [[1, 667]], "167043": [[1, 235]], "167078": [[40, 175]], "167098": [[62, 463]], "167102": [[1, 430]], "167103": [[1, 95]], "167151": [[1, 51]], "167281": [[18, 595]], "167282": [[1, 451]], "167284": [[1, 1645]], "167551": [[56, 472]], "167673": [[210, 448]], "167674": [[1, 348]], "167675": [[1, 1064]], "167676": [[1, 451]], "167740": [[79, 174]], "167746": [[56, 384]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746-range3 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746-range3 deleted file mode 100644 index fb1a64d774e6c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167746-range3 +++ /dev/null @@ -1,65 +0,0 @@ -{"165088": [[107, 266]], - "165098": [[124, 187], [190, 193], [195, 248], [250, 254], [256, 331], [333, 367], [369, 415]], - "165099": [[1, 106]], - "165102": [[1, 185]], - "165103": [[1, 440]], - "165120": [[67, 98]], - "165121": [[1, 466]], - "165205": [[80, 248]], - "165208": [[1, 101]], - "165364": [[45, 111], [114, 807], [809, 1301]], - "165400": [[1, 79]], - "165402": [[1, 28]], - "165415": [[58, 640], [643, 707], [712, 777], [780, 1383]], - "165467": [[39, 709]], - "165472": [[1, 184], [186, 882]], - "165486": [[37, 102]], - "165487": [[1, 151]], - "165506": [[54, 170]], - "165514": [[72, 567]], - "165525": [[1, 32]], - "165537": [[1, 296]], - "165542": [[1, 175]], - "165548": [[1, 363], [365, 589]], - "165558": [[1, 62]], - "165567": [[54, 109], [114, 309], [315, 631]], - "165570": [[1, 2], [5, 83], [88, 946]], - "165617": [[26, 52], [54, 143], [145, 288]], - "165633": [[114, 317], [319, 505]], - "165970": [[67, 335]], - "165993": [[71, 1697]], - "166010": [[50, 173], [176, 178]], - "166011": [[1, 83]], - "166033": [[35, 1233]], - "166034": [[1, 362]], - "166049": [[53, 885], [888, 917]], - "166051": [[1, 365]], - "166052": [[1, 119]], - "166149": [[1, 2]], - "166150": [[1, 116]], - "166161": [[37, 120], [122, 123], [126, 126]], - "166163": [[1, 12], [14, 34]], - "166164": [[1, 40]], - "166346": [[48, 215]], - "166374": [[46, 64], [66, 188]], - "166377": [[1, 56]], - "166379": [[1, 118]], - "166380": [[1, 711], [715, 1809]], - "166394": [[42, 47]], - "166408": [[67, 1236]], - "166429": [[33, 89]], - "166462": [[78, 526]], - "166486": [[54, 95], [97, 174]], - "166502": [[43, 109]], - "166512": [[42, 430], [432, 1279], [1281, 1818], [1821, 1862], [1868, 1868], [1870, 1871], [1873, 1874]], - "166514": [[1, 464]], - "166530": [[43, 63]], - "166554": [[46, 287], [290, 317], [320, 730], [732, 734], [736, 736]], - "166563": [[1, 276], [492, 748]], - "167551": [[56, 472]], - "167673": [[210, 448]], - "167674": [[1, 348]], - "167675": [[1, 1064]], - "167676": [[1, 451]], - "167740": [[79, 174]], - "167746": [[56, 384]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913 deleted file mode 100644 index 4676fb3da7c45..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165100": [[1, 410]], "165102": [[1, 185]], "165103": [[1, 440]], "165104": [[1, 137]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165529": [[1, 10]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 642]], "165570": [[1, 952]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166438": [[32, 867]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166565": [[1, 898]], "166699": [[55, 915]], "166701": [[1, 792]], "166763": [[46, 650]], "166781": [[41, 111], [115, 115], [117, 387]], "166782": [[1, 572]], "166784": [[1, 365]], "166787": [[1, 364]], "166839": [[43, 303]], "166841": [[1, 1017]], "166842": [[1, 170]], "166859": [[62, 425]], "166860": [[1, 25]], "166861": [[1, 44]], "166862": [[1, 5]], "166863": [[1, 3]], "166864": [[1, 537]], "166888": [[56, 476]], "166889": [[1, 231]], "166890": [[1, 446]], "166893": [[1, 3]], "166894": [[1, 203]], "166895": [[1, 603]], "166911": [[58, 104]], "166921": [[39, 68]], "166922": [[1, 776]], "166923": [[1, 470]], "166946": [[41, 208]], "166950": [[1, 1439]], "166960": [[1, 184]], "166966": [[1, 240]], "166967": [[1, 220]], "167039": [[20, 238]], "167041": [[1, 667]], "167043": [[1, 235]], "167078": [[40, 175]], "167098": [[62, 463]], "167102": [[1, 430]], "167103": [[1, 95]], "167151": [[1, 51]], "167281": [[18, 595]], "167282": [[1, 451]], "167284": [[1, 1645]], "167551": [[56, 472]], "167673": [[210, 448]], "167674": [[1, 348]], "167675": [[1, 1064]], "167676": [[1, 451]], "167740": [[79, 174]], "167746": [[56, 384]], "167754": [[62, 103]], "167784": [[51, 132]], "167786": [[1, 177]], "167807": [[60, 160], [178, 1870]], "167830": [[1, 1242]], "167898": [[108, 1764]], "167913": [[1, 432]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913_range4 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913_range4 deleted file mode 100644 index f0b0a3ab20d29..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-167913_range4 +++ /dev/null @@ -1,266 +0,0 @@ -{"160404": [[15, 24]], - "160405": [[14, 15], [27, 35]], - "160406": [[30, 34], [92, 93], [116, 124]], - "160410": [[86, 102]], - "160413": [[43, 44], [84, 95], [137, 140], [179, 184], [228, 231], [272, 276], [323, 325], [379, 382], [436, 437], [491, 495], [549, 553], [611, 613], [665, 667], [729, 730]], - "160431": [[220, 244]], - "160432": [[64, 79]], - "160433": [[13, 21]], - "160442": [[142, 153]], - "160443": [[16, 21]], - "160444": [[11, 11], [69, 74]], - "160445": [[28, 37]], - "160446": [[46, 55]], - "160447": [[50, 65]], - "160449": [[32, 34], [36, 44]], - "160450": [[24, 47]], - "160454": [[33, 41]], - "160455": [[8, 33]], - "160456": [[15, 106]], - "160462": [[24, 30]], - "160463": [[17, 17], [23, 46]], - "160497": [[42, 46], [89, 90], [131, 133], [267, 278], [375, 398]], - "160498": [[44, 70]], - "160577": [[38, 39], [48, 56], [100, 101], [152, 153], [168, 170], [203, 203], [252, 253], [307, 337]], - "160578": [[4, 4], [54, 54], [145, 149], [164, 164], [271, 273], [401, 404], [440, 456]], - "160808": [[9, 19], [76, 80]], - "160815": [[77, 95]], - "160819": [[107, 118]], - "160827": [[37, 55]], - "160835": [[33, 33], [39, 39], [84, 85], [182, 182], [569, 584]], - "160853": [[62, 65]], - "160871": [[209, 236]], - "160872": [[10, 24], [36, 37], [56, 77]], - "160873": [[175, 201]], - "160874": [[52, 96], [114, 132]], - "160875": [[277, 285]], - "160876": [[10, 17]], - "160877": [[79, 83]], - "160888": [[411, 423]], - "160890": [[7, 7], [391, 395]], - "160894": [[203, 220]], - "160898": [[25, 53]], - "160907": [[46, 46], [132, 220]], - "160911": [[290, 301]], - "160913": [[17, 26]], - "160914": [[67, 75]], - "160915": [[360, 382]], - "160935": [[240, 259]], - "160936": [[26, 60]], - "160937": [[193, 209]], - "160938": [[119, 130]], - "160939": [[125, 148]], - "160940": [[80, 90]], - "160942": [[13, 26]], - "160954": [[78, 84]], - "160955": [[202, 202], [208, 228]], - "160956": [[66, 73]], - "160994": [[44, 45]], - "160998": [[253, 288]], - "161008": [[275, 285]], - "161016": [[302, 327]], - "161103": [[102, 111]], - "161106": [[28, 40]], - "161107": [[31, 40]], - "161113": [[26, 45]], - "161116": [[13, 20]], - "161117": [[26, 43]], - "161119": [[59, 68], [109, 114], [142, 144], [174, 178], [211, 350]], - "161156": [[15, 90]], - "161165": [[82, 100]], - "161216": [[42, 53]], - "161217": [[754, 788]], - "161222": [[98, 136]], - "161223": [[376, 409]], - "161233": [[51, 63]], - "161310": [[118, 127]], - "161311": [[680, 704]], - "162718": [[35, 35], [118, 118], [158, 158], [180, 180], [183, 202]], - "162733": [[20, 47]], - "162739": [[12, 35], [37, 42]], - "162742": [[47, 85], [97, 127]], - "162760": [[1, 56]], - "162762": [[1, 111]], - "162765": [[1, 66]], - "162803": [[140, 148]], - "162808": [[53, 63]], - "162810": [[27, 40]], - "162811": [[341, 347]], - "162822": [[308, 314]], - "162825": [[185, 202]], - "162826": [[25, 43]], - "162827": [[135, 144]], - "162909": [[291, 299]], - "162917": [[122, 134]], - "162924": [[131, 151]], - "162925": [[297, 319]], - "162926": [[701, 714]], - "162929": [[296, 299], [358, 433]], - "163045": [[51, 56]], - "163046": [[134, 134], [239, 247], [311, 313]], - "163069": [[634, 648]], - "163071": [[177, 194]], - "163072": [[33, 44]], - "163232": [[150, 174]], - "163233": [[284, 302]], - "163234": [[67, 73]], - "163235": [[462, 474]], - "163237": [[214, 220]], - "163238": [[1, 15]], - "163252": [[138, 157]], - "163255": [[845, 845], [847, 847], [1055, 1067]], - "163269": [[174, 177], [207, 222]], - "163270": [[77, 78], [97, 98], [476, 478], [692, 692]], - "163286": [[402, 411]], - "163296": [[231, 231], [586, 603]], - "163297": [[220, 227]], - "163300": [[618, 623]], - "163301": [[193, 198]], - "163302": [[191, 253]], - "163332": [[158, 158], [265, 265], [600, 600], [803, 812]], - "163333": [[107, 113]], - "163334": [[557, 563]], - "163337": [[462, 476]], - "163338": [[165, 171]], - "163339": [[179, 188]], - "163340": [[554, 563]], - "163369": [[96, 105]], - "163370": [[168, 176]], - "163371": [[364, 375]], - "163372": [[101, 111]], - "163374": [[867, 873]], - "163375": [[1, 16]], - "163376": [[1, 253]], - "163385": [[420, 436]], - "163387": [[278, 287]], - "163475": [[296, 306]], - "163476": [[213, 235]], - "163478": [[71, 83]], - "163479": [[181, 187]], - "163480": [[93, 95], [189, 189], [192, 199]], - "163481": [[73, 73], [78, 78], [80, 90]], - "163482": [[49, 58]], - "163581": [[40, 45]], - "163582": [[23, 66]], - "163583": [[64, 64], [156, 156], [174, 174], [220, 233]], - "163584": [[71, 85]], - "163585": [[34, 42]], - "163586": [[91, 103]], - "163587": [[73, 85]], - "163588": [[9, 9], [447, 455]], - "163589": [[162, 167]], - "163591": [[78, 96]], - "163592": [[108, 108], [113, 116]], - "163593": [[12, 25]], - "163630": [[165, 175]], - "163655": [[24, 47]], - "163657": [[141, 153]], - "163658": [[4, 18]], - "163659": [[375, 375], [651, 651], [706, 718]], - "163660": [[75, 85]], - "163661": [[18, 27]], - "163662": [[155, 176]], - "163663": [[107, 108], [247, 251]], - "163664": [[179, 189]], - "163665": [[162, 176]], - "163668": [[255, 308]], - "163753": [[133, 137]], - "163754": [[39, 39], [52, 79]], - "163757": [[41, 47]], - "163758": [[18, 18], [221, 221], [375, 375], [592, 600]], - "163759": [[511, 526]], - "163760": [[163, 164], [355, 363]], - "163761": [[219, 229]], - "163763": [[87, 93]], - "163795": [[35, 35], [37, 37], [44, 54]], - "163817": [[528, 530], [967, 980]], - "163869": [[79, 137]], - "165098": [[188, 189], [194, 194], [249, 249], [255, 255], [332, 332], [368, 368], [416, 440]], - "165099": [[107, 126]], - "165100": [[1, 410]], - "165104": [[1, 137]], - "165120": [[99, 109]], - "165205": [[249, 260]], - "165364": [[112, 113], [808, 808], [1331, 1352]], - "165400": [[80, 88]], - "165415": [[641, 642], [708, 711], [778, 779]], - "165467": [[710, 736]], - "165472": [[185, 185]], - "165486": [[103, 118]], - "165487": [[152, 154]], - "165506": [[171, 171]], - "165514": [[568, 570]], - "165523": [[60, 92]], - "165525": [[33, 68]], - "165529": [[1, 10]], - "165537": [[297, 304]], - "165542": [[176, 189]], - "165548": [[364, 364], [590, 630]], - "165567": [[110, 113], [310, 314], [632, 642]], - "165570": [[3, 4], [84, 87], [947, 952]], - "165617": [[53, 53], [144, 144], [289, 291]], - "165619": [[20, 21], [23, 23]], - "165620": [[25, 25], [59, 63]], - "165633": [[318, 318]], - "166010": [[174, 175], [179, 180]], - "166033": [[1234, 1244]], - "166034": [[363, 363]], - "166049": [[886, 887], [918, 918]], - "166149": [[3, 24]], - "166161": [[121, 121], [124, 125], [127, 128]], - "166163": [[13, 13], [35, 35]], - "166374": [[65, 65], [189, 193]], - "166377": [[57, 57]], - "166380": [[712, 714]], - "166438": [[86, 86], [857, 857], [867, 867]], - "166486": [[96, 96]], - "166512": [[431, 431], [1280, 1280], [1819, 1820], [1863, 1867], [1869, 1869], [1872, 1872], [1875, 1876]], - "166514": [[465, 465]], - "166554": [[288, 289], [318, 319], [731, 731], [735, 735], [737, 738]], - "166565": [[313, 315], [468, 468]], - "166699": [[678, 680], [913, 915]], - "166701": [[14, 15]], - "166781": [[383, 387]], - "166782": [[570, 571]], - "166839": [[298, 298], [303, 303]], - "166841": [[986, 987], [1017, 1017]], - "166859": [[419, 420], [422, 422], [424, 425]], - "166860": [[22, 25]], - "166861": [[7, 7], [44, 44]], - "166862": [[3, 5]], - "166863": [[2, 3]], - "166864": [[30, 30], [78, 78], [100, 101], [248, 248], [308, 310], [366, 366], [375, 377], [455, 477]], - "166888": [[91, 92], [155, 155], [395, 397], [471, 476]], - "166889": [[229, 231]], - "166890": [[442, 446]], - "166893": [[2, 3]], - "166894": [[191, 203]], - "166895": [[598, 598]], - "166921": [[68, 68]], - "166922": [[770, 772], [774, 776]], - "166946": [[73, 74], [205, 205], [208, 208]], - "166950": [[2, 7], [33, 34], [1346, 1346]], - "166960": [[167, 184]], - "166966": [[240, 240]], - "167039": [[232, 238]], - "167041": [[337, 338], [664, 667]], - "167078": [[175, 175]], - "167098": [[91, 91], [463, 463]], - "167103": [[95, 95]], - "167151": [[43, 51]], - "167281": [[316, 316], [595, 595]], - "167282": [[255, 257], [382, 385], [390, 451]], - "167284": [[1, 1645]], - "167551": [[472, 472]], - "167673": [[238, 238], [448, 448]], - "167674": [[346, 348]], - "167675": [[131, 132], [1064, 1064]], - "167676": [[451, 451]], - "167740": [[174, 174]], - "167754": [[62, 103]], - "167784": [[51, 132]], - "167786": [[1, 177]], - "167807": [[60, 160], [178, 1870]], - "167830": [[1, 1242]], - "167898": [[108, 1764]], - "167913": [[1, 432]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478 deleted file mode 100644 index c2d8055ea008d..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165100": [[1, 410]], "165102": [[1, 185]], "165103": [[1, 440]], "165104": [[1, 137]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165529": [[1, 10]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 642]], "165570": [[1, 952]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166438": [[32, 867]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166565": [[1, 898]], "166699": [[55, 915]], "166701": [[1, 792]], "166763": [[46, 650]], "166781": [[41, 111], [115, 115], [117, 387]], "166782": [[1, 572]], "166784": [[1, 365]], "166787": [[1, 364]], "166839": [[43, 303]], "166841": [[1, 1017]], "166842": [[1, 170]], "166859": [[62, 425]], "166860": [[1, 25]], "166861": [[1, 44]], "166862": [[1, 5]], "166863": [[1, 3]], "166864": [[1, 537]], "166888": [[56, 476]], "166889": [[1, 231]], "166890": [[1, 446]], "166893": [[1, 3]], "166894": [[1, 203]], "166895": [[1, 603]], "166911": [[58, 104]], "166921": [[39, 68]], "166922": [[1, 776]], "166923": [[1, 470]], "166946": [[41, 208]], "166950": [[1, 1439]], "166960": [[1, 184]], "166966": [[1, 240]], "166967": [[1, 220]], "167039": [[20, 238]], "167041": [[1, 667]], "167043": [[1, 235]], "167078": [[40, 175]], "167098": [[62, 463]], "167102": [[1, 430]], "167103": [[1, 95]], "167151": [[1, 51]], "167281": [[18, 595]], "167282": [[1, 451]], "167284": [[1, 1645]], "167551": [[56, 472]], "167673": [[210, 448]], "167674": [[1, 348]], "167675": [[1, 1064]], "167676": [[1, 451]], "167740": [[79, 174]], "167746": [[56, 384]], "167754": [[62, 103]], "167784": [[51, 132]], "167786": [[1, 177]], "167807": [[60, 160], [178, 1870]], "167830": [[1, 1242]], "167898": [[108, 1764]], "167913": [[1, 432]], "169985": [[88, 100]], "169991": [[1, 24]], "170000": [[1, 26], [28, 272]], "170040": [[90, 280], [282, 419]], "170044": [[1, 94]], "170249": [[37, 510]], "170255": [[1, 387]], "170286": [[77, 262]], "170292": [[1, 260]], "170298": [[1, 186]], "170303": [[1, 22]], "170304": [[1, 115]], "170307": [[1, 14]], "170348": [[58, 256]], "170354": [[1, 308]], "170376": [[52, 67]], "170378": [[1, 5]], "170380": [[1, 16]], "170382": [[1, 306]], "170397": [[1, 347]], "170406": [[1, 171]], "170452": [[72, 110]], "170527": [[44, 93]], "170722": [[110, 287]], "170759": [[49, 377]], "170826": [[50, 312]], "170842": [[1, 339]], "170854": [[1, 580]], "170876": [[1, 522]], "170896": [[1, 214]], "170899": [[1, 86]], "170901": [[1, 200]], "171050": [[47, 658]], "171091": [[1, 138]], "171098": [[1, 10]], "171102": [[1, 21]], "171106": [[1, 292]], "171116": [[1, 2]], "171117": [[1, 54], [56, 84]], "171156": [[42, 693]], "171178": [[1, 1044]], "171219": [[48, 162]], "171274": [[88, 148]], "171282": [[1, 171]], "171315": [[53, 226]], "171369": [[42, 162]], "171446": [[58, 865]], "171484": [[61, 432]], "171578": [[47, 974]], "171812": [[59, 438]], "171875": [[54, 60]], "171876": [[1, 541]], "171879": [[1, 103]], "171880": [[1, 207]], "171890": [[1, 43]], "171895": [[1, 36], [38, 67]], "171897": [[1, 25], [27, 51], [53, 77], [79, 103], [105, 180], [182, 543]], "171921": [[51, 152]], "171926": [[1, 264]], "172014": [[1, 244]], "172024": [[1, 79]], "172033": [[1, 749]], "172163": [[36, 784]], "172208": [[61, 200]], "172252": [[32, 63]], "172254": [[1, 43]], "172255": [[1, 40]], "172268": [[56, 169]], "172286": [[52, 217]], "172389": [[34, 460]], "172399": [[57, 231]], "172400": [[1, 706]], "172401": [[1, 148]], "172411": [[85, 382]], "172478": [[1, 154]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478_range2only b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478_range2only deleted file mode 100644 index 734cd594c7c18..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-172478_range2only +++ /dev/null @@ -1,136 +0,0 @@ -{"165100": [[1, 410]], - "165104": [[1, 137]], - "165529": [[1, 10]], - "165567": [[638, 642]], - "165570": [[948, 952]], - "166438": [[32, 867]], - "166565": [[1, 898]], - "166763": [[46, 650]], - "166781": [[41, 111], [115, 115], [117, 387]], - "166782": [[1, 572]], - "166784": [[1, 365]], - "166787": [[1, 364]], - "166839": [[43, 303]], - "166841": [[1, 1017]], - "166842": [[1, 170]], - "166859": [[62, 425]], - "166860": [[1, 25]], - "166861": [[1, 44]], - "166862": [[1, 5]], - "166863": [[1, 3]], - "166864": [[1, 537]], - "166888": [[56, 476]], - "166889": [[1, 231]], - "166890": [[1, 446]], - "166893": [[1, 3]], - "166894": [[1, 203]], - "166895": [[1, 603]], - "166911": [[58, 104]], - "166921": [[39, 68]], - "166922": [[1, 776]], - "166923": [[1, 470]], - "166946": [[41, 208]], - "166950": [[1, 1439]], - "166960": [[1, 184]], - "166966": [[1, 240]], - "166967": [[1, 220]], - "167039": [[20, 238]], - "167041": [[1, 667]], - "167043": [[1, 235]], - "167078": [[40, 175]], - "167098": [[62, 463]], - "167102": [[1, 430]], - "167103": [[1, 95]], - "167151": [[1, 51]], - "167281": [[18, 595]], - "167282": [[1, 451]], - "167284": [[1, 1645]], - "167551": [[56, 472]], - "167673": [[210, 448]], - "167674": [[1, 348]], - "167675": [[1, 1064]], - "167676": [[1, 451]], - "167740": [[79, 174]], - "167746": [[56, 384]], - "167754": [[62, 103]], - "167784": [[51, 132]], - "167786": [[1, 177]], - "167807": [[60, 160], [178, 1870]], - "167830": [[1, 1242]], - "167898": [[108, 1764]], - "167913": [[1, 432]], - "169985": [[88, 100]], - "169991": [[1, 24]], - "170000": [[1, 26], [28, 272]], - "170040": [[90, 280], [282, 419]], - "170044": [[1, 94]], - "170249": [[37, 510]], - "170255": [[1, 387]], - "170286": [[77, 262]], - "170292": [[1, 260]], - "170298": [[1, 186]], - "170303": [[1, 22]], - "170304": [[1, 115]], - "170307": [[1, 14]], - "170348": [[58, 256]], - "170354": [[1, 308]], - "170376": [[52, 67]], - "170378": [[1, 5]], - "170380": [[1, 16]], - "170382": [[1, 306]], - "170397": [[1, 347]], - "170406": [[1, 171]], - "170452": [[72, 110]], - "170527": [[44, 93]], - "170722": [[110, 287]], - "170759": [[49, 377]], - "170826": [[50, 312]], - "170842": [[1, 339]], - "170854": [[1, 580]], - "170876": [[1, 522]], - "170896": [[1, 214]], - "170899": [[1, 86]], - "170901": [[1, 200]], - "171050": [[47, 658]], - "171091": [[1, 138]], - "171098": [[1, 10]], - "171102": [[1, 21]], - "171106": [[1, 292]], - "171116": [[1, 2]], - "171117": [[1, 54], [56, 84]], - "171156": [[42, 693]], - "171178": [[1, 1044]], - "171219": [[48, 162]], - "171274": [[88, 148]], - "171282": [[1, 171]], - "171315": [[53, 226]], - "171369": [[42, 162]], - "171446": [[58, 865]], - "171484": [[61, 432]], - "171578": [[47, 974]], - "171812": [[59, 438]], - "171875": [[54, 60]], - "171876": [[1, 541]], - "171879": [[1, 103]], - "171880": [[1, 207]], - "171890": [[1, 43]], - "171895": [[1, 36], [38, 67]], - "171897": [[1, 25], [27, 51], [53, 77], [79, 103], [105, 180], [182, 543]], - "171921": [[51, 152]], - "171926": [[1, 264]], - "172014": [[1, 244]], - "172024": [[1, 79]], - "172033": [[1, 749]], - "172163": [[36, 784]], - "172208": [[61, 200]], - "172252": [[32, 63]], - "172254": [[1, 43]], - "172255": [[1, 40]], - "172268": [[56, 169]], - "172286": [[52, 217]], - "172389": [[34, 460]], - "172399": [[57, 231]], - "172400": [[1, 706]], - "172401": [[1, 148]], - "172411": [[85, 382]], - "172478": [[1, 154]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692 deleted file mode 100644 index 076c8d399d87e..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692 +++ /dev/null @@ -1 +0,0 @@ -{"160404": [[15, 24]], "160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160497": [[38, 148], [152, 398]], "160498": [[1, 70]], "160499": [[1, 16]], "160577": [[14, 337]], "160578": [[1, 456]], "160579": [[1, 181]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161156": [[1, 90]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]], "162718": [[1, 202]], "162733": [[1, 47]], "162739": [[1, 35], [37, 42]], "162742": [[1, 85], [97, 127]], "162760": [[1, 56]], "162762": [[1, 111]], "162765": [[1, 66]], "162803": [[60, 148]], "162808": [[1, 63]], "162810": [[1, 40]], "162811": [[1, 347]], "162822": [[73, 314]], "162825": [[1, 202]], "162826": [[1, 43]], "162827": [[1, 144]], "162828": [[1, 85]], "162909": [[54, 299]], "162917": [[122, 134]], "162924": [[69, 151]], "162925": [[1, 319]], "162926": [[1, 714]], "162929": [[1, 299], [358, 433]], "163045": [[51, 56]], "163046": [[1, 247], [311, 313]], "163069": [[73, 648]], "163071": [[1, 194]], "163072": [[1, 44]], "163078": [[1, 23]], "163232": [[110, 174]], "163233": [[1, 302]], "163234": [[1, 73]], "163235": [[1, 474]], "163237": [[1, 220]], "163238": [[1, 15]], "163252": [[60, 157]], "163255": [[1, 1067]], "163261": [[1, 126]], "163269": [[59, 222]], "163270": [[1, 928]], "163286": [[112, 411]], "163289": [[1, 388]], "163296": [[59, 603]], "163297": [[1, 227]], "163300": [[1, 623]], "163301": [[1, 198]], "163302": [[1, 253]], "163308": [[1, 27]], "163332": [[43, 812]], "163333": [[1, 113]], "163334": [[1, 563]], "163337": [[1, 476]], "163338": [[1, 171]], "163339": [[1, 188]], "163340": [[1, 488], [554, 563]], "163358": [[39, 63]], "163369": [[1, 105]], "163370": [[1, 176]], "163371": [[1, 375]], "163372": [[1, 111]], "163374": [[1, 873]], "163375": [[1, 16]], "163376": [[1, 253]], "163378": [[1, 615]], "163385": [[52, 436]], "163387": [[1, 256], [278, 287]], "163402": [[37, 801]], "163475": [[30, 306]], "163476": [[1, 235]], "163478": [[1, 83]], "163479": [[1, 187]], "163480": [[1, 199]], "163481": [[1, 90]], "163482": [[1, 58]], "163483": [[1, 57]], "163581": [[40, 45]], "163582": [[1, 66]], "163583": [[1, 233]], "163584": [[1, 85]], "163585": [[1, 42]], "163586": [[1, 103]], "163587": [[1, 85]], "163588": [[1, 455]], "163589": [[1, 167]], "163591": [[1, 96]], "163592": [[1, 116]], "163593": [[1, 25]], "163596": [[1, 29]], "163630": [[76, 185]], "163655": [[15, 47]], "163657": [[1, 153]], "163658": [[1, 18]], "163659": [[1, 718]], "163660": [[1, 85]], "163661": [[1, 27]], "163662": [[1, 176]], "163663": [[1, 251]], "163664": [[1, 189]], "163665": [[1, 176]], "163668": [[1, 213], [255, 308]], "163738": [[34, 311]], "163753": [[1, 137]], "163754": [[1, 79]], "163757": [[1, 47]], "163758": [[1, 600]], "163759": [[1, 526]], "163760": [[1, 363]], "163761": [[1, 229]], "163763": [[1, 93]], "163765": [[1, 321]], "163795": [[10, 54]], "163796": [[1, 182]], "163817": [[50, 980]], "163869": [[79, 137]], "165088": [[107, 266]], "165098": [[124, 440]], "165099": [[1, 126]], "165100": [[1, 410]], "165102": [[1, 185]], "165103": [[1, 440]], "165104": [[1, 137]], "165120": [[67, 109]], "165121": [[1, 466]], "165205": [[80, 260]], "165208": [[1, 101]], "165364": [[45, 1301], [1331, 1352]], "165400": [[1, 88]], "165402": [[1, 28]], "165415": [[58, 1383]], "165467": [[39, 736]], "165472": [[1, 882]], "165486": [[37, 118]], "165487": [[1, 154]], "165506": [[54, 171]], "165514": [[72, 570]], "165523": [[60, 92]], "165525": [[1, 68]], "165529": [[1, 10]], "165537": [[1, 304]], "165542": [[1, 189]], "165548": [[1, 630]], "165558": [[1, 62]], "165567": [[54, 642]], "165570": [[1, 952]], "165617": [[26, 291]], "165619": [[1, 23]], "165620": [[1, 63]], "165633": [[56, 505]], "165970": [[67, 335]], "165993": [[71, 1697]], "166010": [[50, 180]], "166011": [[1, 83]], "166033": [[35, 1244]], "166034": [[1, 363]], "166049": [[53, 918]], "166051": [[1, 365]], "166052": [[1, 119]], "166149": [[1, 24]], "166150": [[1, 116]], "166161": [[37, 128]], "166163": [[1, 35]], "166164": [[1, 40]], "166346": [[48, 215]], "166374": [[46, 193]], "166377": [[1, 57]], "166379": [[1, 118]], "166380": [[1, 1809]], "166394": [[42, 47]], "166408": [[67, 1236]], "166429": [[33, 89]], "166438": [[32, 867]], "166462": [[78, 526]], "166486": [[54, 174]], "166502": [[43, 109]], "166512": [[42, 1876]], "166514": [[1, 465]], "166530": [[43, 63]], "166554": [[46, 738]], "166563": [[1, 276], [492, 748]], "166565": [[1, 898]], "166699": [[55, 915]], "166701": [[1, 792]], "166763": [[46, 650]], "166781": [[41, 111], [115, 115], [117, 387]], "166782": [[1, 572]], "166784": [[1, 365]], "166787": [[1, 364]], "166839": [[43, 303]], "166841": [[1, 1017]], "166842": [[1, 170]], "166859": [[62, 425]], "166860": [[1, 25]], "166861": [[1, 44]], "166862": [[1, 5]], "166863": [[1, 3]], "166864": [[1, 537]], "166888": [[56, 476]], "166889": [[1, 231]], "166890": [[1, 446]], "166893": [[1, 3]], "166894": [[1, 203]], "166895": [[1, 603]], "166911": [[58, 104]], "166921": [[39, 68]], "166922": [[1, 776]], "166923": [[1, 470]], "166946": [[41, 208]], "166950": [[1, 1439]], "166960": [[1, 184]], "166966": [[1, 240]], "166967": [[1, 220]], "167039": [[20, 238]], "167041": [[1, 667]], "167043": [[1, 235]], "167078": [[40, 175]], "167098": [[62, 463]], "167102": [[1, 430]], "167103": [[1, 95]], "167151": [[1, 51]], "167281": [[18, 595]], "167282": [[1, 451]], "167284": [[1, 1645]], "167551": [[56, 472]], "167673": [[210, 448]], "167674": [[1, 348]], "167675": [[1, 1064]], "167676": [[1, 451]], "167740": [[79, 174]], "167746": [[56, 384]], "167754": [[62, 103]], "167784": [[51, 132]], "167786": [[1, 177]], "167807": [[60, 160], [178, 1870]], "167830": [[1, 1242]], "167898": [[108, 1764]], "167913": [[1, 432]], "169985": [[88, 100]], "169991": [[1, 24]], "170000": [[1, 26], [28, 272]], "170040": [[90, 280], [282, 419]], "170044": [[1, 94]], "170249": [[37, 510]], "170255": [[1, 387]], "170286": [[77, 262]], "170292": [[1, 260]], "170298": [[1, 186]], "170303": [[1, 22]], "170304": [[1, 115]], "170307": [[1, 14]], "170348": [[58, 256]], "170354": [[1, 308]], "170376": [[52, 67]], "170378": [[1, 5]], "170380": [[1, 16]], "170382": [[1, 306]], "170397": [[1, 347]], "170406": [[1, 171]], "170452": [[72, 110]], "170527": [[44, 93]], "170722": [[110, 287]], "170759": [[49, 377]], "170826": [[50, 312]], "170842": [[1, 339]], "170854": [[1, 580]], "170876": [[1, 522]], "170896": [[1, 214]], "170899": [[1, 86]], "170901": [[1, 200]], "171050": [[47, 658]], "171091": [[1, 138]], "171098": [[1, 10]], "171102": [[1, 21]], "171106": [[1, 292]], "171116": [[1, 2]], "171117": [[1, 54], [56, 84]], "171156": [[42, 693]], "171178": [[1, 1044]], "171219": [[48, 162]], "171274": [[88, 148]], "171282": [[1, 171]], "171315": [[53, 226]], "171369": [[42, 162]], "171446": [[58, 865]], "171484": [[61, 432]], "171578": [[47, 974]], "171812": [[59, 438]], "171875": [[54, 60]], "171876": [[1, 541]], "171879": [[1, 103]], "171880": [[1, 207]], "171890": [[1, 43]], "171895": [[1, 36], [38, 67]], "171897": [[1, 25], [27, 51], [53, 77], [79, 103], [105, 180], [182, 543]], "171921": [[51, 152]], "171926": [[1, 264]], "172014": [[1, 244]], "172024": [[1, 79]], "172033": [[1, 749]], "172163": [[36, 784]], "172208": [[61, 200]], "172252": [[32, 63]], "172254": [[1, 43]], "172255": [[1, 40]], "172268": [[56, 169]], "172286": [[52, 217]], "172389": [[34, 460]], "172399": [[57, 231]], "172400": [[1, 706]], "172401": [[1, 148]], "172411": [[85, 382]], "172478": [[1, 154]], "172485": [[41, 544]], "172488": [[1, 38], [40, 54], [56, 67], [69, 79], [81, 104], [106, 146], [149, 150], [152, 157]], "172495": [[1, 157]], "172497": [[1, 25]], "172507": [[1, 43], [45, 68]], "172619": [[1, 82]], "172620": [[1, 495]], "172630": [[36, 167]], "172635": [[1, 268]], "172778": [[48, 97]], "172791": [[65, 1664]], "172798": [[1, 35]], "172799": [[1, 372]], "172801": [[1, 1144]], "172802": [[1, 784]], "172819": [[57, 259]], "172822": [[1, 2338]], "172824": [[1, 54]], "172847": [[62, 131]], "172865": [[36, 386]], "172868": [[1, 1970]], "172949": [[55, 1298]], "172951": [[1, 56]], "172952": [[1, 1562]], "172992": [[52, 79], [81, 327], [329, 363], [365, 954]], "172998": [[1, 84]], "172999": [[1, 294]], "173198": [[49, 823]], "173236": [[128, 238]], "173240": [[1, 129]], "173241": [[1, 764]], "173243": [[1, 95]], "173244": [[1, 97]], "173380": [[75, 218]], "173381": [[1, 294]], "173389": [[18, 653]], "173406": [[37, 286]], "173430": [[72, 174]], "173431": [[1, 17]], "173438": [[32, 67]], "173439": [[1, 756]], "173657": [[59, 95]], "173658": [[1, 112]], "173659": [[1, 321]], "173660": [[1, 369]], "173661": [[1, 134]], "173662": [[1, 18]], "173663": [[1, 123]], "173664": [[1, 16]], "173692": [[50, 2758]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692_2fbinv b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692_2fbinv deleted file mode 100644 index c4a14789715d6..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160404-173692_2fbinv +++ /dev/null @@ -1,125 +0,0 @@ -{"169985": [[88, 100]], - "169991": [[1, 24]], - "170000": [[1, 26], [28, 272]], - "170040": [[90, 280], [282, 419]], - "170044": [[1, 94]], - "170249": [[37, 510]], - "170255": [[1, 387]], - "170286": [[77, 262]], - "170292": [[1, 260]], - "170298": [[1, 186]], - "170303": [[1, 22]], - "170304": [[1, 115]], - "170307": [[1, 14]], - "170348": [[58, 256]], - "170354": [[1, 308]], - "170376": [[52, 67]], - "170378": [[1, 5]], - "170380": [[1, 16]], - "170382": [[1, 306]], - "170397": [[1, 347]], - "170406": [[1, 171]], - "170452": [[72, 110]], - "170527": [[44, 93]], - "170722": [[110, 287]], - "170759": [[49, 377]], - "170826": [[50, 312]], - "170842": [[1, 339]], - "170854": [[1, 580]], - "170876": [[1, 522]], - "170896": [[1, 214]], - "170899": [[1, 86]], - "170901": [[1, 200]], - "171050": [[47, 658]], - "171091": [[1, 138]], - "171098": [[1, 10]], - "171102": [[1, 21]], - "171106": [[1, 292]], - "171116": [[1, 2]], - "171117": [[1, 54], [56, 84]], - "171156": [[42, 693]], - "171178": [[1, 1044]], - "171219": [[48, 162]], - "171274": [[88, 148]], - "171282": [[1, 171]], - "171315": [[53, 226]], - "171369": [[42, 162]], - "171446": [[58, 865]], - "171484": [[61, 432]], - "171578": [[47, 974]], - "171812": [[59, 438]], - "171875": [[54, 60]], - "171876": [[1, 541]], - "171879": [[1, 103]], - "171880": [[1, 207]], - "171890": [[1, 43]], - "171895": [[1, 36], [38, 67]], - "171897": [[1, 25], [27, 51], [53, 77], [79, 103], [105, 180], [182, 543]], - "171921": [[51, 152]], - "171926": [[1, 264]], - "172014": [[1, 244]], - "172024": [[1, 79]], - "172033": [[1, 749]], - "172163": [[36, 784]], - "172208": [[61, 200]], - "172252": [[32, 63]], - "172254": [[1, 43]], - "172255": [[1, 40]], - "172268": [[56, 169]], - "172286": [[52, 217]], - "172389": [[34, 460]], - "172399": [[57, 231]], - "172400": [[1, 706]], - "172401": [[1, 148]], - "172411": [[85, 382]], - "172478": [[1, 154]], - "172485": [[41, 544]], - "172488": [[1, 38], [40, 54], [56, 67], [69, 79], [81, 104], [106, 146], [149, 150], [152, 157]], - "172495": [[1, 157]], - "172497": [[1, 25]], - "172507": [[1, 43], [45, 68]], - "172619": [[1, 82]], - "172620": [[1, 495]], - "172630": [[36, 167]], - "172635": [[1, 268]], - "172778": [[48, 97]], - "172791": [[65, 1664]], - "172798": [[1, 35]], - "172799": [[1, 372]], - "172801": [[1, 1144]], - "172802": [[1, 784]], - "172819": [[57, 259]], - "172822": [[1, 2338]], - "172824": [[1, 54]], - "172847": [[62, 131]], - "172865": [[36, 386]], - "172868": [[1, 1970]], - "172949": [[55, 1298]], - "172951": [[1, 56]], - "172952": [[1, 1562]], - "172992": [[52, 79], [81, 327], [329, 363], [365, 954]], - "172998": [[1, 84]], - "172999": [[1, 294]], - "173198": [[49, 823]], - "173236": [[128, 238]], - "173240": [[1, 129]], - "173241": [[1, 764]], - "173243": [[1, 95]], - "173244": [[1, 97]], - "173380": [[75, 218]], - "173381": [[1, 294]], - "173389": [[18, 653]], - "173406": [[37, 286]], - "173430": [[72, 174]], - "173431": [[1, 17]], - "173438": [[32, 67]], - "173439": [[1, 756]], - "173657": [[59, 95]], - "173658": [[1, 112]], - "173659": [[1, 321]], - "173660": [[1, 369]], - "173661": [[1, 134]], - "173662": [[1, 18]], - "173663": [[1, 123]], - "173664": [[1, 16]], - "173692": [[50, 2758]]} diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160405-161312 b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160405-161312 deleted file mode 100644 index 8388ce94e9e08..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_DCSONLY.txt_160405-161312 +++ /dev/null @@ -1 +0,0 @@ -{"160405": [[1, 35]], "160406": [[1, 124]], "160410": [[1, 102]], "160413": [[1, 788]], "160431": [[19, 244]], "160432": [[2, 79]], "160433": [[1, 21]], "160442": [[108, 153]], "160443": [[1, 21]], "160444": [[1, 74]], "160445": [[1, 37]], "160446": [[1, 55]], "160447": [[1, 65]], "160449": [[1, 44]], "160450": [[1, 47]], "160454": [[1, 41]], "160455": [[1, 33]], "160456": [[1, 106]], "160462": [[1, 30]], "160463": [[1, 46]], "160808": [[7, 80]], "160815": [[1, 95]], "160819": [[1, 17], [19, 118]], "160827": [[1, 55]], "160835": [[1, 85], [87, 496], [569, 584]], "160853": [[62, 65]], "160871": [[68, 236]], "160872": [[1, 77]], "160873": [[1, 201]], "160874": [[1, 132]], "160875": [[1, 285]], "160876": [[1, 17]], "160877": [[1, 12], [79, 83]], "160888": [[45, 423]], "160890": [[1, 395]], "160894": [[1, 220]], "160898": [[25, 53]], "160907": [[15, 220]], "160911": [[1, 301]], "160913": [[1, 26]], "160914": [[1, 75]], "160915": [[1, 382]], "160916": [[1, 90]], "160935": [[33, 259]], "160936": [[1, 60]], "160937": [[1, 209]], "160938": [[1, 130]], "160939": [[1, 148]], "160940": [[1, 90]], "160942": [[1, 26]], "160943": [[1, 54]], "160954": [[78, 84]], "160955": [[1, 228]], "160956": [[1, 73]], "160957": [[1, 953]], "160994": [[44, 45]], "160998": [[1, 288]], "161008": [[1, 285]], "161016": [[1, 327]], "161020": [[1, 22]], "161103": [[1, 111]], "161106": [[1, 40]], "161107": [[1, 40]], "161113": [[1, 45]], "161116": [[1, 20]], "161117": [[1, 43]], "161119": [[1, 350]], "161165": [[1, 100]], "161176": [[1, 31]], "161216": [[29, 53]], "161217": [[1, 788]], "161222": [[1, 136]], "161223": [[1, 409]], "161224": [[1, 2]], "161233": [[33, 63]], "161310": [[39, 127]], "161311": [[1, 704]], "161312": [[1, 1027]]} \ No newline at end of file diff --git a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_dummy_wjets.txt b/TopQuarkAnalysis/TopPairBSM/test/datasets/json_dummy_wjets.txt deleted file mode 100644 index 391728d5ee6fd..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/datasets/json_dummy_wjets.txt +++ /dev/null @@ -1,2 +0,0 @@ -{"1": [[1, 10000]] -} diff --git a/TopQuarkAnalysis/TopPairBSM/test/prunedGenParticle_unittest.py b/TopQuarkAnalysis/TopPairBSM/test/prunedGenParticle_unittest.py deleted file mode 100644 index 438d66bf23c00..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/prunedGenParticle_unittest.py +++ /dev/null @@ -1,48 +0,0 @@ -#! /usr/bin/env python - -from __future__ import print_function -import ROOT -import sys -from DataFormats.FWLite import Events, Handle - -files = ["ttbsm_42x_mc.root"] -events = Events (files) -handle1 = Handle ("std::vector") - -# for now, label is just a tuple of strings that is initialized just -# like and edm::InputTag -label1 = ("prunedGenParticles") - -f = ROOT.TFile("prunedGenParticle_unittest_fwlite.root", "RECREATE") -f.cd() - - -# loop over events -i = 0 -for event in events: - i = i + 1 - print('--------- Processing Event ' + str(i)) - # use getByLabel, just like in cmsRun - event.getByLabel (label1, handle1) - # get the product - gens = handle1.product() - - - for igen in range(0,len(gens)) : - gen = gens[igen] - if gen.numberOfDaughters() > 1 : - print('{0:6.0f} : pdgid = {1:6.0f}, status = {2:6.0f}, da0 id = {3:6.0f}, da1 = {4:6.0f}, '.format( - igen, gen.pdgId(), gen.status(), gen.daughter(0).pdgId(), gen.daughter(1).pdgId() - )) - elif gen.numberOfDaughters() > 0 : - print('{0:6.0f} : pdgid = {1:6.0f}, status = {2:6.0f}, da0 id = {3:6.0f}, da1 = {4:6.0f}, '.format( - igen, gen.pdgId(), gen.status(), gen.daughter(0).pdgId(), -9999 - )) - else : - print('{0:6.0f} : pdgid = {1:6.0f}, status = {2:6.0f}, da0 id = {3:6.0f}, da1 = {4:6.0f}, '.format( - igen, gen.pdgId(), gen.status(), -9999, -9999 - )) - -f.cd() - -f.Close() diff --git a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_cfg.py b/TopQuarkAnalysis/TopPairBSM/test/ttbsm_cfg.py deleted file mode 100644 index 11b7f9fbac02a..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_cfg.py +++ /dev/null @@ -1,1961 +0,0 @@ -from __future__ import print_function -# Starting with a skeleton process which gets imported with the following line -from PhysicsTools.PatAlgos.patTemplate_cfg import * - -from PhysicsTools.PatAlgos.tools.coreTools import * - -############################### -####### Parameters ############ -############################### -from FWCore.ParameterSet.VarParsing import VarParsing -options = VarParsing ('python') - - -options.register ('tlbsmTag', - 'tlbsm_53x_v3', - VarParsing.multiplicity.singleton, - VarParsing.varType.string, - 'TLBSM tag use in production') - -options.register ('useData', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - 'Run this on real data') - -options.register ('globalTag', - '', - VarParsing.multiplicity.singleton, - VarParsing.varType.string, - 'Overwrite default globalTag') - -options.register ('hltProcess', - 'HLT', - VarParsing.multiplicity.singleton, - VarParsing.varType.string, - "HLT process name to use.") - -options.register ('writePFCands', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Output PF candidates") - - -options.register ('writeFat', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Output tracks and PF candidates (and GenParticles for MC)") - -options.register ('writeSimpleInputs', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Write four-vector and ID of PF candidates") - -options.register ('writeGenParticles', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Output GenParticles collection") - -options.register ('forceCheckClosestZVertex', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Force the check of the closest z vertex") - - -options.register ('useSusyFilter', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Use the SUSY event filter") - - -options.register ('useExtraJetColls', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Write extra jet collections for substructure studies") - - -options.register ('usePythia8', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Use status codes from Pythia8 rather than Pythia6") - - -options.register ('usePythia6andPythia8', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Use status codes from Pythia8 and Pythia6") - - -options.register ('runOnFastSim', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Option needed to run on fastsim.") - - -options.register('doJetTauCrossCleaning', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - "Enable cleaning the jet collections based on taus") - - -options.register ('useExplicitJTA', - False, - VarParsing.multiplicity.singleton, - VarParsing.varType.int, - 'Run the explicit Jet-track association') - -options.parseArguments() - - -if not options.useData : - inputJetCorrLabelAK5PFchs = ('AK5PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute']) - inputJetCorrLabelAK7PFchs = ('AK7PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute']) - - process.source.fileNames = [ - '/store/mc/Summer12_DR53X/TTJets_MassiveBinDECAY_TuneZ2star_8TeV-madgraph-tauola/AODSIM/PU_S10_START53_V7A-v1/0000/0076C8E3-9AE1-E111-917C-003048D439AA.root' - ] - -else : - inputJetCorrLabelAK5PFchs = ('AK5PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute', 'L2L3Residual']) - inputJetCorrLabelAK7PFchs = ('AK7PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute', 'L2L3Residual']) - process.source.fileNames = [ - '/store/data/Run2012A/Jet/AOD/22Jan2013-v1/30002/909488FF-8D72-E211-893B-0026189438EF.root' - ] - -#process.source.eventsToProcess = cms.untracked.VEventRange( ['1:86747'] ) - -#process.source.skipEvents = cms.untracked.uint32(17268) - -print(options) - -print('Running AK5 jet corrections: ') -print(inputJetCorrLabelAK5PFchs) - -print('Running AK7 jet corrections: ') -print(inputJetCorrLabelAK7PFchs) - -import sys - - -############################### -####### Global Setup ########## -############################### - -if options.useData : - if options.globalTag is '': - process.GlobalTag.globaltag = cms.string( 'GR_P_V42_AN4::All' ) - else: - process.GlobalTag.globaltag = cms.string( options.globalTag ) -else : - if options.globalTag is '': - process.GlobalTag.globaltag = cms.string( 'START53_V7G::All' ) - else: - process.GlobalTag.globaltag = cms.string( options.globalTag ) - - -from PhysicsTools.PatAlgos.patTemplate_cfg import * - - -## The beam scraping filter __________________________________________________|| -process.noscraping = cms.EDFilter( - "FilterOutScraping", - applyfilter = cms.untracked.bool(True), - debugOn = cms.untracked.bool(False), - numtrack = cms.untracked.uint32(10), - thresh = cms.untracked.double(0.25) - ) - -## The iso-based HBHE noise filter ___________________________________________|| -process.load('CommonTools.RecoAlgos.HBHENoiseFilter_cfi') - -## The CSC beam halo tight filter ____________________________________________|| -process.load('RecoMET.METAnalyzers.CSCHaloFilter_cfi') - -## The HCAL laser filter _____________________________________________________|| -process.load("RecoMET.METFilters.hcalLaserEventFilter_cfi") -process.hcalLaserEventFilter.vetoByRunEventNumber=cms.untracked.bool(False) -process.hcalLaserEventFilter.vetoByHBHEOccupancy=cms.untracked.bool(True) - -## The ECAL dead cell trigger primitive filter _______________________________|| -process.load('RecoMET.METFilters.EcalDeadCellTriggerPrimitiveFilter_cfi') -## For AOD and RECO recommendation to use recovered rechits -process.EcalDeadCellTriggerPrimitiveFilter.tpDigiCollection = cms.InputTag("ecalTPSkimNA") - -## The EE bad SuperCrystal filter ____________________________________________|| -process.load('RecoMET.METFilters.eeBadScFilter_cfi') - -## The Good vertices collection needed by the tracking failure filter ________|| -process.goodVertices = cms.EDFilter( - "VertexSelector", - filter = cms.bool(False), - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.rho < 2") -) - -## The tracking failure filter _______________________________________________|| -process.load('RecoMET.METFilters.trackingFailureFilter_cfi') -process.load('RecoMET.METFilters.trackingPOGFilters_cfi') - -# Tracking coherent noise filter -process.manystripclus53X = cms.EDFilter('ByClusterSummaryMultiplicityPairEventFilter', - multiplicityConfig = cms.PSet( - firstMultiplicityConfig = cms.PSet( - clusterSummaryCollection = cms.InputTag("clusterSummaryProducer"), - subDetEnum = cms.int32(5), - subDetVariable = cms.string("pHits") - ), - secondMultiplicityConfig = cms.PSet( - clusterSummaryCollection = cms.InputTag("clusterSummaryProducer"), - subDetEnum = cms.int32(0), - subDetVariable = cms.string("cHits") - ), - ), - cut = cms.string("( mult2 > 20000+7*mult1)") -) - -process.toomanystripclus53X = cms.EDFilter('ByClusterSummaryMultiplicityPairEventFilter', - multiplicityConfig = cms.PSet( - firstMultiplicityConfig = cms.PSet( - clusterSummaryCollection = cms.InputTag("clusterSummaryProducer"), - subDetEnum = cms.int32(5), - subDetVariable = cms.string("pHits") - ), - secondMultiplicityConfig = cms.PSet( - clusterSummaryCollection = cms.InputTag("clusterSummaryProducer"), - subDetEnum = cms.int32(0), - subDetVariable = cms.string("cHits") - ), - ), - cut = cms.string("(mult2>50000) && ( mult2 > 20000+7*mult1)") - ) - -# Tracking TOBTEC fakes filter ## -process.load('RecoMET.METFilters.tobtecfakesfilter_cfi') -# if true, only events passing filter (bad events) will pass -process.tobtecfakesfilter.filter=cms.bool(False) - -## Add the latest Tau discriminators _________________________________________|| -process.load("RecoTauTag.Configuration.RecoPFTauTag_cff") - -# switch on PAT trigger -#from PhysicsTools.PatAlgos.tools.trigTools import switchOnTrigger -#switchOnTrigger( process, hltProcess=options.hltProcess ) - - -############################### -####### DAF PV's ########## -############################### - -pvSrc = 'offlinePrimaryVertices' - -## The good primary vertex filter ____________________________________________|| -process.primaryVertexFilter = cms.EDFilter( - "VertexSelector", - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake & ndof > 4 & abs(z) <= 24 & position.Rho <= 2"), - filter = cms.bool(True) - ) - - -from PhysicsTools.SelectorUtils.pvSelector_cfi import pvSelector - -process.goodOfflinePrimaryVertices = cms.EDFilter( - "PrimaryVertexObjectFilter", - filterParams = pvSelector.clone( maxZ = cms.double(24.0), - minNdof = cms.double(4.0) # this is >= 4 - ), - src=cms.InputTag(pvSrc) - ) - - -############################### -########## Gen Setup ########## -############################### - -process.load("RecoJets.Configuration.GenJetParticles_cff") -from RecoJets.JetProducers.ca4GenJets_cfi import ca4GenJets -from RecoJets.JetProducers.ak5GenJets_cfi import ak5GenJets -process.ca8GenJetsNoNu = ca4GenJets.clone( rParam = cms.double(0.8), - src = cms.InputTag("genParticlesForJetsNoNu")) - -process.ak8GenJetsNoNu = ak5GenJets.clone( rParam = cms.double(0.8), - src = cms.InputTag("genParticlesForJetsNoNu")) - - -process.load("TopQuarkAnalysis.TopEventProducers.sequences.ttGenEvent_cff") - -# add the flavor history -process.load("PhysicsTools.HepMCCandAlgos.flavorHistoryPaths_cfi") - - -# prune gen particles -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") -process.prunedGenParticles = cms.EDProducer("GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "drop *" - ,"keep status = 3" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & status = 3" #keeps taus - ) - ) - -if options.usePythia8 : - process.prunedGenParticles.select = cms.vstring( - "drop *" - ,"keep status = 21" #keeps particles from the hard matrix element - ,"keep status = 22" #keeps particles from the hard matrix element - ,"keep status = 23" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & (status = 21 || status = 22 || status = 23) " #keeps taus - ) -if options.usePythia6andPythia8 : - process.prunedGenParticles.select = cms.vstring( - "drop *" - ,"keep status = 3" #keeps particles from the hard matrix element - ,"keep status = 21" #keeps particles from the hard matrix element - ,"keep status = 22" #keeps particles from the hard matrix element - ,"keep status = 23" #keeps particles from the hard matrix element - ,"keep (abs(pdgId) >= 11 & abs(pdgId) <= 16) & status = 1" #keeps e/mu and nus with status 1 - ,"keep (abs(pdgId) = 15) & (status = 3 || status = 21 || status = 22 || status = 23)" #keeps taus - ) - - -## process.prunedGenParticles = cms.EDProducer("GenParticlePruner", -## src = cms.InputTag("genParticles"), -## select = cms.vstring( -## "drop *" -## ,"keep++ (abs(pdgId) =6) " -## ) -## ) - -############################### -#### Jet RECO includes ######## -############################### - -from RecoJets.JetProducers.SubJetParameters_cfi import SubJetParameters -from RecoJets.JetProducers.PFJetParameters_cfi import * -from RecoJets.JetProducers.CaloJetParameters_cfi import * -from RecoJets.JetProducers.AnomalousCellParameters_cfi import * -from RecoJets.JetProducers.CATopJetParameters_cfi import * -from RecoJets.JetProducers.GenJetParameters_cfi import * - - -############################### -########## PF Setup ########### -############################### - -# Default PF2PAT with AK5 jets. Make sure to turn ON the L1fastjet stuff. -from PhysicsTools.PatAlgos.tools.pfTools import * -postfix = "PFlow" -usePF2PAT(process,runPF2PAT=True, jetAlgo='AK5', runOnMC=not options.useData, postfix=postfix, - jetCorrections=inputJetCorrLabelAK5PFchs, pvCollection=cms.InputTag('goodOfflinePrimaryVertices'), typeIMetCorrections=True) -if not options.forceCheckClosestZVertex : - process.pfPileUpPFlow.checkClosestZVertex = False - -# change the cone size of electron isolation to 0.3 as default. -process.pfIsolatedElectronsPFlow.isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFIdPFlow")) -process.pfIsolatedElectronsPFlow.deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFIdPFlow") -process.pfIsolatedElectronsPFlow.isolationValueMapsNeutral = cms.VInputTag(cms.InputTag("elPFIsoValueNeutral03PFIdPFlow"), cms.InputTag("elPFIsoValueGamma03PFIdPFlow")) - -process.pfElectronsPFlow.isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFIdPFlow")) -process.pfElectronsPFlow.deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFIdPFlow" ) -process.pfElectronsPFlow.isolationValueMapsNeutral = cms.VInputTag(cms.InputTag( "elPFIsoValueNeutral03PFIdPFlow"), cms.InputTag("elPFIsoValueGamma03PFIdPFlow")) - -process.patElectronsPFlow.isolationValues = cms.PSet( - pfChargedHadrons = cms.InputTag("elPFIsoValueCharged03PFIdPFlow"), - pfChargedAll = cms.InputTag("elPFIsoValueChargedAll03PFIdPFlow"), - pfPUChargedHadrons = cms.InputTag("elPFIsoValuePU03PFIdPFlow"), - pfNeutralHadrons = cms.InputTag("elPFIsoValueNeutral03PFIdPFlow"), - pfPhotons = cms.InputTag("elPFIsoValueGamma03PFIdPFlow") - ) - -postfixLoose = "PFlowLoose" -usePF2PAT(process,runPF2PAT=True, jetAlgo='AK5', runOnMC=not options.useData, postfix=postfixLoose, - jetCorrections=inputJetCorrLabelAK5PFchs, pvCollection=cms.InputTag('goodOfflinePrimaryVertices'), typeIMetCorrections=True) -if not options.forceCheckClosestZVertex : - process.pfPileUpPFlowLoose.checkClosestZVertex = False - - -# change the cone size of electron isolation to 0.3 as default. -process.pfIsolatedElectronsPFlowLoose.isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFIdPFlowLoose")) -process.pfIsolatedElectronsPFlowLoose.deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFIdPFlowLoose") -process.pfIsolatedElectronsPFlowLoose.isolationValueMapsNeutral = cms.VInputTag(cms.InputTag("elPFIsoValueNeutral03PFIdPFlowLoose"), cms.InputTag("elPFIsoValueGamma03PFIdPFlowLoose")) - -process.pfElectronsPFlowLoose.isolationValueMapsCharged = cms.VInputTag(cms.InputTag("elPFIsoValueCharged03PFIdPFlowLoose")) -process.pfElectronsPFlowLoose.deltaBetaIsolationValueMap = cms.InputTag("elPFIsoValuePU03PFIdPFlowLoose" ) -process.pfElectronsPFlowLoose.isolationValueMapsNeutral = cms.VInputTag(cms.InputTag( "elPFIsoValueNeutral03PFIdPFlowLoose"), cms.InputTag("elPFIsoValueGamma03PFIdPFlowLoose")) - -process.patElectronsPFlowLoose.isolationValues = cms.PSet( - pfChargedHadrons = cms.InputTag("elPFIsoValueCharged03PFIdPFlowLoose"), - pfChargedAll = cms.InputTag("elPFIsoValueChargedAll03PFIdPFlowLoose"), - pfPUChargedHadrons = cms.InputTag("elPFIsoValuePU03PFIdPFlowLoose"), - pfNeutralHadrons = cms.InputTag("elPFIsoValueNeutral03PFIdPFlowLoose"), - pfPhotons = cms.InputTag("elPFIsoValueGamma03PFIdPFlowLoose") - ) - -# enable/disable tau cleaning -if not options.doJetTauCrossCleaning: - # if jetCrossCleaning is false, we want to disable - # the cross cleaning (which is on by default) - getattr(process,"pfNoTau"+postfix).enable = False - getattr(process,"pfNoTau"+postfixLoose).enable = False -else: - getattr(process,"pfNoTau"+postfix).enable = False - getattr(process,"pfNoTau"+postfixLoose).enable = False - -# Set up "loose" leptons. - -process.pfIsolatedMuonsPFlowLoose.isolationCut = cms.double(999.0) -process.pfIsolatedElectronsPFlowLoose.isolationCut = cms.double(999.0) -process.patMuonsPFlowLoose.pfMuonSource = "pfMuonsPFlowLoose" -process.patElectronsPFlowLoose.pfElectronSource = "pfElectronsPFlowLoose" - -# Keep additional PF information for taus -# embed in AOD externally stored leading PFChargedHadron candidate -process.patTausPFlow.embedLeadPFChargedHadrCand = cms.bool(True) -# embed in AOD externally stored signal PFChargedHadronCandidates -process.patTausPFlow.embedSignalPFChargedHadrCands = cms.bool(True) -# embed in AOD externally stored signal PFGammaCandidates -process.patTausPFlow.embedSignalPFGammaCands = cms.bool(True) -# embed in AOD externally stored isolation PFChargedHadronCandidates -process.patTausPFlow.embedIsolationPFChargedHadrCands = cms.bool(True) -# embed in AOD externally stored isolation PFGammaCandidates -process.patTausPFlow.embedIsolationPFGammaCands = cms.bool(True) -# embed in AOD externally stored leading PFChargedHadron candidate -process.patTaus.embedLeadPFChargedHadrCand = cms.bool(True) -# embed in AOD externally stored signal PFChargedHadronCandidates -process.patTaus.embedSignalPFChargedHadrCands = cms.bool(True) -# embed in AOD externally stored signal PFGammaCandidates -process.patTaus.embedSignalPFGammaCands = cms.bool(True) -# embed in AOD externally stored isolation PFChargedHadronCandidates -process.patTaus.embedIsolationPFChargedHadrCands = cms.bool(True) -# embed in AOD externally stored isolation PFGammaCandidates -process.patTaus.embedIsolationPFGammaCands = cms.bool(True) - -# turn to false when running on data -if options.useData : - removeMCMatching( process, ['All'] ) - -############################### -###### Electron ID ############ -############################### - -process.load('EGamma.EGammaAnalysisTools.electronIdMVAProducer_cfi') -process.eidMVASequence = cms.Sequence( process.mvaTrigV0 + process.mvaNonTrigV0 ) -#Electron ID -process.patElectronsPFlow.electronIDSources.mvaTrigV0 = cms.InputTag("mvaTrigV0") -process.patElectronsPFlow.electronIDSources.mvaNonTrigV0 = cms.InputTag("mvaNonTrigV0") -process.patPF2PATSequencePFlow.replace( process.patElectronsPFlow, process.eidMVASequence * process.patElectronsPFlow ) - -process.patElectronsPFlowLoose.electronIDSources.mvaTrigV0 = cms.InputTag("mvaTrigV0") -process.patElectronsPFlowLoose.electronIDSources.mvaNonTrigV0 = cms.InputTag("mvaNonTrigV0") -process.patPF2PATSequencePFlowLoose.replace( process.patElectronsPFlowLoose, process.eidMVASequence * process.patElectronsPFlowLoose ) - -#Convesion Rejection -# this should be your last selected electron collection name since currently index is used to match with electron later. We can fix this using reference pointer. -process.patConversionsPFlow = cms.EDProducer("PATConversionProducer", - electronSource = cms.InputTag("selectedPatElectronsPFlow") - ) -process.patPF2PATSequencePFlow += process.patConversionsPFlow -process.patConversionsPFlowLoose = cms.EDProducer("PATConversionProducer", - electronSource = cms.InputTag("selectedPatElectronsPFlowLoose") - ) -process.patPF2PATSequencePFlowLoose += process.patConversionsPFlowLoose - - -############################### -###### Bare KT 0.6 jets ####### -############################### - -from RecoJets.Configuration.RecoPFJets_cff import kt6PFJets -process.kt6PFJetsForIsolation = kt6PFJets.clone( - rParam = 0.6, - doRhoFastjet = True, - Rho_EtaMax = cms.double(2.5), - ) - -############################### -###### Bare CA 0.8 jets ####### -############################### -from RecoJets.JetProducers.ca4PFJets_cfi import ca4PFJets -process.ca8PFJetsPFlow = ca4PFJets.clone( - rParam = cms.double(0.8), - src = cms.InputTag('pfNoElectron'+postfix), - doAreaFastjet = cms.bool(True), - doRhoFastjet = cms.bool(True), - Rho_EtaMax = cms.double(6.0), - Ghost_EtaMax = cms.double(7.0) - ) - - - -############################### -###### AK 0.7 jets ############ -############################### -process.ak7PFlow = process.pfJetsPFlow.clone( - rParam = cms.double(0.7) - ) - - -############################### -###### AK 0.8 jets ############ -############################### -process.ak8PFlow = process.pfJetsPFlow.clone( - rParam = cms.double(0.8) - ) - - -############################### -###### AK 0.5 jets groomed #### -############################### - -from RecoJets.JetProducers.ak5PFJetsTrimmed_cfi import ak5PFJetsTrimmed -process.ak5TrimmedPFlow = ak5PFJetsTrimmed.clone( - src = process.pfJetsPFlow.src, - doAreaFastjet = cms.bool(True) - ) - -from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsFiltered -process.ak5FilteredPFlow = ak5PFJetsFiltered.clone( - src = process.pfJetsPFlow.src, - doAreaFastjet = cms.bool(True) - ) - -from RecoJets.JetProducers.ak5PFJetsPruned_cfi import ak5PFJetsPruned -process.ak5PrunedPFlow = ak5PFJetsPruned.clone( - src = process.pfJetsPFlow.src, - doAreaFastjet = cms.bool(True) - ) - - - -############################### -###### AK 0.7 jets groomed #### -############################### - -process.ak7TrimmedPFlow = process.ak5TrimmedPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.7) - ) - -process.ak7FilteredPFlow = process.ak5FilteredPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.7) - ) - -process.ak7PrunedPFlow = process.ak5PrunedPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.7) - ) - - -process.ak7TrimmedGenJetsNoNu = ak5GenJets.clone( - rParam = cms.double(0.7), - src = cms.InputTag("genParticlesForJetsNoNu"), - useTrimming = cms.bool(True), - rFilt = cms.double(0.2), - trimPtFracMin = cms.double(0.03), - ) - -process.ak7FilteredGenJetsNoNu = ak5GenJets.clone( - rParam = cms.double(0.7), - src = cms.InputTag("genParticlesForJetsNoNu"), - useFiltering = cms.bool(True), - nFilt = cms.int32(3), - rFilt = cms.double(0.3), - writeCompound = cms.bool(True), - jetCollInstanceName=cms.string("SubJets") - ) - - - -process.ak7PrunedGenJetsNoNu = ak5GenJets.clone( - SubJetParameters, - rParam = cms.double(0.7), - src = cms.InputTag("genParticlesForJetsNoNu"), - usePruning = cms.bool(True), - writeCompound = cms.bool(True), - jetCollInstanceName=cms.string("SubJets") - ) - - - -############################### -###### AK 0.8 jets groomed #### -############################### - -process.ak8TrimmedPFlow = process.ak5TrimmedPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.8) - ) - -process.ak8FilteredPFlow = process.ak5FilteredPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.8) - ) - -process.ak8PrunedPFlow = process.ak5PrunedPFlow.clone( - src = process.pfJetsPFlow.src, - rParam = cms.double(0.8) - ) - -############################### -###### CA8 Pruning Setup ###### -############################### - - -# Pruned PF Jets -process.caPrunedPFlow = process.ak5PrunedPFlow.clone( - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.8) -) - - -process.caPrunedGen = process.ca8GenJetsNoNu.clone( - SubJetParameters, - usePruning = cms.bool(True), - useExplicitGhosts = cms.bool(True), - writeCompound = cms.bool(True), - jetCollInstanceName=cms.string("SubJets") -) - -############################### -###### CA8 Filtered Setup ##### -############################### - - -# Filtered PF Jets -process.caFilteredPFlow = ak5PFJetsFiltered.clone( - src = cms.InputTag('pfNoElectron'+postfix), - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(1.5), - writeCompound = cms.bool(True), - doAreaFastjet = cms.bool(True), - jetPtMin = cms.double(100.0) -) - -from RecoJets.JetProducers.ak5PFJetsFiltered_cfi import ak5PFJetsMassDropFiltered -process.caMassDropFilteredPFlow = ak5PFJetsMassDropFiltered.clone( - src = cms.InputTag('pfNoElectron'+postfix), - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(1.5), - writeCompound = cms.bool(True), - doAreaFastjet = cms.bool(True), - jetPtMin = cms.double(100.0) -) - - -process.caFilteredGenJetsNoNu = process.ca8GenJetsNoNu.clone( - nFilt = cms.int32(2), - rFilt = cms.double(0.3), - useFiltering = cms.bool(True), - useExplicitGhosts = cms.bool(True), - writeCompound = cms.bool(True), - rParam = cms.double(1.5), - jetCollInstanceName=cms.string("SubJets"), - jetPtMin = cms.double(100.0) -) - -process.caMassDropFilteredGenJetsNoNu = process.caFilteredGenJetsNoNu.clone( - src = cms.InputTag('genParticlesForJetsNoNu'), - useMassDropTagger = cms.bool(True), - muCut = cms.double(0.667), - yCut = cms.double(0.08) -) - - - -############################### -#### CATopTag Setup ########### -############################### - -# CATopJet PF Jets -# with adjacency -process.caTopTagPFlow = cms.EDProducer( - "CATopJetProducer", - PFJetParameters.clone( src = cms.InputTag('pfNoElectron'+postfix), - doAreaFastjet = cms.bool(True), - doRhoFastjet = cms.bool(False), - jetPtMin = cms.double(100.0) - ), - AnomalousCellParameters, - CATopJetParameters, - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.8), - writeCompound = cms.bool(True) - ) - -process.caHEPTopTagPFlow = process.caTopTagPFlow.clone( - rParam = cms.double(1.5), - tagAlgo = cms.int32(2) -) - - -process.CATopTagInfosPFlow = cms.EDProducer("CATopJetTagger", - src = cms.InputTag("caTopTagPFlow"), - TopMass = cms.double(171), - TopMassMin = cms.double(0.), - TopMassMax = cms.double(250.), - WMass = cms.double(80.4), - WMassMin = cms.double(0.0), - WMassMax = cms.double(200.0), - MinMassMin = cms.double(0.0), - MinMassMax = cms.double(200.0), - verbose = cms.bool(False) - ) - -process.CATopTagInfosHEPTopTagPFlow = process.CATopTagInfosPFlow.clone( - src = cms.InputTag("caHEPTopTagPFlow") -) - -process.caTopTagGen = cms.EDProducer( - "CATopJetProducer", - GenJetParameters.clone(src = cms.InputTag("genParticlesForJetsNoNu"), - doAreaFastjet = cms.bool(False), - doRhoFastjet = cms.bool(False)), - AnomalousCellParameters, - CATopJetParameters, - jetAlgorithm = cms.string("CambridgeAachen"), - rParam = cms.double(0.8), - writeCompound = cms.bool(True) - ) - -process.caHEPTopTagGen = process.caTopTagGen.clone( - rParam = cms.double(1.5) -) - -process.CATopTagInfosGen = cms.EDProducer("CATopJetTagger", - src = cms.InputTag("caTopTagGen"), - TopMass = cms.double(171), - TopMassMin = cms.double(0.), - TopMassMax = cms.double(250.), - WMass = cms.double(80.4), - WMassMin = cms.double(0.0), - WMassMax = cms.double(200.0), - MinMassMin = cms.double(0.0), - MinMassMax = cms.double(200.0), - verbose = cms.bool(False) - ) - - - -# CATopJet PF Jets - -for ipostfix in [postfix] : - for module in ( - getattr(process,"ca8PFJets" + ipostfix), - getattr(process,"CATopTagInfos" + ipostfix), - getattr(process,"CATopTagInfosHEPTopTag" + ipostfix), - getattr(process,"caTopTag" + ipostfix), - getattr(process,"caHEPTopTag" + ipostfix), - getattr(process,"caPruned" + ipostfix), - getattr(process,"caFiltered" + ipostfix), - getattr(process,"caMassDropFiltered" + ipostfix) - ) : - getattr(process,"patPF2PATSequence"+ipostfix).replace( getattr(process,"pfNoElectron"+ipostfix), getattr(process,"pfNoElectron"+ipostfix)*module ) - - - if options.useExtraJetColls : - for module in ( - getattr(process,"ak5Trimmed" + ipostfix), - getattr(process,"ak5Filtered" + ipostfix), - getattr(process,"ak5Pruned" + ipostfix), - getattr(process,"ak7Trimmed" + ipostfix), - getattr(process,"ak7Filtered" + ipostfix), - getattr(process,"ak7Pruned" + ipostfix), - getattr(process,"ak7" + ipostfix), - getattr(process,"ak8Trimmed" + ipostfix), - getattr(process,"ak8Filtered" + ipostfix), - getattr(process,"ak8Pruned" + ipostfix), - getattr(process,"ak8" + ipostfix) - ) : - getattr(process,"patPF2PATSequence"+ipostfix).replace( getattr(process,"pfNoElectron"+ipostfix), getattr(process,"pfNoElectron"+ipostfix)*module ) - - - -# Use the good primary vertices everywhere. -for imod in [process.patMuonsPFlow, - process.patMuonsPFlowLoose, - process.patElectronsPFlow, - process.patElectronsPFlowLoose, - process.patMuons, - process.patElectrons] : - imod.pvSrc = "goodOfflinePrimaryVertices" - imod.embedTrack = True - - -addJetCollection(process, - cms.InputTag('ca8PFJetsPFlow'), - 'CA8', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ca8GenJetsNoNu"), - doJetID = False - ) - - -addJetCollection(process, - cms.InputTag('caPrunedPFlow'), - 'CA8Pruned', 'PF', - doJTA=False, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ca8GenJetsNoNu"), - doJetID = False - ) - - -addJetCollection(process, - cms.InputTag('caPrunedPFlow','SubJets'), - 'CA8PrunedSubjets', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection=cms.InputTag('caPrunedGen','SubJets'), - doJetID=False - ) - -addJetCollection(process, - cms.InputTag('caTopTagPFlow'), - 'CATopTag', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ca8GenJetsNoNu"), - doJetID = False - ) - -addJetCollection(process, - cms.InputTag('caTopTagPFlow', 'caTopSubJets'), - 'CATopTagSubjets', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = None, - doJetID = False - ) - - -addJetCollection(process, - cms.InputTag('caHEPTopTagPFlow'), - 'CAHEPTopTag', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = None, - doJetID = False - ) - -addJetCollection(process, - cms.InputTag('caHEPTopTagPFlow', 'caTopSubJets'), - 'CAHEPTopTagSubjets', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = None, - doJetID = False - ) - -addJetCollection(process, - cms.InputTag('caFilteredPFlow'), - 'CA15Filtered', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ca8GenJetsNoNu"), - doJetID = False - ) - - -addJetCollection(process, - cms.InputTag('caMassDropFilteredPFlow'), - 'CA15MassDropFiltered', 'PF', - doJTA=True, - doBTagging=True, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = None, - doJetID = False - ) - - -addJetCollection(process, - cms.InputTag('caMassDropFilteredPFlow', 'SubJets'), # Jet collection; must be already in the event when patLayer0 sequence is executed - 'CA15MassDropFilteredSubjets', 'PF', - doJTA=True, # Run Jet-Track association & JetCharge - doBTagging=True, # Run b-tagging - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=False, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = None, - doJetID = False - ) - -############################################################## -### For subjet b tagging with explicit jet-track association -### -### This requires the following additional packages -### -### addpkg RecoJets/JetAssociationAlgorithms V03-01-01-00 -### addpkg RecoJets/JetAssociationProducers V03-02-01 - -### Substitute the standard jet-track association with the explicit jet-track association -### (this will keep the original module names unchanged so might be a bit misleading at first glance) - -if options.useExplicitJTA : - for xtrplabel in ['CA8PrunedSubjets', 'CATopTagSubjets', 'CAHEPTopTagSubjets' , 'CA15MassDropFilteredSubjets'] : - if hasattr( process, 'jetTracksAssociatorAtVertex' + xtrplabel + 'PF' ): - from RecoJets.JetAssociationProducers.ak5JTA_cff import ak5JetTracksAssociatorExplicit - m = 'jetTracksAssociatorAtVertex' + xtrplabel + 'PF' - print('Switching ' + m + ' to explicit jet-track association') - setattr( process, m, ak5JetTracksAssociatorExplicit.clone(jets = getattr(getattr(process,m),'jets')) ) - -### -############################################################## - - - -if options.useExtraJetColls: - - - addJetCollection(process, - cms.InputTag('ak5PrunedPFlow'), - 'AK5Pruned', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak5GenJetsNoNu"), - doJetID = False - ) - - - addJetCollection(process, - cms.InputTag('ak5FilteredPFlow'), - 'AK5Filtered', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak5GenJetsNoNu"), - doJetID = False - ) - - addJetCollection(process, - cms.InputTag('ak5TrimmedPFlow'), - 'AK5Trimmed', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK5PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak5GenJetsNoNu"), - doJetID = False - ) - - - addJetCollection(process, - cms.InputTag('ak7PFlow'), - 'AK7', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak7GenJetsNoNu"), - doJetID = False - ) - - addJetCollection(process, - cms.InputTag('ak7PrunedPFlow'), - 'AK7Pruned', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak7GenJetsNoNu"), - doJetID = False - ) - - - addJetCollection(process, - cms.InputTag('ak7FilteredPFlow'), - 'AK7Filtered', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak7GenJetsNoNu"), - doJetID = False - ) - - addJetCollection(process, - cms.InputTag('ak7TrimmedPFlow'), - 'AK7Trimmed', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak7GenJetsNoNu"), - doJetID = False - ) - - - - - - addJetCollection(process, - cms.InputTag('ak8PFlow'), - 'AK8', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak8GenJetsNoNu"), - doJetID = False - ) - - addJetCollection(process, - cms.InputTag('ak8PrunedPFlow'), - 'AK8Pruned', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak8GenJetsNoNu"), - doJetID = False - ) - - - addJetCollection(process, - cms.InputTag('ak8FilteredPFlow'), - 'AK8Filtered', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak8GenJetsNoNu"), - doJetID = False - ) - - addJetCollection(process, - cms.InputTag('ak8TrimmedPFlow'), - 'AK8Trimmed', 'PF', - doJTA=False, - doBTagging=False, - jetCorrLabel=inputJetCorrLabelAK7PFchs, - doType1MET=True, - doL1Cleaning=False, - doL1Counters=False, - genJetCollection = cms.InputTag("ak8GenJetsNoNu"), - doJetID = False - ) - -switchJetCollection(process,cms.InputTag('ak5PFJets'), - doJTA = False, - doBTagging = False, - jetCorrLabel = inputJetCorrLabelAK5PFchs, - doType1MET = True, - genJetCollection=cms.InputTag("ak5GenJetsNoNu"), - doJetID = False - ) - -for icorr in [process.patJetCorrFactors, - process.patJetCorrFactorsCATopTagPF, - process.patJetCorrFactorsCAHEPTopTagPF, - process.patJetCorrFactorsCA8PrunedPF, - process.patJetCorrFactorsCA15FilteredPF, - process.patJetCorrFactorsCA15MassDropFilteredPF, - process.patJetCorrFactorsCATopTagSubjetsPF, - process.patJetCorrFactorsCAHEPTopTagSubjetsPF, - process.patJetCorrFactorsCA8PrunedSubjetsPF, - process.patJetCorrFactorsCA15MassDropFilteredSubjetsPF, - process.patJetCorrFactorsCA8PF ] : - icorr.rho = cms.InputTag("kt6PFJets", "rho") - - -if options.useExtraJetColls: - for icorr in [process.patJetCorrFactorsAK5PrunedPF, - process.patJetCorrFactorsAK5FilteredPF, - process.patJetCorrFactorsAK5TrimmedPF, - process.patJetCorrFactorsAK7PF, - process.patJetCorrFactorsAK7PrunedPF, - process.patJetCorrFactorsAK7FilteredPF, - process.patJetCorrFactorsAK7TrimmedPF, - process.patJetCorrFactorsAK8PF, - process.patJetCorrFactorsAK8PrunedPF, - process.patJetCorrFactorsAK8FilteredPF, - process.patJetCorrFactorsAK8TrimmedPF] : - icorr.rho = cms.InputTag("kt6PFJets", "rho") - - - -############################### -### TagInfo and Matching Setup# -############################### - -# Do some configuration of the jet substructure things -for jetcoll in (process.patJetsPFlow, - process.patJets, - process.patJetsCA8PF, - process.patJetsCA8PrunedPF, - process.patJetsCATopTagPF, - process.patJetsCAHEPTopTagPF, - process.patJetsCA15FilteredPF, - process.patJetsCA15MassDropFilteredPF, - process.patJetsCA8PrunedSubjetsPF, - process.patJetsCATopTagSubjetsPF, - process.patJetsCAHEPTopTagSubjetsPF, - process.patJetsCA15MassDropFilteredSubjetsPF - ) : - if options.useData == False : - jetcoll.embedGenJetMatch = False - jetcoll.getJetMCFlavour = True - jetcoll.addGenPartonMatch = True - # Add the calo towers and PFCandidates. - # I'm being a little tricksy here, because I only - # actually keep the products if the "writeFat" switch - # is on. However, this allows for overlap checking - # with the Refs so satisfies most use cases without - # having to add to the object size - jetcoll.addBTagInfo = False - jetcoll.embedCaloTowers = True - if not options.writeFat and not options.writePFCands : - jetcoll.embedPFCandidates = True - -# Add CATopTag and b-tag info... piggy-backing on b-tag functionality -process.patJetsPFlow.addBTagInfo = True -process.patJetsCATopTagPF.addBTagInfo = True -process.patJetsCAHEPTopTagPF.addBTagInfo = True -process.patJetsCA8PrunedPF.addBTagInfo = True -process.patJetsCA8PrunedSubjetsPF.addBTagInfo = True -process.patJetsCA15MassDropFilteredSubjetsPF.addBTagInfo = True -process.patJetsCATopTagSubjetsPF.addBTagInfo = True -process.patJetsCAHEPTopTagSubjetsPF.addBTagInfo = True - - -process.patJetsCA8PrunedSubjetsPF.embedPFCandidates = False - -# Do some configuration of the jet substructure things -if options.useExtraJetColls: - for jetcoll in (process.patJetsAK5TrimmedPF, - process.patJetsAK5PrunedPF, - process.patJetsAK5FilteredPF, - process.patJetsAK7PF, - process.patJetsAK7TrimmedPF, - process.patJetsAK7PrunedPF, - process.patJetsAK7FilteredPF, - process.patJetsAK8PF, - process.patJetsAK8TrimmedPF, - process.patJetsAK8PrunedPF, - process.patJetsAK8FilteredPF - ) : - if options.useData == False : - jetcoll.embedGenJetMatch = False - jetcoll.getJetMCFlavour = True - jetcoll.addGenPartonMatch = True - # Add the calo towers and PFCandidates. - # I'm being a little tricksy here, because I only - # actually keep the products if the "writeFat" switch - # is on. However, this allows for overlap checking - # with the Refs so satisfies most use cases without - # having to add to the object size - jetcoll.addBTagInfo = False - jetcoll.embedCaloTowers = True - if not options.writeFat and not options.writePFCands : - jetcoll.embedPFCandidates = True - - - - -################################################# -#### Fix the PV collections for the future ###### -################################################# -for module in [process.patJetCorrFactors, - process.patJetCorrFactorsPFlow, - process.patJetCorrFactorsCATopTagPF, - process.patJetCorrFactorsCAHEPTopTagPF, - process.patJetCorrFactorsCA8PrunedPF, - process.patJetCorrFactorsCA15FilteredPF, - process.patJetCorrFactorsCA15MassDropFilteredPF, - process.patJetCorrFactorsCATopTagSubjetsPF, - process.patJetCorrFactorsCAHEPTopTagSubjetsPF, - process.patJetCorrFactorsCA8PrunedSubjetsPF, - process.patJetCorrFactorsCA15MassDropFilteredSubjetsPF, - process.patJetCorrFactorsCA8PF - ]: - module.primaryVertices = "goodOfflinePrimaryVertices" - - -if options.useExtraJetColls: - for module in [process.patJetCorrFactorsAK5TrimmedPF, - process.patJetCorrFactorsAK5PrunedPF, - process.patJetCorrFactorsAK5FilteredPF, - process.patJetCorrFactorsAK7PF, - process.patJetCorrFactorsAK7TrimmedPF, - process.patJetCorrFactorsAK7PrunedPF, - process.patJetCorrFactorsAK7FilteredPF, - process.patJetCorrFactorsAK8PF, - process.patJetCorrFactorsAK8TrimmedPF, - process.patJetCorrFactorsAK8PrunedPF, - process.patJetCorrFactorsAK8FilteredPF - ]: - module.primaryVertices = "goodOfflinePrimaryVertices" - - -############################### -#### Selections Setup ######### -############################### - -# AK5 Jets -process.selectedPatJetsPFlow.cut = cms.string("pt > 5") -process.selectedPatJetsPFlowLoose.cut = cms.string("pt > 20") -process.patJetsPFlow.addTagInfos = True -process.patJetsPFlow.tagInfoSources = cms.VInputTag( - cms.InputTag("secondaryVertexTagInfosAODPFlow") - ) -process.patJetsPFlow.userData.userFunctions = cms.vstring( "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').secondaryVertex(0).p4().mass() : 0") -process.patJetsPFlow.userData.userFunctionLabels = cms.vstring('secvtxMass') - -# CA8 jets -process.selectedPatJetsCA8PF.cut = cms.string("pt > 20") - -# CA8 Pruned jets -process.selectedPatJetsCA8PrunedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") -process.patJetsCA8PrunedSubjetsPF.addTagInfos = False -#process.selectedPatJetsCA8PrunedSubjetsPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - - -# CA8 TopJets -process.selectedPatJetsCATopTagPF.cut = cms.string("pt > 150 & abs(rapidity) < 2.5") -#process.selectedPatJetsCATopTagSubjetsPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") -process.patJetsCATopTagPF.addTagInfos = True -process.patJetsCATopTagPF.tagInfoSources = cms.VInputTag( - cms.InputTag('CATopTagInfosPFlow') - ) - -# CA1.5 HEPTopTagTopJets -process.selectedPatJetsCAHEPTopTagPF.cut = cms.string("pt > 150 & abs(rapidity) < 2.5") -#process.selectedPatJetsCAHEPTopTagSubjetsPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") -process.patJetsCAHEPTopTagPF.addTagInfos = True -process.patJetsCAHEPTopTagPF.tagInfoSources = cms.VInputTag( - cms.InputTag('CATopTagInfosHEPTopTagPFlow') - ) - - -# CA15 Filtered jets -process.selectedPatJetsCA15FilteredPF.cut = cms.string("pt > 150 & abs(rapidity) < 2.5") -process.selectedPatJetsCA15MassDropFilteredPF.cut = cms.string("pt > 150 & abs(rapidity) < 2.5") -#process.selectedPatJetsCA15MassDropFilteredSubjetsPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - -if options.useExtraJetColls: - - # AK5 groomed jets - process.selectedPatJetsAK5PrunedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK5TrimmedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK5FilteredPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - - - # AK7 groomed jets - process.selectedPatJetsAK7PF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK7PrunedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK7TrimmedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK7FilteredPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - - - # AK8 groomed jets - process.selectedPatJetsAK8PF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK8PrunedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK8TrimmedPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - process.selectedPatJetsAK8FilteredPF.cut = cms.string("pt > 20 & abs(rapidity) < 2.5") - - - -# electrons -process.selectedPatElectrons.cut = cms.string('pt > 10.0 & abs(eta) < 2.5') -process.patElectrons.embedTrack = cms.bool(True) -process.selectedPatElectronsPFlow.cut = cms.string('pt > 10.0 & abs(eta) < 2.5') -process.patElectronsPFlow.embedTrack = cms.bool(True) -process.selectedPatElectronsPFlowLoose.cut = cms.string('pt > 10.0 & abs(eta) < 2.5') -process.patElectronsPFlowLoose.embedTrack = cms.bool(True) -# muons -process.selectedPatMuons.cut = cms.string('pt > 10.0 & abs(eta) < 2.5') -process.patMuons.embedTrack = cms.bool(True) -process.selectedPatMuonsPFlow.cut = cms.string("pt > 10.0 & abs(eta) < 2.5") -process.patMuonsPFlow.embedTrack = cms.bool(True) -process.selectedPatMuonsPFlowLoose.cut = cms.string("pt > 10.0 & abs(eta) < 2.5") -process.patMuonsPFlowLoose.embedTrack = cms.bool(True) -# taus -process.selectedPatTausPFlow.cut = cms.string("pt > 10.0 & abs(eta) < 3") -process.selectedPatTaus.cut = cms.string("pt > 10.0 & abs(eta) < 3") -process.patTausPFlow.isoDeposits = cms.PSet() -process.patTaus.isoDeposits = cms.PSet() -# photons -process.patPhotonsPFlow.isoDeposits = cms.PSet() -process.patPhotons.isoDeposits = cms.PSet() - - -# Apply jet ID to all of the jets upstream. We aren't going to screw around -# with this, most likely. So, we don't really to waste time with it -# at the analysis level. -from PhysicsTools.SelectorUtils.pfJetIDSelector_cfi import pfJetIDSelector -process.goodPatJetsPFlow = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsPFlow") - ) -process.goodPatJetsCA8PF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCA8PF") - ) -process.goodPatJetsCA8PrunedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCA8PrunedPF") - ) - -process.goodPatJetsCATopTagPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCATopTagPF") - ) - -process.goodPatJetsCAHEPTopTagPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCAHEPTopTagPF") - ) - -process.goodPatJetsCA15FilteredPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCA15FilteredPF") - ) - -process.goodPatJetsCA15MassDropFilteredPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsCA15MassDropFilteredPF") - ) - -if options.useExtraJetColls: - - - process.goodPatJetsAK5PrunedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK5PrunedPF") - ) - process.goodPatJetsAK5FilteredPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK5FilteredPF") - ) - process.goodPatJetsAK5TrimmedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK5TrimmedPF") - ) - - process.goodPatJetsAK7PF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK7PF") - ) - process.goodPatJetsAK7PrunedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK7PrunedPF") - ) - process.goodPatJetsAK7FilteredPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK7FilteredPF") - ) - process.goodPatJetsAK7TrimmedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK7TrimmedPF") - ) - - - - process.goodPatJetsAK8PF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK8PF") - ) - process.goodPatJetsAK8PrunedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK8PrunedPF") - ) - process.goodPatJetsAK8FilteredPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK8FilteredPF") - ) - process.goodPatJetsAK8TrimmedPF = cms.EDFilter("PFJetIDSelectionFunctorFilter", - filterParams = pfJetIDSelector.clone(), - src = cms.InputTag("selectedPatJetsAK8TrimmedPF") - ) - - - -process.goodPatJetsCA8PrunedPFPacked = cms.EDProducer("BoostedJetMerger", - jetSrc=cms.InputTag("goodPatJetsCA8PrunedPF"), - subjetSrc=cms.InputTag("selectedPatJetsCA8PrunedSubjetsPF") - ) - -process.goodPatJetsCATopTagPFPacked = cms.EDProducer("BoostedJetMerger", - jetSrc=cms.InputTag("goodPatJetsCATopTagPF"), - subjetSrc=cms.InputTag("selectedPatJetsCATopTagSubjetsPF") - ) - - -process.goodPatJetsCAHEPTopTagPFPacked = cms.EDProducer("BoostedJetMerger", - jetSrc=cms.InputTag("goodPatJetsCAHEPTopTagPF"), - subjetSrc=cms.InputTag("selectedPatJetsCAHEPTopTagSubjetsPF") - ) - -process.goodPatJetsCA15MassDropFilteredPFPacked = cms.EDProducer("BoostedJetMerger", - jetSrc=cms.InputTag("goodPatJetsCA15MassDropFilteredPF"), - subjetSrc=cms.InputTag("selectedPatJetsCA15MassDropFilteredSubjetsPF") - ) - - -if options.writeSimpleInputs : - process.pfInputs = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag('selectedPatJetsCA8PF', 'pfCandidates'), - lazyParser = cms.untracked.bool(True), - eventInfo = cms.untracked.bool(False), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("px"), - quantity = cms.untracked.string("px") - ), - cms.PSet( - tag = cms.untracked.string("py"), - quantity = cms.untracked.string("py") - ), - cms.PSet( - tag = cms.untracked.string("pz"), - quantity = cms.untracked.string("pz") - ), - cms.PSet( - tag = cms.untracked.string("energy"), - quantity = cms.untracked.string("energy") - ), - cms.PSet( - tag = cms.untracked.string("pdgId"), - quantity = cms.untracked.string("pdgId") - ) - ) - ) - - -if options.useExtraJetColls: - process.ak5Lite = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag('goodPatJetsPFlow'), - lazyParser = cms.untracked.bool(True), - eventInfo = cms.untracked.bool(False), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("px"), - quantity = cms.untracked.string("px") - ), - cms.PSet( - tag = cms.untracked.string("py"), - quantity = cms.untracked.string("py") - ), - cms.PSet( - tag = cms.untracked.string("pz"), - quantity = cms.untracked.string("pz") - ), - cms.PSet( - tag = cms.untracked.string("energy"), - quantity = cms.untracked.string("energy") - ), - cms.PSet( - tag = cms.untracked.string("jetArea"), - quantity = cms.untracked.string("jetArea") - ), - cms.PSet( - tag = cms.untracked.string("jecFactor"), - quantity = cms.untracked.string("jecFactor(0)") - ) - ) - ) - - - process.ak5TrimmedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK5TrimmedPF') - ) - - process.ak5PrunedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK5PrunedPF') - ) - - process.ak5FilteredLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK5FilteredPF') - ) - - process.ak7Lite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK7PF') - ) - - process.ak7TrimmedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK7TrimmedPF') - ) - - process.ak7PrunedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK7PrunedPF') - ) - - process.ak7FilteredLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK7FilteredPF') - ) - - - - - process.ak7TrimmedGenLite = cms.EDProducer( - "CandViewNtpProducer", - src = cms.InputTag('ak7TrimmedGenJetsNoNu'), - lazyParser = cms.untracked.bool(True), - eventInfo = cms.untracked.bool(False), - variables = cms.VPSet( - cms.PSet( - tag = cms.untracked.string("px"), - quantity = cms.untracked.string("px") - ), - cms.PSet( - tag = cms.untracked.string("py"), - quantity = cms.untracked.string("py") - ), - cms.PSet( - tag = cms.untracked.string("pz"), - quantity = cms.untracked.string("pz") - ), - cms.PSet( - tag = cms.untracked.string("energy"), - quantity = cms.untracked.string("energy") - ) - ) - ) - - - process.ak7PrunedGenLite = process.ak7TrimmedGenLite.clone( - src = cms.InputTag('ak7PrunedGenJetsNoNu') - ) - - process.ak7FilteredGenLite = process.ak7TrimmedGenLite.clone( - src = cms.InputTag('ak7FilteredGenJetsNoNu') - ) - - process.ca8PrunedGenLite = process.ak7TrimmedGenLite.clone( - src = cms.InputTag('caPrunedGen') - ) - - process.ca12FilteredGenLite = process.ak7TrimmedGenLite.clone( - src = cms.InputTag('caFilteredGenJetsNoNu') - ) - - process.ca12MassDropFilteredGenLite = process.ak7TrimmedGenLite.clone( - src = cms.InputTag('caMassDropFilteredGenJetsNoNu') - ) - - - - process.ak8Lite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK8PF') - ) - - process.ak8TrimmedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK8TrimmedPF') - ) - - process.ak8PrunedLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK8PrunedPF') - ) - - process.ak8FilteredLite = process.ak5Lite.clone( - src = cms.InputTag('goodPatJetsAK8FilteredPF') - ) - - -## IVF and BCandidate producer for Vbb cross check analysis -process.load('RecoVertex/AdaptiveVertexFinder/inclusiveVertexing_cff') - - -# let it run - -process.filtersSeq = cms.Sequence( - process.primaryVertexFilter * - process.noscraping * - process.HBHENoiseFilter * - process.CSCTightHaloFilter * - process.hcalLaserEventFilter * - process.EcalDeadCellTriggerPrimitiveFilter * - process.goodVertices * process.trackingFailureFilter * - process.tobtecfakesfilter * - ~process.manystripclus53X * - ~process.toomanystripclus53X * - ~process.logErrorTooManyClusters * - ~process.logErrorTooManyTripletsPairs * - ~process.logErrorTooManySeeds * - process.eeBadScFilter -) - - - -process.patseq = cms.Sequence( - process.filtersSeq* - process.goodOfflinePrimaryVertices* - process.softElectronCands* - process.inclusiveVertexing* - process.genParticlesForJetsNoNu* - process.ca8GenJetsNoNu* - process.ak8GenJetsNoNu* - process.caFilteredGenJetsNoNu* - process.caMassDropFilteredGenJetsNoNu* - process.caPrunedGen* - process.caTopTagGen* - process.CATopTagInfosGen* - process.caHEPTopTagGen* - getattr(process,"patPF2PATSequence"+postfix)* - process.patDefaultSequence* - process.goodPatJetsPFlow* - process.goodPatJetsCA8PF* - process.goodPatJetsCA8PrunedPF* - process.goodPatJetsCATopTagPF* - process.goodPatJetsCAHEPTopTagPF* - process.goodPatJetsCA15MassDropFilteredPF* - process.goodPatJetsCA8PrunedPFPacked* - process.goodPatJetsCATopTagPFPacked* - process.goodPatJetsCAHEPTopTagPFPacked* - process.goodPatJetsCA15MassDropFilteredPFPacked* - process.flavorHistorySeq* - process.prunedGenParticles* - process.kt6PFJetsForIsolation* - process.recoTauClassicHPSSequence* - getattr(process,"patPF2PATSequence"+postfixLoose)#* -# process.miniPFLeptonSequence - ) - -if options.useExtraJetColls: - process.extraJetSeq = cms.Sequence( - process.ak7TrimmedGenJetsNoNu* - process.ak7FilteredGenJetsNoNu* - process.ak7PrunedGenJetsNoNu* - process.goodPatJetsCA15FilteredPF* - process.goodPatJetsCA15MassDropFilteredPF* - process.goodPatJetsAK5TrimmedPF* - process.goodPatJetsAK5FilteredPF* - process.goodPatJetsAK5PrunedPF* - process.goodPatJetsAK7PF* - process.goodPatJetsAK7TrimmedPF* - process.goodPatJetsAK7FilteredPF* - process.goodPatJetsAK7PrunedPF* - process.goodPatJetsAK8PF* - process.goodPatJetsAK8TrimmedPF* - process.goodPatJetsAK8FilteredPF* - process.goodPatJetsAK8PrunedPF* - process.ak5Lite* - process.ak5TrimmedLite* - process.ak5FilteredLite* - process.ak5PrunedLite* - process.ak7Lite* - process.ak7TrimmedLite* - process.ak7FilteredLite* - process.ak7PrunedLite* - process.ak7TrimmedGenLite* - process.ak7FilteredGenLite* - process.ak7PrunedGenLite* - process.ak8Lite* - process.ak8TrimmedLite* - process.ak8FilteredLite* - process.ak8PrunedLite* - process.ca8PrunedGenLite* - process.ca12FilteredGenLite* - process.ca12MassDropFilteredGenLite - ) - process.patseq *= process.extraJetSeq - - -if options.useData : - process.patseq.remove( process.genParticlesForJetsNoNu ) - process.patseq.remove( process.genJetParticles ) - process.patseq.remove( process.ak8GenJetsNoNu ) - process.patseq.remove( process.ca8GenJetsNoNu ) - process.patseq.remove( process.caFilteredGenJetsNoNu ) - process.patseq.remove( process.flavorHistorySeq ) - process.patseq.remove( process.caPrunedGen ) - process.patseq.remove( process.caHEPTopTagGen) - process.patseq.remove( process.caTopTagGen ) - process.patseq.remove( process.CATopTagInfosGen ) - process.patseq.remove( process.prunedGenParticles ) - process.patseq.remove( process.caMassDropFilteredGenJetsNoNu ) - - if options.useExtraJetColls: - process.patseq.remove( process.ak8GenJetsNoNu ) - process.patseq.remove( process.caFilteredGenJetsNoNu ) - process.patseq.remove( process.ak7TrimmedGenJetsNoNu ) - process.patseq.remove( process.ak7FilteredGenJetsNoNu ) - process.patseq.remove( process.ak7PrunedGenJetsNoNu ) - process.patseq.remove( process.ak7TrimmedGenLite ) - process.patseq.remove( process.ak7FilteredGenLite ) - process.patseq.remove( process.ak7PrunedGenLite ) - process.patseq.remove( process.ca8PrunedGenLite ) - process.patseq.remove( process.ca12FilteredGenLite ) - process.patseq.remove( process.ca12MassDropFilteredGenLite ) - -if options.runOnFastSim: - process.patseq.remove( process.HBHENoiseFilter ) - process.patseq.remove( process.CSCTightHaloFilter ) - -if options.writeSimpleInputs : - process.patseq *= cms.Sequence(process.pfInputs) - -if options.useSusyFilter : - process.patseq.remove( process.HBHENoiseFilter ) - process.load( 'PhysicsTools.HepMCCandAlgos.modelfilter_cfi' ) - process.modelSelector.parameterMins = [500., 0.] # mstop, mLSP - process.modelSelector.parameterMaxs = [7000., 200.] # mstop, mLSP - process.p0 = cms.Path( - process.modelSelector * - process.patseq - ) - - - -else : - process.p0 = cms.Path( - process.patseq - ) - - - - - -process.out.SelectEvents.SelectEvents = cms.vstring('p0') - -# rename output file -if options.useData : - if options.writeFat : - process.out.fileName = cms.untracked.string(options.tlbsmTag + '_data_fat.root') - else : - process.out.fileName = cms.untracked.string(options.tlbsmTag + '_data.root') -else : - if options.writeFat : - process.out.fileName = cms.untracked.string(options.tlbsmTag + '_mc_fat.root') - else : - process.out.fileName = cms.untracked.string(options.tlbsmTag + '_mc.root') - - -# reduce verbosity -process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(100) - - -# process all the events -process.maxEvents.input = 100 -process.options.wantSummary = True -process.out.dropMetaData = cms.untracked.string("DROPPED") - - -process.source.inputCommands = cms.untracked.vstring("keep *", "drop *_MEtoEDMConverter_*_*") - - - -process.out.outputCommands = [ - 'drop *_cleanPat*_*_*', - 'keep *_selectedPat*_*_*', - # Drop the PAT jets with jet ID applied, - # they are duplicated. - 'keep *_goodPat*_*_*', - 'drop *_goodPatJetsCA8PrunedPF_*_*', - 'drop *_goodPatJetsCATopTagPF_*_*', - 'drop *_goodPatJetsCAHEPTopTagPF_*_*', - 'drop *_goodPatJetsCA15MassDropFilteredPF_*_*', - # Drop the PAT jets without jet ID applied, - # they are duplicated. - 'drop patJets_selectedPat*_*_*', - # However, KEEP the PAT jets corresponding - # to the subjets. - 'keep patJets_selectedPat*Subjets*_*_*', - # And finally, keep the "packed" pat jets - # which contain the subjets, as pat jets. - 'keep patJets_goodPatJets*Packed_*_*', - 'drop *_selectedPatJets_*_*', - 'keep *_patMETs*_*_*', -# 'keep *_offlinePrimaryVertices*_*_*', -# 'keep *_kt6PFJets*_*_*', - 'keep *_goodOfflinePrimaryVertices*_*_*', - 'drop patPFParticles_*_*_*', - 'drop recoPFJets_*_*_*', -# 'drop patTaus_*_*_*', -# 'keep recoPFJets_caPruned*_*_*', - 'keep recoPFJets_caFiltered*_*_*', -# 'keep recoPFJets_caTopTag*_*_*', -# 'keep recoPFJets_caHEPTopTag*_*_*', - 'keep patTriggerObjects_patTriggerPFlow_*_*', - 'keep patTriggerFilters_patTriggerPFlow_*_*', - 'keep patTriggerPaths_patTriggerPFlow_*_*', - 'keep patTriggerEvent_patTriggerEventPFlow_*_*', - 'keep *_cleanPatPhotonsTriggerMatch*_*_*', - 'keep *_cleanPatElectronsTriggerMatch*_*_*', - 'keep *_cleanPatMuonsTriggerMatch*_*_*', - 'keep *_cleanPatTausTriggerMatch*_*_*', - 'keep *_cleanPatJetsTriggerMatch*_*_*', - 'keep *_patMETsTriggerMatch*_*_*', - 'keep double_*_*_PAT', - 'keep *_TriggerResults_*_*', - 'keep *_hltTriggerSummaryAOD_*_*', - #'keep *_caTopTagPFlow_*_*', - #'keep *_caPrunedPFlow_*_*', - 'keep *_CATopTagInfosPFlow_*_*', - 'keep *_prunedGenParticles_*_*', - 'drop recoPFCandidates_selectedPatJets*_*_*', - 'keep recoPFCandidates_selectedPatJetsPFlow_*_*', - 'keep recoPFCandidates_selectedPatJetsCA8PF_*_*', - 'drop CaloTowers_selectedPatJets*_*_*', - 'drop recoBasicJets_*_*_*', - 'keep *_*Lite_*_*', - 'drop patJets_goodPatJetsAK5FilteredPF_*_*', - 'drop patJets_goodPatJetsAK5PrunedPF_*_*', - 'drop patJets_goodPatJetsAK5TrimmedPF_*_*', - 'drop patJets_goodPatJetsAK7PF_*_*', - 'drop patJets_goodPatJetsAK7FilteredPF_*_*', - 'drop patJets_goodPatJetsAK7PrunedPF_*_*', - 'drop patJets_goodPatJetsAK7TrimmedPF_*_*', - 'drop patJets_goodPatJetsAK8PF_*_*', - 'drop patJets_goodPatJetsAK8FilteredPF_*_*', - 'drop patJets_goodPatJetsAK8PrunedPF_*_*', - 'drop patJets_goodPatJetsAK8TrimmedPF_*_*', - 'drop recoGenJets_selectedPatJets*_*_*', - 'keep *_*_rho_*', - 'drop *_*PFlowLoose*_*_*', - 'keep patElectrons_selected*PFlowLoose*_*_*', - 'keep patMuons_selected*PFlowLoose*_*_*', - 'keep patJets_selectedPatJetsPFlowLoose_*_*', - 'keep *_patConversions*_*_*', - #'keep patTaus_*PFlowLoose*_*_*', - 'keep *_offlineBeamSpot_*_*', - 'drop *_*atTaus_*_*', - 'keep *_pfType1CorrectedMet_*_*', - 'keep *_pfType1p2CorrectedMet_*_*', - 'keep *_phoPFIso_*_*', - 'keep *_photon*_*_*', - 'keep *_allConversions__*', - 'keep *_gsfElectron*__*', - 'keep *_correctedHybridSuperClusters_*_*', - 'keep *_correctedMulti5x5SuperClustersWithPreshower_*_*', - 'keep recoGsfTracks_electronGsfTracks__*' - #'keep recoTracks_generalTracks_*_*' - ] - -if options.useData : - process.out.outputCommands += ['drop *_MEtoEDMConverter_*_*', - 'keep LumiSummary_lumiProducer_*_*' - ] -else : - process.out.outputCommands += ['keep recoGenJets_ca8GenJetsNoNu_*_*', - 'keep recoGenJets_ak5GenJetsNoNu_*_*', - 'keep recoGenJets_ak7GenJetsNoNu_*_*', - 'keep recoGenJets_ak8GenJetsNoNu_*_*', - 'keep recoGenJets_caFilteredGenJetsNoNu_*_*', - 'keep recoGenJets_caPrunedGen_*_*', - 'keep *_caTopTagGen_*_*', - 'keep GenRunInfoProduct_generator_*_*', - 'keep GenEventInfoProduct_generator_*_*', - 'keep *_flavorHistoryFilter_*_*', - 'keep PileupSummaryInfos_*_*_*', - 'keep recoGenJets_selectedPatJetsPFlow_*_*', - ] - -if options.writePFCands or options.writeFat : - - process.out.outputCommands += [ - 'keep *_pfNoElectronPFlow_*_*', - 'drop recoPFCandidates_selectedPatJets*_*_*' - ] - -if options.writeFat : - - process.out.outputCommands += [ - 'keep recoTracks_generalTracks_*_*', - 'keep recoBaseTagInfosOwned_selectedPatJets*_*_*', - 'keep CaloTowers_selectedPatJets*_*_*' - ] - - -if options.writeGenParticles : - if options.useData == False : - process.out.outputCommands += [ - 'keep *_genParticles_*_*' - ] - - -if options.writeSimpleInputs : - process.out.outputCommands += [ - 'keep *_pfInputs_*_*' - ] - -if options.usePythia8 : - process.patJetPartonMatch.mcStatus = cms.vint32(23) - process.patJetPartonMatchPFlow.mcStatus = cms.vint32(23) - process.patJetPartonMatchPFlowLoose.mcStatus = cms.vint32(23) - -if options.usePythia6andPythia8 : - process.patJetPartonMatch.mcStatus = cms.vint32(3,23) - process.patJetPartonMatchPFlow.mcStatus = cms.vint32(3,23) - process.patJetPartonMatchPFlowLoose.mcStatus = cms.vint32(3,23) - - - -open('junk.py','w').write(process.dumpPython()) diff --git a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_ljets_def.py b/TopQuarkAnalysis/TopPairBSM/test/ttbsm_ljets_def.py deleted file mode 100644 index 8105ceaebf80c..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_ljets_def.py +++ /dev/null @@ -1,26 +0,0 @@ -def isTightMu(lep): - isPF = lep.isPFMuon() - isGlob = lep.isGlobalMuon() - if isPF and isGlob: - normChi2 = lep.globalTrack().normalizedChi2() - trkLayers = lep.track().hitPattern().trackerLayersWithMeasurement() - mVMuHits = lep.globalTrack().hitPattern().numberOfValidMuonHits() - dB = fabs( lep.dB() ) - #diffVz = fabs( lep.vertex().z() - PVz ) - mPixHits = lep.innerTrack().hitPattern().numberOfValidPixelHits() - matchStat = lep.numberOfMatchedStations() - - #if(isPF and isGlob and normChi2<10 and trkLayers>5 and mVMuHits>0 and dB<0.2 and diffVz<0.5 and mPixHits>0 and matchStat >1): - if(isPF and isGlob and normChi2<10 and trkLayers>5 and mVMuHits>0 and dB<0.2 and mPixHits>0 and matchStat >1): - return True - else: - return False - -def isLooseMu(lep): - isPF = lep.isPFMuon() - isGlob = lep.isGlobalMuon() - isTrack = lep.isTrackerMuon() - if isPF and (isGlob or isTrack): - return True - else: - return False diff --git a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_unittest_fwlite.py b/TopQuarkAnalysis/TopPairBSM/test/ttbsm_unittest_fwlite.py deleted file mode 100644 index 67c3cef19bdbc..0000000000000 --- a/TopQuarkAnalysis/TopPairBSM/test/ttbsm_unittest_fwlite.py +++ /dev/null @@ -1,174 +0,0 @@ -#! /usr/bin/env python - -from __future__ import print_function -import ROOT -import sys -from DataFormats.FWLite import Events, Handle - -files = ["patTuple_tlbsm_train_tlbsm_71x_v1.root"] -printGen = True -events = Events (files) -handle0 = Handle ("std::vector") -handle1 = Handle ("std::vector") -handle2 = Handle ("std::vector") -handle3 = Handle ("std::vector") -handle4 = Handle ("std::vector") -handle5 = Handle ("std::vector") -handle6 = Handle ("std::vector") -handle7 = Handle ("std::vector") -handle8 = Handle ("GenEventInfoProduct") - -# for now, label is just a tuple of strings that is initialized just -# like and edm::InputTag -label0 = ("goodPatJets") -label1 = ("goodPatJetsCA8PrunedPacked") -label2 = ("goodPatJetsCA8CMSTopTagPacked") -label3 = ("goodPatJetsCA15HEPTopTagPacked") -label4 = ("selectedPatMuons") -label5 = ("selectedPatElectrons") -label6 = ("goodOfflinePrimaryVertices") -label7 = ("addPileupInfo") -label8 = ("generator") - -f = ROOT.TFile("outplots.root", "RECREATE") -f.cd() - - -# loop over events -i = 0 -for event in events: - i = i + 1 - print('--------- Processing Event ' + str(i)) - - print('---- ' + label0) - # use getByLabel, just like in cmsRun - event.getByLabel (label0, handle0) - # get the product - jets0 = handle0.product() - - - ijet = 0 - for jet in jets0 : - print(("Jet {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, " + - "nda = {5:3.0f}, vtxmass = {6:6.2f}, area = {7:6.2f}, L1 = {8:6.2f}, L2 = {9:6.2f}, L3 = {10:6.2f}, " + - "currLevel = {11:s}").format( - ijet, jet.pt(), jet.eta(), jet.phi(), jet.mass(), jet.numberOfDaughters(), jet.userFloat('secvtxMass'), - jet.jetArea(), jet.jecFactor("L1FastJet"), jet.jecFactor("L2Relative"), jet.jecFactor("L3Absolute"), jet.currentJECLevel() - ), end=' ') - if printGen : - genPt = 0. - if jet.genJetFwdRef().isNonnull() and jet.genJetFwdRef().isAvailable() : - genPt = jet.genJetFwdRef().pt() - else : - genPt = -1.0 - print((", gen pt = {0:6.2f}").format( genPt )) - else : - print('') - ijet += 1 - - print('---- ' + label1) - # use getByLabel, just like in cmsRun - event.getByLabel (label1, handle1) - # get the product - jets1 = handle1.product() - - ijet = 0 - for jet in jets1 : - print('Jet {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, nda = {5:3.0f}'.format( - ijet, jet.pt(), jet.eta(), jet.phi(), jet.mass(), jet.numberOfDaughters() - ), end=' ') - if jet.numberOfDaughters() > 1 : - print(', ptda1 = {0:6.2f}, ptda1 = {1:6.2f}'.format( jet.daughter(0).pt(), jet.daughter(1).pt() )) - else : - print('') - ijet += 1 - - - print('---- ' + label2) - # use getByLabel, just like in cmsRun - event.getByLabel (label2, handle2) - # get the product - jets2 = handle2.product() - - ijet = 0 - for jet in jets2 : - print('Jet {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, nda = {5:3.0f}, topmass = {6:6.2f}, minmass = {7:6.2f}'.format( - ijet, jet.pt(), jet.eta(), jet.phi(), jet.mass(), jet.numberOfDaughters(), jet.tagInfo('CATop').properties().topMass, jet.tagInfo('CATop').properties().minMass - )) - ijet += 1 - - - print('---- ' + label3) - # use getByLabel, just like in cmsRun - event.getByLabel (label3, handle3) - # get the product - jets3 = handle3.product() - - ijet = 0 - for jet in jets3 : - print('Jet {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, nda = {5:3.0f}'.format( - ijet, jet.pt(), jet.eta(), jet.phi(), jet.mass(), jet.numberOfDaughters() - ), end=' ') - if jet.numberOfDaughters() > 2 : - print(', ptda1 = {0:6.2f}, ptda1 = {1:6.2f}, ptda2 = {2:6.2f}'.format( jet.daughter(0).pt(), jet.daughter(1).pt(), jet.daughter(2).pt() )) - else : - print('') - ijet += 1 - - - print('---- ' + label4) - # use getByLabel, just like in cmsRun - event.getByLabel (label4, handle4) - # get the product - muons1 = handle4.product() - - imuon = 0 - for muon in muons1 : - if not muon.isGlobalMuon() : - continue - print('Muon {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, nda = {5:3.0f}, chi2/dof = {6:6.2f}'.format( - imuon, muon.pt(), muon.eta(), muon.phi(), muon.mass(), muon.numberOfDaughters(), muon.normChi2() - )) - imuon += 1 - - print('---- ' + label5) - # use getByLabel, just like in cmsRun - event.getByLabel (label5, handle5) - # get the product - electrons1 = handle5.product() - - ielectron = 0 - for electron in electrons1 : - print('Electron {0:4.0f}, pt = {1:10.2f}, eta = {2:6.2f}, phi = {3:6.2f}, m = {4:6.2f}, nda = {5:3.0f}, eidTight = {6:6.2f}'.format( - ielectron, electron.pt(), electron.eta(), electron.phi(), electron.mass(), electron.numberOfDaughters(), electron.electronID('eidTight') - )) - ielectron += 1 - - print('---- ' + label6) - # use getByLabel, just like in cmsRun - event.getByLabel (label6, handle6) - # get the product - goodPVs = handle6.product() - igoodPV = 0 - for goodPV in goodPVs: - print('PV {0:4.0f}, ndof = {1:10.2f}, nTracks = {2:d}, normalizedChi2 = {3:4.2f}, x= {4:4.2f}, y = {5:4.2f}, z = {6:4.2f}'.format(igoodPV, goodPV.ndof(), goodPV.nTracks(), goodPV.normalizedChi2(), goodPV.x(), goodPV.y(), goodPV.z())) - igoodPV += 1 - - print('---- ' + label7) - # use getByLabel, just like in cmsRun - event.getByLabel (label7, handle7) - # get the product - pusummarys = handle7.product() - for pusummary in pusummarys: - print('PU true interaction = {0:f}, PU interactions = {1:f}'.format(pusummary.getTrueNumInteractions(), pusummary.getPU_NumInteractions())) - - print('---- ' + label8) - # use getByLabel, just like in cmsRun - event.getByLabel (label8, handle8) - # get the product - geninfo = handle8.product() - print('GenInfoProduct has pdf = {0:b}, pdfid1 = {1:d}, pdfid2 = {2:d}'.format(geninfo.hasPDF(), geninfo.pdf().id.first, geninfo.pdf().id.second)) - -f.cd() - -f.Close()